package Ġno . nav . dag p enger . so kn ad . ser der Ċ Ċ import Ġcom . fasterxml . jackson . databind . JsonNode Ċ import Ġcom . fasterxml . jackson . module . kotlin . jackson ObjectMapper Ċ import Ġno . nav . dag p enger . so kn ad . html . In ns end t S Ã¸ kn ad Ċ Ċ internal Ġclass ĠJson Html Mapper ( ĊĠĠĠ Ġprivate Ġval Ġs Ã¸ kn ads Data : ĠString , ĊĠĠĠ Ġtek st : ĠString , ĊĠĠĠ Ġprivate Ġval Ġspr Ã¥ k : ĠIn ns end t S Ã¸ kn ad . S Ã¸ kn ad Spr Ã¥ k Ġ= ĠIn ns end t S Ã¸ kn ad . S Ã¸ kn ad Spr Ã¥ k . B OK M Ã ħ L Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġopp sl ag Ġ= ĠO pp sl ag ( tek st ) ĊĠĠĠ Ġprivate Ġval ĠobjectMapper Ġ= Ġj ack son ObjectMapper () ĊĊĠĠĠ Ġprivate Ġfun Ġparse ( s Ã¸ kn ads Data : ĠString ): ĠList < In ns end t S Ã¸ kn ad . Se ks jon > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠobjectMapper . read Tree ( s Ã¸ kn ads Data )[" se ks jon er "]. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtek st Ob jekt Ġ= Ġopp sl ag . lookup ( it [" bes k riv ende Id "]. as Text ()) Ġas ĠO pp sl ag . T ek st Ob jekt . Se ks jon T ek st Ob jekt ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIn ns end t S Ã¸ kn ad . Se ks jon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġover sk rift Ġ= Ġtek st Ob jekt . title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbes k riv else Ġ= Ġtek st Ob jekt . description , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh jel pe tek st Ġ= Ġtek st Ob jekt . help Text (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsp m S var Ġ= Ġit . f ak ta () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠTODO Ġand re Ġf ak at yper ĊĠĠĠ Ġprivate Ġfun ĠJsonNode . s var (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( this [" type "]. as Text ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" string " Ġ-> Ġthis [" s var "]. as Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" boolean " Ġ-> Ġspr Ã¥ k . boolean ( this [" s var "]. as Boolean ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" generator " Ġ-> Ġ" generator " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" hub ba ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠJsonNode . f ak ta (): ĠList < In ns end t S Ã¸ kn ad . Sp ors mal S var > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis [" f ak ta "]. map Ġ{ Ġnode Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtek st Ob jekt Ġ= Ġopp sl ag . lookup ( node [" bes k riv ende Id "]. as Text ()) Ġas ĠO pp sl ag . T ek st Ob jekt . F ak ta T ek st Ob jekt ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIn ns end t S Ã¸ kn ad . Sp ors mal S var ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsp ors mal Ġ= Ġtek st Ob jekt . text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs var Ġ= Ġnode . s var (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbes k riv else Ġ= Ġtek st Ob jekt . description , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh jel pe tek st Ġ= Ġtek st Ob jekt . help Text (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopp f Ã¸ l ging sp Ã¸ rm Ã¥ l Ġ= ĠlistOf () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġparse (): ĠIn ns end t S Ã¸ kn ad Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠIn ns end t S Ã¸ kn ad ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġse ks jon er Ġ= Ġparse ( s Ã¸ kn ads Data ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmeta Info Ġ= ĠIn ns end t S Ã¸ kn ad . Meta Info ( spr Ã¥ k Ġ= ĠIn ns end t S Ã¸ kn ad . S Ã¸ kn ad Spr Ã¥ k . B OK M Ã ħ L ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠO pp sl ag . T ek st Ob jekt . help Text (): ĠIn ns end t S Ã¸ kn ad . Hj el pe tek st ? Ġ{ ĊĠĠĠ Ġreturn Ġthis . help Text ?. let Ġ{ ĠIn ns end t S Ã¸ kn ad . Hj el pe tek st ( it . body , Ġit . title ) Ġ} Ċ } Ċ