package Ġeu . kan ade . t ach iy omi . extension . id . m ang ak ane Ċ Ċ import Ġeu . kan ade . t ach iy omi . network . GET Ċ import Ġeu . kan ade . t ach iy omi . source . model . Filter Ċ import Ġeu . kan ade . t ach iy omi . source . model . Filter List Ċ 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 . Http Url . Companion . to Http Url OrNull Ċ import Ġokhttp 3 . Request Ċ import Ġorg . js oup . nodes . Document Ċ import Ġorg . js oup . nodes . Element Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util . Locale Ċ Ċ class ĠM anga K ane Ġ: ĠParsed Http Source () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġname Ġ= Ġ" M anga K ane " ĊĠĠĠ Ġoverride Ġval ĠbaseUrl Ġ= Ġ" https :// m ang ak ane . com " ĊĠĠĠ Ġoverride Ġval Ġlang Ġ= Ġ" id " ĊĠĠĠ Ġoverride Ġval Ġsupports Latest Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga Request ( page : ĠInt ): ĠRequest Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGET ("$ baseUrl / series / page /$ page ", Ġheaders ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlatest Updates Request ( page : ĠInt ): ĠRequest Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGET ("$ baseUrl / page /$ page ", Ġheaders ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsearch M anga Request ( page : ĠInt , Ġquery : ĠString , Ġfilters : ĠFilter List ): ĠRequest Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġurl Ġ= Ġ"$ baseUrl / page /$ page / ". to Http Url OrNull () !!. newBuilder () ĊĠĠĠĠĠĠĠ Ġurl . add QueryParameter (" s ", Ġquery ) ĊĠĠĠĠĠĠĠ Ġfilters . forEach Ġ{ Ġfilter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( filter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠProject Filter Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( filter . to Uri Part () Ġ== Ġ" project - filter - on ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ"$ baseUrl / project - list / page /$ page ". to Http Url OrNull () !!. newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠGET ( url . build (). toString (), Ġheaders ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga Selector () Ġ= Ġ". container Ġ. flex box 2 Ġ. flex box 2 - item " ĊĠĠĠ Ġoverride Ġfun Ġlatest Updates Selector () Ġ= Ġ" h 2 : not (: has ( a )) Ġ+ Ġ. flex box 3 Ġ. flex box 3 - item " ĊĠĠĠ Ġoverride Ġfun Ġsearch M anga Selector () Ġ= Ġpopular M anga Selector () ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga From Element ( element : ĠElement ): ĠSM anga Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm anga Ġ= ĠSM anga . create () ĊĠĠĠĠĠĠĠ Ġm anga . set Url Without Domain ( element . select (" a "). attr (" href ")) ĊĠĠĠĠĠĠĠ Ġm anga . title Ġ= Ġelement . select (" a "). attr (" title ") ĊĠĠĠĠĠĠĠ Ġm anga . thumbnail _ url Ġ= Ġelement . select (" a Ġimg "). attr (" abs : src ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġm anga ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsearch M anga From Element ( element : ĠElement ): ĠSM anga Ġ= Ġpopular M anga From Element ( element ) ĊĠĠĠ Ġoverride Ġfun Ġlatest Updates From Element ( element : ĠElement ): ĠSM anga Ġ= Ġpopular M anga From Element ( element ) ĊĊĠĠĠ Ġoverride Ġfun Ġpopular M anga Next Page Selector () Ġ= Ġ". pagination Ġ. next " ĊĠĠĠ Ġoverride Ġfun Ġlatest Updates Next Page Selector () Ġ= Ġpopular M anga Next Page Selector () ĊĠĠĠ Ġoverride Ġfun Ġsearch M anga Next Page Selector () Ġ= Ġpopular M anga Next Page Selector () ĊĊĠĠĠ Ġoverride Ġfun Ġm anga Details Parse ( document : ĠDocument ) Ġ= ĠSM anga . create (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġauthor Ġ= Ġdocument . select (". series - inf olist Ġli : contains ( Author ) Ġspan "). text () ĊĠĠĠĠĠĠĠ Ġartist Ġ= Ġdocument . select (". series - inf olist Ġli : contains ( Artist ) Ġspan "). text () ĊĠĠĠĠĠĠĠ Ġstatus Ġ= Ġparse Status ( document . select (". series - info z Ġ. status "). first OrNull ()?. own Text ()) ĊĠĠĠĠĠĠĠ Ġdescription Ġ= Ġdocument . select (". series - syn ops Ġp "). text () ĊĠĠĠĠĠĠĠ Ġgenre Ġ= Ġdocument . select (". series - genres Ġa "). join ToString Ġ{ Ġit . text () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġparse Status ( element : ĠString ?): ĠInt Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġelement Ġ== Ġnull Ġ-> ĠSM anga . UNKNOWN ĊĠĠĠĠĠĠĠ ĠlistOf (" ongo ing ", Ġ" publishing "). any Ġ{ Ġit . contains ( element , Ġignore Case Ġ= Ġtrue ) Ġ} Ġ-> ĠSM anga . ONGO ING ĊĠĠĠĠĠĠĠ ĠlistOf (" completed "). any Ġ{ Ġit . contains ( element , Ġignore Case Ġ= Ġtrue ) Ġ} Ġ-> ĠSM anga . COMPLETED ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠSM anga . UNKNOWN ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġchapter List Selector () Ġ= Ġ". series - chapter list Ġli " ĊĊĠĠĠ Ġoverride Ġfun Ġchapter From Element ( element : ĠElement ) Ġ= ĠS Chapter . create (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġset Url Without Domain ( element . select (". flex ch - info z Ġa "). attr (" href ")) ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġelement . select (". flex ch - info z Ġspan : not (. date ) "). first (). own Text () ĊĠĠĠĠĠĠĠ Ġdate _ upload Ġ= Ġparse Chapter Date ( element . select (". flex ch - info z Ġ. date "). text ()) Ġ?: Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġparse Chapter Date ( date : ĠString ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġparsed Date Ġ= Ġ 0 L ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparsed Date Ġ= ĠSimpleDateFormat (" MMM Ġdd , Ġy yyy ", ĠLocale . US ). parse ( date )?. time Ġ?: Ġ 0 L ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ(_ : ĠException ) Ġ{ Ġ/* nothing Ġto Ġdo , Ġparsed Date Ġis Ġinitialized Ġwith Ġ 0 L */ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġparsed Date ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpage List Parse ( document : ĠDocument ): ĠList < Page > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpages Ġ= Ġmutable ListOf < Page >() ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġdocument . select (". reader - area Ġimg "). forEach Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġelement . attr (" abs : src ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( url . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpages . add ( Page ( i , Ġ"", Ġurl )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġpages ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠimageUrl Parse ( document : ĠDocument ) Ġ= Ġ"" ĊĊĠĠĠ Ġoverride Ġfun Ġget Filter List () Ġ= ĠFilter List ( ĊĠĠĠĠĠĠĠ ĠFilter . Header (" NOTE : Ġcant Ġbe Ġused Ġwith Ġsearch Ġor Ġother Ġfilter ! "), ĊĠĠĠĠĠĠĠ ĠFilter . Header ("$ name ĠProject ĠList Ġpage "), ĊĠĠĠĠĠĠĠ ĠProject Filter (), ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġclass ĠProject Filter Ġ: ĠUri Part Filter ( ĊĠĠĠĠĠĠĠ Ġ" Filter ĠProject ", ĊĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Show Ġall Ġm anga ", Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair (" Show Ġonly Ġproject Ġm anga ", Ġ" project - filter - on ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġopen Ġclass ĠUri Part Filter ( displayName : ĠString , Ġval Ġvals : ĠArray < Pair < String , ĠString >>) Ġ: ĊĠĠĠĠĠĠĠ ĠFilter . Select < String >( displayName , Ġvals . map Ġ{ Ġit . first Ġ}. to Typed Array ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġto Uri Part () Ġ= Ġvals [ state ]. second ĊĠĠĠ Ġ} Ċ } Ċ