trackkun-dom 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +1 -1
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -1 +1 @@
1
- (function(V,H){typeof exports=="object"&&typeof module<"u"?H(exports):typeof define=="function"&&define.amd?define(["exports"],H):(V=typeof globalThis<"u"?globalThis:V||self,H(V._trackkun_={}))})(this,function(V){"use strict";function H(a){let e=!1;return new Promise((t,r)=>{Promise.all(a.map(async n=>{const l=await n;!e&&l&&(e=!0,t(l))})).then(()=>{e||t(void 0)})})}function ve(a,{removeTrailingSlash:e=!0}={}){if(!a)return;const t=e&&a.endsWith("/")?a.slice(0,-1):a;try{return new URL(t)}catch{return}}function j(a){var e,t;if(!(!a||typeof a!="string"))return a.startsWith("http://")||a.startsWith("https://")?(e=ve(a))==null?void 0:e.pathname:a.startsWith("//")?(t=ve(`https:${a}`))==null?void 0:t.pathname:a}async function L(a,e,t){const r=await t(()=>{a=0});if(r!==void 0)return r;if(!(a<=0))return await new Promise(n=>{setTimeout(async()=>{const l=await L(a-1,e,t);n(l)},e)})}async function x(a,e,t=0){var r;const n=(r=e.root)!=null?r:document.documentElement;return L(e.lazy===!0?200:0,100,()=>{var l;const i=e.all===!0?Array.from(n.querySelectorAll(a)):(l=n.querySelector(a))!=null?l:void 0;return(e.all?!(i!=null&&i.length):!i)?void 0:i})}const Nt={text:_t,attr:Bt,"attr-contain":Lt,value:Et,row:At};function h(a,e={}){if(!a)return;const{root:t=document.documentElement,returnAll:r,preProcess:n}=e,l=fe(a);if(l.length>1){for(let p=0;p<l.length;p+=1){const d=h(l[p],e);if(d!=null&&d.length)return d}return}const[i,s]=a.split("|");if(!s)return;const u=(s!=null&&s.startsWith("[")&&s.endsWith("]")?s.substring(1,s.length-1).split(","):[s]).map(p=>{const d=p.indexOf(":"),g=d!==-1;return{action:g?p.substring(0,d):p,param:g?p.substring(d+1):""}}),o=i?Array.from(t.querySelectorAll(i)):[t];if(!o.length)return r?[]:void 0;n&&n(o);const c=[];for(const p of o)for(const d of u){const g=Nt[d.action],v=g(p,d.param);if(v){if(r){c.push(v);break}return v}}return r?c:void 0}function _t(a){return Array.from(a.childNodes).filter(e=>e.nodeType===3).map(e=>J(e.textContent)).filter(Boolean).join(" ").trim()||J(a.textContent)}function Bt(a,e){return J(a.getAttribute(e))}function Lt(a,e){let t=a.getAttribute(e);if(!t){const r=a.getAttributeNames().find(n=>n.includes(e));r&&(t=a.getAttribute(r))}return J(t)}function fe(a){const e=[],t=a.split("||").map(r=>r.trim()).filter(Boolean);return t.forEach((r,n)=>{if(r.includes("|")){e.push(r);return}const l=t[n+1];l&&(t[n+1]=`${r},${l}`)}),e}function Et(a){return a.value}function At(a,e){var t,r,n,l;if(!e)return;const i=(t=J(a.textContent))==null?void 0:t.toLowerCase(),s=e.toLowerCase();if(!(i!==s&&i!==`${s}:`))return J((l=(r=a.nextElementSibling)==null?void 0:r.textContent)!=null?l:(n=a.nextSibling)==null?void 0:n.textContent)}function J(a){if(a)return a?.replace(/(\n|\t)/g," ").trim()||void 0}const kt=/(vol(ume)?|season)(\s*|-|\.)(\d+)/i,zt=/(ch(ap(t(er)?|\.)?|\.)?|^#|episode\.?)(\s*|-)(\d+([_-~,.]\d+)?)/i,qt=/\d+([_-~,.]\d+)?/,Wt=/[_-~,]/;function E(a){var e;if(!a||!a)return;if(!isNaN(+a))return{chap:+a};const t=a.match(kt),r=t!=null&&t[0]?a.replace(t[0],"").trim():a,n=r.match(zt),l=r.match(qt),i=(e=n?.[6])!=null?e:l?.[0];if(!i)return;const s=+i.replace(Wt,".");if(isNaN(s))return;const u=t?.[4];return{vol:u&&!isNaN(+u)?+u:void 0,chap:s}}function A(a){return a.sort((e,t)=>e.vol===void 0||t.vol===void 0?t.chap-e.chap:t.vol-e.vol||t.chap-e.chap),Ut(a)}function Ut(a){let e;for(let t=a.length-1;t>=0;t--){const r=a[t];r.vol!==void 0?e=r.vol:e!==void 0&&(r.inferVol=e)}return a}const Ft=[{regex:/(sec|giây)/,seconds:1},{regex:/(min|phút)/,seconds:60},{regex:/(hour|giờ)/,seconds:3600},{regex:/(day|ngày)/,seconds:86400},{regex:/(week|tuần)/,seconds:604800},{regex:/(month|tháng)/,seconds:2592e3},{regex:/(year|năm)/,seconds:31536e3}];function me(a){const e=a?.toLowerCase();if(!e||e.includes("now"))return Date.now();if(e.includes("yesterday"))return Date.now()-864e5;const t=new Date(e);if(t instanceof Date){const l=t.valueOf();if(!isNaN(l))return t.getHours()===0&&t.getMinutes()===0?Math.min(Date.now(),l+432e5):l}const r=Ft.find(l=>l.regex.test(e));if(!r)return;const n=e.split(" ").filter(Boolean);for(let l=0;l<n.length;l++){const i=n[l],s=i==="a"||i==="an"?1:+i;if(!s)continue;if(s<0)return;const u=Date.now()-s*r.seconds*1e3;return u>0?u:void 0}}function ye(a,e=location.origin){if(!a)return;const t=a.startsWith("//")?`${location.protocol}${a}`:a;return t.startsWith(e)?t.replace(e,""):t}function we(a,e){if(!a)return"/";const t=a.replace("{titleSlug}",e),r=t.endsWith("/")?t:t+"/";return r.startsWith("/")?r:"/"+r}var Vt=Object.defineProperty,be=Object.getOwnPropertySymbols,Ht=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,Re=(a,e,t)=>e in a?Vt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Gt=(a,e)=>{for(var t in e||(e={}))Ht.call(e,t)&&Re(a,t,e[t]);if(be)for(var t of be(e))Jt.call(e,t)&&Re(a,t,e[t]);return a};function $e(a,e){var t,r;const n=[...e],l=[];let i=-1,s=-1;for(let o=0;o<a.length&&!(!n.length&&o>=10);o++){const c=Gt({},a[o]),p=n.findIndex(v=>v.slug===c.slug&&v.name===c.name),d=p===-1?void 0:n.splice(p,1)[0],g=!d||((t=d.chapters[0])==null?void 0:t.chap)!==((r=c.chapters[0])==null?void 0:r.chap);p!==-1&&(s=o),g&&(i=o,c.changed=!0),l.push(c)}if(i===-1)return[];if(n.length&&n.length!==e.length){const o=Math.max(10,s+1);l.splice(o);for(let c=s+1;c<l.length;c++)l[c].changed=!1;return l}const u=Math.min(Math.max(i+1,10),Math.max(s+1,100));return l.slice(0,u)}var Xt=Object.defineProperty,Qt=Object.defineProperties,Yt=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,Zt=Object.prototype.hasOwnProperty,Kt=Object.prototype.propertyIsEnumerable,Pe=(a,e,t)=>e in a?Xt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ea=(a,e)=>{for(var t in e||(e={}))Zt.call(e,t)&&Pe(a,t,e[t]);if(Oe)for(var t of Oe(e))Kt.call(e,t)&&Pe(a,t,e[t]);return a},ta=(a,e)=>Qt(a,Yt(e));function Se(a,e){const t={};return a.forEach(r=>{const n=r.chapters.reduce((l,i)=>{const s=i.lang||e||"";return l[s]||(l[s]=[]),l[s].push(i),l},{});Object.entries(n).forEach(([l,i])=>{const s=`${r.slug}:${l}`;t[s]?(t[s].chapters.push(...i),A(t[s].chapters)):t[s]=ta(ea({},r),{lang:l===""?void 0:l,chapters:i})})}),Object.values(t)}var w=(a=>(a.title="title",a.reader="reader",a.releases="releases",a.chapters="chapters",a.search="search",a))(w||{});let aa=class{constructor(e){this.methodsMap={[w.title]:()=>this.getRawTitleData(),[w.reader]:()=>this.getRawReaderData(),[w.releases]:()=>this.getRawReleasesData(),[w.search]:()=>this.getRawSearchData(),[w.chapters]:()=>this.getRawChaptersData()},this.spec=e.spec,this.siteMeta=e.siteMeta,this.tags=e.tags,this.context=e.context}async getRawSearchData(){throw new Error("Unimplemented")}async getRawPageByType(e,t=!1){const r=await this.methodsMap[e]();if(t&&!r)return;const n=location.origin+location.pathname;return{type:e,is404:na(this.spec),specId:this.spec.id,siteName:h(this.spec.name),url:n,data:r}}resolveReaderSlug(e,t){return t.startsWith(e)?t.replace(e,""):t}resolveTitleSlug(e){var t;if(typeof e!="string")return;const r=(t=j(e))==null?void 0:t.split("/").filter(Boolean);return!r||!r.length?e:r[r.length-1]}finalizeRawReleasesData(e){var t,r,n;const l=(r=(t=this.spec.releases)==null?void 0:t.title)!=null&&r.lang?this.siteMeta.defaultLang:void 0,i=Se(e.rawReleases,l);if(i.length)return{rawReleases:(n=this.context)!=null&&n.oldRawReleases?$e(i,this.context.oldRawReleases):i}}getTagIdsFromNames(e){var t;if(!(e!=null&&e.length))return;const r=(t=this.normalizedTagsMap)!=null?t:this.normalizedTagsMap=ra(this.tags),n=e.map(l=>r[se(l)]).filter(Boolean);return n.length===0?void 0:Array.from(new Set(n)).sort((l,i)=>l-i)}};function ra(a){const e={};return a.forEach(({id:t,name:r,altNames:n})=>{e[se(r)]=t,n&&n.forEach(l=>{e[se(l)]=t})}),e}function se(a){const e=a.toLowerCase().replaceAll(" ","").replaceAll("-","");return e[e.length-1]==="s"?e.substring(0,e.length-1):e}function na(a){return a[404]&&document.querySelector(a[404])?!0:document.title.toLowerCase().includes("not found")}var la=Object.defineProperty,ia=Object.defineProperties,sa=Object.getOwnPropertyDescriptors,Z=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable,Ce=(a,e,t)=>e in a?la(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,M=(a,e)=>{for(var t in e||(e={}))De.call(e,t)&&Ce(a,t,e[t]);if(Z)for(var t of Z(e))je.call(e,t)&&Ce(a,t,e[t]);return a},k=(a,e)=>ia(a,sa(e)),xe=(a,e)=>{var t={};for(var r in a)De.call(a,r)&&e.indexOf(r)<0&&(t[r]=a[r]);if(a!=null&&Z)for(var r of Z(a))e.indexOf(r)<0&&je.call(a,r)&&(t[r]=a[r]);return t};class C extends aa{async getRawReleasesData(){var e,t;if(!((t=(e=this.spec)==null?void 0:e.releases)!=null&&t.title))return;const r=this.spec.releases.title,{chapter:n}=r,l=xe(r,["chapter"]),i=await x(l.sel,{lazy:!0,all:!0});if(!(i!=null&&i.length))return;const s=i.slice(0,100).map(o=>{var c;const p=h(l.url,{root:o}),d=j(p),g=h(l.name,{root:o}),v=h(l.at,{root:o});if(!(!d||!g))return{titleEl:o,id:h(l.id,{root:o}),path:d,name:g,lang:(c=h(l.lang,{root:o}))==null?void 0:c.toLowerCase(),at:v?me(v):void 0}}).filter(Boolean);if(!s.length)return;const u=await Promise.all(s.map(async o=>{var c;const p=o,{path:d,titleEl:g,lang:v,at:f}=p,m=xe(p,["path","titleEl","lang","at"]),R=this.resolveTitleSlug(d),P=(c=await this.getChapters(n,{root:g,titleSlug:R}))!=null?c:[];return M({slug:R,chapters:v||f?P.map($=>{var b,y;return k(M({},$),{lang:(b=$.lang)!=null?b:v,ts:(y=$.ts)!=null?y:f})}):P},m)}));return this.finalizeRawReleasesData({rawReleases:u})}async getRawTitleData(){var e,t,r;const n=this.spec.title;if(!n||n.sel&&!await x(n.sel,{lazy:!!n.lazy}))return;const l=h(n.name);if(!l)return;const i=this.resolveTitleSlug(location.pathname);if(!i)return;let s=(e=h(n.tags,{returnAll:!0}))!=null?e:[];s.length===1&&(s=s[0].split(",").map(c=>c.trim()).filter(Boolean));const u=h(n.type),o=(t=h(n.langs,{returnAll:!0}))==null?void 0:t.map(c=>c.toLowerCase());return{id:h(n.id),url:location.origin+location.pathname,slug:i,name:l,langs:o!=null&&o.length?o:n.langs&&this.siteMeta.defaultLang?[this.siteMeta.defaultLang]:void 0,tags:this.getTagIdsFromNames([...s??[],...u?[u]:[]]),chapters:(r=await this.getChapters(n.chapter,{lazy:!0,titleSlug:i}))!=null?r:[],img:ye(h(n.img))}}async getRawReaderData(){var e,t,r,n,l,i;const{spec:s,siteMeta:u}=this;if(!(s!=null&&s.reader)||s.generic&&!await C.isReaderPage(s.reader)||!(!s.reader.imgs||await C.verifyImgLocator(s.reader.imgs)))return;const o=s.reader.title,c=document.querySelector(o.sel);if(!c)return;const p=h(o.name,{root:c}),d=h(o.url,{root:c}),g=this.resolveTitleSlug(d),v=h(o.img,{root:c});if(!p||!d||!g)return;const f=(t=await this.getChapters((e=s.reader)==null?void 0:e.chapter,{titleSlug:g}))!=null?t:[],m=(r=h(s.reader.label))==null?void 0:r.toLowerCase().replace(p.toLowerCase(),"");if(!m)return;const{vol:R,chap:P=0}=E(m)||{},$=we(u.readerBase,g),b=u.readerBase.split("/").indexOf("{lang}"),y=b!==-1?(n=location.pathname.substring(1).split("/")[b])==null?void 0:n.toLowerCase():void 0,O=y?$.replace("{lang}",y):$,D=(i=y??((l=h(s.reader.lang))==null?void 0:l.toLowerCase()))!=null?i:s.reader.lang?this.siteMeta.defaultLang:void 0;return this.finalizeRawReaderData({vol:R,chap:P,lang:D,slug:this.resolveReaderSlug(O,location.pathname),basePath:O,imgsLocator:s.reader.imgs,title:{id:h(o.id),url:d,slug:g,name:p,langs:D?[D]:void 0,img:v,chapters:f}},{prevSlug:this.findNeighborChapter({sel:s.reader.prev,basePath:O}),nextSlug:this.findNeighborChapter({sel:s.reader.next,basePath:O})})}async getRawChaptersData(){var e;const t=await this.getRawTitleData();if(!t)return;const r=(e=this.context)==null?void 0:e.lang,{chapters:n}=t;return{chapters:r?n.filter(l=>!l.lang||l.lang===r):n,title:k(M({},t),{chapters:[]}),hasMore:!1,asc:!1,total:n.length}}async getRawSearchData(){var e;const t=(e=this.spec.search)==null?void 0:e.title;if(!t)return;const{chapter:r}=t,n=[];return await Promise.all(Array.from(document.querySelectorAll(t.sel)).map(async l=>{var i;const s=h(t.url,{root:l}),u=j(s),o=h(t.name,{root:l}),c=this.resolveTitleSlug(u);!u||!o||!c||n.push({slug:c,name:o,chapters:(i=await this.getChapters(r,{root:l,titleSlug:c}))!=null?i:[]})})),n.length?{rawReleases:n}:void 0}async getChapters(e,{root:t=document.documentElement,titleSlug:r="",lazy:n=!0}){var l;if(!e)return;const i=[],s=await x(e.sel,{root:t,all:!0,lazy:n});if(!(s!=null&&s.length))return i;const u=(s??[]).map(f=>({id:h(e.id,{root:f}),label:h(e.label,{root:f}),url:h(e.url,{root:f}),at:h(e.at,{root:f})})),o=u.map(({label:f})=>E(f)),c=(l=o[1])==null?void 0:l.chap;!o[0]&&(c===void 0||c<=1)&&(o[0]={chap:0});const{readerBase:p}=this.siteMeta,d=we(p,r),g=p.split("/").indexOf("{lang}"),v=g!==-1;return o.forEach((f,m)=>{var R,P;if(!f)return;const{id:$,url:b,at:y}=u[m],O=b?.startsWith("http")&&!b.startsWith(location.origin),D=O?b:j(b);if(!D)return;const U=!O&&v?(R=D?.substring(1).split("/")[g])==null?void 0:R.toLowerCase():void 0,S=O?D:this.resolveReaderSlug(U?d.replace("{lang}",U):d,D);i.push(k(M({},f),{id:$,slug:S,lang:U,ts:me(y)||((P=i[i.length+1])==null?void 0:P.ts)||Date.now()}))}),A(i)}static async isReaderPage(e){return!!e.sel&&!!await x(e.sel,{lazy:!!e.lazy})}static async verifyImgLocator(e){const t=fe(e).map(r=>r.split("|")[0]).join(",");return!!await x(t,{lazy:!0})}findNeighborChapter({sel:e,basePath:t}){const r=h(e);if(!r||r.startsWith("#")||r.startsWith("/#"))return;const n=j(r);return n?this.resolveReaderSlug(t,n):void 0}finalizeRawReaderData(e,{prevSlug:t,nextSlug:r}={}){var n;const l=(n=e.title)==null?void 0:n.chapters;if(!(l!=null&&l.length)){const c=E(t),p=E(r);return!c&&!p?e:k(M({},e),{prev:c?k(M({},c),{slug:t}):void 0,next:p?k(M({},p),{slug:r}):void 0})}let i,s,u,o;for(let c=0;c<l.length&&!(i&&(!t||u)&&!r&&o);c++){const p=l[c];!i&&(e.slug==p.slug||e.chap===p.chap&&(e.vol===p.vol||e.vol===void 0))?(i=p,s=c):!u&&t===p.slug?u=p:!o&&r===p.slug&&(o=p)}return s!==void 0&&(u!=null||(u=l[s+1]),o!=null||(o=l[s-1])),k(M({},e),{inferVol:i?.inferVol,prev:u,next:o})}}class Te extends C{resolveTitleSlug(e){var t;return(t=j(e))==null?void 0:t.split("/").filter(Boolean)[1]}}Te.specId="bato";function oa(){return Math.random().toString(16).slice(2)}async function ca({addListener:a,removeListener:e,transform:t,filter:r,handler:n,onTimeout:l,timeout:i,once:s}){return new Promise(u=>{a(p);const o=()=>s===!0&&e(p),c=i?setTimeout(()=>{o(),u(void 0),l?.()},i):void 0;async function p(d,...g){d=t?t(d):d,d!==void 0&&(!r||r(d,...g))&&(o(),u(d),n?.(d,...g),c&&clearTimeout(c))}})}var ua=Object.defineProperty,Ie=Object.getOwnPropertySymbols,pa=Object.prototype.hasOwnProperty,da=Object.prototype.propertyIsEnumerable,Me=(a,e,t)=>e in a?ua(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ga=(a,e)=>{for(var t in e||(e={}))pa.call(e,t)&&Me(a,t,e[t]);if(Ie)for(var t of Ie(e))da.call(e,t)&&Me(a,t,e[t]);return a};async function ha(a){const e=await ca(ga({addListener:t=>window.addEventListener("message",t),removeListener:t=>window.removeEventListener("message",t)},a));return e?.data}async function va(a){var e;const{receiverWindow:t,timeout:r,targetOrigin:n,event:l,args:i}=a,s={reqId:oa(),event:l,args:i};(e=t||window)==null||e.postMessage(s,n??"*");const u=await ha({filter:o=>{var c;return((c=o?.data)==null?void 0:c.resId)===s.reqId},timeout:r??3e4,once:!0});return u?.result}const I={isAny:!0};function N(a,...e){return va({event:"tk:fetchResult",args:{baseUrl:a,segments:e}})}function fa(a){if(a)try{return JSON.parse(a)}catch{return}}var ma=Object.defineProperty,ya=Object.defineProperties,wa=Object.getOwnPropertyDescriptors,Ne=Object.getOwnPropertySymbols,ba=Object.prototype.hasOwnProperty,Ra=Object.prototype.propertyIsEnumerable,_e=(a,e,t)=>e in a?ma(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,K=(a,e)=>{for(var t in e||(e={}))ba.call(e,t)&&_e(a,t,e[t]);if(Ne)for(var t of Ne(e))Ra.call(e,t)&&_e(a,t,e[t]);return a},ee=(a,e)=>ya(a,wa(e));class Be extends C{async getRawReleasesData(){let e=[];try{e=await(await fetch("https://api.comick.app/chapter?page=1&device-memory=8&order=hot&accept_erotic_content=true")).json()}catch{return}const t=[];return e.forEach(r=>{const{vol:n,chap:l,hid:i,lang:s,updated_at:u,md_comics:o}=r,c=typeof l=="string"&&!isNaN(+l)?+l:void 0;typeof c=="number"&&t.push({id:o.hid,slug:o.slug,name:o.title,chapters:[{slug:i,vol:typeof n=="string"&&!isNaN(+n)?+n:void 0,chap:c,lang:s,ts:new Date(u).valueOf()}]})}),super.finalizeRawReleasesData({rawReleases:t})}async getRawTitleData(){var e,t,r,n,l,i,s,u;const o=await super.getRawTitleData();if(!o)return o;const c=await N("https://api.comick.app/","comic",I,"chapters");if(!c)return o;const p=await $a(o.slug),d=Le(c),g=h("h1 ~ div.text-sm span:first-child|row:demographic"),v=g?(e=this.getTagIdsFromNames([g]))==null?void 0:e[0]:void 0;return v&&!((t=o.tags)!=null&&t.includes(v))&&((r=o.tags)==null||r.push(v),(n=o.tags)==null||n.sort((f,m)=>f-m)),ee(K({},o),{img:(i=o.img)!=null?i:ye(h((l=this.spec.title)==null?void 0:l.img)),id:p,hasMoreChapters:(s=d?.hasMore)!=null?s:!1,chapters:(u=d?.chapters)!=null?u:[]})}async getRawReaderData(){var e,t,r,n,l,i,s;const u=await super.getRawReaderData();if(!u)return u;const o=await N("/_next/data/",I,"comic",I),c=(e=o?.comic)==null?void 0:e.hid,p=(n=(r=(t=o?.comic)==null?void 0:t.md_comic_md_genres)==null?void 0:r.map)==null?void 0:n.call(r,g=>{var v;return(v=g?.md_genre)==null?void 0:v.name}),d=(s=(i=(l=o?.comic)==null?void 0:l.md_covers)==null?void 0:i[0])==null?void 0:s.b2key;return ee(K({},u),{title:ee(K({},u.title),{id:c?c+"":void 0,tags:this.getTagIdsFromNames(p),img:typeof d=="string"?`https://meo.comick.pictures/${d}`:void 0})})}async getRawChaptersData(){var e;if(!((e=this.context)!=null&&e.rawId))return;const{rawId:t,lang:r="en",skip:n}=this.context,l=n?Math.floor(n/1e3)+1:void 0;try{const i=await fetch(`https://api.comick.app/comic/${t}/chapters?lang=${r}&limit=1000${l&&l>1?`&page=${l}`:""}`),s=Le(await i.json());return s?ee(K({},s),{lang:r,asc:!1}):void 0}catch{return}}}Be.specId="comick";function Le(a){var e;if(!Array.isArray(a?.chapters))return;const t=[];return a.chapters.forEach(r=>{const{vol:n,chap:l,hid:i,lang:s,updated_at:u}=r,o=typeof l=="string"&&!isNaN(+l)?+l:void 0;typeof o!="number"||t.some(c=>c.vol==n&&c.chap===o&&c.lang===s)||t.push({slug:i,vol:typeof n=="string"&&!isNaN(+n)?+n:void 0,chap:o,lang:s,ts:new Date(u).valueOf()})}),{chapters:A(t),total:(e=a.total)!=null?e:t.length,hasMore:a.total>a.limit}}async function $a(a){var e,t,r,n,l,i,s,u,o;const c=(e=document.querySelector("script#__NEXT_DATA__"))==null?void 0:e.textContent,p=c?fa(c):void 0;if(((t=p?.query)==null?void 0:t.slug)===a)return(i=(l=(n=(r=p?.props)==null?void 0:r.pageProps)==null?void 0:n.comic)==null?void 0:l.hid)!=null?i:void 0;const d=await N("/_next/data/",I,"comic",a,"covers.json");return(o=(u=(s=d?.pageProps)==null?void 0:s.comic)==null?void 0:u.hid)!=null?o:void 0}var Oa=Object.defineProperty,Pa=Object.defineProperties,Sa=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,Da=Object.prototype.hasOwnProperty,ja=Object.prototype.propertyIsEnumerable,Ae=(a,e,t)=>e in a?Oa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,oe=(a,e)=>{for(var t in e||(e={}))Da.call(e,t)&&Ae(a,t,e[t]);if(Ee)for(var t of Ee(e))ja.call(e,t)&&Ae(a,t,e[t]);return a},ce=(a,e)=>Pa(a,Sa(e));class ke extends C{async getRawReleasesData(){const e=await this.getVM();if(!e)return super.getRawReleasesData();const t=e.LatestJSON.slice(0,100).map(r=>{const n=+r.Chapter.substring(1)/10;return{slug:r.IndexName,name:r.SeriesName,chapters:[{chap:n,slug:`${r.IndexName}-chapter-${n}.html`,ts:new Date(r.Date).valueOf()}]}});return this.finalizeRawReleasesData({rawReleases:t})}async getRawTitleData(){const e=await super.getRawTitleData();return e&&ce(oe({},e),{chapters:ze(await this.getVM(),e.slug),hasMoreChapters:!1})}resolveReaderSlug(e,t){return super.resolveReaderSlug(e,t).replace(/-page-\d{1,3}\.html$/,".html")}async getRawReaderData(){var e;const t=await super.getRawReaderData();if(!t)return t;const r=await this.getVM(),n=(e=document.querySelector(".ImageGallery img.img-fluid"))==null?void 0:e.getAttribute("ng-src");return this.finalizeRawReaderData(ce(oe({},t),{imgs:Ca(r,n??void 0),title:ce(oe({},t.title),{chapters:ze(r,t.title.slug),hasMoreChapters:!1})}))}getVM(){return L(40,50,()=>{var e,t,r,n;return(n=(r=(t=(e=window.angular)==null?void 0:e.element)==null?void 0:t.call(e,document.documentElement))==null?void 0:r.scope())==null?void 0:n.vm})}}ke.specId="manga4life";function ze(a,e){var t,r;return((r=(t=a?.Chapters)!=null?t:a?.CHAPTERS)!=null?r:[]).sort((n,l)=>l.Chapter-n.Chapter).map(n=>{const l=+n.Chapter.substring(1)/10;return{slug:`${e}-chapter-${l}.html`,chap:l,ts:new Date(n.Date).valueOf()}})}function Ca(a,e){var t;let r=(t=e?.split(".").slice(-1)[0])!=null?t:"png";r=r.length>=3&&r.length<=4?r:"png";try{const n=a.CurChapter.Chapter.slice(1,-1),l=a.CurChapter.Chapter[a.CurChapter.Chapter.length-1],i=l!=="0"?`${n}.${l}`:n,s=`https://${a.CurPathName}/manga/${a.IndexName}/${a.CurChapter.Directory?`${a.CurChapter.Directory}/`:""}${i}-`;return a.Pages.map(u=>{const o=(u+"").padStart(3,"0");return`${s}${o}.${r}`})}catch{return}}class xa{constructor(e){this.methodsMap={[w.title]:()=>this.getRawTitleData(),[w.reader]:()=>this.getRawReaderData(),[w.releases]:()=>this.getRawReleasesData(),[w.search]:()=>this.getRawSearchData(),[w.chapters]:()=>this.getRawChaptersData()},this.spec=e.spec,this.siteMeta=e.siteMeta,this.tags=e.tags,this.context=e.context}async getRawSearchData(){throw new Error("Unimplemented")}async getRawPageByType(e,t=!1){const r=await this.methodsMap[e]();if(t&&!r)return;const n=location.origin+location.pathname;return{type:e,is404:Ia(this.spec),specId:this.spec.id,siteName:h(this.spec.name),url:n,data:r}}resolveReaderSlug(e,t){return t.startsWith(e)?t.replace(e,""):t}resolveTitleSlug(e){var t;if(typeof e!="string")return;const r=(t=j(e))==null?void 0:t.split("/").filter(Boolean);return!r||!r.length?e:r[r.length-1]}finalizeRawReleasesData(e){var t,r,n;const l=(r=(t=this.spec.releases)==null?void 0:t.title)!=null&&r.lang?this.siteMeta.defaultLang:void 0,i=Se(e.rawReleases,l);if(i.length)return{rawReleases:(n=this.context)!=null&&n.oldRawReleases?$e(i,this.context.oldRawReleases):i}}getTagIdsFromNames(e){var t;if(!(e!=null&&e.length))return;const r=(t=this.normalizedTagsMap)!=null?t:this.normalizedTagsMap=Ta(this.tags),n=e.map(l=>r[ue(l)]).filter(Boolean);return n.length===0?void 0:Array.from(new Set(n)).sort((l,i)=>l-i)}}function Ta(a){const e={};return a.forEach(({id:t,name:r,altNames:n})=>{e[ue(r)]=t,n&&n.forEach(l=>{e[ue(l)]=t})}),e}function ue(a){const e=a.toLowerCase().replaceAll(" ","").replaceAll("-","");return e[e.length-1]==="s"?e.substring(0,e.length-1):e}function Ia(a){return a[404]&&document.querySelector(a[404])?!0:document.title.toLowerCase().includes("not found")}var Ma=Object.defineProperty,Na=Object.defineProperties,_a=Object.getOwnPropertyDescriptors,qe=Object.getOwnPropertySymbols,Ba=Object.prototype.hasOwnProperty,La=Object.prototype.propertyIsEnumerable,We=(a,e,t)=>e in a?Ma(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ue=(a,e)=>{for(var t in e||(e={}))Ba.call(e,t)&&We(a,t,e[t]);if(qe)for(var t of qe(e))La.call(e,t)&&We(a,t,e[t]);return a},Fe=(a,e)=>Na(a,_a(e));class Ve extends xa{resolveTitleSlug(e){var t;return(t=j(e))==null?void 0:t.split("/").filter(Boolean)[1]}async getRawReleasesData(){let e=[];try{e=(await(await fetch("https://api.mangadex.org/chapter?limit=96&offset=0&includes[]=manga&contentRating[]=safe&contentRating[]=suggestive&contentRating[]=erotica&contentRating[]=pornographic&order[readableAt]=desc")).json()).data}catch{return}const t=[];return e.forEach(({relationships:r,attributes:n,id:l})=>{const i=r.find(({type:o})=>o==="manga"),s=typeof n.volume=="string"?+n.volume:void 0,u=typeof n.chapter=="string"?+n.chapter:void 0;u&&t.push({slug:i.id,name:Object.values(i.attributes.title)[0],chapters:[{slug:n.externalUrl||l,vol:s,chap:u,lang:n.translatedLanguage,ts:new Date(n.readableAt).valueOf()}]})}),super.finalizeRawReleasesData({rawReleases:t})}async getRawTitleData(){var e,t,r;const n="https://api.mangadex.org/manga/",[l,i]=await Promise.all([N(n,I),N(n,I,"feed")]);if(!l||!i)return;const s=(r=(t=(e=i.data)==null?void 0:e.map)==null?void 0:t.call(e,c=>{const{attributes:p,id:d}=c;if(typeof p!="object"||typeof d!="string"||!d)return;const{externalUrl:g,title:v,volume:f,chapter:m,translatedLanguage:R}=p;return{slug:g||d,label:v||void 0,vol:typeof f=="string"?+f:void 0,chap:typeof m=="string"?+m:void 0,lang:R||"en",ts:new Date(p.readableAt).valueOf()}}).filter(c=>c?.chap!=null))!=null?r:[],{data:u}=l;if(!u)return;const o=Je({data:u,getTagIdsFromNames:c=>this.getTagIdsFromNames(c)});if(o)return Fe(Ue({},o),{chapters:A(s),hasMoreChapters:(i.total||0)>(i.limit||0)})}async getRawReaderData(){var e,t,r,n,l,i,s,u,o,c,p,d,g,v,f,m;const R="https://api.mangadex.org/",[P,$,b]=await Promise.all([N(R,"chapter",I),N(R,"at-home","server",I),N(R,"manga",I,"aggregate")]);if(!P||!$||!b)return;const y=P.data,{volume:O,chapter:D,externalUrl:U,translatedLanguage:S}=y.attributes||{},{baseUrl:B,chapter:{data:X,dataSaver:Lr,hash:Er}}=$,le=(t=(e=y.relationships)==null?void 0:e.find)==null?void 0:t.call(e,T=>T.type==="manga");if(!le)return;const It=Je({data:le,getTagIdsFromNames:T=>this.getTagIdsFromNames(T)});if(!It||typeof b.volumes!="object")return;const F=(r=He(b))!=null?r:[];(typeof D!="string"||D==="none")&&!F.length&&F.push({chap:0,slug:y.id});const he=F.findIndex(T=>T.slug===y.id),ie=(l=(n=y.relationships)==null?void 0:n.find)==null?void 0:l.call(n,T=>T.type==="scanlation_group"),Ar=B.endsWith("/")?B:B+"/",Mt=!!((s=(i=localStorage.getItem("md"))==null?void 0:i.includes)!=null&&s.call(i,'"dataSaver":true')),kr=`${Ar}${Mt?"data-saver":"data"}/`,zr=(p=(c=(o=(u=Mt?Lr:X)!=null?u:[]).map)==null?void 0:c.call(o,T=>`${kr}${Er}/${T}`))!=null?p:[];return{externalUrl:U,vol:typeof O=="string"?+O:void 0,inferVol:(d=F[he])==null?void 0:d.inferVol,chap:+D||0,imgs:zr,lang:S,slug:y.id,prev:F[he+1],next:F[he-1],basePath:"/chapter/",groupName:(g=ie?.attributes)==null?void 0:g.name,groupUrl:(v=ie?.attributes)==null?void 0:v.website,isWebtoon:(m=(f=le?.attributes)==null?void 0:f.tags)==null?void 0:m.some(T=>T.attributes.name.en==="Long Strip"),title:Fe(Ue({},It),{chapters:F})}}async getRawChaptersData(){if(!this.context)return;const{titleSlug:e,lang:t="en"}=this.context;let r;try{const n=await fetch(`https://api.mangadex.org/manga/${e}/aggregate?translatedLanguage[]=${t}`);r=He(await n.json())}catch{return}if(r)return{chapters:r,lang:t,asc:!1,hasMore:!1,total:r.length}}}Ve.specId="mangadex";function He(a){if(typeof a.volumes!="object")return;const e=Object.values(a.volumes).map(({volume:t,chapters:r})=>{const n=t==="none"||typeof t!="string"?void 0:+t;return Object.values(r).map(({id:l,chapter:i})=>typeof i!="string"||i==="none"?void 0:{vol:n,chap:+i,slug:l})}).flat().filter(Boolean).reverse();return A(e)}function Je({data:a,getTagIdsFromNames:e}){var t,r,n,l,i,s;const{id:u,attributes:o,relationships:c}=a;if(!u||typeof u!="string"||typeof o!="object")return;const{title:p,availableTranslatedLanguages:d,altTitles:g,tags:v,contentRating:f}=o;if(typeof p!="object"||d&&!Array.isArray(d))return;const m=Object.values(p)[0];if(!m||typeof m!="string")return;const R=Ea(),P=(n=(r=(t=d??[])==null?void 0:t.map)==null?void 0:r.call(t,S=>typeof S=="string"?S:void 0).filter(Boolean))!=null?n:[],$=P.filter(S=>S&&(!R||R.includes(S))),b=(l=g?.map)==null?void 0:l.call(g,S=>{const[[B,X]=[]]=Object.entries(S);return{lang:B,name:X}}),y=(i=c?.find)==null?void 0:i.call(c,S=>S.type==="cover_art"),O=(s=y?.attributes)==null?void 0:s.fileName,D=O?`https://mangadex.org/covers/${u}/${O}`:void 0,U=(v||[]).map(S=>{var B,X;return(X=(B=S?.attributes)==null?void 0:B.name)==null?void 0:X.en}).concat(f).filter(Boolean);return{url:`${location.origin}/title/${u}`,slug:u,name:m,altNames:b,langs:$.length>0?$:P.length>0?P:["en"],img:D,tags:e(U)}}function Ea(){var a;const e=localStorage.getItem("md");if(e)try{const t=JSON.parse(e),r=(a=t?.userPreferences)==null?void 0:a.filteredLanguages;return r!=null&&r.length?r:void 0}catch{return}}var Aa=Object.defineProperty,ka=Object.defineProperties,za=Object.getOwnPropertyDescriptors,Ge=Object.getOwnPropertySymbols,qa=Object.prototype.hasOwnProperty,Wa=Object.prototype.propertyIsEnumerable,Xe=(a,e,t)=>e in a?Aa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Qe=(a,e)=>{for(var t in e||(e={}))qa.call(e,t)&&Xe(a,t,e[t]);if(Ge)for(var t of Ge(e))Wa.call(e,t)&&Xe(a,t,e[t]);return a},Ye=(a,e)=>ka(a,za(e));class Ze extends C{async getRawReleasesData(){const e=await super.getRawReleasesData();if(e)return Ye(Qe({},e),{rawReleases:e.rawReleases.map(t=>{var r;return Ye(Qe({},t),{id:(r=t.id)==null?void 0:r.split("?")[0]})})})}async getRawReaderData(){var e;const t=await x(".current-viewtype",{lazy:!0,all:!1});if(((e=t?.textContent)==null?void 0:e.trim().toLowerCase())!=="volume")return await super.getRawReaderData()}async getRawChaptersData(){var e;const t=(e=this.context)==null?void 0:e.lang;if(!t)return;const r=await x(`.tab-content[data-name="chapter"] a.dropdown-item[data-code="${t.toUpperCase()}"]`,{lazy:!0,all:!1});if(r)return r.click(),await x(`.tab-content[data-name="chapter"] li.item[data-number] a[href*="/${t}/"]`,{lazy:!0,all:!1}),await super.getRawChaptersData()}}Ze.specId="mangafire";var Ua=Object.defineProperty,Fa=Object.defineProperties,Va=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertySymbols,Ha=Object.prototype.hasOwnProperty,Ja=Object.prototype.propertyIsEnumerable,et=(a,e,t)=>e in a?Ua(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ga=(a,e)=>{for(var t in e||(e={}))Ha.call(e,t)&&et(a,t,e[t]);if(Ke)for(var t of Ke(e))Ja.call(e,t)&&et(a,t,e[t]);return a},Xa=(a,e)=>Fa(a,Va(e));class tt extends C{async getRawReaderData(){const e=await super.getRawReaderData();return e&&Xa(Ga({},e),{imgs:await this.getImgs()})}resolveReaderSlug(e,t){const r=super.resolveReaderSlug(e,t),n=r.split("/").filter(Boolean);return n[n.length-1].startsWith("pg-")?n.slice(0,-1).join("/"):r}async getImgs(){const e=await L(100,20,()=>window.imgsrcs),t=window.CryptoJS,r=t.enc.Hex.parse("e11adc3949ba59abbe56e057f20f883e"),n={iv:t.enc.Hex.parse("1234567890abcdef1234567890abcdef"),padding:t.pad.ZeroPadding};return t.AES.decrypt(e,r,n).toString(t.enc.Utf8).split(",")}}tt.specId="mangago";var Qa=Object.defineProperty,Ya=Object.defineProperties,Za=Object.getOwnPropertyDescriptors,at=Object.getOwnPropertySymbols,Ka=Object.prototype.hasOwnProperty,er=Object.prototype.propertyIsEnumerable,rt=(a,e,t)=>e in a?Qa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,_=(a,e)=>{for(var t in e||(e={}))Ka.call(e,t)&&rt(a,t,e[t]);if(at)for(var t of at(e))er.call(e,t)&&rt(a,t,e[t]);return a},z=(a,e)=>Ya(a,Za(e));class nt extends C{async getRawReleasesData(){const e=await super.getRawReleasesData();return e&&z(_({},e),{rawReleases:e.rawReleases.map(t=>z(_({},t),{slug:t.slug.split("-")[0]}))})}async getChapters(e,t){const r=await super.getChapters(e,t);return r?.map(n=>z(_({},n),{lang:n.slug.split("-")[1]||void 0}))}async getRawTitleData(){var e,t;const r=await this.getPageData();if(!r)return;const n=(t=(e=r.chart_count_lang_to_serials)==null?void 0:e.find(i=>i?.field==="en"))==null?void 0:t.count,l=await this.getTitleChapters();return z(_({},this.transformRawTitleData(r)),{chapters:l,hasMoreChapters:n&&n>l.length})}async getRawReaderData(){var e,t;const r=await this.getPageData(),n=(e=r?.comicNode)==null?void 0:e.data,l=r?.imageSet;if(!r||!n||!l)return;const{httpLis:i,wordLis:s}=l,u=this.transformRawTitleData(n);return z(_({slug:location.pathname.split("/").filter(Boolean)[2],lang:r.lang,vol:(t=r.volume)!=null?t:void 0,chap:r.serial,imgs:i.map((o,c)=>`${o}?${s[c]}`),title:z(_({},u),{chapters:[],hasMoreChapters:!0})},await this.getReaderPrevNext()),{basePath:`/title/${u.slug}/`})}async getRawChaptersData(){if(!this.context)return;const{lang:e,titleSlug:t,skip:r}=this.context;if(!e||!t)return;let n;try{n=await fetch("https://mangapark.net/apo/",{method:"POST",body:JSON.stringify({query:"query get_content_comic_chapters($comicId: Int!, $isPref: Boolean, $incLangs: [String], $excLangs: [String]) { get_content_comic_chapters(comicId: $comicId, isPref: $isPref, incLangs: $incLangs, excLangs: $excLangs) {serial datePublic chapters{lang cids}}}",variables:{comicId:+t,isPref:e==="en"},operationName:"get_content_comic_chapters"}),headers:{"Content-Type":"application/json"}})}catch{return}const l=[],i=(await n.json()).data.get_content_comic_chapters.reverse();return(r?i.slice(r):i).forEach(s=>{var u;const o=s.chapters.find(d=>d.lang===e),c=(u=o.cids)==null?void 0:u[0];if(!o||!c)return;const p=s.serial;l.push({slug:`title/${t}/${c}-${e}-ch.${p}`,chap:p,ts:s.datePublic})}),{chapters:l,lang:e,asc:!1,hasMore:!1,total:l.length}}transformRawTitleData(e){var t,r,n,l;return{url:e.urlPath,slug:e.id+"",name:e.name,langs:(r=(t=e.chart_count_lang_to_serials)==null?void 0:t.map)==null?void 0:r.call(t,i=>{var s;return(s=i?.field)==null?void 0:s.toLowerCase()}).filter(Boolean),img:(l=(n=e.urlCover300)!=null?n:e.urlCover600)!=null?l:e.urlCoverOri,tags:this.getTagIdsFromNames(e.genres)}}async getReaderPrevNext(){let e,t;return await L(20,100,async()=>{const r=await x("main a.btn",{lazy:!0,all:!0});if(r!=null&&r.length)return e=r.find(n=>{var l;return(l=n.textContent)==null?void 0:l.toLowerCase().includes("prev")}),t=r.find(n=>{var l;return(l=n.textContent)==null?void 0:l.toLowerCase().includes("next")}),e||t?!0:void 0}),{prev:this.getChapterFromBtn(e),next:this.getChapterFromBtn(t)}}getChapterFromBtn(e){const t=e?.getAttribute("href");if(!t)return;const r=t.split("/").filter(Boolean).slice(-1)[0];if(!r)return;const n=E(r.split("-").slice(2).join("-"));if(n)return _({slug:r,lang:r.split("-")[1]||void 0},n)}async getTitleChapters(){const e=[],t=await x(".file-list-by-serial time[time]",{lazy:!0,all:!0});if(!(t!=null&&t.length))return e;let r;return t.forEach(n=>{var l,i,s,u;const o=n.parentElement;for(let c=0;c<5;c++){const p=o?.parentElement,d=p?.querySelector('a[href*="/title/"]');if(!d)continue;const g=(l=d.getAttribute("href"))==null?void 0:l.split("/").filter(Boolean)[2],v=(i=d.textContent)==null?void 0:i.replace(/(\n|\t)/g," ").trim(),f=E(v);if(!f||!g||r&&r.chap==f.chap&&((s=r.vol)!=null?s:0)==((u=f.vol)!=null?u:0))break;const m=+n.getAttribute("time");r=z(_({},f),{slug:g,lang:g.split("-")[1]||void 0,ts:m===m&&typeof m=="number"?m:void 0}),e.push(r);break}}),A(e)}getPageData(){return L(50,20,()=>{var e,t,r,n,l,i,s,u;return(u=(s=(i=(l=(n=(r=(t=(e=window.__NEXT_DATA__)==null?void 0:e.props)==null?void 0:t.pageProps)==null?void 0:r.dehydratedState)==null?void 0:n.queries)==null?void 0:l[0])==null?void 0:i.state)==null?void 0:s.data)==null?void 0:u.data})}}nt.specId="mangapark";var tr=(a=>(a[a.reading=1]="reading",a[a.paused=2]="paused",a[a.plan=3]="plan",a[a.completed=4]="completed",a[a.dropped=5]="dropped",a[a.deleted=6]="deleted",a))(tr||{}),pe=(a=>(a.id="id",a.name="name",a.slug="slug",a))(pe||{}),ar=(a=>(a.blank="about:blank",a.title="meta.title",a.reader="meta.reader",a))(ar||{}),rr=(a=>(a[a.string=1]="string",a[a.number=2]="number",a[a.bool=3]="bool",a[a.selection=4]="selection",a))(rr||{}),nr=(a=>(a[a.pending=0]="pending",a[a.completed=1]="completed",a[a.offline=2]="offline",a[a.incompat=3]="incompat",a))(nr||{}),lr=(a=>(a[a.releases=1]="releases",a[a.img=2]="img",a))(lr||{});function lt(a,e){const t=a[0]===e?a.substring(1):a;return t[t.length-1]===e?t.substring(0,t.length-1):t}var ir=Object.defineProperty,sr=Object.defineProperties,or=Object.getOwnPropertyDescriptors,it=Object.getOwnPropertySymbols,cr=Object.prototype.hasOwnProperty,ur=Object.prototype.propertyIsEnumerable,st=(a,e,t)=>e in a?ir(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,q=(a,e)=>{for(var t in e||(e={}))cr.call(e,t)&&st(a,t,e[t]);if(it)for(var t of it(e))ur.call(e,t)&&st(a,t,e[t]);return a},G=(a,e)=>sr(a,or(e));class ot extends C{async getRawReleasesData(){const e=await super.getRawReleasesData();if(e)return G(q({},e),{siteMeta:pr(this.spec.releases,this.siteMeta)})}async getRawTitleData(){var e;const t=await super.getRawTitleData();if(!t)return;const r=W(location.pathname);let n;if((e=t.chapters)!=null&&e.length){const l=this.spec.title.chapter,i=document.querySelector(l.sel),s=j(h(l.url,{root:i}));s&&(n=W(s))}return G(q({},t),{siteMeta:te(this.siteMeta,{titleBase:r,readerBase:n})})}async getRawReaderData(){const e=await super.getRawReaderData();if(e)return G(q({},e),{siteMeta:te(this.siteMeta,{titleBase:W(j(e.title.url)),readerBase:W(location.pathname),idBase:ct()}),title:G(q({},e.title),{id:await this.getReaderTitleId()})})}async getRawSearchData(){const e=await super.getRawSearchData();if(!e)return;const t=this.spec.search.title,r=document.querySelector(t.sel),n=h(t.url,{root:r});return G(q({},e),{siteMeta:te(this.siteMeta,{titleBase:W(j(n)),idBase:ct()})})}async getReaderTitleId(){var e,t;const r=await((t=(e=window.HISTORY)==null?void 0:e.getStored)==null?void 0:t.call(e));if(!r||typeof r!="object")return;const n=Object.values(r).filter(Boolean);if(n.length)return n.sort((l,i)=>i.time-l.time),n[0].manga_ID}}ot.specId="mangastream";function pr(a,e){var t,r;if(!a)return;const n=G(q({},e),{releases:lt(location.pathname,"/")}),l=a.title,i=(t=document.querySelector(l.sel))!=null?t:void 0;if(!i)return;const s=j(h(l.url,{root:i}));if(s===void 0)return;const u=(r=i.querySelector(l.chapter.sel))!=null?r:void 0;if(!u)return;const o=j(h(l.chapter.url,{root:u}));if(o!==void 0)return n.titleBase=W(s),n.readerBase=W(o),e.titleIdType===pe.id&&(h(l.id,{root:i})||(e.titleIdType=pe.name)),te(e,n)}function ct(){return document.querySelector('link[rel="shortlink"][href*="/?p="]')?"?p=":void 0}function te(a,e){const t=Object.keys(e),r=q({},a);let n=!1;return t.forEach(l=>{const i=e[l];i!==a[l]&&(r[l]=i,n=!0)}),n?r:void 0}function W(a){return lt(a,"/").split("/").slice(0,-1).join("/")}var dr=Object.defineProperty,gr=Object.defineProperties,hr=Object.getOwnPropertyDescriptors,ut=Object.getOwnPropertySymbols,vr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,pt=(a,e,t)=>e in a?dr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,de=(a,e)=>{for(var t in e||(e={}))vr.call(e,t)&&pt(a,t,e[t]);if(ut)for(var t of ut(e))fr.call(e,t)&&pt(a,t,e[t]);return a},dt=(a,e)=>gr(a,hr(e));class gt extends C{async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return e;let t=e.title.id;if(!t){const r=this.spec.reader.title;r.id&&await x(r.id.split("|")[0],{lazy:!0}),t=h(r.id)}return dt(de({},e),{title:dt(de({},e.title),{id:t,chapters:await mr(t),hasMoreChapters:!1})})}resolveTitleSlug(e){const t=super.resolveTitleSlug(e);if(!t)return;const r=t.lastIndexOf("-"),n=+t.substring(r+1);return r===-1||isNaN(n)||n<1e3?t:t.substring(0,r)}}gt.specId="nettruyen";async function mr(a){var e;if(!a)return[];const t=await fetch(`/Comic/Services/ComicService.asmx/ProcessChapterList?comicId=${a}`).then(r=>r.status===200?r.json():void 0).catch(()=>[]);return(e=t?.chapters)!=null&&e.length?A(t.chapters.map(r=>{const{name:n,url:l}=r,i=E(n);if(!(!i||!l))return de({slug:j(l).split("/").filter(Boolean).slice(2).join("/")},i)})):[]}var yr=Object.defineProperty,wr=Object.defineProperties,br=Object.getOwnPropertyDescriptors,ae=Object.getOwnPropertySymbols,ht=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,ft=(a,e,t)=>e in a?yr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Q=(a,e)=>{for(var t in e||(e={}))ht.call(e,t)&&ft(a,t,e[t]);if(ae)for(var t of ae(e))vt.call(e,t)&&ft(a,t,e[t]);return a},Y=(a,e)=>wr(a,br(e)),mt=(a,e)=>{var t={};for(var r in a)ht.call(a,r)&&e.indexOf(r)<0&&(t[r]=a[r]);if(a!=null&&ae)for(var r of ae(a))e.indexOf(r)<0&&vt.call(a,r)&&(t[r]=a[r]);return t};class yt extends C{async getRawTitleData(){const e=await super.getRawTitleData();return e&&Y(Q({},e),{hasMoreChapters:!!ge()})}async getRawChaptersData(){var e,t;const r=await this.getRawTitleData();if(!(r!=null&&r.hasMoreChapters))return r;const n=(e=this.context)==null?void 0:e.findContinue;if(n){const d=await this.findContinueChapters({rawTitleData:r,chapter:n});return d?{chapters:d,title:Y(Q({},r),{chapters:[]})}:void 0}const l=(t=this.context)==null?void 0:t.skip,i=r,{chapters:s}=i,u=mt(i,["chapters"]),o=s.length,c=l&&l>=o?Math.floor(l/o)+1:void 0;if(!c)return{chapters:s,title:Y(Q({},u),{chapters:[]}),hasMore:!!ge()};const p=await this.getChaptersByPage({page:c,titleSlug:r.slug});return{chapters:p??[],title:Y(Q({},u),{chapters:[]}),hasMore:!!ge(c),asc:!1,skip:l}}async findContinueChapters(e){var t=e,{rawTitleData:r,chapter:{chap:n},curPage:l=1,cacheChaptersByPage:i={}}=t,s=mt(t,["rawTitleData","chapter","curPage","cacheChaptersByPage"]),u,o;const c=(u=i[l])!=null?u:r.chapters,p=c[c.length-1].chap<=n,d=(o=s.maxPage)!=null?o:Rr();if(p){if(c[0].chap>n){const y=[...c].reverse().find(O=>O.chap>n);return y?[y]:c.slice(0,1)}if(l<=1)return c.slice(0,1)}else if(l===d)return c.slice(-1);const g=r.chapters.length,v=Object.keys(i).map(y=>+y).sort((y,O)=>y-O),f=p?-1:1,m=v[v.indexOf(l)+f];if(m===l+f)return p?i[m].slice(-1).concat(c.slice(0,1)):c.slice(-1).concat(i[m].slice(0,1));const R=p?n-c[0].chap:c[0].chap-n,P=Math.floor(R/g)+1,$=p?Math.max(P,(m??1)+1):Math.min(P,(m??d+1)-1,d),b=await this.getChaptersByPage({page:$,titleSlug:r.slug});if(b)return await this.findContinueChapters({rawTitleData:r,chapter:{chap:n},curPage:$,maxPage:d,cacheChaptersByPage:Y(Q({},i),{1:r.chapters,[$]:b})})}async getChaptersByPage({page:e,titleSlug:t}){const r=wt(e);if(!r)return;const n=this.spec.title.chapter,l=n.sel,i=document.querySelector(l),s=L(100,30,()=>{const u=document.querySelector(l);if(u&&i!==u)return!0;r.click()});return r.click(),await s,await this.getChapters(n,{lazy:!1,titleSlug:t})}}yt.specId="reaper";function ge(a=1){return wt(a+1)}function wt(a){const e=`span[wire\\:key="paginator-page-1-page${a}"] button,button[aria-label="Go to page ${a}"]`;return document.querySelector(e)}function Rr(){const a=Array.from(document.querySelectorAll('span[wire\\:key^="paginator-page-"]'));return a.length?+a[a.length-1].getAttribute("wire:key").split("-").slice(-1)[0].replace("page",""):1}var $r=Object.defineProperty,Or=Object.defineProperties,Pr=Object.getOwnPropertyDescriptors,bt=Object.getOwnPropertySymbols,Sr=Object.prototype.hasOwnProperty,Dr=Object.prototype.propertyIsEnumerable,Rt=(a,e,t)=>e in a?$r(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,re=(a,e)=>{for(var t in e||(e={}))Sr.call(e,t)&&Rt(a,t,e[t]);if(bt)for(var t of bt(e))Dr.call(e,t)&&Rt(a,t,e[t]);return a},ne=(a,e)=>Or(a,Pr(e));class $t extends C{async getRawTitleData(){var e,t;const r=await super.getRawTitleData();if(!r)return;const n=(e=h(".info-detail__row > .genre-btn,.info__right .stats__row:first-child|text",{returnAll:!0}))==null?void 0:e.map(l=>[l,...l.split(" ")]).flat();return Ot(ne(re({},r),{tags:(t=this.getTagIdsFromNames(n))!=null?t:[]}),".episode-header .episode-cnt")}async getRawReaderData(){const e=await super.getRawReaderData();if(e)return ne(re({},e),{title:Ot(ne(re({},e.title),{url:`${location.origin}/series/${e.title.slug}/info`,tags:[]}),".episode-list .js-ep-cnt")})}async getRawChaptersData(){if(!this.context)return;const{rawId:e,skip:t}=this.context,r=1e3,n=t?Math.floor(t/1e3)+1:1;try{const l=await fetch(`/series/${e}/episodes?page=${n}&sort=NEWEST&max_limit=${r}`);return jr(await l.json())}catch{return}}resolveTitleSlug(e){var t;if(!e)return;const r=e.split("/").filter(Boolean);return(t=r[1])!=null?t:r[0]}}$t.specId="tapas";function Ot(a,e){const t=Cr(e)>20;return ne(re({},a),{chapters:t?[]:a.chapters,hasMoreChapters:t})}function jr(a){var e,t,r;const n=(e=a?.data)==null?void 0:e.episodes;if(!Array.isArray(n))return;const l=n.map(s=>{var u,o,c;return{chap:(u=s.pending_scene)!=null?u:s.scene,slug:s.id+"",ts:((c=(o=new Date(s.publish_date))==null?void 0:o.valueOf)==null?void 0:c.call(o))||void 0}}),i=(t=a?.data)==null?void 0:t.pagination;return{chapters:l,total:(r=i?.total)!=null?r:l.length,hasMore:!!(i!=null&&i.has_next)}}function Cr(a){var e;const t=document.querySelector(a);return+(((e=t?.textContent)==null?void 0:e.trim().split(" ")[0])||0)}const xr=[Te,Be,ke,Ve,ot,gt,yt,$t,tt,Ze,nt];function Pt(a){var e;const t=(e=xr.find(r=>r.specId===a.spec.id))!=null?e:C;return new t(a)}var Tr=Object.defineProperty,Ir=Object.defineProperties,Mr=Object.getOwnPropertyDescriptors,St=Object.getOwnPropertySymbols,Nr=Object.prototype.hasOwnProperty,_r=Object.prototype.propertyIsEnumerable,Dt=(a,e,t)=>e in a?Tr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,jt=(a,e)=>{for(var t in e||(e={}))Nr.call(e,t)&&Dt(a,t,e[t]);if(St)for(var t of St(e))_r.call(e,t)&&Dt(a,t,e[t]);return a},Ct=(a,e)=>Ir(a,Mr(e));async function Br(a){var e,t;const{spec:r}=a;if(r){const n=(e=a.siteMeta)!=null?e:r.meta,l=a.type?[a.type]:xt(n,r.generic);if(!l.length)return;const i=Pt(Ct(jt({},a),{spec:r,siteMeta:n}));return await H(l.map(s=>i.getRawPageByType(s)))}return await H(((t=a.genericSpecs)!=null?t:[]).map(n=>{const l=xt(n.meta,n.generic);if(!l.length)return[];const i=Pt(Ct(jt({},a),{spec:n,siteMeta:n.meta}));return l.map(s=>i.getRawPageByType(s,!0))}).flat())}function xt(a,e){if(location.pathname==="/")return[];const{titleBase:t,readerBase:r}=a,n=location.pathname.split("/").filter(Boolean),l=Tt(n,r),i=Tt(n,t);if(l!==i)return l>i?[w.reader]:[w.title];if(l>0)return[w.reader,w.title];if(n.length===1){const s=[!r&&w.reader,!t&&w.title].filter(Boolean);if(s.length)return s}return e?[w.reader,w.title]:[]}function Tt(a,e){if(!e)return 0;const t=e.split("/").filter(Boolean),r=t.includes("{slug}"),n=a.length-t.length;return r&&n!==0||!r&&n<1?0:t.filter((l,i)=>a[i]===l||l==="{titleSlug}"||l==="{lang}"||l==="{slug}").length}V.PageType=w,V.scrape=Br});
1
+ (function(V,J){typeof exports=="object"&&typeof module<"u"?J(exports):typeof define=="function"&&define.amd?define(["exports"],J):(V=typeof globalThis<"u"?globalThis:V||self,J(V._trackkun_={}))})(this,function(V){"use strict";function J(a){let e=!1;return new Promise((t,r)=>{Promise.all(a.map(async n=>{const l=await n;!e&&l&&(e=!0,t(l))})).then(()=>{e||t(void 0)})})}function ve(a,{removeTrailingSlash:e=!0}={}){if(!a)return;const t=e&&a.endsWith("/")?a.slice(0,-1):a;try{return new URL(t)}catch{return}}function j(a){var e,t;if(!(!a||typeof a!="string"))return a.startsWith("http://")||a.startsWith("https://")?(e=ve(a))==null?void 0:e.pathname:a.startsWith("//")?(t=ve(`https:${a}`))==null?void 0:t.pathname:a}async function L(a,e,t){const r=await t(()=>{a=0});if(r!==void 0)return r;if(!(a<=0))return await new Promise(n=>{setTimeout(async()=>{const l=await L(a-1,e,t);n(l)},e)})}async function x(a,e,t=0){var r;const n=(r=e.root)!=null?r:document.documentElement;return L(e.lazy===!0?200:0,100,()=>{var l;const i=e.all===!0?Array.from(n.querySelectorAll(a)):(l=n.querySelector(a))!=null?l:void 0;return(e.all?!(i!=null&&i.length):!i)?void 0:i})}const Nt={text:_t,attr:Bt,"attr-contain":Lt,value:Et,row:At};function h(a,e={}){if(!a)return;const{root:t=document.documentElement,returnAll:r,preProcess:n}=e,l=me(a);if(l.length>1){for(let p=0;p<l.length;p+=1){const d=h(l[p],e);if(d!=null&&d.length)return d}return}const[i,s]=a.split("|");if(!s)return;const u=(s!=null&&s.startsWith("[")&&s.endsWith("]")?s.substring(1,s.length-1).split(","):[s]).map(p=>{const d=p.indexOf(":"),g=d!==-1;return{action:g?p.substring(0,d):p,param:g?p.substring(d+1):""}}),o=i?Array.from(t.querySelectorAll(i)):[t];if(!o.length)return r?[]:void 0;n&&n(o);const c=[];for(const p of o)for(const d of u){const g=Nt[d.action],f=g(p,d.param);if(f){if(r){c.push(f);break}return f}}return r?c:void 0}function _t(a){return Array.from(a.childNodes).filter(e=>e.nodeType===3).map(e=>H(e.textContent)).filter(Boolean).join(" ").trim()||H(a.textContent)}function Bt(a,e){return H(a.getAttribute(e))}function Lt(a,e){let t=a.getAttribute(e);if(!t){const r=a.getAttributeNames().find(n=>n.includes(e));r&&(t=a.getAttribute(r))}return H(t)}function me(a){const e=[],t=a.split("||").map(r=>r.trim()).filter(Boolean);return t.forEach((r,n)=>{if(r.includes("|")){e.push(r);return}const l=t[n+1];l&&(t[n+1]=`${r},${l}`)}),e}function Et(a){return a.value}function At(a,e){var t,r,n,l;if(!e)return;const i=(t=H(a.textContent))==null?void 0:t.toLowerCase(),s=e.toLowerCase();if(!(i!==s&&i!==`${s}:`))return H((l=(r=a.nextElementSibling)==null?void 0:r.textContent)!=null?l:(n=a.nextSibling)==null?void 0:n.textContent)}function H(a){if(a)return a?.replace(/(\n|\t)/g," ").trim()||void 0}const kt=/(vol(ume)?|season)(\s*|-|\.)(\d+)/i,zt=/(ch(ap(t(er)?|\.)?|\.)?|^#|episode\.?)(\s*|-)(\d+([_-~,.]\d+)?)/i,qt=/\d+([_-~,.]\d+)?/,Wt=/[_-~,]/;function E(a){var e;if(!a||!a)return;if(!isNaN(+a))return{chap:+a};const t=a.match(kt),r=t!=null&&t[0]?a.replace(t[0],"").trim():a,n=r.match(zt),l=r.match(qt),i=(e=n?.[6])!=null?e:l?.[0];if(!i)return;const s=+i.replace(Wt,".");if(isNaN(s))return;const u=t?.[4];return{vol:u&&!isNaN(+u)?+u:void 0,chap:s}}function A(a){return a.sort((e,t)=>e.vol===void 0||t.vol===void 0?t.chap-e.chap:t.vol-e.vol||t.chap-e.chap),Ut(a)}function Ut(a){let e;for(let t=a.length-1;t>=0;t--){const r=a[t];r.vol!==void 0?e=r.vol:e!==void 0&&(r.inferVol=e)}return a}const Ft=[{regex:/(sec|giây)/,seconds:1},{regex:/(min|phút)/,seconds:60},{regex:/(hour|giờ)/,seconds:3600},{regex:/(day|ngày)/,seconds:86400},{regex:/(week|tuần)/,seconds:604800},{regex:/(month|tháng)/,seconds:2592e3},{regex:/(year|năm)/,seconds:31536e3}];function ye(a){const e=a?.toLowerCase();if(!e||e.includes("now"))return Date.now();if(e.includes("yesterday"))return Date.now()-864e5;const t=new Date(e);if(t instanceof Date){const l=t.valueOf();if(!isNaN(l))return t.getHours()===0&&t.getMinutes()===0?Math.min(Date.now(),l+432e5):l}const r=Ft.find(l=>l.regex.test(e));if(!r)return;const n=e.split(" ").filter(Boolean);for(let l=0;l<n.length;l++){const i=n[l],s=i==="a"||i==="an"?1:+i;if(!s)continue;if(s<0)return;const u=Date.now()-s*r.seconds*1e3;return u>0?u:void 0}}function se(a,e=location.origin){if(!a)return;const t=new URL(a.startsWith("//")?`${location.protocol}${a}`:a,location.origin+location.pathname).toString();return t.startsWith(e)?t.replace(e,""):t}function we(a,e){if(!a)return"/";const t=a.replace("{titleSlug}",e),r=t.endsWith("/")?t:t+"/";return r.startsWith("/")?r:"/"+r}var Vt=Object.defineProperty,be=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable,Re=(a,e,t)=>e in a?Vt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Gt=(a,e)=>{for(var t in e||(e={}))Jt.call(e,t)&&Re(a,t,e[t]);if(be)for(var t of be(e))Ht.call(e,t)&&Re(a,t,e[t]);return a};function $e(a,e){var t,r;const n=[...e],l=[];let i=-1,s=-1;for(let o=0;o<a.length&&!(!n.length&&o>=10);o++){const c=Gt({},a[o]),p=n.findIndex(f=>f.slug===c.slug&&f.name===c.name),d=p===-1?void 0:n.splice(p,1)[0],g=!d||((t=d.chapters[0])==null?void 0:t.chap)!==((r=c.chapters[0])==null?void 0:r.chap);p!==-1&&(s=o),g&&(i=o,c.changed=!0),l.push(c)}if(i===-1)return[];if(n.length&&n.length!==e.length){const o=Math.max(10,s+1);l.splice(o);for(let c=s+1;c<l.length;c++)l[c].changed=!1;return l}const u=Math.min(Math.max(i+1,10),Math.max(s+1,100));return l.slice(0,u)}var Xt=Object.defineProperty,Qt=Object.defineProperties,Yt=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,Zt=Object.prototype.hasOwnProperty,Kt=Object.prototype.propertyIsEnumerable,Pe=(a,e,t)=>e in a?Xt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ea=(a,e)=>{for(var t in e||(e={}))Zt.call(e,t)&&Pe(a,t,e[t]);if(Oe)for(var t of Oe(e))Kt.call(e,t)&&Pe(a,t,e[t]);return a},ta=(a,e)=>Qt(a,Yt(e));function Se(a,e){const t={};return a.forEach(r=>{const n=r.chapters.reduce((l,i)=>{const s=i.lang||e||"";return l[s]||(l[s]=[]),l[s].push(i),l},{});Object.entries(n).forEach(([l,i])=>{const s=`${r.slug}:${l}`;t[s]?(t[s].chapters.push(...i),A(t[s].chapters)):t[s]=ta(ea({},r),{lang:l===""?void 0:l,chapters:i})})}),Object.values(t)}var w=(a=>(a.title="title",a.reader="reader",a.releases="releases",a.chapters="chapters",a.search="search",a))(w||{});let aa=class{constructor(e){this.methodsMap={[w.title]:()=>this.getRawTitleData(),[w.reader]:()=>this.getRawReaderData(),[w.releases]:()=>this.getRawReleasesData(),[w.search]:()=>this.getRawSearchData(),[w.chapters]:()=>this.getRawChaptersData()},this.spec=e.spec,this.siteMeta=e.siteMeta,this.tags=e.tags,this.context=e.context}async getRawSearchData(){throw new Error("Unimplemented")}async getRawPageByType(e,t=!1){const r=await this.methodsMap[e]();if(t&&!r)return;const n=location.origin+location.pathname;return{type:e,is404:na(this.spec),specId:this.spec.id,siteName:h(this.spec.name),url:n,data:r}}resolveReaderSlug(e,t){return t.startsWith(e)?t.replace(e,""):t}resolveTitleSlug(e){var t;if(typeof e!="string")return;const r=(t=j(e))==null?void 0:t.split("/").filter(Boolean);return!r||!r.length?e:r[r.length-1]}finalizeRawReleasesData(e){var t,r,n;const l=(r=(t=this.spec.releases)==null?void 0:t.title)!=null&&r.lang?this.siteMeta.defaultLang:void 0,i=Se(e.rawReleases,l);if(i.length)return{rawReleases:(n=this.context)!=null&&n.oldRawReleases?$e(i,this.context.oldRawReleases):i}}getTagIdsFromNames(e){var t;if(!(e!=null&&e.length))return;const r=(t=this.normalizedTagsMap)!=null?t:this.normalizedTagsMap=ra(this.tags),n=e.map(l=>r[oe(l)]).filter(Boolean);return n.length===0?void 0:Array.from(new Set(n)).sort((l,i)=>l-i)}};function ra(a){const e={};return a.forEach(({id:t,name:r,altNames:n})=>{e[oe(r)]=t,n&&n.forEach(l=>{e[oe(l)]=t})}),e}function oe(a){const e=a.toLowerCase().replaceAll(" ","").replaceAll("-","");return e[e.length-1]==="s"?e.substring(0,e.length-1):e}function na(a){return a[404]&&document.querySelector(a[404])?!0:document.title.toLowerCase().includes("not found")}var la=Object.defineProperty,ia=Object.defineProperties,sa=Object.getOwnPropertyDescriptors,Y=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable,Ce=(a,e,t)=>e in a?la(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,M=(a,e)=>{for(var t in e||(e={}))De.call(e,t)&&Ce(a,t,e[t]);if(Y)for(var t of Y(e))je.call(e,t)&&Ce(a,t,e[t]);return a},k=(a,e)=>ia(a,sa(e)),xe=(a,e)=>{var t={};for(var r in a)De.call(a,r)&&e.indexOf(r)<0&&(t[r]=a[r]);if(a!=null&&Y)for(var r of Y(a))e.indexOf(r)<0&&je.call(a,r)&&(t[r]=a[r]);return t};class C extends aa{async getRawReleasesData(){var e,t;if(!((t=(e=this.spec)==null?void 0:e.releases)!=null&&t.title))return;const r=this.spec.releases.title,{chapter:n}=r,l=xe(r,["chapter"]),i=await x(l.sel,{lazy:!0,all:!0});if(!(i!=null&&i.length))return;const s=i.slice(0,100).map(o=>{var c;const p=h(l.url,{root:o}),d=j(p),g=h(l.name,{root:o}),f=h(l.at,{root:o});if(!(!d||!g))return{titleEl:o,id:h(l.id,{root:o}),path:d,name:g,lang:(c=h(l.lang,{root:o}))==null?void 0:c.toLowerCase(),at:f?ye(f):void 0}}).filter(Boolean);if(!s.length)return;const u=await Promise.all(s.map(async o=>{var c;const p=o,{path:d,titleEl:g,lang:f,at:v}=p,m=xe(p,["path","titleEl","lang","at"]),R=this.resolveTitleSlug(d),P=(c=await this.getChapters(n,{root:g,titleSlug:R}))!=null?c:[];return M({slug:R,chapters:f||v?P.map($=>{var b,y;return k(M({},$),{lang:(b=$.lang)!=null?b:f,ts:(y=$.ts)!=null?y:v})}):P},m)}));return this.finalizeRawReleasesData({rawReleases:u})}async getRawTitleData(){var e,t,r;const n=this.spec.title;if(!n||n.sel&&!await x(n.sel,{lazy:!!n.lazy}))return;const l=h(n.name);if(!l)return;const i=this.resolveTitleSlug(location.pathname);if(!i)return;let s=(e=h(n.tags,{returnAll:!0}))!=null?e:[];s.length===1&&(s=s[0].split(",").map(c=>c.trim()).filter(Boolean));const u=h(n.type),o=(t=h(n.langs,{returnAll:!0}))==null?void 0:t.map(c=>c.toLowerCase());return{id:h(n.id),url:location.origin+location.pathname,slug:i,name:l,langs:o!=null&&o.length?o:n.langs&&this.siteMeta.defaultLang?[this.siteMeta.defaultLang]:void 0,tags:this.getTagIdsFromNames([...s??[],...u?[u]:[]]),chapters:(r=await this.getChapters(n.chapter,{lazy:!0,titleSlug:i}))!=null?r:[],img:se(h(n.img))}}async getRawReaderData(){var e,t,r,n,l,i;const{spec:s,siteMeta:u}=this;if(!(s!=null&&s.reader)||s.generic&&!await C.isReaderPage(s.reader)||!(!s.reader.imgs||await C.verifyImgLocator(s.reader.imgs)))return;const o=s.reader.title,c=document.querySelector(o.sel);if(!c)return;const p=h(o.name,{root:c}),d=h(o.url,{root:c}),g=this.resolveTitleSlug(d),f=h(o.img,{root:c});if(!p||!d||!g)return;const v=(t=await this.getChapters((e=s.reader)==null?void 0:e.chapter,{titleSlug:g}))!=null?t:[],m=(r=h(s.reader.label))==null?void 0:r.toLowerCase().replace(p.toLowerCase(),"");if(!m)return;const{vol:R,chap:P=0}=E(m)||{},$=we(u.readerBase,g),b=u.readerBase.split("/").indexOf("{lang}"),y=b!==-1?(n=location.pathname.substring(1).split("/")[b])==null?void 0:n.toLowerCase():void 0,O=y?$.replace("{lang}",y):$,D=(i=y??((l=h(s.reader.lang))==null?void 0:l.toLowerCase()))!=null?i:s.reader.lang?this.siteMeta.defaultLang:void 0;return this.finalizeRawReaderData({vol:R,chap:P,lang:D,slug:this.resolveReaderSlug(O,location.pathname),basePath:O,imgsLocator:s.reader.imgs,title:{id:h(o.id),url:d,slug:g,name:p,langs:D?[D]:void 0,img:se(f),chapters:v}},{prevSlug:this.findNeighborChapter({sel:s.reader.prev,basePath:O}),nextSlug:this.findNeighborChapter({sel:s.reader.next,basePath:O})})}async getRawChaptersData(){var e;const t=await this.getRawTitleData();if(!t)return;const r=(e=this.context)==null?void 0:e.lang,{chapters:n}=t;return{chapters:r?n.filter(l=>!l.lang||l.lang===r):n,title:k(M({},t),{chapters:[]}),hasMore:!1,asc:!1,total:n.length}}async getRawSearchData(){var e;const t=(e=this.spec.search)==null?void 0:e.title;if(!t)return;const{chapter:r}=t,n=[];return await Promise.all(Array.from(document.querySelectorAll(t.sel)).map(async l=>{var i;const s=h(t.url,{root:l}),u=j(s),o=h(t.name,{root:l}),c=this.resolveTitleSlug(u);!u||!o||!c||n.push({slug:c,name:o,chapters:(i=await this.getChapters(r,{root:l,titleSlug:c}))!=null?i:[]})})),n.length?{rawReleases:n}:void 0}async getChapters(e,{root:t=document.documentElement,titleSlug:r="",lazy:n=!0}){var l;if(!e)return;const i=[],s=await x(e.sel,{root:t,all:!0,lazy:n});if(!(s!=null&&s.length))return i;const u=(s??[]).map(v=>({id:h(e.id,{root:v}),label:h(e.label,{root:v}),url:h(e.url,{root:v}),at:h(e.at,{root:v})})),o=u.map(({label:v})=>E(v)),c=(l=o[1])==null?void 0:l.chap;!o[0]&&(c===void 0||c<=1)&&(o[0]={chap:0});const{readerBase:p}=this.siteMeta,d=we(p,r),g=p.split("/").indexOf("{lang}"),f=g!==-1;return o.forEach((v,m)=>{var R,P;if(!v)return;const{id:$,url:b,at:y}=u[m],O=b?.startsWith("http")&&!b.startsWith(location.origin),D=O?b:j(b);if(!D)return;const U=!O&&f?(R=D?.substring(1).split("/")[g])==null?void 0:R.toLowerCase():void 0,S=O?D:this.resolveReaderSlug(U?d.replace("{lang}",U):d,D);i.push(k(M({},v),{id:$,slug:S,lang:U,ts:ye(y)||((P=i[i.length+1])==null?void 0:P.ts)||Date.now()}))}),A(i)}static async isReaderPage(e){return!!e.sel&&!!await x(e.sel,{lazy:!!e.lazy})}static async verifyImgLocator(e){const t=me(e).map(r=>r.split("|")[0]).join(",");return!!await x(t,{lazy:!0})}findNeighborChapter({sel:e,basePath:t}){const r=h(e);if(!r||r.startsWith("#")||r.startsWith("/#"))return;const n=j(r);return n?this.resolveReaderSlug(t,n):void 0}finalizeRawReaderData(e,{prevSlug:t,nextSlug:r}={}){var n;const l=(n=e.title)==null?void 0:n.chapters;if(!(l!=null&&l.length)){const c=E(t),p=E(r);return!c&&!p?e:k(M({},e),{prev:c?k(M({},c),{slug:t}):void 0,next:p?k(M({},p),{slug:r}):void 0})}let i,s,u,o;for(let c=0;c<l.length&&!(i&&(!t||u)&&!r&&o);c++){const p=l[c];!i&&(e.slug==p.slug||e.chap===p.chap&&(e.vol===p.vol||e.vol===void 0))?(i=p,s=c):!u&&t===p.slug?u=p:!o&&r===p.slug&&(o=p)}return s!==void 0&&(u!=null||(u=l[s+1]),o!=null||(o=l[s-1])),k(M({},e),{inferVol:i?.inferVol,prev:u,next:o})}}class Te extends C{resolveTitleSlug(e){var t;return(t=j(e))==null?void 0:t.split("/").filter(Boolean)[1]}}Te.specId="bato";function oa(){return Math.random().toString(16).slice(2)}async function ca({addListener:a,removeListener:e,transform:t,filter:r,handler:n,onTimeout:l,timeout:i,once:s}){return new Promise(u=>{a(p);const o=()=>s===!0&&e(p),c=i?setTimeout(()=>{o(),u(void 0),l?.()},i):void 0;async function p(d,...g){d=t?t(d):d,d!==void 0&&(!r||r(d,...g))&&(o(),u(d),n?.(d,...g),c&&clearTimeout(c))}})}var ua=Object.defineProperty,Ie=Object.getOwnPropertySymbols,pa=Object.prototype.hasOwnProperty,da=Object.prototype.propertyIsEnumerable,Me=(a,e,t)=>e in a?ua(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ga=(a,e)=>{for(var t in e||(e={}))pa.call(e,t)&&Me(a,t,e[t]);if(Ie)for(var t of Ie(e))da.call(e,t)&&Me(a,t,e[t]);return a};async function ha(a){const e=await ca(ga({addListener:t=>window.addEventListener("message",t),removeListener:t=>window.removeEventListener("message",t)},a));return e?.data}async function fa(a){var e;const{receiverWindow:t,timeout:r,targetOrigin:n,event:l,args:i}=a,s={reqId:oa(),event:l,args:i};(e=t||window)==null||e.postMessage(s,n??"*");const u=await ha({filter:o=>{var c;return((c=o?.data)==null?void 0:c.resId)===s.reqId},timeout:r??3e4,once:!0});return u?.result}const I={isAny:!0};function N(a,...e){return fa({event:"tk:fetchResult",args:{baseUrl:a,segments:e}})}function va(a){if(a)try{return JSON.parse(a)}catch{return}}var ma=Object.defineProperty,ya=Object.defineProperties,wa=Object.getOwnPropertyDescriptors,Ne=Object.getOwnPropertySymbols,ba=Object.prototype.hasOwnProperty,Ra=Object.prototype.propertyIsEnumerable,_e=(a,e,t)=>e in a?ma(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Z=(a,e)=>{for(var t in e||(e={}))ba.call(e,t)&&_e(a,t,e[t]);if(Ne)for(var t of Ne(e))Ra.call(e,t)&&_e(a,t,e[t]);return a},K=(a,e)=>ya(a,wa(e));class Be extends C{async getRawReleasesData(){let e=[];try{e=await(await fetch("https://api.comick.app/chapter?page=1&device-memory=8&order=hot&accept_erotic_content=true")).json()}catch{return}const t=[];return e.forEach(r=>{const{vol:n,chap:l,hid:i,lang:s,updated_at:u,md_comics:o}=r,c=typeof l=="string"&&!isNaN(+l)?+l:void 0;typeof c=="number"&&t.push({id:o.hid,slug:o.slug,name:o.title,chapters:[{slug:i,vol:typeof n=="string"&&!isNaN(+n)?+n:void 0,chap:c,lang:s,ts:new Date(u).valueOf()}]})}),super.finalizeRawReleasesData({rawReleases:t})}async getRawTitleData(){var e,t,r,n,l,i,s,u;const o=await super.getRawTitleData();if(!o)return o;const c=await N("https://api.comick.app/","comic",I,"chapters");if(!c)return o;const p=await $a(o.slug),d=Le(c),g=h("h1 ~ div.text-sm span:first-child|row:demographic"),f=g?(e=this.getTagIdsFromNames([g]))==null?void 0:e[0]:void 0;return f&&!((t=o.tags)!=null&&t.includes(f))&&((r=o.tags)==null||r.push(f),(n=o.tags)==null||n.sort((v,m)=>v-m)),K(Z({},o),{img:(i=o.img)!=null?i:se(h((l=this.spec.title)==null?void 0:l.img)),id:p,hasMoreChapters:(s=d?.hasMore)!=null?s:!1,chapters:(u=d?.chapters)!=null?u:[]})}async getRawReaderData(){var e,t,r,n,l,i,s;const u=await super.getRawReaderData();if(!u)return u;const o=await N("/_next/data/",I,"comic",I),c=(e=o?.comic)==null?void 0:e.hid,p=(n=(r=(t=o?.comic)==null?void 0:t.md_comic_md_genres)==null?void 0:r.map)==null?void 0:n.call(r,g=>{var f;return(f=g?.md_genre)==null?void 0:f.name}),d=(s=(i=(l=o?.comic)==null?void 0:l.md_covers)==null?void 0:i[0])==null?void 0:s.b2key;return K(Z({},u),{title:K(Z({},u.title),{id:c?c+"":void 0,tags:this.getTagIdsFromNames(p),img:typeof d=="string"?`https://meo.comick.pictures/${d}`:void 0})})}async getRawChaptersData(){var e;if(!((e=this.context)!=null&&e.rawId))return;const{rawId:t,lang:r="en",skip:n}=this.context,l=n?Math.floor(n/1e3)+1:void 0;try{const i=await fetch(`https://api.comick.app/comic/${t}/chapters?lang=${r}&limit=1000${l&&l>1?`&page=${l}`:""}`),s=Le(await i.json());return s?K(Z({},s),{lang:r,asc:!1}):void 0}catch{return}}}Be.specId="comick";function Le(a){var e;if(!Array.isArray(a?.chapters))return;const t=[];return a.chapters.forEach(r=>{const{vol:n,chap:l,hid:i,lang:s,updated_at:u}=r,o=typeof l=="string"&&!isNaN(+l)?+l:void 0;typeof o!="number"||t.some(c=>c.vol==n&&c.chap===o&&c.lang===s)||t.push({slug:i,vol:typeof n=="string"&&!isNaN(+n)?+n:void 0,chap:o,lang:s,ts:new Date(u).valueOf()})}),{chapters:A(t),total:(e=a.total)!=null?e:t.length,hasMore:a.total>a.limit}}async function $a(a){var e,t,r,n,l,i,s,u,o;const c=(e=document.querySelector("script#__NEXT_DATA__"))==null?void 0:e.textContent,p=c?va(c):void 0;if(((t=p?.query)==null?void 0:t.slug)===a)return(i=(l=(n=(r=p?.props)==null?void 0:r.pageProps)==null?void 0:n.comic)==null?void 0:l.hid)!=null?i:void 0;const d=await N("/_next/data/",I,"comic",a,"covers.json");return(o=(u=(s=d?.pageProps)==null?void 0:s.comic)==null?void 0:u.hid)!=null?o:void 0}var Oa=Object.defineProperty,Pa=Object.defineProperties,Sa=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,Da=Object.prototype.hasOwnProperty,ja=Object.prototype.propertyIsEnumerable,Ae=(a,e,t)=>e in a?Oa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ce=(a,e)=>{for(var t in e||(e={}))Da.call(e,t)&&Ae(a,t,e[t]);if(Ee)for(var t of Ee(e))ja.call(e,t)&&Ae(a,t,e[t]);return a},ue=(a,e)=>Pa(a,Sa(e));class ke extends C{async getRawReleasesData(){const e=await this.getVM();if(!e)return super.getRawReleasesData();const t=e.LatestJSON.slice(0,100).map(r=>{const n=+r.Chapter.substring(1)/10;return{slug:r.IndexName,name:r.SeriesName,chapters:[{chap:n,slug:`${r.IndexName}-chapter-${n}.html`,ts:new Date(r.Date).valueOf()}]}});return this.finalizeRawReleasesData({rawReleases:t})}async getRawTitleData(){const e=await super.getRawTitleData();return e&&ue(ce({},e),{chapters:ze(await this.getVM(),e.slug),hasMoreChapters:!1})}resolveReaderSlug(e,t){return super.resolveReaderSlug(e,t).replace(/-page-\d{1,3}\.html$/,".html")}async getRawReaderData(){var e;const t=await super.getRawReaderData();if(!t)return t;const r=await this.getVM(),n=(e=document.querySelector(".ImageGallery img.img-fluid"))==null?void 0:e.getAttribute("ng-src");return this.finalizeRawReaderData(ue(ce({},t),{imgs:Ca(r,n??void 0),title:ue(ce({},t.title),{chapters:ze(r,t.title.slug),hasMoreChapters:!1})}))}getVM(){return L(40,50,()=>{var e,t,r,n;return(n=(r=(t=(e=window.angular)==null?void 0:e.element)==null?void 0:t.call(e,document.documentElement))==null?void 0:r.scope())==null?void 0:n.vm})}}ke.specId="manga4life";function ze(a,e){var t,r;return((r=(t=a?.Chapters)!=null?t:a?.CHAPTERS)!=null?r:[]).sort((n,l)=>l.Chapter-n.Chapter).map(n=>{const l=+n.Chapter.substring(1)/10;return{slug:`${e}-chapter-${l}.html`,chap:l,ts:new Date(n.Date).valueOf()}})}function Ca(a,e){var t;let r=(t=e?.split(".").slice(-1)[0])!=null?t:"png";r=r.length>=3&&r.length<=4?r:"png";try{const n=a.CurChapter.Chapter.slice(1,-1),l=a.CurChapter.Chapter[a.CurChapter.Chapter.length-1],i=l!=="0"?`${n}.${l}`:n,s=`https://${a.CurPathName}/manga/${a.IndexName}/${a.CurChapter.Directory?`${a.CurChapter.Directory}/`:""}${i}-`;return a.Pages.map(u=>{const o=(u+"").padStart(3,"0");return`${s}${o}.${r}`})}catch{return}}class xa{constructor(e){this.methodsMap={[w.title]:()=>this.getRawTitleData(),[w.reader]:()=>this.getRawReaderData(),[w.releases]:()=>this.getRawReleasesData(),[w.search]:()=>this.getRawSearchData(),[w.chapters]:()=>this.getRawChaptersData()},this.spec=e.spec,this.siteMeta=e.siteMeta,this.tags=e.tags,this.context=e.context}async getRawSearchData(){throw new Error("Unimplemented")}async getRawPageByType(e,t=!1){const r=await this.methodsMap[e]();if(t&&!r)return;const n=location.origin+location.pathname;return{type:e,is404:Ia(this.spec),specId:this.spec.id,siteName:h(this.spec.name),url:n,data:r}}resolveReaderSlug(e,t){return t.startsWith(e)?t.replace(e,""):t}resolveTitleSlug(e){var t;if(typeof e!="string")return;const r=(t=j(e))==null?void 0:t.split("/").filter(Boolean);return!r||!r.length?e:r[r.length-1]}finalizeRawReleasesData(e){var t,r,n;const l=(r=(t=this.spec.releases)==null?void 0:t.title)!=null&&r.lang?this.siteMeta.defaultLang:void 0,i=Se(e.rawReleases,l);if(i.length)return{rawReleases:(n=this.context)!=null&&n.oldRawReleases?$e(i,this.context.oldRawReleases):i}}getTagIdsFromNames(e){var t;if(!(e!=null&&e.length))return;const r=(t=this.normalizedTagsMap)!=null?t:this.normalizedTagsMap=Ta(this.tags),n=e.map(l=>r[pe(l)]).filter(Boolean);return n.length===0?void 0:Array.from(new Set(n)).sort((l,i)=>l-i)}}function Ta(a){const e={};return a.forEach(({id:t,name:r,altNames:n})=>{e[pe(r)]=t,n&&n.forEach(l=>{e[pe(l)]=t})}),e}function pe(a){const e=a.toLowerCase().replaceAll(" ","").replaceAll("-","");return e[e.length-1]==="s"?e.substring(0,e.length-1):e}function Ia(a){return a[404]&&document.querySelector(a[404])?!0:document.title.toLowerCase().includes("not found")}var Ma=Object.defineProperty,Na=Object.defineProperties,_a=Object.getOwnPropertyDescriptors,qe=Object.getOwnPropertySymbols,Ba=Object.prototype.hasOwnProperty,La=Object.prototype.propertyIsEnumerable,We=(a,e,t)=>e in a?Ma(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ue=(a,e)=>{for(var t in e||(e={}))Ba.call(e,t)&&We(a,t,e[t]);if(qe)for(var t of qe(e))La.call(e,t)&&We(a,t,e[t]);return a},Fe=(a,e)=>Na(a,_a(e));class Ve extends xa{resolveTitleSlug(e){var t;return(t=j(e))==null?void 0:t.split("/").filter(Boolean)[1]}async getRawReleasesData(){let e=[];try{e=(await(await fetch("https://api.mangadex.org/chapter?limit=96&offset=0&includes[]=manga&contentRating[]=safe&contentRating[]=suggestive&contentRating[]=erotica&contentRating[]=pornographic&order[readableAt]=desc")).json()).data}catch{return}const t=[];return e.forEach(({relationships:r,attributes:n,id:l})=>{const i=r.find(({type:o})=>o==="manga"),s=typeof n.volume=="string"?+n.volume:void 0,u=typeof n.chapter=="string"?+n.chapter:void 0;u&&t.push({slug:i.id,name:Object.values(i.attributes.title)[0],chapters:[{slug:n.externalUrl||l,vol:s,chap:u,lang:n.translatedLanguage,ts:new Date(n.readableAt).valueOf()}]})}),super.finalizeRawReleasesData({rawReleases:t})}async getRawTitleData(){var e,t,r;const n="https://api.mangadex.org/manga/",[l,i]=await Promise.all([N(n,I),N(n,I,"feed")]);if(!l||!i)return;const s=(r=(t=(e=i.data)==null?void 0:e.map)==null?void 0:t.call(e,c=>{const{attributes:p,id:d}=c;if(typeof p!="object"||typeof d!="string"||!d)return;const{externalUrl:g,title:f,volume:v,chapter:m,translatedLanguage:R}=p;return{slug:g||d,label:f||void 0,vol:typeof v=="string"?+v:void 0,chap:typeof m=="string"?+m:void 0,lang:R||"en",ts:new Date(p.readableAt).valueOf()}}).filter(c=>c?.chap!=null))!=null?r:[],{data:u}=l;if(!u)return;const o=He({data:u,getTagIdsFromNames:c=>this.getTagIdsFromNames(c)});if(o)return Fe(Ue({},o),{chapters:A(s),hasMoreChapters:(i.total||0)>(i.limit||0)})}async getRawReaderData(){var e,t,r,n,l,i,s,u,o,c,p,d,g,f,v,m;const R="https://api.mangadex.org/",[P,$,b]=await Promise.all([N(R,"chapter",I),N(R,"at-home","server",I),N(R,"manga",I,"aggregate")]);if(!P||!$||!b)return;const y=P.data,{volume:O,chapter:D,externalUrl:U,translatedLanguage:S}=y.attributes||{},{baseUrl:B,chapter:{data:ne,dataSaver:Br,hash:Lr}}=$,le=(t=(e=y.relationships)==null?void 0:e.find)==null?void 0:t.call(e,T=>T.type==="manga");if(!le)return;const It=He({data:le,getTagIdsFromNames:T=>this.getTagIdsFromNames(T)});if(!It||typeof b.volumes!="object")return;const F=(r=Je(b))!=null?r:[];(typeof D!="string"||D==="none")&&!F.length&&F.push({chap:0,slug:y.id});const fe=F.findIndex(T=>T.slug===y.id),ie=(l=(n=y.relationships)==null?void 0:n.find)==null?void 0:l.call(n,T=>T.type==="scanlation_group"),Er=B.endsWith("/")?B:B+"/",Mt=!!((s=(i=localStorage.getItem("md"))==null?void 0:i.includes)!=null&&s.call(i,'"dataSaver":true')),Ar=`${Er}${Mt?"data-saver":"data"}/`,kr=(p=(c=(o=(u=Mt?Br:ne)!=null?u:[]).map)==null?void 0:c.call(o,T=>`${Ar}${Lr}/${T}`))!=null?p:[];return{externalUrl:U,vol:typeof O=="string"?+O:void 0,inferVol:(d=F[fe])==null?void 0:d.inferVol,chap:+D||0,imgs:kr,lang:S,slug:y.id,prev:F[fe+1],next:F[fe-1],basePath:"/chapter/",groupName:(g=ie?.attributes)==null?void 0:g.name,groupUrl:(f=ie?.attributes)==null?void 0:f.website,isWebtoon:(m=(v=le?.attributes)==null?void 0:v.tags)==null?void 0:m.some(T=>T.attributes.name.en==="Long Strip"),title:Fe(Ue({},It),{chapters:F})}}async getRawChaptersData(){if(!this.context)return;const{titleSlug:e,lang:t="en"}=this.context;let r;try{const n=await fetch(`https://api.mangadex.org/manga/${e}/aggregate?translatedLanguage[]=${t}`);r=Je(await n.json())}catch{return}if(r)return{chapters:r,lang:t,asc:!1,hasMore:!1,total:r.length}}}Ve.specId="mangadex";function Je(a){if(typeof a.volumes!="object")return;const e=Object.values(a.volumes).map(({volume:t,chapters:r})=>{const n=t==="none"||typeof t!="string"?void 0:+t;return Object.values(r).map(({id:l,chapter:i})=>typeof i!="string"||i==="none"?void 0:{vol:n,chap:+i,slug:l})}).flat().filter(Boolean).reverse();return A(e)}function He({data:a,getTagIdsFromNames:e}){var t,r,n,l,i,s;const{id:u,attributes:o,relationships:c}=a;if(!u||typeof u!="string"||typeof o!="object")return;const{title:p,availableTranslatedLanguages:d,altTitles:g,tags:f,contentRating:v}=o;if(typeof p!="object"||d&&!Array.isArray(d))return;const m=Object.values(p)[0];if(!m||typeof m!="string")return;const R=Ea(),P=(n=(r=(t=d??[])==null?void 0:t.map)==null?void 0:r.call(t,S=>typeof S=="string"?S:void 0).filter(Boolean))!=null?n:[],$=P.filter(S=>S&&(!R||R.includes(S))),b=(l=g?.map)==null?void 0:l.call(g,S=>{const[[,B]=[]]=Object.entries(S);return B}),y=(i=c?.find)==null?void 0:i.call(c,S=>S.type==="cover_art"),O=(s=y?.attributes)==null?void 0:s.fileName,D=O?`https://mangadex.org/covers/${u}/${O}`:void 0,U=(f||[]).map(S=>{var B,ne;return(ne=(B=S?.attributes)==null?void 0:B.name)==null?void 0:ne.en}).concat(v).filter(Boolean);return{url:`${location.origin}/title/${u}`,slug:u,name:m,altNames:b,langs:$.length>0?$:P.length>0?P:["en"],img:D,tags:e(U)}}function Ea(){var a;const e=localStorage.getItem("md");if(e)try{const t=JSON.parse(e),r=(a=t?.userPreferences)==null?void 0:a.filteredLanguages;return r!=null&&r.length?r:void 0}catch{return}}var Aa=Object.defineProperty,ka=Object.defineProperties,za=Object.getOwnPropertyDescriptors,Ge=Object.getOwnPropertySymbols,qa=Object.prototype.hasOwnProperty,Wa=Object.prototype.propertyIsEnumerable,Xe=(a,e,t)=>e in a?Aa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Qe=(a,e)=>{for(var t in e||(e={}))qa.call(e,t)&&Xe(a,t,e[t]);if(Ge)for(var t of Ge(e))Wa.call(e,t)&&Xe(a,t,e[t]);return a},Ye=(a,e)=>ka(a,za(e));class Ze extends C{async getRawReleasesData(){const e=await super.getRawReleasesData();if(e)return Ye(Qe({},e),{rawReleases:e.rawReleases.map(t=>{var r;return Ye(Qe({},t),{id:(r=t.id)==null?void 0:r.split("?")[0]})})})}async getRawReaderData(){var e;const t=await x(".current-viewtype",{lazy:!0,all:!1});if(((e=t?.textContent)==null?void 0:e.trim().toLowerCase())!=="volume")return await super.getRawReaderData()}async getRawChaptersData(){var e;const t=(e=this.context)==null?void 0:e.lang;if(!t)return;const r=await x(`.tab-content[data-name="chapter"] a.dropdown-item[data-code="${t.toUpperCase()}"]`,{lazy:!0,all:!1});if(r)return r.click(),await x(`.tab-content[data-name="chapter"] li.item[data-number] a[href*="/${t}/"]`,{lazy:!0,all:!1}),await super.getRawChaptersData()}}Ze.specId="mangafire";var Ua=Object.defineProperty,Fa=Object.defineProperties,Va=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertySymbols,Ja=Object.prototype.hasOwnProperty,Ha=Object.prototype.propertyIsEnumerable,et=(a,e,t)=>e in a?Ua(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,Ga=(a,e)=>{for(var t in e||(e={}))Ja.call(e,t)&&et(a,t,e[t]);if(Ke)for(var t of Ke(e))Ha.call(e,t)&&et(a,t,e[t]);return a},Xa=(a,e)=>Fa(a,Va(e));class tt extends C{async getRawReaderData(){const e=await super.getRawReaderData();return e&&Xa(Ga({},e),{imgs:await this.getImgs()})}resolveReaderSlug(e,t){const r=super.resolveReaderSlug(e,t),n=r.split("/").filter(Boolean);return n[n.length-1].startsWith("pg-")?n.slice(0,-1).join("/"):r}async getImgs(){const e=await L(100,20,()=>window.imgsrcs),t=window.CryptoJS,r=t.enc.Hex.parse("e11adc3949ba59abbe56e057f20f883e"),n={iv:t.enc.Hex.parse("1234567890abcdef1234567890abcdef"),padding:t.pad.ZeroPadding};return t.AES.decrypt(e,r,n).toString(t.enc.Utf8).split(",")}}tt.specId="mangago";var Qa=Object.defineProperty,Ya=Object.defineProperties,Za=Object.getOwnPropertyDescriptors,at=Object.getOwnPropertySymbols,Ka=Object.prototype.hasOwnProperty,er=Object.prototype.propertyIsEnumerable,rt=(a,e,t)=>e in a?Qa(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,_=(a,e)=>{for(var t in e||(e={}))Ka.call(e,t)&&rt(a,t,e[t]);if(at)for(var t of at(e))er.call(e,t)&&rt(a,t,e[t]);return a},z=(a,e)=>Ya(a,Za(e));class nt extends C{async getRawReleasesData(){const e=await super.getRawReleasesData();return e&&z(_({},e),{rawReleases:e.rawReleases.map(t=>z(_({},t),{slug:t.slug.split("-")[0]}))})}async getChapters(e,t){const r=await super.getChapters(e,t);return r?.map(n=>z(_({},n),{lang:n.slug.split("-")[1]||void 0}))}async getRawTitleData(){var e,t;const r=await this.getPageData();if(!r)return;const n=(t=(e=r.chart_count_lang_to_serials)==null?void 0:e.find(i=>i?.field==="en"))==null?void 0:t.count,l=await this.getTitleChapters();return z(_({},this.transformRawTitleData(r)),{chapters:l,hasMoreChapters:n&&n>l.length})}async getRawReaderData(){var e,t;const r=await this.getPageData(),n=(e=r?.comicNode)==null?void 0:e.data,l=r?.imageSet;if(!r||!n||!l)return;const{httpLis:i,wordLis:s}=l,u=this.transformRawTitleData(n);return z(_({slug:location.pathname.split("/").filter(Boolean)[2],lang:r.lang,vol:(t=r.volume)!=null?t:void 0,chap:r.serial,imgs:i.map((o,c)=>`${o}?${s[c]}`),title:z(_({},u),{chapters:[],hasMoreChapters:!0})},await this.getReaderPrevNext()),{basePath:`/title/${u.slug}/`})}async getRawChaptersData(){if(!this.context)return;const{lang:e,titleSlug:t,skip:r}=this.context;if(!e||!t)return;let n;try{n=await fetch("https://mangapark.net/apo/",{method:"POST",body:JSON.stringify({query:"query get_content_comic_chapters($comicId: Int!, $isPref: Boolean, $incLangs: [String], $excLangs: [String]) { get_content_comic_chapters(comicId: $comicId, isPref: $isPref, incLangs: $incLangs, excLangs: $excLangs) {serial datePublic chapters{lang cids}}}",variables:{comicId:+t,isPref:e==="en"},operationName:"get_content_comic_chapters"}),headers:{"Content-Type":"application/json"}})}catch{return}const l=[],i=(await n.json()).data.get_content_comic_chapters.reverse();return(r?i.slice(r):i).forEach(s=>{var u;const o=s.chapters.find(d=>d.lang===e),c=(u=o.cids)==null?void 0:u[0];if(!o||!c)return;const p=s.serial;l.push({slug:`title/${t}/${c}-${e}-ch.${p}`,chap:p,ts:s.datePublic})}),{chapters:l,lang:e,asc:!1,hasMore:!1,total:l.length}}transformRawTitleData(e){var t,r,n,l;return{url:e.urlPath,slug:e.id+"",name:e.name,langs:(r=(t=e.chart_count_lang_to_serials)==null?void 0:t.map)==null?void 0:r.call(t,i=>{var s;return(s=i?.field)==null?void 0:s.toLowerCase()}).filter(Boolean),img:(l=(n=e.urlCover300)!=null?n:e.urlCover600)!=null?l:e.urlCoverOri,tags:this.getTagIdsFromNames(e.genres)}}async getReaderPrevNext(){let e,t;return await L(20,100,async()=>{const r=await x("main a.btn",{lazy:!0,all:!0});if(r!=null&&r.length)return e=r.find(n=>{var l;return(l=n.textContent)==null?void 0:l.toLowerCase().includes("prev")}),t=r.find(n=>{var l;return(l=n.textContent)==null?void 0:l.toLowerCase().includes("next")}),e||t?!0:void 0}),{prev:this.getChapterFromBtn(e),next:this.getChapterFromBtn(t)}}getChapterFromBtn(e){const t=e?.getAttribute("href");if(!t)return;const r=t.split("/").filter(Boolean).slice(-1)[0];if(!r)return;const n=E(r.split("-").slice(2).join("-"));if(n)return _({slug:r,lang:r.split("-")[1]||void 0},n)}async getTitleChapters(){const e=[],t=await x(".file-list-by-serial time[time]",{lazy:!0,all:!0});if(!(t!=null&&t.length))return e;let r;return t.forEach(n=>{var l,i,s,u;const o=n.parentElement;for(let c=0;c<5;c++){const p=o?.parentElement,d=p?.querySelector('a[href*="/title/"]');if(!d)continue;const g=(l=d.getAttribute("href"))==null?void 0:l.split("/").filter(Boolean)[2],f=(i=d.textContent)==null?void 0:i.replace(/(\n|\t)/g," ").trim(),v=E(f);if(!v||!g||r&&r.chap==v.chap&&((s=r.vol)!=null?s:0)==((u=v.vol)!=null?u:0))break;const m=+n.getAttribute("time");r=z(_({},v),{slug:g,lang:g.split("-")[1]||void 0,ts:m===m&&typeof m=="number"?m:void 0}),e.push(r);break}}),A(e)}getPageData(){return L(50,20,()=>{var e,t,r,n,l,i,s,u;return(u=(s=(i=(l=(n=(r=(t=(e=window.__NEXT_DATA__)==null?void 0:e.props)==null?void 0:t.pageProps)==null?void 0:r.dehydratedState)==null?void 0:n.queries)==null?void 0:l[0])==null?void 0:i.state)==null?void 0:s.data)==null?void 0:u.data})}}nt.specId="mangapark";var tr=(a=>(a[a.reading=1]="reading",a[a.paused=2]="paused",a[a.plan=3]="plan",a[a.completed=4]="completed",a[a.dropped=5]="dropped",a[a.deleted=6]="deleted",a))(tr||{}),de=(a=>(a.id="id",a.name="name",a.slug="slug",a))(de||{}),ar=(a=>(a.blank="about:blank",a.title="meta.title",a.reader="meta.reader",a))(ar||{}),rr=(a=>(a[a.string=1]="string",a[a.number=2]="number",a[a.bool=3]="bool",a[a.selection=4]="selection",a))(rr||{}),nr=(a=>(a[a.pending=0]="pending",a[a.completed=1]="completed",a[a.offline=2]="offline",a[a.incompat=3]="incompat",a))(nr||{});function lt(a,e){const t=a[0]===e?a.substring(1):a;return t[t.length-1]===e?t.substring(0,t.length-1):t}var lr=Object.defineProperty,ir=Object.defineProperties,sr=Object.getOwnPropertyDescriptors,it=Object.getOwnPropertySymbols,or=Object.prototype.hasOwnProperty,cr=Object.prototype.propertyIsEnumerable,st=(a,e,t)=>e in a?lr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,q=(a,e)=>{for(var t in e||(e={}))or.call(e,t)&&st(a,t,e[t]);if(it)for(var t of it(e))cr.call(e,t)&&st(a,t,e[t]);return a},G=(a,e)=>ir(a,sr(e));class ot extends C{async getRawReleasesData(){const e=await super.getRawReleasesData();if(e)return G(q({},e),{siteMeta:ur(this.spec.releases,this.siteMeta)})}async getRawTitleData(){var e;const t=await super.getRawTitleData();if(!t)return;const r=W(location.pathname);let n;if((e=t.chapters)!=null&&e.length){const l=this.spec.title.chapter,i=document.querySelector(l.sel),s=j(h(l.url,{root:i}));s&&(n=W(s))}return G(q({},t),{siteMeta:ee(this.siteMeta,{titleBase:r,readerBase:n})})}async getRawReaderData(){const e=await super.getRawReaderData();if(e)return G(q({},e),{siteMeta:ee(this.siteMeta,{titleBase:W(j(e.title.url)),readerBase:W(location.pathname),idBase:ct()}),title:G(q({},e.title),{id:await this.getReaderTitleId()})})}async getRawSearchData(){const e=await super.getRawSearchData();if(!e)return;const t=this.spec.search.title,r=document.querySelector(t.sel),n=h(t.url,{root:r});return G(q({},e),{siteMeta:ee(this.siteMeta,{titleBase:W(j(n)),idBase:ct()})})}async getReaderTitleId(){var e,t;const r=await((t=(e=window.HISTORY)==null?void 0:e.getStored)==null?void 0:t.call(e));if(!r||typeof r!="object")return;const n=Object.values(r).filter(Boolean);if(n.length)return n.sort((l,i)=>i.time-l.time),n[0].manga_ID}}ot.specId="mangastream";function ur(a,e){var t,r;if(!a)return;const n=G(q({},e),{releases:lt(location.pathname,"/")}),l=a.title,i=(t=document.querySelector(l.sel))!=null?t:void 0;if(!i)return;const s=j(h(l.url,{root:i}));if(s===void 0)return;const u=(r=i.querySelector(l.chapter.sel))!=null?r:void 0;if(!u)return;const o=j(h(l.chapter.url,{root:u}));if(o!==void 0)return n.titleBase=W(s),n.readerBase=W(o),e.titleIdType===de.id&&(h(l.id,{root:i})||(e.titleIdType=de.name)),ee(e,n)}function ct(){return document.querySelector('link[rel="shortlink"][href*="/?p="]')?"?p=":void 0}function ee(a,e){const t=Object.keys(e),r=q({},a);let n=!1;return t.forEach(l=>{const i=e[l];i!==a[l]&&(r[l]=i,n=!0)}),n?r:void 0}function W(a){return lt(a,"/").split("/").slice(0,-1).join("/")}var pr=Object.defineProperty,dr=Object.defineProperties,gr=Object.getOwnPropertyDescriptors,ut=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,pt=(a,e,t)=>e in a?pr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ge=(a,e)=>{for(var t in e||(e={}))hr.call(e,t)&&pt(a,t,e[t]);if(ut)for(var t of ut(e))fr.call(e,t)&&pt(a,t,e[t]);return a},dt=(a,e)=>dr(a,gr(e));class gt extends C{async getRawReaderData(){const e=await super.getRawReaderData();if(!e)return e;let t=e.title.id;if(!t){const r=this.spec.reader.title;r.id&&await x(r.id.split("|")[0],{lazy:!0}),t=h(r.id)}return dt(ge({},e),{title:dt(ge({},e.title),{id:t,chapters:await vr(t),hasMoreChapters:!1})})}resolveTitleSlug(e){const t=super.resolveTitleSlug(e);if(!t)return;const r=t.lastIndexOf("-"),n=+t.substring(r+1);return r===-1||isNaN(n)||n<1e3?t:t.substring(0,r)}}gt.specId="nettruyen";async function vr(a){var e;if(!a)return[];const t=await fetch(`/Comic/Services/ComicService.asmx/ProcessChapterList?comicId=${a}`).then(r=>r.status===200?r.json():void 0).catch(()=>[]);return(e=t?.chapters)!=null&&e.length?A(t.chapters.map(r=>{const{name:n,url:l}=r,i=E(n);if(!(!i||!l))return ge({slug:j(l).split("/").filter(Boolean).slice(2).join("/")},i)})):[]}var mr=Object.defineProperty,yr=Object.defineProperties,wr=Object.getOwnPropertyDescriptors,te=Object.getOwnPropertySymbols,ht=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,vt=(a,e,t)=>e in a?mr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,X=(a,e)=>{for(var t in e||(e={}))ht.call(e,t)&&vt(a,t,e[t]);if(te)for(var t of te(e))ft.call(e,t)&&vt(a,t,e[t]);return a},Q=(a,e)=>yr(a,wr(e)),mt=(a,e)=>{var t={};for(var r in a)ht.call(a,r)&&e.indexOf(r)<0&&(t[r]=a[r]);if(a!=null&&te)for(var r of te(a))e.indexOf(r)<0&&ft.call(a,r)&&(t[r]=a[r]);return t};class yt extends C{async getRawTitleData(){const e=await super.getRawTitleData();return e&&Q(X({},e),{hasMoreChapters:!!he()})}async getRawChaptersData(){var e,t;const r=await this.getRawTitleData();if(!(r!=null&&r.hasMoreChapters))return r;const n=(e=this.context)==null?void 0:e.findContinue;if(n){const d=await this.findContinueChapters({rawTitleData:r,chapter:n});return d?{chapters:d,title:Q(X({},r),{chapters:[]})}:void 0}const l=(t=this.context)==null?void 0:t.skip,i=r,{chapters:s}=i,u=mt(i,["chapters"]),o=s.length,c=l&&l>=o?Math.floor(l/o)+1:void 0;if(!c)return{chapters:s,title:Q(X({},u),{chapters:[]}),hasMore:!!he()};const p=await this.getChaptersByPage({page:c,titleSlug:r.slug});return{chapters:p??[],title:Q(X({},u),{chapters:[]}),hasMore:!!he(c),asc:!1,skip:l}}async findContinueChapters(e){var t=e,{rawTitleData:r,chapter:{chap:n},curPage:l=1,cacheChaptersByPage:i={}}=t,s=mt(t,["rawTitleData","chapter","curPage","cacheChaptersByPage"]),u,o;const c=(u=i[l])!=null?u:r.chapters,p=c[c.length-1].chap<=n,d=(o=s.maxPage)!=null?o:br();if(p){if(c[0].chap>n){const y=[...c].reverse().find(O=>O.chap>n);return y?[y]:c.slice(0,1)}if(l<=1)return c.slice(0,1)}else if(l===d)return c.slice(-1);const g=r.chapters.length,f=Object.keys(i).map(y=>+y).sort((y,O)=>y-O),v=p?-1:1,m=f[f.indexOf(l)+v];if(m===l+v)return p?i[m].slice(-1).concat(c.slice(0,1)):c.slice(-1).concat(i[m].slice(0,1));const R=p?n-c[0].chap:c[0].chap-n,P=Math.floor(R/g)+1,$=p?Math.max(P,(m??1)+1):Math.min(P,(m??d+1)-1,d),b=await this.getChaptersByPage({page:$,titleSlug:r.slug});if(b)return await this.findContinueChapters({rawTitleData:r,chapter:{chap:n},curPage:$,maxPage:d,cacheChaptersByPage:Q(X({},i),{1:r.chapters,[$]:b})})}async getChaptersByPage({page:e,titleSlug:t}){const r=wt(e);if(!r)return;const n=this.spec.title.chapter,l=n.sel,i=document.querySelector(l),s=L(100,30,()=>{const u=document.querySelector(l);if(u&&i!==u)return!0;r.click()});return r.click(),await s,await this.getChapters(n,{lazy:!1,titleSlug:t})}}yt.specId="reaper";function he(a=1){return wt(a+1)}function wt(a){const e=`span[wire\\:key="paginator-page-1-page${a}"] button,button[aria-label="Go to page ${a}"]`;return document.querySelector(e)}function br(){const a=Array.from(document.querySelectorAll('span[wire\\:key^="paginator-page-"]'));return a.length?+a[a.length-1].getAttribute("wire:key").split("-").slice(-1)[0].replace("page",""):1}var Rr=Object.defineProperty,$r=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,bt=Object.getOwnPropertySymbols,Pr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,Rt=(a,e,t)=>e in a?Rr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,ae=(a,e)=>{for(var t in e||(e={}))Pr.call(e,t)&&Rt(a,t,e[t]);if(bt)for(var t of bt(e))Sr.call(e,t)&&Rt(a,t,e[t]);return a},re=(a,e)=>$r(a,Or(e));class $t extends C{async getRawTitleData(){var e,t;const r=await super.getRawTitleData();if(!r)return;const n=(e=h(".info-detail__row > .genre-btn,.info__right .stats__row:first-child|text",{returnAll:!0}))==null?void 0:e.map(l=>[l,...l.split(" ")]).flat();return Ot(re(ae({},r),{tags:(t=this.getTagIdsFromNames(n))!=null?t:[]}),".episode-header .episode-cnt")}async getRawReaderData(){const e=await super.getRawReaderData();if(e)return re(ae({},e),{title:Ot(re(ae({},e.title),{url:`${location.origin}/series/${e.title.slug}/info`,tags:[]}),".episode-list .js-ep-cnt")})}async getRawChaptersData(){if(!this.context)return;const{rawId:e,skip:t}=this.context,r=1e3,n=t?Math.floor(t/1e3)+1:1;try{const l=await fetch(`/series/${e}/episodes?page=${n}&sort=NEWEST&max_limit=${r}`);return Dr(await l.json())}catch{return}}resolveTitleSlug(e){var t;if(!e)return;const r=e.split("/").filter(Boolean);return(t=r[1])!=null?t:r[0]}}$t.specId="tapas";function Ot(a,e){const t=jr(e)>20;return re(ae({},a),{chapters:t?[]:a.chapters,hasMoreChapters:t})}function Dr(a){var e,t,r;const n=(e=a?.data)==null?void 0:e.episodes;if(!Array.isArray(n))return;const l=n.map(s=>{var u,o,c;return{chap:(u=s.pending_scene)!=null?u:s.scene,slug:s.id+"",ts:((c=(o=new Date(s.publish_date))==null?void 0:o.valueOf)==null?void 0:c.call(o))||void 0}}),i=(t=a?.data)==null?void 0:t.pagination;return{chapters:l,total:(r=i?.total)!=null?r:l.length,hasMore:!!(i!=null&&i.has_next)}}function jr(a){var e;const t=document.querySelector(a);return+(((e=t?.textContent)==null?void 0:e.trim().split(" ")[0])||0)}const Cr=[Te,Be,ke,Ve,ot,gt,yt,$t,tt,Ze,nt];function Pt(a){var e;const t=(e=Cr.find(r=>r.specId===a.spec.id))!=null?e:C;return new t(a)}var xr=Object.defineProperty,Tr=Object.defineProperties,Ir=Object.getOwnPropertyDescriptors,St=Object.getOwnPropertySymbols,Mr=Object.prototype.hasOwnProperty,Nr=Object.prototype.propertyIsEnumerable,Dt=(a,e,t)=>e in a?xr(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,jt=(a,e)=>{for(var t in e||(e={}))Mr.call(e,t)&&Dt(a,t,e[t]);if(St)for(var t of St(e))Nr.call(e,t)&&Dt(a,t,e[t]);return a},Ct=(a,e)=>Tr(a,Ir(e));async function _r(a){var e,t;const{spec:r}=a;if(r){const n=(e=a.siteMeta)!=null?e:r.meta,l=a.type?[a.type]:xt(n,r.generic);if(!l.length)return;const i=Pt(Ct(jt({},a),{spec:r,siteMeta:n}));return await J(l.map(s=>i.getRawPageByType(s)))}return await J(((t=a.genericSpecs)!=null?t:[]).map(n=>{const l=xt(n.meta,n.generic);if(!l.length)return[];const i=Pt(Ct(jt({},a),{spec:n,siteMeta:n.meta}));return l.map(s=>i.getRawPageByType(s,!0))}).flat())}function xt(a,e){if(location.pathname==="/")return[];const{titleBase:t,readerBase:r}=a,n=location.pathname.split("/").filter(Boolean),l=Tt(n,r),i=Tt(n,t);if(l!==i)return l>i?[w.reader]:[w.title];if(l>0)return[w.reader,w.title];if(n.length===1){const s=[!r&&w.reader,!t&&w.title].filter(Boolean);if(s.length)return s}return e?[w.reader,w.title]:[]}function Tt(a,e){if(!e)return 0;const t=e.split("/").filter(Boolean),r=t.includes("{slug}"),n=a.length-t.length;return r&&n!==0||!r&&n<1?0:t.filter((l,i)=>a[i]===l||l==="{titleSlug}"||l==="{lang}"||l==="{slug}").length}V.PageType=w,V.scrape=_r});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "trackkun-dom",
3
3
  "author": "endyquang",
4
- "version": "0.4.1",
4
+ "version": "0.4.2",
5
5
  "license": "UNLICENSED",
6
6
  "description": "Trkun DOM parser",
7
7
  "main": "index.js",