package Ġapp . d apk . st . matrix . sync . internal . request Ċ Ċ import Ġapp . d apk . st . matrix . common .* Ċ import Ġkotlinx . serialization . K Serializer Ċ import Ġkotlinx . serialization . Serial Name Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġkotlinx . serialization . descriptors . Serial Descriptor Ċ import Ġkotlinx . serialization . descriptors . build Class Serial Descriptor Ċ import Ġkotlinx . serialization . encoding . Decoder Ċ import Ġkotlinx . serialization . encoding . Encoder Ċ import Ġkotlinx . serialization . json . Json Decoder Ċ import Ġkotlinx . serialization . json . jsonObject Ċ import Ġkotlinx . serialization . json . json Primitive Ċ Ċ @ Serializable Ċ internal Ġdata Ġclass ĠApi Sync Response ( ĊĠĠĠ Ġ@ Serial Name (" device _ lists ") Ġval Ġdevice Lists : ĠDevice Lists ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serial Name (" account _ data ") Ġval Ġaccount Data : ĠApi Account Data ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serial Name (" rooms ") Ġval Ġrooms : ĠApi Sync Rooms ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serial Name (" to _ device ") Ġval Ġto Device : ĠTo Device ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serial Name (" device _ one _ time _ keys _ count ") Ġval Ġone Time Keys Count : ĠMap < String , ĠServer Key Count >, ĊĠĠĠ Ġ@ Serial Name (" next _ batch ") Ġval Ġnext Batch : ĠSync Token , ĊĠĠĠ Ġ@ Serial Name (" prev _ batch ") Ġval Ġprev Batch : ĠSync Token ? Ġ= Ġnull , Ċ ) Ċ Ċ @ Serializable Ċ data Ġclass ĠApi Account Data ( ĊĠĠĠ Ġ@ Serial Name (" events ") Ġval Ġevents : ĠList < Api Account Event > Ċ ) Ċ Ċ @ Serializable Ċ sealed Ġclass ĠApi Account Event Ġ{ ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . direct ") ĊĠĠĠ Ġdata Ġclass ĠDirect ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠMap < UserId , ĠList < Room Id >> ĊĠĠĠ Ġ) Ġ: ĠApi Account Event () ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . fully _ read ") ĊĠĠĠ Ġdata Ġclass ĠFull y Read ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠ Ġ) Ġ: ĠApi Account Event () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" event _ id ") Ġval Ġevent Id : ĠEvent Id , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġobject ĠIgnore d Ġ: ĠApi Account Event () Ċ } Ċ Ċ @ Serializable Ċ internal Ġdata Ġclass ĠDevice Lists ( ĊĠĠĠ Ġ@ Serial Name (" changed ") Ġval Ġchanged : ĠList < UserId >? Ġ= Ġnull Ċ ) Ċ Ċ @ Serializable Ċ internal Ġdata Ġclass ĠTo Device ( ĊĠĠĠ Ġ@ Serial Name (" events ") Ġval Ġevents : ĠList < Api To Device Event > Ċ ) Ċ Ċ @ Serializable Ċ sealed Ġclass ĠApi To Device Event Ġ{ ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . encrypted ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠEn crypted ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender Id : ĠUserId , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠApi Encrypted Content , ĊĠĠĠ Ġ) Ġ: ĠApi To Device Event () ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room _ key ") ĊĠĠĠ Ġdata Ġclass ĠRoom Key ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender : ĠUserId , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠ Ġ) Ġ: ĠApi To Device Event () Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" room _ id ") Ġval Ġroom Id : ĠRoom Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" algorithm ") Ġval Ġalgorithm Name : ĠAlgorithm Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" session _ id ") Ġval ĠsessionId : ĠSession Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" session _ key ") Ġval Ġsession Key : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" chain _ index ") Ġval Ġchain Index : ĠLong , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . key . verification . request ") ĊĠĠĠ Ġdata Ġclass ĠVerification Request ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender : ĠUserId , ĊĠĠĠ Ġ) Ġ: ĠApi To Device Event (), ĠApi Verification Event Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" from _ device ") Ġval Ġfrom Device : ĠDevice Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" methods ") Ġval Ġmethods : ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" timestamp ") Ġval Ġtimestamp Pos ix : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" transaction _ id ") Ġval Ġtransaction Id : ĠString , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . key . verification . ready ") ĊĠĠĠ Ġdata Ġclass ĠVerification Ready ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender : ĠUserId , ĊĠĠĠ Ġ) Ġ: ĠApi To Device Event (), ĠApi Verification Event Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" from _ device ") Ġval Ġfrom Device : ĠDevice Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" methods ") Ġval Ġmethods : ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" transaction _ id ") Ġval Ġtransaction Id : ĠString , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . key . verification . start ") ĊĠĠĠ Ġdata Ġclass ĠVerification Start ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender : ĠUserId , ĊĠĠĠ Ġ) Ġ: ĠApi To Device Event (), ĠApi Verification Event Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" from _ device ") Ġval Ġfrom Device : ĠDevice Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" method ") Ġval Ġmethod : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" key _ agreement _ protocols ") Ġval Ġprotocols : ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" hashes ") Ġval Ġhashes : ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" message _ authentication _ codes ") Ġval Ġcodes : ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" short _ authentication _ string ") Ġval Ġshort : ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" transaction _ id ") Ġval Ġtransaction Id : ĠString , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . key . verification . accept ") ĊĠĠĠ Ġdata Ġclass ĠVerification Accept ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender : ĠUserId , ĊĠĠĠ Ġ) Ġ: ĠApi To Device Event (), ĠApi Verification Event Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" from _ device ") Ġval Ġfrom Device : ĠDevice Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" method ") Ġval Ġmethod : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" key _ agreement _ protocol ") Ġval Ġprotocol : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" hash ") Ġval Ġhash : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" message _ authentication _ code ") Ġval Ġcode : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" short _ authentication _ string ") Ġval Ġshort : ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" commit ment ") Ġval Ġcommit ment : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" transaction _ id ") Ġval Ġtransaction Id : ĠString , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . key . verification . key ") ĊĠĠĠ Ġdata Ġclass ĠVerification Key ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender : ĠUserId , ĊĠĠĠ Ġ) Ġ: ĠApi To Device Event (), ĠApi Verification Event Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" transaction _ id ") Ġval Ġtransaction Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" key ") Ġval Ġkey : ĠString , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . key . verification . mac ") ĊĠĠĠ Ġdata Ġclass ĠVerification Mac ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender : ĠUserId , ĊĠĠĠ Ġ) Ġ: ĠApi To Device Event (), ĠApi Verification Event Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" transaction _ id ") Ġval Ġtransaction Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" keys ") Ġval Ġkeys : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" mac ") Ġval Ġmac : ĠMap < String , ĠString >, ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . key . verification . cancel ") ĊĠĠĠ Ġdata Ġclass ĠVerification Cancel ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠ Ġ) Ġ: ĠApi To Device Event (), ĠApi Verification Event Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" code ") Ġval Ġcode : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" reason ") Ġval Ġreason : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" transaction _ id ") Ġval Ġtransaction Id : ĠString , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġobject ĠIgnore d Ġ: ĠApi To Device Event () ĊĊĊĠĠĠ Ġsealed Ġinterface ĠApi Verification Event Ċ } Ċ Ċ @ Serializable Ċ internal Ġdata Ġclass ĠApi Sync Rooms ( ĊĠĠĠ Ġ@ Serial Name (" join ") Ġval Ġjoin : ĠMap < Room Id , ĠApi Sync Room >? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serial Name (" invite ") Ġval Ġinvite : ĠMap < Room Id , ĠApi Sync Room Invite >? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serial Name (" leave ") Ġval Ġleave : ĠMap < Room Id , ĠApi Sync Room >? Ġ= Ġnull , Ċ ) Ċ Ċ @ Serializable Ċ internal Ġdata Ġclass ĠApi Sync Room Invite ( ĊĠĠĠ Ġ@ Serial Name (" invite _ state ") Ġval Ġstate : ĠApi Invite Events , Ċ ) Ċ Ċ @ Serializable Ċ internal Ġdata Ġclass ĠApi Invite Events ( ĊĠĠĠ Ġ@ Serial Name (" events ") Ġval Ġevents : ĠList < Api Stri pped Event > Ċ ) Ċ Ċ @ Serializable Ċ sealed Ġclass ĠApi Stri pped Event Ġ{ ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . member ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠRoom Member ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender : ĠUserId , ĊĠĠĠ Ġ) Ġ: ĠApi Stri pped Event () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġinternal Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" display name ") Ġval ĠdisplayName : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" membership ") Ġval Ġmembership : ĠApi Timeline Event . Room Member . Content . Membership ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" is _ direct ") Ġval Ġis Direct : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" avatar _ url ") Ġval Ġavatar Url : ĠM x Url ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . name ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠRoom Name ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠ Ġ) Ġ: ĠApi Stri pped Event () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġinternal Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" name ") Ġval Ġname : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġobject ĠIgnore d Ġ: ĠApi Stri pped Event () Ċ } Ċ Ċ @ Serializable Ċ internal Ġdata Ġclass ĠApi Sync Room ( ĊĠĠĠ Ġ@ Serial Name (" timeline ") Ġval Ġtimeline : ĠApi Sync Room Timeline , ĊĠĠĠ Ġ@ Serial Name (" state ") Ġval Ġstate : ĠApi Sync Room State , ĊĠĠĠ Ġ@ Serial Name (" account _ data ") Ġval Ġaccount Data : ĠApi Account Data ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Serial Name (" ep hemeral ") Ġval Ġep hemeral : ĠApi Ep hemeral ? Ġ= Ġnull , Ċ ) Ċ Ċ @ Serializable Ċ internal Ġdata Ġclass ĠApi Ep hemeral ( ĊĠĠĠ Ġ@ Serial Name (" events ") Ġval Ġevents : ĠList < Api Ep hemeral Event > Ċ ) Ċ Ċ @ Serializable Ċ internal Ġsealed Ġclass ĠApi Ep hemeral Event Ġ{ ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . typing ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠTyp ing ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠ Ġ) Ġ: ĠApi Ep hemeral Event () Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġinternal Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" user _ ids ") Ġval Ġuser Ids : ĠList < UserId > ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġobject ĠIgnore d Ġ: ĠApi Ep hemeral Event () Ċ } ĊĊ Ċ @ Serializable Ċ internal Ġdata Ġclass ĠApi Sync Room State ( ĊĠĠĠ Ġ@ Serial Name (" events ") Ġval Ġstate Events : ĠList < Api Timeline Event >, Ċ ) Ċ Ċ @ Serializable Ċ internal Ġdata Ġclass ĠApi Sync Room Timeline ( ĊĠĠĠ Ġ@ Serial Name (" events ") Ġval Ġapi Timeline Events : ĠList < Api Timeline Event >, Ċ ) ĊĊ Ċ @ Serializable Ċ internal Ġsealed Ġclass ĠDecrypt ed Content Ġ{ ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . message ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠTimeline Text ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠApi Timeline Event . Timeline Text . Content , ĊĠĠĠ Ġ) Ġ: ĠDecrypt ed Content () ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġobject ĠIgnore d Ġ: ĠDecrypt ed Content () Ċ } ĊĊ Ċ @ Serializable ( with Ġ= ĠEn crypted Content Deserializer :: class ) Ċ internal Ġsealed Ġclass ĠApi Encrypted Content Ġ{ ĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġdata Ġclass ĠO lm V 1 ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" ciphertext ") Ġval Ġcipher Text : ĠMap < Curve 2 5 5 1 9 , ĠCipher Text Info >, ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender _ key ") Ġval Ġsender Key : ĠCurve 2 5 5 1 9 , ĊĠĠĠ Ġ) Ġ: ĠApi Encrypted Content () ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġdata Ġclass ĠMe g O lm V 1 ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" ciphertext ") Ġval Ġcipher Text : ĠCipher Text , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" device _ id ") Ġval ĠdeviceId : ĠDevice Id , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender _ key ") Ġval Ġsender Key : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" session _ id ") Ġval ĠsessionId : ĠSession Id , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" m . rel ates _ to ") Ġval Ġrelation : ĠApi Timeline Event . Timeline Text . Relation ? Ġ= Ġnull , ĊĠĠĠ Ġ) Ġ: ĠApi Encrypted Content () ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġdata Ġclass ĠCipher Text Info ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" body ") Ġval Ġbody : ĠCipher Text , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" type ") Ġval Ġtype : ĠInt , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġobject ĠUnknown Ġ: ĠApi Encrypted Content () Ċ } Ċ Ċ @ Serializable Ċ internal Ġsealed Ġclass ĠApi Timeline Event Ġ{ ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . create ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠRoom Create ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" event _ id ") Ġval Ġid : ĠEvent Id , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" origin _ server _ ts ") Ġval Ġut c Timestamp : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠ Ġ) Ġ: ĠApi Timeline Event () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġinternal Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" type ") Ġval Ġtype : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . topic ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠRoom Topic ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" event _ id ") Ġval Ġid : ĠEvent Id , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠ Ġ) Ġ: ĠApi Timeline Event () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġinternal Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" topic ") Ġval Ġtopic : ĠString ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . name ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠRoom Name ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" event _ id ") Ġval Ġid : ĠEvent Id , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠ Ġ) Ġ: ĠApi Timeline Event () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġinternal Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" name ") Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . avatar ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠRoom Avatar ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" event _ id ") Ġval Ġid : ĠEvent Id , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠ Ġ) Ġ: ĠApi Timeline Event () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġinternal Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" url ") Ġval Ġurl : ĠM x Url ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . member ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠRoom Member ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" event _ id ") Ġval Ġid : ĠEvent Id , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender Id : ĠUserId , ĊĠĠĠ Ġ) Ġ: ĠApi Timeline Event () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġinternal Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" display name ") Ġval ĠdisplayName : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" membership ") Ġval Ġmembership : ĠMembers hip , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" avatar _ url ") Ġval Ġavatar Url : ĠM x Url ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Jvm Inline ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġclass ĠMembers hip ( val Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġis Join () Ġ= Ġvalue Ġ== Ġ" join " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġis Invite () Ġ= Ġvalue Ġ== Ġ" invite " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġis Leave () Ġ= Ġvalue Ġ== Ġ" leave " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġinternal Ġdata Ġclass ĠDec ryption Status ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" is _ verified ") Ġval Ġis Verified : ĠBoolean ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . message ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠTimeline Text ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" event _ id ") Ġval Ġid : ĠEvent Id , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender Id : ĠUserId , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" origin _ server _ ts ") Ġval Ġut c Timestamp : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" st . de cryption _ status ") Ġval Ġde cryption Status : ĠDec ryption Status ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ: ĠApi Timeline Event () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġinternal Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" body ") Ġval Ġbody : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" formatted _ body ") Ġval Ġformatted Body : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" msg type ") Ġval Ġtype : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" m . rel ates _ to ") Ġval Ġrelation : ĠRelation ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠRelation ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" m . in _ reply _ to ") Ġval Ġin Reply To : ĠIn Reply To ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" rel _ type ") Ġval Ġrelation Type : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" event _ id ") Ġval Ġevent Id : ĠEvent Id ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠIn Reply To ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" event _ id ") Ġval Ġevent Id : ĠEvent Id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . encryption ") ĊĠĠĠ Ġdata Ġclass ĠEncryption ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġcontent : ĠContent , ĊĠĠĠ Ġ) Ġ: ĠApi Timeline Event () Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠContent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" algorithm ") Ġval Ġalgorithm : ĠAlgorithm Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" rotation _ period _ ms ") Ġval Ġrotation Ms : ĠLong ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" rotation _ period _ msgs ") Ġval Ġrotation Messages : ĠLong ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" m . room . encrypted ") ĊĠĠĠ Ġinternal Ġdata Ġclass ĠEn crypted ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" sender ") Ġval Ġsender Id : ĠUserId , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" content ") Ġval Ġencrypted Content : ĠApi Encrypted Content , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" event _ id ") Ġval Ġevent Id : ĠEvent Id , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" origin _ server _ ts ") Ġval Ġut c Timestamp : ĠLong , ĊĠĠĠ Ġ) Ġ: ĠApi Timeline Event () ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġobject ĠIgnore d Ġ: ĠApi Timeline Event () Ċ } ĊĊ Ċ internal Ġobject ĠEn crypted Content Deserializer Ġ: ĠK Serializer < Api Encrypted Content > Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġdescriptor : ĠSerial Descriptor Ġ= Ġbuild Class Serial Descriptor (" encrypted Content ") ĊĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( decoder : ĠDecoder ): ĠApi Encrypted Content Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( decoder Ġis ĠJson Decoder ) ĊĠĠĠĠĠĠĠ Ġval Ġelement Ġ= Ġdecoder . decode Json Element () ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( val Ġalgorithm Ġ= Ġelement . jsonObject [" algorithm "] ?. json Primitive ?. content ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" m . ol m . v 1 . curve 2 5 5 1 9 - aes - sha 2 " Ġ-> ĠApi Encrypted Content . O lm V 1 . serializer (). deserialize ( decoder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" m . meg ol m . v 1 . aes - sha 2 " Ġ-> ĠApi Encrypted Content . Me g O lm V 1 . serializer (). deserialize ( decoder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> ĠApi Encrypted Content . Unknown ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Unknown Ġalgorithm Ġ: Ġ$ algorithm ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġserialize ( encoder : ĠEncoder , Ġvalue : ĠApi Encrypted Content ) Ġ= ĠTODO (" Not Ġyet Ġimplemented ") Ċ Ċ }