Greasy Fork

Greasy Fork is available in English.

MAL-Sync

Integrates MyAnimeList/AniList/Kitsu/Simkl into various sites, with auto episode tracking.

当前为 2021-07-13 提交的版本,查看 最新版本

// ==UserScript==
// @name MAL-Sync
// @namespace http://greasyfork.icu/users/92233
// @description Integrates MyAnimeList/AniList/Kitsu/Simkl into various sites, with auto episode tracking.
// @version 0.8.12
// @author [email protected]
// @license GPL-3.0
// @iconURL https://raw.githubusercontent.com/MALSync/MALSync/master/assets/icons/icon128.png
// @grant GM_xmlhttpRequest
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_deleteValue
// @grant GM_listValues
// @grant GM_addStyle
// @grant GM_getResourceText
// @grant GM_notification
// @grant GM.xmlHttpRequest
// @grant GM.getValue
// @grant GM.setValue
// @match *://myanimelist.net/anime/*
// @match *://myanimelist.net/manga/*
// @match *://myanimelist.net/animelist/*
// @match *://myanimelist.net/mangalist/*
// @match *://myanimelist.net/anime.php?id=*
// @match *://myanimelist.net/manga.php?id=*
// @match *://myanimelist.net/character/*
// @match *://myanimelist.net/people/*
// @match *://myanimelist.net/search/*
// @match *://anilist.co/*
// @match *://kitsu.io/*
// @match *://simkl.com/*
// @match *://malsync.moe/mal/oauth*
// @match *://malsync.moe/pwa*
// @match *://*.9anime.to/watch/*
// @match *://*.9anime.ru/watch/*
// @match *://*.9anime.live/watch/*
// @match *://*.9anime.one/watch/*
// @match *://*.9anime.page/watch/*
// @match *://*.9anime.video/watch/*
// @match *://*.9anime.life/watch/*
// @match *://*.9anime.love/watch/*
// @match *://*.9anime.tv/watch/*
// @match *://*.9anime.app/watch/*
// @match *://*.9anime.at/watch/*
// @match *://*.9anime.bar/watch/*
// @match *://*.9anime.pw/watch/*
// @match *://*.9anime.cz/watch/*
// @match *://*.crunchyroll.com/*
// @match *://mangadex.org/*
// @match *://*.gogoanime.tv/*
// @match *://*.gogoanime.io/*
// @match *://*.gogoanime.in/*
// @match *://*.gogoanime.se/*
// @match *://*.gogoanime.sh/*
// @match *://*.gogoanime.video/*
// @match *://*.gogoanime.movie/*
// @match *://*.gogoanime.so/*
// @match *://*.gogoanime.ai/*
// @match *://*.gogoanime.vc/*
// @match *://*.gogoanime.pe/*
// @match *://*.gogoanimes.co/*
// @match *://*.animego.to/*
// @match *://*.branitube.net/video/*
// @match *://*.branitube.net/lista/*
// @match *://*.www.turkanime.tv/video/*
// @match *://*.www.turkanime.tv/anime/*
// @match *://*.www.turkanime.net/video/*
// @match *://*.www.turkanime.net/anime/*
// @match *://twist.moe/*
// @match *://app.emby.media/*
// @match *://app.emby.tv/*
// @match *://app.plex.tv/*
// @match *://www.netflix.com/*
// @match *://animepahe.com/play/*
// @match *://animepahe.com/anime/*
// @match *://animepahe.ru/play/*
// @match *://animepahe.ru/anime/*
// @match *://animepahe.org/play/*
// @match *://animepahe.org/anime/*
// @match *://*.animeflv.net/anime/*
// @match *://*.animeflv.net/ver/*
// @match *://jkanime.net/*
// @match *://vrv.co/*
// @match *://proxer.me/*
// @match *://proxer.net/*
// @match *://4anime.to/*
// @match *://*.animeultima.eu/a/*
// @match *://*.animeultima.to/a/*
// @match *://*.aniflix.tv/*
// @match *://www.animefreak.tv/watch/*
// @match *://www.animelab.com/*
// @match *://*.kickassanime.io/anime/*
// @match *://*.kickassanime.ru/anime/*
// @match *://*.kickassanime.rs/anime/*
// @match *://*.kickassanime.lol/anime/*
// @match *://*.kickassanime.ro/anime/*
// @match *://animekisa.tv/*
// @match *://*.wakanim.tv/*
// @match *://animeindo.net/*
// @match *://animeindo.moe/*
// @match *://shinden.pl/episode/*
// @match *://shinden.pl/series/*
// @match *://shinden.pl/titles/*
// @match *://shinden.pl/epek/*
// @match *://voiranime.com/*
// @match *://*.dubbedanime.net/*
// @match *://www.viz.com/*
// @match *://manganato.com/*
// @match *://readmanganato.com/*
// @match *://*.neko-sama.fr/*
// @match *://www.animezone.pl/odcinki/*
// @match *://www.animezone.pl/odcinek/*
// @match *://www.animezone.pl/anime/*
// @match *://anime-odcinki.pl/anime/*
// @match *://animeflix.io/*
// @match *://serimanga.com/*
// @match *://mangadenizi.com/*
// @match *://moeclip.com/*
// @match *://mangalivre.net/*
// @match *://tmofans.com/*
// @match *://lectortmo.com/*
// @match *://unionleitor.top/*
// @match *://unionmangas.top/*
// @match *://mangaplus.shueisha.co.jp/*
// @match *://*.japscan.ws/*
// @match *://goyabu.com/*
// @match *://*.animesvision.com.br/*
// @match *://*.animesvision.biz/*
// @match *://www.hulu.com/*
// @match *://www.hidive.com/*
// @match *://manga.fascans.com/manga/*
// @match *://*.primevideo.com/*
// @match *://mangakatana.com/manga/*
// @match *://*.manga4life.com/*
// @match *://bato.to/*
// @match *://dreamsub.cc/*
// @match *://mangapark.net/*
// @match *://animeshouse.net/episodio/*
// @match *://animeshouse.net/filme/*
// @match *://animexin.xyz/*
// @match *://monoschinos.com/*
// @match *://monoschinos2.com/*
// @match *://animefire.net/*
// @match *://otakufr.co/*
// @match *://samehadaku.vip/*
// @match *://*.tsukimangas.com/*
// @match *://mangatx.com/*
// @match *://tranimeizle.net/*
// @match *://www.tranimeizle.net/*
// @match *://anihub.tv/*
// @match *://www.animestreamingfr.fr/anime/*
// @match *://scantrad.net/*
// @match *://furyosquad.com/*
// @match *://www.animeid.tv/*
// @match *://animixplay.to/v*
// @match *://animixplay.to/anime/*
// @match *://myanimelist.net/anime/*/*/episode/*
// @match *://*.animesimple.com/*
// @match *://animeunity.it/anime/*
// @match *://*.mangahere.cc/manga/*
// @match *://*.fanfox.net/manga/*
// @match *://*.mangafox.la/manga/*
// @match *://justanime.app/*
// @match *://yayanimes.net/*
// @match *://desu-online.pl/*
// @match *://simplyaweeb.com/series/*
// @match *://simplyaweeb.com/manga/*
// @match *://animevibe.wtf/ani/*
// @match *://animemate.xyz/ani/*
// @match *://wuxiaworld.site/novel/*
// @match *://www.anime-on-demand.de/anime/*
// @match *://edelgardescans.com/*
// @match *://hatigarmscanz.net/*
// @match *://leviatanscans.com/*
// @match *://methodscans.com/*
// @match *://the-nonames.com/*
// @match *://reaperscans.com/*
// @match *://lynxscans.com/*
// @match *://skscans.com/*
// @match *://zeroscans.com/*
// @match *://reader.deathtollscans.net/*
// @match *://reader.kireicake.com/*
// @match *://sensescans.com/reader*
// @match *://manhuaplus.com/manga*
// @match *://readm.org/manga/*
// @match *://tioanime.com/anime/*
// @match *://tioanime.com/ver/*
// @match *://yugenani.me/*
// @match *://*.mangasee123.com/manga*
// @match *://*.mangasee123.com/read-online*
// @match *://animetribes.ru/watch/*
// @match *://*.okanime.com/animes/*
// @match *://*.okanime.com/movies/*
// @match *://*.okanime.tv/animes/*
// @match *://*.okanime.tv/movies/*
// @match *://bs.to/serie/*
// @match *://pantsubase.tv/anime/*
// @match *://pantsubase.tv/watch/*
// @match *://animeowl.net/*
// @match *://chill-game.com/*
// @match *://*.asurascans.com/*
// @match *://naniscans.com/*
// @match *://merakiscans.com/*
// @match *://an1me.nl/*
// @match *://mangajar.com/manga/*
// @match *://animedao.to/*
// @match *://*.otakustv.com/anime/*
// @match *://demo.komga.org/*
// @match *://animewho.com/*
// @match *://animesuge.io/anime/*
// @match *://toonily.net/manga/*
// @match *://fumetsu.pl/anime/*
// @match *://www.nonstopscans.com/*
// @match *://frixysubs.pl/odcinki.html?id=*
// @match *://frixysubs.pl/ogladaj.html?id=*
// @match *://guya.moe/*
// @match *://cubari.moe/*
// @match *://mangahub.io/*
// @match *://comick.fun/*
// @match *://*.anime-shitai.com/*
// @match *://kangaryu-team.fr/*
// @match *://www.japanread.cc/*
// @match *://catmanga.org/*
// @match *://mangasushi.net/manga*
// @match *://arangscans.com/manga*
// @match *://hunlight-scans.info/*
// @match *://tritinia.com/manga*
// @match *://readmanhua.net/manga*
// @match *://flamescans.org/*
// @match *://immortalupdates.com/manga*
// @match *://zoro.to/*
// @match *://www.funimation.com/shows/*
// @match *://www.funimation.com/*/shows/*
// @match *://kitsune.tv/*
// @match *://beta.kitsune.tv/*
// @match *://animesonline.org/*
// @match *://lhtranslation.net/*
// @match *://*.openload.co/*
// @match *://*.openload.pw/*
// @match *://*.streamango.com/*
// @match *://*.mp4upload.com/*
// @match *://*.mcloud.to/*
// @match *://*.mcloud2.to/*
// @match *://*.prettyfast.to/*
// @match *://*.rapidvideo.com/*
// @match *://*.rapidvid.to/*
// @match *://*.static.crunchyroll.com/*
// @match *://*.static.vrv.co/*
// @match *://*.vidstreaming.io/*
// @match *://*.vidstreaming.me/*
// @match *://*.xstreamcdn.com/*
// @match *://*.gcloud.live/*
// @match *://*.oload.tv/*
// @match *://*.mail.ru/*
// @match *://*.myvi.ru/*
// @match *://*.sibnet.ru/*
// @match *://*.tune.pk/*
// @match *://*.vimple.ru/*
// @match *://*.href.li/*
// @match *://*.vk.com/*
// @match *://*.cloudvideo.tv/*
// @match *://*.fembed.net/*
// @match *://*.fembed.com/*
// @match *://*.animeproxy.info/*
// @match *://*.feurl.com/*
// @match *://*.embedsito.com/v/*
// @match *://*.fcdn.stream/v/*
// @match *://*.fcdn.stream/e/*
// @match *://*.vaplayer.xyz/v/*
// @match *://*.vaplayer.xyz/e/*
// @match *://*.femax20.com/v/*
// @match *://*.femax20.com/e/*
// @match *://*.youpload.co/*
// @match *://*.yourupload.com/*
// @match *://*.vidlox.me/*
// @match *://*.kwik.cx/*
// @match *://*.mega.nz/*
// @match *://*.animeflv.net/*
// @match *://*.hqq.tv/*
// @match *://waaw.tv/*
// @match *://*.jkanime.net/*
// @match *://*.ok.ru/*
// @match *://*.novelplanet.me/*
// @match *://*.stream.proxer.me/*
// @match *://*.stream.proxer.net/*
// @match *://verystream.com/*
// @match *://*.animeultima.eu/e/*
// @match *://*.animeultima.eu/faststream/*
// @match *://*.animeultima.to/e/*
// @match *://*.animeultima.to/faststream/*
// @match *://*.vidoza.net/*
// @match *://crazyload.co/*
// @match *://gounlimited.to/*
// @match *://www.ani-stream.com/*
// @match *://flex.aniflex.org/public/dist/*
// @match *://animedaisuki.moe/embed/*
// @match *://*.wakanim.tv/*/*/*/embeddedplayer/*
// @match *://superitu.com/embed/*
// @match *://www.dailymotion.com/embed/*
// @match *://vev.io/embed/*
// @match *://vev.red/embed/*
// @match *://www.funimation.com/player/*
// @match *://jwpstream.com/jwps/yplayer.php*
// @match *://www.vaplayer.xyz/v/*
// @match *://mp4.sh/embed/*
// @match *://embed.mystream.to/*
// @match *://*.bitchute.com/embed/*
// @match *://*.streamcherry.com/embed/*
// @match *://*.clipwatching.com/*
// @match *://*.flix555.com/*
// @match *://*.vshare.io/v/*
// @match *://ebd.cda.pl/*
// @match *://*.replay.watch/*
// @match *://*.playhydrax.com/*
// @match *://hydrax.net/*
// @match *://*.hydracdn.network/*
// @match *://*.streamium.xyz/*
// @match *://animo-pace-stream.io/*
// @match *://*.pstream.net/e/*
// @match *://*.animefever.tv/embed/*
// @match *://*.haloani.ru/*
// @match *://*.moeclip.com/v/*
// @match *://*.moeclip.com/embed/*
// @match *://*.mixdrop.co/e/*
// @match *://*.mixdrop.to/e/*
// @match *://gdriveplayer.me/embed*
// @match *://sendvid.net/v/*
// @match *://sendvid.com/embed/*
// @match *://streamz.cc/*
// @match *://*.vidbm.com/embed-*
// @match *://*.vidbem.com/embed-*
// @match *://*.cloudhost.to/*/mediaplayer/*/_embed.php?*
// @match *://*.letsupload.co/*/mediaplayer/*/_embed.php?*
// @match *://player.mangakyo.me/stream/embed.php*
// @match *://streamtape.com/*
// @match *://streamtape.net/*
// @match *://streamtape.xyz/*
// @match *://streamtape.to/*
// @match *://strcloud.in/*
// @match *://strcloud.link/*
// @match *://streamta.pe/*
// @match *://strtape.tech/*
// @match *://reproductor.monoschinos.com/*
// @match *://uptostream.com/iframe/*
// @match *://easyload.io/e/*
// @match *://*.googleusercontent.com/gadgets/*
// @match *://animedesu.pl/player/desu.php?v=*
// @match *://*.animevibe.wtf/players/*.php*
// @match *://*.animemate.xyz/players/*.php*
// @match *://*.animixplay.to/api/live*
// @match *://third-party.animekisa.tv/player-*.php?*
// @match *://cloud9.to/e*/*
// @match *://*.okanime.com/cdn/*/embed/?*
// @match *://*.okgaming.org/I/*
// @match *://*.gogo-stream.com/streaming.php?*
// @match *://*.gogo-stream.com/load.php?*
// @match *://*.gogo-stream.com/loadserver.php?*
// @match *://*.gogo-play.net/streaming.php?*
// @match *://*.gogo-play.net/load.php?*
// @match *://*.gogo-play.net/loadserver.php?*
// @match *://*.gogo-play.tv/streaming.php?*
// @match *://*.gogo-play.tv/load.php?*
// @match *://*.gogo-play.tv/loadserver.php?*
// @match *://*.streamani.net/streaming.php?*
// @match *://*.streamani.net/load.php?*
// @match *://*.streamani.net/loadserver.php?*
// @match *://vivo.sx/embed/*
// @match *://ani.googledrive.stream/vidstreaming/*
// @match *://play.api-web.site/anime/*
// @match *://www.animelab.com/*
// @match *://vidstream.pro/e/*
// @match *://vidstreamz.online/embed/*
// @match *://vidstream.pro/embed/*
// @match *://streamsb.net/*
// @match *://streamsb.com/*
// @match *://sbembed.com/*
// @match *://sbvideo.net/*
// @match *://sbplay.org/*
// @match *://dood.to/*
// @match *://dood.watch/*
// @match *://doodstream.com/*
// @match *://vcdn.space/v/*
// @match *://youtube.googleapis.com/embed/*drive.google.com*
// @match *://hdvid.tv/*
// @match *://vidfast.co/*
// @match *://supervideo.tv/*
// @match *://jetload.net/*
// @match *://saruch.co/*
// @match *://vidmoly.me/*
// @match *://upstream.to/*
// @match *://abcvideo.cc/*
// @match *://aparat.cam/*
// @match *://vudeo.net/*
// @match *://voe.sx/*
// @match *://vidoo.tv/*
// @match *://nxload.com/*
// @match *://videobin.co/*
// @match *://uqload.com/*
// @match *://evoload.io/*
// @match *://yugenani.me/e/*
// @match *://kaa-play.com/*
// @match *://kaa-play.me/*
// @match *://betaplayer.life/*
// @match *://animeshouse.net/gcloud/*
// @match *://animato.me/embed/*
// @match *://animesonline.org/*/*id=*
// @match *://kimanime.ru/AnimeIframe/*
// @match *://akaneshinjou.github.io/*
// @match *://akane-shinjou.github.io/*
// @match *://andhaetg.github.io/*
// @match *://akaneshinjou.netlify.app/*
// @match *://vidcloud.spb.ru/*
// @match *://vidcloud.one/*
// @match *://*.streamhd.cc/*
// @exclude *myanimelist.net/anime/season*
// @exclude *myanimelist.net/anime/producer*
// @exclude *myanimelist.net/manga/magazine*
// @exclude *myanimelist.net/anime/genre*
// @exclude *myanimelist.net/manga/genre*
// @exclude *gogoanime*.*/
// @exclude *gogoanime*.*/*.html*
// @exclude *gogoanime*.*/anime-List*
// @exclude *gogoanime*.*/user*
// @exclude *gogoanime*.*/genre/*
// @exclude *gogoanime*.*/sub-category/*
// @exclude *animego*.*/
// @exclude *animego*.*/*.html*
// @exclude *animego*.*/anime-List*
// @exclude *animego*.*/user*
// @exclude *animego*.*/genre/*
// @exclude *animego*.*/sub-category/*
// @exclude *://*.branitube.net/lista/filter/*
// @exclude *://*.branitube.net/lista/pagina/*
// @exclude *://jkanime.net/
// @exclude *://jkanime.net/letra/*
// @exclude *://jkanime.net/buscar/*
// @exclude *://jkanime.net/terminos-condiciones/
// @exclude *://www.animezone.pl/anime/lista*
// @exclude *://www.animezone.pl/anime/sezony*
// @exclude *://www.animezone.pl/anime/ranking*
// @exclude *://www.animezone.pl/anime/nadchodzace*
// @exclude *://www.animezone.pl/anime/premiery*
// @exclude *://www.animezone.pl/anime/filmy*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
// @resource material.css https://code.getmdl.io/1.3.0/material.indigo-pink.min.css
// @resource materialFont.css https://fonts.googleapis.com/icon?family=Material+Icons
// @resource material.js http://greasyfork.icu/scripts/377924-material-design-lite-mal-sync/code/material-design-lite%20MAL-Sync.js?version=671593
// @run-at document_start
// @connect myanimelist.net
// @connect kissanimelist.firebaseio.com
// @connect graphql.anilist.co
// @connect media.kitsu.io
// @connect api.simkl.com
// @connect api.malsync.moe
// @connect *
// ==/UserScript==

var i18n = {"Search":"Site Search","Show":"Show","Help":"Help","Update":"Update","Add":"Add","Reset":"Reset","Remove":"Remove","Loading":"Loading","Select":"Select","Yes":"Yes","Ok":"Ok","No":"No","Cancel":"Cancel","updated":"Updated","removed":"Removed","NothingFound":"Nothing Found","Not_Found":"Not Found!","NoEntries":"No Entries","fullscreen":"fullscreen","close":"close","All":"All","Anime":"Anime","Manga":"Manga","Package_Description":"Integrates MyAnimeList/AniList/Kitsu/Simkl into various sites, with auto episode tracking.","UI_Status":"Status:","UI_Status_watching_anime":"Watching","UI_Status_watching_manga":"Reading","UI_Status_Completed":"Completed","UI_Status_OnHold":"On-Hold","UI_Status_Dropped":"Dropped","UI_Status_planTo_anime":"Plan to Watch","UI_Status_planTo_manga":"Plan to Read","UI_Status_Rewatching_anime":"Rewatching","UI_Status_Rewatching_manga":"Rereading","UI_Episode":"Episode:","UI_Volume":"Volume:","UI_Chapter":"Chapter:","UI_Score":"Your Score:","UI_Score_Not_Rated":"Not rated","UI_Score_Masterpiece":"(10) Masterpiece","UI_Score_Great":"(9) Great","UI_Score_VeryGood":"(8) Very Good","UI_Score_Good":"(7) Good","UI_Score_Fine":"(6) Fine","UI_Score_Average":"(5) Average","UI_Score_Bad":"(4) Bad","UI_Score_VeryBad":"(3) Very Bad","UI_Score_Horrible":"(2) Horrible","UI_Score_Appalling":"(1) Appalling","UI_Rules":"Rules","syncPage_flashm_resumeMsg":"Resume at $1","syncPage_flashm_sync_anime":"Update $1 to episode $2","syncPage_flashm_sync_manga":"Update $1 to chapter $2","syncPage_flashm_sync_undefined_undo":"Undo","syncPage_flashm_sync_undefined_wrong":"Wrong?","syncPage_flashm_failded":"Update failed","syncPage_flashConfirm_complete":"Set as completed?","syncPage_flashConfirm_start_anime":"Start watching?","syncPage_flashConfirm_rewatch_finish_anime":"Finish rewatching?","syncPage_flashConfirm_rewatch_finish_manga":"Finish rereading?","syncPage_flashConfirm_start_manga":"Start reading?","syncPage_flashConfirm_rewatch_start_anime":"Rewatch Anime?","syncPage_flashConfirm_rewatch_start_manga":"Reread Manga?","syncPage_flashConfirm_Anime_Correct":"Is \"$1\" correct?","syncPage_flash_player_error":"Player not detected. Please manually update it here.","syncPage_malObj_addAnime":"Add to $1","syncPage_malObj_nextEp_anime":"Episode $1","syncPage_malObj_nextEp_manga":"Chapter $1","syncPage_flashConfirm_offsetHandler_1":"A possible Episode offset of $1 was detected. Is that correct? ","anilistClass_authentication":"Token saved you can close this page now","kitsuClass_authentication_text":"To login with Kitsu, you need to enter your account's e-mail and password.<br>Your credentials are not stored on your computer or anywhere else.<br>They are directly sent to Kitsu. Only the returned access token is saved.<br>","kitsuClass_authentication_Password":"Password","kitsuClass_authentication_Login":"Login","kitsuClass_authentication_Success":"Token saved you can close this page now","kitsuClass_authentication_Wrong":"Credentials wrong","bookmarksItem_Years":"Years","bookmarksItem_Year":"Year","bookmarksItem_Days":"Days","bookmarksItem_Day":"Day","bookmarksItem_Hours":"Hours","bookmarksItem_Hour":"Hour","bookmarksItem_mins":"mins","bookmarksItem_min":"min","bookmarksItem_secs":"seconds","bookmarksItem_sec":"second","bookmarksItem_now":"Now","bookmarksItem_ago":"$1 ago","prediction_Episode_anime":"Next episode estimated in $1","prediction_Last_anime":"Last episode released $1 ago","prediction_Episode_manga":"Next chapter estimated in $1","prediction_Last_manga":"Last chapter released $1 ago","prediction_next":"Next in $1","prediction_incomplete":"Incomplete","prediction_ongoing":"Ongoing","prediction_complete":"Complete","prediction_Airing":"Airing in $1","correction_Offset":"Episode Offset","correction_Offset_text":"Input the episode offset, if an anime has 12 episodes, but uses the numbers 0-11 rather than 1-12, you simply type \" +1 \" in the episode offset.","correction_WrongUrl":"Only change this URL if it points to the wrong anime page on MAL.","correction_Search":"Correction Search","correction_Search_text":"This field is for finding an anime, when you need to correct the \"MyAnimeList URL\" shown above.<br>To make a search, simply begin typing the name of an anime, and a list with results will automatically appear as you type.","correction_NoMal":"If the Anime/Manga can't be found on MAL","correction_NoEntry":"No entry on MyAnimeList","correction_NewOffset":"New Offset ($1) set.","correction_OffsetReset":"Offset reset","correction_NewUrl":"New URL '$1' set.","correction_NewUrlReset":"MyAnimeList URL reset","correction_DBRequest":"Submit database correction request?","overview_Continue_anime":"Continue watching","overview_Continue_manga":"Continue reading","overview_Next_Episode_anime":"Next Episode","overview_Next_Episode_manga":"Next Chapter","overview_Resume_Episode_anime":"Resume Episode","overview_Resume_Episode_manga":"Resume Chapter","overview_EditDetails":"Edit Details","overview_Characters":"Characters","overview_OpeningTheme":"Opening Theme:","overview_EndingTheme":"Ending Theme:","search_Type":"Type:","search_Score":"Score:","search_Year":"Year:","settings_General":"General","settings_Mode":"Mode","settings_Authenticate":"Authenticate","settings_LocalSync":"Local storage fallback","settings_LocalSync_Import":"Import","settings_LocalSync_Export":"Export","settings_Animesync":"Anime sync","settings_Animesync_Video":"Video","settings_Animesync_Instant":"Instant","settings_Animesync_Manual":"Manual","settings_Mangasync":"Manga sync","settings_AutoTracking_Video":"Update on $1% of video progress","settings_AutoTracking_Instant":"Delay instant autotracking by $1 seconds","settings_StreamingSite":"Streaming Site Links","settings_StreamingSite_text":"If disabled, the streaming site will no longer appear in an anime’s sidebar on MyAnimeList/AniList/Kitsu/Simkl.","settings_Thumbnails":"Thumbnails","settings_Thumbnails_text":"The option is for resizing the thumbnails on MyAnimeList eg. thumbnails for characters, people, recommendations, etc.","settings_Thumbnails_Large":"Large","settings_Thumbnails_Medium":"Medium","settings_Thumbnails_Small":"Small","settings_Thumbnails_Default":"MAL Default","settings_FriendScore":"Friend scores on detail page","settings_epPredictions":"Estimate episode number","settings_malTags":"Use Tags/Notes","settings_malTags_Text":"If enabled: The streaming page that you have used last is permanently (across browsers) saved in the tags/Notes section in your list. The saved string in the tag section is ugly, only really recommended if you dont use the tag/notes section.","settings_malContinue":"Continue watching links","settings_malResume":"Resume watching links","settings_usedPage":"Last used page links","settings_miniMAL_floatButtonStealth":"Stealth UI mode","settings_miniMAL_minimizeBigPopup":"Minimize big pop-ups","settings_miniMAL_floatButtonCorrection":"Remap floating button to the correction UI","settings_miniMAL_floatButtonHide":"Hide miniMAL floating menu button","settings_miniMAL_autoCloseMinimal":"Clicking outside closes miniMAL","settings_miniMAL_Display":"Display to the","settings_miniMAL_popup":"Extension Popup","settings_miniMAL_theme":"Theme","settings_miniMAL_window":"Open in separate window","settings_miniMAL_Display_Left":"Left","settings_miniMAL_Display_Right":"Right","settings_miniMAL_Height":"Height (px / %)","settings_miniMAL_Width":"Width (px / %)","settings_Shortcuts":"Shortcuts","settings_miniMAL_Open":"Open miniMAL","settings_miniMAL_NotSet":"Not Set","settings_loadPTWForProgress":"Load PTW/PTR for Progress evaluation","settings_Video_Player":"Video Player","settings_Video_Fullscreen":"Auto fullscreen","settings_Video_Resume":"Auto resume","settings_autoNextEp":"Autoplay next episode","settings_Shortcuts_Correction":"Open anime relation correction popup","settings_Shortcuts_Sync":"Set episode/chapter as read","settings_Shortcuts_Next_Episode":"Open next episode shortcut","settings_Shortcuts_Skip_Forward":"Skips the opening","settings_Shortcuts_Skip_Backward":"Jump back to opening's beginning","settings_Shortcuts_Click":"Click to enter shortcut","settings_introSkip":"Set opening skip length ($1 seconds)","settings_UpdateCheck":"Update Check","settings_UpdateCheck_Text":"Checks for new episodes in the background.","settings_Interval":"Interval","settings_Interval_Off":"Off","settings_Interval_Default_Anime":"Default Anime","settings_Interval_Default_Manga":"Default Manga","settings_ProgressCheck":"Progress Check","settings_Notifications":"Notifications","settings_Debugging":"Debugging","settings_ETC":"ETC","settings_Userscriptmode":"Userscript mode","settings_Userscriptmode_Text":"Disables the content script. This makes it possible to have the extension and userscript enabled at the same time.","settings_highlightAllEp":"Highlight all Episodes/Chapters","settings_highlightAllEp_Text":"This option will highlight all watched chapters/episodes in the list you can find on some Anime/Manga sites","settings_ClearCache":"Clear Cache","settings_presenceHidePage":"Show MAL-Sync icon instead of page icon","settings_enabled":"Enabled","settings_shortcut_tooltip":"It is not recommended to set the shortcut to a single key","settings_progress_dropdown":"Estimation Source:","settings_progress_disabled":"Disabled","settings_progress_default":"Default","settings_website_button":"Websites","settings_custom_domains_button":"Custom domains","settings_clean_tags_button":"Clean Tags","settings_more_info":"More Info","settings_presenceShowButtons":"Show button to view the anime/manga on MAL or another provider","updateCheck_Refresh":"Refresh","updateCheck_StartCheck":"Start Check","updateCheck_NotificationCheck":"Notification Check","updateCheck_Episode":"Episode","updateCheck_Message":"Message","updateCheck_NotificationHistory":"Notification History","minimalApp_Overview":"Overview","minimalApp_Reviews":"Reviews","minimalApp_Recommendations":"Recommendations","minimalApp_Settings":"Settings","minimalClass_Popup":"Please allow pop-ups for this website","minimalClass_versionMsg":"Updated to version $1 $2CHANGELOG</a>]","minimalClass_versionMsg_Text_1":"Thank you for installing MAL-Sync","minimalClass_versionMsg_Text_2":"Having Questions?","minimalClass_versionMsg_Text_3":"Open Source Code:","minimalClass_versionMsg_Text_4":"uBlock users please subscribe to this filter list! This fixes some problems like broken images","installPage_Mode":"Please select which Anime database you want use:","installPage_Howto":"How to use?","installPage_Howto_Description":"Just open an episode or chapter on any of the <a target=\"_blank\" href=\"https://github.com/MALSync/MALSync#supported-pages-\">supported pages</a>. The sync waits until 85% of the video is watched. For mangas it syncs on page load. This can be changed in the <a class=\"open-settings\" href=\"#\">settings</a>.","installPage_Wrong":"It syncs to the wrong MAL entry?","installPage_Wrong_Description":"You can easily change the relation like shown in the gif below. An episode offset can be set on that page too.","Anilist_Authenticate":"Please Authenticate <a target=\"_blank\" href=\"https://anilist.co/api/v2/oauth/authorize?client_id=1487&response_type=token\">Here</a>","Emby_Authenticate":"MAL-Sync needs an Emby API key to work. More infos <a href=\"https://github.com/MediaBrowser/Emby/wiki/Api-Key-Authentication#creating-an-api-key\" target=\"_blank\">Here</a>","Error_Authenticate":"Please Authenticate <a target=\"_blank\" href=\"$1\">Here</a>","Discord_rpc_browsing":"Browsing $1","discord_rpc_view_anime":"View Anime","discord_rpc_view_manga":"View Manga","nextEpShort_no_support":"This page doesn't support opening the next episode","nextEpShort_no_nextEp":"Couldn't find the next episode","settings_filler":"Check for filler/recap episodes","settings_filler_text":"This will check if the episode is marked as a filler/recap on MyAnimeList","filler_filler_confirm":"This episode has been marked as a filler on MyAnimeList, do you want to skip?","filler_recap_confirm":"This episode has been marked as a recap on MyAnimeList, do you want to skip?"}
/*! For license information please see malsync.user.js.LICENSE.txt */
!function(t) {
    var e = {};
    function n(i) {
        if (e[i]) return e[i].exports;
        var a = e[i] = {
            i: i,
            l: !1,
            exports: {}
        };
        return t[i].call(a.exports, a, a.exports, n), a.l = !0, a.exports;
    }
    n.m = t, n.c = e, n.d = function(t, e, i) {
        n.o(t, e) || Object.defineProperty(t, e, {
            enumerable: !0,
            get: i
        });
    }, n.r = function(t) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {
            value: "Module"
        }), Object.defineProperty(t, "__esModule", {
            value: !0
        });
    }, n.t = function(t, e) {
        if (1 & e && (t = n(t)), 8 & e) return t;
        if (4 & e && "object" == typeof t && t && t.__esModule) return t;
        var i = Object.create(null);
        if (n.r(i), Object.defineProperty(i, "default", {
            enumerable: !0,
            value: t
        }), 2 & e && "string" != typeof t) for (var a in t) n.d(i, a, function(e) {
            return t[e];
        }.bind(null, a));
        return i;
    }, n.n = function(t) {
        var e = t && t.__esModule ? function() {
            return t.default;
        } : function() {
            return t;
        };
        return n.d(e, "a", e), e;
    }, n.o = function(t, e) {
        return Object.prototype.hasOwnProperty.call(t, e);
    }, n.p = "", n(n.s = 287);
}([ function(t, e, n) {
    "use strict";
    n.r(e), n.d(e, "storage", (function() {
        return r;
    })), n.d(e, "request", (function() {
        return s;
    })), n.d(e, "settings", (function() {
        return l;
    })), n.d(e, "type", (function() {
        return c;
    }));
    var i = n(97), a = n(98), o = n(100);
    const r = i.a, s = a.a, l = o.a, c = "userscript";
}, function(t, e, n) {
    "use strict";
    n.r(e), function(t, i, a, o) {
        n.d(e, "urlPart", (function() {
            return s;
        })), n.d(e, "urlStrip", (function() {
            return l;
        })), n.d(e, "urlParam", (function() {
            return c;
        })), n.d(e, "getBaseText", (function() {
            return d;
        })), n.d(e, "generateUniqueID", (function() {
            return m;
        })), n.d(e, "favicon", (function() {
            return u;
        })), n.d(e, "watching", (function() {
            return p;
        })), n.d(e, "planTo", (function() {
            return h;
        })), n.d(e, "episode", (function() {
            return g;
        })), n.d(e, "syncRegex", (function() {
            return f;
        })), n.d(e, "status", (function() {
            return v;
        })), n.d(e, "getselect", (function() {
            return b;
        })), n.d(e, "absoluteLink", (function() {
            return y;
        })), n.d(e, "parseHtml", (function() {
            return w;
        })), n.d(e, "urlChangeDetect", (function() {
            return _;
        })), n.d(e, "fullUrlChangeDetect", (function() {
            return x;
        })), n.d(e, "changeDetect", (function() {
            return k;
        })), n.d(e, "waitUntilTrue", (function() {
            return S;
        })), n.d(e, "getAsyncWaitUntilTrue", (function() {
            return E;
        })), n.d(e, "checkDoubleExecution", (function() {
            return P;
        })), n.d(e, "getUrlFromTags", (function() {
            return C;
        })), n.d(e, "setUrlInTags", (function() {
            return A;
        })), n.d(e, "setResumeWaching", (function() {
            return I;
        })), n.d(e, "getResumeWaching", (function() {
            return O;
        })), n.d(e, "setContinueWaching", (function() {
            return U;
        })), n.d(e, "getContinueWaching", (function() {
            return M;
        })), n.d(e, "setEntrySettings", (function() {
            return L;
        })), n.d(e, "getEntrySettings", (function() {
            return N;
        })), n.d(e, "handleMalImages", (function() {
            return R;
        })), n.d(e, "getTooltip", (function() {
            return j;
        })), n.d(e, "timeDiffToText", (function() {
            return V;
        })), n.d(e, "canHideTabs", (function() {
            return D;
        })), n.d(e, "statusTag", (function() {
            return z;
        })), n.d(e, "notifications", (function() {
            return F;
        })), n.d(e, "timeCache", (function() {
            return H;
        })), n.d(e, "flashm", (function() {
            return B;
        })), n.d(e, "flashConfirm", (function() {
            return K;
        })), n.d(e, "lazyload", (function() {
            return J;
        })), n.d(e, "elementInViewport", (function() {
            return G;
        })), n.d(e, "wait", (function() {
            return Y;
        })), n.d(e, "pageUrl", (function() {
            return Z;
        })), n.d(e, "returnYYYYMMDD", (function() {
            return Q;
        }));
        var r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        function s(t, e) {
            if (!t) return "";
            const n = t.split("/");
            return n[e] ? n[e].replace(/[#?].*/, "") : "";
        }
        function l(t) {
            return t.replace(/[#?].*/, "");
        }
        function c(t, e) {
            const n = new RegExp(`[?&]${e}=([^&#]*)`).exec(t);
            return null === n ? null : decodeURI(n[1]) || 0;
        }
        function d(e) {
            let n = e.text();
            return e.children().each((function() {
                n = n.replace(t.$(this).text(), "");
            })), n;
        }
        function m(t = 10) {
            const e = new Uint32Array(t);
            return window.crypto.getRandomValues(e), Array.from(e, t => t.toString(16)).join("");
        }
        function u(t) {
            const e = t.match(/^(https?:\/\/)?[^/]+/);
            return e && (t = e[0]), "https://favicon.malsync.moe/?domain=" + t;
        }
        function p(t) {
            return "manga" === t ? "Reading" : "Watching";
        }
        function h(t) {
            return "manga" === t ? "Plan to Read" : "Plan to Watch";
        }
        function g(t) {
            return "manga" === t ? i.storage.lang("UI_Chapter") : i.storage.lang("UI_Episode");
        }
        const f = /(^settings\/.*|^updateCheckTime$|^tempVersion$|^local:\/\/|^list-tagSettings$)/;
        var v;
        function b(t, e) {
            let n = t.split(`name="${e}"`)[1].split("</select>")[0];
            if (n.indexOf('selected="selected"') > -1) {
                n = n.split("<option");
                for (let t = 0; t < n.length; ++t) if (n[t].indexOf('selected="selected"') > -1) return n[t].split('value="')[1].split('"')[0];
            }
            return "";
        }
        function y(t, e) {
            return void 0 === t || t.startsWith("http") || ("/" !== t.charAt(0) && (t = "/" + t), 
            t = e + t), t;
        }
        function w(t) {
            return (new DOMParser).parseFromString("<!doctype html><body>" + t, "text/html").body.textContent;
        }
        function _(t) {
            let e = window.location.href;
            return setInterval((function() {
                e !== window.location.href && (e = window.location.href, t());
            }), 100);
        }
        function x(t, e = !1) {
            let n = "";
            const i = setInterval((function() {
                const i = e ? l(window.location.href) : window.location.href;
                n !== i && (n = i, t());
            }), 100);
            return Number(i);
        }
        function k(t, e) {
            let n = e();
            const i = setInterval((function() {
                const i = e();
                void 0 !== i && n !== i && (n = e(), t());
            }), 500);
            return Number(i);
        }
        function S(t, e, n = 100) {
            const i = setInterval((function() {
                t() && (clearInterval(i), e());
            }), n);
            return i;
        }
        function E(t, e = 100) {
            let n, i;
            const a = () => {
                clearTimeout(n), i && i("AsyncWait stopped");
            };
            return {
                asyncWaitUntilTrue: () => (a(), new Promise((a, o) => {
                    i = o, n = S(t, () => a(), e);
                })),
                reset: a
            };
        }
        !function(t) {
            t[t.watching = 1] = "watching", t[t.completed = 2] = "completed", t[t.onhold = 3] = "onhold", 
            t[t.dropped = 4] = "dropped", t[t.planToWatch = 6] = "planToWatch";
        }(v || (v = {}));
        const T = Math.random();
        function P() {
            $(".mal-sync-double-detect").length && $(".mal-sync-double-detect").each((function(t) {
                $(this).text() !== T.toString() && alert("Double execution detected! Please run MAL-Sync once only.");
            })), $("body").after(t.html(`<div class="mal-sync-double-detect" style="display: none;">${T.toString()}</div>`));
        }
        function C(t) {
            return /malSync::[\d\D]+::/.test(t) ? e(t.split("malSync::")[1].split("::")[0]) : /last::[\d\D]+::/.test(t) ? e(t.split("last::")[1].split("::")[0]) : void 0;
            function e(t) {
                try {
                    return atob(t);
                } catch (e) {
                    return t;
                }
            }
        }
        function A(t, e) {
            if ("" === t) return e = e.replace(/,?(malSync|last)::[^ \n]+?::/, "");
            if (!i.settings.get("malTags")) return e;
            const n = `malSync::${btoa(t)}::`;
            return e = /(last|malSync)::[\d\D]+::/.test(e) ? e.replace(/(last|malSync)::[^^]*?::/, n) : `${e},${n}`;
        }
        function I(t, e, n, a) {
            return r(this, void 0, void 0, (function*() {
                return i.storage.set(`resume/${n}/${a}`, {
                    url: t,
                    ep: e
                });
            }));
        }
        function O(t, e) {
            return r(this, void 0, void 0, (function*() {
                if (i.settings.get("malResume")) return i.storage.get(`resume/${t}/${e}`);
            }));
        }
        function U(t, e, n, a) {
            return r(this, void 0, void 0, (function*() {
                return i.storage.set(`continue/${n}/${a}`, {
                    url: t,
                    ep: e
                });
            }));
        }
        function M(t, e) {
            return r(this, void 0, void 0, (function*() {
                if (i.settings.get("malContinue")) return i.storage.get(`continue/${t}/${e}`);
            }));
        }
        function L(t, e, n, a = "") {
            return r(this, void 0, void 0, (function*() {
                const o = {};
                if (n) {
                    for (const t in n) switch (t) {
                      case "u":
                      case "p":
                        o[t] = n[t];
                    }
                    i.settings.get("malTags") ? a = A(JSON.stringify(o), a) : yield i.storage.set(`tagSettings/${t}/${e}`, JSON.stringify(o));
                }
                return Object.values(o).find(t => Boolean(t)) || (a = A("", a), i.settings.get("malTags") || (yield i.storage.remove(`tagSettings/${t}/${e}`))), 
                a;
            }));
        }
        function N(t, e, n = "") {
            return r(this, void 0, void 0, (function*() {
                const o = {
                    u: null,
                    c: null,
                    r: null,
                    p: ""
                };
                if (i.settings.get("malTags")) {
                    const t = C(n);
                    if (t) if ("{" === t[0]) try {
                        const e = JSON.parse(t);
                        for (const t in o) e[t] && (o[t] = e[t]);
                    } catch (t) {
                        a.error(t);
                    } else o.u = t;
                } else {
                    let n = yield i.storage.get(`tagSettings/${t}/${e}`);
                    if (n) {
                        n = JSON.parse(n);
                        for (const t in o) n[t] && (o[t] = n[t]);
                    }
                }
                const r = yield M(t, e);
                r && (o.c = r);
                const s = yield O(t, e);
                return s && (o.r = s), i.settings.get("usedPage") || (o.u = null), o;
            }));
        }
        function R(t) {
            return -1 !== t.indexOf("questionmark") ? i.storage.assetUrl("questionmark.gif") : t;
        }
        function j(t, e = "", n = "top") {
            const i = Math.floor(1e3 * Math.random() + 1);
            return `<div id="tt${i}" class="icon material-icons" style="font-size:16px; line-height: 0; color: #7f7f7f; padding-bottom: 20px; padding-left: 3px; ${e}">contact_support</div>  <div class="mdl-tooltip mdl-tooltip--${n} mdl-tooltip--large" for="tt${i}">${t}</div>`;
        }
        function V(t) {
            let e = "";
            t /= 1e3;
            const n = Math.floor(t / 31536e3);
            t -= 31536e3 * n, n && (e += n + "y ");
            const i = Math.floor(t / 86400);
            t -= 86400 * i, i && (e += i + "d ");
            const a = Math.floor(t / 3600) % 24;
            t -= 3600 * a, a && i < 2 && (e += a + "h ");
            const o = Math.floor(t / 60) % 60;
            return t -= 60 * o, o && !i && a < 3 && (e += o + "min "), e;
        }
        function D() {
            return "undefined" != typeof browser && void 0 !== browser.tabs.hide;
        }
        function z(t, e, n) {
            const i = {
                anime: {
                    1: {
                        class: "watching",
                        text: "CW",
                        title: "Watching"
                    },
                    2: {
                        class: "completed",
                        text: "CMPL",
                        title: "Completed"
                    },
                    3: {
                        class: "on-hold",
                        text: " HOLD",
                        title: "On-Hold"
                    },
                    4: {
                        class: "dropped",
                        text: "DROP",
                        title: "Dropped"
                    },
                    6: {
                        class: "plantowatch",
                        text: "PTW",
                        title: "Plan to Watch"
                    }
                },
                manga: {
                    1: {
                        class: "reading",
                        text: "CR",
                        title: "Reading"
                    },
                    2: {
                        class: "completed",
                        text: "CMPL",
                        title: "Completed"
                    },
                    3: {
                        class: "on-hold",
                        text: " HOLD",
                        title: "On-Hold"
                    },
                    4: {
                        class: "dropped",
                        text: "DROP",
                        title: "Dropped"
                    },
                    6: {
                        class: "plantoread",
                        text: "PTR",
                        title: "Plan to Read"
                    }
                }
            };
            if ($.each([ 1, 2, 3, 4, 6 ], (function(t, e) {
                i.anime[i.anime[e].title] = i.anime[e], i.manga[i.manga[e].title] = i.manga[e];
            })), t) {
                const a = i[e][t];
                return ` <a href="https://myanimelist.net/ownlist/${e}/${n}/edit?hideLayout=1" title="${a.title}" class="Lightbox_AddEdit button_edit ${a.class}">${a.text}</a>`;
            }
            return !1;
        }
        function F(t, e, n, o = "") {
            const r = {
                type: "basic",
                title: e,
                message: n,
                iconUrl: o
            };
            a.log("Notification", t, r), i.storage.get("notificationHistory").then(e => {
                void 0 === e && (e = []), "object" == typeof e && (e.length >= 10 && e.shift(), 
                e.push({
                    url: t,
                    title: r.title,
                    message: r.message,
                    iconUrl: r.iconUrl,
                    timestamp: Date.now()
                }), i.storage.set("notificationHistory", e));
            });
            try {
                return chrome.notifications.create(t, r);
            } catch (t) {
                a.error(t);
            }
        }
        function H(t, e, n) {
            return r(this, void 0, void 0, (function*() {
                const a = yield i.storage.get(t);
                if ("object" == typeof a && (new Date).getTime() < a.timestamp) return a.data;
                const o = yield e();
                return i.storage.set(t, {
                    data: o,
                    timestamp: (new Date).getTime() + n
                }).then(() => o);
            }));
        }
        function B(e, n) {
            t.$("#flash-div-top").length || function() {
                i.storage.addStyle('.flashinfo{\n                    transition: max-height 2s, opacity 2s 2s;\n                 }\n                 .mini-stealth .flashinfo{\n                    opacity: 0;\n                 }\n                  #flashinfo-div.hover.mini-stealth .flashinfo.type-update{\n                    opacity: 0.7;\n                 }\n                 #flashinfo-div.hover .flashinfo{\n                    opacity: 1;\n                 }\n                 .flashinfo:hover{\n                    max-height:5000px !important;\n                    z-index: 2147483647;\n                    opacity: 1;\n                    transition: max-height 2s;\n                 }\n                 .flashinfo .synopsis{\n                    transition: max-height 2s, max-width 2s ease 2s;\n                 }\n                 .flashinfo:hover .synopsis{\n                    max-height:9999px !important;\n                    max-width: 500px !important;\n                    transition: max-height 2s;\n                 }\n                 #flashinfo-div{\n                  z-index: 2;\n                  transition: 2s;\n                 }\n                 #flashinfo-div:hover, #flashinfo-div.hover{\n                  z-index: 2147483647;\n                 }\n                 #flashinfo-div.player-error {\n                   z-index: 2147483647;\n                 }\n                 #flashinfo-div.player-error .type-update{\n                  overflow: visible !important;\n                  opacity: 1 !important;\n                 }\n                 #flashinfo-div.player-error .player-error{\n                  display: block !important\n                 }\n\n                 #flash-div-top, #flash-div-bottom, #flashinfo-div{\n                    font-family: "Helvetica","Arial",sans-serif;\n                    color: white;\n                    font-size: 14px;\n                    font-weight: 400;\n                    line-height: 17px;\n                 }\n                 #flash-div-top h2, #flash-div-bottom h2, #flashinfo-div h2{\n                    font-family: "Helvetica","Arial",sans-serif;\n                    color: white;\n                    font-size: 14px;\n                    font-weight: 700;\n                    line-height: 17px;\n                    padding: 0;\n                    margin: 0;\n                 }\n                 #flash-div-top a, #flash-div-bottom a, #flashinfo-div a{\n                    color: #DF6300;\n                 }');
                let e = "";
                i.settings.get("floatButtonStealth") && (e = "mini-stealth");
                t.$("body").after(t.html(`<div id="flash-div-top" style="text-align: center;pointer-events: none;position: fixed;top:-5px;width:100%;z-index: 2147483647;left: 0;"></div>        <div id="flash-div-bottom" style="text-align: center;pointer-events: none;position: fixed;bottom:0px;width:100%;z-index: 2147483647;left: 0;"><div id="flash" style="display:none;  background-color: red;padding: 20px; margin: 0 auto;max-width: 60%;          -webkit-border-radius: 20px;-moz-border-radius: 20px;border-radius: 20px;background:rgba(227,0,0,0.6);"></div></div>        <div id="flashinfo-div" class="${e}" style="text-align: center;pointer-events: none;position: fixed;bottom:0px;width:100%;left: 0;">`));
            }(), a.log("[Flash] Message:", e);
            let o = "#323232";
            void 0 !== n && void 0 !== n.error && n.error && (o = "#3e0808");
            let r = "#flash-div-bottom";
            void 0 !== n && void 0 !== n.position && n.position && (r = "#flash-div-" + n.position);
            let s = "flash";
            if (void 0 !== n && void 0 !== n.type && n.type) {
                const e = "type-" + n.type;
                t.$(`${r} .${e}, #flashinfo-div .${e}`).removeClass(e).fadeOut({
                    duration: 1e3,
                    queue: !1,
                    complete() {
                        t.$(this).remove();
                    }
                }), s += " " + e;
            }
            let l, c = `<div class="${s}" style="display:none;">        <div style="display:table; pointer-events: all; padding: 14px 24px 14px 24px; margin: 0 auto; margin-top: 5px; max-width: 60%; -webkit-border-radius: 20px;-moz-border-radius: 20px;border-radius: 2px;color: white;background:${o}; ">          ${e}        </div>      </div>`;
            return void 0 !== n && void 0 !== n.hoverInfo && n.hoverInfo ? (s += " flashinfo", 
            c = `<div class="${s}" style="display:none; max-height: 5000px; overflow: hidden;"><div style="display:table; pointer-events: all; margin: 0 auto; margin-top: -2px; max-width: 60%; -webkit-border-radius: 20px;-moz-border-radius: 20px;border-radius: 2px;color: white;background:${o}; position: relative;"><div style="max-height: 60vh; overflow-y: auto; padding: 14px 24px 14px 24px;">${e}</div></div></div>`, 
            t.$("#flashinfo-div").addClass("hover"), l = t.$(t.html(c)).appendTo("#flashinfo-div"), 
            void 0 !== n && void 0 !== n.minimized && n.minimized && l.css("max-height", "8px")) : l = t.$(t.html(c)).appendTo(r), 
            void 0 !== n && void 0 !== n.permanent && n.permanent ? l.slideDown(800) : void 0 !== n && void 0 !== n.hoverInfo && n.hoverInfo ? l.slideDown(800).delay(4e3).queue((function() {
                t.$("#flashinfo-div").removeClass("hover"), l.css("max-height", "8px");
            })) : l.slideDown(800).delay(4e3).slideUp(800, () => {
                t.$(this).remove();
            }), l;
        }
        function K(e, n, a = (() => {}), o = (() => {}), s = !1) {
            return r(this, void 0, void 0, (function*() {
                return new Promise((function(r, l) {
                    let c = i.storage.lang("Ok"), d = i.storage.lang("Cancel");
                    s && (c = i.storage.lang("Yes"), d = i.storage.lang("No"));
                    const m = B(e = `<div style="text-align: center;">${e}</div><div style="display: flex; justify-content: space-around;"><button class="Yes" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px; cursor:pointer;">${c}</button><button class="Cancel" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px; cursor:pointer;">${d}</button></div>`, {
                        permanent: !0,
                        position: "top",
                        type: n
                    });
                    m.find(".Yes").click((function(e) {
                        r(!0), t.$(e.target).parentsUntil(".flash").fadeOut(300, (function() {
                            t.$(this).remove();
                        })), a();
                    })), m.find(".Cancel").click((function(e) {
                        r(!1), t.$(e.target).parentsUntil(".flash").fadeOut(300, (function() {
                            t.$(this).remove();
                        })), o();
                    }));
                }));
            }));
        }
        let q = !1, W = [];
        function J(e, n = ".mdl-layout__content") {
            function i(e, n) {
                if (!t.$(e).is(":visible")) return !1;
                if (t.$(e).hasClass("lazyBack")) t.$(e).css("background-image", `url(${e.getAttribute("data-src")})`).removeClass("lazyBack"); else {
                    const t = new Image, i = e.getAttribute("data-src");
                    t.onload = function() {
                        e.parent ? e.parent.replaceChild(t, e) : e.src = i, n && n();
                    }, t.src = i;
                }
            }
            for (let t = 0; t < W.length; t++) $(W[t]).addClass("init");
            W = [];
            const a = e.find("img.lazy.init, .lazyBack.init"), r = function() {
                for (let t = 0; t < W.length; t++) o.elementInViewport(W[t], 600) && i(W[t], (function() {
                    W.splice(t, t);
                })), $(W[t]).length || W.splice(t, t);
            };
            for (let t = 0; t < a.length; t++) W.push(a[t]), $(a[t]).removeClass("init");
            r(), q || (q = !0, e.find(n).scroll((function() {
                r();
            })));
        }
        function G(t, e = 0) {
            const n = t.getBoundingClientRect();
            return n.top >= 0 && n.left >= 0 && n.top - e <= (window.innerHeight || document.documentElement.clientHeight);
        }
        function Y(t) {
            return new Promise(e => setTimeout(e, t));
        }
        function Z(t, e, n) {
            switch (t) {
              case "mal":
                return `https://myanimelist.net/${e}/${n}`;

              case "anilist":
                return `https://anilist.co/${e}/${n}`;

              case "kitsu":
                return `https://kitsu.io/${e}/${n}`;

              case "simkl":
                return `https://simkl.com/${e}/${n}`;

              default:
                throw t + " not a valid page";
            }
        }
        function Q(t = 0) {
            const e = new Date;
            e.setDate(e.getDate() + t);
            const n = e.getMonth() < 9 ? "0" + (e.getMonth() + 1) : e.getMonth() + 1, i = e.getDate() < 10 ? "0" + e.getDate() : e.getDate();
            return `${e.getFullYear()}-${n}-${i}`;
        }
    }.call(this, n(2), n(0), n(4), n(1));
}, function(t, e, n) {
    "use strict";
    n.r(e), n.d(e, "$", (function() {
        return a;
    })), n.d(e, "html", (function() {
        return o;
    }));
    var i = n(89);
    const a = jQuery;
    function o(t) {
        return i.sanitize(t, {
            SAFE_FOR_JQUERY: !0,
            ALLOW_UNKNOWN_PROTOCOLS: !0,
            ADD_ATTR: [ "target" ]
        });
    }
}, function(t, e) {
    t.exports = function(t) {
        var e = [];
        return e.toString = function() {
            return this.map((function(e) {
                var n = function(t, e) {
                    var n = t[1] || "", i = t[3];
                    if (!i) return n;
                    if (e && "function" == typeof btoa) {
                        var a = (r = i, "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(r)))) + " */"), o = i.sources.map((function(t) {
                            return "/*# sourceURL=" + i.sourceRoot + t + " */";
                        }));
                        return [ n ].concat(o).concat([ a ]).join("\n");
                    }
                    var r;
                    return [ n ].join("\n");
                }(e, t);
                return e[2] ? "@media " + e[2] + "{" + n + "}" : n;
            })).join("");
        }, e.i = function(t, n) {
            "string" == typeof t && (t = [ [ null, t, "" ] ]);
            for (var i = {}, a = 0; a < this.length; a++) {
                var o = this[a][0];
                "number" == typeof o && (i[o] = !0);
            }
            for (a = 0; a < t.length; a++) {
                var r = t[a];
                "number" == typeof r[0] && i[r[0]] || (n && !r[2] ? r[2] = n : n && (r[2] = "(" + r[2] + ") and (" + n + ")"), 
                e.push(r));
            }
        }, e;
    };
}, function(t, e, n) {
    "use strict";
    n.r(e), n.d(e, "log", (function() {
        return i;
    })), n.d(e, "error", (function() {
        return a;
    })), n.d(e, "info", (function() {
        return o;
    })), n.d(e, "debug", (function() {
        return r;
    })), n.d(e, "m", (function() {
        return s;
    }));
    const i = Function.prototype.bind.call(console.log, console, "%cMAL-Sync", "background-color: #2e51a2; color: white; padding: 2px 10px; border-radius: 3px;"), a = Function.prototype.bind.call(console.error, console, "%cMAL-Sync", "background-color: #8f0000; color: white; padding: 2px 10px; border-radius: 3px;"), o = Function.prototype.bind.call(console.info, console, "%cMAL-Sync", "background-color: wheat; color: black; padding: 2px 10px; border-radius: 3px;"), r = Function.prototype.bind.call(console.debug, console, "%cMAL-Sync", "background-color: steelblue; color: black; padding: 2px 10px; border-radius: 3px;"), s = (t, e = "", n = []) => {
        let i = "white";
        e || (e = function(t) {
            if (!t) return "#ffffff";
            t = String(t);
            let e = 0;
            for (let n = 0; n < t.length; n++) e = t.charCodeAt(n) + ((e << 5) - e);
            let n = "#";
            for (let t = 0; t < 3; t++) {
                n += ("00" + (e >> 8 * t & 255).toString(16)).substr(-2);
            }
            return n;
        }(t)), "#" === e[0] && (i = parseInt(e.replace("#", ""), 16) > 8388607.5 ? "#000" : "#fff");
        const a = `background-color: ${e}; color: ${i}; padding: 2px 10px; border-radius: 3px; margin-left: -5px; border-left: 1px solid white;`;
        n.push({
            name: t,
            style: a
        });
        const o = {
            m: (t, e = "") => s(t, e, [ ...n ])
        }, r = n.reduce((t, e) => `${t}%c${e.name}`, ""), l = n.map(t => t.style);
        return o.log = Function.prototype.bind.call(console.log, console, "%cM " + r, "background-color: #2e51a2; color: white; padding: 2px 10px; border-radius: 3px;", ...l), 
        o.error = Function.prototype.bind.call(console.error, console, "%cM " + r, "background-color: #8f0000; color: white; padding: 2px 10px; border-radius: 3px;", ...l), 
        o.info = Function.prototype.bind.call(console.info, console, "%cM " + r, "background-color: wheat; color: black; padding: 2px 10px; border-radius: 3px;", ...l), 
        o.debug = Function.prototype.bind.call(console.debug, console, "%cM " + r, "background-color: steelblue; color: black; padding: 2px 10px; border-radius: 3px;", ...l), 
        o;
    };
}, function(t, e, n) {
    "use strict";
    var i, a, o;
    n.d(e, "b", (function() {
        return i;
    })), n.d(e, "a", (function() {
        return o;
    })), function(t) {
        t[t.NoState = 0] = "NoState", t[t.Watching = 1] = "Watching", t[t.Completed = 2] = "Completed", 
        t[t.Onhold = 3] = "Onhold", t[t.Dropped = 4] = "Dropped", t[t.PlanToWatch = 6] = "PlanToWatch", 
        t[t.All = 7] = "All", t[t.Rewatching = 23] = "Rewatching";
    }(i || (i = {})), function(t) {
        t[t.NoScore = 0] = "NoScore", t[t.R1 = 1] = "R1", t[t.R2 = 2] = "R2", t[t.R3 = 3] = "R3", 
        t[t.R4 = 4] = "R4", t[t.R5 = 5] = "R5", t[t.R6 = 6] = "R6", t[t.R7 = 7] = "R7", 
        t[t.R8 = 8] = "R8", t[t.R9 = 9] = "R9", t[t.R10 = 10] = "R10";
    }(a || (a = {})), function(t) {
        t[t.UrlNotSuported = 901] = "UrlNotSuported", t[t.NotAutenticated = 902] = "NotAutenticated", 
        t[t.ServerOffline = 903] = "ServerOffline", t[t.EntryNotFound = 904] = "EntryNotFound", 
        t[t.GenericError = 905] = "GenericError";
    }(o || (o = {}));
}, function(t, e, n) {
    "use strict";
    function i(t, e, n, i, a, o, r, s) {
        var l, c = "function" == typeof t ? t.options : t;
        if (e && (c.render = e, c.staticRenderFns = n, c._compiled = !0), i && (c.functional = !0), 
        o && (c._scopeId = "data-v-" + o), r ? (l = function(t) {
            (t = t || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (t = __VUE_SSR_CONTEXT__), 
            a && a.call(this, t), t && t._registeredComponents && t._registeredComponents.add(r);
        }, c._ssrRegister = l) : a && (l = s ? function() {
            a.call(this, (c.functional ? this.parent : this).$root.$options.shadowRoot);
        } : a), l) if (c.functional) {
            c._injectStyles = l;
            var d = c.render;
            c.render = function(t, e) {
                return l.call(e), d(t, e);
            };
        } else {
            var m = c.beforeCreate;
            c.beforeCreate = m ? [].concat(m, l) : [ l ];
        }
        return {
            exports: t,
            options: c
        };
    }
    n.d(e, "a", (function() {
        return i;
    }));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "f", (function() {
            return o;
        })), n.d(e, "c", (function() {
            return r;
        })), n.d(e, "b", (function() {
            return s;
        })), n.d(e, "e", (function() {
            return l;
        })), n.d(e, "d", (function() {
            return c;
        })), n.d(e, "a", (function() {
            return d;
        }));
        var a = n(5);
        function o(t, e = null) {
            const n = {
                current: 1,
                planned: 6,
                completed: 2,
                dropped: 4,
                on_hold: 3
            };
            return null !== e ? Object.keys(n).find(t => n[t] === e) : n[t];
        }
        function r(e, n) {
            let i;
            switch (t.settings.get("kitsuOptions").titleLanguagePreference) {
              case "english":
                i = e.en;
                break;

              case "romanized":
                i = e.en_jp;
                break;

              case "canonical":
              default:
                i = n;
            }
            if (void 0 !== i && i || (i = e.en), void 0 !== i && i || (i = e.en_jp), void 0 !== i && i || (i = e.ja_jp), 
            void 0 === i || !i) {
                const t = Object.keys(e);
                if (!t.length) return "No Title";
                i = e[t[0]];
            }
            return i;
        }
        function s(t, e) {
            return Number.isNaN(t) || !t ? "kitsu:" + e : t;
        }
        function l(t, e) {
            return this.apiCall("GET", `https://kitsu.io/api/edge/mappings?filter[externalSite]=myanimelist/${e}&filter[externalId]=${t}&include=item&fields[item]=id`, {}, !1);
        }
        function c(e, n) {
            return t.request.xhr("GET", {
                url: `https://kitsu.io/api/edge/${n}/${e}/mappings?filter[externalSite]=myanimelist/${n}`,
                headers: {
                    "Content-Type": "application/vnd.api+json",
                    Accept: "application/vnd.api+json"
                }
            }).then(t => {
                const e = JSON.parse(t.responseText);
                return i.log("[KtoM]", e), void 0 !== e.data && e.data.length ? e.data[0].attributes.externalId : null;
            });
        }
        function d(e, n, i = {}, o = !0) {
            const r = {
                "Content-Type": "application/vnd.api+json",
                Accept: "application/vnd.api+json"
            };
            return o && (r.Authorization = "Bearer " + t.settings.get("kitsuToken")), t.request.xhr(e, {
                url: n,
                headers: r,
                data: JSON.stringify(i)
            }).then(t => {
                if (t.status > 499 && t.status < 600 || 0 === t.status) throw this.errorObj(a.a.ServerOffline, "Server Offline status: " + t.status);
                if (204 === t.status) return {};
                const e = JSON.parse(t.responseText);
                if (void 0 !== e.errors && e.errors.length) {
                    this.logger.error("[SINGLE]", "Error", e.errors);
                    const t = e.errors[0];
                    switch (parseInt(t.status)) {
                      case 401:
                      case 403:
                        throw this.errorObj(a.a.NotAutenticated, t.detail);

                      case 404:
                        throw this.errorObj(a.a.EntryNotFound, t.detail);

                      default:
                        throw this.errorObj(t.status, t.detail);
                    }
                }
                return e;
            });
        }
    }).call(this, n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "b", (function() {
            return r;
        })), n.d(e, "h", (function() {
            return s;
        })), n.d(e, "d", (function() {
            return l;
        })), n.d(e, "e", (function() {
            return c;
        })), n.d(e, "g", (function() {
            return m;
        })), n.d(e, "f", (function() {
            return u;
        })), n.d(e, "a", (function() {
            return p;
        })), n.d(e, "c", (function() {
            return h;
        }));
        var a = n(5), o = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const r = "39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0";
        function s(t, e = null) {
            const n = {
                watching: 1,
                plantowatch: 6,
                completed: 2,
                notinteresting: 4,
                hold: 3
            };
            return null !== e ? Object.keys(n).find(t => n[t] === e) : n[t];
        }
        function l(t, e) {
            return Number.isNaN(t) || !t ? "simkl:" + e : t;
        }
        function c(t) {
            if ("number" == typeof t) return t;
            if (t) {
                const e = t.match(/e\d+/i);
                if (null !== e) {
                    const t = parseInt(e[0].replace(/\D/, ""));
                    return Number.isNaN(t) ? 0 : t;
                }
            }
            return 0;
        }
        let d;
        function m(e = !1) {
            return o(this, void 0, void 0, (function*() {
                const n = t.m("Simkl", "#9b7400").m("list");
                if (void 0 === d) d = yield i.storage.get("simklList"); else if (e) return d;
                const a = yield i.storage.get("simklLastCheck"), o = yield this.call("https://api.simkl.com/sync/activities");
                if (n.log("Activity", a, o.anime), a && a.removed_from_list !== o.anime.removed_from_list) {
                    const t = yield this.call("https://api.simkl.com/sync/all-items/anime"), e = {};
                    if (t) for (let n = 0; n < t.anime.length; n++) {
                        const i = t.anime[n];
                        void 0 !== d[i.show.ids.simkl] && (e[i.show.ids.simkl] = d[i.show.ids.simkl]);
                    }
                    d = e, n.log("remove", d);
                }
                let r = "";
                if (a && d && (r = "date_from=" + a.all, a.all === o.anime.all)) return n.log("Up to date"), 
                d;
                if (d || (d = {}), a && a.rated_at !== o.anime.rated_at) {
                    const t = yield this.call("https://api.simkl.com/sync/ratings/anime?" + r);
                    if (n.log("ratedUpdate", t), t) for (let e = 0; e < t.anime.length; e++) {
                        const n = t.anime[e];
                        d[n.show.ids.simkl] = n;
                    }
                }
                const s = yield this.call("https://api.simkl.com/sync/all-items/anime?" + r);
                if (n.log("listUpdate", s), s) for (let t = 0; t < s.anime.length; t++) {
                    const e = s.anime[t];
                    d[e.show.ids.simkl] = e;
                }
                return n.log("totalList", d), yield i.storage.set("simklList", d), yield i.storage.set("simklLastCheck", o.anime), 
                d;
            }));
        }
        function u(t, e = !1) {
            return o(this, void 0, void 0, (function*() {
                const n = yield this.syncList(e);
                if (t.simkl) {
                    if (void 0 !== n[t.simkl]) return n[t.simkl];
                } else {
                    if (!t.mal) throw "No id passed";
                    {
                        const e = Object.values(n);
                        for (let n = 0; n < e.length; n++) {
                            const i = e[n];
                            if (void 0 !== i.show.ids.mal && Number(i.show.ids.mal) === Number(t.mal)) return i;
                        }
                    }
                }
                return null;
            }));
        }
        function p(e, n = {}, a = !1, s = "GET", l = !0) {
            return o(this, void 0, void 0, (function*() {
                const c = t.m("Simkl", "#9b7400").m("call");
                a && (e += "?" + new URLSearchParams(Object.entries(n)), n = void 0), c.log(s, e, n);
                const d = {
                    "simkl-api-key": r,
                    Accept: "application/vnd.api+json",
                    "Content-Type": "application/json"
                };
                return l ? d.Authorization = "Bearer " + i.settings.get("simklToken") : c.log("No login"), 
                i.request.xhr(s, {
                    url: e,
                    headers: d,
                    data: n
                }).then(t => o(this, void 0, void 0, (function*() {
                    const e = this.jsonParse(t);
                    return this.errorHandling(e, t.status), e;
                })));
            }));
        }
        function h(t, e) {
            if (e > 499 && e < 600 || 0 === e) throw this.errorObj(a.a.ServerOffline, "Server Offline status: " + e);
            if (t && void 0 !== t.error) {
                this.logger.error("[SINGLE]", "Error", t.error);
                const {error: e} = t;
                if (e.code) throw e.code, this.errorObj(e.code, e.error);
                switch (e) {
                  case "user_token_failed":
                    throw this.errorObj(a.a.NotAutenticated, "user_token_failed");

                  default:
                    throw e;
                }
            }
        }
    }).call(this, n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "b", (function() {
            return l;
        })), n.d(e, "a", (function() {
            return c;
        })), n.d(e, "d", (function() {
            return d;
        })), n.d(e, "c", (function() {
            return m;
        }));
        var a = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const o = n(90);
        function r(t, e, n) {
            return t.replace("{searchterm}", encodeURIComponent(e.trim().toLowerCase())).replace("{searchtermPlus}", encodeURIComponent(e.trim().toLowerCase()).replace(/%20/g, "+")).replace("{searchtermRaw}", e.replace(/\//g, " ")).replace("{cacheId}", n);
        }
        function s(e, n, o) {
            return a(this, void 0, void 0, (function*() {
                const r = yield function(e, n) {
                    return a(this, void 0, void 0, (function*() {
                        const o = `https://api.malsync.moe/mal/${e}/${n}`;
                        return t.request.xhr("GET", o).then(t => a(this, void 0, void 0, (function*() {
                            if (i.log("malSync response", t), 400 === t.status) return {};
                            if (200 === t.status) {
                                const e = JSON.parse(t.responseText);
                                return e && e.Sites ? e.Sites : {};
                            }
                            throw new Error("malsync offline");
                        })));
                    }));
                }(n, o);
                return e.map(t => (t.database && r[t.database] && (t.databaseLinks = r[t.database]), 
                t));
            }));
        }
        function l() {
            const e = t.settings.get("quicklinks"), n = [ ...e.filter(t => "object" == typeof t && t), ...o.filter(t => e.includes(t.name)) ];
            return JSON.parse(JSON.stringify(n));
        }
        function c(t, e, n) {
            return a(this, void 0, void 0, (function*() {
                let i = l();
                return e && (i = yield s(i, t, e)), function(t, e, n, i) {
                    return t.filter(t => t.search && t.search[e]).map(t => {
                        const a = [];
                        return t.databaseLinks ? Object.values(t.databaseLinks).forEach(t => {
                            a.push({
                                name: t.title,
                                url: t.url
                            });
                        }) : "home" === t.search[e] ? a.push({
                            name: "Homepage",
                            url: t.domain
                        }) : a.push({
                            name: "Quicksearch",
                            url: r(t.search[e], n, i)
                        }), {
                            name: t.name,
                            domain: t.domain,
                            links: a
                        };
                    });
                }(i, t, n, e);
            }));
        }
        function d(t, e) {
            return e ? t.filter(t => t !== e && ("object" != typeof t || t.name !== e)) : t;
        }
        function m(e) {
            const n = t.settings.get("quicklinks");
            t.settings.set("quicklinks", d(n, e));
        }
    }).call(this, n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "f", (function() {
            return r;
        })), n.d(e, "e", (function() {
            return a;
        })), n.d(e, "a", (function() {
            return s;
        })), n.d(e, "d", (function() {
            return l;
        })), n.d(e, "c", (function() {
            return c;
        })), n.d(e, "b", (function() {
            return d;
        }));
        var a, o = n(5);
        function r(t, e = null) {
            const n = {
                CURRENT: 1,
                PLANNING: 6,
                COMPLETED: 2,
                DROPPED: 4,
                PAUSED: 3,
                REPEATING: 1
            };
            return null !== e ? Object.keys(n).find(t => n[t] === e) : n[t];
        }
        function s(e, n) {
            const a = {
                id: e,
                type: n.toUpperCase()
            };
            return t.request.xhr("POST", {
                url: "https://graphql.anilist.co",
                headers: {
                    "Content-Type": "application/json",
                    Accept: "application/json"
                },
                data: JSON.stringify({
                    query: "\n  query ($id: Int, $type: MediaType) {\n    Media (id: $id, type: $type) {\n      id\n      idMal\n    }\n  }\n  ",
                    variables: a
                })
            }).then(t => {
                const e = JSON.parse(t.responseText);
                return i.log(e), e.data.Media.idMal;
            });
        }
        function l(e, n) {
            const a = {
                id: e,
                type: n.toUpperCase()
            };
            return t.request.xhr("POST", {
                url: "https://graphql.anilist.co",
                headers: {
                    "Content-Type": "application/json",
                    Accept: "application/json"
                },
                data: JSON.stringify({
                    query: "\n  query ($id: Int, $type: MediaType) {\n    Media (idMal: $id, type: $type) {\n      id\n      idMal\n    }\n  }\n  ",
                    variables: a
                })
            }).then(t => {
                const e = JSON.parse(t.responseText);
                return i.log(e), e.data.Media.id;
            });
        }
        function c(t, e) {
            return Number.isNaN(t) || !t ? "anilist:" + e : t;
        }
        function d(e, n, i = !0) {
            const a = {
                "Content-Type": "application/json",
                Accept: "application/json"
            };
            return i && (a.Authorization = "Bearer " + t.settings.get("anilistToken")), t.request.xhr("POST", {
                url: "https://graphql.anilist.co",
                headers: a,
                data: JSON.stringify({
                    query: e,
                    variables: n
                })
            }).then(t => {
                if (t.status > 499 && t.status < 600 || 0 === t.status) throw this.errorObj(o.a.ServerOffline, "Server Offline status: " + t.status);
                const e = JSON.parse(t.responseText);
                if (void 0 !== e.errors && e.errors.length) {
                    this.logger.error("[SINGLE]", "Error", e.errors);
                    const t = e.errors[0];
                    switch (t.status) {
                      case 400:
                        if ("validation" === t.message) throw this.errorObj(t.status, "Wrong request format");
                        if (t.message.includes("invalid")) throw this.errorObj(t.status, "Wrong request format");
                        throw this.errorObj(o.a.NotAutenticated, t.message);

                      case 404:
                        throw this.errorObj(o.a.EntryNotFound, t.message);

                      default:
                        throw this.errorObj(t.status, t.message);
                    }
                }
                return e;
            });
        }
        !function(t) {
            t[t.CURRENT = 1] = "CURRENT", t[t.PLANNING = 6] = "PLANNING", t[t.COMPLETED = 2] = "COMPLETED", 
            t[t.DROPPED = 4] = "DROPPED", t[t.PAUSED = 3] = "PAUSED", t[t.REPEATING = 23] = "REPEATING";
        }(a || (a = {}));
    }).call(this, n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "c", (function() {
            return r;
        })), n.d(e, "b", (function() {
            return s;
        })), n.d(e, "a", (function() {
            return l;
        })), n.d(e, "d", (function() {
            return c;
        }));
        var i = n(5), a = n(80), o = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const r = "https://malsync.moe/mal/oauth";
        function s(e) {
            return o(this, void 0, void 0, (function*() {
                let n = "https://api.myanimelist.net/v2/" + e.path;
                e.fields && e.fields.length && (n += n.includes("?") ? "&" : "?", n += "fields=" + e.fields.join(","));
                const r = {
                    Authorization: "Bearer " + t.settings.get("malToken"),
                    "Content-Type": "application/x-www-form-urlencoded"
                };
                let s = "";
                if (e.dataObj) {
                    const t = [];
                    for (const n in e.dataObj) {
                        const i = encodeURIComponent(n), a = encodeURIComponent(e.dataObj[n]);
                        t.push(`${i}=${a}`);
                    }
                    s = t.join("&");
                }
                return t.request.xhr(e.type, {
                    url: n,
                    headers: r,
                    data: s
                }).then(n => o(this, void 0, void 0, (function*() {
                    var r, s, l;
                    if (n.status > 499 && n.status < 600 || 0 === n.status) throw this.errorObj(i.a.ServerOffline, "Server Offline status: " + n.status);
                    let c;
                    try {
                        c = JSON.parse(n.responseText);
                    } catch (t) {
                        if (n.responseText.includes("Request blocked")) throw this.errorObj(i.a.GenericError, "Your IP has been banned on MAL, change your IP or wait for it to get unbanned");
                        throw t;
                    }
                    if (c && c.error) switch (c.error) {
                      case "forbidden":
                      case "invalid_token":
                        if (yield function(e) {
                            return o(this, void 0, void 0, (function*() {
                                const n = e.m("Refresh");
                                n.log("Refresh Access Token");
                                const i = t.settings.get("malRefresh");
                                return !!i && t.request.xhr("POST", {
                                    url: "https://myanimelist.net/v1/oauth2/token",
                                    headers: {
                                        "Content-Type": "application/x-www-form-urlencoded"
                                    },
                                    data: `client_id=${a.a}&grant_type=refresh_token&refresh_token=${i}`
                                }).then(t => JSON.parse(t.responseText)).then(e => e && e.refresh_token && e.access_token ? (t.settings.set("malToken", e.access_token), 
                                t.settings.set("malRefresh", e.refresh_token), !0) : e && e.error ? (n.error(e.error, "|", e.message), 
                                t.settings.set("malRefresh", ""), !1) : (n.error("Something went wrong"), !1));
                            }));
                        }(this.logger)) return this.apiCall(e);
                        throw this.errorObj(i.a.NotAutenticated, null !== (r = c.message) && void 0 !== r ? r : c.error);

                      case "not_found":
                        throw this.errorObj(i.a.EntryNotFound, null !== (s = c.message) && void 0 !== s ? s : c.error);

                      case "invalid_content":
                        throw this.errorObj(i.a.GenericError, `This ${this.type} is currently pending approval. It can´t be saved to mal for now`);

                      default:
                        throw this.errorObj(c.error, null !== (l = c.message) && void 0 !== l ? l : c.error);
                    }
                    switch (n.status) {
                      case 400:
                        throw this.errorObj(i.a.GenericError, "Invalid Parameters");
                    }
                    return c;
                })));
            }));
        }
        var l, c;
        !function(t) {
            t[t.watching = 1] = "watching", t[t.completed = 2] = "completed", t[t.on_hold = 3] = "on_hold", 
            t[t.dropped = 4] = "dropped", t[t.plan_to_watch = 6] = "plan_to_watch";
        }(l || (l = {})), function(t) {
            t[t.reading = 1] = "reading", t[t.completed = 2] = "completed", t[t.on_hold = 3] = "on_hold", 
            t[t.dropped = 4] = "dropped", t[t.plan_to_read = 6] = "plan_to_read";
        }(c || (c = {}));
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return o;
        }));
        var i = n(1), a = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class o {
            constructor(t = Object(i.generateUniqueID)()) {
                return this.elementId = t, this.capturedVariables = new Map, this;
            }
            addCaptureVariable(t, e) {
                this.capturedVariables.set(t, [ Object(i.generateUniqueID)(), e ]);
            }
            getCaptureVariable(e) {
                const n = t.$("#" + this.elementId);
                if (null === n) return;
                const i = this.capturedVariables.get(e);
                if (void 0 === i) return;
                const a = n.attr("data-" + i[0]);
                return void 0 !== a ? JSON.parse(a) : void 0;
            }
            addProxy(e) {
                const n = t.$("#" + this.elementId);
                null !== n && n.remove();
                const a = Object(i.generateUniqueID)(), o = t => {
                    if (!(t instanceof MessageEvent)) return;
                    t.data.uniqueId === a && (window.removeEventListener("message", o), void 0 !== e && e(this));
                };
                window.addEventListener("message", o, !1);
                let r = `\n      {\n        const element = document.getElementById('${this.elementId}');\n    `;
                this.capturedVariables.forEach((t, e) => {
                    const n = Object(i.generateUniqueID)();
                    r += `\n        const func_${n} = () => {${t[1]}};\n        element.setAttribute('data-${t[0]}', JSON.stringify(func_${n}()));\n      `;
                }), r += `\n        window.postMessage({"uniqueId": "${a}"}, "*");\n      }\n    `;
                const s = document.createElement("script"), l = document.createTextNode(r);
                s.id = this.elementId, s.appendChild(l), t.$("body").append(s);
            }
            getProxyVariable(t) {
                return a(this, void 0, void 0, (function*() {
                    return new Promise((e, n) => {
                        this.addProxy(n => a(this, void 0, void 0, (function*() {
                            e(this.getCaptureVariable(t));
                        })));
                    });
                }));
            }
        }
    }).call(this, n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        })), n.d(e, "b", (function() {
            return r;
        }));
        const o = r();
        function r() {
            let e;
            return e = {
                name: "ZeroScans",
                domain: "https://zeroscans.com",
                languages: [ "English" ],
                type: "manga",
                isSyncPage: t => "comics" === t.split("/")[3] && t.split("/")[5] >= "1",
                sync: {
                    getTitle: e => t.$(".d-flex .heading h6.text-highlight").text().trim(),
                    getIdentifier: t => t.split("/")[4],
                    getOverviewUrl: e => t.$("div.container.py-5 div#pages-container div.d-flex div.btn-group a.btn").attr("href") || "",
                    getEpisode: t => Number(i.urlPart(t, 6)),
                    getVolume: t => Number(t.split("/")[5]),
                    nextEpUrl: e => t.$("div#content.flex div.container.py-5 div#pages-container div.d-flex a:contains('Next')").attr("href")
                },
                overview: {
                    getTitle: e => t.$(".d-flex .heading h5.text-highlight").text().trim(),
                    getIdentifier: t => i.urlPart(t, 4),
                    uiSelector(e) {
                        t.$("div.col-lg-9.col-md-8.col-xs-12.text-muted div.row.py-2").first().before(t.html(`<div id= "MALSyncheading" class="heading"> <h6 class="text-highlight">MAL-Sync</h6></div><div id="malthing">${e}</div>`));
                    },
                    list: {
                        offsetHandler: !1,
                        elementsSelector: () => t.$("div.list-item.col-sm-3"),
                        elementUrl: t => t.find("a").first().attr("href") || "",
                        elementEp: t => t.find("a").first().attr("href").split("/")[6]
                    }
                },
                init(e) {
                    a.storage.addStyle(n(457).toString()), t.$(document).ready((function() {
                        "comics" !== e.url.split("/")[3] || 5 !== e.url.split("/").length && 7 !== e.url.split("/").length || e.handlePage();
                    }));
                }
            }, e;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return a;
        }));
        var i = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class a {
            constructor(t, e, n = !0) {
                return this.key = t, this.ttl = e, this.localStorage = n, this;
            }
            hasValue() {
                return i(this, void 0, void 0, (function*() {
                    const t = yield this.getStorage();
                    return null != t && (new Date).getTime() < t.timestamp;
                }));
            }
            hasValueAndIsNotEmpty() {
                return i(this, void 0, void 0, (function*() {
                    const t = yield this.getStorage();
                    return !!(null != t && void 0 !== t.data && null !== t.data && Object.keys(t.data).length && (new Date).getTime() < t.timestamp);
                }));
            }
            getValue() {
                return i(this, void 0, void 0, (function*() {
                    return (yield this.getStorage()).data;
                }));
            }
            setValue(e) {
                return i(this, void 0, void 0, (function*() {
                    const n = {
                        data: e,
                        timestamp: (new Date).getTime() + this.ttl
                    };
                    return this.localStorage ? localStorage.setItem(this.key, JSON.stringify(n)) : t.storage.set(this.key, n);
                }));
            }
            getStorage() {
                return i(this, void 0, void 0, (function*() {
                    return this.localStorage ? JSON.parse(localStorage.getItem(this.key)) : t.storage.get(this.key);
                }));
            }
        }
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        function i(e = "") {
            const n = t.settings.get("syncMode");
            return "SIMKL" !== n || "manga" !== e && -1 === e.indexOf("/manga/") ? n : t.settings.get("syncModeSimkl");
        }
        n.d(e, "a", (function() {
            return i;
        }));
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return m;
        })), n.d(e, "c", (function() {
            return u;
        })), n.d(e, "b", (function() {
            return p;
        }));
        var i = n(15), a = n(32), o = n(79), r = n(33), s = n(34), l = n(29), c = n(103), d = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        function m(...e) {
            return d(this, void 0, void 0, (function*() {
                let n = [];
                if (t.settings.get("localSync")) {
                    const [t, i] = e, a = new c.a(t, i);
                    a.modes.initProgress = !0, n = yield a.getCompleteList();
                }
                const i = h(e);
                return i.setTemplist(n), i;
            }));
        }
        function u(...t) {
            return h(t);
        }
        function p(t, e = []) {
            return h(e, t);
        }
        function h(t, e = "") {
            e || (e = i.a(t[1] ? t[1] : "anime"));
            const [n, c, d] = t;
            if ("MAL" === e) return new a.a(n, c, d);
            if ("MALAPI" === e) return new o.a(n, c, d);
            if ("ANILIST" === e) return new r.a(n, c, d);
            if ("KITSU" === e) return new s.a(n, c, d);
            if ("SIMKL" === e) return new l.a(n, c, d);
            throw "Unknown sync mode";
        }
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return d;
        }));
        var o = n(14), r = n(78), s = n(5), l = n(23), c = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        Object.seal(l.a);
        class d {
            constructor(e = 1, n = "anime", a = "default") {
                return this.status = e, this.listType = n, this.sort = a, this.done = !1, this.loading = !1, 
                this.firstLoaded = !1, this.seperateRewatching = !1, this.modes = {
                    frontend: !1,
                    sortAiring: !1,
                    initProgress: !1,
                    cached: !1
                }, this.username = "", this.offset = 0, this.templist = [], this.api = t, this.cacheObj = void 0, 
                this.status = Number(this.status), this.logger = i.m("[S]", "#348fff"), this;
            }
            setTemplist(t) {
                return this.templist = t, this;
            }
            getTemplist() {
                return this.templist;
            }
            setSort(t) {
                if (this.firstLoaded || this.loading) throw "To late to change sort";
                this.sort = t;
            }
            isDone() {
                return this.done;
            }
            isLoading() {
                return this.loading;
            }
            isFirstLoaded() {
                return this.firstLoaded;
            }
            getCompleteList() {
                return c(this, void 0, void 0, (function*() {
                    do {
                        yield this.getNext();
                    } while (!this.done);
                    return this.modes.sortAiring && (yield this.sortAiringList()), this.modes.cached && this.getCache().setValue(this.templist.slice(0, 18)), 
                    this.firstLoaded = !0, this.templist;
                }));
            }
            getNextPage() {
                return c(this, void 0, void 0, (function*() {
                    return this.done ? this.templist : this.modes.frontend && 1 === this.status && "default" === this.sort ? (this.modes.sortAiring = !0, 
                    this.getCompleteList()) : (yield this.getNext(), this.modes.cached && this.getCache().setValue(this.templist.slice(0, 18)), 
                    this.firstLoaded = !0, this.templist);
                }));
            }
            getNext() {
                return c(this, void 0, void 0, (function*() {
                    this.loading = !0;
                    const t = yield this.getPart();
                    this.templist = this.templist.concat(t), this.loading = !1;
                }));
            }
            getCached() {
                return c(this, void 0, void 0, (function*() {
                    if (this.getCache().hasValue()) {
                        const t = yield this.getCache().getValue();
                        return t.forEach(t => {
                            (t = this.fn(t)).watchedEp = "", t.score = "";
                        }), t;
                    }
                    return [];
                }));
            }
            initFrontendMode() {
                this.modes.frontend = !0, this.updateListener = l.a.on("global.update.*", (t, e) => {
                    if (i.log("update", e), e.cacheKey) {
                        const t = this.templist.find(t => t.cacheKey === e.cacheKey);
                        i.log(t), t && e.state && (t.watchedEp = e.state.episode, t.score = e.state.score, 
                        t.status = e.state.status);
                    }
                }, {
                    objectify: !0
                });
            }
            destroy() {
                this.updateListener && this.updateListener.off();
            }
            getSortingOptions(t = !1) {
                const e = [ {
                    icon: "filter_list",
                    title: "Default",
                    value: "default"
                } ];
                return this._getSortingOptions().forEach(n => {
                    if (n.asc) {
                        const i = Object.assign({}, n);
                        delete i.asc, i.value += "_asc", i.title += " Ascending", t ? n.child = i : e.push(i);
                    }
                    delete n.asc, e.push(n);
                }), e;
            }
            jsonParse(t) {
                if ("" === t.responseText) throw {
                    code: 444,
                    message: "No Response"
                };
                try {
                    return JSON.parse(t.responseText);
                } catch (t) {
                    throw {
                        code: 406,
                        message: "Not Acceptable",
                        error: t
                    };
                }
            }
            flashmError(t) {
                a.flashm(this.errorMessage(t), {
                    error: !0,
                    type: "error"
                });
            }
            errorMessage(e) {
                if (void 0 === e.code) return e;
                switch (e.code) {
                  case s.a.NotAutenticated:
                  case 400:
                  case 401:
                    return t.storage.lang("Error_Authenticate", [ this.authenticationUrl ]);

                  default:
                    return e.message;
                }
            }
            errorObj(t, e) {
                return {
                    code: t,
                    message: e
                };
            }
            fn(t, e = "") {
                return c(this, void 0, void 0, (function*() {
                    let n = null;
                    return t.fn = {
                        continueUrl: () => null !== n ? n : a.getContinueWaching(t.type, t.cacheKey).then(e => {
                            const i = parseInt(t.watchedEp.toString());
                            return void 0 === e || e.ep !== i + 1 ? "" : (n = e.url, n);
                        }),
                        initProgress: () => new r.a(t.cacheKey, t.type).init().then(e => {
                            t.fn.progress = e;
                        }),
                        progress: !1
                    }, t.options = yield a.getEntrySettings(t.type, t.cacheKey, t.tags), e && (t.options.u = e), 
                    (this.modes.sortAiring || this.modes.initProgress) && (yield t.fn.initProgress()), 
                    t;
                }));
            }
            initProgress() {
                return c(this, void 0, void 0, (function*() {
                    const t = [];
                    this.templist.forEach(e => {
                        t.push(e.fn.initProgress());
                    }), yield Promise.all(t);
                }));
            }
            sortAiringList() {
                return c(this, void 0, void 0, (function*() {
                    const t = [];
                    let e = [], n = [];
                    function i(t, e) {
                        let n = t.fn.progress.getPredictionTimestamp(), i = e.fn.progress.getPredictionTimestamp();
                        return n || (n = 999999999999), i || (i = n), n - i;
                    }
                    this.templist.forEach(i => {
                        const a = i.fn.progress;
                        a && a.isAiring() && a.getPredictionTimestamp() ? i.watchedEp < a.getCurrentEpisode() ? e.push(i) : n.push(i) : t.push(i);
                    }), e = e.sort(i).reverse(), n = n.sort(i), this.templist = e.concat(n, t);
                }));
            }
            getCache() {
                return this.cacheObj || (this.cacheObj = new o.a(`list/${this.name}/${this.listType}/${this.status}/${this.sort}`, 1728e5)), 
                this.cacheObj;
            }
        }
    }).call(this, n(0), n(4), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return o;
        }));
        var i = n(14), a = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class o {
            constructor(e) {
                return this.url = e, this.run = !1, this.meta = {
                    title: "",
                    alternativeTitle: [],
                    description: "",
                    image: "",
                    characters: [],
                    statistics: [],
                    info: [],
                    openingSongs: [],
                    endingSongs: [],
                    related: []
                }, this.cacheObj = void 0, this.logger = t.m("Meta [O]", "green"), this;
            }
            init() {
                return a(this, void 0, void 0, (function*() {
                    return this.run ? this : (yield this.getCache().hasValueAndIsNotEmpty()) ? (this.logger.log("Cached"), 
                    this.meta = yield this.getCache().getValue(), this.run = !0, this) : (yield this._init(), 
                    this.run = !0, this.getCache().setValue(this.getMeta()), this);
                }));
            }
            getMeta() {
                return this.meta;
            }
            getCache() {
                return this.cacheObj || (this.cacheObj = new i.a(this.url, 432e6)), this.cacheObj;
            }
            errorObj(t, e) {
                return {
                    code: t,
                    message: e
                };
            }
        }
    }).call(this, n(4));
}, function(t, e, n) {
    "use strict";
    n.d(e, "b", (function() {
        return u;
    })), n.d(e, "a", (function() {
        return p;
    }));
    var i = n(15), a = n(14), o = n(25), r = n(77), s = n(35), l = n(36), c = n(37), d = n(81), m = function(t, e, n, i) {
        return new (n || (n = Promise))((function(a, o) {
            function r(t) {
                try {
                    l(i.next(t));
                } catch (t) {
                    o(t);
                }
            }
            function s(t) {
                try {
                    l(i.throw(t));
                } catch (t) {
                    o(t);
                }
            }
            function l(t) {
                t.done ? a(t.value) : function(t) {
                    return t instanceof n ? t : new n((function(e) {
                        e(t);
                    }));
                }(t.value).then(r, s);
            }
            l((i = i.apply(t, e || [])).next());
        }));
    };
    function u(t) {
        if (/^local:\/\//i.test(t)) return new d.a(t);
        const e = i.a(t);
        if ("MAL" === e) return new o.a(t);
        if ("MALAPI" === e) return new r.a(t);
        if ("ANILIST" === e) return new s.a(t);
        if ("KITSU" === e) return new l.a(t);
        if ("SIMKL" === e) return new c.a(t);
        throw "Unknown sync mode";
    }
    function p(t) {
        return m(this, void 0, void 0, (function*() {
            if (/^https:\/\/myanimelist.net\/(anime|manga)\/\d+(\/|$)/.test(t)) return {
                cacheKey: t.split("/")[4]
            };
            const e = new a.a("cacheKey/" + t, 6048e5);
            if (yield e.hasValue()) return e.getValue().then(t => ({
                cacheKey: t
            }));
            const n = u(t);
            return yield n.update(), e.setValue(n.getCacheKey()), {
                cacheKey: n.getCacheKey(),
                singleObj: n
            };
        }));
    }
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "b", (function() {
            return s;
        })), n.d(e, "c", (function() {
            return d;
        })), n.d(e, "e", (function() {
            return m;
        })), n.d(e, "d", (function() {
            return u;
        })), n.d(e, "a", (function() {
            return h;
        }));
        var a = n(14), o = n(16), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        function s() {
            return r(this, void 0, void 0, (function*() {
                setTimeout(() => r(this, void 0, void 0, (function*() {
                    const e = yield t.settings.getAsync("progressInterval"), n = yield t.storage.get("progressSyncLast");
                    Date.now() - n < 60 * e * 1e3 ? i.log("Progress on time") : (yield l()) && t.storage.set("progressSyncLast", Date.now());
                })), 3e4);
            }));
        }
        function l() {
            return r(this, void 0, void 0, (function*() {
                try {
                    if (f("⌛"), yield t.settings.init(), !t.settings.get("epPredictions")) throw "epPredictions disabled";
                    return yield c(1, "anime"), yield c(1, "manga"), t.settings.get("loadPTWForProgress") && (yield c(6, "anime"), 
                    yield c(6, "manga")), i.log("Progress done"), f(""), !0;
                } catch (t) {
                    i.log("Progress Failed", t);
                }
                return f(""), !1;
            }));
        }
        function c(e, n) {
            return r(this, void 0, void 0, (function*() {
                const a = i.m("release").m(n);
                a.log("Start", n, e);
                return (yield Object(o.a)(e, n)).getCompleteList().then(e => r(this, void 0, void 0, (function*() {
                    if (e.length > 0) try {
                        yield function(e, n, a = i.m("release")) {
                            return r(this, void 0, void 0, (function*() {
                                if (e ? e.forEach(t => {
                                    let e = t.options.p;
                                    e || (e = "default"), a.m(t.apiCacheKey).log(t.title, t.cacheKey, t.apiCacheKey, "Mode: " + e);
                                }) : a.log("No MAL Id List"), !t.settings.get("epPredictions")) return void a.log("epPredictions disabled");
                                const i = [];
                                let o;
                                yield function(t, e) {
                                    return r(this, void 0, void 0, (function*() {
                                        for (let n = 0; n < t.length; n++) yield e(t[n], n, t);
                                    }));
                                }(e, e => r(this, void 0, void 0, (function*() {
                                    if (!e.apiCacheKey) return;
                                    const o = yield t.storage.get(`release/${n}/${e.cacheKey}`);
                                    o && o.value && (e.fn.progress = o.value);
                                    let r = e.options.p;
                                    r || (r = "default"), a.m(e.apiCacheKey).m("Load").log(o), o && o.mode && o.mode !== r ? i.push(e) : o && o.timestamp && Date.now() - o.timestamp < 12e4 ? a.m(e.apiCacheKey).log("Up to date") : o && o.finished && o.timestamp && Date.now() - o.timestamp < 6048e5 ? a.m(e.apiCacheKey).log("Fininshed") : o && !o.value && o.timestamp && Date.now() - o.timestamp < 864e5 ? a.m(e.apiCacheKey).log("Nulled") : i.push(e);
                                }))), i.length > 0 && (o = yield function(e, n) {
                                    return r(this, void 0, void 0, (function*() {
                                        if (null === n) return [ {} ];
                                        if (n.length <= 0) return [ {} ];
                                        const i = n.map(t => t.apiCacheKey), a = t => new Promise(e => setTimeout(e, t)), o = [];
                                        for (let n = 0; n <= i.length; ) {
                                            const r = i.slice(n, n + 49), s = {
                                                url: `https://api.malsync.moe/nc/mal/${e}/POST/pr`,
                                                data: JSON.stringify({
                                                    malids: r
                                                }),
                                                headers: {
                                                    "Content-Type": "application/json"
                                                }
                                            };
                                            yield a(5e3);
                                            const l = yield t.request.xhr("POST", s);
                                            o.push(JSON.parse(l.responseText)), n += 50;
                                        }
                                        return o.reduce((t, e) => t.concat(e), []);
                                    }));
                                }(n, i), yield new Promise(t => setTimeout(() => t(), 500))), o.forEach(e => r(this, void 0, void 0, (function*() {
                                    const o = i.find(t => e.malid === t.apiCacheKey);
                                    if (!o) return;
                                    a.m(o.malId).log(e.data);
                                    let r = o.options.p;
                                    r || (r = "default");
                                    const s = p(e.data, r, n);
                                    s || a.m(o.malId).log("No value for the selected mode");
                                    let l = !1;
                                    s && s.state && "complete" === s.state && (l = !0), a.m(o.malId).m("Save").log(s), 
                                    o.cacheKey && (o && o.fn && o.fn.progress && g(o, o.fn.progress, s, n), yield t.storage.set(`release/${n}/${o.cacheKey}`, {
                                        timestamp: Date.now(),
                                        value: s,
                                        mode: r,
                                        finished: l
                                    }));
                                })));
                            }));
                        }(e, n, a);
                    } catch (t) {
                        a.error(t);
                    }
                }))).catch(t => {
                    a.error(t);
                });
            }));
        }
        function d(e, n) {
            return r(this, void 0, void 0, (function*() {
                if (!n) return {};
                const i = yield t.request.xhr("GET", `https://api.malsync.moe/nc/mal/${e}/${n}/pr`);
                return JSON.parse(i.responseText);
            }));
        }
        function m(e, n, a = "default", o = i.m("release")) {
            return r(this, void 0, void 0, (function*() {
                if (a || (a = "default"), (o = o.m(e.uid.toString())).log(e.title, e.cacheKey, e.apiCacheKey, "Mode: " + a), 
                !e.apiCacheKey) return void o.log("No Api Cache Id");
                if (!t.settings.get("epPredictions")) return void o.log("epPredictions disabled");
                const i = yield t.storage.get(`release/${n}/${e.cacheKey}`);
                o.m("Load").log(i);
                let r, s = !1;
                if (i && i.mode && i.mode !== a && (s = !0), i && i.timestamp && Date.now() - i.timestamp < 12e4 && !s) return void o.log("Up to date");
                if (i && i.finished && i.timestamp && Date.now() - i.timestamp < 6048e5 && !s) return void o.log("Fininshed");
                if (i && !i.value && i.timestamp && Date.now() - i.timestamp < 864e5 && !s) return void o.log("Nulled");
                s && o.log("Update forced"), "off" === a && (o.log("Disabled"), e.xhr = []), void 0 !== e.xhr ? r = e.xhr : (r = yield d(n, e.apiCacheKey), 
                yield new Promise(t => setTimeout(() => t(), 500))), o.log(r);
                const l = p(r, a, n);
                l || o.log("No value for the selected mode");
                let c = !1;
                l && l.state && "complete" === l.state && (c = !0), o.m("Save").log(l), i && i.value && g(e, i.value, l, n), 
                yield t.storage.set(`release/${n}/${e.cacheKey}`, {
                    timestamp: Date.now(),
                    value: l,
                    mode: a,
                    finished: c
                });
            }));
        }
        function u(t) {
            if (t && t.timestamp) {
                const e = (new Date).getTime() - t.timestamp;
                if (t.finished && e < 6048e5) return !1;
                if (!t.value && e < 864e5) return !1;
                if (e < 864e5) return !1;
            }
            return !0;
        }
        function p(e, n, i) {
            const a = {};
            if (!e.length) return null;
            let o;
            if ("default" === n ? (a.mainId = "anime" === i ? t.settings.get("progressIntervalDefaultAnime") : t.settings.get("progressIntervalDefaultManga"), 
            a.fallback = "en/sub") : a.mainId = n, a.fallbackPrediction = "jp/dub", a.mainId) {
                const t = e.find(t => t.id === a.mainId);
                t && (o = t);
            }
            if (a.fallback && !o) {
                const t = e.find(t => t.id === a.fallback);
                t && (o = t);
            }
            if (a.fallbackPrediction && o && !o.predicition && o.lastEp.timestamp) {
                const t = e.find(t => t.id === a.fallbackPrediction), n = o.lastEp.timestamp + 6048e5;
                n && t && t.predicition && (o.lastEp.total === t.lastEp.total ? Math.abs(n - t.predicition.timestamp) < 108e6 && (o.predicition = {
                    timestamp: n,
                    probability: "medium"
                }) : t.lastEp.total && o.lastEp.total === t.lastEp.total - 1 && Math.abs(n - (t.predicition.timestamp - 6048e5)) < 108e6 && (o.predicition = {
                    timestamp: n,
                    probability: "medium"
                }));
            }
            if (a.fallbackPrediction && !o) {
                const t = e.find(t => t.id === a.fallbackPrediction);
                t && t.lastEp && t.predicition && 0 === t.lastEp.total && (o = t, o.predicition.probability = "medium");
            }
            return o || null;
        }
        function h(e) {
            return r(this, void 0, void 0, (function*() {
                const n = new a.a("ProgressTypeList" + e, 864e5, !1);
                if (!(yield n.hasValueAndIsNotEmpty())) {
                    i.log("Getting new ProgressTypeList Cache");
                    const a = "https://api.malsync.moe/general/progress/" + e, o = yield t.request.xhr("GET", a).then(t => r(this, void 0, void 0, (function*() {
                        return 200 === t.status && t.responseText ? JSON.parse(t.responseText) : [];
                    })));
                    return yield n.setValue(o), o;
                }
                return i.log("PageSearch Cached"), n.getValue();
            }));
        }
        function g(e, n, a, o) {
            return r(this, void 0, void 0, (function*() {
                try {
                    if (!t.settings.get("progressNotifications")) return;
                    if (e && a && a && n.lastEp && void 0 !== n.lastEp.total && a.lastEp && a.lastEp.total && n.lang === a.lang && n.type === a.type && n.lastEp.total < a.lastEp.total && e.watchedEp + 1 === a.lastEp.total) {
                        let n;
                        n = e.single ? {
                            title: e.title,
                            text: t.storage.lang("syncPage_malObj_nextEp_" + o, [ a.lastEp.total ]),
                            sticky: !0,
                            image: yield e.single.getImage(),
                            url: e.single.getStreamingUrl() ? e.single.getStreamingUrl() : e.single.getUrl()
                        } : {
                            title: e.title,
                            text: t.storage.lang("syncPage_malObj_nextEp_" + o, [ a.lastEp.total ]),
                            sticky: !0,
                            image: e.image,
                            url: e.options && e.options.u ? e.options.u : e.url
                        }, t.request.notification(n);
                    }
                } catch (t) {
                    i.error("Could not check notification Progress", t);
                }
            }));
        }
        function f(e) {
            if ("userscript" !== t.type) try {
                chrome.browserAction.setBadgeText({
                    text: e
                });
            } catch (t) {
                i.error(t);
            }
        }
    }).call(this, n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "b", (function() {
            return h;
        })), n.d(e, "e", (function() {
            return g;
        })), n.d(e, "g", (function() {
            return y;
        })), n.d(e, "f", (function() {
            return k;
        })), n.d(e, "d", (function() {
            return S;
        })), n.d(e, "c", (function() {
            return $;
        })), n.d(e, "a", (function() {
            return E;
        }));
        var a = n(25), o = n(35), r = n(36), s = n(37), l = n(32), c = n(33), d = n(34), m = n(29), u = n(15), p = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        function h(t, e, n, i, a, o) {
            f(t, a, !0);
            for (const t in e) f(e[t], a, !1);
            for (const t in a) v(a[t], n), b(a[t], o, i, n);
        }
        function g(t) {
            if (-1 !== t.indexOf("anilist.co")) return "ANILIST";
            if (-1 !== t.indexOf("kitsu.io")) return "KITSU";
            if (-1 !== t.indexOf("myanimelist.net")) return "MAL";
            if (-1 !== t.indexOf("simkl.com")) return "SIMKL";
            throw "Type not found";
        }
        function f(t, e, n = !1) {
            for (let i = 0; i < t.length; i++) {
                const a = t[i];
                let o = e[a.malId];
                void 0 === o && (o = {
                    diff: !1,
                    master: {},
                    slaves: []
                }), n ? o.master = a : (a.diff = {}, o.slaves.push(a)), !Number.isNaN(a.malId) && a.malId && (e[a.malId] = o);
            }
        }
        function v(t, e) {
            if (t.master && t.master.uid) for (let e = 0; e < t.slaves.length; e++) {
                const n = t.slaves[e];
                n.watchedEp !== t.master.watchedEp && (2 === t.master.status ? n.watchedEp !== n.totalEp && (t.diff = !0, 
                n.diff.watchedEp = n.totalEp) : (t.diff = !0, n.diff.watchedEp = t.master.watchedEp)), 
                n.status !== t.master.status && (t.diff = !0, n.diff.status = t.master.status), 
                n.score !== t.master.score && (t.diff = !0, n.diff.score = t.master.score);
            }
        }
        function b(t, e, n, i) {
            if (t.master && t.master.uid) {
                const i = [];
                i.push(g(t.master.url));
                for (let e = 0; e < t.slaves.length; e++) {
                    const n = t.slaves[e];
                    i.push(g(n.url));
                }
                for (const a in n) {
                    const o = n[a];
                    i.includes(o) || e.push({
                        title: t.master.title,
                        syncType: o,
                        malId: t.master.malId,
                        watchedEp: t.master.watchedEp,
                        score: t.master.score,
                        status: t.master.status,
                        url: `https://myanimelist.net/${t.master.type}/${t.master.malId}`,
                        error: null
                    });
                }
            }
        }
        function y(e, n) {
            return p(this, void 0, void 0, (function*() {
                for (const n in e) {
                    const i = e[n];
                    if (i.diff) try {
                        yield w(i), i.diff = !1;
                    } catch (e) {
                        t.error(e);
                    }
                }
                const i = n.slice();
                for (const e in i) {
                    const a = i[e];
                    t.log("Sync missing", a), yield _(a).then(() => {
                        n.splice(n.indexOf(a), 1);
                    }).catch(e => {
                        t.error("Error", e), a.error = e;
                    });
                }
            }));
        }
        function w(e) {
            return p(this, void 0, void 0, (function*() {
                for (let n = 0; n < e.slaves.length; n++) {
                    const i = e.slaves[n];
                    t.log("sync list item", i), yield x(i, g(i.url));
                }
            }));
        }
        function _(t) {
            return p(this, void 0, void 0, (function*() {
                return t.diff = {
                    watchedEp: t.watchedEp,
                    status: t.status,
                    score: t.score
                }, x(t, t.syncType);
            }));
        }
        function x(t, e) {
            if (0 !== Object.keys(t.diff).length) {
                let n;
                if ("MAL" === e) n = new a.a(t.url); else if ("ANILIST" === e) n = new o.a(t.url); else if ("KITSU" === e) n = new r.a(t.url); else {
                    if ("SIMKL" !== e) throw "No sync type";
                    n = new s.a(t.url);
                }
                return n.update().then(() => (void 0 !== t.diff.watchedEp && n.setEpisode(t.diff.watchedEp), 
                void 0 !== t.diff.status && n.setStatus(t.diff.status), void 0 !== t.diff.score && n.setScore(t.diff.score), 
                n.sync())).then(() => new Promise(t => setTimeout(t, 3e3))).catch(t => new Promise((e, n) => setTimeout(() => n(t), 3e3)));
            }
        }
        function k(t, e, n) {
            return p(this, void 0, void 0, (function*() {
                const i = [], a = Object(u.a)(e);
                if ("MALAPI" === a) throw "Sync with the mal api is not yet supported";
                const o = [];
                t.forEach(t => {
                    t.providerSettings.text = "Loading", o.push(n(t.listProvider, e).then(e => {
                        t.providerSettings.list = e, t.providerSettings.text = "Done", a === t.providerType && (t.providerSettings.master = !0), 
                        i.push(t.providerType);
                    }).catch(e => {
                        t.providerSettings.text = e;
                    }));
                }), yield Promise.all(o);
                let r = !1;
                const s = [];
                return t.forEach((function(t) {
                    t.providerSettings.master ? r = t.providerSettings.list : null !== t.providerSettings.list && s.push(t.providerSettings.list);
                })), {
                    master: r,
                    slaves: s,
                    typeArray: i
                };
            }));
        }
        function S(t) {
            return [ {
                providerType: "MAL",
                providerSettings: t.mal,
                listProvider: l.a
            }, {
                providerType: "ANILIST",
                providerSettings: t.anilist,
                listProvider: c.a
            }, {
                providerType: "KITSU",
                providerSettings: t.kitsu,
                listProvider: d.a
            }, {
                providerType: "SIMKL",
                providerSettings: t.simkl,
                listProvider: m.a
            } ];
        }
        function $(e, n) {
            const i = new e(7, n);
            return i.getCompleteList().then(t => t).catch(e => {
                throw t.m(i.name).error(e), i.errorMessage(e);
            });
        }
        const E = {
            isEnabled() {
                return p(this, void 0, void 0, (function*() {
                    return i.storage.get("backgroundListSync").then((function(e) {
                        return p(this, void 0, void 0, (function*() {
                            return t.info("background list sync state", e), !(!e || e.mode !== (yield i.settings.getAsync("syncMode"))) || (E.disable(), 
                            !1);
                        }));
                    }));
                }));
            },
            enable() {
                return p(this, void 0, void 0, (function*() {
                    return i.storage.set("backgroundListSync", {
                        mode: yield i.settings.getAsync("syncMode")
                    });
                }));
            },
            disable: () => i.storage.remove("backgroundListSync"),
            sync() {
                return p(this, void 0, void 0, (function*() {
                    return (yield E.isEnabled()) ? (t.log("Start Background list Sync"), T("♻"), e("anime").then(() => e("manga")).then(() => {
                        T("");
                    }).catch(e => {
                        t.error(e), T("");
                    })) : (t.error("Background list Sync not allowed"), []);
                    function e(e) {
                        return p(this, void 0, void 0, (function*() {
                            const n = {}, i = [], a = S({
                                mal: {
                                    text: "Init",
                                    list: null,
                                    master: !1
                                },
                                anilist: {
                                    text: "Init",
                                    list: null,
                                    master: !1
                                },
                                kitsu: {
                                    text: "Init",
                                    list: null,
                                    master: !1
                                },
                                simkl: {
                                    text: "Init",
                                    list: null,
                                    master: !1
                                }
                            }), o = yield k(a, e, $);
                            h(o.master, o.slaves, "mirror", o.typeArray, n, i), t.log("Start syncing", n, i), 
                            yield y(n, i);
                        }));
                    }
                }));
            }
        };
        function T(e) {
            if ("userscript" !== i.type) try {
                chrome.browserAction.setBadgeText({
                    text: e
                });
            } catch (e) {
                t.error(e);
            }
        }
    }).call(this, n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return m;
        }));
        var r = n(5), s = n(78), l = n(20), c = n(23), d = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class m {
            constructor(e) {
                return this.url = e, this.type = null, this.rewatchingSupport = !0, this.ids = {
                    mal: NaN,
                    ani: NaN,
                    kitsu: {
                        id: NaN,
                        slug: ""
                    },
                    simkl: NaN
                }, this.options = null, this.progress = !1, this.prList = [], this.updateProgress = !1, 
                this._onList = !1, this._authenticated = !1, this.handleUrl(e), this.logger = t.m("[S]", "#348fff"), 
                this;
            }
            getType() {
                return this.type;
            }
            getUrl() {
                return this.url;
            }
            supportsRewatching() {
                return this.rewatchingSupport;
            }
            getApiCacheKey() {
                return this.ids.mal ? this.ids.mal : this.ids.ani ? "anilist:" + this.ids.ani : "";
            }
            setStatus(t) {
                return t = Number(t), this._setStatus(t), this;
            }
            getStatus() {
                return this.isOnList() ? this._getStatus() : r.b.NoState;
            }
            setScore(t) {
                return (t = parseInt("" + t)) || (t = 0), this._setScore(t), this;
            }
            getScore() {
                const t = this._getScore();
                return t || 0;
            }
            setEpisode(t) {
                return t = parseInt("" + t), this.getTotalEpisodes() && t > this.getTotalEpisodes() && (t = this.getTotalEpisodes()), 
                this._setEpisode(t), this;
            }
            getEpisode() {
                return this._getEpisode();
            }
            setVolume(t) {
                return this._setVolume(t), this;
            }
            getVolume() {
                return this._getVolume();
            }
            setStreamingUrl(t) {
                return this.options && (this.options.u = t), this;
            }
            getStreamingUrl() {
                if (this.options && this.options.u) return this.options.u;
            }
            cleanTags() {
                this.options = null;
            }
            initProgress() {
                return d(this, void 0, void 0, (function*() {
                    const t = yield Object(l.c)(this.getType(), this.getApiCacheKey());
                    return this.prList = yield Object(l.a)(this.getType()), new s.a(this.getCacheKey(), this.getType()).init({
                        uid: this.getCacheKey(),
                        apiCacheKey: this.getApiCacheKey(),
                        title: this.getTitle(),
                        cacheKey: this.getCacheKey(),
                        progressMode: this.getProgressMode(),
                        watchedEp: this.getEpisode(),
                        single: this,
                        xhr: t
                    }).then(e => {
                        this.progress = e, this.progressXhr = t;
                    });
                }));
            }
            getProgress() {
                return !!this.progress && this.progress;
            }
            getProgressOptions() {
                const t = [];
                return this.progressXhr && Object.keys(this.progressXhr).length && this.progressXhr.forEach(e => {
                    if ("complete" === e.state) return;
                    let n = `${e.lang.toUpperCase()} (${e.type.toUpperCase()})`;
                    if (this.prList && this.prList.length) {
                        const t = this.prList.find(t => t.key === e.id);
                        t && (n = t.label);
                    }
                    e.title && (n = e.title), e.lastEp && e.lastEp.total && (n += " EP" + e.lastEp.total), 
                    "dropped" === e.state && (n += " Incomplete"), t.push({
                        key: e.id,
                        value: n
                    });
                }), t;
            }
            getProgressMode() {
                return this.options && this.options.p ? this.options.p : "";
            }
            setProgressMode(t) {
                this.options && (this.options.p = t, this.updateProgress = !0);
            }
            getPageRelations() {
                const t = this.shortName, e = [];
                return this.ids.mal && "MAL" !== t && e.push({
                    name: "MAL",
                    icon: "https://cdn.myanimelist.net/images/favicon.ico",
                    link: `https://myanimelist.net/${this.type}/${this.ids.mal}`
                }), this.ids.ani && "AniList" !== t && e.push({
                    name: "AniList",
                    icon: "https://anilist.co/img/icons/favicon-32x32.png",
                    link: `https://anilist.co/${this.type}/${this.ids.ani}`
                }), this.ids.kitsu.id && "Kitsu" !== t && e.push({
                    name: "Kitsu",
                    icon: "https://kitsu.io/favicon-32x32-3e0ecb6fc5a6ae681e65dcbc2bdf1f17.png",
                    link: `https://kitsu.io/${this.type}/${this.ids.kitsu.id}`
                }), this.ids.simkl && "Simkl" !== t && e.push({
                    name: "Simkl",
                    icon: "https://eu.simkl.in/img_favicon/v2/favicon-32x32.png",
                    link: `https://simkl.com/${this.type}/${this.ids.simkl}`
                }), e;
            }
            fillRelations() {
                return Promise.resolve();
            }
            update() {
                return this.logger.log("[SINGLE]", "Update info", this.ids), this.lastError = null, 
                this._update().catch(t => {
                    throw this.lastError = t, t;
                }).then(() => (this.persistanceState = this.getStateEl(), i.getEntrySettings(this.type, this.getCacheKey(), this._getTags()))).then(t => {
                    this.options = t, this.registerEvent();
                });
            }
            sync() {
                return d(this, void 0, void 0, (function*() {
                    return this.logger.log("[SINGLE]", "Sync", this.ids), this.lastError = null, this._setTags(yield i.setEntrySettings(this.type, this.getCacheKey(), this.options, this._getTags())), 
                    this._sync().catch(t => {
                        throw this.lastError = t, t;
                    }).then(() => {
                        this.undoState = this.persistanceState, this.updateProgress && this.initProgress(), 
                        this._onList = !0, this.emitUpdate();
                    });
                }));
            }
            emitUpdate() {
                c.a.emit("global.update." + this.getCacheKey(), !1, {
                    cacheKey: this.getCacheKey(),
                    state: this.getStateEl()
                });
            }
            registerEvent() {
                this.globalUpdateEvent || (this.globalUpdateEvent = c.a.on("global.update." + this.getCacheKey(), (t, e) => this.updateEvent(t, e)));
            }
            updateEvent(t, e) {
                JSON.stringify(this.persistanceState) === JSON.stringify(this.getStateEl()) ? e && e.state && (this.setStateEl(e.state), 
                this.persistanceState = this.getStateEl(), c.a.emit("syncPage_fillUi")) : this.logger.log("Ignore event");
            }
            undo() {
                if (this.logger.log("[SINGLE]", "Undo", this.undoState), !this.undoState) throw new Error("No undo state found");
                if (!this.undoState.onList) {
                    if (void 0 === this.delete) throw new Error("Deleting an entry is not supported");
                    return this.delete().then(() => {
                        this.setStateEl(this.undoState), this.undoState = null;
                    });
                }
                return this.setStateEl(this.undoState), this.sync().then(() => {
                    this.undoState = null;
                });
            }
            getTitle(t = !1) {
                return this._getTitle(t);
            }
            getTotalEpisodes() {
                let t = this._getTotalEpisodes();
                return t || (t = 0), t;
            }
            getTotalVolumes() {
                return this._getTotalVolumes();
            }
            isOnList() {
                return this._onList;
            }
            isAuthenticated() {
                return this._authenticated;
            }
            getDisplayUrl() {
                return this._getDisplayUrl();
            }
            getMalUrl() {
                if (!Number.isNaN(this.ids.mal)) {
                    let e;
                    try {
                        e = this.getTitle().replace(/\//, "_");
                    } catch (e) {
                        t.error("no title found");
                    }
                    return `https://myanimelist.net/${this.getType()}/${this.ids.mal}/${encodeURIComponent(e)}`;
                }
                return null;
            }
            getMalId() {
                return Number.isNaN(this.ids.mal) ? null : this.ids.mal;
            }
            getIds() {
                return this.ids;
            }
            getImage() {
                return this._getImage();
            }
            getRating() {
                return this._getRating().then(t => t || "N/A");
            }
            setResumeWatching(t, e) {
                return i.setResumeWaching(t, e, this.type, this.getCacheKey());
            }
            getResumeWatching() {
                return this.options && this.options.r ? this.options.r : null;
            }
            setContinueWatching(t, e) {
                return i.setContinueWaching(t, e, this.type, this.getCacheKey());
            }
            getContinueWatching() {
                return this.options && this.options.c ? this.options.c : null;
            }
            getStateEl() {
                return {
                    onList: this.isOnList(),
                    episode: this.getEpisode(),
                    volume: this.getVolume(),
                    status: this.getStatus(),
                    score: this.getScore()
                };
            }
            setStateEl(t) {
                this._onList = t.onList, this.setEpisode(t.episode), this.setVolume(t.volume), this.setStatus(t.status), 
                this.setScore(t.score);
            }
            getStateDiff() {
                const t = this.getStateEl();
                if (t && this.undoState) {
                    const e = {};
                    for (const n in t) t[n] !== this.undoState[n] && (e[n] = t[n]);
                    return e;
                }
            }
            checkSync(t, e) {
                return d(this, void 0, void 0, (function*() {
                    const n = this.getEpisode(), i = this.getStatus(), a = this.getVolume();
                    return i === r.b.Completed ? 1 === t && this.startRewatchingMessage() : !(n >= t && !(void 0 !== e && (a || e > 1 || !t) && e > a)) && (t && t === this.getTotalEpisodes() ? (i === r.b.Rewatching ? yield this.finishRewatchingMessage() : yield this.finishWatchingMessage(), 
                    !0) : i === r.b.Watching || i === r.b.Rewatching || this.startWatchingMessage());
                }));
            }
            startWatchingMessage() {
                return d(this, void 0, void 0, (function*() {
                    return i.flashConfirm(a.storage.lang("syncPage_flashConfirm_start_" + this.getType()), "add").then(t => (t && this.setStatus(r.b.Watching), 
                    t));
                }));
            }
            finishWatchingMessage() {
                return d(this, void 0, void 0, (function*() {
                    const t = this.getScoreCheckboxValue();
                    let e = '<div><select id="finish_score" style="margin-top:5px; color:white; background-color:#4e4e4e; border: none;">';
                    return this.getScoreCheckbox().forEach(n => {
                        e += `<option value="${n.value}" ${String(t) === n.value ? "selected" : ""}>${n.label}</option>`;
                    }), e += "</select></div>", i.flashConfirm(a.storage.lang("syncPage_flashConfirm_complete") + e, "complete").then(t => {
                        if (t) {
                            this.setStatus(r.b.Completed);
                            Number(o.$("#finish_score").val()) > 0 && (this.logger.log("finish_score: " + o.$("#finish_score :selected").val()), 
                            this.handleScoreCheckbox(o.$("#finish_score :selected").val()));
                        }
                        return t;
                    });
                }));
            }
            startRewatchingMessage() {
                return d(this, void 0, void 0, (function*() {
                    return i.flashConfirm(a.storage.lang("syncPage_flashConfirm_rewatch_start_" + this.getType()), "add").then(t => (t && this.setStatus(r.b.Rewatching), 
                    t));
                }));
            }
            finishRewatchingMessage() {
                return d(this, void 0, void 0, (function*() {
                    return i.flashConfirm(a.storage.lang("syncPage_flashConfirm_rewatch_finish_" + this.getType()), "complete").then(t => (t && this.setStatus(r.b.Completed), 
                    t));
                }));
            }
            getScoreCheckbox() {
                return [ {
                    value: "0",
                    label: a.storage.lang("UI_Score_Not_Rated")
                }, {
                    value: "10",
                    label: a.storage.lang("UI_Score_Masterpiece")
                }, {
                    value: "9",
                    label: a.storage.lang("UI_Score_Great")
                }, {
                    value: "8",
                    label: a.storage.lang("UI_Score_VeryGood")
                }, {
                    value: "7",
                    label: a.storage.lang("UI_Score_Good")
                }, {
                    value: "6",
                    label: a.storage.lang("UI_Score_Fine")
                }, {
                    value: "5",
                    label: a.storage.lang("UI_Score_Average")
                }, {
                    value: "4",
                    label: a.storage.lang("UI_Score_Bad")
                }, {
                    value: "3",
                    label: a.storage.lang("UI_Score_VeryBad")
                }, {
                    value: "2",
                    label: a.storage.lang("UI_Score_Horrible")
                }, {
                    value: "1",
                    label: a.storage.lang("UI_Score_Appalling")
                } ];
            }
            getScoreCheckboxValue() {
                return this.getScore();
            }
            handleScoreCheckbox(t) {
                this.setScore(t);
            }
            getDisplayScoreCheckbox() {
                const t = this.getScoreCheckboxValue(), e = this.getScoreCheckbox().filter(e => e.value === String(t));
                return e.length ? e[0].label : "";
            }
            getStatusCheckbox() {
                const t = [ {
                    value: "1",
                    label: a.storage.lang("UI_Status_watching_" + this.getType())
                }, {
                    value: "2",
                    label: a.storage.lang("UI_Status_Completed")
                }, {
                    value: "3",
                    label: a.storage.lang("UI_Status_OnHold")
                }, {
                    value: "4",
                    label: a.storage.lang("UI_Status_Dropped")
                }, {
                    value: "6",
                    label: a.storage.lang("UI_Status_planTo_" + this.getType())
                } ];
                return this.rewatchingSupport && t.push({
                    value: "23",
                    label: a.storage.lang("UI_Status_Rewatching_" + this.getType())
                }), t;
            }
            handleStatusCheckbox(t) {
                this.setStatus(t);
            }
            getStatusCheckboxValue() {
                return this.getStatus();
            }
            getLastError() {
                return this.lastError;
            }
            getLastErrorMessage() {
                return this.errorMessage(this.getLastError());
            }
            errorObj(t, e) {
                return {
                    code: t,
                    message: e
                };
            }
            flashmError(t) {
                i.flashm(this.errorMessage(t), {
                    error: !0,
                    type: "error"
                });
            }
            errorMessage(t) {
                if (void 0 === t.code) return t;
                switch (t.code) {
                  case r.a.NotAutenticated:
                    return a.storage.lang("Error_Authenticate", [ this.authenticationUrl ]);

                  case r.a.ServerOffline:
                    return `[${this.shortName}] Server Offline`;

                  case r.a.UrlNotSuported:
                    return "Incorrect url provided";

                  case r.a.EntryNotFound:
                    return `Entry for this ${this.getType()} could not be found on ${this.shortName}`;

                  default:
                    return t.message;
                }
            }
        }
    }).call(this, n(4), n(1), n(0), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return r;
        }));
        var a = n(102);
        const o = Math.floor(1e9 * Math.random()), r = new a.EventEmitter2({
            wildcard: !0
        });
        void 0 !== t && t && "webextension" === t.type && (r.on("global.**", (function(t, ...e) {
            t || (i.m("Global").m("Emit").log(this.event, ...e), chrome.runtime.sendMessage({
                name: "emitter",
                item: {
                    event: this.event,
                    params: e,
                    id: o
                }
            }));
        })), chrome.runtime.onMessage.addListener((t, e, n) => {
            t.name && "emitter" === t.name && (i.m("Global").m("Event").log(t.item.id, t.item.event, t.item.params), 
            t.item.id !== o && r.emit(t.item.event, !0, ...t.item.params));
        }));
    }).call(this, n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return a;
        })), n.d(e, "c", (function() {
            return o;
        })), n.d(e, "b", (function() {
            return r;
        }));
        var i = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        function a(t, e) {
            return `local:${t}:${e}`;
        }
        function o() {
            return i(this, void 0, void 0, (function*() {
                let e;
                if ("userscript" === t.type) {
                    const n = yield t.storage.list("sync");
                    for (const e in n) n[e] = yield t.storage.get(e);
                    e = n;
                } else e = t.storage.list("sync");
                return e;
            }));
        }
        function r(t) {
            return new RegExp("^local://[^/]*/" + t, "i");
        }
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    n.d(e, "a", (function() {
        return i;
    }));
    const i = n(77).a;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("div", {
            staticClass: "backbutton-settings bg-cell mdl-grid",
            on: {
                click: this.click
            }
        }, [ e("span", {
            staticClass: "material-icons"
        }, [ this._v("arrow_back") ]), this._v("\n  " + this._s(this.lang("minimalApp_Settings")) + "\n") ]);
    };
    i._withStripped = !0;
    var a = n(70).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/components/backbutton.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    (function(t, n) {
        var i = Object.freeze({});
        function a(t) {
            return null == t;
        }
        function o(t) {
            return null != t;
        }
        function r(t) {
            return !0 === t;
        }
        function s(t) {
            return "string" == typeof t || "number" == typeof t || "symbol" == typeof t || "boolean" == typeof t;
        }
        function l(t) {
            return null !== t && "object" == typeof t;
        }
        var c = Object.prototype.toString;
        function d(t) {
            return "[object Object]" === c.call(t);
        }
        function m(t) {
            return "[object RegExp]" === c.call(t);
        }
        function u(t) {
            var e = parseFloat(String(t));
            return e >= 0 && Math.floor(e) === e && isFinite(t);
        }
        function p(t) {
            return o(t) && "function" == typeof t.then && "function" == typeof t.catch;
        }
        function h(t) {
            return null == t ? "" : Array.isArray(t) || d(t) && t.toString === c ? JSON.stringify(t, null, 2) : String(t);
        }
        function g(t) {
            var e = parseFloat(t);
            return isNaN(e) ? t : e;
        }
        function f(t, e) {
            for (var n = Object.create(null), i = t.split(","), a = 0; a < i.length; a++) n[i[a]] = !0;
            return e ? function(t) {
                return n[t.toLowerCase()];
            } : function(t) {
                return n[t];
            };
        }
        var v = f("slot,component", !0), b = f("key,ref,slot,slot-scope,is");
        function y(t, e) {
            if (t.length) {
                var n = t.indexOf(e);
                if (n > -1) return t.splice(n, 1);
            }
        }
        var w = Object.prototype.hasOwnProperty;
        function _(t, e) {
            return w.call(t, e);
        }
        function x(t) {
            var e = Object.create(null);
            return function(n) {
                return e[n] || (e[n] = t(n));
            };
        }
        var k = /-(\w)/g, S = x((function(t) {
            return t.replace(k, (function(t, e) {
                return e ? e.toUpperCase() : "";
            }));
        })), $ = x((function(t) {
            return t.charAt(0).toUpperCase() + t.slice(1);
        })), E = /\B([A-Z])/g, T = x((function(t) {
            return t.replace(E, "-$1").toLowerCase();
        }));
        var P = Function.prototype.bind ? function(t, e) {
            return t.bind(e);
        } : function(t, e) {
            function n(n) {
                var i = arguments.length;
                return i ? i > 1 ? t.apply(e, arguments) : t.call(e, n) : t.call(e);
            }
            return n._length = t.length, n;
        };
        function C(t, e) {
            e = e || 0;
            for (var n = t.length - e, i = new Array(n); n--; ) i[n] = t[n + e];
            return i;
        }
        function A(t, e) {
            for (var n in e) t[n] = e[n];
            return t;
        }
        function I(t) {
            for (var e = {}, n = 0; n < t.length; n++) t[n] && A(e, t[n]);
            return e;
        }
        function O(t, e, n) {}
        var U = function(t, e, n) {
            return !1;
        }, M = function(t) {
            return t;
        };
        function L(t, e) {
            if (t === e) return !0;
            var n = l(t), i = l(e);
            if (!n || !i) return !n && !i && String(t) === String(e);
            try {
                var a = Array.isArray(t), o = Array.isArray(e);
                if (a && o) return t.length === e.length && t.every((function(t, n) {
                    return L(t, e[n]);
                }));
                if (t instanceof Date && e instanceof Date) return t.getTime() === e.getTime();
                if (a || o) return !1;
                var r = Object.keys(t), s = Object.keys(e);
                return r.length === s.length && r.every((function(n) {
                    return L(t[n], e[n]);
                }));
            } catch (t) {
                return !1;
            }
        }
        function N(t, e) {
            for (var n = 0; n < t.length; n++) if (L(t[n], e)) return n;
            return -1;
        }
        function R(t) {
            var e = !1;
            return function() {
                e || (e = !0, t.apply(this, arguments));
            };
        }
        var j = [ "component", "directive", "filter" ], V = [ "beforeCreate", "created", "beforeMount", "mounted", "beforeUpdate", "updated", "beforeDestroy", "destroyed", "activated", "deactivated", "errorCaptured", "serverPrefetch" ], D = {
            optionMergeStrategies: Object.create(null),
            silent: !1,
            productionTip: !1,
            devtools: !1,
            performance: !1,
            errorHandler: null,
            warnHandler: null,
            ignoredElements: [],
            keyCodes: Object.create(null),
            isReservedTag: U,
            isReservedAttr: U,
            isUnknownElement: U,
            getTagNamespace: O,
            parsePlatformTagName: M,
            mustUseProp: U,
            async: !0,
            _lifecycleHooks: V
        }, z = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;
        function F(t) {
            var e = (t + "").charCodeAt(0);
            return 36 === e || 95 === e;
        }
        function H(t, e, n, i) {
            Object.defineProperty(t, e, {
                value: n,
                enumerable: !!i,
                writable: !0,
                configurable: !0
            });
        }
        var B = new RegExp("[^" + z.source + ".$_\\d]");
        var K, q = "__proto__" in {}, W = "undefined" != typeof window, J = "undefined" != typeof WXEnvironment && !!WXEnvironment.platform, G = J && WXEnvironment.platform.toLowerCase(), Y = W && window.navigator.userAgent.toLowerCase(), Z = Y && /msie|trident/.test(Y), Q = Y && Y.indexOf("msie 9.0") > 0, X = Y && Y.indexOf("edge/") > 0, tt = (Y && Y.indexOf("android"), 
        Y && /iphone|ipad|ipod|ios/.test(Y) || "ios" === G), et = (Y && /chrome\/\d+/.test(Y), 
        Y && /phantomjs/.test(Y), Y && Y.match(/firefox\/(\d+)/)), nt = {}.watch, it = !1;
        if (W) try {
            var at = {};
            Object.defineProperty(at, "passive", {
                get: function() {
                    it = !0;
                }
            }), window.addEventListener("test-passive", null, at);
        } catch (t) {}
        var ot = function() {
            return void 0 === K && (K = !W && !J && void 0 !== t && (t.process && "server" === t.process.env.VUE_ENV)), 
            K;
        }, rt = W && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;
        function st(t) {
            return "function" == typeof t && /native code/.test(t.toString());
        }
        var lt, ct = "undefined" != typeof Symbol && st(Symbol) && "undefined" != typeof Reflect && st(Reflect.ownKeys);
        lt = "undefined" != typeof Set && st(Set) ? Set : function() {
            function t() {
                this.set = Object.create(null);
            }
            return t.prototype.has = function(t) {
                return !0 === this.set[t];
            }, t.prototype.add = function(t) {
                this.set[t] = !0;
            }, t.prototype.clear = function() {
                this.set = Object.create(null);
            }, t;
        }();
        var dt = O, mt = 0, ut = function() {
            this.id = mt++, this.subs = [];
        };
        ut.prototype.addSub = function(t) {
            this.subs.push(t);
        }, ut.prototype.removeSub = function(t) {
            y(this.subs, t);
        }, ut.prototype.depend = function() {
            ut.target && ut.target.addDep(this);
        }, ut.prototype.notify = function() {
            var t = this.subs.slice();
            for (var e = 0, n = t.length; e < n; e++) t[e].update();
        }, ut.target = null;
        var pt = [];
        function ht(t) {
            pt.push(t), ut.target = t;
        }
        function gt() {
            pt.pop(), ut.target = pt[pt.length - 1];
        }
        var ft = function(t, e, n, i, a, o, r, s) {
            this.tag = t, this.data = e, this.children = n, this.text = i, this.elm = a, this.ns = void 0, 
            this.context = o, this.fnContext = void 0, this.fnOptions = void 0, this.fnScopeId = void 0, 
            this.key = e && e.key, this.componentOptions = r, this.componentInstance = void 0, 
            this.parent = void 0, this.raw = !1, this.isStatic = !1, this.isRootInsert = !0, 
            this.isComment = !1, this.isCloned = !1, this.isOnce = !1, this.asyncFactory = s, 
            this.asyncMeta = void 0, this.isAsyncPlaceholder = !1;
        }, vt = {
            child: {
                configurable: !0
            }
        };
        vt.child.get = function() {
            return this.componentInstance;
        }, Object.defineProperties(ft.prototype, vt);
        var bt = function(t) {
            void 0 === t && (t = "");
            var e = new ft;
            return e.text = t, e.isComment = !0, e;
        };
        function yt(t) {
            return new ft(void 0, void 0, void 0, String(t));
        }
        function wt(t) {
            var e = new ft(t.tag, t.data, t.children && t.children.slice(), t.text, t.elm, t.context, t.componentOptions, t.asyncFactory);
            return e.ns = t.ns, e.isStatic = t.isStatic, e.key = t.key, e.isComment = t.isComment, 
            e.fnContext = t.fnContext, e.fnOptions = t.fnOptions, e.fnScopeId = t.fnScopeId, 
            e.asyncMeta = t.asyncMeta, e.isCloned = !0, e;
        }
        var _t = Array.prototype, xt = Object.create(_t);
        [ "push", "pop", "shift", "unshift", "splice", "sort", "reverse" ].forEach((function(t) {
            var e = _t[t];
            H(xt, t, (function() {
                for (var n = [], i = arguments.length; i--; ) n[i] = arguments[i];
                var a, o = e.apply(this, n), r = this.__ob__;
                switch (t) {
                  case "push":
                  case "unshift":
                    a = n;
                    break;

                  case "splice":
                    a = n.slice(2);
                }
                return a && r.observeArray(a), r.dep.notify(), o;
            }));
        }));
        var kt = Object.getOwnPropertyNames(xt), St = !0;
        function $t(t) {
            St = t;
        }
        var Et = function(t) {
            this.value = t, this.dep = new ut, this.vmCount = 0, H(t, "__ob__", this), Array.isArray(t) ? (q ? function(t, e) {
                t.__proto__ = e;
            }(t, xt) : function(t, e, n) {
                for (var i = 0, a = n.length; i < a; i++) {
                    var o = n[i];
                    H(t, o, e[o]);
                }
            }(t, xt, kt), this.observeArray(t)) : this.walk(t);
        };
        function Tt(t, e) {
            var n;
            if (l(t) && !(t instanceof ft)) return _(t, "__ob__") && t.__ob__ instanceof Et ? n = t.__ob__ : St && !ot() && (Array.isArray(t) || d(t)) && Object.isExtensible(t) && !t._isVue && (n = new Et(t)), 
            e && n && n.vmCount++, n;
        }
        function Pt(t, e, n, i, a) {
            var o = new ut, r = Object.getOwnPropertyDescriptor(t, e);
            if (!r || !1 !== r.configurable) {
                var s = r && r.get, l = r && r.set;
                s && !l || 2 !== arguments.length || (n = t[e]);
                var c = !a && Tt(n);
                Object.defineProperty(t, e, {
                    enumerable: !0,
                    configurable: !0,
                    get: function() {
                        var e = s ? s.call(t) : n;
                        return ut.target && (o.depend(), c && (c.dep.depend(), Array.isArray(e) && It(e))), 
                        e;
                    },
                    set: function(e) {
                        var i = s ? s.call(t) : n;
                        e === i || e != e && i != i || s && !l || (l ? l.call(t, e) : n = e, c = !a && Tt(e), 
                        o.notify());
                    }
                });
            }
        }
        function Ct(t, e, n) {
            if (Array.isArray(t) && u(e)) return t.length = Math.max(t.length, e), t.splice(e, 1, n), 
            n;
            if (e in t && !(e in Object.prototype)) return t[e] = n, n;
            var i = t.__ob__;
            return t._isVue || i && i.vmCount ? n : i ? (Pt(i.value, e, n), i.dep.notify(), 
            n) : (t[e] = n, n);
        }
        function At(t, e) {
            if (Array.isArray(t) && u(e)) t.splice(e, 1); else {
                var n = t.__ob__;
                t._isVue || n && n.vmCount || _(t, e) && (delete t[e], n && n.dep.notify());
            }
        }
        function It(t) {
            for (var e = void 0, n = 0, i = t.length; n < i; n++) (e = t[n]) && e.__ob__ && e.__ob__.dep.depend(), 
            Array.isArray(e) && It(e);
        }
        Et.prototype.walk = function(t) {
            for (var e = Object.keys(t), n = 0; n < e.length; n++) Pt(t, e[n]);
        }, Et.prototype.observeArray = function(t) {
            for (var e = 0, n = t.length; e < n; e++) Tt(t[e]);
        };
        var Ot = D.optionMergeStrategies;
        function Ut(t, e) {
            if (!e) return t;
            for (var n, i, a, o = ct ? Reflect.ownKeys(e) : Object.keys(e), r = 0; r < o.length; r++) "__ob__" !== (n = o[r]) && (i = t[n], 
            a = e[n], _(t, n) ? i !== a && d(i) && d(a) && Ut(i, a) : Ct(t, n, a));
            return t;
        }
        function Mt(t, e, n) {
            return n ? function() {
                var i = "function" == typeof e ? e.call(n, n) : e, a = "function" == typeof t ? t.call(n, n) : t;
                return i ? Ut(i, a) : a;
            } : e ? t ? function() {
                return Ut("function" == typeof e ? e.call(this, this) : e, "function" == typeof t ? t.call(this, this) : t);
            } : e : t;
        }
        function Lt(t, e) {
            var n = e ? t ? t.concat(e) : Array.isArray(e) ? e : [ e ] : t;
            return n ? function(t) {
                for (var e = [], n = 0; n < t.length; n++) -1 === e.indexOf(t[n]) && e.push(t[n]);
                return e;
            }(n) : n;
        }
        function Nt(t, e, n, i) {
            var a = Object.create(t || null);
            return e ? A(a, e) : a;
        }
        Ot.data = function(t, e, n) {
            return n ? Mt(t, e, n) : e && "function" != typeof e ? t : Mt(t, e);
        }, V.forEach((function(t) {
            Ot[t] = Lt;
        })), j.forEach((function(t) {
            Ot[t + "s"] = Nt;
        })), Ot.watch = function(t, e, n, i) {
            if (t === nt && (t = void 0), e === nt && (e = void 0), !e) return Object.create(t || null);
            if (!t) return e;
            var a = {};
            for (var o in A(a, t), e) {
                var r = a[o], s = e[o];
                r && !Array.isArray(r) && (r = [ r ]), a[o] = r ? r.concat(s) : Array.isArray(s) ? s : [ s ];
            }
            return a;
        }, Ot.props = Ot.methods = Ot.inject = Ot.computed = function(t, e, n, i) {
            if (!t) return e;
            var a = Object.create(null);
            return A(a, t), e && A(a, e), a;
        }, Ot.provide = Mt;
        var Rt = function(t, e) {
            return void 0 === e ? t : e;
        };
        function jt(t, e, n) {
            if ("function" == typeof e && (e = e.options), function(t, e) {
                var n = t.props;
                if (n) {
                    var i, a, o = {};
                    if (Array.isArray(n)) for (i = n.length; i--; ) "string" == typeof (a = n[i]) && (o[S(a)] = {
                        type: null
                    }); else if (d(n)) for (var r in n) a = n[r], o[S(r)] = d(a) ? a : {
                        type: a
                    }; else 0;
                    t.props = o;
                }
            }(e), function(t, e) {
                var n = t.inject;
                if (n) {
                    var i = t.inject = {};
                    if (Array.isArray(n)) for (var a = 0; a < n.length; a++) i[n[a]] = {
                        from: n[a]
                    }; else if (d(n)) for (var o in n) {
                        var r = n[o];
                        i[o] = d(r) ? A({
                            from: o
                        }, r) : {
                            from: r
                        };
                    } else 0;
                }
            }(e), function(t) {
                var e = t.directives;
                if (e) for (var n in e) {
                    var i = e[n];
                    "function" == typeof i && (e[n] = {
                        bind: i,
                        update: i
                    });
                }
            }(e), !e._base && (e.extends && (t = jt(t, e.extends, n)), e.mixins)) for (var i = 0, a = e.mixins.length; i < a; i++) t = jt(t, e.mixins[i], n);
            var o, r = {};
            for (o in t) s(o);
            for (o in e) _(t, o) || s(o);
            function s(i) {
                var a = Ot[i] || Rt;
                r[i] = a(t[i], e[i], n, i);
            }
            return r;
        }
        function Vt(t, e, n, i) {
            if ("string" == typeof n) {
                var a = t[e];
                if (_(a, n)) return a[n];
                var o = S(n);
                if (_(a, o)) return a[o];
                var r = $(o);
                return _(a, r) ? a[r] : a[n] || a[o] || a[r];
            }
        }
        function Dt(t, e, n, i) {
            var a = e[t], o = !_(n, t), r = n[t], s = Ht(Boolean, a.type);
            if (s > -1) if (o && !_(a, "default")) r = !1; else if ("" === r || r === T(t)) {
                var l = Ht(String, a.type);
                (l < 0 || s < l) && (r = !0);
            }
            if (void 0 === r) {
                r = function(t, e, n) {
                    if (!_(e, "default")) return;
                    var i = e.default;
                    0;
                    if (t && t.$options.propsData && void 0 === t.$options.propsData[n] && void 0 !== t._props[n]) return t._props[n];
                    return "function" == typeof i && "Function" !== zt(e.type) ? i.call(t) : i;
                }(i, a, t);
                var c = St;
                $t(!0), Tt(r), $t(c);
            }
            return r;
        }
        function zt(t) {
            var e = t && t.toString().match(/^\s*function (\w+)/);
            return e ? e[1] : "";
        }
        function Ft(t, e) {
            return zt(t) === zt(e);
        }
        function Ht(t, e) {
            if (!Array.isArray(e)) return Ft(e, t) ? 0 : -1;
            for (var n = 0, i = e.length; n < i; n++) if (Ft(e[n], t)) return n;
            return -1;
        }
        function Bt(t, e, n) {
            ht();
            try {
                if (e) for (var i = e; i = i.$parent; ) {
                    var a = i.$options.errorCaptured;
                    if (a) for (var o = 0; o < a.length; o++) try {
                        if (!1 === a[o].call(i, t, e, n)) return;
                    } catch (t) {
                        qt(t, i, "errorCaptured hook");
                    }
                }
                qt(t, e, n);
            } finally {
                gt();
            }
        }
        function Kt(t, e, n, i, a) {
            var o;
            try {
                (o = n ? t.apply(e, n) : t.call(e)) && !o._isVue && p(o) && !o._handled && (o.catch((function(t) {
                    return Bt(t, i, a + " (Promise/async)");
                })), o._handled = !0);
            } catch (t) {
                Bt(t, i, a);
            }
            return o;
        }
        function qt(t, e, n) {
            if (D.errorHandler) try {
                return D.errorHandler.call(null, t, e, n);
            } catch (e) {
                e !== t && Wt(e, null, "config.errorHandler");
            }
            Wt(t, e, n);
        }
        function Wt(t, e, n) {
            if (!W && !J || "undefined" == typeof console) throw t;
            console.error(t);
        }
        var Jt, Gt = !1, Yt = [], Zt = !1;
        function Qt() {
            Zt = !1;
            var t = Yt.slice(0);
            Yt.length = 0;
            for (var e = 0; e < t.length; e++) t[e]();
        }
        if ("undefined" != typeof Promise && st(Promise)) {
            var Xt = Promise.resolve();
            Jt = function() {
                Xt.then(Qt), tt && setTimeout(O);
            }, Gt = !0;
        } else if (Z || "undefined" == typeof MutationObserver || !st(MutationObserver) && "[object MutationObserverConstructor]" !== MutationObserver.toString()) Jt = void 0 !== n && st(n) ? function() {
            n(Qt);
        } : function() {
            setTimeout(Qt, 0);
        }; else {
            var te = 1, ee = new MutationObserver(Qt), ne = document.createTextNode(String(te));
            ee.observe(ne, {
                characterData: !0
            }), Jt = function() {
                te = (te + 1) % 2, ne.data = String(te);
            }, Gt = !0;
        }
        function ie(t, e) {
            var n;
            if (Yt.push((function() {
                if (t) try {
                    t.call(e);
                } catch (t) {
                    Bt(t, e, "nextTick");
                } else n && n(e);
            })), Zt || (Zt = !0, Jt()), !t && "undefined" != typeof Promise) return new Promise((function(t) {
                n = t;
            }));
        }
        var ae = new lt;
        function oe(t) {
            !function t(e, n) {
                var i, a, o = Array.isArray(e);
                if (!o && !l(e) || Object.isFrozen(e) || e instanceof ft) return;
                if (e.__ob__) {
                    var r = e.__ob__.dep.id;
                    if (n.has(r)) return;
                    n.add(r);
                }
                if (o) for (i = e.length; i--; ) t(e[i], n); else for (a = Object.keys(e), i = a.length; i--; ) t(e[a[i]], n);
            }(t, ae), ae.clear();
        }
        var re = x((function(t) {
            var e = "&" === t.charAt(0), n = "~" === (t = e ? t.slice(1) : t).charAt(0), i = "!" === (t = n ? t.slice(1) : t).charAt(0);
            return {
                name: t = i ? t.slice(1) : t,
                once: n,
                capture: i,
                passive: e
            };
        }));
        function se(t, e) {
            function n() {
                var t = arguments, i = n.fns;
                if (!Array.isArray(i)) return Kt(i, null, arguments, e, "v-on handler");
                for (var a = i.slice(), o = 0; o < a.length; o++) Kt(a[o], null, t, e, "v-on handler");
            }
            return n.fns = t, n;
        }
        function le(t, e, n, i, o, s) {
            var l, c, d, m;
            for (l in t) c = t[l], d = e[l], m = re(l), a(c) || (a(d) ? (a(c.fns) && (c = t[l] = se(c, s)), 
            r(m.once) && (c = t[l] = o(m.name, c, m.capture)), n(m.name, c, m.capture, m.passive, m.params)) : c !== d && (d.fns = c, 
            t[l] = d));
            for (l in e) a(t[l]) && i((m = re(l)).name, e[l], m.capture);
        }
        function ce(t, e, n) {
            var i;
            t instanceof ft && (t = t.data.hook || (t.data.hook = {}));
            var s = t[e];
            function l() {
                n.apply(this, arguments), y(i.fns, l);
            }
            a(s) ? i = se([ l ]) : o(s.fns) && r(s.merged) ? (i = s).fns.push(l) : i = se([ s, l ]), 
            i.merged = !0, t[e] = i;
        }
        function de(t, e, n, i, a) {
            if (o(e)) {
                if (_(e, n)) return t[n] = e[n], a || delete e[n], !0;
                if (_(e, i)) return t[n] = e[i], a || delete e[i], !0;
            }
            return !1;
        }
        function me(t) {
            return s(t) ? [ yt(t) ] : Array.isArray(t) ? function t(e, n) {
                var i, l, c, d, m = [];
                for (i = 0; i < e.length; i++) a(l = e[i]) || "boolean" == typeof l || (c = m.length - 1, 
                d = m[c], Array.isArray(l) ? l.length > 0 && (ue((l = t(l, (n || "") + "_" + i))[0]) && ue(d) && (m[c] = yt(d.text + l[0].text), 
                l.shift()), m.push.apply(m, l)) : s(l) ? ue(d) ? m[c] = yt(d.text + l) : "" !== l && m.push(yt(l)) : ue(l) && ue(d) ? m[c] = yt(d.text + l.text) : (r(e._isVList) && o(l.tag) && a(l.key) && o(n) && (l.key = "__vlist" + n + "_" + i + "__"), 
                m.push(l)));
                return m;
            }(t) : void 0;
        }
        function ue(t) {
            return o(t) && o(t.text) && !1 === t.isComment;
        }
        function pe(t, e) {
            if (t) {
                for (var n = Object.create(null), i = ct ? Reflect.ownKeys(t) : Object.keys(t), a = 0; a < i.length; a++) {
                    var o = i[a];
                    if ("__ob__" !== o) {
                        for (var r = t[o].from, s = e; s; ) {
                            if (s._provided && _(s._provided, r)) {
                                n[o] = s._provided[r];
                                break;
                            }
                            s = s.$parent;
                        }
                        if (!s) if ("default" in t[o]) {
                            var l = t[o].default;
                            n[o] = "function" == typeof l ? l.call(e) : l;
                        } else 0;
                    }
                }
                return n;
            }
        }
        function he(t, e) {
            if (!t || !t.length) return {};
            for (var n = {}, i = 0, a = t.length; i < a; i++) {
                var o = t[i], r = o.data;
                if (r && r.attrs && r.attrs.slot && delete r.attrs.slot, o.context !== e && o.fnContext !== e || !r || null == r.slot) (n.default || (n.default = [])).push(o); else {
                    var s = r.slot, l = n[s] || (n[s] = []);
                    "template" === o.tag ? l.push.apply(l, o.children || []) : l.push(o);
                }
            }
            for (var c in n) n[c].every(ge) && delete n[c];
            return n;
        }
        function ge(t) {
            return t.isComment && !t.asyncFactory || " " === t.text;
        }
        function fe(t, e, n) {
            var a, o = Object.keys(e).length > 0, r = t ? !!t.$stable : !o, s = t && t.$key;
            if (t) {
                if (t._normalized) return t._normalized;
                if (r && n && n !== i && s === n.$key && !o && !n.$hasNormal) return n;
                for (var l in a = {}, t) t[l] && "$" !== l[0] && (a[l] = ve(e, l, t[l]));
            } else a = {};
            for (var c in e) c in a || (a[c] = be(e, c));
            return t && Object.isExtensible(t) && (t._normalized = a), H(a, "$stable", r), H(a, "$key", s), 
            H(a, "$hasNormal", o), a;
        }
        function ve(t, e, n) {
            var i = function() {
                var t = arguments.length ? n.apply(null, arguments) : n({});
                return (t = t && "object" == typeof t && !Array.isArray(t) ? [ t ] : me(t)) && (0 === t.length || 1 === t.length && t[0].isComment) ? void 0 : t;
            };
            return n.proxy && Object.defineProperty(t, e, {
                get: i,
                enumerable: !0,
                configurable: !0
            }), i;
        }
        function be(t, e) {
            return function() {
                return t[e];
            };
        }
        function ye(t, e) {
            var n, i, a, r, s;
            if (Array.isArray(t) || "string" == typeof t) for (n = new Array(t.length), i = 0, 
            a = t.length; i < a; i++) n[i] = e(t[i], i); else if ("number" == typeof t) for (n = new Array(t), 
            i = 0; i < t; i++) n[i] = e(i + 1, i); else if (l(t)) if (ct && t[Symbol.iterator]) {
                n = [];
                for (var c = t[Symbol.iterator](), d = c.next(); !d.done; ) n.push(e(d.value, n.length)), 
                d = c.next();
            } else for (r = Object.keys(t), n = new Array(r.length), i = 0, a = r.length; i < a; i++) s = r[i], 
            n[i] = e(t[s], s, i);
            return o(n) || (n = []), n._isVList = !0, n;
        }
        function we(t, e, n, i) {
            var a, o = this.$scopedSlots[t];
            o ? (n = n || {}, i && (n = A(A({}, i), n)), a = o(n) || e) : a = this.$slots[t] || e;
            var r = n && n.slot;
            return r ? this.$createElement("template", {
                slot: r
            }, a) : a;
        }
        function _e(t) {
            return Vt(this.$options, "filters", t) || M;
        }
        function xe(t, e) {
            return Array.isArray(t) ? -1 === t.indexOf(e) : t !== e;
        }
        function ke(t, e, n, i, a) {
            var o = D.keyCodes[e] || n;
            return a && i && !D.keyCodes[e] ? xe(a, i) : o ? xe(o, t) : i ? T(i) !== e : void 0;
        }
        function Se(t, e, n, i, a) {
            if (n) if (l(n)) {
                var o;
                Array.isArray(n) && (n = I(n));
                var r = function(r) {
                    if ("class" === r || "style" === r || b(r)) o = t; else {
                        var s = t.attrs && t.attrs.type;
                        o = i || D.mustUseProp(e, s, r) ? t.domProps || (t.domProps = {}) : t.attrs || (t.attrs = {});
                    }
                    var l = S(r), c = T(r);
                    l in o || c in o || (o[r] = n[r], a && ((t.on || (t.on = {}))["update:" + r] = function(t) {
                        n[r] = t;
                    }));
                };
                for (var s in n) r(s);
            } else ;
            return t;
        }
        function $e(t, e) {
            var n = this._staticTrees || (this._staticTrees = []), i = n[t];
            return i && !e || Te(i = n[t] = this.$options.staticRenderFns[t].call(this._renderProxy, null, this), "__static__" + t, !1), 
            i;
        }
        function Ee(t, e, n) {
            return Te(t, "__once__" + e + (n ? "_" + n : ""), !0), t;
        }
        function Te(t, e, n) {
            if (Array.isArray(t)) for (var i = 0; i < t.length; i++) t[i] && "string" != typeof t[i] && Pe(t[i], e + "_" + i, n); else Pe(t, e, n);
        }
        function Pe(t, e, n) {
            t.isStatic = !0, t.key = e, t.isOnce = n;
        }
        function Ce(t, e) {
            if (e) if (d(e)) {
                var n = t.on = t.on ? A({}, t.on) : {};
                for (var i in e) {
                    var a = n[i], o = e[i];
                    n[i] = a ? [].concat(a, o) : o;
                }
            } else ;
            return t;
        }
        function Ae(t, e, n, i) {
            e = e || {
                $stable: !n
            };
            for (var a = 0; a < t.length; a++) {
                var o = t[a];
                Array.isArray(o) ? Ae(o, e, n) : o && (o.proxy && (o.fn.proxy = !0), e[o.key] = o.fn);
            }
            return i && (e.$key = i), e;
        }
        function Ie(t, e) {
            for (var n = 0; n < e.length; n += 2) {
                var i = e[n];
                "string" == typeof i && i && (t[e[n]] = e[n + 1]);
            }
            return t;
        }
        function Oe(t, e) {
            return "string" == typeof t ? e + t : t;
        }
        function Ue(t) {
            t._o = Ee, t._n = g, t._s = h, t._l = ye, t._t = we, t._q = L, t._i = N, t._m = $e, 
            t._f = _e, t._k = ke, t._b = Se, t._v = yt, t._e = bt, t._u = Ae, t._g = Ce, t._d = Ie, 
            t._p = Oe;
        }
        function Me(t, e, n, a, o) {
            var s, l = this, c = o.options;
            _(a, "_uid") ? (s = Object.create(a))._original = a : (s = a, a = a._original);
            var d = r(c._compiled), m = !d;
            this.data = t, this.props = e, this.children = n, this.parent = a, this.listeners = t.on || i, 
            this.injections = pe(c.inject, a), this.slots = function() {
                return l.$slots || fe(t.scopedSlots, l.$slots = he(n, a)), l.$slots;
            }, Object.defineProperty(this, "scopedSlots", {
                enumerable: !0,
                get: function() {
                    return fe(t.scopedSlots, this.slots());
                }
            }), d && (this.$options = c, this.$slots = this.slots(), this.$scopedSlots = fe(t.scopedSlots, this.$slots)), 
            c._scopeId ? this._c = function(t, e, n, i) {
                var o = ze(s, t, e, n, i, m);
                return o && !Array.isArray(o) && (o.fnScopeId = c._scopeId, o.fnContext = a), o;
            } : this._c = function(t, e, n, i) {
                return ze(s, t, e, n, i, m);
            };
        }
        function Le(t, e, n, i, a) {
            var o = wt(t);
            return o.fnContext = n, o.fnOptions = i, e.slot && ((o.data || (o.data = {})).slot = e.slot), 
            o;
        }
        function Ne(t, e) {
            for (var n in e) t[S(n)] = e[n];
        }
        Ue(Me.prototype);
        var Re = {
            init: function(t, e) {
                if (t.componentInstance && !t.componentInstance._isDestroyed && t.data.keepAlive) {
                    var n = t;
                    Re.prepatch(n, n);
                } else {
                    (t.componentInstance = function(t, e) {
                        var n = {
                            _isComponent: !0,
                            _parentVnode: t,
                            parent: e
                        }, i = t.data.inlineTemplate;
                        o(i) && (n.render = i.render, n.staticRenderFns = i.staticRenderFns);
                        return new t.componentOptions.Ctor(n);
                    }(t, Ze)).$mount(e ? t.elm : void 0, e);
                }
            },
            prepatch: function(t, e) {
                var n = e.componentOptions;
                !function(t, e, n, a, o) {
                    0;
                    var r = a.data.scopedSlots, s = t.$scopedSlots, l = !!(r && !r.$stable || s !== i && !s.$stable || r && t.$scopedSlots.$key !== r.$key), c = !!(o || t.$options._renderChildren || l);
                    t.$options._parentVnode = a, t.$vnode = a, t._vnode && (t._vnode.parent = a);
                    if (t.$options._renderChildren = o, t.$attrs = a.data.attrs || i, t.$listeners = n || i, 
                    e && t.$options.props) {
                        $t(!1);
                        for (var d = t._props, m = t.$options._propKeys || [], u = 0; u < m.length; u++) {
                            var p = m[u], h = t.$options.props;
                            d[p] = Dt(p, h, e, t);
                        }
                        $t(!0), t.$options.propsData = e;
                    }
                    n = n || i;
                    var g = t.$options._parentListeners;
                    t.$options._parentListeners = n, Ye(t, n, g), c && (t.$slots = he(o, a.context), 
                    t.$forceUpdate());
                    0;
                }(e.componentInstance = t.componentInstance, n.propsData, n.listeners, e, n.children);
            },
            insert: function(t) {
                var e, n = t.context, i = t.componentInstance;
                i._isMounted || (i._isMounted = !0, en(i, "mounted")), t.data.keepAlive && (n._isMounted ? ((e = i)._inactive = !1, 
                an.push(e)) : tn(i, !0));
            },
            destroy: function(t) {
                var e = t.componentInstance;
                e._isDestroyed || (t.data.keepAlive ? function t(e, n) {
                    if (n && (e._directInactive = !0, Xe(e))) return;
                    if (!e._inactive) {
                        e._inactive = !0;
                        for (var i = 0; i < e.$children.length; i++) t(e.$children[i]);
                        en(e, "deactivated");
                    }
                }(e, !0) : e.$destroy());
            }
        }, je = Object.keys(Re);
        function Ve(t, e, n, s, c) {
            if (!a(t)) {
                var d = n.$options._base;
                if (l(t) && (t = d.extend(t)), "function" == typeof t) {
                    var m;
                    if (a(t.cid) && void 0 === (t = function(t, e) {
                        if (r(t.error) && o(t.errorComp)) return t.errorComp;
                        if (o(t.resolved)) return t.resolved;
                        var n = He;
                        n && o(t.owners) && -1 === t.owners.indexOf(n) && t.owners.push(n);
                        if (r(t.loading) && o(t.loadingComp)) return t.loadingComp;
                        if (n && !o(t.owners)) {
                            var i = t.owners = [ n ], s = !0, c = null, d = null;
                            n.$on("hook:destroyed", (function() {
                                return y(i, n);
                            }));
                            var m = function(t) {
                                for (var e = 0, n = i.length; e < n; e++) i[e].$forceUpdate();
                                t && (i.length = 0, null !== c && (clearTimeout(c), c = null), null !== d && (clearTimeout(d), 
                                d = null));
                            }, u = R((function(n) {
                                t.resolved = Be(n, e), s ? i.length = 0 : m(!0);
                            })), h = R((function(e) {
                                o(t.errorComp) && (t.error = !0, m(!0));
                            })), g = t(u, h);
                            return l(g) && (p(g) ? a(t.resolved) && g.then(u, h) : p(g.component) && (g.component.then(u, h), 
                            o(g.error) && (t.errorComp = Be(g.error, e)), o(g.loading) && (t.loadingComp = Be(g.loading, e), 
                            0 === g.delay ? t.loading = !0 : c = setTimeout((function() {
                                c = null, a(t.resolved) && a(t.error) && (t.loading = !0, m(!1));
                            }), g.delay || 200)), o(g.timeout) && (d = setTimeout((function() {
                                d = null, a(t.resolved) && h(null);
                            }), g.timeout)))), s = !1, t.loading ? t.loadingComp : t.resolved;
                        }
                    }(m = t, d))) return function(t, e, n, i, a) {
                        var o = bt();
                        return o.asyncFactory = t, o.asyncMeta = {
                            data: e,
                            context: n,
                            children: i,
                            tag: a
                        }, o;
                    }(m, e, n, s, c);
                    e = e || {}, Sn(t), o(e.model) && function(t, e) {
                        var n = t.model && t.model.prop || "value", i = t.model && t.model.event || "input";
                        (e.attrs || (e.attrs = {}))[n] = e.model.value;
                        var a = e.on || (e.on = {}), r = a[i], s = e.model.callback;
                        o(r) ? (Array.isArray(r) ? -1 === r.indexOf(s) : r !== s) && (a[i] = [ s ].concat(r)) : a[i] = s;
                    }(t.options, e);
                    var u = function(t, e, n) {
                        var i = e.options.props;
                        if (!a(i)) {
                            var r = {}, s = t.attrs, l = t.props;
                            if (o(s) || o(l)) for (var c in i) {
                                var d = T(c);
                                de(r, l, c, d, !0) || de(r, s, c, d, !1);
                            }
                            return r;
                        }
                    }(e, t);
                    if (r(t.options.functional)) return function(t, e, n, a, r) {
                        var s = t.options, l = {}, c = s.props;
                        if (o(c)) for (var d in c) l[d] = Dt(d, c, e || i); else o(n.attrs) && Ne(l, n.attrs), 
                        o(n.props) && Ne(l, n.props);
                        var m = new Me(n, l, r, a, t), u = s.render.call(null, m._c, m);
                        if (u instanceof ft) return Le(u, n, m.parent, s, m);
                        if (Array.isArray(u)) {
                            for (var p = me(u) || [], h = new Array(p.length), g = 0; g < p.length; g++) h[g] = Le(p[g], n, m.parent, s, m);
                            return h;
                        }
                    }(t, u, e, n, s);
                    var h = e.on;
                    if (e.on = e.nativeOn, r(t.options.abstract)) {
                        var g = e.slot;
                        e = {}, g && (e.slot = g);
                    }
                    !function(t) {
                        for (var e = t.hook || (t.hook = {}), n = 0; n < je.length; n++) {
                            var i = je[n], a = e[i], o = Re[i];
                            a === o || a && a._merged || (e[i] = a ? De(o, a) : o);
                        }
                    }(e);
                    var f = t.options.name || c;
                    return new ft("vue-component-" + t.cid + (f ? "-" + f : ""), e, void 0, void 0, void 0, n, {
                        Ctor: t,
                        propsData: u,
                        listeners: h,
                        tag: c,
                        children: s
                    }, m);
                }
            }
        }
        function De(t, e) {
            var n = function(n, i) {
                t(n, i), e(n, i);
            };
            return n._merged = !0, n;
        }
        function ze(t, e, n, i, c, d) {
            return (Array.isArray(n) || s(n)) && (c = i, i = n, n = void 0), r(d) && (c = 2), 
            function(t, e, n, i, s) {
                if (o(n) && o(n.__ob__)) return bt();
                o(n) && o(n.is) && (e = n.is);
                if (!e) return bt();
                0;
                Array.isArray(i) && "function" == typeof i[0] && ((n = n || {}).scopedSlots = {
                    default: i[0]
                }, i.length = 0);
                2 === s ? i = me(i) : 1 === s && (i = function(t) {
                    for (var e = 0; e < t.length; e++) if (Array.isArray(t[e])) return Array.prototype.concat.apply([], t);
                    return t;
                }(i));
                var c, d;
                if ("string" == typeof e) {
                    var m;
                    d = t.$vnode && t.$vnode.ns || D.getTagNamespace(e), c = D.isReservedTag(e) ? new ft(D.parsePlatformTagName(e), n, i, void 0, void 0, t) : n && n.pre || !o(m = Vt(t.$options, "components", e)) ? new ft(e, n, i, void 0, void 0, t) : Ve(m, n, t, i, e);
                } else c = Ve(e, n, t, i);
                return Array.isArray(c) ? c : o(c) ? (o(d) && function t(e, n, i) {
                    e.ns = n, "foreignObject" === e.tag && (n = void 0, i = !0);
                    if (o(e.children)) for (var s = 0, l = e.children.length; s < l; s++) {
                        var c = e.children[s];
                        o(c.tag) && (a(c.ns) || r(i) && "svg" !== c.tag) && t(c, n, i);
                    }
                }(c, d), o(n) && function(t) {
                    l(t.style) && oe(t.style);
                    l(t.class) && oe(t.class);
                }(n), c) : bt();
            }(t, e, n, i, c);
        }
        var Fe, He = null;
        function Be(t, e) {
            return (t.__esModule || ct && "Module" === t[Symbol.toStringTag]) && (t = t.default), 
            l(t) ? e.extend(t) : t;
        }
        function Ke(t) {
            return t.isComment && t.asyncFactory;
        }
        function qe(t) {
            if (Array.isArray(t)) for (var e = 0; e < t.length; e++) {
                var n = t[e];
                if (o(n) && (o(n.componentOptions) || Ke(n))) return n;
            }
        }
        function We(t, e) {
            Fe.$on(t, e);
        }
        function Je(t, e) {
            Fe.$off(t, e);
        }
        function Ge(t, e) {
            var n = Fe;
            return function i() {
                var a = e.apply(null, arguments);
                null !== a && n.$off(t, i);
            };
        }
        function Ye(t, e, n) {
            Fe = t, le(e, n || {}, We, Je, Ge, t), Fe = void 0;
        }
        var Ze = null;
        function Qe(t) {
            var e = Ze;
            return Ze = t, function() {
                Ze = e;
            };
        }
        function Xe(t) {
            for (;t && (t = t.$parent); ) if (t._inactive) return !0;
            return !1;
        }
        function tn(t, e) {
            if (e) {
                if (t._directInactive = !1, Xe(t)) return;
            } else if (t._directInactive) return;
            if (t._inactive || null === t._inactive) {
                t._inactive = !1;
                for (var n = 0; n < t.$children.length; n++) tn(t.$children[n]);
                en(t, "activated");
            }
        }
        function en(t, e) {
            ht();
            var n = t.$options[e], i = e + " hook";
            if (n) for (var a = 0, o = n.length; a < o; a++) Kt(n[a], t, null, t, i);
            t._hasHookEvent && t.$emit("hook:" + e), gt();
        }
        var nn = [], an = [], on = {}, rn = !1, sn = !1, ln = 0;
        var cn = 0, dn = Date.now;
        if (W && !Z) {
            var mn = window.performance;
            mn && "function" == typeof mn.now && dn() > document.createEvent("Event").timeStamp && (dn = function() {
                return mn.now();
            });
        }
        function un() {
            var t, e;
            for (cn = dn(), sn = !0, nn.sort((function(t, e) {
                return t.id - e.id;
            })), ln = 0; ln < nn.length; ln++) (t = nn[ln]).before && t.before(), e = t.id, 
            on[e] = null, t.run();
            var n = an.slice(), i = nn.slice();
            ln = nn.length = an.length = 0, on = {}, rn = sn = !1, function(t) {
                for (var e = 0; e < t.length; e++) t[e]._inactive = !0, tn(t[e], !0);
            }(n), function(t) {
                var e = t.length;
                for (;e--; ) {
                    var n = t[e], i = n.vm;
                    i._watcher === n && i._isMounted && !i._isDestroyed && en(i, "updated");
                }
            }(i), rt && D.devtools && rt.emit("flush");
        }
        var pn = 0, hn = function(t, e, n, i, a) {
            this.vm = t, a && (t._watcher = this), t._watchers.push(this), i ? (this.deep = !!i.deep, 
            this.user = !!i.user, this.lazy = !!i.lazy, this.sync = !!i.sync, this.before = i.before) : this.deep = this.user = this.lazy = this.sync = !1, 
            this.cb = n, this.id = ++pn, this.active = !0, this.dirty = this.lazy, this.deps = [], 
            this.newDeps = [], this.depIds = new lt, this.newDepIds = new lt, this.expression = "", 
            "function" == typeof e ? this.getter = e : (this.getter = function(t) {
                if (!B.test(t)) {
                    var e = t.split(".");
                    return function(t) {
                        for (var n = 0; n < e.length; n++) {
                            if (!t) return;
                            t = t[e[n]];
                        }
                        return t;
                    };
                }
            }(e), this.getter || (this.getter = O)), this.value = this.lazy ? void 0 : this.get();
        };
        hn.prototype.get = function() {
            var t;
            ht(this);
            var e = this.vm;
            try {
                t = this.getter.call(e, e);
            } catch (t) {
                if (!this.user) throw t;
                Bt(t, e, 'getter for watcher "' + this.expression + '"');
            } finally {
                this.deep && oe(t), gt(), this.cleanupDeps();
            }
            return t;
        }, hn.prototype.addDep = function(t) {
            var e = t.id;
            this.newDepIds.has(e) || (this.newDepIds.add(e), this.newDeps.push(t), this.depIds.has(e) || t.addSub(this));
        }, hn.prototype.cleanupDeps = function() {
            for (var t = this.deps.length; t--; ) {
                var e = this.deps[t];
                this.newDepIds.has(e.id) || e.removeSub(this);
            }
            var n = this.depIds;
            this.depIds = this.newDepIds, this.newDepIds = n, this.newDepIds.clear(), n = this.deps, 
            this.deps = this.newDeps, this.newDeps = n, this.newDeps.length = 0;
        }, hn.prototype.update = function() {
            this.lazy ? this.dirty = !0 : this.sync ? this.run() : function(t) {
                var e = t.id;
                if (null == on[e]) {
                    if (on[e] = !0, sn) {
                        for (var n = nn.length - 1; n > ln && nn[n].id > t.id; ) n--;
                        nn.splice(n + 1, 0, t);
                    } else nn.push(t);
                    rn || (rn = !0, ie(un));
                }
            }(this);
        }, hn.prototype.run = function() {
            if (this.active) {
                var t = this.get();
                if (t !== this.value || l(t) || this.deep) {
                    var e = this.value;
                    if (this.value = t, this.user) try {
                        this.cb.call(this.vm, t, e);
                    } catch (t) {
                        Bt(t, this.vm, 'callback for watcher "' + this.expression + '"');
                    } else this.cb.call(this.vm, t, e);
                }
            }
        }, hn.prototype.evaluate = function() {
            this.value = this.get(), this.dirty = !1;
        }, hn.prototype.depend = function() {
            for (var t = this.deps.length; t--; ) this.deps[t].depend();
        }, hn.prototype.teardown = function() {
            if (this.active) {
                this.vm._isBeingDestroyed || y(this.vm._watchers, this);
                for (var t = this.deps.length; t--; ) this.deps[t].removeSub(this);
                this.active = !1;
            }
        };
        var gn = {
            enumerable: !0,
            configurable: !0,
            get: O,
            set: O
        };
        function fn(t, e, n) {
            gn.get = function() {
                return this[e][n];
            }, gn.set = function(t) {
                this[e][n] = t;
            }, Object.defineProperty(t, n, gn);
        }
        function vn(t) {
            t._watchers = [];
            var e = t.$options;
            e.props && function(t, e) {
                var n = t.$options.propsData || {}, i = t._props = {}, a = t.$options._propKeys = [];
                t.$parent && $t(!1);
                var o = function(o) {
                    a.push(o);
                    var r = Dt(o, e, n, t);
                    Pt(i, o, r), o in t || fn(t, "_props", o);
                };
                for (var r in e) o(r);
                $t(!0);
            }(t, e.props), e.methods && function(t, e) {
                t.$options.props;
                for (var n in e) t[n] = "function" != typeof e[n] ? O : P(e[n], t);
            }(t, e.methods), e.data ? function(t) {
                var e = t.$options.data;
                d(e = t._data = "function" == typeof e ? function(t, e) {
                    ht();
                    try {
                        return t.call(e, e);
                    } catch (t) {
                        return Bt(t, e, "data()"), {};
                    } finally {
                        gt();
                    }
                }(e, t) : e || {}) || (e = {});
                var n = Object.keys(e), i = t.$options.props, a = (t.$options.methods, n.length);
                for (;a--; ) {
                    var o = n[a];
                    0, i && _(i, o) || F(o) || fn(t, "_data", o);
                }
                Tt(e, !0);
            }(t) : Tt(t._data = {}, !0), e.computed && function(t, e) {
                var n = t._computedWatchers = Object.create(null), i = ot();
                for (var a in e) {
                    var o = e[a], r = "function" == typeof o ? o : o.get;
                    0, i || (n[a] = new hn(t, r || O, O, bn)), a in t || yn(t, a, o);
                }
            }(t, e.computed), e.watch && e.watch !== nt && function(t, e) {
                for (var n in e) {
                    var i = e[n];
                    if (Array.isArray(i)) for (var a = 0; a < i.length; a++) xn(t, n, i[a]); else xn(t, n, i);
                }
            }(t, e.watch);
        }
        var bn = {
            lazy: !0
        };
        function yn(t, e, n) {
            var i = !ot();
            "function" == typeof n ? (gn.get = i ? wn(e) : _n(n), gn.set = O) : (gn.get = n.get ? i && !1 !== n.cache ? wn(e) : _n(n.get) : O, 
            gn.set = n.set || O), Object.defineProperty(t, e, gn);
        }
        function wn(t) {
            return function() {
                var e = this._computedWatchers && this._computedWatchers[t];
                if (e) return e.dirty && e.evaluate(), ut.target && e.depend(), e.value;
            };
        }
        function _n(t) {
            return function() {
                return t.call(this, this);
            };
        }
        function xn(t, e, n, i) {
            return d(n) && (i = n, n = n.handler), "string" == typeof n && (n = t[n]), t.$watch(e, n, i);
        }
        var kn = 0;
        function Sn(t) {
            var e = t.options;
            if (t.super) {
                var n = Sn(t.super);
                if (n !== t.superOptions) {
                    t.superOptions = n;
                    var i = function(t) {
                        var e, n = t.options, i = t.sealedOptions;
                        for (var a in n) n[a] !== i[a] && (e || (e = {}), e[a] = n[a]);
                        return e;
                    }(t);
                    i && A(t.extendOptions, i), (e = t.options = jt(n, t.extendOptions)).name && (e.components[e.name] = t);
                }
            }
            return e;
        }
        function $n(t) {
            this._init(t);
        }
        function En(t) {
            t.cid = 0;
            var e = 1;
            t.extend = function(t) {
                t = t || {};
                var n = this, i = n.cid, a = t._Ctor || (t._Ctor = {});
                if (a[i]) return a[i];
                var o = t.name || n.options.name;
                var r = function(t) {
                    this._init(t);
                };
                return (r.prototype = Object.create(n.prototype)).constructor = r, r.cid = e++, 
                r.options = jt(n.options, t), r.super = n, r.options.props && function(t) {
                    var e = t.options.props;
                    for (var n in e) fn(t.prototype, "_props", n);
                }(r), r.options.computed && function(t) {
                    var e = t.options.computed;
                    for (var n in e) yn(t.prototype, n, e[n]);
                }(r), r.extend = n.extend, r.mixin = n.mixin, r.use = n.use, j.forEach((function(t) {
                    r[t] = n[t];
                })), o && (r.options.components[o] = r), r.superOptions = n.options, r.extendOptions = t, 
                r.sealedOptions = A({}, r.options), a[i] = r, r;
            };
        }
        function Tn(t) {
            return t && (t.Ctor.options.name || t.tag);
        }
        function Pn(t, e) {
            return Array.isArray(t) ? t.indexOf(e) > -1 : "string" == typeof t ? t.split(",").indexOf(e) > -1 : !!m(t) && t.test(e);
        }
        function Cn(t, e) {
            var n = t.cache, i = t.keys, a = t._vnode;
            for (var o in n) {
                var r = n[o];
                if (r) {
                    var s = Tn(r.componentOptions);
                    s && !e(s) && An(n, o, i, a);
                }
            }
        }
        function An(t, e, n, i) {
            var a = t[e];
            !a || i && a.tag === i.tag || a.componentInstance.$destroy(), t[e] = null, y(n, e);
        }
        !function(t) {
            t.prototype._init = function(t) {
                var e = this;
                e._uid = kn++, e._isVue = !0, t && t._isComponent ? function(t, e) {
                    var n = t.$options = Object.create(t.constructor.options), i = e._parentVnode;
                    n.parent = e.parent, n._parentVnode = i;
                    var a = i.componentOptions;
                    n.propsData = a.propsData, n._parentListeners = a.listeners, n._renderChildren = a.children, 
                    n._componentTag = a.tag, e.render && (n.render = e.render, n.staticRenderFns = e.staticRenderFns);
                }(e, t) : e.$options = jt(Sn(e.constructor), t || {}, e), e._renderProxy = e, e._self = e, 
                function(t) {
                    var e = t.$options, n = e.parent;
                    if (n && !e.abstract) {
                        for (;n.$options.abstract && n.$parent; ) n = n.$parent;
                        n.$children.push(t);
                    }
                    t.$parent = n, t.$root = n ? n.$root : t, t.$children = [], t.$refs = {}, t._watcher = null, 
                    t._inactive = null, t._directInactive = !1, t._isMounted = !1, t._isDestroyed = !1, 
                    t._isBeingDestroyed = !1;
                }(e), function(t) {
                    t._events = Object.create(null), t._hasHookEvent = !1;
                    var e = t.$options._parentListeners;
                    e && Ye(t, e);
                }(e), function(t) {
                    t._vnode = null, t._staticTrees = null;
                    var e = t.$options, n = t.$vnode = e._parentVnode, a = n && n.context;
                    t.$slots = he(e._renderChildren, a), t.$scopedSlots = i, t._c = function(e, n, i, a) {
                        return ze(t, e, n, i, a, !1);
                    }, t.$createElement = function(e, n, i, a) {
                        return ze(t, e, n, i, a, !0);
                    };
                    var o = n && n.data;
                    Pt(t, "$attrs", o && o.attrs || i, null, !0), Pt(t, "$listeners", e._parentListeners || i, null, !0);
                }(e), en(e, "beforeCreate"), function(t) {
                    var e = pe(t.$options.inject, t);
                    e && ($t(!1), Object.keys(e).forEach((function(n) {
                        Pt(t, n, e[n]);
                    })), $t(!0));
                }(e), vn(e), function(t) {
                    var e = t.$options.provide;
                    e && (t._provided = "function" == typeof e ? e.call(t) : e);
                }(e), en(e, "created"), e.$options.el && e.$mount(e.$options.el);
            };
        }($n), function(t) {
            var e = {
                get: function() {
                    return this._data;
                }
            }, n = {
                get: function() {
                    return this._props;
                }
            };
            Object.defineProperty(t.prototype, "$data", e), Object.defineProperty(t.prototype, "$props", n), 
            t.prototype.$set = Ct, t.prototype.$delete = At, t.prototype.$watch = function(t, e, n) {
                if (d(e)) return xn(this, t, e, n);
                (n = n || {}).user = !0;
                var i = new hn(this, t, e, n);
                if (n.immediate) try {
                    e.call(this, i.value);
                } catch (t) {
                    Bt(t, this, 'callback for immediate watcher "' + i.expression + '"');
                }
                return function() {
                    i.teardown();
                };
            };
        }($n), function(t) {
            var e = /^hook:/;
            t.prototype.$on = function(t, n) {
                var i = this;
                if (Array.isArray(t)) for (var a = 0, o = t.length; a < o; a++) i.$on(t[a], n); else (i._events[t] || (i._events[t] = [])).push(n), 
                e.test(t) && (i._hasHookEvent = !0);
                return i;
            }, t.prototype.$once = function(t, e) {
                var n = this;
                function i() {
                    n.$off(t, i), e.apply(n, arguments);
                }
                return i.fn = e, n.$on(t, i), n;
            }, t.prototype.$off = function(t, e) {
                var n = this;
                if (!arguments.length) return n._events = Object.create(null), n;
                if (Array.isArray(t)) {
                    for (var i = 0, a = t.length; i < a; i++) n.$off(t[i], e);
                    return n;
                }
                var o, r = n._events[t];
                if (!r) return n;
                if (!e) return n._events[t] = null, n;
                for (var s = r.length; s--; ) if ((o = r[s]) === e || o.fn === e) {
                    r.splice(s, 1);
                    break;
                }
                return n;
            }, t.prototype.$emit = function(t) {
                var e = this, n = e._events[t];
                if (n) {
                    n = n.length > 1 ? C(n) : n;
                    for (var i = C(arguments, 1), a = 'event handler for "' + t + '"', o = 0, r = n.length; o < r; o++) Kt(n[o], e, i, e, a);
                }
                return e;
            };
        }($n), function(t) {
            t.prototype._update = function(t, e) {
                var n = this, i = n.$el, a = n._vnode, o = Qe(n);
                n._vnode = t, n.$el = a ? n.__patch__(a, t) : n.__patch__(n.$el, t, e, !1), o(), 
                i && (i.__vue__ = null), n.$el && (n.$el.__vue__ = n), n.$vnode && n.$parent && n.$vnode === n.$parent._vnode && (n.$parent.$el = n.$el);
            }, t.prototype.$forceUpdate = function() {
                this._watcher && this._watcher.update();
            }, t.prototype.$destroy = function() {
                var t = this;
                if (!t._isBeingDestroyed) {
                    en(t, "beforeDestroy"), t._isBeingDestroyed = !0;
                    var e = t.$parent;
                    !e || e._isBeingDestroyed || t.$options.abstract || y(e.$children, t), t._watcher && t._watcher.teardown();
                    for (var n = t._watchers.length; n--; ) t._watchers[n].teardown();
                    t._data.__ob__ && t._data.__ob__.vmCount--, t._isDestroyed = !0, t.__patch__(t._vnode, null), 
                    en(t, "destroyed"), t.$off(), t.$el && (t.$el.__vue__ = null), t.$vnode && (t.$vnode.parent = null);
                }
            };
        }($n), function(t) {
            Ue(t.prototype), t.prototype.$nextTick = function(t) {
                return ie(t, this);
            }, t.prototype._render = function() {
                var t, e = this, n = e.$options, i = n.render, a = n._parentVnode;
                a && (e.$scopedSlots = fe(a.data.scopedSlots, e.$slots, e.$scopedSlots)), e.$vnode = a;
                try {
                    He = e, t = i.call(e._renderProxy, e.$createElement);
                } catch (n) {
                    Bt(n, e, "render"), t = e._vnode;
                } finally {
                    He = null;
                }
                return Array.isArray(t) && 1 === t.length && (t = t[0]), t instanceof ft || (t = bt()), 
                t.parent = a, t;
            };
        }($n);
        var In = [ String, RegExp, Array ], On = {
            KeepAlive: {
                name: "keep-alive",
                abstract: !0,
                props: {
                    include: In,
                    exclude: In,
                    max: [ String, Number ]
                },
                created: function() {
                    this.cache = Object.create(null), this.keys = [];
                },
                destroyed: function() {
                    for (var t in this.cache) An(this.cache, t, this.keys);
                },
                mounted: function() {
                    var t = this;
                    this.$watch("include", (function(e) {
                        Cn(t, (function(t) {
                            return Pn(e, t);
                        }));
                    })), this.$watch("exclude", (function(e) {
                        Cn(t, (function(t) {
                            return !Pn(e, t);
                        }));
                    }));
                },
                render: function() {
                    var t = this.$slots.default, e = qe(t), n = e && e.componentOptions;
                    if (n) {
                        var i = Tn(n), a = this.include, o = this.exclude;
                        if (a && (!i || !Pn(a, i)) || o && i && Pn(o, i)) return e;
                        var r = this.cache, s = this.keys, l = null == e.key ? n.Ctor.cid + (n.tag ? "::" + n.tag : "") : e.key;
                        r[l] ? (e.componentInstance = r[l].componentInstance, y(s, l), s.push(l)) : (r[l] = e, 
                        s.push(l), this.max && s.length > parseInt(this.max) && An(r, s[0], s, this._vnode)), 
                        e.data.keepAlive = !0;
                    }
                    return e || t && t[0];
                }
            }
        };
        !function(t) {
            var e = {
                get: function() {
                    return D;
                }
            };
            Object.defineProperty(t, "config", e), t.util = {
                warn: dt,
                extend: A,
                mergeOptions: jt,
                defineReactive: Pt
            }, t.set = Ct, t.delete = At, t.nextTick = ie, t.observable = function(t) {
                return Tt(t), t;
            }, t.options = Object.create(null), j.forEach((function(e) {
                t.options[e + "s"] = Object.create(null);
            })), t.options._base = t, A(t.options.components, On), function(t) {
                t.use = function(t) {
                    var e = this._installedPlugins || (this._installedPlugins = []);
                    if (e.indexOf(t) > -1) return this;
                    var n = C(arguments, 1);
                    return n.unshift(this), "function" == typeof t.install ? t.install.apply(t, n) : "function" == typeof t && t.apply(null, n), 
                    e.push(t), this;
                };
            }(t), function(t) {
                t.mixin = function(t) {
                    return this.options = jt(this.options, t), this;
                };
            }(t), En(t), function(t) {
                j.forEach((function(e) {
                    t[e] = function(t, n) {
                        return n ? ("component" === e && d(n) && (n.name = n.name || t, n = this.options._base.extend(n)), 
                        "directive" === e && "function" == typeof n && (n = {
                            bind: n,
                            update: n
                        }), this.options[e + "s"][t] = n, n) : this.options[e + "s"][t];
                    };
                }));
            }(t);
        }($n), Object.defineProperty($n.prototype, "$isServer", {
            get: ot
        }), Object.defineProperty($n.prototype, "$ssrContext", {
            get: function() {
                return this.$vnode && this.$vnode.ssrContext;
            }
        }), Object.defineProperty($n, "FunctionalRenderContext", {
            value: Me
        }), $n.version = "2.6.12";
        var Un = f("style,class"), Mn = f("input,textarea,option,select,progress"), Ln = function(t, e, n) {
            return "value" === n && Mn(t) && "button" !== e || "selected" === n && "option" === t || "checked" === n && "input" === t || "muted" === n && "video" === t;
        }, Nn = f("contenteditable,draggable,spellcheck"), Rn = f("events,caret,typing,plaintext-only"), jn = f("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"), Vn = "http://www.w3.org/1999/xlink", Dn = function(t) {
            return ":" === t.charAt(5) && "xlink" === t.slice(0, 5);
        }, zn = function(t) {
            return Dn(t) ? t.slice(6, t.length) : "";
        }, Fn = function(t) {
            return null == t || !1 === t;
        };
        function Hn(t) {
            for (var e = t.data, n = t, i = t; o(i.componentInstance); ) (i = i.componentInstance._vnode) && i.data && (e = Bn(i.data, e));
            for (;o(n = n.parent); ) n && n.data && (e = Bn(e, n.data));
            return function(t, e) {
                if (o(t) || o(e)) return Kn(t, qn(e));
                return "";
            }(e.staticClass, e.class);
        }
        function Bn(t, e) {
            return {
                staticClass: Kn(t.staticClass, e.staticClass),
                class: o(t.class) ? [ t.class, e.class ] : e.class
            };
        }
        function Kn(t, e) {
            return t ? e ? t + " " + e : t : e || "";
        }
        function qn(t) {
            return Array.isArray(t) ? function(t) {
                for (var e, n = "", i = 0, a = t.length; i < a; i++) o(e = qn(t[i])) && "" !== e && (n && (n += " "), 
                n += e);
                return n;
            }(t) : l(t) ? function(t) {
                var e = "";
                for (var n in t) t[n] && (e && (e += " "), e += n);
                return e;
            }(t) : "string" == typeof t ? t : "";
        }
        var Wn = {
            svg: "http://www.w3.org/2000/svg",
            math: "http://www.w3.org/1998/Math/MathML"
        }, Jn = f("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"), Gn = f("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view", !0), Yn = function(t) {
            return Jn(t) || Gn(t);
        };
        function Zn(t) {
            return Gn(t) ? "svg" : "math" === t ? "math" : void 0;
        }
        var Qn = Object.create(null);
        var Xn = f("text,number,password,search,email,tel,url");
        function ti(t) {
            if ("string" == typeof t) {
                var e = document.querySelector(t);
                return e || document.createElement("div");
            }
            return t;
        }
        var ei = Object.freeze({
            createElement: function(t, e) {
                var n = document.createElement(t);
                return "select" !== t || e.data && e.data.attrs && void 0 !== e.data.attrs.multiple && n.setAttribute("multiple", "multiple"), 
                n;
            },
            createElementNS: function(t, e) {
                return document.createElementNS(Wn[t], e);
            },
            createTextNode: function(t) {
                return document.createTextNode(t);
            },
            createComment: function(t) {
                return document.createComment(t);
            },
            insertBefore: function(t, e, n) {
                t.insertBefore(e, n);
            },
            removeChild: function(t, e) {
                t.removeChild(e);
            },
            appendChild: function(t, e) {
                t.appendChild(e);
            },
            parentNode: function(t) {
                return t.parentNode;
            },
            nextSibling: function(t) {
                return t.nextSibling;
            },
            tagName: function(t) {
                return t.tagName;
            },
            setTextContent: function(t, e) {
                t.textContent = e;
            },
            setStyleScope: function(t, e) {
                t.setAttribute(e, "");
            }
        }), ni = {
            create: function(t, e) {
                ii(e);
            },
            update: function(t, e) {
                t.data.ref !== e.data.ref && (ii(t, !0), ii(e));
            },
            destroy: function(t) {
                ii(t, !0);
            }
        };
        function ii(t, e) {
            var n = t.data.ref;
            if (o(n)) {
                var i = t.context, a = t.componentInstance || t.elm, r = i.$refs;
                e ? Array.isArray(r[n]) ? y(r[n], a) : r[n] === a && (r[n] = void 0) : t.data.refInFor ? Array.isArray(r[n]) ? r[n].indexOf(a) < 0 && r[n].push(a) : r[n] = [ a ] : r[n] = a;
            }
        }
        var ai = new ft("", {}, []), oi = [ "create", "activate", "update", "remove", "destroy" ];
        function ri(t, e) {
            return t.key === e.key && (t.tag === e.tag && t.isComment === e.isComment && o(t.data) === o(e.data) && function(t, e) {
                if ("input" !== t.tag) return !0;
                var n, i = o(n = t.data) && o(n = n.attrs) && n.type, a = o(n = e.data) && o(n = n.attrs) && n.type;
                return i === a || Xn(i) && Xn(a);
            }(t, e) || r(t.isAsyncPlaceholder) && t.asyncFactory === e.asyncFactory && a(e.asyncFactory.error));
        }
        function si(t, e, n) {
            var i, a, r = {};
            for (i = e; i <= n; ++i) o(a = t[i].key) && (r[a] = i);
            return r;
        }
        var li = {
            create: ci,
            update: ci,
            destroy: function(t) {
                ci(t, ai);
            }
        };
        function ci(t, e) {
            (t.data.directives || e.data.directives) && function(t, e) {
                var n, i, a, o = t === ai, r = e === ai, s = mi(t.data.directives, t.context), l = mi(e.data.directives, e.context), c = [], d = [];
                for (n in l) i = s[n], a = l[n], i ? (a.oldValue = i.value, a.oldArg = i.arg, pi(a, "update", e, t), 
                a.def && a.def.componentUpdated && d.push(a)) : (pi(a, "bind", e, t), a.def && a.def.inserted && c.push(a));
                if (c.length) {
                    var m = function() {
                        for (var n = 0; n < c.length; n++) pi(c[n], "inserted", e, t);
                    };
                    o ? ce(e, "insert", m) : m();
                }
                d.length && ce(e, "postpatch", (function() {
                    for (var n = 0; n < d.length; n++) pi(d[n], "componentUpdated", e, t);
                }));
                if (!o) for (n in s) l[n] || pi(s[n], "unbind", t, t, r);
            }(t, e);
        }
        var di = Object.create(null);
        function mi(t, e) {
            var n, i, a = Object.create(null);
            if (!t) return a;
            for (n = 0; n < t.length; n++) (i = t[n]).modifiers || (i.modifiers = di), a[ui(i)] = i, 
            i.def = Vt(e.$options, "directives", i.name);
            return a;
        }
        function ui(t) {
            return t.rawName || t.name + "." + Object.keys(t.modifiers || {}).join(".");
        }
        function pi(t, e, n, i, a) {
            var o = t.def && t.def[e];
            if (o) try {
                o(n.elm, t, n, i, a);
            } catch (i) {
                Bt(i, n.context, "directive " + t.name + " " + e + " hook");
            }
        }
        var hi = [ ni, li ];
        function gi(t, e) {
            var n = e.componentOptions;
            if (!(o(n) && !1 === n.Ctor.options.inheritAttrs || a(t.data.attrs) && a(e.data.attrs))) {
                var i, r, s = e.elm, l = t.data.attrs || {}, c = e.data.attrs || {};
                for (i in o(c.__ob__) && (c = e.data.attrs = A({}, c)), c) r = c[i], l[i] !== r && fi(s, i, r);
                for (i in (Z || X) && c.value !== l.value && fi(s, "value", c.value), l) a(c[i]) && (Dn(i) ? s.removeAttributeNS(Vn, zn(i)) : Nn(i) || s.removeAttribute(i));
            }
        }
        function fi(t, e, n) {
            t.tagName.indexOf("-") > -1 ? vi(t, e, n) : jn(e) ? Fn(n) ? t.removeAttribute(e) : (n = "allowfullscreen" === e && "EMBED" === t.tagName ? "true" : e, 
            t.setAttribute(e, n)) : Nn(e) ? t.setAttribute(e, function(t, e) {
                return Fn(e) || "false" === e ? "false" : "contenteditable" === t && Rn(e) ? e : "true";
            }(e, n)) : Dn(e) ? Fn(n) ? t.removeAttributeNS(Vn, zn(e)) : t.setAttributeNS(Vn, e, n) : vi(t, e, n);
        }
        function vi(t, e, n) {
            if (Fn(n)) t.removeAttribute(e); else {
                if (Z && !Q && "TEXTAREA" === t.tagName && "placeholder" === e && "" !== n && !t.__ieph) {
                    var i = function(e) {
                        e.stopImmediatePropagation(), t.removeEventListener("input", i);
                    };
                    t.addEventListener("input", i), t.__ieph = !0;
                }
                t.setAttribute(e, n);
            }
        }
        var bi = {
            create: gi,
            update: gi
        };
        function yi(t, e) {
            var n = e.elm, i = e.data, r = t.data;
            if (!(a(i.staticClass) && a(i.class) && (a(r) || a(r.staticClass) && a(r.class)))) {
                var s = Hn(e), l = n._transitionClasses;
                o(l) && (s = Kn(s, qn(l))), s !== n._prevClass && (n.setAttribute("class", s), n._prevClass = s);
            }
        }
        var wi, _i, xi, ki, Si, $i, Ei = {
            create: yi,
            update: yi
        }, Ti = /[\w).+\-_$\]]/;
        function Pi(t) {
            var e, n, i, a, o, r = !1, s = !1, l = !1, c = !1, d = 0, m = 0, u = 0, p = 0;
            for (i = 0; i < t.length; i++) if (n = e, e = t.charCodeAt(i), r) 39 === e && 92 !== n && (r = !1); else if (s) 34 === e && 92 !== n && (s = !1); else if (l) 96 === e && 92 !== n && (l = !1); else if (c) 47 === e && 92 !== n && (c = !1); else if (124 !== e || 124 === t.charCodeAt(i + 1) || 124 === t.charCodeAt(i - 1) || d || m || u) {
                switch (e) {
                  case 34:
                    s = !0;
                    break;

                  case 39:
                    r = !0;
                    break;

                  case 96:
                    l = !0;
                    break;

                  case 40:
                    u++;
                    break;

                  case 41:
                    u--;
                    break;

                  case 91:
                    m++;
                    break;

                  case 93:
                    m--;
                    break;

                  case 123:
                    d++;
                    break;

                  case 125:
                    d--;
                }
                if (47 === e) {
                    for (var h = i - 1, g = void 0; h >= 0 && " " === (g = t.charAt(h)); h--) ;
                    g && Ti.test(g) || (c = !0);
                }
            } else void 0 === a ? (p = i + 1, a = t.slice(0, i).trim()) : f();
            function f() {
                (o || (o = [])).push(t.slice(p, i).trim()), p = i + 1;
            }
            if (void 0 === a ? a = t.slice(0, i).trim() : 0 !== p && f(), o) for (i = 0; i < o.length; i++) a = Ci(a, o[i]);
            return a;
        }
        function Ci(t, e) {
            var n = e.indexOf("(");
            if (n < 0) return '_f("' + e + '")(' + t + ")";
            var i = e.slice(0, n), a = e.slice(n + 1);
            return '_f("' + i + '")(' + t + (")" !== a ? "," + a : a);
        }
        function Ai(t, e) {
            console.error("[Vue compiler]: " + t);
        }
        function Ii(t, e) {
            return t ? t.map((function(t) {
                return t[e];
            })).filter((function(t) {
                return t;
            })) : [];
        }
        function Oi(t, e, n, i, a) {
            (t.props || (t.props = [])).push(zi({
                name: e,
                value: n,
                dynamic: a
            }, i)), t.plain = !1;
        }
        function Ui(t, e, n, i, a) {
            (a ? t.dynamicAttrs || (t.dynamicAttrs = []) : t.attrs || (t.attrs = [])).push(zi({
                name: e,
                value: n,
                dynamic: a
            }, i)), t.plain = !1;
        }
        function Mi(t, e, n, i) {
            t.attrsMap[e] = n, t.attrsList.push(zi({
                name: e,
                value: n
            }, i));
        }
        function Li(t, e, n, i, a, o, r, s) {
            (t.directives || (t.directives = [])).push(zi({
                name: e,
                rawName: n,
                value: i,
                arg: a,
                isDynamicArg: o,
                modifiers: r
            }, s)), t.plain = !1;
        }
        function Ni(t, e, n) {
            return n ? "_p(" + e + ',"' + t + '")' : t + e;
        }
        function Ri(t, e, n, a, o, r, s, l) {
            var c;
            (a = a || i).right ? l ? e = "(" + e + ")==='click'?'contextmenu':(" + e + ")" : "click" === e && (e = "contextmenu", 
            delete a.right) : a.middle && (l ? e = "(" + e + ")==='click'?'mouseup':(" + e + ")" : "click" === e && (e = "mouseup")), 
            a.capture && (delete a.capture, e = Ni("!", e, l)), a.once && (delete a.once, e = Ni("~", e, l)), 
            a.passive && (delete a.passive, e = Ni("&", e, l)), a.native ? (delete a.native, 
            c = t.nativeEvents || (t.nativeEvents = {})) : c = t.events || (t.events = {});
            var d = zi({
                value: n.trim(),
                dynamic: l
            }, s);
            a !== i && (d.modifiers = a);
            var m = c[e];
            Array.isArray(m) ? o ? m.unshift(d) : m.push(d) : c[e] = m ? o ? [ d, m ] : [ m, d ] : d, 
            t.plain = !1;
        }
        function ji(t, e, n) {
            var i = Vi(t, ":" + e) || Vi(t, "v-bind:" + e);
            if (null != i) return Pi(i);
            if (!1 !== n) {
                var a = Vi(t, e);
                if (null != a) return JSON.stringify(a);
            }
        }
        function Vi(t, e, n) {
            var i;
            if (null != (i = t.attrsMap[e])) for (var a = t.attrsList, o = 0, r = a.length; o < r; o++) if (a[o].name === e) {
                a.splice(o, 1);
                break;
            }
            return n && delete t.attrsMap[e], i;
        }
        function Di(t, e) {
            for (var n = t.attrsList, i = 0, a = n.length; i < a; i++) {
                var o = n[i];
                if (e.test(o.name)) return n.splice(i, 1), o;
            }
        }
        function zi(t, e) {
            return e && (null != e.start && (t.start = e.start), null != e.end && (t.end = e.end)), 
            t;
        }
        function Fi(t, e, n) {
            var i = n || {}, a = i.number, o = "$$v";
            i.trim && (o = "(typeof $$v === 'string'? $$v.trim(): $$v)"), a && (o = "_n(" + o + ")");
            var r = Hi(e, o);
            t.model = {
                value: "(" + e + ")",
                expression: JSON.stringify(e),
                callback: "function ($$v) {" + r + "}"
            };
        }
        function Hi(t, e) {
            var n = function(t) {
                if (t = t.trim(), wi = t.length, t.indexOf("[") < 0 || t.lastIndexOf("]") < wi - 1) return (ki = t.lastIndexOf(".")) > -1 ? {
                    exp: t.slice(0, ki),
                    key: '"' + t.slice(ki + 1) + '"'
                } : {
                    exp: t,
                    key: null
                };
                _i = t, ki = Si = $i = 0;
                for (;!Ki(); ) qi(xi = Bi()) ? Ji(xi) : 91 === xi && Wi(xi);
                return {
                    exp: t.slice(0, Si),
                    key: t.slice(Si + 1, $i)
                };
            }(t);
            return null === n.key ? t + "=" + e : "$set(" + n.exp + ", " + n.key + ", " + e + ")";
        }
        function Bi() {
            return _i.charCodeAt(++ki);
        }
        function Ki() {
            return ki >= wi;
        }
        function qi(t) {
            return 34 === t || 39 === t;
        }
        function Wi(t) {
            var e = 1;
            for (Si = ki; !Ki(); ) if (qi(t = Bi())) Ji(t); else if (91 === t && e++, 93 === t && e--, 
            0 === e) {
                $i = ki;
                break;
            }
        }
        function Ji(t) {
            for (var e = t; !Ki() && (t = Bi()) !== e; ) ;
        }
        var Gi;
        function Yi(t, e, n) {
            var i = Gi;
            return function a() {
                var o = e.apply(null, arguments);
                null !== o && Xi(t, a, n, i);
            };
        }
        var Zi = Gt && !(et && Number(et[1]) <= 53);
        function Qi(t, e, n, i) {
            if (Zi) {
                var a = cn, o = e;
                e = o._wrapper = function(t) {
                    if (t.target === t.currentTarget || t.timeStamp >= a || t.timeStamp <= 0 || t.target.ownerDocument !== document) return o.apply(this, arguments);
                };
            }
            Gi.addEventListener(t, e, it ? {
                capture: n,
                passive: i
            } : n);
        }
        function Xi(t, e, n, i) {
            (i || Gi).removeEventListener(t, e._wrapper || e, n);
        }
        function ta(t, e) {
            if (!a(t.data.on) || !a(e.data.on)) {
                var n = e.data.on || {}, i = t.data.on || {};
                Gi = e.elm, function(t) {
                    if (o(t.__r)) {
                        var e = Z ? "change" : "input";
                        t[e] = [].concat(t.__r, t[e] || []), delete t.__r;
                    }
                    o(t.__c) && (t.change = [].concat(t.__c, t.change || []), delete t.__c);
                }(n), le(n, i, Qi, Xi, Yi, e.context), Gi = void 0;
            }
        }
        var ea, na = {
            create: ta,
            update: ta
        };
        function ia(t, e) {
            if (!a(t.data.domProps) || !a(e.data.domProps)) {
                var n, i, r = e.elm, s = t.data.domProps || {}, l = e.data.domProps || {};
                for (n in o(l.__ob__) && (l = e.data.domProps = A({}, l)), s) n in l || (r[n] = "");
                for (n in l) {
                    if (i = l[n], "textContent" === n || "innerHTML" === n) {
                        if (e.children && (e.children.length = 0), i === s[n]) continue;
                        1 === r.childNodes.length && r.removeChild(r.childNodes[0]);
                    }
                    if ("value" === n && "PROGRESS" !== r.tagName) {
                        r._value = i;
                        var c = a(i) ? "" : String(i);
                        aa(r, c) && (r.value = c);
                    } else if ("innerHTML" === n && Gn(r.tagName) && a(r.innerHTML)) {
                        (ea = ea || document.createElement("div")).innerHTML = "<svg>" + i + "</svg>";
                        for (var d = ea.firstChild; r.firstChild; ) r.removeChild(r.firstChild);
                        for (;d.firstChild; ) r.appendChild(d.firstChild);
                    } else if (i !== s[n]) try {
                        r[n] = i;
                    } catch (t) {}
                }
            }
        }
        function aa(t, e) {
            return !t.composing && ("OPTION" === t.tagName || function(t, e) {
                var n = !0;
                try {
                    n = document.activeElement !== t;
                } catch (t) {}
                return n && t.value !== e;
            }(t, e) || function(t, e) {
                var n = t.value, i = t._vModifiers;
                if (o(i)) {
                    if (i.number) return g(n) !== g(e);
                    if (i.trim) return n.trim() !== e.trim();
                }
                return n !== e;
            }(t, e));
        }
        var oa = {
            create: ia,
            update: ia
        }, ra = x((function(t) {
            var e = {}, n = /:(.+)/;
            return t.split(/;(?![^(]*\))/g).forEach((function(t) {
                if (t) {
                    var i = t.split(n);
                    i.length > 1 && (e[i[0].trim()] = i[1].trim());
                }
            })), e;
        }));
        function sa(t) {
            var e = la(t.style);
            return t.staticStyle ? A(t.staticStyle, e) : e;
        }
        function la(t) {
            return Array.isArray(t) ? I(t) : "string" == typeof t ? ra(t) : t;
        }
        var ca, da = /^--/, ma = /\s*!important$/, ua = function(t, e, n) {
            if (da.test(e)) t.style.setProperty(e, n); else if (ma.test(n)) t.style.setProperty(T(e), n.replace(ma, ""), "important"); else {
                var i = ha(e);
                if (Array.isArray(n)) for (var a = 0, o = n.length; a < o; a++) t.style[i] = n[a]; else t.style[i] = n;
            }
        }, pa = [ "Webkit", "Moz", "ms" ], ha = x((function(t) {
            if (ca = ca || document.createElement("div").style, "filter" !== (t = S(t)) && t in ca) return t;
            for (var e = t.charAt(0).toUpperCase() + t.slice(1), n = 0; n < pa.length; n++) {
                var i = pa[n] + e;
                if (i in ca) return i;
            }
        }));
        function ga(t, e) {
            var n = e.data, i = t.data;
            if (!(a(n.staticStyle) && a(n.style) && a(i.staticStyle) && a(i.style))) {
                var r, s, l = e.elm, c = i.staticStyle, d = i.normalizedStyle || i.style || {}, m = c || d, u = la(e.data.style) || {};
                e.data.normalizedStyle = o(u.__ob__) ? A({}, u) : u;
                var p = function(t, e) {
                    var n, i = {};
                    if (e) for (var a = t; a.componentInstance; ) (a = a.componentInstance._vnode) && a.data && (n = sa(a.data)) && A(i, n);
                    (n = sa(t.data)) && A(i, n);
                    for (var o = t; o = o.parent; ) o.data && (n = sa(o.data)) && A(i, n);
                    return i;
                }(e, !0);
                for (s in m) a(p[s]) && ua(l, s, "");
                for (s in p) (r = p[s]) !== m[s] && ua(l, s, null == r ? "" : r);
            }
        }
        var fa = {
            create: ga,
            update: ga
        }, va = /\s+/;
        function ba(t, e) {
            if (e && (e = e.trim())) if (t.classList) e.indexOf(" ") > -1 ? e.split(va).forEach((function(e) {
                return t.classList.add(e);
            })) : t.classList.add(e); else {
                var n = " " + (t.getAttribute("class") || "") + " ";
                n.indexOf(" " + e + " ") < 0 && t.setAttribute("class", (n + e).trim());
            }
        }
        function ya(t, e) {
            if (e && (e = e.trim())) if (t.classList) e.indexOf(" ") > -1 ? e.split(va).forEach((function(e) {
                return t.classList.remove(e);
            })) : t.classList.remove(e), t.classList.length || t.removeAttribute("class"); else {
                for (var n = " " + (t.getAttribute("class") || "") + " ", i = " " + e + " "; n.indexOf(i) >= 0; ) n = n.replace(i, " ");
                (n = n.trim()) ? t.setAttribute("class", n) : t.removeAttribute("class");
            }
        }
        function wa(t) {
            if (t) {
                if ("object" == typeof t) {
                    var e = {};
                    return !1 !== t.css && A(e, _a(t.name || "v")), A(e, t), e;
                }
                return "string" == typeof t ? _a(t) : void 0;
            }
        }
        var _a = x((function(t) {
            return {
                enterClass: t + "-enter",
                enterToClass: t + "-enter-to",
                enterActiveClass: t + "-enter-active",
                leaveClass: t + "-leave",
                leaveToClass: t + "-leave-to",
                leaveActiveClass: t + "-leave-active"
            };
        })), xa = W && !Q, ka = "transition", Sa = "transitionend", $a = "animation", Ea = "animationend";
        xa && (void 0 === window.ontransitionend && void 0 !== window.onwebkittransitionend && (ka = "WebkitTransition", 
        Sa = "webkitTransitionEnd"), void 0 === window.onanimationend && void 0 !== window.onwebkitanimationend && ($a = "WebkitAnimation", 
        Ea = "webkitAnimationEnd"));
        var Ta = W ? window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : setTimeout : function(t) {
            return t();
        };
        function Pa(t) {
            Ta((function() {
                Ta(t);
            }));
        }
        function Ca(t, e) {
            var n = t._transitionClasses || (t._transitionClasses = []);
            n.indexOf(e) < 0 && (n.push(e), ba(t, e));
        }
        function Aa(t, e) {
            t._transitionClasses && y(t._transitionClasses, e), ya(t, e);
        }
        function Ia(t, e, n) {
            var i = Ua(t, e), a = i.type, o = i.timeout, r = i.propCount;
            if (!a) return n();
            var s = "transition" === a ? Sa : Ea, l = 0, c = function() {
                t.removeEventListener(s, d), n();
            }, d = function(e) {
                e.target === t && ++l >= r && c();
            };
            setTimeout((function() {
                l < r && c();
            }), o + 1), t.addEventListener(s, d);
        }
        var Oa = /\b(transform|all)(,|$)/;
        function Ua(t, e) {
            var n, i = window.getComputedStyle(t), a = (i[ka + "Delay"] || "").split(", "), o = (i[ka + "Duration"] || "").split(", "), r = Ma(a, o), s = (i[$a + "Delay"] || "").split(", "), l = (i[$a + "Duration"] || "").split(", "), c = Ma(s, l), d = 0, m = 0;
            return "transition" === e ? r > 0 && (n = "transition", d = r, m = o.length) : "animation" === e ? c > 0 && (n = "animation", 
            d = c, m = l.length) : m = (n = (d = Math.max(r, c)) > 0 ? r > c ? "transition" : "animation" : null) ? "transition" === n ? o.length : l.length : 0, 
            {
                type: n,
                timeout: d,
                propCount: m,
                hasTransform: "transition" === n && Oa.test(i[ka + "Property"])
            };
        }
        function Ma(t, e) {
            for (;t.length < e.length; ) t = t.concat(t);
            return Math.max.apply(null, e.map((function(e, n) {
                return La(e) + La(t[n]);
            })));
        }
        function La(t) {
            return 1e3 * Number(t.slice(0, -1).replace(",", "."));
        }
        function Na(t, e) {
            var n = t.elm;
            o(n._leaveCb) && (n._leaveCb.cancelled = !0, n._leaveCb());
            var i = wa(t.data.transition);
            if (!a(i) && !o(n._enterCb) && 1 === n.nodeType) {
                for (var r = i.css, s = i.type, c = i.enterClass, d = i.enterToClass, m = i.enterActiveClass, u = i.appearClass, p = i.appearToClass, h = i.appearActiveClass, f = i.beforeEnter, v = i.enter, b = i.afterEnter, y = i.enterCancelled, w = i.beforeAppear, _ = i.appear, x = i.afterAppear, k = i.appearCancelled, S = i.duration, $ = Ze, E = Ze.$vnode; E && E.parent; ) $ = E.context, 
                E = E.parent;
                var T = !$._isMounted || !t.isRootInsert;
                if (!T || _ || "" === _) {
                    var P = T && u ? u : c, C = T && h ? h : m, A = T && p ? p : d, I = T && w || f, O = T && "function" == typeof _ ? _ : v, U = T && x || b, M = T && k || y, L = g(l(S) ? S.enter : S);
                    0;
                    var N = !1 !== r && !Q, j = Va(O), V = n._enterCb = R((function() {
                        N && (Aa(n, A), Aa(n, C)), V.cancelled ? (N && Aa(n, P), M && M(n)) : U && U(n), 
                        n._enterCb = null;
                    }));
                    t.data.show || ce(t, "insert", (function() {
                        var e = n.parentNode, i = e && e._pending && e._pending[t.key];
                        i && i.tag === t.tag && i.elm._leaveCb && i.elm._leaveCb(), O && O(n, V);
                    })), I && I(n), N && (Ca(n, P), Ca(n, C), Pa((function() {
                        Aa(n, P), V.cancelled || (Ca(n, A), j || (ja(L) ? setTimeout(V, L) : Ia(n, s, V)));
                    }))), t.data.show && (e && e(), O && O(n, V)), N || j || V();
                }
            }
        }
        function Ra(t, e) {
            var n = t.elm;
            o(n._enterCb) && (n._enterCb.cancelled = !0, n._enterCb());
            var i = wa(t.data.transition);
            if (a(i) || 1 !== n.nodeType) return e();
            if (!o(n._leaveCb)) {
                var r = i.css, s = i.type, c = i.leaveClass, d = i.leaveToClass, m = i.leaveActiveClass, u = i.beforeLeave, p = i.leave, h = i.afterLeave, f = i.leaveCancelled, v = i.delayLeave, b = i.duration, y = !1 !== r && !Q, w = Va(p), _ = g(l(b) ? b.leave : b);
                0;
                var x = n._leaveCb = R((function() {
                    n.parentNode && n.parentNode._pending && (n.parentNode._pending[t.key] = null), 
                    y && (Aa(n, d), Aa(n, m)), x.cancelled ? (y && Aa(n, c), f && f(n)) : (e(), h && h(n)), 
                    n._leaveCb = null;
                }));
                v ? v(k) : k();
            }
            function k() {
                x.cancelled || (!t.data.show && n.parentNode && ((n.parentNode._pending || (n.parentNode._pending = {}))[t.key] = t), 
                u && u(n), y && (Ca(n, c), Ca(n, m), Pa((function() {
                    Aa(n, c), x.cancelled || (Ca(n, d), w || (ja(_) ? setTimeout(x, _) : Ia(n, s, x)));
                }))), p && p(n, x), y || w || x());
            }
        }
        function ja(t) {
            return "number" == typeof t && !isNaN(t);
        }
        function Va(t) {
            if (a(t)) return !1;
            var e = t.fns;
            return o(e) ? Va(Array.isArray(e) ? e[0] : e) : (t._length || t.length) > 1;
        }
        function Da(t, e) {
            !0 !== e.data.show && Na(e);
        }
        var za = function(t) {
            var e, n, i = {}, l = t.modules, c = t.nodeOps;
            for (e = 0; e < oi.length; ++e) for (i[oi[e]] = [], n = 0; n < l.length; ++n) o(l[n][oi[e]]) && i[oi[e]].push(l[n][oi[e]]);
            function d(t) {
                var e = c.parentNode(t);
                o(e) && c.removeChild(e, t);
            }
            function m(t, e, n, a, s, l, d) {
                if (o(t.elm) && o(l) && (t = l[d] = wt(t)), t.isRootInsert = !s, !function(t, e, n, a) {
                    var s = t.data;
                    if (o(s)) {
                        var l = o(t.componentInstance) && s.keepAlive;
                        if (o(s = s.hook) && o(s = s.init) && s(t, !1), o(t.componentInstance)) return u(t, e), 
                        p(n, t.elm, a), r(l) && function(t, e, n, a) {
                            var r, s = t;
                            for (;s.componentInstance; ) if (s = s.componentInstance._vnode, o(r = s.data) && o(r = r.transition)) {
                                for (r = 0; r < i.activate.length; ++r) i.activate[r](ai, s);
                                e.push(s);
                                break;
                            }
                            p(n, t.elm, a);
                        }(t, e, n, a), !0;
                    }
                }(t, e, n, a)) {
                    var m = t.data, g = t.children, f = t.tag;
                    o(f) ? (t.elm = t.ns ? c.createElementNS(t.ns, f) : c.createElement(f, t), b(t), 
                    h(t, g, e), o(m) && v(t, e), p(n, t.elm, a)) : r(t.isComment) ? (t.elm = c.createComment(t.text), 
                    p(n, t.elm, a)) : (t.elm = c.createTextNode(t.text), p(n, t.elm, a));
                }
            }
            function u(t, e) {
                o(t.data.pendingInsert) && (e.push.apply(e, t.data.pendingInsert), t.data.pendingInsert = null), 
                t.elm = t.componentInstance.$el, g(t) ? (v(t, e), b(t)) : (ii(t), e.push(t));
            }
            function p(t, e, n) {
                o(t) && (o(n) ? c.parentNode(n) === t && c.insertBefore(t, e, n) : c.appendChild(t, e));
            }
            function h(t, e, n) {
                if (Array.isArray(e)) {
                    0;
                    for (var i = 0; i < e.length; ++i) m(e[i], n, t.elm, null, !0, e, i);
                } else s(t.text) && c.appendChild(t.elm, c.createTextNode(String(t.text)));
            }
            function g(t) {
                for (;t.componentInstance; ) t = t.componentInstance._vnode;
                return o(t.tag);
            }
            function v(t, n) {
                for (var a = 0; a < i.create.length; ++a) i.create[a](ai, t);
                o(e = t.data.hook) && (o(e.create) && e.create(ai, t), o(e.insert) && n.push(t));
            }
            function b(t) {
                var e;
                if (o(e = t.fnScopeId)) c.setStyleScope(t.elm, e); else for (var n = t; n; ) o(e = n.context) && o(e = e.$options._scopeId) && c.setStyleScope(t.elm, e), 
                n = n.parent;
                o(e = Ze) && e !== t.context && e !== t.fnContext && o(e = e.$options._scopeId) && c.setStyleScope(t.elm, e);
            }
            function y(t, e, n, i, a, o) {
                for (;i <= a; ++i) m(n[i], o, t, e, !1, n, i);
            }
            function w(t) {
                var e, n, a = t.data;
                if (o(a)) for (o(e = a.hook) && o(e = e.destroy) && e(t), e = 0; e < i.destroy.length; ++e) i.destroy[e](t);
                if (o(e = t.children)) for (n = 0; n < t.children.length; ++n) w(t.children[n]);
            }
            function _(t, e, n) {
                for (;e <= n; ++e) {
                    var i = t[e];
                    o(i) && (o(i.tag) ? (x(i), w(i)) : d(i.elm));
                }
            }
            function x(t, e) {
                if (o(e) || o(t.data)) {
                    var n, a = i.remove.length + 1;
                    for (o(e) ? e.listeners += a : e = function(t, e) {
                        function n() {
                            0 == --n.listeners && d(t);
                        }
                        return n.listeners = e, n;
                    }(t.elm, a), o(n = t.componentInstance) && o(n = n._vnode) && o(n.data) && x(n, e), 
                    n = 0; n < i.remove.length; ++n) i.remove[n](t, e);
                    o(n = t.data.hook) && o(n = n.remove) ? n(t, e) : e();
                } else d(t.elm);
            }
            function k(t, e, n, i) {
                for (var a = n; a < i; a++) {
                    var r = e[a];
                    if (o(r) && ri(t, r)) return a;
                }
            }
            function S(t, e, n, s, l, d) {
                if (t !== e) {
                    o(e.elm) && o(s) && (e = s[l] = wt(e));
                    var u = e.elm = t.elm;
                    if (r(t.isAsyncPlaceholder)) o(e.asyncFactory.resolved) ? T(t.elm, e, n) : e.isAsyncPlaceholder = !0; else if (r(e.isStatic) && r(t.isStatic) && e.key === t.key && (r(e.isCloned) || r(e.isOnce))) e.componentInstance = t.componentInstance; else {
                        var p, h = e.data;
                        o(h) && o(p = h.hook) && o(p = p.prepatch) && p(t, e);
                        var f = t.children, v = e.children;
                        if (o(h) && g(e)) {
                            for (p = 0; p < i.update.length; ++p) i.update[p](t, e);
                            o(p = h.hook) && o(p = p.update) && p(t, e);
                        }
                        a(e.text) ? o(f) && o(v) ? f !== v && function(t, e, n, i, r) {
                            var s, l, d, u = 0, p = 0, h = e.length - 1, g = e[0], f = e[h], v = n.length - 1, b = n[0], w = n[v], x = !r;
                            for (0; u <= h && p <= v; ) a(g) ? g = e[++u] : a(f) ? f = e[--h] : ri(g, b) ? (S(g, b, i, n, p), 
                            g = e[++u], b = n[++p]) : ri(f, w) ? (S(f, w, i, n, v), f = e[--h], w = n[--v]) : ri(g, w) ? (S(g, w, i, n, v), 
                            x && c.insertBefore(t, g.elm, c.nextSibling(f.elm)), g = e[++u], w = n[--v]) : ri(f, b) ? (S(f, b, i, n, p), 
                            x && c.insertBefore(t, f.elm, g.elm), f = e[--h], b = n[++p]) : (a(s) && (s = si(e, u, h)), 
                            a(l = o(b.key) ? s[b.key] : k(b, e, u, h)) ? m(b, i, t, g.elm, !1, n, p) : ri(d = e[l], b) ? (S(d, b, i, n, p), 
                            e[l] = void 0, x && c.insertBefore(t, d.elm, g.elm)) : m(b, i, t, g.elm, !1, n, p), 
                            b = n[++p]);
                            u > h ? y(t, a(n[v + 1]) ? null : n[v + 1].elm, n, p, v, i) : p > v && _(e, u, h);
                        }(u, f, v, n, d) : o(v) ? (o(t.text) && c.setTextContent(u, ""), y(u, null, v, 0, v.length - 1, n)) : o(f) ? _(f, 0, f.length - 1) : o(t.text) && c.setTextContent(u, "") : t.text !== e.text && c.setTextContent(u, e.text), 
                        o(h) && o(p = h.hook) && o(p = p.postpatch) && p(t, e);
                    }
                }
            }
            function $(t, e, n) {
                if (r(n) && o(t.parent)) t.parent.data.pendingInsert = e; else for (var i = 0; i < e.length; ++i) e[i].data.hook.insert(e[i]);
            }
            var E = f("attrs,class,staticClass,staticStyle,key");
            function T(t, e, n, i) {
                var a, s = e.tag, l = e.data, c = e.children;
                if (i = i || l && l.pre, e.elm = t, r(e.isComment) && o(e.asyncFactory)) return e.isAsyncPlaceholder = !0, 
                !0;
                if (o(l) && (o(a = l.hook) && o(a = a.init) && a(e, !0), o(a = e.componentInstance))) return u(e, n), 
                !0;
                if (o(s)) {
                    if (o(c)) if (t.hasChildNodes()) if (o(a = l) && o(a = a.domProps) && o(a = a.innerHTML)) {
                        if (a !== t.innerHTML) return !1;
                    } else {
                        for (var d = !0, m = t.firstChild, p = 0; p < c.length; p++) {
                            if (!m || !T(m, c[p], n, i)) {
                                d = !1;
                                break;
                            }
                            m = m.nextSibling;
                        }
                        if (!d || m) return !1;
                    } else h(e, c, n);
                    if (o(l)) {
                        var g = !1;
                        for (var f in l) if (!E(f)) {
                            g = !0, v(e, n);
                            break;
                        }
                        !g && l.class && oe(l.class);
                    }
                } else t.data !== e.text && (t.data = e.text);
                return !0;
            }
            return function(t, e, n, s) {
                if (!a(e)) {
                    var l, d = !1, u = [];
                    if (a(t)) d = !0, m(e, u); else {
                        var p = o(t.nodeType);
                        if (!p && ri(t, e)) S(t, e, u, null, null, s); else {
                            if (p) {
                                if (1 === t.nodeType && t.hasAttribute("data-server-rendered") && (t.removeAttribute("data-server-rendered"), 
                                n = !0), r(n) && T(t, e, u)) return $(e, u, !0), t;
                                l = t, t = new ft(c.tagName(l).toLowerCase(), {}, [], void 0, l);
                            }
                            var h = t.elm, f = c.parentNode(h);
                            if (m(e, u, h._leaveCb ? null : f, c.nextSibling(h)), o(e.parent)) for (var v = e.parent, b = g(e); v; ) {
                                for (var y = 0; y < i.destroy.length; ++y) i.destroy[y](v);
                                if (v.elm = e.elm, b) {
                                    for (var x = 0; x < i.create.length; ++x) i.create[x](ai, v);
                                    var k = v.data.hook.insert;
                                    if (k.merged) for (var E = 1; E < k.fns.length; E++) k.fns[E]();
                                } else ii(v);
                                v = v.parent;
                            }
                            o(f) ? _([ t ], 0, 0) : o(t.tag) && w(t);
                        }
                    }
                    return $(e, u, d), e.elm;
                }
                o(t) && w(t);
            };
        }({
            nodeOps: ei,
            modules: [ bi, Ei, na, oa, fa, W ? {
                create: Da,
                activate: Da,
                remove: function(t, e) {
                    !0 !== t.data.show ? Ra(t, e) : e();
                }
            } : {} ].concat(hi)
        });
        Q && document.addEventListener("selectionchange", (function() {
            var t = document.activeElement;
            t && t.vmodel && Ga(t, "input");
        }));
        var Fa = {
            inserted: function(t, e, n, i) {
                "select" === n.tag ? (i.elm && !i.elm._vOptions ? ce(n, "postpatch", (function() {
                    Fa.componentUpdated(t, e, n);
                })) : Ha(t, e, n.context), t._vOptions = [].map.call(t.options, qa)) : ("textarea" === n.tag || Xn(t.type)) && (t._vModifiers = e.modifiers, 
                e.modifiers.lazy || (t.addEventListener("compositionstart", Wa), t.addEventListener("compositionend", Ja), 
                t.addEventListener("change", Ja), Q && (t.vmodel = !0)));
            },
            componentUpdated: function(t, e, n) {
                if ("select" === n.tag) {
                    Ha(t, e, n.context);
                    var i = t._vOptions, a = t._vOptions = [].map.call(t.options, qa);
                    if (a.some((function(t, e) {
                        return !L(t, i[e]);
                    }))) (t.multiple ? e.value.some((function(t) {
                        return Ka(t, a);
                    })) : e.value !== e.oldValue && Ka(e.value, a)) && Ga(t, "change");
                }
            }
        };
        function Ha(t, e, n) {
            Ba(t, e, n), (Z || X) && setTimeout((function() {
                Ba(t, e, n);
            }), 0);
        }
        function Ba(t, e, n) {
            var i = e.value, a = t.multiple;
            if (!a || Array.isArray(i)) {
                for (var o, r, s = 0, l = t.options.length; s < l; s++) if (r = t.options[s], a) o = N(i, qa(r)) > -1, 
                r.selected !== o && (r.selected = o); else if (L(qa(r), i)) return void (t.selectedIndex !== s && (t.selectedIndex = s));
                a || (t.selectedIndex = -1);
            }
        }
        function Ka(t, e) {
            return e.every((function(e) {
                return !L(e, t);
            }));
        }
        function qa(t) {
            return "_value" in t ? t._value : t.value;
        }
        function Wa(t) {
            t.target.composing = !0;
        }
        function Ja(t) {
            t.target.composing && (t.target.composing = !1, Ga(t.target, "input"));
        }
        function Ga(t, e) {
            var n = document.createEvent("HTMLEvents");
            n.initEvent(e, !0, !0), t.dispatchEvent(n);
        }
        function Ya(t) {
            return !t.componentInstance || t.data && t.data.transition ? t : Ya(t.componentInstance._vnode);
        }
        var Za = {
            model: Fa,
            show: {
                bind: function(t, e, n) {
                    var i = e.value, a = (n = Ya(n)).data && n.data.transition, o = t.__vOriginalDisplay = "none" === t.style.display ? "" : t.style.display;
                    i && a ? (n.data.show = !0, Na(n, (function() {
                        t.style.display = o;
                    }))) : t.style.display = i ? o : "none";
                },
                update: function(t, e, n) {
                    var i = e.value;
                    !i != !e.oldValue && ((n = Ya(n)).data && n.data.transition ? (n.data.show = !0, 
                    i ? Na(n, (function() {
                        t.style.display = t.__vOriginalDisplay;
                    })) : Ra(n, (function() {
                        t.style.display = "none";
                    }))) : t.style.display = i ? t.__vOriginalDisplay : "none");
                },
                unbind: function(t, e, n, i, a) {
                    a || (t.style.display = t.__vOriginalDisplay);
                }
            }
        }, Qa = {
            name: String,
            appear: Boolean,
            css: Boolean,
            mode: String,
            type: String,
            enterClass: String,
            leaveClass: String,
            enterToClass: String,
            leaveToClass: String,
            enterActiveClass: String,
            leaveActiveClass: String,
            appearClass: String,
            appearActiveClass: String,
            appearToClass: String,
            duration: [ Number, String, Object ]
        };
        function Xa(t) {
            var e = t && t.componentOptions;
            return e && e.Ctor.options.abstract ? Xa(qe(e.children)) : t;
        }
        function to(t) {
            var e = {}, n = t.$options;
            for (var i in n.propsData) e[i] = t[i];
            var a = n._parentListeners;
            for (var o in a) e[S(o)] = a[o];
            return e;
        }
        function eo(t, e) {
            if (/\d-keep-alive$/.test(e.tag)) return t("keep-alive", {
                props: e.componentOptions.propsData
            });
        }
        var no = function(t) {
            return t.tag || Ke(t);
        }, io = function(t) {
            return "show" === t.name;
        }, ao = {
            name: "transition",
            props: Qa,
            abstract: !0,
            render: function(t) {
                var e = this, n = this.$slots.default;
                if (n && (n = n.filter(no)).length) {
                    0;
                    var i = this.mode;
                    0;
                    var a = n[0];
                    if (function(t) {
                        for (;t = t.parent; ) if (t.data.transition) return !0;
                    }(this.$vnode)) return a;
                    var o = Xa(a);
                    if (!o) return a;
                    if (this._leaving) return eo(t, a);
                    var r = "__transition-" + this._uid + "-";
                    o.key = null == o.key ? o.isComment ? r + "comment" : r + o.tag : s(o.key) ? 0 === String(o.key).indexOf(r) ? o.key : r + o.key : o.key;
                    var l = (o.data || (o.data = {})).transition = to(this), c = this._vnode, d = Xa(c);
                    if (o.data.directives && o.data.directives.some(io) && (o.data.show = !0), d && d.data && !function(t, e) {
                        return e.key === t.key && e.tag === t.tag;
                    }(o, d) && !Ke(d) && (!d.componentInstance || !d.componentInstance._vnode.isComment)) {
                        var m = d.data.transition = A({}, l);
                        if ("out-in" === i) return this._leaving = !0, ce(m, "afterLeave", (function() {
                            e._leaving = !1, e.$forceUpdate();
                        })), eo(t, a);
                        if ("in-out" === i) {
                            if (Ke(o)) return c;
                            var u, p = function() {
                                u();
                            };
                            ce(l, "afterEnter", p), ce(l, "enterCancelled", p), ce(m, "delayLeave", (function(t) {
                                u = t;
                            }));
                        }
                    }
                    return a;
                }
            }
        }, oo = A({
            tag: String,
            moveClass: String
        }, Qa);
        function ro(t) {
            t.elm._moveCb && t.elm._moveCb(), t.elm._enterCb && t.elm._enterCb();
        }
        function so(t) {
            t.data.newPos = t.elm.getBoundingClientRect();
        }
        function lo(t) {
            var e = t.data.pos, n = t.data.newPos, i = e.left - n.left, a = e.top - n.top;
            if (i || a) {
                t.data.moved = !0;
                var o = t.elm.style;
                o.transform = o.WebkitTransform = "translate(" + i + "px," + a + "px)", o.transitionDuration = "0s";
            }
        }
        delete oo.mode;
        var co = {
            Transition: ao,
            TransitionGroup: {
                props: oo,
                beforeMount: function() {
                    var t = this, e = this._update;
                    this._update = function(n, i) {
                        var a = Qe(t);
                        t.__patch__(t._vnode, t.kept, !1, !0), t._vnode = t.kept, a(), e.call(t, n, i);
                    };
                },
                render: function(t) {
                    for (var e = this.tag || this.$vnode.data.tag || "span", n = Object.create(null), i = this.prevChildren = this.children, a = this.$slots.default || [], o = this.children = [], r = to(this), s = 0; s < a.length; s++) {
                        var l = a[s];
                        if (l.tag) if (null != l.key && 0 !== String(l.key).indexOf("__vlist")) o.push(l), 
                        n[l.key] = l, (l.data || (l.data = {})).transition = r; else ;
                    }
                    if (i) {
                        for (var c = [], d = [], m = 0; m < i.length; m++) {
                            var u = i[m];
                            u.data.transition = r, u.data.pos = u.elm.getBoundingClientRect(), n[u.key] ? c.push(u) : d.push(u);
                        }
                        this.kept = t(e, null, c), this.removed = d;
                    }
                    return t(e, null, o);
                },
                updated: function() {
                    var t = this.prevChildren, e = this.moveClass || (this.name || "v") + "-move";
                    t.length && this.hasMove(t[0].elm, e) && (t.forEach(ro), t.forEach(so), t.forEach(lo), 
                    this._reflow = document.body.offsetHeight, t.forEach((function(t) {
                        if (t.data.moved) {
                            var n = t.elm, i = n.style;
                            Ca(n, e), i.transform = i.WebkitTransform = i.transitionDuration = "", n.addEventListener(Sa, n._moveCb = function t(i) {
                                i && i.target !== n || i && !/transform$/.test(i.propertyName) || (n.removeEventListener(Sa, t), 
                                n._moveCb = null, Aa(n, e));
                            });
                        }
                    })));
                },
                methods: {
                    hasMove: function(t, e) {
                        if (!xa) return !1;
                        if (this._hasMove) return this._hasMove;
                        var n = t.cloneNode();
                        t._transitionClasses && t._transitionClasses.forEach((function(t) {
                            ya(n, t);
                        })), ba(n, e), n.style.display = "none", this.$el.appendChild(n);
                        var i = Ua(n);
                        return this.$el.removeChild(n), this._hasMove = i.hasTransform;
                    }
                }
            }
        };
        $n.config.mustUseProp = Ln, $n.config.isReservedTag = Yn, $n.config.isReservedAttr = Un, 
        $n.config.getTagNamespace = Zn, $n.config.isUnknownElement = function(t) {
            if (!W) return !0;
            if (Yn(t)) return !1;
            if (t = t.toLowerCase(), null != Qn[t]) return Qn[t];
            var e = document.createElement(t);
            return t.indexOf("-") > -1 ? Qn[t] = e.constructor === window.HTMLUnknownElement || e.constructor === window.HTMLElement : Qn[t] = /HTMLUnknownElement/.test(e.toString());
        }, A($n.options.directives, Za), A($n.options.components, co), $n.prototype.__patch__ = W ? za : O, 
        $n.prototype.$mount = function(t, e) {
            return function(t, e, n) {
                var i;
                return t.$el = e, t.$options.render || (t.$options.render = bt), en(t, "beforeMount"), 
                i = function() {
                    t._update(t._render(), n);
                }, new hn(t, i, O, {
                    before: function() {
                        t._isMounted && !t._isDestroyed && en(t, "beforeUpdate");
                    }
                }, !0), n = !1, null == t.$vnode && (t._isMounted = !0, en(t, "mounted")), t;
            }(this, t = t && W ? ti(t) : void 0, e);
        }, W && setTimeout((function() {
            D.devtools && rt && rt.emit("init", $n);
        }), 0);
        var mo = /\{\{((?:.|\r?\n)+?)\}\}/g, uo = /[-.*+?^${}()|[\]\/\\]/g, po = x((function(t) {
            var e = t[0].replace(uo, "\\$&"), n = t[1].replace(uo, "\\$&");
            return new RegExp(e + "((?:.|\\n)+?)" + n, "g");
        }));
        var ho = {
            staticKeys: [ "staticClass" ],
            transformNode: function(t, e) {
                e.warn;
                var n = Vi(t, "class");
                n && (t.staticClass = JSON.stringify(n));
                var i = ji(t, "class", !1);
                i && (t.classBinding = i);
            },
            genData: function(t) {
                var e = "";
                return t.staticClass && (e += "staticClass:" + t.staticClass + ","), t.classBinding && (e += "class:" + t.classBinding + ","), 
                e;
            }
        };
        var go, fo = {
            staticKeys: [ "staticStyle" ],
            transformNode: function(t, e) {
                e.warn;
                var n = Vi(t, "style");
                n && (t.staticStyle = JSON.stringify(ra(n)));
                var i = ji(t, "style", !1);
                i && (t.styleBinding = i);
            },
            genData: function(t) {
                var e = "";
                return t.staticStyle && (e += "staticStyle:" + t.staticStyle + ","), t.styleBinding && (e += "style:(" + t.styleBinding + "),"), 
                e;
            }
        }, vo = function(t) {
            return (go = go || document.createElement("div")).innerHTML = t, go.textContent;
        }, bo = f("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"), yo = f("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"), wo = f("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"), _o = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/, xo = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/, ko = "[a-zA-Z_][\\-\\.0-9_a-zA-Z" + z.source + "]*", So = "((?:" + ko + "\\:)?" + ko + ")", $o = new RegExp("^<" + So), Eo = /^\s*(\/?)>/, To = new RegExp("^<\\/" + So + "[^>]*>"), Po = /^<!DOCTYPE [^>]+>/i, Co = /^<!\--/, Ao = /^<!\[/, Io = f("script,style,textarea", !0), Oo = {}, Uo = {
            "&lt;": "<",
            "&gt;": ">",
            "&quot;": '"',
            "&amp;": "&",
            "&#10;": "\n",
            "&#9;": "\t",
            "&#39;": "'"
        }, Mo = /&(?:lt|gt|quot|amp|#39);/g, Lo = /&(?:lt|gt|quot|amp|#39|#10|#9);/g, No = f("pre,textarea", !0), Ro = function(t, e) {
            return t && No(t) && "\n" === e[0];
        };
        function jo(t, e) {
            var n = e ? Lo : Mo;
            return t.replace(n, (function(t) {
                return Uo[t];
            }));
        }
        var Vo, Do, zo, Fo, Ho, Bo, Ko, qo, Wo = /^@|^v-on:/, Jo = /^v-|^@|^:|^#/, Go = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/, Yo = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/, Zo = /^\(|\)$/g, Qo = /^\[.*\]$/, Xo = /:(.*)$/, tr = /^:|^\.|^v-bind:/, er = /\.[^.\]]+(?=[^\]]*$)/g, nr = /^v-slot(:|$)|^#/, ir = /[\r\n]/, ar = /\s+/g, or = x(vo);
        function rr(t, e, n) {
            return {
                type: 1,
                tag: t,
                attrsList: e,
                attrsMap: pr(e),
                rawAttrsMap: {},
                parent: n,
                children: []
            };
        }
        function sr(t, e) {
            Vo = e.warn || Ai, Bo = e.isPreTag || U, Ko = e.mustUseProp || U, qo = e.getTagNamespace || U;
            var n = e.isReservedTag || U;
            (function(t) {
                return !!t.component || !n(t.tag);
            }), zo = Ii(e.modules, "transformNode"), Fo = Ii(e.modules, "preTransformNode"), 
            Ho = Ii(e.modules, "postTransformNode"), Do = e.delimiters;
            var i, a, o = [], r = !1 !== e.preserveWhitespace, s = e.whitespace, l = !1, c = !1;
            function d(t) {
                if (m(t), l || t.processed || (t = lr(t, e)), o.length || t === i || i.if && (t.elseif || t.else) && dr(i, {
                    exp: t.elseif,
                    block: t
                }), a && !t.forbidden) if (t.elseif || t.else) r = t, (s = function(t) {
                    for (var e = t.length; e--; ) {
                        if (1 === t[e].type) return t[e];
                        t.pop();
                    }
                }(a.children)) && s.if && dr(s, {
                    exp: r.elseif,
                    block: r
                }); else {
                    if (t.slotScope) {
                        var n = t.slotTarget || '"default"';
                        (a.scopedSlots || (a.scopedSlots = {}))[n] = t;
                    }
                    a.children.push(t), t.parent = a;
                }
                var r, s;
                t.children = t.children.filter((function(t) {
                    return !t.slotScope;
                })), m(t), t.pre && (l = !1), Bo(t.tag) && (c = !1);
                for (var d = 0; d < Ho.length; d++) Ho[d](t, e);
            }
            function m(t) {
                if (!c) for (var e; (e = t.children[t.children.length - 1]) && 3 === e.type && " " === e.text; ) t.children.pop();
            }
            return function(t, e) {
                for (var n, i, a = [], o = e.expectHTML, r = e.isUnaryTag || U, s = e.canBeLeftOpenTag || U, l = 0; t; ) {
                    if (n = t, i && Io(i)) {
                        var c = 0, d = i.toLowerCase(), m = Oo[d] || (Oo[d] = new RegExp("([\\s\\S]*?)(</" + d + "[^>]*>)", "i")), u = t.replace(m, (function(t, n, i) {
                            return c = i.length, Io(d) || "noscript" === d || (n = n.replace(/<!\--([\s\S]*?)-->/g, "$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g, "$1")), 
                            Ro(d, n) && (n = n.slice(1)), e.chars && e.chars(n), "";
                        }));
                        l += t.length - u.length, t = u, E(d, l - c, l);
                    } else {
                        var p = t.indexOf("<");
                        if (0 === p) {
                            if (Co.test(t)) {
                                var h = t.indexOf("--\x3e");
                                if (h >= 0) {
                                    e.shouldKeepComment && e.comment(t.substring(4, h), l, l + h + 3), k(h + 3);
                                    continue;
                                }
                            }
                            if (Ao.test(t)) {
                                var g = t.indexOf("]>");
                                if (g >= 0) {
                                    k(g + 2);
                                    continue;
                                }
                            }
                            var f = t.match(Po);
                            if (f) {
                                k(f[0].length);
                                continue;
                            }
                            var v = t.match(To);
                            if (v) {
                                var b = l;
                                k(v[0].length), E(v[1], b, l);
                                continue;
                            }
                            var y = S();
                            if (y) {
                                $(y), Ro(y.tagName, t) && k(1);
                                continue;
                            }
                        }
                        var w = void 0, _ = void 0, x = void 0;
                        if (p >= 0) {
                            for (_ = t.slice(p); !(To.test(_) || $o.test(_) || Co.test(_) || Ao.test(_) || (x = _.indexOf("<", 1)) < 0); ) p += x, 
                            _ = t.slice(p);
                            w = t.substring(0, p);
                        }
                        p < 0 && (w = t), w && k(w.length), e.chars && w && e.chars(w, l - w.length, l);
                    }
                    if (t === n) {
                        e.chars && e.chars(t);
                        break;
                    }
                }
                function k(e) {
                    l += e, t = t.substring(e);
                }
                function S() {
                    var e = t.match($o);
                    if (e) {
                        var n, i, a = {
                            tagName: e[1],
                            attrs: [],
                            start: l
                        };
                        for (k(e[0].length); !(n = t.match(Eo)) && (i = t.match(xo) || t.match(_o)); ) i.start = l, 
                        k(i[0].length), i.end = l, a.attrs.push(i);
                        if (n) return a.unarySlash = n[1], k(n[0].length), a.end = l, a;
                    }
                }
                function $(t) {
                    var n = t.tagName, l = t.unarySlash;
                    o && ("p" === i && wo(n) && E(i), s(n) && i === n && E(n));
                    for (var c = r(n) || !!l, d = t.attrs.length, m = new Array(d), u = 0; u < d; u++) {
                        var p = t.attrs[u], h = p[3] || p[4] || p[5] || "", g = "a" === n && "href" === p[1] ? e.shouldDecodeNewlinesForHref : e.shouldDecodeNewlines;
                        m[u] = {
                            name: p[1],
                            value: jo(h, g)
                        };
                    }
                    c || (a.push({
                        tag: n,
                        lowerCasedTag: n.toLowerCase(),
                        attrs: m,
                        start: t.start,
                        end: t.end
                    }), i = n), e.start && e.start(n, m, c, t.start, t.end);
                }
                function E(t, n, o) {
                    var r, s;
                    if (null == n && (n = l), null == o && (o = l), t) for (s = t.toLowerCase(), r = a.length - 1; r >= 0 && a[r].lowerCasedTag !== s; r--) ; else r = 0;
                    if (r >= 0) {
                        for (var c = a.length - 1; c >= r; c--) e.end && e.end(a[c].tag, n, o);
                        a.length = r, i = r && a[r - 1].tag;
                    } else "br" === s ? e.start && e.start(t, [], !0, n, o) : "p" === s && (e.start && e.start(t, [], !1, n, o), 
                    e.end && e.end(t, n, o));
                }
                E();
            }(t, {
                warn: Vo,
                expectHTML: e.expectHTML,
                isUnaryTag: e.isUnaryTag,
                canBeLeftOpenTag: e.canBeLeftOpenTag,
                shouldDecodeNewlines: e.shouldDecodeNewlines,
                shouldDecodeNewlinesForHref: e.shouldDecodeNewlinesForHref,
                shouldKeepComment: e.comments,
                outputSourceRange: e.outputSourceRange,
                start: function(t, n, r, s, m) {
                    var u = a && a.ns || qo(t);
                    Z && "svg" === u && (n = function(t) {
                        for (var e = [], n = 0; n < t.length; n++) {
                            var i = t[n];
                            hr.test(i.name) || (i.name = i.name.replace(gr, ""), e.push(i));
                        }
                        return e;
                    }(n));
                    var p, h = rr(t, n, a);
                    u && (h.ns = u), "style" !== (p = h).tag && ("script" !== p.tag || p.attrsMap.type && "text/javascript" !== p.attrsMap.type) || ot() || (h.forbidden = !0);
                    for (var g = 0; g < Fo.length; g++) h = Fo[g](h, e) || h;
                    l || (!function(t) {
                        null != Vi(t, "v-pre") && (t.pre = !0);
                    }(h), h.pre && (l = !0)), Bo(h.tag) && (c = !0), l ? function(t) {
                        var e = t.attrsList, n = e.length;
                        if (n) for (var i = t.attrs = new Array(n), a = 0; a < n; a++) i[a] = {
                            name: e[a].name,
                            value: JSON.stringify(e[a].value)
                        }, null != e[a].start && (i[a].start = e[a].start, i[a].end = e[a].end); else t.pre || (t.plain = !0);
                    }(h) : h.processed || (cr(h), function(t) {
                        var e = Vi(t, "v-if");
                        if (e) t.if = e, dr(t, {
                            exp: e,
                            block: t
                        }); else {
                            null != Vi(t, "v-else") && (t.else = !0);
                            var n = Vi(t, "v-else-if");
                            n && (t.elseif = n);
                        }
                    }(h), function(t) {
                        null != Vi(t, "v-once") && (t.once = !0);
                    }(h)), i || (i = h), r ? d(h) : (a = h, o.push(h));
                },
                end: function(t, e, n) {
                    var i = o[o.length - 1];
                    o.length -= 1, a = o[o.length - 1], d(i);
                },
                chars: function(t, e, n) {
                    if (a && (!Z || "textarea" !== a.tag || a.attrsMap.placeholder !== t)) {
                        var i, o, d, m = a.children;
                        if (t = c || t.trim() ? "script" === (i = a).tag || "style" === i.tag ? t : or(t) : m.length ? s ? "condense" === s && ir.test(t) ? "" : " " : r ? " " : "" : "") c || "condense" !== s || (t = t.replace(ar, " ")), 
                        !l && " " !== t && (o = function(t, e) {
                            var n = e ? po(e) : mo;
                            if (n.test(t)) {
                                for (var i, a, o, r = [], s = [], l = n.lastIndex = 0; i = n.exec(t); ) {
                                    (a = i.index) > l && (s.push(o = t.slice(l, a)), r.push(JSON.stringify(o)));
                                    var c = Pi(i[1].trim());
                                    r.push("_s(" + c + ")"), s.push({
                                        "@binding": c
                                    }), l = a + i[0].length;
                                }
                                return l < t.length && (s.push(o = t.slice(l)), r.push(JSON.stringify(o))), {
                                    expression: r.join("+"),
                                    tokens: s
                                };
                            }
                        }(t, Do)) ? d = {
                            type: 2,
                            expression: o.expression,
                            tokens: o.tokens,
                            text: t
                        } : " " === t && m.length && " " === m[m.length - 1].text || (d = {
                            type: 3,
                            text: t
                        }), d && m.push(d);
                    }
                },
                comment: function(t, e, n) {
                    if (a) {
                        var i = {
                            type: 3,
                            text: t,
                            isComment: !0
                        };
                        0, a.children.push(i);
                    }
                }
            }), i;
        }
        function lr(t, e) {
            var n;
            !function(t) {
                var e = ji(t, "key");
                if (e) {
                    t.key = e;
                }
            }(t), t.plain = !t.key && !t.scopedSlots && !t.attrsList.length, function(t) {
                var e = ji(t, "ref");
                e && (t.ref = e, t.refInFor = function(t) {
                    var e = t;
                    for (;e; ) {
                        if (void 0 !== e.for) return !0;
                        e = e.parent;
                    }
                    return !1;
                }(t));
            }(t), function(t) {
                var e;
                "template" === t.tag ? (e = Vi(t, "scope"), t.slotScope = e || Vi(t, "slot-scope")) : (e = Vi(t, "slot-scope")) && (t.slotScope = e);
                var n = ji(t, "slot");
                n && (t.slotTarget = '""' === n ? '"default"' : n, t.slotTargetDynamic = !(!t.attrsMap[":slot"] && !t.attrsMap["v-bind:slot"]), 
                "template" === t.tag || t.slotScope || Ui(t, "slot", n, function(t, e) {
                    return t.rawAttrsMap[":" + e] || t.rawAttrsMap["v-bind:" + e] || t.rawAttrsMap[e];
                }(t, "slot")));
                if ("template" === t.tag) {
                    var i = Di(t, nr);
                    if (i) {
                        0;
                        var a = mr(i), o = a.name, r = a.dynamic;
                        t.slotTarget = o, t.slotTargetDynamic = r, t.slotScope = i.value || "_empty_";
                    }
                } else {
                    var s = Di(t, nr);
                    if (s) {
                        0;
                        var l = t.scopedSlots || (t.scopedSlots = {}), c = mr(s), d = c.name, m = c.dynamic, u = l[d] = rr("template", [], t);
                        u.slotTarget = d, u.slotTargetDynamic = m, u.children = t.children.filter((function(t) {
                            if (!t.slotScope) return t.parent = u, !0;
                        })), u.slotScope = s.value || "_empty_", t.children = [], t.plain = !1;
                    }
                }
            }(t), "slot" === (n = t).tag && (n.slotName = ji(n, "name")), function(t) {
                var e;
                (e = ji(t, "is")) && (t.component = e);
                null != Vi(t, "inline-template") && (t.inlineTemplate = !0);
            }(t);
            for (var i = 0; i < zo.length; i++) t = zo[i](t, e) || t;
            return function(t) {
                var e, n, i, a, o, r, s, l, c = t.attrsList;
                for (e = 0, n = c.length; e < n; e++) {
                    if (i = a = c[e].name, o = c[e].value, Jo.test(i)) if (t.hasBindings = !0, (r = ur(i.replace(Jo, ""))) && (i = i.replace(er, "")), 
                    tr.test(i)) i = i.replace(tr, ""), o = Pi(o), (l = Qo.test(i)) && (i = i.slice(1, -1)), 
                    r && (r.prop && !l && "innerHtml" === (i = S(i)) && (i = "innerHTML"), r.camel && !l && (i = S(i)), 
                    r.sync && (s = Hi(o, "$event"), l ? Ri(t, '"update:"+(' + i + ")", s, null, !1, 0, c[e], !0) : (Ri(t, "update:" + S(i), s, null, !1, 0, c[e]), 
                    T(i) !== S(i) && Ri(t, "update:" + T(i), s, null, !1, 0, c[e])))), r && r.prop || !t.component && Ko(t.tag, t.attrsMap.type, i) ? Oi(t, i, o, c[e], l) : Ui(t, i, o, c[e], l); else if (Wo.test(i)) i = i.replace(Wo, ""), 
                    (l = Qo.test(i)) && (i = i.slice(1, -1)), Ri(t, i, o, r, !1, 0, c[e], l); else {
                        var d = (i = i.replace(Jo, "")).match(Xo), m = d && d[1];
                        l = !1, m && (i = i.slice(0, -(m.length + 1)), Qo.test(m) && (m = m.slice(1, -1), 
                        l = !0)), Li(t, i, a, o, m, l, r, c[e]);
                    } else Ui(t, i, JSON.stringify(o), c[e]), !t.component && "muted" === i && Ko(t.tag, t.attrsMap.type, i) && Oi(t, i, "true", c[e]);
                }
            }(t), t;
        }
        function cr(t) {
            var e;
            if (e = Vi(t, "v-for")) {
                var n = function(t) {
                    var e = t.match(Go);
                    if (!e) return;
                    var n = {};
                    n.for = e[2].trim();
                    var i = e[1].trim().replace(Zo, ""), a = i.match(Yo);
                    a ? (n.alias = i.replace(Yo, "").trim(), n.iterator1 = a[1].trim(), a[2] && (n.iterator2 = a[2].trim())) : n.alias = i;
                    return n;
                }(e);
                n && A(t, n);
            }
        }
        function dr(t, e) {
            t.ifConditions || (t.ifConditions = []), t.ifConditions.push(e);
        }
        function mr(t) {
            var e = t.name.replace(nr, "");
            return e || "#" !== t.name[0] && (e = "default"), Qo.test(e) ? {
                name: e.slice(1, -1),
                dynamic: !0
            } : {
                name: '"' + e + '"',
                dynamic: !1
            };
        }
        function ur(t) {
            var e = t.match(er);
            if (e) {
                var n = {};
                return e.forEach((function(t) {
                    n[t.slice(1)] = !0;
                })), n;
            }
        }
        function pr(t) {
            for (var e = {}, n = 0, i = t.length; n < i; n++) e[t[n].name] = t[n].value;
            return e;
        }
        var hr = /^xmlns:NS\d+/, gr = /^NS\d+:/;
        function fr(t) {
            return rr(t.tag, t.attrsList.slice(), t.parent);
        }
        var vr = [ ho, fo, {
            preTransformNode: function(t, e) {
                if ("input" === t.tag) {
                    var n, i = t.attrsMap;
                    if (!i["v-model"]) return;
                    if ((i[":type"] || i["v-bind:type"]) && (n = ji(t, "type")), i.type || n || !i["v-bind"] || (n = "(" + i["v-bind"] + ").type"), 
                    n) {
                        var a = Vi(t, "v-if", !0), o = a ? "&&(" + a + ")" : "", r = null != Vi(t, "v-else", !0), s = Vi(t, "v-else-if", !0), l = fr(t);
                        cr(l), Mi(l, "type", "checkbox"), lr(l, e), l.processed = !0, l.if = "(" + n + ")==='checkbox'" + o, 
                        dr(l, {
                            exp: l.if,
                            block: l
                        });
                        var c = fr(t);
                        Vi(c, "v-for", !0), Mi(c, "type", "radio"), lr(c, e), dr(l, {
                            exp: "(" + n + ")==='radio'" + o,
                            block: c
                        });
                        var d = fr(t);
                        return Vi(d, "v-for", !0), Mi(d, ":type", n), lr(d, e), dr(l, {
                            exp: a,
                            block: d
                        }), r ? l.else = !0 : s && (l.elseif = s), l;
                    }
                }
            }
        } ];
        var br, yr, wr = {
            expectHTML: !0,
            modules: vr,
            directives: {
                model: function(t, e, n) {
                    n;
                    var i = e.value, a = e.modifiers, o = t.tag, r = t.attrsMap.type;
                    if (t.component) return Fi(t, i, a), !1;
                    if ("select" === o) !function(t, e, n) {
                        var i = 'var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return ' + (n && n.number ? "_n(val)" : "val") + "});";
                        i = i + " " + Hi(e, "$event.target.multiple ? $$selectedVal : $$selectedVal[0]"), 
                        Ri(t, "change", i, null, !0);
                    }(t, i, a); else if ("input" === o && "checkbox" === r) !function(t, e, n) {
                        var i = n && n.number, a = ji(t, "value") || "null", o = ji(t, "true-value") || "true", r = ji(t, "false-value") || "false";
                        Oi(t, "checked", "Array.isArray(" + e + ")?_i(" + e + "," + a + ")>-1" + ("true" === o ? ":(" + e + ")" : ":_q(" + e + "," + o + ")")), 
                        Ri(t, "change", "var $$a=" + e + ",$$el=$event.target,$$c=$$el.checked?(" + o + "):(" + r + ");if(Array.isArray($$a)){var $$v=" + (i ? "_n(" + a + ")" : a) + ",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&(" + Hi(e, "$$a.concat([$$v])") + ")}else{$$i>-1&&(" + Hi(e, "$$a.slice(0,$$i).concat($$a.slice($$i+1))") + ")}}else{" + Hi(e, "$$c") + "}", null, !0);
                    }(t, i, a); else if ("input" === o && "radio" === r) !function(t, e, n) {
                        var i = n && n.number, a = ji(t, "value") || "null";
                        Oi(t, "checked", "_q(" + e + "," + (a = i ? "_n(" + a + ")" : a) + ")"), Ri(t, "change", Hi(e, a), null, !0);
                    }(t, i, a); else if ("input" === o || "textarea" === o) !function(t, e, n) {
                        var i = t.attrsMap.type;
                        0;
                        var a = n || {}, o = a.lazy, r = a.number, s = a.trim, l = !o && "range" !== i, c = o ? "change" : "range" === i ? "__r" : "input", d = "$event.target.value";
                        s && (d = "$event.target.value.trim()");
                        r && (d = "_n(" + d + ")");
                        var m = Hi(e, d);
                        l && (m = "if($event.target.composing)return;" + m);
                        Oi(t, "value", "(" + e + ")"), Ri(t, c, m, null, !0), (s || r) && Ri(t, "blur", "$forceUpdate()");
                    }(t, i, a); else {
                        if (!D.isReservedTag(o)) return Fi(t, i, a), !1;
                    }
                    return !0;
                },
                text: function(t, e) {
                    e.value && Oi(t, "textContent", "_s(" + e.value + ")", e);
                },
                html: function(t, e) {
                    e.value && Oi(t, "innerHTML", "_s(" + e.value + ")", e);
                }
            },
            isPreTag: function(t) {
                return "pre" === t;
            },
            isUnaryTag: bo,
            mustUseProp: Ln,
            canBeLeftOpenTag: yo,
            isReservedTag: Yn,
            getTagNamespace: Zn,
            staticKeys: function(t) {
                return t.reduce((function(t, e) {
                    return t.concat(e.staticKeys || []);
                }), []).join(",");
            }(vr)
        }, _r = x((function(t) {
            return f("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap" + (t ? "," + t : ""));
        }));
        function xr(t, e) {
            t && (br = _r(e.staticKeys || ""), yr = e.isReservedTag || U, function t(e) {
                if (e.static = function(t) {
                    if (2 === t.type) return !1;
                    if (3 === t.type) return !0;
                    return !(!t.pre && (t.hasBindings || t.if || t.for || v(t.tag) || !yr(t.tag) || function(t) {
                        for (;t.parent; ) {
                            if ("template" !== (t = t.parent).tag) return !1;
                            if (t.for) return !0;
                        }
                        return !1;
                    }(t) || !Object.keys(t).every(br)));
                }(e), 1 === e.type) {
                    if (!yr(e.tag) && "slot" !== e.tag && null == e.attrsMap["inline-template"]) return;
                    for (var n = 0, i = e.children.length; n < i; n++) {
                        var a = e.children[n];
                        t(a), a.static || (e.static = !1);
                    }
                    if (e.ifConditions) for (var o = 1, r = e.ifConditions.length; o < r; o++) {
                        var s = e.ifConditions[o].block;
                        t(s), s.static || (e.static = !1);
                    }
                }
            }(t), function t(e, n) {
                if (1 === e.type) {
                    if ((e.static || e.once) && (e.staticInFor = n), e.static && e.children.length && (1 !== e.children.length || 3 !== e.children[0].type)) return void (e.staticRoot = !0);
                    if (e.staticRoot = !1, e.children) for (var i = 0, a = e.children.length; i < a; i++) t(e.children[i], n || !!e.for);
                    if (e.ifConditions) for (var o = 1, r = e.ifConditions.length; o < r; o++) t(e.ifConditions[o].block, n);
                }
            }(t, !1));
        }
        var kr = /^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/, Sr = /\([^)]*?\);*$/, $r = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/, Er = {
            esc: 27,
            tab: 9,
            enter: 13,
            space: 32,
            up: 38,
            left: 37,
            right: 39,
            down: 40,
            delete: [ 8, 46 ]
        }, Tr = {
            esc: [ "Esc", "Escape" ],
            tab: "Tab",
            enter: "Enter",
            space: [ " ", "Spacebar" ],
            up: [ "Up", "ArrowUp" ],
            left: [ "Left", "ArrowLeft" ],
            right: [ "Right", "ArrowRight" ],
            down: [ "Down", "ArrowDown" ],
            delete: [ "Backspace", "Delete", "Del" ]
        }, Pr = function(t) {
            return "if(" + t + ")return null;";
        }, Cr = {
            stop: "$event.stopPropagation();",
            prevent: "$event.preventDefault();",
            self: Pr("$event.target !== $event.currentTarget"),
            ctrl: Pr("!$event.ctrlKey"),
            shift: Pr("!$event.shiftKey"),
            alt: Pr("!$event.altKey"),
            meta: Pr("!$event.metaKey"),
            left: Pr("'button' in $event && $event.button !== 0"),
            middle: Pr("'button' in $event && $event.button !== 1"),
            right: Pr("'button' in $event && $event.button !== 2")
        };
        function Ar(t, e) {
            var n = e ? "nativeOn:" : "on:", i = "", a = "";
            for (var o in t) {
                var r = Ir(t[o]);
                t[o] && t[o].dynamic ? a += o + "," + r + "," : i += '"' + o + '":' + r + ",";
            }
            return i = "{" + i.slice(0, -1) + "}", a ? n + "_d(" + i + ",[" + a.slice(0, -1) + "])" : n + i;
        }
        function Ir(t) {
            if (!t) return "function(){}";
            if (Array.isArray(t)) return "[" + t.map((function(t) {
                return Ir(t);
            })).join(",") + "]";
            var e = $r.test(t.value), n = kr.test(t.value), i = $r.test(t.value.replace(Sr, ""));
            if (t.modifiers) {
                var a = "", o = "", r = [];
                for (var s in t.modifiers) if (Cr[s]) o += Cr[s], Er[s] && r.push(s); else if ("exact" === s) {
                    var l = t.modifiers;
                    o += Pr([ "ctrl", "shift", "alt", "meta" ].filter((function(t) {
                        return !l[t];
                    })).map((function(t) {
                        return "$event." + t + "Key";
                    })).join("||"));
                } else r.push(s);
                return r.length && (a += function(t) {
                    return "if(!$event.type.indexOf('key')&&" + t.map(Or).join("&&") + ")return null;";
                }(r)), o && (a += o), "function($event){" + a + (e ? "return " + t.value + "($event)" : n ? "return (" + t.value + ")($event)" : i ? "return " + t.value : t.value) + "}";
            }
            return e || n ? t.value : "function($event){" + (i ? "return " + t.value : t.value) + "}";
        }
        function Or(t) {
            var e = parseInt(t, 10);
            if (e) return "$event.keyCode!==" + e;
            var n = Er[t], i = Tr[t];
            return "_k($event.keyCode," + JSON.stringify(t) + "," + JSON.stringify(n) + ",$event.key," + JSON.stringify(i) + ")";
        }
        var Ur = {
            on: function(t, e) {
                t.wrapListeners = function(t) {
                    return "_g(" + t + "," + e.value + ")";
                };
            },
            bind: function(t, e) {
                t.wrapData = function(n) {
                    return "_b(" + n + ",'" + t.tag + "'," + e.value + "," + (e.modifiers && e.modifiers.prop ? "true" : "false") + (e.modifiers && e.modifiers.sync ? ",true" : "") + ")";
                };
            },
            cloak: O
        }, Mr = function(t) {
            this.options = t, this.warn = t.warn || Ai, this.transforms = Ii(t.modules, "transformCode"), 
            this.dataGenFns = Ii(t.modules, "genData"), this.directives = A(A({}, Ur), t.directives);
            var e = t.isReservedTag || U;
            this.maybeComponent = function(t) {
                return !!t.component || !e(t.tag);
            }, this.onceId = 0, this.staticRenderFns = [], this.pre = !1;
        };
        function Lr(t, e) {
            var n = new Mr(e);
            return {
                render: "with(this){return " + (t ? Nr(t, n) : '_c("div")') + "}",
                staticRenderFns: n.staticRenderFns
            };
        }
        function Nr(t, e) {
            if (t.parent && (t.pre = t.pre || t.parent.pre), t.staticRoot && !t.staticProcessed) return Rr(t, e);
            if (t.once && !t.onceProcessed) return jr(t, e);
            if (t.for && !t.forProcessed) return Dr(t, e);
            if (t.if && !t.ifProcessed) return Vr(t, e);
            if ("template" !== t.tag || t.slotTarget || e.pre) {
                if ("slot" === t.tag) return function(t, e) {
                    var n = t.slotName || '"default"', i = Br(t, e), a = "_t(" + n + (i ? "," + i : ""), o = t.attrs || t.dynamicAttrs ? Wr((t.attrs || []).concat(t.dynamicAttrs || []).map((function(t) {
                        return {
                            name: S(t.name),
                            value: t.value,
                            dynamic: t.dynamic
                        };
                    }))) : null, r = t.attrsMap["v-bind"];
                    !o && !r || i || (a += ",null");
                    o && (a += "," + o);
                    r && (a += (o ? "" : ",null") + "," + r);
                    return a + ")";
                }(t, e);
                var n;
                if (t.component) n = function(t, e, n) {
                    var i = e.inlineTemplate ? null : Br(e, n, !0);
                    return "_c(" + t + "," + zr(e, n) + (i ? "," + i : "") + ")";
                }(t.component, t, e); else {
                    var i;
                    (!t.plain || t.pre && e.maybeComponent(t)) && (i = zr(t, e));
                    var a = t.inlineTemplate ? null : Br(t, e, !0);
                    n = "_c('" + t.tag + "'" + (i ? "," + i : "") + (a ? "," + a : "") + ")";
                }
                for (var o = 0; o < e.transforms.length; o++) n = e.transforms[o](t, n);
                return n;
            }
            return Br(t, e) || "void 0";
        }
        function Rr(t, e) {
            t.staticProcessed = !0;
            var n = e.pre;
            return t.pre && (e.pre = t.pre), e.staticRenderFns.push("with(this){return " + Nr(t, e) + "}"), 
            e.pre = n, "_m(" + (e.staticRenderFns.length - 1) + (t.staticInFor ? ",true" : "") + ")";
        }
        function jr(t, e) {
            if (t.onceProcessed = !0, t.if && !t.ifProcessed) return Vr(t, e);
            if (t.staticInFor) {
                for (var n = "", i = t.parent; i; ) {
                    if (i.for) {
                        n = i.key;
                        break;
                    }
                    i = i.parent;
                }
                return n ? "_o(" + Nr(t, e) + "," + e.onceId++ + "," + n + ")" : Nr(t, e);
            }
            return Rr(t, e);
        }
        function Vr(t, e, n, i) {
            return t.ifProcessed = !0, function t(e, n, i, a) {
                if (!e.length) return a || "_e()";
                var o = e.shift();
                return o.exp ? "(" + o.exp + ")?" + r(o.block) + ":" + t(e, n, i, a) : "" + r(o.block);
                function r(t) {
                    return i ? i(t, n) : t.once ? jr(t, n) : Nr(t, n);
                }
            }(t.ifConditions.slice(), e, n, i);
        }
        function Dr(t, e, n, i) {
            var a = t.for, o = t.alias, r = t.iterator1 ? "," + t.iterator1 : "", s = t.iterator2 ? "," + t.iterator2 : "";
            return t.forProcessed = !0, (i || "_l") + "((" + a + "),function(" + o + r + s + "){return " + (n || Nr)(t, e) + "})";
        }
        function zr(t, e) {
            var n = "{", i = function(t, e) {
                var n = t.directives;
                if (!n) return;
                var i, a, o, r, s = "directives:[", l = !1;
                for (i = 0, a = n.length; i < a; i++) {
                    o = n[i], r = !0;
                    var c = e.directives[o.name];
                    c && (r = !!c(t, o, e.warn)), r && (l = !0, s += '{name:"' + o.name + '",rawName:"' + o.rawName + '"' + (o.value ? ",value:(" + o.value + "),expression:" + JSON.stringify(o.value) : "") + (o.arg ? ",arg:" + (o.isDynamicArg ? o.arg : '"' + o.arg + '"') : "") + (o.modifiers ? ",modifiers:" + JSON.stringify(o.modifiers) : "") + "},");
                }
                if (l) return s.slice(0, -1) + "]";
            }(t, e);
            i && (n += i + ","), t.key && (n += "key:" + t.key + ","), t.ref && (n += "ref:" + t.ref + ","), 
            t.refInFor && (n += "refInFor:true,"), t.pre && (n += "pre:true,"), t.component && (n += 'tag:"' + t.tag + '",');
            for (var a = 0; a < e.dataGenFns.length; a++) n += e.dataGenFns[a](t);
            if (t.attrs && (n += "attrs:" + Wr(t.attrs) + ","), t.props && (n += "domProps:" + Wr(t.props) + ","), 
            t.events && (n += Ar(t.events, !1) + ","), t.nativeEvents && (n += Ar(t.nativeEvents, !0) + ","), 
            t.slotTarget && !t.slotScope && (n += "slot:" + t.slotTarget + ","), t.scopedSlots && (n += function(t, e, n) {
                var i = t.for || Object.keys(e).some((function(t) {
                    var n = e[t];
                    return n.slotTargetDynamic || n.if || n.for || Fr(n);
                })), a = !!t.if;
                if (!i) for (var o = t.parent; o; ) {
                    if (o.slotScope && "_empty_" !== o.slotScope || o.for) {
                        i = !0;
                        break;
                    }
                    o.if && (a = !0), o = o.parent;
                }
                var r = Object.keys(e).map((function(t) {
                    return Hr(e[t], n);
                })).join(",");
                return "scopedSlots:_u([" + r + "]" + (i ? ",null,true" : "") + (!i && a ? ",null,false," + function(t) {
                    var e = 5381, n = t.length;
                    for (;n; ) e = 33 * e ^ t.charCodeAt(--n);
                    return e >>> 0;
                }(r) : "") + ")";
            }(t, t.scopedSlots, e) + ","), t.model && (n += "model:{value:" + t.model.value + ",callback:" + t.model.callback + ",expression:" + t.model.expression + "},"), 
            t.inlineTemplate) {
                var o = function(t, e) {
                    var n = t.children[0];
                    0;
                    if (n && 1 === n.type) {
                        var i = Lr(n, e.options);
                        return "inlineTemplate:{render:function(){" + i.render + "},staticRenderFns:[" + i.staticRenderFns.map((function(t) {
                            return "function(){" + t + "}";
                        })).join(",") + "]}";
                    }
                }(t, e);
                o && (n += o + ",");
            }
            return n = n.replace(/,$/, "") + "}", t.dynamicAttrs && (n = "_b(" + n + ',"' + t.tag + '",' + Wr(t.dynamicAttrs) + ")"), 
            t.wrapData && (n = t.wrapData(n)), t.wrapListeners && (n = t.wrapListeners(n)), 
            n;
        }
        function Fr(t) {
            return 1 === t.type && ("slot" === t.tag || t.children.some(Fr));
        }
        function Hr(t, e) {
            var n = t.attrsMap["slot-scope"];
            if (t.if && !t.ifProcessed && !n) return Vr(t, e, Hr, "null");
            if (t.for && !t.forProcessed) return Dr(t, e, Hr);
            var i = "_empty_" === t.slotScope ? "" : String(t.slotScope), a = "function(" + i + "){return " + ("template" === t.tag ? t.if && n ? "(" + t.if + ")?" + (Br(t, e) || "undefined") + ":undefined" : Br(t, e) || "undefined" : Nr(t, e)) + "}", o = i ? "" : ",proxy:true";
            return "{key:" + (t.slotTarget || '"default"') + ",fn:" + a + o + "}";
        }
        function Br(t, e, n, i, a) {
            var o = t.children;
            if (o.length) {
                var r = o[0];
                if (1 === o.length && r.for && "template" !== r.tag && "slot" !== r.tag) {
                    var s = n ? e.maybeComponent(r) ? ",1" : ",0" : "";
                    return "" + (i || Nr)(r, e) + s;
                }
                var l = n ? function(t, e) {
                    for (var n = 0, i = 0; i < t.length; i++) {
                        var a = t[i];
                        if (1 === a.type) {
                            if (Kr(a) || a.ifConditions && a.ifConditions.some((function(t) {
                                return Kr(t.block);
                            }))) {
                                n = 2;
                                break;
                            }
                            (e(a) || a.ifConditions && a.ifConditions.some((function(t) {
                                return e(t.block);
                            }))) && (n = 1);
                        }
                    }
                    return n;
                }(o, e.maybeComponent) : 0, c = a || qr;
                return "[" + o.map((function(t) {
                    return c(t, e);
                })).join(",") + "]" + (l ? "," + l : "");
            }
        }
        function Kr(t) {
            return void 0 !== t.for || "template" === t.tag || "slot" === t.tag;
        }
        function qr(t, e) {
            return 1 === t.type ? Nr(t, e) : 3 === t.type && t.isComment ? function(t) {
                return "_e(" + JSON.stringify(t.text) + ")";
            }(t) : function(t) {
                return "_v(" + (2 === t.type ? t.expression : Jr(JSON.stringify(t.text))) + ")";
            }(t);
        }
        function Wr(t) {
            for (var e = "", n = "", i = 0; i < t.length; i++) {
                var a = t[i], o = Jr(a.value);
                a.dynamic ? n += a.name + "," + o + "," : e += '"' + a.name + '":' + o + ",";
            }
            return e = "{" + e.slice(0, -1) + "}", n ? "_d(" + e + ",[" + n.slice(0, -1) + "])" : e;
        }
        function Jr(t) {
            return t.replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
        }
        new RegExp("\\b" + "do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b") + "\\b"), 
        new RegExp("\\b" + "delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b") + "\\s*\\([^\\)]*\\)");
        function Gr(t, e) {
            try {
                return new Function(t);
            } catch (n) {
                return e.push({
                    err: n,
                    code: t
                }), O;
            }
        }
        function Yr(t) {
            var e = Object.create(null);
            return function(n, i, a) {
                (i = A({}, i)).warn;
                delete i.warn;
                var o = i.delimiters ? String(i.delimiters) + n : n;
                if (e[o]) return e[o];
                var r = t(n, i);
                var s = {}, l = [];
                return s.render = Gr(r.render, l), s.staticRenderFns = r.staticRenderFns.map((function(t) {
                    return Gr(t, l);
                })), e[o] = s;
            };
        }
        var Zr, Qr, Xr = (Zr = function(t, e) {
            var n = sr(t.trim(), e);
            !1 !== e.optimize && xr(n, e);
            var i = Lr(n, e);
            return {
                ast: n,
                render: i.render,
                staticRenderFns: i.staticRenderFns
            };
        }, function(t) {
            function e(e, n) {
                var i = Object.create(t), a = [], o = [];
                if (n) for (var r in n.modules && (i.modules = (t.modules || []).concat(n.modules)), 
                n.directives && (i.directives = A(Object.create(t.directives || null), n.directives)), 
                n) "modules" !== r && "directives" !== r && (i[r] = n[r]);
                i.warn = function(t, e, n) {
                    (n ? o : a).push(t);
                };
                var s = Zr(e.trim(), i);
                return s.errors = a, s.tips = o, s;
            }
            return {
                compile: e,
                compileToFunctions: Yr(e)
            };
        })(wr), ts = (Xr.compile, Xr.compileToFunctions);
        function es(t) {
            return (Qr = Qr || document.createElement("div")).innerHTML = t ? '<a href="\n"/>' : '<div a="\n"/>', 
            Qr.innerHTML.indexOf("&#10;") > 0;
        }
        var ns = !!W && es(!1), is = !!W && es(!0), as = x((function(t) {
            var e = ti(t);
            return e && e.innerHTML;
        })), os = $n.prototype.$mount;
        $n.prototype.$mount = function(t, e) {
            if ((t = t && ti(t)) === document.body || t === document.documentElement) return this;
            var n = this.$options;
            if (!n.render) {
                var i = n.template;
                if (i) if ("string" == typeof i) "#" === i.charAt(0) && (i = as(i)); else {
                    if (!i.nodeType) return this;
                    i = i.innerHTML;
                } else t && (i = function(t) {
                    if (t.outerHTML) return t.outerHTML;
                    var e = document.createElement("div");
                    return e.appendChild(t.cloneNode(!0)), e.innerHTML;
                }(t));
                if (i) {
                    0;
                    var a = ts(i, {
                        outputSourceRange: !1,
                        shouldDecodeNewlines: ns,
                        shouldDecodeNewlinesForHref: is,
                        delimiters: n.delimiters,
                        comments: n.comments
                    }, this), o = a.render, r = a.staticRenderFns;
                    n.render = o, n.staticRenderFns = r;
                }
            }
            return os.call(this, t, e);
        }, $n.compile = ts, e.a = $n;
    }).call(this, n(88), n(96).setImmediate);
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return m;
        }));
        var r = n(12), s = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const l = new r.a;
        l.addCaptureVariable("auth", '\n    if (window.hasOwnProperty("__APP_CONFIG__")) {\n      return __APP_CONFIG__.cxApiParams\n    } else {\n      return undefined;\n    }\n  ');
        const c = {
            episode: null
        };
        let d = !1;
        const m = {
            name: "BetaCrunchyroll",
            domain: "https://beta.crunchyroll.com",
            languages: [ "English", "Spanish", "Portuguese", "French", "German", "Arabic", "Italian", "Russian" ],
            type: "anime",
            isSyncPage: e => Boolean(t.$(".erc-watch-episode-layout").length),
            isOverviewPage: e => Boolean(t.$(".erc-series-hero").length),
            sync: {
                getTitle: t => m.overview.getTitle(t),
                getIdentifier: t => m.overview.getIdentifier(t),
                getOverviewUrl(t) {
                    const e = c.episode.episode_metadata;
                    return i.absoluteLink(`/series/${e.series_id}/#season=${e.season_id}`, m.domain);
                },
                getEpisode: t => Number(c.episode.episode_metadata.episode_number) || 1,
                nextEpUrl: t => $(".up-next-title").length && $(".up-next-title").first().attr("href") ? i.absoluteLink($(".up-next-title").first().attr("href"), m.domain) : ""
            },
            overview: {
                getTitle: t => c.episode.episode_metadata.season_title.replace(/\(.+[ds]ub\)/i, "").replace(/\(\d+-\d+\)/, "").trim(),
                getIdentifier: t => c.episode.episode_metadata.season_id,
                uiSelector(e) {
                    t.$(".top-controls").first().before(t.html(e));
                },
                list: {
                    offsetHandler: !0,
                    elementsSelector: () => t.$(".episode-list .c-playable-card"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), m.domain),
                    elementEp(t) {
                        const e = t.find(".c-playable-card__title").first().text().match(/E(\d+)/);
                        return e ? Number(e[1]) : NaN;
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(301).toString());
                let r, v = !0;
                function b() {
                    return s(this, void 0, void 0, (function*() {
                        e.reset(), c.episode = null, yield function() {
                            return s(this, void 0, void 0, (function*() {
                                d || (yield function() {
                                    return s(this, void 0, void 0, (function*() {
                                        const t = u.m("Data");
                                        t.log("start");
                                        const e = yield l.getProxyVariable("auth");
                                        if (!e) throw "No auth Data found";
                                        p.domain = e.apiDomain, p.clientId = e.accountAuthClientId, t.log(p);
                                    }));
                                }(), yield function() {
                                    return s(this, void 0, void 0, (function*() {
                                        const t = u.m("Token");
                                        t.log("start");
                                        const e = yield g("/auth/v1/token", "POST", {
                                            basic: !0
                                        });
                                        if (200 !== e.status) throw "Could not get Token";
                                        const n = JSON.parse(e.responseText);
                                        p.token = n.access_token, t.log(p);
                                    }));
                                }(), yield function() {
                                    return s(this, void 0, void 0, (function*() {
                                        const t = u.m("Policy");
                                        t.log("start");
                                        const e = yield g("/index/v2", "GET", {
                                            bearer: !0
                                        });
                                        if (200 !== e.status) throw "Could not get Policy";
                                        const n = JSON.parse(e.responseText);
                                        p.bucket.path = n.cms.bucket, p.bucket.keyPairId = n.cms.key_pair_id, p.bucket.policy = n.cms.policy, 
                                        p.bucket.signature = n.cms.signature, t.log(p);
                                    }));
                                }(), d = !0);
                            }));
                        }(), clearInterval(r), r = i.waitUntilTrue(() => m.isSyncPage(e.url) || m.isOverviewPage(e.url), () => s(this, void 0, void 0, (function*() {
                            if (m.isOverviewPage(e.url)) return console.log("Waiting for page to load"), clearInterval(r), 
                            void (r = i.waitUntilTrue(() => Boolean($(".episode-list .c-playable-card a").length), () => s(this, void 0, void 0, (function*() {
                                const t = $(".episode-list .c-playable-card a").first().attr("href");
                                if (!t) throw "No Episode found on the page";
                                c.episode = yield h(f(t)), e.handlePage(), v && function(t) {
                                    s(this, void 0, void 0, (function*() {
                                        const e = o.m("Season Selecter");
                                        if (!window.location.href.includes("season")) return void e.log("Nothing to do");
                                        const n = window.location.href.replace("#", "?"), a = i.urlParam(n, "season");
                                        if (e.log(a, t), a === t) return void e.log("Correct Season");
                                        const r = (yield function(t) {
                                            return s(this, void 0, void 0, (function*() {
                                                const e = o.m("Seasons").m(String(t));
                                                e.log("start");
                                                const n = yield g("/seasons?series_id=" + t, "GET", {
                                                    cms: !0
                                                });
                                                e.log(n.finalUrl);
                                                const i = JSON.parse(n.responseText);
                                                if (!i || !i.items.length) throw "No Season Data found";
                                                if ("season" !== i.items[0].__class__) throw "Are not seasons";
                                                return e.log(i.items), i.items;
                                            }));
                                        }(f(n))).findIndex(t => t.id === a);
                                        -1 !== r ? ($(".seasons-select .c-dropdown-content").length || $('.seasons-select [role="button"].trigger').click(), 
                                        $('.seasons-select .c-dropdown-content [role="button"]').eq(r).click()) : e.log("Not available here");
                                    }));
                                }(m.overview.getIdentifier(e.url)), v = !1;
                            }))));
                            c.episode = yield h(f(e.url)), e.handlePage(), v = !1;
                        })));
                    }));
                }
                i.changeDetect(() => {
                    m.overview.list.elementsSelector().length && e.handleList();
                }, () => m.overview.list.elementsSelector().length), t.$(document).ready((function() {
                    b();
                })), i.changeDetect(() => b(), () => {
                    const t = $(".season-info .c-text").first().text();
                    return t || window.location.href;
                });
            }
        }, u = o.m("auth"), p = {
            domain: "",
            clientId: "",
            token: "",
            bucket: {
                path: "",
                keyPairId: "",
                policy: "",
                signature: ""
            }
        };
        function h(t) {
            return s(this, void 0, void 0, (function*() {
                const e = o.m("Episode").m(String(t));
                e.log("start");
                const n = yield g("/objects/" + t, "GET", {
                    cms: !0
                });
                e.log(n.finalUrl);
                const i = JSON.parse(n.responseText);
                if (!i || !i.items.length) throw "No Episode data found";
                const a = i.items[0];
                if ("episode" !== a.type) throw "Not an Episode";
                return e.log(a), a;
            }));
        }
        function g(t, e = "GET", n = {}) {
            return s(this, void 0, void 0, (function*() {
                const i = {
                    url: p.domain + t,
                    headers: {
                        Accept: "application/json"
                    }
                };
                if (n.basic && (i.headers.authorization = "Basic " + btoa(p.clientId + ":"), i.headers["Content-Type"] = "application/x-www-form-urlencoded", 
                i.data = "grant_type=etp_rt_cookie"), n.bearer && (i.headers.authorization = "Bearer " + p.token), 
                n.cms) {
                    const e = p.bucket;
                    let n = "?";
                    -1 !== t.indexOf("?") && (n = "&"), i.url = `${p.domain}/cms/v2${e.path}${t}${n}Signature=${e.signature}&Policy=${e.policy}&Key-Pair-Id=${e.keyPairId}`;
                }
                return a.request.xhr(e, i);
            }));
        }
        function f(t) {
            const e = t.match(/(series|watch)\/([^/]+)/i);
            if (!e[2]) throw "Could not find id in " + t;
            return e[2];
        }
    }).call(this, n(2), n(1), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return s;
        }));
        var a = n(17), o = n(8), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class s extends a.a {
            constructor() {
                super(...arguments), this.name = "Simkl", this.authenticationUrl = "https://simkl.com/oauth/authorize?response_type=code&client_id=39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0&redirect_uri=https://simkl.com/apps/chrome/mal-sync/connected/", 
                this.syncList = o.g, this.translateList = o.h, this.getCacheKey = o.d, this.getEpisode = o.e, 
                this.call = o.a;
            }
            getUsername() {
                return r(this, void 0, void 0, (function*() {
                    return this.call("https://api.simkl.com/users/settings").then(e => {
                        if (t.log(e), e && e.user && void 0 !== e.user.name) return e.user.name;
                        throw {
                            code: 400,
                            message: "Not Authenticated"
                        };
                    });
                }));
            }
            deauth() {
                return i.settings.set("simklToken", "");
            }
            errorHandling(e, n) {
                if (void 0 !== e.error) throw t.error(e.error), {
                    code: n,
                    message: e.error
                };
                switch (n) {
                  case 200:
                  case 201:
                  case 204:
                  case 302:
                    break;

                  default:
                    throw {
                        code: n,
                        message: "Code: " + n
                    };
                }
            }
            _getSortingOptions() {
                return [];
            }
            getPart() {
                return r(this, void 0, void 0, (function*() {
                    if (t.log("[UserList][Simkl]", "status: " + this.status), "manga" === this.listType) throw {
                        code: 415,
                        message: "Does not support manga"
                    };
                    return this.syncList().then(e => r(this, void 0, void 0, (function*() {
                        this.done = !0;
                        const n = yield this.prepareData(Object.values(e), this.listType, this.status);
                        return t.log(n), n;
                    })));
                }));
            }
            prepareData(t, e, n) {
                return r(this, void 0, void 0, (function*() {
                    const i = [];
                    for (let a = 0; a < t.length; a++) {
                        const o = t[a], r = this.translateList(o.status);
                        if (7 !== n && parseInt(r) !== n) continue;
                        let s = this.getEpisode(o.last_watched);
                        if (2 === r && (s = o.total_episodes_count), "anime" === e) {
                            const t = yield this.fn({
                                malId: o.show.ids.mal,
                                apiCacheKey: o.show.ids.mal,
                                uid: o.show.ids.simkl,
                                cacheKey: this.getCacheKey(o.show.ids.mal, o.show.ids.simkl),
                                type: e,
                                title: o.show.title,
                                url: `https://simkl.com/${e}/${o.show.ids.simkl}`,
                                watchedEp: s,
                                totalEp: o.total_episodes_count,
                                status: r,
                                score: o.user_rating ? o.user_rating : 0,
                                image: `https://simkl.in/posters/${o.show.poster}_ca.jpg`,
                                tags: o.private_memo,
                                airingState: o.anime_airing_status
                            });
                            i.push(t);
                        }
                    }
                    return i;
                }));
            }
        }
    }).call(this, n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        function i(e) {
            return function(e) {
                let n = "";
                return 1 === e.y ? n += ` ${e.y} ${t.storage.lang("bookmarksItem_Year")}` : e.y > 1 && (n += ` ${e.y} ${t.storage.lang("bookmarksItem_Years")}`), 
                1 === e.d ? n += ` ${e.d} ${t.storage.lang("bookmarksItem_Day")}` : e.d > 1 && (n += ` ${e.d} ${t.storage.lang("bookmarksItem_Days")}`), 
                1 === e.h ? n += ` ${e.h} ${t.storage.lang("bookmarksItem_Hour")}` : e.h > 1 && (n += ` ${e.h} ${t.storage.lang("bookmarksItem_Hours")}`), 
                1 === e.m ? n += ` ${e.m} ${t.storage.lang("bookmarksItem_min")}` : e.m > 1 && (n += ` ${e.m} ${t.storage.lang("bookmarksItem_mins")}`), 
                1 === e.s ? n += ` ${e.s} ${t.storage.lang("bookmarksItem_sec")}` : e.s > 1 && (n += ` ${e.s} ${t.storage.lang("bookmarksItem_secs")}`), 
                n.trim();
            }((n = function(t) {
                let e, n, i, a;
                a = Math.floor(t / 1e3), i = Math.floor(a / 60), a %= 60, n = Math.floor(i / 60), 
                i %= 60, e = Math.floor(n / 24), n %= 24;
                const o = Math.floor(e / 365);
                return e %= 365, {
                    y: o,
                    d: e,
                    h: n,
                    m: i,
                    s: a
                };
            }(e)).y > 1 ? n.d > 182 ? {
                y: n.y + 1,
                d: 0,
                h: 0,
                m: 0,
                s: 0
            } : {
                y: n.y,
                d: 0,
                h: 0,
                m: 0,
                s: 0
            } : n.y ? {
                y: n.y,
                d: n.d,
                h: 0,
                m: 0,
                s: 0
            } : n.d > 3 ? n.h > 11 ? {
                y: 0,
                d: n.d + 1,
                h: 0,
                m: 0,
                s: 0
            } : {
                y: 0,
                d: n.d,
                h: 0,
                m: 0,
                s: 0
            } : n.d ? {
                y: 0,
                d: n.d,
                h: n.h,
                m: 0,
                s: 0
            } : n.h > 5 ? n.m > 29 ? {
                y: 0,
                d: 0,
                h: n.h + 1,
                m: 0,
                s: 0
            } : {
                y: 0,
                d: 0,
                h: n.h,
                m: 0,
                s: 0
            } : n.h ? {
                y: 0,
                d: 0,
                h: n.h,
                m: n.m,
                s: 0
            } : n.m > 14 ? {
                y: 0,
                d: 0,
                h: 0,
                m: n.m,
                s: 0
            } : {
                y: 0,
                d: 0,
                h: 0,
                m: n.m,
                s: n.s
            });
            var n;
        }
        function a(e, n = !0) {
            if (!e) return "";
            const a = Date.now();
            let o, r;
            if (a > e ? (r = !1, o = a - e) : (r = !0, o = e - a), o < 3e4) return t.storage.lang("bookmarksItem_now");
            let s = i(o);
            return !r && n && (s = t.storage.lang("bookmarksItem_ago", [ s ])), s;
        }
        n.d(e, "a", (function() {
            return i;
        })), n.d(e, "b", (function() {
            return a;
        }));
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    n.d(e, "a", (function() {
        return i;
    }));
    const i = [ "", "", "", "CANCEL", "", "", "HELP", "", "BACK_SPACE", "TAB", "", "", "CLEAR", "ENTER", "ENTER_SPECIAL", "", "SHIFT", "CONTROL", "ALT", "PAUSE", "CAPS_LOCK", "KANA", "EISU", "JUNJA", "FINAL", "HANJA", "", "ESCAPE", "CONVERT", "NONCONVERT", "ACCEPT", "MODECHANGE", "SPACE", "PAGE_UP", "PAGE_DOWN", "END", "HOME", "LEFT", "UP", "RIGHT", "DOWN", "SELECT", "PRINT", "EXECUTE", "PRINTSCREEN", "INSERT", "DELETE", "", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "COLON", "SEMICOLON", "LESS_THAN", "EQUALS", "GREATER_THAN", "QUESTION_MARK", "AT", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "OS_KEY", "", "CONTEXT_MENU", "", "SLEEP", "NUMPAD0", "NUMPAD1", "NUMPAD2", "NUMPAD3", "NUMPAD4", "NUMPAD5", "NUMPAD6", "NUMPAD7", "NUMPAD8", "NUMPAD9", "MULTIPLY", "ADD", "SEPARATOR", "SUBTRACT", "DECIMAL", "DIVIDE", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "", "", "", "", "", "", "", "", "NUM_LOCK", "SCROLL_LOCK", "WIN_OEM_FJ_JISHO", "WIN_OEM_FJ_MASSHOU", "WIN_OEM_FJ_TOUROKU", "WIN_OEM_FJ_LOYA", "WIN_OEM_FJ_ROYA", "", "", "", "", "", "", "", "", "", "CIRCUMFLEX", "EXCLAMATION", "DOUBLE_QUOTE", "HASH", "DOLLAR", "PERCENT", "AMPERSAND", "UNDERSCORE", "OPEN_PAREN", "CLOSE_PAREN", "ASTERISK", "PLUS", "PIPE", "HYPHEN_MINUS", "OPEN_CURLY_BRACKET", "CLOSE_CURLY_BRACKET", "TILDE", "", "", "", "", "VOLUME_MUTE", "VOLUME_DOWN", "VOLUME_UP", "", "", "SEMICOLON", "EQUALS", "COMMA", "MINUS", "PERIOD", "SLASH", "BACK_QUOTE", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "OPEN_BRACKET", "BACK_SLASH", "CLOSE_BRACKET", "QUOTE", "", "META", "ALTGR", "", "WIN_ICO_HELP", "WIN_ICO_00", "", "WIN_ICO_CLEAR", "", "", "WIN_OEM_RESET", "WIN_OEM_JUMP", "WIN_OEM_PA1", "WIN_OEM_PA2", "WIN_OEM_PA3", "WIN_OEM_WSCTRL", "WIN_OEM_CUSEL", "WIN_OEM_ATTN", "WIN_OEM_FINISH", "WIN_OEM_COPY", "WIN_OEM_AUTO", "WIN_OEM_ENLW", "WIN_OEM_BACKTAB", "ATTN", "CRSEL", "EXSEL", "EREOF", "PLAY", "ZOOM", "", "PA1", "WIN_OEM_CLEAR", "" ];
}, function(t, e, n) {
    "use strict";
    n.d(e, "a", (function() {
        return i;
    }));
    const i = n(79).a;
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return s;
        }));
        var a = n(17), o = n(10), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class s extends a.a {
            constructor() {
                super(...arguments), this.name = "AniList", this.compact = !1, this.seperateRewatching = !0, 
                this.authenticationUrl = "https://anilist.co/api/v2/oauth/authorize?client_id=1487&response_type=token";
            }
            getUsername() {
                return this.api.request.xhr("POST", {
                    url: "https://graphql.anilist.co",
                    headers: {
                        Authorization: "Bearer " + this.accessToken(),
                        "Content-Type": "application/json",
                        Accept: "application/json"
                    },
                    data: JSON.stringify({
                        query: "\n    query {\n      Viewer {\n        name\n        id\n        options {\n          displayAdultContent\n        }\n        mediaListOptions {\n          scoreFormat\n        }\n      }\n    }\n    ",
                        variables: []
                    })
                }).then(e => {
                    const n = this.jsonParse(e);
                    if (t.log(n), this.errorHandling(n), n.data.Viewer.options && n.data.Viewer.mediaListOptions) {
                        const t = i.settings.get("anilistOptions");
                        t.displayAdultContent = n.data.Viewer.options.displayAdultContent, t.scoreFormat = n.data.Viewer.mediaListOptions.scoreFormat, 
                        i.settings.set("anilistOptions", t);
                    }
                    return n.data.Viewer.name;
                });
            }
            deauth() {
                return i.settings.set("anilistToken", "");
            }
            errorHandling(e) {
                if (void 0 !== e.errors) throw t.error(e.errors), {
                    code: e.errors[0].status,
                    message: e.errors[0].message
                };
            }
            accessToken() {
                return this.api.settings.get("anilistToken");
            }
            _getSortingOptions() {
                return [ {
                    icon: "sort_by_alpha",
                    title: "Alphabetic",
                    value: "alpha"
                }, {
                    icon: "history",
                    title: "Last Updated",
                    value: "updated",
                    asc: !0
                }, {
                    icon: "score",
                    title: "Score",
                    value: "score",
                    asc: !0
                } ];
            }
            getOrder(t) {
                switch (t) {
                  case "alpha":
                    return "MEDIA_TITLE_ENGLISH";

                  case "updated":
                    return "UPDATED_TIME_DESC";

                  case "updated_asc":
                    return "UPDATED_TIME";

                  case "score":
                    return "SCORE_DESC";

                  case "score_asc":
                    return "SCORE";

                  default:
                    return 1 === this.status || this.status, this.getOrder("updated");
                }
            }
            getPart() {
                return r(this, void 0, void 0, (function*() {
                    this.offset < 1 && (this.offset = 1), t.log("[UserList][AniList]", "username: " + this.username, "status: " + this.status, "offset: " + this.offset), 
                    this.username || (this.username = yield this.getUsername());
                    let e = "\n    query ($page: Int, $userName: String, $type: MediaType, $status: MediaListStatus, $sort: [MediaListSort] ) {\n      Page (page: $page, perPage: 100) {\n        pageInfo {\n          hasNextPage\n        }\n        mediaList (status: $status, type: $type, userName: $userName, sort: $sort) {\n          status\n          score(format: POINT_100)\n          progress\n          progressVolumes\n          notes\n          media {\n            siteUrl\n            id\n            idMal\n            episodes\n            chapters\n            volumes\n            status\n            averageScore\n            coverImage{\n              large\n            }\n            title {\n              userPreferred\n            }\n          }\n        }\n      }\n    }\n    ";
                    this.compact && (e = "\n      query ($page: Int, $userName: String, $type: MediaType, $status: MediaListStatus, $sort: [MediaListSort]) {\n        Page (page: $page, perPage: 100) {\n          pageInfo {\n            hasNextPage\n          }\n          mediaList (status: $status, type: $type, userName: $userName, sort: $sort) {\n            progress\n            media {\n              id\n              idMal\n            }\n          }\n        }\n      }\n      ");
                    const n = {
                        page: this.offset,
                        userName: this.username,
                        type: this.listType.toUpperCase(),
                        status: o.e[parseInt(this.status.toString())],
                        sort: null
                    }, i = this.getOrder(this.sort);
                    return i && (n.sort = i), this.api.request.xhr("POST", {
                        url: "https://graphql.anilist.co",
                        headers: {
                            Authorization: "Bearer " + this.accessToken(),
                            "Content-Type": "application/json",
                            Accept: "application/json"
                        },
                        data: JSON.stringify({
                            query: e,
                            variables: n
                        })
                    }).then(e => {
                        const n = this.jsonParse(e);
                        t.log("res", n), this.errorHandling(n);
                        const i = n.data.Page.mediaList;
                        return this.offset += 1, n.data.Page.pageInfo.hasNextPage || (this.done = !0), this.prepareData(i, this.listType);
                    });
                }));
            }
            prepareData(t, e) {
                var n, i;
                return r(this, void 0, void 0, (function*() {
                    const a = [];
                    for (let r = 0; r < t.length; r++) {
                        const s = t[r];
                        let l;
                        l = "anime" === e ? yield this.fn({
                            uid: s.media.id,
                            malId: s.media.idMal,
                            apiCacheKey: null !== (n = s.media.idMal) && void 0 !== n ? n : "anilist:" + s.media.id,
                            cacheKey: o.c(s.media.idMal, s.media.id),
                            type: e,
                            title: s.media.title.userPreferred,
                            url: s.media.siteUrl,
                            watchedEp: s.progress,
                            totalEp: s.media.episodes,
                            status: o.f(s.status),
                            score: Math.round(s.score / 10),
                            image: s.media.coverImage.large,
                            tags: s.notes,
                            airingState: s.anime_airing_status
                        }) : yield this.fn({
                            uid: s.media.id,
                            malId: s.media.idMal,
                            apiCacheKey: null !== (i = s.media.idMal) && void 0 !== i ? i : "anilist:" + s.media.id,
                            cacheKey: o.c(s.media.idMal, s.media.id),
                            type: e,
                            title: s.media.title.userPreferred,
                            url: s.media.siteUrl,
                            watchedEp: s.progress,
                            totalEp: s.media.chapters,
                            status: o.f(s.status),
                            score: Math.round(s.score / 10),
                            image: s.media.coverImage.large,
                            tags: s.notes,
                            airingState: s.anime_airing_status
                        }), null === l.totalEp && (l.totalEp = 0), a.push(l);
                    }
                    return a;
                }));
            }
            prepareCompact(t, e) {
                const n = [];
                for (let e = 0; e < t.length; e++) {
                    const i = t[e];
                    n.push({
                        malid: i.media.idMal,
                        id: i.media.id,
                        watchedEp: i.progress,
                        cacheKey: o.c(i.media.idMal, i.media.id)
                    });
                }
                return n;
            }
        }
    }).call(this, n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return s;
        }));
        var a = n(17), o = n(7), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class s extends a.a {
            constructor() {
                super(...arguments), this.name = "Kitsu", this.authenticationUrl = "https://kitsu.io/404?mal-sync=authentication";
            }
            getUsername() {
                return r(this, void 0, void 0, (function*() {
                    const e = yield this.userRequest(), n = t.settings.get("kitsuOptions");
                    return n.titleLanguagePreference = e.attributes.titleLanguagePreference, n.sfwFilter = e.attributes.sfwFilter, 
                    n.ratingSystem = e.attributes.ratingSystem, t.settings.set("kitsuOptions", n), e.attributes.name;
                }));
            }
            getUserId() {
                return r(this, void 0, void 0, (function*() {
                    const e = yield t.storage.get("kitsuUserId");
                    if (void 0 !== e) return e;
                    const n = yield this.userRequest();
                    return t.storage.set("kitsuUserId", n.id), n.id;
                }));
            }
            userRequest() {
                return t.request.xhr("GET", {
                    url: "https://kitsu.io/api/edge/users?filter[self]=true",
                    headers: {
                        Authorization: "Bearer " + this.accessToken(),
                        "Content-Type": "application/vnd.api+json",
                        Accept: "application/vnd.api+json"
                    }
                }).then(t => {
                    const e = this.jsonParse(t);
                    if (i.log(e), this.errorHandling(e), void 0 === e.data[0]) throw {
                        code: 400,
                        message: "Not Authenticated"
                    };
                    return e.data[0];
                });
            }
            deauth() {
                return t.settings.set("kitsuToken", "").then(() => t.storage.set("kitsuUserId", ""));
            }
            errorHandling(t) {
                if (void 0 !== t.errors) throw i.error(t.errors), {
                    code: parseInt(t.errors[0].status),
                    message: t.errors[0].title
                };
            }
            accessToken() {
                return t.settings.get("kitsuToken");
            }
            _getSortingOptions() {
                return [ {
                    icon: "sort_by_alpha",
                    title: "Alphabetic",
                    value: "alpha",
                    asc: !0
                }, {
                    icon: "history",
                    title: "Last Updated",
                    value: "updated",
                    asc: !0
                }, {
                    icon: "score",
                    title: "Score",
                    value: "score",
                    asc: !0
                } ];
            }
            getOrder(t) {
                let e = "";
                t.endsWith("_asc") || (e = "-");
                switch (t.replace("_asc", "")) {
                  case "alpha":
                    return e = e ? "" : "-", `${e}${this.listType}.titles.en`;

                  case "updated":
                    return e + "progressed_at";

                  case "score":
                    return e + "rating";

                  default:
                    return 1 === this.status || 6 === this.status ? this.getOrder("updated") : this.getOrder("alpha");
                }
            }
            getPart() {
                return r(this, void 0, void 0, (function*() {
                    const e = yield this.getUserId();
                    let n = "", a = "";
                    const r = this.getOrder(this.sort);
                    if (r && (a = "&sort=" + r), 7 !== this.status) {
                        n = "&filter[status]=" + o.f(this.status, this.status);
                    }
                    return i.log("[UserList][Kitsu]", "user: " + e, "status: " + this.status, "offset: " + this.offset), 
                    t.request.xhr("GET", {
                        url: `https://kitsu.io/api/edge/library-entries?filter[user_id]=${e}${n}&filter[kind]=${this.listType}&page[offset]=${this.offset}&page[limit]=50${a}&include=${this.listType},${this.listType}.mappings,${this.listType}.mappings.item&fields[${this.listType}]=slug,titles,canonicalTitle,averageRating,posterImage,${"anime" === this.listType ? "episodeCount" : "chapterCount,volumeCount"}`,
                        headers: {
                            Authorization: "Bearer " + this.accessToken(),
                            "Content-Type": "application/vnd.api+json",
                            Accept: "application/vnd.api+json"
                        },
                        data: {}
                    }).then(t => {
                        const e = this.jsonParse(t);
                        return i.log(e), this.errorHandling(e), this.offset += 50, e.meta.count > this.offset || (this.done = !0), 
                        this.prepareData(e, this.listType);
                    });
                }));
            }
            prepareData(t, e) {
                return r(this, void 0, void 0, (function*() {
                    const n = [];
                    for (let i = 0; i < t.data.length; i++) {
                        const a = t.data[i], r = t.included[i], s = o.c(r.attributes.titles, r.attributes.canonicalTitle);
                        let l, c = NaN;
                        for (let n = 0; n < t.included.length; n++) {
                            const i = t.included[n];
                            if ("mappings" === i.type && i.attributes.externalSite === "myanimelist/" + e && i.relationships.item.data.id === r.id) {
                                c = i.attributes.externalId, t.included.splice(n, 1);
                                break;
                            }
                        }
                        l = "anime" === e ? yield this.fn({
                            malId: c,
                            apiCacheKey: c,
                            uid: r.id,
                            cacheKey: o.b(c, r.id),
                            kitsuSlug: r.attributes.slug,
                            type: e,
                            title: s,
                            url: `https://kitsu.io/${e}/${r.attributes.slug}`,
                            watchedEp: a.attributes.progress,
                            totalEp: r.attributes.episodeCount,
                            status: o.f(a.attributes.status),
                            score: Math.round(a.attributes.ratingTwenty / 2),
                            image: r.attributes.posterImage && r.attributes.posterImage.large ? r.attributes.posterImage.large : "",
                            tags: a.attributes.notes,
                            airingState: r.anime_airing_status
                        }) : yield this.fn({
                            malId: c,
                            apiCacheKey: c,
                            uid: r.id,
                            cacheKey: o.b(c, r.id),
                            kitsuSlug: r.attributes.slug,
                            type: e,
                            title: s,
                            url: `https://kitsu.io/${e}/${r.attributes.slug}`,
                            watchedEp: a.attributes.progress,
                            totalEp: r.attributes.chapterCount,
                            status: o.f(a.attributes.status),
                            score: Math.round(a.attributes.ratingTwenty / 2),
                            image: r.attributes.posterImage && r.attributes.posterImage.large ? r.attributes.posterImage.large : "",
                            tags: a.attributes.notes,
                            airingState: r.anime_airing_status
                        }), null === l.totalEp && (l.totalEp = 0), n.push(l);
                    }
                    return n;
                }));
            }
        }
    }).call(this, n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return c;
        }));
        var o = n(22), r = n(10), s = n(5), l = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class c extends o.a {
            constructor(e) {
                return super(e), this.url = e, this.displayUrl = "", this.shortName = "AniList", 
                this.authenticationUrl = "https://anilist.co/api/v2/oauth/authorize?client_id=1487&response_type=token", 
                this.apiCall = r.b, this.logger = t.m(this.shortName, "#3db4f2"), this;
            }
            handleUrl(t) {
                if (t.match(/anilist\.co\/(anime|manga)\/\d*/i)) return this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", 
                void (this.ids.ani = Number(i.urlPart(t, 4)));
                if (t.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", 
                void (this.ids.mal = Number(i.urlPart(t, 4)));
                throw this.errorObj(s.a.UrlNotSuported, "Url not supported");
            }
            getCacheKey() {
                return r.c(this.ids.mal, this.ids.ani);
            }
            _getStatus() {
                return parseInt(r.e[this.animeInfo.mediaListEntry.status]);
            }
            _setStatus(t) {
                this.animeInfo.mediaListEntry.status = r.e[t];
            }
            _getScore() {
                if (0 === this.animeInfo.mediaListEntry.score) return 0;
                const t = Math.round(this.animeInfo.mediaListEntry.score / 10);
                return 0 === t ? 1 : t;
            }
            _setScore(t) {
                this.animeInfo.mediaListEntry.score = 10 * t;
            }
            _getEpisode() {
                return this.animeInfo.mediaListEntry.progress;
            }
            _setEpisode(t) {
                this.animeInfo.mediaListEntry.progress = parseInt("" + t);
            }
            _getVolume() {
                return this.animeInfo.mediaListEntry.progressVolumes;
            }
            _setVolume(t) {
                this.animeInfo.mediaListEntry.progressVolumes = t;
            }
            _getTags() {
                let t = this.animeInfo.mediaListEntry.notes;
                return null !== t && "null" !== t || (t = ""), t;
            }
            _setTags(t) {
                this.animeInfo.mediaListEntry.notes = t;
            }
            _getTitle() {
                return this.animeInfo.title.userPreferred;
            }
            _getTotalEpisodes() {
                const t = this.animeInfo.episodes ? this.animeInfo.episodes : this.animeInfo.chapters;
                return null === t ? 0 : t;
            }
            _getTotalVolumes() {
                const t = this.animeInfo.volumes;
                return t || 0;
            }
            _getDisplayUrl() {
                return "" !== this.displayUrl && null !== this.displayUrl ? this.displayUrl : this.url;
            }
            _getImage() {
                return Promise.resolve(this.animeInfo.coverImage.large);
            }
            _getRating() {
                return Promise.resolve(this.animeInfo.averageScore);
            }
            _update() {
                return l(this, void 0, void 0, (function*() {
                    let t = this.ids.mal, e = "idMal";
                    Number.isNaN(this.ids.mal) && (t = this.ids.ani, e = "id");
                    const n = `\n    query ($id: Int, $type: MediaType) {\n      Media (${e}: $id, type: $type) {\n        id\n        idMal\n        siteUrl\n        episodes\n        chapters\n        volumes\n        averageScore\n        coverImage{\n          large\n        }\n        title {\n          userPreferred\n        }\n        mediaListEntry {\n          id\n          status\n          progress\n          progressVolumes\n          score(format: POINT_100)\n          repeat\n          notes\n        }\n      }\n    }\n    `, i = {
                        id: t,
                        type: this.type.toUpperCase()
                    };
                    return this._authenticated = !0, this.apiCall(n, i).catch(t => {
                        if (t.code === s.a.NotAutenticated) return this._authenticated = !1, this.apiCall(n, i, !1);
                        throw t;
                    }).then(t => {
                        if (this.logger.log("[SINGLE]", "Data", t), this.animeInfo = t.data.Media, this.ids.ani = this.animeInfo.id, 
                        Number.isNaN(this.ids.mal) && this.animeInfo.idMal && (this.ids.mal = this.animeInfo.idMal), 
                        this.displayUrl = this.animeInfo.siteUrl, this._onList = !0, null === this.animeInfo.mediaListEntry && (this._onList = !1, 
                        this.animeInfo.mediaListEntry = {
                            notes: "",
                            progress: 0,
                            progressVolumes: 0,
                            repeat: 0,
                            score: 0,
                            status: "PLANNING"
                        }), !this._authenticated) throw this.errorObj(s.a.NotAutenticated, "Not Authenticated");
                    });
                }));
            }
            _sync() {
                return l(this, void 0, void 0, (function*() {
                    let t = "\n      mutation ($mediaId: Int, $status: MediaListStatus, $progress: Int, $scoreRaw: Int, $notes: String) {\n        SaveMediaListEntry (mediaId: $mediaId, status: $status, progress: $progress, scoreRaw: $scoreRaw, notes: $notes) {\n          id\n          status\n          progress\n        }\n      }\n    ";
                    const e = {
                        mediaId: this.ids.ani,
                        status: this.animeInfo.mediaListEntry.status,
                        progress: this.animeInfo.mediaListEntry.progress,
                        scoreRaw: this.animeInfo.mediaListEntry.score,
                        notes: this.animeInfo.mediaListEntry.notes,
                        volumes: null
                    };
                    return "manga" === this.type && (t = "\n        mutation ($mediaId: Int, $status: MediaListStatus, $progress: Int, $scoreRaw: Int, $notes: String, $volumes: Int) {\n          SaveMediaListEntry (mediaId: $mediaId, status: $status, progress: $progress, scoreRaw: $scoreRaw, notes: $notes, progressVolumes: $volumes) {\n            id\n            status\n            progress\n            progressVolumes\n          }\n        }\n      ", 
                    e.volumes = this.animeInfo.mediaListEntry.progressVolumes), this.apiCall(t, e).then(t => (t && t.data && t.data.SaveMediaListEntry && t.data.SaveMediaListEntry.id && (this.animeInfo.mediaListEntry.id = t.data.SaveMediaListEntry.id), 
                    t));
                }));
            }
            getScoreMode() {
                return a.settings.get("anilistOptions").scoreFormat;
            }
            getScoreCheckbox() {
                switch (this.getScoreMode()) {
                  case "POINT_3":
                    return [ {
                        value: "0",
                        label: a.storage.lang("UI_Score_Not_Rated")
                    }, {
                        value: "85",
                        label: "🙂"
                    }, {
                        value: "60",
                        label: "😐"
                    }, {
                        value: "35",
                        label: "🙁"
                    } ];

                  case "POINT_5":
                    return [ {
                        value: "0",
                        label: a.storage.lang("UI_Score_Not_Rated")
                    }, {
                        value: "90",
                        label: "★★★★★"
                    }, {
                        value: "70",
                        label: "★★★★"
                    }, {
                        value: "50",
                        label: "★★★"
                    }, {
                        value: "30",
                        label: "★★"
                    }, {
                        value: "10",
                        label: "★"
                    } ];

                  case "POINT_10_DECIMAL":
                    {
                        const t = [ {
                            value: "0",
                            label: a.storage.lang("UI_Score_Not_Rated")
                        } ];
                        for (let e = 1; e < 101; e++) t.push({
                            value: e.toString(),
                            label: (e / 10).toFixed(1)
                        });
                        return t;
                    }

                  case "POINT_100":
                    {
                        const t = [ {
                            value: "0",
                            label: a.storage.lang("UI_Score_Not_Rated")
                        } ];
                        for (let e = 1; e < 101; e++) t.push({
                            value: e.toString(),
                            label: String(e)
                        });
                        return t;
                    }

                  default:
                    return super.getScoreCheckbox();
                }
            }
            getScoreCheckboxValue() {
                const t = this.animeInfo.mediaListEntry.score;
                switch (this.getScoreMode()) {
                  case "POINT_3":
                    return t ? t >= 73 ? 85 : t <= 47 ? 35 : 60 : 0;

                  case "POINT_5":
                    return t ? t < 20 ? 10 : t < 40 ? 30 : t < 60 ? 50 : t < 80 ? 70 : 90 : 0;

                  case "POINT_10_DECIMAL":
                  case "POINT_100":
                    return t;

                  default:
                    return super.getScoreCheckboxValue();
                }
            }
            handleScoreCheckbox(t) {
                switch (this.getScoreMode()) {
                  case "POINT_3":
                  case "POINT_5":
                  case "POINT_10_DECIMAL":
                  case "POINT_100":
                    this.animeInfo.mediaListEntry.score = t;
                    break;

                  default:
                    super.handleScoreCheckbox(t);
                }
            }
            delete() {
                const t = {
                    mediaId: this.animeInfo.mediaListEntry.id
                };
                return this.apiCall("\n      mutation ($mediaId: Int) {\n        DeleteMediaListEntry(id: $mediaId) {\n          deleted\n        }\n      }\n    ", t);
            }
        }
    }).call(this, n(4), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return c;
        }));
        var o = n(22), r = n(7), s = n(5), l = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class c extends o.a {
            constructor(e) {
                return super(e), this.url = e, this.shortName = "Kitsu", this.authenticationUrl = "https://kitsu.io/404?mal-sync=authentication", 
                this.apiCall = r.a, this.logger = t.m(this.shortName, "#d65e43"), this;
            }
            listI() {
                return this.animeInfo.data[0];
            }
            animeI() {
                return this.animeInfo.included[0];
            }
            handleUrl(t) {
                if (t.match(/kitsu\.io\/(anime|manga)\/.*/i)) return this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", 
                void (this.ids.kitsu.slug = i.urlPart(t, 4));
                if (t.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", 
                void (this.ids.mal = Number(i.urlPart(t, 4)));
                throw this.errorObj(s.a.UrlNotSuported, "Url not supported");
            }
            getCacheKey() {
                return r.b(this.ids.mal, this.ids.kitsu.id);
            }
            _getStatus() {
                return this.listI().attributes.reconsuming && "current" === this.listI().attributes.status ? 23 : parseInt(r.f(this.listI().attributes.status));
            }
            _setStatus(t) {
                23 === t ? (t = 1, this.listI().attributes.reconsuming = !0) : this.listI().attributes.reconsuming = !1, 
                this.listI().attributes.status = r.f(t, parseInt(t.toString()));
            }
            _getScore() {
                if (!this.listI().attributes.ratingTwenty) return 0;
                return Math.round(this.listI().attributes.ratingTwenty / 2);
            }
            _setScore(t) {
                this.listI().attributes.ratingTwenty = 0 !== t ? 2 * t : null;
            }
            _getEpisode() {
                return this.listI().attributes.progress;
            }
            _setEpisode(t) {
                this.listI().attributes.progress = parseInt("" + t);
            }
            _getVolume() {
                return this.listI().attributes.volumesOwned;
            }
            _setVolume(t) {
                this.listI().attributes.volumesOwned = t;
            }
            _getTags() {
                let t = this.listI().attributes.notes;
                return null !== t && "null" !== t || (t = ""), t;
            }
            _setTags(t) {
                this.listI().attributes.notes = t;
            }
            _getTitle() {
                try {
                    return r.c(this.animeI().attributes.titles, this.animeI().attributes.canonicalTitle);
                } catch (t) {
                    return console.error("title", t), "Failed";
                }
            }
            _getTotalEpisodes() {
                const t = this.animeI().attributes.episodeCount ? this.animeI().attributes.episodeCount : this.animeI().attributes.chapterCount;
                return null === t ? 0 : t;
            }
            _getTotalVolumes() {
                const t = this.animeI().attributes.volumeCount;
                return t || 0;
            }
            _getDisplayUrl() {
                return `https://kitsu.io/${this.getType()}/${this.animeI().attributes.slug}`;
            }
            _getImage() {
                return Promise.resolve(this.animeI().attributes.posterImage.large);
            }
            _getRating() {
                return null === this.animeI().attributes.averageRating ? Promise.resolve("") : Promise.resolve(this.animeI().attributes.averageRating + "%");
            }
            _update() {
                return l(this, void 0, void 0, (function*() {
                    if (Number.isNaN(this.ids.mal)) {
                        var t = yield this.kitsuSlugtoKitsu(this.ids.kitsu.slug, this.getType());
                        try {
                            this.ids.kitsu.id = t.res.data[0].id, this.ids.mal = t.malId;
                        } catch (t) {
                            throw this._authenticated = !0, this.errorObj(s.a.EntryNotFound, "Not found");
                        }
                    }
                    if (Number.isNaN(this.ids.kitsu.id)) {
                        var e = yield this.malToKitsu(this.ids.mal, this.getType());
                        try {
                            this.ids.kitsu.id = e.data[0].relationships.item.data.id;
                        } catch (t) {
                            throw this._authenticated = !0, this.errorObj(s.a.EntryNotFound, "Not found");
                        }
                    }
                    return this._authenticated = !0, this.userId().then(t => this.apiCall("GET", `https://kitsu.io/api/edge/library-entries?filter[user_id]=${t}&filter[kind]=${this.getType()}&filter[${this.getType()}_id]=${this.ids.kitsu.id}&page[limit]=1&page[limit]=1&include=${this.getType()}&fields[${this.getType()}]=slug,titles,canonicalTitle,averageRating,posterImage,${"anime" === this.getType() ? "episodeCount" : "chapterCount,volumeCount"}`)).catch(t => {
                        if (t.code === s.a.NotAutenticated) return this._authenticated = !1, {
                            data: [],
                            included: []
                        };
                        throw t;
                    }).then(n => l(this, void 0, void 0, (function*() {
                        const i = n;
                        this._onList = !0, n.data.length || (this._onList = !1, i.data[0] = {
                            attributes: {
                                notes: "",
                                progress: 0,
                                volumesOwned: 0,
                                reconsuming: !1,
                                reconsumeCount: !1,
                                ratingTwenty: null,
                                status: "planned"
                            }
                        }, void 0 !== e ? i.included = e.included : t ? i.included = t.res.data : (e = yield this.malToKitsu(this.ids.mal, this.getType()), 
                        i.included = e.included)), this.animeInfo = i;
                        try {
                            this.animeI();
                        } catch (t) {
                            throw this.logger.error(t), this.errorObj(s.a.EntryNotFound, "Not found");
                        }
                        if (!this._authenticated) throw this.errorObj(s.a.NotAutenticated, "Not Authenticated");
                    })));
                }));
            }
            _sync() {
                return l(this, void 0, void 0, (function*() {
                    this.listI().attributes.ratingTwenty < 2 && (this.listI().attributes.ratingTwenty = null);
                    const t = {
                        data: {
                            attributes: {
                                notes: this.listI().attributes.notes,
                                progress: this.listI().attributes.progress,
                                volumesOwned: this.listI().attributes.volumesOwned,
                                reconsuming: this.listI().attributes.reconsuming,
                                reconsumeCount: this.listI().attributes.reconsumeCount,
                                ratingTwenty: this.listI().attributes.ratingTwenty ? this.listI().attributes.ratingTwenty : null,
                                status: this.listI().attributes.status
                            },
                            type: "library-entries"
                        }
                    }, e = this.getType();
                    if (!e) return Promise.resolve();
                    let n, i;
                    return this.isOnList() ? (n = "https://kitsu.io/api/edge/library-entries/" + this.listI().id, 
                    t.data.id = this.listI().id, i = "PATCH") : (n = "https://kitsu.io/api/edge/library-entries/", 
                    t.data.relationships = {
                        [e]: {
                            data: {
                                type: e,
                                id: this.ids.kitsu.id
                            }
                        },
                        user: {
                            data: {
                                type: "users",
                                id: yield this.userId()
                            }
                        }
                    }, i = "POST"), this.logger.log(i, t), this.apiCall(i, n, t).then(t => (t && t.data && t.data.id && (this.listI().id = t.data.id), 
                    t));
                }));
            }
            kitsuSlugtoKitsu(t, e) {
                return this.apiCall("Get", `https://kitsu.io/api/edge/${e}?filter[slug]=${t}&page[limit]=1&include=mappings`, {}).catch(n => {
                    if (n.code === s.a.NotAutenticated) return this._authenticated = !1, this.apiCall("Get", `https://kitsu.io/api/edge/${e}?filter[slug]=${t}&page[limit]=1&include=mappings`, {}, !1);
                    throw n;
                }).then(t => {
                    let n = NaN;
                    if (void 0 !== t && void 0 !== t.included) for (let i = 0; i < t.included.length; i++) {
                        const a = t.included[i];
                        if ("mappings" === a.type) {
                            if (a.attributes.externalSite === "myanimelist/" + e) {
                                n = a.attributes.externalId, t.included.splice(i, 1);
                                break;
                            }
                            a.attributes.externalSite === "anilist/" + e && (this.ids.ani = a.attributes.externalId);
                        }
                    }
                    return {
                        res: t,
                        malId: n
                    };
                });
            }
            malToKitsu(t, e) {
                return this.apiCall("Get", `https://kitsu.io/api/edge/mappings?filter[externalSite]=myanimelist/${e}&filter[externalId]=${t}&include=item&fields[item]=id`, {}).catch(n => {
                    if (n.code === s.a.NotAutenticated) return this._authenticated = !1, this.apiCall("Get", `https://kitsu.io/api/edge/mappings?filter[externalSite]=myanimelist/${e}&filter[externalId]=${t}&include=item&fields[item]=id`, {}, !1);
                    throw n;
                }).then(t => t);
            }
            userId() {
                return l(this, void 0, void 0, (function*() {
                    const t = yield a.storage.get("kitsuUserId");
                    return void 0 !== t ? t : this.apiCall("Get", "https://kitsu.io/api/edge/users?filter[self]=true").then(t => {
                        if (void 0 === t.data || !t.data.length || void 0 === t.data[0]) throw this.errorObj(s.a.NotAutenticated, "Not Authenticated");
                        return a.storage.set("kitsuUserId", t.data[0].id), t.data[0].id;
                    });
                }));
            }
            getScoreMode() {
                return a.settings.get("kitsuOptions").ratingSystem;
            }
            getScoreCheckbox() {
                switch (this.getScoreMode()) {
                  case "simple":
                    return [ {
                        value: "0",
                        label: a.storage.lang("UI_Score_Not_Rated")
                    }, {
                        value: "20",
                        label: "😀"
                    }, {
                        value: "14",
                        label: "🙂"
                    }, {
                        value: "8",
                        label: "😐"
                    }, {
                        value: "2",
                        label: "🙁"
                    } ];

                  case "regular":
                    {
                        const t = [ {
                            value: "0",
                            label: a.storage.lang("UI_Score_Not_Rated")
                        } ];
                        for (let e = 1; e < 11; e++) t.push({
                            value: (2 * e).toString(),
                            label: (e / 2).toFixed(1).toString()
                        });
                        return t;
                    }

                  case "advanced":
                    {
                        const t = [ {
                            value: "0",
                            label: a.storage.lang("UI_Score_Not_Rated")
                        } ];
                        for (let e = 1; e < 21; e++) t.push({
                            value: e.toString(),
                            label: (e / 2).toFixed(1).toString()
                        });
                        return t;
                    }

                  default:
                    return super.getScoreCheckbox();
                }
            }
            getScoreCheckboxValue() {
                let t = this.listI().attributes.ratingTwenty;
                switch (t || (t = 0), this.getScoreMode()) {
                  case "simple":
                    return t ? t < 6 ? 2 : t < 12 ? 8 : t < 18 ? 14 : 20 : 0;

                  case "regular":
                    return 2 * Math.round(t / 2);

                  case "advanced":
                    return t;

                  default:
                    return super.getScoreCheckboxValue();
                }
            }
            handleScoreCheckbox(t) {
                switch (this.getScoreMode()) {
                  case "simple":
                  case "regular":
                  case "advanced":
                    if (0 === t) return void (this.listI().attributes.ratingTwenty = null);
                    this.listI().attributes.ratingTwenty = t;
                    break;

                  default:
                    super.handleScoreCheckbox(t);
                }
            }
            delete() {
                return this.apiCall("DELETE", "https://kitsu.io/api/edge/library-entries/" + this.listI().id);
            }
        }
    }).call(this, n(4), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return l;
        }));
        var a = n(22), o = n(8), r = n(5), s = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class l extends a.a {
            constructor(e) {
                return super(e), this.url = e, this.episodeUpdate = !1, this.statusUpdate = !1, 
                this.ratingUpdate = !1, this.minWatchedEp = 1, this.curWatchedEp = 0, this.shortName = "Simkl", 
                this.authenticationUrl = "https://simkl.com/oauth/authorize?response_type=code&client_id=39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0&redirect_uri=https://simkl.com/apps/chrome/mal-sync/connected/", 
                this.rewatchingSupport = !1, this.syncList = o.g, this.getSingle = o.f, this.call = o.a, 
                this.errorHandling = o.c, this.logger = t.m(this.shortName, "#9b7400"), this;
            }
            handleUrl(t) {
                if (t.match(/simkl\.com\/(anime|manga)\/\d*/i)) {
                    if (this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", this.ids.simkl = parseInt(i.urlPart(t, 4)), 
                    "manga" === this.type) throw "Simkl has no manga support";
                } else {
                    if (!t.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) throw this.errorObj(r.a.UrlNotSuported, "Url not supported");
                    if (this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", this.ids.mal = Number(i.urlPart(t, 4)), 
                    "manga" === this.type) throw "Simkl has no manga support";
                }
            }
            getCacheKey() {
                return o.d(this.ids.mal, this.ids.simkl);
            }
            _getStatus() {
                return parseInt(o.h(this.animeInfo.status));
            }
            _setStatus(t) {
                23 === t && (t = 1), (t = o.h(t, parseInt(t.toString()))) !== this.animeInfo.status && (this.statusUpdate = !0), 
                this.animeInfo.status = t;
            }
            _getScore() {
                const t = this.animeInfo.user_rating;
                return null === t ? 0 : t;
            }
            _setScore(t) {
                0 === t && (t = null), t !== this.animeInfo.user_rating && (this.ratingUpdate = !0), 
                this.animeInfo.user_rating = t;
            }
            _getEpisode() {
                return 2 === this._getStatus() ? this._getTotalEpisodes() : this.curWatchedEp;
            }
            _setEpisode(t) {
                t !== this.curWatchedEp && (this.episodeUpdate = !0), this.curWatchedEp = t;
            }
            _getVolume() {
                return 0;
            }
            _setVolume(t) {
                this.logger.error("You cant set Volumes for animes");
            }
            _getTags() {
                let t = this.animeInfo.private_memo;
                return null !== t && "null" !== t || (t = ""), t;
            }
            _setTags(t) {
                this.animeInfo.private_memo = t;
            }
            _getTitle() {
                return this.animeInfo.show.title;
            }
            _getTotalEpisodes() {
                const t = this.animeInfo.total_episodes_count;
                return null === t ? 0 : t;
            }
            _getTotalVolumes() {
                return 0;
            }
            _getDisplayUrl() {
                return `https://simkl.com/${this.getType()}/${this.ids.simkl}`;
            }
            _getImage() {
                return Promise.resolve(`https://simkl.in/posters/${this.animeInfo.show.poster}_ca.jpg`);
            }
            _getRating() {
                return s(this, void 0, void 0, (function*() {
                    try {
                        return (yield this.call("https://api.simkl.com/ratings", {
                            simkl: this.ids.simkl
                        }, !0)).simkl.rating;
                    } catch (t) {
                        return this.logger.error(t), "N/A";
                    }
                }));
            }
            _update() {
                return s(this, void 0, void 0, (function*() {
                    let t;
                    return t = Number.isNaN(this.ids.mal) ? {
                        simkl: this.ids.simkl
                    } : {
                        mal: this.ids.mal
                    }, this._authenticated = !0, this.getSingle(t).catch(t => {
                        if (t.code === r.a.NotAutenticated) return this._authenticated = !1, "";
                        throw t;
                    }).then(e => s(this, void 0, void 0, (function*() {
                        if (this.logger.log(e), this.episodeUpdate = !1, this.statusUpdate = !1, this.ratingUpdate = !1, 
                        this.animeInfo = e, this._onList = !0, !this.animeInfo) {
                            let e;
                            if (this._onList = !1, t.simkl) {
                                if (e = yield this.call("https://api.simkl.com/anime/" + t.simkl, {
                                    extended: "full"
                                }, !0), !e) throw this.errorObj(r.a.EntryNotFound, "Anime not found");
                            } else {
                                if (e = yield this.call("https://api.simkl.com/search/id", t, !0), !e) throw this.errorObj(r.a.EntryNotFound, "Anime not found");
                                if (e[0].mal && e[0].mal.type && "Special" === e[0].mal.type) throw {
                                    code: 415,
                                    message: "Is a special"
                                };
                                e = e[0];
                            }
                            this.animeInfo = {
                                last_watched: "",
                                last_watched_at: "",
                                next_to_watch: "",
                                not_aired_episodes_count: 0,
                                private_memo: "",
                                status: "plantowatch",
                                total_episodes_count: 0,
                                user_rating: null,
                                watched_episodes_count: 0,
                                show: e
                            }, this.logger.log("Add anime", this.animeInfo);
                        }
                        if (Number.isNaN(this.ids.simkl) && (this.ids.simkl = parseInt(this.animeInfo.show.ids.simkl)), 
                        Number.isNaN(this.ids.mal) && void 0 !== this.animeInfo.show.ids.mal && (this.ids.mal = this.animeInfo.show.ids.mal), 
                        this.curWatchedEp = o.e(this.animeInfo.last_watched), !this.curWatchedEp && this.animeInfo.next_to_watch) {
                            const t = o.e(this.animeInfo.next_to_watch);
                            t && (this.curWatchedEp = t - 1);
                        }
                        if (this.minWatchedEp = this.curWatchedEp + 1, !this._authenticated) throw this.errorObj(r.a.NotAutenticated, "Not Authenticated");
                    })));
                }));
            }
            _sync() {
                return s(this, void 0, void 0, (function*() {
                    if (this.logger.log("[SET] Object:", this.animeInfo, "status", this.statusUpdate, "episode", this.episodeUpdate, "rating", this.ratingUpdate, "minWatchedEp", this.minWatchedEp, "curWatchedEp", this.curWatchedEp), 
                    this.statusUpdate || !this.isOnList()) {
                        const t = yield this.call("https://api.simkl.com/sync/add-to-list", JSON.stringify({
                            shows: [ {
                                to: this.animeInfo.status,
                                ids: {
                                    simkl: this.ids.simkl
                                }
                            } ]
                        }), !1, "POST");
                        this.logger.log("Status response", t);
                    }
                    if (this.episodeUpdate || !this.isOnList()) {
                        const t = this.curWatchedEp, e = [];
                        if (this.minWatchedEp <= t) {
                            if (t) {
                                for (let n = this.minWatchedEp; n <= t; n++) e.push({
                                    number: n
                                });
                                const n = yield this.call("https://api.simkl.com/sync/history", JSON.stringify({
                                    shows: [ {
                                        ids: {
                                            simkl: this.ids.simkl
                                        },
                                        private_memo: this.animeInfo.private_memo,
                                        seasons: [ {
                                            number: 1,
                                            episodes: e
                                        } ]
                                    } ]
                                }), !1, "POST");
                                this.logger.log("Episode response", n);
                            }
                        } else {
                            for (let n = this.minWatchedEp - 1; n > t; n -= 1) e.push({
                                number: n
                            });
                            const n = yield this.call("https://api.simkl.com/sync/history/remove", JSON.stringify({
                                shows: [ {
                                    ids: {
                                        simkl: this.ids.simkl
                                    },
                                    seasons: [ {
                                        number: 1,
                                        episodes: e
                                    } ]
                                } ]
                            }), !1, "POST");
                            this.logger.log("Episode remove response", n);
                        }
                        this.minWatchedEp = t + 1;
                    }
                    if (this.ratingUpdate) if (this.animeInfo.user_rating) {
                        const t = yield this.call("https://api.simkl.com/sync/ratings", JSON.stringify({
                            shows: [ {
                                rating: this.animeInfo.user_rating,
                                ids: {
                                    simkl: this.ids.simkl
                                }
                            } ]
                        }), !1, "POST");
                        this.logger.log("Rating response", t);
                    } else {
                        const t = yield this.call("https://api.simkl.com/sync/ratings/remove", JSON.stringify({
                            shows: [ {
                                ids: {
                                    simkl: this.ids.simkl
                                }
                            } ]
                        }), !1, "POST");
                        this.logger.log("Rating remove response", t);
                    }
                    this.episodeUpdate = !1, this.statusUpdate = !1, this.ratingUpdate = !1;
                }));
            }
            jsonParse(t) {
                if ("" === t.responseText) throw {
                    code: 444,
                    message: "No Response"
                };
                try {
                    return JSON.parse(t.responseText);
                } catch (t) {
                    throw {
                        code: 406,
                        message: "Not Acceptable",
                        error: t
                    };
                }
            }
            delete() {
                return this.call("https://api.simkl.com/sync/history/remove", JSON.stringify({
                    shows: [ {
                        ids: {
                            simkl: this.ids.simkl
                        }
                    } ]
                }), !1, "POST");
            }
        }
    }).call(this, n(4), n(1));
}, function(t, e, n) {
    "use strict";
    n.d(e, "a", (function() {
        return je;
    }));
    var i = n(121), a = n(122), o = n(123), r = n(124), s = n(125), l = n(126), c = n(127), d = n(128), m = n(129), u = n(130), p = n(131), h = n(132), g = n(133), f = n(134), v = n(135), b = n(136), y = n(137), w = n(138), _ = n(139), x = n(140), k = n(141), S = n(142), $ = n(143), E = n(144), T = n(145), P = n(146), C = n(147), A = n(148), I = n(149), O = n(150), U = n(151), M = n(152), L = n(153), N = n(154), R = n(155), j = n(156), V = n(157), D = n(158), z = n(159), F = n(160), H = n(161), B = n(162), K = n(163), q = n(164), W = n(165), J = n(166), G = n(167), Y = n(168), Z = n(169), Q = n(170), X = n(171), tt = n(172), et = n(173), nt = n(174), it = n(175), at = n(176), ot = n(177), rt = n(178), st = n(179), lt = n(180), ct = n(181), dt = n(182), mt = n(183), ut = n(184), pt = n(185), ht = n(186), gt = n(187), ft = n(188), vt = n(189), bt = n(190), yt = n(84);
    const wt = Object(yt.b)();
    wt.name = "MangaFox", wt.domain = [ "http://fanfox.net", "http://mangafox.la" ];
    const _t = wt;
    var xt = n(191), kt = n(192), St = n(193), $t = n(194), Et = n(195), Tt = n(196), Pt = n(197), Ct = n(13);
    const At = Object(Ct.b)();
    At.name = "EdelgardeScans", At.domain = "https://edelgardescans.com";
    const It = At, Ot = Object(Ct.b)();
    Ot.name = "HatigarmScanz", Ot.domain = "https://hatigarmscanz.net";
    const Ut = Ot;
    var Mt = n(198);
    const Lt = Object(Ct.b)();
    Lt.name = "MethodScans", Lt.domain = "https://methodscans.com";
    const Nt = Lt, Rt = Object(Ct.b)();
    Rt.name = "NonamesScans", Rt.domain = "https://the-nonames.com";
    const jt = Rt, Vt = Object(Ct.b)();
    Vt.name = "ReaperScans", Vt.domain = "https://reaperscans.com";
    const Dt = Vt, zt = Object(Ct.b)();
    zt.name = "LynxScans", zt.domain = "https://lynxscans.com";
    const Ft = zt;
    var Ht = n(199), Bt = n(200), Kt = n(201), qt = n(202), Wt = n(203), Jt = n(204), Gt = n(205), Yt = n(206), Zt = n(207), Qt = n(208), Xt = n(209), te = n(210), ee = n(211), ne = n(212), ie = n(213), ae = n(214), oe = n(215), re = n(216), se = n(217), le = n(218), ce = n(219), de = n(220), me = n(221), ue = n(222), pe = n(223), he = n(224), ge = n(225), fe = n(226), ve = n(227), be = n(228), ye = n(229), we = n(230), _e = n(231), xe = n(232), ke = n(233), Se = n(234), $e = n(235), Ee = n(236);
    const Te = Object(Ct.b)();
    Te.name = "HunlightScans", Te.domain = "https://hunlight-scans.info/";
    const Pe = Te;
    var Ce = n(237), Ae = n(238), Ie = n(239), Oe = n(240), Ue = n(241), Me = n(242), Le = n(243), Ne = n(244), Re = n(245);
    const je = {
        nineAnime: i.a,
        Crunchyroll: a.a,
        Vrv: f.a,
        Mangadex: o.a,
        Gogoanime: r.a,
        Twistmoe: c.a,
        Branitube: s.a,
        TurkAnime: l.a,
        animepahe: p.a,
        Netflix: u.a,
        Animeflv: h.a,
        Jkanime: g.a,
        Proxer: v.a,
        Wakanim: $.a,
        Emby: d.a,
        Plex: m.a,
        fourAnime: b.a,
        animeultima: y.a,
        Aniflix: w.a,
        Animefreak: _.a,
        AnimeLab: x.a,
        KickAssAnime: k.a,
        AnimeKisa: S.a,
        AnimeIndo: E.a,
        Shinden: T.a,
        Voiranime: P.a,
        DubbedAnime: C.a,
        MangaNato: I.a,
        VIZ: A.a,
        NekoSama: O.a,
        AnimeOdcinki: M.a,
        AnimeZone: U.a,
        Animeflix: L.a,
        serimanga: N.a,
        mangadenizi: R.a,
        moeclip: j.a,
        mangalivre: V.a,
        tmofans: D.a,
        unionmangas: z.a,
        MangaPlus: F.a,
        JapScan: H.a,
        Goyabu: B.a,
        AnimesVision: K.a,
        Hulu: q.a,
        Hidive: W.a,
        FallenAngels: J.a,
        PrimeVideo: G.a,
        MangaKatana: Y.a,
        manga4life: Z.a,
        bato: Q.a,
        DreamSub: X.a,
        MangaPark: tt.a,
        AnimesHouse: et.a,
        AnimeXin: nt.a,
        MonosChinos: it.a,
        AnimeFire: at.a,
        OtakuFR: ot.a,
        Samehadaku: rt.a,
        TsukiMangas: st.a,
        mangatx: lt.a,
        TRanimeizle: ct.a,
        Anihub: dt.a,
        AnimeStreamingFR: mt.a,
        Scantrad: ut.a,
        Furyosquad: pt.a,
        AnimeId: ht.a,
        AniMixPlay: gt.a,
        MyAnimeListVideo: ft.a,
        AnimeSimple: vt.a,
        AnimeUnity: bt.a,
        MangaHere: yt.a,
        MangaFox: _t,
        JustAnime: xt.a,
        YayAnimes: kt.a,
        DesuOnline: St.a,
        Simplyaweeb: $t.a,
        Animevibe: Et.a,
        WuxiaWorld: Tt.a,
        AnimeOnDemand: Pt.a,
        EdelgardeScans: It,
        HatigarmScanz: Ut,
        LeviatanScans: Mt.a,
        MethodScans: Nt,
        NonamesScans: jt,
        ReaperScans: Dt,
        LynxScans: Ft,
        SKScans: Ht.a,
        ZeroScans: Ct.a,
        DeathTollScans: Bt.a,
        KireiCake: Kt.a,
        SenseScans: qt.a,
        ManhuaPlus: Wt.a,
        Readm: Jt.a,
        tioanime: Gt.a,
        YugenAnime: Yt.a,
        MangaSee: Zt.a,
        AnimeTribes: Qt.a,
        Okanime: Xt.a,
        BSTO: te.a,
        Pantsubase: ee.a,
        AnimeOwl: ne.a,
        AsuraScans: ie.a,
        NaniScans: ae.a,
        MerakiScans: oe.a,
        Jellyfin: re.a,
        An1me: se.a,
        MangaJar: le.a,
        AnimeDao: ce.a,
        Otakustv: de.a,
        Komga: me.a,
        AnimeWho: ue.a,
        AnimeSuge: pe.a,
        Toonily: he.a,
        Fumetsu: ge.a,
        NonstopScans: fe.a,
        FrixySubs: ve.a,
        Guya: be.a,
        MangaHub: ye.a,
        ComicK: we.a,
        AnimeShitai: _e.a,
        KangaryuTeam: xe.a,
        Japanread: ke.a,
        CatManga: Se.a,
        MangaSushi: $e.a,
        ArangScans: Ee.a,
        HunlightScans: Pe,
        TritiniaScans: Ce.a,
        ReadManhua: Ae.a,
        FlameScans: Ie.a,
        ImmortalUpdates: Oe.a,
        Zoro: Ue.a,
        Funimation: Me.a,
        Kitsune: Le.a,
        AnimesOnline: Ne.a,
        LHTranslation: Re.a
    };
}, function(t, e, n) {
    "use strict";
    n.d(e, "a", (function() {
        return c;
    }));
    var i = n(15), a = n(83);
    const o = a.a;
    var r = n(111), s = n(112), l = n(113);
    function c(t, e, n = {}, c = !1, d = "") {
        return d || (d = i.a(e)), "KITSU" === d ? Object(s.a)(t, e, n, c) : "ANILIST" === d ? Object(r.a)(t, e, n, c) : "SIMKL" === d ? Object(l.a)(t, e, n, c) : "MALAPI" === d ? Object(a.a)(t, e, n, c) : o(t, e, n, c);
    }
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "b", (function() {
            return l;
        })), n.d(e, "a", (function() {
            return m;
        })), n.d(e, "c", (function() {
            return g;
        }));
        var o = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        let r;
        const s = t.m("Player");
        function l(t) {
            clearInterval(r), r = setInterval((function() {
                const e = document.getElementsByTagName("video");
                for (let n = 0; n < e.length; n++) {
                    const i = e[n], {duration: a} = i, o = i.currentTime, {paused: r} = i;
                    if (a && a > 60) {
                        const e = {
                            current: o,
                            duration: a,
                            paused: r
                        };
                        s.debug(window.location.href, e), t(e, i), d(e, i);
                        break;
                    }
                }
            }), 1e3);
        }
        let c = "";
        function d(e, n) {
            const a = n.currentSrc;
            e.current > 1 && c !== a && (c = a, s.log("New player detected", n.currentSrc), 
            function(e) {
                o(this, void 0, void 0, (function*() {
                    if (yield i.settings.getAsync("autofull")) if (window.fullScreen || window.innerWidth === window.screen.width && window.innerHeight === window.screen.height) t.info("Browser already in fullscreen"); else {
                        let t = e;
                        const i = [ "player", "vstr", "vplayer", "mgvideo", "myVideo", "b-video-wrapper", "vilos" ], a = [ "AT-player", "plyr", "AkiraPlayer", "video-js" ];
                        let o = !1;
                        for (const e in i) {
                            const n = document.getElementById(i[e]);
                            if (null !== n) {
                                o = !0, t = n;
                                break;
                            }
                        }
                        for (const e in a) {
                            const n = document.getElementsByClassName(a[e]).item(0);
                            if (null !== n) {
                                o = !0, t = n;
                                break;
                            }
                        }
                        if (!o) {
                            const e = t.offsetHeight, n = t.offsetWidth;
                            for (;t.parentElement && e === t.parentElement.offsetHeight && n === t.parentElement.offsetWidth; ) t = t.parentElement, 
                            o = !0;
                        }
                        if (!o && !e.getAttribute("controls")) {
                            function n() {
                                (document.webkitIsFullScreen || document.mozFullScreen || null !== document.msFullscreenElement) && e.removeAttribute("controls", "controls");
                            }
                            document.addEventListener && (document.addEventListener("fullscreenchange", n, !1), 
                            document.addEventListener("mozfullscreenchange", n, !1), document.addEventListener("MSFullscreenChange", n, !1), 
                            document.addEventListener("webkitfullscreenchange", n, !1)), e.setAttribute("controls", "controls");
                        }
                        t.requestFullscreen ? t.requestFullscreen() : t.msRequestFullscreen ? t.msRequestFullscreen() : t.mozRequestFullScreen ? t.mozRequestFullScreen() : t.webkitRequestFullscreen && t.webkitRequestFullscreen();
                    }
                }));
            }(n));
        }
        function m(t) {
            if (i.settings.get("floatButtonStealth")) return;
            const e = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;
            if (e) {
                const n = a.$(a.html(`\n        <div style="\n          all: initial;\n          position: absolute;\n          bottom: 0;\n          left: 0;\n          right: 0;\n          color: white;\n          display: none;\n          z-index: 20000;\n        ">\n          <div style="\n            background: rgba(50, 50, 50, 0.6);\n            color: white;\n            padding: 10px 15px 10px;\n            margin-left: auto;\n            margin-right: auto;\n            max-width: 60%;\n            display: table;\n            font-family: Helvetica,Arial,sans-serif;\n            text-align: center;\n          ">${t}</div>\n        </div>\n        `)).appendTo(a.$(e));
                n.slideDown(400).delay(2e3).slideUp(400, () => {
                    n.remove();
                });
            }
        }
        let u, p = !1;
        const h = [ "introSkipFwd", "introSkipBwd", "nextEpShort", "correctionShort", "syncShort" ];
        function g(e) {
            u = e, p || function() {
                p = !0;
                let n = {};
                function a(i) {
                    const a = (i = i || event).which || i.keyCode;
                    n[a] = "keydown" === i.type;
                    for (let e = 0; e < h.length; e++) {
                        const n = h[e];
                        o(n) && (i.target instanceof Node && (/textarea|input|select/i.test(i.target.nodeName) || i.target instanceof Element && i.target.shadowRoot) ? t.info("Input field. Shortcut suppressed.") : r(n));
                    }
                    function r(t) {
                        return n = {}, e({
                            shortcut: t
                        }), !1;
                    }
                }
                function o(t) {
                    const e = i.settings.get(t);
                    if (!e.length) return !1;
                    let a = !0;
                    return e.forEach((function(t) {
                        n[t] || (a = !1);
                    })), a && Object.values(n).filter(t => t).length !== e.length && (a = !1), a;
                }
                document.addEventListener("keydown", a), document.addEventListener("keyup", a), 
                window.addEventListener("focus", (function() {
                    n = {};
                }), !1);
            }();
        }
    }).call(this, n(4), n(0), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        var a = n(259), o = n(260), r = n(261), s = n(262);
        e.a = {
            components: {
                entry: r.a,
                inputButton: o.a,
                search: a.a,
                rules: s.a
            },
            data: () => ({
                inputOffset: 0,
                minimized: !1
            }),
            computed: {
                searchClass() {
                    return this.$parent.searchClass;
                },
                syncPage() {
                    return this.$parent.searchClass.getSyncPage();
                },
                rulesClass() {
                    return this.searchClass.rules;
                },
                currentStateEp() {
                    if (this.syncPage && this.syncPage.curState && this.syncPage.curState.episode) return this.syncPage.curState.episode;
                },
                syncMode() {
                    return this.$parent.syncMode;
                },
                offset() {
                    return this.searchClass.getOffset();
                }
            },
            created() {
                this.minimized = t.settings.get("minimizeBigPopup");
            },
            methods: {
                lang: t.storage.lang,
                setPage(e, n = 0) {
                    this.searchClass.setUrl(e, n), i.flashm(t.storage.lang("correction_NewUrl", [ e ]), !1), 
                    this.close();
                },
                setOffset(t) {
                    this.searchClass.setOffset(t);
                },
                close() {
                    this.$root.$destroy();
                },
                calcEpOffset(t) {
                    return parseInt(t) - parseInt(this.inputOffset);
                }
            }
        };
    }).call(this, n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        var i = n(39);
        let a;
        e.a = {
            components: {},
            props: {
                type: {
                    type: String,
                    default: "anime"
                },
                keyword: {
                    type: String,
                    default: ""
                },
                syncMode: {
                    type: Boolean,
                    default: !1
                },
                currentId: {
                    type: Number,
                    default: 0
                }
            },
            data: () => ({
                items: [],
                loading: !1,
                searchKeyword: ""
            }),
            watch: {
                keyword() {
                    this.searchKeyword = this.keyword, this.load();
                },
                searchKeyword() {
                    clearTimeout(a), a = setTimeout(() => {
                        this.load();
                    }, 200);
                },
                type() {
                    this.load();
                }
            },
            mounted() {
                this.syncMode && (this.searchKeyword = this.keyword, this.load());
            },
            methods: {
                lang: t.storage.lang,
                load() {
                    this.searchKeyword && (this.loading = !0, Object(i.a)(this.searchKeyword, this.type).then(t => {
                        this.loading = !1, this.items = t, this.$nextTick(() => {
                            this.$el.scrollIntoView({
                                behavior: "smooth"
                            });
                        });
                    }));
                },
                inputFocus() {
                    this.searchKeyword || (this.searchKeyword = this.keyword);
                },
                async clickItem(t, e) {
                    if (t.preventDefault(), !e) return void this.$emit("clicked", {
                        url: "",
                        id: 0
                    });
                    const n = await e.malUrl();
                    n ? this.$emit("clicked", {
                        url: n,
                        id: e.id
                    }) : this.$emit("clicked", {
                        url: e.url,
                        id: e.id
                    });
                }
            }
        };
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        e.a = {
            props: {
                state: {
                    type: [ String, Number ],
                    default: ""
                },
                type: {
                    type: String,
                    default: ""
                },
                label: {
                    type: String,
                    default: ""
                }
            },
            data: () => ({
                inputString: ""
            }),
            watch: {
                state() {
                    this.inputString = this.state;
                },
                inputString() {
                    this.$emit("change", this.inputString);
                }
            },
            mounted() {
                this.inputString = this.state;
            },
            methods: {
                lang: t.storage.lang,
                click() {
                    this.$emit("clicked", this.inputString);
                }
            }
        };
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, n) {
        e.a = {
            props: {
                obj: {
                    type: Object,
                    default: void 0
                }
            },
            data: () => ({
                image: ""
            }),
            computed: {
                status: {
                    get() {
                        return this.obj && this.obj.isAuthenticated() ? this.obj.getStatus() : null;
                    },
                    set(t) {
                        this.obj && this.obj.isAuthenticated() && this.obj.setStatus(t);
                    }
                },
                episode: {
                    get() {
                        return this.obj && this.obj.isAuthenticated() && this.obj.isOnList() ? this.obj.getEpisode() : null;
                    },
                    set(t) {
                        this.obj && this.obj.isAuthenticated() && this.obj.setEpisode(t);
                    }
                },
                volume: {
                    get() {
                        return this.obj && this.obj.isAuthenticated() && this.obj.isOnList() ? this.obj.getVolume() : null;
                    },
                    set(t) {
                        this.obj && this.obj.isAuthenticated() && this.obj.setVolume(t);
                    }
                },
                score: {
                    get() {
                        return this.obj && this.obj.isAuthenticated() ? this.obj.getDisplayScoreCheckbox() : null;
                    },
                    set(t) {
                        this.obj && this.obj.isAuthenticated() && this.obj.setScore(t);
                    }
                }
            },
            watch: {
                obj: {
                    deep: !0,
                    immediate: !0,
                    handler(t, e) {
                        if (t && (!e || e.getUrl() !== t.getUrl())) {
                            const e = t.getUrl();
                            t.getImage().then(t => {
                                this.obj && this.obj.getUrl() === e && (this.image = t);
                            });
                        }
                    }
                }
            },
            methods: {
                lang: t.storage.lang,
                utilsepisode: n.episode,
                statusText(e) {
                    switch (e) {
                      case 1:
                        return t.storage.lang("UI_Status_watching_" + this.obj.getType());

                      case 2:
                        return t.storage.lang("UI_Status_Completed");

                      case 3:
                        return t.storage.lang("UI_Status_OnHold");

                      case 4:
                        return t.storage.lang("UI_Status_Dropped");

                      case 6:
                        return t.storage.lang("UI_Status_planTo_" + this.obj.getType());

                      case 23:
                        return t.storage.lang("UI_Status_Rewatching_" + this.obj.getType());

                      default:
                        return "";
                    }
                }
            }
        };
    }).call(this, n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        e.a = {
            props: {
                obj: {
                    type: Object,
                    default: void 0
                }
            },
            data: () => ({}),
            computed: {
                rules() {
                    return this.obj && this.obj.getRules() ? this.obj.getRules().sort((t, e) => t.from.start - e.from.start) : [];
                }
            },
            methods: {
                lang: t.storage.lang,
                activeRule(t) {
                    return {
                        active: !!this.obj && t === this.obj.activeRule
                    };
                }
            }
        };
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        var o = n(9);
        e.a = {
            data: () => ({
                streamUrl: void 0,
                continueUrl: null,
                resumeUrl: null,
                links: null,
                pageSearch: null,
                pageRelation: null,
                classes: {
                    minimized: !0,
                    search: !1
                }
            }),
            watch: {
                streamUrl(t) {
                    t && (this.classes.minimized = !0, this.classes.search = !1);
                }
            },
            created() {
                const t = JSON.parse(localStorage.getItem("SIMKL-MAL-SYNC"));
                t && (this.classes = t);
            },
            methods: {
                lang: t.storage.lang,
                favicon: i.favicon,
                assetUrl: t.storage.assetUrl,
                getMal2KissFavicon(t) {
                    try {
                        return i.favicon(t);
                    } catch (t) {
                        return a.error(t), "";
                    }
                },
                toggleSearch() {
                    this.classes.search = !this.classes.search, this.saveClasses();
                },
                pressMinimized() {
                    null === this.links || Object.keys(this.links).length ? this.toggleMinimized() : this.toggleSearch(), 
                    this.saveClasses();
                },
                toggleMinimized() {
                    this.classes.minimized = !this.classes.minimized, this.classes.search && this.classes.minimized && this.toggleSearch(), 
                    this.saveClasses();
                },
                removeSource(t) {
                    Object(o.c)(String(t.name)), window.location.reload();
                },
                saveClasses() {
                    localStorage.setItem("SIMKL-MAL-SYNC", JSON.stringify(this.classes));
                }
            }
        };
    }).call(this, n(0), n(1), n(4));
}, function(t, e, n) {
    var i = n(296);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        var r = n(263), s = n(264), l = n(265), c = n(266), d = n(267), m = n(268), u = n(269), p = n(270), h = n(271), g = n(272), f = n(273), v = n(274), b = n(19), y = n(16);
        let w, _ = !0, x = !1;
        const k = {};
        let S = [];
        const $ = {
            anime: [],
            manga: []
        }, E = {
            fetch: () => JSON.parse(localStorage.getItem("VUE-MAL-SYNC") || "[]"),
            save(t) {
                localStorage.setItem("VUE-MAL-SYNC", JSON.stringify(t));
            }
        };
        e.a = {
            components: {
                overviewVue: s.a,
                recommendationsVue: l.a,
                reviewsVue: g.a,
                bookmarksVue: c.a,
                searchVue: d.a,
                updateCheckVue: m.a,
                listSyncVue: u.a,
                cleanTagsVue: p.a,
                allSitesVue: h.a,
                customDomainsVue: f.a,
                quicklinksEdit: v.a,
                settingsVue: r.a
            },
            data: () => ({
                tabs: {
                    overview: {
                        title: "overview",
                        scroll: 0
                    },
                    reviews: {
                        title: "reviews",
                        scroll: 0
                    },
                    recommendations: {
                        title: "recommendations",
                        scroll: 0
                    },
                    settings: {
                        title: "settings",
                        scroll: 0
                    },
                    bookmarks: {
                        title: "bookmarks",
                        scroll: 0,
                        state: 1,
                        type: "anime",
                        sort: null,
                        supportsRewatch: !1
                    },
                    search: {
                        title: "search",
                        scroll: 0,
                        type: "anime",
                        keyword: ""
                    },
                    updateCheck: {
                        title: "updateCheck",
                        scroll: 0
                    },
                    listSync: {
                        title: "listSync",
                        scroll: 0,
                        type: "anime"
                    },
                    cleanTags: {
                        title: "cleanTags",
                        scroll: 0
                    },
                    allSites: {
                        title: "allSites",
                        scroll: 0
                    },
                    customDomains: {
                        title: "customDomains",
                        scroll: 0
                    },
                    quicklinks: {
                        title: "quicklinks",
                        scroll: 0
                    }
                },
                keyword: "",
                currentTab: "settings",
                renderUrl: "",
                renderObj: null,
                history: [],
                baseFallback: "",
                page: null,
                options: t.settings.options
            }),
            computed: {
                base() {
                    return this.page ? this.page.singleObj ? this.page.singleObj.getUrl() : (this.renderUrl = "", 
                    "") : this.baseFallback;
                },
                renderMalUrl() {
                    return null !== this.renderObj ? this.renderObj.getMalUrl() : null;
                },
                showReviewAndRecom() {
                    return null !== this.renderMalUrl || null === this.renderObj;
                },
                utils: () => i,
                backbutton() {
                    return this.history.length > 0;
                },
                backbuttonSearchStyle() {
                    return this.backbutton ? {
                        "margin-left": "-17px"
                    } : {
                        "margin-left": "-57px"
                    };
                },
                backbuttonBookStyle() {
                    return this.backbutton ? {
                        left: "40px"
                    } : {
                        left: "0px"
                    };
                },
                popOver() {
                    return this.currentTab === this.tabs.bookmarks.title || (this.currentTab === this.tabs.search.title || (this.currentTab === this.tabs.updateCheck.title || (this.currentTab === this.tabs.listSync.title || (this.currentTab === this.tabs.cleanTags.title || (this.currentTab === this.tabs.allSites.title || (this.currentTab === this.tabs.customDomains.title || this.currentTab === this.tabs.quicklinks.title))))));
                },
                navigation() {
                    return !this.popOver && !this.onlySettings;
                },
                onlySettings() {
                    return "" === this.renderUrl;
                },
                listView: {
                    get: () => t.settings.get("bookMarksList"),
                    set(e) {
                        t.settings.set("bookMarksList", e);
                    }
                },
                bookIcon() {
                    a.$(this.$el);
                    return "bookmarks" === this.currentTab ? this.onlySettings ? "settings" : "collections_bookmark" : "book";
                }
            },
            watch: {
                renderUrl(t) {
                    this.renderObj = null;
                    const e = Object(b.b)(t);
                    e.update().then(() => {
                        this.renderObj = e, this.tabs.search.type = this.renderObj.getType(), this.renderObj.initProgress();
                    }).catch(t => {
                        throw this.renderObj = e, this.renderObj.flashmError(t), t;
                    });
                },
                currentTab(t, e) {
                    this.tabs[e].scroll = this.getScroll(), this.$nextTick(() => {
                        this.setScroll(this.tabs[t].scroll);
                    }), _ ? _ = !1 : (this.currentTab === this.tabs.bookmarks.title && this.history.push(this.getCurrent(e)), 
                    this.currentTab === this.tabs.search.title && this.history.push(this.getCurrent(e)), 
                    this.currentTab === this.tabs.updateCheck.title && this.history.push(this.getCurrent(e)), 
                    this.currentTab === this.tabs.listSync.title && this.history.push(this.getCurrent(e)), 
                    this.currentTab === this.tabs.cleanTags.title && this.history.push(this.getCurrent(e)), 
                    this.currentTab === this.tabs.allSites.title && this.history.push(this.getCurrent(e)), 
                    this.currentTab === this.tabs.customDomains.title && this.history.push(this.getCurrent(e)), 
                    this.currentTab === this.tabs.quicklinks.title && this.history.push(this.getCurrent(e)));
                },
                keyword(t) {
                    "" !== t ? this.selectTab("search") : this.selectTab("overview");
                },
                base(t, e) {
                    if (t !== e) {
                        for (;this.history.length > 0; ) this.history.pop();
                        this.fill(t, !0);
                    }
                }
            },
            mounted() {
                if (this.isPopup()) {
                    const t = E.fetch();
                    void 0 !== t && void 0 !== t.currentTab && (x = !0, this.setCurrent(t));
                }
                a.$(this.$el).find(".mdl-layout__content").first().scroll(() => {
                    if (S.length) {
                        const t = {
                            pos: this.getScroll(),
                            elHeight: a.$(this.$el).find(".mdl-layout__content").first().height(),
                            height: a.$(this.$el).find(".mdl-layout__content > .is-active").first().height()
                        };
                        for (const e in S) S[e](t);
                    }
                });
            },
            updated() {
                this.isPopup() && E.save(this.getCurrent(this.currentTab));
            },
            methods: {
                lang: t.storage.lang,
                getTheme: t => "auto" === t.theme ? !window.matchMedia || window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : t.theme,
                selectTab(t) {
                    let e = t;
                    !this.onlySettings || "overview" !== e && "reviews" !== e && "recommendations" !== e || (e = "settings"), 
                    o.log("Tab Changed", e), this.currentTab = e;
                },
                registerScroll(t, e) {
                    k[t] = e, S = Object.values(k);
                },
                unregisterScroll(t) {
                    delete k[t], S = Object.values(k);
                },
                getScroll() {
                    return a.$(this.$el).find(".mdl-layout__content").first().scrollTop();
                },
                setScroll(t) {
                    return a.$(this.$el).find(".mdl-layout__content").first().scrollTop(t);
                },
                isPopup: () => !!a.$("#Mal-Sync-Popup").length,
                fill(t, e = !1) {
                    o.log("fill", t);
                    a.$(this.$el);
                    return null === t ? (this.isPopup() && this.selectTab("bookmarks"), !1) : /^https:\/\/myanimelist.net\/(anime|manga)\/\d+/i.test(t) || /^https:\/\/kitsu.io\/(anime|manga)\/.+/i.test(t) || /^https:\/\/anilist.co\/(anime|manga)\/\d+/i.test(t) || /^https:\/\/simkl.com\/(anime|manga)\/\d+/i.test(t) || /^local:\/\//i.test(t) ? (e || (this.tabs[this.currentTab].scroll = this.getScroll(), 
                    this.history.push(this.getCurrent(this.currentTab))), this.renderUrl = t, this.currentTab = "overview", 
                    !0) : (this.isPopup() && this.selectTab("bookmarks"), !1);
                },
                urlClick(e) {
                    let n = e;
                    if (/^local:\/\//i.test(n) || (n = i.absoluteLink(n, "https://myanimelist.net")), 
                    !this.fill(n)) {
                        const e = window.open(n, "_blank");
                        e ? e.focus() : alert(t.storage.lang("minimalClass_Popup"));
                    }
                },
                fillBase(t) {
                    o.log("Fill Base", t, this.history), x && null === t || (this.baseFallback = t), 
                    "" === t && (this.renderUrl = t);
                },
                setPage(t) {
                    this.page = t, void 0 === this.page.singleObj && this.$set(this.page, "singleObj", void 0);
                },
                backbuttonClick() {
                    o.log("History", this.history), this.history.length > 0 && this.setCurrent(this.history.pop());
                },
                bookClick() {
                    a.$(this.$el);
                    "book" !== this.bookIcon ? this.selectTab("overview") : (this.renderObj && (this.tabs.bookmarks.type = this.renderObj.getType()), 
                    this.selectTab("bookmarks"));
                },
                keywordSet() {
                    clearTimeout(w), w = setTimeout(() => {
                        this.tabs.search.keyword = this.keyword;
                    }, 300);
                },
                getCurrent(t, e = this.renderUrl) {
                    return {
                        renderUrl: e,
                        currentTab: t,
                        tabData: a.$.extend(!0, {}, this.tabs[t])
                    };
                },
                setCurrent(t) {
                    o.log("Set Current", t), void 0 !== t.tabData.keyword && (this.keyword = t.tabData.keyword), 
                    this.tabs[t.currentTab] = t.tabData, this.renderUrl = t.renderUrl, this.currentTab !== t.currentTab && (_ = !0), 
                    this.currentTab = t.currentTab;
                },
                rebuildListSync() {
                    this.currentTab = "", this.$nextTick(() => {
                        this.currentTab = "listSync";
                    });
                },
                searchClick(t) {
                    this.urlClick(t.url);
                },
                openLink(t) {
                    const e = document.createElement("a");
                    e.href = t, document.getElementById("malList").appendChild(e), e.click();
                },
                async openRandom(t, e) {
                    if (!$[e].length) {
                        i.flashm("Loading");
                        const n = await Object(y.a)(t, e);
                        await n.getCompleteList().then(async t => {
                            $[e] = t;
                        }).catch(t => {
                            o.error(t);
                        });
                    }
                    $[e].length > 1 ? this.openLink($[e][Math.floor(Math.random() * $[e].length)].url) : i.flashm("List is too small!");
                }
            }
        };
    }).call(this, n(0), n(1), n(2), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        var r = n(275), s = n(276), l = n(277), c = n(278), d = n(279), m = n(280), u = n(86), p = n(281), h = n(282), g = n(94), f = n(20);
        e.a = {
            components: {
                correction: p.a,
                tooltip: u.a,
                checkbox: r.a,
                numberInput: s.a,
                dropdown: l.a,
                fileUpload: c.a,
                shortcut: d.a,
                login: m.a,
                quicklinksOverview: h.a
            },
            props: {
                page: {
                    type: Object,
                    default: null
                }
            },
            data: () => ({
                contributer: [],
                isOpen: !1,
                options: t.settings.options,
                commands: null,
                progressAnimeDropdown: [],
                progressMangaDropdown: [],
                version: {
                    link: "https://malsync.moe/changelog#" + t.storage.version(),
                    img: `https://img.shields.io/badge/Changelog-${t.storage.version()}-green.svg?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAtxQTFRFAAAARj1Hw158LyQzRDRBVF54Ew0ZXqvnIx4labLsQEFTdsD7ZpPC////VE1SNCg3Nik7PS1CSzBKWjRXczBXjjBUsTZd0WuILSUyMiU2MiI2Nyc9dypNoClRbC5INTQ+YXKMMCQ7PyQ/WitFKx4vFxchT16CRStIPSY6TSQ6jjhScb33TViCpCROni9VYKzqTlN+qDBZXK3sYi5JXbHyQzNGXLLzTTZOW6/wQC5EX67sNSw7Y67qWa3vLCUzMCo1uc3fXq3rWa/yLCgxSEdKZa7nV6rrWrDyKCEsMzA1aLDpYbLyYbj6SUJgPj5VLy87e8D6csP+c8r/d9L/fNT+esnydLbgcKfOa5vDdJ/MQi5GSjFLTTFOYi9PWS1NUS9OTTFPRzFLSDJMTTBMXjBPaS5NZzBVgTdjczVfbjVhXjVaTjRTQzJMSzRNTzVOTzNLai1ShzJcjjNdiDNeejRhbDVhWzZbSzRRQzFKQjJKUDNMiyxPYy9UlzBfyDBlpjJgcjJbajNfXDVaTDNRPzBHPTBHVDJNrDBZxSpaV1aBajBZkDNipzNjnTNjdDJdYzJcXDRZTzRQPzFHRzJHZTJNcS9MZ2WUcS9VcDNdezRgcjJeezNgZTNaTjNRRDFLQzJJQjNHQjJGWDJLUjJKYoK4cS5NWTFTWzRaWDJVbjRbWDNVSzNQRjJMUTRLSTVHSzRJjjZbfDdZYqXlhEZwVS5MSzRUVTNUczVbTjJRSTNOUDRMSTNLQTJISTNGczZUXjVRWrH0W3+1Ri9OSDJSSzNSTDNTRzJRRzNRSTNNQzJLPzFKPjJGPjFCOSw/W67vTWOORi5NSjJRSzNVTDRURTJRQTBNQTFKQzJKPjFINSw9XKrpSVyIQCxLRS9QRjJSQjJPRzRQUTROQjBFLyc1W6rrS22ePTRVQSxLSjNVSzZYTzZWUTJPOSw+Z778YqPWWnGcV1F/UkZxT0Nm////ch6M6QAAAFp0Uk5TAAAAAAAAAAAAAAAAAAABKH2/3+bIjTgFCm7a/f7nhRILifn9nRJx+v6JBC3b6UV//aPB3OTz5/bL3Y6oNuLuTAGA/ZsIEp79shwRhervmxwFQqDd+frjqksImWc25wAAAAFiS0dEDfa0YfUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEbSURBVBjTARAB7/4AAAABDg8QERITFBUWFwIAAAAAAxgZGhtaW1xdHB0eHwQAAAUgISJeX2BhYmNkZSMkJQYAACYnZmdoaWprbG1ubygpKgArLHBxcnN0dXZ3eHl6ey0uAC8wfH1+f4CBgoOEhYaHiDEAMomKi4yNjo+QkZKSk5SVMwA0lpeYmZqbnJ2en6ChoqM1ADakpaanqKmqq6ytrq+wsTcAOLKztLW2t7i5uru8vb6/OQA6wMHCw8TFxsfIycrLzM07ADw9zs/Q0dLT1NXW19jZPj8AQEFC2tvc3d7U3+Dh4uNDRAAHRUZH5OXm5+jp6uvsSEkIAAAJSktM7e7v8PHyTU5PCgAAAAALUFFSU1RVVldYWQwNAEGXdELuOiRkAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTA1LTE2VDEzOjM2OjI0KzAwOjAwK9TuQgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0wNS0xNlQxMzozNjoyNCswMDowMFqJVv4AAABGdEVYdHNvZnR3YXJlAEltYWdlTWFnaWNrIDYuNy44LTkgMjAxNC0wNS0xMiBRMTYgaHR0cDovL3d3dy5pbWFnZW1hZ2ljay5vcmfchu0AAAAAGHRFWHRUaHVtYjo6RG9jdW1lbnQ6OlBhZ2VzADGn/7svAAAAGHRFWHRUaHVtYjo6SW1hZ2U6OmhlaWdodAAxOTIPAHKFAAAAF3RFWHRUaHVtYjo6SW1hZ2U6OldpZHRoADE5MtOsIQgAAAAZdEVYdFRodW1iOjpNaW1ldHlwZQBpbWFnZS9wbmc/slZOAAAAF3RFWHRUaHVtYjo6TVRpbWUAMTUyNjQ3Nzc4NGTqj8oAAAAPdEVYdFRodW1iOjpTaXplADBCQpSiPuwAAABWdEVYdFRodW1iOjpVUkkAZmlsZTovLy9tbnRsb2cvZmF2aWNvbnMvMjAxOC0wNS0xNi82ODRlZmQxYzBmMTdmMzAxMjIzMWFmNzQ4YzhmYjJjYy5pY28ucG5nP6GaiQAAAABJRU5ErkJggg==`
                },
                legacy: !1
            }),
            mounted() {
                Object(f.a)("anime").then(t => this.progressAnimeDropdown = t), Object(f.a)("manga").then(t => this.progressMangaDropdown = t), 
                t.request.xhr("GET", "https://api.malsync.moe/static/contributor").then(t => {
                    try {
                        this.contributer = JSON.parse(t.responseText);
                    } catch (t) {
                        return void i.error("Contributer Could not be retieved", t);
                    }
                    i.log("Contributer", this.contributer);
                }), "webextension" === t.type && a.$("#Mal-Sync-Popup").length && chrome.commands.getAll(t => {
                    i.info("Commands", t);
                    const e = t.reduce((function(t, e) {
                        return t[e.name] = e, t;
                    }), {});
                    this.commands = e;
                });
            },
            methods: {
                lang: t.storage.lang,
                myOpen() {
                    this.isOpen = !this.isOpen;
                },
                isExtension: () => "webextension" === t.type,
                importFallbackSync(t) {
                    i.log("Import FallbackSync", t);
                    try {
                        const e = JSON.parse(t);
                        i.log("data", e);
                        const n = e[Object.keys(e)[0]];
                        if (!n.hasOwnProperty("name")) throw "No name";
                        if (!n.hasOwnProperty("progress")) throw "No progress";
                        if (!n.hasOwnProperty("score")) throw "No score";
                        if (!n.hasOwnProperty("status")) throw "No status";
                        if (!n.hasOwnProperty("tags")) throw "No tags";
                        Object(g.b)(e).then(() => {
                            o.flashm("File imported"), alert("File imported");
                        }).catch(t => {
                            throw t.message && alert(t.message), t;
                        });
                    } catch (t) {
                        alert("File has wrong formating"), i.error("File has wrong formating:", t);
                    }
                },
                async exportFallbackSync() {
                    const t = await Object(g.a)();
                    i.log("Export", t);
                    const e = "data:text/csv;charset=utf-8," + encodeURIComponent(JSON.stringify(t));
                    try {
                        const t = document.createElement("a");
                        t.setAttribute("href", e), t.setAttribute("download", `malsync_${(new Date).toJSON().slice(0, 10).replace(/-/g, "/")}.txt`), 
                        document.body.appendChild(t), t.click();
                    } catch (t) {
                        window.open(e);
                    }
                    o.flashm("File exported");
                },
                startProgressSync() {
                    if (this.isExtension()) {
                        const e = parseInt(t.settings.get("progressInterval"));
                        if (!e) return;
                        i.log("Trigger Progress update"), chrome.alarms.create("progressSync", {
                            periodInMinutes: e,
                            when: Date.now() + 1e3
                        });
                    }
                }
            }
        };
    }).call(this, n(0), n(4), n(2), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        e.a = {
            props: {
                option: {
                    type: String
                }
            },
            computed: {
                value: {
                    get() {
                        return t.settings.get(this.option);
                    },
                    set(e) {
                        t.settings.set(this.option, e);
                    }
                }
            }
        };
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        e.a = {
            props: {
                option: {
                    type: String
                },
                min: {
                    type: Number,
                    default: 0
                },
                max: {
                    type: Number,
                    default: 999
                },
                step: {
                    type: Number,
                    default: 1
                }
            },
            computed: {
                value: {
                    get() {
                        return t.settings.get(this.option);
                    },
                    set(e) {
                        "" !== e && null !== e && e >= this.min && e <= this.max && (t.settings.set(this.option, e), 
                        this.$emit("changed", e));
                    }
                }
            }
        };
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        e.a = {
            props: {
                option: {
                    type: String
                },
                text: {
                    type: String
                }
            },
            computed: {
                value: {
                    get() {
                        return t.settings.get(this.option);
                    },
                    set(e) {
                        t.settings.set(this.option, e), this.$emit("changed", e);
                    }
                }
            }
        };
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, n) {
        e.a = {
            data: () => ({
                button: !0
            }),
            methods: {
                type: () => t.type,
                buttonClick() {
                    this.button = !1;
                },
                handleFileUpload(t) {
                    if (n.log("File Found", t), !window.FileReader) return void alert("Browser is not compatible");
                    const e = new FileReader;
                    e.onload = t => {
                        if (2 !== t.target.readyState) return;
                        if (t.target.error) return void alert("Error while reading file");
                        const e = t.target.result;
                        this.$emit("upload", e);
                    }, e.readAsText(t.target.files[0]);
                },
                openWindow(e) {
                    e.preventDefault(), e.stopPropagation();
                    const n = window.open(chrome.extension.getURL("window.html"), "_blank");
                    n ? n.focus() : alert(t.storage.lang("minimalClass_Popup"));
                }
            }
        };
    }).call(this, n(0), n(4));
}, function(t, e, n) {
    var i = n(555);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        var a = n(86), o = n(31);
        let r;
        e.a = {
            components: {
                tooltip: a.a
            },
            props: {
                option: {
                    type: String
                }
            },
            data: () => ({
                keys: {},
                tempKeys: {}
            }),
            computed: {
                display() {
                    return this.tempRec ? Object.keys(this.tempKeys).map(t => o.a[t]).join(" + ") : this.rec ? Object.keys(this.keys).map(t => o.a[t]).join(" + ") : this.value && Object.keys(this.value).length ? Object.keys(this.value).map(t => o.a[t]).join(" + ") : this.lang("settings_Shortcuts_Click");
                },
                rec() {
                    return Object.keys(this.keys).length;
                },
                tempRec() {
                    return Object.keys(this.tempKeys).length;
                },
                value: {
                    get() {
                        const e = t.settings.get(this.option);
                        if (!e || !e.length) return {};
                        const n = {};
                        for (let t = 0; t < e.length; ++t) n[e[t]] = e[t];
                        return n;
                    },
                    set(e) {
                        t.settings.set(this.option, Object.keys(e));
                    }
                }
            },
            methods: {
                lang: t.storage.lang,
                keyDown(t) {
                    this.keys[t.keyCode] || i.log("down" + t.keyCode), this.$set(this.keys, t.keyCode, o.a[t.keyCode]), 
                    this.tempKeys = {};
                },
                keyUp(t) {
                    i.log("up" + t.keyCode), this.setTempState(this.keys), this.$delete(this.keys, t.keyCode);
                },
                focusLost() {
                    this.keys = {};
                },
                setTempState(t) {
                    if (!Object.keys(this.tempKeys).length) {
                        const e = {
                            ...t
                        };
                        this.tempKeys = e, clearTimeout(r), r = setTimeout(() => {
                            Object.keys(this.keys).length || (this.value = e), this.tempKeys = {};
                        }, 500);
                    }
                }
            }
        };
    }).call(this, n(0), n(4));
}, function(t, e, n) {
    var i = n(557);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    "use strict";
    (function(t) {
        var i = n(16);
        e.a = {
            props: {
                option: {
                    type: String
                }
            },
            data: () => ({
                username: "",
                listObj: null
            }),
            computed: {
                mode: {
                    get() {
                        return t.settings.get(this.option);
                    },
                    set() {}
                },
                pageName() {
                    return this.listObj ? this.listObj.name : "Loading";
                },
                pageAuth() {
                    return this.listObj ? this.listObj.authenticationUrl : "";
                }
            },
            watch: {
                mode() {
                    this.init();
                }
            },
            mounted() {
                this.init();
            },
            methods: {
                lang: t.storage.lang,
                init() {
                    return this.username = "", this.listObj = Object(i.b)(this.mode), this.listObj.getUsername().then(t => {
                        this.username = t;
                    });
                },
                deauth() {
                    this.listObj.deauth().then(() => {
                        this.init();
                    }).catch(() => {
                        alert("Failed");
                    });
                }
            }
        };
    }).call(this, n(0));
}, function(t, e, n) {
    var i = n(559);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    "use strict";
    (function(t) {
        var i = n(31);
        e.a = {
            props: {
                page: {
                    type: Object,
                    default: null
                }
            },
            data: () => ({}),
            computed: {
                keys: () => t.settings.get("correctionShort").map(t => i.a[t]).join(" + ")
            },
            watch: {},
            methods: {
                lang: t.storage.lang,
                openPopup() {
                    return this.page.openCorrectionUi(), !1;
                }
            }
        };
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        var o = n(9);
        e.a = {
            computed: {
                links: () => Object(o.b)()
            },
            methods: {
                lang: t.storage.lang,
                favicon(t) {
                    try {
                        return i.favicon(t);
                    } catch (t) {
                        return a.error(t), "";
                    }
                }
            }
        };
    }).call(this, n(0), n(1), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        var o = n(19), r = n(286), s = n(9), l = n(283);
        let c;
        e.a = {
            components: {
                progressP: l.a
            },
            props: {
                renderObj: {
                    type: Object,
                    default: null
                }
            },
            data: () => ({
                metaObj: null,
                error: null,
                imageTemp: null,
                mal: {
                    resumeUrl: null,
                    continueUrl: null
                },
                kiss2mal: [],
                related: [],
                utils: t
            }),
            computed: {
                objError() {
                    return this.renderObj && this.renderObj.getLastError() ? this.renderObj.getLastErrorMessage() : null;
                },
                editUrl() {
                    return void 0 !== this.renderObj.getDetailUrl ? this.renderObj.getDetailUrl() : null;
                },
                malStatus: {
                    get() {
                        return this.renderObj && this.renderObj.isAuthenticated() ? this.renderObj.getStatusCheckboxValue() : null;
                    },
                    set(t) {
                        this.renderObj && this.renderObj.isAuthenticated() && this.renderObj.handleStatusCheckbox(t);
                    }
                },
                malEpisode: {
                    get() {
                        return this.renderObj && this.renderObj.isAuthenticated() ? this.renderObj.addAnime ? null : this.renderObj.getEpisode() : null;
                    },
                    set(t) {
                        this.renderObj && this.renderObj.isAuthenticated() && this.renderObj.setEpisode(t);
                    }
                },
                malVolume: {
                    get() {
                        return this.renderObj && this.renderObj.isAuthenticated() ? this.renderObj.addAnime ? null : this.renderObj.getVolume() : null;
                    },
                    set(t) {
                        this.renderObj && this.renderObj.isAuthenticated() && this.renderObj.setVolume(t);
                    }
                },
                malScore: {
                    get() {
                        return this.renderObj && this.renderObj.isAuthenticated() ? this.renderObj.getScoreCheckboxValue() : null;
                    },
                    set(t) {
                        this.renderObj && this.renderObj.isAuthenticated() && this.renderObj.handleScoreCheckbox(t);
                    }
                },
                malProgressMode: {
                    get() {
                        return this.renderObj && this.renderObj.isAuthenticated() ? this.renderObj.getProgressMode() : null;
                    },
                    set(t) {
                        this.renderObj && this.renderObj.isAuthenticated() && this.renderObj.setProgressMode(t);
                    }
                },
                statistics() {
                    let t = {};
                    try {
                        t = this.metaObj.statistics;
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    return t;
                },
                displayUrl() {
                    return null !== this.renderObj ? this.renderObj.getDisplayUrl() : this.renderObj.url;
                },
                image() {
                    let t = "";
                    try {
                        t = this.metaObj.image;
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    try {
                        null !== this.imageTemp && "" !== this.imageTemp && (t = this.imageTemp);
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    return t;
                },
                title() {
                    let t = "";
                    try {
                        t = this.metaObj.title;
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    try {
                        t = this.renderObj.getTitle();
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    return t;
                },
                description() {
                    let t = "";
                    try {
                        t = this.metaObj.description;
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    return t;
                },
                altTitle() {
                    let t = {};
                    try {
                        t = this.metaObj.alternativeTitle;
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    return t;
                },
                characters() {
                    let t = {};
                    try {
                        t = this.metaObj.characters;
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    return t;
                },
                info() {
                    let t = {};
                    try {
                        t = this.metaObj.info;
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    return t;
                },
                openingSongs() {
                    let t = {};
                    try {
                        t = this.metaObj.openingSongs;
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    return t;
                },
                endingSongs() {
                    let t = {};
                    try {
                        t = this.metaObj.endingSongs;
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    return t;
                }
            },
            watch: {
                async renderObj(t) {
                    this.render(t);
                }
            },
            methods: {
                lang: i.storage.lang,
                assetUrl: i.storage.assetUrl,
                async render(t) {
                    if (this.metaObj = null, this.error = null, this.mal.resumeUrl = null, this.mal.continueUrl = null, 
                    this.kiss2mal = [], this.related = [], this.imageTemp = null, null === t) return;
                    const e = t.url;
                    let n = i.settings.get("syncMode");
                    "SIMKL" === n && "manga" === t.type && (n = i.settings.get("syncModeSimkl"));
                    try {
                        const n = await Object(r.a)(t.url, t.getType()).init();
                        if (!this.renderObj || e !== this.renderObj.url) return;
                        this.metaObj = n.getMeta();
                    } catch (t) {
                        return a.error("Could not retrive metadata", t), void (this.error = t);
                    }
                    if (null !== this.metaObj && (this.related = this.getRelated()), null !== t.getMalUrl() && t.isAuthenticated() && this.updateStatusTags(), 
                    Object(s.a)(t.getType(), t.getApiCacheKey(), t.getTitle()).then(t => {
                        this.renderObj && e === this.renderObj.url && (this.kiss2mal = t);
                    }), "MAL" !== this.renderObj.shortName) {
                        const t = await this.renderObj.getImage();
                        if (!this.renderObj || e !== this.renderObj.url) return;
                        this.imageTemp = t;
                    }
                    this.mal.resumeUrl = t.getResumeWatching(), this.mal.continueUrl = t.getContinueWatching();
                },
                clickRender() {
                    this.render(this.renderObj);
                },
                malSync() {
                    this.renderObj.sync().then(() => {
                        t.flashm(i.storage.lang("updated")), this.renderObj.isOnList() || this.renderObj.update();
                    }, t => {
                        throw this.renderObj.flashmError(t), t;
                    });
                },
                remove() {
                    this.renderObj.delete().then(() => {
                        t.flashm(i.storage.lang("removed")), this.renderObj.update();
                    }, t => {
                        throw this.renderObj.flashmError(t), this.renderObj.update(), t;
                    });
                },
                reload() {
                    t.flashm(i.storage.lang("Loading")), this.renderObj.update();
                },
                increaseEP(t) {
                    let e = 1;
                    "episode" === t ? (this.renderObj.getEpisode() && (e = this.renderObj.getEpisode() + 1), 
                    this.renderObj.getTotalEpisodes() && e > this.renderObj.getTotalEpisodes() && (e = this.renderObj.getTotalEpisodes()), 
                    this.renderObj.setEpisode(e)) : (this.renderObj.getVolume() && (e = this.renderObj.getVolume() + 1), 
                    this.renderObj.getTotalVolumes() && e > this.renderObj.getTotalVolumes() && (e = this.renderObj.getTotalVolumes()), 
                    this.renderObj.setVolume(e)), clearTimeout(c), c = setTimeout(() => {
                        this.malSync();
                    }, 1e3);
                },
                getMal2KissFavicon(e) {
                    try {
                        return t.favicon(e);
                    } catch (t) {
                        return a.error(t), "";
                    }
                },
                getRelated() {
                    let t = {};
                    try {
                        t = this.metaObj.related;
                    } catch (t) {
                        console.log("[iframeOverview] Error:", t);
                    }
                    return t;
                },
                async updateStatusTags() {
                    for (const e in this.related) {
                        const n = this.related[e];
                        for (const i in n.links) {
                            const a = n.links[i], r = t.absoluteLink(a.url, "https://myanimelist.net");
                            if (void 0 !== r) {
                                const n = await t.timeCache("MALTAG/" + r, (async function() {
                                    const e = Object(o.b)(r);
                                    return await e.update(), await t.wait(2e3), t.statusTag(e.getStatus(), e.type, e.id);
                                }), 1728e5);
                                n && (this.related[e].links[i].statusTag = n);
                            }
                        }
                    }
                },
                setQuestionmark(t) {
                    t.target.src = i.storage.assetUrl("questionmark.gif");
                }
            }
        };
    }).call(this, n(1), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        var o = n(285), r = n(30);
        e.a = {
            components: {
                CountryFlag: o.a
            },
            props: {
                apiCacheKey: {
                    type: Number
                },
                type: {
                    type: String
                },
                totalEps: {
                    type: Number
                }
            },
            data: () => ({
                xhr: "",
                utils: t
            }),
            computed: {
                elements() {
                    const t = [];
                    if (this.xhr) for (const e in this.xhr) for (const n in this.xhr[e]) t.push({
                        language: e,
                        index: n,
                        item: this.xhr[e][n]
                    });
                    return t;
                },
                completed() {
                    return this.elements.filter(t => t.item && t.item.top && t.item.top.state && "complete" === t.item.top.state);
                },
                ongoing() {
                    return this.elements.filter(t => t.item && t.item.top && t.item.top.state && "complete" !== t.item.top.state);
                }
            },
            watch: {
                apiCacheKey: {
                    immediate: !0,
                    handler(t) {
                        this.xhr = "";
                        const e = t + "s";
                        return i.request.xhr("GET", `https://api.malsync.moe/nc/mal/${this.type}/${t}/progress`).then(t => {
                            if (e === this.apiCacheKey + "s") try {
                                this.xhr = JSON.parse(t.responseText);
                            } catch (t) {
                                a.error("No progress informations found");
                            }
                        });
                    }
                }
            },
            methods: {
                lang: i.storage.lang,
                releaseTime: t => Object(r.b)(t),
                correctFlag(t) {
                    switch (t.toLowerCase()) {
                      case "pt-br":
                        return "br";

                      case "aa":
                        return "dj";

                      case "af":
                        return "za";

                      case "ak":
                        return "gh";

                      case "sq":
                        return "al";

                      case "am":
                        return "et";

                      case "hy":
                        return "am";

                      case "az":
                        return "az";

                      case "bm":
                        return "ml";

                      case "be":
                        return "by";

                      case "bn":
                        return "bd";

                      case "bi":
                        return "vu";

                      case "bs":
                        return "ba";

                      case "bg":
                        return "bg";

                      case "my":
                        return "mm";

                      case "ca":
                        return "ad";

                      case "zh":
                      case "zh-hans":
                      case "zh-hant":
                      case "zh-x-yue":
                        return "cn";

                      case "hr":
                        return "hr";

                      case "cs":
                        return "cz";

                      case "da":
                        return "dk";

                      case "dv":
                        return "mv";

                      case "nl":
                        return "nl";

                      case "dz":
                        return "bt";

                      case "en":
                        return "gb";

                      case "et":
                        return "ee";

                      case "fj":
                        return "fj";

                      case "fil":
                        return "ph";

                      case "fi":
                        return "fi";

                      case "fr":
                        return "fr";

                      case "gaa":
                        return "gh";

                      case "ka":
                        return "ge";

                      case "de":
                        return "de";

                      case "el":
                        return "gr";

                      case "gu":
                        return "in";

                      case "ht":
                        return "ht";

                      case "he":
                        return "il";

                      case "hi":
                        return "in";

                      case "ho":
                        return "pg";

                      case "hu":
                        return "hu";

                      case "is":
                        return "is";

                      case "ig":
                        return "ng";

                      case "id":
                        return "id";

                      case "ga":
                        return "ie";

                      case "it":
                        return "it";

                      case "ja":
                        return "jp";

                      case "kr":
                        return "ne";

                      case "kk":
                        return "kz";

                      case "km":
                        return "kh";

                      case "kmb":
                        return "ao";

                      case "rw":
                        return "rw";

                      case "kg":
                        return "cg";

                      case "ko":
                        return "kr";

                      case "kj":
                        return "ao";

                      case "ku":
                        return "iq";

                      case "ky":
                        return "kg";

                      case "lo":
                        return "la";

                      case "la":
                        return "va";

                      case "lv":
                        return "lv";

                      case "ln":
                        return "cg";

                      case "lt":
                        return "lt";

                      case "lu":
                        return "cd";

                      case "lb":
                        return "lu";

                      case "mk":
                        return "mk";

                      case "mg":
                        return "mg";

                      case "ms":
                        return "my";

                      case "mt":
                        return "mt";

                      case "mi":
                        return "nz";

                      case "mh":
                        return "mh";

                      case "mn":
                        return "mn";

                      case "mos":
                        return "bf";

                      case "ne":
                        return "np";

                      case "nd":
                        return "zw";

                      case "nso":
                        return "za";

                      case "no":
                      case "nb":
                      case "nn":
                        return "no";

                      case "ny":
                        return "mw";

                      case "pap":
                        return "aw";

                      case "ps":
                        return "af";

                      case "fa":
                        return "ir";

                      case "pl":
                        return "pl";

                      case "pt":
                        return "pt";

                      case "pa":
                        return "in";

                      case "qu":
                        return "wh";

                      case "ro":
                        return "ro";

                      case "rm":
                        return "ch";

                      case "rn":
                        return "bi";

                      case "ru":
                        return "ru";

                      case "sg":
                        return "cf";

                      case "sr":
                        return "rs";

                      case "srr":
                        return "sn";

                      case "sn":
                        return "zw";

                      case "si":
                        return "lk";

                      case "sk":
                        return "sk";

                      case "sl":
                        return "si";

                      case "so":
                        return "so";

                      case "snk":
                        return "sn";

                      case "nr":
                        return "za";

                      case "st":
                        return "ls";

                      case "es":
                      case "es-la":
                        return "es";

                      case "ss":
                        return "sz";

                      case "sv":
                        return "se";

                      case "tl":
                        return "ph";

                      case "tg":
                        return "tj";

                      case "ta":
                        return "lk";

                      case "te":
                        return "in";

                      case "tet":
                        return "tl";

                      case "th":
                        return "th";

                      case "ti":
                        return "er";

                      case "tpi":
                        return "pg";

                      case "ts":
                        return "za";

                      case "tn":
                        return "bw";

                      case "tr":
                        return "tr";

                      case "tk":
                        return "tm";

                      case "uk":
                        return "ua";

                      case "umb":
                        return "ao";

                      case "ur":
                        return "pk";

                      case "uz":
                        return "uz";

                      case "ve":
                        return "za";

                      case "vi":
                        return "vn";

                      case "cy":
                        return "gb";

                      case "wo":
                        return "sn";

                      case "xh":
                      case "zu":
                        return "za";

                      default:
                        return t;
                    }
                }
            }
        };
    }).call(this, n(1), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        var i = n(14);
        e.a = {
            props: {
                country: {
                    type: String,
                    required: !0
                },
                text: {
                    type: String,
                    default: ""
                }
            },
            data: () => ({
                flagHtml: ""
            }),
            watch: {
                country: {
                    immediate: !0,
                    async handler(e) {
                        const n = new i.a("flag/" + e, 1728e5);
                        await n.hasValue() ? n.getValue().then(t => this.flagHtml = t) : t.request.xhr("GET", `https://raw.githubusercontent.com/lipis/flag-icon-css/master/flags/4x3/${e}.svg`).then(t => {
                            t.responseText && 200 === t.status ? (this.flagHtml = t.responseText, n.setValue(t.responseText)) : n.setValue(null);
                        });
                    }
                }
            }
        };
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, n) {
        function i(e) {
            const n = function(e) {
                let n = e.text();
                return e.children().each((function() {
                    n = n.replace(t.$(this).text(), "");
                })), n;
            }(t.$(e).find(".detail-user-recs-text").first()).trim(), i = t.$(e).find(".detail-user-recs-text").next().find("a").last().text(), a = "https://myanimelist.net" + t.$(e).find(".detail-user-recs-text").next().find("a").last().attr("href");
            let o = "";
            return t.$(e).find(".detail-user-recs-text > span[id^=recommend]").length && (o = t.$(e).find(".detail-user-recs-text > span[id^=recommend]").text().trim()), 
            {
                text: n,
                username: i,
                userHref: a,
                readmore: o
            };
        }
        e.a = {
            props: {
                url: {
                    type: String,
                    default: ""
                },
                state: {
                    type: Boolean,
                    default: !1
                }
            },
            data: () => ({
                xhr: "",
                activeItems: [],
                activeReadMores: []
            }),
            computed: {
                recommendations() {
                    const e = [];
                    try {
                        const n = this.xhr.split("Make a recommendation</a>")[1].split("</h2>")[1].split('<div class="mauto')[0], a = t.$.parseHTML(n);
                        t.$.each(t.$(a).filter(".borderClass"), (n, a) => {
                            const o = t.$(a).find(".picSurround"), r = o.find("a").attr("href"), s = o.find("a > img").first().attr("alt"), l = o.find("a > img").first().attr("data-src"), c = i(a), d = [];
                            t.$(a).find("td:eq(1) > div").last().find("div.borderClass").each((t, e) => {
                                d.push(i(e));
                            }), e.push({
                                titleHref: r,
                                titleName: s,
                                imageUrl: l,
                                user: c,
                                children: d
                            });
                        }), console.log(e);
                    } catch (t) {
                        console.log("[iframeRecommendations] Error:", t);
                    }
                    return e;
                }
            },
            watch: {
                async url() {
                    this.xhr = "", this.state && n.request.xhr("GET", this.url + "/userrecs").then(t => {
                        this.xhr = t.responseText;
                    });
                },
                async state(t) {
                    t && "" === this.xhr && n.request.xhr("GET", this.url + "/userrecs").then(t => {
                        this.xhr = t.responseText;
                    });
                }
            },
            methods: {
                lang: n.storage.lang
            }
        };
    }).call(this, n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        var o = n(16), r = n(284);
        e.a = {
            components: {
                bookmarksItem: r.a
            },
            props: {
                listType: {
                    type: String,
                    default: "anime"
                },
                state: {
                    type: Number,
                    default: 1
                },
                sort: {
                    type: Object,
                    default: null
                }
            },
            data: () => ({
                listProvider: void 0,
                errorText: null,
                cache: [],
                destroyTimer: void 0,
                reload: !1
            }),
            computed: {
                listView: {
                    get: () => t.settings.get("bookMarksList"),
                    set(e) {
                        t.settings.set("bookMarksList", e);
                    }
                },
                loading() {
                    return !this.listProvider || this.listProvider.isLoading();
                },
                items() {
                    return this.listProvider && this.listProvider.isFirstLoaded() ? this.listProvider.getTemplist() : this.cache;
                }
            },
            watch: {
                listType() {
                    this.load();
                },
                state() {
                    this.load();
                },
                sort(t, e) {
                    e && t.value === e.value || (localStorage.setItem(`sort/${this.listType}/${this.state}`, t.value), 
                    this.load());
                }
            },
            mounted() {
                this.load(), this.$parent.registerScroll("books", this.handleScroll), clearTimeout(this.destroyTimer);
            },
            activated() {
                this.$nextTick(() => {
                    i.$(this.$el).closest("html").find("head").click();
                }), clearTimeout(this.destroyTimer), this.$parent.registerScroll("books", this.handleScroll), 
                this.reload && (this.reload = !1, this.load());
            },
            deactivated() {
                this.$parent.unregisterScroll("books"), clearTimeout(this.destroyTimer), this.destroyTimer = setTimeout(() => {
                    this.listProvider.destroy(), this.reload = !0;
                }, 6e5);
            },
            methods: {
                lang: t.storage.lang,
                async load() {
                    this.cache = [], this.errorText = null, this.listProvider && this.listProvider.destroy(), 
                    this.listProvider = await Object(o.a)(this.state, this.listType), this.$emit("rewatch", this.listProvider.seperateRewatching);
                    const t = this.listProvider.getSortingOptions();
                    this.initSort(t) || (this.listProvider.setSort(this.sort.value), this.listProvider.modes.cached = !0, 
                    this.listProvider.getCached().then(t => {
                        this.cache = t;
                    }), this.listProvider.modes.initProgress = !0, this.listProvider.initFrontendMode(), 
                    this.loadNext());
                },
                initSort(t) {
                    const e = localStorage.getItem(`sort/${this.listType}/${this.state}`);
                    let n = t.find(t => t.value === e);
                    return n ? (!this.sort || n.value !== this.sort.value) && (this.$emit("sort", n), 
                    !0) : (n = t.find(t => "default" === t.value), this.$emit("sort", n), !1);
                },
                listError(t) {
                    a.error(t), this.errorText = this.listProvider.errorMessage(t);
                },
                loadNext() {
                    return this.listProvider && !this.listProvider.isLoading() ? this.listProvider.getNextPage().catch(this.listError) : Promise.resolve();
                },
                handleScroll(t) {
                    t.pos + t.elHeight + 1e3 > t.height && this.loadNext();
                }
            }
        };
    }).call(this, n(0), n(2), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, n) {
        e.a = {
            props: {
                item: {
                    type: Object
                },
                listView: {
                    type: Boolean,
                    default: !1
                }
            },
            data: () => ({
                resumeUrl: null,
                continueUrl: null
            }),
            computed: {
                curEP() {
                    return parseInt(this.item.watchedEp.toString());
                },
                imageHi() {
                    let t = this.item.image;
                    const e = /\/r\/\d*x\d*/g;
                    return e.test(t) && (t = t.replace(/v.jpg$/g, ".jpg").replace(e, "")), t;
                },
                hasTotalEp() {
                    return this.barData.totalWidth;
                },
                barData() {
                    return this.item.fn.progress ? this.item.fn.progress.getBars(this.item.watchedEp, this.item.totalEp) : {};
                },
                progress() {
                    return `width: ${this.barData.epWidth}%; max-width: 100%;`;
                },
                predictionBar() {
                    const t = this.item.fn.progress.getColor();
                    return `width: ${this.barData.predWidth}%; background-color: ${t}; color: ${t};`;
                },
                streamUrl() {
                    return this.item.options.u;
                }
            },
            watch: {
                curEP: {
                    immediate: !0,
                    async handler(t) {
                        if (void 0 === this.item.resume) {
                            this.resumeUrl = "", this.continueUrl = "";
                            let e = null, n = null;
                            const i = this.item.options.r, a = this.item.options.c;
                            a && a.ep === t + 1 ? n = a.url : i && i.ep === t && (e = i.url), this.resumeUrl = e, 
                            this.continueUrl = n;
                        }
                    }
                }
            },
            methods: {
                lang: t.storage.lang,
                favicon: t => n.favicon(t),
                assetUrl: e => t.storage.assetUrl(e),
                openLink(t) {
                    const e = document.createElement("a");
                    e.href = t, document.getElementById("malList").appendChild(e), e.click();
                },
                setQuestionmark(e) {
                    e.target.src = t.storage.assetUrl("questionmark.gif");
                }
            }
        };
    }).call(this, n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        var a = n(39);
        e.a = {
            components: {},
            props: {
                type: {
                    type: String,
                    default: "anime"
                },
                keyword: {
                    type: String,
                    default: ""
                }
            },
            data: () => ({
                items: [],
                loading: !0
            }),
            watch: {
                keyword() {
                    this.load();
                },
                type() {
                    this.load();
                }
            },
            mounted() {
                this.load();
            },
            activated() {
                this.$nextTick(() => {
                    t.$(this.$el).closest("html").find("head").click();
                });
            },
            methods: {
                lang: i.storage.lang,
                load() {
                    this.loading = !0, Object(a.a)(this.keyword, this.type).then(t => {
                        this.loading = !1, this.items = t;
                    });
                },
                clickItem(t, e) {
                    t.preventDefault(), this.$emit("clicked", e);
                }
            }
        };
    }).call(this, n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        var o = n(16);
        let r;
        e.a = {
            data: () => ({
                listType: "anime",
                items: [],
                history: []
            }),
            watch: {
                listType() {
                    this.load();
                }
            },
            mounted() {
                this.load(), r = setInterval(() => {
                    this.load();
                }, 5e3);
            },
            destroyed() {
                clearInterval(r);
            },
            methods: {
                lang: t.storage.lang,
                async load() {
                    const e = await Object(o.a)(1, this.listType);
                    e.getCompleteList().then(async e => {
                        for (let n = 0; n < e.length; n++) {
                            const a = e[n];
                            let o = "", r = "", s = "";
                            i.log("el", a);
                            const l = await t.storage.get(`updateCheck/${this.listType}/${a.cacheKey}`);
                            i.log("elCache", l), void 0 !== l && (o = `${l.newestEp}/${a.totalEp}`, s = "orange", 
                            l.finished && (r = "finished", s = "green"), void 0 !== l.error && (r = l.error, 
                            s = "red")), a.episode = o, a.trColor = s, a.error = r;
                        }
                        this.items = e;
                    }).catch(t => {
                        i.error(t), e.flashmError(t);
                    }), t.storage.get("notificationHistory").then(t => {
                        t.forEach(t => {
                            let e = Date.now() - t.timestamp;
                            e = a.timeDiffToText(e), e += "ago", t.timeDiff = e;
                        }), this.history = t.reverse();
                    });
                },
                deleteItem(e) {
                    const n = `updateCheck/${this.listType}/${e.cacheKey}`;
                    i.log("delete", n, e), t.storage.remove(n), e.trColor = "black";
                },
                notificationTest() {
                    a.notifications("https://malsync.lolamtisch.de/", "MyAnimeList-Sync", "by lolamtisch", "https://cdn.myanimelist.net/images/anime/5/65187.jpg");
                },
                startCheck() {
                    chrome.alarms.create("updateCheckNow", {
                        when: Date.now() + 1e3
                    }), a.flashm("Check started");
                }
            }
        };
    }).call(this, n(0), n(4), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        var i = n(21), a = n(26);
        e.a = {
            components: {
                backbutton: a.a
            },
            props: {
                listType: {
                    type: String,
                    default: "anime"
                }
            },
            data: () => ({
                listProvider: {
                    mal: {
                        text: "Init",
                        list: null,
                        master: !1
                    },
                    anilist: {
                        text: "Init",
                        list: null,
                        master: !1
                    },
                    kitsu: {
                        text: "Init",
                        list: null,
                        master: !1
                    },
                    simkl: {
                        text: "Init",
                        list: null,
                        master: !1
                    }
                },
                listReady: !1,
                listLength: 0,
                list: {},
                missing: [],
                isBackgroundEnabled: !1
            }),
            computed: {
                listSyncLength() {
                    return Object.values(this.list).filter(t => t.diff).length;
                },
                listDiff() {
                    const t = {};
                    for (const e in this.list) Object.prototype.hasOwnProperty.call(this.list, e) && this.list[e].diff && (t[e] = this.list[e]);
                    return t;
                }
            },
            watch: {},
            async mounted() {
                i.a.isEnabled().then(t => {
                    this.isBackgroundEnabled = t;
                });
                const t = this.listType, e = i.d({
                    mal: this.listProvider.mal,
                    anilist: this.listProvider.anilist,
                    kitsu: this.listProvider.kitsu,
                    simkl: this.listProvider.simkl
                }), n = await i.f(e, t, i.c);
                i.b(n.master, n.slaves, "mirror", n.typeArray, this.list, this.missing), this.list = {
                    ...this.list
                }, this.listReady = !0;
            },
            methods: {
                lang: t.storage.lang,
                getType: i.e,
                apiType: () => t.type,
                getTypeColor: t => "ANILIST" === t ? "border-left: 5px solid #02a9ff" : "KITSU" === t ? "border-left: 5px solid #f75239" : "SIMKL" === t ? "border-left: 5px solid #ffbf00" : "border-left: 5px solid #2e51a2",
                async syncList() {
                    this.listReady = !1, this.listLength = this.listSyncLength, i.g(this.list, this.missing);
                },
                async backgroundClick() {
                    await i.a.isEnabled() ? (i.a.disable(), this.isBackgroundEnabled = !1) : (i.a.enable(), 
                    this.isBackgroundEnabled = !0);
                }
            }
        };
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        e.a = {
            methods: {
                lang: t.storage.lang,
                click() {
                    this.$root.$children[0].selectTab("settings");
                }
            }
        };
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        var o = n(19), r = n(16);
        async function s(e) {
            const n = Object(o.b)(e);
            return n.update().then(() => (n.cleanTags(), n.sync())).catch(e => {
                t.error(e);
            });
        }
        function l(e) {
            const n = Object(r.c)(7, e);
            return n.getCompleteList().then(t => t).catch(e => {
                throw t.error(e), n.errorMessage(e);
            });
        }
        e.a = {
            props: {},
            data: () => ({
                animeLoading: !1,
                animelist: null,
                animelistLength: null,
                mangaLoading: !1,
                mangalist: null,
                mangalistLength: null
            }),
            computed: {},
            watch: {},
            methods: {
                lang: i.storage.lang,
                cleanTags() {
                    this.animeLoading = !0, l("anime").then(async t => {
                        for (this.animelist = t, this.animelistLength = this.animelist.length; this.animelist.length; ) {
                            const t = this.animelist.pop(), e = a.getUrlFromTags(t.tags);
                            void 0 !== e && (console.log(e), await s(t.url));
                        }
                    }).then(() => l("manga")).then(async t => {
                        for (this.mangalist = t, this.mangalistLength = this.mangalist.length; this.mangalist.length; ) {
                            const t = this.mangalist.pop();
                            void 0 !== a.getUrlFromTags(t.tags) && await s(t.url);
                        }
                    });
                }
            }
        };
    }).call(this, n(4), n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        var a = n(38), o = n(26);
        e.a = {
            components: {
                backbutton: o.a
            },
            props: {},
            data: () => ({
                pages: a.a
            }),
            computed: {
                enablePages: () => t.settings.get("enablePages")
            },
            watch: {},
            async mounted() {
                this.$root.updateDom();
            },
            methods: {
                favicon: i.favicon,
                lang: t.storage.lang,
                getDomain(t) {
                    let e;
                    return e = "object" == typeof t.domain ? t.domain[0] : t.domain, e;
                },
                getPageState(t) {
                    return !(void 0 !== this.enablePages[t.name] && !this.enablePages[t.name]);
                },
                setPageState(e, n) {
                    const i = JSON.parse(JSON.stringify(this.enablePages));
                    i[e.name] = n, t.settings.set("enablePages", i);
                }
            }
        };
    }).call(this, n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, n) {
        e.a = {
            props: {
                url: {
                    type: String,
                    default: ""
                },
                state: {
                    type: Boolean,
                    default: !1
                }
            },
            data: () => ({
                xhr: "",
                activeReadMores: []
            }),
            computed: {
                reviews() {
                    const e = [];
                    try {
                        const n = this.xhr.split("Reviews</h2>")[1].split("<h2>")[0], i = t.$.parseHTML(n);
                        t.$.each(t.$(i).filter(".borderDark"), (n, i) => {
                            const a = t.$(i).find(".picSurround"), o = a.find("a").attr("href"), r = a.find("a > img").first().attr("data-src"), s = t.$(i).find(".spaceit > .mb8").next().find("td > a").text().trim(), l = Number(t.$(i).find(".spaceit > .mb8").next().find("td > div > strong > span").text()), c = t.$(i).find(".spaceit > .mb8 > div").first().text().trim(), d = t.$(i).find(".spaceit > .mb8 > div.lightLink").text().trim(), m = Number(t.$(i).find(".spaceit > .mb8 > div").last().text().replace(/\D+/, "")), u = t.$(i).find(".textReadability").contents().filter((function() {
                                return 3 === this.nodeType && t.$.trim(this.nodeValue).length;
                            })).text().trim().split("\n"), p = t.$(i).find(".textReadability > span").contents().filter((function() {
                                return 3 === this.nodeType && t.$.trim(this.nodeValue).length;
                            })).text().trim().split("\n");
                            e.push({
                                userHref: o,
                                userImage: r,
                                username: s,
                                rPeople: l,
                                rDate: c,
                                rEpisodes: d,
                                rRating: m,
                                rText: u,
                                rReadmore: p
                            });
                        }), console.log(e);
                    } catch (t) {
                        console.log("[iframeReview] Error:", t);
                    }
                    return e;
                }
            },
            watch: {
                async url() {
                    this.xhr = "", this.state && n.request.xhr("GET", this.url + "/reviews").then(t => {
                        this.xhr = t.responseText;
                    });
                },
                async state(t) {
                    t && "" === this.xhr && n.request.xhr("GET", this.url + "/reviews").then(t => {
                        this.xhr = t.responseText;
                    });
                }
            },
            methods: {
                lang: n.storage.lang
            }
        };
    }).call(this, n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        var o = n(38), r = n(26);
        e.a = {
            components: {
                backbutton: r.a
            },
            data: () => ({
                pages: o.a,
                permissions: [],
                hasPermissions: null
            }),
            computed: {
                option: {
                    get: () => t.settings.get("customDomains"),
                    set(e) {
                        t.settings.set("customDomains", e);
                    }
                },
                browserPermissions() {
                    return {
                        permissions: [ "webNavigation" ],
                        origins: this.permissions.map(t => new URL(t.domain).origin + "/")
                    };
                }
            },
            watch: {
                option(t) {
                    this.permissions = JSON.parse(JSON.stringify(t));
                },
                browserPermissions() {
                    this.checkPermissions();
                }
            },
            activated() {
                this.permissions = JSON.parse(JSON.stringify(this.option));
            },
            mounted() {
                this.permissions = JSON.parse(JSON.stringify(this.option)), this.$root.updateDom();
            },
            methods: {
                lang: t.storage.lang,
                addPermission() {
                    this.permissions.push({
                        domain: "",
                        page: ""
                    }), this.$root.updateDom();
                },
                removePermission(t) {
                    this.permissions.splice(t, 1);
                },
                savePermissions() {
                    this.permissions.every(t => this.domainCheck(t.domain) && this.pageCheck(t.page)) ? (this.option = JSON.parse(JSON.stringify(this.permissions)), 
                    this.requestPermissions()) : alert("Configuration could not be saved. Check if everything is configured correctly.");
                },
                pageCheck: t => !!t,
                domainCheck: t => /^https?:\/\/(localhost|(?:www?\d?\.)?((?:(?!www\.|\.).)+\.[a-zA-Z0-9.]+))/.test(t) && new URL(t).origin,
                checkPermissions() {
                    chrome.permissions.contains(this.browserPermissions, t => {
                        this.hasPermissions = t;
                    });
                },
                requestPermissions() {
                    i.m("Request Permissions").log(this.browserPermissions), chrome.permissions.request(this.browserPermissions, t => {
                        t || a.flashm("Requesting the permissions failed", {
                            error: !0
                        }), this.checkPermissions();
                    });
                }
            }
        };
    }).call(this, n(0), n(4), n(1));
}, function(t, e, n) {
    var i = n(561);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        var o = n(90), r = n(26), s = n(9);
        e.a = {
            components: {
                backbutton: r.a
            },
            data: () => ({
                quicklinks: o,
                search: "",
                custom_name: "",
                custom_anime: "",
                custom_manga: ""
            }),
            computed: {
                linksWithState() {
                    return [ ...this.quicklinks, ...this.value.filter(t => "object" == typeof t && t) ].filter(t => !this.search || t.name.toLowerCase().includes(this.search.toLowerCase())).map(t => (t.active = this.value.includes(t.name) || t.custom, 
                    t)).sort((t, e) => t.name.localeCompare(e.name)).sort((t, e) => this.stateNumber(t) - this.stateNumber(e));
                },
                value: {
                    get: () => t.settings.get("quicklinks"),
                    set(e) {
                        t.settings.set("quicklinks", e), this.$emit("changed", e);
                    }
                }
            },
            methods: {
                lang: t.storage.lang,
                favicon(t) {
                    try {
                        return i.favicon(t);
                    } catch (t) {
                        return a.error(t), "";
                    }
                },
                toggleLink(t) {
                    t.active ? (t.custom && (this.custom_name = t.name, this.custom_anime = t.search.anime, 
                    this.custom_manga = t.search.manga), this.value = Object(s.d)(this.value, t.name)) : this.value.push(t.name), 
                    this.value = [ ...this.value ];
                },
                stateNumber: t => t.custom ? 0 : t.database ? 1 : t.search && "home" !== t.search.anime && "home" !== t.search.manga ? 2 : 10,
                addCustom() {
                    let t = "";
                    if (this.custom_anime || this.custom_manga) {
                        let e;
                        e = this.custom_anime ? this.custom_anime.split("/") : this.custom_manga.split("/"), 
                        e.length > 2 && (t = `${e[0]}//${e[2]}/`);
                    }
                    if (!t) return void i.flashm("Something is wrong", {
                        error: !0
                    });
                    const e = {
                        name: this.custom_name,
                        custom: !0,
                        domain: t,
                        search: {
                            anime: this.custom_anime ? this.custom_anime : null,
                            manga: this.custom_manga ? this.custom_manga : null
                        }
                    };
                    this.value = [ ...this.value, e ], this.custom_name = "", this.custom_anime = "", 
                    this.custom_manga = "";
                }
            }
        };
    }).call(this, n(0), n(1), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return m;
        }));
        var a = n(22), o = n(5), r = n(11), s = n(10), l = n(14), c = n(1), d = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class m extends a.a {
            constructor(e) {
                return super(e), this.url = e, this.displayUrl = "", this.pending = !1, this.shortName = "MAL", 
                this.authenticationUrl = r.c, this.apiCall = r.b, this.logger = t.m(this.shortName, "#2e51a2"), 
                this;
            }
            handleUrl(t) {
                if (t.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", 
                void (this.ids.mal = Number(i.urlPart(t, 4)));
                throw this.errorObj(o.a.UrlNotSuported, "Url not supported");
            }
            getCacheKey() {
                return this.ids.mal;
            }
            _getStatus() {
                let t;
                return t = "manga" === this.type ? parseInt(r.d[this.animeInfo.my_list_status.status]) : parseInt(r.a[this.animeInfo.my_list_status.status]), 
                this.getRewatching() && 2 === t ? 23 : t;
            }
            _setStatus(t) {
                23 === t ? (t = 2, this.setRewatching(!0)) : this.setRewatching(!1), "manga" !== this.type ? this.animeInfo.my_list_status.status = r.a[t] : this.animeInfo.my_list_status.status = r.d[t];
            }
            _getScore() {
                return this.animeInfo.my_list_status.score;
            }
            _setScore(t) {
                this.animeInfo.my_list_status.score = t;
            }
            _getEpisode() {
                return "manga" === this.type ? this.animeInfo.my_list_status.num_chapters_read : this.animeInfo.my_list_status.num_watched_episodes;
            }
            _setEpisode(t) {
                t || (t = 0), "manga" !== this.type ? this.animeInfo.my_list_status.num_watched_episodes = t : this.animeInfo.my_list_status.num_chapters_read = t;
            }
            _getVolume() {
                return "manga" === this.type ? this.animeInfo.my_list_status.num_volumes_read : 0;
            }
            _setVolume(t) {
                "manga" === this.type && (this.animeInfo.my_list_status.num_volumes_read = t);
            }
            _getTags() {
                return this.animeInfo.my_list_status.tags.length ? this.animeInfo.my_list_status.tags.join(",") : "";
            }
            _setTags(t) {
                t && "," !== t.trim() ? this.animeInfo.my_list_status.tags = t.split(",") : this.animeInfo.my_list_status.tags = [];
            }
            getRewatching() {
                return "manga" === this.type ? this.animeInfo.my_list_status.is_rereading : this.animeInfo.my_list_status.is_rewatching;
            }
            setRewatching(t) {
                "manga" !== this.type ? this.animeInfo.my_list_status.is_rewatching = t : this.animeInfo.my_list_status.is_rereading = t;
            }
            _getTitle() {
                return this.animeInfo.title;
            }
            _getTotalEpisodes() {
                return "manga" === this.type ? this.animeInfo.num_chapters : this.animeInfo.num_episodes;
            }
            _getTotalVolumes() {
                return "manga" === this.type ? this.animeInfo.num_volumes : 0;
            }
            _getDisplayUrl() {
                return this.url;
            }
            _getImage() {
                var t, e;
                return Promise.resolve(null !== (e = null === (t = this.animeInfo.main_picture) || void 0 === t ? void 0 : t.medium) && void 0 !== e ? e : "");
            }
            _getRating() {
                return Promise.resolve(this.animeInfo.mean);
            }
            _update() {
                return d(this, void 0, void 0, (function*() {
                    return this.apiCall({
                        type: "GET",
                        path: `${this.type}/${this.ids.mal}`,
                        fields: [ "my_list_status{tags,is_rewatching,is_rereading,start_date,finish_date}", "num_episodes", "mean", "num_chapters", "num_volumes" ]
                    }).catch(t => {
                        throw t.code === o.a.NotAutenticated && (this._authenticated = !1), t;
                    }).then(t => {
                        this.logger.m("Api").log(t), this._authenticated = !0, this.animeInfo = t, this._onList = !0, 
                        this.animeInfo.my_list_status || (this._onList = !1, "manga" === this.type ? this.animeInfo.my_list_status = {
                            is_rereading: !1,
                            num_chapters_read: 0,
                            num_volumes_read: 0,
                            score: 0,
                            status: "plan_to_read",
                            tags: []
                        } : this.animeInfo.my_list_status = {
                            is_rewatching: !1,
                            num_watched_episodes: 0,
                            score: 0,
                            status: "plan_to_watch",
                            tags: []
                        }), this.animeInfo.my_list_status && void 0 !== this.animeInfo.my_list_status.num_episodes_watched && (this.animeInfo.my_list_status.num_watched_episodes = this.animeInfo.my_list_status.num_episodes_watched, 
                        delete this.animeInfo.my_list_status.num_episodes_watched);
                    });
                }));
            }
            _sync() {
                return d(this, void 0, void 0, (function*() {
                    void 0 === this.animeInfo.my_list_status.start_date && 1 === this._getStatus() && this._getEpisode() > 0 && (this.animeInfo.my_list_status.start_date = Object(c.returnYYYYMMDD)()), 
                    void 0 === this.animeInfo.my_list_status.finish_date && 2 === this._getStatus() && (this.animeInfo.my_list_status.finish_date = Object(c.returnYYYYMMDD)(), 
                    void 0 === this.animeInfo.my_list_status.start_date && (this.animeInfo.my_list_status.start_date = Object(c.returnYYYYMMDD)()));
                    const t = {};
                    for (const e in this.animeInfo.my_list_status) switch (e) {
                      case "priority":
                      case "num_watched_episodes":
                      case "num_volumes_read":
                      case "num_chapters_read":
                      case "score":
                      case "is_rewatching":
                      case "is_rereading":
                      case "num_times_rewatched":
                      case "num_times_reread":
                      case "rewatch_value":
                      case "reread_value":
                      case "tags":
                      case "comments":
                      case "status":
                      case "start_date":
                      case "finish_date":
                        t[e] = this.animeInfo.my_list_status[e];
                    }
                    return this.logger.m("Sync").log(this.ids.mal, t), this.apiCall({
                        type: "PUT",
                        path: `${this.type}/${this.ids.mal}/my_list_status`,
                        dataObj: t
                    }).then(t => {
                        this.logger.m("Sync").log("res", t);
                    });
                }));
            }
            delete() {
                return this.apiCall({
                    type: "DELETE",
                    path: `${this.type}/${this.ids.mal}/my_list_status`
                });
            }
            fillRelations() {
                return d(this, void 0, void 0, (function*() {
                    const t = new l.a(`fillRelations/${this.ids.mal}/${this.getType()}`, 6048e5);
                    return t.hasValueAndIsNotEmpty().then(e => e ? t.getValue().then(t => {
                        t && t.da && parseInt(t.da) && (this.ids.ani = parseInt(t.da));
                    }) : Object(s.d)(this.ids.mal, this.getType()).then(e => (e && parseInt(e) && (this.ids.ani = parseInt(e)), 
                    t.setValue({
                        da: e
                    }))));
                }));
            }
        }
    }).call(this, n(4), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return s;
        }));
        var a = n(20), o = n(30), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class s {
            constructor(e, n) {
                return this.cacheKey = e, this.type = n, this.releaseItem = void 0, this.updateItem = void 0, 
                this.logger = t.m("progress").m(e.toString()), this;
            }
            initReleaseProgress(t) {
                return r(this, void 0, void 0, (function*() {
                    t && (yield Object(a.e)(t, this.type, t.progressMode));
                    const e = yield i.storage.get(`release/${this.type}/${this.cacheKey}`);
                    this.logger.m("Init Release").log(e), e && (Object(a.d)(e) ? this.logger.log("Too old") : this.releaseItem = e);
                }));
            }
            getProgressCurrentEpisode() {
                const t = this.releaseItem;
                return t && t.value && t.value.lastEp && t.value.lastEp.total ? t.value.lastEp.total : null;
            }
            isProgressFinished() {
                const t = this.releaseItem;
                return !(!t || !t.finished);
            }
            getProgressPrediction() {
                const t = this.releaseItem;
                return t && t.value && t.value.predicition && t.value.predicition.timestamp ? t.value.predicition.timestamp : null;
            }
            getProgressLastTimestamp() {
                const t = this.releaseItem;
                return t && t.value && t.value.lastEp && t.value.lastEp.timestamp ? t.value.lastEp.timestamp : null;
            }
            initUpdateCheck() {
                return r(this, void 0, void 0, (function*() {
                    if ("webextension" !== i.type) return;
                    const e = yield i.storage.get(`updateCheck/${this.type}/${this.cacheKey}`);
                    e && (e.error || e.timestamp && ((new Date).getTime() - e.timestamp > 864e5 ? t.log("too old") : (t.m("update check").log(e), 
                    this.updateItem = e)));
                }));
            }
            getUpdateCurrentEpisode() {
                const t = this.updateItem;
                return t && t.newestEp ? t.newestEp : null;
            }
            init(t = !1) {
                return r(this, void 0, void 0, (function*() {
                    return yield Promise.all([ this.initReleaseProgress(t), this.initUpdateCheck() ]), 
                    this;
                }));
            }
            getCurrentEpisode() {
                return i.settings.get("epPredictions") ? this.updateItem && this.getUpdateCurrentEpisode() ? this.getUpdateCurrentEpisode() : this.getProgressCurrentEpisode() : null;
            }
            isFinished() {
                return this.isProgressFinished();
            }
            isAiring() {
                return !this.isFinished();
            }
            getPredictionTimestamp() {
                return this.updateItem && this.getUpdateCurrentEpisode() && this.getUpdateCurrentEpisode() !== this.getProgressCurrentEpisode() || !this.getProgressPrediction() || (new Date).getTime() > this.getProgressPrediction() ? NaN : this.getProgressPrediction();
            }
            getPrediction() {
                return Object(o.b)(this.getPredictionTimestamp());
            }
            getPredictionText() {
                const t = this.getPrediction();
                return t ? i.storage.lang("prediction_Episode_" + this.type, [ t ]) : "";
            }
            getLastTimestamp() {
                return this.updateItem && this.getUpdateCurrentEpisode() && this.getUpdateCurrentEpisode() !== this.getProgressCurrentEpisode() ? NaN : this.getProgressLastTimestamp();
            }
            getLast(t = !0) {
                return Object(o.b)(this.getLastTimestamp(), t);
            }
            getLastText() {
                const t = this.getLast(!1);
                return t ? i.storage.lang("prediction_Last_" + this.type, [ t ]) : "";
            }
            getAuto() {
                const t = this.getPrediction();
                if (t) return t;
                const e = this.getLast();
                return e || "";
            }
            getAutoText() {
                const t = this.getPredictionText();
                if (t) return t;
                const e = this.getLastText();
                return e || "";
            }
            getColor() {
                return this.updateItem && this.getUpdateCurrentEpisode() ? "#e91e63" : "#f57c00";
            }
            getBars(t, e) {
                const n = this.getCurrentEpisode(), i = {
                    totalWidth: 100,
                    epWidth: 0,
                    predWidth: 0
                };
                if (!e) if (i.totalWidth = 0, t && (!n || t >= n)) e = Math.ceil(1.2 * t); else {
                    if (!n || t && !(t < n)) return i;
                    e = Math.ceil(1.2 * n);
                }
                return t && (i.epWidth = t / e * 100, i.epWidth > 100 && (i.epWidth = 100)), n && (i.predWidth = n / e * 100, 
                i.predWidth > 100 && (i.predWidth = 100)), i;
            }
        }
    }).call(this, n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return s;
        }));
        var a = n(17), o = n(11), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class s extends a.a {
            constructor() {
                super(...arguments), this.name = "MyAnimeList", this.authenticationUrl = o.c, this.limit = 100, 
                this.apiCall = o.b;
            }
            getUsername() {
                return r(this, void 0, void 0, (function*() {
                    return this.apiCall({
                        type: "GET",
                        path: "users/@me"
                    }).then(t => t.name);
                }));
            }
            errorHandling(e) {
                if (void 0 !== e.errors) throw t.error(e.errors), {
                    code: parseInt(e.errors[0].status),
                    message: e.errors[0].title
                };
            }
            deauth() {
                return i.settings.set("malToken", "").then(() => i.settings.set("malRefresh", ""));
            }
            _getSortingOptions() {
                return [ {
                    icon: "sort_by_alpha",
                    title: "Alphabetic",
                    value: "alpha"
                }, {
                    icon: "history",
                    title: "Last Updated",
                    value: "updated"
                }, {
                    icon: "score",
                    title: "Score",
                    value: "score"
                } ];
            }
            getOrder(t) {
                switch (t) {
                  case "alpha":
                    return this.listType + "_title";

                  case "updated":
                    return "list_updated_at";

                  case "score":
                    return "list_score";

                  default:
                    return 1 === this.status || 6 === this.status ? this.getOrder("updated") : this.getOrder("alpha");
                }
            }
            getPart() {
                return r(this, void 0, void 0, (function*() {
                    this.limit = 100, this.modes.frontend && (this.limit = 24);
                    const e = this.getOrder(this.sort);
                    let n = "";
                    e && (n = "&sort=" + e), t.log("[UserList][MAL]", "username: " + this.username, "status: " + this.status, "offset: " + this.offset, "sorting: " + n);
                    let i = "";
                    return 7 !== this.status && (i = "manga" === this.listType ? "&status=" + o.d[this.status] : "&status=" + o.a[this.status]), 
                    this.apiCall({
                        type: "GET",
                        path: `users/@me/${this.listType}list?nsfw=true&limit=${this.limit}&offset=${this.offset}${i}${n}`,
                        fields: [ "list_status{tags,is_rewatching,is_rereading,start_date,finish_date}", "num_episodes", "num_chapters", "num_volumes" ]
                    }).then(t => (t.paging && t.paging.next ? this.offset += this.limit : this.done = !0, 
                    this.prepareData(t.data)));
                }));
            }
            prepareData(t) {
                var e, n, i, a;
                return r(this, void 0, void 0, (function*() {
                    const r = [];
                    for (let s = 0; s < t.length; s++) {
                        const l = t[s];
                        "anime" === this.listType ? r.push(yield this.fn({
                            uid: l.node.id,
                            malId: l.node.id,
                            apiCacheKey: l.node.id,
                            cacheKey: l.node.id,
                            type: this.listType,
                            title: l.node.title,
                            url: `https://myanimelist.net/${this.listType}/${l.node.id}`,
                            watchedEp: l.list_status.num_episodes_watched,
                            totalEp: l.node.num_episodes,
                            status: parseInt(o.a[l.list_status.status]),
                            score: l.list_status.score,
                            image: null !== (n = null === (e = l.node.main_picture) || void 0 === e ? void 0 : e.medium) && void 0 !== n ? n : "",
                            tags: l.list_status.tags.length ? l.list_status.tags.join(",") : "",
                            airingState: l.anime_airing_status
                        })) : r.push(yield this.fn({
                            uid: l.node.id,
                            malId: l.node.id,
                            apiCacheKey: l.node.id,
                            cacheKey: l.node.id,
                            type: this.listType,
                            title: l.node.title,
                            url: `https://myanimelist.net/${this.listType}/${l.node.id}`,
                            watchedEp: l.list_status.num_chapters_read,
                            totalEp: l.node.num_chapters,
                            status: parseInt(o.d[l.list_status.status]),
                            score: l.list_status.score,
                            image: null !== (a = null === (i = l.node.main_picture) || void 0 === i ? void 0 : i.medium) && void 0 !== a ? a : "",
                            tags: l.list_status.tags.length ? l.list_status.tags.join(",") : "",
                            airingState: l.anime_airing_status
                        }));
                    }
                    return console.log(r), r;
                }));
            }
        }
    }).call(this, n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return r;
        })), n.d(e, "b", (function() {
            return s;
        }));
        var o = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const r = "10093a3f9f0174b6b5577c40e9accdae";
        function s() {
            $(document).ready((function() {
                return o(this, void 0, void 0, (function*() {
                    if (window.location.href.includes("code=")) try {
                        yield function() {
                            return o(this, void 0, void 0, (function*() {
                                const e = i.urlParam(window.location.href, "code"), n = i.urlParam(window.location.href, "state");
                                if (window.history.replaceState("", "", "/mal/oauth"), !n || !e) throw "Url wrong";
                                const o = sessionStorage.getItem(n);
                                if (!o) throw "No challenge found";
                                return a.request.xhr("POST", {
                                    url: "https://myanimelist.net/v1/oauth2/token",
                                    headers: {
                                        "Content-Type": "application/x-www-form-urlencoded"
                                    },
                                    data: `&client_id=${r}&grant_type=authorization_code&code=${e}&code_verifier=${o}`
                                }).then(t => JSON.parse(t.responseText)).then(e => {
                                    if (e && e.refresh_token && e.access_token) return a.settings.set("malToken", e.access_token), 
                                    a.settings.set("malRefresh", e.refresh_token), $(".card-text.succ").prepend(t.html(a.storage.lang("anilistClass_authentication"))), 
                                    $("body").removeClass(), void $("body").addClass("success");
                                    if (e && e.error) throw e.error;
                                    throw "Something went wrong";
                                });
                            }));
                        }();
                    } catch (t) {
                        console.error(t), $(".card-text").first().text("Error: " + t), $("body").removeClass(), 
                        $("body").addClass("noExtension");
                    } else !function() {
                        const e = l(50), n = l(10);
                        sessionStorage.setItem(n, e);
                        const i = `https://myanimelist.net/v1/oauth2/authorize?response_type=code&client_id=${r}&state=${n}&code_challenge=${e}&code_challenge_method=plain`;
                        $(".card-text.succ").prepend(t.html(`<a class="btn btn-outline-light" href="${i}">Start Authentication</a>`)), 
                        $("body").removeClass(), $("body").addClass("success");
                    }();
                }));
            }));
        }
        function l(t) {
            let e = "";
            const n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";
            for (let i = 0; i < t; i++) e += n.charAt(Math.floor(Math.random() * n.length));
            return e;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return l;
        }));
        var o = n(22), r = n(5), s = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class l extends o.a {
            constructor(e) {
                return super(e), this.url = e, this.shortName = "Local", this.authenticationUrl = "", 
                this.logger = t.m(this.shortName, "black"), this;
            }
            handleUrl(t) {
                if (t.match(/local:\/\/.*/i)) return this.id = i.urlPart(t, 4), this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", 
                this.page = i.urlPart(t, 2), this.key = `local://${this.page}/${this.type}/${this.id}`, 
                void (i.urlPart(t, 5) ? this.title = decodeURIComponent(i.urlPart(t, 5)) : this.title = "Unknown");
                throw this.errorObj(r.a.UrlNotSuported, "Url not supported");
            }
            getCacheKey() {
                return `local:${this.id}:${this.page}`;
            }
            _getStatus() {
                return this.animeInfo.status;
            }
            _setStatus(t) {
                this.animeInfo.status = t;
            }
            _getScore() {
                return this.animeInfo.score;
            }
            _setScore(t) {
                this.animeInfo.score = t;
            }
            _getEpisode() {
                return this.animeInfo.progress;
            }
            _setEpisode(t) {
                this.animeInfo.progress = parseInt("" + t);
            }
            _getVolume() {
                return this.animeInfo.volumeprogress;
            }
            _setVolume(t) {
                this.animeInfo.volumeprogress = t;
            }
            _getTags() {
                let {tags: t} = this.animeInfo;
                return t || (t = ""), t;
            }
            _setTags(t) {
                this.animeInfo.tags = t;
            }
            _getTitle(t = !1) {
                return t ? this.animeInfo.name : "[L] " + this.animeInfo.name;
            }
            _getTotalEpisodes() {
                return 0;
            }
            _getTotalVolumes() {
                return 0;
            }
            _getDisplayUrl() {
                return "https://github.com/MALSync/MALSync/wiki/Local-Sync";
            }
            _getImage() {
                return this.animeInfo && this.animeInfo.image ? Promise.resolve(this.animeInfo.image) : Promise.resolve(a.storage.assetUrl("questionmark.gif"));
            }
            setImage(t) {
                this.animeInfo.image = t, this._onList && this.sync();
            }
            _getRating() {
                return Promise.resolve("Local");
            }
            _update() {
                return s(this, void 0, void 0, (function*() {
                    this._authenticated = !0, this.animeInfo = yield a.storage.get(this.key), this._onList = !0, 
                    this.animeInfo || (this._onList = !1, this.animeInfo = {
                        name: this.title,
                        tags: "",
                        sUrl: "",
                        image: "",
                        progress: 0,
                        volumeprogress: 0,
                        score: 0,
                        status: 6
                    });
                }));
            }
            _sync() {
                return s(this, void 0, void 0, (function*() {
                    return a.storage.set(this.key, this.animeInfo);
                }));
            }
            delete() {
                return a.storage.remove(this.key);
            }
            setStreamingUrl(t) {
                return this.animeInfo && t && (this.animeInfo.sUrl = t), super.setStreamingUrl(t);
            }
            getStreamingUrl() {
                return this.animeInfo && this.animeInfo.sUrl ? this.animeInfo.sUrl : super.getStreamingUrl();
            }
        }
    }).call(this, n(4), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    n.d(e, "a", (function() {
        return i;
    }));
    const i = {
        shortName: "Simkl",
        score: "Simkl Score:",
        noLogin: 'Please Authenticate <a target="_blank" href="https://simkl.com/oauth/authorize?response_type=code&client_id=39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0&redirect_uri=https://simkl.com/apps/chrome/mal-sync/connected/">Here</a>'
    };
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return r;
        }));
        var i = n(11), a = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const o = {
            apiCall: i.b,
            logger: t.m("MAL Search"),
            errorObj: (t, e) => ({
                code: t,
                message: e
            }),
            type: "anime"
        };
        function r(t, e, n = {}, i = !1) {
            return a(this, void 0, void 0, (function*() {
                return o.type = e, (t = t.trim()).length > 64 && (t = t.substr(0, 64)), o.apiCall({
                    type: "GET",
                    path: `${e}?q=${t}&limit=15&nsfw=true`,
                    fields: [ "start_date", "mean", "alternative_titles", "media_type" ]
                }).then(t => {
                    const n = [];
                    return t.data.forEach((function(t) {
                        var i, a;
                        let o = [ t.node.title ];
                        t.node.alternative_titles && (t.node.alternative_titles.en && o.push(t.node.alternative_titles.en), 
                        t.node.alternative_titles.ja && o.push(t.node.alternative_titles.ja), t.node.alternative_titles.synonyms && (o = o.concat(t.node.alternative_titles.synonyms))), 
                        n.push({
                            id: t.node.id,
                            name: t.node.title,
                            altNames: o,
                            url: `https://myanimelist.net/${e}/${t.node.id}`,
                            malUrl: () => `https://myanimelist.net/${e}/${t.node.id}`,
                            image: null !== (a = null === (i = t.node.main_picture) || void 0 === i ? void 0 : i.medium) && void 0 !== a ? a : "",
                            media_type: t.node.media_type ? (t.node.media_type.charAt(0) + t.node.media_type.slice(1).toLowerCase()).replace("_", " ") : "",
                            isNovel: t.node.media_type.toLowerCase().includes("novel"),
                            score: t.node.mean,
                            year: t.node.start_date
                        });
                    })), o.logger.log(n), n;
                });
            }));
        }
    }).call(this, n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        })), n.d(e, "b", (function() {
            return r;
        }));
        const o = r();
        function r() {
            let e;
            return e = {
                name: "MangaHere",
                domain: "http://www.mangahere.cc",
                languages: [ "English" ],
                database: "MangaFox",
                type: "manga",
                isSyncPage: t => !(void 0 === t.split("/")[5] || !t.split("/")[5].length),
                isOverviewPage: t => !(void 0 === t.split("/")[4] || !t.split("/")[4].length || e.isSyncPage(t)),
                sync: {
                    getTitle: e => t.$("p.reader-header-title-1 > a:nth-child(1)").text(),
                    getIdentifier: t => t.split("/")[4],
                    getOverviewUrl: n => i.absoluteLink(t.$("p.reader-header-title-1 > a:nth-child(1)").attr("href"), e.domain),
                    getEpisode: e => s(t.$("p.reader-header-title-2").text()),
                    getVolume(e) {
                        let n = t.$("p.reader-header-title-2").text().match(/(vol\.|volume)\D?\d+/i);
                        return null !== n && (n = n[0].match(/\d+/), null !== n) ? parseInt(n[0]) : NaN;
                    },
                    nextEpUrl(n) {
                        const a = t.$('div.pager-list-left > a:contains("Next Chapter")').attr("href");
                        return a ? i.absoluteLink(a, e.domain) : "";
                    }
                },
                overview: {
                    getTitle: e => t.$("span.detail-info-right-title-font").first().text(),
                    getIdentifier: t => i.urlPart(t, 4),
                    uiSelector(e) {
                        t.$("div.detail-main").first().before(t.html(e));
                    },
                    list: {
                        offsetHandler: !1,
                        elementsSelector: () => t.$("ul.detail-main-list > li"),
                        elementUrl: t => i.absoluteLink(t.find("a").first().attr("href") || "", e.domain),
                        elementEp: t => s(t.find("a > div > p.title3").text())
                    }
                },
                init(e) {
                    a.storage.addStyle(n(441).toString()), t.$(document).ready((function() {
                        e.handlePage();
                    }));
                }
            }, e;
        }
        function s(t) {
            let e = t.match(/(ch\.|chapter)\D?\d+/i);
            return null !== e && (e = e[0].match(/\d+/), null !== e) ? parseInt(e[0]) : 1;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return u;
        }));
        var r = n(27), s = n(247), l = n.n(s), c = n(248), d = n(258), m = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        r.a.use(c), r.a.use(l.a, {
            default: {
                ADD_ATTR: [ "target" ]
            }
        });
        class u {
            constructor(e) {
                function n(t) {
                    "offline" === t.type && (i.log("Offline"), a.flashm("You're offline check your connection", {
                        error: !0,
                        type: "offline",
                        permanent: !0
                    })), "online" === t.type && (i.log("You are now back online."), $(".type-offline").remove());
                }
                this.minimal = e, this.history = [], this.minimal.find("body").append(t.html('<div id="minimalApp"></div>')), 
                this.minimalVue = new r.a({
                    el: this.minimal.find("#minimalApp").get(0),
                    methods: {
                        updateDom: () => {
                            this.updateDom();
                        }
                    },
                    render: t => t(d.a)
                }), this.minimal.find("head").append(t.html('<base href="https://myanimelist.net/">')), 
                this.uiListener(), this.injectCss(), this.loadSettings(), this.updateDom(), window.addEventListener("online", n), 
                window.addEventListener("offline", n);
            }
            uiListener() {
                const e = document.getElementById("info-popup"), n = this;
                this.minimal.on("click", ".mdl-layout__content a", (function(e) {
                    if ("_blank" === t.$(this).attr("target") || t.$(this).hasClass("nojs")) return;
                    e.preventDefault();
                    let i = t.$(this).attr("href") || "";
                    if (/^local:\/\//i.test(i) || (i = a.absoluteLink(i, "https://myanimelist.net")), 
                    !n.fill(i)) {
                        const t = window.open(i, "_blank");
                        t ? t.focus() : alert(o.storage.lang("minimalClass_Popup"));
                    }
                })), this.minimal.find("#close-info-popup").click((function() {
                    n.isPopup() ? window.close() : (e.style.display = "none", t.$(".floatbutton").fadeIn());
                })), this.minimal.find("#material-fullscreen").click((function() {
                    t.$(".modal-content-kal.fullscreen").length ? (t.$(".modal-content-kal").removeClass("fullscreen"), 
                    t.$(this).find("i").text("fullscreen")) : (t.$(".modal-content-kal").addClass("fullscreen"), 
                    t.$(this).find("i").text("fullscreen_exit"));
                }));
            }
            isPopup() {
                return !!t.$("#Mal-Sync-Popup").length;
            }
            updateDom() {
                this.minimal.find("head").click();
            }
            injectCss() {
                this.minimal.find("head").append(t.$("<style>").html(n(562).toString()));
            }
            fill(t) {
                return this.minimalVue.$children[0].fill(t);
            }
            fillBase(t) {
                return this.minimalVue.$children[0].fillBase(t);
            }
            setPageSync(t) {
                this.minimalVue.$children[0].setPage(t);
            }
            loadSettings() {
                const e = this;
                this.minimal.find("#posLeft").val(o.settings.get("posLeft")), this.minimal.find("#posLeft").change((function() {
                    o.settings.set("posLeft", t.$(this).val()), t.$("#modal-content").css("right", "auto").css("left", "auto").css(String(t.$(this).val()), "0");
                })), this.minimal.find("#autoTrackingModeanime").val(o.settings.get("autoTrackingModeanime")), 
                this.minimal.find("#autoTrackingModeanime").change((function() {
                    o.settings.set("autoTrackingModeanime", t.$(this).val());
                })), this.minimal.find("#theme").val(o.settings.get("theme")), this.minimal.find("#theme").change((function() {
                    o.settings.set("theme", t.$(this).val()), e.minimal.attr("id", "cr");
                })), this.minimal.find("#autoTrackingModemanga").val(o.settings.get("autoTrackingModemanga")), 
                this.minimal.find("#autoTrackingModemanga").change((function() {
                    o.settings.set("autoTrackingModemanga", t.$(this).val());
                })), this.minimal.find("#miniMalWidth").on("input", (function() {
                    let n = e.minimal.find("#miniMalWidth").val();
                    null !== n && ("" === n && (n = "30%", a.flashm("Width reset")), o.settings.set("miniMalWidth", n)), 
                    t.$("#modal-content").css("width", n);
                })), this.minimal.find("#syncMode").change((function() {
                    const n = t.$(this).val();
                    o.settings.set("syncMode", n), e.minimal.find("#clearCache").click();
                })), this.minimal.find("#syncMode").val(o.settings.get("syncMode")), this.minimal.find("#miniMalHeight").on("input", (function() {
                    let n = e.minimal.find("#miniMalHeight").val();
                    null !== n && ("" === n && (n = "90%", a.flashm("Height reset")), o.settings.set("miniMalHeight", n)), 
                    t.$("#modal-content").css("height", n);
                })), this.minimal.find("#malThumbnail").val(o.settings.get("malThumbnail")), this.minimal.find("#malThumbnail").change((function() {
                    o.settings.set("malThumbnail", e.minimal.find("#malThumbnail").val());
                })), this.minimal.find("#clearCache").click((function() {
                    return m(this, void 0, void 0, (function*() {
                        const e = yield o.storage.list();
                        let n = 0;
                        t.$.each(e, (function(t, e) {
                            a.syncRegex.test(String(t)) || /(^tagSettings\/.*)/.test(String(t)) || (o.storage.remove(String(t)), 
                            n++);
                        })), a.flashm(`Cache Cleared [${n}]`);
                    }));
                })), "webextension" === o.type && this.minimal.find(".option-extension").show(), 
                "webextension" === o.type && this.isPopup() && this.minimal.find(".option-extension-popup").show(), 
                "webextension" === o.type && this.isPopup() && (chrome.alarms.get("updateCheck", t => {
                    i.log(t);
                    let e = 0;
                    if (void 0 !== t && (e = t.periodInMinutes, this.minimal.find(".updateCheckEnable").show()), 
                    this.minimal.find("#updateCheckTime").val(e), e) {
                        function n() {
                            o.storage.get("updateCheckLast").then(t => {
                                if (Number.isNaN(t)) return;
                                const e = Math.abs(t - Date.now());
                                let n = a.timeDiffToText(e);
                                "" !== n && (n += "ago", $("#updateCheckAgo").text(n));
                            });
                        }
                        n(), setInterval((function() {
                            n();
                        }), 6e4);
                    }
                }), this.minimal.find("#updateCheckTime").change(() => {
                    const t = this.minimal.find("#updateCheckTime").val();
                    o.storage.set("updateCheckTime", t), 0 !== t && "0" !== t ? (this.minimal.find(".updateCheckEnable").show(), 
                    chrome.alarms.create("updateCheck", {
                        periodInMinutes: parseInt(t)
                    }), a.canHideTabs() || chrome.permissions.request({
                        permissions: [ "webRequest", "webRequestBlocking" ],
                        origins: chrome.runtime.getManifest().optional_permissions.filter(t => "webRequest" !== t && "webRequestBlocking" !== t)
                    }, (function(t) {
                        i.log("optional_permissions", t);
                    })), chrome.alarms.create("updateCheckNow", {
                        when: Date.now() + 1e3
                    })) : (this.minimal.find(".updateCheckEnable").hide(), chrome.alarms.clear("updateCheck"));
                }), this.minimal.find("#updateCheck").show()), this.minimal.find("#updateCheckUi").click(() => {
                    this.minimalVue.$children[0].selectTab("updateCheck");
                }), this.minimal.find("#listSyncUi").click(() => {
                    this.minimalVue.$children[0].selectTab("listSync");
                }), this.minimal.find("#cleanTagsUi").click(() => {
                    this.minimalVue.$children[0].selectTab("cleanTags");
                }), this.minimal.find("#allSitesUi").click(() => {
                    this.minimalVue.$children[0].selectTab("allSites");
                }), this.minimal.find("#customDomainsUi").click(() => {
                    this.minimalVue.$children[0].selectTab("customDomains");
                }), this.minimal.find("#quicklinkoverview").click(() => {
                    this.minimalVue.$children[0].selectTab("quicklinks");
                }), o.storage.get("tempVersion").then(t => {
                    let e = "";
                    t !== o.storage.version() && (e = o.storage.lang("minimalClass_versionMsg", [ o.storage.version(), `[<a class="close" target="_blank" href="https://malsync.lolamtisch.de/changelog#${o.storage.version()}">` ])), 
                    i.log(t), void 0 === t && "webextension" !== o.type && (e = `\n            <div style="\n              text-align: left;\n              margin-left: auto;\n              margin-right: auto;\n              display: inline-block;\n              padding: 10px 15px;\n              background-color: #3d4e9a;\n              margin-top: -5px;\n            ">\n              <span style="text-decoration: underline; font-size: 15px;">${o.storage.lang("minimalClass_versionMsg_Text_1")}</span><br>\n              <br>\n              ${o.storage.lang("minimalClass_versionMsg_Text_4")}<br>\n              <a target="_blank" href="https://github.com/Karmesinrot/Anifiltrs#anifiltrs">\n                <img alt="Filter List" src="https://img.shields.io/badge/ublock-Anifiltrs-800900.svg?style=flat-square">\n              </a><br>\n              <br>\n\n\n              ${o.storage.lang("minimalClass_versionMsg_Text_2")}<br>\n              <a target="_blank" href="https://discord.com/invite/cTH4yaw">\n                <img alt="Discord" src="https://img.shields.io/discord/358599430502481920.svg?style=flat-square&amp;logo=discord&amp;label=Discord&amp;colorB=7289DA">\n              </a><br>\n              <a target="_blank" href="https://github.com/MALSync/MALSync/issues">\n                <img alt="Github Issues" src="https://img.shields.io/github/issues/MALSync/MALSync.svg?style=flat-square&amp;logo=github&amp;logoColor=white">\n              </a><br>\n              <br>\n              ${o.storage.lang("minimalClass_versionMsg_Text_3")}<br>\n              <a target="_blank" href="https://github.com/MALSync/MALSync">\n                <img alt="Github" src="https://img.shields.io/github/last-commit/MALSync/MALSync.svg?style=flat-square&amp;logo=github&amp;logoColor=white&amp;label=Github">\n              </a>\n            </div>\n          `), 
                    "" !== e && this.flashm(e, (function() {
                        o.storage.set("tempVersion", o.storage.version());
                    }));
                });
            }
            searchMal(e, n = "all", i, a) {
                const r = this;
                this.minimal.find(i).html(t.html("")), o.request.xhr("GET", `https://myanimelist.net/search/prefix.json?type=${n}&keyword=${e}&v=1`).then(s => {
                    const l = t.$.parseJSON(s.responseText);
                    this.minimal.find(i).append(t.html('<div class="mdl-grid">\n            <select name="myinfo_score" id="searchListType" class="inputtext mdl-textfield__input mdl-cell mdl-cell--12-col" style="outline: none; background-color: white; border: none;">\n              <option value="anime">Anime</option>\n              <option value="manga">Manga</option>\n            </select>\n          </div>')), 
                    this.minimal.find("#searchListType").val(n), this.minimal.find("#searchListType").change((function(t) {
                        r.searchMal(e, r.minimal.find("#searchListType").val(), i, a);
                    })), t.$.each(l, (e, n) => {
                        t.$.each(n, (e, n) => {
                            t.$.each(n, (e, n) => {
                                "object" == typeof n && t.$.each(n, (e, n) => {
                                    void 0 !== n.name && r.minimal.find(i + " > div").append(t.html(`<a class="mdl-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--2dp mdl-grid searchItem" href="${n.url}" style="cursor: pointer;">                  <img src="${n.image_url}" style="margin: -8px 0px -8px -8px; height: 100px; width: 64px; background-color: grey;"></img>                  <div style="flex-grow: 100; cursor: pointer; margin-top: 0; margin-bottom: 0;" class="mdl-cell">                    <span style="font-size: 20px; font-weight: 400; line-height: 1;">${n.name}</span>                    <p style="margin-bottom: 0; line-height: 20px; padding-top: 3px;">${o.storage.lang("search_Type")} ${n.payload.media_type}</p>                    <p style="margin-bottom: 0; line-height: 20px;">${o.storage.lang("search_Score")} ${n.payload.score}</p>                    <p style="margin-bottom: 0; line-height: 20px;">${o.storage.lang("search_Year")} ${n.payload.start_year}</p>                  </div>                  </a>`));
                                });
                            });
                        });
                    }), a();
                });
            }
            flashm(e, n) {
                const i = `\n      <div style="\n        background-color: #3f51b5;\n        text-align: center;\n        padding: 5px 24px;\n        color: white;\n        border-top: 1px solid #fefefe;\n      ">\n        ${e}\n        <i class="material-icons close" style="\n          float: right;\n          font-size: 24px;\n          margin-top: -2px;\n          margin-right: -24px;\n          margin-bottom: -5px;\n        ">${o.storage.lang("close")}</i>\n      </div>\n    `, a = t.$(t.html(i)).appendTo(this.minimal.find(".mdl-layout"));
                return a.find(".close").click((function() {
                    a.slideUp(100, (function() {
                        a.remove(), n();
                    }));
                })), a;
            }
        }
    }).call(this, n(2), n(4), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", [ n("div", {
            staticClass: "icon material-icons",
            staticStyle: {
                "font-size": "16px",
                "line-height": "0",
                color: "#7f7f7f",
                "padding-bottom": "20px",
                "padding-left": "3px"
            },
            style: t.tagStyle,
            attrs: {
                id: t.id
            }
        }, [ t._v("\n    " + t._s(t.iconText) + "\n  ") ]), t._v(" "), n("div", {
            staticClass: "mdl-tooltip mdl-tooltip--large",
            class: t.directionClass,
            attrs: {
                for: t.id
            }
        }, [ t._t("default") ], 2) ]);
    };
    i._withStripped = !0;
    var a = {
        props: {
            direction: {
                type: String,
                default: "top"
            },
            tagStyle: {
                type: String,
                default: ""
            },
            iconText: {
                type: String,
                default: "contact_support"
            }
        },
        data: () => ({
            number: Math.floor(1e3 * Math.random() + 1)
        }),
        computed: {
            id() {
                return "tt-" + this.number;
            },
            directionClass() {
                return "mdl-tooltip--" + this.direction;
            }
        }
    }, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/components/tooltip.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "b", (function() {
            return l;
        })), n.d(e, "c", (function() {
            return c;
        })), n.d(e, "a", (function() {
            return d;
        }));
        var r = n(82), s = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const l = "39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0";
        function c(t) {
            return d("https://api.simkl.com/anime/" + t, {
                extended: "full"
            }, !0).then(t => void 0 === t.ids.mal ? null : t.ids.mal);
        }
        function d(e, n = {}, c = !1, m = "GET", u = !0) {
            return s(this, void 0, void 0, (function*() {
                c && (e += "?" + t.$.param(n)), i.log("call", m, e, n);
                const p = {
                    Authorization: u ? "Bearer " + a.settings.get("simklToken") : void 0,
                    "simkl-api-key": l,
                    Accept: "application/vnd.api+json",
                    "Content-Type": "application/json"
                };
                return u || i.log("No login"), a.request.xhr(m, {
                    url: e,
                    headers: p,
                    data: n
                }).then(t => s(this, void 0, void 0, (function*() {
                    switch (t.status) {
                      case 200:
                      case 201:
                      case 204:
                      case 302:
                        break;

                      case 401:
                        if (u) return d(e, n, c, m, !1);
                        throw o.flashm(r.a.noLogin, {
                            error: !0,
                            type: "error"
                        }), s();

                      default:
                        throw o.flashm("Simkl: " + a(), {
                            error: !0,
                            type: "error"
                        }), s();
                    }
                    try {
                        return JSON.parse(t.responseText);
                    } catch (e) {
                        throw i.error(t), e;
                    }
                    function a() {
                        return JSON.parse(t.responseText).error;
                    }
                    function s() {
                        return {
                            status: t.status,
                            message: a()
                        };
                    }
                })));
            }));
        }
    }).call(this, n(2), n(4), n(0), n(1));
}, function(t, e) {
    var n;
    n = function() {
        return this;
    }();
    try {
        n = n || new Function("return this")();
    } catch (t) {
        "object" == typeof window && (n = window);
    }
    t.exports = n;
}, function(t, e, n) {
    t.exports = function() {
        "use strict";
        var t = Object.hasOwnProperty, e = Object.setPrototypeOf, n = Object.isFrozen, i = Object.freeze, a = Object.seal, o = Object.create, r = "undefined" != typeof Reflect && Reflect, s = r.apply, l = r.construct;
        s || (s = function(t, e, n) {
            return t.apply(e, n);
        }), i || (i = function(t) {
            return t;
        }), a || (a = function(t) {
            return t;
        }), l || (l = function(t, e) {
            return new (Function.prototype.bind.apply(t, [ null ].concat(function(t) {
                if (Array.isArray(t)) {
                    for (var e = 0, n = Array(t.length); e < t.length; e++) n[e] = t[e];
                    return n;
                }
                return Array.from(t);
            }(e))));
        });
        var c, d = w(Array.prototype.forEach), m = w(Array.prototype.pop), u = w(Array.prototype.push), p = w(String.prototype.toLowerCase), h = w(String.prototype.match), g = w(String.prototype.replace), f = w(String.prototype.indexOf), v = w(String.prototype.trim), b = w(RegExp.prototype.test), y = (c = TypeError, 
        function() {
            for (var t = arguments.length, e = Array(t), n = 0; n < t; n++) e[n] = arguments[n];
            return l(c, e);
        });
        function w(t) {
            return function(e) {
                for (var n = arguments.length, i = Array(n > 1 ? n - 1 : 0), a = 1; a < n; a++) i[a - 1] = arguments[a];
                return s(t, e, i);
            };
        }
        function _(t, i) {
            e && e(t, null);
            for (var a = i.length; a--; ) {
                var o = i[a];
                if ("string" == typeof o) {
                    var r = p(o);
                    r !== o && (n(i) || (i[a] = r), o = r);
                }
                t[o] = !0;
            }
            return t;
        }
        function x(e) {
            var n = o(null), i = void 0;
            for (i in e) s(t, e, [ i ]) && (n[i] = e[i]);
            return n;
        }
        var k = i([ "a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr" ]), S = i([ "svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "audio", "canvas", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "video", "view", "vkern" ]), $ = i([ "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence" ]), E = i([ "math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover" ]), T = i([ "#text" ]), P = i([ "accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "xmlns" ]), C = i([ "accent-height", "accumulate", "additive", "alignment-baseline", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "targetx", "targety", "transform", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan" ]), A = i([ "accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns" ]), I = i([ "xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink" ]), O = a(/\{\{[\s\S]*|[\s\S]*\}\}/gm), U = a(/<%[\s\S]*|[\s\S]*%>/gm), M = a(/^data-[\-\w.\u00B7-\uFFFF]/), L = a(/^aria-[\-\w]+$/), N = a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i), R = a(/^(?:\w+script|data):/i), j = a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g), V = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
            return typeof t;
        } : function(t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
        };
        function D(t) {
            if (Array.isArray(t)) {
                for (var e = 0, n = Array(t.length); e < t.length; e++) n[e] = t[e];
                return n;
            }
            return Array.from(t);
        }
        var z = function() {
            return "undefined" == typeof window ? null : window;
        }, F = function(t, e) {
            if ("object" !== (void 0 === t ? "undefined" : V(t)) || "function" != typeof t.createPolicy) return null;
            var n = null;
            e.currentScript && e.currentScript.hasAttribute("data-tt-policy-suffix") && (n = e.currentScript.getAttribute("data-tt-policy-suffix"));
            var i = "dompurify" + (n ? "#" + n : "");
            try {
                return t.createPolicy(i, {
                    createHTML: function(t) {
                        return t;
                    }
                });
            } catch (t) {
                return console.warn("TrustedTypes policy " + i + " could not be created."), null;
            }
        };
        return function t() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : z(), n = function(e) {
                return t(e);
            };
            if (n.version = "2.1.1", n.removed = [], !e || !e.document || 9 !== e.document.nodeType) return n.isSupported = !1, 
            n;
            var a = e.document, o = e.document, r = e.DocumentFragment, s = e.HTMLTemplateElement, l = e.Node, c = e.NodeFilter, w = e.NamedNodeMap, H = void 0 === w ? e.NamedNodeMap || e.MozNamedAttrMap : w, B = e.Text, K = e.Comment, q = e.DOMParser, W = e.trustedTypes;
            if ("function" == typeof s) {
                var J = o.createElement("template");
                J.content && J.content.ownerDocument && (o = J.content.ownerDocument);
            }
            var G = F(W, a), Y = G && Pt ? G.createHTML("") : "", Z = o, Q = Z.implementation, X = Z.createNodeIterator, tt = Z.getElementsByTagName, et = Z.createDocumentFragment, nt = a.importNode, it = {};
            try {
                it = x(o).documentMode ? o.documentMode : {};
            } catch (t) {}
            var at = {};
            n.isSupported = Q && void 0 !== Q.createHTMLDocument && 9 !== it;
            var ot = O, rt = U, st = M, lt = L, ct = R, dt = j, mt = N, ut = null, pt = _({}, [].concat(D(k), D(S), D($), D(E), D(T))), ht = null, gt = _({}, [].concat(D(P), D(C), D(A), D(I))), ft = null, vt = null, bt = !0, yt = !0, wt = !1, _t = !1, xt = !1, kt = !1, St = !1, $t = !1, Et = !1, Tt = !1, Pt = !1, Ct = !0, At = !0, It = !1, Ot = {}, Ut = _({}, [ "annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp" ]), Mt = null, Lt = _({}, [ "audio", "video", "img", "source", "image", "track" ]), Nt = null, Rt = _({}, [ "alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "summary", "title", "value", "style", "xmlns" ]), jt = null, Vt = o.createElement("form"), Dt = function(t) {
                jt && jt === t || (t && "object" === (void 0 === t ? "undefined" : V(t)) || (t = {}), 
                t = x(t), ut = "ALLOWED_TAGS" in t ? _({}, t.ALLOWED_TAGS) : pt, ht = "ALLOWED_ATTR" in t ? _({}, t.ALLOWED_ATTR) : gt, 
                Nt = "ADD_URI_SAFE_ATTR" in t ? _(x(Rt), t.ADD_URI_SAFE_ATTR) : Rt, Mt = "ADD_DATA_URI_TAGS" in t ? _(x(Lt), t.ADD_DATA_URI_TAGS) : Lt, 
                ft = "FORBID_TAGS" in t ? _({}, t.FORBID_TAGS) : {}, vt = "FORBID_ATTR" in t ? _({}, t.FORBID_ATTR) : {}, 
                Ot = "USE_PROFILES" in t && t.USE_PROFILES, bt = !1 !== t.ALLOW_ARIA_ATTR, yt = !1 !== t.ALLOW_DATA_ATTR, 
                wt = t.ALLOW_UNKNOWN_PROTOCOLS || !1, _t = t.SAFE_FOR_TEMPLATES || !1, xt = t.WHOLE_DOCUMENT || !1, 
                $t = t.RETURN_DOM || !1, Et = t.RETURN_DOM_FRAGMENT || !1, Tt = t.RETURN_DOM_IMPORT || !1, 
                Pt = t.RETURN_TRUSTED_TYPE || !1, St = t.FORCE_BODY || !1, Ct = !1 !== t.SANITIZE_DOM, 
                At = !1 !== t.KEEP_CONTENT, It = t.IN_PLACE || !1, mt = t.ALLOWED_URI_REGEXP || mt, 
                _t && (yt = !1), Et && ($t = !0), Ot && (ut = _({}, [].concat(D(T))), ht = [], !0 === Ot.html && (_(ut, k), 
                _(ht, P)), !0 === Ot.svg && (_(ut, S), _(ht, C), _(ht, I)), !0 === Ot.svgFilters && (_(ut, $), 
                _(ht, C), _(ht, I)), !0 === Ot.mathMl && (_(ut, E), _(ht, A), _(ht, I))), t.ADD_TAGS && (ut === pt && (ut = x(ut)), 
                _(ut, t.ADD_TAGS)), t.ADD_ATTR && (ht === gt && (ht = x(ht)), _(ht, t.ADD_ATTR)), 
                t.ADD_URI_SAFE_ATTR && _(Nt, t.ADD_URI_SAFE_ATTR), At && (ut["#text"] = !0), xt && _(ut, [ "html", "head", "body" ]), 
                ut.table && (_(ut, [ "tbody" ]), delete ft.tbody), i && i(t), jt = t);
            }, zt = function(t) {
                u(n.removed, {
                    element: t
                });
                try {
                    t.parentNode.removeChild(t);
                } catch (e) {
                    t.outerHTML = Y;
                }
            }, Ft = function(t, e) {
                try {
                    u(n.removed, {
                        attribute: e.getAttributeNode(t),
                        from: e
                    });
                } catch (t) {
                    u(n.removed, {
                        attribute: null,
                        from: e
                    });
                }
                e.removeAttribute(t);
            }, Ht = function(t) {
                var e = void 0, n = void 0;
                if (St) t = "<remove></remove>" + t; else {
                    var i = h(t, /^[\r\n\t ]+/);
                    n = i && i[0];
                }
                var a = G ? G.createHTML(t) : t;
                try {
                    e = (new q).parseFromString(a, "text/html");
                } catch (t) {}
                if (!e || !e.documentElement) {
                    var r = (e = Q.createHTMLDocument("")).body;
                    r.parentNode.removeChild(r.parentNode.firstElementChild), r.outerHTML = a;
                }
                return t && n && e.body.insertBefore(o.createTextNode(n), e.body.childNodes[0] || null), 
                tt.call(e, xt ? "html" : "body")[0];
            }, Bt = function(t) {
                return X.call(t.ownerDocument || t, t, c.SHOW_ELEMENT | c.SHOW_COMMENT | c.SHOW_TEXT, (function() {
                    return c.FILTER_ACCEPT;
                }), !1);
            }, Kt = function(t) {
                return !(t instanceof B || t instanceof K || "string" == typeof t.nodeName && "string" == typeof t.textContent && "function" == typeof t.removeChild && t.attributes instanceof H && "function" == typeof t.removeAttribute && "function" == typeof t.setAttribute && "string" == typeof t.namespaceURI);
            }, qt = function(t) {
                return "object" === (void 0 === l ? "undefined" : V(l)) ? t instanceof l : t && "object" === (void 0 === t ? "undefined" : V(t)) && "number" == typeof t.nodeType && "string" == typeof t.nodeName;
            }, Wt = function(t, e, i) {
                at[t] && d(at[t], (function(t) {
                    t.call(n, e, i, jt);
                }));
            }, Jt = function(t) {
                var e = void 0;
                if (Wt("beforeSanitizeElements", t, null), Kt(t)) return zt(t), !0;
                if (h(t.nodeName, /[\u0080-\uFFFF]/)) return zt(t), !0;
                var i = p(t.nodeName);
                if (Wt("uponSanitizeElement", t, {
                    tagName: i,
                    allowedTags: ut
                }), ("svg" === i || "math" === i) && 0 !== t.querySelectorAll("p, br").length) return zt(t), 
                !0;
                if (!qt(t.firstElementChild) && (!qt(t.content) || !qt(t.content.firstElementChild)) && b(/<[!/\w]/g, t.innerHTML) && b(/<[!/\w]/g, t.textContent)) return zt(t), 
                !0;
                if (!ut[i] || ft[i]) {
                    if (At && !Ut[i] && "function" == typeof t.insertAdjacentHTML) try {
                        var a = t.innerHTML;
                        t.insertAdjacentHTML("AfterEnd", G ? G.createHTML(a) : a);
                    } catch (t) {}
                    return zt(t), !0;
                }
                return "noscript" !== i && "noembed" !== i || !b(/<\/no(script|embed)/i, t.innerHTML) ? (_t && 3 === t.nodeType && (e = t.textContent, 
                e = g(e, ot, " "), e = g(e, rt, " "), t.textContent !== e && (u(n.removed, {
                    element: t.cloneNode()
                }), t.textContent = e)), Wt("afterSanitizeElements", t, null), !1) : (zt(t), !0);
            }, Gt = function(t, e, n) {
                if (Ct && ("id" === e || "name" === e) && (n in o || n in Vt)) return !1;
                if (yt && b(st, e)) ; else if (bt && b(lt, e)) ; else {
                    if (!ht[e] || vt[e]) return !1;
                    if (Nt[e]) ; else if (b(mt, g(n, dt, ""))) ; else if ("src" !== e && "xlink:href" !== e && "href" !== e || "script" === t || 0 !== f(n, "data:") || !Mt[t]) if (wt && !b(ct, g(n, dt, ""))) ; else if (n) return !1;
                }
                return !0;
            }, Yt = function(t) {
                var e = void 0, i = void 0, a = void 0, o = void 0;
                Wt("beforeSanitizeAttributes", t, null);
                var r = t.attributes;
                if (r) {
                    var s = {
                        attrName: "",
                        attrValue: "",
                        keepAttr: !0,
                        allowedAttributes: ht
                    };
                    for (o = r.length; o--; ) {
                        var l = e = r[o], c = l.name, d = l.namespaceURI;
                        if (i = v(e.value), a = p(c), s.attrName = a, s.attrValue = i, s.keepAttr = !0, 
                        s.forceKeepAttr = void 0, Wt("uponSanitizeAttribute", t, s), i = s.attrValue, !s.forceKeepAttr && (Ft(c, t), 
                        s.keepAttr)) if (b(/\/>/i, i)) Ft(c, t); else {
                            _t && (i = g(i, ot, " "), i = g(i, rt, " "));
                            var u = t.nodeName.toLowerCase();
                            if (Gt(u, a, i)) try {
                                d ? t.setAttributeNS(d, c, i) : t.setAttribute(c, i), m(n.removed);
                            } catch (t) {}
                        }
                    }
                    Wt("afterSanitizeAttributes", t, null);
                }
            }, Zt = function t(e) {
                var n = void 0, i = Bt(e);
                for (Wt("beforeSanitizeShadowDOM", e, null); n = i.nextNode(); ) Wt("uponSanitizeShadowNode", n, null), 
                Jt(n) || (n.content instanceof r && t(n.content), Yt(n));
                Wt("afterSanitizeShadowDOM", e, null);
            };
            return n.sanitize = function(t, i) {
                var o = void 0, s = void 0, c = void 0, d = void 0, m = void 0;
                if (t || (t = "\x3c!--\x3e"), "string" != typeof t && !qt(t)) {
                    if ("function" != typeof t.toString) throw y("toString is not a function");
                    if ("string" != typeof (t = t.toString())) throw y("dirty is not a string, aborting");
                }
                if (!n.isSupported) {
                    if ("object" === V(e.toStaticHTML) || "function" == typeof e.toStaticHTML) {
                        if ("string" == typeof t) return e.toStaticHTML(t);
                        if (qt(t)) return e.toStaticHTML(t.outerHTML);
                    }
                    return t;
                }
                if (kt || Dt(i), n.removed = [], "string" == typeof t && (It = !1), It) ; else if (t instanceof l) 1 === (s = (o = Ht("\x3c!----\x3e")).ownerDocument.importNode(t, !0)).nodeType && "BODY" === s.nodeName || "HTML" === s.nodeName ? o = s : o.appendChild(s); else {
                    if (!$t && !_t && !xt && -1 === t.indexOf("<")) return G && Pt ? G.createHTML(t) : t;
                    if (!(o = Ht(t))) return $t ? null : Y;
                }
                o && St && zt(o.firstChild);
                for (var u = Bt(It ? t : o); c = u.nextNode(); ) 3 === c.nodeType && c === d || Jt(c) || (c.content instanceof r && Zt(c.content), 
                Yt(c), d = c);
                if (d = null, It) return t;
                if ($t) {
                    if (Et) for (m = et.call(o.ownerDocument); o.firstChild; ) m.appendChild(o.firstChild); else m = o;
                    return Tt && (m = nt.call(a, m, !0)), m;
                }
                var p = xt ? o.outerHTML : o.innerHTML;
                return _t && (p = g(p, ot, " "), p = g(p, rt, " ")), G && Pt ? G.createHTML(p) : p;
            }, n.setConfig = function(t) {
                Dt(t), kt = !0;
            }, n.clearConfig = function() {
                jt = null, kt = !1;
            }, n.isValidAttribute = function(t, e, n) {
                jt || Dt({});
                var i = p(t), a = p(e);
                return Gt(i, a, n);
            }, n.addHook = function(t, e) {
                "function" == typeof e && (at[t] = at[t] || [], u(at[t], e));
            }, n.removeHook = function(t) {
                at[t] && m(at[t]);
            }, n.removeHooks = function(t) {
                at[t] && (at[t] = []);
            }, n.removeAllHooks = function() {
                at = {};
            }, n;
        }();
    }();
}, function(t) {
    t.exports = JSON.parse('[{"name":"9anime","domain":"https://9anime.to","database":"9anime","search":{"anime":"https://9anime.to/search?keyword={searchtermPlus}","manga":null}},{"name":"Crunchyroll","domain":"https://www.crunchyroll.com","database":"Crunchyroll","search":{"anime":"https://www.crunchyroll.com/search?q={searchtermPlus}","manga":null}},{"name":"Vrv","domain":"https://vrv.co","database":"Vrv","search":{"anime":"https://vrv.co/?q={searchterm}","manga":null}},{"name":"Mangadex","domain":"https://www.mangadex.org","database":"Mangadex","search":{"anime":null,"manga":"https://mangadex.org/titles#{searchterm}"}},{"name":"Gogoanime","domain":"https://gogoanime.tv","database":"Gogoanime","search":{"anime":"https://www1.gogoanime.ai/search.html?keyword={searchterm}","manga":null}},{"name":"Twistmoe","domain":"https://twist.moe","database":"Twistmoe","search":{"anime":"home","manga":null}},{"name":"Branitube","domain":"https://www.branitube.net","database":null,"search":{"anime":"https://www.branitube.net/buscar/{searchterm}","manga":null}},{"name":"TurkAnime","domain":"https://www.turkanime.net","database":null,"search":{"anime":"home","manga":null}},{"name":"animepahe","domain":"https://animepahe.com","database":"animepahe","search":{"anime":"home","manga":null}},{"name":"Netflix","domain":"https://www.netflix.com","database":"Netflix","search":{"anime":"https://www.netflix.com/search?q={searchterm}","manga":null}},{"name":"Animeflv","domain":"https://animeflv.net","database":null,"search":{"anime":"https://www3.animeflv.net/browse?q={searchtermPlus}","manga":null}},{"name":"Jkanime","domain":"https://jkanime.net","database":null,"search":{"anime":"https://jkanime.net/buscar/{searchterm}","manga":null}},{"name":"Proxer","domain":"https://proxer.me","database":null,"search":{"anime":"https://proxer.me/search?s=search&name={searchterm}&typ=all-anime&tags=&notags=#top","manga":"https://proxer.me/search?s=search&name={searchterm}&typ=all-manga&tags=&notags=#top"}},{"name":"Wakanim","domain":"https://www.wakanim.tv","database":null,"search":{"anime":"https://www.wakanim.tv/de/v2/catalogue/search?search={searchterm}","manga":null}},{"name":"Emby","domain":"http://app.emby.media","database":null,"search":{"anime":"home","manga":null}},{"name":"Plex","domain":"http://app.plex.tv","database":null,"search":{"anime":"home","manga":null}},{"name":"4Anime","domain":"https://4anime.to","database":null,"search":{"anime":"https://4anime.to/?s={searchtermPlus}","manga":null}},{"name":"animeultima","domain":"https://animeultima.to","database":null,"search":{"anime":"home","manga":null}},{"name":"Aniflix","domain":"https://www1.aniflix.tv","database":null,"search":{"anime":"home","manga":null}},{"name":"Animefreak","domain":"https://www.animefreak.tv","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimeLab","domain":"https://www.animelab.com","database":"AnimeLab","search":{"anime":"https://www.animelab.com/shows/search?searchTerms={searchtermPlus}","manga":null}},{"name":"KickAssAnime","domain":"https://www.kickassanime.ro","database":null,"search":{"anime":"https://www2.kickassanime.ro/search?q={searchterm}","manga":null}},{"name":"AnimeKisa","domain":"https://animekisa.tv","database":null,"search":{"anime":"https://animekisa.tv/search?q={searchtermPlus}","manga":null}},{"name":"AnimeIndo","domain":"https://animeindo.net","database":null,"search":{"anime":"https://animeindo.net/?s={searchterm}&post_type=anime","manga":null}},{"name":"Shinden","domain":"https://shinden.pl","database":null,"search":{"anime":"home","manga":null}},{"name":"Voiranime","domain":"https://voiranime.com","database":null,"search":{"anime":"home","manga":null}},{"name":"DubbedAnime","domain":"https://ww5.dubbedanime.net","database":null,"search":{"anime":"home","manga":null}},{"name":"MangaNato","domain":"https://manganato.com","database":"MangaNato","search":{"anime":null,"manga":"https://manganato.com/search/story/{searchterm}"}},{"name":"VIZ","domain":"https://www.viz.com","database":"VIZ","search":{"anime":null,"manga":"https://www.viz.com/search?search={searchtermPlus}"}},{"name":"NekoSama","domain":"https://www.neko-sama.fr","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimeOdcinki","domain":"https://anime-odcinki.pl","database":null,"search":{"anime":"https://anime-odcinki.pl/szukaj/{searchtermPlus}","manga":null}},{"name":"AnimeZone","domain":"https://www.animezone.pl","database":null,"search":{"anime":"home","manga":null}},{"name":"Animeflix","domain":"https://animeflix.io","database":null,"search":{"anime":"home","manga":null}},{"name":"serimanga","domain":"https://serimanga.com","database":null,"search":{"anime":null,"manga":"https://serimanga.com/mangalar?search={searchtermPlus}"}},{"name":"mangadenizi","domain":"https://mangadenizi.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"moeclip","domain":"https://moeclip.com","database":null,"search":{"anime":"https://moeclip.com/search/{searchtermPlus}","manga":null}},{"name":"mangalivre","domain":"https://mangalivre.net","database":null,"search":{"anime":null,"manga":"home"}},{"name":"tmofans","domain":"https://lectortmo.com","database":null,"search":{"anime":null,"manga":"https://lectortmo.com/library?_pg=1&title={searchtermPlus}"}},{"name":"unionmangas","domain":"https://unionleitor.top","database":null,"search":{"anime":null,"manga":"home"}},{"name":"MangaPlus","domain":"https://mangaplus.shueisha.co.jp","database":"MangaPlus","search":{"anime":null,"manga":"https://mangaplus.shueisha.co.jp/search_result?keyword={searchterm}"}},{"name":"JapScan","domain":"https://www.japscan.ws","database":null,"search":{"anime":null,"manga":"home"}},{"name":"Goyabu","domain":"https://goyabu.com","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimesVision","domain":"https://animesvision.biz","database":null,"search":{"anime":"home","manga":null}},{"name":"Hulu","domain":"https://www.hulu.com","database":"Hulu","search":{"anime":"home","manga":null}},{"name":"Hidive","domain":"https://www.hidive.com","database":"Hidive","search":{"anime":"https://www.hidive.com/search?q={searchtermPlus}","manga":null}},{"name":"FallenAngels","domain":"https://manga.fascans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"Amazon Prime Video","domain":"https://www.primevideo.com","database":null,"search":{"anime":"home","manga":null}},{"name":"MangaKatana","domain":"http://mangakatana.com","database":null,"search":{"anime":null,"manga":"http://mangakatana.com/?search={searchtermPlus}&search_by=book_name"}},{"name":"manga4life","domain":"https://manga4life.com","database":null,"search":{"anime":null,"manga":"https://manga4life.com/search/?name={searchterm}"}},{"name":"bato","domain":"https://bato.to","database":null,"search":{"anime":null,"manga":"https://bato.to/search?word={searchtermPlus}"}},{"name":"DreamSub","domain":"https://dreamsub.cc","database":null,"search":{"anime":"https://dreamsub.cc/search/?q={searchtermPlus}","manga":null}},{"name":"MangaPark","domain":"https://mangapark.net","database":null,"search":{"anime":null,"manga":"https://mangapark.net/search?word={searchterm}"}},{"name":"AnimesHouse","domain":"https://animeshouse.net","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimeXin","domain":"https://animexin.xyz","database":null,"search":{"anime":"https://animexin.xyz/?s={searchtermPlus}","manga":null}},{"name":"MonosChinos","domain":"https://monoschinos2.com","database":null,"search":{"anime":"https://monoschinos2.com/search?q={searchtermPlus}","manga":null}},{"name":"AnimeFire","domain":"https://animefire.net","database":null,"search":{"anime":"home","manga":null}},{"name":"OtakuFR","domain":"https://otakufr.co","database":null,"search":{"anime":"https://otakufr.co/toute-la-liste-affiches/?q={searchtermPlus}","manga":null}},{"name":"Samehadaku","domain":"https://samehadaku.vip","database":null,"search":{"anime":"https://samehadaku.vip/?s={searchtermPlus}","manga":null}},{"name":"Tsuki Mangás","domain":"https://www.tsukimangas.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"mangatx","domain":"https://mangatx.com","database":null,"search":{"anime":null,"manga":"https://mangatx.com/?s={searchtermPlus}&post_type=wp-manga&post_type=wp-manga"}},{"name":"TRanimeizle","domain":"https://www.tranimeizle.net/","database":null,"search":{"anime":"home","manga":null}},{"name":"Anihub","domain":"https://anihub.tv","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimeStreamingFR","domain":"https://www.animestreamingfr.fr","database":null,"search":{"anime":"https://www.animestreamingfr.fr/anime?page=1&query={searchtermPlus}","manga":null}},{"name":"Scantrad","domain":"https://scantrad.net","database":null,"search":{"anime":null,"manga":"home"}},{"name":"Furyosquad","domain":"https://furyosquad.com/","database":null,"search":{"anime":null,"manga":"home"}},{"name":"AnimeId","domain":"https://www.animeid.tv","database":null,"search":{"anime":"home","manga":null}},{"name":"AniMixPlay","domain":"https://animixplay.to","database":"AniMixPlay","search":{"anime":"home","manga":null}},{"name":"MyAnimeList","domain":"https://myanimelist.net","database":null,"search":{"anime":"https://myanimelist.net/anime.php?q={searchterm}","manga":"https://myanimelist.net/manga.php?q={searchterm}"}},{"name":"AnimeSimple","domain":"https://ww1.animesimple.com","database":"AnimeSimple","search":{"anime":"home","manga":null}},{"name":"AnimeUnity","domain":"https://animeunity.it","database":null,"search":{"anime":"home","manga":null}},{"name":"MangaHere","domain":"http://www.mangahere.cc","database":null,"search":{"anime":null,"manga":"http://www.mangahere.cc/search?title={searchtermPlus}"}},{"name":"MangaFox","domain":"http://fanfox.net","database":"MangaFox","search":{"anime":null,"manga":"http://fanfox.net/search?title={searchtermPlus}"}},{"name":"JustAnime","domain":"https://justanime.app","database":null,"search":{"anime":"home","manga":null}},{"name":"YayAnimes","domain":"https://yayanimes.net","database":null,"search":{"anime":"https://yayanimes.net/?s={searchtermPlus}","manga":null}},{"name":"DesuOnline","domain":"https://desu-online.pl","database":null,"search":{"anime":"https://desu-online.pl/?s={searchtermPlus}","manga":null}},{"name":"Simplyaweeb","domain":"https://simplyaweeb.com","database":null,"search":{"anime":"home","manga":null}},{"name":"Animevibe","domain":"https://animevibe.wtf","database":null,"search":{"anime":"https://animevibe.wtf/search?q={searchtermPlus}","manga":null}},{"name":"WuxiaWorld","domain":"https://wuxiaworld.site","database":null,"search":{"anime":null,"manga":"https://wuxiaworld.site/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"AnimeOnDemand","domain":"https://www.anime-on-demand.de","database":null,"search":{"anime":"https://www.anime-on-demand.de/animes/?term={searchtermPlus}","manga":null}},{"name":"EdelgardeScans","domain":"https://edelgardescans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"HatigarmScanz","domain":"https://hatigarmscanz.net","database":null,"search":{"anime":null,"manga":"home"}},{"name":"LeviatanScans","domain":"https://leviatanscans.com","database":null,"search":{"anime":null,"manga":"https://leviatanscans.com/el/?s={searchtermPlus}"}},{"name":"MethodScans","domain":"https://methodscans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"NonamesScans","domain":"https://the-nonames.com","database":null,"search":{"anime":null,"manga":"https://the-nonames.com/comics?query={searchtermPlus}"}},{"name":"ReaperScans","domain":"https://reaperscans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"LynxScans","domain":"https://lynxscans.com","database":null,"search":{"anime":null,"manga":"https://lynxscans.com/comics?query={searchtermPlus}"}},{"name":"SKScans","domain":"https://skscans.com","database":null,"search":{"anime":null,"manga":"https://skscans.com/?s={searchtermPlus}"}},{"name":"ZeroScans","domain":"https://zeroscans.com","database":null,"search":{"anime":null,"manga":"https://zeroscans.com/comics?query={searchtermPlus}"}},{"name":"DeathTollScans","domain":"https://reader.deathtollscans.net","database":null,"search":{"anime":null,"manga":"home"}},{"name":"KireiCake","domain":"https://reader.kireicake.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"SenseScans","domain":"https://sensescans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"ManhuaPlus","domain":"https://manhuaplus.com","database":null,"search":{"anime":null,"manga":"https://manhuaplus.com/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"Readm","domain":"https://readm.org","database":null,"search":{"anime":null,"manga":"home"}},{"name":"tioanime","domain":"https://tioanime.com","database":null,"search":{"anime":"https://tioanime.com/directorio?q={searchtermPlus}","manga":null}},{"name":"YugenAnime","domain":"https://yugenani.me","database":"YugenAnime","search":{"anime":"https://yugenani.me/search/?q={searchtermPlus}","manga":null}},{"name":"MangaSee","domain":"https://mangasee123.com","database":"MangaSee","search":{"anime":null,"manga":"https://mangasee123.com/search/?name={searchterm}"}},{"name":"AnimeTribes","domain":"https://animetribes.ru","database":null,"search":{"anime":"home","manga":null}},{"name":"Okanime","domain":"https://okanime.tv","database":null,"search":{"anime":"https://okanime.tv/search?search={searchtermPlus}","manga":null}},{"name":"bs.to","domain":"https://bs.to","database":null,"search":{"anime":"home","manga":null}},{"name":"Pantsubase","domain":"https://pantsubase.tv","database":null,"search":{"anime":"https://pantsubase.tv/search?name={searchtermPlus}","manga":null}},{"name":"AnimeOwl","domain":"https://animeowl.net","database":null,"search":{"anime":"https://animeowl.net/?s={searchtermPlus}","manga":null}},{"name":"AsuraScans","domain":"https://asurascans.com","database":null,"search":{"anime":null,"manga":"https://www.asurascans.com/?s={searchtermPlus}"}},{"name":"NaniScans","domain":"https://naniscans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"MerakiScans","domain":"https://merakiscans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"Jellyfin","domain":"https://jellyfin.org/","database":null,"search":{"anime":"home","manga":null}},{"name":"An1me","domain":"https://an1me.nl","database":null,"search":{"anime":"https://an1me.nl/?s={searchtermPlus}&post_type=wp-manga","manga":null}},{"name":"MangaJar","domain":"https://mangajar.com","database":null,"search":{"anime":null,"manga":"https://mangajar.com/search?q={searchtermPlus}"}},{"name":"AnimeDao","domain":"https://animedao.to","database":null,"search":{"anime":"https://animedao.to/search/?search={searchtermPlus}","manga":null}},{"name":"Otakustv","domain":"https://www.otakustv.com","database":null,"search":{"anime":"https://www.otakustv.com/buscador.php?buscador={searchterm}","manga":null}},{"name":"Komga","domain":"https://komga.org","database":null,"search":{"anime":null,"manga":"home"}},{"name":"AnimeWho","domain":"https://animewho.com","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimeSuge","domain":"https://animesuge.io","database":null,"search":{"anime":"https://animesuge.io/search?keyword={searchtermPlus}","manga":null}},{"name":"Toonily","domain":"https://toonily.net","database":null,"search":{"anime":null,"manga":"https://toonily.net/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"Fumetsu","domain":"https://fumetsu.pl","database":null,"search":{"anime":"home","manga":null}},{"name":"NonstopScans","domain":"https://www.nonstopscans.com","database":null,"search":{"anime":null,"manga":"https://www.nonstopscans.com/?s={searchtermPlus}"}},{"name":"FrixySubs","domain":"https://frixysubs.pl","database":null,"search":{"anime":"home","manga":null}},{"name":"Guya & Cubari","domain":"https://guya.moe","database":null,"search":{"anime":null,"manga":"home"}},{"name":"MangaHub","domain":"https://mangahub.io","database":null,"search":{"anime":null,"manga":"https://mangahub.io/search?q={searchterm}"}},{"name":"ComicK","domain":"https://comick.fun","database":null,"search":{"anime":null,"manga":"https://comick.fun/search?q={searchterm}"}},{"name":"AnimeShitai","domain":"https://www.anime-shitai.com","database":null,"search":{"anime":"home","manga":null}},{"name":"KangaryuTeam","domain":"https://kangaryu-team.fr","database":null,"search":{"anime":null,"manga":"home"}},{"name":"Japanread","domain":"https://www.japanread.cc/","database":null,"search":{"anime":null,"manga":"https://www.japanread.cc/manga-list?q={searchterm}"}},{"name":"CatManga","domain":"https://catmanga.org","database":null,"search":{"anime":null,"manga":"home"}},{"name":"MangaSushi","domain":"https://mangasushi.net","database":null,"search":{"anime":null,"manga":"https://mangasushi.net/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"ArangScans","domain":"https://arangscans.com","database":null,"search":{"anime":null,"manga":"https://arangscans.com/?s={searchtermPlus}"}},{"name":"HunlightScans","domain":"https://hunlight-scans.info/","database":null,"search":{"anime":null,"manga":"https://hunlight-scans.info/comics?query={searchtermPlus}"}},{"name":"TritiniaScans","domain":"https://tritinia.com","database":null,"search":{"anime":null,"manga":"https://tritinia.com/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"ReadManhua","domain":"https://readmanhua.net","database":null,"search":{"anime":null,"manga":"https://readmanhua.net/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"FlameScans","domain":"https://flamescans.org","database":null,"search":{"anime":null,"manga":"https://flamescans.org/?s={searchtermPlus}"}},{"name":"ImmortalUpdates","domain":"https://immortalupdates.com","database":null,"search":{"anime":null,"manga":"https://immortalupdates.com/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"Zoro","domain":"https://zoro.to","database":"Zoro","search":{"anime":"https://zoro.to/search?keyword={searchtermPlus}","manga":null}},{"name":"Funimation","domain":"https://www.funimation.com","database":"Funimation","search":{"anime":"https://www.funimation.com/search/?q={searchterm}","manga":null}},{"name":"Kitsune","domain":"https://beta.kitsune.tv","database":null,"search":{"anime":"https://kitsune.tv/shows?q={searchterm}","manga":null}},{"name":"AnimesOnline","domain":"https://animesonline.org","database":null,"search":{"anime":"https://animesonline.org/?s={searchtermPlus}","manga":null}},{"name":"LHTranslation","domain":"https://lhtranslation.net","database":null,"search":{"anime":null,"manga":"home"}}]');
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return l;
        }));
        var o = n(27), r = n(110), s = n(257);
        class l extends r.a {
            constructor() {
                super(...arguments), this.reloadSync = !1;
            }
            openCorrectionCheck() {
                return this.state && this.state.similarity && this.state.similarity.same ? (t.log("similarity", this.state.similarity.value), 
                !1) : this.openCorrection(!0).then(() => this.changed);
            }
            openCorrection(t = !1) {
                return new Promise((e, r) => {
                    if (this.vueInstance && (this.vueInstance.$destroy(), !t)) return void e(!1);
                    const l = i.flashm('<div class="shadow"></div>', {
                        permanent: !0,
                        position: "top",
                        type: "correction"
                    });
                    l.find(".shadow").get(0).attachShadow({
                        mode: "open"
                    }).innerHTML = `\n        <style>\n          ${a.html(n(289).toString())}\n        </style>\n        <div id="correctionApp"></div>\n        `;
                    const c = l.find(".shadow").get(0).shadowRoot.querySelector("#correctionApp");
                    this.vueInstance = new o.a({
                        el: c,
                        data: () => ({
                            searchClass: this,
                            syncMode: t
                        }),
                        destroyed: () => {
                            e(this.changed), l.remove(), this.vueInstance = void 0;
                        },
                        render: t => t(s.a)
                    });
                });
            }
        }
    }).call(this, n(4), n(1), n(2));
}, function(t, e) {
    function n(t, e) {
        if (t = t.replace(/\s+/g, ""), e = e.replace(/\s+/g, ""), !t.length && !e.length) return 1;
        if (!t.length || !e.length) return 0;
        if (t === e) return 1;
        if (1 === t.length && 1 === e.length) return 0;
        if (t.length < 2 || e.length < 2) return 0;
        let n = new Map;
        for (let e = 0; e < t.length - 1; e++) {
            const i = t.substring(e, e + 2), a = n.has(i) ? n.get(i) + 1 : 1;
            n.set(i, a);
        }
        let i = 0;
        for (let t = 0; t < e.length - 1; t++) {
            const a = e.substring(t, t + 2), o = n.has(a) ? n.get(a) : 0;
            o > 0 && (n.set(a, o - 1), i++);
        }
        return 2 * i / (t.length + e.length - 2);
    }
    t.exports = {
        compareTwoStrings: n,
        findBestMatch: function(t, e) {
            if (!function(t, e) {
                return "string" == typeof t && (!!Array.isArray(e) && (!!e.length && !e.find(t => "string" != typeof t)));
            }(t, e)) throw new Error("Bad arguments: First argument should be a string, second should be an array of strings");
            const i = [];
            let a = 0;
            for (let o = 0; o < e.length; o++) {
                const r = e[o], s = n(t, r);
                i.push({
                    target: r,
                    rating: s
                }), s > i[a].rating && (a = o);
            }
            const o = i[a];
            return {
                ratings: i,
                bestMatch: o,
                bestMatchIndex: a
            };
        }
    };
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        function o(e, n) {
            const o = {
                id: e,
                type: n.toUpperCase()
            };
            return i.request.xhr("POST", {
                url: "https://graphql.anilist.co",
                headers: {
                    "Content-Type": "application/json",
                    Accept: "application/json"
                },
                data: JSON.stringify({
                    query: "\n  query ($id: Int, $type: MediaType) {\n    Media (id: $id, type: $type) {\n      id\n      idMal\n    }\n  }\n  ",
                    variables: o
                })
            }).then(e => {
                const n = JSON.parse(e.responseText);
                return a.log(n), function(e, n = !1) {
                    if (void 0 !== e.errors) for (let a = 0, o = e.errors.length; a < o; a++) {
                        const o = e.errors[a];
                        switch (o.status) {
                          case 400:
                            if (!n) return t.flashm(i.storage.lang("Anilist_Authenticate"), {
                                error: !0,
                                type: "error"
                            }), "noLogin";

                          case 404:
                            if (!n) {
                                t.flashm("anilist: " + o.message, {
                                    error: !0,
                                    type: "error"
                                });
                                break;
                            }

                          default:
                            throw n || t.flashm("anilist: " + o.message, {
                                error: !0,
                                type: "error"
                            }), o.message;
                        }
                    }
                }(n), n.data.Media.idMal;
            });
        }
        n.d(e, "a", (function() {
            return o;
        }));
    }).call(this, n(1), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return s;
        })), n.d(e, "b", (function() {
            return l;
        }));
        var o = n(24), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        function s() {
            return r(this, void 0, void 0, (function*() {
                const t = yield o.c(), e = {};
                for (const n in t) o.b("(anime|manga)").test(n) && (e[n] = t[n]);
                return e;
            }));
        }
        function l(e) {
            return r(this, void 0, void 0, (function*() {
                const n = yield o.c();
                for (const e in n) o.b("(anime|manga)").test(e) && (t.log("Remove", e), yield i.storage.remove(e).catch(t => {
                    if (t.message && t.message.includes("MAX_WRITE_OPERATIONS_PER_MINUTE")) return a.flashm("Max write operations per minute hit. Import stopped for 1 minute. Just keep this window open."), 
                    new Promise(t => {
                        setTimeout(() => {
                            t(i.storage.remove(e));
                        }, 6e4);
                    });
                    throw t;
                }));
                for (const n in e) t.log("Set", n, e[n]), yield i.storage.set(n, e[n]).catch(t => {
                    if (t.message && t.message.includes("MAX_WRITE_OPERATIONS_PER_MINUTE")) return a.flashm("Max write operations per minute hit. Import stopped for 1 minute. Just keep this window open."), 
                    new Promise(t => {
                        setTimeout(() => {
                            t(i.storage.set(n, e[n]));
                        }, 6e4);
                    });
                    throw t;
                });
                return 1;
            }));
        }
    }).call(this, n(4), n(0), n(1));
}, function(t, e) {
    var n, i, a = t.exports = {};
    function o() {
        throw new Error("setTimeout has not been defined");
    }
    function r() {
        throw new Error("clearTimeout has not been defined");
    }
    function s(t) {
        if (n === setTimeout) return setTimeout(t, 0);
        if ((n === o || !n) && setTimeout) return n = setTimeout, setTimeout(t, 0);
        try {
            return n(t, 0);
        } catch (e) {
            try {
                return n.call(null, t, 0);
            } catch (e) {
                return n.call(this, t, 0);
            }
        }
    }
    !function() {
        try {
            n = "function" == typeof setTimeout ? setTimeout : o;
        } catch (t) {
            n = o;
        }
        try {
            i = "function" == typeof clearTimeout ? clearTimeout : r;
        } catch (t) {
            i = r;
        }
    }();
    var l, c = [], d = !1, m = -1;
    function u() {
        d && l && (d = !1, l.length ? c = l.concat(c) : m = -1, c.length && p());
    }
    function p() {
        if (!d) {
            var t = s(u);
            d = !0;
            for (var e = c.length; e; ) {
                for (l = c, c = []; ++m < e; ) l && l[m].run();
                m = -1, e = c.length;
            }
            l = null, d = !1, function(t) {
                if (i === clearTimeout) return clearTimeout(t);
                if ((i === r || !i) && clearTimeout) return i = clearTimeout, clearTimeout(t);
                try {
                    i(t);
                } catch (e) {
                    try {
                        return i.call(null, t);
                    } catch (e) {
                        return i.call(this, t);
                    }
                }
            }(t);
        }
    }
    function h(t, e) {
        this.fun = t, this.array = e;
    }
    function g() {}
    a.nextTick = function(t) {
        var e = new Array(arguments.length - 1);
        if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
        c.push(new h(t, e)), 1 !== c.length || d || s(p);
    }, h.prototype.run = function() {
        this.fun.apply(null, this.array);
    }, a.title = "browser", a.browser = !0, a.env = {}, a.argv = [], a.version = "", 
    a.versions = {}, a.on = g, a.addListener = g, a.once = g, a.off = g, a.removeListener = g, 
    a.removeAllListeners = g, a.emit = g, a.prependListener = g, a.prependOnceListener = g, 
    a.listeners = function(t) {
        return [];
    }, a.binding = function(t) {
        throw new Error("process.binding is not supported");
    }, a.cwd = function() {
        return "/";
    }, a.chdir = function(t) {
        throw new Error("process.chdir is not supported");
    }, a.umask = function() {
        return 0;
    };
}, function(t, e, n) {
    (function(t) {
        var i = void 0 !== t && t || "undefined" != typeof self && self || window, a = Function.prototype.apply;
        function o(t, e) {
            this._id = t, this._clearFn = e;
        }
        e.setTimeout = function() {
            return new o(a.call(setTimeout, i, arguments), clearTimeout);
        }, e.setInterval = function() {
            return new o(a.call(setInterval, i, arguments), clearInterval);
        }, e.clearTimeout = e.clearInterval = function(t) {
            t && t.close();
        }, o.prototype.unref = o.prototype.ref = function() {}, o.prototype.close = function() {
            this._clearFn.call(i, this._id);
        }, e.enroll = function(t, e) {
            clearTimeout(t._idleTimeoutId), t._idleTimeout = e;
        }, e.unenroll = function(t) {
            clearTimeout(t._idleTimeoutId), t._idleTimeout = -1;
        }, e._unrefActive = e.active = function(t) {
            clearTimeout(t._idleTimeoutId);
            var e = t._idleTimeout;
            e >= 0 && (t._idleTimeoutId = setTimeout((function() {
                t._onTimeout && t._onTimeout();
            }), e));
        }, n(288), e.setImmediate = "undefined" != typeof self && self.setImmediate || void 0 !== t && t.setImmediate || this && this.setImmediate, 
        e.clearImmediate = "undefined" != typeof self && self.clearImmediate || void 0 !== t && t.clearImmediate || this && this.clearImmediate;
    }).call(this, n(88));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return a;
        }));
        var i = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const a = {
            set(t, e) {
                return i(this, void 0, void 0, (function*() {
                    GM_setValue(t, e);
                }));
            },
            get(t) {
                return i(this, void 0, void 0, (function*() {
                    return GM_getValue(t);
                }));
            },
            remove(t) {
                return i(this, void 0, void 0, (function*() {
                    GM_deleteValue(t);
                }));
            },
            list() {
                return i(this, void 0, void 0, (function*() {
                    const e = {};
                    return t.$.each(GM_listValues(), (function(t, n) {
                        e[n] = t;
                    })), e;
                }));
            },
            addStyle(t) {
                return i(this, void 0, void 0, (function*() {
                    GM_addStyle(t);
                }));
            },
            version: () => GM_info.script.version,
            lang(t, e) {
                let n = i18n[t];
                if (void 0 !== e) for (let t = 0; t < e.length; t++) n = n.replace("$" + (t + 1), e[t]);
                return n;
            },
            assetUrl: t => "https://raw.githubusercontent.com/MALSync/MALSync/master/assets/assets/" + t,
            injectCssResource(e, n) {
                n.append(t.$("<style>").attr("rel", "stylesheet").attr("type", "text/css").html(GM_getResourceText(e)));
            },
            injectjsResource(t, e) {
                const n = document.createElement("script");
                n.text = GM_getResourceText(t), n.onload = function() {
                    this.remove();
                }, e.get(0).appendChild(n);
            },
            updateDom(t) {
                const e = document.createElement("script");
                e.text = "\n        document.getElementsByTagName('head')[0].onclick = function(e){\n          try{\n            componentHandler.upgradeDom();\n          }catch(e){\n            console.log(e);\n            setTimeout(function(){\n              componentHandler.upgradeDom();\n            },500);\n          }\n        }", 
                e.onload = function() {
                    this.remove();
                }, t.get(0).appendChild(e);
            },
            storageOnChanged(t) {}
        };
    }).call(this, n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return r;
        }));
        var a = n(99), o = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const r = {
            xhr(e, n) {
                return o(this, void 0, void 0, (function*() {
                    return new Promise((a, o) => {
                        const s = {
                            method: e,
                            url: n,
                            synchronous: !1,
                            headers: {},
                            data: null,
                            onload(o) {
                                if (console.log(o), 429 === o.status) return t.error("RATE LIMIT"), i.storage.set("rateLimit", !0), 
                                void setTimeout(() => {
                                    i.storage.set("rateLimit", !1), a(r.xhr(e, n));
                                }, 1e4);
                                const s = {
                                    finalUrl: o.finalUrl,
                                    responseText: o.responseText,
                                    status: o.status
                                };
                                a(s);
                            }
                        };
                        "object" == typeof n && (s.url = n.url, s.headers = n.headers, s.data = n.data), 
                        s.url.includes("malsync.moe") && (s.headers.version = i.storage.version(), s.headers.type = "userscript"), 
                        GM_xmlhttpRequest(s);
                    });
                }));
            },
            notification(t) {
                var e;
                GM_notification({
                    title: t.title,
                    text: t.text,
                    image: null !== (e = t.image) && void 0 !== e ? e : a.a,
                    timeout: t.sticky ? 0 : 10,
                    onclick: () => {
                        window.open(t.url, "_blank");
                    }
                });
            }
        };
    }).call(this, n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return i;
        }));
        const i = "https://raw.githubusercontent.com/MALSync/MALSync/master/assets/icons/icon128.png";
    }).call(this, n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return r;
        }));
        var o = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const r = {
            options: {
                autoTrackingModeanime: "video",
                autoTrackingModemanga: "instant",
                enablePages: {},
                forceEn: !1,
                rpc: !0,
                presenceHidePage: !1,
                presenceShowButtons: !0,
                userscriptModeButton: !1,
                syncMode: "MAL",
                syncModeSimkl: "MAL",
                localSync: !0,
                delay: 0,
                videoDuration: 85,
                malTags: !1,
                malContinue: !0,
                malResume: !0,
                usedPage: !0,
                epPredictions: !0,
                theme: "auto",
                minimalWindow: !1,
                posLeft: "left",
                miniMALonMal: !1,
                floatButtonStealth: !1,
                minimizeBigPopup: !1,
                floatButtonCorrection: !1,
                floatButtonHide: !1,
                autoCloseMinimal: !1,
                outWay: !0,
                miniMalWidth: "500px",
                miniMalHeight: "90%",
                malThumbnail: 100,
                friendScore: !0,
                loadPTWForProgress: !1,
                quicklinks: [ "9anime", "Crunchyroll", "Gogoanime", "Twistmoe", "Mangadex", "MangaNato", "AnimeSimple", "animepahe", "MangaFox", "MangaSee", "YugenAnime", "AniMixPlay", "Zoro", "Funimation", "Hulu", "Netflix", "AnimeLab", "Hidive", "Vrv", "VIZ", "MangaPlus" ],
                autofull: !1,
                autoresume: !1,
                autoNextEp: !1,
                highlightAllEp: !1,
                checkForFiller: !0,
                introSkip: 85,
                introSkipFwd: [ 17, 39 ],
                introSkipBwd: [ 17, 37 ],
                nextEpShort: [],
                correctionShort: [ 67 ],
                syncShort: [],
                progressInterval: 120,
                progressIntervalDefaultAnime: "en/sub",
                progressIntervalDefaultManga: "en/sub",
                progressNotifications: !0,
                updateCheckNotifications: !0,
                bookMarksList: !1,
                customDomains: [],
                anilistToken: "",
                anilistOptions: {
                    displayAdultContent: !0,
                    scoreFormat: "POINT_10"
                },
                kitsuToken: "",
                kitsuOptions: {
                    titleLanguagePreference: "canonical",
                    sfwFilter: !1,
                    ratingSystem: "regular"
                },
                simklToken: "",
                malToken: "",
                malRefresh: ""
            },
            init() {
                return o(this, void 0, void 0, (function*() {
                    for (const e in this.options) {
                        const n = yield t.storage.get("settings/" + e);
                        void 0 !== n && (this.options[e] = n);
                    }
                    return i.log("Settings", this.options), t.storage.storageOnChanged((t, e) => {
                        if ("sync" === e) for (const e in t) {
                            const n = t[e];
                            /^settings\//i.test(e) && (this.options[e.replace("settings/", "")] = n.newValue, 
                            i.info(`Update ${e} option to ${n.newValue}`));
                        }
                        if ("local" === e && t.rateLimit) try {
                            t.rateLimit.newValue ? (i.log("Rate limited"), a.flashm("Rate limited. Retrying in a moment", {
                                error: !0,
                                type: "rate",
                                permanent: !0
                            })) : (i.log("No Rate limited"), $(".type-rate").remove());
                        } catch (t) {
                            i.error(t);
                        }
                    }), this;
                }));
            },
            get(t) {
                return this.options[t];
            },
            set(e, n) {
                if (!Object.prototype.hasOwnProperty.call(this.options, e)) {
                    const t = Error(e + " is not a defined option");
                    throw i.error(t), t;
                }
                return this.options[e] = n, t.storage.set("settings/" + e, n);
            },
            getAsync(e) {
                return o(this, void 0, void 0, (function*() {
                    const n = yield t.storage.get("settings/" + e);
                    return void 0 === n && void 0 !== this.options[e] ? this.options[e] : n;
                }));
            }
        };
    }).call(this, n(0), n(4), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return b;
        }));
        var r = n(19), s = n(104), l = n(105), c = n(40), d = n(91), m = n(23), u = n(14), p = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        let h = "agnaejlkbiiggajjmnpmeheigkflbnoo";
        "undefined" != typeof browser && "undefined" != typeof chrome && (h = "{57081fef-67b4-482f-bcb0-69296e63ec4f}");
        const g = t.m("Sync", "#348fff");
        let f, v;
        class b {
            constructor(t, e, n = (() => {
                throw "No click handling found";
            })) {
                if (this.url = t, this.pages = e, this.floatClick = n, this.novel = !1, this.strongVolumes = !1, 
                this.autoNextEpRun = !1, this.curState = void 0, this.tempPlayer = void 0, this.UILoaded = !1, 
                this.browsingtime = Date.now(), this.page = this.getPage(t), null === this.page) throw new Error("Page could not be recognized");
                if (this.domainSet(), g.log("Page", this.page.name), void 0 !== i.settings.get("enablePages")[this.page.name] && !i.settings.get("enablePages")[this.page.name]) throw g.info("Sync is disabled for this page", this.page.name), 
                "Stop Script";
                m.a.on("syncPage_fillUi", () => this.fillUI());
            }
            init() {
                const t = this;
                if (a.$(document).ready((function() {
                    Object(s.a)(t, t.floatClick);
                })), this.testForCloudflare()) return g.log("loading"), void this.cdn();
                if (this.page.init(this), "webextension" === i.type) try {
                    chrome.runtime.onMessage.addListener((t, e, n) => {
                        this.presence(t, e, n);
                    });
                } catch (t) {
                    g.error(t);
                }
            }
            getPage(t) {
                if (this.pages.type) return this.pages;
                for (const n in this.pages) {
                    const i = this.pages[n];
                    if (a.$.isArray(i.domain)) {
                        let t;
                        if (i.domain.forEach(n => {
                            e(n) && (i.domain = n, t = i);
                        }), t) return t;
                    } else if (e(i.domain)) return i;
                    function e(e) {
                        return t.indexOf(o.urlPart(e, 2).replace(".com.br", ".br").split(".").slice(-2, -1)[0] + ".") > -1;
                    }
                }
                return null;
            }
            domainSet() {
                this.page.domain = new URL(window.location.href).origin;
            }
            openNextEp() {
                if (void 0 === this.page.sync.nextEpUrl) o.flashm(i.storage.lang("nextEpShort_no_support"), {
                    error: !0,
                    type: "EpError"
                }); else {
                    if (this.page.isSyncPage(this.url)) {
                        const t = this.page.sync.nextEpUrl(this.url);
                        if (t) return void (window.location.href = t);
                    }
                    o.flashm(i.storage.lang("nextEpShort_no_nextEp"), {
                        error: !0,
                        type: "EpError"
                    });
                }
            }
            setVideoTime(t, e) {
                this.resetPlayerError();
                const n = i.settings.get("videoDuration"), o = t.current / (t.duration * (n / 100)) * 100;
                a.$("#malSyncProgress").length && (o < 100 ? (a.$(".ms-progress").css("width", o + "%"), 
                a.$("#malSyncProgress").removeClass("ms-loading").removeClass("ms-done")) : (a.$("#malSyncProgress").addClass("ms-done"), 
                a.$(".flash.type-update .sync").click())), this.handleVideoResume(t, e), this.autoNextEp(t);
            }
            autoNextEp(t) {
                i.settings.get("autoNextEp") && !this.autoNextEpRun && t.current === t.duration && (this.autoNextEpRun = !0, 
                this.openNextEp());
            }
            handleVideoResume(t, e) {
                if (void 0 === this.curState || void 0 === this.curState.identifier || void 0 === this.curState.episode) return;
                const n = this, r = `${this.curState.identifier}/${this.curState.episode}`;
                if (this.curState.lastVideoTime = t, void 0 !== this.curState.videoChecked && this.curState.videoChecked) this.curState.videoChecked > 1 && t.current > 10 && (g.debug("Set Resume", t.current), 
                localStorage.setItem(r, t.current), this.curState.videoChecked = !0, setTimeout(() => {
                    this.curState.videoChecked = 2;
                }, 1e4)); else {
                    const s = localStorage.getItem(r);
                    if (g.info("Resume", s), null !== s && parseInt(s) - 30 > t.current && parseInt(s) > 30) {
                        a.$("#MALSyncResume").length || a.$("#MALSyncResume").parent().parent().remove();
                        const r = Math.round(parseInt(s));
                        let l = "";
                        if (i.settings.get("autoresume") && t.duration - r > .1 * t.duration) return e(r), 
                        void (n.curState.videoChecked = 2);
                        let c = r;
                        const d = Math.floor(c / 60);
                        c -= 60 * d;
                        let m = "" + c;
                        for (;m.length < 2; ) m = "0" + m;
                        l = `${d}:${m}`;
                        const u = o.flashm(`<button id="MALSyncResume" class="sync" style="margin-bottom: 2px; background-color: transparent; border: none; color: rgb(255,64,129);cursor: pointer;">${i.storage.lang("syncPage_flashm_resumeMsg", [ l ])}</button><br><button class="resumeClose" style="background-color: transparent; border: none; color: white;margin-top: 10px;cursor: pointer;">Close</button>`, {
                            permanent: !0,
                            error: !1,
                            type: "resume",
                            minimized: !1,
                            position: "top"
                        });
                        u.find(".sync").on("click", (function() {
                            e(r), n.curState.videoChecked = 2, a.$(this).parent().parent().remove();
                        })), u.find(".resumeClose").on("click", (function() {
                            n.curState.videoChecked = 2, a.$(this).parent().parent().remove();
                        }));
                    } else setTimeout(() => {
                        this.curState.videoChecked = 2;
                    }, 15e3);
                    this.curState.videoChecked = !0;
                }
            }
            reset() {
                this.url = window.location.href, this.UILoaded = !1, this.curState = void 0, $("#flashinfo-div, #flash-div-bottom, #flash-div-top, #malp").remove();
            }
            handlePage(t = window.location.href) {
                return p(this, void 0, void 0, (function*() {
                    let e;
                    this.resetPlayerError(), this.curState = void 0, this.searchObj = void 0;
                    const n = this;
                    let s;
                    if (this.url = t, this.browsingtime = Date.now(), this.page.isSyncPage(this.url)) this.loadUI(), 
                    e = {
                        on: "SYNC",
                        title: this.page.sync.getTitle(this.url),
                        identifier: this.page.sync.getIdentifier(this.url),
                        detectedEpisode: parseInt("" + this.page.sync.getEpisode(this.url))
                    }, this.searchObj = new d.a(e.title, this.novel ? "novel" : this.page.type, e.identifier), 
                    this.searchObj.setPage(this.page), this.searchObj.setSyncPage(this), this.searchObj.setLocalUrl(this.generateLocalUrl(this.page, e)), 
                    this.curState = e, yield this.searchObj.search(), s = yield this.searchObj.initRules(), 
                    e.detectedEpisode || 0 === e.detectedEpisode ? e.episode = e.detectedEpisode + parseInt(this.searchObj.getRuledOffset(e.detectedEpisode)) : "anime" === this.page.type ? e.episode = 1 : e.episode = 0, 
                    void 0 !== this.page.sync.getVolume && (e.volume = this.page.sync.getVolume(this.url)), 
                    "anime" === this.page.type && Object(c.b)((t, e) => {
                        this.tempPlayer = e, this.setVideoTime(t, t => {
                            void 0 !== e ? void 0 !== t && (e.play(), e.currentTime = t) : g.error("No player Found");
                        });
                    }), g.m("Sync", "green").log(e); else {
                        if (void 0 === this.page.overview) return void g.log("No overview definition");
                        if (void 0 !== this.page.isOverviewPage && !this.page.isOverviewPage(this.url)) return void g.info("Not an overview/sync page");
                        this.loadUI(), e = {
                            on: "OVERVIEW",
                            title: this.page.overview.getTitle(this.url),
                            identifier: this.page.overview.getIdentifier(this.url)
                        }, this.searchObj = new d.a(e.title, this.novel ? "novel" : this.page.type, e.identifier), 
                        this.searchObj.setPage(this.page), this.searchObj.setSyncPage(this), this.searchObj.setLocalUrl(this.generateLocalUrl(this.page, e)), 
                        this.curState = e, yield this.searchObj.search(), s = yield this.searchObj.initRules(), 
                        g.m("Overview", "green").log(e);
                    }
                    this.curState = e;
                    let m = this.searchObj.getRuledUrl(e.detectedEpisode);
                    const u = this.generateLocalUrl(this.page, e);
                    if (null !== m && m || !i.settings.get("localSync") || (g.log("Local Fallback"), 
                    m = u), null === m) a.$("#MalInfo").text(i.storage.lang("Not_Found")), a.$("#MalData").css("display", "none"), 
                    g.log("Not on mal"); else if (m) {
                        g.log("MyAnimeList", m);
                        try {
                            s ? this.singleObj = s : (this.singleObj = Object(r.b)(m), yield this.singleObj.update());
                        } catch (t) {
                            if (901 === t.code) throw o.flashm("Incorrect url provided", {
                                error: !0,
                                type: "error"
                            }), t;
                            if (904 !== t.code || !i.settings.get("localSync")) throw this.singleObj.flashmError(t), 
                            this.fillUI(), t;
                            g.log("Local Fallback"), this.singleObj = Object(r.b)(u), yield this.singleObj.update();
                        }
                        if ("webextension" === i.type && i.settings.get("rpc")) try {
                            chrome.runtime.sendMessage(h, {
                                mode: "active"
                            }, (function(t) {
                                g.log("Presence registred", t);
                            }));
                        } catch (t) {
                            g.error(t);
                        }
                        if (this.fillUI(), this.page.isSyncPage(this.url)) {
                            if (yield this.searchObj.openCorrectionCheck()) return void this.handlePage(t);
                            if (yield this.singleObj.checkSync(e.episode, e.volume)) {
                                if (this.strongVolumes && !e.episode || this.singleObj.setEpisode(e.episode), this.singleObj.setStreamingUrl(this.page.sync.getOverviewUrl(this.url)), 
                                void 0 !== e.volume && e.volume > this.singleObj.getVolume() && this.singleObj.setVolume(e.volume), 
                                g.log(`Start Sync (${i.settings.get("delay")} Seconds)`), this.singleObj.getMalId() && "anime" === this.singleObj.getType() && i.settings.get("checkForFiller") && this.checkForFiller(this.singleObj.getMalId(), this.singleObj.getEpisode()), 
                                "instant" === i.settings.get("autoTrackingMode" + this.page.type)) setTimeout(() => {
                                    p();
                                }, 1e3 * i.settings.get("delay")); else {
                                    let t = `<button class="sync" style="margin-bottom: 8px; background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px;cursor: pointer;">${i.storage.lang("syncPage_flashm_sync_" + n.page.type, [ Object(l.a)(m).shortName, String(e.episode) ])}</button>`, r = {
                                        hoverInfo: !0,
                                        error: !0,
                                        type: "update",
                                        minimized: !1
                                    };
                                    "video" === i.settings.get("autoTrackingMode" + this.page.type) && "anime" === this.page.type && (t = `\n                <div id="malSyncProgress" class="ms-loading" style="background-color: transparent; position: absolute; top: 0; left: 0; right: 0; height: 4px;">\n                  <div class="ms-progress" style="background-color: #2980b9; width: 0%; height: 100%; transition: width 1s;"></div>\n                </div>\n                <div class="player-error" style="display: none; position: absolute; left: 0; right: 0; padding: 5px; bottom: 100%; color: rgb(255,64,129); background-color: #323232;">\n                  ${i.storage.lang("syncPage_flash_player_error")}\n                  <a href="https://discord.com/invite/cTH4yaw" style="display: block; padding: 10px">Help</a>\n                </div>\n              ${t}`, 
                                    r = {
                                        hoverInfo: !0,
                                        error: !1,
                                        type: "update",
                                        minimized: !0
                                    }), o.flashm(t, r).find(".sync").on("click", () => {
                                        a.$(".flashinfo").remove(), p(), this.resetPlayerError();
                                    }), v = setTimeout(() => {
                                        a.$("#flashinfo-div").addClass("player-error");
                                    }, 3e5), g.log("overviewUrl", n.page.sync.getOverviewUrl(n.url)), void 0 !== n.page.sync.nextEpUrl && g.log("nextEp", n.page.sync.nextEpUrl(n.url));
                                }
                                function p() {
                                    if (n.singleObj.setResumeWatching(n.url, e.episode), void 0 !== n.page.sync.nextEpUrl) {
                                        const t = n.page.sync.nextEpUrl(n.url);
                                        t && -1 === t.indexOf("undefined") && n.singleObj.setContinueWatching(t, e.episode + 1);
                                    }
                                    n.syncHandling(!0);
                                }
                            } else g.log("Nothing to Sync");
                        }
                        yield this.imageFallback();
                    } else a.$("#MalInfo").text(i.storage.lang("NothingFound")), a.$("#MalData").css("display", "none"), 
                    g.log("Nothing found");
                }));
            }
            resetPlayerError() {
                v && (clearTimeout(v), v = void 0, a.$("#flashinfo-div").removeClass("player-error"));
            }
            generateLocalUrl(t, e) {
                return `local://${t.name}/${t.type}/${e.identifier}/${encodeURIComponent(e.title)}`;
            }
            openCorrectionUi() {
                if (this.searchObj) return this.searchObj.openCorrection().then(t => {
                    t && this.handlePage();
                });
            }
            syncHandling(t = !1, e = !1) {
                let n;
                return n = e ? this.singleObj.undo() : this.singleObj.sync(), n.then(() => {
                    let e = this.singleObj.getTitle(), n = "<br>", a = this.singleObj.getTotalVolumes();
                    0 === a && (a = "?");
                    let r = this.singleObj.getTotalEpisodes();
                    0 === r && (r = "?");
                    let s = this.singleObj.getStateDiff();
                    if (s || (s = {
                        onList: this.singleObj.isOnList(),
                        episode: this.singleObj.getEpisode(),
                        volume: this.singleObj.getVolume(),
                        status: this.singleObj.getStatus(),
                        score: this.singleObj.getScore()
                    }), void 0 === s.onList && (s.onList = !0), s.onList && s.status) {
                        let t = "";
                        switch (parseInt(s.status)) {
                          case 1:
                            t = i.storage.lang("UI_Status_watching_" + this.page.type);
                            break;

                          case 2:
                            t = i.storage.lang("UI_Status_Completed");
                            break;

                          case 3:
                            t = i.storage.lang("UI_Status_OnHold");
                            break;

                          case 4:
                            t = i.storage.lang("UI_Status_Dropped");
                            break;

                          case 6:
                            t = i.storage.lang("UI_Status_planTo_" + this.page.type);
                            break;

                          case 23:
                            t = i.storage.lang("UI_Status_Rewatching_" + this.page.type);
                        }
                        e += n + t, n = " | ";
                    }
                    if (s.onList || (e += n + i.storage.lang("removed"), n = " | "), s.onList && "manga" === this.page.type && s.volume && (e += `${n + i.storage.lang("UI_Volume")} ${s.volume}/${a}`, 
                    n = " | "), s.onList && s.episode && (e += `${n + o.episode(this.page.type)} ${s.episode}/${r}`, 
                    n = " | "), s.onList && s.score && (e += `${n + i.storage.lang("UI_Score")} ${s.score}`, 
                    n = " | "), t) {
                        this.fullNotification(e), e += `\n            <br>\n            <button class="undoButton" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px;cursor: pointer;">\n              ${i.storage.lang("syncPage_flashm_sync_undefined_undo")}\n            </button>\n            <button class="wrongButton" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px;cursor: pointer;">\n              ${i.storage.lang("syncPage_flashm_sync_undefined_wrong")}\n            </button>`;
                        const t = o.flashm(e, {
                            hoverInfo: !0,
                            type: "update"
                        });
                        t.find(".undoButton").on("click", t => {
                            const e = t.target.closest(".flash");
                            e && e.remove(), this.syncHandling(!1, !0);
                        }), t.find(".wrongButton").on("click", t => {
                            this.openCorrectionUi();
                            const e = t.target.closest(".flash");
                            e && e.remove(), this.syncHandling(!1, !0);
                        });
                    } else o.flashm(e);
                    this.fillUI();
                }).catch(t => {
                    throw this.singleObj.flashmError(t), t;
                });
            }
            fullNotification(t) {
                try {
                    Object(c.a)(t), "webextension" === i.type && chrome.runtime.sendMessage({
                        name: "content",
                        item: {
                            action: "fullscreenNotification",
                            text: t
                        }
                    });
                } catch (t) {
                    g.error(t);
                }
            }
            fillUI() {
                if (a.$(".MalLogin").css("display", "initial"), a.$("#AddMalDiv, #LoginMalDiv").remove(), 
                a.$("#malRating").attr("href", this.singleObj.getDisplayUrl()), this.singleObj.getLastError()) return a.$(".MalLogin").css("display", "none"), 
                a.$("#MalData").css("display", "flex"), a.$("#MalInfo").text(""), void a.$("#malRating").after(a.html(`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span id='LoginMalDiv'>${this.singleObj.getLastErrorMessage()}</span>`));
                let t = "";
                this.singleObj.getScoreCheckbox().forEach(e => {
                    t += `<option value="${e.value}" >${e.label}</option>`;
                }), a.$("#malUserRating").html(a.html(t));
                let e = "";
                if (this.singleObj.getStatusCheckbox().forEach(t => {
                    e += `<option value="${t.value}" >${t.label}</option>`;
                }), a.$("#malStatus").html(a.html(e)), this.singleObj.getRating().then(t => {
                    a.$("#malRating").text(t);
                }), this.singleObj.isOnList()) a.$("#malTotal, #malTotalCha").text(this.singleObj.getTotalEpisodes()), 
                0 === this.singleObj.getTotalEpisodes() && a.$("#malTotal, #malTotalCha").text("?"), 
                a.$("#malTotalVol").text(this.singleObj.getTotalVolumes()), 0 === this.singleObj.getTotalVolumes() && a.$("#malTotalVol").text("?"), 
                a.$("#malEpisodes").val(this.singleObj.getEpisode()), a.$("#malVolumes").val(this.singleObj.getVolume()), 
                a.$("#malStatus").val(this.singleObj.getStatusCheckboxValue()), a.$("#malUserRating").val(this.singleObj.getScoreCheckboxValue()); else {
                    a.$(".MalLogin").css("display", "none"), a.$("#malRating").after(a.html(`<span id='AddMalDiv'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='#' id='AddMal' onclick='return false;'>${i.storage.lang("syncPage_malObj_addAnime", [ this.singleObj.shortName ])}</a></span>`));
                    const t = this;
                    a.$("#AddMal").click((function(e) {
                        return p(this, void 0, void 0, (function*() {
                            e.preventDefault(), t.page.isSyncPage(t.url) || t.singleObj.setStreamingUrl(t.url);
                            (yield t.searchObj.openCorrectionCheck()) ? t.handlePage() : t.syncHandling().then(() => t.singleObj.update()).then(() => {
                                t.fillUI();
                            });
                        }));
                    }));
                }
                a.$("#MalData").css("display", "flex"), a.$("#MalInfo").text(""), this.calcSelectWidth(a.$("#malEpisodes, #malVolumes, #malUserRating, #malStatus")), 
                a.$("#malEpisodes, #malVolumes").trigger("input");
                try {
                    this.handleList(!0);
                } catch (t) {
                    g.error(t);
                }
            }
            handleList(t = !1, e = 0) {
                if (a.$(".mal-sync-active").removeClass("mal-sync-active"), void 0 !== this.page.overview && void 0 !== this.page.overview.list) {
                    const n = this.getEpList();
                    if (void 0 !== n && n.length > 0) {
                        this.offsetHandler(n);
                        const {elementUrl: r} = this.page.overview.list;
                        g.log("Episode List", a.$.map(n, (function(t, e) {
                            return void 0 !== t ? r(t) : "-";
                        }))), void 0 !== this.page.overview.list.handleListHook && this.page.overview.list.handleListHook(this.singleObj.getEpisode(), n);
                        const s = n[parseInt(this.singleObj.getEpisode() || 1)];
                        if (void 0 === s && !s && t && e < 10 && void 0 !== this.page.overview.list.paginationNext) {
                            g.log("Pagination next");
                            const t = this;
                            this.page.overview.list.paginationNext(!1) && setTimeout((function() {
                                e++, t.handleList(!0, e);
                            }), 500);
                        }
                        const l = n[this.singleObj.getEpisode() + 1];
                        if (void 0 !== l && l && !this.page.isSyncPage(this.url)) {
                            const t = `<a href="${r(l)}">${i.storage.lang("syncPage_malObj_nextEp_" + this.page.type, [ this.singleObj.getEpisode() + 1 ])}</a>`;
                            o.flashm(t, {
                                hoverInfo: !0,
                                type: "nextEp",
                                minimized: !0
                            });
                        }
                    }
                }
            }
            getEpList() {
                const t = this, e = [];
                if (void 0 !== this.page.overview && void 0 !== this.page.overview.list) {
                    const {elementEp: n} = this.page.overview.list;
                    let o = 0;
                    this.singleObj && (o = parseInt(this.singleObj.getEpisode())), this.page.overview.list.elementsSelector().each((function(r, s) {
                        try {
                            const r = parseInt("" + n(a.$(s))) + parseInt(t.getOffset());
                            e[r] = a.$(s), (i.settings.get("highlightAllEp") && r <= o || r === o) && a.$(s).addClass("mal-sync-active");
                        } catch (t) {
                            g.info(t);
                        }
                    }));
                }
                return e;
            }
            offsetHandler(t) {
                if (this.page.overview.list.offsetHandler && !this.getOffset() && this.searchObj && "user" !== this.searchObj.provider) for (let e = 0; e < t.length; ++e) if (void 0 !== t[e]) {
                    if (g.log("Offset", e), e > 1) {
                        const t = 1 - e;
                        o.flashConfirm(i.storage.lang("syncPage_flashConfirm_offsetHandler_1", [ String(t) ]), "offset", () => {
                            this.setOffset(t);
                        }, () => {
                            this.setOffset(0);
                        }, !0);
                    }
                    return;
                }
            }
            imageFallback() {
                return p(this, void 0, void 0, (function*() {
                    if (this.singleObj && void 0 !== this.singleObj.setImage && this.page.getImage) {
                        const t = yield this.page.getImage();
                        t && this.singleObj.setImage(t);
                    }
                }));
            }
            testForCloudflare() {
                return "Just a moment..." === document.title || -1 !== document.title.indexOf("Cloudflare");
            }
            cdn(t = "default") {
                i.storage.addStyle("\n      .bubbles {\n        display: none !important;\n      }\n      div#cf-content:before {\n        content: '';\n        background-image: url(https://raw.githubusercontent.com/MALSync/MALSync/master/assets/icons/icon128.png);\n        height: 64px;\n        width: 64px;\n        display: block;\n        background-size: cover;\n        animation: rotate 3s linear infinite;\n        background-color: #251e2b;\n        border-radius: 50%;\n      }\n      @keyframes rotate{ to{ transform: rotate(360deg); } }\n    ");
            }
            getOffset() {
                return this.searchObj && this.searchObj.getOffset() ? this.searchObj.getOffset() : 0;
            }
            setOffset(t) {
                return p(this, void 0, void 0, (function*() {
                    this.searchObj && this.searchObj.setOffset(t), void 0 !== this.singleObj && i.storage.remove(`updateCheck/${this.singleObj.getType()}/${this.singleObj.getCacheKey()}`);
                }));
            }
            loadUI() {
                const t = this;
                if (this.UILoaded) return;
                this.UILoaded = !0;
                let e = '<span style="display: inline-block;">';
                let n = '<p id="malp">';
                n += `<span id="MalInfo">${i.storage.lang("Loading")}</span>`, n += '<span id="MalData" style="display: none; justify-content: space-between; flex-wrap: wrap;">', 
                n += e, n += `<span class="info">${i.storage.lang("search_Score")} </span>`, n += '<a id="malRating" style="min-width: 30px;display: inline-block;" target="_blank" href="">____</a>', 
                n += "</span>", e = '<span style="display: inline-block; display: none;" class="MalLogin">', 
                n += e, n += `<span class="info">${i.storage.lang("UI_Status")} </span>`, n += '<select id="malStatus">', 
                n += "</select>", n += "</span>";
                let o = "";
                "anime" === this.page.type ? (o += e, o += `<span class="info">${i.storage.lang("UI_Episode")} </span>`, 
                o += '<span style=" text-decoration: none; outline: medium none;">', o += '<input id="malEpisodes" value="0" type="text" size="1" maxlength="4">', 
                o += '/<span id="malTotal">0</span>', o += "</span>", o += "</span>") : (o += e, 
                o += `<span class="info">${i.storage.lang("UI_Volume")} </span>`, o += '<span style=" text-decoration: none; outline: medium none;">', 
                o += '<input id="malVolumes" value="0" type="text" size="1" maxlength="4">', o += '/<span id="malTotalVol">0</span>', 
                o += "</span>", o += "</span>", o += e, o += `<span class="info">${i.storage.lang("UI_Chapter")} </span>`, 
                o += '<span style=" text-decoration: none; outline: medium none;">', o += '<input id="malEpisodes" value="0" type="text" size="1" maxlength="4">', 
                o += '/<span id="malTotalCha">0</span>', o += "</span>", o += "</span>"), n += o, 
                n += e, n += `<span class="info">${i.storage.lang("UI_Score")}</span>`, n += '<select id="malUserRating">', 
                n += "</select>", n += "</span>", n += "</span>", n += "</p>", this.page.isSyncPage(this.url) ? void 0 !== this.page.sync.uiSelector && this.page.sync.uiSelector(n) : void 0 !== this.page.overview && this.page.overview.uiSelector(n), 
                a.$("#malEpisodes, #malVolumes, #malUserRating, #malStatus").change((function() {
                    t.buttonclick();
                    const e = a.$(this);
                    t.calcSelectWidth(e);
                })), a.$("#malEpisodes, #malVolumes").on("input", (function() {
                    const t = a.$(this);
                    let e = t.val().toString().length;
                    e < 1 && (e = 1);
                    const n = 7.7 * e + 3;
                    t.css("width", n + "px");
                })).trigger("input");
            }
            calcSelectWidth(t) {
                t.each((function(t, e) {
                    const n = a.$(e).find("option:selected").text(), i = a.$('<select style="width: auto;"/>').append(a.html(`<option>${n}</option>`)), o = i.width() || 0;
                    o && (a.$("#malp").append(a.html(i)), a.$(e).width(o + 5), i.remove());
                }));
            }
            buttonclick() {
                return p(this, void 0, void 0, (function*() {
                    this.singleObj.setEpisode(a.$("#malEpisodes").val()), a.$("#malVolumes").length && this.singleObj.setVolume(a.$("#malVolumes").val()), 
                    this.singleObj.handleScoreCheckbox(a.$("#malUserRating").val()), this.singleObj.handleStatusCheckbox(a.$("#malStatus").val()), 
                    this.page.isSyncPage(this.url) || this.singleObj.setStreamingUrl(this.url);
                    (yield this.searchObj.openCorrectionCheck()) ? this.handlePage() : this.syncHandling().then(() => this.singleObj.update()).then(() => {
                        this.fillUI();
                    });
                }));
            }
            presence(t, e, n) {
                try {
                    if ("presence" === t.action) {
                        console.log("Presence requested", t, this.curState), clearTimeout(f), f = setTimeout(() => {
                            this.browsingtime = void 0;
                        }, 3e5), this.browsingtime || (this.browsingtime = Date.now());
                        let e, a, r = "823563096747802695";
                        if ("anime" !== this.page.type && (r = "823563138669608980"), i.settings.get("presenceHidePage") ? (e = "malsync", 
                        a = "MAL-Sync") : (e = this.page.name.toLowerCase(), a = this.page.name + " • MAL-Sync"), 
                        this.curState) {
                            const t = {
                                clientId: r,
                                presence: {
                                    details: this.singleObj.getTitle(!0) || this.curState.title,
                                    largeImageKey: e,
                                    largeImageText: a,
                                    instance: !0
                                }
                            };
                            if (i.settings.get("presenceShowButtons")) {
                                let e = this.singleObj.getMalUrl();
                                e || "Local" === this.singleObj.shortName || (e = this.singleObj.getDisplayUrl()), 
                                e || i.settings.get("presenceHidePage") || (e = this.singleObj.getStreamingUrl()), 
                                e && (t.presence.buttons = [ {
                                    label: i.storage.lang("discord_rpc_view_" + this.singleObj.getType()),
                                    url: e
                                } ]);
                            }
                            if (void 0 !== this.curState.episode) {
                                const e = this.curState.episode;
                                let n = this.singleObj.getTotalEpisodes();
                                if (n || (n = "?"), t.presence.state = `${o.episode(this.page.type)} ${e} of ${n}`, 
                                void 0 !== this.curState.lastVideoTime) if (this.curState.lastVideoTime.paused) t.presence.smallImageKey = "pause", 
                                t.presence.smallImageText = "Paused"; else {
                                    const e = this.curState.lastVideoTime.duration - this.curState.lastVideoTime.current;
                                    t.presence.endTimestamp = Date.now() + 1e3 * e, t.presence.smallImageKey = "play", 
                                    t.presence.smallImageText = "Playing";
                                } else t.presence.startTimestamp = this.browsingtime, "anime" !== this.page.type && (t.presence.smallImageKey = "reading", 
                                t.presence.smallImageText = "Reading");
                            } else {
                                let e;
                                e = i.settings.get("presenceHidePage") ? this.page.type.toString() : this.page.name, 
                                t.presence.startTimestamp = this.browsingtime, t.presence.state = i.storage.lang("Discord_rpc_browsing", [ e ]);
                            }
                            return void n(t);
                        }
                    }
                } catch (t) {
                    g.error(t);
                }
                n({});
            }
            checkForFiller(t, e) {
                return p(this, void 0, void 0, (function*() {
                    const n = Math.ceil(e / 100), a = new u.a(`fillers/${t}/${n}`, 6048e5);
                    if (!(yield a.hasValueAndIsNotEmpty())) {
                        const e = `https://api.jikan.moe/v3/anime/${t}/episodes/${n}`, o = yield i.request.xhr("GET", e).then(t => p(this, void 0, void 0, (function*() {
                            if (200 === t.status && t.responseText) {
                                const e = JSON.parse(t.responseText);
                                if (e.episodes && e.episodes.length) try {
                                    return e.episodes.map(t => ({
                                        filler: t.filler,
                                        recap: t.recap,
                                        episode_id: t.episode_id
                                    }));
                                } catch (t) {}
                            }
                            return [];
                        })));
                        yield a.setValue(o);
                    }
                    const r = yield a.getValue();
                    if (r && r.length) {
                        const t = r.find(t => t.episode_id === e);
                        if (t && (t.filler || t.recap)) {
                            const e = t.filler ? "filler" : "recap";
                            o.flashConfirm(i.storage.lang(`filler_${e}_confirm`), "filler", () => {
                                this.openNextEp();
                            }, () => {}, !0);
                        }
                    }
                }));
            }
        }
    }).call(this, n(4), n(0), n(2), n(1));
}, function(t, e, n) {
    (function(i, a) {
        var o;
        !function(r) {
            var s = Object.hasOwnProperty, l = Array.isArray ? Array.isArray : function(t) {
                return "[object Array]" === Object.prototype.toString.call(t);
            }, c = "object" == typeof i && "function" == typeof i.nextTick, d = "function" == typeof Symbol, m = "object" == typeof Reflect, u = "function" == typeof a ? a : setTimeout, p = d ? m && "function" == typeof Reflect.ownKeys ? Reflect.ownKeys : function(t) {
                var e = Object.getOwnPropertyNames(t);
                return e.push.apply(e, Object.getOwnPropertySymbols(t)), e;
            } : Object.keys;
            function h() {
                this._events = {}, this._conf && g.call(this, this._conf);
            }
            function g(t) {
                t && (this._conf = t, t.delimiter && (this.delimiter = t.delimiter), void 0 !== t.maxListeners && (this._maxListeners = t.maxListeners), 
                t.wildcard && (this.wildcard = t.wildcard), t.newListener && (this._newListener = t.newListener), 
                t.removeListener && (this._removeListener = t.removeListener), t.verboseMemoryLeak && (this.verboseMemoryLeak = t.verboseMemoryLeak), 
                t.ignoreErrors && (this.ignoreErrors = t.ignoreErrors), this.wildcard && (this.listenerTree = {}));
            }
            function f(t, e) {
                var n = "(node) warning: possible EventEmitter memory leak detected. " + t + " listeners added. Use emitter.setMaxListeners() to increase limit.";
                if (this.verboseMemoryLeak && (n += " Event name: " + e + "."), void 0 !== i && i.emitWarning) {
                    var a = new Error(n);
                    a.name = "MaxListenersExceededWarning", a.emitter = this, a.count = t, i.emitWarning(a);
                } else console.error(n), console.trace && console.trace();
            }
            var v = function(t, e, n) {
                var i = arguments.length;
                switch (i) {
                  case 0:
                    return [];

                  case 1:
                    return [ t ];

                  case 2:
                    return [ t, e ];

                  case 3:
                    return [ t, e, n ];

                  default:
                    for (var a = new Array(i); i--; ) a[i] = arguments[i];
                    return a;
                }
            };
            function b(t, e) {
                for (var n = {}, i = t.length, a = e ? value.length : 0, o = 0; o < i; o++) n[t[o]] = o < a ? e[o] : void 0;
                return n;
            }
            function y(t, e, n) {
                var i, a;
                if (this._emitter = t, this._target = e, this._listeners = {}, this._listenersCount = 0, 
                (n.on || n.off) && (i = n.on, a = n.off), e.addEventListener ? (i = e.addEventListener, 
                a = e.removeEventListener) : e.addListener ? (i = e.addListener, a = e.removeListener) : e.on && (i = e.on, 
                a = e.off), !i && !a) throw Error("target does not implement any known event API");
                if ("function" != typeof i) throw TypeError("on method must be a function");
                if ("function" != typeof a) throw TypeError("off method must be a function");
                this._on = i, this._off = a;
                var o = t._observers;
                o ? o.push(this) : t._observers = [ this ];
            }
            function w(t, e, n, i) {
                var a = Object.assign({}, e);
                if (!t) return a;
                if ("object" != typeof t) throw TypeError("options must be an object");
                var o, r, l, c = Object.keys(t), d = c.length;
                function m(t) {
                    throw Error('Invalid "' + o + '" option value' + (t ? ". Reason: " + t : ""));
                }
                for (var u = 0; u < d; u++) {
                    if (o = c[u], !i && !s.call(e, o)) throw Error('Unknown "' + o + '" option');
                    void 0 !== (r = t[o]) && (l = n[o], a[o] = l ? l(r, m) : r);
                }
                return a;
            }
            function _(t, e) {
                return "function" == typeof t && t.hasOwnProperty("prototype") || e("value must be a constructor"), 
                t;
            }
            function x(t) {
                var e = "value must be type of " + t.join("|"), n = t.length, i = t[0], a = t[1];
                return 1 === n ? function(t, n) {
                    if (typeof t === i) return t;
                    n(e);
                } : 2 === n ? function(t, n) {
                    var o = typeof t;
                    if (o === i || o === a) return t;
                    n(e);
                } : function(i, a) {
                    for (var o = typeof i, r = n; r-- > 0; ) if (o === t[r]) return i;
                    a(e);
                };
            }
            Object.assign(y.prototype, {
                subscribe: function(t, e, n) {
                    var i = this, a = this._target, o = this._emitter, r = this._listeners, s = function() {
                        var i = v.apply(null, arguments), r = {
                            data: i,
                            name: e,
                            original: t
                        };
                        if (n) {
                            var s = n.call(a, r);
                            !1 !== s && o.emit.apply(o, [ r.name ].concat(i));
                        } else o.emit.apply(o, [ e ].concat(i));
                    };
                    if (r[t]) throw Error("Event '" + t + "' is already listening");
                    this._listenersCount++, o._newListener && o._removeListener && !i._onNewListener ? (this._onNewListener = function(n) {
                        n === e && null === r[t] && (r[t] = s, i._on.call(a, t, s));
                    }, o.on("newListener", this._onNewListener), this._onRemoveListener = function(n) {
                        n === e && !o.hasListeners(n) && r[t] && (r[t] = null, i._off.call(a, t, s));
                    }, r[t] = null, o.on("removeListener", this._onRemoveListener)) : (r[t] = s, i._on.call(a, t, s));
                },
                unsubscribe: function(t) {
                    var e, n, i, a = this, o = this._listeners, r = this._emitter, s = this._off, l = this._target;
                    if (t && "string" != typeof t) throw TypeError("event must be a string");
                    function c() {
                        a._onNewListener && (r.off("newListener", a._onNewListener), r.off("removeListener", a._onRemoveListener), 
                        a._onNewListener = null, a._onRemoveListener = null);
                        var t = E.call(r, a);
                        r._observers.splice(t, 1);
                    }
                    if (t) {
                        if (!(e = o[t])) return;
                        s.call(l, t, e), delete o[t], --this._listenersCount || c();
                    } else {
                        for (i = (n = p(o)).length; i-- > 0; ) t = n[i], s.call(l, t, o[t]);
                        this._listeners = {}, this._listenersCount = 0, c();
                    }
                }
            });
            var k = x([ "function" ]), S = x([ "object", "function" ]);
            function $(t, e, n) {
                var i, a, o, r = 0, s = new t((function(l, c, d) {
                    function m() {
                        a && (a = null), r && (clearTimeout(r), r = 0);
                    }
                    n = w(n, {
                        timeout: 0,
                        overload: !1
                    }, {
                        timeout: function(t, e) {
                            return ("number" != typeof (t *= 1) || t < 0 || !Number.isFinite(t)) && e("timeout must be a positive number"), 
                            t;
                        }
                    }), i = !n.overload && "function" == typeof t.prototype.cancel && "function" == typeof d;
                    var u = function(t) {
                        m(), l(t);
                    }, p = function(t) {
                        m(), c(t);
                    };
                    i ? e(u, p, d) : (a = [ function(t) {
                        p(t || Error("canceled"));
                    } ], e(u, p, (function(t) {
                        if (o) throw Error("Unable to subscribe on cancel event asynchronously");
                        if ("function" != typeof t) throw TypeError("onCancel callback must be a function");
                        a.push(t);
                    })), o = !0), n.timeout > 0 && (r = setTimeout((function() {
                        var t = Error("timeout");
                        r = 0, s.cancel(t), c(t);
                    }), n.timeout));
                }));
                return i || (s.cancel = function(t) {
                    if (a) {
                        for (var e = a.length, n = 1; n < e; n++) a[n](t);
                        a[0](t), a = null;
                    }
                }), s;
            }
            function E(t) {
                var e = this._observers;
                if (!e) return -1;
                for (var n = e.length, i = 0; i < n; i++) if (e[i]._target === t) return i;
                return -1;
            }
            function T(t, e, n, i, a) {
                if (!n) return null;
                if (0 === i) {
                    var o = typeof e;
                    if ("string" === o) {
                        var r, s, l = 0, c = 0, d = this.delimiter, m = d.length;
                        if (-1 !== (s = e.indexOf(d))) {
                            r = new Array(5);
                            do {
                                r[l++] = e.slice(c, s), c = s + m;
                            } while (-1 !== (s = e.indexOf(d, c)));
                            r[l++] = e.slice(c), e = r, a = l;
                        } else e = [ e ], a = 1;
                    } else "object" === o ? a = e.length : (e = [ e ], a = 1);
                }
                var u, h, g, f, v, b, y, w = null, _ = e[i], x = e[i + 1];
                if (i === a && n._listeners) return "function" == typeof n._listeners ? (t && t.push(n._listeners), 
                [ n ]) : (t && t.push.apply(t, n._listeners), [ n ]);
                if ("*" === _) {
                    for (s = (b = p(n)).length; s-- > 0; ) "_listeners" !== (u = b[s]) && (y = T(t, e, n[u], i + 1, a)) && (w ? w.push.apply(w, y) : w = y);
                    return w;
                }
                if ("**" === _) {
                    for ((v = i + 1 === a || i + 2 === a && "*" === x) && n._listeners && (w = T(t, e, n, a, a)), 
                    s = (b = p(n)).length; s-- > 0; ) "_listeners" !== (u = b[s]) && ("*" === u || "**" === u ? (n[u]._listeners && !v && (y = T(t, e, n[u], a, a)) && (w ? w.push.apply(w, y) : w = y), 
                    y = T(t, e, n[u], i, a)) : y = T(t, e, n[u], u === x ? i + 2 : i, a), y && (w ? w.push.apply(w, y) : w = y));
                    return w;
                }
                if (n[_] && (w = T(t, e, n[_], i + 1, a)), (h = n["*"]) && T(t, e, h, i + 1, a), 
                g = n["**"]) if (i < a) for (g._listeners && T(t, e, g, a, a), s = (b = p(g)).length; s-- > 0; ) "_listeners" !== (u = b[s]) && (u === x ? T(t, e, g[u], i + 2, a) : u === _ ? T(t, e, g[u], i + 1, a) : ((f = {})[u] = g[u], 
                T(t, e, {
                    "**": f
                }, i + 1, a))); else g._listeners ? T(t, e, g, a, a) : g["*"] && g["*"]._listeners && T(t, e, g["*"], a, a);
                return w;
            }
            function P(t, e) {
                var n, i, a = 0, o = 0, r = this.delimiter, s = r.length;
                if ("string" == typeof t) if (-1 !== (n = t.indexOf(r))) {
                    i = new Array(5);
                    do {
                        i[a++] = t.slice(o, n), o = n + s;
                    } while (-1 !== (n = t.indexOf(r, o)));
                    i[a++] = t.slice(o);
                } else i = [ t ], a = 1; else i = t, a = t.length;
                if (a > 1) for (n = 0; n + 1 < a; n++) if ("**" === i[n] && "**" === i[n + 1]) return;
                var l, c = this.listenerTree;
                for (n = 0; n < a; n++) if (c = c[l = i[n]] || (c[l] = {}), n === a - 1) return c._listeners ? ("function" == typeof c._listeners && (c._listeners = [ c._listeners ]), 
                c._listeners.push(e), !c._listeners.warned && this._maxListeners > 0 && c._listeners.length > this._maxListeners && (c._listeners.warned = !0, 
                f.call(this, c._listeners.length, l))) : c._listeners = e, !0;
                return !0;
            }
            function C(t, e, n, i) {
                for (var a, o, r, s, l = p(t), c = l.length, d = t._listeners; c-- > 0; ) a = t[o = l[c]], 
                r = "_listeners" === o ? n : n ? n.concat(o) : [ o ], s = i || "symbol" == typeof o, 
                d && e.push(s ? r : r.join(this.delimiter)), "object" == typeof a && C.call(this, a, e, r, s);
                return e;
            }
            function A(t) {
                for (var e, n, i, a = p(t), o = a.length; o-- > 0; ) (e = t[n = a[o]]) && (i = !0, 
                "_listeners" === n || A(e) || delete t[n]);
                return i;
            }
            function I(t, e, n) {
                this.emitter = t, this.event = e, this.listener = n;
            }
            function O(t, e, n) {
                if (!0 === n) o = !0; else if (!1 === n) a = !0; else {
                    if (!n || "object" != typeof n) throw TypeError("options should be an object or true");
                    var a = n.async, o = n.promisify, r = n.nextTick, s = n.objectify;
                }
                if (a || r || o) {
                    var l = e, d = e._origin || e;
                    if (r && !c) throw Error("process.nextTick is not supported");
                    void 0 === o && (o = "AsyncFunction" === e.constructor.name), (e = function() {
                        var t = arguments, e = this, n = this.event;
                        return o ? r ? Promise.resolve() : new Promise((function(t) {
                            u(t);
                        })).then((function() {
                            return e.event = n, l.apply(e, t);
                        })) : (r ? i.nextTick : u)((function() {
                            e.event = n, l.apply(e, t);
                        }));
                    })._async = !0, e._origin = d;
                }
                return [ e, s ? new I(this, t, e) : this ];
            }
            function U(t) {
                this._events = {}, this._newListener = !1, this._removeListener = !1, this.verboseMemoryLeak = !1, 
                g.call(this, t);
            }
            I.prototype.off = function() {
                return this.emitter.off(this.event, this.listener), this;
            }, U.EventEmitter2 = U, U.prototype.listenTo = function(t, e, n) {
                if ("object" != typeof t) throw TypeError("target musts be an object");
                var i = this;
                function a(e) {
                    if ("object" != typeof e) throw TypeError("events must be an object");
                    var a, o = n.reducers, r = E.call(i, t);
                    a = -1 === r ? new y(i, t, n) : i._observers[r];
                    for (var s, l = p(e), c = l.length, d = "function" == typeof o, m = 0; m < c; m++) s = l[m], 
                    a.subscribe(s, e[s] || s, d ? o : o && o[s]);
                }
                return n = w(n, {
                    on: void 0,
                    off: void 0,
                    reducers: void 0
                }, {
                    on: k,
                    off: k,
                    reducers: S
                }), l(e) ? a(b(e)) : a("string" == typeof e ? b(e.split(/\s+/)) : e), this;
            }, U.prototype.stopListeningTo = function(t, e) {
                var n = this._observers;
                if (!n) return !1;
                var i, a = n.length, o = !1;
                if (t && "object" != typeof t) throw TypeError("target should be an object");
                for (;a-- > 0; ) i = n[a], t && i._target !== t || (i.unsubscribe(e), o = !0);
                return o;
            }, U.prototype.delimiter = ".", U.prototype.setMaxListeners = function(t) {
                void 0 !== t && (this._maxListeners = t, this._conf || (this._conf = {}), this._conf.maxListeners = t);
            }, U.prototype.getMaxListeners = function() {
                return this._maxListeners;
            }, U.prototype.event = "", U.prototype.once = function(t, e, n) {
                return this._once(t, e, !1, n);
            }, U.prototype.prependOnceListener = function(t, e, n) {
                return this._once(t, e, !0, n);
            }, U.prototype._once = function(t, e, n, i) {
                return this._many(t, 1, e, n, i);
            }, U.prototype.many = function(t, e, n, i) {
                return this._many(t, e, n, !1, i);
            }, U.prototype.prependMany = function(t, e, n, i) {
                return this._many(t, e, n, !0, i);
            }, U.prototype._many = function(t, e, n, i, a) {
                var o = this;
                if ("function" != typeof n) throw new Error("many only accepts instances of Function");
                function r() {
                    return 0 == --e && o.off(t, r), n.apply(this, arguments);
                }
                return r._origin = n, this._on(t, r, i, a);
            }, U.prototype.emit = function() {
                if (!this._events && !this._all) return !1;
                this._events || h.call(this);
                var t, e, n, i, a, o, r = arguments[0], s = this.wildcard;
                if ("newListener" === r && !this._newListener && !this._events.newListener) return !1;
                if (s && (t = r, "newListener" !== r && "removeListener" !== r && "object" == typeof r)) {
                    if (n = r.length, d) for (i = 0; i < n; i++) if ("symbol" == typeof r[i]) {
                        o = !0;
                        break;
                    }
                    o || (r = r.join(this.delimiter));
                }
                var l, c = arguments.length;
                if (this._all && this._all.length) for (i = 0, n = (l = this._all.slice()).length; i < n; i++) switch (this.event = r, 
                c) {
                  case 1:
                    l[i].call(this, r);
                    break;

                  case 2:
                    l[i].call(this, r, arguments[1]);
                    break;

                  case 3:
                    l[i].call(this, r, arguments[1], arguments[2]);
                    break;

                  default:
                    l[i].apply(this, arguments);
                }
                if (s) l = [], T.call(this, l, t, this.listenerTree, 0, n); else {
                    if ("function" == typeof (l = this._events[r])) {
                        switch (this.event = r, c) {
                          case 1:
                            l.call(this);
                            break;

                          case 2:
                            l.call(this, arguments[1]);
                            break;

                          case 3:
                            l.call(this, arguments[1], arguments[2]);
                            break;

                          default:
                            for (e = new Array(c - 1), a = 1; a < c; a++) e[a - 1] = arguments[a];
                            l.apply(this, e);
                        }
                        return !0;
                    }
                    l && (l = l.slice());
                }
                if (l && l.length) {
                    if (c > 3) for (e = new Array(c - 1), a = 1; a < c; a++) e[a - 1] = arguments[a];
                    for (i = 0, n = l.length; i < n; i++) switch (this.event = r, c) {
                      case 1:
                        l[i].call(this);
                        break;

                      case 2:
                        l[i].call(this, arguments[1]);
                        break;

                      case 3:
                        l[i].call(this, arguments[1], arguments[2]);
                        break;

                      default:
                        l[i].apply(this, e);
                    }
                    return !0;
                }
                if (!this.ignoreErrors && !this._all && "error" === r) throw arguments[1] instanceof Error ? arguments[1] : new Error("Uncaught, unspecified 'error' event.");
                return !!this._all;
            }, U.prototype.emitAsync = function() {
                if (!this._events && !this._all) return !1;
                this._events || h.call(this);
                var t, e, n, i, a, o, r = arguments[0], s = this.wildcard;
                if ("newListener" === r && !this._newListener && !this._events.newListener) return Promise.resolve([ !1 ]);
                if (s && (t = r, "newListener" !== r && "removeListener" !== r && "object" == typeof r)) {
                    if (i = r.length, d) for (a = 0; a < i; a++) if ("symbol" == typeof r[a]) {
                        e = !0;
                        break;
                    }
                    e || (r = r.join(this.delimiter));
                }
                var l, c = [], m = arguments.length;
                if (this._all) for (a = 0, i = this._all.length; a < i; a++) switch (this.event = r, 
                m) {
                  case 1:
                    c.push(this._all[a].call(this, r));
                    break;

                  case 2:
                    c.push(this._all[a].call(this, r, arguments[1]));
                    break;

                  case 3:
                    c.push(this._all[a].call(this, r, arguments[1], arguments[2]));
                    break;

                  default:
                    c.push(this._all[a].apply(this, arguments));
                }
                if (s ? (l = [], T.call(this, l, t, this.listenerTree, 0)) : l = this._events[r], 
                "function" == typeof l) switch (this.event = r, m) {
                  case 1:
                    c.push(l.call(this));
                    break;

                  case 2:
                    c.push(l.call(this, arguments[1]));
                    break;

                  case 3:
                    c.push(l.call(this, arguments[1], arguments[2]));
                    break;

                  default:
                    for (n = new Array(m - 1), o = 1; o < m; o++) n[o - 1] = arguments[o];
                    c.push(l.apply(this, n));
                } else if (l && l.length) {
                    if (l = l.slice(), m > 3) for (n = new Array(m - 1), o = 1; o < m; o++) n[o - 1] = arguments[o];
                    for (a = 0, i = l.length; a < i; a++) switch (this.event = r, m) {
                      case 1:
                        c.push(l[a].call(this));
                        break;

                      case 2:
                        c.push(l[a].call(this, arguments[1]));
                        break;

                      case 3:
                        c.push(l[a].call(this, arguments[1], arguments[2]));
                        break;

                      default:
                        c.push(l[a].apply(this, n));
                    }
                } else if (!this.ignoreErrors && !this._all && "error" === r) return arguments[1] instanceof Error ? Promise.reject(arguments[1]) : Promise.reject("Uncaught, unspecified 'error' event.");
                return Promise.all(c);
            }, U.prototype.on = function(t, e, n) {
                return this._on(t, e, !1, n);
            }, U.prototype.prependListener = function(t, e, n) {
                return this._on(t, e, !0, n);
            }, U.prototype.onAny = function(t) {
                return this._onAny(t, !1);
            }, U.prototype.prependAny = function(t) {
                return this._onAny(t, !0);
            }, U.prototype.addListener = U.prototype.on, U.prototype._onAny = function(t, e) {
                if ("function" != typeof t) throw new Error("onAny only accepts instances of Function");
                return this._all || (this._all = []), e ? this._all.unshift(t) : this._all.push(t), 
                this;
            }, U.prototype._on = function(t, e, n, i) {
                if ("function" == typeof t) return this._onAny(t, e), this;
                if ("function" != typeof e) throw new Error("on only accepts instances of Function");
                this._events || h.call(this);
                var a, o = this;
                return void 0 !== i && (e = (a = O.call(this, t, e, i))[0], o = a[1]), this._newListener && this.emit("newListener", t, e), 
                this.wildcard ? (P.call(this, t, e), o) : (this._events[t] ? ("function" == typeof this._events[t] && (this._events[t] = [ this._events[t] ]), 
                n ? this._events[t].unshift(e) : this._events[t].push(e), !this._events[t].warned && this._maxListeners > 0 && this._events[t].length > this._maxListeners && (this._events[t].warned = !0, 
                f.call(this, this._events[t].length, t))) : this._events[t] = e, o);
            }, U.prototype.off = function(t, e) {
                if ("function" != typeof e) throw new Error("removeListener only takes instances of Function");
                var n, i = [];
                if (this.wildcard) {
                    var a = "string" == typeof t ? t.split(this.delimiter) : t.slice();
                    if (!(i = T.call(this, null, a, this.listenerTree, 0))) return this;
                } else {
                    if (!this._events[t]) return this;
                    n = this._events[t], i.push({
                        _listeners: n
                    });
                }
                for (var o = 0; o < i.length; o++) {
                    var r = i[o];
                    if (n = r._listeners, l(n)) {
                        for (var s = -1, c = 0, d = n.length; c < d; c++) if (n[c] === e || n[c].listener && n[c].listener === e || n[c]._origin && n[c]._origin === e) {
                            s = c;
                            break;
                        }
                        if (s < 0) continue;
                        return this.wildcard ? r._listeners.splice(s, 1) : this._events[t].splice(s, 1), 
                        0 === n.length && (this.wildcard ? delete r._listeners : delete this._events[t]), 
                        this._removeListener && this.emit("removeListener", t, e), this;
                    }
                    (n === e || n.listener && n.listener === e || n._origin && n._origin === e) && (this.wildcard ? delete r._listeners : delete this._events[t], 
                    this._removeListener && this.emit("removeListener", t, e));
                }
                return this.listenerTree && A(this.listenerTree), this;
            }, U.prototype.offAny = function(t) {
                var e, n = 0, i = 0;
                if (t && this._all && this._all.length > 0) {
                    for (n = 0, i = (e = this._all).length; n < i; n++) if (t === e[n]) return e.splice(n, 1), 
                    this._removeListener && this.emit("removeListenerAny", t), this;
                } else {
                    if (e = this._all, this._removeListener) for (n = 0, i = e.length; n < i; n++) this.emit("removeListenerAny", e[n]);
                    this._all = [];
                }
                return this;
            }, U.prototype.removeListener = U.prototype.off, U.prototype.removeAllListeners = function(t) {
                if (void 0 === t) return !this._events || h.call(this), this;
                if (this.wildcard) {
                    var e, n = T.call(this, null, t, this.listenerTree, 0);
                    if (!n) return this;
                    for (e = 0; e < n.length; e++) n[e]._listeners = null;
                    this.listenerTree && A(this.listenerTree);
                } else this._events && (this._events[t] = null);
                return this;
            }, U.prototype.listeners = function(t) {
                var e, n, i, a, o, r = this._events;
                if (void 0 === t) {
                    if (this.wildcard) throw Error("event name required for wildcard emitter");
                    if (!r) return [];
                    for (a = (e = p(r)).length, i = []; a-- > 0; ) "function" == typeof (n = r[e[a]]) ? i.push(n) : i.push.apply(i, n);
                    return i;
                }
                if (this.wildcard) {
                    if (!(o = this.listenerTree)) return [];
                    var s = [], l = "string" == typeof t ? t.split(this.delimiter) : t.slice();
                    return T.call(this, s, l, o, 0), s;
                }
                return r && (n = r[t]) ? "function" == typeof n ? [ n ] : n : [];
            }, U.prototype.eventNames = function(t) {
                var e = this._events;
                return this.wildcard ? C.call(this, this.listenerTree, [], null, t) : e ? p(e) : [];
            }, U.prototype.listenerCount = function(t) {
                return this.listeners(t).length;
            }, U.prototype.hasListeners = function(t) {
                if (this.wildcard) {
                    var e = [], n = "string" == typeof t ? t.split(this.delimiter) : t.slice();
                    return T.call(this, e, n, this.listenerTree, 0), e.length > 0;
                }
                var i = this._events, a = this._all;
                return !!(a && a.length || i && (void 0 === t ? p(i).length : i[t]));
            }, U.prototype.listenersAny = function() {
                return this._all ? this._all : [];
            }, U.prototype.waitFor = function(t, e) {
                var n = this, i = typeof e;
                return "number" === i ? e = {
                    timeout: e
                } : "function" === i && (e = {
                    filter: e
                }), $((e = w(e, {
                    timeout: 0,
                    filter: void 0,
                    handleError: !1,
                    Promise: Promise,
                    overload: !1
                }, {
                    filter: k,
                    Promise: _
                })).Promise, (function(i, a, o) {
                    function r() {
                        var o = e.filter;
                        if (!o || o.apply(n, arguments)) if (n.off(t, r), e.handleError) {
                            var s = arguments[0];
                            s ? a(s) : i(v.apply(null, arguments).slice(1));
                        } else i(v.apply(null, arguments));
                    }
                    o((function() {
                        n.off(t, r);
                    })), n._on(t, r, !1);
                }), {
                    timeout: e.timeout,
                    overload: e.overload
                });
            };
            var M = U.prototype;
            Object.defineProperties(U, {
                defaultMaxListeners: {
                    get: function() {
                        return M._maxListeners;
                    },
                    set: function(t) {
                        if ("number" != typeof t || t < 0 || Number.isNaN(t)) throw TypeError("n must be a non-negative number");
                        M._maxListeners = t;
                    },
                    enumerable: !0
                },
                once: {
                    value: function(t, e, n) {
                        return $((n = w(n, {
                            Promise: Promise,
                            timeout: 0,
                            overload: !1
                        }, {
                            Promise: _
                        })).Promise, (function(n, i, a) {
                            var o;
                            if ("function" == typeof t.addEventListener) return o = function() {
                                n(v.apply(null, arguments));
                            }, a((function() {
                                t.removeEventListener(e, o);
                            })), void t.addEventListener(e, o, {
                                once: !0
                            });
                            var r, s = function() {
                                r && t.removeListener("error", r), n(v.apply(null, arguments));
                            };
                            "error" !== e && (r = function(n) {
                                t.removeListener(e, s), i(n);
                            }, t.once("error", r)), a((function() {
                                r && t.removeListener("error", r), t.removeListener(e, s);
                            })), t.once(e, s);
                        }), {
                            timeout: n.timeout,
                            overload: n.overload
                        });
                    },
                    writable: !0,
                    configurable: !0
                }
            }), Object.defineProperties(M, {
                _maxListeners: {
                    value: 10,
                    writable: !0,
                    configurable: !0
                },
                _observers: {
                    value: null,
                    writable: !0,
                    configurable: !0
                }
            }), void 0 === (o = function() {
                return U;
            }.call(e, n, e, t)) || (t.exports = o);
        }();
    }).call(this, n(95), n(96).setImmediate);
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return l;
        }));
        var o = n(17), r = n(24), s = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class l extends o.a {
            constructor() {
                super(...arguments), this.name = "local", this.authenticationUrl = "", this.getRegex = r.b, 
                this.getSyncList = r.c, this.getCacheKey = r.a;
            }
            getUsername() {
                return s(this, void 0, void 0, (function*() {
                    return "local";
                }));
            }
            _getSortingOptions() {
                return [];
            }
            getPart() {
                return s(this, void 0, void 0, (function*() {
                    t.log("[UserList][Local]", "status: " + this.status), this.done = !0;
                    return yield this.prepareData(yield this.getSyncList(), this.listType, this.status);
                }));
            }
            prepareData(e, n, o) {
                var r, l;
                return s(this, void 0, void 0, (function*() {
                    const s = [];
                    for (const c in e) if (this.getRegex(n).test(c)) {
                        const d = e[c];
                        if (t.log(c, d), 7 !== o && parseInt(d.status) !== o) continue;
                        "anime" === n ? s.push(yield this.fn({
                            airingState: 2,
                            image: null !== (r = d.image) && void 0 !== r ? r : i.storage.assetUrl("questionmark.gif"),
                            malId: 0,
                            apiCacheKey: 0,
                            tags: d.tags,
                            title: "[L] " + d.name,
                            totalEp: 0,
                            status: d.status,
                            score: d.score,
                            type: "anime",
                            uid: c,
                            url: c,
                            cacheKey: this.getCacheKey(a.urlPart(c, 4), a.urlPart(c, 2)),
                            watchedEp: d.progress
                        }, d.sUrl)) : s.push(yield this.fn({
                            airingState: 2,
                            image: null !== (l = d.image) && void 0 !== l ? l : i.storage.assetUrl("questionmark.gif"),
                            malId: 0,
                            apiCacheKey: 0,
                            tags: d.tags,
                            title: "[L] " + d.name,
                            totalEp: 0,
                            status: d.status,
                            score: d.score,
                            type: "manga",
                            uid: c,
                            url: c,
                            cacheKey: this.getCacheKey(a.urlPart(c, 4), a.urlPart(c, 2)),
                            watchedEp: d.progress
                        }, d.sUrl));
                    }
                    return t.log("data", s), s;
                }));
            }
        }
    }).call(this, n(4), n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        function a(e, n) {
            const a = t.settings.get("posLeft"), o = t.settings.get("miniMalWidth"), r = t.settings.get("miniMalHeight");
            if (!i.$("#info-popup").length) {
                t.storage.addStyle(`.modal-content-kal.fullscreen{width: 100% !important;height: 100% !important; bottom: 0 !important;${a}: 0 !important;}      .modal-content-kal{-webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease;}      .floatbutton:hover {background-color:rgb(63,81,181) !important;}      .floatbutton:hover div {background-color:white;}      .floatbutton div {background-color:black;-webkit-transition: all 0.5s ease;-moz-transition: all 0.5s ease;-o-transition: all 0.5s ease;transition: all 0.5s ease;}      .floatbutton {       z-index: 9999;display: none; position:fixed; bottom:40px; right:40px; border-radius: 50%; font-size: 24px; height: 56px; margin: auto; min-width: 56px; width: 56px; padding: 0; overflow: hidden; background: rgba(158,158,158,.2); box-shadow: 0 1px 1.5px 0 rgba(0,0,0,.12), 0 1px 1px 0 rgba(0,0,0,.24); line-height: normal; border: none;       font-weight: 500; text-transform: uppercase; letter-spacing: 0; will-change: box-shadow; transition: box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1); outline: none; cursor: pointer; text-decoration: none; text-align: center; vertical-align: middle; padding: 16px;      }      .floatbutton.stealth {        background: rgba(158,158,158,.03);      }      .floatbutton.stealth .open-info-popup{        visibility: hidden;      }      .floatbutton.floatHide{        visibility: hidden !important;      }`);
                let s = `max-width: 100%; max-height: 100%; min-width: 500px; min-height: 300px; width: ${o}; height: ${r}; position: absolute; bottom: 0%; ${a}: 0%`;
                i.$(window).width() < 500 && (s = `width: 100vw; height: 100%; position: absolute; top: 0%; ${a}: 0%`);
                let l = '<div class="modal-kal" id="info-popup" style="pointer-events: none;display: none; position: fixed;z-index: 9999;left: 0;top: 0;bottom: 0;width: 100%; height: 100%; background-color: transparent; padding: 0; margin: 0; border: 0;">';
                l += `<div id="modal-content" class="modal-content-kal" Style="pointer-events: all; background-color: #f9f9f9; margin: 0; ${s}">`, 
                l += "</div>", l += "</div>", i.$("body").after(i.html(l));
                let c = "";
                t.settings.get("floatButtonStealth") && (c += "stealth "), t.settings.get("floatButtonHide") && (c += "floatHide ");
                let d = `<button class="open-info-popup floatbutton ${c}" style="">`;
                d += '<i class="my-float open-info-popup" style="margin-top:22px;"><div class="open-info-popup" style="width: 100%; height: 4px; margin-bottom: 15%;"></div><div class="open-info-popup" style="width: 100%; height: 4px; margin-bottom: 15%;"></div><div class="open-info-popup" style="width: 100%; height: 4px"></div></i></button>', 
                i.$("#info-popup").after(i.html(d)), i.$(".open-info-popup").show(), t.settings.get("autoCloseMinimal") && i.$(".modal-kal").css("pointer-events", "initial"), 
                document.addEventListener("click", (function(t) {
                    t && t.target && (i.$(t.target).hasClass("open-info-popup") && n(e), i.$(t.target).hasClass("modal-kal") && (document.getElementById("info-popup").style.display = "none", 
                    i.$(".floatbutton").fadeIn()));
                }));
            }
        }
        n.d(e, "a", (function() {
            return a;
        }));
    }).call(this, n(0), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return l;
        }));
        var i = n(106), a = n(107), o = n(108), r = n(82), s = n(109);
        function l(e) {
            if (/^local:\/\//i.test(e)) return s.a;
            const n = t.settings.get("syncMode");
            return "MAL" === n || "MALAPI" === n ? i.a : "ANILIST" === n ? a.a : "KITSU" === n ? o.a : r.a;
        }
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    n.d(e, "a", (function() {
        return i;
    }));
    const i = {
        shortName: "MAL",
        score: "MAL Score:",
        noLogin: "Please log in on <a target='_blank' href='https://myanimelist.net/login.php'>MyAnimeList!<a>"
    };
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return i;
        }));
        const i = {
            shortName: "AniList",
            score: "AniList Score:",
            noLogin: t.storage.lang("Anilist_Authenticate")
        };
    }).call(this, n(0));
}, function(t, e, n) {
    "use strict";
    n.d(e, "a", (function() {
        return i;
    }));
    const i = {
        shortName: "Kitsu",
        score: "Kitsu Score:",
        noLogin: 'Please Authenticate <a target="_blank" href="https://kitsu.io/404?mal-sync=authentication">Here</a>'
    };
}, function(t, e, n) {
    "use strict";
    n.d(e, "a", (function() {
        return i;
    }));
    const i = {
        shortName: "local storage",
        score: "Local storage Score:",
        noLogin: ""
    };
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return u;
        }));
        var o = n(92), r = n(39), s = n(81), l = n(19), c = n(114), d = n(15), m = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class u {
            constructor(e, n, i) {
                this.title = e, this.type = n, this.identifier = i, this.localUrl = "", this.state = !1, 
                this.changed = !1, this.identifier += "", this.sanitizedTitel = this.sanitizeTitel(this.title), 
                this.logger = t.m("search", "red");
            }
            setPage(t) {
                this.page = t;
            }
            setLocalUrl(t) {
                this.localUrl = t;
            }
            setSyncPage(t) {
                this.syncPage = t;
            }
            getSyncPage() {
                return this.syncPage;
            }
            getUrl() {
                return this.state ? this.state.url : null;
            }
            setUrl(t, e = 0) {
                this.state ? (this.state.url !== t && (this.changed = !0), this.state.provider = "user", 
                this.state.url = t, this.state.id = e, this.state.cache = !1, this.state.similarity = {
                    same: !0,
                    value: 1
                }) : (this.changed = !0, this.state = {
                    id: e,
                    url: t,
                    offset: 0,
                    provider: "user",
                    similarity: {
                        same: !0,
                        value: 1
                    }
                }), this.setCache(this.state);
            }
            getOffset() {
                return this.state ? this.state.offset : 0;
            }
            setOffset(t) {
                this.state && (this.state.offset !== t && (this.changed = !0), this.state.offset = t), 
                this.setCache(this.state);
            }
            getCachedOffset() {
                return m(this, void 0, void 0, (function*() {
                    return this.state = yield this.getCache(), this.state ? this.state.offset : 0;
                }));
            }
            getId() {
                return this.state && this.state.id ? this.state.id : 0;
            }
            getSanitizedTitel() {
                return this.sanitizedTitel;
            }
            getNormalizedType() {
                return "anime" === this.type ? "anime" : "manga";
            }
            sanitizeTitel(t) {
                let e = t.replace(/ *(\(dub\)|\(sub\)|\(uncensored\)|\(uncut\)|\(subbed\)|\(dubbed\))/i, "");
                return e = e.replace(/ *\([^)]+audio\)/i, ""), e = e.replace(/ BD( |$)/i, ""), e = e.trim(), 
                e = e.substring(0, 99), e;
            }
            search() {
                return m(this, void 0, void 0, (function*() {
                    if (this.state = yield this.getCache(), this.state || (this.state = yield this.searchLocal()), 
                    this.state || (this.state = yield this.searchForIt()), !this.state || this.state && ![ "user", "firebase", "sync", "local" ].includes(this.state.provider)) {
                        const t = yield this.onsiteSearch();
                        t && (this.state = t);
                    }
                    return this.state && (yield this.setCache(this.state)), this.logger.log("Result", this.state), 
                    this.state;
                }));
            }
            getCache() {
                return m(this, void 0, void 0, (function*() {
                    return i.storage.get(`${this.page.name}/${this.identifier}/Search`).then(t => (t && (t.cache = !0), 
                    t));
                }));
            }
            setCache(t) {
                return t = JSON.parse(JSON.stringify(t)), setTimeout(() => {
                    this.databaseRequest();
                }, 200), i.storage.set(`${this.page.name}/${this.identifier}/Search`, t);
            }
            static similarity(t, e, n = []) {
                let i = Object(o.compareTwoStrings)(e.toLowerCase(), t.toLowerCase());
                n.forEach(t => {
                    if (t) {
                        const n = Object(o.compareTwoStrings)(e.toLowerCase(), t.toLowerCase());
                        n > i && (i = n);
                    }
                });
                let a = !1;
                return i > .6 && (a = !0), {
                    same: a,
                    value: i
                };
            }
            searchLocal() {
                return m(this, void 0, void 0, (function*() {
                    if (!this.localUrl) return !1;
                    const t = new s.a(this.localUrl);
                    return yield t.update(), !!t.isOnList() && (this.logger.m("Local").log("On List"), 
                    {
                        url: "",
                        offset: 0,
                        provider: "local",
                        similarity: {
                            same: !0,
                            value: 1
                        }
                    });
                }));
            }
            searchForIt() {
                return m(this, void 0, void 0, (function*() {
                    let t = !1;
                    try {
                        t = e(t, yield this.malSync());
                    } catch (t) {
                        this.page && this.page.database && this.logger.error("MALSync api error or not supported", t);
                    }
                    if (t && "firebase" !== t.provider || !t) try {
                        t = e(t, yield this.malSearch());
                    } catch (t) {
                        this.logger.m(t);
                    }
                    if (t && "firebase" !== t.provider || !t) try {
                        t = e(t, yield this.pageSearch(), .5);
                    } catch (t) {
                        this.logger.m(t);
                    }
                    if (t && "firebase" === t.provider && "MAL" !== i.settings.get("syncMode") && !t.url) try {
                        const e = yield this.pageSearch();
                        e && -1 === e.url.indexOf("myanimelist.net") && e.similarity.same && (this.logger.log("Ignore Firebase", t), 
                        t = e);
                    } catch (t) {
                        this.logger.m(t);
                    }
                    return t;
                    function e(t, e, n = 0) {
                        return !1 !== t && !1 !== e && e.similarity.value > n ? t.similarity.value >= e.similarity.value ? t : e : !1 !== t ? t : e;
                    }
                }));
            }
            firebase() {
                return m(this, void 0, void 0, (function*() {
                    if (!this.page || !this.page.database) return !1;
                    const t = this.logger.m("Firebase"), e = `https://kissanimelist.firebaseio.com/Data2/${this.page.database}/${encodeURIComponent(this.identifierToDbKey(this.identifier)).toLowerCase()}/Mal.json`;
                    t.log(e);
                    const n = yield i.request.xhr("GET", e);
                    if (t.log("response", n.responseText), !n.responseText || "null" === n.responseText || n.responseText.includes("error")) return !1;
                    let a;
                    try {
                        a = JSON.parse(n.responseText);
                    } catch (e) {
                        return t.info("Parse failed"), !1;
                    }
                    if (!a || 0 === Object.keys(a).length) return !1;
                    const o = Object.keys(a)[0], r = a[o];
                    let s = "";
                    return "Not-Found" !== o && (s = `https://myanimelist.net/${this.page.type}/${o}/${r}`), 
                    {
                        url: s,
                        offset: 0,
                        provider: "firebase",
                        similarity: {
                            same: !0,
                            value: 1
                        }
                    };
                }));
            }
            malSync() {
                var t;
                return m(this, void 0, void 0, (function*() {
                    const e = this.logger.m("API");
                    if (!this.page) return !1;
                    const n = this.page.database ? this.page.database : this.page.name;
                    if (!n) return !1;
                    const a = `https://api.malsync.moe/page/${n}/${encodeURIComponent(this.identifierToDbKey(this.identifier)).toLowerCase()}`;
                    e.log(a);
                    const o = yield i.request.xhr("GET", a);
                    if (e.log("Response", o), 400 !== o.status && 200 !== o.status) throw new Error("malsync offline");
                    if (400 === o.status && (null === (t = o.responseText) || void 0 === t ? void 0 : t.includes("error"))) return !1;
                    const r = JSON.parse(o.responseText);
                    let s = r.malUrl;
                    return !s && r.aniUrl && "ANILIST" === Object(d.a)(this.getNormalizedType()) && (s = r.aniUrl), 
                    {
                        url: s,
                        offset: 0,
                        provider: "firebase",
                        similarity: {
                            same: !0,
                            value: 1
                        }
                    };
                }));
            }
            malSearch() {
                var t, e;
                return m(this, void 0, void 0, (function*() {
                    const n = this.logger.m("MAL");
                    let a = `https://myanimelist.net/${this.getNormalizedType()}.php?q=${encodeURI(this.sanitizedTitel)}`;
                    "novel" === this.type && (a = `https://myanimelist.net/${this.getNormalizedType()}.php?type=2&q=${encodeURI(this.sanitizedTitel)}`), 
                    n.log(a);
                    const o = yield i.request.xhr("GET", a);
                    return !(!o || (null === (t = o.responseText) || void 0 === t ? void 0 : t.includes("  error "))) && (!(!o || (null === (e = o.responseText) || void 0 === e ? void 0 : e.includes("No titles that matched"))) && function t(e, i = 1, a) {
                        const o = function(t, e) {
                            try {
                                return t.responseText.split('<a class="hoverinfo_trigger" href="')[e].split('"')[0];
                            } catch (i) {
                                n.error(i);
                                try {
                                    return t.responseText.split('class="picSurround')[e].split("<a")[1].split('href="')[1].split('"')[0];
                                } catch (t) {
                                    return n.error(t), !1;
                                }
                            }
                        }(e, i);
                        let r = 0, s = {
                            same: !1,
                            value: 0
                        };
                        if (!1 !== o) try {
                            if ("manga" === a.type) {
                                if (-1 !== e.responseText.split(`href="${o}" id="si`)[1].split("</tr>")[0].indexOf("Novel")) return n.log("Novel Found check next entry"), 
                                t(e, i + 1, a);
                            }
                            const l = function(t, e) {
                                try {
                                    const n = e.split("/")[4];
                                    return t.responseText.split(`rel="#sinfo${n}"><strong>`)[1].split("<")[0];
                                } catch (t) {
                                    return n.error(t), "";
                                }
                            }(e, o);
                            s = u.similarity(l, a.sanitizedTitel), r = parseInt(o.split("/")[4]);
                        } catch (t) {
                            n.error(t);
                        }
                        return {
                            id: r,
                            url: o,
                            offset: 0,
                            provider: "mal",
                            similarity: s
                        };
                    }(o, 1, this));
                }));
            }
            pageSearch() {
                return m(this, void 0, void 0, (function*() {
                    const t = yield Object(r.a)(this.sanitizedTitel, this.getNormalizedType());
                    let e = null;
                    for (let n = 0; n < t.length && n < 5; n++) {
                        const i = t[n], a = u.similarity(i.name, this.sanitizedTitel, i.altNames), o = {
                            index: n,
                            similarity: a
                        };
                        ("manga" === this.type && !i.isNovel || "novel" === this.type && i.isNovel || "anime" === this.type) && (!e || a.value > e.similarity.value) && (e = o);
                    }
                    if (e) {
                        const n = t[e.index], i = yield n.malUrl();
                        return {
                            id: n.id,
                            url: i || n.url,
                            offset: 0,
                            provider: "page",
                            similarity: e.similarity
                        };
                    }
                    return !1;
                }));
            }
            databaseRequest() {
                return m(this, void 0, void 0, (function*() {
                    const t = this.logger.m("DB Request");
                    if (this.page && this.page.database && this.syncPage && this.state) {
                        if (this.state.cache) return;
                        if ("user" === this.state.provider && !this.changed) return;
                        if ("firebase" === this.state.provider) return;
                        if ("local" === this.state.provider) return;
                        let e;
                        if (!e) if (this.page.isSyncPage(this.syncPage.url)) e = this.page.sync.getOverviewUrl(this.syncPage.url), 
                        "Crunchyroll" === this.page.database && (e = "" + this.syncPage.url); else {
                            if ("Crunchyroll" === this.page.database) return void t.log("CR block");
                            e = this.syncPage.url;
                        }
                        const n = {
                            pageUrl: e,
                            malUrl: this.state.url,
                            correction: !1,
                            page: this.page.database
                        };
                        if ("user" === this.state.provider) {
                            if (!(yield a.flashConfirm(i.storage.lang("correction_DBRequest"), "dbrequest", () => {}, () => {}, !0))) return;
                            n.correction = !0;
                        }
                        const o = "https://api.malsync.moe/corrections";
                        i.request.xhr("POST", {
                            url: o,
                            data: JSON.stringify(n),
                            headers: {
                                "Content-Type": "application/json"
                            }
                        }).then(e => {
                            try {
                                const n = JSON.parse(e.responseText);
                                if (n.error) throw n;
                                t.log("Send to database:", n);
                            } catch (e) {
                                t.error("Send to database:", e);
                            }
                        });
                    }
                }));
            }
            onsiteSearch() {
                return m(this, void 0, void 0, (function*() {
                    if (this.page && this.syncPage && this.syncPage.curState && this.syncPage.curState.on) {
                        let t = !1;
                        if ("OVERVIEW" === this.syncPage.curState.on ? this.page.overview && this.page.overview.getMalUrl && (t = yield this.page.overview.getMalUrl(i.settings.get("syncMode"))) : this.page.sync && this.page.sync.getMalUrl && (t = yield this.page.sync.getMalUrl(i.settings.get("syncMode"))), 
                        t) return this.logger.m("Onsite").log("[SEARCH]", "Overwrite by onsite url", t), 
                        {
                            url: t,
                            offset: 0,
                            provider: "sync",
                            similarity: {
                                same: !0,
                                value: 1
                            }
                        };
                    }
                    return !1;
                }));
            }
            openCorrection() {}
            identifierToDbKey(t) {
                return "Crunchyroll" === this.page.database ? encodeURIComponent(t.toLowerCase().split("#")[0]).replace(/\./g, "%2E") : t.toLowerCase().split("#")[0].replace(/\./g, "%2E");
            }
            initRules() {
                return m(this, void 0, void 0, (function*() {
                    const e = t.m("Rules"), n = this.getUrl();
                    if (e.log("Url", n), n) {
                        const t = yield Object(l.a)(n);
                        return e.log("Cachekey", t), this.rules = yield new c.a(t.cacheKey, this.getNormalizedType()).init(), 
                        t.singleObj;
                    }
                }));
            }
            applyRules(t) {
                if (this.rules) {
                    const e = this.getOffset() || 0, n = this.rules.applyRules(Number(t) + Number(e));
                    return n && (n.offset = Number(n.offset) + Number(e)), n;
                }
            }
            getRuledOffset(t) {
                const e = this.applyRules(t);
                return e ? e.offset : this.getOffset();
            }
            getRuledUrl(t) {
                const e = this.applyRules(t);
                return e ? e.url : this.getUrl();
            }
        }
    }).call(this, n(4), n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return r;
        }));
        var o = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        function r(e, n, r = {}, s = !1) {
            return o(this, void 0, void 0, (function*() {
                const o = `\n    query ($search: String) {\n      ${n}: Page (perPage: 10) {\n        pageInfo {\n          total\n        }\n        results: media (type: ${n.toUpperCase()}, search: $search) {\n          id\n          siteUrl\n          idMal\n          title {\n            userPreferred\n            romaji\n            english\n            native\n          }\n          coverImage {\n            medium\n          }\n          type\n          format\n          averageScore\n          startDate {\n            year\n          }\n          synonyms\n        }\n      }\n    }\n  `, r = {
                    search: e
                }, s = yield t.request.xhr("POST", {
                    url: "https://graphql.anilist.co",
                    headers: {
                        "Content-Type": "application/json",
                        Accept: "application/json"
                    },
                    data: JSON.stringify({
                        query: o,
                        variables: r
                    })
                }), l = JSON.parse(s.responseText);
                i.log(l);
                const c = [];
                return a.$.each(l.data[n].results, (function(t, e) {
                    c.push({
                        id: e.id,
                        name: e.title.userPreferred,
                        altNames: Object.values(e.title).concat(e.synonyms),
                        url: e.siteUrl,
                        malUrl: () => e.idMal ? `https://myanimelist.net/${n}/${e.idMal}` : null,
                        image: e.coverImage.medium,
                        media_type: e.format ? (e.format.charAt(0) + e.format.slice(1).toLowerCase()).replace("_", " ") : "",
                        isNovel: "NOVEL" === e.format,
                        score: e.averageScore,
                        year: e.startDate.year
                    });
                })), c;
            }));
        }
    }).call(this, n(0), n(4), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return s;
        }));
        var a = n(5), o = n(7), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const s = function(e, n, s = {}, l = !1) {
            return r(this, void 0, void 0, (function*() {
                return function(e, n, o = {}, r = !0) {
                    const s = {
                        "Content-Type": "application/vnd.api+json",
                        Accept: "application/vnd.api+json"
                    };
                    r && (s.Authorization = "Bearer " + i.settings.get("kitsuToken"));
                    return i.request.xhr(e, {
                        url: n,
                        headers: s,
                        data: JSON.stringify(o)
                    }).then(e => {
                        if (e.status > 499 && e.status < 600 || 0 === e.status) throw {
                            code: a.a.ServerOffline,
                            message: "Server Offline status: " + e.status
                        };
                        const n = JSON.parse(e.responseText);
                        if (void 0 !== n.errors && n.errors.length) {
                            t.error("[META]", "Error", n.errors);
                            const e = n.errors[0];
                            switch (parseInt(e.status)) {
                              case 401:
                              case 403:
                                throw {
                                    code: a.a.NotAutenticated,
                                    message: e.detail
                                };

                              case 404:
                                throw {
                                    code: a.a.EntryNotFound,
                                    message: e.detail
                                };

                              default:
                                throw {
                                    code: e.status,
                                    message: e.detail
                                };
                            }
                        }
                        return n;
                    });
                }("GET", `https://kitsu.io/api/edge/${n}?filter[text]=${e}&page[limit]=10&page[offset]=0&fields[${n}]=id,slug,titles,averageRating,startDate,posterImage,subtype`, {}).then(e => {
                    t.log("search", e);
                    const i = [];
                    return e.data.forEach((function(t) {
                        i.push({
                            id: t.id,
                            name: o.c(t.attributes.titles, t.attributes.canonicalTitle),
                            altNames: Object.values(t.attributes.titles),
                            url: `https://kitsu.io/${n}/${t.attributes.slug}`,
                            malUrl: () => r(this, void 0, void 0, (function*() {
                                const e = yield o.d(t.id, n);
                                return e ? `https://myanimelist.net/${n}/${e}` : null;
                            })),
                            image: t.attributes.posterImage && void 0 !== t.attributes.posterImage.tiny ? t.attributes.posterImage.tiny : "",
                            media_type: t.attributes.subtype,
                            isNovel: "novel" === t.attributes.subtype,
                            score: t.attributes.averageRating,
                            year: t.attributes.startDate
                        });
                    })), i;
                });
            }));
        };
    }).call(this, n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return l;
        }));
        var r = n(8), s = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        function l(e, n, a = {}, o = !1) {
            return c("https://api.simkl.com/search/" + n, {
                q: e
            }, !0).then(e => {
                const a = [];
                return t.log("search", e), i.$.each(e, (function(t, e) {
                    a.push({
                        id: e.ids.simkl_id,
                        name: e.title,
                        altNames: [],
                        url: `https://simkl.com/${n}/${e.ids.simkl_id}/${e.ids.slug}`,
                        malUrl: () => s(this, void 0, void 0, (function*() {
                            const t = yield (i = e.ids.simkl_id, c("https://api.simkl.com/anime/" + i, {
                                extended: "full"
                            }, !0).then(t => void 0 === t.ids.mal ? null : t.ids.mal));
                            var i;
                            return t ? `https://myanimelist.net/${n}/${t}` : null;
                        })),
                        image: `https://simkl.in/posters/${e.poster}_cm.jpg`,
                        media_type: e.type,
                        isNovel: !1,
                        score: null,
                        year: e.year
                    });
                })), a;
            });
        }
        function c(e, n = {}, l = !1, d = "GET", m = !0) {
            return s(this, void 0, void 0, (function*() {
                l && (e += "?" + i.$.param(n)), t.log("call", d, e, n);
                const u = {
                    Authorization: m ? "Bearer " + a.settings.get("simklToken") : void 0,
                    "simkl-api-key": r.b,
                    Accept: "application/vnd.api+json",
                    "Content-Type": "application/json"
                };
                return m || t.log("No login"), a.request.xhr(d, {
                    url: e,
                    headers: u,
                    data: n
                }).then(i => s(this, void 0, void 0, (function*() {
                    switch (i.status) {
                      case 200:
                      case 201:
                      case 204:
                      case 302:
                        break;

                      case 401:
                        if (m) return c(e, n, l, d, !1);
                        throw o.flashm('Please Authenticate <a target="_blank" href="https://simkl.com/oauth/authorize?response_type=code&client_id=39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0&redirect_uri=https://simkl.com/apps/chrome/mal-sync/connected/">Here</a>', {
                            error: !0,
                            type: "error"
                        }), r();

                      default:
                        throw o.flashm("Simkl: " + a(), {
                            error: !0,
                            type: "error"
                        }), r();
                    }
                    try {
                        return JSON.parse(i.responseText);
                    } catch (e) {
                        throw t.error(i), e;
                    }
                    function a() {
                        return JSON.parse(i.responseText).error;
                    }
                    function r() {
                        return {
                            status: i.status,
                            message: a()
                        };
                    }
                })));
            }));
        }
    }).call(this, n(4), n(2), n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return r;
        }));
        var o = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class r {
            constructor(e, n) {
                return this.cacheKey = e, this.type = n, this.logger = t.m("Rules"), this;
            }
            init() {
                return o(this, void 0, void 0, (function*() {
                    if (this.state = yield this.getCache(), !this.state || "firebase" === this.state.provider && this.state.updated && this.state.updated + 6048e5 < (new Date).getTime()) {
                        const t = yield this.api();
                        t && (this.state = t);
                    }
                    return this.logger.m("Result").log(this.state), this.state && (yield this.setCache(this.state)), 
                    this;
                }));
            }
            getRules() {
                return this.state && this.state.rules && this.state.rules.length ? this.state.rules : [];
            }
            api() {
                return o(this, void 0, void 0, (function*() {
                    const t = this.logger.m("API");
                    try {
                        if ("anime" !== this.type) return void t.info("Only supports anime");
                        if (String(this.cacheKey).startsWith("simkl:")) return void t.info("Simkl is not supported");
                        const e = "https://api.malsync.moe/rules/" + this.cacheKey;
                        t.log(e);
                        const n = yield i.request.xhr("GET", e);
                        t.log("Response", n);
                        const o = JSON.parse(n.responseText);
                        return {
                            provider: "firebase",
                            updated: (new Date).getTime(),
                            last_modified: o.last_modified,
                            rules: o.rules.map(t => ({
                                from: {
                                    title: t.from.title,
                                    url: a.pageUrl(o.page, this.type, t.from.id),
                                    start: t.from.start,
                                    end: t.from.end
                                },
                                to: {
                                    title: t.to.title,
                                    url: a.pageUrl(o.page, this.type, t.to.id),
                                    start: t.to.start,
                                    end: t.to.end
                                }
                            }))
                        };
                    } catch (e) {
                        return void t.error(e);
                    }
                }));
            }
            getCache() {
                return o(this, void 0, void 0, (function*() {
                    return i.storage.get(`${this.type}/${this.cacheKey}/Rules`).then(t => (t && (t.cache = !0), 
                    t));
                }));
            }
            setCache(t) {
                return t = JSON.parse(JSON.stringify(t)), i.storage.set(`${this.type}/${this.cacheKey}/Rules`, t);
            }
            applyRules(t, e) {
                const n = this.logger.m("apply");
                this.activeRule = void 0, e || (e = this.getRules()), n.log(t, e);
                const i = e.find(e => e.from.start <= t && e.from.end >= t);
                if (i) return n.log("Rule found", i), this.activeRule = i, {
                    url: i.to.url,
                    offset: i.to.start - i.from.start
                };
                if (e.length > 1) {
                    const i = e.find(e => e.from.url === e.to.url && t > e.from.end);
                    if (i) {
                        const a = i.to.start - i.from.start, o = t + a;
                        n.log("Self Rule", i, o, a);
                        const r = this.applyRules(o, e.filter(t => t.from.url !== t.to.url));
                        if (r) return r.offset += a, r;
                    }
                }
            }
        }
    }).call(this, n(4), n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return m;
        }));
        var r = n(25), s = n(116), l = n(32), c = n(9), d = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class m {
            constructor(e) {
                let n;
                this.url = e, this.page = null, this.id = null, this.type = null, this.username = null, 
                e.indexOf("myanimelist.net/anime.php") > -1 && (n = "/anime/" + t.urlParam(this.url, "id"), 
                window.history.replaceState(null, null, n), this.url = t.absoluteLink(n, "https://myanimelist.net")), 
                e.indexOf("myanimelist.net/manga.php") > -1 && (n = "/manga/" + t.urlParam(this.url, "id"), 
                window.history.replaceState(null, null, n), this.url = t.absoluteLink(n, "https://myanimelist.net"));
                const i = t.urlPart(this.url, 3);
                "anime" !== i && "manga" !== i || (this.page = "detail", this.id = Number(t.urlPart(this.url, 4)), 
                this.type = i), "animelist" !== i && "mangalist" !== i || (this.page = "bookmarks", 
                this.username = t.urlPart(this.url, 4), this.type = "animelist" === i ? "anime" : "manga"), 
                "character" === i && (this.page = "character"), "people" === i && (this.page = "people"), 
                "search" === i && (this.page = "search");
            }
            init() {
                switch (i.log(this), this.page) {
                  case "detail":
                    this.thumbnails(), this.streamingUI(), this.malToKiss(), this.related(), this.friendScore(), 
                    this.relatedTag();
                    break;

                  case "bookmarks":
                    $(document).ready(() => {
                        $("#mal_cs_powered").length ? this.page = "classic" : this.page = "modern", this.init();
                    });
                    break;

                  case "modern":
                  case "classic":
                    this.bookmarks();
                    break;

                  case "character":
                  case "people":
                    this.relatedTag();

                  case "search":
                    this.thumbnails();
                    break;

                  default:
                    i.log("This page has no scipt");
                }
            }
            thumbnails() {
                if (i.log("Lazyloaded Images"), this.url.indexOf("/pics") > -1) return;
                if (this.url.indexOf("/pictures") > -1) return;
                if ("0" === a.settings.get("malThumbnail")) return;
                const e = parseInt(a.settings.get("malThumbnail")), n = Math.floor(e / 144 * 100), o = e + 4, r = n + 4;
                a.storage.addStyle(`.picSurround img:not(.noKal){height: ${e}px !important; width: ${n}px !important;}`), 
                a.storage.addStyle(".picSurround img.lazyloaded.kal{width: auto !important;}"), 
                a.storage.addStyle(`.picSurround:not(.noKal) a{height: ${o}px; width: ${r}px; overflow: hidden; display: flex; justify-content: center;}`), 
                a.storage.addStyle(`.picSurround img[src*="userimages"]{max-width: ${n}px !important}`);
                let s = 0;
                try {
                    $(window).load((function() {
                        l();
                    }));
                } catch (t) {
                    i.info(t);
                }
                try {
                    window.onload = function() {
                        l();
                    };
                } catch (t) {
                    i.info(t);
                }
                try {
                    document.onload = function() {
                        l();
                    };
                } catch (t) {
                    i.info(t);
                }
                try {
                    $(document).ready((function() {
                        l();
                    }));
                } catch (t) {
                    i.info(t);
                }
                function l() {
                    if (s) return;
                    s = 1;
                    const e = document.querySelectorAll(".picSurround img:not(.kal)");
                    let n = "";
                    for (let i = 0; i < e.length; i++) {
                        const a = /\/r\/\d*x\d*/g;
                        n = e[i].hasAttribute("data-src") ? e[i].getAttribute("data-src") : e[i].getAttribute("src"), 
                        a.test(n) || /voiceactors.*v.jpg$/g.test(n) || -1 !== n.indexOf("questionmark") ? (n = t.handleMalImages(n), 
                        n.indexOf("100x140") > -1 || (e[i].setAttribute("data-src", n), n = n.replace(/v.jpg$/g, ".jpg"), 
                        e[i].setAttribute("data-srcset", n.replace(a, "")), e[i].classList.add("lazyload")), 
                        e[i].classList.add("kal")) : (e[i].closest(".picSurround").classList.add("noKal"), 
                        e[i].classList.add("kal"), e[i].classList.add("noKal"));
                    }
                }
            }
            bookmarksHDimages() {
                const t = document.querySelectorAll('img[src*="/96x136/"]');
                for (let e = 0; e < t.length; e++) {
                    const n = /\/r\/\d*x\d*/g, i = t[e].getAttribute("src");
                    t[e].setAttribute("src", i.replace(n, ""));
                }
            }
            setEpPrediction(t) {
                t && t.isAiring() && t.getCurrentEpisode() && ($(".mal-sync-pre-remove, .mal-sync-ep-pre").remove(), 
                $("#addtolist").prev().before(o.html(`<div class="mal-sync-pre-remove">${t.getAutoText()}</div>`)), 
                $('[id="curEps"], [id="totalChaps"]').before(o.html(`<span class="mal-sync-ep-pre" title="${t.getAutoText()}">[<span style="border-bottom: 1px dotted ${t.getColor()};">${t.getCurrentEpisode()}</span>]</span> `)));
            }
            malToKiss() {
                return d(this, void 0, void 0, (function*() {
                    $(document).ready(() => {
                        i.log("malToKiss");
                        const e = $('meta[property="og:title"]').first().attr("content").trim();
                        Object(c.a)(this.type, this.id, e).then(e => {
                            let n = "";
                            e.forEach(e => {
                                let i = "";
                                e.links.forEach(t => {
                                    i += `<div class="mal_links"><a target="_blank" href="${t.url}">${t.name}</a></div>`;
                                }), n += `<h2 id="${e.name}Links" class="mal_links"><img src="${t.favicon(e.domain)}"> ${e.name}<span title="${e.name}" class="remove-mal-sync" style="float: right; font-weight: 100; line-height: 2; cursor: pointer; color: grey;">x</span></h2>`, 
                                n += i, n += '<br class="mal_links" />';
                            }), $('h2:contains("Information")').before(o.html(n)), $(".remove-mal-sync").click((function() {
                                const t = $(this).attr("title");
                                Object(c.c)(String(t)), window.location.reload();
                            }));
                        });
                    });
                }));
            }
            streamingUI() {
                return d(this, void 0, void 0, (function*() {
                    i.log("Streaming UI");
                    const e = new r.a(this.url);
                    yield e.update(), this.pageRelation(e);
                    const n = e.getStreamingUrl();
                    n && $(document).ready((function() {
                        return d(this, void 0, void 0, (function*() {
                            $(".breadcrumb").first().append(o.html(`\n        <div class="data title progress" id="mal-sync-stream-div" style="padding-left: 5px; display: inline-block; position: relative; top: -12px; height: 0px;">\n          <a class="mal-sync-stream" title="${n ? n.split("/")[2] : ""}" target="_blank" style="margin: 0 0; display: inline-block; height: 0;" href="${n}">\n            <img style="display: block;" src="${t.favicon(n ? n.split("/")[2] : "")}">\n          </a>\n        </div>`));
                            const r = e.getResumeWatching(), s = e.getContinueWatching();
                            i.log("Resume", r, "Continue", s), s && s.ep === e.getEpisode() + 1 ? $("#mal-sync-stream-div").append(o.html(`<a class="nextStream" title="${a.storage.lang("overview_Continue_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA; display: inline-block; height: 0;" href="${s.url}">\n              <img style="display: block;" src="${a.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n            </a>`)) : r && r.ep === e.getEpisode() && $("#mal-sync-stream-div").append(o.html(`<a class="resumeStream" title="${a.storage.lang("overview_Resume_Episode_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA; display: inline-block; height: 0;" href="${r.url}">\n              <img style="display: block;" src="${a.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n            </a>`));
                        }));
                    })), yield e.initProgress(), this.setEpPrediction(e.getProgress()), setInterval(() => {
                        this.setEpPrediction(e.getProgress());
                    }, 6e4);
                }));
            }
            pageRelation(t) {
                return d(this, void 0, void 0, (function*() {
                    yield t.fillRelations(), t.getPageRelations().forEach(t => {
                        $("#horiznav_nav > ul").append(o.html(`\n          <li style="position: relative; width: 24px; display: inline-block;">\n            <a href="${t.link}" target="_blank" title="${t.name}" class="link" style="position: absolute; bottom: -3px; width: 16px; text-align: center;">\n              <img src="${t.icon}" width="16" width="16">\n            </a>\n          </li>\n        `));
                    });
                }));
            }
            bookmarks() {
                i.log(`Bookmarks [${this.username}][${this.page}]`);
                const e = this, n = new l.a(7, this.type), r = new s.a(7, this.type);
                let c;
                if ("modern" === this.page) c = {
                    bookReady(n) {
                        t.waitUntilTrue((function() {
                            return "none" === $("#loading-spinner").css("display");
                        }), (function() {
                            return d(this, void 0, void 0, (function*() {
                                n(yield r.prepareData($.parseJSON($(".list-table").attr("data-items")))), t.changeDetect(() => {
                                    $(".tags span a").each((function(n) {
                                        if (void 0 !== t.getUrlFromTags($(this).text())) {
                                            const t = $(this).parent().parent().parent().parent();
                                            $(this).parent().remove(), m(e.type, t.find(".title .link").first().attr("href"), $(this).text(), parseInt(t.find(".progress .link").first().text()), t.find(".title .link").first().attr("href").split("/")[1]);
                                        }
                                    }));
                                }, () => $(".list-table > *").length);
                            }));
                        }));
                    },
                    getElement: t => $(`.list-item a[href^="${t}"]`).parent().parent(".list-table-data"),
                    streamingSelector: ".data.title .link",
                    cleanTags() {
                        $(".tags span a").each((function(e) {
                            void 0 !== t.getUrlFromTags($(this).text()) && $(this).parent().remove();
                        }));
                    },
                    predictionPos(t, e) {
                        t.find(".data.progress span, .data.chapter span").first().after(o.html(e));
                    }
                }; else {
                    if ("classic" !== this.page) return void i.error("Bookmark type unknown");
                    c = {
                        bookReady(t) {
                            n.getCompleteList().then(e => {
                                t(e);
                            }).catch(t => {
                                i.error(t), n.flashmError(t);
                            });
                        },
                        getElement: t => $(`a[href^="${t}"]`),
                        streamingSelector: "span",
                        cleanTags() {
                            $('span[id^="tagLinks"] a').each((function(e) {
                                void 0 !== t.getUrlFromTags($(this).text()) && $(this).remove();
                            }));
                        },
                        predictionPos(t, e) {
                            t.parent().parent().find('span[id^="epText"] a span, span[id^="chap"]').first().after(o.html(e));
                        }
                    };
                }
                function m(e, n, r, s, l) {
                    return d(this, void 0, void 0, (function*() {
                        const d = yield t.getEntrySettings(e, l, r);
                        if (d && d.u) {
                            const e = c.getElement(n);
                            e.find(c.streamingSelector).after(o.html(`\n          <a class="mal-sync-stream" title="${d.u.split("/")[2]}" target="_blank" style="margin: 0 0;" href="${d.u}">\n            <img src="${t.favicon(d.u.split("/")[2])}">\n          </a>`));
                            const r = d.r, l = d.c;
                            i.log("Resume", r, "Continue", l), l && l.ep === s + 1 ? e.find(".mal-sync-stream").after(o.html(`<a class="nextStream" title="Continue watching" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${l.url}">\n              <img src="${a.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n            </a>`)) : r && r.ep === s && e.find(".mal-sync-stream").after(o.html(`<a class="resumeStream" title="Resume watching" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${r.url}">\n              <img src="${a.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n            </a>`));
                        }
                    }));
                }
                c.bookReady((function(t) {
                    e.bookmarksHDimages(), $.each(t, (function(t, e) {
                        return d(this, void 0, void 0, (function*() {
                            const t = e.url.replace("https://myanimelist.net", ""), {type: n} = e;
                            if (m(n, t, e.tags, parseInt(e.watchedEp), e.cacheKey), yield e.fn.initProgress(), 
                            e.fn.progress && e.fn.progress.isAiring() && e.fn.progress.getCurrentEpisode()) {
                                const n = c.getElement(t);
                                c.predictionPos(n, `<span class="mal-sync-ep-pre" title="${e.fn.progress.getAutoText()}">[<span style="border-bottom: 1px dotted ${e.fn.progress.getColor()};">${e.fn.progress.getCurrentEpisode()}</span>]</span>`);
                            }
                        }));
                    })), c.cleanTags();
                }));
            }
            related() {
                $(document).ready((function() {
                    $(".anime_detail_related_anime a").each((function() {
                        const e = $(this), n = t.absoluteLink(e.attr("href"), "https://myanimelist.net");
                        void 0 !== n && t.timeCache("MALTAG/" + n, (function() {
                            return d(this, void 0, void 0, (function*() {
                                const e = new r.a(n);
                                return yield e.update(), t.statusTag(e.getStatus(), e.getType(), e.getMalId());
                            }));
                        }), 1728e5).then((function(t) {
                            t && e.append(o.html(t));
                        }));
                    }));
                }));
            }
            relatedTag() {
                const e = this;
                $(document).ready((function() {
                    $("a.button_edit").each((function() {
                        const n = $(this), i = $(this).attr("href") || "", a = t.urlPart(i, 4), r = t.urlPart(i, 5), s = n.attr("title");
                        if (void 0 !== s && s) {
                            const i = String(t.statusTag(s, a, r));
                            "detail" === e.page ? n.parent().find("> a").first().after(o.html(i)) : n.parent().parent().find("> a").after(o.html(i)), 
                            n.remove();
                        }
                    }));
                }));
            }
            friendScore() {
                a.settings.get("friendScore") && $(document).ready((function() {
                    const e = $("h2:contains(Reviews)");
                    if (!e.length) return;
                    const n = $("#horiznav_nav li a").first();
                    if (!n.is("#horiznav_nav li a.horiznav_active")) return;
                    let i = n.attr("href");
                    void 0 !== i && i && (i = t.absoluteLink(i, "https://myanimelist.net"), a.request.xhr("GET", i + "/stats").then(t => {
                        const n = $("a[name=members]", $(t.responseText).children());
                        if (!n) return;
                        const i = n.nextAll();
                        let r = "";
                        i.each((t, e) => {
                            r += e.outerHTML;
                        }), i.length > 1 && i.find('a:contains("All Members")').length && (e.before(o.html(n.html())).before(o.html(r)).before(o.html("<br>")), 
                        $('a:contains("All Members")').after(o.html(' | <span id="mal-sync-removeFriends" title="remove" style="cursor: pointer; color: #1d439b;">X</span>')), 
                        $("#mal-sync-removeFriends").click((function() {
                            a.settings.set("friendScore", !1), window.location.reload();
                        })));
                    }));
                }));
            }
        }
    }).call(this, n(1), n(4), n(0), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return o;
        }));
        var i = n(17), a = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class o extends i.a {
            constructor() {
                super(...arguments), this.name = "MyAnimeList", this.authenticationUrl = "https://myanimelist.net/login.php";
            }
            getUsername() {
                return a(this, void 0, void 0, (function*() {
                    throw "no";
                }));
            }
            errorHandling(e) {
                if (void 0 !== e.errors) throw t.error(e.errors), {
                    code: parseInt(e.errors[0].status),
                    message: e.errors[0].title
                };
            }
            _getSortingOptions() {
                return [ {
                    icon: "sort_by_alpha",
                    title: "Alphabetic",
                    value: "alpha",
                    asc: !0
                }, {
                    icon: "history",
                    title: "Last Updated",
                    value: "updated",
                    asc: !0
                }, {
                    icon: "score",
                    title: "Score",
                    value: "score",
                    asc: !0
                } ];
            }
            getOrder(t) {
                let e = "";
                t.endsWith("_asc") && (e = "-");
                switch (t.replace("_asc", "")) {
                  case "alpha":
                    return e + 1;

                  case "updated":
                    return e + 5;

                  case "score":
                    return e + 4;

                  default:
                    return 1 === this.status || 6 === this.status ? this.getOrder("updated") : this.getOrder("alpha");
                }
            }
            getPart() {
                return a(this, void 0, void 0, (function*() {
                    throw "no";
                }));
            }
            prepareData(t) {
                return a(this, void 0, void 0, (function*() {
                    const e = [];
                    for (let n = 0; n < t.length; n++) {
                        const i = t[n];
                        "anime" === this.listType ? e.push(yield this.fn({
                            uid: i.anime_id,
                            malId: i.anime_id,
                            apiCacheKey: i.anime_id,
                            cacheKey: i.anime_id,
                            type: this.listType,
                            title: i.anime_title,
                            url: "https://myanimelist.net" + i.anime_url,
                            watchedEp: i.num_watched_episodes,
                            totalEp: i.anime_num_episodes,
                            status: i.status,
                            score: i.score,
                            image: i.anime_image_path,
                            tags: i.tags,
                            airingState: i.anime_airing_status
                        })) : e.push(yield this.fn({
                            uid: i.manga_id,
                            malId: i.manga_id,
                            apiCacheKey: i.manga_id,
                            cacheKey: i.manga_id,
                            type: this.listType,
                            title: i.manga_title,
                            url: "https://myanimelist.net" + i.manga_url,
                            watchedEp: i.num_read_chapters,
                            totalEp: i.manga_num_chapters,
                            status: i.status,
                            score: i.score,
                            image: i.manga_image_path,
                            tags: i.tags,
                            airingState: i.anime_airing_status
                        }));
                    }
                    return e;
                }));
            }
        }
    }).call(this, n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return m;
        }));
        var r = n(93), s = n(35), l = n(33), c = n(9), d = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class m {
            constructor(e) {
                this.url = e, this.page = null, this.tempAnimelist = null, this.tempMangalist = null;
                let a = !0;
                t.changeDetect(() => {
                    this.url = window.location.href, this.init();
                }, () => {
                    if (a) return void (a = !1);
                    if (null !== this.page && "bookmarks" === this.page.page && $(".lists").length) return $(".lists").first().height();
                    let t = $('meta[property="og:url"]').attr("content");
                    return void 0 !== t && t.split("/").length > 4 ? t.split("/").slice(0, 6).join("/") : (t = window.location.href, 
                    t);
                }), this.url.indexOf("access_token=") > -1 && this.init(), i.storage.addStyle(n(291).toString());
            }
            init() {
                this.url.indexOf("access_token=") > -1 && this.authentication();
                const e = t.urlPart(this.url, 3);
                "anime" !== e && "manga" !== e || (this.page = {
                    page: "detail",
                    id: t.urlPart(this.url, 4),
                    apiCacheKey: NaN,
                    type: e
                }, this.streamingUI(), r.a(this.page.id, this.page.type).then(t => {
                    this.page.apiCacheKey = t || "anilist:" + this.page.id, a.log("page", this.page), 
                    this.malToKiss();
                }));
                const n = t.urlPart(this.url, 5);
                "animelist" !== n && "mangalist" !== n || (this.page = {
                    page: "bookmarks",
                    type: n.substring(0, 5)
                }, this.bookmarks());
            }
            authentication() {
                return d(this, void 0, void 0, (function*() {
                    try {
                        t.checkDoubleExecution();
                    } catch (t) {
                        a.error(t);
                    }
                    const e = /access_token=[^&]+/gi.exec(this.url);
                    if (null !== e && void 0 !== e[0] && e[0]) {
                        const t = e[0].toString().replace(/access_token=/gi, "");
                        a.log("Token Found", t), yield i.settings.set("anilistToken", t), $(document).ready((function() {
                            $(".page-content .container").html(o.html(`\n          <div style="text-align: center; margin-top: 50px; background-color: white; border: 1px solid lightgrey; padding: 10px;">\n            <h1>MAL-Sync</h1>\n            <br>\n            ${i.storage.lang("anilistClass_authentication")}\n          </div>\n        `));
                        }));
                    }
                }));
            }
            getMalUrl() {
                return d(this, void 0, void 0, (function*() {
                    const e = t.urlPart(this.url, 3);
                    if ("anime" === e || "manga" === e) {
                        const n = t.urlPart(this.url, 4);
                        return r.a(Number(n), e).then(n => n ? `https://myanimelist.net/${e}/${n}/${t.urlPart(this.url, 5)}` : "");
                    }
                    return "";
                }));
            }
            malToKiss() {
                $(document).ready(() => {
                    a.log("malToKiss"), $(".mal_links").remove();
                    const e = $("h1").first().clone().children().remove().end().text().trim();
                    Object(c.a)(this.page.type, this.page.apiCacheKey, e).then(e => {
                        let n = "";
                        e.forEach(e => {
                            let i = "";
                            e.links.forEach(t => {
                                i += `\n              <div class="mal_links" style="margin-top: 5px;">\n                <a target="_blank" href="${t.url}">\n                  ${t.name}\n                </a>\n              </div>`;
                            }), n += `\n            <div id="${e.name}Links" class="mal_links" style="\n              background: rgb(var(--color-foreground));\n              border-radius: 3px;\n              display: block;\n              padding: 8px 12px;\n              width: 100%;\n              margin-bottom: 16px;\n              font-size: 1.2rem;\n\n            ">\n              <img src="${t.favicon(e.domain)}">\n              <span style="font-weight: 500; line-height: 16px; vertical-align: middle;">${e.name}</span>\n              <span title="${e.name}" class="remove-mal-sync" style="float: right; cursor: pointer;">x</span>\n              ${i}\n            </div>`;
                        }), $(".mal_links").remove(), $(".sidebar .data").before(o.html(n)), $(".remove-mal-sync").click((function() {
                            const t = $(this).attr("title");
                            Object(c.c)(String(t)), window.location.reload();
                        }));
                    });
                });
            }
            streamingUI() {
                return d(this, void 0, void 0, (function*() {
                    a.log("Streaming UI"), $("#mal-sync-stream-div").remove(), $(".malsync-rel-link").remove();
                    const e = new s.a(this.url);
                    yield e.update(), this.pageRelation(e);
                    const n = e.getStreamingUrl();
                    n && $(document).ready((function() {
                        return d(this, void 0, void 0, (function*() {
                            $("#mal-sync-stream-div").remove(), $("h1").first().append(o.html(`\n        <div class="data title progress" id="mal-sync-stream-div" style="margin-top: -2px; display: inline-block; position: relative; top: 2px;">\n          <a class="mal-sync-stream" title="${n ? n.split("/")[2] : ""}" target="_blank" style="margin: 0 0;" href="${n}">\n            <img src="${t.favicon(n ? n.split("/")[2] : "")}">\n          </a>\n        </div>`));
                            const r = e.getResumeWatching(), s = e.getContinueWatching();
                            a.log("Resume", r, "Continue", s), s && s.ep === e.getEpisode() + 1 ? $("#mal-sync-stream-div").append(o.html(`<a class="nextStream" title="${i.storage.lang("overview_Continue_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${s.url}">\n              <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n            </a>`)) : r && r.ep === e.getEpisode() && $("#mal-sync-stream-div").append(o.html(`<a class="resumeStream" title="${i.storage.lang("overview_Resume_Episode_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${r.url}">\n              <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n            </a>`));
                        }));
                    }));
                }));
            }
            pageRelation(t) {
                return d(this, void 0, void 0, (function*() {
                    yield t.fillRelations(), $(".malsync-rel-link").remove(), $("h1").first().append(o.html('<div class="malsync-rel-link" style="float: right;"></div>')), 
                    t.getPageRelations().forEach(t => {
                        $(".malsync-rel-link").append(o.html(`\n          <a href="${t.link}" target="_blank" title="${t.name}" class="link">\n            <img src="${t.icon}" width="16" width="16">\n          </a>\n\n        `));
                    });
                }));
            }
            bookmarks() {
                const e = this;
                $(document).ready(() => {
                    if ($(".list-entries .entry, .list-entries .entry-card").not(".malSyncDone").each((t, e) => {
                        $(e).addClass("malSyncDone");
                        let n = $(e).find(".notes").first().attr("label");
                        void 0 !== n && (n = n.replace(/(malSync|last)::[\d\D]+::/, "").replace(/#,/, ""), 
                        "" === n.trim() || "," === n.trim() ? $(e).find(".notes").first().css("visibility", "hidden") : $(e).find(".notes").first().attr("label", n));
                    }), "anime" === this.page.type) {
                        if (null !== this.tempAnimelist) return void r(this.tempAnimelist);
                    } else if (null !== this.tempMangalist) return void r(this.tempMangalist);
                    const n = new l.a(1, this.page.type);
                    function r(n) {
                        a.log(n), $.each(n, (n, r) => d(this, void 0, void 0, (function*() {
                            const n = $(`.entry:not(.malSyncDone2) a[href^="/${e.page.type}/${r.uid}/"], .entry-card:not(.malSyncDone2) a[href^="/${e.page.type}/${r.uid}/"]`);
                            if (n.length) {
                                const e = n.first().parent();
                                e.parent().addClass("malSyncDone2"), r.options && r.options.u && (a.log(r.options.u), 
                                e.find("a").first().after(o.html(`\n                <a class="mal-sync-stream mal-rem" title="${r.options.u.split("/")[2]}" target="_blank" style="margin: 0 0; max-height: 14px;" href="${r.options.u}">\n                  <img src="${t.favicon(r.options.u.split("/")[2])}">\n                </a>`)));
                                const s = r.options.r, l = r.options.c, c = r.watchedEp;
                                a.log("Resume", s, "Continue", l), l && l.ep === c + 1 ? e.prepend(o.html(`<a class="nextStream mal-rem" title="Continue watching" target="_blank" style="margin: -2px 5px 0 0; color: #BABABA;" href="${l.url}">\n                  <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n                </a>`)) : s && s.ep === c && e.prepend(o.html(`<a class="resumeStream mal-rem" title="Resume watching" target="_blank" style="margin: -2px 5px 0 0; color: #BABABA;" href="${s.url}">\n                  <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n                </a>`)), 
                                yield r.fn.initProgress(), r.fn.progress && r.fn.progress.isAiring() && r.fn.progress.getCurrentEpisode() && e.parent().find(".progress").first().append(o.html(` <span class="mal-sync-ep-pre" title="${r.fn.progress.getAutoText()}">[<span style="border-bottom: 1px dotted ${r.fn.progress.getColor()};">${r.fn.progress.getCurrentEpisode()}</span>]</span>`));
                            }
                        })));
                    }
                    n.getCompleteList().then(t => {
                        "anime" === this.page.type ? this.tempAnimelist = t : this.tempMangalist = t, r(t);
                    }).catch(t => {
                        a.error(t), n.flashmError(t);
                    });
                });
            }
        }
    }).call(this, n(1), n(0), n(4), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return d;
        }));
        var r = n(36), s = n(34), l = n(9), c = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class d {
            constructor(e) {
                this.url = e, this.page = null, this.same = !1, this.tempAnimelist = null, this.tempMangalist = null;
                let a = window.location.href.split("/").slice(0, 5).join("/");
                t.changeDetect(() => {
                    if (this.same = !1, null !== this.page && "detail" === this.page.page) {
                        const t = window.location.href.split("/").slice(0, 5).join("/");
                        t === a && (this.same = !0), a = t;
                    }
                    this.url = window.location.href, this.init();
                }, () => null !== this.page && "bookmarks" === this.page.page && $(".library-content").length ? $(".library-content").first().height() : window.location.href), 
                $(document).ready(() => {
                    t.waitUntilTrue((function() {
                        return $(".global-container").length;
                    }), () => {
                        this.init();
                    });
                }), i.storage.addStyle(n(293).toString());
            }
            init() {
                return c(this, void 0, void 0, (function*() {
                    this.url.indexOf("?mal-sync=authentication") > -1 && this.authentication();
                    const e = t.urlPart(this.url, 3);
                    if ("anime" === e || "manga" === e) {
                        if (this.same && void 0 !== this.page && "undefined" !== this.page.malObj) return this.streamingUI(), 
                        this.malToKiss(), void this.pageRelation();
                        const t = new r.a(this.url);
                        yield t.update(), this.page = {
                            page: "detail",
                            id: t.getIds().kitsu.id,
                            malid: t.getIds().mal,
                            apiCacheKey: t.getApiCacheKey(),
                            type: e,
                            malObj: t
                        }, a.log("page", this.page), this.streamingUI(), this.malToKiss(), this.pageRelation();
                    }
                    if ("library" === t.urlPart(this.url, 5)) {
                        let e = "anime";
                        "manga" === t.urlParam(this.url, "media") && (e = "manga"), this.page = {
                            page: "bookmarks",
                            type: e
                        }, a.log("page", this.page), this.bookmarks();
                    }
                }));
            }
            authentication() {
                try {
                    t.checkDoubleExecution();
                } catch (t) {
                    a.error(t);
                }
                $(document).ready((function() {
                    $("body").after(o.html(`\n        <div id="mal-sync-login" style="text-align: center; margin-top: 50px; background-color: white; border: 1px solid lightgrey; padding: 10px; max-width: 600px; margin-left: auto; margin-right: auto;">\n          <h1>MAL-Sync</h1>\n          <br>\n          <p style="text-align: left;">\n            ${i.storage.lang("kitsuClass_authentication_text")}\n          </p>\n          <div class="modal-content">\n            <input type="email" id="email" placeholder="Email" required>\n            <input type="password" id="pass" name="password" placeholder="${i.storage.lang("kitsuClass_authentication_Password")}" required>\n          </div>\n          <div class="form-cta" style="margin-top: 30px;">\n            <button class="btn button--primary" type="submit" id="mal-sync-button">\n              ${i.storage.lang("kitsuClass_authentication_Login")}\n            </button>\n          </div>\n        </div>\n      `)), 
                    $("#mal-sync-login #mal-sync-button").click((function() {
                        $("#mal-sync-login #mal-sync-button").attr("disabled", "disabled"), $.ajax({
                            type: "POST",
                            url: "https://kitsu.io/api/oauth/token",
                            data: `grant_type=password&username=${encodeURIComponent(String($("#mal-sync-login #email").val()))}&password=${encodeURIComponent(String($("#mal-sync-login #pass").val()))}`,
                            success(t) {
                                return c(this, void 0, void 0, (function*() {
                                    const e = t.access_token;
                                    e && (a.info("token", e), yield i.settings.set("kitsuToken", e), $("#mal-sync-login").html(o.html("<h1>MAL-Sync</h1><br>" + i.storage.lang("kitsuClass_authentication_Success"))));
                                }));
                            },
                            error(e) {
                                try {
                                    if (a.error(e), $("#mal-sync-login #mal-sync-button").prop("disabled", !1), "invalid_grant" === e.responseJSON.error) return void t.flashm(i.storage.lang("kitsuClass_authentication_Wrong"));
                                    t.flashm(e.responseJSON.error_description);
                                } catch (n) {
                                    a.error(n), t.flashm(e.responseText);
                                }
                            }
                        });
                    })), t.waitUntilTrue((function() {
                        return $("body h1").length;
                    }), () => {
                        $("body h1").remove();
                    });
                }));
            }
            getMalUrl() {
                return c(this, void 0, void 0, (function*() {
                    return null !== this.page && "detail" === this.page.page && this.page.malid ? `https://myanimelist.net/${this.page.type}/${this.page.malid}/${t.urlPart(this.url, 5)}` : "";
                }));
            }
            streamingUI() {
                return c(this, void 0, void 0, (function*() {
                    a.log("Streaming UI"), $("#mal-sync-stream-div").remove();
                    const {malObj: e} = this.page, n = e.getStreamingUrl();
                    n && $(document).ready((function() {
                        return c(this, void 0, void 0, (function*() {
                            $(".media--title h3").first().after(o.html(`\n        <div class="data title progress" id="mal-sync-stream-div" style="display: inline-block; position: relative; top: -4px; display: inline;">\n          <a class="mal-sync-stream" title="${n.split("/")[2]}" target="_blank" style="margin: 0 0;" href="${n}">\n            <img src="${t.favicon(n.split("/")[2])}">\n          </a>\n        </div>`));
                            const r = e.getResumeWatching(), s = e.getContinueWatching();
                            a.log("Resume", r, "Continue", s), s && s.ep === e.getEpisode() + 1 ? $("#mal-sync-stream-div").append(o.html(`<a class="nextStream" title="${i.storage.lang("overview_Continue_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${s.url}">\n              <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n            </a>`)) : r && r.ep === e.getEpisode() && $("#mal-sync-stream-div").append(o.html(`<a class="resumeStream" title="${i.storage.lang("overview_Resume_Episode_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${r.url}">\n              <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n            </a>`));
                        }));
                    }));
                }));
            }
            malToKiss() {
                $(document).ready(() => {
                    a.log("malToKiss"), $(".mal_links").remove();
                    const e = $('meta[property="og:title"]').attr("content");
                    Object(l.a)(this.page.type, this.page.apiCacheKey, e).then(e => {
                        let n = "";
                        e.forEach(e => {
                            let i = "";
                            e.links.forEach(t => {
                                i += `\n              <div class="mal_links" style="margin-top: 5px;">\n                <a target="_blank" href="${t.url}">\n                  ${t.name}\n                </a>\n              </div>`;
                            }), n += `\n            <div id="${e.name}Links" class="mal_links library-state with-header" style="\n              background: white;\n              margin-bottom: 15px;\n              border-radius: 3px;\n              display: block;\n              padding: 8px 12px;\n              width: 100%;\n              font-size: 12px;\n\n            ">\n              <img src="${t.favicon(e.domain)}">\n              <span style="font-weight: 500; line-height: 16px; vertical-align: middle;">${e.name}</span>\n              <span title="${e.name}" class="remove-mal-sync" style="float: right; cursor: pointer;">x</span>\n              ${i}\n            </div>`;
                        }), $("#mal-sync-search-links").length ? $("#mal-sync-search-links").first().after(o.html(n)) : $(".media-summary").first().after(o.html(n)), 
                        $(".remove-mal-sync").click((function() {
                            const t = $(this).attr("title");
                            Object(l.c)(String(t)), window.location.reload();
                        }));
                    });
                });
            }
            pageRelation() {
                return c(this, void 0, void 0, (function*() {
                    $(".malsync-rel-link").remove(), yield this.page.malObj.fillRelations(), $(".media-summary h5").first().append(o.html('<div class="malsync-rel-link" style="display: inline-block; margin: 0 5px; vertical-align: bottom;"></div>')), 
                    this.page.malObj.getPageRelations().forEach(t => {
                        $(".malsync-rel-link").append(o.html(`\n          <a href="${t.link}" target="_blank" title="${t.name}" class="link">\n            <img src="${t.icon}" width="16" height="16">\n          </a>\n\n        `));
                    });
                }));
            }
            bookmarks() {
                const e = this;
                $(document).ready(() => {
                    if ("anime" === this.page.type) {
                        if (null !== this.tempAnimelist) return void r(this.tempAnimelist);
                    } else if (null !== this.tempMangalist) return void r(this.tempMangalist);
                    const n = new s.a(1, this.page.type);
                    function r(n) {
                        let r = !0;
                        $(".library-list tbody tr").length && (r = !1), a.log(n), $.each(n, (n, s) => c(this, void 0, void 0, (function*() {
                            if (a.log("en", s), void 0 !== s.malId && null !== s.malId && s.malId) {
                                const n = $(`.library-grid-popover:not(.malSyncDone2) a[href^="/${e.page.type}/${s.kitsuSlug}"], .library-list tbody tr:not(.malSyncDone2) a[href^="/${e.page.type}/${s.kitsuSlug}"]`).first().parent().parent().parent();
                                a.log(n), n.addClass("malSyncDone2"), s.options && s.options.u && (a.log(s.options.u), 
                                r ? n.prepend(o.html(`\n                  <a class="mal-sync-stream mal-rem" title="${s.options.u.split("/")[2]}" target="_blank" style="margin: 0 0; z-index: 22; position:absolute; left: 0px; top: 0px; background-color: #ffffff5c; padding: 0 5px 3px 5px;" href="${s.options.u}">\n                    <img src="${t.favicon(s.options.u.split("/")[2])}">\n                  </a>`)) : n.find(".title-wrapper").append(o.html(`\n                  <a class="mal-sync-stream mal-rem" title="${s.options.u.split("/")[2]}" target="_blank" style="padding: 0 5px;" href="${s.options.u}">\n                    <img src="${t.favicon(s.options.u.split("/")[2])}">\n                  </a>`)));
                                const l = s.options.r, c = s.options.c, d = s.watchedEp;
                                a.log("Resume", l, "Continue", c), c && c.ep === d + 1 ? r ? n.prepend(o.html(`<a class="nextStream mal-rem" title="Continue watching" target="_blank" style="color: #BABABA; z-index: 22; position:absolute; top: 0px; left: 26px; background-color: #ffffff5c; padding: 0 5px 3px 5px;" href="${c.url}">\n                    <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n                  </a>`)) : n.find(".title-wrapper").append(o.html(`<a class="nextStream mal-rem" title="Continue watching" target="_blank" style="padding: 0;" href="${c.url}">\n                    <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n                  </a>`)) : l && l.ep === d && (r ? n.prepend(o.html(`<a class="resumeStream mal-rem" title="Resume watching" target="_blank" style="color: #BABABA; z-index: 22; position:absolute; top: 0px; left: 26px; background-color: #ffffff5c; padding: 0 5px 3px 5px;" href="${l.url}">\n                    <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n                  </a>`)) : n.find(".title-wrapper").append(o.html(`<a class="resumeStream mal-rem" title="Resume watching" target="_blank" style="padding: 0;" href="${l.url}">\n                    <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n                  </a>`))), 
                                yield s.fn.initProgress(), s.fn.progress && s.fn.progress.isAiring() && s.fn.progress.getCurrentEpisode() && n.parent().find(".entry-unit, .progress-cell > span:last-of-type").first().append(o.html(` <span class="mal-sync-ep-pre" title="${s.fn.progress.getAutoText()}">[<span style="border-bottom: 1px dotted ${s.fn.progress.getColor()};">${s.fn.progress.getCurrentEpisode()}</span>]</span>`));
                            }
                        })));
                    }
                    n.getCompleteList().then(t => {
                        "anime" === this.page.type ? this.tempAnimelist = t : this.tempMangalist = t, r(t);
                    }).catch(t => {
                        a.error(t), n.flashmError(t);
                    });
                });
            }
        }
    }).call(this, n(1), n(0), n(4), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return p;
        }));
        var r = n(27), s = n(37), l = n(29), c = n(87), d = n(256), m = n(9), u = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class p {
            constructor(e) {
                this.url = e, this.page = null, t.urlChangeDetect(() => {
                    clearInterval(this.interval), this.interval = t.waitUntilTrue((function() {
                        return !($("#global_div").length && 1 !== parseInt($("#global_div").css("opacity")) || $("#tvMainTable").length && 1 !== parseInt($("#tvMainTable").css("opacity")));
                    }), () => {
                        this.url = window.location.href, this.init();
                    }, 1e3);
                }), i.storage.addStyle(n(297).toString()), $(document).ready(() => {
                    this.init();
                });
            }
            init() {
                return u(this, void 0, void 0, (function*() {
                    a.log(this.url), clearInterval(this.interval2), this.url.indexOf("apps/chrome/mal-sync") > -1 && this.authentication();
                    const e = t.urlPart(this.url, 3), n = t.urlPart(this.url, 4);
                    if (("anime" === e || "manga" === e) && !Number.isNaN(Number(n))) {
                        const t = new s.a(this.url);
                        return yield t.update(), this.page = {
                            page: "detail",
                            id: t.getIds().simkl,
                            malid: t.getIds().mal,
                            type: e,
                            malObj: t
                        }, a.log("page", this.page), $("#malkiss").length || $(".SimklTVAboutBlockTitle, .simkltvdetailmobilesummaryinfo").after(o.html('<div id="malkiss"></div>')), 
                        this.malkiss && this.malkiss.$destroy(), this.malkiss = new r.a({
                            el: "#malkiss",
                            render: t => t(d.a)
                        }).$children[0], this.streamingUI(), this.malToKiss(), void this.pageRelation();
                    }
                    if ("anime" !== e && "manga" !== e || "all" !== n || (this.page = {
                        page: "bookmarks",
                        type: e
                    }, this.bookmarksAnime()), "anime" === n || "manga" === n) {
                        "watching" === t.urlPart(this.url, 5) && (this.page = {
                            page: "bookmarks",
                            type: n
                        }, this.bookmarksProfile());
                    }
                }));
            }
            getMalUrl() {
                return u(this, void 0, void 0, (function*() {
                    const e = t.urlPart(this.url, 3);
                    if ("anime" === e || "manga" === e) {
                        const n = t.urlPart(this.url, 4);
                        return c.c(n).then(n => n ? `https://myanimelist.net/${e}/${n}/${t.urlPart(this.url, 5)}` : "");
                    }
                    return "";
                }));
            }
            authentication() {
                try {
                    t.checkDoubleExecution();
                } catch (t) {
                    a.error(t);
                }
                try {
                    const n = t.urlParam(this.url, "code");
                    if (!n) throw "No code found!";
                    c.a("https://api.simkl.com/oauth/token", JSON.stringify({
                        code: n,
                        client_id: c.b,
                        client_secret: "3f883e8e6cdd60d2d5e765aaf0612953f743dc77f44c422af98b38e083cf038b",
                        redirect_uri: "https://simkl.com/apps/chrome/mal-sync/connected/",
                        grant_type: "authorization_code"
                    }), !1, "POST").then(t => {
                        if (void 0 !== t.error || void 0 === t.access_token) throw t;
                        return i.settings.set("simklToken", t.access_token);
                    }).then(t => {
                        $(".firstStage").addClass("HideImportant"), $(".secondStage").removeClass("HideImportant"), 
                        $(".secondStage .SimklTVKodiheaddesc").css("text-align", "center");
                    }).catch(t => {
                        e(t);
                    });
                } catch (t) {
                    e(t);
                }
                function e(t) {
                    a.error(t), $(".firstStage .SimklTVKodititletext, .secondStage .SimklTVKodititletext").text("Something went wrong");
                }
            }
            streamingUI() {
                return u(this, void 0, void 0, (function*() {
                    a.log("Streaming UI");
                    const {malObj: t} = this.page, e = t.getStreamingUrl();
                    if (void 0 !== e) {
                        this.malkiss.streamUrl = e;
                        const n = t.getResumeWatching(), i = t.getContinueWatching();
                        a.log("Resume", n, "Continue", i), i && i.ep === t.getEpisode() + 1 ? this.malkiss.continueUrl = i.url : n && n.ep === t.getEpisode() && (this.malkiss.resumeUrl = n.url);
                    } else this.malkiss.streamUrl = null;
                }));
            }
            malToKiss() {
                a.log("malToKiss");
                const t = $("h1").first().text().trim();
                Object(m.a)(this.page.type, this.page.malid, t).then(t => {
                    this.malkiss.links = t;
                });
            }
            pageRelation() {
                return u(this, void 0, void 0, (function*() {
                    yield this.page.malObj.fillRelations(), this.malkiss.pageRelation = this.page.malObj.getPageRelations();
                }));
            }
            bookmarksProfile() {
                const e = new l.a(1, this.page.type);
                e.getCompleteList().then(e => {
                    $.each(e, (e, n) => u(this, void 0, void 0, (function*() {
                        a.log("en", n);
                        const e = $(`a[href^="/${this.page.type}/${n.uid}"]`);
                        if (e && !e.hasClass("malSyncDone2") && (e.addClass("malSyncDone2"), n.options && n.options.u)) {
                            a.log(n.options.u), e.after(o.html(`\n            <a class="mal-sync-stream mal-rem" onclick="event.stopPropagation();" title="${n.options.u.split("/")[2]}" target="_blank" style="display: inline-block; height: 0; position: relative; top: -11px; margin-left: 5px;" href="${n.options.u}">\n              <img src="${t.favicon(n.options.u.split("/")[2])}">\n            </a>`));
                            const r = n.options.r, s = n.options.c, l = n.watchedEp;
                            a.log("Resume", r, "Continue", s), s && s.ep === l + 1 ? e.parent().append(o.html(`<a class="nextStream mal-rem" onclick="event.stopPropagation();" title="Continue watching" target="_blank" style="display: inline-block; height: 0; position: relative; top: -11px; margin-left: 5px; color: #BABABA;" href="${s.url}">\n                <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n              </a>`)) : r && r.ep === l && e.parent().append(o.html(`<a class="resumeStream mal-rem" onclick="event.stopPropagation();" title="Resume watching" target="_blank" style="display: inline-block; height: 0; position: relative; top: -11px; margin-left: 5px; color: #BABABA;" href="${r.url}">\n                <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n              </a>`));
                        }
                    })));
                }).catch(t => {
                    a.error(t), e.flashmError(t);
                });
            }
            bookmarksAnime() {
                const e = new l.a(1, this.page.type);
                e.getCompleteList().then(e => {
                    function n() {
                        a.info("list"), $.each(e, (e, n) => u(this, void 0, void 0, (function*() {
                            const e = $("#c" + n.uid);
                            if (e && e.length && !e.hasClass("malSyncDone2") && (e.addClass("malSyncDone2").css("position", "relative"), 
                            n.options && n.options.u)) {
                                a.log(n.options.u), e.append(o.html(`\n              <a class="mal-sync-stream mal-rem" onclick="event.stopPropagation();" title="${n.options.u.split("/")[2]}" target="_blank" style="position: absolute; z-index: 10; right: 0; top: 0; background-color: #00000057; padding: 5px;" href="${n.options.u}">\n                <img src="${t.favicon(n.options.u.split("/")[2])}">\n              </a>`));
                                const r = n.options.r, s = n.options.c, l = n.watchedEp;
                                a.log("Resume", r, "Continue", s), s && s.ep === l + 1 ? e.append(o.html(`<a class="nextStream mal-rem" onclick="event.stopPropagation();" title="Continue watching" target="_blank" style="position: absolute; z-index: 10; right: 0; top: 26px; background-color: #00000057; padding: 5px;" href="${s.url}">\n                  <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n                </a>`)) : r && r.ep === l && e.append(o.html(`<a class="resumeStream mal-rem" onclick="event.stopPropagation();" title="Resume watching" target="_blank" style="position: absolute; z-index: 10; right: 0; top: 26px; background-color: #00000057; padding: 5px;" href="${r.url}">\n                  <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n                </a>`));
                            }
                        })));
                    }
                    n(), this.interval2 = t.changeDetect(() => {
                        n();
                    }, () => $("#tv_best_left_addContainer li").length + $("#tv_best_left_addContainer > div").height());
                }).catch(t => {
                    a.error(t), e.flashmError(t);
                });
            }
        }
    }).call(this, n(1), n(0), n(4), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return s;
        }));
        var r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        function s() {
            return r(this, void 0, void 0, (function*() {
                const e = yield t.storage.get("timestampUpdate/firebaseNotification");
                (void 0 === e || i.$.now() - e > 6e5) && (yield function e() {
                    return r(this, void 0, void 0, (function*() {
                        a.log("checkNotifications");
                        const n = yield t.request.xhr("GET", "https://kissanimelist.firebaseio.com/Data2/Notification/Current.json"), r = parseInt(JSON.parse(n.responseText));
                        Number.isNaN(r) && a.error("Could not read current Notification number"), a.log("Current Notification", r);
                        const s = parseInt(yield t.storage.get("firebaseNotification")), l = s + 1;
                        if (void 0 === s || Number.isNaN(s)) return void t.storage.set("firebaseNotification", r);
                        if (r < l) return void a.log("No new notifications");
                        const c = `https://kissanimelist.firebaseio.com/Data2/Notification/list/N${l}.json`, d = yield t.request.xhr("GET", c);
                        if (!d) return;
                        const m = JSON.parse(d.responseText);
                        if (!m) return a.info("Notification empty", d.responseText), void t.storage.set("firebaseNotification", l).then((function() {
                            e();
                        }));
                        i.$(document).ready((function() {
                            const n = o.flashm(`<div style="text-align: left;">${m}</div><button class="okChangelog" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px;cursor: pointer;">Close</button>`, {
                                permanent: !0,
                                position: "top"
                            });
                            n.find(".okChangelog").click((function() {
                                n.remove(), t.storage.set("firebaseNotification", l).then((function() {
                                    e();
                                }));
                            }));
                        }));
                    }));
                }(), t.storage.set("timestampUpdate/firebaseNotification", i.$.now()));
            }));
        }
    }).call(this, n(0), n(2), n(4), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "9anime",
            domain: "https://9anime.to",
            database: "9anime",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => !0,
            sync: {
                getTitle: e => t.$("h1.title").text(),
                getIdentifier: t => ((t = i.urlPart(t, 4)).indexOf(".") > -1 && (t = t.split(".")[1]), 
                t),
                getOverviewUrl: e => i.absoluteLink(t.$("ul.episodes > li > a").first().attr("href"), r.domain),
                getEpisode: e => parseInt(t.$("ul.episodes > li > a.active").attr("data-base")),
                nextEpUrl(e) {
                    const n = t.$("ul.episodes > li > a.active").parent("li").next().find("a").attr("href");
                    return n ? i.absoluteLink(n, r.domain) : n;
                },
                uiSelector(e) {
                    t.$("#episodes").after(t.html(`<section>${e}</section>`));
                }
            },
            overview: {
                getTitle: t => "",
                getIdentifier: t => "",
                uiSelector(t) {},
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul.episodes > li > a"),
                    elementUrl: t => i.absoluteLink(t.attr("href"), r.domain),
                    elementEp: t => Number(t.attr("data-base"))
                }
            },
            init(e) {
                a.storage.addStyle(n(299).toString()), i.waitUntilTrue((function() {
                    return t.$("ul.episodes > li").length;
                }), (function() {
                    o.info("Start check"), e.handlePage(), i.urlChangeDetect((function() {
                        o.info("Check"), e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return r;
        }));
        var o = n(28);
        const r = {
            name: "Crunchyroll",
            domain: "https://www.crunchyroll.com",
            languages: [ "English", "Spanish", "Portuguese", "French", "German", "Arabic", "Italian", "Russian" ],
            type: "anime",
            isSyncPage: e => !(void 0 === e.split("/")[4] || !t.$("#showmedia_video").length),
            sync: {
                getTitle(e) {
                    var n;
                    return null !== (n = t.$('link[rel="index"]').first().attr("title")) && void 0 !== n ? n : "";
                },
                getIdentifier: t => r.sync.getTitle(t),
                getOverviewUrl(e) {
                    var n;
                    return i.absoluteLink(null !== (n = t.$('link[rel="index"]').first().attr("href")) && void 0 !== n ? n : "", r.domain);
                },
                getEpisode: e => function(e, n) {
                    let a = "";
                    if (/\d+\.\d+/.test(n)) {
                        const t = n.match(/\d+\.\d+/);
                        t && 0 !== t.length && (a = "episode" + t[0]);
                    } else a = i.urlPart(function(e) {
                        const n = t.$("#home_link, #logo_beta a").first().attr("href");
                        if ("/" === n) return e;
                        return e.replace(n, "");
                    }(e), 4) || "";
                    if (!a) return NaN;
                    const o = a.match(/([e,E][p,P][i,I]?[s,S]?[o,O]?[d,D]?[e,E]?|[f,F][o,O][l,L][g,G]?[e,E])\D?\d+/);
                    if (!o || 0 === o.length) return NaN;
                    const r = o[0].match(/\d+/);
                    return r && 0 !== r.length ? Number(r[0]) : NaN;
                }(e, t.$("h1.ellipsis").text().replace(t.$("h1.ellipsis > a").text(), "").trim()),
                nextEpUrl(e) {
                    const n = t.$(".collection-carousel-media-link-current").parent().next().find(".link").attr("href");
                    return n ? i.absoluteLink(n, r.domain) : n;
                }
            },
            init(e) {
                t.$(document).ready((function() {
                    if ($("#content").length) return r.database = o.a.database, r.isSyncPage = o.a.isSyncPage, 
                    r.isOverviewPage = o.a.isOverviewPage, r.sync = o.a.sync, r.overview = o.a.overview, 
                    r.name = o.a.name, void o.a.init(e);
                    a.storage.addStyle(n(303).toString()), e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return d;
        }));
        var o = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const {asyncWaitUntilTrue: r, reset: s} = t.getAsyncWaitUntilTrue(() => i.$(".title__desktop").length), l = {
            id: "",
            title: "",
            coverFilename: "",
            links: {
                mal: "",
                kt: "",
                al: ""
            }
        }, c = {
            id: "",
            chapter: "",
            volume: "",
            translatedLanguage: ""
        }, d = {
            name: "Mangadex",
            domain: "https://www.mangadex.org",
            database: "Mangadex",
            languages: [ "Many" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[3] && "chapter" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0,
            isOverviewPage: t => void 0 !== t.split("/")[3] && "title" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0,
            getImage() {
                return o(this, void 0, void 0, (function*() {
                    if (l.coverFilename) return `https://uploads.mangadex.org/covers/${l.id}/${l.coverFilename}`;
                }));
            },
            sync: {
                getTitle: t => l.title,
                getIdentifier: t => l.id,
                getOverviewUrl: e => t.absoluteLink("/title/" + l.id, d.domain),
                getEpisode: t => parseInt(c.chapter) || 1,
                getVolume: t => parseInt(c.volume),
                getMalUrl(t) {
                    var e, n, i;
                    return (null === (e = l.links) || void 0 === e ? void 0 : e.mal) ? "https://myanimelist.net/manga/" + l.links.mal : "ANILIST" === t && (null === (n = l.links) || void 0 === n ? void 0 : n.al) ? "https://anilist.co/manga/" + l.links.al : !("KITSU" !== t || !(null === (i = l.links) || void 0 === i ? void 0 : i.kt)) && "https://kitsu.io/manga/" + l.links.kt;
                }
            },
            overview: {
                getTitle: t => l.title,
                getIdentifier: t => l.id,
                uiSelector(t) {
                    i.$("div.title__desktop").first().after(i.html(t));
                },
                getMalUrl: t => d.sync.getMalUrl(t)
            },
            init(e) {
                function i() {
                    var n, i, a, u, p;
                    return o(this, void 0, void 0, (function*() {
                        if (s(), !d.isSyncPage(window.location.href) && !d.isOverviewPage(window.location.href)) return;
                        let o = {};
                        if (d.isSyncPage(window.location.href)) {
                            const e = yield m(`chapter/${t.urlPart(window.location.href, 4)}?includes[]=manga`), n = JSON.parse(e.responseText);
                            c.chapter = n.data.attributes.chapter, c.volume = n.data.attributes.volume, c.translatedLanguage = n.data.attributes.translatedLanguage, 
                            o.data = n.relationships.find(t => "manga" === t.type);
                        }
                        if (d.isOverviewPage(window.location.href)) {
                            const e = t.urlPart(window.location.href, 4);
                            if ("random" === e.toLowerCase()) throw "The random page is not supported";
                            const n = yield m(`manga/${e}?includes[]=cover_art`);
                            o = JSON.parse(n.responseText), yield r();
                        }
                        l.id = o.data.id;
                        const h = o.data.attributes.title;
                        l.title = null !== (i = null !== (n = h.en) && void 0 !== n ? n : h[o.data.attributes.originalLanguage]) && void 0 !== i ? i : h[Object.keys(h)[0]], 
                        l.links = o.data.attributes.links, l.coverFilename = null === (p = null === (u = null === (a = o.relationships) || void 0 === a ? void 0 : a.find(t => "cover_art" === t.type)) || void 0 === u ? void 0 : u.attributes) || void 0 === p ? void 0 : p.fileName, 
                        e.handlePage();
                    }));
                }
                a.storage.addStyle(n(305).toString()), t.changeDetect(() => {
                    e.reset(), i();
                }, () => "chapter" === t.urlPart(window.location.href, 3).toLowerCase() ? `${t.urlPart(window.location.href, 3)}/${t.urlPart(window.location.href, 4)}` : t.urlStrip(window.location.href)), 
                i();
            }
        };
        function m(t) {
            return a.request.xhr("GET", "https://api.mangadex.org/" + t);
        }
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "Gogoanime",
            domain: [ "https://gogoanime.tv", "https://gogoanimes.co", "https://animego.to" ],
            database: "Gogoanime",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: e => "category" !== t.urlPart(e, 3),
            sync: {
                getTitle: t => i.$(".anime-info a").first().text().trim(),
                getIdentifier: e => t.urlPart(e, 3).split("-episode")[0],
                getOverviewUrl: t => `${t.split("/").slice(0, 3).join("/")}/category/${r.sync.getIdentifier(t)}`,
                getEpisode: e => Number(t.urlPart(e, 3).split("episode-")[1]),
                nextEpUrl(t) {
                    const e = i.$(".anime_video_body_episodes_r a").last().attr("href");
                    return void 0 !== e ? r.domain + e : "";
                }
            },
            overview: {
                getTitle: t => i.$(".anime_info_body_bg > h1").first().text().trim(),
                getIdentifier: e => t.urlPart(e, 4),
                uiSelector(t) {
                    i.$(".anime_info_body").first().prepend(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => i.$("#episode_related a"),
                    elementUrl(e) {
                        const n = e.attr("href");
                        return n ? t.absoluteLink(n.replace(/^ /, ""), r.domain) : "";
                    },
                    elementEp(t) {
                        const e = r.overview.list.elementUrl(t);
                        return r.sync.getEpisode(e);
                    },
                    paginationNext() {
                        let t = !1, e = !1;
                        return i.$(i.$("#episode_page a").get().reverse()).each((function(n, a) {
                            if (t && !e) return a.click(), void (e = !0);
                            i.$(a).hasClass("active") && (t = !0);
                        })), e;
                    }
                }
            },
            init(e) {
                function s() {
                    r.domain = `${window.location.protocol}//${window.location.hostname}`, e.handlePage(), 
                    i.$("#episode_page").click((function() {
                        setTimeout((function() {
                            e.handleList();
                        }), 500);
                    }));
                }
                a.storage.addStyle(n(307).toString()), r.isSyncPage(e.url) ? i.$(document).ready((function() {
                    s();
                })) : (o.log("noSync"), t.waitUntilTrue((function() {
                    return i.$("#episode_related").length;
                }), (function() {
                    s();
                })));
            }
        };
    }).call(this, n(1), n(2), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Branitube",
            domain: "https://www.branitube.net",
            languages: [ "Portuguese" ],
            type: "anime",
            isSyncPage: t => "video" === t.split("/")[3],
            sync: {
                getTitle: e => "anime" !== r() ? `${t.$(".nomeAnime").text()} ${r()}` : t.$(".nomeAnime").text(),
                getIdentifier: e => `${t.$(".nomeAnime").data("anid")}?${r().replace(/\s/gm, "")}`,
                getOverviewUrl(e) {
                    const n = o.domain + (t.$("div.buttonEpisodes > a").attr("href") || "");
                    return "anime" === r() ? n : "ova" === r() ? n + "/ovas" : "special" === r() ? n + "/especiais" : n + "/filmes";
                },
                getEpisode: e => -1 === r().indexOf("movie") ? Number(t.$(".epInfo").text().replace(/\D+/g, "")) : 1,
                nextEpUrl: e => -1 === r().indexOf("movie") && t.$(".cplPl").attr("data-npl") && t.$(".cplPl").attr("data-cpl") && t.$(".cplPl").attr("data-npltype") && t.$(".cplPl").attr("data-cpl") === t.$(".cplPl").attr("data-npltype") ? `${o.domain}/video/${t.$(".cplPl").attr("data-npl")}/${e.split("/")[5]}` : "",
                getMalUrl(e) {
                    let n;
                    return "anime" === r() ? (n = t.$(".nomeAnime").attr("data-anmalid"), n && "0" !== n || (n = t.$(".epInfo").attr("data-epmalid"))) : n = t.$(".epInfo").attr("data-epmalid"), 
                    !(!n || "0" === n) && "https://myanimelist.net/anime/" + n;
                }
            },
            overview: {
                getTitle: e => "anime" !== r() ? `${t.$("div.animeInfos > ul > li.largeSize").text()} ${r()}` : t.$("div.animeInfos > ul > li.largeSize").text(),
                getIdentifier: t => `${t.split("/")[4]}?${r()}`,
                uiSelector(e) {
                    t.$("div.areaEpsList").first().prepend(t.html(`<div class="animeResult" style="margin:8px;"> ${e}</div>`));
                },
                getMalUrl(e) {
                    let n;
                    return "anime" === r() && (n = t.$("div.animeInfos > ul > li.largeSize").attr("data-malid")), 
                    !(!n || "0" === n) && "https://myanimelist.net/anime/" + n;
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".areaEpsList > .getTotalShowingEp > .item-ep > div.area-ep"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain),
                    elementEp: t => i.getBaseText(t.find("div.infos-bottom > div.ep-info > div.anime-content").first()).replace(/\D+/g, "")
                }
            },
            init(e) {
                a.storage.addStyle(n(309).toString()), t.$(document).ready((function() {
                    void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && "filmes" !== e.url.split("/")[6] && "0" !== t.$("div.areaTypesList.no-padding > ul > li > a.active > span.totalEps").text().replace(/\D+/g, "") && e.handlePage();
                }));
            }
        };
        function r() {
            let e;
            return e = "video" === window.location.href.split("/")[3] ? t.$(".epInfo").text().toLowerCase() : t.$("div.areaTypesList.no-padding > ul > li > a.active").text().toLowerCase(), 
            -1 !== e.indexOf("ova") ? "ova" : -1 !== e.indexOf("especial") || -1 !== e.indexOf("especiais") ? "special" : -1 !== e.indexOf("filme") ? "movie " + e.replace(/\D+/g, "").replace(/^0+/gm, "") : "anime";
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "TurkAnime",
            domain: "https://www.turkanime.net",
            languages: [ "Turkish" ],
            type: "anime",
            isSyncPage: t => "video" === t.split("/")[3],
            sync: {
                getTitle: () => t.$(".breadcrumb a").first().text().trim(),
                getIdentifier: t => o.overview.getIdentifier(o.sync.getOverviewUrl(t)),
                getOverviewUrl: () => i.absoluteLink(t.$(".breadcrumb a").first().attr("href"), o.domain),
                getEpisode(t) {
                    const e = o.overview.getIdentifier(o.isSyncPage(window.location.href) ? o.sync.getOverviewUrl("") : window.location.href), n = o.overview.getIdentifier(t).replace(e + "-", "").match(/^(?<episodeNumber>\d+)-bolum(?:-final)?$/i);
                    return (null == n ? void 0 : n.groups) ? Number(n.groups.episodeNumber) : NaN;
                },
                nextEpUrl() {
                    const e = t.$("div.panel-footer a[href^='video']:nth-child(2)").attr("href");
                    return e ? i.absoluteLink(e, o.domain) : "";
                }
            },
            overview: {
                getTitle: () => t.$("#detayPaylas .panel-title").first().text().trim(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                uiSelector(e) {
                    t.$("#detayPaylas .panel-body").first().prepend(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".list.menum > li"),
                    elementUrl(t) {
                        const e = t.find("a").last().attr("href");
                        return e ? i.absoluteLink(e.replace(/^\/\//, "https://"), o.domain) : "";
                    },
                    elementEp(t) {
                        const e = o.overview.list.elementUrl(t);
                        return o.sync.getEpisode(e);
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(311).toString()), t.$(() => {
                    i.waitUntilTrue(() => document.querySelector(".list.menum"), () => e.handlePage());
                });
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "Twistmoe",
            domain: "https://twist.moe",
            database: "Twistmoe",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => !0,
            sync: {
                getTitle: e => t.$(".series-title").text().trim(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                getOverviewUrl: t => `${r.domain}/a/${r.sync.getIdentifier(t)}/1`,
                getEpisode(t) {
                    const e = i.urlPart(t, 5);
                    return e ? parseInt(e) : NaN;
                },
                nextEpUrl: e => i.absoluteLink(t.$(".episode-list .current").first().parent().next().find("a").attr("href"), r.domain),
                uiSelector(e) {
                    t.$(".information").first().after(t.html(e));
                }
            },
            overview: {
                getTitle: t => "",
                getIdentifier: t => "",
                uiSelector: t => "",
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".episode-list li"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), r.domain),
                    elementEp: t => r.sync.getEpisode(r.overview.list.elementUrl(t))
                }
            },
            init(e) {
                const r = () => {
                    if (!$(".information .series-title").text().trim()) return;
                    i.urlPart(e.url, 3) ? e.handlePage() : a.log("Not an anime page!");
                };
                o.storage.addStyle(n(313).toString()), t.$(document).ready((function() {
                    r(), i.changeDetect(() => {
                        e.reset(), r();
                    }, () => $(".information").text());
                }));
            }
        };
    }).call(this, n(2), n(1), n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return b;
        }));
        var r = n(12), s = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const l = new r.a;
        let c;
        function d() {
            return s(this, void 0, void 0, (function*() {
                return t.storage.get("emby_Api_Key");
            }));
        }
        function m(e) {
            return s(this, void 0, void 0, (function*() {
                return t.storage.set("emby_Api_Key", e);
            }));
        }
        function u() {
            return s(this, void 0, void 0, (function*() {
                return t.storage.get("emby_Base");
            }));
        }
        function p(e) {
            return s(this, void 0, void 0, (function*() {
                return t.storage.set("emby_Base", e);
            }));
        }
        function h(e) {
            return s(this, void 0, void 0, (function*() {
                const n = $("video");
                if (n.length) {
                    $("html").addClass("miniMAL-hide");
                    const o = n.attr("src");
                    i.log(o);
                    let r = "", l = "", m = "";
                    o && (/blob:/i.test(o) ? (m = yield u(), r = yield function() {
                        return s(this, void 0, void 0, (function*() {
                            return new Promise((t, e) => {
                                setTimeout(() => {
                                    t();
                                }, 1e4);
                            }).then(() => v("/Sessions").then(t => {
                                i.error(t);
                                const e = JSON.parse(t.responseText);
                                i.log(e);
                                for (let t = 0; t < e.length; t++) {
                                    const n = e[t];
                                    if (void 0 !== n.NowPlayingItem) return i.log(n.NowPlayingItem), n.NowPlayingItem.Id;
                                }
                                return "";
                            }));
                        }));
                    }(), l = yield d()) : (m = o.split("/").splice(0, 4).join("/"), r = a.urlPart(o, 5), 
                    l = yield d(), p(m)));
                    let h = `${m}/Items?ids=${r}&api_key=${l}`;
                    i.log("reqUrl", h, "base", m, "apiKey", l), t.request.xhr("GET", h).then(e => {
                        const n = JSON.parse(e.responseText);
                        return c = n.Items[0], h = `${m}/Genres?Ids=${c.SeriesId}&api_key=${l}`, i.log(n), 
                        t.request.xhr("GET", h);
                    }).then(t => {
                        const n = JSON.parse(t.responseText);
                        i.log("genres", n);
                        for (let t = 0; t < n.Items.length; t++) {
                            if ("Anime" === n.Items[t].Name) {
                                i.info("Anime detected"), e.url = `${window.location.origin}/#!/itemdetails.html?id=${r}`, 
                                e.handlePage(e.url), $("html").removeClass("miniMAL-hide");
                                break;
                            }
                        }
                    });
                }
            }));
        }
        function g(t) {
            return s(this, void 0, void 0, (function*() {
                if ($("html").addClass("miniMAL-hide"), -1 !== window.location.href.indexOf("id=")) {
                    let e = "/Items?ids=" + a.urlParam(window.location.href, "id");
                    v(e).then(n => {
                        const a = JSON.parse(n.responseText);
                        switch (a.Items[0].Type) {
                          case "Season":
                            i.log("Season", a), c = a.Items[0], e = "/Genres?Ids=" + c.SeriesId, v(e).then(e => {
                                const n = JSON.parse(e.responseText);
                                i.log("genres", n);
                                for (let e = 0; e < n.Items.length; e++) {
                                    if ("Anime" === n.Items[e].Name) {
                                        i.info("Anime detected"), t.handlePage(), $("html").removeClass("miniMAL-hide");
                                        break;
                                    }
                                }
                            });
                            break;

                          case "Series":
                            i.log("Series", a);
                            break;

                          default:
                            i.log("Not recognized", a);
                        }
                    });
                }
            }));
        }
        function f(t = 0) {
            return s(this, void 0, void 0, (function*() {
                let e = yield u();
                return void 0 !== e && "" !== e || (i.info("No base"), e = yield function() {
                    return s(this, void 0, void 0, (function*() {
                        return new Promise((t, e) => {
                            a.waitUntilTrue((function() {
                                return o.$("*[data-url]").length || o.$(".view:not(.hide) .cardImageContainer").first().css("background-image") && "none" !== o.$(".view:not(.hide) .cardImageContainer").first().css("background-image");
                            }), (function() {
                                let e = o.$("*[data-url]").first().attr("data-url") || "";
                                e || (e = o.$(".view:not(.hide) .cardImageContainer").first().css("background-image").replace('url("', "").replace('")', ""));
                                const n = e.split("/").splice(0, 4).join("/");
                                i.log("Base Found", n), t(n);
                            }));
                        });
                    }));
                }()), p(e), v("/System/Info", null, e).then(e => s(this, void 0, void 0, (function*() {
                    if (200 !== e.status) {
                        if (i.error("Not Authenticated"), p(""), t < 1) try {
                            const e = yield function() {
                                return s(this, void 0, void 0, (function*() {
                                    return new Promise((t, e) => {
                                        l.addProxy(n => s(this, void 0, void 0, (function*() {
                                            const n = l.getCaptureVariable("ApiClient");
                                            if (i.m("apiClient").log(n), n && n._serverInfo && n._serverInfo.RemoteAddress && n._serverInfo.AccessToken) {
                                                const e = yield u();
                                                return void 0 !== e && "" !== e || p(n._serverInfo.RemoteAddress + "/emby"), m(n._serverInfo.AccessToken), 
                                                void t(!0);
                                            }
                                            e();
                                        })));
                                    });
                                }));
                            }();
                            if (t++, e) return f(t);
                        } catch (t) {
                            i.error("Could not get ApiClient", t);
                        }
                        throw "Not Authenticated [Emby]";
                    }
                    return !0;
                })));
            }));
        }
        function v(e, n = null, a = null) {
            return s(this, void 0, void 0, (function*() {
                let o;
                return null === n && (n = yield d()), null === a && (a = yield u()), o = -1 !== e.indexOf("?") ? "&" : "?", 
                e = `${a + e + o}api_key=${n}`, i.log("Api Call", e), t.request.xhr("GET", e);
            }));
        }
        l.addCaptureVariable("ApiClient", '\n    if (window.hasOwnProperty("ApiClient")) {\n      return ApiClient;\n    } else {\n      return undefined;\n    }\n  ');
        const b = {
            name: "Emby",
            domain: "http://app.emby.media",
            languages: [ "Many" ],
            type: "anime",
            isSyncPage: t => "Episode" === c.Type,
            sync: {
                getTitle: t => c.SeriesName + (c.ParentIndexNumber > 1 ? " Season " + c.ParentIndexNumber : ""),
                getIdentifier: t => void 0 !== c.SeasonId ? c.SeasonId : void 0 !== c.SeriesId ? c.SeriesId : c.Id,
                getOverviewUrl: t => `${b.domain}/#!/itemdetails.html?id=${b.sync.getIdentifier(t)}`,
                getEpisode: t => c.IndexNumber
            },
            overview: {
                getTitle: t => c.SeriesName + (c.IndexNumber > 1 ? " Season " + c.IndexNumber : ""),
                getIdentifier: t => c.Id,
                uiSelector(t) {
                    o.$(".page:not(.hide) .nameContainer").first().append(o.html(t));
                }
            },
            init(e) {
                t.storage.addStyle(n(315).toString()), f().catch(() => (i.info("Not Authenticated"), 
                function e() {
                    return s(this, void 0, void 0, (function*() {
                        return new Promise((n, r) => {
                            const l = a.flashm(`<p>${t.storage.lang("Emby_Authenticate")}</p>\n      <p><input id="MS-ApiKey" type="text" placeholder="Please enter the Api Key here" style="width: 100%;"></p>\n      <div style="display: flex; justify-content: space-around;">\n        <button class="Yes" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px; cursor:pointer;">OK</button>\n        <button class="Cancel" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px; cursor:pointer;">CANCEL</button>\n      </div>\n      `, {
                                position: "bottom",
                                permanent: !0,
                                type: "getApi"
                            });
                            l.find(".Yes").click((function(t) {
                                const r = o.$("#MS-ApiKey").val();
                                i.info("api", r), m(r), o.$(t.target).parentsUntil(".flash").remove(), f().then(() => {
                                    n(!0);
                                }).catch(() => s(this, void 0, void 0, (function*() {
                                    a.flashm("Could not Authenticate"), yield e(), n(!0);
                                })));
                            })), l.find(".Cancel").click((function(t) {
                                o.$(t.target).parentsUntil(".flash").remove(), r();
                            }));
                        });
                    }));
                }())).then(() => {
                    i.info("Authenticated"), a.changeDetect(() => {
                        e.reset(), h(e);
                    }, () => {
                        const t = $("video").first().attr("src");
                        return void 0 === t ? "NaN" : t;
                    }), a.urlChangeDetect((function() {
                        -1 === window.location.href.indexOf("video") && -1 === window.location.href.indexOf("#dlg") && (e.reset(), 
                        g(e));
                    })), o.$(document).ready((function() {
                        a.waitUntilTrue((function() {
                            return o.$(".page").length;
                        }), (function() {
                            g(e);
                        }));
                    })), document.addEventListener("fullscreenchange", (function() {
                        window.fullScreen || window.innerWidth === window.screen.width && window.innerHeight === window.screen.height ? $("html").addClass("miniMAL-Fullscreen") : $("html").removeClass("miniMAL-Fullscreen");
                    }));
                });
            }
        };
    }).call(this, n(0), n(4), n(1), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return p;
        }));
        var r = n(12), s = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        let l;
        const c = new r.a;
        c.addCaptureVariable("auth", '\n    if (window.hasOwnProperty("localStorage")) {\n      return {\n        apiKey: window.localStorage.myPlexAccessToken,\n        users: window.localStorage.users\n      }\n    } else {\n      return undefined;\n    }\n  ');
        const d = {
            apiKey: null,
            serverApiKey: null,
            base: null
        };
        let m;
        function u(e) {
            return s(this, void 0, void 0, (function*() {
                window.clearInterval(m), e.reset(), $("html").addClass("miniMAL-hide");
                let n = window.location.href;
                $('[class*="MetadataPosterTitle-isSecondary"] [data-qa-id="metadataTitleLink"]').attr("href") && (n = $('[class*="MetadataPosterTitle-isSecondary"] [data-qa-id="metadataTitleLink"]').attr("href"));
                const r = String(t.urlParam(n, "key"));
                r && -1 !== r.indexOf("metadata") && function t(e) {
                    return s(this, void 0, void 0, (function*() {
                        let n;
                        d.apiKey && d.base || (yield function() {
                            return s(this, void 0, void 0, (function*() {
                                const t = i.m("auth");
                                return t.log("Start"), new Promise((e, n) => {
                                    c.addProxy(i => s(this, void 0, void 0, (function*() {
                                        try {
                                            const n = c.getCaptureVariable("auth");
                                            if (!n) throw "authInfo not found";
                                            if (!n.users) throw "users not found";
                                            const i = JSON.parse(n.users);
                                            if (!n.apiKey) {
                                                if (i && i.users && i.users.length && (!i.users[0].servers.length || void 0 === i.users[0].servers[0].accessToken)) return t.log("Switching to no account mode"), 
                                                d.apiKey = null, d.serverApiKey = null, d.base = window.location.origin, void e("");
                                                throw "apiKey not found";
                                            }
                                            d.apiKey = n.apiKey;
                                            const a = i.users.find(t => t.authToken === d.apiKey);
                                            if (!a) throw "User not found";
                                            t.log("User found", a.id);
                                            const r = a.lastPrimaryServerID;
                                            t.log("Server", r);
                                            const s = a.servers.find(t => t.machineIdentifier === r);
                                            if (!s) throw "Server not found";
                                            if (d.serverApiKey = s.accessToken, t.log("Connections", s.connections), !s.connections.length) throw "No connection found";
                                            let l = s.connections[0];
                                            if (s.connections.length > 1) for (let e = 0; e < s.connections.length; e += 1) {
                                                const n = s.connections[e].uri;
                                                t.log("Trying " + n);
                                                try {
                                                    if (200 !== (yield o.request.xhr("GET", {
                                                        url: `${n}/library/sections?X-Plex-Token=${d.apiKey}`,
                                                        headers: {
                                                            Accept: "application/json"
                                                        }
                                                    })).status) throw "Not reached";
                                                    t.log("Reached " + n), l = s.connections[e];
                                                    break;
                                                } catch (e) {
                                                    t.log("Ignoring unreachable server url " + n);
                                                }
                                            }
                                            d.base = l.uri, t.log("Done", d), e("");
                                        } catch (e) {
                                            t.error(e), n(e);
                                        }
                                    })));
                                });
                            }));
                        }()), n = -1 !== e.indexOf("?") ? "&" : "?";
                        const a = `${d.base + e + n}X-Plex-Token=${d.apiKey}`;
                        return i.log("Api Call", a), o.request.xhr("GET", {
                            url: a,
                            headers: {
                                Accept: "application/json"
                            }
                        }).then(n => {
                            if (200 !== n.status) {
                                if (!d.serverApiKey) throw "Could not authenticate";
                                return d.apiKey = d.serverApiKey, d.serverApiKey = null, i.log("Use server apikey"), 
                                t(e);
                            }
                            return n;
                        });
                    }));
                }(decodeURIComponent(r)).then(o => {
                    let r;
                    try {
                        r = JSON.parse(o.responseText);
                    } catch (t) {
                        return void i.error(t);
                    }
                    if (/(anime|asian)/i.test(r.MediaContainer.librarySectionTitle)) switch (l = r.MediaContainer.Metadata[0], 
                    l.type) {
                      case "show":
                        if (i.log("Show", r), !l.skipChildren) return i.log("Series overview. Dont do anything"), 
                        void (l = void 0);
                        m = t.waitUntilTrue((function() {
                            return a.$('[data-qa-id="preplay-mainTitle"]').length;
                        }), (function() {
                            e.UILoaded = !1, e.handlePage(n), $("html").removeClass("miniMAL-hide");
                        }));
                        break;

                      case "season":
                        i.log("Season", r), m = t.waitUntilTrue((function() {
                            return a.$('[data-qa-id="preplay-mainTitle"]').length;
                        }), (function() {
                            e.UILoaded = !1, e.handlePage(n), $("html").removeClass("miniMAL-hide");
                        }));
                        break;

                      case "episode":
                        i.log("Episode", r), e.handlePage(n), $("html").removeClass("miniMAL-hide");
                        break;

                      default:
                        i.log("Not recognized", r);
                    } else i.info("!Not an Anime!");
                });
            }));
        }
        const p = {
            name: "Plex",
            domain: "http://app.plex.tv",
            languages: [ "Many" ],
            type: "anime",
            isSyncPage: t => !(!l || "episode" !== l.type),
            sync: {
                getTitle: t => l.grandparentTitle + (l.parentIndex > 1 ? " Season " + l.parentIndex : ""),
                getIdentifier: t => void 0 !== l.parentKey ? l.parentKey.split("/")[3] : void 0 !== l.grandparentKey ? l.grandparentKey.split("/")[3] : l.key.split("/")[3],
                getOverviewUrl(t) {
                    let e = window.location.href.split("?")[0];
                    if (!e.includes("server/")) {
                        e = (window.location.href.split("#")[0] + a.$('[href^="#!/server"]').first().attr("href")).split("?")[0];
                    }
                    return `${e}?key=/library/metadata/${p.sync.getIdentifier(t)}`;
                },
                getEpisode: t => l.index
            },
            overview: {
                getTitle: t => l.parentTitle ? l.parentTitle : l.title,
                getIdentifier: t => l.key.split("/")[3],
                uiSelector(t) {
                    a.$('[data-qa-id="preplay-mainTitle"]').first().after(a.html(t));
                }
            },
            init(e) {
                o.storage.addStyle(n(317).toString()), a.$(document).ready((function() {
                    u(e);
                })), t.changeDetect(() => u(e), () => {
                    const e = $('[class*="MetadataPosterTitle-isSecondary"] [data-qa-id="metadataTitleLink"]').attr("href");
                    return e || String(t.urlParam(window.location.href, "key"));
                }), document.addEventListener("fullscreenchange", (function() {
                    window.fullScreen || window.innerWidth === window.screen.width && window.innerHeight === window.screen.height ? $("html").addClass("miniMAL-Fullscreen") : $("html").removeClass("miniMAL-Fullscreen");
                })), setInterval(() => {
                    if (p.isSyncPage(e.url) && !$("video").length) {
                        const t = $('[class*="SeekBar-seekBar-"] [aria-valuemax]').first();
                        if (!t) return void i.m("Player").log("no seekbar");
                        const n = t.attr("aria-valuemax"), a = t.attr("aria-valuenow"), o = Boolean($('[data-qa-id="pauseButton"]').length);
                        i.m("Player").debug(a, n, !o), n && a && e.setVideoTime({
                            current: a,
                            duration: n,
                            paused: !o
                        }, () => {
                            i.log("Not supported during chromecast");
                        });
                    }
                }, 1e3);
            }
        };
    }).call(this, n(1), n(4), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return f;
        }));
        var r = n(12), s = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        let l, c, d, m, u;
        const p = [ 2797624, 7424, 67614, 2653, 587, 625, 79307, 9302, 79488, 452, 79448, 11146, 79440, 3063, 79543, 79427, 10695, 2729, 79329, 79572, 64256, 2951909, 6721, 2867325, 1522234, 1623841, 81216565, 3073, 3095 ], h = new r.a;
        function g(e) {
            const n = function() {
                const t = h.getCaptureVariable("netflix");
                if (!(t instanceof Object)) throw new Error("Invalid metadata");
                return t;
            }(), o = t.urlPart(window.location.href, 4);
            i.request.xhr("GET", `${n.models.playerModel.data.config.ui.initParams.apiUrl}/metadata?movieid=${o}`).then(t => {
                const n = JSON.parse(t.responseText);
                u = n.video.id, m = n.video.title;
                const o = `${f.domain}/title/${u}`;
                i.request.xhr("GET", o).then(t => {
                    a.log(t);
                    let i = !1;
                    const o = t.responseText.match(/"genres":\s*\[.*?\]/i);
                    if (o && o.length) {
                        const t = JSON.parse(`{${o[0].replace(/\\/gm, "\\\\")}}`);
                        for (const e of t.genres) if (p.includes(e.id)) {
                            i = !0;
                            break;
                        }
                    }
                    if (i) {
                        if ("movie" !== n.video.type) {
                            l = n.video.seasons.find(t => (c = t.episodes.find(t => t.id === n.video.currentEpisode), 
                            c));
                            try {
                                d = l.episodes[l.episodes.findIndex(t => t.id === c.id) + 1];
                            } catch (t) {
                                d = void 0;
                            }
                        } else l = {
                            longName: m,
                            title: m,
                            seq: 1
                        }, c = {
                            seq: 1
                        }, d = void 0;
                        e.handlePage(), $("html").removeClass("miniMAL-hide");
                    } else a.info("No Anime");
                });
            });
        }
        h.addCaptureVariable("netflix", '\n    if (window.hasOwnProperty("netflix")) {\n      return netflix.reactContext;\n    } else {\n      return undefined;\n    }\n  ');
        const f = {
            name: "Netflix",
            domain: "https://www.netflix.com",
            languages: [ "Many" ],
            type: "anime",
            isSyncPage: t => !0,
            sync: {
                getTitle: t => l.longName !== l.title ? l.title : l.seq > 1 ? `${m} season ${l.seq}` : m,
                getIdentifier: t => `${u}?s=${l.seq}`,
                getOverviewUrl: t => `${f.domain}/title/${u}`,
                getEpisode: t => c.seq,
                nextEpUrl: t => d ? `${f.domain}/watch/${d.id}` : ""
            },
            init(e) {
                function a() {
                    e.reset(), $("html").addClass("miniMAL-hide"), "watch" === t.urlPart(window.location.href, 3) && t.waitUntilTrue((function() {
                        return o.$(".ellipsize-text").length;
                    }), (function() {
                        h.addProxy(t => s(this, void 0, void 0, (function*() {
                            g(e);
                        })));
                    }));
                }
                i.storage.addStyle(n(319).toString()), o.$(document).ready((function() {
                    a();
                })), t.urlChangeDetect((function() {
                    a();
                }));
            }
        };
    }).call(this, n(1), n(0), n(4), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "animepahe",
            domain: "https://animepahe.com",
            languages: [ "English" ],
            database: "animepahe",
            type: "anime",
            isSyncPage: t => "play" === window.location.href.split("/")[3],
            sync: {
                getTitle: e => t.$(".theatre-info h1 a").first().text().trim(),
                getIdentifier: t => s(),
                getOverviewUrl: t => l(s(), !0),
                getEpisode: e => Number((t.$(".theatre-info h1")[0].childNodes[2].textContent || "").replace(/[^0-9.]+/g, "")),
                nextEpUrl: e => t.$(".sequel a").first().attr("href") ? l(s(), !1, 1) : "",
                uiSelector(e) {
                    t.$(".anime-season").after(t.html(e));
                }
            },
            overview: {
                getTitle: e => i.getBaseText(t.$(".title-wrapper h1").first()).trim(),
                getIdentifier: t => s(),
                uiSelector(e) {
                    t.$(".anime-detail").after(t.html(e));
                },
                getMalUrl(e) {
                    let n = t.$('a[href^="//myanimelist.net/anime/"]').not("#malRating").first().attr("href");
                    return (n || "ANILIST" === e && (n = t.$('a[href^="//anilist.co/anime/"]').not("#malRating").first().attr("href"), 
                    n) || !("KITSU" !== e || (n = t.$('a[href^="//kitsu.io/anime/"]').not("#malRating").first().attr("href"), 
                    !n))) && n.replace(/^\/\//, "https://");
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".episode-list .episode"),
                    elementUrl(t) {
                        const e = t.find("a").first();
                        if (!e) return "";
                        const n = e.attr("href");
                        return n ? o.domain + n : "";
                    },
                    elementEp: t => Number(t.find(".episode-number").first().text().replace(t.find(".episode-number > *").text(), ""))
                }
            },
            init(t) {
                a.storage.addStyle(n(321).toString()), i.waitUntilTrue((function() {
                    return (o.isSyncPage(window.location.href) || o.overview.list.elementsSelector()) && void 0 !== s();
                }), (function() {
                    t.handlePage(l(s(), !1));
                }));
            }
        };
        let r;
        function s() {
            if (r) return r;
            const e = t.$('a[href^="//pahe.win/a/"]').attr("href");
            if (e) return r = e.split("/")[4], r;
            const n = $("script").filter((function(t) {
                return this.innerHTML.includes("getUrls(");
            }));
            if (n && n.length) {
                const t = n[0].innerHTML.match(/getUrls\(\d+/);
                if (t && t.length) return r = t[0].replace(/\D+/g, ""), r;
            }
        }
        function l(t, e, n = 0) {
            return "play" !== window.location.href.split("/")[3] || e ? "https://pahe.win/a/" + t : `https://pahe.win/a/${t}/${o.sync.getEpisode(window.location.href) + n}`;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "Animeflv",
            domain: "https://animeflv.net",
            languages: [ "Spanish" ],
            type: "anime",
            isSyncPage: e => "ver" === t.urlPart(e, 3),
            isOverviewPage: e => "anime" === t.urlPart(e, 3),
            sync: {
                getTitle: t => i.$("h1.Title").text().split(" Episodio")[0].trim(),
                getIdentifier: e => t.urlPart(`${r.domain}${i.$(".fa-th-list").attr("href")}`, 4),
                getOverviewUrl: t => r.domain + (i.$(".fa-th-list").attr("href") || ""),
                getEpisode: t => parseInt(i.$("h2.SubTitle").text().replace("Episodio ", "").trim()),
                nextEpUrl(t) {
                    const e = i.$(".fa-chevron-right").attr("href");
                    return e ? r.domain + e : e;
                },
                uiSelector(t) {
                    i.$(".CapOptns").after(i.html(t));
                }
            },
            overview: {
                getTitle: t => i.$("h1.Title").text(),
                getIdentifier: e => t.urlPart(e, 4),
                uiSelector(t) {
                    i.$(".Description").after(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector() {
                        const e = window.location.href;
                        document.body.insertAdjacentHTML("afterbegin", '<div id="MALSync" class="MALSync" style="display: none;"><ul id="MALSyncUl" class="MALSyncUl"></ul></div>');
                        const n = document.getElementById("MALSyncUl"), a = document.body.innerHTML;
                        let o = /<script>\s\s {3}var([^]*?)<\/script>/g.exec(a);
                        if (null !== o && (o = o[1] || null, null !== o)) {
                            const a = /\[([^[\]]{0,10},{0,10})\]/g, s = o.toString().match(a);
                            null !== s && s.forEach(a => {
                                if (null !== n) {
                                    const o = `${r.domain}/ver/${t.urlPart(e, 4)}-${a.split(",")[0].replace("[", "")}`, s = a.split(",")[0].replace("[", "");
                                    n.innerHTML += i.html(`<li><a href="${o}" epi="${s}"></a> </li>`);
                                }
                            });
                        }
                        return i.$(".MALSync a");
                    },
                    elementUrl: e => t.absoluteLink(e.attr("href"), r.domain),
                    elementEp: t => Number(t.attr("epi")),
                    handleListHook(t, e) {
                        if (t++, e.length - 1 >= t) {
                            const n = i.$(".AnimeCover img").attr("src"), a = i.$(".Container h2").text(), o = `<li class="fa-play-circle Next"><a href="${e[t][0].toString()}"><figure><img src="${n}" alt=""></figure><h3 class="Title">${a}</h3><p>Episodio ${t}</p><span style="position: absolute; top: 0; bottom: 0; margin: auto; right: 20px; line-height: 30px; font-size: 16px; font-weight: 700; height: 30px;">Siguiente Episodio</span></a></li>`;
                            i.$(".Main .ListCaps").prepend(i.html(o));
                        }
                    }
                }
            },
            init(t) {
                if (a.storage.addStyle(n(323).toString()), "Verifica que no eres un bot | AnimeFLV" === document.title) return o.log("loading"), 
                void t.cdn();
                i.$(document).ready((function() {
                    t.handlePage();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "Jkanime",
            domain: "https://jkanime.net",
            languages: [ "Spanish" ],
            type: "anime",
            isSyncPage: e => !(Number.isNaN(parseInt(t.urlPart(e, 4))) && ("pelicula" !== t.urlPart(e, 4) || !r.sync.getTitle(e).length)),
            isOverviewPage: t => r.overview.getTitle(t).length > 0,
            sync: {
                getTitle: t => i.$("div.breadcrumb-option > div > div > div> div.breadcrumb__links > h1").first().text().split(" - ")[0],
                getIdentifier: e => t.urlPart(e, 3),
                getOverviewUrl: t => `${r.domain}/${r.sync.getIdentifier(t)}`,
                getEpisode: e => parseInt(t.urlPart(e, 4)) || 1,
                nextEpUrl: t => i.$('div:contains("Proximo Episodio")').parent("a").attr("href")
            },
            overview: {
                getTitle: t => i.$("div.anime__details__title > h3").text(),
                getIdentifier: e => t.urlPart(e, 3),
                uiSelector(t) {
                    i.$("section.contenido.spad > div > div.row").before(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => i.$("div.epcontent > div.anime__item a"),
                    elementUrl: e => t.absoluteLink(e.attr("href"), r.domain),
                    elementEp(t) {
                        var e, n;
                        return r.sync.getEpisode((null === (n = null === (e = r.overview) || void 0 === e ? void 0 : e.list) || void 0 === n ? void 0 : n.elementUrl(t)) || "");
                    },
                    paginationNext(t) {
                        let e;
                        return a.log("updatecheck", t), t ? (e = i.$("div.anime__pagination > a").last(), 
                        void 0 !== e[0] && !e.hasClass("pagination-active") && (e[0].click(), !0)) : (e = i.$("div.anime__pagination > a.pagination-active").next("a"), 
                        void 0 !== e[0] && (e[0].click(), !0));
                    }
                }
            },
            init(e) {
                o.storage.addStyle(n(325).toString()), i.$(document).ready((function() {
                    $("div.anime__pagination > a").first().addClass("pagination-active"), e.handlePage();
                })), t.changeDetect(() => {
                    e.handleList();
                }, () => i.$("div.epcontent > div.anime__item a").first().attr("href")), $("div.anime__pagination > a").click((function() {
                    $("div.anime__pagination > a").removeClass("pagination-active"), $(this).addClass("pagination-active");
                }));
            }
        };
    }).call(this, n(1), n(2), n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        let r, s, l;
        function c(e, n = "") {
            r = void 0, s = void 0, t.request.xhr("GET", e.url).then(t => {
                i.log(t), r = JSON.parse(`{${t.responseText.split("__INITIAL_STATE__ = {")[1].split("};")[0]}}`), 
                i.log(r), n.length ? r.seriesPage.seasons.forEach((function(t) {
                    -1 !== n.indexOf(t.json.title) && (i.log("Season Found", t), s = t);
                })) : r.seriesPage.seasons.length && (i.log("Season", r.seriesPage.seasons[0]), 
                s = r.seriesPage.seasons[0]), e.handlePage();
            });
        }
        n.d(e, "a", (function() {
            return d;
        }));
        const d = {
            name: "Vrv",
            domain: "https://vrv.co",
            languages: [ "English", "Spanish", "Portuguese", "French", "German", "Arabic", "Italian", "Russian" ],
            type: "anime",
            isSyncPage: t => "series" !== a.urlPart(window.location.href, 3),
            sync: {
                getTitle: t => `${r.watch.mediaResource.json.series_title} - ${r.watch.mediaResource.json.season_title.replace(r.watch.mediaResource.json.series_title, "")}`,
                getIdentifier: t => r.watch.mediaResource.json.season_id,
                getOverviewUrl: t => `${d.domain}/series/${r.watch.mediaResource.json.series_id}?season=${d.sync.getIdentifier(t)}`,
                getEpisode: t => r.watch.mediaResource.json.episode_number,
                nextEpUrl: t => void 0 === r.watch.mediaResource.json.next_episode_id ? "" : `${d.domain}/watch/${r.watch.mediaResource.json.next_episode_id}`
            },
            overview: {
                getTitle: t => `${r.seriesPage.series.json.title} - ${s.json.title.replace(r.seriesPage.series.json.title, "")}`,
                getIdentifier: t => s.json.id,
                uiSelector(t) {
                    $(".erc-series-info .series-title").first().after(o.html(t));
                },
                list: {
                    offsetHandler: !0,
                    elementsSelector: () => o.$(".erc-series-media-list-element"),
                    elementUrl: t => a.absoluteLink(t.find("a").first().attr("href"), d.domain),
                    elementEp(t) {
                        const e = t.find(".episode-title").text().trim().match(/^E\d+/i);
                        return e ? Number(e[0].replace("E", "")) : NaN;
                    },
                    getTotal() {
                        throw "Not supported";
                    }
                }
            },
            init(e) {
                function i() {
                    clearInterval(l), e.reset(), "watch" === a.urlPart(window.location.href, 3) && c(e), 
                    "series" === a.urlPart(window.location.href, 3) && a.waitUntilTrue((function() {
                        return o.$(".erc-series-info .series-title").first().length;
                    }), (function() {
                        o.$(".erc-series-media-list-element").length && void 0 === o.$(".erc-series-media-list-element a").first().attr("href") || c(e, $(".controls-select-trigger .season-info").text().trim()), 
                        l = a.changeDetect((function() {
                            e.reset(), c(e, $(".controls-select-trigger .season-info").text().trim());
                        }), (function() {
                            return o.$(".erc-series-media-list-element a").first().attr("href");
                        }));
                    }));
                }
                t.storage.addStyle(n(327).toString()), o.$(document).ready((function() {
                    i();
                })), a.urlChangeDetect((function() {
                    e.url = window.location.href, i();
                }));
            }
        };
    }).call(this, n(0), n(4), n(1), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "Proxer",
            domain: "https://proxer.me",
            languages: [ "German", "English" ],
            type: "anime",
            isSyncPage: t => "watch" === t.split("/")[3] || "read" === t.split("/")[3],
            sync: {
                getTitle: e => -1 !== e.indexOf("watch") ? t.$(".wName").text().trim() : -1 !== e.indexOf("read") ? t.$("div#breadcrumb a:first").text() : "",
                getIdentifier: t => i.urlPart(t, 4) || "",
                getOverviewUrl: t => `${r.domain}/info/${r.sync.getIdentifier(t)}/list`,
                getEpisode: t => -1 !== t.indexOf("watch") ? c("episode " + $(".wEp").last().text().trim(), t.split("/")[5]) : c($("#breadcrumb > a").last().text().trim(), t.split("/")[5]),
                nextEpUrl: t => r.domain + $(".no_details a").last().attr("href")
            },
            overview: {
                getTitle: e => t.$("#pageMetaAjax").text().split(" - ")[0].replace(/\(Anime\)|\(Manga\)$/gim, "").trim(),
                getIdentifier: t => r.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$(".hreview-aggregate > span").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$('span[id^="listTitle"]').parent().parent(),
                    elementUrl: t => i.absoluteLink(t.find('a[href^="/watch"],a[href^="/read"],a[href^="/chapter"]').first().attr("href"), r.domain),
                    elementEp: t => c(t.find('span[id^="listTitle"]').first().text().trim(), r.overview.list.elementUrl(t).split("/")[5]),
                    paginationNext(e) {
                        let n;
                        return a.error("sadsad", e), e ? (n = t.$(".menu").last(), void 0 !== n[0] && !n.hasClass("active") && (n[0].click(), 
                        !0)) : (n = t.$(".menu.active").first().next(), void 0 !== n[0] && (n[0].click(), 
                        !0));
                    },
                    getTotal() {
                        const t = $('img[src="/images/misc/manga.png"], img[src="/images/misc/play.png"]').last().parent().parent().parent().parent();
                        if (t.length) return r.overview.list.elementEp(t);
                    }
                }
            },
            init(e) {
                if (o.storage.addStyle(n(329).toString()), t.$(".g-recaptcha").length) return a.log("loading"), 
                void e.cdn("captcha");
                "watch" !== e.url.split("/")[3] && "read" !== e.url.split("/")[3] || ("watch" === e.url.split("/")[3] ? r.type = "anime" : "read" === e.url.split("/")[3] && (r.type = "manga"), 
                t.$(document).ready((function() {
                    e.handlePage();
                }))), l(e), i.urlChangeDetect((function() {
                    e.reset(), l(e);
                }));
            }
        };
        let s = 0;
        function l(e) {
            if ("info" !== i.urlPart(e.url, 3)) return;
            const n = i.urlPart(e.url, 5);
            a.info("page", n), "list" === n && i.waitUntilTrue((function() {
                return t.$("#contentList").length;
            }), (function() {
                t.$('#simple-navi a[href*="manga"]').length ? r.type = "manga" : r.type = "anime";
                const n = parseInt(r.overview.getIdentifier(e.url));
                if (n !== s) s = n, e.handlePage(); else try {
                    e.handleList();
                } catch (t) {
                    a.error(t), e.handlePage();
                }
            })), "details" !== n && n || i.waitUntilTrue((function() {
                return t.$(".hreview-aggregate").length;
            }), (function() {
                s = parseInt(r.overview.getIdentifier(e.url)), t.$('#simple-navi a[href*="manga"]').length ? r.type = "manga" : r.type = "anime", 
                e.handlePage();
            }));
        }
        function c(t, e) {
            if (null !== t.match(/(special|extra)/gi)) return "";
            const n = t.match(/(kapitel |ep. |chapter |episode )\d+/gi);
            return null !== n ? n[0].match(/\d+/)[0] : e;
        }
    }).call(this, n(2), n(1), n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "4Anime",
            domain: "https://4anime.to",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: e => !(!t.$(".singletitletop").length || !t.$(".episodes").length),
            sync: {
                getTitle: e => t.$("span.singletitletop a").text().trim(),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4),
                getOverviewUrl: e => t.$("span.singletitletop a").attr("href") || "",
                getEpisode: e => Number(t.$("ul.episodes a.active").text().replace(/\D+/g, "")),
                nextEpUrl(e) {
                    const n = t.$(".anipager-next a").first().attr("href");
                    return void 0 !== n ? i.absoluteLink(n, o.domain) : "";
                }
            },
            overview: {
                getTitle: e => t.$("p.single-anime-desktop").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("p.description-mobile").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".episodes.range a"),
                    elementUrl: t => i.absoluteLink(t.attr("href"), o.domain),
                    elementEp: t => Number(t.text())
                }
            },
            init(e) {
                a.storage.addStyle(n(331).toString()), t.$(document).ready((function() {
                    (t.$(".singletitletop").length && t.$(".episodes").length || "anime" === e.url.split("/")[3]) && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "animeultima",
            domain: "https://animeultima.to",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: e => !("a" !== e.split("/")[3] || !t.$("h1.title.is-marginless span.is-size-4.is-size-5-touch.is-size-6-mobile")[0]),
            sync: {
                getTitle: e => t.$("h1.title.is-marginless span.is-size-4.is-size-5-touch.is-size-6-mobile").text().replace(/\n.*/g, "").trim(),
                getIdentifier: t => i.urlPart(t, 4).replace(/_\d+$/, ""),
                getOverviewUrl: t => `${o.domain}/a/${o.sync.getIdentifier(t)}`,
                getEpisode: e => Number(t.$("h1.title.is-marginless span.is-size-4.is-size-5-touch.is-size-6-mobile").text().replace(/.*\n/g, "").replace(/\D+/g, "")),
                nextEpUrl(e) {
                    const n = t.$(".level-right a").first().attr("href");
                    return void 0 !== n ? i.absoluteLink(n, o.domain) : "";
                }
            },
            overview: {
                getTitle: t => i.getBaseText($("h1.title.is-marginless.is-paddingless").first()).replace(/[^ \w]+/g, "").trim(),
                getIdentifier: t => o.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$("div.tags.is-marginless").first().after(t.html(e));
                },
                getMalUrl(e) {
                    const n = t.$('a[href^="https://myanimelist.net/anime/"]').not("#malRating").first().attr("href");
                    return n || !1;
                }
            },
            init(e) {
                a.storage.addStyle(n(333).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Aniflix",
            domain: "https://www1.aniflix.tv",
            languages: [ "German" ],
            type: "anime",
            isSyncPage: t => "season" === t.split("/")[6],
            sync: {
                getTitle(e) {
                    const n = e.split("/");
                    return "1" === n[7] || "0" === n[7] ? t.$("a.episode-showname").text() : `${t.$("a.episode-showname").text()} season ${e.split("/")[7]}`;
                },
                getIdentifier: t => `${t.split("/")[4]}?s=${t.split("/")[7]}`,
                getOverviewUrl: e => o.domain + (t.$("a.episode-showname").attr("href") || ""),
                getEpisode: t => Number(t.split("/")[9])
            },
            overview: {
                getTitle: e => 1 === Number(t.$("div.seasons-wrapper > div.season.season-active > div").first().text().replace(/\D+/g, "")) || "Specials" === t.$("div.seasons-wrapper > div.season.season-active > div").first().text() ? t.$("h1.show-name").text() : `${t.$("h1.show-name").text()} season ${t.$("div.seasons-wrapper > div.season.season-active > div").first().text().replace(/\D+/g, "")}`,
                getIdentifier: e => "Specials" === t.$("div.seasons-wrapper > div.season.season-active > div").first().text() ? e.split("/")[4] + "?s=0" : `${e.split("/")[4]}?s=${t.$("div.seasons-wrapper > div.season.season-active > div").first().text().replace(/\D+/g, "")}`,
                uiSelector(e) {
                    t.$("div.episodes").first().before(t.html(e));
                }
            },
            init(e) {
                function r() {
                    e.reset(), "show" === e.url.split("/")[3] && (o.isSyncPage(e.url) ? a.waitUntilTrue((function() {
                        return !!t.$("a.episode-showname").length;
                    }), (function() {
                        e.handlePage();
                    })) : (e.reset(), a.waitUntilTrue((function() {
                        return !(!t.$("h1.show-name").length || !t.$("h1.show-name").first().text());
                    }), (function() {
                        e.handlePage(), $("div.seasons-wrapper").unbind("click").click((function() {
                            e.reset(), e.handlePage();
                        }));
                    }))));
                }
                i.storage.addStyle(n(335).toString()), e.url = window.location.href, r(), a.urlChangeDetect((function() {
                    r();
                }));
            }
        };
    }).call(this, n(2), n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Animefreak",
            domain: "https://www.animefreak.tv",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => "episode" === t.split("/")[5],
            sync: {
                getTitle: e => t.$("div.top-breadcrumb li:nth-child(2) a").text(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: t => `${o.domain}/watch/${o.sync.getIdentifier(t)}`,
                getEpisode: t => Number(t.split("/")[6].replace(/\D+/g, "")),
                nextEpUrl(e) {
                    const n = t.$(".fa-step-forward").first().parent().attr("href");
                    return void 0 !== n ? i.absoluteLink(n, o.domain) : "";
                }
            },
            overview: {
                getTitle: e => t.$("div.top-breadcrumb li:nth-child(2) a").text(),
                getIdentifier: t => t.split("/")[4],
                uiSelector(e) {
                    t.$("div.anime-title").first().before(t.html(e));
                }
            },
            init(e) {
                a.storage.addStyle(n(337).toString()), t.$(document).ready((function() {
                    "watch" === e.url.split("/")[3] && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return r;
        }));
        const a = new (n(12).a);
        function o() {
            const t = a.getCaptureVariable("videos");
            if (!(t instanceof Array)) throw new Error("Invalid metadata");
            const e = document.URL.split("/").pop();
            let n = -1;
            for (let i = 0; i < t.length; i++) if ("videoEntry" in t[i] && t[i].videoEntry.slug === e) {
                n = i;
                break;
            }
            if (-1 === n) throw new Error("Failed to identify playlist position");
            return {
                videos: t,
                playlistPosition: n
            };
        }
        a.addCaptureVariable("videos", '\n    if (window.hasOwnProperty("videos")) {\n      return videos;\n    } else {\n      return undefined;\n    }\n  ');
        const r = {
            name: "AnimeLab",
            domain: "https://www.animelab.com",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => t.startsWith("https://www.animelab.com/player/"),
            sync: {
                getTitle(t) {
                    const e = o(), n = e.videos[e.playlistPosition].videoEntry.season;
                    return n.seasonNumber > 1 ? n.name.length > n.showTitle.length && !n.name.startsWith("Season") ? n.name : `${n.showTitle} ${n.name}` : n.showTitle;
                },
                getIdentifier: t => r.sync.getTitle(t),
                getOverviewUrl(t) {
                    const e = o();
                    return "https://www.animelab.com/shows/" + e.videos[e.playlistPosition].videoEntry.showSlug;
                },
                getEpisode(t) {
                    const e = o();
                    return parseInt(e.videos[e.playlistPosition].videoEntry.episodeNumber);
                },
                nextEpUrl(t) {
                    const e = o();
                    if (e.videos.length > e.playlistPosition + 1) return "https://www.animelab.com/player/" + e.videos[e.playlistPosition + 1].videoEntry.slug;
                }
            },
            init(e) {
                t.storage.addStyle(n(339).toString());
                const o = t => {
                    e.handlePage();
                };
                r.isSyncPage(e.url) && i.$(document).ready(() => {
                    a.addProxy(o), i.$("#video-component").on("loadstart", () => {
                        a.addProxy(o);
                    });
                });
            }
        };
    }).call(this, n(0), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "KickAssAnime",
            domain: "https://www.kickassanime.ro",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => void 0 !== t.split("/")[5],
            sync: {
                getTitle: e => t.getBaseText($("#animeInfoTab > a")),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: t => `${r.domain}/anime/${r.sync.getIdentifier(t)}`,
                getEpisode(t) {
                    const e = t.split("/");
                    if (!e || 0 === e.length) return NaN;
                    const n = e[5];
                    if (0 === n.length) return NaN;
                    const i = n.match(/episode-\d*/gi);
                    return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN;
                },
                nextEpUrl(e) {
                    const n = i.$("#sidebar-anime-info > div > div > a:contains('Next Episode')").attr("href");
                    return n ? t.absoluteLink(n, r.domain) : "";
                }
            },
            overview: {
                getTitle: t => i.$("h1.title").text(),
                getIdentifier: e => t.urlPart(e, 4),
                uiSelector(t) {
                    i.$("div.anime-info").first().after(i.html(`<div class="border rounded mb-2 p-3"><div class="font-weight-bold">MAL-Sync</div>${t}</div`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => i.$("div.anime-list tbody > tr"),
                    elementUrl: e => t.absoluteLink(e.find("a").attr("href"), r.domain),
                    elementEp(t) {
                        const e = t.find("a").text();
                        return e.toLowerCase().includes("episode") ? Number(e.replace(/\D+/g, "")) : NaN;
                    },
                    paginationNext(t) {
                        a.log("updatecheck", t);
                        const e = i.$(" div.main-episode-list > div > div > div > button:nth-child(2):enabled");
                        return void 0 !== e[0] && (e[0].click(), !0);
                    }
                }
            },
            init(e) {
                o.storage.addStyle(n(341).toString()), i.$(document).ready((function() {
                    "anime" === e.url.split("/")[3] && t.waitUntilTrue((function() {
                        return r.sync.getTitle(e.url) || r.overview.getTitle(e.url);
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(1), n(2), n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeKisa",
            domain: "https://animekisa.tv",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: e => !(null === e.split("/")[3] || !t.$("div.c a.infoan2")[0] || !t.$("#playerselector option:selected")[0]),
            isOverviewPage(e) {
                const n = t.$("div.notmain > div > div.infobox > div.infoboxc > div.infodesbox > h1"), i = t.$("div.notmain > div > div.infobox > div.infoepboxmain");
                return !(!e.split("/")[3] || 0 === n.length || 0 === i.length);
            },
            sync: {
                getTitle: e => t.$("div.c a.infoan2").text().trim(),
                getIdentifier: e => t.$("div.c a.infoan2").attr("href") || "",
                getOverviewUrl: e => `${o.domain}/${t.$("div.c a.infoan2").attr("href")}`,
                getEpisode: e => Number(t.$("#playerselector option:selected").text().replace(/\D+/g, "")),
                nextEpUrl(t) {
                    const e = $("#playerselector").find("option:selected").next().attr("value");
                    if (!e) return "";
                    const n = t.replace(/\d+$/, e);
                    return void 0 !== e && n !== t ? i.absoluteLink(n, o.domain) : "";
                },
                getMalUrl: t => o.overview.getMalUrl(t)
            },
            overview: {
                getTitle: e => t.$("div.notmain > div > div.infobox > div.infoboxc > div.infodesbox > h1").text().trim(),
                getIdentifier: t => t.split("/")[3],
                uiSelector(e) {
                    t.$(".infoepboxmain").first().before(t.html(e));
                },
                getMalUrl(e) {
                    let n = t.$('a[href^="https://myanimelist.net/anime/"]').not("#malRating").first().attr("href");
                    return n || ("ANILIST" === e && (n = t.$('a[href^="https://anilist.co/anime/"]').not("#malRating").first().attr("href"), 
                    n) || !("KITSU" !== e || (n = t.$('a[href^="https://kitsu.io/anime/"]').not("#malRating").first().attr("href"), 
                    !n))) && n;
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.infoepbox > a"),
                    elementUrl: t => `${o.domain}/${t.find(".infoepmain").first().parent().attr("href")}`,
                    elementEp: t => Number(t.find("div.infoept2r > div, div.infoept2 > div").first().text())
                }
            },
            init(e) {
                a.storage.addStyle(n(343).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Wakanim",
            domain: "https://www.wakanim.tv",
            languages: [ "English", "Spanish", "Portuguese", "French", "German", "Arabic", "Italian", "Russian" ],
            type: "anime",
            isSyncPage: e => !!t.$("body > section.episode > div > div > div.episode_main > div.episode_video > div").length,
            sync: {
                getTitle: t => o.sync.getIdentifier(t),
                getIdentifier(e) {
                    const n = r(t.$("span.episode_subtitle > span:nth-child(2)").text());
                    return `${t.$('[itemprop="partOfSeries"] meta[itemprop="name"]').attr("content")} ${n}`;
                },
                getOverviewUrl: e => o.domain + (t.$("body > section.episode > div > div > div.episode_info > div.episode_buttons > a:nth-child(2)").attr("href") || ""),
                getEpisode: e => Number(t.$("body > section.episode > div > div > div.episode_info > h1 > span.episode_subtitle > span > span").text()),
                nextEpUrl: e => t.$("body > section.episode > div > div > div.episode_main > div.episode_video > div > div.episode-bottom > div.episodeNPEp-wrapperBlock > a.episodeNPEp.episodeNextEp.active").attr("href")
            },
            overview: {
                getTitle: t => o.overview.getIdentifier(t),
                getIdentifier(e) {
                    const n = r(t.$("#list-season-container > div > select > option:selected").text());
                    return `${t.$('[itemtype="http://schema.org/TVSeries"] > meta[itemprop="name"]').attr("content")} ${n}`;
                },
                uiSelector(e) {
                    t.$("#nav-show").first().before(t.html(e));
                },
                list: {
                    offsetHandler: !0,
                    elementsSelector: () => t.$("li.-big"),
                    elementUrl: t => i.absoluteLink(t.find("a").attr("href"), o.domain),
                    elementEp(t) {
                        const e = o.overview.list.elementUrl(t), n = t.find("a").attr("title");
                        return n ? function(t, e) {
                            let n = "";
                            if (/\d+\.\d+/.test(e)) {
                                const t = e.match(/\d+\.\d+/);
                                t && 0 !== t.length && (n = "episode" + t[0]);
                            } else n = i.urlPart(t, 8) || "";
                            if (!n) return NaN;
                            const a = n.match(/([e,E][p,P][i,I]?[s,S]?[o,O]?[d,D]?[e,E]?|[f,F][o,O][l,L][g,G]?[e,E])\D?\d+/);
                            if (!a || 0 === a.length) return NaN;
                            const o = a[0].match(/\d+/);
                            return o && 0 !== o.length ? Number(o[0]) : NaN;
                        }(e, n.trim()) : NaN;
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(345).toString()), ("show" === e.url.split("/")[6] && "season" === e.url.split("/")[9] || "episode" === e.url.split("/")[6]) && i.waitUntilTrue((function() {
                    return !(!t.$("body > div.SerieV2 > section > div.container > div > div.SerieV2-content").length && !t.$("#jwplayer-container").length);
                }), (function() {
                    e.reset(), e.handlePage();
                })), i.urlChangeDetect((function() {
                    e.reset(), "show" === e.url.split("/")[6] && "season" === e.url.split("/")[9] && i.waitUntilTrue((function() {
                        return !!t.$("#list-season-container").length;
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
        function r(t) {
            if (t.includes("Cour")) {
                const e = t.match(/Cour (\d+)/);
                return 2 === e[1] ? t.replace(e[0], "Part 2 ").trim().replace("-", "") : t.replace(/Cour \d+/, "").trim().replace("-", "");
            }
            return t;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeIndo",
            domain: "https://animeindo.net",
            languages: [ "Indonesian" ],
            type: "anime",
            isSyncPage: e => !(null === e.split("/")[1] || !t.$("#sct_content > div > div.preview")[0]),
            sync: {
                getTitle: e => t.$("#sct_content > div > div.infobox > h3").text(),
                getIdentifier(e) {
                    const n = t.$("#sct_content > div > div.ep_nav.fr > span.nav.all > a").attr("href");
                    return n ? i.urlPart(n, 4) : "";
                },
                getOverviewUrl: e => t.$("#sct_content > div > div.ep_nav.fr > span.nav.all > a").attr("href") || "",
                getEpisode(t) {
                    const e = t.split("/");
                    if (!e || 0 === e.length) return NaN;
                    const n = e[3];
                    if (0 === n.length) return NaN;
                    const i = n.match(/-episode-\d*/g);
                    return i ? Number(i[0].replace(/\D+/g, "")) : NaN;
                },
                nextEpUrl(e) {
                    const n = t.$(".nav.next a").first().attr("href");
                    return void 0 !== n ? i.absoluteLink(n, o.domain) : "";
                }
            },
            overview: {
                getTitle: e => t.$("#sct_content > div.nodeinfo > h2").first().text().replace(/sinopsis/gi, "").trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("#sct_content > h1").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul.eps_lst,ul#epl").find("li:not(.hdr)"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain),
                    elementEp: t => Number(t.find("a").first().text().replace(/\D+/g, ""))
                }
            },
            init(e) {
                a.storage.addStyle(n(347).toString()), t.$(document).ready((function() {
                    ("anime" === e.url.split("/")[3] || null !== e.url.split("/")[3] && t.$("#sct_content > div > div.preview")[0]) && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Shinden",
            domain: "https://shinden.pl",
            languages: [ "Polish" ],
            type: "anime",
            isSyncPage(t) {
                const e = t.split("/")[3];
                return "episode" === e || "epek" === e;
            },
            sync: {
                getTitle: e => t.$(".page-title > a").text().trim(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: e => i.absoluteLink(t.$(".player-navigator > li:nth-child(2) > a").attr("href"), o.domain),
                getEpisode(e) {
                    const n = t.$("dl.info-aside-list:nth-child(1) > dd:nth-child(2)").text();
                    return n ? Number(n.replace(/\D+/g, "")) : NaN;
                },
                nextEpUrl: e => i.absoluteLink(t.$(".player-navigator > li:nth-child(3) > a").attr("href"), o.domain)
            },
            overview: {
                getTitle: e => t.$("h1.page-title").text().replace(/anime:/gim, "").trim(),
                getIdentifier: t => t.split("/")[4],
                uiSelector(e) {
                    t.$(".title-other").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".list-episode-checkboxes > tr:has(.fa-check)"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain),
                    elementEp: t => Number(t.find("td").first().text())
                }
            },
            init(e) {
                a.storage.addStyle(n(349).toString()), t.$(document).ready((function() {
                    const t = e.url.split("/")[3];
                    "series" !== t && "episode" !== t && "titles" !== t && "epek" !== t || e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Voiranime",
            domain: "https://voiranime.com",
            languages: [ "French" ],
            type: "anime",
            isSyncPage: t => !!$(".chapter-video-frame").length,
            sync: {
                getTitle: e => t.$(".breadcrumb > li:nth-child(2) > a:nth-child(1)").text().trim(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                getOverviewUrl: t => `${o.domain}/anime/${o.sync.getIdentifier(t)}`,
                getEpisode: e => Number(t.$("div.select-view:nth-child(2) > div:nth-child(2) > label:nth-child(1) > select >option:selected").text()),
                nextEpUrl: e => i.absoluteLink(t.$("div.select-pagination:nth-child(3) > div:nth-child(1) > div:nth-child(2) > a:nth-child(1)").attr("href"), o.domain)
            },
            overview: {
                getTitle: t => $(".post-title > h1:nth-child(1)").first().text().trim(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                uiSelector(e) {
                    t.$(".post-title > h1:nth-child(1)").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !0,
                    elementsSelector: () => t.$("li.wp-manga-chapter"),
                    elementUrl: t => i.absoluteLink(t.find("a").attr("href"), o.domain),
                    elementEp: t => Number(t.find("a").first().text().split("-").pop())
                }
            },
            init(e) {
                a.storage.addStyle(n(351).toString()), t.$(document).ready((function() {
                    ($(".chapter-video-frame").length || $("body > div.wrap > div > div.site-content > div > div.profile-manga > div > div > div > div.tab-summary").length) && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "DubbedAnime",
            domain: "https://ww5.dubbedanime.net",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => "episode" === t.split("/")[3],
            sync: {
                getTitle: e => t.$("h1.dosis.ep-title").text().replace(/(episode|ova).*\d+/gim, "").trim(),
                getIdentifier: t => o.overview.getIdentifier(o.sync.getOverviewUrl(t)),
                getOverviewUrl: e => i.absoluteLink(t.$('div.video-info a[href*="/anime/"]').attr("href"), o.domain),
                getEpisode(t) {
                    const e = i.urlPart(t, 4).match(/-(episode|ova)-\d+-/gim);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl: e => i.absoluteLink(t.$("div.video-info i.fa-forward").closest("a").attr("href"), o.domain)
            },
            overview: {
                getTitle: e => t.$("h1.h3.dosis.mt-0.text-white.pt-2.d-none.d-sm-block").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("#episodes > div > div.row.mb-3.pr-2").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.da-page-episodes > ul.list-unstyled > li.da-tbl:not(.ongoing-ep-new,:hidden)"),
                    elementUrl: t => i.absoluteLink(t.find("div.da-video-tbl > a").first().attr("href"), o.domain),
                    elementEp: t => Number(t.find("div.da-video-tbl > span.ep-num").first().text().replace(/\D+/, ""))
                }
            },
            init(e) {
                a.storage.addStyle(n(353).toString()), t.$(document).ready((function() {
                    "episode" === e.url.split("/")[3] ? e.handlePage() : "anime" === e.url.split("/")[3] && (e.handlePage(), 
                    $("div.col-4.px-0 > button.subdub").unbind("click").click((function() {
                        e.handleList();
                    })));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return a;
        }));
        const a = {
            name: "VIZ",
            domain: "https://www.viz.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => "shonenjump" === t.split("/")[3] && "chapter" === t.split("/")[5],
            sync: {
                getTitle: e => t.$("#product_row > div.bg-lighter-gray.mar-b-md.mar-b-lg--md.chapter_ribbon > div > h3 > a").text(),
                getIdentifier(e) {
                    const n = t.$("#product_row > div.bg-lighter-gray.mar-b-md.mar-b-lg--md.chapter_ribbon > div > h3 > a").attr("href");
                    return n ? n.split("/")[3] : "";
                },
                getOverviewUrl: e => a.domain + (t.$("#product_row > div.bg-lighter-gray.mar-b-md.mar-b-lg--md.chapter_ribbon > div > h3 > a").attr("href") || ""),
                getEpisode(e) {
                    const n = t.$("#product_row > div.bg-lighter-gray.mar-b-md.mar-b-lg--md.chapter_ribbon > div > h3 > span").text();
                    if (!n) return NaN;
                    const i = n.match(/\d+/gim);
                    return i && 0 !== i.length ? Number(i[0]) : NaN;
                }
            },
            overview: {
                getTitle: e => t.$("#series-intro > div.clearfix.mar-t-md.mar-b-lg > h2").text().trim(),
                getIdentifier: t => t.split("/")[5],
                uiSelector(e) {
                    t.$("#series-intro").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".o_sortable-b,.o_sortable"),
                    elementUrl(t) {
                        const e = t.find("a").first().attr("href");
                        return e ? a.domain + e.replace(/javascript:tryReadChapter\(\d+,'/gi, "").replace(/'\);/g, "") : "";
                    },
                    elementEp(t) {
                        const e = t.find("a").first().attr("href");
                        if (!e || e.match(/javascript:void\('join to read'\);/)) return NaN;
                        let n = t.find("td > div.disp-id.mar-r-sm").text();
                        if (0 === n.length && (n = t.find("a").first().text().trim()), !n || 0 === n.length) throw "Join to read";
                        const i = n.match(/\d+/gim);
                        return i ? Number(i[0]) : NaN;
                    }
                }
            },
            init(e) {
                i.storage.addStyle(n(355).toString()), t.$(document).ready((function() {
                    "shonenjump" !== e.url.split("/")[3] || "chapter" !== e.url.split("/")[5] && "chapters" !== e.url.split("/")[4] || e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "MangaNato",
            domain: [ "https://manganato.com", "https://readmanganato.com" ],
            database: "MangaNato",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[3] && t.split("/")[3].startsWith("manga-") && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0,
            isOverviewPage: t => void 0 !== t.split("/")[3] && t.split("/")[3].startsWith("manga-") && void 0 === t.split("/")[4],
            getImage: () => $("div.story-info-left > span.info-image > img").attr("src"),
            sync: {
                getTitle: e => t.$("div.body-site > div > div.panel-breadcrumb > a:nth-child(3)").text(),
                getIdentifier: t => i.urlPart(t, 3),
                getOverviewUrl: e => t.$("div.body-site > div > div.panel-breadcrumb > a:nth-child(3)").attr("href") || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 4).match(/chapter[_-]\d+/gi);
                    return e && e.length ? Number(e[0].replace(/\D+/g, "")) : 0;
                },
                nextEpUrl: e => t.$("div.panel-navigation > div > a.navi-change-chapter-btn-next.a-h").first().attr("href")
            },
            overview: {
                getTitle: e => t.$("div.panel-story-info > div.story-info-right > h1").text(),
                getIdentifier: t => i.urlPart(t, 3),
                uiSelector(e) {
                    t.$("div.panel-story-chapter-list").first().before(t.html(`<div id="malthing" class="panel-story-chapter-list"> <p class="row-title-chapter" style="width: 100%;"><span class="row-title-chapter-name">MAL-Sync</span></p> <div class="panel-story-info-description" style="border-top: 0;margin-top: 0;background: inherit;">${e}</div></div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.panel-story-chapter-list > ul.row-content-chapter > li.a-h"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(String(t.find("a").first().attr("href")))
                }
            },
            init(e) {
                a.storage.addStyle(n(357).toString()), t.$(() => {
                    e.handlePage();
                });
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "NekoSama",
            domain: "https://www.neko-sama.fr",
            languages: [ "French" ],
            type: "anime",
            isSyncPage: e => !!t.$("#watch").length,
            sync: {
                getTitle: e => t.$(".details > div > h1 > a").text(),
                getIdentifier(t) {
                    const e = i.urlPart(t, 5);
                    if (!e) return "";
                    const n = e.match(/^\d*/);
                    return n && 0 !== n.length ? n[0] : "";
                },
                getOverviewUrl: e => o.domain + (t.$(".details > div > h1 > a").attr("href") || ""),
                getEpisode(e) {
                    const n = t.$("#watch > div > div.row.no-gutters.anime-info > div.info > div > div > h2").text();
                    return n ? Number(n.split(" Episode ").pop()) : NaN;
                },
                nextEpUrl: e => i.absoluteLink(t.$("#watch > div > div:nth-child(2) > div > div.item.right > a.ui.button.small.with-svg-right").attr("href"), o.domain)
            },
            overview: {
                getTitle: t => i.getBaseText($("#head > div.content > div > div > div > h1")),
                getIdentifier: t => o.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$("#head > div.content > div > div > div > div").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("#stats > div > div.episodes > div.row.no-gutters.js-list-episode-container > div > div > div.text"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain),
                    elementEp: t => Number(t.find("a").first().text().replace(/\D+/, ""))
                }
            },
            init(e) {
                a.storage.addStyle(n(359).toString()), i.waitUntilTrue((function() {
                    return t.$("#stats,#watch").length;
                }), (function() {
                    e.handlePage(), t.$(".ui.toggle.checkbox, #stats > div > div.episodes > div > div").click((function() {
                        setTimeout((function() {
                            e.handleList();
                        }), 500);
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeZone",
            domain: "https://www.animezone.pl",
            languages: [ "Polish" ],
            type: "anime",
            isSyncPage: t => void 0 !== t.split("/")[5],
            sync: {
                getTitle: e => t.$(".category-description .panel-title").attr("title") || "",
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: e => i.absoluteLink(t.$(".all-episodes > a").attr("href"), o.domain),
                getEpisode: t => Number(t.split("/")[5]),
                nextEpUrl(e) {
                    const n = t.$(".next a").attr("href");
                    return n ? i.absoluteLink(n, o.domain) : "";
                }
            },
            overview: {
                getTitle: e => t.$(".category-description .panel-title").attr("title") || "",
                getIdentifier: t => t.split("/")[4],
                uiSelector(e) {
                    t.$(".ratings .panel-body .description").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("table.episodes > tbody > tr"),
                    elementUrl(t) {
                        const e = t.find("td:nth-child(6) > a").first().attr("href");
                        return e ? i.absoluteLink(e.replace(/^../gm, ""), o.domain) : "";
                    },
                    elementEp(t) {
                        var e, n, i;
                        return Number(null === (i = null === (n = null === (e = t.find("td:nth-child(6) > a").first().attr("href")) || void 0 === e ? void 0 : e.split("/")) || void 0 === n ? void 0 : n[3]) || void 0 === i ? void 0 : i.replace(/\D+/, ""));
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(361).toString()), t.$(document).ready((function() {
                    e.handlePage();
                    const n = t.$("#episode")[0], i = {
                        attributes: !1,
                        childList: !0,
                        subtree: !0
                    }, a = new MutationObserver((function(t, e) {
                        for (const n of t) {
                            if ("childList" !== n.type) return;
                            const t = document.querySelector("#episode a,  #episode iframe");
                            if (!t) return;
                            const i = (t instanceof HTMLAnchorElement ? t.href : t.src).replace(/^http:\/\//i, "https://"), a = document.querySelector("#episode .embed-container");
                            if (!a) return;
                            a.innerHTML = "";
                            const o = document.createElement("iframe");
                            o.src = i, o.width = "100%", o.height = "100%", o.setAttribute("allowfullscreen", "true"), 
                            a.append(o), e.disconnect();
                        }
                    }));
                    t.$(".btn.btn-xs.btn-success").each((function(e, o) {
                        t.$(o).click((function() {
                            a.observe(n, i);
                        }));
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeOdcinki",
            domain: "https://anime-odcinki.pl",
            languages: [ "Polish" ],
            type: "anime",
            isSyncPage: t => void 0 !== t.split("/")[5],
            sync: {
                getTitle: e => t.$(".field-name-field-tytul-anime a").text(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: e => i.absoluteLink(t.$(".field-name-field-tytul-anime a").attr("href"), o.domain),
                getEpisode: t => parseInt(t.split("/")[5]),
                nextEpUrl: e => t.$("#video-next").attr("href")
            },
            overview: {
                getTitle: e => t.$(".page-header").text(),
                getIdentifier: t => t.split("/")[4],
                uiSelector(e) {
                    t.$("#user-anime-top").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.view-content > ul > li.lista_odc_tytul_pozycja"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp(t) {
                        var e, n, i;
                        return Number(null === (i = null === (n = null === (e = t.find("a").first().attr("href")) || void 0 === e ? void 0 : e.split("/")) || void 0 === n ? void 0 : n[5]) || void 0 === i ? void 0 : i.match(/\d+/gim));
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(363).toString()), t.$(document).ready((function() {
                    void 0 !== e.url.split("/")[5] ? e.handlePage() : i.waitUntilTrue((function() {
                        return t.$("div.view-content").length;
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Animeflix",
            domain: "https://animeflix.io",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            sync: {
                getTitle: e => t.getBaseText($("h4.title.text-truncate, h4.headline.text-truncate").first()).replace("()", "").trim(),
                getIdentifier: e => t.urlPart(e, 4),
                getOverviewUrl: t => `${o.domain}/shows/${o.sync.getIdentifier(t)}`,
                getEpisode(t) {
                    const e = t.split("/");
                    if (!e || 0 === e.length) return NaN;
                    const n = e[5];
                    if (0 === n.length) return NaN;
                    const i = n.match(/episode-\d*-/gi);
                    return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN;
                }
            },
            overview: {
                getTitle: t => i.$("div.flex.xs12.lg8 > h1").text().trim(),
                getIdentifier: e => t.urlPart(e, 4),
                uiSelector(t) {
                    i.$("div.my-3").first().after(i.html(`<div class="container"> ${t}</div>`));
                }
            },
            init(e) {
                function o() {
                    "shows" === e.url.split("/")[3] && t.waitUntilTrue((function() {
                        return !!(i.$("h4.title.text-truncate").text() || i.$("h4.headline.text-truncate").text() || i.$("div.flex.xs12.lg8 > h1").text());
                    }), (function() {
                        e.handlePage();
                    }));
                }
                a.storage.addStyle(n(365).toString()), o(), t.urlChangeDetect((function() {
                    e.reset(), o();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "serimanga",
            domain: "https://serimanga.com",
            languages: [ "Turkish" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            sync: {
                getTitle: e => t.getBaseText($("#reader > div.read-top-menu > div.rtm-logo > a.back.text-white")).trim(),
                getIdentifier: e => t.urlPart(e, 4) || "",
                getOverviewUrl: t => i.$("#reader > div.read-top-menu > div.rtm-logo > a.back.text-white").attr("href") || "",
                getEpisode: e => parseInt(t.urlPart(e, 5)),
                nextEpUrl: t => i.$("#chapterButtons2 > div > div:nth-child(2) > a").first().attr("href")
            },
            overview: {
                getTitle: t => i.$("div.seri-img > div > div > div.name").first().text().trim(),
                getIdentifier: e => t.urlPart(e, 4) || "",
                uiSelector(t) {
                    i.$("div.sub-top-text").first().after(i.html(t));
                }
            },
            init(t) {
                a.storage.addStyle(n(367).toString()), i.$(document).ready((function() {
                    "manga" === t.url.split("/")[3] && t.handlePage();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "mangadenizi",
            domain: "https://mangadenizi.com",
            languages: [ "Turkish" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            sync: {
                getTitle: e => t.$("#navbar-collapse-1 > ul > li:nth-child(1) > a").text(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                getOverviewUrl: e => t.$("#navbar-collapse-1 > ul > li:nth-child(1) > a").attr("href") || "",
                getEpisode: t => Number(t.split("/")[5]),
                nextEpUrl(e) {
                    let n = t.$("body > div.container-fluid > script")[0].innerHTML.match(/next_chapter\s*=\s*".*"/gim);
                    return n && 0 !== n.length ? (n = n[0].match(/"(.*?)"/gm), n && 0 !== n.length ? n[0].replace(/(^"|"$)/gm, "") : "") : "";
                }
            },
            overview: {
                getTitle: e => t.$("h2.widget-title").first().text(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                uiSelector(e) {
                    t.$("h2.widget-title").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul.chapters > li"),
                    elementUrl: t => i.absoluteLink(t.find("h5 > a").first().attr("href"), o.domain),
                    elementEp: t => i.absoluteLink(t.find("h5 > a").first().attr("href"), o.domain).split("/")[5]
                }
            },
            init(e) {
                a.storage.addStyle(n(369).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "moeclip",
            domain: "https://moeclip.com",
            languages: [ "Indonesian" ],
            type: "anime",
            isSyncPage: e => !(!t.$("div.video-content")[0] || !t.$("h1.entry-title.title-font")[0]),
            sync: {
                getTitle: e => t.$("header h1.entry-title.title-font").text().replace(/\d+\ssub\s*indo/gim, "").trim(),
                getIdentifier: t => t.split("/")[3].replace(/-\d*-sub-indo.*/gim, "").trim(),
                getOverviewUrl: t => `${o.domain}/anime/${o.sync.getIdentifier(t)}`,
                getEpisode(t) {
                    const e = t.split("/");
                    if (!e || 0 === e.length) return NaN;
                    const n = e[3];
                    if (0 === n.length) return NaN;
                    const i = n.match(/-\d*-sub-indo.*/gim);
                    return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN;
                },
                nextEpUrl: e => t.$("div.episode-nav > div.select-episode > div:nth-child(3) > a").first().attr("href")
            },
            overview: {
                getTitle: t => i.getBaseText($("#data2 > div:nth-child(2)")).trim().replace(/:[ ]*/g, ""),
                getIdentifier: t => t.split("/")[4].replace(/-sub-indo.*/gim, "").trim(),
                uiSelector(e) {
                    t.$("div.entry-meta").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("li.episode-list"),
                    elementUrl: t => i.absoluteLink(t.find("div > a").first().attr("href"), o.domain),
                    elementEp: t => Number(t.find("div > a").first().text().replace(/\D+/, ""))
                }
            },
            init(e) {
                a.storage.addStyle(n(371).toString()), t.$(document).ready((function() {
                    ("anime" === e.url.split("/")[3] || t.$("div.video-content")[0] && t.$("h1.entry-title.title-font")[0] && t.$("#plv > div.contentsembed > div.episode-nav > div > div.eps-nav.pilih")[0]) && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "mangalivre",
            domain: "https://mangalivre.net",
            languages: [ "Portuguese" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[6] && t.split("/")[6].length > 0,
            sync: {
                getTitle: e => t.$("div.series-title > span.title").text(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                getOverviewUrl: e => o.domain + (t.$("div.series-info-popup-container > div > div > div.series-cover > a").attr("href") || ""),
                getEpisode: e => parseInt(t.$("span.current-chapter > em[reader-current-chapter]").text()),
                nextEpUrl(e) {
                    const n = i.absoluteLink(t.$("ul.chapter-list > li.selected").prev("li").find("a").attr("href"), o.domain);
                    if (n) return n;
                }
            },
            overview: {
                getTitle: e => t.$("#series-data > div.series-info.touchcarousel > span.series-title > h1").first().text().trim(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                uiSelector(e) {
                    t.$("#series-data > div.series-info.touchcarousel > span.series-desc").first().after(t.html(e));
                }
            },
            init(e) {
                a.storage.addStyle(n(373).toString()), t.$(document).ready((function() {
                    ("manga" === e.url.split("/")[3] || "ler" === e.url.split("/")[3]) && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "tmofans",
            domain: [ "https://lectortmo.com", "https://tmofans.com" ],
            languages: [ "Spanish" ],
            type: "manga",
            isSyncPage: t => "viewer" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0,
            sync: {
                getTitle: e => t.$("#app > section:nth-child(2) > div > div > h1").text().trim(),
                getIdentifier(e) {
                    const n = t.$("nav.navbar > div > div:nth-child(2) > a").last().attr("href");
                    return n ? n.split("/")[6] : "";
                },
                getOverviewUrl: e => t.$("nav.navbar > div > div:nth-child(2) > a").last().attr("href") || "",
                getEpisode(t) {
                    const e = i.getBaseText($("#app > section:nth-child(2) > div > div > h2").first()).trim();
                    if (e.length) {
                        const t = e.match(/Capítulo *\d*/gim);
                        if (null !== t) return t[0].replace(/\D+/g, "");
                    }
                    return "";
                }
            },
            overview: {
                getTitle: t => i.getBaseText($("h1.element-title.my-2").first()).trim(),
                getIdentifier: t => i.urlPart(t, 6) || "",
                uiSelector(e) {
                    t.$("header.container-fluid").first().after(t.html(e));
                }
            },
            init(e) {
                a.storage.addStyle(n(375).toString()), t.$(document).ready((function() {
                    ("library" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 || "viewer" === e.url.split("/")[3]) && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "unionmangas",
            domain: [ "https://unionleitor.top", "https://unionmangas.top" ],
            languages: [ "Portuguese" ],
            type: "manga",
            isSyncPage: t => "leitor" === t.split("/")[3] && void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            sync: {
                getTitle: e => t.getBaseText($("body > div.breadcrumbs > div > div > a:nth-child(3)")).trim(),
                getIdentifier(t) {
                    const e = i.$("body > div.breadcrumbs > div > div > a:nth-child(3)").attr("href");
                    return e ? e.split("/")[4].toLowerCase() : "";
                },
                getOverviewUrl: t => i.$("body > div.breadcrumbs > div > div > a:nth-child(3)").attr("href") || "",
                getEpisode: e => parseInt(t.urlPart(e, 5)),
                nextEpUrl(e) {
                    const n = e.split(/[?#]/)[0], i = $("#capitulo_trocar").find("option:selected").next().attr("value");
                    if (!i) return "";
                    const a = n.replace(/\d+$/, i);
                    return void 0 !== i && a !== n ? t.absoluteLink(a, o.domain) : "";
                }
            },
            overview: {
                getTitle: t => i.$("div.row > div.col-md-12 > h2").first().text().trim(),
                getIdentifier(e) {
                    const n = t.urlPart(e, 4);
                    return n ? n.toLowerCase() : "";
                },
                uiSelector(t) {
                    i.$("div.row > div.col-md-12 > h2").first().after(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => i.$("div.row.lancamento-linha"),
                    elementUrl: e => t.absoluteLink(e.find("div > a").first().attr("href"), o.domain),
                    elementEp: e => t.absoluteLink(e.find("div > a").first().attr("href"), o.domain).split("/")[5]
                }
            },
            init(t) {
                a.storage.addStyle(n(377).toString()), i.$(document).ready((function() {
                    "leitor" !== t.url.split("/")[3] && "perfil-manga" !== t.url.split("/")[3] && "manga" !== t.url.split("/")[3] || t.handlePage();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "MangaPlus",
            domain: "https://mangaplus.shueisha.co.jp",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => "viewer" === t.split("/")[3],
            sync: {
                getTitle: e => t.$("h1.Navigation-module_title_180OT").first().text(),
                getIdentifier(e) {
                    const n = t.$("h1.Navigation-module_title_180OT").first().parent().attr("href");
                    return !n || n.length < 3 ? "" : n.split("/")[2];
                },
                getOverviewUrl: e => o.domain + (t.$("h1.Navigation-module_title_180OT").first().parent().attr("href") || ""),
                getEpisode(e) {
                    const n = t.$("p.Navigation-module_chapterTitle_20juD").first().text();
                    return n ? Number(n.replace(/\D+/g, "")) : NaN;
                }
            },
            overview: {
                getTitle: e => t.$("h1.TitleDetailHeader-module_title_Iy33M").first().text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.TitleDetail-module_flexContainer_1oGb4").first().before(t.html(e));
                }
            },
            init(e) {
                a.storage.addStyle(n(379).toString()), "viewer" !== e.url.split("/")[3] && "titles" !== e.url.split("/")[3] || i.waitUntilTrue((function() {
                    return !(!t.$("h1.Navigation-module_title_180OT").text() && !t.$("h1.TitleDetailHeader-module_title_Iy33M").text());
                }), (function() {
                    e.handlePage();
                })), i.urlChangeDetect((function() {
                    e.reset(), "viewer" !== e.url.split("/")[3] && "titles" !== e.url.split("/")[3] || i.waitUntilTrue((function() {
                        return !(!t.$("h1.Navigation-module_title_180OT").text() && !t.$("h1.TitleDetailHeader-module_title_Iy33M").text());
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "JapScan",
            domain: "https://www.japscan.ws",
            languages: [ "French" ],
            type: "manga",
            isSyncPage: t => "lecture-en-ligne" === t.split("/")[3],
            sync: {
                getTitle: e => t.getBaseText($("ol.breadcrumb > li:nth-child(3) > a").first()).trim(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: t => o.domain + (i.$("ol.breadcrumb > li:nth-child(3) > a").first().attr("href") || ""),
                getEpisode: t => Number(t.split("/")[5]),
                nextEpUrl(t) {
                    const e = i.$("div.clearfix > p > a").last().attr("href") || "";
                    return "Chapitre Suivant" === i.$("div.clearfix > p > span").last().text() && e.length ? o.domain + (i.$("div.clearfix > p > a").last().attr("href") || "") : "";
                }
            },
            overview: {
                getTitle: t => i.$("div#main > div.card > div.card-body > h1").first().text().replace(/^[a-z]+/gim, "").trim(),
                getIdentifier: e => t.urlPart(e, 4),
                uiSelector(t) {
                    i.$("div#main > div.card > div.card-body > h1").first().after(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => i.$("div#chapters_list > div > div.chapters_list.text-truncate"),
                    elementUrl: e => t.absoluteLink(e.find("a").first().attr("href"), o.domain),
                    elementEp(t) {
                        var e, n, i;
                        return Number(null === (i = null === (n = null === (e = t.find("a").first().attr("href")) || void 0 === e ? void 0 : e.split("/")) || void 0 === n ? void 0 : n[3]) || void 0 === i ? void 0 : i.match(/\d+/gim));
                    }
                }
            },
            init(t) {
                a.storage.addStyle(n(381).toString()), i.$(document).ready((function() {
                    ("manga" === t.url.split("/")[3] || "lecture-en-ligne" === t.url.split("/")[3] && i.$("div#image").length) && t.handlePage();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Goyabu",
            domain: "https://goyabu.com",
            languages: [ "Portuguese" ],
            type: "anime",
            isSyncPage: t => "videos" === t.split("/")[3],
            isOverviewPage: t => "assistir" === t.split("/")[3],
            sync: {
                getTitle: e => t.$("div.sidebar-holder.kanra-info > span:nth-child(2)").text(),
                getIdentifier: t => o.sync.getOverviewUrl(t).split("/")[4],
                getOverviewUrl: e => t.$('div.kanra-controls > a[href*="/assistir/"]').attr("href") || "",
                getEpisode: e => r(t.$("#main > div > div.left-single > h1").text()),
                nextEpUrl: e => t.$('div.kanra-controls > a[rel="next"]').first().attr("href")
            },
            overview: {
                getTitle: e => t.$("div.anime-title > h1").first().text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.anime-single-index.episodes-container").first().before(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.anime-single-index.episodes-container div.anime-episode"),
                    elementUrl: t => i.absoluteLink(t.find("a").attr("href"), o.domain),
                    elementEp: t => r(t.find("h3").text())
                }
            },
            init(e) {
                a.storage.addStyle(n(383).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
        function r(t) {
            if (0 === t.length) return NaN;
            const e = t.match(/(episódio|episodio)\s*\d+/gim);
            return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimesVision",
            domain: "https://animesvision.biz",
            languages: [ "Portuguese" ],
            type: "anime",
            isSyncPage: t => void 0 !== t.split("/")[5],
            sync: {
                getTitle: e => t.getBaseText($("div.goblock.play-anime > div.gobread > ol > li.active > h1")).replace(/Dublado/gim, "").replace(/[\s-\s]*$/, "").trim(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: t => i.$("#episodes-sv-1 > li > div.sli-name > a").attr("href") || "",
                getEpisode(e) {
                    const n = t.urlPart(e, 5).replace(/\D+/, "");
                    return n ? Number(n) : 1;
                },
                nextEpUrl: e => t.absoluteLink(i.$("#nextEp").attr("href"), o.domain)
            },
            overview: {
                getTitle: e => t.getBaseText($("div.goblock.detail-anime > div.gobread > ol > li.active > span")).replace(/Dublado/gim, "").replace(/[\s-\s]*$/, "").trim(),
                getIdentifier: e => t.urlPart(e, 4),
                uiSelector(t) {
                    i.$("div.goblock.detail-anime > div.goblock-content.go-full > div.detail-content").after(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => i.$("#episodes-sv-1 > li.ep-item"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp(t) {
                        var e, n, i;
                        return Number(null === (i = null === (n = null === (e = t.find("a").first().attr("href")) || void 0 === e ? void 0 : e.split("/")) || void 0 === n ? void 0 : n[5]) || void 0 === i ? void 0 : i.replace(/\D+/, ""));
                    }
                }
            },
            init(t) {
                a.storage.addStyle(n(385).toString()), i.$(document).ready((function() {
                    "animes" !== t.url.split("/")[3] && "filmes" !== t.url.split("/")[3] || t.handlePage();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return p;
        }));
        var r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        let s, l, c, d = 0, m = 0, u = !1;
        const p = {
            name: "Hulu",
            domain: "https://www.hulu.com",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => "watch" === t.split("/")[3],
            sync: {
                getTitle: t => l,
                getIdentifier: t => `${s}?s=${m}`,
                getOverviewUrl: t => u ? `${p.domain}/movie/${s}` : `${p.domain}/series/${s}`,
                getEpisode: t => d,
                nextEpUrl: t => c
            },
            overview: {
                getTitle(e) {
                    const n = t.$("div.DetailsDropdown > div > div > button.Select__control > div.Select__single-value, div.DetailsDropdown > div > div > div.Select__control > div.Select__single-value").text().replace(/\D+/g, "");
                    return void 0 !== n && Number(n) > 1 ? `${l} season ${n}` : l;
                },
                getIdentifier: e => u ? (i.log("movie"), s + "?s=1") : (i.log("not a movie"), `${s}?s=${t.$("div.DetailsDropdown > div > div > button.Select__control > div.Select__single-value, div.DetailsDropdown > div > div > div.Select__control > div.Select__single-value").first().text().replace(/\D+/g, "")}`),
                uiSelector(e) {
                    t.$("#LevelTwo__scroll-area > div > div > div.Details__subnav").first().before(t.html(e));
                }
            },
            init(e) {
                function h() {
                    $("html").addClass("miniMAL-hide"), "watch" !== e.url.split("/")[3] && "series" !== e.url.split("/")[3] && "movie" !== e.url.split("/")[3] || a.waitUntilTrue((function() {
                        return "series" !== e.url.split("/")[3] || t.$("div.DetailsDropdown > div > div > button.Select__control > div.Select__single-value, div.DetailsDropdown > div > div > .Select__control > div.Select__single-value").first().text();
                    }), (function() {
                        return r(this, void 0, void 0, (function*() {
                            (yield function() {
                                return r(this, void 0, void 0, (function*() {
                                    const t = a.urlPart(window.location.href, 4), e = "https://discover.hulu.com/content/v3/entity?language=en&eab_ids=" + t.substring(t.length - 36, t.length), n = yield o.request.xhr("GET", e), r = JSON.parse(n.responseText);
                                    if (!r.items[0].genre_names.includes("Anime") && !r.items[0].genre_names.includes("Animation")) return !1;
                                    if (d = parseInt(r.items[0].number), r.items[0].season ? (s = r.items[0].series_id, 
                                    m = parseInt(r.items[0].season), l = r.items[0].series_name, u = !1) : (s = r.items[0].id, 
                                    m = 1, l = r.items[0].name, "series" !== window.location.href.split("/")[3] && (u = !0)), 
                                    m >= 1 && !u && "watch" === window.location.href.split("/")[3]) {
                                        const t = `https://discover.hulu.com/content/v4/hubs/series/${s}/season/${m}?offset=0&limit=999&schema=9&referralHost=production`;
                                        return o.request.xhr("GET", t).then(t => {
                                            const e = JSON.parse(t.responseText);
                                            return m > 1 && (d = d - e.items[0].number + 1, l = `${l} season ${m}`), c = void 0 !== e.items[d + 1] ? `${p.domain}/watch/${e.items[d + 1].id}` : void 0, 
                                            i.log(s), i.log(l), i.log(`episode: ${d} season: ${m}`), void 0 !== s;
                                        });
                                    }
                                    return i.log(s), i.log(l), i.log(`episode: ${d} season: ${m}`), void 0 !== s;
                                }));
                            }()) && (e.handlePage(), $("html").removeClass("miniMAL-hide"), "series" === e.url.split("/")[3] && $("body").on("DOMSubtreeModified", "div.DetailsDropdown > div > div > button.Select__control > div.Select__single-value", (function() {
                                e.reset(), e.handlePage(), $("html").removeClass("miniMAL-hide");
                            })));
                        }));
                    }));
                }
                o.storage.addStyle(n(387).toString()), h(), a.urlChangeDetect((function() {
                    e.reset(), i.log("url change"), h();
                }));
            }
        };
    }).call(this, n(2), n(4), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "Hidive",
            domain: "https://www.hidive.com",
            languages: [ "English", "Spanish", "Portuguese", "French", "German", "Arabic", "Italian", "Russian" ],
            type: "anime",
            isSyncPage: t => "stream" === t.split("/")[3],
            sync: {
                getTitle: e => t.$("#TitleDetails").text(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: e => r.domain + (t.$("#TitleDetails").attr("href") || ""),
                getEpisode(t) {
                    const e = t.split("/")[5];
                    return /^\d/.test(e) ? Number(e.slice(8)) : Number(e.slice(4));
                },
                nextEpUrl(e) {
                    const n = t.$("#StreamNextEpisode .episode-play").attr("data-key");
                    return n ? n !== e.split("/")[5] ? `${r.domain}/stream/${t.$("#StreamNextEpisode .episode-play").attr("data-videotitle")}/${n}` : void 0 : n;
                }
            },
            overview: {
                getTitle: e => t.$("div.text-container a").text().replace("Score It", "").trim(),
                getIdentifier: t => t.split("/")[4],
                uiSelector(e) {
                    t.$("div.details").first().after(t.html(`<div class="container"> ${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.episode-slider > div > div > div.cell > div:nth-child(1) > div.hitbox").filter((function() {
                        if (t.$(this).find("div.na").length) return !1;
                        const e = t.$(this).find(".player > a").attr("data-playurl") || "";
                        return !(!t.$(this).find(".player > a").attr("data-playurl") || window.location.href.split("/")[4] !== e.split("/")[4]);
                    })),
                    elementUrl: t => t.find("div.player > a").attr("data-playurl") || "",
                    elementEp(t) {
                        const e = t.find("div.player > a").attr("data-key");
                        return e && /^\d/.test(e) ? Number(e.slice(8)) : e ? Number(e.slice(4)) : 0;
                    }
                }
            },
            init(e) {
                i.storage.addStyle(n(389).toString()), t.$(document).ready((function() {
                    "stream" !== e.url.split("/")[3] && "tv" !== e.url.split("/")[3] && "movies" !== e.url.split("/")[3] || void 0 === e.url.split("/")[4] || (e.handlePage(), 
                    a.urlChangeDetect((function() {
                        o.info("Check"), e.handlePage();
                    })));
                }));
            }
        };
    }).call(this, n(2), n(0), n(1), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "FallenAngels",
            domain: "https://manga.fascans.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            sync: {
                getTitle: e => t.$("#navbar-collapse-1 > ul > li:nth-child(1) > a").text().replace(/manga$/gi, "").trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => t.$("#navbar-collapse-1 > ul > li:nth-child(1) > a").attr("href") || "",
                getEpisode: t => Number(t.split("/")[5]),
                nextEpUrl(e) {
                    const n = t.$("body > div.container-fluid > script").html().match(/next_chapter\s*=\s*".*"/gim);
                    if (!n || 0 === n.length) return "";
                    const i = n[0].match(/"(.*?)"/gm);
                    return i && 0 !== i.length ? i[0].replace(/(^"|"$)/gm, "") : "";
                }
            },
            overview: {
                getTitle: e => t.$("h2.widget-title").first().text(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("h2.widget-title").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul.chapters > li"),
                    elementUrl: t => i.absoluteLink(t.find("h5 > a").first().attr("href"), o.domain),
                    elementEp: t => i.absoluteLink(t.find("h5 > a").first().attr("href"), o.domain).split("/")[5]
                }
            },
            init(e) {
                a.storage.addStyle(n(391).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return l;
        }));
        var r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        let s = null;
        const l = {
            name: "Amazon Prime Video",
            domain: "https://www.primevideo.com",
            languages: [ "Many" ],
            type: "anime",
            isSyncPage: t => !(!s || !s.ep),
            sync: {
                getTitle: e => s && s.title ? $("<div/>").html(t.html(s.title)).text() : "",
                getIdentifier(t) {
                    if (s && s.id) return s.id;
                    throw "No Id Found";
                },
                getOverviewUrl(t) {
                    if (s && s.id) return "https://www.primevideo.com/detail/" + s.id;
                    throw "No Id Found";
                },
                getEpisode: t => s && s.ep ? s.ep : 1
            },
            overview: {
                getTitle: t => l.sync.getTitle(t),
                getIdentifier: t => l.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$("div.av-detail-section > div > h1").first().before(t.html(e));
                }
            },
            init(e) {
                let d;
                function m() {
                    return r(this, void 0, void 0, (function*() {
                        if (s = null, d = void 0, e.reset(), $("html").addClass("miniMAL-hide"), "detail" === a.urlPart(window.location.href, 3)) {
                            const t = yield c(window.location.href);
                            if (!t.genres.includes("av_genre_anime")) return void o.error("Not an Anime");
                            s = t, $("html").removeClass("miniMAL-hide"), e.handlePage();
                        }
                    }));
                }
                i.storage.addStyle(n(393).toString()), t.$(document).ready((function() {
                    m();
                })), a.urlChangeDetect((function() {
                    m();
                })), a.changeDetect(() => {
                    t.$(".dv-player-fullscreen").length || m();
                }, () => t.$(".dv-player-fullscreen").length), a.changeDetect(() => r(this, void 0, void 0, (function*() {
                    if (!d) return void o.error("No Episode Id found");
                    s = null, e.reset(), $("html").addClass("miniMAL-hide");
                    const n = yield c(a.absoluteLink(d.vidUrl, l.domain), d.internalId);
                    if (!n.genres.includes("av_genre_anime")) return void o.error("Not an Anime");
                    n.ep = null;
                    const i = t.$(".dv-player-fullscreen .webPlayer .subtitle").text();
                    if (i.length) {
                        const t = i.match(/ep..\d*/gim);
                        null !== t && (n.ep = parseInt(t[0].replace(/\D+/g, "")));
                    }
                    s = n, $("html").removeClass("miniMAL-hide"), e.handlePage();
                })), () => {
                    const e = t.$(".dv-player-fullscreen .webPlayer .subtitle").text();
                    if (e) return e;
                }), $("html").on("click", "a[data-video-type]", (function(e) {
                    return r(this, void 0, void 0, (function*() {
                        const e = t.$(this).attr("href"), n = t.$(this).attr("data-title-id");
                        d = {
                            vidUrl: e,
                            internalId: n
                        };
                    }));
                }));
            }
        };
        function c(t, e = 0) {
            o.log("Request Info", t, e);
            const n = {
                id: void 0,
                title: void 0,
                genres: [],
                ep: null,
                gti: void 0
            }, a = [ function(t) {
                if (t && t.props && t.props.state && t.props.state.self && Object.keys(t.props.state.self).length) {
                    const e = Object.values(t.props.state.self)[0];
                    e && ("season" === e.titleType || "movie" === e.titleType) && e.compactGTI && e.gti && (n.id = e.compactGTI, 
                    n.gti = e.gti);
                }
            }, function(t) {
                if (t && t.props && t.props.state && t.props.state.detail && t.props.state.detail.detail && Object.keys(t.props.state.detail.detail).length) {
                    let i;
                    if (i = n.gti && Object.prototype.hasOwnProperty.call(t.props.state.detail.detail, n.gti) ? t.props.state.detail.detail[n.gti] : Object.values(t.props.state.detail.detail)[0], 
                    !i || "season" !== i.titleType && "movie" !== i.titleType || i.title && (n.title = i.title), 
                    i && !n.genres.length && i.genres && i.genres.length && (n.genres = i.genres.map(t => t.id)), 
                    e && Object.prototype.hasOwnProperty.call(t.props.state.detail.detail, e)) {
                        const i = t.props.state.detail.detail[e];
                        i.episodeNumber && (n.ep = i.episodeNumber), "Movie" === i.entityType && (n.ep = 1), 
                        !n.genres.length && i.genres && i.genres.length && (n.genres = i.genres.map(t => t.id));
                    }
                }
            } ];
            return i.request.xhr("GET", t).then(t => {
                const e = t.responseText.match(/<script type="text\/template">.*(?=<\/script>)/g);
                if (e && e.length > 0) {
                    const t = e.map(t => JSON.parse(t.replace('<script type="text/template">', "")));
                    a.forEach(e => {
                        t.forEach(e);
                    });
                }
                return o.log("result", n), n;
            });
        }
    }).call(this, n(2), n(0), n(1), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return r;
        }));
        let o = !1;
        const r = {
            name: "MangaKatana",
            domain: "http://mangakatana.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            sync: {
                getTitle: e => t.getBaseText($("#breadcrumb_wrap > ol > li:nth-child(2) > a > span")).trim(),
                getIdentifier: e => t.urlPart(e, 4),
                getOverviewUrl: t => i.$("#breadcrumb_wrap > ol > li:nth-child(2) > a").attr("href") || "",
                getEpisode(t) {
                    const e = t.split("/");
                    if (!e || 0 === e.length) return NaN;
                    const n = e[5];
                    if (0 === n.length) return NaN;
                    const i = n.match(/c\d*/gi);
                    return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN;
                },
                nextEpUrl() {
                    const t = document.querySelector("a.nav_button.next");
                    return (null == t ? void 0 : t.href.startsWith("javascript")) ? "" : t.href;
                }
            },
            overview: {
                getTitle: t => i.$("div.info > h1.heading").first().text().trim(),
                getIdentifier: e => t.urlPart(e, 4),
                uiSelector(t) {
                    i.$("#single_book").first().before(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => void 0 !== i.$("div.chapters:not('.uk-hidden') > table > tbody > tr") && i.$("div.chapters:not('.uk-hidden') > table > tbody > tr").length ? i.$("div.chapters:not('.uk-hidden') > table > tbody > tr") : void 0 === window.location.href.split("/")[5] && void 0 !== i.$("#single_book > script").prev().children().children() && i.$("#single_book > script").prev().children().children().length ? (o = !0, 
                    i.$("#single_book > script").prev().children().children()) : i.$(".nowaythisexists"),
                    elementUrl: e => o ? t.absoluteLink(e.find("div > div > a").first().attr("href"), r.domain) : t.absoluteLink(e.find("td > div.chapter > a").first().attr("href"), r.domain),
                    elementEp: t => o ? r.sync.getEpisode(String(t.find("div > div > a").first().attr("href"))) : r.sync.getEpisode(String(t.find("td > div.chapter > a").first().attr("href")))
                }
            },
            init(t) {
                a.storage.addStyle(n(395).toString()), i.$(document).ready((function() {
                    "manga" === t.url.split("/")[3] && void 0 !== t.url.split("/")[4] && t.url.split("/")[4].length > 0 && t.handlePage();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "manga4life",
            domain: "https://manga4life.com",
            languages: [ "English" ],
            type: "manga",
            database: "MangaSee",
            isSyncPage: t => "read-online" === t.split("/")[3],
            isOverviewPage: t => "manga" === t.split("/")[3],
            sync: {
                getTitle: e => t.getBaseText($("div.MainContainer > div.container > div.row > div.Column > a").first()).trim(),
                getIdentifier: e => t.urlPart(o.sync.getOverviewUrl(e), 4) || "",
                getOverviewUrl: e => t.absoluteLink(i.$("div.MainContainer > div.container > div.row > div.Column > a").first().attr("href"), o.domain),
                getEpisode: e => t.getBaseText($("div.MainContainer > div.container > div.row > div.Column:nth-child(2) > button").first()).match(/\d+/gim)
            },
            overview: {
                getTitle: t => i.$("div.BoxBody > div.row > div.top-5 > ul > li:nth-child(1) > h1").first().text(),
                getIdentifier: e => t.urlPart(e, 4) || "",
                uiSelector(t) {
                    i.$("div.BoxBody > div.row > div.top-5 > ul > li:nth-child(1) > h1").first().after(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => (i.$("div.BoxBody > div.list-group > div.list-group-item.ShowAllChapters").click(), 
                    i.$("div.BoxBody > div.list-group > a.list-group-item.ChapterLink")),
                    elementUrl: e => t.absoluteLink(e.attr("href"), o.domain),
                    elementEp: t => Number(t.find("span").first().text().match(/\d+/gim))
                }
            },
            init(e) {
                a.storage.addStyle(n(397).toString()), i.$(document).ready((function() {
                    t.waitUntilTrue((function() {
                        return o.isSyncPage(e.url) ? o.sync.getTitle(e.url) && o.sync.getEpisode(e.url) : !!o.isOverviewPage(e.url) && (o.overview.getTitle(e.url) && !i.$('a[href$="{{vm.ChapterURLEncode(vm.Chapters[vm.Chapters.length-1].Chapter)}}"]').length);
                    }), (function() {
                        o.isOverviewPage(e.url) && e.handlePage(), o.isSyncPage(e.url) && function(t, e) {
                            let n = "";
                            const i = setInterval((function() {
                                const i = e();
                                void 0 !== i && n !== i && (n = e(), t());
                            }), 500);
                            Number(i);
                        }(() => {
                            e.handlePage();
                        }, () => i.$("div.Column.col-lg-2.col-6 button.btn.btn-sm.btn-outline-secondary.ng-binding").first().text().trim());
                    }));
                }));
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "bato",
            domain: "https://bato.to",
            languages: [ "Many" ],
            type: "manga",
            isSyncPage: t => "chapter" === t.split("/")[3],
            sync: {
                getTitle: e => t.$("h3.nav-title > a").text(),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4) || "",
                getOverviewUrl: e => i.absoluteLink(t.$("h3.nav-title > a").attr("href"), o.domain),
                getEpisode(e) {
                    const n = t.$("div.nav-epis > select > optgroup > option:selected").text();
                    if (!n) return NaN;
                    const i = n.match(/(ch\.|chapter)\D?\d+/i);
                    return i && 0 !== i.length ? Number(i[0].match(/\d+/)) : NaN;
                },
                nextEpUrl(e) {
                    const n = i.absoluteLink(t.$("div.nav-next > a").first().attr("href"), o.domain);
                    return "chapter" === n.split("/")[3] ? n : "";
                }
            },
            overview: {
                getTitle: e => t.$("h3.item-title > a").first().text(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                uiSelector(e) {
                    t.$("h3.item-title").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.episode-list > div.main > div.item"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain),
                    elementEp(t) {
                        const e = t.find("a > b").text();
                        if (!e) return NaN;
                        const n = e.match(/(ch\.|chapter)\D?\d+/i);
                        return n && 0 !== n.length ? Number(n[0].match(/\d+/)) : NaN;
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(399).toString()), t.$(document).ready((function() {
                    "chapter" !== e.url.split("/")[3] && "series" !== e.url.split("/")[3] || e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        let r;
        n.d(e, "a", (function() {
            return s;
        }));
        const s = {
            name: "DreamSub",
            domain: "https://dreamsub.cc",
            languages: [ "Italian" ],
            type: "anime",
            isSyncPage: t => r.isStreaming,
            sync: {
                getTitle: t => r.animeName,
                getIdentifier: t => r.clean,
                getOverviewUrl: t => r.overview_url,
                getEpisode: t => r.nEpisode,
                nextEpUrl: t => r.nextEpisode ? r.nextEpisode : "",
                getMalUrl: t => !!r.mal_id && "https://myanimelist.net/anime/" + r.mal_id
            },
            overview: {
                getTitle: t => s.sync.getTitle(t),
                getIdentifier: t => s.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$("div.detail-content").first().after(t.html(e));
                },
                getMalUrl: t => !!r.mal_id && "https://myanimelist.net/anime/" + r.mal_id,
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul#episodes-sv ul.innerSeas > li.ep-item").filter((function(t) {
                        return !$(this).find("div.sli-name > a.disabled").length;
                    })),
                    elementUrl: t => i.absoluteLink(t.find("div.sli-name > a").first().attr("href"), s.domain),
                    elementEp: t => parseInt(s.overview.list.elementUrl(t).split("/")[5])
                }
            },
            init(e) {
                if (a.storage.addStyle(n(401).toString()), "Verifica che non sei un bot | DreamSub" === document.title) return o.log("loading"), 
                void e.cdn();
                t.$(document).ready((function() {
                    i.waitUntilTrue((function() {
                        return t.$("#syncData").length;
                    }), (function() {
                        r = JSON.parse(t.$("#syncData").text()), e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "MangaPark",
            domain: "https://mangapark.net",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => !!("comic" === t.split("/")[3] && void 0 !== t.split("/")[6] && "chapter" === t.split("/")[6] || "chapter" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4]),
            isOverviewPage: t => "comic" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0,
            sync: {
                getTitle: e => t.getBaseText($("h3.nav-title > a")).trim(),
                getIdentifier: e => t.urlPart(o.sync.getOverviewUrl(e), 4),
                getOverviewUrl: e => t.absoluteLink(i.$("h3.nav-title > a").attr("href"), o.domain),
                getEpisode(t) {
                    let e = i.$("#select-chapters option:selected").text(), n = e.match(/(ch\.|chapter)\D?\d+/i);
                    return null !== n && (e = n[0], n = e.match(/\d+/), null !== n) ? n[0] : NaN;
                },
                getVolume(t) {
                    let e = i.$("#select-chapters option:selected").text(), n = e.match(/(vol\.|volume)\D?\d+/i);
                    return null !== n && (e = n[0], n = e.match(/\d+/), null !== n) ? n[0] : NaN;
                },
                nextEpUrl(e) {
                    const n = t.absoluteLink(i.$("div.nav-next a").attr("href"), o.domain);
                    return o.isSyncPage(n) ? n : "";
                }
            },
            overview: {
                getTitle: t => i.$("h3.item-title > a").first().text().trim(),
                getIdentifier: e => t.urlPart(e, 4),
                uiSelector(t) {
                    i.$("div.episode-list").first().before(i.html(t));
                }
            },
            init(t) {
                a.storage.addStyle(n(403).toString()), i.$(document).ready((function() {
                    t.handlePage();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return o;
        }));
        let a = !1;
        const o = {
            name: "AnimesHouse",
            domain: "https://animeshouse.net",
            languages: [ "Portuguese" ],
            type: "anime",
            isSyncPage: t => !0,
            sync: {
                getTitle: e => a ? t.$("div.sheader > div.data > h1").text() : t.$("#info > h1.epih1").text(),
                getIdentifier: t => a ? t.split("/")[4] : o.sync.getTitle(t).toLowerCase().replace(/\s+/g, "_"),
                getOverviewUrl: e => a ? e : t.$("div.pag_episodes > div:nth-child(2) > a").attr("href") || "",
                getEpisode: e => a ? 1 : Number(t.$("#info > div > h3.epih3").text().replace(/\D+/g, ""))
            },
            init(e) {
                i.storage.addStyle(n(405).toString()), t.$(document).ready((function() {
                    if (void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0) {
                        if ("episodio" === e.url.split("/")[3]) {
                            const n = t.$("#info > div > h3.epih3").text().toLowerCase();
                            !n.length || -1 === n.indexOf("episódio") && -1 === n.indexOf("episodio") || -1 !== n.indexOf("ona") || -1 !== n.indexOf("ova") || -1 !== n.indexOf("special") || -1 !== n.indexOf("oad") || -1 !== n.indexOf("oav") || e.handlePage();
                        }
                        "filme" === e.url.split("/")[3] && (a = !0, e.handlePage());
                    }
                }));
            }
        };
    }).call(this, n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return a;
        }));
        const a = {
            name: "AnimeXin",
            domain: "https://animexin.xyz",
            languages: [ "English", "Spanish", "Indonesian", "Portuguese", "Turkish", "Italian" ],
            type: "anime",
            isSyncPage: t => "anime" !== t.split("/")[3],
            sync: {
                getTitle: e => t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a > span").text(),
                getIdentifier: t => a.sync.getOverviewUrl(t).split("/")[4],
                getOverviewUrl: e => t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a").attr("href") || "",
                getEpisode(t) {
                    const e = t.split("/");
                    if (!e || 0 === e.length) return NaN;
                    const n = e[3];
                    if (0 === n.length) return NaN;
                    const i = n.match(/-episode-\d*/gi);
                    return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl(e) {
                    const n = t.$("div.naveps.bignav > div:nth-child(3) > a").first().attr("href");
                    return n && a.sync.getEpisode(e) < a.sync.getEpisode(n) ? n : "";
                }
            },
            overview: {
                getTitle: e => t.$("div.infox > h1.entry-title").text(),
                getIdentifier: t => t.split("/")[4],
                uiSelector(e) {
                    t.$("div.infox > h1.entry-title").first().before(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.bixbox.bxcl.epcheck > div.eplister > ul > li"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => a.sync.getEpisode(String(t.find("a").first().attr("href")))
                }
            },
            init(e) {
                i.storage.addStyle(n(407).toString()), t.$(document).ready((function() {
                    ("anime" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length && t.$("div.infox > h1.entry-title").length && t.$("div.bixbox.bxcl.epcheck").length || t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a").length && t.$("div.video-content").length) && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "MonosChinos",
            domain: "https://monoschinos2.com",
            languages: [ "Spanish" ],
            type: "anime",
            isSyncPage: t => "ver" === t.split("/")[3],
            sync: {
                getTitle: e => t.$("h1.Title-epi").text().replace(/(\d+\s+)(Sub|Dub)(\s+Español)$/gi, "").trim(),
                getIdentifier: t => o.sync.getOverviewUrl(t).split("/")[4],
                getOverviewUrl: e => t.$("a.btnWeb.green.Current").attr("href") || "",
                getEpisode(t) {
                    const e = t.split("/");
                    if (!e || 0 === e.length) return NaN;
                    const n = e[4];
                    if (0 === n.length) return NaN;
                    const i = n.match(/episodio-\d+/gi);
                    return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN;
                },
                nextEpUrl(e) {
                    const n = t.$("a.btnWeb:nth-child(3)").first().attr("href");
                    return n && o.sync.getEpisode(e) < o.sync.getEpisode(n) ? n : "";
                }
            },
            overview: {
                getTitle: e => t.$("h1.Title").text().replace(/(Sub|Dub)(\s+Español)$/gi, "").trim(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                uiSelector(e) {
                    t.$("h1.Title").first().before(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.SerieCaps > a.item"),
                    elementUrl: t => t.attr("href") || "",
                    elementEp: t => o.sync.getEpisode(String(t.attr("href")))
                }
            },
            init(e) {
                a.storage.addStyle(n(409).toString()), t.$(document).ready((function() {
                    "ver" !== e.url.split("/")[3] && "anime" !== e.url.split("/")[3] || e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeFire",
            domain: "https://animefire.net",
            languages: [ "Portuguese" ],
            type: "anime",
            isSyncPage: t => "animes" === t.split("/")[3],
            sync: {
                getTitle: t => o.sync.getIdentifier(t).replace(/-/g, " "),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl(e) {
                    const n = t.$("li.page-item:nth-child(3) > a.page-link").attr("href");
                    return n && -1 !== n.indexOf("animes") ? n : t.$("li.page-item:nth-child(4) > a.page-link").attr("href") || "";
                },
                getEpisode: t => Number(i.urlPart(t, 5)),
                nextEpUrl: e => t.$("li.page-item:nth-child(5) > a.page-link > span.prox").length ? r(e, t.$("li.page-item:nth-child(5) > a.page-link").attr("href")) : t.$("li.page-item:nth-child(4) > a.page-link > span.prox").length ? r(e, t.$("li.page-item:nth-child(4) > a.page-link").attr("href")) : ""
            },
            init(e) {
                a.storage.addStyle(n(411).toString()), t.$(document).ready((function() {
                    "animes" === e.url.split("/")[3] && void 0 !== e.url.split("/")[5] && e.handlePage();
                }));
            }
        };
        function r(t, e) {
            return `${o.domain}/animes/${t.split("/")[4]}/${e}`;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "OtakuFR",
            domain: "https://otakufr.co",
            languages: [ "French" ],
            type: "anime",
            isSyncPage: t => "episode" === t.split("/")[3] && t.split("/")[4].length > 0,
            isOverviewPage: t => "anime" === t.split("/")[3] && t.split("/")[4].length > 0,
            sync: {
                getTitle: e => t.$('.single-episode > nav li > a[href*="/anime/"]').text().trim(),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4) || "",
                getOverviewUrl: e => t.$('.single-episode > nav li > a[href*="/anime/"]').attr("href") || "",
                getEpisode: t => r(i.urlPart(t, 4)),
                nextEpUrl(e) {
                    const n = t.$(".players > div > div:nth-child(3) > a").attr("href");
                    return !n || n.includes("javascript") ? "" : i.absoluteLink(n, o.domain);
                }
            },
            overview: {
                getTitle: e => t.$(".list > div").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$(".card").first().before(t.html(e));
                },
                list: {
                    offsetHandler: !0,
                    elementsSelector: () => t.$("div.list-episodes.list-group > a"),
                    elementUrl: t => i.absoluteLink(t.attr("href"), o.domain),
                    elementEp: t => r(i.urlPart(o.overview.list.elementUrl(t), 4))
                }
            },
            init(e) {
                a.storage.addStyle(n(413).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
        function r(t) {
            const e = t.match(/(\d+-(vostfr|vf))|((vostfr|vf)-\d+)/i);
            return e && e.length ? Number(e[0].match(/\d+/)[0]) : 1;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Samehadaku",
            domain: "https://samehadaku.vip",
            languages: [ "Indonesian" ],
            type: "anime",
            isSyncPage: t => "anime" !== t.split("/")[3],
            sync: {
                getTitle: e => t.$("div.infoeps > div.episodeinf > div.infoanime > div > div.infox > h2").text(),
                getIdentifier: t => o.sync.getOverviewUrl(t).split("/")[4],
                getOverviewUrl: e => i.absoluteLink(t.$("div.naveps > div.nvs.nvsc > a").attr("href"), o.domain),
                getEpisode(t) {
                    const e = t.split("/");
                    if (!e || 0 === e.length) return NaN;
                    const n = e[3];
                    if (0 === n.length) return NaN;
                    const i = n.match(/episode-\d+/gi);
                    return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN;
                },
                nextEpUrl(e) {
                    const n = t.$("div.naveps > div.nvs.rght > a:not('.nonex')").attr("href");
                    return n ? i.absoluteLink(n, o.domain) : "";
                }
            },
            overview: {
                getTitle: e => t.$("#infoarea > div > div.infoanime > div.infox > h1.entry-title").text().replace(/subtitle indonesia/i, "").trim(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                uiSelector(e) {
                    t.$("#infoarea > div > div.infoanime > div.infox > h1.entry-title").before(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.lstepsiode.listeps > ul > div > div > li"),
                    elementUrl: t => t.find("div.epsright > span.eps > a").attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(415).toString()), t.$(document).ready((function() {
                    ("anime" === e.url.split("/")[3] || t.$("div.player-area.widget_senction > div.plarea").length && t.$("div.infoeps > div.episodeinf > div.infoanime > div > div.infox > h2").length && t.$("div.naveps > div.nvs.nvsc > a").length) && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        let o;
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "Tsuki Mangás",
            domain: "https://www.tsukimangas.com",
            languages: [ "Portuguese" ],
            type: "manga",
            isSyncPage: t => o.isReaderPage,
            sync: {
                getTitle: t => o.mangaName,
                getIdentifier: t => o.identifier,
                getOverviewUrl: t => o.overview_url,
                getEpisode: t => o.currentChapter,
                nextEpUrl: t => o.nextChapter ? o.nextChapter : "",
                getMalUrl: t => o.myanimelistID && "0" !== o.myanimelistID ? "https://myanimelist.net/manga/" + o.myanimelistID : !("ANILIST" !== t || !o.anilistID || "0" === o.anilistID) && "https://anilist.co/manga/" + o.anilistID
            },
            overview: {
                getTitle: t => r.sync.getTitle(t),
                getIdentifier: t => r.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$("h2").after(t.html(e));
                },
                getMalUrl: t => r.sync.getMalUrl(t),
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.over23 > div.allbox > div.allcap"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), r.domain),
                    elementEp: t => i.absoluteLink(t.find("a").first().attr("href"), r.domain).split("/")[7]
                }
            },
            init(e) {
                let r;
                a.storage.addStyle(n(417).toString());
                let s = "", l = {
                    currentChapter: null,
                    mangaName: null
                };
                i.fullUrlChangeDetect((function() {
                    e.reset(), clearInterval(r), r = i.waitUntilTrue((function() {
                        if (t.$("#syncData").length) {
                            o = JSON.parse(t.$("#syncData").text());
                            const e = JSON.stringify(o);
                            if (o.mangaName && e !== s && (l.mangaName !== o.mangaName || l.currentChapter !== o.currentChapter)) return l = o, 
                            s = e, !0;
                        }
                        return !1;
                    }), (function() {
                        Object.prototype.hasOwnProperty.call(o, "isReaderPage") && Object.prototype.hasOwnProperty.call(o, "identifier") && Object.prototype.hasOwnProperty.call(o, "overview_url") && e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "mangatx",
            domain: "https://mangatx.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            sync: {
                getTitle: e => t.$("div.entry-header.header > div > div.entry-header_wrap > div > div.c-breadcrumb > ol > li:nth-child(2) > a").text().trim(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: e => t.$("div.entry-header.header > div > div.entry-header_wrap > div > div.c-breadcrumb > ol > li:nth-child(2) > a").attr("href") || "",
                getEpisode(t) {
                    const e = t.split("/");
                    if (!e || 0 === e.length) return NaN;
                    const n = e[5];
                    if (0 === n.length) return NaN;
                    const i = n.match(/chapter-\d+/gim);
                    return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN;
                },
                nextEpUrl: e => t.$("div.entry-header.header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href")
            },
            overview: {
                getTitle: e => i.getBaseText(t.$("div.profile-manga > div > div > div > div.post-title > h1")).trim(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                uiSelector(e) {
                    t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.page-content-listing.single-page > div > ul > li.wp-manga-chapter"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(419).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        function o() {
            const t = document.querySelector('a[href^="/anime"]');
            if (!t) throw Error("Can't find overview anchor element");
            return t;
        }
        function r(t) {
            return t.replace(/(?: |-)[İi]zle.*/i, "");
        }
        n.d(e, "a", (function() {
            return s;
        }));
        const s = {
            name: "TRanimeizle",
            domain: "https://www.tranimeizle.net/",
            languages: [ "Turkish" ],
            type: "anime",
            isSyncPage(t) {
                const e = new URL(t), [, n] = e.pathname.split("/");
                return null == n ? void 0 : n.toLowerCase().includes("-bolum-");
            },
            sync: {
                getTitle: () => r(o().innerText),
                getOverviewUrl: () => o().href,
                getIdentifier: () => {
                    var t;
                    const e = s.sync.getOverviewUrl(""), n = null === (t = s.overview) || void 0 === t ? void 0 : t.getIdentifier(e);
                    if (!n) throw Error("Can't find identifier");
                    return n;
                },
                getEpisode: t => t ? Number(t.replace(/.*-(\d{1,})-.*/, "$1") || void 0) : NaN,
                nextEpUrl: () => {
                    const t = document.querySelector(".youtube-wrapper .my-15 a:first-child");
                    if (!t) throw Error("Can't find next episode anchor element");
                    if (t.href.includes("izle") && t.href.includes("bolum")) return t.href;
                }
            },
            overview: {
                getTitle: () => {
                    const t = document.querySelector(".playlist-title > h1");
                    if (!t) throw Error("Can't find title element");
                    return r(t.innerText);
                },
                uiSelector: e => {
                    const n = document.querySelector("div.animeDetail");
                    if (!n) throw Error("Can't find the element where the status bar will be placed");
                    const i = document.createElement("div");
                    n.prepend(i), i.insertAdjacentHTML("beforebegin", t.html(e));
                },
                getIdentifier: t => {
                    const e = i.urlPart(t, 4);
                    return e || "";
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".animeDetail-items li.episodeBtn"),
                    elementUrl: t => {
                        const e = t.data("slug");
                        return s.domain + e;
                    },
                    elementEp: t => {
                        const e = $('meta[itemprop="episodeNumber"]', t);
                        return Number(e.attr("content"));
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(421).toString()), t.$(() => {
                    var t;
                    (s.isSyncPage(e.url) || (t = e.url, /\/anime\//.test(t))) && e.handlePage();
                });
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        let o;
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "Anihub",
            domain: "https://anihub.tv",
            languages: [ "Portuguese" ],
            type: "anime",
            isSyncPage: t => o.isStreaming,
            sync: {
                getTitle: t => o.animeName,
                getIdentifier: t => o.id,
                getOverviewUrl: t => o.overview_url,
                getEpisode: t => o.episode,
                nextEpUrl: t => o.nextEpisode ? o.nextEpisode : "",
                getMalUrl: t => !(!o.mal_id || "0" === o.mal_id) && "https://myanimelist.net/anime/" + o.mal_id
            },
            overview: {
                getTitle: t => r.sync.getTitle(t),
                getIdentifier: t => r.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$("div.aniinfos > p > b").after(t.html(e));
                },
                getMalUrl: t => r.sync.getMalUrl(t)
            },
            init(e) {
                let r;
                i.storage.addStyle(n(423).toString());
                let s = "";
                a.fullUrlChangeDetect((function() {
                    e.reset(), clearInterval(r), r = a.waitUntilTrue((function() {
                        return !(!t.$("#syncData").length || (o = JSON.parse(t.$("#syncData").text()), !o.animeName || o.animeName.toLowerCase().includes("carregando") || JSON.stringify(o) === s) || (s = JSON.stringify(o), 
                        0));
                    }), (function() {
                        Object.prototype.hasOwnProperty.call(o, "isStreaming") && Object.prototype.hasOwnProperty.call(o, "id") && Object.prototype.hasOwnProperty.call(o, "overview_url") && e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        let r;
        n.d(e, "a", (function() {
            return s;
        }));
        const s = {
            name: "AnimeStreamingFR",
            domain: "https://www.animestreamingfr.fr",
            languages: [ "French" ],
            type: "anime",
            isSyncPage: t => r.isStreaming,
            sync: {
                getTitle: t => r.name,
                getIdentifier: t => r.id,
                getOverviewUrl: t => r.main_url,
                getEpisode: t => r.episode,
                nextEpUrl: t => r.nextEpisode ? r.nextEpisode : "",
                getMalUrl: t => r.mal_id ? "https://myanimelist.net/anime/" + r.mal_id : !("ANILIST" !== t || !r.anilist_id) && "https://anilist.co/anime/" + r.anilist_id,
                uiSelector(e) {
                    t.$(r.selector_position).first().append(t.html(e));
                }
            },
            init(e) {
                function s() {
                    e.reset(), e.url.split("/").length > 3 && "anime" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() {
                        return t.$("#syncData").length;
                    }), (function() {
                        const n = t.$("#syncData").text().replace(/&quot;/g, '"');
                        a.m("json").log(n), r = JSON.parse(n), e.handlePage();
                    }));
                }
                o.storage.addStyle(n(425).toString()), s(), i.urlChangeDetect((function() {
                    s();
                }));
            }
        };
    }).call(this, n(2), n(1), n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Scantrad",
            domain: "https://scantrad.net",
            languages: [ "French" ],
            type: "manga",
            isSyncPage: t => "mangas" === t.split("/")[3],
            sync: {
                getTitle: e => t.urlPart(e, 4).replace(/-/g, " ").replace(/(^\w{1})|(\s+\w{1})/g, t => t.toUpperCase()),
                getIdentifier: e => t.urlPart(e, 4),
                getOverviewUrl: () => t.absoluteLink(i.$(".logo_box").first().attr("href"), o.domain),
                getEpisode: e => parseInt(t.urlPart(e, 5)),
                nextEpUrl() {
                    const e = i.$("a.next_chapitre").attr("href");
                    return e && "forum" === e.split("/")[3] ? "" : t.absoluteLink(e, o.domain);
                }
            },
            overview: {
                getTitle: () => i.$("div.titre").clone().children().remove().end().text(),
                getIdentifier: e => t.urlPart(e, 3),
                uiSelector(t) {
                    i.$(".ct-top").after(i.html(`<h3 class="home-titre" style="margin-top: 31px;">MAL-Sync</h3><div class="new-main">${t}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => i.$("#chapitres > div.chapitre "),
                    elementUrl: e => t.absoluteLink(e.find('a[href*="/mangas/"]').attr("href") || "", o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(t) {
                a.storage.addStyle(n(427).toString()), i.$(document).ready((function() {
                    ("mangas" === t.url.split("/")[3] && void 0 !== t.url.split("/")[4] || i.$("body > div.main-fiche > div.mf-chapitre > div.ct-top > div.info > div.titre").length && i.$("#chap-top").length) && t.handlePage();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Furyosquad",
            domain: "https://furyosquad.com/",
            languages: [ "French" ],
            type: "manga",
            isSyncPage: t => "read" === t.split("/")[3],
            sync: {
                getTitle: () => t.$(".fs-read-comic-link").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: () => i.absoluteLink(t.$(".fs-read-comic-link a").attr("href"), o.domain),
                getVolume: t => parseInt(i.urlPart(t, 6)),
                getEpisode: t => parseInt(i.urlPart(t, 7)),
                nextEpUrl() {
                    const e = t.$(".vertical-next-chapter a").attr("href");
                    return e && 6 === e.split("/").length ? "" : i.absoluteLink(e, o.domain);
                }
            },
            overview: {
                getTitle: () => t.$(".fs-comic-title").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$(".comic-info").after(t.html(`<div class="list fs-chapter-list"><div class="group"><div class="title">MAL-Sync</div>${e}</div></div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".group > div.element"),
                    elementUrl: t => i.absoluteLink(t.find('a[href*="/read/"]').attr("href") || "", o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(429).toString()), t.$(document).ready((function() {
                    ("read" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] || t.$(".fs-comic-title").length && t.$("div.main-container-top.comic").length) && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "AnimeId",
            domain: "https://www.animeid.tv",
            languages: [ "Spanish" ],
            type: "anime",
            isSyncPage: e => "v" === t.urlPart(e, 3),
            isOverviewPage: t => !!i.$("section#capitulos")[0],
            sync: {
                getTitle: t => i.$("#infoanime h1 a")[0].innerText,
                getIdentifier(t) {
                    var e;
                    return (null === (e = i.$("#infoanime h1 a")[0].getAttribute("href")) || void 0 === e ? void 0 : e.split("/").pop()) || "";
                },
                getOverviewUrl: t => `${r.domain}${$("#infoanime h1 a")[0].getAttribute("href")}`,
                getEpisode: t => Number.parseInt(i.$("#infoanime strong")[0].innerText.replace("Capítulo ", "").trim()),
                nextEpUrl: t => `${r.domain}${i.$(".buttons li a")[2].getAttribute("href")}`
            },
            overview: {
                getTitle: t => i.$("article hgroup h1").text(),
                getIdentifier: e => t.urlPart(e, 3),
                uiSelector(t) {
                    i.$("article").after(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector() {
                        const e = window.location.href;
                        document.body.insertAdjacentHTML("afterbegin", '<div id="MALSync" class="MALSync" style="display: none;"><ul id="MALSyncUl" class="MALSyncUl"></ul></div>');
                        const n = document.getElementById("MALSyncUl");
                        let a = i.$("section#capitulos li a")[0];
                        if (a) {
                            a = a.getAttribute("href");
                            const o = a.split("-").pop();
                            if (void 0 !== o) for (let a = 1; a < Number.parseInt(o) + 1; a++) null !== n && (n.innerHTML += i.html(`<li><a href="${r.domain}/v/${t.urlPart(e, 3)}-${a}" epi="${a}"></a> </li>`));
                        }
                        return i.$(".MALSync a");
                    },
                    elementUrl: e => t.absoluteLink(e.attr("href"), r.domain),
                    elementEp: t => Number(t.attr("epi")),
                    handleListHook(t, e) {
                        if (t++, e.length - 1 >= t) {
                            const n = `<li><a href="${e[t][0].toString()}"><strong>Capítulo ${t}</strong><small class="right">Siguiente Episodio</small></li><li></li>`;
                            i.$("#listado").prepend(i.html(n));
                        }
                    }
                }
            },
            init(t) {
                a.storage.addStyle(n(431).toString()), o.log("loading"), i.$(document).ready((function() {
                    t.handlePage();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AniMixPlay",
            domain: "https://animixplay.to",
            database: "AniMixPlay",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => !!t.split("/")[3].startsWith("v"),
            isOverviewPage: t => "anime" === t.split("/")[3],
            sync: {
                getTitle: e => t.$("span.animetitle").text(),
                getIdentifier: e => r() ? t.$("#animebtn").attr("href").split("/")[2] : "nomal_" + i.urlPart(e, 4),
                getOverviewUrl: t => r() ? `${o.domain}/anime/${o.sync.getIdentifier(t)}` : t.replace(/ep\d+$/i, "").replace(/\/$/, ""),
                getEpisode: e => Number(t.$("#epslistplace > button:disabled").last().text().replace(/\D+/g, "")),
                uiSelector(e) {
                    r() || t.$("button#followbtn").first().after(t.html(e));
                },
                nextEpUrl(e) {
                    const n = t.$("#epslistplace > button:disabled").last().next();
                    return n && n.length ? o.overview.list.elementUrl(n) : "";
                }
            },
            overview: {
                getTitle: e => t.$("#animepagetitle").text(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("#animepagetitle").after(t.html("" + e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("#epslistplace > button"),
                    elementUrl(t) {
                        const e = /\/ep\d+$/, n = t.text().replace(/\D+/g, ""), i = window.location.href;
                        return e.test(i) ? i.replace(e, "/ep" + n) : `${i}/ep${n}`;
                    },
                    elementEp: t => Number(t.text().replace(/\D+/g, ""))
                }
            },
            init(t) {
                let e;
                a.storage.addStyle(n(433).toString()), i.fullUrlChangeDetect((function() {
                    t.reset(), clearInterval(e), e = i.waitUntilTrue((function() {
                        return o.sync.getEpisode(t.url) || o.isOverviewPage(window.location.href);
                    }), (function() {
                        t.handlePage();
                    }));
                }), !0);
            }
        };
        function r() {
            return t.$("#animebtn[href]").length > 0;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "MyAnimeList",
            domain: "https://myanimelist.net",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => !0,
            sync: {
                getTitle: e => t.getBaseText(i.$("div.h1-title > div > h1")).trim(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: t => t.replace(/\/\d+$/, ""),
                getEpisode: e => parseInt(t.urlPart(e, 7)),
                getMalUrl: t => "https://myanimelist.net/anime/" + window.location.href.split("/")[4]
            },
            init(t) {
                a.storage.addStyle(n(435).toString()), i.$(document).ready((function() {
                    void 0 !== t.url.split("/")[7] && t.url.split("/")[7].length > 0 && i.$("div.video-embed.clearfix").length && t.handlePage();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        let r;
        n.d(e, "a", (function() {
            return s;
        }));
        const s = {
            name: "AnimeSimple",
            domain: "https://ww1.animesimple.com",
            database: "AnimeSimple",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => r.page && "episode" === r.page,
            isOverviewPage: t => r.page && "anime" === r.page,
            sync: {
                getTitle: t => r.name,
                getIdentifier: t => r.anime_id,
                getOverviewUrl: t => r.series_url,
                getEpisode: t => r.episode,
                nextEpUrl: t => r.next_episode_url ? r.next_episode_url : "",
                getMalUrl: t => !!r.mal_id && "https://myanimelist.net/anime/" + r.mal_id
            },
            overview: {
                getTitle: t => s.sync.getTitle(t),
                getIdentifier: t => s.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$(r.selector_position).first().after(t.html(e));
                },
                getMalUrl: t => s.sync.getMalUrl(t),
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("#episode-list > a"),
                    elementUrl: t => t.attr("href") || "",
                    elementEp(t) {
                        const e = i.getBaseText($(t));
                        return e.toLowerCase().includes("episode") ? Number(e.replace(/\D+/g, "")) : NaN;
                    },
                    paginationNext(e) {
                        let n;
                        return a.log("updatecheck", e), e ? (n = t.$("ul.pagination  > li.page-item > a").last(), 
                        void 0 !== n[0] && !n.hasClass("active") && (n[0].click(), !0)) : (n = t.$("ul.pagination  > li.active.page-item").next("li").find("a"), 
                        void 0 !== n[0] && (n[0].click(), !0));
                    }
                }
            },
            init(e) {
                o.storage.addStyle(n(437).toString()), t.$(document).ready((function() {
                    i.waitUntilTrue((function() {
                        return t.$("#syncData").length;
                    }), (function() {
                        r = JSON.parse(t.$("#syncData").text()), e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeUnity",
            domain: "https://animeunity.it",
            languages: [ "Italian" ],
            type: "anime",
            isSyncPage: t => !(void 0 === t.split("/")[4] || !t.split("/")[4].length),
            sync: {
                getTitle: e => t.$("div.general > h1.title").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: t => `${o.domain}/anime/${o.sync.getIdentifier(t)}`,
                getEpisode(e) {
                    const n = Number(t.$("div.episode-wrapper > div.episode.episode-item.active").text().trim());
                    return n || 1;
                },
                uiSelector(e) {
                    t.$("div.general > h1.title").after(t.html(e));
                }
            },
            init(t) {
                a.storage.addStyle(n(439).toString()), i.fullUrlChangeDetect((function() {
                    t.reset(), t.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        let o;
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "JustAnime",
            domain: "https://justanime.app",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => o.page && "episode" === o.page,
            isOverviewPage: t => o.page && "anime" === o.page,
            sync: {
                getTitle: t => o.name,
                getIdentifier: t => o.mal_id,
                getOverviewUrl: t => o.series_url,
                getEpisode: t => o.episode,
                nextEpUrl: t => o.next_episode_url ? o.next_episode_url : "",
                getMalUrl: t => "https://myanimelist.net/anime/" + r.sync.getIdentifier(window.location.href)
            },
            overview: {
                getTitle: t => r.sync.getTitle(t),
                getIdentifier: t => r.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$(o.selector_position).first().after(t.html(e));
                },
                getMalUrl: t => r.sync.getMalUrl(t),
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("#episodeswrapper > #episodes > button"),
                    elementUrl: t => t.attr("episodeurl") || "",
                    elementEp(t) {
                        const e = i.getBaseText($(t).find("span"));
                        return e.toLowerCase().includes("next") ? NaN : e.toLowerCase().includes("movie") ? 1 : Number(e.replace(/\D+/g, ""));
                    }
                }
            },
            init(e) {
                let r, s;
                a.storage.addStyle(n(443).toString()), i.fullUrlChangeDetect((function() {
                    e.reset(), clearInterval(r), r = i.waitUntilTrue((function() {
                        return !(!t.$("#syncData").length || (o = JSON.parse(t.$("#syncData").text()), JSON.stringify(o) === s) || (s = JSON.stringify(o), 
                        0));
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "YayAnimes",
            domain: "https://yayanimes.net",
            languages: [ "Portuguese" ],
            type: "anime",
            isSyncPage: t => !(!o.sync.getEpisode(t) || o.isOverviewPage(t)),
            isOverviewPage: e => !!(o.overview.getTitle(e) && o.overview.getIdentifier(e) && t.$("div.boxAnimeSobre").length),
            sync: {
                getTitle(e) {
                    const n = t.$("#content > div:nth-child(1) > div > h1 > div > b > p > span").text();
                    if (!n) return "";
                    return n.replace(/–.*$/, "").trim();
                },
                getIdentifier(t) {
                    const e = o.sync.getOverviewUrl(t);
                    return e ? e.split("/")[3] : "";
                },
                getOverviewUrl(e) {
                    const n = t.$("div.pag_episodes > div:nth-child(2) > a").attr("href");
                    return n || "";
                },
                getEpisode(t) {
                    const e = t.split("/")[3], n = e.match(/episodio-\d+/gi);
                    return n ? Number(n[0].replace(/\D+/g, "")) : e.includes("filme") ? 1 : NaN;
                },
                nextEpUrl(e) {
                    const n = t.$("div.pag_episodes > div:nth-child(3) > a").attr("href");
                    return n || "";
                }
            },
            overview: {
                getTitle: t => o.sync.getTitle(t),
                getIdentifier: t => i.urlPart(t, 3),
                uiSelector(e) {
                    t.$("#content > div.contentBox > div > div > div.boxAnimeSobre").after(t.html(e));
                }
            },
            init(e) {
                a.storage.addStyle(n(445).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return a;
        }));
        const a = {
            name: "DesuOnline",
            domain: "https://desu-online.pl",
            languages: [ "Polish" ],
            type: "anime",
            isSyncPage: t => "anime" !== t.split("/")[3],
            sync: {
                getTitle: e => t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a > span").text(),
                getIdentifier: t => a.sync.getOverviewUrl(t).split("/")[4],
                getOverviewUrl: e => t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a").attr("href") || "",
                getEpisode(t) {
                    const e = t.split("/")[3].match(/-odcinek-\d*/gi);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl(e) {
                    const n = t.$("div.naveps.bignav > div:nth-child(3) > a").first().attr("href");
                    return n && a.sync.getEpisode(e) < a.sync.getEpisode(n) ? n : "";
                }
            },
            overview: {
                getTitle: e => t.$("div.infox > h1.entry-title").text(),
                getIdentifier: t => t.split("/")[4],
                uiSelector(e) {
                    t.$("div.infox > h1.entry-title").first().before(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.bixbox.bxcl.epcheck > div.eplister > ul > li"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => a.sync.getEpisode(String(t.find("a").first().attr("href")))
                }
            },
            init(e) {
                i.storage.addStyle(n(447).toString()), t.$(document).ready((function() {
                    ("anime" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length && t.$("div.infox > h1.entry-title").length && t.$("div.bixbox.bxcl.epcheck").length || t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a").length && t.$("div.video-content").length) && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        let o, r;
        n.d(e, "a", (function() {
            return s;
        }));
        const s = {
            name: "Simplyaweeb",
            domain: "https://simplyaweeb.com",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => !0,
            sync: {
                getTitle: t => o.name,
                getIdentifier: t => o.id,
                getOverviewUrl: t => o.series_url,
                getEpisode: t => o.episode,
                nextEpUrl: t => o.next_episode_url ? o.next_episode_url : ""
            },
            init(e) {
                t.storage.addStyle(n(449).toString()), i.changeDetect((function() {
                    const t = a.$("#syncData").text();
                    t && (clearTimeout(r), r = i.waitUntilTrue(() => !$(".preloader-load.changed-indicate").length, () => {
                        const n = JSON.parse(t);
                        n && n.length && (o = n[0], "anime" === o.type ? (s.type = "anime", s.database = "Gogoanime") : s.type = "manga", 
                        e.handlePage());
                    }));
                }), () => {
                    const t = a.$("#syncData").text();
                    return t || e.reset(), t;
                });
            }
        };
    }).call(this, n(0), n(1), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Animevibe",
            domain: [ "https://animevibe.wtf", "https://animemate.xyz" ],
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => "ani" === t.split("/")[3],
            sync: {
                getTitle: e => t.getBaseText(i.$("div.episode-title-episode > h3")).trim(),
                getIdentifier: e => t.urlPart(e, 4),
                getOverviewUrl: t => `${o.domain}/ani/${o.sync.getIdentifier(t)}/1/`,
                getEpisode: e => t.urlPart(e, 5) ? parseInt(t.urlPart(e, 5)) : 1,
                nextEpUrl: t => i.$('div.player-section.container-fluid > a:contains("Next Episode")').attr("href"),
                uiSelector(t) {
                    i.$("div.episode-title-episode > h3").after(i.html(t));
                }
            },
            overview: {
                getTitle: t => "",
                getIdentifier: t => "",
                uiSelector(t) {},
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => i.$("#collapse-episode > div.wrap-episode-list > a, #collapse-episode > div.wrap-episode-list > button"),
                    elementUrl: t => `${o.domain}/ani/${o.sync.getIdentifier(window.location.href)}/${t.text().trim()}/`,
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(t) {
                a.storage.addStyle(n(451).toString()), i.$(document).ready((function() {
                    t.handlePage();
                }));
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "WuxiaWorld",
            domain: "https://wuxiaworld.site",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            isOverviewPage: t => void 0 !== t.split("/")[4] && t.split("/")[4].length > 0,
            sync: {
                getTitle: e => t.$("div.entry-header > div > div.entry-header_wrap > div > div.c-breadcrumb > ol > li:nth-child(2) > a").text().replace(/(comics|comic)\s*$/i, "").trim(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: e => t.$("div.entry-header> div > div.entry-header_wrap > div > div.c-breadcrumb > ol > li:nth-child(2) > a").attr("href") || "",
                getEpisode(t) {
                    const e = t.split("/")[5].match(/(chapter|ch)-\d+/gim);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : NaN;
                },
                nextEpUrl: e => t.$("div.entry-header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href")
            },
            overview: {
                getTitle: e => i.getBaseText(t.$("div.profile-manga > div > div > div > div.post-title > h1")).replace(/(comics|comic)\s*$/i, "").trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.profile-manga > div > div > div > div.post-title > h1").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.page-content-listing.single-page > div > ul > li.wp-manga-chapter"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), r.domain),
                    elementEp: t => r.sync.getEpisode(r.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(453).toString()), t.$(document).ready((function() {
                    if (r.isSyncPage(e.url)) t.$(".entry-content .reading-content img").length ? e.novel = !1 : e.novel = !0, 
                    e.handlePage(); else if (r.isOverviewPage(e.url)) {
                        const n = t.$('div.post-content > div.post-content_item > div.summary-heading > h5:contains("Type")').parent().parent().find("div.summary-content").text().toLowerCase();
                        n.includes("manga") || n.includes("comic") ? (e.novel = !1, e.handlePage()) : n.includes("novel") ? (e.novel = !0, 
                        e.handlePage()) : o.error("could not detect type");
                    } else o.error("could not detect page");
                }));
            }
        };
    }).call(this, n(2), n(1), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeOnDemand",
            domain: "https://www.anime-on-demand.de",
            languages: [ "German" ],
            type: "anime",
            isSyncPage: t => "anime" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0,
            sync: {
                getTitle: e => t.$("div.l-mainsection > div.l-maincontent > div> h1[itemprop=name]").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: t => `${o.domain}/anime/${o.sync.getIdentifier(t)}`,
                getEpisode(e) {
                    const n = t.$("#player_container div.jw-title > div.jw-title-primary").text();
                    return n.length ? void 0 !== r(n) ? Number(r(n)) : 1 : NaN;
                },
                uiSelector(e) {
                    t.$("div.l-mainsection > div.l-maincontent > div> h1[itemprop=name]").after(t.html(e));
                }
            },
            init(t) {
                a.storage.addStyle(n(455).toString()), i.changeDetect((function() {
                    t.reset(), t.handlePage();
                }), () => "" + o.sync.getEpisode(t.url));
            }
        };
        function r(t) {
            if (!t) return;
            let e = [];
            return e = t.match(/(ep\.|episode)\D?\d+/i), null !== e && (e = (t = e[0]).match(/\d+/), 
            null !== e) ? e[0] : void 0;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "LeviatanScans",
            domain: "https://leviatanscans.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => $("div.wp-manga-nav").length > 0,
            isOverviewPage: e => t.$("ul > li.wp-manga-chapter").length > 0,
            sync: {
                getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(),
                getIdentifier: t => i.urlPart(t, 5),
                getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 6);
                    return e.match(/season-\d+/gim) ? Number(i.urlPart(t, 7)) : Number(e);
                },
                nextEpUrl: e => t.$(".nav-links .next_page").attr("href")
            },
            overview: {
                getTitle: e => t.$(t.$("ol.breadcrumb li a")[2]).text().trim(),
                getIdentifier: t => i.urlPart(t, 5),
                uiSelector(e) {
                    t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul > li.wp-manga-chapter"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(459).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[4] && void 0 !== e.url.split("/")[5] && e.url.split("/")[5].length > 0 && i.waitUntilTrue((function() {
                        return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length);
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "SKScans",
            domain: "https://skscans.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: e => t.$("div.wp-manga-nav").length > 0,
            isOverviewPage: e => t.$("ul > li.wp-manga-chapter").length > 0,
            sync: {
                getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 5);
                    return e.match(/season-\d+/gim) ? Number(i.urlPart(t, 6)) : Number(e);
                },
                nextEpUrl: e => t.$(".nav-links .next_page").first().attr("href")
            },
            overview: {
                getTitle: e => t.$(t.$("ol.breadcrumb li a")[2]).text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul > li.wp-manga-chapter"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(461).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() {
                        return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length);
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "DeathTollScans",
            domain: "https://reader.deathtollscans.net",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => "read" === t.split("/")[3],
            isOverviewPage: e => !!t.$("div.comic.info").length,
            sync: {
                getTitle: e => t.$("div.tbtitle div.text a").first().text(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: e => t.$("div.tbtitle div.text a").first().attr("href") || "",
                getEpisode: t => Number(t.split("/")[7]),
                getVolume: t => Number(t.split("/")[6]),
                nextEpUrl: e => t.$(`div.tbtitle ul.dropdown li a[href='${t.$("div.tbtitle div.text a").eq(1).attr("href")}']`).parent().prev().find("a").attr("href")
            },
            overview: {
                getTitle: e => t.$("h1.title").first().text().trim(),
                getIdentifier: t => t.split("/")[4],
                uiSelector(e) {
                    t.$("h1.title").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.group div.element"),
                    elementUrl: t => i.absoluteLink(t.find("div.title a").first().attr("href"), o.domain),
                    elementEp: t => parseInt(o.overview.list.elementUrl(t).split("/")[7])
                }
            },
            init(e) {
                a.storage.addStyle(n(463).toString()), t.$(document).ready((function() {
                    "series" !== e.url.split("/")[3] && "read" !== e.url.split("/")[3] || e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "KireiCake",
            domain: "https://reader.kireicake.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => "read" === t.split("/")[3],
            isOverviewPage: e => !!t.$("div.list").length,
            sync: {
                getTitle: e => t.$("div.topbar_left h1 a").first().text(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: e => t.$("div.topbar_left h1 a").first().attr("href") || "",
                getEpisode: t => Number(t.split("/")[7]),
                getVolume: t => Number(t.split("/")[6]),
                nextEpUrl(e) {
                    const n = t.$(`select option[value='${t.$("div.topbar_left form").last().find("select option").first().attr("value")}']`).last().prev().attr("value");
                    if (t.$("div.topbar_left form").last().find("select option").first().attr("value") !== n) return n;
                }
            },
            overview: {
                getTitle: e => t.$("h1.title").first().text().trim(),
                getIdentifier: t => t.split("/")[4],
                uiSelector(e) {
                    t.$("h1.title").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.list div.element"),
                    elementUrl: t => i.absoluteLink(t.find("div.title a").first().attr("href"), o.domain),
                    elementEp: t => parseInt(o.overview.list.elementUrl(t).split("/")[7])
                }
            },
            init(e) {
                a.storage.addStyle(n(465).toString()), t.$(document).ready((function() {
                    "series" !== e.url.split("/")[3] && "read" !== e.url.split("/")[3] || e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "SenseScans",
            domain: "https://sensescans.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => "read" === t.split("/")[4],
            isOverviewPage: e => !!t.$("div.comic.info").length,
            sync: {
                getTitle: e => t.$("div.tbtitle div.text a").first().text(),
                getIdentifier: t => t.split("/")[5],
                getOverviewUrl: e => t.$("div.tbtitle div.text a").first().attr("href") || "",
                getEpisode: t => Number(t.split("/")[8]),
                getVolume: t => Number(t.split("/")[7]),
                nextEpUrl: e => t.$(`div.tbtitle ul.dropdown li a[href='${t.$("div.tbtitle div.text a").eq(1).attr("href")}']`).parent().prev().find("a").attr("href")
            },
            overview: {
                getTitle: e => t.$("h1.title").first().text().trim(),
                getIdentifier: t => t.split("/")[5],
                uiSelector(e) {
                    t.$("h1.title").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.group div.element"),
                    elementUrl: t => i.absoluteLink(t.find("div.title a").first().attr("href"), o.domain),
                    elementEp: t => parseInt(o.overview.list.elementUrl(t).split("/")[8])
                }
            },
            init(e) {
                a.storage.addStyle(n(467).toString()), t.$(document).ready((function() {
                    "reader" !== e.url.split("/")[3] || "series" !== e.url.split("/")[4] && "read" !== e.url.split("/")[4] || e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "ManhuaPlus",
            domain: "https://manhuaplus.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => t.split("/")[5].indexOf("chapter") >= 0,
            sync: {
                getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 5).match(/chapter-\d+/gim);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl: e => t.$("div.entry-header.header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href")
            },
            overview: {
                getTitle: e => t.$(t.$("ol.breadcrumb li a")[2]).text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul > li.wp-manga-chapter"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(469).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() {
                        return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length);
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Readm",
            domain: "https://readm.org",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            isOverviewPage: t => void 0 !== t.split("/")[4] && t.split("/")[4].length > 0,
            sync: {
                getTitle: e => t.$("h1.page-title > a").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => i.absoluteLink(t.$("h1.page-title > a").attr("href"), o.domain),
                getEpisode: t => parseInt(i.urlPart(t, 5)) || 1,
                nextEpUrl: e => i.absoluteLink(t.$("#series-tabs > a.item.navigate.ch-next-page.navigate-next").attr("href"), o.domain)
            },
            overview: {
                getTitle: e => t.$("h1.page-title").text().trim(),
                getIdentifier: t => o.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$("#router-view > div > div.ui.grid").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.season-list-column > div.ui.tab div.item tr"),
                    elementUrl: t => i.absoluteLink(t.find("h6 > a").attr("href"), o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(471).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "tioanime",
            domain: "https://tioanime.com",
            languages: [ "Spanish" ],
            type: "anime",
            isSyncPage: t => "ver" === t.split("/")[3],
            sync: {
                getTitle: e => t.$("div.container div.episode-single h1.anime-title").text().replace(/ \d+$/, ""),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4),
                getOverviewUrl: e => i.absoluteLink(t.$('div.episode-single div.options > div.episodes-nav > span > a[href^="/anime/"]').first().attr("href"), o.domain),
                getEpisode: t => parseInt(t.match(/-(\d+$)/)[1]),
                nextEpUrl: e => i.absoluteLink(t.$('div.episode-single div.options > div.episodes-nav > span > a[href^="/ver/"]').eq(1).attr("href"), o.domain)
            },
            overview: {
                getTitle: e => t.$("article h1.title").text(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$(".principal").first().prepend(t.html(`<div class="info">${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("section > ul.episodes-list > li > a"),
                    elementUrl: t => i.absoluteLink(t.attr("href"), o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                },
                getMalUrl(t) {
                    const e = $("body").html().match(/api\.jikan\.moe\/v\d+\/anime\/(\d+)/im);
                    return !(!e || !e.length) && "https://myanimelist.net/anime/" + e[1];
                }
            },
            init(e) {
                a.storage.addStyle(n(473).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        let o;
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "YugenAnime",
            domain: "https://yugenani.me",
            languages: [ "English" ],
            type: "anime",
            database: "YugenAnime",
            isSyncPage: t => o.page && "episode" === o.page,
            isOverviewPage: t => o.page && "anime" === o.page,
            sync: {
                getTitle: t => o.name,
                getIdentifier: t => o.anime_id,
                getOverviewUrl: t => o.series_url,
                getEpisode: t => o.episode,
                nextEpUrl: t => o.next_episode_url ? o.next_episode_url : "",
                getMalUrl: t => !!o.mal_id && "https://myanimelist.net/anime/" + o.mal_id
            },
            overview: {
                getTitle: t => r.sync.getTitle(t),
                getIdentifier: t => r.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$(o.selector_position).first().after(t.html(e));
                },
                getMalUrl: t => r.sync.getMalUrl(t)
            },
            init(e) {
                i.storage.addStyle(n(475).toString()), t.$(document).ready((function() {
                    a.waitUntilTrue((function() {
                        return t.$("#syncData").length;
                    }), (function() {
                        o = JSON.parse(t.$("#syncData").text()), e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "MangaSee",
            domain: "https://mangasee123.com",
            languages: [ "English" ],
            type: "manga",
            database: "MangaSee",
            isSyncPage: t => "read-online" === t.split("/")[3],
            isOverviewPage: t => "manga" === t.split("/")[3],
            getImage: () => $("div.container.MainContainer div.row > div > img.img-fluid").attr("src"),
            sync: {
                getTitle: e => t.$("div.Column.col-lg-4.col-12").first().text().trim(),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4),
                getOverviewUrl: e => i.absoluteLink(t.$("div.Column.col-lg-4.col-12 a").first().attr("href"), o.domain),
                getEpisode(t) {
                    const e = i.urlPart(t, 4).match(/chapter-\d+/gim);
                    return e && e.length ? Number(e[0].replace(/\D+/g, "")) : 0;
                },
                getVolume(t) {
                    const e = i.urlPart(t, 4).match(/index-\d+/gim);
                    return e && e.length ? Number(e[0].replace(/\D+/g, "")) : 0;
                }
            },
            overview: {
                getTitle: e => t.$("li.list-group-item").first().text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$(t.$("li.list-group-item")[1]).after(t.html(`<li class="list-group-item d-none d-sm-block"><span class="mlabel">MAL-Sync:</span>${e}</li>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => (t.$("div.list-group-item.ShowAllChapters").click(), t.$("a.list-group-item.ChapterLink")),
                    elementUrl: t => i.absoluteLink(t.attr("href"), o.domain) || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(477).toString()), t.$(document).ready((function() {
                    i.waitUntilTrue((function() {
                        return o.isSyncPage(e.url) ? o.sync.getTitle(e.url) && o.sync.getEpisode(e.url) : !!o.isOverviewPage(e.url) && (o.overview.getTitle(e.url) && !t.$('a[href$="{{vm.ChapterURLEncode(vm.Chapters[vm.Chapters.length-1].Chapter)}}"]').length);
                    }), (function() {
                        o.isOverviewPage(e.url) && e.handlePage(), o.isSyncPage(e.url) && function(t, e) {
                            let n = "";
                            const i = setInterval((function() {
                                const i = e();
                                void 0 !== i && n !== i && (n = e(), t());
                            }), 500);
                            Number(i);
                        }(() => {
                            e.handlePage();
                        }, () => t.$("div.Column.col-lg-2.col-6 button.btn.btn-sm.btn-outline-secondary.ng-binding").first().text().trim());
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeTribes",
            domain: "https://animetribes.ru",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => "watch" === t.split("/")[3] && void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            sync: {
                getTitle: e => t.$("div.video-info-title > h1").text(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => i.absoluteLink(t.$("#dropdown-menu > div.dropdown-content > a").last().attr("href"), o.domain),
                getEpisode: t => i.urlPart(t, 5) ? parseInt(i.urlPart(t, 5)) : 1,
                nextEpUrl: e => i.absoluteLink(t.$("nav.pagination span.typcn.typcn-media-fast-forward").parent("a").attr("href"), o.domain),
                uiSelector(e) {
                    t.$("div.video-info-title > h1").after(t.html(e));
                }
            },
            overview: {
                getTitle: t => "",
                getIdentifier: t => "",
                uiSelector(t) {},
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("#dropdown-menu > div.dropdown-content > a"),
                    elementUrl: t => i.absoluteLink(t.attr("href"), o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(479).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Okanime",
            domain: "https://okanime.tv",
            type: "anime",
            languages: [ "Arabic" ],
            isOverviewPage: e => "animes" === t.urlPart(e, 3) || "movies" === t.urlPart(e, 3),
            isSyncPage: e => "episodes" === t.urlPart(e, 5) || "movies" === t.urlPart(e, 3) && "watch" === t.urlPart(e, 5),
            overview: {
                getTitle: t => r(t) ? i.$(".author-info-title > span").first().text() : o.sync.getTitle(t),
                getIdentifier: e => r(e) ? t.urlPart(e, 4) : o.sync.getIdentifier(e),
                uiSelector: t => {
                    i.$("div.whitebox .whitebox-wrap .review-author-info .author-info-title").first().append(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => r(window.location.href) ? i.$("#episodes .enable-photos-box a:not(.btn)") : i.$(".result-item.episode"),
                    elementUrl: e => t.absoluteLink(e.attr("href"), o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)),
                    getTotal: () => r(window.location.href) ? Number(i.$("div.review-author-wrap .content-block .full-list-info:last-child small:last-child").first().text().split("/")[1]) : void 0
                }
            },
            sync: {
                getTitle: t => i.$(".summary-block p a").first().text(),
                getIdentifier: e => t.urlPart(e, 4),
                getOverviewUrl: t => "" + t.split("/").slice(0, 5).join("/"),
                getEpisode: e => Number(t.urlPart(e, 6).split("-").slice(-2)[0]),
                nextEpUrl: e => t.absoluteLink(i.$("div.action-tiem.backward a").first().attr("href"), o.domain),
                uiSelector: t => {
                    i.$("div.user-block .translated-box").first().prepend(i.html(t));
                }
            },
            init(e) {
                a.storage.addStyle(n(481).toString()), i.$(() => {
                    t.waitUntilTrue(() => o.overview.list.elementsSelector().length, () => {
                        e.handlePage();
                    });
                });
            }
        }, r = t => {
            const e = t.split("/");
            return ("animes" === e[3] || "movies" === e[3]) && 5 === e.length;
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            domain: "https://bs.to",
            languages: [ "German" ],
            name: "bs.to",
            type: "anime",
            isSyncPage: t => "serie" === t.split("/")[3] && t.split("/").length > 7,
            isOverviewPage: t => "serie" === t.split("/")[3] && t.split("/").length >= 4,
            sync: {
                getTitle: t => o.overview.getTitle(t),
                getIdentifier: t => o.overview.getIdentifier(t),
                getOverviewUrl: t => t.split("/").slice(0, 5).join("/"),
                getEpisode: e => Number(t.$(".episode .active > a").text()),
                nextEpUrl(e) {
                    const n = o.sync.getEpisode(e) + 1, a = t.$(`.e${n} > a`);
                    return a.length ? i.absoluteLink(a.attr("href"), o.domain) : "";
                },
                uiSelector(e) {
                    t.$(".selectors").first().before(t.html(`<div class="MALContainer"> ${e}</div>`));
                }
            },
            overview: {
                getTitle(e) {
                    let n = i.getBaseText(t.$("h2").first()).trim();
                    n = n.split("|")[0];
                    let a = 1;
                    return i.urlPart(e, 5) && (a = Number(i.urlPart(e, 5))), `${n} ${a}`;
                },
                getIdentifier(t) {
                    const e = t.split("/")[4];
                    let n = 1;
                    return i.urlPart(t, 5) && (n = Number(i.urlPart(t, 5))), `${e}?s=${n}`;
                },
                uiSelector(e) {
                    t.$(".selectors").first().before(t.html(`<div class="MALContainer"> ${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$('table.episodes tr, div.episode li[class^="e"]'),
                    elementUrl(t) {
                        const e = t.find("a").first().attr("href");
                        return e || "";
                    },
                    elementEp(t) {
                        const e = t.find("a").first().text();
                        return e ? Number(e) : NaN;
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(483).toString()), t.$(document).ready((function() {
                    t.$("body").append('<script>var openWindow = window.open; window.open = function (url, windowName, windowFeatures) {if(!url.startsWith("https://vivo")) openWindow(url, windowName, windowFeatures)}<\/script>'), 
                    $("html").addClass("miniMAL-hide"), t.$('.infos span:contains("Genres")').next("p").text().indexOf("Anime") >= 0 && 0 !== parseInt(i.urlPart(e.url, 5)) && ($("html").removeClass("miniMAL-hide"), 
                    e.handlePage());
                })), i.waitUntilTrue((function() {
                    return t.$('div.hoster-player > a[href^="https://vivo"]').length;
                }), (function() {
                    const e = t.$('div.hoster-player > a[href^="https://vivo"]').attr("href").split("/"), n = e.pop();
                    e.push("embed"), e.push(n);
                    const i = e.join("/");
                    t.$("div.hoster-player").html(""), t.$("div.hoster-player").append(`<iframe src="${i}" width="560" height="315" scrolling="no" frameborder="0" allowfullscreen></iframe>`);
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Pantsubase",
            domain: "https://pantsubase.tv",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => "watch" === t.split("/")[3],
            isOverviewPage: t => "anime" === t.split("/")[3],
            sync: {
                getTitle: e => t.$('div.breadcrumb a[href*="/anime/"] > span').text().trim(),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4),
                getOverviewUrl: e => i.absoluteLink(t.$('div.breadcrumb a[href*="/anime/"]').attr("href"), o.domain),
                getEpisode(t) {
                    const e = i.urlPart(t, 4).match(/-episode-\d*/gi);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl: e => i.absoluteLink(t.$('div.theatre-settings > div.row a:contains("Next")').attr("href"), o.domain)
            },
            overview: {
                getTitle: e => t.$("div.info > h1 > div").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.info > h1").after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul.episode > li.epi-me"),
                    elementUrl: t => i.absoluteLink(t.find("a").attr("href"), o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(485).toString()), t.$(document).ready((function() {
                    i.waitUntilTrue((function() {
                        return o.sync.getTitle(e.url) || o.overview.getTitle(e.url) && o.overview.list.elementsSelector().length;
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeOwl",
            domain: "https://animeowl.net",
            languages: [ "English" ],
            type: "anime",
            isSyncPage(e) {
                if (!e) throw "No url passed";
                return !!(o.sync.getTitle(e) && t.$("div.player-wrapper").length && void 0 !== e.split("/")[3] && e.split("/")[3].length > 0);
            },
            isOverviewPage: t => "watch" === t.split("/")[3] && void 0 !== t.split("/")[3] && t.split("/")[3].length > 0,
            sync: {
                getTitle: e => t.$("a.back-tv-show").text().trim(),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4),
                getOverviewUrl: e => t.$("a.back-tv-show").attr("href") || "",
                getEpisode: e => parseInt(t.$(".episodes-list button.active").closest("a").text()),
                nextEpUrl: e => t.$(".episodes-list button.active").parents("div").next().find("a").attr("href"),
                getMalUrl(e) {
                    const n = t.$("[data-mal-id]").attr("data-mal-id");
                    return !!n && "https://myanimelist.net/anime/" + n;
                }
            },
            overview: {
                getTitle: e => t.$("div.post-inner > .anime-title").html().split("<br>")[0].replace(/-\s*$/, "").trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.post-info").first().before(t.html(`<div class="row"><div class="col-12">${e}</div></div>`));
                },
                getMalUrl: t => o.sync.getMalUrl(t),
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("#episodes > div.episode-number"),
                    elementUrl: t => t.find("a").attr("href") || "",
                    elementEp: t => parseInt(t.find("a").text())
                }
            },
            init(e) {
                a.storage.addStyle(n(487).toString()), t.$(document).ready((function() {
                    o.isSyncPage(e.url) ? e.handlePage(t.$(".episodes-list button.active").closest("a").attr("href") || "") : e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AsuraScans",
            domain: "https://asurascans.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => !!/cha?p?t?e?r?-\d+/i.test(t.split("/")[3]),
            isOverviewPage: t => "comics" === t.split("/")[3] && "" !== t.split("/")[4],
            sync: {
                getTitle: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox span")[1]).text().trim(),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4),
                getOverviewUrl: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox a")[1]).attr("href") || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 3).match(/cha?p?t?e?r?-\d+/i);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl(e) {
                    const n = t.$("a.ch-next-btn").attr("href");
                    if ("#/next/" !== n) return n;
                }
            },
            overview: {
                getTitle: e => t.$("h1.entry-title").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.bixbox.animefull").first().after(t.html(`<div id= "malthing" class="bixbox animefull">${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div#chapterlist li div.chbox"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(489).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "NaniScans",
            domain: "https://naniscans.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => "chapters" === t.split("/")[3],
            sync: {
                getTitle: e => t.$("a.section").text().trim(),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4),
                getOverviewUrl: e => i.absoluteLink(t.$("a.section").attr("href"), o.domain),
                getEpisode: e => Number(t.$("div#chapter-selector div.text").text().trim().replace("Chapter ", "")),
                nextEpUrl: e => i.absoluteLink(t.$("i.chevron.right.icon").parent().attr("href"), o.domain)
            },
            overview: {
                getTitle: e => t.$("h1.ui.centered.header").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.content div.description").first().after(t.html(`<div class="ui hidden divider"></div><div id= "malthing"><h5>MALSync</h5>${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div#chapters div.item"),
                    elementUrl: t => i.absoluteLink(t.find("a").last().attr("href"), o.domain) || "",
                    elementEp(t) {
                        let e = t.find("a").last().text().trim().match(/(ch\.|chapter)\D?\d+/i);
                        return e && (e = e[0].match(/\d+/), e) ? Number(e[0]) : NaN;
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(491).toString()), t.$(document).ready((function() {
                    ("chapters" === e.url.split("/")[3] || "titles" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4]) && e.handlePage(), 
                    "titles" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && i.changeDetect(() => {
                        e.handleList();
                    }, () => t.$("div#chapters div.item").length);
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "MerakiScans",
            domain: "https://merakiscans.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => "manga" === t.split("/")[3] && void 0 !== t.split("/")[6],
            sync: {
                getTitle: e => t.$("h1#reader_text a").first().text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => i.absoluteLink(t.$("h1#reader_text a").first().attr("href"), r.domain),
                getEpisode: t => Number(t.split("/")[5]),
                nextEpUrl(e) {
                    const n = t.$("#chapter_select option:selected").next().val();
                    if (void 0 === n) return;
                    const i = e.split("/");
                    return i.splice(5, 1, n), i.join("/");
                }
            },
            overview: {
                getTitle: e => t.$("b#manga_name").text(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.tab").first().before(t.html(`<div id="malthing"><b id="MALSync">MALSync</b>${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("tr#chapter-head"),
                    elementUrl: t => i.absoluteLink(t.attr("data-href"), r.domain),
                    elementEp: t => Number(r.overview.list.elementUrl(t).split("/")[5]),
                    paginationNext(e) {
                        if (a.log("updatecheck", e), e) return !1;
                        const n = t.$("#chapter_table_paginate > span > a.paginate_button.current").next("a");
                        return void 0 !== n[0] && (n[0].click(), !0);
                    }
                }
            },
            init(e) {
                o.storage.addStyle(n(493).toString()), t.$(document).ready((function() {
                    "manga" !== e.url.split("/")[3] || 6 !== e.url.split("/").length && 7 !== e.url.split("/").length || e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(4), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return k;
        }));
        var r = n(1), s = n(12), l = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        const c = new s.a;
        let d;
        function m() {
            return l(this, void 0, void 0, (function*() {
                return t.storage.get("Jellyfin_Api_Key");
            }));
        }
        function u(e) {
            return l(this, void 0, void 0, (function*() {
                return t.storage.set("Jellyfin_Api_Key", e);
            }));
        }
        function p() {
            return l(this, void 0, void 0, (function*() {
                return t.storage.get("Jellyfin_Base");
            }));
        }
        function h(e) {
            return l(this, void 0, void 0, (function*() {
                return t.storage.set("Jellyfin_Base", e);
            }));
        }
        function g() {
            return l(this, void 0, void 0, (function*() {
                return t.storage.get("Jellyfin_User");
            }));
        }
        function f(e) {
            return l(this, void 0, void 0, (function*() {
                return t.storage.set("Jellyfin_User", e);
            }));
        }
        function v(t) {
            return l(this, void 0, void 0, (function*() {
                const e = $("video");
                if (e.length) {
                    $("html").addClass("miniMAL-hide");
                    const n = e.attr("src");
                    if (i.log("Video", n), n) {
                        const e = yield function() {
                            return l(this, void 0, void 0, (function*() {
                                const t = yield function() {
                                    return l(this, void 0, void 0, (function*() {
                                        return new Promise((t, e) => {
                                            c.addProxy(n => l(this, void 0, void 0, (function*() {
                                                const n = c.getCaptureVariable("ApiClient");
                                                if (i.m("apiClient").log(n), n && n._deviceId) return i.m("apiClient").log("clientId", n._deviceId), 
                                                void t(n._deviceId);
                                                e();
                                            })));
                                        });
                                    }));
                                }(), e = yield g();
                                return new Promise((t, e) => {
                                    setTimeout(() => {
                                        t();
                                    }, 1e4);
                                }).then(() => l(this, void 0, void 0, (function*() {
                                    return w(t, e).then(t => (i.log("Now Playing", t.NowPlayingItem), t.NowPlayingItem.Id));
                                })));
                            }));
                        }();
                        e || i.log("No video id");
                        const n = `${window.location.origin}/#!/details?id=${e}`;
                        y(t, e, n, !0);
                    }
                }
            }));
        }
        function b(t) {
            return l(this, void 0, void 0, (function*() {
                if ($("html").addClass("miniMAL-hide"), -1 !== window.location.href.indexOf("id=")) {
                    const e = a.urlParam(window.location.href, "id");
                    y(t, e);
                }
            }));
        }
        function y(t, e, n = "", a = !1) {
            return l(this, void 0, void 0, (function*() {
                let o = "/Items?ids=" + e;
                x(o, !0).then(e => {
                    const r = JSON.parse(e.responseText);
                    if (!r.Items.length) return function() {
                        c.addProxy(t => l(this, void 0, void 0, (function*() {
                            const t = c.getCaptureVariable("ApiClient");
                            i.m("apiClient").log(t);
                            const e = m();
                            t && t._serverInfo && t._serverInfo.AccessToken && e === t._serverInfo.AccessToken || (i.error("Reset Authentication"), 
                            yield h(""), yield u(""), yield f(""), yield _());
                        })));
                    }();
                    switch (r.Items[0].Type) {
                      case "Episode":
                      case "Season":
                        if ("Episode" === r.Items[0].Type && !a) return void i.log("Execute Episode only on video");
                        i.log("Season", r), d = r.Items[0], o = "/Items/" + d.SeriesId, x(o, !0).then(e => {
                            const a = JSON.parse(e.responseText);
                            i.log("genres", a), a.Path.includes("Anime") || a.GenreItems.find(t => "anime" === t.Name.toLowerCase()) ? (i.info("Anime detected"), 
                            n ? (t.url = n, t.handlePage(t.url)) : t.handlePage(), $("html").removeClass("miniMAL-hide")) : i.error("Not an Anime");
                        });
                        break;

                      case "Series":
                        i.log("Series", r);
                        break;

                      default:
                        i.log("Not recognized", r);
                    }
                });
            }));
        }
        function w(t, e, n = !0) {
            return l(this, void 0, void 0, (function*() {
                return x("/Sessions", !1, n).then(a => {
                    const o = JSON.parse(a.responseText);
                    return i.m("Session").log("Session", o, t, e, n), function t(e, n, a, o) {
                        return l(this, void 0, void 0, (function*() {
                            if (n ? e = e.filter(t => t.DeviceId === n) : a && (e = e.filter(t => t.UserId === a)), 
                            !(e = e.filter(t => void 0 !== t.NowPlayingItem)).length) {
                                if (n) return i.m("Session").m(o).log("Fallback to userId"), t(e, null, a, o);
                                if (o) return i.m("Session").m(o).log("Fallback to request without ControllableByUserId"), 
                                w(n, a, !1);
                                throw "Could not get session";
                            }
                            return i.m("Session").log("found", e), e[0];
                        }));
                    }(o, t, e, n);
                });
            }));
        }
        function _() {
            return l(this, void 0, void 0, (function*() {
                return new Promise((t, e) => {
                    c.addProxy(n => l(this, void 0, void 0, (function*() {
                        const n = c.getCaptureVariable("ApiClient");
                        if (i.m("apiClient").log(n), n) return n._serverInfo && n._serverInfo.AccessToken && u(n._serverInfo.AccessToken), 
                        n._serverAddress && h(n._serverAddress), n._currentUser && n._currentUser.Id ? f(n._currentUser.Id) : n._serverInfo && n._serverInfo.UserId && f(n._serverInfo.UserId), 
                        void t(!0);
                        e();
                    })));
                });
            }));
        }
        function x(e, n = !1, a = !1) {
            return l(this, void 0, void 0, (function*() {
                const o = yield m(), r = yield p();
                let s;
                if (s = -1 !== e.indexOf("?") ? "&" : "?", n) {
                    const t = yield g();
                    e = `/Users/${t}${e}`;
                }
                if (e = `${r + e + s}api_key=${o}`, a) {
                    const t = yield g();
                    e = `${e}&ControllableByUserId=${t}`;
                }
                return i.log("Api Call", e), t.request.xhr("GET", e).then(t => {
                    if (500 === t.status) throw i.error("Something went wrong", e, t), "Something went wrong";
                    return t;
                });
            }));
        }
        c.addCaptureVariable("ApiClient", '\n    if (window.hasOwnProperty("ApiClient")) {\n      return ApiClient;\n    } else {\n      return undefined;\n    }\n  ');
        const k = {
            name: "Jellyfin",
            domain: "https://jellyfin.org/",
            languages: [ "Many" ],
            type: "anime",
            isSyncPage: t => "Episode" === d.Type,
            sync: {
                getTitle: t => d.SeriesName + (d.ParentIndexNumber > 1 ? " Season " + d.ParentIndexNumber : ""),
                getIdentifier: t => void 0 !== d.SeasonId ? d.SeasonId : void 0 !== d.SeriesId ? d.SeriesId : d.Id,
                getOverviewUrl: t => `${k.domain}/#!/details?id=${k.sync.getIdentifier(t)}`,
                getEpisode: t => d.IndexNumber
            },
            overview: {
                getTitle: t => d.SeriesName + (d.IndexNumber > 1 ? " Season " + d.IndexNumber : ""),
                getIdentifier: t => d.Id,
                uiSelector(t) {
                    o.$(".page:not(.hide) .detailPageContent").first().prepend(o.html(t));
                }
            },
            init(e) {
                t.storage.addStyle(n(495).toString()), function t(e = 0) {
                    return l(this, void 0, void 0, (function*() {
                        if (e > 19) throw Object(r.flashm)("MALSync could not Authenticate", {
                            error: !0
                        }), "Not Authenticated [Jellyfin]";
                        const n = yield m(), a = yield p(), o = yield g();
                        return n && a && o ? x("/System/Info").then(n => 200 !== n.status ? (i.error("Not Authenticated"), 
                        h(""), u(""), f(""), t(++e)) : x("", !0).catch(n => (i.error("User wrong", n), f(""), 
                        t(++e))).then(n => 200 === n.status || (i.error("User wrong"), f(""), t(++e)))) : (i.m("Authentication").error("base, user or Key are not set", a, o, n), 
                        yield _(), t(++e));
                    }));
                }().then(() => {
                    i.info("Authenticated"), a.changeDetect(() => {
                        e.reset(), v(e);
                    }, () => {
                        const t = $("video").first().attr("src");
                        return void 0 === t ? "NaN" : t;
                    }), a.urlChangeDetect((function() {
                        -1 === window.location.href.indexOf("video") && (e.reset(), b(e));
                    })), o.$(document).ready((function() {
                        a.waitUntilTrue((function() {
                            return o.$(".page").length;
                        }), (function() {
                            b(e);
                        }));
                    })), document.addEventListener("fullscreenchange", (function() {
                        window.fullScreen || window.innerWidth === window.screen.width && window.innerHeight === window.screen.height ? $("html").addClass("miniMAL-Fullscreen") : $("html").removeClass("miniMAL-Fullscreen");
                    }));
                });
            }
        };
    }).call(this, n(0), n(4), n(1), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "An1me",
            domain: "https://an1me.nl",
            languages: [ "Greek" ],
            type: "anime",
            isSyncPage(e) {
                const n = t.$("#manga-reading-nav-head > div > div.entry-header_wrap > div > div.c-breadcrumb");
                return void 0 !== e.split("/")[5] && e.split("/")[5].length > 0 && 0 !== n.length;
            },
            isOverviewPage(e) {
                const n = t.$("div.site-content > div > div.profile-manga > div > div > div > div.post-title > h1");
                return !(!e.split("/")[4] || 0 === n.length);
            },
            sync: {
                getTitle: e => t.$("ol.breadcrumb > li:nth-child(2) > a").text().trim(),
                getIdentifier: t => i.urlPart(t, 4).toString(),
                getOverviewUrl: e => t.$("ol.breadcrumb > li:nth-child(2) > a").attr("href") || "",
                getEpisode(t) {
                    const e = t.split("/");
                    if (!e || 0 === e.length) return NaN;
                    const n = e[5];
                    if (0 === n.length) return NaN;
                    const i = n.match(/episode-\d+/gim);
                    return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl(e) {
                    const n = t.$("div.select-pagination > div > div.nav-next > a").attr("href");
                    return n && o.sync.getEpisode(e) < o.sync.getEpisode(n) ? n : "";
                }
            },
            overview: {
                getTitle: e => i.getBaseText(t.$("div.profile-manga > div > div > div > div.post-title > h1")).trim(),
                getIdentifier: t => i.urlPart(t, 4) || "",
                uiSelector(e) {
                    t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing">\n              <div id= "MALSyncheading" class="c-blog__heading style-2 font-heading">\n                <h2 class="h4">\n                  <i class="icon ion-ios-star"></i>\n                  MAL-Sync\n                </h2>\n              </div>\n              ${e}\n            </div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.page-content-listing.single-page > div > ul > li.wp-manga-chapter"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(497).toString()), t.$(document).ready((function() {
                    void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "MangaJar",
            domain: "https://mangajar.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => "chapter" === t.split("/")[5],
            isOverviewPage: t => !(void 0 === t.split("/")[4] || !t.split("/")[4].length),
            sync: {
                getTitle: e => t.$("div.container-fluid.chapter-container > div > h1 > a").text(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => i.absoluteLink(t.$("div.container-fluid.chapter-container > div > h1 > a").attr("href"), o.domain),
                getEpisode: t => parseInt(i.urlPart(t, 6)),
                getVolume(e) {
                    let n = i.getBaseText(t.$("div.container-fluid.chapter-container > div > h1")).match(/(vol\.|volume)\D?\d+/i);
                    return n && (n = n[0].match(/\d+/), n) ? parseInt(n[0]) : 0;
                },
                nextEpUrl: e => i.absoluteLink(t.$("body > div.container-fluid.chapter-container > div.row.text-center > div > a.btn-primary").first().attr("href"), o.domain)
            },
            overview: {
                getTitle: e => t.$("h1.entry-title > span.post-name").text(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("h1.entry-title").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul.chaptersList > li.chapter-item"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href") || "", o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(499).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeDao",
            domain: "https://animedao.to",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => !("view" !== t.split("/")[3] || void 0 === t.split("/")[4] || !t.split("/")[4].length),
            isOverviewPage: t => !("anime" !== t.split("/")[3] || void 0 === t.split("/")[4] || !t.split("/")[4].length),
            sync: {
                getTitle: e => t.$("h2.page_title").text().replace(/episode.*/i, "").trim(),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4),
                getOverviewUrl: e => i.absoluteLink(t.$('#videocontent a[href*="/anime/"]').attr("href") || "", o.domain),
                getEpisode(e) {
                    const n = t.$("h2.page_title").text().toLowerCase();
                    if (n.includes("special") || n.includes("ova") || n.includes("movie")) throw new Error("specials are not supported");
                    if (!n.includes("episode")) throw new Error("episode is missing");
                    return r(n);
                },
                nextEpUrl(e) {
                    const n = t.$("div.btn-group > a > button > span.glyphicon-arrow-right").closest("a").attr("href");
                    return n || "";
                }
            },
            overview: {
                getTitle: e => t.$("div.animeinfo-div > div > h2 > b").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.animeinfo-div > div > h2").first().after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("#eps > div:nth-child(1) > a"),
                    elementUrl: t => i.absoluteLink(t.attr("href"), o.domain),
                    elementEp(t) {
                        try {
                            return r(t.text());
                        } catch (t) {
                            return NaN;
                        }
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(501).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
        function r(t) {
            let e = [];
            return e = t.match(/(episode)\D?\d+/i), null !== e && (e = (t = e[0]).match(/\d+/), 
            null !== e) ? e[0] : 1;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Otakustv",
            domain: "https://www.otakustv.com",
            languages: [ "Spanish" ],
            type: "anime",
            isSyncPage: e => !!t.urlPart(e, 5),
            isOverviewPage: e => !(!t.urlPart(e, 4) || t.urlPart(e, 5)),
            sync: {
                getTitle(t) {
                    const e = i.$("title").text().trim(), n = i.$(".epsd h1").text().trim();
                    let a = "";
                    for (let t = 0; t < e.length; t++) e[t] && n[t] && e[t] === n[t] && (a += e[t]);
                    return a.trim();
                },
                getIdentifier: t => o.overview.getIdentifier(t),
                getOverviewUrl: t => `${o.domain}/anime/${o.sync.getIdentifier(t)}`,
                getEpisode: t => r(t),
                nextEpUrl(e) {
                    const n = i.$(".vid_next a").first().attr("href");
                    return void 0 === n || n.includes(":void(0)") ? "" : t.absoluteLink(n, o.domain);
                }
            },
            overview: {
                getTitle: t => i.$(".inn-text h1").first().text().trim(),
                getIdentifier(e) {
                    const n = t.urlPart(e, 4);
                    return n || "";
                },
                uiSelector(t) {
                    i.$(".inn-text h1").first().after(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => i.$(".episodios-bottom .row > div"),
                    elementUrl: e => t.absoluteLink(e.find("a").first().attr("href"), o.domain),
                    elementEp: t => r(o.overview.list.elementUrl(t))
                }
            },
            init(t) {
                a.storage.addStyle(n(503).toString()), i.$(document).ready((function() {
                    t.handlePage();
                }));
            }
        };
        function r(e) {
            const n = t.urlPart(e, 5).toLowerCase();
            if ("pelicula" === n) return 1;
            const i = n.match(/\d+$/gim);
            return i && 0 !== i.length ? Number(i) : 1;
        }
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return c;
        }));
        var r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        function s(e) {
            return r(this, void 0, void 0, (function*() {
                return e = window.location.origin + e, t.log("Api Call", e), i.request.xhr("GET", e);
            }));
        }
        const l = {
            pid: "",
            name: "",
            chapter: "",
            mode: "chapter"
        }, c = {
            name: "Komga",
            domain: "https://komga.org",
            languages: [ "Many" ],
            type: "manga",
            isSyncPage: t => "read" === a.urlPart(t, 5),
            isOverviewPage: t => "series" === a.urlPart(t, 3) && "read" !== a.urlPart(t, 5),
            sync: {
                getTitle(t) {
                    if (!l.name) throw "No name";
                    return l.name;
                },
                getIdentifier(t) {
                    if (!l.pid) throw "No pid";
                    return l.pid;
                },
                getOverviewUrl: t => `${window.location.origin}/series/${l.pid}`,
                getEpisode(t) {
                    if ("chapter" !== l.mode) return 0;
                    if (!l.chapter || !parseInt(l.chapter)) throw "No chapter number";
                    return parseInt(l.chapter);
                },
                getVolume(t) {
                    if ("volume" !== l.mode) return 0;
                    if (!l.chapter || !parseInt(l.chapter)) throw "No volume number";
                    return parseInt(l.chapter);
                }
            },
            overview: {
                getTitle: () => o.$(".v-toolbar__title > span:nth-child(1)").first().text().trim(),
                getIdentifier: t => a.urlPart(t, 4),
                uiSelector(t) {
                    o.$(".text-h5").first().after(o.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => o.$("div.my-2"),
                    elementUrl: t => a.absoluteLink(t.find("a").first().attr("href"), c.domain),
                    elementEp(t) {
                        const e = t.find("div:nth-child(1) > a:nth-child(2) > div:nth-child(1)").first().text().split(" - ")[0].replace(/( |#)/g, "");
                        return Number(e);
                    }
                }
            },
            init(e) {
                let o;
                function r() {
                    l.chapter = "", l.name = "", l.pid = "", l.mode = "chapter", e.strongVolumes = !1, 
                    clearInterval(o), c.isOverviewPage(window.location.href) ? o = a.waitUntilTrue(() => c.overview.getTitle(window.location.href), () => {
                        t.log("pagehandle"), e.reset(), e.handlePage();
                    }) : c.isSyncPage(window.location.href) ? s("/api/v1/books/" + a.urlPart(window.location.href, 4)).then(e => {
                        const n = JSON.parse(e.responseText);
                        if (!n.seriesId) throw "No seriesId found";
                        return t.m("Book").log(n), l.chapter = n.metadata.number, l.pid = n.seriesId, s("/api/v1/series/" + n.seriesId);
                    }).then(n => {
                        const i = JSON.parse(n.responseText);
                        if (t.m("Series").log(i), l.name = i.name, i.metadata && i.metadata.tags && i.metadata.tags.length) {
                            const t = i.metadata.tags.map(t => t.toLowerCase());
                            (t.includes("volume") || t.includes("volumes")) && (l.mode = "volume", e.strongVolumes = !0);
                        }
                        t.m("Object").log(l), e.reset(), e.handlePage();
                    }) : e.reset();
                }
                i.storage.addStyle(n(505).toString()), r(), a.changeDetect(r, () => window.location.href.split("?")[0].split("#")[0]);
            }
        };
    }).call(this, n(4), n(0), n(1), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeWho",
            domain: "https://animewho.com",
            languages: [ "Turkish" ],
            type: "anime",
            isSyncPage: e => "true" === t.$("#malsync-data").attr("issyncpage"),
            sync: {
                getTitle: e => t.$("#malsync-data").attr("name"),
                getIdentifier: e => `${t.$("#malsync-data").attr("type")}-${t.$("#malsync-data").attr("series_id")}`,
                getOverviewUrl: e => i.absoluteLink(t.$("#malsync-data").attr("overview_link"), o.domain),
                getEpisode: e => Number(t.$("#malsync-data").attr("episode")),
                nextEpUrl: e => t.$("#malsync-data").attr("next_episode") ? i.absoluteLink(t.$("#malsync-data").attr("next_episode"), o.domain) : "",
                getMalUrl: e => !(!t.$("#malsync-data").attr("mal_url") || "-" === t.$("#malsync-data").attr("mal_url")) && t.$("#malsync-data").attr("mal_url")
            },
            overview: {
                getTitle: t => o.sync.getTitle(t),
                getIdentifier: t => o.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$("#malsync_selector").append(t.html(e));
                },
                getMalUrl: t => o.sync.getMalUrl(t)
            },
            init(e) {
                let r;
                a.storage.addStyle(n(507).toString());
                let s = "";
                i.fullUrlChangeDetect((function() {
                    e.reset(), function() {
                        t.$("#malsync-data").length || (s = "");
                        clearInterval(r), r = i.waitUntilTrue((function() {
                            return !(!t.$("#malsync-data").length || t.$("#malsync-data").prop("outerHTML") === s) && (s = t.$("#malsync-data").prop("outerHTML"), 
                            !0);
                        }), (function() {
                            "anime" === t.$("#malsync-data").attr("type") ? o.type = "anime" : o.type = "manga", 
                            e.handlePage();
                        }));
                    }();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "AnimeSuge",
            domain: "https://animesuge.io",
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => !0,
            sync: {
                getTitle: e => t.$("h1.title").text(),
                getIdentifier(t) {
                    const e = i.urlPart(t, 4).split("-");
                    return e[e.length - 1];
                },
                getOverviewUrl: e => i.absoluteLink(t.$("ul.episodes > li > a").first().attr("href"), r.domain),
                getEpisode: e => parseInt(t.$("ul.episodes > li > a.active").attr("data-base")),
                nextEpUrl(e) {
                    const n = t.$("ul.episodes > li > a.active").parent("li").next().find("a").attr("href");
                    return n ? i.absoluteLink(n, r.domain) : n;
                },
                uiSelector(e) {
                    t.$("#episodes").after(t.html(`<section>${e}</section>`));
                }
            },
            overview: {
                getTitle: t => "",
                getIdentifier: t => "",
                uiSelector(t) {},
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul.episodes > li > a"),
                    elementUrl: t => i.absoluteLink(t.attr("href"), r.domain),
                    elementEp: t => Number(t.attr("data-base"))
                }
            },
            init(e) {
                a.storage.addStyle(n(509).toString()), r.database = "9anime", i.waitUntilTrue((function() {
                    return t.$("ul.episodes > li").length;
                }), (function() {
                    o.info("Start check"), e.handlePage(), i.urlChangeDetect((function() {
                        o.info("Check"), e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Toonily",
            domain: "https://toonily.net",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length >= 9,
            sync: {
                getTitle: e => t.$('.breadcrumb li > a[href*="/manga/"]').text().trim(),
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: e => i.absoluteLink(t.$('.breadcrumb li > a[href*="/manga/"]').attr("href"), o.domain) || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 5).match(/chapter-\d+/gim);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : NaN;
                },
                nextEpUrl: e => t.$('.nav-links .nav-next a:not([class^="back"])').attr("href")
            },
            overview: {
                getTitle: t => o.sync.getTitle(t),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$(".tab-summary").first().after(t.html(`<div id="MALSyncheading" class="post-content_item"> <h6 class="text-highlight">MAL-Sync</h6></div><div id="malthing" class="post-content_item">${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div.listing-chapters_wrap > ul > li.wp-manga-chapter"),
                    elementUrl: t => i.absoluteLink(t.find("a").attr("href"), o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(511).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "Fumetsu",
            domain: "https://fumetsu.pl",
            languages: [ "Polish" ],
            type: "anime",
            isSyncPage: t => "" !== t.split("/")[5],
            sync: {
                getTitle: e => t.$(".text-center > a > h2").text() || "",
                getIdentifier: t => t.split("/")[4],
                getOverviewUrl: e => i.absoluteLink(t.$(".text-center > a").first().attr("href"), o.domain),
                getEpisode: e => r(t.$(".text-center > h5").text()),
                nextEpUrl(e) {
                    const n = t.$(".text-center > a.float-right").attr("href");
                    return n ? i.absoluteLink(n, o.domain) : n;
                }
            },
            overview: {
                getTitle: e => t.$(".ep-info h2").first().text(),
                getIdentifier: t => o.sync.getIdentifier(t),
                uiSelector(e) {
                    t.$(".newsy.container > .row").first().before(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".episodes"),
                    elementUrl: e => i.absoluteLink(t.$(e).parent().attr("href"), o.domain),
                    elementEp: e => r(t.$(e).find(".float-left").text())
                }
            },
            init(e) {
                a.storage.addStyle(n(513).toString()), t.$(document).ready((function() {
                    "anime" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && e.handlePage();
                }));
            }
        };
        function r(t) {
            const e = t.trim().match(/Odcinek:?\s?([0-9]+)/);
            return e ? Number(e[1]) : e;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "NonstopScans",
            domain: "https://www.nonstopscans.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: e => !!t.$("div#content.readercontent").length,
            sync: {
                getTitle: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox span")[1]).text().trim(),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4),
                getOverviewUrl: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox a")[1]).attr("href") || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 3).match(/\d+/);
                    return e && 0 !== e.length ? Number(e) : 1;
                },
                nextEpUrl(e) {
                    const n = t.$("a.ch-next-btn").attr("href");
                    if ("#/next/" !== n) return n;
                }
            },
            overview: {
                getTitle: e => t.$("h1.entry-title").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.bixbox.animefull").first().after(t.html(`<div id= "malthing" class="bixbox animefull">${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div#chapterlist li div.chbox"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(515).toString()), t.$(document).ready((function() {
                    (t.$("div#content.readercontent").length || "manga" === e.url.split("/")[3] && "" !== e.url.split("/")[4]) && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "FrixySubs",
            domain: "https://frixysubs.pl",
            languages: [ "Polish" ],
            type: "anime",
            isSyncPage: t => !!t.split("/")[3].startsWith("ogladaj"),
            isOverviewPage: t => !!t.split("/")[3].startsWith("odcinki"),
            sync: {
                getTitle(e) {
                    const n = t.$("#anime-watch-title").text();
                    return n || (t.$("#watch-title").text() || "");
                },
                getIdentifier(e) {
                    if ("true" === i.urlParam(e, "video")) {
                        return (i.urlParam(e, "id") || "") + "v";
                    }
                    return t.$('.watch-player-button:contains("Wróć")').attr("idd") || "";
                },
                getOverviewUrl(e) {
                    const n = t.$('.watch-player-button:contains("Wróć")').attr("idd");
                    return n ? i.absoluteLink("odcinki.html?id=" + n, o.domain) : "";
                },
                getEpisode: e => r(t.$("#watch-title").text(), /\|#(\d+)/),
                nextEpUrl(e) {
                    const n = t.$('.watch-player-button:contains("Następny")').attr("idd");
                    return n ? i.absoluteLink("ogladaj.html?id=" + n, o.domain) : "";
                }
            },
            overview: {
                getTitle: e => t.$("#series-info-title").text(),
                getIdentifier: t => i.urlParam(t, "id") || "",
                uiSelector(e) {
                    t.$("#series-info").after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".episodes-episode"),
                    elementUrl(e) {
                        const n = t.$(e).attr("idd");
                        return i.absoluteLink("ogladaj.html?id=" + n, o.domain);
                    },
                    elementEp: e => r(t.$(e).find(".episodes-h1").text(), /Odcinek (\d+)/)
                }
            },
            init(e) {
                a.storage.addStyle(n(517).toString()), t.$(document).ready((function() {
                    const t = e.url.split("/")[3];
                    (t.startsWith("ogladaj") || t.startsWith("odcinki")) && i.waitUntilTrue(() => !(!o.overview.getTitle(e.url).length && !o.sync.getTitle(e.url).length), () => {
                        e.handlePage();
                    });
                }));
            }
        };
        function r(t, e) {
            const n = t.match(e);
            return n ? parseInt(n[1]) : 1;
        }
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return r;
        }));
        const o = [ "gist", "imgur" ], r = {
            name: "Guya & Cubari",
            domain: [ "https://guya.moe", "https://cubari.moe" ],
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => "read" === t.split("/")[3] && !o.includes(t.split("/")[4]) && t.split("/").length >= 8,
            isOverviewPage: t => "read" === t.split("/")[3] && !o.includes(t.split("/")[4]) && t.split("/").length >= 6,
            sync: {
                getTitle: e => t.$("#rdr-main > aside > header > h1 > a").text(),
                getIdentifier: t => i.urlPart(t, 5),
                getOverviewUrl: e => i.absoluteLink(t.$("#rdr-main > aside > header > h1 > a").attr("href"), r.domain),
                getEpisode: t => parseInt(i.urlPart(t, 6))
            },
            overview: {
                getTitle: e => t.$("div.series-content > article > h1, article content > h1").first().text(),
                getIdentifier: t => i.urlPart(t, 5),
                uiSelector(e) {
                    t.$("div.series-content > article").after(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div#detailedView, div#compactView, tbody#chapterTable").not(".d-none").first().find(`a[href*="/read/${i.urlPart(window.location.href, 4)}"]`),
                    elementUrl: t => i.absoluteLink(t.attr("href") || "", r.domain),
                    elementEp: t => r.sync.getEpisode(r.overview.list.elementUrl(t))
                }
            },
            init(e) {
                let o;
                a.storage.addStyle(n(519).toString());
                let s = "";
                i.fullUrlChangeDetect((function() {
                    e.reset(), clearInterval(o), o = i.waitUntilTrue((function() {
                        return !(!r.overview.getTitle(window.location.href).length && !r.sync.getTitle(window.location.href).length);
                    }), (function() {
                        if (window.location.href.split("/").slice(0, 7).join("/") !== s) {
                            switch (s = window.location.href.split("/").slice(0, 7).join("/"), window.location.href.split("/")[4]) {
                              case "mangadex":
                                r.database = "Mangadex";
                                break;

                              case "mangasee":
                                r.database = "MangaSee";
                                break;

                              default:
                                r.database = void 0;
                            }
                            e.handlePage();
                        }
                    }));
                })), t.$(document).on("click", "div.series-content > div.btn-group", () => {
                    e.handleList();
                });
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "MangaHub",
            domain: "https://mangahub.io",
            languages: [ "English" ],
            type: "manga",
            getImage: () => $("#mangadetail img.manga-thumb").first().attr("src"),
            isSyncPage: e => !!t.$("#mangareader").length,
            isOverviewPage: e => !!t.$("#mangadetail").length,
            sync: {
                getTitle: e => t.$("#mangareader .container-fluid h3 a").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => t.$("#mangareader .container-fluid h3 a").attr("href") || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 5).match(/chapter-\d+/gim);
                    return e && e.length ? Number(e[0].replace(/\D+/g, "")) : 0;
                },
                nextEpUrl: e => t.$("#mangareader ul.dropdown-menu li.active").next().find("a").attr("href")
            },
            overview: {
                getTitle: e => t.$("#mangadetail h1").clone().children().remove().end().text(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("#mangadetail section._2fecr").after(t.html(`<section id="malthing" class="_2fecr"><div style="background-color: inherit;" class="container-fluid"><div class="row" style="background-color: inherit;"><div class="col-md-1"><span style="font-weight: 700;">MALSync:</span></div><div class="col-md-11" style="background-color: inherit;">${e}</div></div></div></section>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("#noanim-content-tab div li"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                let o;
                function r() {
                    t.$("#mangareader").length && (clearInterval(o), o = i.waitUntilTrue((function() {
                        return t.$("#mangareader ul.dropdown-menu li.active").length;
                    }), (function() {
                        e.handlePage();
                    }))), t.$("#mangadetail").length && (t.$("#malthing").length && t.$("#malthing").remove(), 
                    clearInterval(o), o = i.waitUntilTrue((function() {
                        return t.$("#mangadetail div.ads-container").length > 0;
                    }), (function() {
                        e.handlePage();
                    })));
                }
                a.storage.addStyle(n(521).toString()), t.$(document).ready((function() {
                    r(), i.changeDetect(() => {
                        e.reset(), r();
                    }, () => t.$("head > title").text());
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        let o;
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "ComicK",
            domain: "https://comick.fun",
            languages: [ "Many" ],
            type: "manga",
            isSyncPage: t => void 0 !== o.chap,
            sync: {
                getTitle: t => o.md_comic.title,
                getIdentifier: t => o.md_comic.id,
                getOverviewUrl: t => o.comic_url,
                getEpisode: t => parseInt(o.chap) || 1,
                getVolume: t => o.vol || 0,
                getMalUrl(t) {
                    if (o.md_comic.links) {
                        if (o.md_comic.links.mal) return "https://myanimelist.net/manga/" + o.md_comic.links.mal;
                        if ("ANILIST" === t && o.md_comic.links.al) return "https://anilist.co/manga/" + o.md_comic.links.al;
                    }
                    return !1;
                }
            },
            overview: {
                getTitle: t => o.title,
                getIdentifier: t => o.id,
                uiSelector(e) {
                    t.$(o.selector_position).first().append(t.html(e));
                },
                getMalUrl(t) {
                    if (o.links) {
                        if (o.links.mal) return "https://myanimelist.net/manga/" + o.links.mal;
                        if ("ANILIST" === t && o.links.al) return "https://anilist.co/manga/" + o.links.al;
                    }
                    return !1;
                }
            },
            init(e) {
                let r;
                i.storage.addStyle(n(523).toString()), a.fullUrlChangeDetect((function() {
                    e.reset(), clearInterval(r), r = a.waitUntilTrue((function() {
                        return t.$("#__MALSYNC__").length;
                    }), (function() {
                        o = JSON.parse(t.$("#__MALSYNC__").text()), e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(0), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimeShitai",
            domain: "https://www.anime-shitai.com",
            languages: [ "German" ],
            type: "anime",
            isSyncPage: t => "anschauen" === t.split("/")[3],
            isOverviewPage: t => "info" === t.split("/")[3] || "anime" === t.split("/")[3],
            sync: {
                getTitle: e => t.$("div.title > span.navmiddle").first().text().replace(/(?=-).*?$/, "").replace(/:\s*$/, "").replace(/staffel/gi, "season").trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => i.absoluteLink(t.$('div.content > div.dish > a[href*="/info"]').attr("href"), o.domain),
                getEpisode(t) {
                    const e = t.split("/")[6].match(/(folge|episode|ep)-\d+/i);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl: e => i.absoluteLink(t.$("div.content div.eright").parent("a").attr("href"), o.domain)
            },
            overview: {
                getTitle: e => t.$("div.title > animename").text().replace(/staffel/gi, "season"),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("#ani > div.body > div.br").first().prepend(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("table.ep_table > tbody > tr"),
                    elementUrl: t => i.absoluteLink(t.attr("onclick").match(/window\.location\.href='(.+?)'/i)[1], o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(525).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "KangaryuTeam",
            domain: "https://kangaryu-team.fr",
            languages: [ "French" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            sync: {
                getTitle: () => t.$("#navbar-collapse-1 > ul > li:nth-child(1) > a").text().replace("Manga", "").trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: t => `${o.domain}/manga/${i.urlPart(t, 4)}`,
                getEpisode: t => parseInt(i.urlPart(t, 5)),
                nextEpUrl: () => t.$("#chapter-list .dropdown-menu li.active").prev().find("a").attr("href")
            },
            overview: {
                getTitle: () => t.$(".titre-projets").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.bg > div:nth-child(3)").first().before(t.html(`<div class="col-lg-12"><div class="well2">${e}</div></div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".chapters > li"),
                    elementUrl: t => i.absoluteLink(t.find('a[href*="/manga/"]').attr("href") || "", o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(527).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a, o) {
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "Japanread",
            domain: "https://www.japanread.cc/",
            languages: [ "French" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0,
            sync: {
                getTitle: () => t.$(".reader-controls-title > div > a").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: t => t.substr(0, t.lastIndexOf("/")),
                getEpisode: t => parseInt(i.urlPart(t, 5)),
                getVolume() {
                    const e = t.$("#jump-chapter option:selected");
                    if (e.length) {
                        let t = e.text().trim().match(/(vol\.|volume)\D?\d+/i);
                        if (null !== t && (t = t[0].match(/\d+/), null !== t)) return parseInt(t[0]);
                    }
                    return 0;
                },
                nextEpUrl(e) {
                    const n = t.$("#jump-chapter option:selected").prev();
                    if (n && void 0 !== n) {
                        let t = n.text().trim().match(/(ch\.|chapitre)\D?\d+/i);
                        if (null !== t && (t = t[0].replace(".", "-").match(/\d+/), null !== t)) return i.absoluteLink(t[0], r.sync.getOverviewUrl(e));
                    }
                    return "";
                }
            },
            overview: {
                getTitle: () => t.$("h1.card-header").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$(".card.card-manga .card-body .row.edit .col-md-7").first().append(t.html('<div class="row m-0 py-1 px-0 border-top"><div class="col-lg-3 col-xl-2 strong">MAL-Sync:</div><div class="col-lg-9 col-xl-10 mal-sync"></div></div>')), 
                    t.$(".container .card .mal-sync").first().append(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("[data-row=chapter]"),
                    elementUrl: e => 0 === t.$("#navbar-guest").length ? i.absoluteLink(e.find("a").eq(1).attr("href"), r.domain) : i.absoluteLink(e.find("a").first().attr("href"), r.domain),
                    elementEp: t => r.sync.getEpisode(r.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(529).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && (o.info("Waiting"), 
                    i.waitUntilTrue(() => "" !== t.$("#jump-chapter option:selected").text() || t.$("[data-row=chapter]").length, () => {
                        o.info("Start"), e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return c;
        }));
        var o = n(12), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        let s;
        const l = new o.a;
        l.addCaptureVariable("NEXT_DATA", '\n    if (window.hasOwnProperty("__NEXT_DATA__")) {\n      return __NEXT_DATA__;\n    } else {\n      return undefined;\n    }\n  ');
        const c = {
            name: "CatManga",
            domain: "https://catmanga.org",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => !("series" !== t.split("/")[3] || void 0 === t.split("/")[5] || !t.split("/")[5].length),
            isOverviewPage: t => !("series" !== t.split("/")[3] || void 0 === t.split("/")[4] || !t.split("/")[4].length),
            sync: {
                getTitle: t => s.title,
                getIdentifier: t => s.series_id,
                getOverviewUrl: t => `${c.domain}/series/${c.sync.getIdentifier(t)}`,
                getEpisode: e => parseInt(t.urlPart(e, 5)) || 1,
                nextEpUrl(t) {
                    const e = c.sync.getEpisode(t) + 1;
                    return s.chapters.find(t => t.number === e) && e ? `${c.sync.getOverviewUrl(t)}/${e}` : "";
                }
            },
            overview: {
                getTitle: t => c.sync.getTitle(t),
                getIdentifier: t => c.sync.getIdentifier(t),
                uiSelector(t) {
                    i.$('p:contains("Chapter")').first().after(i.html(t));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => i.$(`a[href^="/series/${c.sync.getIdentifier(window.location.href)}/"]`),
                    elementUrl: e => t.absoluteLink(e.attr("href") || "", c.domain),
                    elementEp(t) {
                        var e, n;
                        return c.sync.getEpisode((null === (n = null === (e = c.overview) || void 0 === e ? void 0 : e.list) || void 0 === n ? void 0 : n.elementUrl(t)) || "");
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(531).toString()), t.fullUrlChangeDetect((function() {
                    e.reset(), function() {
                        (c.isOverviewPage(window.location.href) || c.isSyncPage(window.location.href)) && l.addProxy(n => r(this, void 0, void 0, (function*() {
                            const n = function() {
                                const t = l.getCaptureVariable("NEXT_DATA");
                                if (!(t instanceof Object)) throw new Error("Invalid metadata");
                                return t;
                            }(), {buildId: i} = n, a = t.urlPart(window.location.href, 4), o = new XMLHttpRequest;
                            o.onload = () => {
                                200 === o.status && (s = JSON.parse(o.responseText).pageProps.series, e.handlePage());
                            }, o.open("GET", `https://catmanga.org/_next/data/${i}/series/${a}.json`), o.send();
                        })));
                    }();
                }), !0);
            }
        };
    }).call(this, n(1), n(2), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "MangaSushi",
            domain: "https://mangasushi.net",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => $("div.wp-manga-nav").length > 0,
            sync: {
                getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 5).match(/chapter-\d+/gim);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl: e => t.$("div.entry-header.header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href")
            },
            overview: {
                getTitle: e => t.$("ol.breadcrumb li a").last().text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul > li.wp-manga-chapter"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(533).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() {
                        return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length);
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "ArangScans",
            domain: "https://arangscans.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => $("div.wp-manga-nav").length > 0,
            sync: {
                getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "",
                getEpisode(t) {
                    let e = i.urlPart(t, 5);
                    e.match(/volume-\d+/gim) && (e = i.urlPart(t, 6));
                    const n = e.match(/chapter-\d+/gim);
                    return n && 0 !== n.length ? Number(n[0].replace(/\D+/g, "")) : 1;
                }
            },
            overview: {
                getTitle: e => t.$("ol.breadcrumb li a").last().text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul > li.wp-manga-chapter"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(535).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() {
                        return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length);
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "TritiniaScans",
            domain: "https://tritinia.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: e => t.$('div.wp-manga-nav div.chapter-selection.chapters_selectbox_holder option.short[selected="selected"]').length > 0,
            sync: {
                getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[2]).text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[2]).attr("href") || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 5).match(/ch-\d+/gim);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl: e => t.$('div.chapter-selection.chapters_selectbox_holder option.short[selected="selected"]').first().prev().attr("data-redirect")
            },
            overview: {
                getTitle: e => t.$("ol.breadcrumb li a").last().text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul > li.wp-manga-chapter"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(537).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() {
                        return !(!t.$("ul > li.wp-manga-chapter").length && !t.$('div.wp-manga-nav div.chapter-selection.chapters_selectbox_holder option.short[selected="selected"]').length);
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "ReadManhua",
            domain: "https://readmanhua.net",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => $("div.wp-manga-nav").length > 0,
            sync: {
                getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 5).match(/chapter-\d+/gim);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl: e => t.$("div.entry-header.header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href")
            },
            overview: {
                getTitle: e => t.$("ol.breadcrumb li a").last().text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul > li.wp-manga-chapter"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(539).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() {
                        return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length);
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "FlameScans",
            domain: "https://flamescans.org",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: e => !!t.$("div#content.readercontent").length,
            sync: {
                getTitle: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox span")[1]).text().trim(),
                getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4),
                getOverviewUrl: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox a")[1]).attr("href") || "",
                getEpisode(e) {
                    const n = t.$('select#chapter option[selected="selected"]').first().text().match(/chapter \d+/gim);
                    return n && 0 !== n.length ? Number(n[0].replace(/\D+/g, "")) : 0;
                },
                nextEpUrl(e) {
                    const n = t.$("a.ch-next-btn").attr("href");
                    if ("#/next/" !== n) return n;
                }
            },
            overview: {
                getTitle: e => t.$("h1.entry-title").text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.info-desc.bixbox").first().after(t.html(`<div id= "malthing" class="bixbox animefull">${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("div#chapterlist li div.chbox"),
                    elementUrl: t => t.parent().attr("href") || "",
                    elementEp(t) {
                        const e = t.find("span").first().text().match(/chapter \d+/gim);
                        return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 0;
                    }
                }
            },
            init(e) {
                a.storage.addStyle(n(541).toString()), t.$(document).ready((function() {
                    "series" === e.url.split("/")[3] && "" !== e.url.split("/")[4] && e.handlePage(), 
                    t.$("div#content.readercontent").length && i.waitUntilTrue((function() {
                        return !!t.$('select#chapter option[selected="selected"]').first().length;
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "ImmortalUpdates",
            domain: "https://immortalupdates.com",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => $("div.wp-manga-nav").length > 0,
            sync: {
                getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "",
                getEpisode(t) {
                    const e = i.urlPart(t, 5).match(/chapter-\d+/gim);
                    return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl: e => t.$("div.entry-header.header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href")
            },
            overview: {
                getTitle: e => t.$("ol.breadcrumb li a").last().text().trim(),
                getIdentifier: t => i.urlPart(t, 4),
                uiSelector(e) {
                    t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("ul > li.wp-manga-chapter"),
                    elementUrl: t => t.find("a").first().attr("href") || "",
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(543).toString()), t.$(document).ready((function() {
                    "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() {
                        return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length);
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        let o;
        n.d(e, "a", (function() {
            return r;
        }));
        const r = {
            name: "Zoro",
            domain: "https://zoro.to",
            languages: [ "English" ],
            type: "anime",
            database: "Zoro",
            isSyncPage: t => "episode" === o.page,
            isOverviewPage: t => "anime" === o.page,
            sync: {
                getTitle: t => o.name,
                getIdentifier: t => o.anime_id,
                getOverviewUrl: t => o.series_url,
                getEpisode: t => parseInt(o.episode),
                nextEpUrl: t => o.next_episode_url,
                getMalUrl: t => !!o.mal_id && "https://myanimelist.net/anime/" + o.mal_id
            },
            overview: {
                getTitle: t => o.name,
                getIdentifier: t => o.anime_id,
                uiSelector(e) {
                    t.$(o.selector_position).append(t.html(e));
                },
                getMalUrl: t => r.sync.getMalUrl(t),
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".ss-list > a"),
                    elementUrl: t => i.absoluteLink(t.attr("href"), r.domain),
                    elementEp: t => Number(t.attr("data-number"))
                }
            },
            init(e) {
                let r, s;
                a.storage.addStyle(n(545).toString()), i.fullUrlChangeDetect((function() {
                    e.reset(), clearInterval(r), r = i.waitUntilTrue((function() {
                        return !!t.$("#syncData").length && (o = JSON.parse(t.$("#syncData").text()), !0);
                    }), (function() {
                        clearTimeout(s), s = setTimeout(() => {
                            e.handlePage();
                        }, 500);
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return d;
        }));
        var o = n(12), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        let s;
        const l = new o.a;
        function c() {
            const t = l.getCaptureVariable("TITLE_DATA");
            if (!(t instanceof Object)) throw new Error("Invalid metadata");
            if ("extras" === t.alpha) throw new Error("Not a Episode page");
            return t;
        }
        l.addCaptureVariable("TITLE_DATA", "\n    if (window.hasOwnProperty(\"TITLE_DATA\")) {\n      return TITLE_DATA;\n    } else {\n      var bodyh = document.body.innerHTML;\n      if (bodyh.includes('TITLE_DATA')) {\n        var bomatch = bodyh.match(/TITLE_DATA *= *({[^}]*})/);\n\n        if (bomatch) {\n          return {\n            seasonNum: parseInt(bomatch[1].match(/seasonNum *: *(\\d+|null),/)[1]),\n            episodeNum: parseInt(bomatch[1].match(/episodeNum *: *(\\d+|null),/)[1]),\n            alpha: bomatch[1].includes('extras') ? 'extras' : 'something',\n          }\n        }\n      }\n\n      return undefined;\n    }\n  ");
        const d = {
            name: "Funimation",
            domain: "https://www.funimation.com",
            languages: [ "Many" ],
            type: "anime",
            isSyncPage: e => !!t.$("h1.show-headline.video-title").length,
            sync: {
                getTitle(e) {
                    const n = c();
                    let i = "";
                    return n.seasonNum > 1 && (i = " season " + n.seasonNum), t.$("h1.show-headline.video-title a").text().trim() + i;
                },
                getIdentifier(t) {
                    const e = c();
                    return `${t.split("/")[s]}?s=${e.seasonNum}`;
                },
                getOverviewUrl: e => i.absoluteLink(t.$("h1.show-headline.video-title a").attr("href") || "", d.domain),
                getEpisode: t => c().episodeNum || 1
            },
            init(e) {
                a.storage.addStyle(n(547).toString()), t.$(document).ready((function() {
                    i.waitUntilTrue((function() {
                        return t.$("h1.show-headline.video-title").length;
                    }), (function() {
                        l.addProxy(t => r(this, void 0, void 0, (function*() {
                            s = window.location.href.split("/").indexOf("shows") + 1, e.handlePage();
                        })));
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return s;
        }));
        var a = n(10), o = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        let r;
        const s = {
            name: "Kitsune",
            domain: [ "https://beta.kitsune.tv", "https://kitsune.tv" ],
            languages: [ "English" ],
            type: "anime",
            isSyncPage: t => "episode/watch" === r.page,
            sync: {
                getTitle: t => r.name,
                getIdentifier: t => r.anime_id,
                getOverviewUrl: t => r.seriesUrl,
                getEpisode: t => parseInt(r.episode) || 0,
                nextEpUrl: e => t.$(".episodes-list a.active").parents("div").next().find("a").attr("href"),
                getMalUrl(t) {
                    return o(this, void 0, void 0, (function*() {
                        try {
                            return "https://myanimelist.net/anime/" + (yield Object(a.a)(r.anilistId, "anime"));
                        } catch (t) {}
                        return "ANILIST" === t && "https://anilist.co/anime/" + r.anilistId;
                    }));
                }
            },
            overview: {
                getTitle: t => "",
                getIdentifier: t => "",
                uiSelector(t) {},
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$(".episodes-list > a"),
                    elementUrl: t => t.attr("href") || "",
                    elementEp: t => Number(i.getBaseText($(t)))
                }
            },
            init(e) {
                let n;
                i.fullUrlChangeDetect((function() {
                    e.reset(), clearInterval(n), n = i.waitUntilTrue((function() {
                        const e = t.$("#sync-info");
                        return !(!e.length || !e.text() || (r = JSON.parse(e.text()), 0));
                    }), (function() {
                        e.handlePage();
                    }));
                }));
            }
        };
    }).call(this, n(2), n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "AnimesOnline",
            domain: "https://animesonline.org",
            languages: [ "Portuguese" ],
            type: "anime",
            isSyncPage: t => ("filmes" === t.split("/")[3] || "episodio" === t.split("/")[3]) && t.split("/").length >= 4 && t.split("/")[4].length > 0,
            sync: {
                getTitle: e => t.$("#info > h1, #single > div.content > div.sheader > div.data > h1").first().text().replace(/\s+-\s+episódio\s+\d+/i, ""),
                getIdentifier: t => i.urlPart(t, 4).replace(/-episodio-\d+/, ""),
                getOverviewUrl: e => i.absoluteLink(t.$("#single > div.content > div.pag_episodes > div:nth-child(2) > a").attr("href"), o.domain) || e,
                getEpisode(t) {
                    const e = i.urlPart(t, 4).match(/episodio-\d+/gi);
                    return e ? Number(e[0].replace(/\D+/g, "")) : 1;
                },
                nextEpUrl(e) {
                    const n = t.$("#single > div.content > div.pag_episodes > div:nth-child(3) > a").attr("href");
                    return n && "#" !== n ? i.absoluteLink(n, o.domain) : "";
                }
            },
            init(e) {
                a.storage.addStyle(n(549).toString()), t.$(document).ready((function() {
                    e.handlePage();
                }));
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return o;
        }));
        const o = {
            name: "LHTranslation",
            domain: "https://lhtranslation.net",
            languages: [ "English" ],
            type: "manga",
            isSyncPage: t => void 0 !== t.split("/")[3] && t.split("/")[3].startsWith("read-") && !/page-([2-9]|1\d+)/.test(t.split("/")[3]),
            isOverviewPage: t => void 0 !== t.split("/")[3] && t.split("/")[3].startsWith("manga-"),
            getImage: () => $(".info-cover > img.thumbnail").attr("src"),
            sync: {
                getTitle: e => t.$("a.manga-name").text(),
                getIdentifier: t => o.overview.getIdentifier(o.sync.getOverviewUrl(t)),
                getOverviewUrl: e => i.absoluteLink(t.$("a.manga-name").attr("href") || "", o.domain),
                getEpisode(t) {
                    const e = i.urlPart(t, 3).match(/chapter[_-]\d+/gi);
                    return e && e.length ? Number(e[0].replace(/\D+/g, "")) : 0;
                },
                nextEpUrl(e) {
                    const n = t.$("ul.chapter_select option:selected").prev().val();
                    return n ? i.absoluteLink(n, o.domain) : "";
                }
            },
            overview: {
                getTitle: e => t.$("ul.manga-info > h1").text(),
                getIdentifier(t) {
                    const e = i.urlPart(t, 3);
                    return e.substring(e.indexOf("-") + 1, e.lastIndexOf(".") > -1 ? e.lastIndexOf(".") : e.length);
                },
                uiSelector(e) {
                    t.$("#listchapter").before(t.html(e));
                },
                list: {
                    offsetHandler: !1,
                    elementsSelector: () => t.$("#list-chapters .titleLink"),
                    elementUrl: t => i.absoluteLink(t.find("a").first().attr("href") || "", o.domain),
                    elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t))
                }
            },
            init(e) {
                a.storage.addStyle(n(551).toString()), t.$(() => {
                    e.handlePage();
                });
            }
        };
    }).call(this, n(2), n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return s;
        }));
        var o = n(85);
        let r;
        function s(e) {
            a.log("Open miniMAL"), "none" === t.$("#info-popup").css("display") ? (document.getElementById("info-popup").style.display = "block", 
            t.$(".floatbutton").fadeOut(), t.$("#info-iframe").length ? void 0 !== r && void 0 !== e.malObj && (r.fillBase(e.malObj.url), 
            r.setPageSync(e)) : function(e) {
                const n = document.createElement("iframe");
                n.setAttribute("id", "info-iframe"), n.setAttribute("style", "height:100%;width:100%;border:0;display:block;"), 
                n.onload = function() {
                    const n = t.$("#info-iframe").contents().find("head");
                    i.storage.injectjsResource("material.js", n), i.storage.updateDom(n), i.storage.injectCssResource("material.css", n), 
                    i.storage.injectCssResource("materialFont.css", n), setTimeout((function() {
                        r = new o.a(t.$("#info-iframe").contents().find("html")), void 0 !== e && (void 0 !== e.singleObj ? r.fillBase(e.singleObj.getUrl()) : r.fillBase(null), 
                        r.setPageSync(e));
                    }), 200);
                }, document.getElementById("modal-content").appendChild(n), t.$("#modal-content").append(t.html('<div class="kal-tempHeader" style="position:  absolute; width: 100%; height:  103px; background-color: rgb(63,81,181); "></div>')), 
                t.$("#info-iframe").length && "block" === t.$("#info-iframe").css("display") || (t.$("#info-popup").remove(), 
                alert("The miniMAL iframe could not be loaded.\nThis could be caused by an AdBlocker."));
            }(e)) : (document.getElementById("info-popup").style.display = "none", t.$(".floatbutton").fadeIn());
        }
    }).call(this, n(2), n(0), n(4));
}, function(t, e, n) {
    "use strict";
    Object.defineProperty(e, "__esModule", {
        value: !0
    });
    var i = n(553);
    e.default = {
        install: function(t, e) {
            void 0 === e && (e = {}), t.directive("dompurify-html", i.buildDirective(e));
        }
    };
}, function(t, e, n) {
    var i;
    "undefined" != typeof self && self, i = function() {
        return function(t) {
            var e = {};
            function n(i) {
                if (e[i]) return e[i].exports;
                var a = e[i] = {
                    i: i,
                    l: !1,
                    exports: {}
                };
                return t[i].call(a.exports, a, a.exports, n), a.l = !0, a.exports;
            }
            return n.m = t, n.c = e, n.d = function(t, e, i) {
                n.o(t, e) || Object.defineProperty(t, e, {
                    configurable: !1,
                    enumerable: !0,
                    get: i
                });
            }, n.n = function(t) {
                var e = t && t.__esModule ? function() {
                    return t.default;
                } : function() {
                    return t;
                };
                return n.d(e, "a", e), e;
            }, n.o = function(t, e) {
                return Object.prototype.hasOwnProperty.call(t, e);
            }, n.p = "", n(n.s = 0);
        }([ function(t, e, n) {
            "use strict";
            Object.defineProperty(e, "__esModule", {
                value: !0
            }), n.d(e, "install", (function() {
                return a;
            })), n.d(e, "VueClazyLoad", (function() {
                return o;
            }));
            var i = {
                name: "ClazyLoad",
                props: {
                    tag: {
                        type: String,
                        default: "div"
                    },
                    src: {
                        type: String,
                        required: !0
                    },
                    element: String,
                    threshold: {
                        type: [ Array, Number ],
                        default: function() {
                            return [ 0, .5, 1 ];
                        }
                    },
                    ratio: {
                        type: Number,
                        default: .4,
                        validator: function(t) {
                            return t > 0 && t <= 1;
                        }
                    },
                    margin: {
                        type: String,
                        default: "0px"
                    },
                    crossorigin: {
                        type: String,
                        default: null,
                        validator: function(t) {
                            return "anonymous" === t || "use-credentials" === t;
                        }
                    },
                    loadedClass: {
                        type: String,
                        default: "loaded"
                    },
                    loadingClass: {
                        type: String,
                        default: "loading"
                    },
                    errorClass: {
                        type: String,
                        default: null
                    }
                },
                data: function() {
                    return {
                        loaded: !1,
                        observer: null,
                        errored: !1
                    };
                },
                methods: {
                    load: function() {
                        var t = this;
                        if (this.$emit("loading"), this.observer.disconnect(), !this.loaded) {
                            var e = new Image;
                            e.addEventListener("load", (function() {
                                t.loaded = !0, t.$emit("load"), n();
                            })), e.addEventListener("error", (function(e) {
                                t.errored = !0, t.$emit("error", e), n();
                            }));
                            var n = function() {
                                e = null, t.observer = null;
                            };
                            null !== this.crossorigin && (e.crossOrigin = this.crossorigin), e.src = this.src;
                        }
                    },
                    observe: function() {
                        var t = this, e = {
                            threshold: this.threshold,
                            root: this.element ? document.querySelector(this.element) : null,
                            rootMargin: this.margin
                        };
                        this.observer = new IntersectionObserver((function(e) {
                            e[0].intersectionRatio >= t.ratio && t.load();
                        }), e), this.observer.observe(this.$el);
                    }
                },
                render: function(t) {
                    var e = this.loaded ? this.loadedClass : this.loadingClass;
                    return t(this.tag, {
                        class: this.errored && this.errorClass ? this.errorClass : e
                    }, [ this.loaded ? this.$slots.default || this.$slots.image : this.$slots.placeholder ]);
                },
                mounted: function() {
                    this.$nextTick(this.observe);
                }
            }, a = function(t) {
                t.component("clazy-load", i);
            }, o = i;
            e.default = {
                install: a
            };
        } ]);
    }, t.exports = i();
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return o;
        }));
        var i = n(18), a = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class o extends i.a {
            constructor(e) {
                return super(e), this.logger = this.logger.m("Local"), this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", 
                this;
            }
            _init() {
                return a(this, void 0, void 0, (function*() {
                    return this;
                }));
            }
        }
    }).call(this, n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i, a) {
        n.d(e, "a", (function() {
            return l;
        }));
        var o = n(18), r = n(5), s = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class l extends o.a {
            constructor(e) {
                if (super(e), this.logger = this.logger.m("MAL"), e.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", 
                this.malId = Number(t.urlPart(e, 4)), this;
                throw this.errorObj(r.a.UrlNotSuported, "Url not supported");
            }
            _init() {
                return s(this, void 0, void 0, (function*() {
                    this.logger.log("Retrieve", this.type, "MAL: " + this.malId);
                    const t = yield this.getData();
                    this.title(t), this.description(t), this.image(t), this.alternativeTitle(t), this.characters(t), 
                    this.statistics(t), this.info(t), this.openingSongs(t), this.endingSongs(t), this.related(t), 
                    this.logger.log("Res", this.meta);
                }));
            }
            getData() {
                return s(this, void 0, void 0, (function*() {
                    return i.request.xhr("GET", `https://myanimelist.net/${this.type}/${this.malId}`).then(t => t.responseText);
                }));
            }
            title(t) {
                let e = "";
                try {
                    e = t.split('itemprop="name">')[1].split("<")[0].replace(/&quot;/g, '"').replace(/&#039;/g, "'");
                } catch (t) {
                    console.log("[iframeOverview] Error:", t);
                }
                this.meta.title = $("<div>").html(a.html(e)).text();
            }
            description(t) {
                let e = "";
                try {
                    e = t.split('itemprop="description">')[1].split("</p")[0].split("</span")[0];
                } catch (t) {
                    console.log("[iframeOverview] Error:", t);
                }
                this.meta.description = e;
            }
            image(t) {
                let e = "";
                try {
                    e = t.split('property="og:image"')[1].split('content="')[1].split('"')[0];
                } catch (t) {
                    console.log("[iframeOverview] Error:", t);
                }
                this.meta.image = e;
            }
            alternativeTitle(e) {
                let n = [];
                try {
                    const i = a.$.parseHTML(`<div>${e.split("<h2>Alternative Titles</h2>")[1].split("<h2>")[0]}</div>`);
                    n = a.$(i).find(".spaceit_pad").toArray().map((function(e) {
                        return t.getBaseText(a.$(e)).trim();
                    }));
                } catch (t) {
                    console.log("[iframeOverview] Error:", t);
                }
                this.meta.alternativeTitle = n;
            }
            characters(e) {
                const n = [];
                try {
                    const o = e.split("detail-characters-list")[1].split("</h2>")[0], r = a.$.parseHTML('<div class="detail-characters-list ' + o);
                    a.$.each(a.$(r).find(":not(td) > table"), (e, o) => {
                        const r = /\/r\/\d*x\d*/g;
                        let s = a.$(o).find("img").first().attr("data-src");
                        s = s && r.test(s) ? s.replace(r, "") : i.storage.assetUrl("questionmark.gif"), 
                        s = t.handleMalImages(s);
                        const l = a.$(o).find(".borderClass .spaceit_pad").first().parent();
                        n.push({
                            img: s,
                            name: l.find("a").first().text(),
                            url: l.find("a").first().attr("href"),
                            subtext: l.find(".spaceit_pad").first().text().trim()
                        });
                    });
                } catch (t) {
                    console.log("[iframeOverview] Error:", t);
                }
                this.meta.characters = n;
            }
            statistics(t) {
                const e = [];
                try {
                    const n = t.split("<h2>Statistics</h2>")[1].split("<h2>")[0], i = a.$.parseHTML(n);
                    a.$.each(a.$(i).filter("div").slice(0, 5), (function(t, n) {
                        const i = a.$(n).find(".dark_text").text(), o = void 0 !== a.$(n).find("span[itemprop=ratingValue]").height() ? a.$(n).find("span[itemprop=ratingValue]").text() : a.$(n).clone().children().remove().end().text();
                        e.push({
                            title: i,
                            body: o.trim()
                        });
                    }));
                } catch (t) {
                    console.log("[iframeOverview] Error:", t);
                }
                this.meta.statistics = e;
            }
            info(t) {
                const e = [];
                try {
                    const n = t.split("<h2>Information</h2>")[1].split("<h2>")[0], i = a.$.parseHTML(n);
                    a.$.each(a.$(i).filter("div"), (t, n) => {
                        const i = a.$(n).find(".dark_text").text();
                        a.$(n).find(".dark_text").remove();
                        const o = a.$(n).find("a").map((t, e) => ({
                            text: a.$(e).text().trim(),
                            url: a.$(e).attr("href")
                        }));
                        a.$(n).find("a, span").remove();
                        const r = a.$(n).text().split(",");
                        let s = [];
                        s = o.length ? o.length === r.length ? o.map((t, e) => (e.subtext = r[t].trim(), 
                        e)) : o : r.map(t => ({
                            text: t
                        })), e.push({
                            title: i.trim(),
                            body: s
                        });
                    }), this.getExternalLinks(e, t);
                } catch (t) {
                    console.log("[iframeOverview] Error:", t);
                }
                this.meta.info = e;
            }
            getExternalLinks(t, e) {
                try {
                    const n = e.split("<h2>External Links</h2>")[1].split("</div>")[0] + "</div>", i = a.$.parseHTML(n), o = [];
                    a.$.each(a.$(i).find("a"), (t, e) => {
                        o.push({
                            text: a.$(e).text(),
                            url: a.$(e).attr("href")
                        });
                    }), o.length && t.push({
                        title: "External Links",
                        body: o
                    });
                } catch (t) {
                    console.log("[iframeOverview] Error:", t);
                }
            }
            openingSongs(t) {
                const e = [];
                try {
                    const n = `<div>${t.split('opnening">')[1].split("</div>")[0]}</div>`, i = a.$.parseHTML(n);
                    a.$(i).find(".theme-song").each((t, n) => {
                        e.push($(n).text());
                    });
                } catch (t) {
                    console.log("[iframeOverview] Error:", t);
                }
                this.meta.openingSongs = e;
            }
            endingSongs(t) {
                const e = [];
                try {
                    const n = `<div>${t.split(' ending">')[1].split("</div>")[0]}</div>`, i = a.$.parseHTML(n);
                    a.$(i).find(".theme-song").each((t, n) => {
                        e.push($(n).text());
                    });
                } catch (t) {
                    console.log("[iframeOverview] Error:", t);
                }
                this.meta.endingSongs = e;
            }
            related(t) {
                const e = [];
                try {
                    const n = t.split("Related ")[1].split("</h2>")[1].split("<h2>")[0], i = a.$.parseHTML(n);
                    a.$.each(a.$(i).filter("table").find("tr"), (function(t, n) {
                        const i = [];
                        a.$(n).find(".borderClass").last().find("a").each((function(t, e) {
                            i.push({
                                url: a.$(e).attr("href") || "",
                                title: a.$(e).text(),
                                statusTag: ""
                            });
                        })), e.push({
                            type: a.$(n).find(".borderClass").first().text(),
                            links: i
                        });
                    }));
                } catch (t) {
                    console.log("[iframeOverview] Error:", t);
                }
                this.meta.related = e;
            }
        }
    }).call(this, n(1), n(0), n(2));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return u;
        }));
        var i, a, o, r, s = n(18), l = n(5), c = n(11), d = n(30), m = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        !function(t) {
            t.unknown = "Unknown", t.tv = "TV", t.ova = "OVA", t.movie = "Movie", t.special = "Special", 
            t.ona = "ONA", t.music = "Music", t.manga = "Manga", t.novel = "Novel", t.one_shot = "One shot", 
            t.doujinshi = "Doujinshi", t.manhwa = "Manhwa", t.manhua = "Manhua", t.oel = "OEL";
        }(i || (i = {})), function(t) {
            t.finished_airing = "Finished Airing", t.currently_airing = "Currently Airing", 
            t.not_yet_aired = "Not Yet Aired", t.finished = "Finished", t.currently_publishing = "Currently Publishing", 
            t.not_yet_published = "Not Yet Published";
        }(a || (a = {})), function(t) {
            t.other = "Other", t.original = "Original", t.manga = "Manga", t["4_koma_manga"] = "4 Koma Manga", 
            t.web_manga = "Web Manga", t.digital_manga = "Digital Manga", t.novel = "Novel", 
            t.light_novel = "Light Novel", t.visual_novel = "Visual Novel", t.game = "Game", 
            t.card_game = "Card Game", t.book = "Book", t.picture_book = "Picture Book", t.radio = "Radio", 
            t.music = "Music";
        }(o || (o = {})), function(t) {
            t.g = "G - All Ages", t.pg = "PG - Children", t.pg_13 = "PG 13 - Teens 13 and Older", 
            t.r = "R - 17+ (violence & profanity)", t["r+"] = "R+ - Profanity & Mild Nudity", 
            t.rx = "Rx - Hentai";
        }(r || (r = {}));
        class u extends s.a {
            constructor(e) {
                if (super(e), this.apiCall = c.b, this.logger = this.logger.m("MAL"), e.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", 
                void (this.malId = Number(t.urlPart(e, 4)));
                throw this.errorObj(l.a.UrlNotSuported, "Url not supported");
            }
            _init() {
                return m(this, void 0, void 0, (function*() {
                    this.logger.log("Retrieve", this.type, this.malId);
                    const t = yield this.getData();
                    this.logger.log("Data", t), this.title(t), this.description(t), this.image(t), this.alternativeTitle(t), 
                    this.statistics(t), this.info(t), this.related(t), this.logger.log("Res", this.meta);
                }));
            }
            getData() {
                return m(this, void 0, void 0, (function*() {
                    return this.apiCall({
                        type: "GET",
                        path: `${this.type}/${this.malId}`,
                        fields: [ "synopsis", "alternative_titles", "mean", "rank", "popularity", "num_list_users", "num_scoring_users", "related_anime", "related_manga", "media_type", "num_episodes", "num_chapters", "num_volumes", "status", "start_date", "end_date", "start_season", "broadcast", "studios", "authors{first_name,last_name}", "source", "genres", "average_episode_duration", "rating", "serialization" ]
                    });
                }));
            }
            title(t) {
                this.meta.title = t.title;
            }
            description(t) {
                t.synopsis && (this.meta.description = t.synopsis);
            }
            image(t) {
                t.main_picture && t.main_picture.medium && (this.meta.image = t.main_picture.medium);
            }
            alternativeTitle(t) {
                if (t.alternative_titles) for (const e in t.alternative_titles) {
                    const n = t.alternative_titles[e];
                    Array.isArray(n) ? this.meta.alternativeTitle = this.meta.alternativeTitle.concat(n) : n && this.meta.alternativeTitle.push(n);
                }
            }
            statistics(t) {
                t.mean && this.meta.statistics.push({
                    title: "Score:",
                    body: t.mean
                }), t.rank && this.meta.statistics.push({
                    title: "Ranked:",
                    body: "#" + t.rank
                }), t.popularity && this.meta.statistics.push({
                    title: "Popularity:",
                    body: "#" + t.popularity
                }), t.num_list_users && this.meta.statistics.push({
                    title: "Members:",
                    body: t.num_list_users.toLocaleString()
                }), t.num_scoring_users && this.meta.statistics.push({
                    title: "Rated:",
                    body: t.num_scoring_users.toLocaleString()
                });
            }
            info(t) {
                if (t.media_type) {
                    const e = i[t.media_type];
                    this.meta.info.push({
                        title: "Format:",
                        body: [ {
                            text: null != e ? e : t.media_type,
                            url: `https://myanimelist.net/top${this.type}.php?type=${t.media_type}`
                        } ]
                    });
                }
                if (t.num_episodes ? this.meta.info.push({
                    title: "Episodes:",
                    body: [ {
                        text: t.num_episodes
                    } ]
                }) : 0 === t.num_episodes && this.meta.info.push({
                    title: "Episodes:",
                    body: [ {
                        text: "Unknown"
                    } ]
                }), t.num_chapters ? this.meta.info.push({
                    title: "Chapters:",
                    body: [ {
                        text: t.num_chapters
                    } ]
                }) : 0 === t.num_chapters && this.meta.info.push({
                    title: "Chapters:",
                    body: [ {
                        text: "Unknown"
                    } ]
                }), t.num_volumes ? this.meta.info.push({
                    title: "Volumes:",
                    body: [ {
                        text: t.num_volumes
                    } ]
                }) : 0 === t.num_volumes && this.meta.info.push({
                    title: "Volumes:",
                    body: [ {
                        text: "Unknown"
                    } ]
                }), t.status) {
                    const e = a[t.status];
                    this.meta.info.push({
                        title: "Status:",
                        body: [ {
                            text: null != e ? e : t.status
                        } ]
                    });
                }
                if (t.start_date) {
                    let e = "";
                    t.start_date && (e += t.start_date + " "), e += "to ", t.end_date ? e += t.end_date : e += "?", 
                    this.meta.info.push({
                        title: "Aired:",
                        body: [ {
                            text: e
                        } ]
                    });
                }
                if (t.start_season) {
                    let e = "";
                    t.start_season.season && (e += t.start_season.season + " "), t.start_season.year && (e += t.start_season.year), 
                    this.meta.info.push({
                        title: "Premiered:",
                        body: [ {
                            url: `https://myanimelist.net/${this.type}/season/${t.start_season.year}/${t.start_season.season}`,
                            text: e
                        } ]
                    });
                }
                if (t.broadcast) {
                    let e = "";
                    t.broadcast.day_of_the_week && (e += t.broadcast.day_of_the_week + " "), t.broadcast.day_of_the_week && t.broadcast.start_time && (e += "at "), 
                    t.broadcast.start_time && (e += t.broadcast.start_time + " (JST)"), this.meta.info.push({
                        title: "Broadcast:",
                        body: [ {
                            text: e
                        } ]
                    });
                }
                if (t.studios) {
                    const e = [];
                    t.studios.forEach((function(t, n) {
                        e.push({
                            text: t.name,
                            url: "https://myanimelist.net/anime/producer/" + t.id
                        });
                    })), e.length && this.meta.info.push({
                        title: "Studios:",
                        body: e
                    });
                }
                if (t.authors) {
                    const e = [];
                    t.authors.forEach((function(t, n) {
                        var i, a;
                        e.push({
                            text: `${null !== (i = t.node.last_name) && void 0 !== i ? i : ""}${t.node.last_name && t.node.first_name ? "," : ""} ${null !== (a = t.node.first_name) && void 0 !== a ? a : ""}`,
                            url: "https://myanimelist.net/people/" + t.node.id,
                            subtext: t.role ? `(${t.role})` : ""
                        });
                    })), e.length && this.meta.info.push({
                        title: "Authors:",
                        body: e
                    });
                }
                if (t.source) {
                    const e = o[t.source];
                    this.meta.info.push({
                        title: "Source:",
                        body: [ {
                            text: null != e ? e : t.source
                        } ]
                    });
                }
                if (t.genres) {
                    const e = [];
                    t.genres.forEach((t, n) => {
                        e.push({
                            text: t.name,
                            url: `https://myanimelist.net/${this.type}/genre/${t.id}`
                        });
                    }), e.length && this.meta.info.push({
                        title: "Genres:",
                        body: e
                    });
                }
                if (t.average_episode_duration && this.meta.info.push({
                    title: "Episode Duration:",
                    body: [ {
                        text: Object(d.a)(1e3 * t.average_episode_duration)
                    } ]
                }), t.rating) {
                    const e = r[t.rating];
                    this.meta.info.push({
                        title: "Rating:",
                        body: [ {
                            text: null != e ? e : t.rating
                        } ]
                    });
                }
                if (t.serialization) {
                    const e = [];
                    t.serialization.forEach((function(t, n) {
                        e.push({
                            text: t.node.name,
                            url: "https://myanimelist.net/manga/magazine/" + t.node.id
                        });
                    })), e.length && this.meta.info.push({
                        title: "Serialization:",
                        body: e
                    });
                }
            }
            related(t) {
                const e = {};
                t.related_anime.length && t.related_anime.forEach(t => {
                    void 0 === e[t.relation_type] && (e[t.relation_type] = {
                        type: t.relation_type_formatted,
                        links: []
                    }), e[t.relation_type].links.push({
                        url: "https://myanimelist.net/anime/" + t.node.id,
                        title: t.node.title,
                        statusTag: ""
                    });
                }), t.related_manga.length && t.related_manga.forEach(t => {
                    void 0 === e[t.relation_type] && (e[t.relation_type] = {
                        type: t.relation_type_formatted,
                        links: []
                    }), e[t.relation_type].links.push({
                        url: "https://myanimelist.net/manga/" + t.node.id,
                        title: t.node.title,
                        statusTag: ""
                    });
                }), this.meta.related = Object.keys(e).map(t => e[t]);
            }
        }
    }).call(this, n(1));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return s;
        }));
        var i = n(18), a = n(5), o = n(10), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class s extends i.a {
            constructor(e) {
                if (super(e), this.apiCall = o.b, this.logger = this.logger.m("Anilist"), e.match(/anilist\.co\/(anime|manga)\/\d*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", 
                this.aniId = Number(t.urlPart(e, 4)), this.malId = NaN, this;
                if (e.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", 
                this.malId = Number(t.urlPart(e, 4)), this.aniId = NaN, this;
                throw this.errorObj(a.a.UrlNotSuported, "Url not supported");
            }
            _init() {
                return r(this, void 0, void 0, (function*() {
                    this.logger.log("Retrieve", this.type, this.aniId ? "Anilist: " + this.aniId : "MAL: " + this.malId);
                    const t = yield this.getData();
                    this.logger.log("Data", t), this.title(t), this.description(t), this.image(t), this.alternativeTitle(t), 
                    this.characters(t), this.statistics(t), this.info(t), this.related(t), this.logger.log("Res", this.meta);
                }));
            }
            getData() {
                return r(this, void 0, void 0, (function*() {
                    let t = this.malId, e = "idMal";
                    Number.isNaN(this.malId) && (t = this.aniId, e = "id");
                    const n = `\n    query ($id: Int, $type: MediaType) {\n      Media (${e}: $id, type: $type) {\n        id\n        idMal\n        siteUrl\n        episodes\n        chapters\n        volumes\n        averageScore\n        synonyms\n        description(asHtml: true)\n        coverImage{\n          large\n        }\n        title {\n          userPreferred\n          romaji\n          english\n          native\n        }\n        characters (perPage: 6, sort: [ROLE, ID]) {\n            edges {\n                id\n                role\n                node {\n                    id\n                    siteUrl\n                    name {\n                        first\n                        last\n                    }\n                    image {\n                        large\n                    }\n                }\n            }\n        }\n        popularity\n        favourites\n        rankings {\n          id\n          rank\n          type\n          format\n          year\n          season\n          allTime\n          context\n        }\n        relations {\n            edges {\n                id\n                relationType (version: 2)\n                node {\n                    id\n                    siteUrl\n                    title {\n                        userPreferred\n                    }\n                }\n            }\n        }\n        format\n        episodes\n        duration\n        status\n        startDate {\n          year\n          month\n          day\n        }\n        endDate {\n          year\n          month\n          day\n        }\n        season\n        studios {\n            edges {\n                isMain\n                node {\n                    siteUrl\n                    id\n                    name\n                }\n            }\n        }\n        source(version: 2)\n        genres\n        externalLinks {\n          site\n          url\n        }\n      }\n    }\n    `, i = {
                        id: t,
                        type: this.type.toUpperCase()
                    };
                    return this.apiCall(n, i, !1);
                }));
            }
            title(t) {
                var e, n, i;
                const a = null === (i = null === (n = null === (e = null == t ? void 0 : t.data) || void 0 === e ? void 0 : e.Media) || void 0 === n ? void 0 : n.title) || void 0 === i ? void 0 : i.userPreferred;
                a && (this.meta.title = a);
            }
            description(t) {
                var e, n;
                const i = null === (n = null === (e = null == t ? void 0 : t.data) || void 0 === e ? void 0 : e.Media) || void 0 === n ? void 0 : n.description;
                i && (this.meta.description = i);
            }
            image(t) {
                var e, n, i;
                const a = null === (i = null === (n = null === (e = null == t ? void 0 : t.data) || void 0 === e ? void 0 : e.Media) || void 0 === n ? void 0 : n.coverImage) || void 0 === i ? void 0 : i.large;
                a && (this.meta.image = a);
            }
            alternativeTitle(t) {
                var e, n;
                const i = null === (n = null === (e = null == t ? void 0 : t.data) || void 0 === e ? void 0 : e.Media) || void 0 === n ? void 0 : n.title;
                if (i) for (const e in i) {
                    const n = t.data.Media.title[e];
                    n !== this.meta.title && n && this.meta.alternativeTitle.push(n);
                }
            }
            characters(t) {
                var e, n, i;
                const a = null === (i = null === (n = null === (e = null == t ? void 0 : t.data) || void 0 === e ? void 0 : e.Media) || void 0 === n ? void 0 : n.characters) || void 0 === i ? void 0 : i.edges;
                a && a.forEach(t => {
                    let e = "";
                    t.node.name.last && (e += t.node.name.last), t.node.name.first && t.node.name.last && (e += ", "), 
                    t.node.name.first && (e += t.node.name.first), this.meta.characters.push({
                        img: t.node.image.large,
                        name: e,
                        url: t.node.siteUrl
                    });
                });
            }
            statistics(t) {
                t.data.Media.averageScore && this.meta.statistics.push({
                    title: "Score:",
                    body: t.data.Media.averageScore
                }), t.data.Media.favourites && this.meta.statistics.push({
                    title: "Favourites:",
                    body: t.data.Media.favourites
                }), t.data.Media.popularity && this.meta.statistics.push({
                    title: "Popularity:",
                    body: t.data.Media.popularity
                }), t.data.Media.rankings.forEach(t => {
                    if (this.meta.statistics.length < 4 && t.allTime) {
                        let e = t.context.replace("all time", "").trim() + ":";
                        e = e.charAt(0).toUpperCase() + e.slice(1), this.meta.statistics.push({
                            title: e,
                            body: "#" + t.rank
                        });
                    }
                });
            }
            info(t) {
                if (t.data.Media.format) {
                    let e = t.data.Media.format.toLowerCase().replace("_", " ");
                    e = e.charAt(0).toUpperCase() + e.slice(1), this.meta.info.push({
                        title: "Format:",
                        body: [ {
                            text: e
                        } ]
                    });
                }
                if (t.data.Media.episodes && this.meta.info.push({
                    title: "Episodes:",
                    body: [ {
                        text: t.data.Media.episodes
                    } ]
                }), t.data.Media.duration && this.meta.info.push({
                    title: "Episode Duration:",
                    body: [ {
                        text: t.data.Media.duration + " mins"
                    } ]
                }), t.data.Media.status) {
                    let e = t.data.Media.status.toLowerCase().replace("_", " ");
                    e = e.charAt(0).toUpperCase() + e.slice(1), this.meta.info.push({
                        title: "Status:",
                        body: [ {
                            text: e
                        } ]
                    });
                }
                if (t.data.Media.startDate.year && this.meta.info.push({
                    title: "Start Date:",
                    body: [ {
                        text: `${t.data.Media.startDate.year}-${t.data.Media.startDate.month}-${t.data.Media.startDate.day}`
                    } ]
                }), t.data.Media.endDate.year && this.meta.info.push({
                    title: "End Date:",
                    body: [ {
                        text: `${t.data.Media.endDate.year}-${t.data.Media.endDate.month}-${t.data.Media.endDate.day}`
                    } ]
                }), t.data.Media.season) {
                    let e = t.data.Media.season.toLowerCase().replace("_", " ");
                    e = e.charAt(0).toUpperCase() + e.slice(1), t.data.Media.endDate.year && (e += " " + t.data.Media.endDate.year), 
                    this.meta.info.push({
                        title: "Season:",
                        body: [ {
                            text: e
                        } ]
                    });
                }
                const e = [];
                if (t.data.Media.studios.edges.forEach((function(t, n) {
                    t.isMain && e.push({
                        text: t.node.name,
                        url: t.node.siteUrl
                    });
                })), e.length && this.meta.info.push({
                    title: "Studios:",
                    body: e
                }), t.data.Media.source) {
                    let e = t.data.Media.source.toLowerCase().replace("_", " ");
                    e = e.charAt(0).toUpperCase() + e.slice(1), this.meta.info.push({
                        title: "Source:",
                        body: [ {
                            text: e
                        } ]
                    });
                }
                if (t.data.Media.genres) {
                    const e = [];
                    t.data.Media.genres.forEach((function(t, n) {
                        e.push({
                            text: t,
                            url: "https://anilist.co/search/anime?includedGenres=" + t
                        });
                    })), this.meta.info.push({
                        title: "Genres:",
                        body: e
                    });
                }
                const n = [];
                t.data.Media.externalLinks.forEach((function(t, e) {
                    n.push({
                        text: t.site,
                        url: t.url
                    });
                })), n.length && this.meta.info.push({
                    title: "External Links:",
                    body: n
                });
            }
            related(t) {
                const e = {};
                t.data.Media.relations.edges.forEach(t => {
                    if (void 0 === e[t.relationType]) {
                        let n = t.relationType.toLowerCase().replace("_", " ");
                        n = n.charAt(0).toUpperCase() + n.slice(1), e[t.relationType] = {
                            type: n,
                            links: []
                        };
                    }
                    e[t.relationType].links.push({
                        url: t.node.siteUrl,
                        title: t.node.title.userPreferred,
                        statusTag: ""
                    });
                }), this.meta.related = Object.keys(e).map(t => e[t]);
            }
        }
    }).call(this, n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return l;
        }));
        var a = n(18), o = n(5), r = n(7), s = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class l extends a.a {
            constructor(e) {
                if (super(e), this.kitsuId = NaN, this.apiCall = r.a, this.malToKitsu = r.e, this.logger = this.logger.m("Kitsu"), 
                e.match(/kitsu\.io\/(anime|manga)\/.*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", 
                this.kitsuSlug = t.urlPart(e, 4), this.malId = NaN, this;
                if (e.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", 
                this.malId = Number(t.urlPart(e, 4)), this.kitsuSlug = "", this;
                throw this.errorObj(o.a.UrlNotSuported, "Url not supported");
            }
            animeI() {
                return this.animeInfo.data;
            }
            _init() {
                return s(this, void 0, void 0, (function*() {
                    this.logger.log("Retrieve", this.type, this.kitsuSlug ? "Kitsu: " + this.kitsuSlug : "MAL: " + this.malId), 
                    yield this.getData(), this.logger.log("Data", this.animeInfo), this.title(), this.description(), 
                    this.image(), this.alternativeTitle(), this.characters(), this.statistics(), this.info(), 
                    this.related(), this.logger.log("Res", this.meta);
                }));
            }
            getData() {
                return s(this, void 0, void 0, (function*() {
                    if (!this.kitsuSlug) {
                        const t = yield this.malToKitsu(this.malId, this.type);
                        try {
                            if (this.kitsuId = t.data[0].relationships.item.data.id, t.included.forEach(t => {
                                t.id === this.kitsuId && (this.kitsuSlug = t.attributes.slug);
                            }), !this.kitsuSlug) throw "No slug";
                        } catch (t) {
                            throw this.errorObj(o.a.EntryNotFound, t.message);
                        }
                    }
                    return this.apiCall("GET", `https://kitsu.io/api/edge/${this.type}?filter[slug]=${this.kitsuSlug}&include=characters.character,mediaRelationships.destination,categories&fields[categories]=slug,title&nsfw=true`, {}, !0).then(t => {
                        try {
                            t.data = t.data[0], t.data.attributes.slug;
                        } catch (t) {
                            throw this.errorObj(o.a.EntryNotFound, t.message);
                        }
                        this.animeInfo = t;
                    });
                }));
            }
            title() {
                this.meta.title = r.c(this.animeI().attributes.titles, this.animeI().attributes.canonicalTitle);
            }
            description() {
                this.meta.description = `<span style="white-space: pre-line;">${this.animeI().attributes.synopsis.replace("—", " ")}</span>`;
            }
            image() {
                this.meta.image = this.animeI().attributes.posterImage.large;
            }
            alternativeTitle() {
                for (const t in this.animeI().attributes.abbreviatedTitles) {
                    const e = this.animeI().attributes.abbreviatedTitles[t];
                    e !== this.meta.title && e && this.meta.alternativeTitle.push(e);
                }
                for (const t in this.animeI().attributes.titles) {
                    const e = this.animeI().attributes.titles[t];
                    e !== this.meta.title && e && this.meta.alternativeTitle.push(e);
                }
            }
            characters() {
                this.animeInfo.included && this.animeInfo.included.length && this.animeInfo.included.forEach(t => {
                    if ("characters" === t.type && this.meta.characters.length < 10) {
                        const {name: e} = t.attributes;
                        this.meta.characters.push({
                            img: null !== t.attributes.image ? t.attributes.image.original : i.storage.assetUrl("questionmark.gif"),
                            name: e,
                            url: "https://myanimelist.net/character/" + t.attributes.malId
                        });
                    }
                });
            }
            statistics() {
                null !== this.animeI().attributes.averageRating && this.meta.statistics.push({
                    title: "Score:",
                    body: this.animeI().attributes.averageRating
                }), null !== this.animeI().attributes.ratingRank && this.meta.statistics.push({
                    title: "Ranked:",
                    body: "#" + this.animeI().attributes.ratingRank
                }), null !== this.animeI().attributes.popularityRank && this.meta.statistics.push({
                    title: "Popularity:",
                    body: "#" + this.animeI().attributes.popularityRank
                }), null !== this.animeI().attributes.userCount && this.meta.statistics.push({
                    title: "Members:",
                    body: this.animeI().attributes.userCount
                });
            }
            info() {
                if (void 0 !== this.animeI().attributes.subtype && null !== this.animeI().attributes.subtype) {
                    let t = this.animeI().attributes.subtype.toLowerCase().replace("_", " ");
                    t = t.charAt(0).toUpperCase() + t.slice(1), this.meta.info.push({
                        title: "Format:",
                        body: [ {
                            text: t
                        } ]
                    });
                }
                if (void 0 !== this.animeI().attributes.episodeCount && null !== this.animeI().attributes.episodeCount && this.meta.info.push({
                    title: "Episodes:",
                    body: [ {
                        text: this.animeI().attributes.episodeCount
                    } ]
                }), void 0 !== this.animeI().attributes.episodeLength && null !== this.animeI().attributes.episodeLength && this.meta.info.push({
                    title: "Episode Duration:",
                    body: [ {
                        text: this.animeI().attributes.episodeLength + " mins"
                    } ]
                }), void 0 !== this.animeI().attributes.status && null !== this.animeI().attributes.status) {
                    let t = this.animeI().attributes.status.toLowerCase().replace("_", " ");
                    t = t.charAt(0).toUpperCase() + t.slice(1), this.meta.info.push({
                        title: "Status:",
                        body: [ {
                            text: t
                        } ]
                    });
                }
                void 0 !== this.animeI().attributes.startDate && null !== this.animeI().attributes.startDate && this.meta.info.push({
                    title: "Start Date:",
                    body: [ {
                        text: this.animeI().attributes.startDate
                    } ]
                }), void 0 !== this.animeI().attributes.endDate && null !== this.animeI().attributes.endDate && this.meta.info.push({
                    title: "Start Date:",
                    body: [ {
                        text: this.animeI().attributes.endDate
                    } ]
                });
                const t = [];
                this.animeInfo.included && this.animeInfo.included.length && this.animeInfo.included.forEach(e => {
                    "categories" === e.type && t.length < 6 && t.push({
                        text: e.attributes.title,
                        url: `https://kitsu.io/${this.type}?categories=${e.attributes.slug}`
                    });
                }), t.length && this.meta.info.push({
                    title: "Genres:",
                    body: t
                }), void 0 !== this.animeI().attributes.ageRating && null !== this.animeI().attributes.ageRating && this.meta.info.push({
                    title: "Rating:",
                    body: [ {
                        text: this.animeI().attributes.ageRating
                    } ]
                }), void 0 !== this.animeI().attributes.totalLength && null !== this.animeI().attributes.totalLength && this.meta.info.push({
                    title: "Total playtime:",
                    body: [ {
                        text: this.animeI().attributes.totalLength + " mins"
                    } ]
                });
            }
            related() {
                const t = {}, e = [];
                this.animeInfo.included && this.animeInfo.included.length && (this.animeInfo.included.forEach((function(t) {
                    "manga" !== t.type && "anime" !== t.type || (e[t.id] = {
                        url: `https://kitsu.io/${t.type}/${t.attributes.slug}`,
                        title: r.c(t.attributes.titles, t.attributes.canonicalTitle),
                        statusTag: ""
                    });
                })), this.animeInfo.included.forEach((function(n) {
                    if ("mediaRelationships" === n.type) {
                        if (void 0 === t[n.attributes.role]) {
                            let e = n.attributes.role.toLowerCase().replace("_", " ");
                            e = e.charAt(0).toUpperCase() + e.slice(1), t[n.attributes.role] = {
                                type: e,
                                links: []
                            };
                        }
                        const i = e[n.relationships.destination.data.id];
                        t[n.attributes.role].links.push(i);
                    }
                }))), this.meta.related = Object.keys(t).map(e => t[e]);
            }
        }
    }).call(this, n(1), n(0));
}, function(t, e, n) {
    "use strict";
    (function(t) {
        n.d(e, "a", (function() {
            return s;
        }));
        var i = n(18), a = n(5), o = n(8), r = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        class s extends i.a {
            constructor(e) {
                if (super(e), this.call = o.a, this.errorHandling = o.c, this.logger = this.logger.m("Simkl"), 
                e.match(/simkl\.com\/(anime|manga)\/\d*/i)) {
                    if (this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", this.simklId = parseInt(t.urlPart(e, 4)), 
                    this.malId = NaN, "manga" === this.type) throw "Simkl has no manga support";
                    return this;
                }
                if (e.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) {
                    if (this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", this.malId = Number(t.urlPart(e, 4)), 
                    this.simklId = NaN, "manga" === this.type) throw "Simkl has no manga support";
                    return this;
                }
                throw this.errorObj(a.a.UrlNotSuported, "Url not supported");
            }
            _init() {
                return r(this, void 0, void 0, (function*() {
                    this.logger.log("Retrieve", this.type, this.simklId ? "Simkl: " + this.simklId : "MAL: " + this.malId);
                    const t = yield this.getData();
                    this.logger.log("Data", t), this.title(t), this.description(t), this.image(t), this.alternativeTitle(t), 
                    this.statistics(t), this.info(t), this.related(t), this.logger.log("Res", this.meta);
                }));
            }
            getData() {
                return r(this, void 0, void 0, (function*() {
                    let t;
                    if (t = Number.isNaN(this.malId) ? {
                        simkl: this.simklId
                    } : {
                        mal: this.malId
                    }, Number.isNaN(this.simklId)) {
                        const e = yield this.call("https://api.simkl.com/search/id", t, !0);
                        if (!e) throw this.errorObj(a.a.EntryNotFound, "simklId");
                        this.simklId = e[0].ids.simkl;
                    }
                    return this.call("https://api.simkl.com/anime/" + this.simklId, {
                        extended: "full"
                    }, !0);
                }));
            }
            title(t) {
                const {title: e} = t;
                e && (this.meta.title = e);
            }
            description(t) {
                const e = t.overview;
                e && (this.meta.description = e);
            }
            image(t) {
                const e = t.poster;
                e && (this.meta.image = `https://simkl.in/posters/${e}_ca.jpg`);
            }
            alternativeTitle(t) {
                void 0 !== t.en_title && t.en_title && this.meta.alternativeTitle.push(t.en_title);
            }
            statistics(t) {
                t.ratings.simkl.rating && this.meta.statistics.push({
                    title: "Score:",
                    body: t.ratings.simkl.rating
                }), t.ratings.mal && t.ratings.mal.rating && this.meta.statistics.push({
                    title: "MAL Score:",
                    body: t.ratings.mal.rating
                }), t.rank && t.rank && this.meta.statistics.push({
                    title: "Ranked:",
                    body: "#" + t.rank
                }), t.ratings.simkl.votes && this.meta.statistics.push({
                    title: "Votes:",
                    body: t.ratings.simkl.votes
                });
            }
            info(t) {
                t.anime_type && t.anime_type && this.meta.info.push({
                    title: "Type:",
                    body: [ {
                        text: t.anime_type
                    } ]
                }), t.total_episodes && t.total_episodes && this.meta.info.push({
                    title: "Episodes:",
                    body: [ {
                        text: t.total_episodes
                    } ]
                }), t.status && t.status && this.meta.info.push({
                    title: "Status:",
                    body: [ {
                        text: t.status
                    } ]
                }), t.year && t.year && this.meta.info.push({
                    title: "Year:",
                    body: [ {
                        text: t.year
                    } ]
                }), t.airs && t.airs && this.meta.info.push({
                    title: "Broadcast:",
                    body: [ {
                        text: `${t.airs.day} at ${t.airs.time}`
                    } ]
                }), t.network && t.network && this.meta.info.push({
                    title: "Licensor:",
                    body: [ {
                        text: t.network
                    } ]
                });
                const e = [];
                t.genres.forEach(t => {
                    e.length < 6 && e.push({
                        text: t,
                        url: `https://simkl.com/${this.type}/${t.toLowerCase()}`
                    });
                }), e.length && this.meta.info.push({
                    title: "Genres:",
                    body: e
                }), t.runtime && t.runtime && this.meta.info.push({
                    title: "Duration:",
                    body: [ {
                        text: t.runtime + "mins"
                    } ]
                }), t.certification && t.certification && this.meta.info.push({
                    title: "Rating:",
                    body: [ {
                        text: t.certification
                    } ]
                });
            }
            related(t) {
                const e = {};
                t.relations && (t.relations.forEach(t => {
                    if (!e[t.relation_type]) {
                        let n = t.relation_type.toLowerCase().replace("_", " ");
                        n = n.charAt(0).toUpperCase() + n.slice(1), e[t.relation_type] = {
                            type: n,
                            links: []
                        };
                    }
                    e[t.relation_type].links.push({
                        url: `https://simkl.com/anime/${t.ids.simkl}/${t.ids.slug}`,
                        title: t.title,
                        statusTag: ""
                    });
                }), this.meta.related = Object.keys(e).map(t => e[t]));
            }
            jsonParse(t) {
                if ("" === t.responseText) throw {
                    code: 444,
                    message: "No Response"
                };
                try {
                    return JSON.parse(t.responseText);
                } catch (t) {
                    throw {
                        code: 406,
                        message: "Not Acceptable",
                        error: t
                    };
                }
            }
        }
    }).call(this, n(1));
}, function(t, e, n) {
    "use strict";
    (function(t, i) {
        n.d(e, "a", (function() {
            return r;
        }));
        var a = n(85), o = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        function r() {
            $(document).ready((function() {
                return o(this, void 0, void 0, (function*() {
                    document.getElementsByTagName("head")[0].onclick = function(t) {
                        try {
                            componentHandler.upgradeDom();
                        } catch (t) {
                            console.log(t), setTimeout((function() {
                                componentHandler.upgradeDom();
                            }), 500);
                        }
                    };
                    const e = t.$("head");
                    i.storage.injectjsResource("material.js", e), i.storage.updateDom(e), i.storage.injectCssResource("material.css", e), 
                    i.storage.injectCssResource("materialFont.css", e);
                    new a.a($("html")).fillBase(null);
                }));
            }));
        }
    }).call(this, n(2), n(0));
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", {
            staticClass: "simkltvdetailonline",
            class: {
                Minimized: t.classes.minimized,
                Search: t.classes.search
            },
            attrs: {
                id: "malkiss"
            }
        }, [ n("div", {
            staticClass: "malsync-page-relation"
        }, t._l(t.pageRelation, (function(t) {
            return n("a", {
                key: t.title,
                attrs: {
                    href: t.link,
                    target: "_blank",
                    title: t.name
                }
            }, [ n("img", {
                attrs: {
                    src: t.icon,
                    width: "16",
                    height: "16"
                }
            }) ]);
        })), 0), t._v(" "), n("div", {
            staticClass: "simkltvdetailonlinehead"
        }, [ n("div", {
            staticClass: "simkltvdetailonlineheadleft"
        }, [ n("div", {
            staticClass: "simkltvdetailonlineheadtitle"
        }, [ t._v("Stream online:") ]), t._v(" "), t.streamUrl ? n("a", {
            staticClass: "simkltvdetailonlineheadbutton simkltvdetailonlineheadbuttonstream",
            attrs: {
                href: t.streamUrl,
                target: "_blank"
            }
        }, [ n("div", {
            staticClass: "simkltvdetailonlineheadbuttonimage"
        }, [ n("img", {
            attrs: {
                src: t.favicon(t.streamUrl.split("/")[2]),
                alt: "",
                title: t.streamUrl.split("/")[2]
            }
        }) ]) ]) : t._e(), t._v(" "), t.continueUrl ? n("a", {
            staticClass: "simkltvdetailonlineheadbutton",
            attrs: {
                href: t.continueUrl,
                target: "_blank"
            }
        }, [ n("div", {
            staticClass: "simkltvdetailonlineheadbuttontitle"
        }, [ t._v("\n          Watch next episode\n        ") ]), t._v(" "), n("div", {
            staticClass: "simkltvdetailonlineheadbuttonico",
            staticStyle: {
                "margin-top": "-4px"
            }
        }) ]) : t._e(), t._v(" "), t.resumeUrl && !t.continueUrl ? n("a", {
            staticClass: "simkltvdetailonlineheadbutton",
            attrs: {
                href: t.resumeUrl,
                target: "_blank"
            }
        }, [ n("div", {
            staticClass: "simkltvdetailonlineheadbuttontitle"
        }, [ t._v("Resume episode") ]), t._v(" "), n("img", {
            staticStyle: {
                filter: "invert(1)",
                "margin-top": "-1px"
            },
            attrs: {
                src: t.assetUrl("arrow-16px.png"),
                width: "16",
                height: "16"
            }
        }) ]) : t._e(), t._v(" "), null === t.links || Object.keys(t.links).length ? n("div", {
            staticClass: "simkltvdetailonlineheadbutton Sources",
            on: {
                click: function(e) {
                    return t.toggleMinimized();
                }
            }
        }, [ null !== t.links && Object.keys(t.links).length ? n("div", {
            staticClass: "simkltvdetailonlineheadbuttontitle"
        }, [ t._v("\n          " + t._s(Object.keys(t.links).length) + " streaming sources\n        ") ]) : n("div", {
            staticClass: "simkltvdetailonlineheadbuttontitle"
        }, [ t._v("Loading") ]), t._v(" "), n("div", {
            staticClass: "simkltvdetailonlineheadbuttonicoarrow"
        }) ]) : t._e(), t._v(" "), null !== t.pageSearch ? n("div", {
            staticClass: "simkltvdetailonlineheadbutton Search",
            on: {
                click: function(e) {
                    return t.toggleSearch();
                }
            }
        }, [ n("div", {
            staticClass: "simkltvdetailonlineheadbuttontitle"
        }, [ t._v("Search") ]), t._v(" "), n("div", {
            staticClass: "simkltvdetailonlineheadbuttonicoarrow"
        }) ]) : t._e() ]), t._v(" "), n("div", {
            staticClass: "simkltvdetailonlineheadright",
            on: {
                click: function(e) {
                    return t.pressMinimized();
                }
            }
        }, [ t._m(0) ]) ]), t._v(" "), n("div", {
            staticClass: "simkltvdetailonlineitems Search"
        }, t._l(t.pageSearch, (function(e) {
            return n("div", {
                key: e.search,
                staticClass: "simkltvdetailonlineitemsearch"
            }, [ n("a", {
                staticClass: "simkltvdetailonlineitemsearchhref",
                attrs: {
                    href: e.search,
                    target: "_blank"
                }
            }, [ n("div", {
                staticClass: "simkltvdetailonlineitemsearchico"
            }, [ n("img", {
                staticClass: "simkltvdetailonlineitemsearchicoimg",
                attrs: {
                    src: e.favicon
                }
            }) ]), t._v(" "), n("div", {
                staticClass: "simkltvdetailonlineitemsearchtitle"
            }, [ t._v(t._s(e.name)) ]) ]), t._v(" "), e.googleSeach.length ? n("a", {
                staticClass: "simkltvdetailonlineitemsearchgoogle",
                attrs: {
                    href: e.googleSeach,
                    target: "_blank"
                }
            }) : t._e() ]);
        })), 0), t._v(" "), n("div", {
            staticClass: "simkltvdetailonlineitems Links"
        }, [ null === t.links ? n("div", [ t._v("Loading") ]) : t._e(), t._v(" "), t._l(t.links, (function(e) {
            return n("div", {
                key: e.name,
                staticClass: "simkltvdetailonlineitem"
            }, [ n("div", {
                staticClass: "simkltvdetailonlineitemtop"
            }, [ n("div", {
                staticClass: "simkltvdetailonlineitemico"
            }, [ n("img", {
                attrs: {
                    src: t.getMal2KissFavicon(e.domain),
                    alt: ""
                }
            }) ]), t._v(" "), n("div", {
                staticClass: "simkltvdetailonlineitemname"
            }, [ t._v(t._s(e.name)) ]), t._v(" "), n("div", {
                staticClass: "simkltvdetailonlineitemclose",
                on: {
                    click: function(n) {
                        return t.removeSource(e);
                    }
                }
            }) ]), t._v(" "), n("div", {
                staticClass: "simkltvdetailonlineitemlinks"
            }, t._l(e.links, (function(e) {
                return n("a", {
                    key: e.url,
                    staticClass: "simkltvdetailonlineitemhref",
                    attrs: {
                        target: "_blank",
                        href: e.url
                    }
                }, [ t._v(t._s(e.name)) ]);
            })), 0) ]);
        })) ], 2) ]);
    };
    i._withStripped = !0;
    var a = n(46).a, o = (n(295), n(6)), r = Object(o.a)(a, i, [ function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("div", {
            staticClass: "simkltvdetailonlineheadrightclose"
        }, [ e("div", {
            staticClass: "simkltvdetailonlineheadrightname",
            staticStyle: {
                "--data-online-block-title": "'MAL-Sync'"
            }
        }), this._v(" "), e("div", {
            staticClass: "simkltvdetailonlineheadrightcloseico"
        }) ]);
    } ], !1, null, "55d18076", null);
    r.options.__file = "src/simkl/malkiss.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", {
            attrs: {
                id: "material"
            }
        }, [ t.syncMode && t.minimized ? n("div", [ n("a", {
            staticStyle: {
                cursor: "pointer"
            },
            on: {
                click: function(e) {
                    t.minimized = !1;
                }
            }
        }, [ t._v("\n      Action required\n    ") ]) ]) : n("div", {
            staticClass: "scroll"
        }, [ t.syncMode ? t._e() : n("entry", {
            attrs: {
                obj: t.syncPage.singleObj
            }
        }), t._v(" "), n("rules", {
            attrs: {
                obj: t.rulesClass
            }
        }), t._v(" "), t.syncMode ? t._e() : n("input-button", {
            attrs: {
                label: "URL",
                state: t.searchClass.getUrl()
            },
            on: {
                clicked: t.setPage
            }
        }), t._v(" "), t.syncMode ? t._e() : n("input-button", {
            attrs: {
                label: t.lang("correction_Offset"),
                state: t.offset,
                type: "number"
            },
            on: {
                clicked: t.setOffset,
                change: function(e) {
                    return t.inputOffset = e;
                }
            }
        }), t._v(" "), t.inputOffset && "0" !== t.inputOffset ? n("div", {
            attrs: {
                id: "offsetUi"
            }
        }, [ t._l(5, (function(e) {
            return n("div", {
                key: e,
                staticClass: "offsetBox"
            }, [ n("div", {
                staticClass: "mdl-color--primary top"
            }, [ t._v(t._s(e)) ]), t._v(" "), n("div", {
                staticClass: "bottom",
                class: {
                    active: parseInt(t.currentStateEp) === t.calcEpOffset(e)
                }
            }, [ t._v("\n          " + t._s(t.calcEpOffset(e)) + "\n        ") ]) ]);
        })), t._v(" "), t._m(0), t._v(" "), t._m(1) ], 2) : t._e(), t._v(" "), n("search", {
            attrs: {
                keyword: t.searchClass.getSanitizedTitel(),
                type: t.searchClass.getNormalizedType(),
                "sync-mode": t.syncMode,
                "current-id": t.searchClass.getId()
            },
            on: {
                clicked: function(e) {
                    return t.setPage(e.url, e.id);
                }
            }
        }) ], 1), t._v(" "), t.syncMode && t.minimized ? t._e() : n("a", {
            staticClass: "close",
            on: {
                click: function(e) {
                    return t.close();
                }
            }
        }, [ t._v(t._s(t.lang("close"))) ]) ]);
    };
    i._withStripped = !0;
    var a = n(41).a, o = n(6), r = Object(o.a)(a, i, [ function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("div", {
            staticClass: "offsetBox"
        }, [ e("div", {
            staticClass: "mdl-color--primary top"
        }, [ this._v("...") ]), this._v(" "), e("div", {
            staticClass: "bottom"
        }, [ this._v("...") ]) ]);
    }, function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("div", {
            staticClass: "offsetBox"
        }, [ e("div", {
            staticClass: "mdl-color--primary top"
        }, [ this._v("∞") ]), this._v(" "), e("div", {
            staticClass: "bottom"
        }, [ this._v("∞") ]) ]);
    } ], !1, null, null, null);
    r.options.__file = "src/_provider/Search/correctionApp.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t, e = this, n = e.$createElement, i = e._self._c || n;
        return i("div", {
            class: (t = {
                "pop-over": !e.navigation
            }, t[e.getTheme(e.options)] = !0, t),
            staticStyle: {
                height: "100%"
            },
            attrs: {
                id: "material"
            }
        }, [ i("div", {
            staticClass: "mdl-layout mdl-js-layout mdl-layout--fixed-header mdl-layout--fixed-tabs mdl-shadow--2dp"
        }, [ i("header", {
            staticClass: "mdl-layout__header",
            staticStyle: {
                "min-height": "0"
            }
        }, [ i("button", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: e.backbutton,
                expression: "backbutton"
            } ],
            staticClass: "mdl-button mdl-js-button mdl-button--icon mdl-layout__drawer-button",
            staticStyle: {
                display: "none"
            },
            attrs: {
                id: "backbutton"
            },
            on: {
                click: function(t) {
                    return e.backbuttonClick();
                }
            }
        }, [ i("i", {
            staticClass: "material-icons"
        }, [ e._v("arrow_back") ]) ]), e._v(" "), i("div", {
            staticClass: "mdl-layout__header-row"
        }, [ i("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--icon mdl-layout__drawer-button",
            style: e.backbuttonBookStyle,
            attrs: {
                id: "book"
            },
            on: {
                click: function(t) {
                    return e.bookClick();
                }
            }
        }, [ i("i", {
            staticClass: "material-icons md-48 bookIcon"
        }, [ e._v(e._s(e.bookIcon)) ]) ]), e._v(" "), i("div", {
            staticClass: "mdl-textfield mdl-js-textfield mdl-textfield--expandable",
            class: {
                "is-dirty": e.currentTab == e.tabs.search.title
            },
            staticStyle: {
                "margin-left": "-57px",
                "margin-top": "3px",
                "padding-left": "40px"
            },
            style: e.backbuttonSearchStyle,
            attrs: {
                id: "SearchButton"
            }
        }, [ e._m(0), e._v(" "), i("div", {
            staticClass: "mdl-textfield__expandable-holder"
        }, [ i("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: e.keyword,
                expression: "keyword"
            } ],
            staticClass: "mdl-textfield__input",
            attrs: {
                id: "headMalSearch",
                type: "text"
            },
            domProps: {
                value: e.keyword
            },
            on: {
                keyup: function(t) {
                    return e.keywordSet();
                },
                input: function(t) {
                    t.target.composing || (e.keyword = t.target.value);
                }
            }
        }), e._v(" "), i("label", {
            staticClass: "mdl-textfield__label",
            attrs: {
                for: "headMalSearch"
            }
        }) ]) ]), e._v(" "), e._m(1), e._v(" "), e._m(2) ]), e._v(" "), i("div", {
            staticClass: "mdl-layout__tab-bar mdl-js-ripple-effect"
        }, [ i("a", {
            staticClass: "mdl-layout__tab",
            class: {
                "is-active": e.currentTab == e.tabs.overview.title
            },
            on: {
                click: function(t) {
                    return e.selectTab(e.tabs.overview.title);
                }
            }
        }, [ e._v(e._s(e.lang("minimalApp_Overview"))) ]), e._v(" "), i("a", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: e.showReviewAndRecom,
                expression: "showReviewAndRecom"
            } ],
            staticClass: "mdl-layout__tab reviewsTab",
            class: {
                "is-active": e.currentTab == e.tabs.reviews.title
            },
            on: {
                click: function(t) {
                    return e.selectTab(e.tabs.reviews.title);
                }
            }
        }, [ e._v(e._s(e.lang("minimalApp_Reviews"))) ]), e._v(" "), i("a", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: e.showReviewAndRecom,
                expression: "showReviewAndRecom"
            } ],
            staticClass: "mdl-layout__tab recommendationTab",
            class: {
                "is-active": e.currentTab == e.tabs.recommendations.title
            },
            on: {
                click: function(t) {
                    return e.selectTab(e.tabs.recommendations.title);
                }
            }
        }, [ e._v(e._s(e.lang("minimalApp_Recommendations"))) ]), e._v(" "), i("a", {
            staticClass: "mdl-layout__tab settingsTab",
            class: {
                "is-active": e.currentTab == e.tabs.settings.title
            },
            on: {
                click: function(t) {
                    return e.selectTab(e.tabs.settings.title);
                }
            }
        }, [ e._v(e._s(e.lang("minimalApp_Settings"))) ]) ]) ]), e._v(" "), i("main", {
            staticClass: "mdl-layout__content",
            staticStyle: {
                height: "100%"
            }
        }, [ i("section", {
            staticClass: "mdl-layout__tab-panel",
            class: {
                "is-active": e.currentTab == e.tabs.overview.title
            },
            attrs: {
                id: "fixed-tab-1"
            }
        }, [ i("overviewVue", {
            attrs: {
                "render-obj": e.renderObj
            }
        }) ], 1), e._v(" "), i("section", {
            staticClass: "mdl-layout__tab-panel",
            class: {
                "is-active": e.currentTab == e.tabs.reviews.title
            },
            attrs: {
                id: "fixed-tab-2"
            }
        }, [ i("reviewsVue", {
            attrs: {
                url: e.renderMalUrl,
                state: e.currentTab == e.tabs.reviews.title
            }
        }) ], 1), e._v(" "), i("section", {
            staticClass: "mdl-layout__tab-panel",
            class: {
                "is-active": e.currentTab == e.tabs.recommendations.title
            },
            attrs: {
                id: "fixed-tab-3"
            }
        }, [ i("recommendationsVue", {
            attrs: {
                url: e.renderMalUrl,
                state: e.currentTab == e.tabs.recommendations.title
            }
        }) ], 1), e._v(" "), i("section", {
            staticClass: "mdl-layout__tab-panel",
            class: {
                "is-active": e.popOver
            },
            attrs: {
                id: "fixed-tab-4"
            }
        }, [ i("keepAlive", {
            attrs: {
                max: 1
            }
        }, [ e.currentTab == e.tabs.bookmarks.title ? i("bookmarksVue", {
            attrs: {
                state: e.tabs.bookmarks.state,
                "list-type": e.tabs.bookmarks.type,
                sort: e.tabs.bookmarks.sort
            },
            on: {
                rewatch: function(t) {
                    e.tabs.bookmarks.supportsRewatch = t;
                },
                sort: function(t) {
                    e.tabs.bookmarks.sort = t;
                }
            },
            scopedSlots: e._u([ {
                key: "default",
                fn: function(t) {
                    var n = t.sorting;
                    return [ i("div", {
                        staticClass: "mdl-grid",
                        staticStyle: {
                            "justify-content": "space-around"
                        },
                        attrs: {
                            id: "malList"
                        }
                    }, [ i("select", {
                        directives: [ {
                            name: "model",
                            rawName: "v-model",
                            value: e.tabs.bookmarks.type,
                            expression: "tabs.bookmarks.type"
                        } ],
                        staticClass: "inputtext mdl-textfield__input mdl-cell mdl-cell--12-col",
                        staticStyle: {
                            outline: "none",
                            "background-color": "white",
                            border: "none"
                        },
                        attrs: {
                            id: "userListType",
                            name: "myinfo_score"
                        },
                        on: {
                            change: function(t) {
                                var n = Array.prototype.filter.call(t.target.options, (function(t) {
                                    return t.selected;
                                })).map((function(t) {
                                    return "_value" in t ? t._value : t.value;
                                }));
                                e.$set(e.tabs.bookmarks, "type", t.target.multiple ? n : n[0]);
                            }
                        }
                    }, [ i("option", {
                        attrs: {
                            value: "anime"
                        }
                    }, [ e._v(e._s(e.lang("Anime"))) ]), e._v(" "), i("option", {
                        attrs: {
                            value: "manga"
                        }
                    }, [ e._v(e._s(e.lang("Manga"))) ]) ]), e._v(" "), i("div", {
                        staticClass: "mdl-cell mdl-cell--12-col",
                        staticStyle: {
                            display: "flex"
                        }
                    }, [ i("select", {
                        directives: [ {
                            name: "model",
                            rawName: "v-model",
                            value: e.tabs.bookmarks.state,
                            expression: "tabs.bookmarks.state"
                        } ],
                        staticClass: "inputtext mdl-textfield__input",
                        staticStyle: {
                            outline: "none",
                            "background-color": "white",
                            border: "none",
                            flex: "1",
                            width: "auto"
                        },
                        attrs: {
                            id: "userListState",
                            name: "myinfo_score"
                        },
                        on: {
                            change: function(t) {
                                var n = Array.prototype.filter.call(t.target.options, (function(t) {
                                    return t.selected;
                                })).map((function(t) {
                                    return "_value" in t ? t._value : t.value;
                                }));
                                e.$set(e.tabs.bookmarks, "state", t.target.multiple ? n : n[0]);
                            }
                        }
                    }, [ i("option", {
                        domProps: {
                            value: 7
                        }
                    }, [ e._v(e._s(e.lang("All"))) ]), e._v(" "), i("option", {
                        attrs: {
                            selected: ""
                        },
                        domProps: {
                            value: 1
                        }
                    }, [ e._v(e._s(e.lang("UI_Status_watching_" + e.tabs.bookmarks.type))) ]), e._v(" "), i("option", {
                        domProps: {
                            value: 2
                        }
                    }, [ e._v(e._s(e.lang("UI_Status_Completed"))) ]), e._v(" "), i("option", {
                        domProps: {
                            value: 3
                        }
                    }, [ e._v(e._s(e.lang("UI_Status_OnHold"))) ]), e._v(" "), i("option", {
                        domProps: {
                            value: 4
                        }
                    }, [ e._v(e._s(e.lang("UI_Status_Dropped"))) ]), e._v(" "), i("option", {
                        domProps: {
                            value: 6
                        }
                    }, [ e._v(e._s(e.lang("UI_Status_planTo_" + e.tabs.bookmarks.type))) ]), e._v(" "), e.tabs.bookmarks.supportsRewatch ? i("option", {
                        domProps: {
                            value: 23
                        }
                    }, [ e._v(e._s(e.lang("UI_Status_Rewatching_" + e.tabs.bookmarks.type))) ]) : e._e() ]), e._v(" "), 6 === e.tabs.bookmarks.state ? i("div", {
                        staticClass: "bg-cell",
                        staticStyle: {
                            padding: "0 5px",
                            "margin-left": "10px",
                            display: "flex",
                            cursor: "pointer"
                        },
                        on: {
                            click: function(t) {
                                return e.openRandom(6, e.tabs.bookmarks.type);
                            }
                        }
                    }, [ i("i", {
                        staticClass: "material-icons",
                        staticStyle: {
                            position: "relative",
                            top: "2px"
                        }
                    }, [ e._v("shuffle") ]) ]) : e._e(), e._v(" "), i("div", {
                        staticClass: "bg-cell",
                        staticStyle: {
                            padding: "0 5px",
                            "margin-left": "10px",
                            display: "flex",
                            cursor: "pointer"
                        },
                        on: {
                            click: function(t) {
                                e.listView = !e.listView;
                            }
                        }
                    }, [ e.listView ? i("i", {
                        staticClass: "material-icons",
                        staticStyle: {
                            position: "relative",
                            top: "2px"
                        }
                    }, [ e._v("view_module") ]) : i("i", {
                        staticClass: "material-icons",
                        staticStyle: {
                            position: "relative",
                            top: "2px"
                        }
                    }, [ e._v("view_list") ]) ]), e._v(" "), i("div", {
                        directives: [ {
                            name: "show",
                            rawName: "v-show",
                            value: n && n.length && n.length > 1,
                            expression: "sorting && sorting.length && sorting.length > 1"
                        } ],
                        staticClass: "bg-cell",
                        staticStyle: {
                            padding: "0 5px",
                            "margin-left": "10px",
                            display: "flex",
                            cursor: "pointer"
                        },
                        attrs: {
                            id: "demo-menu-lower-left"
                        }
                    }, [ e.tabs.bookmarks.sort ? i("i", {
                        staticClass: "material-icons"
                    }, [ e._v(e._s(e.tabs.bookmarks.sort.icon)) ]) : e._e() ]), e._v(" "), i("div", [ e.tabs.bookmarks.sort ? i("ul", {
                        staticClass: "mdl-menu mdl-menu--bottom-right mdl-js-menu mdl-js-ripple-effect",
                        attrs: {
                            for: "demo-menu-lower-left"
                        }
                    }, e._l(n, (function(t) {
                        return i("li", {
                            key: t.value,
                            staticClass: "mdl-menu__item",
                            class: {
                                active: t.value === e.tabs.bookmarks.sort.value || t.child && t.child.value === e.tabs.bookmarks.sort.value
                            },
                            on: {
                                click: function(n) {
                                    t.child && t.value === e.tabs.bookmarks.sort.value ? e.tabs.bookmarks.sort = t.child : e.tabs.bookmarks.sort = t;
                                }
                            }
                        }, [ !t.child || t.value !== e.tabs.bookmarks.sort.value && t.child.value !== e.tabs.bookmarks.sort.value ? i("i", {
                            staticClass: "material-icons",
                            staticStyle: {
                                "vertical-align": "sub",
                                "margin-right": "10px"
                            }
                        }, [ e._v(e._s(t.icon)) ]) : [ t.value === e.tabs.bookmarks.sort.value ? i("i", {
                            staticClass: "material-icons",
                            staticStyle: {
                                "vertical-align": "sub",
                                "margin-right": "10px"
                            }
                        }, [ e._v("arrow_downward") ]) : i("i", {
                            staticClass: "material-icons",
                            staticStyle: {
                                "vertical-align": "sub",
                                "margin-right": "10px"
                            }
                        }, [ e._v("arrow_upward") ]) ], e._v("\n\n                        " + e._s(t.title) + "\n                      ") ], 2);
                    })), 0) : e._e() ]) ]) ]) ];
                }
            } ], null, !1, 2489004280)
        }) : e._e() ], 1), e._v(" "), e.currentTab == e.tabs.search.title ? i("searchVue", {
            attrs: {
                keyword: e.tabs.search.keyword,
                type: e.tabs.search.type
            },
            on: {
                clicked: e.searchClick
            }
        }, [ i("div", {
            staticClass: "mdl-grid",
            staticStyle: {
                "justify-content": "space-around"
            }
        }, [ i("select", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: e.tabs.search.type,
                expression: "tabs.search.type"
            } ],
            staticClass: "inputtext mdl-textfield__input mdl-cell mdl-cell--12-col",
            staticStyle: {
                outline: "none",
                "background-color": "white",
                border: "none"
            },
            attrs: {
                id: "userListType",
                name: "myinfo_score"
            },
            on: {
                change: function(t) {
                    var n = Array.prototype.filter.call(t.target.options, (function(t) {
                        return t.selected;
                    })).map((function(t) {
                        return "_value" in t ? t._value : t.value;
                    }));
                    e.$set(e.tabs.search, "type", t.target.multiple ? n : n[0]);
                }
            }
        }, [ i("option", {
            attrs: {
                value: "anime"
            }
        }, [ e._v(e._s(e.lang("Anime"))) ]), e._v(" "), i("option", {
            attrs: {
                value: "manga"
            }
        }, [ e._v(e._s(e.lang("Manga"))) ]) ]) ]) ]) : e._e(), e._v(" "), e.currentTab == e.tabs.updateCheck.title ? i("updateCheckVue") : e._e(), e._v(" "), e.currentTab == e.tabs.listSync.title ? i("listSyncVue", {
            attrs: {
                "list-type": e.tabs.listSync.type
            }
        }, [ i("select", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: e.tabs.listSync.type,
                expression: "tabs.listSync.type"
            } ],
            staticClass: "typeSelect-updateCheck",
            staticStyle: {
                "margin-bottom": "20px"
            },
            on: {
                change: [ function(t) {
                    var n = Array.prototype.filter.call(t.target.options, (function(t) {
                        return t.selected;
                    })).map((function(t) {
                        return "_value" in t ? t._value : t.value;
                    }));
                    e.$set(e.tabs.listSync, "type", t.target.multiple ? n : n[0]);
                }, function(t) {
                    return e.rebuildListSync();
                } ]
            }
        }, [ i("option", {
            attrs: {
                value: "anime"
            }
        }, [ e._v(e._s(e.lang("Anime"))) ]), e._v(" "), i("option", {
            attrs: {
                value: "manga"
            }
        }, [ e._v(e._s(e.lang("Manga"))) ]) ]) ]) : e._e(), e._v(" "), e.currentTab == e.tabs.cleanTags.title ? i("cleanTagsVue") : e._e(), e._v(" "), e.currentTab == e.tabs.allSites.title ? i("allSitesVue") : e._e(), e._v(" "), e.currentTab == e.tabs.customDomains.title ? i("customDomainsVue") : e._e(), e._v(" "), e.currentTab == e.tabs.quicklinks.title ? i("quicklinksEdit") : e._e() ], 1), e._v(" "), i("section", {
            staticClass: "mdl-layout__tab-panel",
            class: {
                "is-active": e.currentTab == e.tabs.settings.title
            },
            attrs: {
                id: "fixed-tab-5"
            }
        }, [ i("div", {
            staticClass: "page-content malClear",
            attrs: {
                id: "malConfig"
            }
        }, [ i("settingsVue", {
            attrs: {
                page: e.page
            }
        }) ], 1) ]) ]) ]) ]);
    };
    i._withStripped = !0;
    var a = n(48).a, o = n(6), r = Object(o.a)(a, i, [ function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("label", {
            staticClass: "mdl-button mdl-js-button mdl-button--icon",
            attrs: {
                for: "headMalSearch"
            }
        }, [ e("i", {
            staticClass: "material-icons"
        }, [ this._v("search") ]) ]);
    }, function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--icon mdl-layout__drawer-button",
            staticStyle: {
                left: "initial",
                right: "40px"
            },
            attrs: {
                id: "material-fullscreen"
            }
        }, [ e("i", {
            staticClass: "material-icons md-48"
        }, [ this._v("fullscreen") ]) ]);
    }, function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--icon mdl-layout__drawer-button",
            staticStyle: {
                left: "initial",
                right: "0"
            },
            attrs: {
                id: "close-info-popup"
            }
        }, [ e("i", {
            staticClass: "material-icons close"
        }, [ this._v("close") ]) ]);
    } ], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", {
            staticClass: "search"
        }, [ n("div", {
            staticClass: "input"
        }, [ n("div", {
            staticClass: "group"
        }, [ n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.searchKeyword,
                expression: "searchKeyword"
            } ],
            attrs: {
                type: "text",
                required: ""
            },
            domProps: {
                value: t.searchKeyword
            },
            on: {
                focus: function(e) {
                    return t.inputFocus();
                },
                input: function(e) {
                    e.target.composing || (t.searchKeyword = e.target.value);
                }
            }
        }), t._v(" "), n("span", {
            staticClass: "bar"
        }), t._v(" "), n("label", [ t._v(t._s(t.lang("correction_Search"))) ]) ]) ]), t._v(" "), n("div", {
            staticClass: "loadingBar"
        }, [ n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: t.loading,
                expression: "loading"
            } ],
            staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate",
            staticStyle: {
                width: "100%"
            }
        }, [ n("div", {
            staticClass: "progressbar bar bar1",
            staticStyle: {
                width: "0%"
            }
        }), t._v(" "), n("div", {
            staticClass: "bufferbar bar bar2",
            staticStyle: {
                width: "100%"
            }
        }), t._v(" "), n("div", {
            staticClass: "auxbar bar bar3",
            staticStyle: {
                width: "0%"
            }
        }) ]) ]), t._v(" "), t.searchKeyword ? n("div", {
            staticClass: "results"
        }, [ n("a", {
            staticClass: "result",
            staticStyle: {
                cursor: "pointer"
            },
            attrs: {
                href: ""
            },
            on: {
                click: function(e) {
                    return t.clickItem(e, "");
                }
            }
        }, [ n("div", {
            staticClass: "image"
        }), t._v(" "), n("div", {
            staticClass: "right"
        }, [ n("span", {
            staticClass: "title"
        }, [ t._v(t._s(t.lang("correction_NoEntry"))) ]), t._v(" "), n("p", [ t._v(t._s(t.lang("correction_NoMal"))) ]) ]) ]), t._v(" "), t._l(t.items, (function(e) {
            return n("a", {
                key: e.id,
                staticClass: "result",
                class: {
                    active: t.currentId === e.id
                },
                attrs: {
                    href: e.url
                },
                on: {
                    click: function(n) {
                        return t.clickItem(n, e);
                    }
                }
            }, [ n("div", {
                staticClass: "image"
            }, [ n("img", {
                attrs: {
                    src: e.image
                }
            }) ]), t._v(" "), n("div", {
                staticClass: "right"
            }, [ n("span", {
                staticClass: "title"
            }, [ t._v(t._s(e.name)) ]), t._v(" "), n("p", [ t._v(t._s(t.lang("search_Type")) + " " + t._s(e.media_type)) ]), t._v(" "), n("p", [ t._v(t._s(t.lang("search_Score")) + " " + t._s(e.score)) ]), t._v(" "), n("p", [ t._v(t._s(t.lang("search_Year")) + " " + t._s(e.year)) ]) ]) ]);
        })) ], 2) : t._e() ]);
    };
    i._withStripped = !0;
    var a = n(42).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/_provider/Search/components/search.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", {
            staticClass: "inputButton"
        }, [ n("div", {
            staticClass: "group"
        }, [ "checkbox" === t.type ? n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.inputString,
                expression: "inputString"
            } ],
            attrs: {
                required: "",
                type: "checkbox"
            },
            domProps: {
                checked: Array.isArray(t.inputString) ? t._i(t.inputString, null) > -1 : t.inputString
            },
            on: {
                change: function(e) {
                    var n = t.inputString, i = e.target, a = !!i.checked;
                    if (Array.isArray(n)) {
                        var o = t._i(n, null);
                        i.checked ? o < 0 && (t.inputString = n.concat([ null ])) : o > -1 && (t.inputString = n.slice(0, o).concat(n.slice(o + 1)));
                    } else t.inputString = a;
                }
            }
        }) : "radio" === t.type ? n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.inputString,
                expression: "inputString"
            } ],
            attrs: {
                required: "",
                type: "radio"
            },
            domProps: {
                checked: t._q(t.inputString, null)
            },
            on: {
                change: function(e) {
                    t.inputString = null;
                }
            }
        }) : n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.inputString,
                expression: "inputString"
            } ],
            attrs: {
                required: "",
                type: t.type
            },
            domProps: {
                value: t.inputString
            },
            on: {
                input: function(e) {
                    e.target.composing || (t.inputString = e.target.value);
                }
            }
        }), t._v(" "), n("span", {
            staticClass: "bar"
        }), t._v(" "), n("label", [ t._v(t._s(t.label)) ]) ]), t._v(" "), t.inputString !== t.state ? n("button", {
            on: {
                click: t.click
            }
        }, [ t._v("Update") ]) : t._e() ]);
    };
    i._withStripped = !0;
    var a = n(43).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/_provider/Search/components/inputButton.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return t.obj ? n("div", {
            staticClass: "entry"
        }, [ n("a", {
            staticClass: "result",
            staticStyle: {
                cursor: "pointer"
            },
            attrs: {
                href: t.obj.getDisplayUrl(),
                target: "_blank"
            }
        }, [ n("div", {
            staticClass: "image"
        }, [ t.image ? n("img", {
            attrs: {
                src: t.image
            }
        }) : t._e() ]), t._v(" "), n("div", {
            staticClass: "right"
        }, [ n("span", {
            staticClass: "title"
        }, [ t._v(t._s(t.obj.getTitle())) ]), t._v(" "), t.obj.isOnList() ? n("p", [ t._v(t._s(t.lang("UI_Status")) + " " + t._s(t.statusText(t.status))) ]) : t._e(), t._v(" "), t.obj.isOnList() ? n("p", [ t._v(t._s(t.lang("UI_Score")) + " " + t._s(t.score)) ]) : t._e(), t._v(" "), t.obj.isOnList() ? n("p", [ t._v("\n        " + t._s(t.utilsepisode(t.obj.getType())) + " " + t._s(t.episode)), t.obj.getTotalEpisodes() ? n("span", {
            attrs: {
                id: "curEps"
            }
        }, [ t._v("/" + t._s(t.obj.getTotalEpisodes())) ]) : n("span", [ t._v("/?") ]) ]) : t._e() ]) ]) ]) : t._e();
    };
    i._withStripped = !0;
    var a = n(44).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/_provider/Search/components/entry.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return t.rules && t.rules.length ? n("div", {
            staticClass: "rules"
        }, [ n("div", {
            staticClass: "title"
        }, [ t._v(t._s(t.lang("UI_Rules"))) ]), t._v(" "), t._l(t.rules, (function(e, i) {
            return n("div", {
                key: i,
                staticClass: "rule",
                class: t.activeRule(e)
            }, [ n("div", {
                staticClass: "header"
            }, [ e.to.title ? [ n("span", {
                staticClass: "noHover"
            }, [ t._v("\n          " + t._s(e.to.title) + "\n        ") ]), t._v(" "), n("span", {
                staticClass: "hover"
            }, [ t._v("\n          " + t._s(e.to.url) + "\n        ") ]) ] : [ t._v("\n        " + t._s(e.to.url) + "\n      ") ] ], 2), t._v(" "), n("div", {
                staticClass: "content"
            }, [ t._v("\n      " + t._s(t.lang("UI_Episode")) + "\n      " + t._s(e.from.start) + "\n      "), e.from.start !== e.from.end ? [ t._v("\n        - " + t._s(Number.MAX_SAFE_INTEGER === e.from.end ? "∞" : e.from.end)) ] : t._e(), t._v("\n      ➞\n      " + t._s(Number.MAX_SAFE_INTEGER === e.to.start ? "∞" : e.to.start) + "\n      "), e.to.start !== e.to.end ? [ t._v("\n        - " + t._s(Number.MAX_SAFE_INTEGER === e.to.end ? "∞" : e.to.end)) ] : t._e() ], 2) ]);
        })) ], 2) : t._e();
    };
    i._withStripped = !0;
    var a = n(45).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/_provider/Search/components/rules.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("ul", {
            staticClass: "demo-list-control mdl-list",
            staticStyle: {
                margin: "0",
                padding: "0"
            }
        }, [ n("div", {
            staticClass: "mdl-grid"
        }, [ n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp",
            staticStyle: {
                display: "none"
            },
            attrs: {
                id: "page-config"
            }
        }), t._v(" "), t.page && t.page.UILoaded ? n("correction", {
            attrs: {
                page: t.page
            }
        }) : t._e(), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ n("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ n("h2", {
            staticClass: "mdl-card__title-text"
        }, [ t._v(t._s(t.lang("settings_General"))) ]) ]), t._v(" "), n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._v("\n          " + t._s(t.lang("settings_Mode")) + "\n        ") ]), t._v(" "), t._m(0) ]), t._v(" "), n("login", {
            attrs: {
                option: "syncMode"
            }
        }), t._v(" "), "SIMKL" == t.options.syncMode ? n("dropdown", {
            attrs: {
                option: "syncModeSimkl",
                text: "Manga Sync Mode"
            }
        }, [ n("option", {
            attrs: {
                value: "MAL"
            }
        }, [ t._v("MyAnimeList") ]), t._v(" "), n("option", {
            attrs: {
                value: "ANILIST"
            }
        }, [ t._v("AniList") ]), t._v(" "), n("option", {
            attrs: {
                value: "KITSU"
            }
        }, [ t._v("Kitsu") ]) ]) : t._e(), t._v(" "), "SIMKL" == t.options.syncMode ? n("login", {
            attrs: {
                option: "syncModeSimkl"
            }
        }) : t._e(), t._v(" "), n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._v("\n          " + t._s(t.lang("settings_Animesync")) + "\n        ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ n("select", {
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                id: "autoTrackingModeanime",
                name: "myinfo_score"
            }
        }, [ n("option", {
            attrs: {
                value: "video"
            }
        }, [ t._v(t._s(t.lang("settings_Animesync_Video"))) ]), t._v(" "), n("option", {
            attrs: {
                value: "instant"
            }
        }, [ t._v(t._s(t.lang("settings_Animesync_Instant"))) ]), t._v(" "), n("option", {
            attrs: {
                value: "manual"
            }
        }, [ t._v(t._s(t.lang("settings_Animesync_Manual"))) ]) ]) ]) ]), t._v(" "), n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._v("\n          " + t._s(t.lang("settings_Mangasync")) + "\n        ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ n("select", {
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                id: "autoTrackingModemanga",
                name: "myinfo_score"
            }
        }, [ n("option", {
            attrs: {
                value: "instant"
            }
        }, [ t._v(t._s(t.lang("settings_Animesync_Instant"))) ]), t._v(" "), n("option", {
            attrs: {
                value: "manual"
            }
        }, [ t._v(t._s(t.lang("settings_Animesync_Manual"))) ]) ]) ]) ]), t._v(" "), n("numberInput", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: "video" == t.options.autoTrackingModeanime || "video" == t.options.autoTrackingModemanga,
                expression: "options.autoTrackingModeanime == 'video' || options.autoTrackingModemanga == 'video'"
            } ],
            attrs: {
                option: "videoDuration",
                min: 10,
                max: 99
            }
        }, [ t._v(t._s(t.lang("settings_AutoTracking_Video", [ t.options.videoDuration ]))) ]), t._v(" "), n("numberInput", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: "instant" == t.options.autoTrackingModeanime || "instant" == t.options.autoTrackingModemanga,
                expression: "options.autoTrackingModeanime == 'instant' || options.autoTrackingModemanga == 'instant'"
            } ],
            attrs: {
                option: "delay"
            }
        }, [ t._v(t._s(t.lang("settings_AutoTracking_Instant", [ t.options.delay ]))) ]), t._v(" "), n("li", {
            staticClass: "mdl-list__item"
        }, [ n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            attrs: {
                id: "allSitesUi",
                type: "button"
            }
        }, [ t._v("\n          " + t._s(t.lang("settings_website_button")) + "\n        ") ]), t._v(" "), t.isExtension() ? n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            staticStyle: {
                "margin-left": "15px"
            },
            attrs: {
                id: "customDomainsUi",
                type: "button"
            }
        }, [ t._v("\n          " + t._s(t.lang("settings_custom_domains_button")) + "\n        ") ]) : t._e() ]), t._v(" "), n("shortcut", {
            attrs: {
                option: "correctionShort"
            }
        }, [ t._v(t._s(t.lang("settings_Shortcuts_Correction"))) ]), t._v(" "), n("shortcut", {
            attrs: {
                option: "syncShort"
            }
        }, [ t._v(t._s(t.lang("settings_Shortcuts_Sync"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "localSync"
            }
        }, [ t._v(t._s(t.lang("settings_LocalSync")) + "\n        "), n("a", {
            staticStyle: {
                "margin-left": "auto",
                "margin-right": "10px"
            },
            attrs: {
                href: "https://github.com/MALSync/MALSync/wiki/Local-Sync",
                target: "_blank"
            }
        }, [ t._v("[INFO]") ]) ]), t._v(" "), n("li", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: t.options.localSync,
                expression: "options.localSync"
            } ],
            staticClass: "mdl-list__item"
        }, [ n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            attrs: {
                id: "export",
                type: "button"
            },
            on: {
                click: function(e) {
                    return t.exportFallbackSync();
                }
            }
        }, [ t._v("\n          " + t._s(t.lang("settings_LocalSync_Export")) + "\n        ") ]), t._v(" "), n("fileUpload", {
            staticStyle: {
                "margin-left": "15px"
            },
            on: {
                upload: t.importFallbackSync
            }
        }, [ t._v(t._s(t.lang("settings_LocalSync_Import"))) ]) ], 1) ], 1), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ n("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ n("h2", {
            staticClass: "mdl-card__title-text"
        }, [ t._v("\n          " + t._s(t.lang("settings_StreamingSite")) + "\n        ") ]), t._v(" "), n("tooltip", [ t._v(t._s(t.lang("settings_StreamingSite_text"))) ]) ], 1), t._v(" "), n("li", {
            staticClass: "mdl-list__item"
        }, [ n("quicklinksOverview") ], 1) ]), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ t._m(1), t._v(" "), n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._v("\n          " + t._s(t.lang("settings_Thumbnails")) + "\n          "), n("tooltip", [ n("span", [ t._v(t._s(t.lang("settings_Thumbnails_text"))) ]) ]) ], 1), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ n("select", {
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                id: "malThumbnail",
                name: "myinfo_score"
            }
        }, [ n("option", {
            attrs: {
                value: "144"
            }
        }, [ t._v(t._s(t.lang("settings_Thumbnails_Large"))) ]), t._v(" "), n("option", {
            attrs: {
                value: "100"
            }
        }, [ t._v(t._s(t.lang("settings_Thumbnails_Medium"))) ]), t._v(" "), n("option", {
            attrs: {
                value: "60"
            }
        }, [ t._v(t._s(t.lang("settings_Thumbnails_Small"))) ]), t._v(" "), n("option", {
            attrs: {
                value: "0"
            }
        }, [ t._v(t._s(t.lang("settings_Thumbnails_Default"))) ]) ]) ]) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "friendScore"
            }
        }, [ t._v(t._s(t.lang("settings_FriendScore"))) ]) ], 1), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ t._m(2), t._v(" "), n("checkbox", {
            attrs: {
                option: "epPredictions"
            }
        }, [ t._v(t._s(t.lang("settings_epPredictions"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "malTags"
            }
        }, [ t._v("\n        " + t._s(t.lang("settings_malTags")) + "\n        "), n("tooltip", {
            attrs: {
                direction: "bottom"
            }
        }, [ n("span", [ t._v(t._s(t.lang("settings_malTags_Text"))) ]) ]) ], 1), t._v(" "), n("checkbox", {
            attrs: {
                option: "malContinue"
            }
        }, [ t._v(t._s(t.lang("settings_malContinue"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "malResume"
            }
        }, [ t._v(t._s(t.lang("settings_malResume"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "usedPage"
            }
        }, [ t._v(t._s(t.lang("settings_usedPage"))) ]) ], 1), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ n("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ n("h2", {
            staticClass: "mdl-card__title-text"
        }, [ t._v(t._s(t.lang("settings_miniMAL_popup")) + " (miniMAL)") ]) ]), t._v(" "), n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._v("\n          " + t._s(t.lang("settings_miniMAL_theme")) + "\n        ") ]), t._v(" "), t._m(3) ]), t._v(" "), n("span", {
            staticClass: "option-extension",
            staticStyle: {
                display: "none"
            }
        }, [ n("checkbox", {
            attrs: {
                option: "minimalWindow"
            }
        }, [ t._v(t._s(t.lang("settings_miniMAL_window"))) ]) ], 1), t._v(" "), n("checkbox", {
            attrs: {
                option: "floatButtonStealth"
            }
        }, [ t._v(t._s(t.lang("settings_miniMAL_floatButtonStealth"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "minimizeBigPopup"
            }
        }, [ t._v(t._s(t.lang("settings_miniMAL_minimizeBigPopup"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "floatButtonCorrection"
            }
        }, [ t._v(t._s(t.lang("settings_miniMAL_floatButtonCorrection"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "floatButtonHide"
            }
        }, [ t._v(t._s(t.lang("settings_miniMAL_floatButtonHide"))) ]), t._v(" "), t.isExtension() ? t._e() : n("checkbox", {
            attrs: {
                option: "autoCloseMinimal"
            }
        }, [ t._v(t._s(t.lang("settings_miniMAL_autoCloseMinimal"))) ]), t._v(" "), t.commands ? n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._v("\n          " + t._s(t.lang("settings_miniMAL_Open")) + "\n        ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ t._v("\n          " + t._s(t.commands._execute_browser_action.shortcut) + "\n          "), t.commands._execute_browser_action.shortcut ? t._e() : n("span", [ n("a", {
            attrs: {
                href: "https://github.com/MALSync/MALSync/wiki/Shortcuts",
                target: "_blank"
            }
        }, [ t._v(t._s(t.lang("settings_miniMAL_NotSet"))) ]) ]) ]) ]) : t._e(), t._v(" "), n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._v("\n          " + t._s(t.lang("settings_miniMAL_Display")) + "\n        ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ n("select", {
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                id: "posLeft",
                name: "myinfo_score"
            }
        }, [ n("option", {
            attrs: {
                value: "left"
            }
        }, [ t._v(t._s(t.lang("settings_miniMAL_Display_Left"))) ]), t._v(" "), t.isExtension() ? n("option", {
            attrs: {
                value: "center"
            }
        }, [ t._v(t._s(t.lang("settings_miniMAL_Display_Center"))) ]) : t._e(), t._v(" "), n("option", {
            attrs: {
                value: "right"
            }
        }, [ t._v(t._s(t.lang("settings_miniMAL_Display_Right"))) ]) ]) ]) ]), t._v(" "), n("li", {
            staticClass: "mdl-list__item",
            staticStyle: {
                display: "inline-block",
                width: "49%"
            }
        }, [ n("div", {
            staticClass: "mdl-textfield mdl-js-textfield mdl-textfield--floating-label",
            staticStyle: {
                width: "100%"
            }
        }, [ n("input", {
            staticClass: "mdl-textfield__input",
            attrs: {
                id: "miniMalHeight",
                type: "text",
                step: "1"
            },
            domProps: {
                value: t.options.miniMalHeight
            }
        }), t._v(" "), n("label", {
            staticClass: "mdl-textfield__label",
            attrs: {
                for: "miniMalHeight"
            }
        }, [ t._v("\n            " + t._s(t.lang("settings_miniMAL_Height")) + "\n          ") ]) ]) ]), t._v(" "), n("li", {
            staticClass: "mdl-list__item",
            staticStyle: {
                display: "inline-block",
                width: "50%"
            }
        }, [ n("div", {
            staticClass: "mdl-textfield mdl-js-textfield mdl-textfield--floating-label",
            staticStyle: {
                width: "100%"
            }
        }, [ n("input", {
            staticClass: "mdl-textfield__input",
            attrs: {
                id: "miniMalWidth",
                type: "text",
                step: "1"
            },
            domProps: {
                value: t.options.miniMalWidth
            }
        }), t._v(" "), n("label", {
            staticClass: "mdl-textfield__label",
            attrs: {
                for: "miniMalWidth"
            }
        }, [ t._v("\n            " + t._s(t.lang("settings_miniMAL_Width")) + "\n          ") ]) ]) ]) ], 1), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ n("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ n("h2", {
            staticClass: "mdl-card__title-text"
        }, [ t._v("\n          " + t._s(t.lang("settings_Video_Player")) + "\n        ") ]) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "autofull"
            }
        }, [ t._v(t._s(t.lang("settings_Video_Fullscreen"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "autoresume"
            }
        }, [ t._v(t._s(t.lang("settings_Video_Resume"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "autoNextEp"
            }
        }, [ t._v(t._s(t.lang("settings_autoNextEp"))) ]), t._v(" "), t.isExtension() ? n("shortcut", {
            attrs: {
                option: "nextEpShort"
            }
        }, [ t._v(t._s(t.lang("settings_Shortcuts_Next_Episode"))) ]) : t._e(), t._v(" "), t.isExtension() ? n("shortcut", {
            attrs: {
                option: "introSkipFwd"
            }
        }, [ t._v(t._s(t.lang("settings_Shortcuts_Skip_Forward"))) ]) : t._e(), t._v(" "), t.isExtension() ? n("shortcut", {
            attrs: {
                option: "introSkipBwd"
            }
        }, [ t._v(t._s(t.lang("settings_Shortcuts_Skip_Backward"))) ]) : t._e(), t._v(" "), t.isExtension() ? n("numberInput", {
            attrs: {
                option: "introSkip",
                min: 5
            }
        }, [ t._v(t._s(t.lang("settings_introSkip", [ t.options.introSkip ]))) ]) : t._e() ], 1), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp",
            attrs: {
                id: "progressCheck"
            }
        }, [ n("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ n("h2", {
            staticClass: "mdl-card__title-text"
        }, [ t._v("\n          " + t._s(t.lang("settings_ProgressCheck")) + "\n        ") ]) ]), t._v(" "), n("dropdown", {
            attrs: {
                option: "progressInterval",
                text: t.lang("settings_Interval")
            },
            on: {
                changed: function(e) {
                    return t.startProgressSync();
                }
            }
        }, [ n("option", {
            attrs: {
                value: "0"
            }
        }, [ t._v(t._s(t.lang("settings_Interval_Off"))) ]), t._v(" "), n("option", {
            attrs: {
                value: "30"
            }
        }, [ t._v("30min") ]), t._v(" "), n("option", {
            attrs: {
                value: "60"
            }
        }, [ t._v("1h") ]), t._v(" "), n("option", {
            attrs: {
                value: "120"
            }
        }, [ t._v("2h") ]), t._v(" "), n("option", {
            attrs: {
                value: "240"
            }
        }, [ t._v("4h") ]), t._v(" "), n("option", {
            attrs: {
                value: "720"
            }
        }, [ t._v("12h") ]), t._v(" "), n("option", {
            attrs: {
                value: "1440"
            }
        }, [ t._v("24h") ]) ]), t._v(" "), n("dropdown", {
            attrs: {
                option: "progressIntervalDefaultAnime",
                text: t.lang("settings_Interval_Default_Anime")
            },
            on: {
                changed: function(e) {
                    return t.startProgressSync();
                }
            }
        }, t._l(t.progressAnimeDropdown, (function(e) {
            return n("option", {
                key: e.key,
                domProps: {
                    value: e.key
                }
            }, [ t._v(t._s(e.label)) ]);
        })), 0), t._v(" "), n("dropdown", {
            attrs: {
                option: "progressIntervalDefaultManga",
                text: t.lang("settings_Interval_Default_Manga")
            },
            on: {
                changed: function(e) {
                    return t.startProgressSync();
                }
            }
        }, t._l(t.progressMangaDropdown, (function(e) {
            return n("option", {
                key: e.key,
                domProps: {
                    value: e.key
                }
            }, [ t._v(t._s(e.label)) ]);
        })), 0), t._v(" "), n("checkbox", {
            attrs: {
                option: "progressNotifications"
            }
        }, [ t._v(t._s(t.lang("settings_Notifications"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "loadPTWForProgress"
            }
        }, [ t._v(t._s(t.lang("settings_loadPTWForProgress"))) ]) ], 1), t._v(" "), n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: t.legacy,
                expression: "legacy"
            } ],
            staticClass: "updateCheckEnable mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ n("div", {
            staticStyle: {
                display: "none",
                border: "1px solid red"
            },
            attrs: {
                id: "updateCheck"
            }
        }, [ n("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ n("h2", {
            staticClass: "mdl-card__title-text"
        }, [ t._v("\n            " + t._s(t.lang("settings_UpdateCheck")) + "\n          ") ]), t._v(" "), n("tooltip", [ t._v("\n            " + t._s(t.lang("settings_UpdateCheck_Text")) + "\n          ") ]), t._v(" "), n("div", {
            staticStyle: {
                "margin-left": "auto"
            },
            attrs: {
                id: "updateCheckAgo"
            }
        }) ], 1), t._v(" "), n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._v("\n            " + t._s(t.lang("settings_Interval")) + "\n          ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ n("select", {
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                id: "updateCheckTime",
                name: "updateCheckTime"
            }
        }, [ n("option", {
            attrs: {
                value: "0"
            }
        }, [ t._v(t._s(t.lang("settings_Interval_Off"))) ]), t._v(" "), n("option", {
            attrs: {
                value: "60"
            }
        }, [ t._v("1h") ]), t._v(" "), n("option", {
            attrs: {
                value: "240"
            }
        }, [ t._v("4h") ]), t._v(" "), n("option", {
            attrs: {
                value: "720"
            }
        }, [ t._v("12h") ]), t._v(" "), n("option", {
            attrs: {
                value: "1440"
            }
        }, [ t._v("24h") ]), t._v(" "), n("option", {
            attrs: {
                value: "2880"
            }
        }, [ t._v("48h") ]) ]) ]) ]), t._v(" "), n("span", {
            staticClass: "updateCheckEnable",
            staticStyle: {
                display: "none"
            }
        }, [ n("checkbox", {
            attrs: {
                option: "updateCheckNotifications"
            }
        }, [ t._v(t._s(t.lang("settings_Notifications"))) ]) ], 1), t._v(" "), n("li", {
            staticClass: "mdl-list__item updateCheckEnable",
            staticStyle: {
                display: "none"
            }
        }, [ n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            attrs: {
                id: "updateCheckUi",
                type: "button"
            }
        }, [ t._v("\n            " + t._s(t.lang("settings_Debugging")) + "\n          ") ]) ]) ]) ]), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ n("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ n("h2", {
            staticClass: "mdl-card__title-text"
        }, [ t._v("Discord Rich Presence") ]), t._v(" "), n("a", {
            staticStyle: {
                "margin-left": "auto"
            },
            attrs: {
                href: "https://github.com/MALSync/MALSync/wiki/Discord-Rich-Presence",
                target: "_blank"
            }
        }, [ t._v("\n          " + t._s(t.lang("settings_more_info"))) ]) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "rpc"
            }
        }, [ t._v(t._s(t.lang("settings_enabled"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "presenceHidePage"
            }
        }, [ t._v(t._s(t.lang("settings_presenceHidePage"))) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "presenceShowButtons"
            }
        }, [ t._v(t._s(t.lang("settings_presenceShowButtons"))) ]) ], 1), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ n("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ n("h2", {
            staticClass: "mdl-card__title-text"
        }, [ t._v(t._s(t.lang("settings_ETC"))) ]) ]), t._v(" "), n("checkbox", {
            attrs: {
                option: "forceEn"
            }
        }, [ t._v("Force english") ]), t._v(" "), n("span", {
            staticStyle: {
                display: "none"
            }
        }, [ n("checkbox", {
            attrs: {
                option: "userscriptModeButton"
            }
        }, [ t._v(t._s(t.lang("settings_Userscriptmode"))), n("tooltip", {
            attrs: {
                direction: "bottom"
            }
        }, [ t._v(t._s(t.lang("settings_Userscriptmode_Text"))) ]) ], 1) ], 1), t._v(" "), n("span", {
            staticClass: "option-extension",
            staticStyle: {
                display: "none"
            }
        }, [ n("checkbox", {
            attrs: {
                option: "highlightAllEp"
            }
        }, [ t._v(t._s(t.lang("settings_highlightAllEp"))), n("tooltip", [ t._v(t._s(t.lang("settings_highlightAllEp_Text"))) ]) ], 1) ], 1), t._v(" "), n("span", {
            staticClass: "option-extension",
            staticStyle: {
                display: "none"
            }
        }, [ n("checkbox", {
            attrs: {
                option: "checkForFiller"
            }
        }, [ t._v(t._s(t.lang("settings_filler"))), n("tooltip", [ t._v(t._s(t.lang("settings_filler_text"))) ]) ], 1) ], 1), t._v(" "), n("span", {
            staticClass: "option-legacy"
        }, [ n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._v("\n            Legacy options\n          ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ n("label", {
            staticClass: "mdl-switch mdl-js-switch mdl-js-ripple-effect",
            attrs: {
                for: "legacy"
            }
        }, [ n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.legacy,
                expression: "legacy"
            } ],
            staticClass: "mdl-switch__input",
            attrs: {
                id: "legacy",
                type: "checkbox"
            },
            domProps: {
                checked: Array.isArray(t.legacy) ? t._i(t.legacy, null) > -1 : t.legacy
            },
            on: {
                change: function(e) {
                    var n = t.legacy, i = e.target, a = !!i.checked;
                    if (Array.isArray(n)) {
                        var o = t._i(n, null);
                        i.checked ? o < 0 && (t.legacy = n.concat([ null ])) : o > -1 && (t.legacy = n.slice(0, o).concat(n.slice(o + 1)));
                    } else t.legacy = a;
                }
            }
        }) ]) ]) ]) ]), t._v(" "), t._m(4), t._v(" "), n("li", {
            staticClass: "mdl-list__item"
        }, [ n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            attrs: {
                id: "clearCache",
                type: "button"
            }
        }, [ t._v("\n          " + t._s(t.lang("settings_ClearCache")) + "\n        ") ]), t._v(" "), n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            staticStyle: {
                "margin-left": "20px"
            },
            attrs: {
                id: "cleanTagsUi",
                type: "button"
            }
        }, [ t._v("\n          " + t._s(t.lang("settings_clean_tags_button")) + "\n        ") ]) ]) ], 1), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp",
            class: {
                open: t.isOpen
            },
            attrs: {
                id: "contributer"
            },
            on: {
                click: function(e) {
                    return t.myOpen();
                }
            }
        }, [ n("div", {
            staticStyle: {
                display: "table",
                width: "100%"
            }
        }, [ t._l(t.contributer, (function(e, i) {
            return [ n("div", {
                key: i,
                staticClass: "group"
            }, [ t._v(t._s(i)) ]), t._v(" "), t._l(e, (function(e) {
                return n("div", {
                    key: e.name,
                    staticClass: "inline-block"
                }, [ n("div", {
                    staticClass: "user"
                }, [ n("div", {
                    staticClass: "image align-middle"
                }, [ e.gif ? n("clazy-load", {
                    attrs: {
                        src: e.gif
                    }
                }, [ n("img", {
                    staticClass: "lazy init gif",
                    staticStyle: {
                        "max-width": "100%"
                    },
                    attrs: {
                        src: e.gif
                    }
                }) ]) : t._e(), t._v(" "), n("clazy-load", {
                    attrs: {
                        src: e.image
                    }
                }, [ n("img", {
                    staticClass: "lazy init",
                    staticStyle: {
                        "max-width": "100%"
                    },
                    attrs: {
                        src: e.image
                    }
                }) ]) ], 1), t._v(" "), n("div", {
                    staticClass: "text align-middle"
                }, [ n("div", {
                    staticClass: "name",
                    style: "color:" + e.color,
                    attrs: {
                        title: e.name
                    }
                }, [ t._v("\n                  " + t._s(e.name) + "\n                ") ]), t._v(" "), e.subText ? n("div", {
                    staticClass: "subtext"
                }, [ t._v("\n                  " + t._s(e.subText) + "\n                ") ]) : t._e() ]) ]) ]);
            })) ];
        })), t._v(" "), t._m(5), t._v(" "), n("a", {
            staticClass: "discord",
            staticStyle: {
                "min-height": "160px"
            },
            attrs: {
                rel: "noreferrer",
                href: "https://discord.com/invite/cTH4yaw"
            }
        }, [ n("div", {
            staticStyle: {
                height: "20px",
                margin: "-15px",
                "margin-top": "15px",
                background: "-webkit-linear-gradient(top, #fff 0%,#738bd7 74%)"
            }
        }), t._v(" "), n("clazy-load", {
            staticStyle: {
                background: "linear-gradient(to bottom, #738bd7 0%,#738bd7 64%,#697ec4 64%,#697ec4 100%)",
                "background-color": "#697ec4",
                position: "relative",
                overflow: "hidden",
                "margin-left": "-15px",
                "margin-right": "-15px",
                "margin-bottom": "-15px",
                "margin-top": "15px"
            },
            attrs: {
                src: "https://discord.com/api/guilds/358599430502481920/widget.png?style=banner3"
            }
        }, [ n("img", {
            staticStyle: {
                margin: "auto",
                display: "block"
            },
            attrs: {
                src: "https://discord.com/api/guilds/358599430502481920/widget.png?style=banner3"
            }
        }) ]) ], 1) ], 2) ]), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ n("li", {
            staticClass: "mdl-list__item"
        }, [ n("div", {
            staticStyle: {
                "line-height": "30px"
            }
        }, [ n("clazy-load", {
            attrs: {
                tag: "a",
                rel: "noreferrer",
                href: t.version.link,
                src: t.version.img
            }
        }, [ n("img", {
            attrs: {
                src: t.version.img
            }
        }), t._v(" "), n("span", {
            attrs: {
                slot: "placeholder"
            },
            slot: "placeholder"
        }, [ t._v("\n              " + t._s(t.lang("Loading")) + "\n            ") ]) ]), t._v(" "), n("br"), t._v(" "), n("clazy-load", {
            attrs: {
                tag: "a",
                rel: "noreferrer",
                href: "https://discord.com/invite/cTH4yaw",
                src: "https://img.shields.io/discord/358599430502481920.svg?style=flat-square&logo=discord&label=Chat%20%2F%20Support&colorB=7289DA"
            }
        }, [ n("img", {
            attrs: {
                src: "https://img.shields.io/discord/358599430502481920.svg?style=flat-square&logo=discord&label=Chat%20%2F%20Support&colorB=7289DA"
            }
        }), t._v(" "), n("span", {
            attrs: {
                slot: "placeholder"
            },
            slot: "placeholder"
        }, [ t._v("\n              " + t._s(t.lang("Loading")) + "\n            ") ]) ]), t._v(" "), n("br"), t._v(" "), n("clazy-load", {
            attrs: {
                tag: "a",
                rel: "noreferrer",
                href: "https://github.com/MALSync/MALSync",
                src: "https://img.shields.io/github/last-commit/MALSync/MALSync.svg?style=flat-square&logo=github&logoColor=white&label=Github"
            }
        }, [ n("img", {
            attrs: {
                src: "https://img.shields.io/github/last-commit/MALSync/MALSync.svg?style=flat-square&logo=github&logoColor=white&label=Github"
            }
        }), t._v(" "), n("span", {
            attrs: {
                slot: "placeholder"
            },
            slot: "placeholder"
        }, [ t._v("\n              " + t._s(t.lang("Loading")) + "\n            ") ]) ]), t._v(" "), n("br"), t._v(" "), n("clazy-load", {
            attrs: {
                tag: "a",
                rel: "noreferrer",
                href: "https://github.com/MALSync/MALSync/issues",
                src: "https://img.shields.io/github/issues/MALSync/MALSync.svg?style=flat-square&logo=github&logoColor=white"
            }
        }, [ n("img", {
            attrs: {
                src: "https://img.shields.io/github/issues/MALSync/MALSync.svg?style=flat-square&logo=github&logoColor=white"
            }
        }), t._v(" "), n("span", {
            attrs: {
                slot: "placeholder"
            },
            slot: "placeholder"
        }, [ t._v("\n              " + t._s(t.lang("Loading")) + "\n            ") ]) ]) ], 1) ]) ]) ], 1) ]);
    };
    i._withStripped = !0;
    var a = n(49).a, o = n(6), r = Object(o.a)(a, i, [ function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ n("select", {
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                id: "syncMode",
                name: "myinfo_score"
            }
        }, [ n("option", {
            attrs: {
                value: "MAL"
            }
        }, [ t._v("MyAnimeList API (Hybrid)") ]), t._v(" "), n("option", {
            attrs: {
                value: "ANILIST"
            }
        }, [ t._v("AniList") ]), t._v(" "), n("option", {
            attrs: {
                value: "KITSU"
            }
        }, [ t._v("Kitsu") ]), t._v(" "), n("option", {
            attrs: {
                value: "SIMKL"
            }
        }, [ t._v("Simkl") ]), t._v(" "), n("option", {
            attrs: {
                value: "MALAPI"
            }
        }, [ t._v("MyAnimeList API (Full) (BETA)") ]) ]) ]);
    }, function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ e("h2", {
            staticClass: "mdl-card__title-text"
        }, [ this._v("MyAnimeList") ]) ]);
    }, function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ e("h2", {
            staticClass: "mdl-card__title-text"
        }, [ this._v("\n          MyAnimeList / AniList / Kitsu / Simkl\n        ") ]) ]);
    }, function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ e("select", {
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                id: "theme",
                name: "myinfo_score"
            }
        }, [ e("option", {
            attrs: {
                value: "auto"
            }
        }, [ this._v("Auto") ]), this._v(" "), e("option", {
            attrs: {
                value: "light"
            }
        }, [ this._v("Light") ]), this._v(" "), e("option", {
            attrs: {
                value: "dark"
            }
        }, [ this._v("Dark") ]), this._v(" "), e("option", {
            attrs: {
                value: "serial"
            }
        }, [ this._v("Serial") ]) ]) ]);
    }, function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("li", {
            staticClass: "mdl-list__item"
        }, [ e("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ this._v("\n          List Sync\n        ") ]), this._v(" "), e("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ e("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            attrs: {
                id: "listSyncUi",
                type: "button"
            }
        }, [ this._v("\n            Sync\n          ") ]) ]) ]);
    }, function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("div", {
            staticClass: "user pop"
        }, [ e("div", {
            staticClass: "image align-middle"
        }, [ e("i", {
            staticClass: "material-icons",
            staticStyle: {
                color: "white",
                padding: "4px 4px",
                cursor: "pointer"
            }
        }, [ this._v("\n              arrow_right_alt\n            ") ]) ]) ]);
    } ], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/settings.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", {
            staticClass: "page-content"
        }, [ n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: !t.metaObj && !t.error,
                expression: "!metaObj && !error"
            } ],
            staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate",
            staticStyle: {
                width: "100%",
                position: "absolute",
                top: "0"
            },
            attrs: {
                id: "loadOverview"
            }
        }), t._v(" "), t.error ? n("span", {
            staticClass: "mdl-chip mdl-chip--deletable",
            staticStyle: {
                margin: "auto",
                "margin-top": "16px",
                display: "table"
            }
        }, [ n("span", {
            staticClass: "mdl-chip__text"
        }, [ t._v("Error") ]), t._v(" "), n("button", {
            staticClass: "mdl-chip__action",
            attrs: {
                type: "button"
            },
            on: {
                click: function(e) {
                    return t.clickRender();
                }
            }
        }, [ n("i", {
            staticClass: "material-icons"
        }, [ t._v("refresh") ]) ]) ]) : t._e(), t._v(" "), t.objError ? n("span", {
            staticClass: "mdl-chip mdl-chip--deletable",
            staticStyle: {
                margin: "auto",
                "margin-top": "16px",
                display: "table"
            }
        }, [ n("span", {
            directives: [ {
                name: "dompurify-html",
                rawName: "v-dompurify-html",
                value: t.objError,
                expression: "objError"
            } ],
            staticClass: "mdl-chip__text"
        }), t._v(" "), n("button", {
            staticClass: "mdl-chip__action",
            attrs: {
                type: "button"
            },
            on: {
                click: function(e) {
                    return t.reload();
                }
            }
        }, [ n("i", {
            staticClass: "material-icons"
        }, [ t._v("refresh") ]) ]) ]) : t._e(), t._v(" "), t.metaObj ? n("div", {
            staticClass: "mdl-grid"
        }, [ n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: t.statistics.length,
                expression: "statistics.length"
            } ],
            staticClass: "mdl-cell bg-cell mdl-cell--1-col mdl-cell--8-col-tablet mdl-cell--6-col-phone mdl-shadow--4dp stats-block malClear",
            staticStyle: {
                "min-width": "120px"
            }
        }, [ n("ul", {
            staticClass: "mdl-list mdl-grid mdl-grid--no-spacing mdl-cell mdl-cell--12-col",
            staticStyle: {
                display: "flex",
                "justify-content": "space-around"
            }
        }, t._l(t.statistics, (function(e) {
            return n("li", {
                key: e.title,
                staticClass: "mdl-list__item mdl-list__item--two-line",
                staticStyle: {
                    padding: "0",
                    "padding-left": "10px",
                    "padding-right": "3px",
                    "min-width": "18%"
                }
            }, [ n("span", {
                staticClass: "mdl-list__item-primary-content"
            }, [ n("span", [ t._v("\n              " + t._s(e.title) + "\n            ") ]), t._v(" "), n("span", {
                staticClass: "mdl-list__item-sub-title"
            }, [ t._v(t._s(e.body)) ]) ]) ]);
        })), 0) ]), t._v(" "), n("div", {
            staticClass: "mdl-grid mdl-cell bg-cell mdl-shadow--4dp coverinfo malClear",
            staticStyle: {
                display: "block",
                "flex-grow": "100",
                "min-width": "70%"
            }
        }, [ n("div", {
            staticClass: "mdl-card__media mdl-cell mdl-cell--2-col",
            staticStyle: {
                "background-color": "transparent",
                float: "left",
                "padding-right": "16px"
            }
        }, [ n("clazy-load", {
            staticClass: "malImage malClear",
            staticStyle: {
                width: "100%",
                height: "auto"
            },
            attrs: {
                src: t.image
            },
            on: {
                error: t.setQuestionmark
            }
        }, [ n("img", {
            staticStyle: {
                height: "auto",
                width: "100%"
            },
            attrs: {
                src: t.image
            },
            on: {
                error: t.setQuestionmark
            }
        }) ]) ], 1), t._v(" "), n("div", {
            staticClass: "mdl-cell mdl-cell--12-col"
        }, [ n("a", {
            staticClass: "mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-effect malClear malLink",
            staticStyle: {
                float: "right"
            },
            attrs: {
                href: t.displayUrl,
                target: "_blank"
            }
        }, [ n("i", {
            staticClass: "material-icons"
        }, [ t._v("open_in_new") ]) ]), t._v(" "), n("h1", {
            staticClass: "malTitle mdl-card__title-text malClear",
            staticStyle: {
                "padding-left": "0",
                overflow: "visible"
            }
        }, [ t._v(t._s(t.title)) ]), t._v(" "), n("div", {
            staticClass: "malAltTitle mdl-card__supporting-text malClear",
            staticStyle: {
                padding: "10px 0 0 0",
                overflow: "visible"
            }
        }, t._l(t.altTitle, (function(e) {
            return n("div", {
                key: e,
                staticClass: "mdl-chip",
                staticStyle: {
                    "margin-right": "5px"
                }
            }, [ n("span", {
                staticClass: "mdl-chip__text"
            }, [ t._v(t._s(e)) ]) ]);
        })), 0) ]), t._v(" "), n("div", {
            staticClass: "malDescription malClear mdl-cell mdl-cell--10-col",
            staticStyle: {
                overflow: "hidden"
            }
        }, [ n("p", {
            directives: [ {
                name: "dompurify-html",
                rawName: "v-dompurify-html",
                value: t.description,
                expression: "description"
            } ],
            staticStyle: {
                color: "black"
            }
        }), t._v(" "), t.renderObj && t.renderObj.isAuthenticated() ? n("div", {
            staticClass: "mdl-card__actions mdl-card--border",
            staticStyle: {
                "padding-left": "0"
            }
        }, [ t.renderObj.getStreamingUrl() ? n("div", {
            staticClass: "data title progress",
            staticStyle: {
                display: "inline-block",
                position: "relative",
                top: "2px",
                "margin-left": "-2px"
            }
        }, [ n("a", {
            staticClass: "stream mdl-button mdl-button--colored mdl-js-button mdl-button--raised",
            staticStyle: {
                margin: "10px 5px 0 0",
                color: "white"
            },
            attrs: {
                title: t.renderObj.getStreamingUrl().split("/")[2],
                target: "_blank",
                href: t.renderObj.getStreamingUrl()
            }
        }, [ n("img", {
            staticStyle: {
                "padding-bottom": "3px",
                "padding-right": "6px",
                "margin-left": "-3px"
            },
            attrs: {
                src: t.utils.favicon(t.renderObj.getStreamingUrl().split("/")[2])
            }
        }), t._v("\n              " + t._s(t.lang("overview_Continue_" + t.renderObj.getType())) + "\n            ") ]), t._v(" "), t.mal.continueUrl && t.mal.continueUrl.ep === t.renderObj.getEpisode() + 1 ? n("a", {
            staticClass: "nextStream mdl-button mdl-button--colored mdl-js-button mdl-button--raised",
            staticStyle: {
                margin: "10px 5px 0 0",
                color: "white"
            },
            attrs: {
                title: t.lang("overview_Next_Episode_" + t.renderObj.getType()),
                target: "_blank",
                href: t.mal.continueUrl.url
            }
        }, [ n("img", {
            staticStyle: {
                "padding-bottom": "3px",
                "padding-right": "6px",
                "margin-left": "-3px"
            },
            attrs: {
                src: t.assetUrl("double-arrow-16px.png"),
                width: "16",
                height: "16"
            }
        }), t._v(t._s(t.lang("overview_Next_Episode_" + t.renderObj.getType())) + "\n            ") ]) : t.mal.resumeUrl && t.mal.resumeUrl.ep === t.renderObj.getEpisode() ? n("a", {
            staticClass: "resumeStream mdl-button mdl-button--colored mdl-js-button mdl-button--raised",
            staticStyle: {
                margin: "10px 5px 0 0",
                color: "white"
            },
            attrs: {
                title: t.lang("overview_Resume_Episode_" + t.renderObj.getType()),
                target: "_blank",
                href: t.mal.resumeUrl.url
            }
        }, [ n("img", {
            staticStyle: {
                "padding-bottom": "3px",
                "padding-right": "6px",
                "margin-left": "-3px"
            },
            attrs: {
                src: t.assetUrl("arrow-16px.png"),
                width: "16",
                height: "16"
            }
        }), t._v(t._s(t.lang("overview_Resume_Episode_" + t.renderObj.getType())) + "\n            ") ]) : t._e() ]) : t._e() ]) : t._e() ]) ]), t._v(" "), t.renderObj.getProgress() && t.renderObj.getProgress().isAiring() && t.renderObj.getProgress().getPredictionText() ? n("div", {
            staticClass: "mdl-grid mdl-cell bg-cell mdl-shadow--4dp malClear",
            staticStyle: {
                width: "100%"
            }
        }, [ n("div", {
            staticClass: "mdl-cell",
            staticStyle: {
                width: "100%"
            }
        }, [ t._v("\n        " + t._s(t.renderObj.getProgress().getPredictionText()) + "\n      ") ]) ]) : t._e(), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--4-col mdl-cell--8-col-tablet mdl-shadow--4dp data-block mdl-grid mdl-grid--no-spacing malClear"
        }, [ n("table", {
            attrs: {
                border: "0",
                cellpadding: "0",
                cellspacing: "0",
                width: "100%"
            }
        }, [ n("tbody", [ n("li", {
            staticClass: "mdl-list__item mdl-list__item--three-line",
            staticStyle: {
                width: "100%"
            }
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ n("span", [ t._v(t._s(t.lang("UI_Status")) + " ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-text-body"
        }, [ n("select", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.malStatus,
                expression: "malStatus"
            } ],
            staticClass: "inputtext js-anime-status-dropdown mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                id: "myinfo_status",
                disabled: !this.renderObj || !this.renderObj.isAuthenticated(),
                name: "myinfo_status"
            },
            on: {
                change: function(e) {
                    var n = Array.prototype.filter.call(e.target.options, (function(t) {
                        return t.selected;
                    })).map((function(t) {
                        return "_value" in t ? t._value : t.value;
                    }));
                    t.malStatus = e.target.multiple ? n : n[0];
                }
            }
        }, t._l(t.renderObj.getStatusCheckbox(), (function(e) {
            return n("option", {
                key: e.value,
                domProps: {
                    value: e.value
                }
            }, [ t._v(t._s(e.label)) ]);
        })), 0) ]) ]) ]), t._v(" "), n("li", {
            staticClass: "mdl-list__item mdl-list__item--three-line",
            staticStyle: {
                width: "100%"
            }
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ n("span", [ t._v(t._s(t.utils.episode(t.renderObj.getType()))) ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-text-body"
        }, [ n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.malEpisode,
                expression: "malEpisode"
            } ],
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                width: "35px",
                display: "inline-block"
            },
            attrs: {
                id: "myinfo_watchedeps",
                disabled: !this.renderObj || !this.renderObj.isAuthenticated(),
                type: "text",
                name: "myinfo_watchedeps",
                size: "3",
                value: "6"
            },
            domProps: {
                value: t.malEpisode
            },
            on: {
                input: function(e) {
                    e.target.composing || (t.malEpisode = e.target.value);
                }
            }
        }), t._v("\n                /\n                "), t.renderObj.getProgress() && t.renderObj.getProgress().isAiring() && t.renderObj.getProgress().getCurrentEpisode() ? n("span", {
            attrs: {
                title: t.renderObj.getProgress().getAutoText()
            }
        }, [ t._v("\n                  [" + t._s(t.renderObj.getProgress().getCurrentEpisode()) + "]\n                ") ]) : t._e(), t._v(" "), t.renderObj && t.renderObj.getTotalEpisodes() ? n("span", {
            attrs: {
                id: "curEps"
            }
        }, [ t._v(t._s(t.renderObj.getTotalEpisodes())) ]) : n("span", [ t._v("?") ]), t._v(" "), !t.renderObj.getTotalEpisodes() || !t.renderObj.getEpisode() || t.renderObj.getEpisode() < t.renderObj.getTotalEpisodes() ? n("span", {
            staticClass: "material-icons ep-increment",
            on: {
                click: function(e) {
                    return t.increaseEP("episode");
                }
            }
        }, [ t._v("add") ]) : t._e() ]) ]) ]), t._v(" "), n("li", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: "manga" == t.renderObj.getType(),
                expression: "renderObj.getType() == 'manga'"
            } ],
            staticClass: "mdl-list__item mdl-list__item--three-line",
            staticStyle: {
                width: "100%"
            }
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ n("span", [ t._v(t._s(t.lang("UI_Volume"))) ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-text-body"
        }, [ n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.malVolume,
                expression: "malVolume"
            } ],
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                width: "35px",
                display: "inline-block"
            },
            attrs: {
                id: "myinfo_volumes",
                disabled: !this.renderObj || !this.renderObj.isAuthenticated(),
                type: "text",
                name: "myinfo_volumes",
                size: "3",
                value: "6"
            },
            domProps: {
                value: t.malVolume
            },
            on: {
                input: function(e) {
                    e.target.composing || (t.malVolume = e.target.value);
                }
            }
        }), t._v("\n                /\n                "), t.renderObj && t.renderObj.getTotalVolumes() ? n("span", {
            attrs: {
                id: "curVolumes"
            }
        }, [ t._v(t._s(t.renderObj.getTotalVolumes())) ]) : n("span", [ t._v("?") ]), t._v(" "), !t.renderObj.getTotalVolumes() || !t.renderObj.getVolume() || t.renderObj.getVolume() < t.renderObj.getTotalVolumes() ? n("span", {
            staticClass: "material-icons ep-increment",
            on: {
                click: function(e) {
                    return t.increaseEP("volume");
                }
            }
        }, [ t._v("add") ]) : t._e() ]) ]) ]), t._v(" "), n("li", {
            staticClass: "mdl-list__item mdl-list__item--three-line",
            staticStyle: {
                width: "100%"
            }
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ n("span", [ t._v(t._s(t.lang("UI_Score")) + " ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-text-body"
        }, [ n("select", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.malScore,
                expression: "malScore"
            } ],
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                id: "myinfo_score",
                disabled: !this.renderObj || !this.renderObj.isAuthenticated(),
                name: "myinfo_score"
            },
            on: {
                change: function(e) {
                    var n = Array.prototype.filter.call(e.target.options, (function(t) {
                        return t.selected;
                    })).map((function(t) {
                        return "_value" in t ? t._value : t.value;
                    }));
                    t.malScore = e.target.multiple ? n : n[0];
                }
            }
        }, t._l(t.renderObj.getScoreCheckbox(), (function(e) {
            return n("option", {
                key: e.value,
                domProps: {
                    value: e.value
                }
            }, [ t._v(t._s(e.label)) ]);
        })), 0) ]) ]) ]), t._v(" "), t.renderObj && t.renderObj.isAuthenticated() && t.renderObj.isOnList() && t.renderObj.getProgressOptions() && t.renderObj.getProgressOptions().length ? n("li", {
            staticClass: "mdl-list__item mdl-list__item--three-line",
            staticStyle: {
                width: "100%"
            }
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ n("span", [ t._v(t._s(t.lang("settings_progress_dropdown"))) ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-text-body"
        }, [ n("select", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.malProgressMode,
                expression: "malProgressMode"
            } ],
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                id: "myinfo_progressmode",
                name: "myinfo_progressmode"
            },
            on: {
                change: function(e) {
                    var n = Array.prototype.filter.call(e.target.options, (function(t) {
                        return t.selected;
                    })).map((function(t) {
                        return "_value" in t ? t._value : t.value;
                    }));
                    t.malProgressMode = e.target.multiple ? n : n[0];
                }
            }
        }, [ n("option", {
            attrs: {
                value: ""
            }
        }, [ t._v("\n                    " + t._s(t.lang("settings_progress_default")) + "\n                  ") ]), t._v(" "), t._l(t.renderObj.getProgressOptions(), (function(e) {
            return n("option", {
                key: e.key,
                domProps: {
                    value: e.key
                }
            }, [ t._v(t._s(e.value)) ]);
        })), t._v(" "), n("option", {
            attrs: {
                value: "off"
            }
        }, [ t._v("\n                    " + t._s(t.lang("settings_progress_disabled")) + "\n                  ") ]) ], 2) ]) ]) ]) : t._e(), t._v(" "), n("li", {
            staticClass: "mdl-list__item",
            staticStyle: {
                width: "100%"
            }
        }, [ t.renderObj && !t.renderObj.isOnList() ? n("input", {
            staticClass: "inputButton btn-middle flat js-anime-update-button mdl-button mdl-js-button mdl-button--raised mdl-button--accent",
            staticStyle: {
                "margin-right": "5px"
            },
            attrs: {
                type: "button",
                name: "myinfo_submit",
                value: t.lang("Add"),
                "data-upgraded": ",MaterialButton",
                disabled: !t.renderObj || !t.renderObj.isAuthenticated()
            },
            on: {
                click: function(e) {
                    return t.malSync();
                }
            }
        }) : n("input", {
            staticClass: "inputButton btn-middle flat js-anime-update-button mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            staticStyle: {
                "margin-right": "5px"
            },
            attrs: {
                type: "button",
                name: "myinfo_submit",
                value: t.lang("Update"),
                "data-upgraded": ",MaterialButton",
                disabled: !t.renderObj || !t.renderObj.isAuthenticated()
            },
            on: {
                click: function(e) {
                    return t.malSync();
                }
            }
        }), t._v(" "), t.editUrl && t.renderObj ? n("small", [ n("a", {
            attrs: {
                href: t.editUrl,
                target: "_blank"
            }
        }, [ t._v(t._s(t.lang("overview_EditDetails"))) ]) ]) : t._e(), t._v(" "), t.renderObj && !t.renderObj.isOnList() || void 0 === t.renderObj.delete ? t._e() : n("input", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--accent",
            staticStyle: {
                "margin-left": "auto"
            },
            attrs: {
                type: "button",
                value: t.lang("Remove")
            },
            on: {
                click: function(e) {
                    return t.remove();
                }
            }
        }), t._v(" "), n("i", {
            staticClass: "material-icons",
            staticStyle: {
                "margin-right": "0",
                "margin-left": "auto",
                cursor: "pointer"
            },
            on: {
                click: function(e) {
                    return t.reload();
                }
            }
        }, [ t._v("autorenew") ]) ]) ]) ]) ]), t._v(" "), n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: t.related.length,
                expression: "related.length"
            } ],
            staticClass: "mdl-grid mdl-grid--no-spacing mdl-cell bg-cell mdl-cell--4-col mdl-cell--8-col-tablet mdl-shadow--4dp related-block alternative-list mdl-grid malClear"
        }, [ n("ul", {
            staticClass: "mdl-list"
        }, t._l(t.related, (function(e) {
            return n("li", {
                key: e.url,
                staticClass: "mdl-list__item mdl-list__item--two-line"
            }, [ n("span", {
                staticClass: "mdl-list__item-primary-content"
            }, [ n("span", [ t._v("\n              " + t._s(e.type) + "\n            ") ]), t._v(" "), n("span", {
                staticClass: "mdl-list__item-sub-title"
            }, t._l(e.links, (function(e) {
                return n("div", {
                    key: e.title
                }, [ n("a", {
                    attrs: {
                        href: e.url
                    }
                }, [ t._v(t._s(e.title)) ]), t._v(" "), n("span", {
                    directives: [ {
                        name: "dompurify-html",
                        rawName: "v-dompurify-html",
                        value: e.statusTag,
                        expression: "link.statusTag"
                    } ]
                }) ]);
            })), 0) ]) ]);
        })), 0) ]), t._v(" "), n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: t.kiss2mal && t.kiss2mal.length,
                expression: "kiss2mal && kiss2mal.length"
            } ],
            staticClass: "mdl-grid mdl-grid--no-spacing bg-cell mdl-cell mdl-cell--4-col mdl-cell--8-col-tablet mdl-shadow--4dp mdl-grid alternative-list stream-block malClear"
        }, [ n("ul", {
            staticClass: "mdl-list stream-block-inner"
        }, t._l(t.kiss2mal, (function(e) {
            return n("li", {
                key: e.name,
                staticClass: "mdl-list__item mdl-list__item--three-line"
            }, [ n("span", {
                staticClass: "mdl-list__item-primary-content"
            }, [ n("span", [ n("img", {
                staticStyle: {
                    "padding-bottom": "3px"
                },
                attrs: {
                    src: t.getMal2KissFavicon(e.domain)
                }
            }), t._v("\n              " + t._s(e.name) + "\n            ") ]), t._v(" "), n("span", {
                staticClass: "mdl-list__item-text-body",
                attrs: {
                    id: "KissAnimeLinks"
                }
            }, t._l(e.links, (function(e) {
                return n("div", {
                    key: e.url,
                    staticClass: "mal_links"
                }, [ n("a", {
                    attrs: {
                        target: "_blank",
                        href: e.url
                    }
                }, [ t._v(t._s(e.name)) ]) ]);
            })), 0) ]) ]);
        })), 0) ]), t._v(" "), n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: t.characters.length > 0,
                expression: "characters.length > 0"
            } ],
            staticClass: "mdl-grid mdl-grid--no-spacing mdl-cell bg-cell mdl-cell--12-col mdl-shadow--4dp characters-block mdl-grid malClear"
        }, [ n("div", {
            staticClass: "mdl-card__actions clicker"
        }, [ n("h1", {
            staticClass: "mdl-card__title-text",
            staticStyle: {
                float: "left"
            }
        }, [ t._v("\n          " + t._s(t.lang("overview_Characters")) + "\n        ") ]) ]), t._v(" "), n("div", {
            staticClass: "mdl-grid mdl-card__actions mdl-card--border",
            staticStyle: {
                "justify-content": "space-between"
            },
            attrs: {
                id: "characterList"
            }
        }, [ t._l(t.characters, (function(e) {
            return n("div", {
                key: e.html
            }, [ n("div", {
                staticClass: "mdl-grid",
                staticStyle: {
                    width: "126px"
                }
            }, [ n("clazy-load", {
                staticStyle: {
                    width: "100%",
                    height: "auto"
                },
                attrs: {
                    src: e.img,
                    margin: "200px 0px",
                    threshold: .1,
                    ratio: .1
                }
            }, [ n("img", {
                staticStyle: {
                    height: "auto",
                    width: "100%"
                },
                attrs: {
                    src: e.img
                }
            }) ]), t._v(" "), n("div", [ n("a", {
                attrs: {
                    href: e.url
                }
            }, [ t._v("\n                " + t._s(e.name) + "\n              ") ]), t._v(" "), n("div", {
                staticClass: "spaceit_pad"
            }, [ n("small", [ t._v(t._s(e.subtext)) ]) ]) ]) ], 1) ]);
        })), t._v(" "), t._l(10, (function(t) {
            return n("div", {
                key: t,
                staticClass: "listPlaceholder",
                staticStyle: {
                    height: "0"
                }
            }, [ n("div", {
                staticClass: "mdl-grid",
                staticStyle: {
                    width: "126px"
                }
            }) ]);
        })) ], 2) ]), t._v(" "), t.openingSongs.length || t.endingSongs.length ? n("div", {
            staticClass: "mdl-grid mdl-cell bg-cell mdl-cell--12-col mdl-shadow--4dp info-block mdl-grid malClear"
        }, [ t.openingSongs.length ? n("li", {
            staticClass: "mdl-list__item mdl-list__item--three-line mdl-cell mdl-cell--6-col mdl-cell--12-col-tablet",
            staticStyle: {
                padding: "0",
                height: "auto"
            }
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content",
            staticStyle: {
                height: "auto"
            }
        }, [ n("span", [ t._v(t._s(t.lang("overview_OpeningTheme"))) ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-text-body",
            staticStyle: {
                height: "auto"
            }
        }, t._l(t.openingSongs, (function(e) {
            return n("span", {
                key: e,
                staticStyle: {
                    display: "block",
                    color: "rgb(255,64,129)"
                }
            }, [ t._v("\n              " + t._s(e) + "\n            ") ]);
        })), 0) ]) ]) : t._e(), t._v(" "), t.endingSongs.length ? n("li", {
            staticClass: "mdl-list__item mdl-list__item--three-line mdl-cell mdl-cell--6-col mdl-cell--12-col-tablet",
            staticStyle: {
                padding: "0",
                height: "auto"
            }
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content",
            staticStyle: {
                height: "auto"
            }
        }, [ n("span", [ t._v(t._s(t.lang("overview_EndingTheme"))) ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-text-body",
            staticStyle: {
                height: "auto"
            }
        }, t._l(t.endingSongs, (function(e) {
            return n("span", {
                key: e,
                staticStyle: {
                    display: "block",
                    color: "rgb(255,64,129)"
                }
            }, [ t._v("\n              " + t._s(e) + "\n            ") ]);
        })), 0) ]) ]) : t._e() ]) : t._e(), t._v(" "), n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: t.info.length,
                expression: "info.length"
            } ],
            staticClass: "mdl-grid mdl-grid--no-spacing mdl-cell bg-cell mdl-cell--12-col mdl-shadow--4dp info-block mdl-grid malClear"
        }, [ n("div", {
            staticClass: "mdl-grid mdl-grid--no-spacing mdl-cell mdl-cell--12-col mdl-shadow--4dp info-block mdl-grid malClear"
        }, [ n("ul", {
            staticClass: "mdl-grid mdl-grid--no-spacing mdl-list mdl-cell mdl-cell--12-col"
        }, t._l(t.info, (function(e) {
            return n("li", {
                key: e.title,
                staticClass: "mdl-list__item mdl-list__item--three-line mdl-cell mdl-cell--3-col mdl-cell--4-col-tablet",
                staticStyle: {
                    height: "auto"
                }
            }, [ n("span", {
                staticClass: "mdl-list__item-primary-content",
                staticStyle: {
                    height: "auto"
                }
            }, [ n("span", [ t._v("\n                " + t._s(e.title) + "\n              ") ]), t._v(" "), n("span", {
                staticClass: "mdl-list__item-text-body"
            }, t._l(e.body, (function(e, i) {
                return n("span", {
                    key: e.title
                }, [ i > 0 ? [ t._v(", ") ] : t._e(), e.url ? [ n("a", {
                    attrs: {
                        href: e.url
                    }
                }, [ t._v(t._s(e.text)) ]) ] : [ t._v(t._s(e.text)) ], e.subtext && e.subtext ? n("small", [ t._v(" " + t._s(e.subtext)) ]) : t._e() ], 2);
            })), 0) ]) ]);
        })), 0) ]) ]), t._v(" "), n("progressP", {
            attrs: {
                "api-cache-key": t.renderObj.getApiCacheKey(),
                type: t.renderObj.type,
                "total-eps": t.renderObj.getTotalEpisodes()
            }
        }) ], 1) : t._e() ]);
    };
    i._withStripped = !0;
    var a = n(61).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/overview.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", {
            staticClass: "page-content malClear",
            attrs: {
                id: "malRecommendations"
            }
        }, [ n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: "" == t.xhr,
                expression: "xhr == ''"
            } ],
            staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate",
            staticStyle: {
                width: "100%",
                position: "absolute"
            },
            attrs: {
                id: "loadOverview"
            }
        }), t._v(" "), n("span", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: "" != t.xhr && t.recommendations && 0 === t.recommendations.length,
                expression: "xhr != '' && recommendations && recommendations.length === 0"
            } ],
            staticClass: "mdl-chip",
            staticStyle: {
                margin: "auto",
                "margin-top": "16px",
                display: "table"
            }
        }, [ n("span", {
            staticClass: "mdl-chip__text"
        }, [ t._v(t._s(t.lang("NothingFound"))) ]) ]), t._v(" "), "" != t.xhr ? n("div", {
            staticClass: "mdl-grid"
        }, t._l(t.recommendations, (function(e) {
            return n("div", {
                key: e.titleName,
                staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp mdl-grid"
            }, [ n("div", {
                staticClass: "mdl-card__media",
                staticStyle: {
                    "background-color": "transparent",
                    margin: "8px"
                }
            }, [ n("a", {
                attrs: {
                    href: e.titleHref
                }
            }, [ n("img", {
                attrs: {
                    src: e.imageUrl,
                    width: "50"
                }
            }) ]) ]), t._v(" "), n("div", {
                staticClass: "mdl-cell",
                staticStyle: {
                    "flex-grow": "100"
                }
            }, [ n("div", [ n("a", {
                attrs: {
                    href: e.titleHref
                }
            }, [ n("strong", [ t._v(t._s(e.titleName)) ]) ]) ]), t._v(" "), n("div", [ n("div", {
                staticStyle: {
                    "white-space": "pre-wrap"
                }
            }, [ t._v(t._s(e.user.text)) ]), t._v(" "), n("div", [ t._v("\n            Recommended by "), n("a", {
                attrs: {
                    href: e.user.userHref
                }
            }, [ t._v(t._s(e.user.username)) ]) ]) ]), t._v(" "), e.children.length ? n("div", [ n("a", {
                staticClass: "nojs",
                attrs: {
                    href: "#"
                },
                on: {
                    click: function(n) {
                        return t.activeItems.push(e.titleName);
                    }
                }
            }, [ t._v("Read recommendations by " + t._s(e.children.length) + " more user") ]), t._v(" "), n("div", {
                directives: [ {
                    name: "show",
                    rawName: "v-show",
                    value: t.activeItems.includes(e.titleName),
                    expression: "activeItems.includes(rec.titleName)"
                } ],
                staticClass: "more"
            }, t._l(e.children, (function(e, i) {
                return n("div", {
                    key: e.username,
                    staticStyle: {
                        padding: "3px",
                        margin: "4px 0"
                    }
                }, [ n("div", {
                    staticStyle: {
                        "white-space": "pre-wrap"
                    }
                }, [ n("span", [ t._v(t._s(e.text)) ]), e.readmore ? n("span", [ n("a", {
                    directives: [ {
                        name: "show",
                        rawName: "v-show",
                        value: !t.activeReadMores.includes(i),
                        expression: "!activeReadMores.includes(index)"
                    } ],
                    staticClass: "nojs",
                    attrs: {
                        href: "#"
                    },
                    on: {
                        click: function(e) {
                            return t.activeReadMores.push(i);
                        }
                    }
                }, [ t._v(" read more") ]), t._v(" "), n("span", {
                    directives: [ {
                        name: "show",
                        rawName: "v-show",
                        value: t.activeReadMores.includes(i),
                        expression: "activeReadMores.includes(index)"
                    } ]
                }, [ t._v(t._s(e.readmore)) ]) ]) : t._e() ]), t._v(" "), n("div", [ t._v("\n                Recommended by "), n("a", {
                    attrs: {
                        href: e.userHref
                    }
                }, [ t._v(t._s(e.username)) ]) ]) ]);
            })), 0) ]) : t._e() ]) ]);
        })), 0) : t._e() ]);
    };
    i._withStripped = !0;
    var a = n(64).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/recommendations.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", [ n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: t.loading,
                expression: "loading"
            } ],
            staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate",
            staticStyle: {
                width: "100%",
                position: "fixed",
                "z-index": "30",
                "max-width": "1377px",
                "margin-left": "auto",
                "margin-right": "auto"
            },
            attrs: {
                id: "loadMalSearchPop"
            }
        }, [ n("div", {
            staticClass: "progressbar bar bar1",
            staticStyle: {
                width: "0%"
            }
        }), t._v(" "), n("div", {
            staticClass: "bufferbar bar bar2",
            staticStyle: {
                width: "100%"
            }
        }), t._v(" "), n("div", {
            staticClass: "auxbar bar bar3",
            staticStyle: {
                width: "0%"
            }
        }) ]), t._v(" "), t._t("default", null, {
            sorting: t.listProvider ? t.listProvider.getSortingOptions(!0) : []
        }), t._v(" "), t.loading || t.items.length || t.errorText ? t._e() : n("span", {
            staticClass: "mdl-chip",
            staticStyle: {
                margin: "auto",
                "margin-top": "16px",
                display: "table"
            }
        }, [ n("span", {
            staticClass: "mdl-chip__text"
        }, [ t._v(t._s(t.lang("NoEntries"))) ]) ]), t._v(" "), t.listView ? n("div", {
            staticStyle: {
                padding: "0 20px 20px 20px"
            }
        }, [ t.cache && t.errorText ? t._e() : n("table", {
            staticClass: "mdl-data-table mdl-js-data-table mdl-data-table--selectable mdl-shadow--2dp bg-cell",
            staticStyle: {
                width: "100%"
            },
            attrs: {
                id: "malList"
            }
        }, [ n("tbody", [ t._l(t.items, (function(e) {
            return [ n("bookmarksItem", {
                key: e.uid,
                ref: e.uid,
                refInFor: !0,
                attrs: {
                    item: e,
                    "list-view": t.listView
                }
            }) ];
        })) ], 2) ]) ]) : [ t.cache && t.errorText ? t._e() : n("div", {
            staticClass: "mdl-grid",
            staticStyle: {
                "justify-content": "space-around"
            },
            attrs: {
                id: "malList"
            }
        }, [ t._l(t.items, (function(t) {
            return [ n("bookmarksItem", {
                key: t.uid,
                ref: t.uid,
                refInFor: !0,
                attrs: {
                    item: t
                }
            }) ];
        })), t._v(" "), t._l(10, (function(t) {
            return n("div", {
                key: t,
                staticClass: "listPlaceholder mdl-cell mdl-cell--2-col mdl-cell--4-col-tablet mdl-cell--6-col-phone mdl-shadow--2dp mdl-grid ",
                staticStyle: {
                    cursor: "pointer",
                    padding: "0",
                    width: "210px",
                    height: "0",
                    "margin-top": "0",
                    "margin-bottom": "0",
                    visibility: "hidden"
                }
            });
        })) ], 2) ], t._v(" "), t.errorText ? n("span", {
            staticClass: "mdl-chip",
            staticStyle: {
                margin: "16px auto 70px auto",
                display: "table",
                "padding-right": "5px",
                border: "2px solid red"
            },
            on: {
                click: function(e) {
                    !t.loading && t.load();
                }
            }
        }, [ n("span", {
            directives: [ {
                name: "dompurify-html",
                rawName: "v-dompurify-html",
                value: t.errorText,
                expression: "errorText"
            } ],
            staticClass: "mdl-chip__text"
        }), t._v(" "), t._m(0) ]) : t._e() ], 2);
    };
    i._withStripped = !0;
    var a = n(65).a, o = n(6), r = Object(o.a)(a, i, [ function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("button", {
            staticClass: "mdl-chip__action",
            attrs: {
                type: "button"
            }
        }, [ e("i", {
            staticClass: "material-icons"
        }, [ this._v("autorenew") ]) ]);
    } ], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/bookmarks.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", [ n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: t.loading,
                expression: "loading"
            } ],
            staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate",
            staticStyle: {
                width: "100%",
                position: "absolute"
            },
            attrs: {
                id: "loadMalSearchPop"
            }
        }), t._v(" "), t._t("default"), t._v(" "), n("div", {
            staticClass: "mdl-grid"
        }, [ t.loading || t.items.length ? t._e() : n("span", {
            staticClass: "mdl-chip",
            staticStyle: {
                margin: "auto",
                "margin-top": "16px",
                display: "table"
            }
        }, [ n("span", {
            staticClass: "mdl-chip__text"
        }, [ t._v(t._s(t.lang("NoEntries"))) ]) ]), t._v(" "), t._l(t.items, (function(e) {
            return n("a", {
                key: e.id,
                staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--2dp mdl-grid searchItem nojs",
                staticStyle: {
                    cursor: "pointer"
                },
                attrs: {
                    href: e.url
                },
                on: {
                    click: function(n) {
                        return t.clickItem(n, e);
                    }
                }
            }, [ n("img", {
                staticStyle: {
                    margin: "-8px 0 -8px -8px",
                    height: "100px",
                    width: "64px",
                    "background-color": "grey"
                },
                attrs: {
                    src: e.image
                }
            }), t._v(" "), n("div", {
                staticClass: "mdl-cell",
                staticStyle: {
                    "flex-grow": "100",
                    cursor: "pointer",
                    "margin-top": "0",
                    "margin-bottom": "0"
                }
            }, [ n("span", {
                staticStyle: {
                    "font-size": "20px",
                    "font-weight": "400",
                    "line-height": "1"
                }
            }, [ t._v(t._s(e.name)) ]), t._v(" "), n("p", {
                staticStyle: {
                    "margin-bottom": "0",
                    "line-height": "20px",
                    "padding-top": "3px"
                }
            }, [ t._v("\n          " + t._s(t.lang("search_Type")) + " " + t._s(e.media_type) + "\n        ") ]), t._v(" "), n("p", {
                staticStyle: {
                    "margin-bottom": "0",
                    "line-height": "20px"
                }
            }, [ t._v(t._s(t.lang("search_Score")) + " " + t._s(e.score)) ]), t._v(" "), n("p", {
                staticStyle: {
                    "margin-bottom": "0",
                    "line-height": "20px"
                }
            }, [ t._v(t._s(t.lang("search_Year")) + " " + t._s(e.year)) ]) ]) ]);
        })) ], 2) ], 2);
    };
    i._withStripped = !0;
    var a = n(67).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/search.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", [ n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--primary refresh-updateCheck",
            on: {
                click: function(e) {
                    return t.load();
                }
            }
        }, [ t._v("\n    " + t._s(t.lang("updateCheck_Refresh")) + "\n  ") ]), t._v(" "), n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--accent startCheck-updateCheck",
            on: {
                click: function(e) {
                    return t.startCheck();
                }
            }
        }, [ t._v("\n    " + t._s(t.lang("updateCheck_StartCheck")) + "\n  ") ]), t._v(" "), n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--accent notification-updateCheck",
            on: {
                click: function(e) {
                    return t.notificationTest();
                }
            }
        }, [ t._v("\n    " + t._s(t.lang("updateCheck_NotificationCheck")) + "\n  ") ]), t._v(" "), n("select", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.listType,
                expression: "listType"
            } ],
            staticClass: "typeSelect-updateCheck",
            staticStyle: {
                float: "right"
            },
            on: {
                change: function(e) {
                    var n = Array.prototype.filter.call(e.target.options, (function(t) {
                        return t.selected;
                    })).map((function(t) {
                        return "_value" in t ? t._value : t.value;
                    }));
                    t.listType = e.target.multiple ? n : n[0];
                }
            }
        }, [ n("option", {
            attrs: {
                value: "anime"
            }
        }, [ t._v("Anime") ]), t._v(" "), n("option", {
            attrs: {
                value: "manga"
            }
        }, [ t._v("Manga") ]) ]), t._v(" "), n("table", {
            staticClass: "mdl-data-table mdl-js-data-table mdl-data-table__cell--non-numeric mdl-shadow--2dp",
            staticStyle: {
                "white-space": "normal"
            }
        }, [ n("tr", [ n("th", {
            staticClass: "mdl-data-table__cell--non-numeric"
        }), t._v(" "), n("th", [ t._v(t._s(t.lang("updateCheck_Episode"))) ]), t._v(" "), n("th", [ t._v(t._s(t.lang("updateCheck_Message"))) ]) ]), t._v(" "), t._l(t.items, (function(e) {
            return n("tr", {
                key: e.uid,
                style: {
                    backgroundColor: e.trColor
                }
            }, [ n("th", {
                staticClass: "mdl-data-table__cell--non-numeric"
            }, [ n("button", {
                staticClass: "mdl-button mdl-js-button mdl-button--icon delete-updateCheck",
                on: {
                    click: function(n) {
                        return t.deleteItem(e);
                    }
                }
            }, [ n("i", {
                staticClass: "material-icons"
            }, [ t._v("delete") ]) ]), t._v(" "), n("a", {
                staticStyle: {
                    color: "black"
                },
                attrs: {
                    href: e.url
                }
            }, [ t._v("\n          " + t._s(e.title) + "\n        ") ]) ]), t._v(" "), n("th", [ t._v(t._s(e.episode)) ]), t._v(" "), n("th", [ t._v(t._s(e.error)) ]) ]);
        })) ], 2), t._v(" "), n("div", {
            staticClass: "history"
        }, [ n("h3", [ t._v(t._s(t.lang("updateCheck_NotificationHistory"))) ]), t._v(" "), t._l(t.history, (function(e) {
            return n("a", {
                key: e.id,
                staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--2dp mdl-grid",
                staticStyle: {
                    "text-decoration": "none !important",
                    color: "black"
                },
                attrs: {
                    href: e.url
                }
            }, [ n("img", {
                staticStyle: {
                    margin: "-8px 0 -8px -8px",
                    height: "100px",
                    width: "64px",
                    "background-color": "grey"
                },
                attrs: {
                    src: e.iconUrl
                }
            }), t._v(" "), n("div", {
                staticClass: "mdl-cell",
                staticStyle: {
                    "flex-grow": "100",
                    cursor: "pointer",
                    "margin-top": "0",
                    "margin-bottom": "0"
                }
            }, [ n("span", {
                staticStyle: {
                    "font-size": "20px",
                    "font-weight": "400",
                    "line-height": "1"
                }
            }, [ t._v(t._s(e.title)) ]), t._v(" "), n("p", {
                staticStyle: {
                    "margin-bottom": "0",
                    "line-height": "20px",
                    "padding-top": "3px"
                }
            }, [ t._v("\n          " + t._s(e.message) + "\n        ") ]), t._v(" "), n("p", {
                staticStyle: {
                    "margin-bottom": "0",
                    "line-height": "20px"
                }
            }, [ t._v("\n          " + t._s(e.timeDiff) + "\n        ") ]) ]) ]);
        })) ], 2) ]);
    };
    i._withStripped = !0;
    var a = n(68).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/updateCheck.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", [ n("backbutton"), t._v(" "), n("div", {
            staticClass: "mdl-grid bg-cell",
            staticStyle: {
                display: "block",
                margin: "10px"
            }
        }, [ t._m(0), t._v(" "), n("div", [ t._t("default") ], 2), t._v(" "), n("div", {
            staticStyle: {
                display: "inline-block",
                "margin-right": "40px",
                "padding-left": "10px",
                "margin-bottom": "20px"
            },
            style: t.getTypeColor(t.getType("myanimelist.net"))
        }, [ t._v("\n      MyAnimeList "), t.listProvider.mal.master ? n("span", [ t._v("(Master)") ]) : t._e(), n("br"), t._v(" "), n("span", {
            directives: [ {
                name: "dompurify-html",
                rawName: "v-dompurify-html",
                value: t.listProvider.mal.text,
                expression: "listProvider.mal.text"
            } ]
        }), n("br"), t._v(" "), t.listProvider.mal.list ? n("span", [ t._v("List: " + t._s(t.listProvider.mal.list.length)) ]) : t._e(), n("br"), t._v(" "), n("br") ]), t._v(" "), n("div", {
            staticStyle: {
                display: "inline-block",
                "margin-right": "40px",
                "padding-left": "10px",
                "margin-bottom": "20px"
            },
            style: t.getTypeColor(t.getType("anilist.co"))
        }, [ t._v("\n      AniList "), t.listProvider.anilist.master ? n("span", [ t._v("(Master)") ]) : t._e(), n("br"), t._v(" "), n("span", {
            directives: [ {
                name: "dompurify-html",
                rawName: "v-dompurify-html",
                value: t.listProvider.anilist.text,
                expression: "listProvider.anilist.text"
            } ]
        }), t._v(" "), n("br"), t._v(" "), t.listProvider.anilist.list ? n("span", [ t._v("List: " + t._s(t.listProvider.anilist.list.length)) ]) : t._e(), n("br"), t._v(" "), n("br") ]), t._v(" "), n("div", {
            staticStyle: {
                display: "inline-block",
                "margin-right": "40px",
                "padding-left": "10px",
                "margin-bottom": "20px"
            },
            style: t.getTypeColor(t.getType("kitsu.io"))
        }, [ t._v("\n      Kitsu "), t.listProvider.kitsu.master ? n("span", [ t._v("(Master)") ]) : t._e(), n("br"), t._v(" "), n("span", {
            directives: [ {
                name: "dompurify-html",
                rawName: "v-dompurify-html",
                value: t.listProvider.kitsu.text,
                expression: "listProvider.kitsu.text"
            } ]
        }), n("br"), t._v(" "), t.listProvider.kitsu.list ? n("span", [ t._v("List: " + t._s(t.listProvider.kitsu.list.length)) ]) : t._e(), n("br"), t._v(" "), n("br") ]), t._v(" "), n("div", {
            staticStyle: {
                display: "inline-block",
                "margin-right": "40px",
                "padding-left": "10px",
                "margin-bottom": "20px"
            },
            style: t.getTypeColor(t.getType("simkl.com"))
        }, [ t._v("\n      Simkl "), t.listProvider.simkl.master ? n("span", [ t._v("(Master)") ]) : t._e(), n("br"), t._v(" "), n("span", {
            directives: [ {
                name: "dompurify-html",
                rawName: "v-dompurify-html",
                value: t.listProvider.simkl.text,
                expression: "listProvider.simkl.text"
            } ]
        }), n("br"), t._v(" "), t.listProvider.simkl.list ? n("span", [ t._v("List: " + t._s(t.listProvider.simkl.list.length)) ]) : t._e(), n("br"), t._v(" "), n("br") ]), t._v(" "), n("br"), t._v(" "), n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            staticStyle: {
                "margin-bottom": "20px"
            },
            attrs: {
                type: "button",
                disabled: !t.listReady
            },
            on: {
                click: function(e) {
                    return t.syncList();
                }
            }
        }, [ t._v("\n      Sync\n    ") ]), t._v(" "), "webextension" == t.apiType() ? n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            staticStyle: {
                "margin-bottom": "20px",
                float: "right"
            },
            attrs: {
                type: "button"
            },
            on: {
                click: function(e) {
                    return t.backgroundClick();
                }
            }
        }, [ t.isBackgroundEnabled ? [ t._v("\n        Background Sync Enabled\n      ") ] : [ t._v("\n        Sync in Background\n      ") ] ], 2) : t._e(), t._v(" "), t.listLength ? n("span", [ t._v(t._s(t.listLength - t.listSyncLength) + "/" + t._s(t.listLength)) ]) : t._e(), t._v(" "), t._l(t.listDiff, (function(e, i) {
            return n("div", {
                key: i,
                staticStyle: {
                    border: "1px solid black",
                    display: "flex",
                    "flex-wrap": "wrap",
                    "margin-bottom": "10px"
                }
            }, [ n("div", {
                staticStyle: {
                    width: "100%",
                    "border-bottom": "1px solid black",
                    padding: "0 5px"
                }
            }, [ t._v("\n        " + t._s(e.master.title) + "\n      ") ]), t._v(" "), n("div", {
                staticStyle: {
                    width: "50px",
                    "border-right": "1px solid black",
                    padding: "5px"
                }
            }, [ t._v("\n        " + t._s(i) + "\n      ") ]), t._v(" "), e.master && e.master.uid ? n("div", {
                staticClass: "master",
                staticStyle: {
                    "background-color": "#ffd5d5",
                    "border-right": "1px solid black",
                    padding: "5px 10px",
                    width: "70px"
                },
                style: t.getTypeColor(t.getType(e.master.url))
            }, [ t._v("\n        ID: "), n("a", {
                attrs: {
                    target: "_blank",
                    href: e.master.url
                }
            }, [ t._v(t._s(e.master.uid)) ]), n("br"), t._v("\n        EP: " + t._s(e.master.watchedEp)), n("br"), t._v("\n        Status: " + t._s(e.master.status)), n("br"), t._v("\n        Score: " + t._s(e.master.score) + "\n      ") ]) : t._e(), t._v(" "), t._l(e.slaves, (function(e) {
                return n("div", {
                    key: e.uid,
                    staticClass: "slave",
                    staticStyle: {
                        "border-right": "1px solid black",
                        padding: "5px 10px",
                        width: "100px"
                    },
                    style: t.getTypeColor(t.getType(e.url))
                }, [ t._v("\n        ID: "), n("a", {
                    attrs: {
                        target: "_blank",
                        href: e.url
                    }
                }, [ t._v(t._s(e.uid)) ]), n("br"), t._v("\n        EP: " + t._s(e.watchedEp) + "\n        "), e.diff && e.diff.watchedEp ? n("span", {
                    staticStyle: {
                        color: "green"
                    }
                }, [ t._v("→ " + t._s(e.diff.watchedEp)) ]) : t._e(), n("br"), t._v("\n        Status: " + t._s(e.status) + "\n        "), e.diff && e.diff.status ? n("span", {
                    staticStyle: {
                        color: "green"
                    }
                }, [ t._v("→ " + t._s(e.diff.status)) ]) : t._e(), n("br"), t._v("\n        Score: " + t._s(e.score) + "\n        "), e.diff && e.diff.score ? n("span", {
                    staticStyle: {
                        color: "green"
                    }
                }, [ t._v("→ " + t._s(e.diff.score)) ]) : t._e() ]);
            })) ], 2);
        })), t._v(" "), t.missing.length ? n("div", [ n("h2", [ t._v("Missing") ]), t._v(" "), t._l(t.missing, (function(e) {
            return n("div", {
                key: e.url,
                staticStyle: {
                    border: "1px solid black",
                    display: "flex",
                    "flex-wrap": "wrap",
                    "margin-bottom": "10px"
                }
            }, [ n("div", {
                staticStyle: {
                    width: "50px",
                    "border-right": "1px solid black",
                    padding: "5px"
                }
            }, [ n("a", {
                attrs: {
                    target: "_blank",
                    href: e.url
                }
            }, [ t._v(t._s(e.malId)) ]) ]), t._v(" "), n("div", {
                staticStyle: {
                    padding: "5px 10px"
                },
                style: t.getTypeColor(e.syncType)
            }, [ t._v("\n          " + t._s(e.title)), n("br"), t._v("\n          EP: " + t._s(e.watchedEp)), n("br"), t._v("\n          Status: " + t._s(e.status)), n("br"), t._v("\n          Score: " + t._s(e.score) + "\n        ") ]), t._v(" "), e.error ? n("div", {
                staticStyle: {
                    color: "red",
                    width: "100%",
                    "border-top": "1px solid"
                }
            }, [ t._v("\n          " + t._s(e.error) + "\n        ") ]) : t._e() ]);
        })) ], 2) : t._e() ], 2) ], 1);
    };
    i._withStripped = !0;
    var a = n(69).a, o = n(6), r = Object(o.a)(a, i, [ function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("div", {
            staticStyle: {
                "margin-bottom": "20px"
            }
        }, [ this._v("\n      This feature is still in beta. Use at your own risk. More info\n      "), e("a", {
            attrs: {
                href: "https://github.com/MALSync/MALSync/wiki/List-Sync"
            }
        }, [ this._v("Here") ]) ]);
    } ], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/listSync/listSync.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", {
            staticClass: "mdl-grid bg-cell",
            staticStyle: {
                display: "block"
            }
        }, [ n("h5", [ t._v("This script removes all malsync::xxxxx:: from your list.") ]), t._v(" "), n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            staticStyle: {
                "margin-bottom": "20px"
            },
            attrs: {
                type: "button",
                disabled: t.animeLoading
            },
            on: {
                click: function(e) {
                    return t.cleanTags();
                }
            }
        }, [ t._v("\n    Clean Up Mal-Sync Tags\n  ") ]), t._v(" "), n("br"), t._v("\n  Anime:\n  "), t.animeLoading && !t.animelistLength ? n("span", [ t._v("Loading") ]) : t._e(), t._v(" "), t.animelistLength ? n("span", [ t._v(t._s(t.animelistLength - t.animelist.length) + "/" + t._s(t.animelistLength)) ]) : t._e(), t._v(" "), n("br"), t._v("\n  Manga:\n  "), t.mangaLoading && !t.mangalistLength ? n("span", [ t._v("Loading") ]) : t._e(), t._v(" "), t.mangalistLength ? n("span", [ t._v(t._s(t.mangalistLength - t.mangalist.length) + "/" + t._s(t.mangalistLength)) ]) : t._e(), n("br") ]);
    };
    i._withStripped = !0;
    var a = n(71).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/cleanTags/cleanTags.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", [ n("backbutton"), t._v(" "), n("div", {
            staticClass: "mdl-grid",
            staticStyle: {
                display: "block"
            }
        }, [ n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--12-col"
        }, t._l(t.pages, (function(e) {
            return n("div", {
                key: e.name
            }, [ n("li", {
                staticClass: "mdl-list__item",
                staticStyle: {
                    "padding-top": "0",
                    "padding-bottom": "0"
                }
            }, [ n("span", {
                staticClass: "mdl-list__item-primary-content"
            }, [ n("a", {
                attrs: {
                    href: t.getDomain(e)
                }
            }, [ n("img", {
                staticStyle: {
                    "margin-right": "5px"
                },
                attrs: {
                    src: t.favicon(t.getDomain(e)),
                    height: "16",
                    width: "16"
                }
            }), t._v("\n              " + t._s(e.name) + "\n            ") ]) ]), t._v(" "), n("span", {
                staticClass: "mdl-list__item-secondary-action"
            }, [ n("label", {
                staticClass: "mdl-switch mdl-js-switch mdl-js-ripple-effect",
                attrs: {
                    for: e.name
                }
            }, [ n("input", {
                staticClass: "mdl-switch__input",
                attrs: {
                    id: e.name,
                    type: "checkbox"
                },
                domProps: {
                    checked: t.getPageState(e)
                },
                on: {
                    change: function(n) {
                        return t.setPageState(e, n.target.checked);
                    }
                }
            }) ]) ]) ]) ]);
        })), 0) ]) ], 1);
    };
    i._withStripped = !0;
    var a = n(72).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/allSites.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", {
            staticClass: "page-content malClear",
            attrs: {
                id: "malReviews"
            }
        }, [ n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: "" == t.xhr,
                expression: "xhr == ''"
            } ],
            staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate",
            staticStyle: {
                width: "100%",
                position: "absolute"
            },
            attrs: {
                id: "loadOverview"
            }
        }), t._v(" "), n("span", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: "" != t.xhr && t.reviews && 0 === t.reviews.length,
                expression: "xhr != '' && reviews && reviews.length === 0"
            } ],
            staticClass: "mdl-chip",
            staticStyle: {
                margin: "auto",
                "margin-top": "16px",
                display: "table"
            }
        }, [ n("span", {
            staticClass: "mdl-chip__text"
        }, [ t._v(t._s(t.lang("NothingFound"))) ]) ]), t._v(" "), "" != t.xhr ? n("div", {
            staticClass: "mdl-grid"
        }, t._l(t.reviews, (function(e, i) {
            return n("div", {
                key: e.username,
                staticClass: "mdl-cell bg-cell mdl-cell--12-col mdl-shadow--4dp"
            }, [ n("div", {
                staticClass: "mdl-card__supporting-text mdl-card--border",
                staticStyle: {
                    color: "black"
                }
            }, [ n("div", {
                staticStyle: {
                    float: "right",
                    "text-align": "right",
                    "max-width": "60%"
                }
            }, [ n("div", [ t._v(t._s(e.rDate)) ]), t._v(" "), n("div", [ t._v(t._s(e.rEpisodes)) ]), t._v(" "), n("div", [ t._v("Overall Rating: " + t._s(e.rRating)) ]) ]), t._v(" "), n("div", {
                staticStyle: {
                    float: "left",
                    "max-width": "60%"
                }
            }, [ n("table", {
                attrs: {
                    border: "0",
                    cellpadding: "0",
                    cellspacing: "0",
                    width: "100%"
                }
            }, [ n("tbody", [ n("tr", [ n("td", {
                attrs: {
                    valign: "top",
                    width: "60"
                }
            }, [ n("div", [ n("a", {
                attrs: {
                    href: e.userHref
                }
            }, [ n("img", {
                attrs: {
                    src: e.userImage,
                    width: "48"
                }
            }) ]) ]) ]), t._v(" "), n("td", {
                attrs: {
                    valign: "top"
                }
            }, [ n("a", {
                attrs: {
                    href: e.userHref
                }
            }, [ t._v(t._s(e.username)) ]), t._v(" "), n("small", [ t._v("("), n("a", {
                attrs: {
                    href: e.userHref + "/reviews"
                }
            }, [ t._v("All reviews") ]), t._v(")") ]), n("br"), t._v(" "), e.rPeople ? n("div", [ n("strong", [ n("span", [ t._v(t._s(e.rPeople)) ]) ]), t._v("\n                    people found this review helpful\n                  ") ]) : t._e() ]) ]) ]) ]) ]) ]), t._v(" "), n("div", {
                staticClass: "mdl-card__supporting-text",
                staticStyle: {
                    color: "black"
                }
            }, [ n("div", t._l(e.rText, (function(e, i) {
                return n("p", {
                    key: i
                }, [ t._v(t._s(e)) ]);
            })), 0), t._v(" "), e.rReadmore ? n("div", [ n("a", {
                directives: [ {
                    name: "show",
                    rawName: "v-show",
                    value: !t.activeReadMores.includes(i),
                    expression: "!activeReadMores.includes(index)"
                } ],
                staticClass: "nojs",
                attrs: {
                    href: "#"
                },
                on: {
                    click: function(e) {
                        return t.activeReadMores.push(i);
                    }
                }
            }, [ t._v("read more") ]), t._v(" "), t._l(e.rReadmore, (function(e, a) {
                return n("p", {
                    directives: [ {
                        name: "show",
                        rawName: "v-show",
                        value: t.activeReadMores.includes(i),
                        expression: "activeReadMores.includes(index)"
                    } ],
                    key: a
                }, [ t._v("\n            " + t._s(e) + "\n          ") ]);
            })) ], 2) : t._e() ]) ]);
        })), 0) : t._e() ]);
    };
    i._withStripped = !0;
    var a = n(73).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/reviews.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", [ n("backbutton"), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ n("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ n("h2", {
            staticClass: "mdl-card__title-text"
        }, [ t._v(t._s(t.lang("settings_custom_domains_button"))) ]) ]), t._v(" "), t._m(0) ]), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ t._l(t.permissions, (function(e, i) {
            return n("div", {
                key: i
            }, [ n("li", {
                staticClass: "mdl-list__item",
                staticStyle: {
                    "padding-top": "0",
                    "padding-bottom": "0"
                }
            }, [ n("div", {
                staticClass: "icon material-icons close-icon",
                on: {
                    click: function(e) {
                        return t.removePermission(i);
                    }
                }
            }, [ t._v("\n          close\n        ") ]), t._v(" "), n("span", {
                staticClass: "mdl-list__item-primary-content"
            }, [ n("select", {
                directives: [ {
                    name: "model",
                    rawName: "v-model",
                    value: e.page,
                    expression: "perm.page"
                } ],
                staticClass: "inputtext mdl-textfield__input",
                class: {
                    error: !t.pageCheck(e.page)
                },
                staticStyle: {
                    outline: "none",
                    "margin-left": "10px",
                    "margin-right": "10px"
                },
                attrs: {
                    name: "myinfo_score"
                },
                on: {
                    change: function(n) {
                        var i = Array.prototype.filter.call(n.target.options, (function(t) {
                            return t.selected;
                        })).map((function(t) {
                            return "_value" in t ? t._value : t.value;
                        }));
                        t.$set(e, "page", n.target.multiple ? i : i[0]);
                    }
                }
            }, [ n("option", {
                attrs: {
                    value: "",
                    disabled: "",
                    selected: ""
                }
            }, [ t._v("Select Page") ]), t._v(" "), n("option", {
                attrs: {
                    value: "iframe"
                }
            }, [ t._v("Video Iframe") ]), t._v(" "), t._l(t.pages, (function(e, i) {
                return n("option", {
                    key: i,
                    domProps: {
                        value: i
                    }
                }, [ t._v("\n              " + t._s(e.name) + "\n            ") ]);
            })) ], 2) ]), t._v(" "), n("span", {
                staticClass: "mdl-list__item-secondary-action"
            }, [ n("div", {
                staticClass: "mdl-textfield mdl-js-textfield"
            }, [ n("input", {
                directives: [ {
                    name: "model",
                    rawName: "v-model",
                    value: e.domain,
                    expression: "perm.domain"
                } ],
                staticClass: "mdl-textfield__input",
                class: {
                    error: !t.domainCheck(e.domain)
                },
                staticStyle: {
                    outline: "none"
                },
                attrs: {
                    type: "text",
                    placeholder: "Domain"
                },
                domProps: {
                    value: e.domain
                },
                on: {
                    input: function(n) {
                        n.target.composing || t.$set(e, "domain", n.target.value);
                    }
                }
            }) ]) ]) ]) ]);
        })), t._v(" "), n("div", [ n("li", {
            staticClass: "mdl-list__item",
            staticStyle: {
                "padding-top": "0",
                "padding-bottom": "0"
            }
        }, [ n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--fab mdl-button--mini-fab",
            on: {
                click: function(e) {
                    return t.addPermission();
                }
            }
        }, [ n("i", {
            staticClass: "material-icons"
        }, [ t._v("add") ]) ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-primary-content"
        }) ]) ]), t._v(" "), t.hasPermissions && JSON.stringify(t.option) === JSON.stringify(t.permissions) ? t._e() : n("div", [ n("li", {
            staticClass: "mdl-list__item",
            staticStyle: {
                "padding-top": "0",
                "padding-bottom": "0"
            }
        }, [ n("input", {
            staticClass: "inputButton btn-middle flat js-anime-update-button mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            staticStyle: {
                "margin-right": "5px"
            },
            attrs: {
                type: "button",
                value: t.lang("Update"),
                "data-upgraded": ",MaterialButton"
            },
            on: {
                click: function(e) {
                    return t.savePermissions();
                }
            }
        }), t._v(" "), n("span", {
            staticClass: "mdl-list__item-primary-content"
        }) ]) ]) ], 2) ], 1);
    };
    i._withStripped = !0;
    var a = n(74).a, o = (n(560), n(6)), r = Object(o.a)(a, i, [ function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("div", {
            staticClass: "mdl-card__supporting-text"
        }, [ this._v("\n      Please only use if you know what you are doing!"), e("br"), this._v("\n      More info "), e("a", {
            attrs: {
                href: "https://github.com/MALSync/MALSync/wiki/Custom-Domains"
            }
        }, [ this._v("here") ]) ]);
    } ], !1, null, "40f53714", null);
    r.options.__file = "src/minimal/minimalApp/customDomains.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", {
            attrs: {
                id: "quicklinkedit"
            }
        }, [ n("backbutton"), t._v(" "), n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--12-col",
            staticStyle: {
                padding: "10px 15px"
            }
        }, [ n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.search,
                expression: "search"
            } ],
            staticClass: "mdl-textfield__input",
            attrs: {
                type: "text",
                placeholder: "Search"
            },
            domProps: {
                value: t.search
            },
            on: {
                input: function(e) {
                    e.target.composing || (t.search = e.target.value);
                }
            }
        }) ]), t._v(" "), n("div", {
            staticClass: "quicklinks mdl-cell bg-cell mdl-cell--12-col",
            staticStyle: {
                padding: "15px"
            }
        }, t._l(t.linksWithState, (function(e) {
            return n("div", {
                key: e.name,
                staticClass: "mdl-chip quicklink",
                class: {
                    active: e.active,
                    custom: e.custom,
                    database: e.database,
                    search: e.search && !("home" === e.search.anime || "home" === e.search.manga),
                    home: e.search && ("home" === e.search.anime || "home" === e.search.manga)
                },
                on: {
                    click: function(n) {
                        return t.toggleLink(e);
                    }
                }
            }, [ n("img", {
                staticStyle: {
                    "padding-bottom": "3px",
                    "margin-right": "5px"
                },
                attrs: {
                    src: t.favicon(e.domain),
                    height: "16",
                    width: "16"
                }
            }), t._v("\n      " + t._s(e.name) + "\n    ") ]);
        })), 0), t._v(" "), n("div", {
            staticClass: "custom mdl-cell bg-cell mdl-cell--12-col"
        }, [ t._m(0), t._v(" "), t._m(1), t._v(" "), n("li", {
            staticClass: "mdl-list__item mdl-list__item--three-line",
            staticStyle: {
                width: "100%"
            }
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ n("span", [ t._v("Name: ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-text-body"
        }, [ n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.custom_name,
                expression: "custom_name"
            } ],
            staticClass: "mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                type: "text"
            },
            domProps: {
                value: t.custom_name
            },
            on: {
                input: function(e) {
                    e.target.composing || (t.custom_name = e.target.value);
                }
            }
        }) ]) ]) ]), t._v(" "), n("li", {
            staticClass: "mdl-list__item mdl-list__item--three-line",
            staticStyle: {
                width: "100%"
            }
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ n("span", [ t._v("Anime Search Url: ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-text-body"
        }, [ n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.custom_anime,
                expression: "custom_anime"
            } ],
            staticClass: "mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                type: "text"
            },
            domProps: {
                value: t.custom_anime
            },
            on: {
                input: function(e) {
                    e.target.composing || (t.custom_anime = e.target.value);
                }
            }
        }) ]) ]) ]), t._v(" "), n("li", {
            staticClass: "mdl-list__item mdl-list__item--three-line",
            staticStyle: {
                width: "100%"
            }
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ n("span", [ t._v("Manga Search Url: ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-text-body"
        }, [ n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.custom_manga,
                expression: "custom_manga"
            } ],
            staticClass: "mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                type: "text"
            },
            domProps: {
                value: t.custom_manga
            },
            on: {
                input: function(e) {
                    e.target.composing || (t.custom_manga = e.target.value);
                }
            }
        }) ]) ]) ]), t._v(" "), n("input", {
            staticClass: "inputButton btn-middle flat js-anime-update-button mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            staticStyle: {
                margin: "15px"
            },
            attrs: {
                disabled: !this.custom_name,
                type: "button",
                value: "Add"
            },
            on: {
                click: t.addCustom
            }
        }) ]) ], 1);
    };
    i._withStripped = !0;
    var a = n(76).a, o = n(6), r = Object(o.a)(a, i, [ function() {
        var t = this.$createElement, e = this._self._c || t;
        return e("div", {
            staticClass: "mdl-card__title mdl-card--border"
        }, [ e("h2", {
            staticClass: "mdl-card__title-text"
        }, [ this._v("Custom Searchlinks") ]) ]);
    }, function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("li", {
            staticClass: "mdl-list__item"
        }, [ n("table", [ n("tr", [ n("td", [ n("span", {
            staticClass: "darkbox"
        }, [ t._v("{searchterm}") ]) ]), t._v(" "), n("td", [ t._v("=> "), n("span", {
            staticClass: "darkbox"
        }, [ t._v("no%20game%20no%20life") ]) ]) ]), t._v(" "), n("tr", [ n("td", [ n("span", {
            staticClass: "darkbox"
        }, [ t._v("{searchtermPlus}") ]) ]), t._v(" "), n("td", [ t._v("=> "), n("span", {
            staticClass: "darkbox"
        }, [ t._v("no+game+no+life") ]) ]) ]), t._v(" "), n("tr", [ n("td", [ n("span", {
            staticClass: "darkbox"
        }, [ t._v("{searchtermRaw}") ]) ]), t._v(" "), n("td", [ t._v("=> "), n("span", {
            staticClass: "darkbox"
        }, [ t._v("no game no life") ]) ]) ]) ]) ]);
    } ], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/components/quicklinksEdit.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._t("default") ], 2), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ n("label", {
            staticClass: "mdl-switch mdl-js-switch mdl-js-ripple-effect",
            attrs: {
                for: t.option
            }
        }, [ n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.value,
                expression: "value"
            } ],
            staticClass: "mdl-switch__input",
            attrs: {
                id: t.option,
                type: "checkbox"
            },
            domProps: {
                checked: Array.isArray(t.value) ? t._i(t.value, null) > -1 : t.value
            },
            on: {
                change: function(e) {
                    var n = t.value, i = e.target, a = !!i.checked;
                    if (Array.isArray(n)) {
                        var o = t._i(n, null);
                        i.checked ? o < 0 && (t.value = n.concat([ null ])) : o > -1 && (t.value = n.slice(0, o).concat(n.slice(o + 1)));
                    } else t.value = a;
                }
            }
        }) ]) ]) ]);
    };
    i._withStripped = !0;
    var a = n(50).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/components/settingsCheckbox.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._t("default") ], 2), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ n("div", {
            staticClass: "mdl-textfield mdl-js-textfield",
            staticStyle: {
                "min-width": "35px",
                "max-width": "35px",
                width: "100%",
                padding: "0"
            }
        }, [ n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.value,
                expression: "value"
            } ],
            staticClass: "mdl-textfield__input",
            staticStyle: {
                "text-align": "center"
            },
            attrs: {
                id: t.option,
                type: "number",
                step: t.step,
                min: t.min,
                max: t.max
            },
            domProps: {
                value: t.value
            },
            on: {
                input: function(e) {
                    e.target.composing || (t.value = e.target.value);
                }
            }
        }) ]) ]) ]);
    };
    i._withStripped = !0;
    var a = n(51).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/components/settingsNumberInput.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._v("\n    " + t._s(t.text) + "\n  ") ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ n("select", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.value,
                expression: "value"
            } ],
            staticClass: "inputtext mdl-textfield__input",
            staticStyle: {
                outline: "none"
            },
            attrs: {
                name: "myinfo_score"
            },
            on: {
                change: function(e) {
                    var n = Array.prototype.filter.call(e.target.options, (function(t) {
                        return t.selected;
                    })).map((function(t) {
                        return "_value" in t ? t._value : t.value;
                    }));
                    t.value = e.target.multiple ? n : n[0];
                }
            }
        }, [ t._t("default") ], 2) ]) ]);
    };
    i._withStripped = !0;
    var a = n(52).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/components/settingsDropdown.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("span", [ t.button ? n("button", {
            staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
            on: {
                click: function(e) {
                    return t.buttonClick();
                }
            }
        }, [ t._t("default") ], 2) : [ n("input", {
            attrs: {
                type: "file"
            },
            on: {
                change: function(e) {
                    return t.handleFileUpload(e);
                }
            }
        }), t._v(" "), "webextension" == t.type() ? n("p", {
            staticClass: "info"
        }, [ t._v("\n      If you have problems please retry in\n      "), n("a", {
            attrs: {
                href: "#"
            },
            on: {
                click: function(e) {
                    return t.openWindow(e);
                }
            }
        }, [ t._v("this window") ]) ]) : t._e() ] ], 2);
    };
    i._withStripped = !0;
    var a = n(53).a, o = (n(554), n(6)), r = Object(o.a)(a, i, [], !1, null, "4b3e3631", null);
    r.options.__file = "src/minimal/minimalApp/components/settingsFileUpload.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content"
        }, [ t._t("default"), t._v(" "), n("div", {
            directives: [ {
                name: "show",
                rawName: "v-show",
                value: 1 === Object.keys(t.value).length,
                expression: "Object.keys(value).length === 1"
            } ]
        }, [ n("tooltip", {
            attrs: {
                "tag-style": "color: #8a1818; font-size: 20px; padding-bottom: 0;",
                "icon-text": "info"
            }
        }, [ t._v(t._s(t.lang("settings_shortcut_tooltip"))) ]) ], 1) ], 2), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ Object.keys(t.value).length ? n("div", {
            staticClass: "icon material-icons close-icon",
            on: {
                click: function(e) {
                    t.value = {};
                }
            }
        }, [ t._v("\n      close\n    ") ]) : t._e(), t._v(" "), n("div", {
            staticClass: "mdl-textfield mdl-js-textfield"
        }, [ n("input", {
            directives: [ {
                name: "model",
                rawName: "v-model",
                value: t.display,
                expression: "display"
            } ],
            staticClass: "mdl-textfield__input",
            class: {
                rec: t.rec,
                tempRec: t.tempRec
            },
            domProps: {
                value: t.display
            },
            on: {
                keydown: function(e) {
                    return e.preventDefault(), t.keyDown(e);
                },
                keyup: function(e) {
                    return t.keyUp(e);
                },
                blur: function(e) {
                    return t.focusLost();
                },
                input: function(e) {
                    e.target.composing || (t.display = e.target.value);
                }
            }
        }) ]) ]) ]);
    };
    i._withStripped = !0;
    var a = n(55).a, o = (n(556), n(6)), r = Object(o.a)(a, i, [], !1, null, "29cae25a", null);
    r.options.__file = "src/minimal/minimalApp/components/settingsShortcut.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("li", {
            staticClass: "mdl-list__item"
        }, [ n("span", {
            staticClass: "mdl-list__item-primary-content",
            on: {
                click: function(e) {
                    return t.init();
                }
            }
        }, [ t._v("\n    " + t._s(t.pageName) + "\n    "), t.username ? n("i", {
            staticClass: "material-icons"
        }, [ t._v("check_circle_outline") ]) : n("i", {
            staticClass: "material-icons wrong"
        }, [ t._v("highlight_off") ]) ]), t._v(" "), n("span", {
            staticClass: "mdl-list__item-secondary-action"
        }, [ t.username && t.listObj.deauth ? [ n("i", {
            staticClass: "material-icons",
            staticStyle: {
                color: "black",
                cursor: "pointer",
                "vertical-align": "middle",
                "margin-top": "-4px"
            },
            on: {
                click: function(e) {
                    return t.deauth();
                }
            }
        }, [ t._v("\n        eject\n      ") ]) ] : t._e(), t._v(" "), n("a", {
            attrs: {
                target: "_blank",
                href: t.pageAuth
            }
        }, [ t.username ? [ t._v("\n        " + t._s(t.username) + "\n      ") ] : [ t._v("\n        " + t._s(t.lang("settings_Authenticate")) + "\n      ") ] ], 2) ], 2) ]);
    };
    i._withStripped = !0;
    var a = n(57).a, o = (n(558), n(6)), r = Object(o.a)(a, i, [], !1, null, "50365ef6", null);
    r.options.__file = "src/minimal/minimalApp/components/settingsLogin.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp"
        }, [ n("div", {
            staticClass: "mdl-cell",
            staticStyle: {
                width: "100%"
            }
        }, [ t._v("\n    The correction functionality was moved into a seperate popup for faster and better integeration. You can access it\n    "), t.keys ? [ t._v("with the shortcut '" + t._s(t.keys) + "' or") ] : t._e(), t._v(" by clicking\n    "), n("a", {
            on: {
                click: function(e) {
                    return e.stopPropagation(), t.openPopup(e);
                }
            }
        }, [ t._v("here") ]), t._v(".\n  ") ], 2) ]);
    };
    i._withStripped = !0;
    var a = n(59).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/correction.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return n("div", {
            attrs: {
                id: "quicklinkoverview"
            }
        }, [ t.links && t.links.length ? n("div", {
            staticClass: "quicklinks"
        }, t._l(t.links, (function(e) {
            return n("div", {
                key: e.name,
                staticClass: "mdl-chip quicklink"
            }, [ n("img", {
                staticStyle: {
                    "padding-bottom": "3px",
                    "margin-right": "5px"
                },
                attrs: {
                    src: t.favicon(e.domain),
                    height: "16",
                    width: "16"
                }
            }), t._v("\n      " + t._s(e.name) + "\n    ") ]);
        })), 0) : n("div", [ n("input", {
            staticClass: "inputButton btn-middle flat js-anime-update-button mdl-button mdl-js-button mdl-button--raised mdl-button--accent",
            attrs: {
                type: "button",
                value: t.lang("Add"),
                "data-upgraded": ",MaterialButton"
            }
        }) ]) ]);
    };
    i._withStripped = !0;
    var a = n(60).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/components/quicklinksOverview.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return t.apiCacheKey && t.elements && t.elements.length ? n("div", {
            staticClass: "mdl-cell bg-cell mdl-cell--12-col mdl-shadow--4dp",
            staticStyle: {
                padding: "8px"
            }
        }, [ t.completed && t.completed.length ? [ n("div", [ t._v(t._s(t.lang("prediction_complete"))) ]), t._v(" "), t._l(t.completed, (function(e, i) {
            return n("span", {
                key: i
            }, [ e.item.top ? n("span", {
                staticClass: "list-content"
            }, [ n("country-flag", {
                attrs: {
                    country: t.correctFlag(e.language),
                    title: e.language.toUpperCase() + " " + e.index.toUpperCase(),
                    text: e.index.toUpperCase()
                }
            }) ], 1) : t._e() ]);
        })) ] : t._e(), t._v(" "), t.ongoing && t.ongoing.length ? [ n("div", [ t._v(t._s(t.lang("prediction_ongoing"))) ]), t._v(" "), n("div", {
            staticClass: "mdl-grid mdl-grid--no-spacing"
        }, t._l(t.ongoing, (function(e, i) {
            return n("div", {
                key: i,
                staticClass: "list-content mdl-cell--6-col mdl-cell--8-col-tablet",
                staticStyle: {
                    display: "flex",
                    "align-items": "center"
                }
            }, [ n("country-flag", {
                attrs: {
                    country: t.correctFlag(e.language),
                    title: e.language.toUpperCase() + " " + e.index.toUpperCase(),
                    text: e.index.toUpperCase()
                }
            }), t._v(" "), e.item.top.state && "ongoing" !== e.item.top.state ? [ n("span", {
                staticStyle: {
                    color: "red",
                    "padding-right": "5px"
                }
            }, [ t._v(t._s(t.lang("prediction_incomplete"))) ]) ] : t._e(), t._v(" "), e.item.top.lastEp && e.item.top.lastEp.total ? [ e.item.top.state && "ongoing" !== e.item.top.state && e.item.top.stateInfo ? [ t._v("\n            " + t._s(e.item.top.stateInfo) + "\n          ") ] : [ t._v("\n            " + t._s(t.utils.episode(t.type)) + " " + t._s(e.item.top.lastEp.total) + "\n            "), t.totalEps ? [ t._v("/ " + t._s(t.totalEps)) ] : t._e() ], t._v(" "), e.item.top.lastEp.timestamp ? [ t._v("\n            (" + t._s(t.releaseTime(e.item.top.lastEp.timestamp)) + ")\n          ") ] : t._e(), t._v(" "), e.item.top.predicition ? [ t._v("\n            [" + t._s(t.lang("prediction_next", [ t.releaseTime(e.item.top.predicition.timestamp).trim() ])) + "]\n          ") ] : t._e() ] : t._e() ], 2);
        })), 0) ] : t._e() ], 2) : t._e();
    };
    i._withStripped = !0;
    var a = n(62).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/components/overviewProgress.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return t.listView ? n("tr", {
            staticStyle: {
                cursor: "pointer"
            },
            on: {
                click: function(e) {
                    return t.openLink(t.item.url);
                }
            }
        }, [ n("td", {
            staticStyle: {
                width: "64px"
            }
        }, [ n("div", {
            staticClass: "imageTd",
            staticStyle: {
                position: "absolute",
                top: "0",
                left: "0",
                right: "0",
                bottom: "-1px",
                overflow: "hidden"
            }
        }, [ n("clazy-load", {
            attrs: {
                src: t.imageHi,
                margin: "200px 0px",
                threshold: .1,
                ratio: .1
            },
            on: {
                error: t.setQuestionmark
            }
        }, [ n("img", {
            attrs: {
                src: t.imageHi,
                width: "100%"
            },
            on: {
                error: t.setQuestionmark
            }
        }) ]) ], 1) ]), t._v(" "), n("td", {
            staticClass: "mdl-data-table__cell--non-numeric",
            staticStyle: {
                "white-space": "normal",
                position: "relative",
                "padding-left": "10px",
                "padding-right": "28px"
            }
        }, [ t.item.fn.progress && t.item.fn.progress.isAiring() ? n("div", {
            staticStyle: {
                position: "absolute",
                top: "0",
                left: "0",
                padding: "0 11px",
                margin: "0 0",
                "text-align": "center",
                "font-size": "10px"
            }
        }, [ t._v("\n      " + t._s(t.item.fn.progress.getAuto()) + "\n    ") ]) : t._e(), t._v(" "), n("span", {
            staticStyle: {
                "font-weight": "bold"
            }
        }, [ t._v(t._s(t.item.title)) ]), t._v(" "), t.streamUrl ? n("a", {
            staticClass: "mal-sync-stream",
            staticStyle: {
                margin: "0 5px",
                position: "absolute",
                right: "0",
                top: "0"
            },
            attrs: {
                title: t.streamUrl.split("/")[2],
                target: "_blank",
                href: t.streamUrl
            }
        }, [ n("img", {
            attrs: {
                src: t.favicon(t.streamUrl.split("/")[2])
            }
        }) ]) : t._e(), t._v(" "), t.continueUrl ? n("a", {
            staticClass: "nextStream",
            staticStyle: {
                margin: "0 5px 0 0",
                color: "#BABABA",
                position: "absolute",
                right: "0",
                top: "20px"
            },
            attrs: {
                title: t.lang("overview_Continue_" + t.item.type),
                target: "_blank",
                href: t.continueUrl
            }
        }, [ n("img", {
            attrs: {
                src: t.assetUrl("double-arrow-16px.png"),
                width: "16",
                height: "16"
            }
        }) ]) : t._e(), t._v(" "), t.resumeUrl ? n("a", {
            staticClass: "resumeStream",
            staticStyle: {
                margin: "0 5px 0 0",
                color: "#BABABA",
                position: "absolute",
                right: "0",
                top: "20px"
            },
            attrs: {
                title: t.lang("overview_Resume_Episode_" + t.item.type),
                target: "_blank",
                href: t.resumeUrl
            }
        }, [ n("img", {
            attrs: {
                src: t.assetUrl("arrow-16px.png"),
                width: "16",
                height: "16"
            }
        }) ]) : t._e(), t._v(" "), n("div", {
            staticClass: "mdl-progress pr-bar",
            staticStyle: {
                position: "absolute",
                bottom: "0",
                left: "0",
                right: "0",
                width: "auto",
                opacity: "0.5"
            },
            attrs: {
                id: "p1"
            }
        }, [ n("div", {
            staticClass: "progressbar bar bar1",
            style: t.progress
        }), t._v(" "), t.hasTotalEp ? n("div", {
            staticClass: "bufferbar bar bar2",
            staticStyle: {
                width: "calc(100% + 1px)"
            }
        }) : t._e(), t._v(" "), t.item.fn.progress && t.item.fn.progress.isAiring() ? n("div", {
            staticClass: "predictionbar bar kal-ep-pre",
            style: t.predictionBar
        }, [ t.barData.predWidth && "100" !== t.barData.predWidth && t.barData.predWidth <= t.barData.epWidth ? n("div", {
            staticClass: "bar-tab"
        }, [ n("i", {
            staticClass: "material-icons"
        }, [ t._v("arrow_drop_up") ]) ]) : t._e() ]) : t._e(), t._v(" "), n("div", {
            staticClass: "auxbar bar bar3",
            staticStyle: {
                width: "0%"
            }
        }) ]) ]), t._v(" "), n("td", {
            staticStyle: {
                width: "70px"
            }
        }, [ t._v("\n    " + t._s(t.item.watchedEp) + "/"), t.item.totalEp ? [ t._v(t._s(t.item.totalEp)) ] : [ t._v("?") ] ], 2), t._v(" "), n("td", {
            staticStyle: {
                width: "57px"
            }
        }, [ t.item.score ? [ t._v(t._s(t.item.score)) ] : [ t._v("-") ] ], 2) ]) : n("div", {
            staticClass: "mdl-cell mdl-cell--2-col mdl-cell--4-col-tablet mdl-cell--6-col-phone mdl-shadow--2dp mdl-grid bookEntry",
            staticStyle: {
                position: "relative",
                padding: "0",
                width: "210px",
                height: "293px"
            },
            attrs: {
                title: t.item.fn.progress && t.item.fn.progress.getAutoText()
            }
        }, [ n("div", {
            staticClass: "data title",
            staticStyle: {
                "background-color": "#cdcdcd",
                width: "100%",
                position: "relative",
                "padding-top": "5px"
            }
        }, [ n("div", {
            staticStyle: {
                position: "absolute",
                top: "0",
                left: "0",
                right: "0",
                bottom: "0",
                overflow: "hidden"
            }
        }, [ n("clazy-load", {
            staticStyle: {
                position: "absolute",
                top: "0",
                left: "0",
                right: "0",
                bottom: "0",
                overflow: "hidden"
            },
            attrs: {
                src: t.imageHi,
                margin: "200px 0px",
                threshold: .1,
                ratio: .1
            },
            on: {
                error: t.setQuestionmark
            }
        }, [ n("img", {
            attrs: {
                src: t.imageHi,
                width: "100%"
            },
            on: {
                error: t.setQuestionmark
            }
        }) ]) ], 1), t._v(" "), t.item.fn.progress && t.item.fn.progress.isAiring() ? n("div", {
            staticClass: "mdl-shadow--2dp",
            staticStyle: {
                position: "absolute",
                top: "0",
                right: "0",
                "background-color": "rgba(255, 255, 255, 0.9)",
                padding: "0 5px",
                margin: "5px 0",
                "text-align": "center"
            }
        }, [ t._v("\n      " + t._s(t.item.fn.progress.getAuto()) + "\n    ") ]) : t._e(), t._v(" "), t.item.score ? n("div", {
            staticStyle: {
                position: "absolute",
                top: "0",
                left: "0",
                padding: "0 5px",
                margin: "5px 0",
                "text-align": "center"
            }
        }, [ n("div", {
            staticStyle: {
                width: "38px",
                height: "38px",
                position: "relative"
            }
        }, [ n("i", {
            staticClass: "material-icons",
            staticStyle: {
                color: "#3f51b5",
                position: "absolute",
                left: "0",
                top: "0",
                "font-size": "38px"
            }
        }, [ t._v("star") ]), t._v(" "), n("div", {
            staticStyle: {
                color: "white",
                position: "absolute",
                left: "0",
                top: "0",
                right: "0",
                bottom: "0",
                "text-align": "center",
                "line-height": "38px",
                "padding-top": "1px"
            }
        }, [ t._v("\n          " + t._s(t.item.score) + "\n        ") ]) ]) ]) : t._e(), t._v(" "), n("a", {
            staticStyle: {
                position: "absolute",
                top: "0",
                left: "0",
                right: "0",
                bottom: "0"
            },
            attrs: {
                href: t.item.url
            }
        }), t._v(" "), n("span", {
            staticClass: "mdl-shadow--2dp",
            staticStyle: {
                position: "absolute",
                bottom: "0",
                display: "block",
                "background-color": "rgba(255, 255, 255, 0.9)",
                "padding-top": "5px",
                "align-items": "center",
                "justify-content": "space-between",
                left: "0",
                right: "0",
                "padding-right": "8px",
                "padding-left": "8px",
                "padding-bottom": "8px"
            }
        }, [ n("a", {
            staticStyle: {
                color: "black",
                "text-decoration": "none"
            },
            attrs: {
                href: t.item.url
            }
        }, [ t._v("\n        " + t._s(t.item.title) + "\n      ") ]), t._v(" "), n("div", {
            staticClass: "mdl-progress pr-bar",
            staticStyle: {
                position: "absolute",
                top: "-4px",
                left: "0"
            },
            attrs: {
                id: "p1"
            }
        }, [ n("div", {
            staticClass: "progressbar bar bar1",
            style: t.progress
        }), t._v(" "), t.hasTotalEp ? n("div", {
            staticClass: "bufferbar bar bar2",
            staticStyle: {
                width: "calc(100% + 1px)"
            }
        }) : t._e(), t._v(" "), t.item.fn.progress && t.item.fn.progress.isAiring() ? n("div", {
            staticClass: "predictionbar bar kal-ep-pre",
            style: t.predictionBar
        }, [ t.barData.predWidth && 100 !== t.barData.predWidth && t.barData.predWidth <= t.barData.epWidth ? n("div", {
            staticClass: "bar-tab"
        }, [ n("i", {
            staticClass: "material-icons"
        }, [ t._v("arrow_drop_up") ]) ]) : t._e() ]) : t._e(), t._v(" "), n("div", {
            staticClass: "auxbar bar bar3",
            staticStyle: {
                width: "0%"
            }
        }) ]), t._v(" "), n("div", {
            staticClass: "data progress mdl-chip mdl-chip--contact mdl-color--indigo-100",
            staticStyle: {
                float: "right",
                "line-height": "20px",
                height: "20px",
                "padding-right": "4px",
                "margin-left": "5px"
            }
        }, [ n("div", {
            staticClass: "link mdl-chip__contact mdl-color--primary mdl-color-text--white",
            staticStyle: {
                "line-height": "20px",
                height: "20px",
                "margin-right": "0"
            },
            attrs: {
                title: "[" + t.item.watchedEp + "/" + t.item.totalEp + "]"
            }
        }, [ t._v("\n          " + t._s(t.item.watchedEp) + "\n        ") ]), t._v(" "), t.streamUrl ? n("a", {
            staticClass: "mal-sync-stream",
            staticStyle: {
                margin: "0 5px"
            },
            attrs: {
                title: t.streamUrl.split("/")[2],
                target: "_blank",
                href: t.streamUrl
            }
        }, [ n("img", {
            attrs: {
                src: t.favicon(t.streamUrl.split("/")[2])
            }
        }) ]) : t._e(), t._v(" "), t.continueUrl ? n("a", {
            staticClass: "nextStream",
            staticStyle: {
                margin: "0 5px 0 0",
                color: "#BABABA"
            },
            attrs: {
                title: t.lang("overview_Continue_" + t.item.type),
                target: "_blank",
                href: t.continueUrl
            }
        }, [ n("img", {
            attrs: {
                src: t.assetUrl("double-arrow-16px.png"),
                width: "16",
                height: "16"
            }
        }) ]) : t._e(), t._v(" "), t.resumeUrl ? n("a", {
            staticClass: "resumeStream",
            staticStyle: {
                margin: "0 5px 0 0",
                color: "#BABABA"
            },
            attrs: {
                title: t.lang("overview_Resume_Episode_" + t.item.type),
                target: "_blank",
                href: t.resumeUrl
            }
        }, [ n("img", {
            attrs: {
                src: t.assetUrl("arrow-16px.png"),
                width: "16",
                height: "16"
            }
        }) ]) : t._e() ]) ]) ]) ]);
    };
    i._withStripped = !0;
    var a = n(66).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null);
    r.options.__file = "src/minimal/minimalApp/bookmarksItem.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    var i = function() {
        var t = this, e = t.$createElement, n = t._self._c || e;
        return t.country ? n("div", {
            staticClass: "flagIcon mdl-shadow--2dp",
            attrs: {
                title: t.text
            }
        }, [ t.flagHtml ? n("div", {
            directives: [ {
                name: "dompurify-html",
                rawName: "v-dompurify-html",
                value: t.flagHtml,
                expression: "flagHtml"
            } ],
            staticClass: "flagflag"
        }) : n("div", {
            staticClass: "flagCountry"
        }, [ t._v(t._s(t.country)) ]), t._v(" "), "SUB" !== t.text ? n("div", {
            staticClass: "flagText"
        }, [ t._v(t._s(t.text)) ]) : t._e() ]) : t._e();
    };
    i._withStripped = !0;
    var a = n(63).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, "77e1b9bb", null);
    r.options.__file = "src/minimal/minimalApp/components/overviewProgressCountryFlag.vue";
    e.a = r.exports;
}, function(t, e, n) {
    "use strict";
    n.d(e, "a", (function() {
        return d;
    }));
    var i = n(15), a = n(249);
    const o = n(250).a;
    var r = n(251), s = n(252), l = n(253), c = n(254);
    function d(t, e, n = "") {
        if (n || (n = i.a(e)), /^local:\/\//i.test(t)) return new a.a(t);
        if ("ANILIST" === n) return new s.a(t);
        if ("KITSU" === n) return new l.a(t);
        if ("SIMKL" === n) return new c.a(t);
        if ("MAL" === n) return new o(t);
        if ("MALAPI" === n) return new r.a(t);
        throw "Unknown sync mode";
    }
}, function(t, e, n) {
    "use strict";
    n.r(e), function(t, e, i) {
        var a = n(101), o = n(115), r = n(117), s = n(118), l = n(119), c = n(120), d = n(40), m = n(38), u = n(80), p = n(246), h = n(20), g = n(255), f = function(t, e, n, i) {
            return new (n || (n = Promise))((function(a, o) {
                function r(t) {
                    try {
                        l(i.next(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function s(t) {
                    try {
                        l(i.throw(t));
                    } catch (t) {
                        o(t);
                    }
                }
                function l(t) {
                    t.done ? a(t.value) : function(t) {
                        return t instanceof n ? t : new n((function(e) {
                            e(t);
                        }));
                    }(t.value).then(r, s);
                }
                l((i = i.apply(t, e || [])).next());
            }));
        };
        let v;
        function b() {
            try {
                if (function() {
                    try {
                        return window.self !== window.top;
                    } catch (t) {
                        return !0;
                    }
                }()) throw "iframe";
                v = new a.a(window.location.href, m.a, p.a);
            } catch (e) {
                return t.info(e), void Object(d.b)((function(t) {
                    i.storage.set("iframePlayer", t);
                }));
            }
            v.init(), i.storage.set("iframePlayer", "null"), setInterval((function() {
                return f(this, void 0, void 0, (function*() {
                    const t = yield i.storage.get("iframePlayer");
                    void 0 !== t && "null" !== t && (v.setVideoTime(t, (function(t) {})), i.storage.set("iframePlayer", "null"));
                }));
            }), 2e3);
        }
        console.log("%cMAL-Sync", "font-size: 40px; padding-bottom: 3px; color: white; text-shadow: -1px -1px #2e51a2, 1px -1px #2e51a2, -1px 1px #2e51a2, 1px 1px #2e51a2, 2px 2px #2e51a2, 3px 3px #2e51a2;", "Version: " + i.storage.version()), 
        i.settings.init().then(() => {
            !function() {
                if (window.location.href.indexOf("myanimelist.net") > -1) {
                    new o.a(window.location.href).init(), window.location.href.indexOf("episode") > -1 && b();
                } else if (window.location.href.indexOf("anilist.co") > -1) {
                    new r.a(window.location.href);
                } else if (window.location.href.indexOf("kitsu.io") > -1) {
                    new s.a(window.location.href);
                } else if (window.location.href.indexOf("simkl.com") > -1) {
                    new l.a(window.location.href);
                } else window.location.href.indexOf("malsync.moe/mal/oauth") > -1 ? Object(u.b)() : window.location.href.indexOf("malsync.moe/pwa") > -1 ? Object(g.a)() : b();
                Object(c.a)(), Object(d.c)(n => {
                    switch (t.log("[content] Shortcut", n), n.shortcut) {
                      case "correctionShort":
                        v.openCorrectionUi();
                        break;

                      case "syncShort":
                        e.$("#malSyncProgress").addClass("ms-done"), e.$(".flash.type-update .sync").click();
                    }
                }), Object(h.b)();
            }();
        });
    }.call(this, n(4), n(2), n(0));
}, function(t, e, n) {
    (function(t, e) {
        !function(t, n) {
            "use strict";
            if (!t.setImmediate) {
                var i, a, o, r, s, l = 1, c = {}, d = !1, m = t.document, u = Object.getPrototypeOf && Object.getPrototypeOf(t);
                u = u && u.setTimeout ? u : t, "[object process]" === {}.toString.call(t.process) ? i = function(t) {
                    e.nextTick((function() {
                        h(t);
                    }));
                } : !function() {
                    if (t.postMessage && !t.importScripts) {
                        var e = !0, n = t.onmessage;
                        return t.onmessage = function() {
                            e = !1;
                        }, t.postMessage("", "*"), t.onmessage = n, e;
                    }
                }() ? t.MessageChannel ? ((o = new MessageChannel).port1.onmessage = function(t) {
                    h(t.data);
                }, i = function(t) {
                    o.port2.postMessage(t);
                }) : m && "onreadystatechange" in m.createElement("script") ? (a = m.documentElement, 
                i = function(t) {
                    var e = m.createElement("script");
                    e.onreadystatechange = function() {
                        h(t), e.onreadystatechange = null, a.removeChild(e), e = null;
                    }, a.appendChild(e);
                }) : i = function(t) {
                    setTimeout(h, 0, t);
                } : (r = "setImmediate$" + Math.random() + "$", s = function(e) {
                    e.source === t && "string" == typeof e.data && 0 === e.data.indexOf(r) && h(+e.data.slice(r.length));
                }, t.addEventListener ? t.addEventListener("message", s, !1) : t.attachEvent("onmessage", s), 
                i = function(e) {
                    t.postMessage(r + e, "*");
                }), u.setImmediate = function(t) {
                    "function" != typeof t && (t = new Function("" + t));
                    for (var e = new Array(arguments.length - 1), n = 0; n < e.length; n++) e[n] = arguments[n + 1];
                    var a = {
                        callback: t,
                        args: e
                    };
                    return c[l] = a, i(l), l++;
                }, u.clearImmediate = p;
            }
            function p(t) {
                delete c[t];
            }
            function h(t) {
                if (d) setTimeout(h, 0, t); else {
                    var e = c[t];
                    if (e) {
                        d = !0;
                        try {
                            !function(t) {
                                var e = t.callback, n = t.args;
                                switch (n.length) {
                                  case 0:
                                    e();
                                    break;

                                  case 1:
                                    e(n[0]);
                                    break;

                                  case 2:
                                    e(n[0], n[1]);
                                    break;

                                  case 3:
                                    e(n[0], n[1], n[2]);
                                    break;

                                  default:
                                    e.apply(void 0, n);
                                }
                            }(e);
                        } finally {
                            p(t), d = !1;
                        }
                    }
                }
            }
        }("undefined" == typeof self ? void 0 === t ? this : t : self);
    }).call(this, n(88), n(95));
}, function(t, e, n) {
    var i = n(290);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "::-webkit-scrollbar {\n  display: none;\n}\n#material {\n  all: initial;\n  color: white;\n  font-family: 'Helvetica', 'Arial', sans-serif;\n  font-size: 14px;\n  font-weight: 400;\n  line-height: 20px;\n}\n#material * {\n  box-sizing: border-box;\n}\n#material .scroll {\n  overflow-y: auto;\n  max-height: 80vh;\n  scrollbar-width: none;\n}\n#material .close {\n  display: block;\n  margin-top: 15px;\n  text-align: center;\n  cursor: pointer;\n}\n#material .mdl-color--primary {\n  background-color: #3f51b5;\n}\n#material p {\n  font-weight: 400;\n  line-height: 24px;\n  font-size: 14px;\n  letter-spacing: 0;\n  margin: 0 0 16px;\n}\n#material a {\n  color: #f43b7a;\n  text-decoration: none !important;\n}\n#material .search .input {\n  width: 100%;\n}\n#material .result {\n  cursor: pointer;\n  display: flex;\n  margin-bottom: 15px;\n  background-color: #484848;\n  max-width: 400px;\n}\n#material .result.active {\n  border: 1px solid #f43b7a;\n  border-style: dashed;\n}\n#material .result .image {\n  height: 100px;\n  width: 64px;\n  min-width: 64px;\n  background-color: grey;\n}\n#material .result .image img {\n  height: 100%;\n  width: 100%;\n  object-fit: cover;\n}\n#material .result .right {\n  flex-grow: 100;\n  cursor: pointer;\n  margin-top: 0;\n  margin-bottom: 0;\n  padding: 5px 10px;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n}\n#material .result .right .title {\n  font-size: 20px;\n  font-weight: 400;\n  line-height: 1;\n  margin-bottom: 3px;\n}\n#material .result .right p {\n  margin-bottom: 0;\n  line-height: 20px;\n  color: white;\n}\n#material .rules .title {\n  color: #f43b7a;\n}\n#material .rules .rule {\n  margin-bottom: 15px;\n  background-color: #484848;\n  max-width: 400px;\n}\n#material .rules .rule .header {\n  padding: 5px 10px;\n  border-bottom: 1px solid white;\n}\n#material .rules .rule.active {\n  border: 1px solid #f43b7a;\n}\n#material .rules .rule .content {\n  padding: 5px 10px;\n}\n#material .rules .rule .hover {\n  display: none;\n}\n#material .rules .rule:hover .hover {\n  display: block;\n}\n#material .rules .rule:hover .noHover {\n  display: none;\n}\n#material .inputButton {\n  display: flex;\n  align-items: center;\n}\n#material .inputButton .group {\n  width: 100%;\n}\n#material .group {\n  position: relative;\n  margin-bottom: 15px;\n  margin-top: 25px;\n}\n#material .group input {\n  font-size: 18px;\n  padding: 10px 10px 10px 5px;\n  display: block;\n  color: white;\n  width: 100%;\n  border: none;\n  background-color: #484848;\n  border-bottom: 1px solid white;\n}\n#material .group input:focus {\n  outline: none;\n}\n#material .group label {\n  color: #999;\n  font-size: 18px;\n  font-weight: normal;\n  position: absolute;\n  pointer-events: none;\n  left: 5px;\n  top: 10px;\n  transition: 0.2s ease all;\n  -moz-transition: 0.2s ease all;\n  -webkit-transition: 0.2s ease all;\n}\n#material .group input:focus ~ label,\n#material .group input:valid ~ label {\n  left: 0;\n  top: -20px;\n  font-size: 14px;\n  color: #f43b7a;\n}\n#material .group .bar {\n  position: relative;\n  display: block;\n}\n#material .group .bar::before,\n#material .group .bar::after {\n  content: '';\n  height: 2px;\n  width: 0;\n  bottom: 0;\n  position: absolute;\n  background: #f43b7a;\n  transition: 0.2s ease all;\n  -moz-transition: 0.2s ease all;\n  -webkit-transition: 0.2s ease all;\n}\n#material .group .bar::before {\n  left: 50%;\n}\n#material .group .bar::after {\n  right: 50%;\n}\n#material .group input:focus ~ .bar::before,\n#material .group input:focus ~ .bar::after {\n  width: 50%;\n}\n#material .mdl-progress {\n  display: block;\n  position: relative;\n  height: 3px;\n  width: 500px;\n  max-width: 100%;\n}\n#material .mdl-progress > .bar {\n  display: block;\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  width: 0%;\n  transition: width 0.2s linear;\n}\n#material .mdl-progress > .bar1 {\n  background-color: #3f51b5;\n  animation-name: indeterminate1;\n  animation-duration: 2s;\n  animation-iteration-count: infinite;\n  animation-timing-function: linear;\n}\n@keyframes indeterminate1 {\n  0% {\n    left: 0%;\n    width: 0%;\n  }\n  50% {\n    left: 25%;\n    width: 75%;\n  }\n  75% {\n    left: 100%;\n    width: 0%;\n  }\n}\n#material .loadingBar {\n  position: relative;\n}\n#material .loadingBar .mdl-progress {\n  position: absolute;\n  top: -9px;\n}\n#material button {\n  margin-top: 10px;\n  margin-left: 10px;\n  background-color: #3f51b5;\n  color: white;\n  border: none;\n  border-radius: 2px;\n  position: relative;\n  height: 42px;\n  padding: 0 16px;\n  display: inline-block;\n  font-size: 14px;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0;\n  cursor: pointer;\n  text-decoration: none;\n  text-align: center;\n  line-height: 36px;\n  vertical-align: middle;\n}\n#material #offsetUi {\n  display: flex;\n  justify-content: space-around;\n}\n#material #offsetUi .offsetBox {\n  text-align: center;\n  min-width: 40px;\n  margin-left: 5px;\n  margin-right: 5px;\n}\n#material #offsetUi .offsetBox .top {\n  padding: 5px 10px;\n}\n#material #offsetUi .offsetBox .bottom {\n  padding: 5px 10px;\n}\n#material #offsetUi .offsetBox .bottom.active {\n  border: 1px solid #f43b7a;\n  border-top: 0;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(292);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, ".site-theme-dark .nextStream img,\n.entry-card .nextStream img,\n.site-theme-dark .resumeStream img,\n.entry-card .resumeStream img {\n  filter: invert(100%);\n}\n.entry-card .mal-sync-stream {\n  position: absolute;\n  max-height: 17px !important;\n  left: 7px;\n  top: -17px;\n  background: rgba(var(--color-overlay), 0.8);\n  border-radius: 100% 100% 0 0;\n}\n.entry-card .mal-sync-stream img {\n  padding: 5px;\n  padding-top: 7px;\n}\n.entry-card .nextStream,\n.entry-card .resumeStream {\n  position: absolute;\n  max-height: 17px !important;\n  right: 7px;\n  top: -15px;\n  margin-right: 0 !important;\n  background: rgba(var(--color-overlay), 0.8);\n  border-radius: 100% 100% 0 0;\n}\n.entry-card .nextStream img,\n.entry-card .resumeStream img {\n  margin: 5px;\n  margin-top: 7px;\n}\n.mal-sync-ep-pre {\n  display: inline-block;\n  width: 0;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(294);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "", "" ]);
}, function(t, e, n) {
    "use strict";
    var i = n(47);
    n.n(i).a;
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, ".Sources[data-v-55d18076] {\n  min-width: 178px;\n}\n.simkltvdetailonlineheadbuttonstream[data-v-55d18076] {\n  width: auto;\n  min-width: auto;\n}\n#malkiss[data-v-55d18076] {\n  position: relative;\n}\n.malsync-page-relation[data-v-55d18076] {\n  display: flex;\n  position: absolute;\n  bottom: -1px;\n  right: -1px;\n}\n.malsync-page-relation > a[data-v-55d18076] {\n  margin-left: 5px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(298);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, ".nextStream img,\n.resumeStream img {\n  filter: invert(100%);\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(300);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #694ba1;\n}\n.mal-sync-active {\n  background-color: #002966 !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #694ba1;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#MalData select option {\n  background-color: white;\n}\nbody.dark #MalData select option {\n  background-color: #1c1b26 !important;\n}\n#malp {\n  margin: 0;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(302);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: transparent !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active .c-playable-thumbnail {\n  border: 4px solid #2e51a2;\n}\n#malp {\n  margin-bottom: 10px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(304);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #b2d1ff !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  background-color: #555;\n  padding: 10px 7px 5px 7px;\n}\n#malp span {\n  color: white;\n}\n#malp select > * {\n  background-color: #555 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(306);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malp {\n  all: initial;\n  font-size: inherit;\n  font-family: inherit;\n  margin-bottom: 8px;\n  min-height: 50px;\n  display: block;\n}\n#malp .info {\n  all: initial !important;\n  font-size: inherit !important;\n  font-family: inherit !important;\n}\n#malp select {\n  appearance: auto;\n}\n#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: white;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp * {\n  color: black !important;\n}\n#malp #MalData {\n  justify-content: flex-start !important;\n  align-items: center !important;\n  gap: 10px;\n}\n#malp #MalData select,\n#malp #MalData > * > *:last-child,\n#malp #MalData > * > a {\n  background-color: #f5f6f7 !important;\n  border-radius: 4px;\n  padding: 4px 8px !important;\n}\n#malp #MalData option {\n  background-color: #f5f6f7 !important;\n}\n#malp #MalData > * > span {\n  display: block !important;\n}\n#malp #MalData .info {\n  display: block !important;\n  font-size: 12px !important;\n}\n#malp #MalData #AddMalDiv {\n  margin-left: 10px;\n  display: inline-block !important;\n  font-size: 0;\n}\n#malp #MalData #AddMalDiv #AddMal {\n  font-size: 16px;\n}\n.theme--dark #malp * {\n  color: white !important;\n}\n.theme--dark #malp #MalData {\n  justify-content: flex-start !important;\n  align-items: center !important;\n  gap: 10px;\n}\n.theme--dark #malp #MalData select,\n.theme--dark #malp #MalData > * > *:last-child,\n.theme--dark #malp #MalData > * > a {\n  background-color: #272727 !important;\n  border-radius: 4px;\n  padding: 4px 8px !important;\n}\n.theme--dark #malp #MalData option {\n  background-color: #272727 !important;\n}\n.theme--dark #malp #MalData > * > span {\n  display: block !important;\n}\n.theme--dark #malp #MalData .info {\n  display: block !important;\n  font-size: 12px !important;\n}\n.theme--dark #malp #MalData #AddMalDiv {\n  margin-left: 10px;\n  display: inline-block !important;\n  font-size: 0;\n}\n.theme--dark #malp #MalData #AddMalDiv #AddMal {\n  font-size: 16px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(308);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #ffc119;\n}\n.mal-sync-active {\n  background-color: #002966 !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #ffc119;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp * {\n  font-size: 13px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(310);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #bbbbbb;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  color: white;\n}\n#flash-div-top button,\n#flash-div-bottom button,\n#flashinfo-div button {\n  background: none;\n  box-shadow: none;\n  -moz-box-shadow: none;\n  -webkit-box-shadow: none;\n}\n#flash-div-top .undoButton,\n#flash-div-bottom .undoButton,\n#flashinfo-div .undoButton {\n  margin-left: auto;\n  margin-right: auto;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(312);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #0066ff;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(314);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  margin-top: 1rem;\n  border-top: 0 solid hsla(0, 0%, 100%, 0.05);\n  border-width: 1px 0;\n  font-size: 14px;\n  padding: 10px 5px 0;\n  padding-top: 1rem;\n}\n#malp select {\n  display: inline-block;\n  width: auto;\n}\n#malp input {\n  display: inline-block;\n}\n.my-float.open-info-popup {\n  height: 100%;\n  width: 100%;\n  margin: 0 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(316);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n  display: none !important;\n}\n#malp {\n  max-width: 700px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(318);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n  display: none !important;\n}\n#malp {\n  max-width: 700px;\n  margin: 0;\n}\n.noApiKey [data-qa-id='moreButton'] {\n  background-color: red;\n}\n#flashinfo-div {\n  z-index: 200000 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(320);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n  display: none !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(322);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\nsection.main .content-wrapper .theatre .theatre-info {\n  margin-bottom: 1rem;\n}\n#flashinfo-div {\n  z-index: 99999 !important;\n}\n#malp,\n#malTotal,\n#AddMalDiv,\n#AddMal {\n  color: #999 !important;\n}\n#malStatus,\n#malUserRating,\n#malEpisodes {\n  background: transparent !important;\n  color: #d5015b !important;\n}\n#malStatus option,\n#malUserRating option,\n#malEpisodes option {\n  background: black !important;\n  color: #d5015b !important;\n}\n#malRating {\n  color: #d5015b !important;\n}\n.mal-sync-active .episode-label-wrap {\n  background-color: #002966;\n  background-color: #002966ba;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(324);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #694ba1;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #694ba1;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#MalData select option {\n  background-color: white;\n}\nbody.dark #MalData select option {\n  background-color: #1c1b26 !important;\n}\n#malp {\n  margin: 0;\n}\n#malp .info {\n  display: block;\n}\n#malp #malEpisodes {\n  display: inline-block;\n  border: 0;\n  padding: 0;\n  margin-bottom: 4px;\n}\n#malp select {\n  margin-left: -3px !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(326);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  background-color: white;\n}\n.mal-sync-active > div {\n  border: 4px solid #72abff;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(328);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp * {\n  color: white;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(330);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active {\n  border: 2px solid #002966 !important;\n}\n#malp {\n  margin: 10px;\n  max-width: 1000px;\n}\n#malp select option {\n  color: white;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(332);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #a21e2d !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select,\na,\ninput,\nspan {\n  color: #bbb !important;\n}\n#malp select option {\n  color: #bbb !important;\n  background-color: #161616 !important;\n}\n#servers .server ul.episodes li a.active {\n  background-color: #47040c !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(334);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\nhtml #malp select option {\n  color: black !important;\n  background-color: white !important;\n}\nhtml.dark #malp select,\nhtml.dark a,\nhtml.dark input,\nhtml.dark span {\n  color: #ccc !important;\n}\nhtml.dark #malp select option {\n  color: #ccc !important;\n  background-color: #111 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(336);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\ndiv#app.dark-theme a,\ndiv#app.dark-theme span,\ndiv#app.dark-theme input,\ndiv#app.dark-theme select {\n  color: white !important;\n}\ndiv#app.dark-theme #malp select option {\n  color: white !important;\n  background-color: black !important;\n}\ndiv#app.light-theme select option {\n  color: black !important;\n  background-color: white !important;\n}\n#malp {\n  margin: 20px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(338);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp a,\nselect,\ninput,\n#malTotal {\n  color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(340);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #b2d1ff !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  background-color: #555;\n  padding: 10px 7px 5px 7px;\n}\n#malp span {\n  color: white;\n}\n#malp select > * {\n  background-color: #555 !important;\n}\n#flashinfo-div {\n  z-index: 99999999 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(342);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\nbody:not(.dark) .mal-sync-active {\n  background-color: lightblue;\n}\nbody:not(.dark) #malp select option {\n  color: black !important;\n  background-color: #e7dba3 !important;\n}\nbody.dark .mal-sync-active {\n  background-color: blue;\n}\nbody.dark #malp * {\n  color: white !important;\n}\nbody.dark #malp select option {\n  background-color: black !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(344);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  font-family: arial, helvetica, sans-serif;\n  max-width: 90%;\n  margin-left: 10px;\n  color: white !important;\n}\n#malp a,\n#malp select,\n#malp input,\n#malp span {\n  color: white !important;\n}\n#malp select option {\n  color: white !important;\n  background-color: black !important;\n}\n#MalData > * {\n  white-space: nowrap;\n}\n#malp select,\n#malp input,\n#malp a,\n#malp #malTotalVol,\n#malp #malTotalCha {\n  display: inline-block !important;\n}\n.mal-sync-active .infoept {\n  background-color: #002966;\n}\n.mal-sync-active div {\n  color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(346);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  margin-bottom: 10px;\n}\n#malp a:hover {\n  color: #e3474b;\n}\n#MalData > * {\n  white-space: nowrap;\n}\n#malp select,\n#malp input,\n#malp a,\n#malp #malTotalVol,\n#malp #malTotalCha {\n  display: inline-block !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(348);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  color: white !important;\n  background-color: black !important;\n}\n#malp a,\nselect,\ninput,\nspan {\n  color: white !important;\n}\n.mal-sync-active {\n  border-top: 2px solid #002966 !important;\n  border-bottom: 2px solid #002966 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(350);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp span,\nselect,\ninput,\na {\n  color: white !important;\n}\n#malp select option {\n  color: white !important;\n  background-color: rgba(0, 41, 102, 0.8) !important;\n}\n#malp {\n  margin: 10px;\n  padding: 4px 10px;\n  background-color: rgba(0, 41, 102, 0.8);\n  border: 2px solid #428bca !important;\n}\n#malp .info {\n  background-color: transparent;\n  border: none;\n}\n.mal-sync-active {\n  background-color: #428bca !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(352);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#flashinfo-div {\n  z-index: 100 !important;\n}\n#malp #malVolumes,\n#malp #malEpisodes,\n#malp span {\n  float: none;\n  display: inline-block;\n  border-radius: 0;\n  margin-top: 0;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(354);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #00bcd4;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n.mal-sync-active {\n  background-color: inherit !important;\n}\n.mal-sync-active .da-video-tbl {\n  border: solid 5px #00bcd4 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(356);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #98cff0;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  margin: 10px;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(358);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: #204279;\n}\n#malp select option {\n  background-color: inherit;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  background: inherit !important;\n}\n#malp span.MalLogin {\n  background: inherit;\n}\n#malp span#MalData {\n  background: inherit;\n}\n#malp {\n  background: inherit;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(360);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  margin-bottom: 10px;\n}\n#malp a:hover {\n  color: #e3474b;\n}\n#MalData > * {\n  white-space: nowrap;\n}\n#malp select,\n#malp input,\n#malp a,\n#malp #malTotalVol,\n#malp #malTotalCha {\n  display: inline-block !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(362);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #428bca !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  color: #ffffff !important;\n  border-top: 1px solid #ffffff;\n  margin-top: 10px;\n  padding-top: 10px;\n}\n#MalData,\n#MalInfo {\n  border-radius: 6px;\n  padding: 5px;\n  background-color: rgba(0, 41, 102, 0.8) !important;\n}\n#MalData {\n  border: 1px blue solid;\n}\n#MalInfo:empty {\n  padding: 0 !important;\n}\n#malStatus,\n#malEpisodes,\n#malUserRating,\n#malVolumes,\n#AddMal {\n  color: wheat !important;\n  font-size: 13px;\n}\n#malTotalVol,\n#malTotalCha,\n#malRating,\n#malTotal,\n#malp .info {\n  font-size: 13px;\n  color: #ffffff !important;\n}\n#malp select option {\n  color: white !important;\n  background-color: rgba(0, 41, 102, 0.8) !important;\n}\n.mal-sync-active {\n  border: 2px solid #428bca !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(364);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  padding: 0 10px;\n  color: #ffffff !important;\n}\n#MalData,\n#MalInfo {\n  border-radius: 6px;\n  padding: 5px;\n  background-color: rgba(0, 41, 102, 0.8) !important;\n}\n#MalData {\n  border: 1px blue solid;\n}\n#MalInfo:empty {\n  padding: 0 !important;\n}\n#malStatus,\n#malEpisodes,\n#malUserRating,\n#malVolumes,\n#AddMal {\n  color: wheat !important;\n  font-size: 13px;\n}\n#malTotalVol,\n#malTotalCha,\n#malRating,\n#malTotal,\n#malp .info {\n  font-size: 13px;\n  color: #ffffff !important;\n}\n#malp select option {\n  color: white !important;\n  background-color: rgba(0, 41, 102, 0.8) !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(366);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n#malp span {\n  background: none !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(368);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(370);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #b8daff;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(372);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #c2382b;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: white;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #c2382b;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\nbody:not(.dark) .mal-sync-active {\n  border: 2px solid red !important;\n  background-color: inherit !important;\n}\nbody.dark .mal-sync-active {\n  border: 2px solid white !important;\n  background-color: inherit !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(374);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  font-size: 15px;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(376);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\nbody:not(.dark-mode) #malp select option {\n  color: black !important;\n  background-color: white !important;\n}\nbody.dark-mode #malp * {\n  color: white;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(378);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(380);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  padding-top: 10px;\n}\n#malp select option {\n  color: white !important;\n  background-color: black !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(382);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #b8daff;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#MalData select option {\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(384);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  padding: 0 22px 0;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(386);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #b8daff;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(388);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n  display: none !important;\n}\n#flashinfo-div {\n  z-index: 20000 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(390);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: transparent !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  margin: 10px;\n}\n#MalData {\n  justify-content: space-evenly !important;\n}\n#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n#malp select option {\n  color: white !important;\n  background-color: #222325 !important;\n}\n.mal-sync-active {\n  box-shadow: 0 5px 0 #0183b5;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(392);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #b8daff;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(394);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n  display: none !important;\n}\n#flashinfo-div {\n  z-index: 20000 !important;\n}\n#malp span {\n  margin-right: 5px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(396);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #b8daff !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\nhtml#dark #malp * {\n  color: white !important;\n}\nhtml#dark #malp select option {\n  background-color: black !important;\n}\nhtml:not(#dark) #malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(398);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #b8daff;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(400);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(402);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  color: black;\n  background-color: white;\n}\nbody.dark #malp select option {\n  color: white !important;\n  background-color: #1f1f1f !important;\n}\n#malRating,\n#malStatus,\n#malEpisodes,\n#malTotal,\n#malUserRating,\n#AddMal {\n  color: #1291bc !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(404);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(406);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(408);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966 !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active * {\n  color: white;\n}\nbody.lightmode #malp select option {\n  color: black !important;\n  background-color: white !important;\n}\nbody.darkmode #malp * {\n  color: white;\n}\nbody.darkmode #malp select option {\n  background-color: black !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(410);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp * {\n  color: white;\n}\n#malp select option {\n  background-color: black !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(412);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(414);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  margin-bottom: 10px;\n}\n#malp a:hover {\n  color: #e3474b;\n}\n#MalData > * {\n  white-space: nowrap;\n}\n#malp select,\n#malp input,\n#malp a,\n#malp #malTotalVol,\n#malp #malTotalCha {\n  display: inline-block !important;\n}\n#flash-div-top,\n#flashinfo-div {\n  background-color: inherit !important;\n}\n#flash-div-top *,\n#flashinfo-div * {\n  background-color: inherit !important;\n}\n#flash-div-top .flash > *,\n#flashinfo-div .flash > * {\n  background: #323232 !important;\n}\n#malSyncProgress .ms-progress {\n  background-color: #2980b9 !important;\n}\n.mal-sync-active {\n  box-shadow: 0 0 0 1px red !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(416);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  background-color: white;\n}\nbody.darkmode #malp * {\n  color: white;\n}\nbody.darkmode #malp select option {\n  background-color: black !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(418);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #e4e4e4;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #e4e4e4;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  max-width: 1000px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(420);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #888 !important;\n}\n.mal-sync-active {\n  background-color: #98cff0;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  margin-bottom: 38px;\n}\n#malp * {\n  float: left;\n  margin-right: 5px;\n}\n#malp #MalInfo {\n  float: none;\n  display: flex;\n}\n#malp #MalData {\n  float: none;\n}\n#malp select option {\n  background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  line-height: normal;\n  inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n  float: none;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(422);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #fff;\n}\n.mal-sync-active {\n  background-color: rgba(0, 137, 255, 0.3);\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #fff;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.open-info-popup.floatbutton {\n  left: 40px;\n  right: unset;\n  background: rgba(255, 255, 255, 0.7);\n}\n#malp {\n  margin: 10px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(424);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  margin-top: 5px;\n}\n#malp * {\n  color: white;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(426);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp * {\n  color: white;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(428);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: #cee1ff;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp span {\n  color: inherit;\n}\n#malp select > * {\n  background-color: white !important;\n}\n#malp #MalData {\n  flex-direction: row;\n  flex-wrap: wrap;\n}\n#malp #MalData .info {\n  font-weight: bold;\n}\n#malp #MalData #malStatus,\n#malp #MalData #malUserRating {\n  width: initial !important;\n}\n@media only screen and (max-width: 850px) {\n  #malp .MalLogin {\n    width: 100%;\n  }\n}\n#MalData select option {\n  background-color: rgba(20, 25, 31, 0.98) !important;\n}\n.mal-sync-active {\n  background-color: #0e1d35;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(430);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n@media (max-width: 767px) {\n  #malp {\n    font-size: 14px;\n  }\n}\n#malp span {\n  color: white;\n}\n#malp select > * {\n  background-color: #f8971d !important;\n  color: white;\n}\n#malp #MalData {\n  flex-direction: row;\n  flex-wrap: wrap;\n}\n#malp #MalData .info {\n  font-weight: bold;\n  color: #f8971d;\n  margin-right: 4px;\n}\n#malp #MalData #malStatus,\n#malp #MalData #malUserRating {\n  width: initial !important;\n}\n.mal-sync-active {\n  background-color: #f8971d !important;\n}\n.mal-sync-active * {\n  color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(432);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(434);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp * {\n  color: white;\n}\n#malp {\n  margin: 0;\n  padding-top: 10px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(436);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(438);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, ".mal-sync-active {\n  background-color: #00d5ff !important;\n}\nbody.dark .mal-sync-active {\n  color: black !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(440);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp * {\n  color: white;\n}\nhtml.theme-light #malp * {\n  color: black;\n}\nhtml.theme-light #malp * select option {\n  color: black;\n  background-color: white;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(442);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: transparent !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  padding: 0 30px 0 40px;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n.mal-sync-active {\n  box-shadow: 0 5px 0 #0183b5;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(444);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(446);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  margin-left: 3px;\n  margin-top: 5px;\n}\n#malp * {\n  color: white;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(448);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966 !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active * {\n  color: white;\n}\nbody.lightmode #malp select option {\n  color: black !important;\n  background-color: white !important;\n}\nbody.darkmode #malp * {\n  color: white;\n}\nbody.darkmode #malp select option {\n  background-color: black !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(450);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#flashinfo-div {\n  z-index: 200000 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(452);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: transparent;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active button,\nbutton.mal-sync-active {\n  background-color: blue !important;\n}\n#malp * {\n  color: white;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(454);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active * {\n  color: white !important;\n}\n#malp * {\n  float: left;\n  margin-right: 5px;\n}\n#malp select option {\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(456);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(458);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #838aa0;\n}\n.mal-sync-active {\n  background-color: initial;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #838aa0;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  background-color: #1b1b1b;\n  margin-top: 10px;\n  width: 100%;\n  padding: 24px;\n  margin-bottom: 0;\n  height: auto !important;\n}\n#MalData > span > span.info {\n  color: #fff !important;\n}\n#malp select option {\n  color: #838aa0 !important;\n  background-color: #171717 !important;\n}\n#malp {\n  margin-block-end: 0 !important;\n  margin-bottom: 0 !important;\n}\n#MALSyncheading {\n  margin-top: 10px;\n}\n.mal-sync-active {\n  box-shadow: inset 0 0 0 1px #98cff0 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(460);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #888 !important;\n}\n.mal-sync-active {\n  background-color: #0e1d35;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  margin-bottom: 38px;\n}\n#malp * {\n  float: left;\n  margin-right: 5px;\n}\n#malp #MalInfo {\n  float: none;\n  display: flex;\n}\n#malp #MalData {\n  float: none;\n}\n#malp select option {\n  background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  line-height: normal;\n  inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n  float: none;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(462);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #888 !important;\n}\n.mal-sync-active {\n  background-color: #0e1d35;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  margin-bottom: 38px;\n}\n#malp * {\n  float: left;\n  margin-right: 5px;\n}\n#malp #MalInfo {\n  float: none;\n  display: flex;\n}\n#malp #MalData {\n  float: none;\n}\n#malp select option {\n  background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  line-height: normal;\n  inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n  float: none;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(464);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #ccc !important;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #ccc !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#MalData span span.info {\n  font-weight: bold;\n}\n#malp select option {\n  background-color: #333;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(466);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #333 !important;\n}\n.mal-sync-active {\n  background-color: #98cff0;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #333 !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#MalData span span.info {\n  font-weight: bold;\n}\n#malp select option {\n  background-color: #dfdfdf;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(468);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #333 !important;\n}\n.mal-sync-active {\n  background-color: #98cff0;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #333 !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#MalData span span.info {\n  font-weight: bold;\n}\n#malp select option {\n  background-color: #dfdfdf;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(470);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #888 !important;\n}\n.mal-sync-active {\n  background-color: #98cff0;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  margin-bottom: 38px;\n}\n#malp * {\n  float: left;\n  margin-right: 5px;\n}\n#malp #MalInfo {\n  float: none;\n  display: flex;\n}\n#malp #MalData {\n  float: none;\n}\n#malp select option {\n  background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  line-height: normal;\n  inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n  float: none;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(472);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  margin-top: 10px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(474);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active * {\n  color: var(--light) !important;\n}\n.mal-sync-active:hover {\n  background-color: #002966a6 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(476);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malp input {\n  padding-left: 0;\n  padding-right: 0;\n  text-align: center;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(478);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #b8daff;\n}\n#malp select option {\n  background-color: #ffffff;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  display: inline !important;\n  margin-left: 5px;\n}\n#malp #MalData {\n  display: inline !important;\n}\n#malp .MalLogin {\n  margin-left: 10px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(480);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp > span > span {\n  margin-right: 5px;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n#malp {\n  margin-bottom: 5px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(482);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#flashinfo-div,\n#flash-div-bottom,\n#flash-div-top,\n#malp > span {\n  direction: ltr;\n}\n#MalData {\n  flex-direction: row-reverse;\n}\n.MalLogin option {\n  background: inherit !important;\n}\n.mal-sync-active {\n  background-color: inherit !important;\n}\n.mal-sync-active .video-item {\n  background-color: #002966;\n  border-radius: 5px;\n  padding: 3px 3px 5px 3px;\n}\n.mal-sync-active .video-item .video-subtitle {\n  color: white;\n}\n.mal-sync-active ~ a .video-item {\n  background-color: #429cc6;\n  border-radius: 5px;\n  padding: 3px 3px 5px 3px;\n}\n.mal-sync-active ~ a .video-item .video-subtitle {\n  color: white;\n}\n.translated-box #malp #MalData span.info ~ * {\n  color: #a4a3a3 !important;\n}\n.translated-box #malp #MalData span.info ~ * > * {\n  color: #a4a3a3 !important;\n}\n.mal-sync-active.result-item.episode {\n  background-color: #0056b3 !important;\n  border-radius: 5px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(484);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #000000;\n}\n.mal-sync-active {\n  background-color: #b2d1ff !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #000000;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  background-color: white;\n}\n#malp span {\n  color: #000000;\n}\n#malp select > * {\n  background-color: white !important;\n}\n#malp input[type='password'],\n#malp input[type='text'] {\n  min-width: 50px;\n}\n#malStatus {\n  min-width: 155px;\n  flex-grow: 3;\n}\n#malUserRating {\n  min-width: 140px;\n  flex-grow: 3;\n}\n.MalLogin {\n  display: flex !important;\n  align-items: center;\n}\n.MalLogin span {\n  display: flex !important;\n  align-items: center;\n}\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-hide #flash-div-top {\n  display: none !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(486);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp * {\n  display: inline-block;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(488);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #9b9b9b;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #9b9b9b;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active a {\n  background-color: #72abff !important;\n}\n#flashinfo-div {\n  z-index: 100 !important;\n}\n#malp {\n  color: white;\n}\n#malp #malVolumes,\n#malp #malEpisodes {\n  float: none;\n  display: inline-block;\n  border-radius: 0 !important;\n  padding: 0 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(490);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #b8b8b8;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #222;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #b8b8b8;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  padding: 10px 15px;\n}\n#malp {\n  margin: 0;\n}\n#malp span span.info {\n  color: #d9d9d9 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(492);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #98cff0 !important;\n}\n#malp select option {\n  background-color: #fff;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(494);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #98cff0 !important;\n}\n#malp select option {\n  background-color: white;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  border: 2px solid black;\n  border-radius: 10px;\n  margin: 0 10px 10px;\n  padding: unset;\n}\n#malthing #MALSync {\n  padding: 10px 0 10px 10px;\n}\n#malthing #malp {\n  display: inline-block;\n  padding: 10px;\n  margin: 0;\n}\n#malthing .MalLogin {\n  margin-left: 10px;\n}\n#malthing #malStatus,\n#malthing #malTotal,\n#malthing #malEpisodes,\n#malthing #malUserRating,\n#malthing #malRating,\n#malthing #malVolumes,\n#malthing #malTotalVol,\n#malthing #malTotalCha,\n#malthing #AddMal {\n  min-width: 10px !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(496);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n  display: none !important;\n}\n#malp {\n  max-width: 700px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(498);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #ccc !important;\n}\n.mal-sync-active {\n  background-color: #694ba1;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #ccc !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  margin-bottom: 38px;\n}\n#malp * {\n  float: none;\n  display: inline-block;\n  margin-right: 5px;\n}\n#malp #MalInfo {\n  float: none;\n  display: flex;\n}\n#malp #MalData {\n  float: none;\n}\n#malp select option {\n  background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  line-height: normal;\n  inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n  float: none;\n}\n#malRating:hover {\n  color: #694ba1 !important;\n}\n#malStatus:hover {\n  color: #694ba1 !important;\n}\n#malUserRating:hover {\n  color: #694ba1 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(500);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #3498db !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\nbody:not(.dark) #malp * {\n  color: black !important;\n}\nbody:not(.dark) #malp option {\n  background-color: white !important;\n}\nbody.dark #malp * {\n  color: white !important;\n}\nbody.dark #malp input {\n  background-color: black !important;\n}\n.mal-sync-active {\n  background-color: #3498db !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(502);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #1292c9;\n}\n#malp select option {\n  background-color: white !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  color: black !important;\n}\n#malp * {\n  color: inherit;\n}\n.mal-sync-active > div {\n  border: 4px solid #1292c9 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(504);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: transparent;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active div:last-child {\n  border-left: 5px solid #b021b1;\n  background-color: #b021b10f;\n  padding-left: 5px;\n}\n#malp select,\na,\ninput,\nspan {\n  color: #bbb !important;\n}\n#malp {\n  max-width: 800px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(506);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active > * {\n  background-color: var(--v-info-base) !important;\n}\n#malp {\n  max-width: 900px;\n  margin-top: 16px;\n  margin-bottom: 0;\n}\n#malp span {\n  background-color: transparent !important;\n}\n#malp select {\n  -webkit-appearance: auto;\n  -moz-appearance: auto;\n}\n#malp select option {\n  background-color: var(--v-base-base);\n}\n#malp input {\n  border-bottom: 1px solid;\n}\n@media only screen and (max-width: 1150px) {\n  #malp .MalLogin {\n    width: 100%;\n  }\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(508);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "", "" ]);
}, function(t, e, n) {
    var i = n(510);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #f70000;\n}\n.mal-sync-active {\n  background-color: #f70000 !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #f70000;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active {\n  color: white !important;\n}\n#MalData select option {\n  background-color: #1c1b26 !important;\n}\n#malp {\n  margin: 0;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(512);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, ".MalLogin:nth-child(3),\n.MalLogin:nth-child(4) {\n  width: 115px;\n}\n.MalLogin:nth-child(3) span:nth-child(2),\n.MalLogin:nth-child(4) span:nth-child(2) {\n  line-height: 2.8;\n}\n.MalLogin:nth-child(3) span:nth-child(2) input,\n.MalLogin:nth-child(4) span:nth-child(2) input {\n  width: 70px !important;\n  float: left;\n  margin-right: 5px;\n}\n.MalLogin .info {\n  width: 100%;\n  display: block;\n}\n.mal-sync-active {\n  border: 3px solid blue !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(514);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp span,\nselect,\ninput,\na {\n  color: white !important;\n}\n#malp select option {\n  color: white !important;\n  background-color: black !important;\n}\n#malp {\n  padding: 4px 10px;\n  border: 2px solid #667ac1 !important;\n  background-color: #23262e;\n}\n#malp .info {\n  background-color: transparent;\n  border: none;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(516);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #b8b8b8;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #222;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #b8b8b8;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  padding: 10px 15px;\n}\n#malp {\n  margin: 0;\n}\n#malp span span.info {\n  color: #d9d9d9 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(518);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #ffffff;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #ffffff;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp span,\nselect,\ninput,\na {\n  color: #ffffff !important;\n}\n#malp select option {\n  color: #ffffff !important;\n  background-color: var(--fs-episodes-series-desc-background) !important;\n}\n#malp {\n  width: 100%;\n  padding: 4px 10px;\n  border: 2px solid var(--fs-episodes-border-color) !important;\n  border-radius: 11px;\n  background-color: var(--fs-episodes-series-desc-background) !important;\n}\n#malp .info {\n  background-color: transparent;\n  border: none;\n}\n.mal-sync-active {\n  background-color: var(--fs-malsync-watched-bg) !important;\n  border-color: var(--fs-malsync-watched) !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(520);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white !important;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  padding: 1em 1.3em;\n}\n.open-info-popup.floatbutton {\n  bottom: 100px !important;\n}\n.mal-sync-active {\n  background-color: transparent;\n  border-left: 5px solid #002966;\n  padding-left: 5px;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(522);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: initial;\n}\n#malp select option {\n  background-color: inherit;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  background-color: inherit;\n  margin: 0;\n}\n#malp #malStatus,\n#malp #malTotal,\n#malp #malEpisodes,\n#malp #malUserRating,\n#malp #malRating,\n#malp #malVolumes,\n#malp #malTotalVol,\n#malp #malTotalCha,\n#malp #AddMal {\n  background-color: inherit !important;\n}\n#malp span#MalData {\n  background-color: inherit;\n}\n#malp span.MalLogin {\n  background-color: inherit;\n}\n.mal-sync-active {\n  box-shadow: inset 0 0 0 2px #98cff0 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(524);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "", "" ]);
}, function(t, e, n) {
    var i = n(526);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active * {\n  color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(528);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp .MalLogin span:last-child,\n#malp .MalLogin select:last-child {\n  color: white;\n}\n#MalData .info {\n  color: white;\n}\n#MalData select option {\n  background-color: #121420 !important;\n}\n.mal-sync-active {\n  background-color: #cc2a52 !important;\n}\n#malStatus,\n#malUserRating,\n#malRating,\n#AddMal {\n  color: white;\n}\n.rounded {\n  border-radius: 4px;\n}\n#malp {\n  margin: 0;\n}\n#malp .MalLogin span:last-child,\n#malp .MalLogin select:last-child {\n  margin-left: 2rem;\n}\n#malp select > * {\n  background-color: white !important;\n}\n#malp #MalData {\n  flex-flow: column;\n  flex-direction: row !important;\n}\n#malp #MalData .info {\n  font-weight: bold;\n  float: left;\n  clear: left;\n  text-align: right;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n#malp #MalData #malStatus,\n#malp #MalData #malUserRating,\n#malp #MalData #malRating {\n  width: initial !important;\n  margin-left: 2rem;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(530);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: inherit;\n}\n.mal-sync-active {\n  background-color: #cee1ff;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp {\n  margin: 0;\n}\n#malp span {\n  color: inherit;\n}\n#malp select > * {\n  background-color: white !important;\n}\n.strong {\n  font-weight: bold;\n}\n@media only screen and (max-width: 1440px) {\n  #malp .MalLogin {\n    width: 100%;\n  }\n}\n#MalData select option {\n  background-color: white !important;\n}\n.mal-sync-active {\n  background-color: #82af42;\n}\n.mal-sync-active * {\n  color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(532);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  background-color: var(--color-000) !important;\n}\n#malp {\n  margin-top: 2.4rem;\n}\n#malp * {\n  color: var(--color-900) !important;\n}\n.mal-sync-active * {\n  color: white !important;\n  background-color: #002966 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(534);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #888 !important;\n}\n.mal-sync-active {\n  background-color: #0e1d35;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  margin-bottom: 38px;\n}\n#malp * {\n  float: left;\n  margin-right: 5px;\n}\n#malp #MalInfo {\n  float: none;\n  display: flex;\n}\n#malp #MalData {\n  float: none;\n}\n#malp select option {\n  background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  line-height: normal;\n  inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n  float: none;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(536);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #888 !important;\n}\n.mal-sync-active {\n  background-color: #0e1d35;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  margin-bottom: 38px;\n}\n#malp * {\n  float: left;\n  margin-right: 5px;\n}\n#malp #MalInfo {\n  float: none;\n  display: flex;\n}\n#malp #MalData {\n  float: none;\n}\n#malp select option {\n  background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  line-height: normal;\n  inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n  float: none;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(538);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #888 !important;\n}\n.mal-sync-active {\n  background-color: #0e1d35;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  margin-bottom: 38px;\n}\n#malp * {\n  float: left;\n  margin-right: 5px;\n}\n#malp #MalInfo {\n  float: none;\n  display: flex;\n}\n#malp #MalData {\n  float: none;\n}\n#malp select option {\n  background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  line-height: normal;\n  inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n  float: none;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(540);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #888 !important;\n}\n.mal-sync-active {\n  background-color: #0e1d35;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  margin-bottom: 38px;\n}\n#malp * {\n  float: left;\n  margin-right: 5px;\n}\n#malp #MalInfo {\n  float: none;\n  display: flex;\n}\n#malp #MalData {\n  float: none;\n}\n#malp select option {\n  background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  line-height: normal;\n  inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n  float: none;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(542);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #b8b8b8;\n}\n.mal-sync-active {\n  background-color: #002966 !important;\n}\n#malp select option {\n  background-color: #222;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #b8b8b8;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  padding: 10px 15px;\n}\n#malp {\n  margin: 0;\n}\n#malp span span.info {\n  color: #d9d9d9 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(544);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: #888 !important;\n}\n.mal-sync-active {\n  background-color: #0e1d35;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malthing {\n  margin-bottom: 38px;\n}\n#malp * {\n  float: left;\n  margin-right: 5px;\n}\n#malp #MalInfo {\n  float: none;\n  display: flex;\n}\n#malp #MalData {\n  float: none;\n}\n#malp select option {\n  background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  line-height: normal;\n  inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n  float: none;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(546);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n.mal-sync-active {\n  background-color: #002966 !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(548);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: lightblue !important;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  color: black !important;\n  background-color: white !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(550);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: white !important;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: white !important;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(552);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n  color: black;\n}\n.mal-sync-active {\n  background-color: #002966;\n}\n#malp select option {\n  background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  font-size: inherit;\n  font-family: inherit;\n  background: transparent;\n  border-color: grey;\n  text-decoration: none;\n  outline: medium none;\n  border-width: 0;\n  height: auto;\n  padding: 0;\n  margin: 0;\n  line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n  text-align: center;\n  border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n  border-color: black;\n}\n#malSyncProgress.ms-loading {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  background-color: #2980b9;\n  animation: loading 2s linear infinite;\n}\n@keyframes loading {\n  from {\n    left: -200px;\n    width: 30%;\n  }\n  50% {\n    width: 30%;\n  }\n  70% {\n    width: 70%;\n  }\n  80% {\n    left: 50%;\n  }\n  95% {\n    left: 120%;\n  }\n  to {\n    left: 100%;\n  }\n}\n#malSyncProgress.ms-done .ms-progress {\n  width: 100% !important;\n  background-color: #ff4081 !important;\n  transition: background-color 1s !important;\n}\n#malp select option {\n  background-color: #fff;\n}\n", "" ]);
}, function(t, e, n) {
    "use strict";
    Object.defineProperty(e, "__esModule", {
        value: !0
    }), e.buildDirective = void 0;
    var i = n(89);
    e.buildDirective = function(t) {
        void 0 === t && (t = {}), function(t) {
            var e, n = t.hooks;
            for (e in n) i.addHook(e, n[e]);
        }(t);
        var e = function(e, n) {
            if (n.oldValue !== n.value) {
                var a = n.arg, o = t.namedConfigurations;
                o && void 0 !== o[a] ? e.innerHTML = i.sanitize(n.value, o[a]) : e.innerHTML = i.sanitize(n.value, t.default);
            }
        };
        return {
            inserted: e,
            update: e
        };
    };
}, function(t, e, n) {
    "use strict";
    var i = n(54);
    n.n(i).a;
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, ".info[data-v-4b3e3631] {\n  height: 0;\n  padding: 0;\n  margin: 0;\n}\n", "" ]);
}, function(t, e, n) {
    "use strict";
    var i = n(56);
    n.n(i).a;
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, ".mdl-textfield__input[data-v-29cae25a] {\n  text-align: right;\n}\n.mdl-textfield__input[data-v-29cae25a]:focus {\n  border-bottom: 1px solid green;\n}\n.mdl-textfield__input.rec[data-v-29cae25a] {\n  border-bottom: 1px solid red;\n}\n.mdl-textfield__input.tempRec[data-v-29cae25a] {\n  border-bottom: 1px solid orange;\n}\n.mdl-textfield[data-v-29cae25a] {\n  width: auto;\n  padding: 0;\n}\n.close-icon[data-v-29cae25a] {\n  vertical-align: middle;\n  margin-bottom: 3px;\n  cursor: pointer;\n}\n.mdl-list__item-secondary-action[data-v-29cae25a] {\n  display: flex;\n  align-items: center;\n}\n", "" ]);
}, function(t, e, n) {
    "use strict";
    var i = n(58);
    n.n(i).a;
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, ".material-icons[data-v-50365ef6] {\n  margin-left: 5px;\n}\n.material-icons.wrong[data-v-50365ef6] {\n  color: red;\n  cursor: pointer;\n}\n", "" ]);
}, function(t, e, n) {
    "use strict";
    var i = n(75);
    n.n(i).a;
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, ".mdl-textfield__input[data-v-40f53714]:focus {\n  border-bottom: 1px solid green;\n}\n.mdl-textfield__input.error[data-v-40f53714] {\n  border-bottom: 1px solid red;\n}\n.mdl-textfield__input.tempRec[data-v-40f53714] {\n  border-bottom: 1px solid orange;\n}\n", "" ]);
}, function(t, e, n) {
    var i = n(563);
    t.exports = "string" == typeof i ? i : i.toString();
}, function(t, e, n) {
    (t.exports = n(3)(!1)).push([ t.i, "body::-webkit-scrollbar {\n  display: none !important;\n}\n#material .mdl-card__supporting-text {\n  width: initial;\n}\n.mdl-layout__header .mdl-textfield__label::after {\n  background-color: red !important;\n}\n#fixed-tab-1 .loading,\n#fixed-tab-1 .loaded {\n  -o-transition: opacity 0.3s linear;\n  -moz-transition: opacity 0.3s linear;\n  -webkit-transition: opacity 0.3s linear;\n  transition: opacity 0.3s linear;\n}\n#fixed-tab-1 .loading {\n  opacity: 0.5;\n}\n#fixed-tab-1 .loaded {\n  opacity: 1;\n}\n@media (min-width: 840px) {\n  #fixed-tab-1 .stats-block > ul {\n    justify-content: left !important;\n  }\n}\n.alternative-list .mdl-list {\n  max-width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.alternative-list .mdl-list__item {\n  height: auto;\n}\n.alternative-list .mdl-list__item-primary-content {\n  height: auto !important;\n}\n.alternative-list .mdl-list__item-primary-content a {\n  display: inline-block;\n}\n.alternative-list .mdl-list__item-text-body {\n  height: auto !important;\n}\n.coverinfo .mdl-chip {\n  height: auto;\n}\n.coverinfo .mdl-chip .mdl-chip__text {\n  white-space: normal;\n  line-height: 24px;\n}\n.ep-increment {\n  vertical-align: middle;\n  font-size: 16px;\n  background-color: #3f51b5;\n  border-radius: 50%;\n  margin-left: 5px;\n  margin-bottom: 3px;\n  cursor: pointer;\n  user-select: none;\n}\n.mdl-layout__container {\n  background-color: white;\n}\n.mdl-layout {\n  max-width: 1385px;\n  margin-left: auto;\n  margin-right: auto;\n  position: relative;\n  background-color: #f9f9f9;\n}\n.mdl-layout__content {\n  scrollbar-width: thin;\n}\n.mdl-layout__content::-webkit-scrollbar {\n  width: 10px !important;\n  background-color: #f5f5f5;\n}\n.mdl-layout__content::-webkit-scrollbar-thumb {\n  background-color: #c1c1c1 !important;\n}\na {\n  text-decoration: none;\n}\n.mdl-layout__tab-panel a:hover {\n  text-decoration: underline;\n}\n.bg-cell {\n  background-color: #fefefe;\n}\n#material.simple-header .mdl-layout__header .mdl-layout__tab-bar-container {\n  display: none;\n}\n.newEp {\n  position: absolute;\n  background-color: #dedede;\n  height: 25px;\n  width: 29px;\n  top: 3px;\n  right: -4px;\n  background-repeat: no-repeat;\n  background-position: 4px 3px;\n  background-image: url(https://github.com/google/material-design-icons/blob/master/social/1x_web/ic_notifications_none_black_18dp.png?raw=true);\n}\n.searchItem {\n  text-decoration: none !important;\n  color: black;\n}\n#material .mdl-layout__drawer-button {\n  background-color: transparent;\n}\n#material .mdl-layout__drawer-button:hover {\n  background-color: rgba(158, 158, 158, 0.2);\n}\n#material .mdl-layout__tab-bar {\n  background-color: transparent;\n}\n#material .mdl-layout__tab {\n  cursor: pointer;\n}\n#material.settings-only .mdl-layout__header .mdl-layout__tab-bar-container,\n#material.pop-over .mdl-layout__header .mdl-layout__tab-bar-container {\n  display: none;\n}\n#material.settings-only #fixed-tab-5.mdl-layout__tab-panel {\n  display: block !important;\n}\n#characterList .loading {\n  background-color: #cdcdcd;\n  min-height: 196px;\n}\n.malImage.loading {\n  background-color: #cdcdcd;\n  padding-bottom: 133.33%;\n}\n[mode='window'] body {\n  overflow: hidden;\n}\n#Mal-Sync-Popup #material-fullscreen {\n  display: none !important;\n}\n#Mal-Sync-Popup .settings-only #book.open .bookIcon {\n  display: none;\n}\n#Mal-Sync-Popup .settings-only #book.open .settingsIcon {\n  display: block !important;\n}\n#material a.button_edit {\n  text-decoration: none;\n  background-color: #efefef;\n  border-bottom: 1px solid #ebebeb;\n  font-size: 10px;\n  line-height: 1em;\n  margin: 0;\n  opacity: 1;\n  padding: 2px 4px;\n  -webkit-transition-duration: 0.3s;\n  transition-duration: 0.3s;\n  -webkit-transition-property: all;\n  transition-property: all;\n  -webkit-transition-timing-function: ease-in-out;\n  transition-timing-function: ease-in-out;\n  display: inline-block;\n  font-family: Avenir, lucida grande, tahoma, verdana, arial, sans-serif;\n  height: 9px;\n}\n#material a.button_edit.reading,\n#material a.button_edit.watching {\n  background-color: #2db039;\n  color: #fff;\n}\n#material a.button_edit.reading:hover,\n#material a.button_edit.watching:hover {\n  opacity: 0.7;\n}\n#material a.button_edit.plantoread,\n#material a.button_edit.plantowatch {\n  background-color: #c3c3c3;\n  color: #fff;\n}\n#material a.button_edit.plantoread:hover,\n#material a.button_edit.plantowatch:hover {\n  opacity: 0.7;\n}\n#material a.button_edit.completed {\n  background-color: #26448f;\n  color: #fff;\n}\n#material a.button_edit.completed:hover {\n  opacity: 0.7;\n}\n#material a.button_edit.on-hold {\n  background-color: #f1c83e;\n  color: #fff;\n}\n#material a.button_edit.dropped {\n  background-color: #a12f31;\n  color: #fff;\n}\n#material a.button_edit.dropped:hover {\n  opacity: 0.7;\n}\n#material #contributer {\n  padding: 15px;\n  padding-bottom: 0;\n}\n#material #contributer .group {\n  display: none;\n  text-transform: uppercase;\n  font-size: 12px;\n  padding: 5px 0;\n  font-weight: bold;\n  color: #707070;\n  opacity: 0;\n  -webkit-transition: 1s;\n  -o-transition: 1s;\n  transition: 1s;\n}\n#material #contributer .user {\n  height: 40px;\n  display: inline-block;\n  white-space: nowrap;\n  overflow: hidden;\n}\n#material #contributer .user .image {\n  position: relative;\n  vertical-align: middle !important;\n  display: inline-block;\n  height: 32px;\n  width: 32px;\n  margin-right: 10px;\n  border-radius: 50%;\n  overflow: hidden;\n  border: 1px solid #e0e0e0;\n}\n#material #contributer .user .image .gif {\n  position: absolute;\n  display: none;\n}\n#material #contributer .user .text {\n  vertical-align: middle !important;\n  display: none;\n  line-height: 100%;\n}\n#material #contributer .user.pop .image {\n  background-color: #3f51b5;\n}\n#material #contributer .discord {\n  display: none;\n}\n#material #contributer .inline-block {\n  display: inline-block;\n}\n#material #contributer.open {\n  padding-bottom: 15px;\n}\n#material #contributer.open .group {\n  opacity: 1;\n  display: block;\n}\n#material #contributer.open .user {\n  display: block;\n}\n#material #contributer.open .user .image .gif {\n  display: block;\n}\n#material #contributer.open .user .text {\n  display: inline-block;\n}\n#material #contributer.open .user.pop {\n  display: none;\n}\n#material #contributer.open .discord {\n  display: block;\n}\n#material #contributer.open .inline-block {\n  display: block;\n}\n.pr-bar .bar-tab {\n  position: absolute;\n  right: -12px;\n  bottom: -22px;\n  color: inherit;\n}\n#offsetUi {\n  display: flex;\n  justify-content: space-around;\n}\n#offsetUi .offsetBox {\n  text-align: center;\n  min-width: 40px;\n}\n#offsetUi .offsetBox .top {\n  padding: 5px 10px;\n}\n#offsetUi .offsetBox .bottom {\n  padding: 5px 10px;\n}\n#malList .mdl-menu__container {\n  margin-right: 16px;\n}\n#malList .mdl-menu__container .mdl-menu__item.active {\n  color: #3f51b5;\n}\ntable#malList {\n  margin-bottom: 50px;\n}\ntable#malList tr .imageTd .loaded::after {\n  content: '';\n  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.67) 100%);\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n}\ntable#malList tr:hover .imageTd {\n  overflow: visible !important;\n  z-index: 2;\n  left: -8px !important;\n  right: -8px !important;\n}\ntable#malList tr:hover .imageTd .loaded::after {\n  display: none;\n}\n.flagIcon {\n  height: 30px;\n  width: 40px;\n  margin: 5px;\n  background-color: #cdcdcd;\n  position: relative;\n  display: inline-block;\n  overflow: hidden;\n}\n.flagIcon .flagCountry {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  text-align: center;\n}\n.flagIcon .flagText {\n  position: absolute;\n  top: auto;\n  left: 0;\n  padding: 3px;\n  background-color: #3f51b5;\n  font-size: 10px;\n  bottom: 0;\n  line-height: 1;\n  color: white;\n}\n.flagIcon .flagflag {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n}\n.mdl-chip__contact {\n  width: auto;\n  min-width: 22px;\n  padding-left: 5px;\n  padding-right: 5px;\n}\n#quicklinkedit .quicklinks {\n  display: flex;\n  justify-content: space-between;\n  flex-wrap: wrap;\n  gap: 15px;\n}\n#quicklinkedit .quicklinks .quicklink {\n  opacity: 0.5;\n  font-size: 13px;\n  cursor: pointer;\n}\n#quicklinkedit .quicklinks .quicklink.active {\n  opacity: 1;\n}\n#quicklinkedit .quicklinks .quicklink.home {\n  background-color: #ff6767;\n}\n#quicklinkedit .quicklinks .quicklink.search {\n  background-color: #eeee9c;\n}\n#quicklinkedit .quicklinks .quicklink.database {\n  background-color: #90e963;\n}\n#quicklinkedit .quicklinks .quicklink.custom {\n  background-color: white;\n}\n#quicklinkedit .darkbox {\n  background-color: #0000002b;\n  padding: 5px;\n}\n#quicklinkedit td {\n  padding: 7px 2px;\n}\n#quicklinkoverview {\n  cursor: pointer;\n}\n#quicklinkoverview .quicklinks {\n  display: flex;\n  justify-content: space-between;\n  flex-wrap: wrap;\n  gap: 5px;\n}\n#quicklinkoverview .quicklinks .quicklink {\n  font-size: 13px;\n  background-color: #dedede40;\n}\n.backbutton-settings {\n  padding: 15px 20px;\n  display: flex;\n  align-items: center;\n  font-size: 20px;\n  cursor: pointer;\n}\n.backbutton-settings .material-icons {\n  margin-right: 10px;\n}\n#material.dark p,\n#material.serial p {\n  color: #ffffff !important;\n}\n#material.dark .mdl-layout__header,\n#material.serial .mdl-layout__header {\n  background-color: #212121;\n}\n#material.dark .mdl-layout__container,\n#material.serial .mdl-layout__container {\n  background-color: #2b2b2b;\n}\n#material.dark .mdl-layout__content,\n#material.serial .mdl-layout__content {\n  background-color: #212121;\n}\n#material.dark .mdl-layout__content a,\n#material.serial .mdl-layout__content a {\n  color: #f43b7a;\n}\n#material.dark #malList .mdl-cell div.mdl-shadow--2dp,\n#material.serial #malList .mdl-cell div.mdl-shadow--2dp {\n  background-color: #3b3b3be6 !important;\n}\n#material.dark #malList .mdl-cell div span,\n#material.serial #malList .mdl-cell div span {\n  background-color: #3b3b3be6 !important;\n}\n#material.dark #malList .mdl-cell div span a,\n#material.serial #malList .mdl-cell div span a {\n  color: #ffffff !important;\n}\n#material.dark #malList .mdl-menu__container .mdl-menu,\n#material.serial #malList .mdl-menu__container .mdl-menu {\n  background-color: #3b3b3b;\n  color: white;\n}\n#material.dark #malList .mdl-menu__container .mdl-menu .mdl-menu__item,\n#material.serial #malList .mdl-menu__container .mdl-menu .mdl-menu__item {\n  color: white;\n}\n#material.dark #malList .mdl-menu__container .mdl-menu .mdl-menu__item:active,\n#material.serial #malList .mdl-menu__container .mdl-menu .mdl-menu__item:active,\n#material.dark #malList .mdl-menu__container .mdl-menu .mdl-menu__item:hover,\n#material.serial #malList .mdl-menu__container .mdl-menu .mdl-menu__item:hover {\n  background-color: #212121;\n}\n#material.dark #malList .mdl-menu__container .mdl-menu .mdl-menu__item.active,\n#material.serial #malList .mdl-menu__container .mdl-menu .mdl-menu__item.active {\n  color: #f43b7a;\n}\n#material.dark #malReviews .lightLink,\n#material.serial #malReviews .lightLink {\n  color: white;\n}\n#material.dark .bg-cell,\n#material.serial .bg-cell {\n  background-color: #3b3b3b;\n}\n#material.dark .bg-cell .mdl-chip__text,\n#material.serial .bg-cell .mdl-chip__text {\n  background-color: #dedede !important;\n}\n#material.dark .bg-cell .mdl-card__supporting-text,\n#material.serial .bg-cell .mdl-card__supporting-text {\n  color: #ffffff !important;\n}\n#material.dark .bg-cell .mdl-card__title-text,\n#material.serial .bg-cell .mdl-card__title-text {\n  color: #ffffff !important;\n}\n#material.dark .bg-cell.mdl-data-table,\n#material.serial .bg-cell.mdl-data-table {\n  color: #ffffff !important;\n}\n#material.dark .bg-cell.mdl-data-table tbody tr:hover,\n#material.serial .bg-cell.mdl-data-table tbody tr:hover {\n  background-color: #393939;\n}\n#material.dark .bg-cell.mdl-data-table .mdl-progress,\n#material.serial .bg-cell.mdl-data-table .mdl-progress {\n  opacity: 1 !important;\n}\n#material.dark .bg-cell li,\n#material.serial .bg-cell li {\n  color: #ffffff !important;\n}\n#material.dark .bg-cell li span,\n#material.serial .bg-cell li span {\n  color: #ffffff !important;\n}\n#material.dark .bg-cell div.data.title,\n#material.serial .bg-cell div.data.title {\n  background-color: #3b3b3b !important;\n}\n#material.dark div.mdl-grid,\n#material.serial div.mdl-grid {\n  color: #ffffff;\n}\n#material.dark div.mdl-grid #updateCheckAgo,\n#material.serial div.mdl-grid #updateCheckAgo {\n  color: #ffffff !important;\n}\n#material.dark #malNotOnMal,\n#material.serial #malNotOnMal {\n  background-color: #ffffff;\n}\n#material.dark .mdl-textfield__input,\n#material.serial .mdl-textfield__input {\n  background-color: #3b3b3b !important;\n}\n#material.dark .mdl-layout__content::-webkit-scrollbar,\n#material.serial .mdl-layout__content::-webkit-scrollbar {\n  background-color: #3b3b3b;\n}\n#material.dark .mdl-layout__content::-webkit-scrollbar-thumb,\n#material.serial .mdl-layout__content::-webkit-scrollbar-thumb {\n  background-color: #ffffff !important;\n}\n#material.dark .mdl-layout__content,\n#material.serial .mdl-layout__content {\n  scrollbar-color: #ffffff #3b3b3b;\n}\n#material.dark .mdl-progress .bufferbar,\n#material.serial .mdl-progress .bufferbar {\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), linear-gradient(to right, #4c61d6, #4c61d6);\n}\n#material.dark .mdl-progress .auxbar,\n#material.serial .mdl-progress .auxbar {\n  visibility: hidden !important;\n}\n#material.dark .mdl-switch.is-checked .mdl-switch__thumb,\n#material.serial .mdl-switch.is-checked .mdl-switch__thumb {\n  background-color: #4c61d6;\n}\n#material.dark .mdl-switch.is-checked .mdl-switch__track,\n#material.serial .mdl-switch.is-checked .mdl-switch__track {\n  background-color: #6e7fdd;\n}\n#material.dark .mdl-layout.is-upgraded .mdl-layout__tab.is-active::after,\n#material.serial .mdl-layout.is-upgraded .mdl-layout__tab.is-active::after {\n  background-color: #f43b7a !important;\n}\n#material.dark .mdl-layout__content a:not(table .mdl-data-table),\n#material.serial .mdl-layout__content a:not(table .mdl-data-table) {\n  color: #f43b7a !important;\n}\n#material.dark .mdl-textfield__label,\n#material.serial .mdl-textfield__label {\n  color: #f43b7a;\n}\n#material.dark .mdl-textfield,\n#material.serial .mdl-textfield {\n  color: #ffffff;\n}\n#material.dark .mdl-textfield .mdl-textfield__label,\n#material.serial .mdl-textfield .mdl-textfield__label {\n  color: #f43b7a !important;\n}\n#material.dark .mdl-textfield .mdl-textfield__label::after,\n#material.serial .mdl-textfield .mdl-textfield__label::after {\n  background-color: #f43b7a;\n}\n#material.dark #characterList .loading,\n#material.serial #characterList .loading {\n  background-color: #212121;\n}\n#material.dark .malImage.loading,\n#material.serial .malImage.loading {\n  background-color: #212121;\n}\n#material.dark .searchItem,\n#material.serial .searchItem {\n  color: #ffffff;\n}\n#material.dark .discord div:not(.loaded),\n#material.serial .discord div:not(.loaded) {\n  background-image: -webkit-linear-gradient(top, #3b3b3b 0%, #738bd7 74%) !important;\n}\n#material.dark div .history h3,\n#material.serial div .history h3 {\n  color: #ffffff;\n}\n#material.dark div .history a,\n#material.serial div .history a {\n  color: #f43b7a !important;\n}\n@keyframes flicker {\n  0% {\n    opacity: 0.27861;\n  }\n  5% {\n    opacity: 0.34769;\n  }\n  10% {\n    opacity: 0.23604;\n  }\n  15% {\n    opacity: 0.90626;\n  }\n  20% {\n    opacity: 0.18128;\n  }\n  25% {\n    opacity: 0.83891;\n  }\n  30% {\n    opacity: 0.65583;\n  }\n  35% {\n    opacity: 0.67807;\n  }\n  40% {\n    opacity: 0.26559;\n  }\n  45% {\n    opacity: 0.84693;\n  }\n  50% {\n    opacity: 0.96019;\n  }\n  55% {\n    opacity: 0.08594;\n  }\n  60% {\n    opacity: 0.20313;\n  }\n  65% {\n    opacity: 0.71988;\n  }\n  70% {\n    opacity: 0.53455;\n  }\n  75% {\n    opacity: 0.37288;\n  }\n  80% {\n    opacity: 0.71428;\n  }\n  85% {\n    opacity: 0.70419;\n  }\n  90% {\n    opacity: 0.7003;\n  }\n  95% {\n    opacity: 0.36108;\n  }\n  100% {\n    opacity: 0.24387;\n  }\n}\n@keyframes fadein {\n  0% {\n    box-shadow: 0 0 2px 0 #bddbe040;\n    filter: brightness(30);\n    opacity: 0.1;\n  }\n  2% {\n    -webkit-filter: contrast(0) brightness(0);\n    filter: contrast(0) brightness(0);\n    opacity: 0;\n  }\n  40% {\n    filter: contrast(1) brightness(1.1) saturate(1.1);\n    opacity: 1;\n  }\n  100% {\n    filter: contrast(1) brightness(1) saturate(1);\n    opacity: 1;\n  }\n}\n#material.serial .mdl-layout__header {\n  box-shadow: 0 0 10px 0 #bddbe04f;\n}\n#material.serial .bg-cell,\n#material.serial .bookEntry,\n#material.serial #malList select {\n  position: relative;\n  border-radius: 7px;\n  overflow: hidden;\n  box-shadow: 0 0 10px 0 #bddbe040;\n  animation: fadein 2s;\n}\n#material.serial .bg-cell::after,\n#material.serial .bookEntry::after,\n#material.serial #malList select::after {\n  content: ' ';\n  display: block;\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: rgba(18, 16, 16, 0.03);\n  opacity: 0;\n  z-index: 99;\n  pointer-events: none;\n  animation: flicker 1.15s infinite;\n}\n#material.serial .mdl-layout {\n  filter: contrast(130%);\n}\n#material.serial .mdl-layout__content::-webkit-scrollbar-thumb {\n  box-shadow: 0 0 31px 24px #feffff;\n}\n#material.serial .mdl-layout__content::-webkit-scrollbar {\n  background-color: transparent !important;\n}\n#material.serial img {\n  filter: contrast(130%);\n  background-blend-mode: screen, difference, lighten;\n}\n#material.serial .mdl-layout__header {\n  position: relative;\n  border-radius: 0;\n}\n#material.serial .mdl-layout__header::before {\n  filter: saturate(2);\n  content: '';\n  position: absolute;\n  background-image: url(https://i.imgur.com/U1DCaLV.gif);\n  background-size: cover;\n  top: -209px;\n  left: 0;\n  right: 0;\n  bottom: 0;\n}\n#material.serial::after {\n  content: ' ';\n  display: block;\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.5) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.12), rgba(0, 255, 0, 0.04), rgba(0, 0, 255, 0.12));\n  z-index: 99;\n  background-size: 100% 3px, 3px 100%;\n  pointer-events: none;\n  opacity: 0.4;\n}\n@keyframes turn-off {\n  100% {\n    transform: scale(1, 1) translate3d(0, 0, 0);\n    -webkit-filter: brightness(1);\n    filter: brightness(1);\n    opacity: 1;\n  }\n  80% {\n    transform: scale(1, 1.3) translate3d(0, 0, 0);\n    -webkit-filter: brightness(1);\n    filter: brightness(1);\n    opacity: 1;\n  }\n  40% {\n    transform: scale(1.3, 0.001) translate3d(0, 0, 0);\n    -webkit-filter: brightness(10);\n    filter: brightness(10);\n  }\n  0% {\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n    transform: scale(0, 0.0001) translate3d(0, 0, 0);\n    -webkit-filter: brightness(50);\n    filter: brightness(50);\n  }\n}\n#cr #material.serial .mdl-layout__container {\n  background-color: black;\n}\n#cr #material.serial .mdl-layout__container .mdl-layout {\n  animation: turn-off 1s linear;\n  animation-fill-mode: backwards;\n}\n", "" ]);
} ]);