package Ġcom . alg ol ia . search . serialize Ċ Ċ import Ġcom . alg ol ia . search . model . Attribute Ċ import Ġcom . alg ol ia . search . model . search . Language Ċ import Ġcom . alg ol ia . search . model . settings . De comp o unded Attributes Ċ import Ġcom . alg ol ia . search . serialize . internal . Json Ċ import Ġcom . alg ol ia . search . serialize . internal . Json No Defaults Ċ import Ġcom . alg ol ia . search . serialize . internal . Json Non Strict Ċ import Ġcom . alg ol ia . search . serialize . internal . as Json Input Ċ import Ġcom . alg ol ia . search . serialize . internal . as Json Output Ċ import Ġkotlinx . serialization . K Serializer Ċ import Ġkotlinx . serialization . builtins . List Serializer Ċ import Ġkotlinx . serialization . builtins . Map Serializer Ċ import Ġkotlinx . serialization . descriptors . Serial Descriptor Ċ import Ġkotlinx . serialization . encoding . Decoder Ċ import Ġkotlinx . serialization . encoding . Encoder Ċ import Ġkotlinx . serialization . json . build JsonObject Ċ import Ġkotlinx . serialization . json . json Array Ċ import Ġkotlinx . serialization . json . jsonObject Ċ Ċ public Ġobject ĠK Serializer De comp o unded Attributes Ġ: ĠK Serializer < List < De comp o unded Attributes >> Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġserializer Ġ= ĠMap Serializer ( Language , ĠList Serializer ( Attribute )) ĊĊĠĠĠ Ġoverride Ġval Ġdescriptor : ĠSerial Descriptor Ġ= Ġserializer . descriptor ĊĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( decoder : ĠDecoder ): ĠList < De comp o unded Attributes > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġdecoder . as Json Input (). jsonObject ĊĊĠĠĠĠĠĠĠ Ġreturn Ġjson . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlanguage Ġ= ĠJson Non Strict . decode FromString ( Language . serializer (), Ġit . key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġattributes Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson No Defaults . decode FromJson Element ( List Serializer ( Attribute . serializer ()), Ġit . value . json Array ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠDe comp o unded Attributes ( language , Ġattributes ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġserialize ( encoder : ĠEncoder , Ġvalue : ĠList < De comp o unded Attributes >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġbuild JsonObject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( it . language . raw , ĠJson . encode ToJson Element ( List Serializer ( Attribute ), Ġit . attributes )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġencoder . as Json Output (). encode Json Element ( json ) ĊĠĠĠ Ġ} Ċ } Ċ