package Ġdev . it basis . ko change . core . currency Ċ Ċ public Ġactual Ġfun ĠCurrency . Companion . all (): ĠSet < Currency > Ġ= Ġc urrencies . values . toSet () Ċ Ċ // ĠTODO Ġcode Ġs mell Ċ // ĠTODO Ġmigrate Ġto Ġk apt Ċ internal Ġactual Ġfun Ġinit C urrencies (): ĠMutable Map < String , ĠCurrency > Ġ{ Ċ ĉ val Ġbase C urrencies Ġ= ĠSe aled Currency :: class . sealed Sub classes . map NotNull Ġ{ Ġit . object Instance Ġ} ĊĊ ĉ val Ġresult Ġ= Ġmutable Map Of < String , ĠCurrency >() Ċ ĉ base C urrencies . forEach Ġ{ Ġcurrency Ġ-> Ċĉ ĉ result . get Or Put ( currency . code ) Ġ{ Ġcurrency Ġ} Ċ ĉ } Ċ ĉ base C urrencies . forEach Ġ{ Ġcurrency Ġ-> Ċĉ ĉ currency . alternative Codes . forEach Ġ{ Ġalt Code Ġ-> Ċĉĉ ĉ result . get Or Put ( alt Code ) Ġ{ Ġcurrency Ġ} Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ return Ġresult Ċ } Ċ