package Ġcom . v ade en . dns . message Ċ Ċ data Ġclass ĠDomain Name ( val Ġlabels : ĠArray < ByteArray >) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġof ( str : ĠString ) Ġ= ĠDomain Name ( str . split (". "). map Ġ{ Ġit . toByteArray () Ġ}. to Typed Array ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġlabels . join ToString ( separator Ġ= Ġ". ") Ġ{ ĠString ( it ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif Ġ( other . java Class Ġ!= Ġjava Class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠDomain Name ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlabels . content Deep Equals ( other . labels ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlabels . content Deep HashCode () ĊĠĠĠ Ġ} Ċ } Ċ