package Ġeu . kan ade . t ach iy omi . extension . en . xk cd Ċ Ċ import Ġeu . kan ade . t ach iy omi . network . GET Ċ import Ġeu . kan ade . t ach iy omi . source . model . Filter List Ċ import Ġeu . kan ade . t ach iy omi . source . model . M ang as Page Ċ import Ġeu . kan ade . t ach iy omi . source . model . Page Ċ import Ġeu . kan ade . t ach iy omi . source . model . S Chapter Ċ import Ġeu . kan ade . t ach iy omi . source . model . SM anga Ċ import Ġeu . kan ade . t ach iy omi . source . online . Parsed Http Source Ċ import Ġokhttp 3 . Request Ċ import Ġorg . js oup . nodes . Document Ċ import Ġorg . js oup . nodes . Element Ċ import Ġrx . Observable Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util . Locale Ċ Ċ class ĠX k cd Ġ: ĠParsed Http Source () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġname Ġ= Ġ" xk cd " ĊĊĠĠĠ Ġoverride Ġval ĠbaseUrl Ġ= Ġ" https :// xk cd . com " ĊĊĠĠĠ Ġoverride Ġval Ġlang Ġ= Ġ" en " ĊĊĠĠĠ Ġoverride Ġval Ġsupports Latest Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġfetch Pop ular M anga ( page : ĠInt ): ĠObservable < M ang as Page > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm anga Ġ= ĠSM anga . create () ĊĠĠĠĠĠĠĠ Ġm anga . set Url Without Domain ("/ archive ") ĊĠĠĠĠĠĠĠ Ġm anga . title Ġ= Ġ" xk cd " ĊĠĠĠĠĠĠĠ Ġm anga . artist Ġ= Ġ" Rand all ĠM un ro e " ĊĠĠĠĠĠĠĠ Ġm anga . author Ġ= Ġ" Rand all ĠM un ro e " ĊĠĠĠĠĠĠĠ Ġm anga . status Ġ= ĠSM anga . ONGO ING ĊĠĠĠĠĠĠĠ Ġm anga . description Ġ= Ġ" A Ġweb com ic Ġof Ġrom ance , Ġs arc asm , Ġmath Ġand Ġlanguage " ĊĠĠĠĠĠĠĠ Ġm anga . thumbnail _ url Ġ= Ġthumbnail Url ĊĊĠĠĠĠĠĠĠ Ġreturn ĠObservable . just ( M ang as Page ( array ListOf ( manga ), Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfetch Search M anga ( page : ĠInt , Ġquery : ĠString , Ġfilters : ĠFilter List ): ĠObservable < M ang as Page > Ġ= ĠObservable . just ( M ang as Page ( emptyList (), Ġfalse )) ĊĊĠĠĠ Ġoverride Ġfun Ġfetch M anga Details ( manga : ĠSM anga ): ĠObservable < SM anga > Ġ= Ġfetch Pop ular M anga ( 1 ) ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . m ang as . first (). apply Ġ{ Ġinitialized Ġ= Ġtrue Ġ} Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġchapter List Selector () Ġ= Ġ" div # middle Container . box Ġa " ĊĊĠĠĠ Ġoverride Ġfun Ġchapter From Element ( element : ĠElement ): ĠS Chapter Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchapter Ġ= ĠS Chapter . create () ĊĠĠĠĠĠĠĠ Ġchapter . url Ġ= Ġelement . attr (" href ") ĊĠĠĠĠĠĠĠ Ġval Ġnumber Ġ= Ġchapter . url . remove Sur rounding ("/") ĊĠĠĠĠĠĠĠ Ġchapter . chapter _ number Ġ= Ġnumber . toFloat () ĊĠĠĠĠĠĠĠ Ġchapter . name Ġ= Ġnumber Ġ+ Ġ" Ġ- Ġ" Ġ+ Ġelement . text () ĊĠĠĠĠĠĠĠ Ġchapter . date _ upload Ġ= Ġelement . attr (" title "). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSimpleDateFormat (" yyyy - MM - dd ", ĠLocale . getDefault ()). parse ( it )?. time Ġ?: Ġ 0 L ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġchapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpage List Parse ( document : ĠDocument ): ĠList < Page > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Words : ĠSequence < String > ĊĠĠĠĠĠĠĠ Ġval Ġalt Text Words : ĠSequence < String > ĊĠĠĠĠĠĠĠ Ġval Ġinteractive Text Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" To Ġexperience Ġthe ", Ġ" interactive Ġversion Ġof Ġthis Ġcom ic ,", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" open Ġit Ġin ĠWebView / browser ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ( separator Ġ= Ġ"% 0 A ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" Ġ", Ġ"% 2 0 ") ĊĊĠĠĠĠĠĠĠ Ġ// Ġtransform ing Ġfilename Ġfrom Ġinfo . 0 . json Ġisn 't Ġguaranteed Ġto Ġwork , Ġstick Ġto Ġhtml ĊĠĠĠĠĠĠĠ Ġ// Ġif Ġan ĠHD Ġimage Ġis Ġavailable Ġit 'll Ġbe Ġthe Ġsrc set Ġattribute ĊĠĠĠĠĠĠĠ Ġ// Ġif Ġimg Ġtag Ġis Ġempty Ġthen Ġit Ġis Ġan Ġinteractive Ġcom ic Ġview able Ġonly Ġin Ġbrowser ĊĠĠĠĠĠĠĠ Ġval Ġimage Ġ= Ġdocument . select (" div # com ic Ġimg "). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġ== Ġnull Ġ|| Ġit . isEmpty () Ġ-> Ġbase Alt Text Url Ġ+ Ġinteractive Text Ġ+ Ġbase Alt Text Post Url ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . has Attr (" src set ") Ġ-> Ġit . attr (" abs : src set "). substring Before (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġit . attr (" abs : src ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġcreate Ġa Ġtext Ġimage Ġfor Ġthe Ġalt Ġtext ĊĠĠĠĠĠĠĠ Ġdocument . select (" div # com ic Ġimg "). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Words Ġ= Ġit . attr (" alt "). split To Sequence (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalt Text Words Ġ= Ġit . attr (" title "). split To Sequence (" Ġ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġvar Ġcount Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġtitle Words ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Ġ!= Ġ 0 Ġ&& Ġcount . rem ( 7 ) Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ("% 0 A ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ( i ). append ("+ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcount ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbuilder . append ("% 0 A % 0 A ") ĊĊĠĠĠĠĠĠĠ Ġvar Ġchar Count Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġalt Text Words ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( char Count Ġ> Ġ 2 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ("% 0 A ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar Count Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ( i ). append ("+ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchar Count Ġ+= Ġi . length Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( Page ( 0 , Ġ"", Ġimage ), ĠPage ( 1 , Ġ"", Ġbase Alt Text Url Ġ+ Ġbuilder . toString () Ġ+ Ġbase Alt Text Post Url )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠimageUrl Request ( page : ĠPage ) Ġ= ĠGET ( page . url ) ĊĊĠĠĠ Ġoverride Ġfun ĠimageUrl Parse ( document : ĠDocument ) Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga Selector (): ĠString Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġsearch M anga From Element ( element : ĠElement ): ĠSM anga Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġsearch M anga Next Page Selector (): ĠString ? Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġsearch M anga Selector (): ĠString Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga Request ( page : ĠInt ): ĠRequest Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġsearch M anga Request ( page : ĠInt , Ġquery : ĠString , Ġfilters : ĠFilter List ): ĠRequest Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga Next Page Selector (): ĠString ? Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga From Element ( element : ĠElement ): ĠSM anga Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġm anga Details Parse ( document : ĠDocument ): ĠSM anga Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġlatest Updates Next Page Selector (): ĠString ? Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġlatest Updates From Element ( element : ĠElement ): ĠSM anga Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġlatest Updates Request ( page : ĠInt ): ĠRequest Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġoverride Ġfun Ġlatest Updates Selector (): ĠString Ġ= Ġthrow ĠException (" Not Ġused ") ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġthumbnail Url Ġ= Ġ" https :// fake img . pl / 5 5 0 x 7 8 0 / ffffff / 6 E 7 B 9 1 /? text = xk cd & font = m use o " ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġbase Alt Text Url Ġ= Ġ" https :// fake img . pl / 1 5 0 0 x 2 1 2 6 / ffffff / 0 0 0 0 0 0 /? text =" ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġbase Alt Text Post Url Ġ= Ġ"& font _ size = 4 2 & font = m use o " ĊĠĠĠ Ġ} Ċ } Ċ