package Ġcom . bos w el ja . watch connection . t izen . message . sa helpers Ċ Ċ import Ġkotlinx . serialization . Experimental Serialization Api Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġkotlinx . serialization . protobuf . Proto Number Ċ Ċ /** Ċ Ġ* ĠA Ġserial izable Ġclass Ġthat Ġrepresents Ġa Ġmessage Ġon Ġthe ĠT izen Ġplatform . Ċ Ġ* Ġ@ param Ġpath ĠT He Ġmessage Ġpath . Ċ Ġ* Ġ@ param Ġdata ĠThe Ġserialized Ġmessage Ġdata . Ċ Ġ*/ Ċ @ Opt In ( Experimental Serialization Api :: class ) Ċ @ Serializable Ċ internal Ġdata Ġclass ĠMessage Proto ( ĊĠĠĠ Ġ@ Proto Number ( 1 ) ĊĠĠĠ Ġval Ġpath : ĠString , ĊĠĠĠ Ġ@ Proto Number ( 2 ) ĊĠĠĠ Ġval Ġdata : ĠByteArray Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠMessage Proto ĊĊĠĠĠĠĠĠĠ Ġif Ġ( path Ġ!= Ġother . path ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! data . content Equals ( other . data )) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġpath . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdata . content HashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } Ċ