single-file-cli 2.1.3 → 2.2.0
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.
- package/.github/workflows/publish.yml +141 -0
- package/Dockerfile +7 -3
- package/README.MD +6 -0
- package/build.sh +15 -1
- package/deno.json +1 -1
- package/dev-build.sh +14 -0
- package/eslint.config.mjs +1 -0
- package/lib/archive-packager.js +225 -0
- package/lib/single-file-archive.js +11 -0
- package/lib/single-file-bundle.js +1 -1
- package/lib/version.js +1 -1
- package/options.js +20 -1
- package/package.json +6 -1
- package/single-file-cli-api.js +75 -2
- package/test/e2e/crawl-save-archive.test.js +177 -0
- package/test/e2e/crawl.test.js +13 -0
- package/test/unit/archive-packager.test.js +55 -0
- package/.github/workflows/docker-publish.yml +0 -29
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var{Array:nt,Object:v,String:ea,Number:Ae,BigInt:Le,Math:W,Date:At,Map:ht,Set:ur,Response:bf,URL:dr,Error:y,Uint8Array:G,Uint16Array:Of,Uint32Array:ho,DataView:Jt,Blob:wn,Promise:_e,TextEncoder:ta,TextDecoder:Er,crypto:tt,btoa:na,TransformStream:me,ReadableStream:rt,WritableStream:st,CompressionStream:ra,DecompressionStream:sa,navigator:xn,Worker:rr,setTimeout:Br,clearTimeout:Hr}=typeof globalThis<"u"?globalThis:self,ge=4294967295,X=65535,et=255,Kn=8,hr=9,Mt=0,zr=99,wo=67324752,qn=134695760,xf=808471376,_o=qn,Ff=134630224,go=84233040,Pt=33639248,mo=101010256,us=101075792,li=117853008,_n=46,Ne=22,Ft=20,$e=56,ia=Ne+Ft+$e,To=12,Ro=20,Wt=4,Lt=4,kr=1,po=39169,Ao=10,yo=1,fi=21589,Pf=28789,Cf=25461,So=6534,Io=30837,No=30805,Lf=22613,Uf=13,wr=1,Do=6,vf=2,Mf=4,Bf=6,_r=8,aa=32,oa=64,gr=2048,ca=8192,mr=16,ds=1,Es=2,hs=4,ws=32,on=61440,Fn=16384,bo=40960,Hf=32768,Pn=73,sr=420,_s=2048,gs=1024,ms=512,zf=10,kf=20,Tr=45,la=51,Yf=20,fa=768,cn="/",Ge=30,Gf=0,vn=10,jn=14,$n=18,Vf=22,Wf=24,Xt=4,ua=new At(2107,11,31,23,59,58),Rr=new At(1980,0,1),_=void 0,nn=1/0,yt="undefined",Fe="function",Xf="object",gn="string",Zf="number",Kf="boolean",ie=new G,qf="filenameEncoding",jf="commentEncoding",$f="decodeText",Jf="extractPrependedData",Qf="extractAppendedData",Oo="password",xo="rawPassword",Fo="passThrough",Po="signal",eu="checkPasswordOnly",tu="checkOverlappingEntryOnly",nu="checkOverlappingEntry",ru="checkAmbiguity",su="checkLocalDirectory",iu="checkSignature",au="checkCrc32",ou="checkAuthenticationCode",Co="useWebWorkers",Lo="useCompressionStream",Uo="transferStreams",vo="preventClose",cu="encryptionStrength",lu="extendedTimestamp",fu="ntfsTimestamp",uu="keepOrder",du="level",Eu="bufferedWrite",hu="createTempStream",wu="dataDescriptorSignature",_u="useUnicodeFileNames",Mo="dataDescriptor",gu="supportZip64SplitFile",mu="encodeText",tr="offset",Mn="usdz",Tu="unixExtraFieldType",Ru="localExtraField",pu="centralExtraField",Au="strictness",yu="filenameValidation",Su="normalizeFilename",Bo="maxAppendedDataSize",Iu="decryptCentralDirectory",Nu="signCentralDirectory",Ho="filename",zo="comment",Qt="strict",ui="balanced",Bt="tolerant",Du="Invalid option (must be a function)",bu="Invalid signal (must be an AbortSignal instance)",Ou="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function di(t){if(t&&typeof t!=Fe)throw new y(Du);return t}function ko(t){if(t&&(typeof t.addEventListener!=Fe||typeof t.aborted!=Kf))throw new y(bu);return t||_}function Yo(t,e){if(t&&typeof t!=gn||e&&!(e instanceof G))throw new y(Ou)}function Go(t,e,n){if(!Ae.isInteger(t)||t<0||t>e)throw new y(n)}function Dn(t,e,n){t!==_&&Go(t,e,n)}function Yr(t){return typeof t==gn&&t.trim()?Ae(t):t}var Vo=64*1024,xu=64,Wo=1,Fu="Invalid maxWorkers (must be an integer greater than 0)",Xo=2;try{typeof xn!=yt&&xn.hardwareConcurrency&&(Xo=xn.hardwareConcurrency)}catch{}var Ei={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:Vo,maxWorkers:Xo,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof ra!=yt&&ra,DecompressionStream:typeof sa!=yt&&sa},Zo="maxWorkers",Pu=["baseURI","wasmURI","workerURI"],Cu=["useCompressionStream","useWebWorkers","transferStreams"],Ko=["chunkSize",Zo,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],qo=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],jo=[...Pu,...Cu,...Ko,...qo],Bn={...Ei};function pn(){return Bn}function hi(t){return $o(t.chunkSize)}function $o(t){return t=Yr(t),Ae.isInteger(t)&&t>=Wo?W.max(t,xu):Vo}function Jo(t){v.assign(Bn,Qo(ec(t)))}function Qo(t){let e={};for(let n of jo){let r=t[n];r!==_&&(e[n]=Lu(n,r))}return e}function Lu(t,e){if(Ko.includes(t)){if(e=Yr(e),t==Zo&&(!Ae.isInteger(e)||e<Wo))throw new y(Fu)}else qo.includes(t)&&di(e);return e}function ec(t){t=t||{};let{CompressionStreamZlib:e,DecompressionStreamZlib:n}=t;if(e===_&&n===_)return t;let r=v.assign({},t);return r.CompressionStreamFallback===_&&(r.CompressionStreamFallback=e),r.DecompressionStreamFallback===_&&(r.DecompressionStreamFallback=n),r}function Uu(t){let e=Qo(ec(t));v.assign(Ei,e),v.assign(Bn,e)}function Ow(){for(let t of jo)delete Bn[t];v.assign(Bn,Ei)}function Ut(t,e){let n=new G(t.length+e.length);return n.set(t),n.set(e,t.length),n}function tc(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new G(t):t}function Z(t){return new Jt(t.buffer,t.byteOffset,t.byteLength)}var Cn=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let n=0;n<8;n++)e=e&1?e>>>1^3988292384:e>>>1;Cn[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){let n=Cn[e-1][t];Cn[e][t]=n>>>8^Cn[0][n&255]}var[da,vu,Mu,Bu,Hu,zu,ku,Yu]=Cn,Zt=class{constructor(e){this.crc=e||-1}append(e){let n=this.crc|0,r=e.length|0,s=0;if(r>=8&&e.buffer){let i=new Jt(e.buffer,e.byteOffset,r),a=r-8;for(;s<=a;s+=8){let o=n^i.getInt32(s,!0),c=i.getInt32(s+4,!0);n=Yu[o&255]^ku[o>>>8&255]^zu[o>>>16&255]^Hu[o>>>24&255]^Bu[c&255]^Mu[c>>>8&255]^vu[c>>>16&255]^da[c>>>24&255]}}for(;s<r;s++)n=n>>>8^da[(n^e[s])&255];this.crc=n}get(){return~this.crc}},pr=class extends me{constructor(){let e,n=new Zt;super({transform(r,s){n.append(r),s.enqueue(r)},flush(){let r=new G(4);new Jt(r.buffer).setUint32(0,n.get()),e.value=r}}),e=this}};function ir(t){if(typeof ta==yt){t=unescape(encodeURIComponent(t));let e=new G(t.length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}else return new ta().encode(t)}var ve={concat(t,e){if(t.length===0||e.length===0)return t.concat(e);let n=t[t.length-1],r=ve.getPartial(n);return r===32?t.concat(e):ve._shiftRight(e,r,n|0,t.slice(0,t.length-1))},bitLength(t){let e=t.length;if(e===0)return 0;let n=t[e-1];return(e-1)*32+ve.getPartial(n)},clamp(t,e){if(t.length*32<e)return t;t=t.slice(0,W.ceil(e/32));let n=t.length;return e=e&31,n>0&&e&&(t[n-1]=ve.partial(e,t[n-1]&2147483648>>e-1,1)),t},partial(t,e,n){return t===32?e:(n?e|0:e<<32-t)+t*1099511627776},getPartial(t){return W.round(t/1099511627776)||32},_shiftRight(t,e,n,r){for(r===void 0&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(e===0)return r.concat(t);for(let a=0;a<t.length;a++)r.push(n|t[a]>>>e),n=t[a]<<32-e;let s=t.length?t[t.length-1]:0,i=ve.getPartial(s);return r.push(ve.partial(e+i&31,e+i>32?n:r.pop(),1)),r}},Ar={bytes:{fromBits(t){let n=ve.bitLength(t)/8,r=new G(n),s;for(let i=0;i<n;i++)(i&3)===0&&(s=t[i/4]),r[i]=s>>>24,s<<=8;return r},toBits(t){let e=[],n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],(n&3)===3&&(e.push(r),r=0);return n&3&&e.push(ve.partial(8*(n&3),r)),e}}},nc={};nc.sha1=class{constructor(t){let e=this;e.blockSize=512,e._init=[1732584193,4023233417,2562383102,271733878,3285377520],e._key=[1518500249,1859775393,2400959708,3395469782],t?(e._h=t._h.slice(0),e._buffer=t._buffer.slice(0),e._length=t._length):e.reset()}reset(){let t=this;return t._h=t._init.slice(0),t._buffer=[],t._length=0,t}update(t){let e=this;typeof t=="string"&&(t=Ar.utf8String.toBits(t));let n=e._buffer=ve.concat(e._buffer,t),r=e._length,s=e._length=r+ve.bitLength(t);if(s>9007199254740991)throw new y("Cannot hash more than 2^53 - 1 bits");let i=new ho(n),a=0;for(let o=e.blockSize+r-(e.blockSize+r&e.blockSize-1);o<=s;o+=e.blockSize)e._block(i.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),e}finalize(){let t=this,e=t._buffer,n=t._h;e=ve.concat(e,[ve.partial(1,1)]);for(let r=e.length+2;r&15;r++)e.push(0);for(e.push(W.floor(t._length/4294967296)),e.push(t._length|0);e.length;)t._block(e.splice(0,16));return t.reset(),n}_f(t,e,n,r){if(t<=19)return e&n|~e&r;if(t<=39)return e^n^r;if(t<=59)return e&n|e&r|n&r;if(t<=79)return e^n^r}_S(t,e){return e<<t|e>>>32-t}_block(t){let e=this,n=e._h,r=nt(80);for(let l=0;l<16;l++)r[l]=t[l];let s=n[0],i=n[1],a=n[2],o=n[3],c=n[4];for(let l=0;l<=79;l++){l>=16&&(r[l]=e._S(1,r[l-3]^r[l-8]^r[l-14]^r[l-16]));let u=e._S(5,s)+e._f(l,i,a,o)+c+r[l]+e._key[W.floor(l/20)]|0;c=o,o=a,a=e._S(30,i),i=s,s=u}n[0]=n[0]+s|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}};var rc={};rc.aes=class{constructor(t){let e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();let n=e._tables[0][4],r=e._tables[1],s=t.length,i,a,o,c=1;if(s!==4&&s!==6&&s!==8)throw new y("invalid aes key size");for(e._key=[a=t.slice(0),o=[]],i=s;i<4*s+28;i++){let l=a[i-1];(i%s===0||s===8&&i%s===4)&&(l=n[l>>>24]<<24^n[l>>16&255]<<16^n[l>>8&255]<<8^n[l&255],i%s===0&&(l=l<<8^l>>>24^c<<24,c=c<<1^(c>>7)*283)),a[i]=a[i-s]^l}for(let l=0;i;l++,i--){let u=a[l&3?i:i-4];i<=4||l<4?o[l]=u:o[l]=r[0][n[u>>>24]]^r[1][n[u>>16&255]]^r[2][n[u>>8&255]]^r[3][n[u&255]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){let t=this._tables[0],e=this._tables[1],n=t[4],r=e[4],s=[],i=[],a,o,c,l;for(let u=0;u<256;u++)i[(s[u]=u<<1^(u>>7)*283)^u]=u;for(let u=a=0;!n[u];u^=o||1,a=i[a]||1){let f=a^a<<1^a<<2^a<<3^a<<4;f=f>>8^f&255^99,n[u]=f,r[f]=u,l=s[c=s[o=s[u]]];let d=l*16843009^c*65537^o*257^u*16843008,w=s[f]*257^f*16843008;for(let h=0;h<4;h++)t[h][u]=w=w<<24^w>>>8,e[h][f]=d=d<<24^d>>>8}for(let u=0;u<5;u++)t[u]=t[u].slice(0),e[u]=e[u].slice(0)}_crypt(t,e){if(t.length!==4)throw new y("invalid aes block size");let n=this._key[e],r=n.length/4-2,s=[0,0,0,0],i=this._tables[e],a=i[0],o=i[1],c=i[2],l=i[3],u=i[4],f=t[0]^n[0],d=t[e?3:1]^n[1],w=t[2]^n[2],h=t[e?1:3]^n[3],E=4,m,A,g;for(let T=0;T<r;T++)m=a[f>>>24]^o[d>>16&255]^c[w>>8&255]^l[h&255]^n[E],A=a[d>>>24]^o[w>>16&255]^c[h>>8&255]^l[f&255]^n[E+1],g=a[w>>>24]^o[h>>16&255]^c[f>>8&255]^l[d&255]^n[E+2],h=a[h>>>24]^o[f>>16&255]^c[d>>8&255]^l[w&255]^n[E+3],E+=4,f=m,d=A,w=g;for(let T=0;T<4;T++)s[e?3&-T:T]=u[f>>>24]<<24^u[d>>16&255]<<16^u[w>>8&255]<<8^u[h&255]^n[E++],m=f,f=d,d=w,w=h,h=m;return s}};var sc={};sc.ctrGladman=class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if((t>>24&255)===255){let e=t>>16&255,n=t>>8&255,r=t&255;e===255?(e=0,n===255?(n=0,r===255?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}else t+=1<<24;return t}incCounter(t){(t[0]=this.incWord(t[0]))===0&&(t[1]=this.incWord(t[1]))}calculate(t,e,n){let r;if(!(r=e.length))return[];let s=ve.bitLength(e);for(let i=0;i<r;i+=4){this.incCounter(n);let a=t.encrypt(n);e[i]^=a[0],e[i+1]^=a[1],e[i+2]^=a[2],e[i+3]^=a[3]}return ve.clamp(e,s)}};var Kt={importKey(t){return new Kt.hmacSha1(Ar.bytes.toBits(t))},pbkdf2(t,e,n,r){if(n=n||1e4,r<0||n<0)throw new y("invalid params to pbkdf2");let s=(r>>5)+1<<2,i,a,o,c,l,u=new ArrayBuffer(s),f=new Jt(u),d=0,w=ve;for(e=Ar.bytes.toBits(e),l=1;d<(s||1);l++){for(i=a=t.encrypt(w.concat(e,[l])),o=1;o<n;o++)for(a=t.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;d<(s||1)&&o<i.length;o++)f.setInt32(d,i[o]),d+=4}return u.slice(0,r/8)}};Kt.hmacSha1=class{constructor(t){let e=this,n=e._hash=nc.sha1,r=[[],[]];e._baseHash=[new n,new n];let s=e._baseHash[0].blockSize/32;t.length>s&&(t=new n().update(t).finalize());for(let i=0;i<s;i++)r[0][i]=t[i]^909522486,r[1][i]=t[i]^1549556828;e._baseHash[0].update(r[0]),e._baseHash[1].update(r[1]),e._resultHash=new n(e._baseHash[0])}reset(){let t=this;t._resultHash=new t._hash(t._baseHash[0]),t._updated=!1}update(t){let e=this;e._updated=!0,e._resultHash.update(t)}digest(){let t=this,e=t._resultHash.finalize(),n=new t._hash(t._baseHash[1]).update(e).finalize();return t.reset(),n}encrypt(t){if(this._updated)throw new y("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}};var Gu=typeof tt!=yt&&typeof tt.getRandomValues==Fe,wi="Invalid password",_i="Invalid signature",ic=_i,gi="zipjs-abort-check-password",Vu="Crypto API not supported";function ac(t){if(Gu)return tt.getRandomValues(t);throw new y(Vu)}var rn=16,Wu="raw",oc={name:"PBKDF2"},Xu={name:"HMAC"},Zu="SHA-1",Ku=v.assign({hash:Xu},oc),Ts=v.assign({iterations:1e3,hash:{name:Zu}},oc),qu=["deriveBits"],Hn=[8,12,16],Sn=[16,24,32],mt=10,ju=[0,0,0,0],Gr=typeof tt!=yt,Jn=Gr&&tt.subtle,cc=Gr&&typeof Jn!=yt,lt=Ar.bytes,$u=rc.aes,Ju=sc.ctrGladman,Qu=Kt.hmacSha1,Ea=Gr&&cc&&typeof Jn.importKey==Fe,ha=Gr&&cc&&typeof Jn.deriveBits==Fe,Rs=class extends me{constructor({password:e,rawPassword:n,encryptionStrength:r,checkPasswordOnly:s,checkAuthenticationCode:i=!0}){super({start(){lc(this,e,n,r)},async transform(a,o){let c=this,{password:l,strength:u,resolveReady:f,ready:d}=c;l?(await ed(c,u,l,Ze(a,0,Hn[u]+2)),a=Ze(a,Hn[u]+2),s?o.error(new y(gi)):f()):await d;let w=new G(a.length-mt-(a.length-mt)%rn);o.enqueue(fc(c,a,w,0,mt,!0))},async flush(a){let{ctr:o,hmac:c,pendingInput:l,ready:u}=this;if(c&&o){await u;let f=Ze(l,0,l.length-mt),d=Ze(l,l.length-mt),w=ie;if(f.length){let m=kn(lt,f);c.update(m);let A=o.update(m);w=zn(lt,A)}let h=Ze(zn(lt,c.digest()),0,mt),E=l.length<mt?1:0;for(let m=0;m<mt;m++)E|=h[m]^d[m];if(E&&i)throw new y(ic);a.enqueue(w)}}})}},ps=class extends me{constructor({password:e,rawPassword:n,encryptionStrength:r}){super({start(){lc(this,e,n,r)},async transform(s,i){let a=this,{password:o,strength:c,resolveReady:l,ready:u}=a,f=ie;o?(f=await td(a,c,o),l()):await u;let d=new G(f.length+s.length-s.length%rn);d.set(f,0),i.enqueue(fc(a,s,d,f.length,0))},async flush(s){let{ctr:i,hmac:a,pendingInput:o,ready:c}=this;if(a&&i){await c;let l=ie;if(o.length){let f=i.update(kn(lt,o));a.update(f),l=zn(lt,f)}let u=zn(lt,a.digest()).slice(0,mt);s.enqueue(Ut(l,u))}}})}};function lc(t,e,n,r){v.assign(t,{ready:new _e(s=>t.resolveReady=s),password:sd(e,n),strength:r-1,pendingInput:ie})}function fc(t,e,n,r,s,i){let{ctr:a,hmac:o,pendingInput:c}=t;c.length&&(e=Ut(c,e));let l=e.length-s;n=id(n,r+(l-l%rn));let u;for(u=0;u<=l-rn;u+=rn){let f=kn(lt,Ze(e,u,u+rn));i&&o.update(f);let d=a.update(f);i||o.update(d),n.set(zn(lt,d),u+r)}return t.pendingInput=Ze(e,u),n}async function ed(t,e,n,r){let s=await uc(t,e,n,Ze(r,0,Hn[e])),i=Ze(r,Hn[e]);if(s[0]!=i[0]||s[1]!=i[1])throw new y(wi)}async function td(t,e,n){let r=ac(new G(Hn[e])),s=await uc(t,e,n,r);return Ut(r,s)}async function uc(t,e,n,r){t.password=null;let s=await nd(Wu,n,Ku,!1,qu),i=await rd(v.assign({salt:r},Ts),s,8*(Sn[e]*2+2)),a=new G(i),o=kn(lt,Ze(a,0,Sn[e])),c=kn(lt,Ze(a,Sn[e],Sn[e]*2)),l=Ze(a,Sn[e]*2);return v.assign(t,{keys:{key:o,authentication:c,passwordVerification:l},ctr:new Ju(new $u(o),nt.from(ju)),hmac:new Qu(c)}),l}async function nd(t,e,n,r,s){if(Ea)try{return await Jn.importKey(t,e,n,r,s)}catch{return Ea=!1,Kt.importKey(e)}else return Kt.importKey(e)}async function rd(t,e,n){if(ha)try{return await Jn.deriveBits(t,e,n)}catch{return ha=!1,Kt.pbkdf2(e,t.salt,Ts.iterations,n)}else return Kt.pbkdf2(e,t.salt,Ts.iterations,n)}function sd(t,e){return e===_?ir(t):e}function id(t,e){if(e&&e>t.length){let n=t;t=new G(e),t.set(n,0)}return t}function Ze(t,e,n){return t.subarray(e,n)}function zn(t,e){return t.fromBits(e)}function kn(t,e){return t.toBits(e)}var ln=12,As=class extends me{constructor({password:e,rawPassword:n,passwordVerification:r,checkPasswordOnly:s}){super({start(){dc(this,e,n,r)},transform(i,a){let o=this;if(o.password||o.rawPassword){let c=wa(o,i.subarray(0,ln));if(o.password=o.rawPassword=null,(c[ln-1]^o.passwordVerification)!=0)throw new y(wi);i=i.subarray(ln)}s?a.error(new y(gi)):a.enqueue(wa(o,i))}})}},ys=class extends me{constructor({password:e,rawPassword:n,passwordVerification:r}){super({start(){dc(this,e,n,r)},transform(s,i){let a=this,o,c;if(a.password||a.rawPassword){a.password=a.rawPassword=null;let l=ac(new G(ln));l[ln-1]=a.passwordVerification,o=new G(s.length+l.length),o.set(_a(a,l),0),c=ln}else o=new G(s.length),c=0;o.set(_a(a,s),c),i.enqueue(o)}})}};function dc(t,e,n,r){v.assign(t,{password:e,rawPassword:n,passwordVerification:r}),ad(t,e,n)}function wa(t,e){let n=new G(e.length);for(let r=0;r<e.length;r++)n[r]=Ec(t)^e[r],yr(t,n[r]);return n}function _a(t,e){let n=new G(e.length);for(let r=0;r<e.length;r++)n[r]=Ec(t)^e[r],yr(t,e[r]);return n}function ad(t,e,n){let r=[305419896,591751049,878082192];if(v.assign(t,{keys:r,crcKey0:new Zt(r[0]),crcKey2:new Zt(r[2])}),n)for(let s=0;s<n.length;s++)yr(t,n[s]);else for(let s=0;s<e.length;s++)yr(t,e.charCodeAt(s))}function yr(t,e){let[,n]=t.keys;t.crcKey0.append([e]);let r=~t.crcKey0.get();n=ga(W.imul(ga(n+hc(r)),134775813)+1),t.crcKey2.append([n>>>24]);let s=~t.crcKey2.get();t.keys=[r,n,s]}function Ec(t){let e=t.keys[2]|2;return hc(W.imul(e,e^1)>>>8)}function hc(t){return t&255}function ga(t){return t&4294967295}function qt(t){if(t instanceof rt)return t;let e=t.getReader();return new rt({async pull(n){let{value:r,done:s}=await e.read();s?n.close():n.enqueue(r)},cancel(n){return e.cancel(n)}})}function jt(t,e){t=qt(t);let n=e?{type:e}:{};if(od())return new bf(t).blob().then(s=>e?new wn([s],n):s);let r=[];return t.pipeTo(new st({write(s){r.push(s)}})).then(()=>new wn(r,n))}function od(){return typeof wn.prototype.stream!=Fe||new wn([]).stream()instanceof rt}function cd(t){if(t instanceof st)return t;let e=t.getWriter();return new st({write(n){return e.write(n)},close(){return e.close()},abort(n){return e.abort(n)}})}var ma="Invalid codec definition",ld="Reserved compression method",fd="Invalid codec module",ud=[Mt,Kn,hr,zr],Ln=new ht,Vr=new ht;function xw(t={}){let{compressionMethod:e,format:n,codecURI:r,CompressionStream:s,DecompressionStream:i,versionNeeded:a}=t;if(!Ae.isInteger(e)||e<0||e>X||typeof n!=gn||!n.length)throw new y(ma);if(ud.includes(e))throw new y(ld);let o=typeof s==Fe||typeof i==Fe;if(!o&&(typeof r!=gn||!r.length))throw new y(ma);Ln.set(e,{compressionMethod:e,format:n,codecURI:r,versionNeeded:a}),o&&gc(n,{CompressionStream:s,DecompressionStream:i})}function Fw(t){let e=Ln.get(t);if(e){Ln.delete(t);let n;Ln.forEach(r=>n=n||r.format==e.format),n||Vr.delete(e.format)}}function wc(t){return Ln.get(t)}function _c(t){return Vr.get(t)}function gc(t,e){let{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=Fe&&typeof r!=Fe)throw new y(fd);Vr.set(t,{CompressionStream:n,DecompressionStream:r})}async function dd(t,e){!Vr.has(t)&&e&&gc(t,await import(e))}var Wr="Invalid uncompressed size",mc="Invalid compressed data",Tc=_i,Ed="Compression method not supported",Rc="deflate-raw",hd="deflate64-raw",Sr="gzip",pc=10,Ss=8,wd=[31,139,8],_d=5e3,Is=class extends me{constructor(e,{chunkSize:n,CompressionStreamFallback:r,CompressionStream:s}){super({});let{compressed:i,encrypted:a,useCompressionStream:o,zipCrypto:c,computeCrc32:l,level:u,deflate64:f,format:d,compressionMethod:w}=e,h=this,E,m,A,g=super.readable,T=d&&_c(d),R=l&&i&&!f&&!T&&(!a||c)&&!!(o&&s);if((!a||c)&&l&&!R&&(E=new pr,g=Qe(g,E)),i)if(T)g=fn(g,Ic(T.CompressionStream,d,{level:u,chunkSize:n,compressionMethod:w}));else if(R)A=new Ir,g=fn(g,new s(Sr)),g=Qe(g,A);else try{g=Nc(g,o,{level:u,chunkSize:n},s,r)}catch(S){let I;try{I=new s(Sr)}catch{throw S}g=fn(g,I),g=Qe(g,new Ir)}a&&(c?g=Qe(g,new ys(e)):(m=new ps(e),g=Qe(g,m))),Sc(h,g,()=>{(!a||c)&&l&&(h.crc32=R?A.crc32:new Jt(E.value.buffer).getUint32(0))})}},Ir=class extends me{constructor(){let e,n=pc,r=new G(0);super({transform(s,i){if(n){let l=W.min(n,s.length);if(n-=l,s=s.subarray(l),!s.length)return}let a=r.length+s.length;if(a<=Ss){r=Ut(r,s);return}let o=a-Ss,c=W.min(o,r.length);i.enqueue(Ut(r.subarray(0,c),s.subarray(0,o-c))),r=Ut(r.subarray(c),s.subarray(o-c))},flush(){let s=Z(r);e.crc32=s.getUint32(0,!0),e.uncompressedSize=s.getUint32(4,!0)}}),e=this}};function gd(t,e,n){let r=new Zt,s=0,i=!1,a,o,c,l=new _e((h,E)=>{o=h,c=E});l.catch(()=>{}),n||o();let u=new me({start(h){let E=new G(pc);E.set(wd),h.enqueue(E)},transform(h,E){E.enqueue(h)},async flush(h){i=!0,d();try{await l}finally{w()}let E=new G(Ss),m=Z(E);m.setUint32(0,r.get(),!0),m.setUint32(4,n,!0),h.enqueue(E)},cancel(h){c(h)}}),f=new me({transform(h,E){r.append(h),s+=h.length,s>=n?o():i&&d(),E.enqueue(h)},cancel(h){c(h)}});return t=Qe(t,u),t=fn(t,e),Qe(t,f);function d(){w(),a=Br(()=>c(new y(Wr)),_d)}function w(){Hr(a)}}var Ns=class extends me{constructor(e,{chunkSize:n,DecompressionStreamFallback:r,DecompressionStream:s}){super({});let{zipCrypto:i,encrypted:a,checkCrc32:o,crc32:c,compressed:l,useCompressionStream:u,deflate64:f,format:d,compressionMethod:w,rawBitFlag:h,outputSize:E}=e,m,A,g=super.readable;if(a&&(i?g=Qe(g,new As(e)):(A=new Rs(e),g=Qe(g,A))),l){let T=d&&_c(d);if(T)g=fn(g,Ic(T.DecompressionStream,d,{chunkSize:n,compressionMethod:w,rawBitFlag:h,uncompressedSize:E}));else try{g=Nc(g,u,{chunkSize:n,deflate64:f},s,r)}catch(R){if(f||E===_)throw R;let S;try{S=new s(Sr)}catch{throw R}g=gd(g,S,E)}g=pd(g)}o&&(m=new pr,g=Qe(g,m)),Sc(this,g,()=>{if(o){let T=new Jt(m.value.buffer);if(c!=T.getUint32(0,!1))throw new y(Tc)}})}},Ta=new ht;function Ac(t,e){if(!t)return!1;let n=Ta.get(t);n||(n=new ht,Ta.set(t,n));let r=n.get(e);if(r===_){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r}function yc(t){return Ac(t,Rc)}function md(t){return Ac(t,Sr)}function Sc(t,e,n){e=Qe(e,new me({flush:n})),v.defineProperty(t,"readable",{get(){return e}})}function Ic(t,e,n){if(!t)throw new y(Ed);return new t(e,n)}function Nc(t,e,n,r,s){let i=e&&r?r:s||r,a=n.deflate64?hd:Rc,o;try{o=new i(a,n)}catch(c){if(e&&s&&i!=s)o=new s(a,n);else throw c}return fn(t,o)}function Qe(t,e){return qt(t).pipeThrough(e)}function fn(t,e){let n=e.writable.getWriter(),r=t.getReader();return s(),e.readable;async function s(){try{for(;;){await n.ready;let i=await r.read();if(i.done){await n.close();break}await n.write(i.value)}}catch(i){await Td(n,i),await Rd(r,i)}}}async function Td(t,e){try{await t.abort(e)}catch{}}async function Rd(t,e){try{await t.cancel(e)}catch{}}function pd(t){let e=t.getReader();return new rt({async pull(n){let r;try{r=await e.read()}catch(a){if(a&&a.message)throw a;let o=new y(mc);throw o.cause=a,o}let{value:s,done:i}=r;i?n.close():n.enqueue(s)},cancel(n){return e.cancel(n)}})}var Ad=64*1024,yd="message",Sd="start",Id="pull",Ra="data",Nd="ack",Dd="close",mi="deflate",Dc="inflate",Ds=class extends me{constructor(e,n){super({});let r=this,{codecType:s}=e,i;s.startsWith(mi)?i=Is:s.startsWith(Dc)&&(i=Ns),r.outputSize=0;let a=0,o=new i(e,n),c=super.readable,l=new me({transform(f,d){f&&f.length&&(a+=f.length,d.enqueue(f))},flush(){v.assign(r,{inputSize:a})}}),u=new me({transform(f,d){if(f&&f.length&&(d.enqueue(f),r.outputSize+=f.length,e.outputSize!==_&&r.outputSize>e.outputSize))throw new y(Wr)},flush(){let{crc32:f}=o;v.assign(r,{crc32:f,inputSize:a})}});v.defineProperty(r,"readable",{get(){return c.pipeThrough(l).pipeThrough(o).pipeThrough(u)}})}},Nr=class extends me{constructor(e){let n=[],r=0;(!Ae.isFinite(e)||e<1)&&(e=Ad),super({transform(a,o){for(n.push(a),r+=a.length;r>e;)o.enqueue(s())},flush(a){r&&a.enqueue(i(n,r))}});function s(){let a=new G(e),o=0;for(;o<e;){let c=n[0],l=e-o;c.length<=l?(a.set(c,o),o+=c.length,n.shift()):(a.set(c.subarray(0,l),o),n[0]=c.subarray(l),o+=l)}return r-=e,a}function i(a,o){let c=new G(o),l=0;for(let u of a)c.set(u,l),l+=u.length;return c}}},Ti="Worker startup timeout",Un,Ri,bs,Os=()=>{};function bd(t){bs=t}async function Od(t){let{CompressionStream:e,CompressionStreamFallback:n}=t;if(n&&!n.requiresModule||yc(e)||md(e))return!0;if(n)try{return await Os(t),!0}catch{return!1}return!1}function xd(){Un=_,Ri=!1}function pa(t){t.createWorker?Ri=!0:Un=!1}var un=class{constructor(e,{readable:n,writable:r},{options:s,config:i,streamOptions:a,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:u},f){let{signal:d}=a;return Ri&&(u=_),v.assign(e,{busy:!0,generation:(e.generation||0)+1,readable:n.pipeThrough(new Nr(hi(i))).pipeThrough(new xs(a),{signal:d}),writable:r,options:v.assign({},s),workerURI:l,createWorker:u,transferStreams:c,terminate(){return new _e(w=>{let{worker:h,busy:E}=e;h?(E?e.resolveTerminated=w:(h.terminate(),w()),e.interface=null):w()})},onTaskFinished(){if(e.busy){let{resolveTerminated:w}=e;w&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),w()),e.busy=!1,f(e)}}}),Un===_&&(Un=typeof rr!=yt),(o&&bs&&(Un&&l||u)?bs:bc)(e,i)}},xs=class extends me{constructor({onstart:e,onprogress:n,size:r,onend:s}){let i=0;super({async start(){e&&await jr(e,r)},async transform(a,o){i+=a.length,n&&await jr(n,i,r),o.enqueue(a)},async flush(){s&&await jr(s,i)}})}};async function jr(t,...e){try{await t(...e)}catch{}}function bc(t,e){return{run:()=>Fs(t,e)}}async function Fs({options:t,readable:e,writable:n,onTaskFinished:r},s){let i;try{if(t.compressed&&!t.format){let l=t.codecType.startsWith(mi),u=l?s.CompressionStreamFallback:s.DecompressionStreamFallback,f=l?s.CompressionStream:s.DecompressionStream;if(t.useCompressionStream){if(u&&u.requiresModule&&!yc(f))try{await Os(s)}catch{}}else try{await Os(s)}catch{(!u||u.requiresModule)&&(t.useCompressionStream=!0)}}i=new Ds(t,s),await e.pipeThrough(i).pipeThrough(new Nr(hi(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});let{crc32:a,inputSize:o,outputSize:c}=i;return{crc32:a,inputSize:o,outputSize:c}}catch(a){throw i&&(a.outputSize=i.outputSize),a}finally{r()}}var Aa={type:"module"},Ps="error",Fd="messageerror",ya,$r,Sa,Cs=!0;try{Cs=typeof structuredClone==Fe&&structuredClone(new DOMException("","AbortError")).code!==_}catch{}bd(Pd);function Pd(t,e){let{baseURI:n,chunkSize:r,workerStartupTimeout:s}=e,{wasmURI:i}=e;if(!t.interface){typeof i==Fe&&(i=i());let a;try{a=ar(t.workerURI,n,t)}catch{return pa(t),bc(t,e)}v.assign(t,{worker:a,workerAlive:!1,terminated:!1,startupError:null,interface:{run:async()=>{try{return await Cd(t,{chunkSize:r,wasmURI:i,baseURI:n,workerStartupTimeout:s})}catch(o){if(o&&o.workerStartupFailed)return pa(t),Ia(t),Fs(t,e);if(o&&o.codecImportFailed){if(t.reader)return Ia(t),Fs(t,e);t.onTaskFinished()}throw o}}}})}return t.interface}async function Cd(t,e){if(!t.worker){let{startupError:w}=t;t.startupError=null;let h=w||new y(Ti);throw h.workerStartupFailed=!0,h}let n,r,s=new _e((w,h)=>{n=w,r=h});v.assign(t,{reader:null,writer:null,resolveResult:n,rejectResult:r,result:s});let{readable:i,options:a}=t,{writable:o,closed:c,abortPipe:l}=Ld(t.writable),u;try{u=Ls({type:Sd,options:a,config:e,readable:i,writable:o},t)}catch(w){l();try{await c}catch{}throw t.onTaskFinished(),w}u||v.assign(t,{reader:i.getReader(),writer:o.getWriter()});let{workerStartupTimeout:f}=e;!t.workerAlive&&Ae.isFinite(f)&&f>=0&&(t.startupTimeout=Br(()=>Ud(t),f));try{let w=await s;return await d(),await c,w}catch(w){await d(),l();try{await c}catch{}throw w}async function d(){if(!u&&!o.locked)try{await o.getWriter().close()}catch{}}}function Ld(t){let e=new AbortController,{writable:n,readable:r}=new me,s=r.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return s.catch(()=>{}),{writable:n,closed:s,abortPipe:()=>e.abort()}}function Ia(t){let{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function pi(t){let{worker:e}=t;if(e)try{e.terminate()}catch{}t.interface=null}function ar(t,e,n,r,s=!0){let{createWorker:i}=n,a,o,c;if(i)a=i();else if($r===_||ya!==t){let l=typeof t==Fe;l?o=t(s):o=t;let u=o.startsWith("data:"),f=o.startsWith("blob:");if(u||f){r===_&&(r=!1),r&&(c=Aa);try{a=new rr(o,c)}catch(d){if(f)try{dr.revokeObjectURL(o)}catch{}if(l&&f)return ar(t,e,n,r,!1);if(r)throw d;return ar(t,e,n,!0,!1)}}else{r===_&&(r=!0),r&&(c=Aa);try{o=new dr(o,e)}catch{}try{a=new rr(o,c)}catch(d){if(r)return ar(t,e,n,!1,s);throw d}}ya=t,$r=o,Sa=c}else a=new rr($r,Sa);return a.addEventListener(yd,l=>{n.workerAlive=!0,Oc(n),vd(l,n)}),a.addEventListener(Ps,l=>Na(l,n)),a.addEventListener(Fd,l=>Na(l,n)),a}function Ud(t){if(t.startupTimeout=null,t.workerAlive)return;let{rejectResult:e,writer:n}=t;if(pi(t),t.worker=null,e){let r=new y(Ti);r.workerStartupFailed=!0,e(r),n&&n.releaseLock()}}function Oc(t){let{startupTimeout:e}=t;e&&(Hr(e),t.startupTimeout=null)}function Na(t,e){t.preventDefault&&t.preventDefault(),Oc(e);let{workerAlive:n,rejectResult:r,writer:s,onTaskFinished:i}=e;pi(e),n||(e.worker=null);let a=t.error||new y(t.message||Ps);n||(a=v.assign(new y(a.message||Ps),{workerStartupFailed:!0}),e.startupError=a),r&&(r(a),s&&s.releaseLock(),n&&i())}function Ls(t,{worker:e,writer:n,transferStreams:r,workerAlive:s}){try{let{value:i,readable:a,writable:o}=t,c=[];if(i&&(t.value=tc(i),c.push(t.value.buffer)),r&&Cs&&s?(a&&c.push(a),o&&c.push(o)):t.readable=t.writable=null,c.length)try{return e.postMessage(t,c),!0}catch{Cs=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(i){throw n&&n.releaseLock(),i}}async function vd({data:t},e){let{type:n,value:r,messageId:s,result:i,error:a}=t,{reader:o,writer:c,resolveResult:l,rejectResult:u,onTaskFinished:f,generation:d}=e,w=()=>e.generation!=d;try{if(a){let{message:E,stack:m,code:A,name:g,outputSize:T,cause:R,codecImportFailed:S}=a,I=new y(E);v.assign(I,{stack:m,code:A,name:g,outputSize:T}),R&&(I.cause=v.assign(new y(R.message),{name:R.name})),S&&(I.codecImportFailed=!0),h(I)}else{if(n==Id){let{value:E,done:m}=await o.read();w()||Ls({type:Ra,value:E,done:m,messageId:s},e)}n==Ra&&(await c.ready,await c.write(new G(r)),w()||Ls({type:Nd,messageId:s},e)),n==Dd&&h(null,i)}}catch(E){w()||(pi(e),h(E))}function h(E,m){w()||(E?u(E):l(m),c&&c.releaseLock(),E&&E.codecImportFailed||f())}}var Ct=[],dn=[],En,or,Da=0;async function xc(t,e){let{options:n,config:r}=e,{transferStreams:s,useWebWorkers:i,useCompressionStream:a,compressed:o,checkCrc32:c,computeCrc32:l,encrypted:u,format:f,codecURI:d}=n,{workerURI:w,createWorker:h,maxWorkers:E}=r;f&&(d&&(n.codecURI=Md(d,r.baseURI)),await dd(f,n.codecURI)),e.transferStreams=!f&&(s||s===_&&r.transferStreams);let m=!o&&!c&&!l&&!u,A=f===_||!!n.codecURI;return e.useWebWorkers=!m&&A&&(i||i===_&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:_,e.createWorker=e.useWebWorkers&&h?h:_,n.useCompressionStream=a||a===_&&r.useCompressionStream,(await g()).run();async function g(){let R=Ct.find(S=>!S.busy);if(R)return Us(R),new un(R,t,e,T);if(Ct.length<E){let S={indexWorker:Da};return Da++,Ct.push(S),new un(S,t,e,T)}else return new _e(S=>{dn.push({resolve:S,stream:t,workerOptions:e}),or=r.workerStarvationTimeout,Dr()})}function T(R){if(Fc(),dn.length){let[{resolve:S,stream:I,workerOptions:D}]=dn.splice(0,1);S(new un(R,I,D,T)),Dr()}else R.worker?(Us(R),zd(R,e)):Ct=Ct.filter(S=>S!=R)}}function Md(t,e){try{return new dr(t,e).toString()}catch{return t}}function Dr(){!En&&dn.length&&Ae.isFinite(or)&&or>=0&&(En=Br(Bd,or))}function Fc(){En&&(Hr(En),En=null)}function Bd(){if(En=null,dn.length){let[{resolve:t,stream:e,workerOptions:n}]=dn.splice(0,1),r=v.assign({},n,{useWebWorkers:!1,workerURI:_,createWorker:_});t(new un({},e,r,Hd)),Dr()}}function Hd(){Fc(),Dr()}function zd(t,e){let{config:n}=e,{terminateWorkerTimeout:r}=n;Ae.isFinite(r)&&r>=0&&(t.terminated?t.terminated=!1:t.terminateTimeout=Br(async()=>{Ct=Ct.filter(s=>s!=t);try{await t.terminate()}catch{}},r))}function Us(t){let{terminateTimeout:e}=t;e&&(Hr(e),t.terminateTimeout=null)}async function Pw(){await _e.allSettled(Ct.map(t=>(Us(t),t.terminate()))),xd()}var Pc="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0".split(""),kd=Pc.length==256;function Yd(t){if(kd){let e="";for(let n=0;n<t.length;n++)e+=Pc[t[n]];return e}else return new Er().decode(t)}function cr(t,e){return Cc(t,e,!0)}function Gd(t,e){return Cc(t,e,!1)}function Cc(t,e,n){return e&&e.trim().toLowerCase()=="cp437"?Yd(t):new Er(e,{ignoreBOM:n}).decode(t)}var Lc="HTTP error ",Rt="HTTP Range not supported",ba="HTTP resource changed",Vd="Writer iterator completed too soon",Wd="Writer not initialized",Xd="text/plain",Zd="Content-Length",Kd="Content-Encoding",Ai="Content-Range",qd="Accept-Ranges",jd="Range",$d="Etag",Jd="Last-Modified",Qd="HEAD",Xr="GET",Uc="bytes",eE=256*1024,tE=16*1024*1024,yi="writable",Oa=Symbol(),mn=class{constructor(){this.size=0}init(){this.initialized=!0}},dt=class extends mn{get readable(){return this.createReadable()}createReadable({offset:e=0,size:n,chunkSize:r=hi(pn())}={}){let s=this,i=0;return r=$o(r),new rt({async pull(a){let o=n===_?r:W.min(r,n-i),c=await Te(s,e+i,o);c.length&&a.enqueue(c),i+r>=n||!c.length&&o?a.close():i+=r}})}},br=class extends mn{constructor(){super();let e=this,n=new st({write(r){if(!e.initialized)throw new y(Wd);return e.writeUint8Array(tc(r))}});v.defineProperty(e,yi,{get(){return n}})}writeUint8Array(){}},xa=class extends dt{constructor(e){super();let n=e.length;for(;e.charAt(n-1)=="=";)n--;let r=e.indexOf(",")+1;v.assign(this,{dataURI:e,dataStart:r,size:W.floor((n-r)*.75)})}readUint8Array(e,n){let{dataStart:r,dataURI:s}=this,i=new G(n),a=W.floor(e/3)*4,o=atob(s.substring(a+r,W.ceil((e+n)/3)*4+r)),c=e-W.floor(a/4)*3,l=0;for(let u=c;u<c+n&&u<o.length;u++)i[u-c]=o.charCodeAt(u),l++;return l<i.length?i.subarray(0,l):i}},Fa=class extends br{constructor(e){super(),v.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",pendingCharacters:""})}writeUint8Array(e){let n=this,r,s=n.pendingCharacters,i=n.pendingCharacters.length;for(n.pendingCharacters="",r=0;r<W.floor((i+e.length)/3)*3-i;r++)s+=ea.fromCharCode(e[r]);for(;r<e.length;r++)n.pendingCharacters+=ea.fromCharCode(e[r]);s.length>2?n.data+=na(s):n.pendingCharacters=s+n.pendingCharacters}getData(){return this.data+na(this.pendingCharacters)}},vs,vc;function nE(){vc=(async()=>{try{let e=new wn([new G(3)]).slice(1,2).stream().getReader(),n=0,r=await e.read();for(;!r.done;)n+=r.value.length,r=await e.read();vs=n==1}catch{vs=!1}})()}var St=class extends dt{constructor(e){super(),v.assign(this,{sourceBlob:e,size:e.size}),vc||nE()}createReadable(e){let n=this,{sourceBlob:r,size:s}=n,{offset:i=0,size:a=s-i}=e||{};return!i&&a>=s?qt(r.stream()):vs?qt(r.slice(i,i+a).stream()):super.createReadable(e)}async readUint8Array(e,n){let r=this,s=e+n,o=await(!e&&s>=r.size?r.sourceBlob:r.sourceBlob.slice(e,s)).arrayBuffer();return o.byteLength>n&&(o=o.slice(e,s)),new G(o)}},Ms=class extends mn{constructor(e){super();let n=this,r=new me;v.defineProperty(n,yi,{get(){return r.writable}}),n.contentType=e,n.blobPromise=jt(r.readable,e),n.blobPromise.catch(()=>{})}getData(){return this.blobPromise}},Or=class extends St{constructor(e){super(new wn([e],{type:Xd}))}},Pa=class extends Ms{constructor(e){super(),v.assign(this,{encoding:e,utf8:!e||e.toLowerCase()=="utf-8"})}async getData(){let{encoding:e,utf8:n}=this,r=await super.getData();return r.text&&n?r.text():Gd(new G(await r.arrayBuffer()),e)}},Bs=class extends dt{constructor(e,n){super(),Mc(this,e,n)}async init(){await Bc(this,xr,Ca),super.init()}createReadable(e){let n=this,{useRangeHeader:r,forceRangeRequests:s,size:i}=n;if((r||s)&&i!==_){let{offset:a=0,size:o=i-a}=e||{};if(o>0&&a<i)return rE(n,a,W.min(o,i-a))}return super.createReadable(e)}readUint8Array(e,n){return Hc(this,e,n,xr,Ca)}},Hs=class extends dt{constructor(e,n){super(),Mc(this,e,n)}async init(){await Bc(this,zs,La),super.init()}readUint8Array(e,n){return Hc(this,e,n,zs,La)}};function Mc(t,e,n){let{preventHeadRequest:r,useRangeHeader:s,forceRangeRequests:i,combineSizeEocd:a,checkResourceChanges:o=!0,maximumRangeSize:c=tE,fetch:l}=n;n=v.assign({},n),delete n.preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,v.assign(t,{url:e,options:n,preventHeadRequest:r,useRangeHeader:s,forceRangeRequests:i,combineSizeEocd:a,checkResourceChanges:o,maximumRangeSize:c,fetch:l})}async function Bc(t,e,n){let{url:r,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=t;if(sE(r)&&(i||a)&&(typeof s==yt||s)){let c=await e(Xr,t,Ii(t,o?-Ne:void 0)),l=c.headers.get(qd);if(!a&&(!l||l.toLowerCase()!=Uc))throw new y(Rt);{if(o){let f=new G(await c.arrayBuffer());c.status==206&&f.length==Ne&&(t.eocdCache=f)}Si(t,c);let u=zc(c);u===_?await Ua(t,e,n):t.size=u}}else await Ua(t,e,n)}async function Hc(t,e,n,r,s){let{useRangeHeader:i,forceRangeRequests:a,eocdCache:o,size:c,options:l}=t;if(i||a){if(o&&e==c-Ne&&n==Ne)return o;if(e>=c||n===0)return ie;{e+n>c&&(n=c-e);let u=await r(Xr,t,Ii(t,e,n));if(u.status!=206)throw new y(Rt);let f=u.headers.get(Ai);if(f){let w=Ae(f.trim().split(/[\s-]+/)[1]);if(!Ae.isNaN(w)&&w!=e)throw new y(Rt)}Yc(t,u),Si(t,u);let d=new G(await u.arrayBuffer());if(d.length!=n)throw new y(Rt);return d}}else{let{data:u}=t;return u||await s(t,l),t.data.subarray(e,e+n)}}function rE(t,e,n){let r,s=e,i=0,a=n;return new rt({start(){return o()},async pull(l){r||await o();let{value:u,done:f}=await r.read();if(f)throw new y(Rt);let d=u.length>i?u.subarray(0,i):u;i-=d.length,a-=d.length,d.length&&l.enqueue(d),i||(await c(),a||l.close())},cancel(l){return r&&r.cancel(l)}});async function o(){let l=W.min(t.maximumRangeSize,a),u=await xr(Xr,t,Ii(t,s,l));if(u.status!=206)throw new y(Rt);let f=u.headers.get(Ai);if(f){let d=Ae(f.trim().split(/[\s-]+/)[1]);if(!Ae.isNaN(d)&&d!=s)throw new y(Rt)}Yc(t,u),Si(t,u),s+=l,i=l,r=u.body.getReader()}async function c(){let l=r;r=_,await l.cancel()}}function zc(t){let e=t.headers.get(Ai);if(e){let n=e.trim().split(/\s*\/\s*/)[1];if(n&&n!="*"){let r=Ae(n);if(!Ae.isNaN(r))return r}}}function kc({headers:t}){return{etag:t.get($d)||_,lastModified:t.get(Jd)||_}}function Si(t,e){let{checkResourceChanges:n,resourceValidators:r}=t;n&&!r&&e.status==206&&(t.resourceValidators=kc(e))}function Yc(t,e){let{checkResourceChanges:n,resourceValidators:r,size:s}=t;if(n){let i=zc(e);if(i!==_&&s!==_&&i!=s)throw new y(ba);if(r){let a=kc(e);if(v.entries(r).some(([c,l])=>l!==_&&a[c]!==_&&l!=a[c]))throw new y(ba)}}}function Ii(t,e=0,n=1){return v.assign({},Ni(t),{[jd]:Uc+"="+(e<0?e:e+"-"+(e+n-1))})}function Ni({options:t}){let{headers:e}=t;if(e)return Symbol.iterator in e?v.fromEntries(e):e}async function Ca(t){await Gc(t,xr)}async function La(t){await Gc(t,zs)}async function Gc(t,e){let n=await e(Xr,t,Ni(t));t.data=new G(await n.arrayBuffer()),t.size=t.data.length}async function Ua(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{let r=await e(Qd,t,Ni(t)),s=r.headers.get(Zd);s&&!r.headers.get(Kd)?t.size=Ae(s):await n(t,t.options)}}async function xr(t,{fetch:e=fetch,options:n,url:r},s){let i=await e(r,v.assign({},n,{method:t,headers:s}));if(i.status<400)return i;throw i.status==416?new y(Rt):new y(Lc+(i.statusText||i.status))}function zs(t,{url:e},n){return new _e((r,s)=>{let i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){let a=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(o=>{let c=o.trim().split(/\s*:\s*/);c[0]=c[0].trim().replace(/^[a-z]|-[a-z]/g,l=>l.toUpperCase()),a.push(c)}),r({status:i.status,arrayBuffer:()=>i.response,headers:new ht(a)})}else s(i.status==416?new y(Rt):new y(Lc+(i.statusText||i.status)))},!1),i.addEventListener("error",a=>s(a.detail?a.detail.error:new y("Network error")),!1),i.open(t,e),n)for(let a of v.entries(n))i.setRequestHeader(a[0],a[1]);i.responseType="arraybuffer",i.send()})}var ks=class extends dt{constructor(e,n={}){super(),v.assign(this,{url:e,reader:n.useXHR&&!n.fetch?new Hs(e,n):new Bs(e,n)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,n){return this.reader.readUint8Array(e,n)}},va=class extends ks{constructor(e,n={}){super(e,v.assign({},n,{useRangeHeader:!0}))}},Ma=class extends dt{constructor(e){super(),e=new G(e.buffer,e.byteOffset,e.byteLength),v.assign(this,{array:e,size:e.length})}readUint8Array(e,n){return this.array.slice(e,e+n)}},Fr=class extends br{constructor(e){super(),this.defaultBufferSize=e||eE}init(e=0){v.assign(this,{offset:0,array:new G(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){let n=this,r=n.offset+e.length;if(r>n.array.length){let s=n.array.length?n.array.length*2:n.defaultBufferSize;for(;s<r;)s*=2;let i=n.array;n.array=new G(s),n.array.set(i)}n.array.set(e,n.offset),n.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},Ys=class extends dt{constructor(e){super(),this.readers=e}async init(){let e=this;e.lastDiskNumber=0;let n=e.readers=await _e.all(e.readers.map(iE));e.diskOffsets=n.map(r=>{let s=e.size;return e.size+=r.size,s}),super.init()}getDiskOffset(e){let{diskOffsets:n,size:r}=this,s=n[e];return s===_?r:s}async readUint8Array(e,n){let r=this,{readers:s}=this,i,a=0,o=e;for(;s[a]&&o>=s[a].size;)o-=s[a].size,a++;let c=s[a];if(c){let l=c.size;if(o+n<=l)i=await Te(c,o,n);else{let u=l-o,f=await Te(c,o,u),d=await r.readUint8Array(e+u,n-u);i=Ut(f,d)}}else i=ie;return r.lastDiskNumber=W.max(a,r.lastDiskNumber),i}},Gs=class extends mn{constructor(e,n=4294967295){super();let r=this;v.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let s,i,a,o=new st({async write(f){if(f===Oa){a&&await l();return}let{availableSize:d}=r;if(a)f.length>=d?(await c(f.subarray(0,d)),await l(),f.length>d&&await this.write(f.subarray(d))):await c(f);else{let{value:w,done:h}=await e.next();if(h&&!w)throw new y(Vd);s=w,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await Me(s),i=w.writable,a=i.getWriter(),await this.write(f)}},async close(){a&&(await a.ready,await u())},async abort(f){a&&await a.abort(f)}});v.defineProperty(r,yi,{get(){return o}});async function c(f){let d=f.length;d&&(await a.ready,await a.write(f),s.size+=d,r.availableSize-=d)}async function l(){await u(),r.diskOffset+=s.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function u(){await a.close()}}async closeDisk(){let e=this.writable.getWriter();try{await e.ready,await e.write(Oa)}finally{e.releaseLock()}}},$t=class{constructor(e){return nt.isArray(e)&&(e=new Ys(e)),(e instanceof rt||typeof e.getReader==Fe)&&(e={readable:qt(e)}),e}},Pr=class{constructor(e){return e.writable===_&&typeof e.next==Fe&&(e=new Gs(e)),(e instanceof st||typeof e.getWriter==Fe)&&(e={writable:cd(e)}),e.size===_&&(e.size=0),e}};function Vc(t){return!!(t&&t.getData)}function sE(t){let{baseURI:e}=pn(),{protocol:n}=new dr(t,e);return n=="http:"||n=="https:"}async function Me(t,e){if(t.init&&!t.initialized)await t.init(e);else return _e.resolve()}async function iE(t){return t=new $t(t),await Me(t),(t.size===_||!t.readUint8Array)&&(t=new St(await jt(t.readable)),await Me(t)),t}function Te(t,e,n){return t.readUint8Array(e,n)}function Wc(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?dt.prototype.createReadable.call(t,e):t.readable}var Xc="filename",Zc="rawFilename",Di="comment",Kc="rawComment",bi="uncompressedSize",qc="compressedSize",jc="offset",$c="diskNumberStart",Cr="lastModDate",Lr="rawLastModDate",Oi="lastAccessDate",Jc="rawLastAccessDate",xi="creationDate",Qc="rawCreationDate",el="internalFileAttributes",tl="externalFileAttributes",Fi="internalFileAttribute",Pi="externalFileAttribute",nl="msdosAttributesRaw",rl="msdosAttributes",sl="msDosCompatible",Ci="zip64",il="encrypted",al="version",ol="versionMadeBy",cl="zipCrypto",hn="directory",ll="executable",aE="symlink",fl="compressionMethod",Vs="signature",oE="crc32",Li="extraField",cE="extraFieldInfoZip",lE="extraFieldUnix",fE="extraFieldUnixType1",uE="extraFieldPkwareUnix",ul="uid",dl="gid",El="unixMode",hl="setuid",wl="setgid",_l="sticky",dE="bitFlag",EE="rawBitFlag",hE="filenameLength",wE="extraFieldLength",_E="unixExternalUpper",gE="filenameUTF8",mE="commentUTF8",TE="rawExtraField",RE="extraFieldZip64",pE="extraFieldUnicodePath",AE="extraFieldUnicodeComment",yE="extraFieldAES",SE="extraFieldNTFS",IE="extraFieldExtendedTimestamp",NE="extraFieldUSDZ",DE=[Xc,Zc,bi,qc,Cr,Lr,Di,Kc,Oi,Jc,xi,Qc,jc,$c,el,tl,Fi,Pi,nl,rl,sl,Ci,il,al,ol,cl,hn,ll,aE,fl,Vs,oE,Li,lE,cE,fE,uE,ul,dl,El,_E,hl,wl,_l,dE,EE,hE,wE,gE,mE,TE,RE,pE,AE,yE,SE,IE,NE],Tn=class{constructor(e){DE.forEach(n=>this[n]=e[n])}},bn="File format is not recognized",gl="End of central directory not found",ml="End of Zip64 central directory locator not found",Tl="Central directory header not found",Rl="Local file header not found",pl="Zip64 extra field not found",Al="File contains encrypted entry",Ws="Encryption method not supported",Xs="Compression method not supported",Zs="Split zip file",yl="Overlapping entry found",Sl="Entry data out of bounds",Il="Ambiguous archive",Nl="Encrypted central directory is not supported",Dl="Unsafe filename",bl="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ol="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",xl="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Fl="64-bit value exceeds Number.MAX_SAFE_INTEGER",Pl="unsorted central directory",Cl="unknown version needed to extract",Ll="compressed patched data",Ui="malformed extra field",Ul="unknown zip64 extensible data",Ks="wrapped entries count",qs="appended data",js="prepended data",vl="trailing central directory data",Ml="duplicate filename",On="mismatched zip64 end of central directory record",Bl="mismatched local file header (general purpose bit flag)",Hl="mismatched local file header (compression method)",zl="mismatched local file header (crc32 or sizes)",bE=63,OE=/^[a-zA-Z]:/,Ba="utf-8",xE="UTF8",Ha="cp437",za=wr|_r|gr,kl=1,FE=[[bi,ge],[qc,ge],[jc,ge],[$c,X]],ka={[X]:{getValue:K,bytes:4},[ge]:{getValue:ke,bytes:8}},PE=Le(Ae.MAX_SAFE_INTEGER),CE=64,LE=1032,Ya=0,vi=1,Ur=2,vr=class{constructor(e,n={}){v.assign(this,{reader:new $t(e),options:n,readRanges:new ht})}async*getEntriesGenerator(e={}){let n=this,{reader:r}=n;if(await Me(r),(r.size===_||!r.readUint8Array)&&(r=new St(await jt(r.readable)),await Me(r)),r.size<Ne)throw new y(bn);let s=n.warnings=[],i=Mi(e,n.options),a=i==Qt,o=i!=Bt,c=Xl(Re(n,e,Bo),i),l=KE(Re(n,e,yu),i),u=Re(n,e,Su),{endOfDirectoryInfo:f,endOfDirectoryReachingEndCount:d}=await Zl(r,o,c);if(!f)throw await GE(r)?new y(Zs):new y(gl);o&&d>1&&lr("multiple end of central directory records");let w=Z(f),h=K(w,12),E=K(w,16),m=f.offset,A=re(w,20),g=m+Ne+A,T=r.size-g;T>c&&lr(qs),T>0&&Je(s,qs);let R=re(w,4),S=r.lastDiskNumber||0,I=re(w,6),D=re(w,10),F=0,x,M,B,k=$e,V,b=E==ge||h==ge||D==X||I==X;if(E!=ge&&I!=X&&(E+=sn(r,I)),b){let le=f.offset>=Ft?await Te(r,f.offset-Ft,Ft):ie,H=Z(le);if(le.length==Ft&&K(H,0)==li){E=sn(r,K(H,4))+ke(H,8);let Ie=await Te(r,E,$e),Ee=Z(Ie),Ue=f.offset-Ft-$e;if((Ie.length<$e||K(Ee,0)!=us)&&E!=Ue&&Ue>=0){let be=E;E=Ue,E>be&&(F=E-be),Ie=await Te(r,E,$e),Ee=Z(Ie)}if(Ie.length<$e||K(Ee,0)!=us)throw new y(ml);if(M=!0,B=ke(Ee,4)>$e-12,B){let be=W.min(ke(Ee,4)-($e-12),r.size-E-$e);if(be>0){k+=be;let He=await Te(r,E+$e,be);V=ME(He)}}R==X?R=K(Ee,16):R!=K(Ee,16)&&ct(a,s,On),I==X?I=K(Ee,20):I!=K(Ee,20)&&ct(a,s,On),D==X?D=ke(Ee,32):D!=ke(Ee,32)&&ct(a,s,On),h==ge?h=ke(Ee,40):h!=ke(Ee,40)&&ct(a,s,On),E=sn(r,I)+ke(Ee,48)+F}}let P=h,L=f.offset-(M?k+Ft:0);if(E>=r.size&&(F=r.size-E-h-Ne,E=r.size-h-Ne),S!=R)throw new y(Zs);if(E<0)throw new y(bn);let O=0,U=await Te(r,E,h),C=Z(U);if(h){if(U.length<4)throw new y(bn);let le=L-h;if(E!=le&&I==R){let Ie=!(K(C,O)==Pt||!!(V&&V.compressedSize)||Jr(C));if(!Ie&&le>=0&&le+4<=r.size){let Ee=await Te(r,le,4);Ie=K(Z(Ee),0)==Pt}if(Ie){let Ee=E;E=le,E>Ee&&(F+=E-Ee),U=await Te(r,E,h),C=Z(U)}}}let q=L-E;if(h!=q&&q>=0&&I==R&&(h=q,U=await Te(r,E,h),C=Z(U)),E<0||E>=r.size)throw new y(bn);n.directoryOffset=E,n.directoryLength=P;let Y=$a(n,e,Iu),j,ae;if(Y&&D&&U.length>=4&&K(C,0)!=Pt&&(B||Jr(C))){let le=vE(V,P,U.length);ae=U.subarray(le),U=await Y(U.subarray(0,le),V),C=Z(U),P=U.length,j=!0}V&&!j&&(U.length<4||K(C,0)==Pt)&&Je(s,Ul),x=E;let oe=Re(n,e,qf),$=Re(n,e,jf),we=new ur,ce,ye=-1,De=!a&&!M;!D&&De&&(D=Ga(C,U,O),D&&Je(s,Ks));for(let le=0;le<D;le++){let H=new Js(r,n.options);if(O+_n>U.length||K(C,O)!=Pt)throw le==0&&!j&&(B||Jr(C))?new y(Nl):new y(Tl);Yl(H,C,O+6);let Ie=!!H.bitFlag.languageEncodingFlag,Ee=O+_n,Ue=Ee+H.filenameLength,be=Ue+H.extraFieldLength,He=re(C,O+4),Nt=He>>8==0,Dt=He>>8==3,Be=U.subarray(Ee,Ue),Ke=re(C,O+32),Se=be+Ke,it=U.subarray(be,Se),zt=Ie,Xe=Ie,tn=K(C,O+38),ze=tn&et,bt={readOnly:!!(ze&ds),hidden:!!(ze&Es),system:!!(ze&hs),directory:!!(ze&mr),archive:!!(ze&ws)},wt=K(C,O+42),at=$a(n,e,$f)||cr,qe=zt?Ba:oe||Ha,kt=Xe?Ba:$||Ha,Pe=at(Be,qe,Ho);if(Pe===_&&(Pe=cr(Be,qe)),u){let Oe=u(Pe);Oe!==_&&(Pe=Oe)}if(qE(Pe,l)){let Oe=new y(Dl);throw Oe.filename=Pe,Oe}let Ot=at(it,kt,zo);Ot===_&&(Ot=cr(it,kt)),v.assign(H,{index:le,decryptedDirectory:j,versionMadeBy:He,msDosCompatible:Nt,zip64:!1,compressedSize:0,uncompressedSize:0,commentLength:Ke,offset:wt,diskNumberStart:re(C,O+34),internalFileAttributes:re(C,O+36),externalFileAttributes:tn,msdosAttributesRaw:ze,msdosAttributes:bt,rawFilename:Be,filenameUTF8:zt,commentUTF8:Xe,rawExtraField:U.subarray(Ue,be),rawComment:it,filename:Pe,comment:Ot}),Gl(H,H,C,O+6)&&Je(s,Ui,Pe),H.offset+=F;let Yt=sn(r,H.diskNumberStart)+H.offset;x=W.min(Yt,x),Yt<ye&&Je(s,Pl,Pe),ye=Yt,(H.version&et)>bE&&Je(s,Cl,Pe),(H.rawBitFlag&aa)==aa&&Je(s,Ll,Pe),we.has(H.filename)&&(ce=!0),we.add(H.filename);let fe=H.externalFileAttributes>>16&X;H.unixMode===_&&(fe&(sr|Pn|Fn))!=0&&(H.unixMode=fe);let yn=!!(H.unixMode&_s),p=!!(H.unixMode&gs),N=!!(H.unixMode&ms),ee=((H.unixMode===_?fe:H.unixMode)&on)==bo,he=!ee&&(H.unixMode!==_?(H.unixMode&Pn)!=0:Dt&&(fe&Pn)!=0),ot=H.unixMode!==_&&(H.unixMode&on)==Fn,er=(fe&on)==Fn;v.assign(H,{setuid:yn,setgid:p,sticky:N,symlink:ee,unixExternalUpper:fe,internalFileAttribute:H.internalFileAttributes,externalFileAttribute:H.externalFileAttributes,executable:he,directory:ot||er||Nt&&bt.directory||H.filename.endsWith(cn),zipCrypto:H.encrypted&&!H.extraFieldAES});let Gt=new Tn(H);if(Gt.getData=(Oe,Vt)=>H.getData(Oe,Gt,n.readRanges,Vt),Gt.arrayBuffer=async Oe=>{let Vt=new me,Qi=jt(Vt.readable).then(Df=>Df.arrayBuffer());return Qi.catch(()=>{}),await H.getData(Vt,Gt,n.readRanges,Oe),Qi},O=Se,le==D-1&&De){let Oe=Ga(C,U,O);Oe&&(D+=Oe,Je(s,Ks))}let{onprogress:xt}=e;if(xt)try{await xt(le+1,D,new Tn(H))}catch{}yield Gt}let de=O,ne=Qr(U.subarray(O))||(j?Qr(ae):_);if(!ne&&!j){let le=E+O,H=W.min(L-le,6+X);H>=6&&(ne=Qr(await Te(r,le,H)))}ne&&(n.digitalSignature=ne,de=O+6+ne.length),(O!=P&&de!=P||!j&&O!=h&&de!=h)&&ct(a,s,vl),ce&&ct(a,s,Ml);let pe=Re(n,e,Jf),se=Re(n,e,Qf),Q=(a||pe)&&D&&x==Lt&&await VE(r)?Lt:0;return a&&(F||D&&x>Q)&&lr(js),(F||D&&x>Lt)&&Je(s,js),pe&&(n.prependedData=x>Q?await Te(r,Q,x-Q):ie),n.comment=A?await Te(r,m+Ne,A):ie,se&&(n.appendedData=g<r.size?await Te(r,g,r.size-g):ie),!0}async getEntries(e={}){let n=[];for await(let r of this.getEntriesGenerator(e))n.push(r);return n}async close(){let{reader:e}=this;!e.readUint8Array&&e.readable&&!e.readable.locked&&await e.readable.cancel()}},$s=class{constructor(e={}){let{readable:n,writable:r}=new me,s=new vr(n,e).getEntriesGenerator();this.readable=new rt({async pull(i){let{done:a,value:o}=await s.next();if(a)return i.close();let c={...o,readable:(function(){let{readable:l,writable:u}=new me;if(o.getData)return f(),l;async function f(){try{await o.getData(u)}catch(d){try{await u.abort(d)}catch{}}}})()};delete c.getData,i.enqueue(c)}}),this.writable=r}};async function UE(t,e={}){if(t=new $t(t),await Me(t),(t.size===_||!t.readUint8Array)&&(t=new St(await jt(t.readable)),await Me(t)),t.size<Ne)return!1;let n=Mi(e,{}),r=n!=Bt,s=Xl(e[Bo],n),{endOfDirectoryInfo:i,endOfDirectoryReachingEndCount:a}=await Zl(t,r,s);if(!i||n==Qt&&a>1)return!1;let o=re(Z(i),20),c=i.offset+Ne+o;return t.size-c<=s}var Js=class{constructor(e,n){v.assign(this,{reader:e,options:n})}async getData(e,n,r,s={}){let i=this,a=pn(),{reader:o,index:c,offset:l,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:d,compressionMethod:w,bitFlag:h,rawBitFlag:E,crc32:m,rawLastModDate:A,uncompressedSize:g,compressedSize:T}=i,{dataDescriptor:R}=h,S=n.localDirectory={},I=n.warnings=[],D=sn(o,u)+l,F=await Te(o,D,Ge),x=Z(F),M=Re(i,s,Oo),B=Re(i,s,xo),k=Re(i,s,Fo);if(Yo(M,B),M=M&&M.length&&M,B=B&&B.length&&B,f&&f.originalCompressionMethod!=zr)throw new y(Xs);if(F.length<Ge||K(x,0)!=wo)throw new y(Rl);Yl(S,x,4);let{extraFieldLength:V,filenameLength:b}=S,P=S.dataOffset=D+Ge+b+V,L=Re(i,s,su),O=Mi(s,i.options),U=XE(L,O),C=ZE(L,O),q=ie;if(C&&(b||V)){let Se=await Te(o,D+Ge,b+V);q=Se.subarray(0,b),S.rawExtraField=Se.subarray(b)}else S.rawExtraField=V?await Te(o,D+Ge+b,V):ie;C&&(S.rawFilename=q),Gl(i,S,x,4,!0)&&Je(I,Ui),$E(i,S,q,C,U?_:I);let{lastAccessDate:Y,creationDate:j,uid:ae,gid:oe}=S;Y&&(n.lastAccessDate=Y),j&&(n.creationDate=j),ae!==_&&n.uid===_&&(n.uid=ae),oe!==_&&n.gid===_&&(n.gid=oe);let $=i.encrypted&&S.encrypted&&!k,we=$&&!f;if(k||(n.zipCrypto=we),$&&(S.rawBitFlag&oa)==oa)throw new y(Ws);let ce=k?_:wc(w);if(w!=Mt&&w!=Kn&&w!=hr&&!ce&&!k)throw new y(Xs);if($){if(!we&&(f.strength<1||f.strength>3))throw new y(Ws);if(!M&&!B)throw new y(Al)}if(P+T>o.size)throw new y(Sl);let ye=T,De=qt(o.createReadable({offset:P,size:ye})),de=ko(Re(i,s,Po)),ne=Re(i,s,eu),pe=Re(i,s,nu),se=Re(i,s,tu);se&&(pe=!0);let{onstart:Q,onprogress:le,onend:H}=s,Ie=w!=Mt&&!k,Ee=k?T:g,Ue=w==hr,be=Re(i,s,Lo);Ue&&(be=!1);let He=Re(i,s,au),Nt=(He===_?Re(i,s,iu):He)&&!k&&(!$||we||f&&f.vendorVersion==kl),Dt={options:{codecType:Dc,password:M,rawPassword:B,zipCrypto:we,encryptionStrength:f&&f.strength,checkCrc32:Nt,checkAuthenticationCode:Re(i,s,ou),passwordVerification:we&&(R?A>>>8&et:m>>>24&et),outputSize:Ee,crc32:m,compressed:Ie,encrypted:$,useWebWorkers:Re(i,s,Co),useCompressionStream:be,transferStreams:Re(i,s,Uo),deflate64:Ue,format:ce?ce.format:_,codecURI:ce?ce.codecURI:_,compressionMethod:w,rawBitFlag:E,checkPasswordOnly:ne},config:a,streamOptions:{signal:de,size:ye,onstart:Q,onprogress:le,onend:H}};pe&&await YE({reader:o,fileEntry:n,index:c,offset:D,crc32:m,compressedSize:T,uncompressedSize:g,dataOffset:P,dataDescriptor:R||S.bitFlag.dataDescriptor,extraFieldZip64:d||S.extraFieldZip64,readRanges:r});let Be,Ke;try{if(!se){ne&&(e=new st),e=new Pr(e),await Me(e,WE(Ee,T,Ie)),{writable:Be}=e;let{outputSize:Se}=await xc({readable:De,writable:Be},Dt);if(e.size+=Se,Se!=Ee)throw new y(Wr)}}catch(Se){if(Se.outputSize!==_&&(e.size+=Se.outputSize),!ne||Se.message!=gi)throw Ke=Se,Se}finally{if(!(!Vc(e)&&Re(i,s,vo))&&Be&&!Be.locked){let it=Be.getWriter();if(Ke)try{await it.abort(Ke)}catch{}else await it.close()}}return ne||se?_:e.getData?e.getData():Be}};function Jr(t){let e=W.min(t.byteLength,1024)-3;for(let n=0;n<e;n++)if(K(t,n)==Ff)return!0;return!1}function Ga(t,e,n){let r=0;for(;n+_n<=e.length&&K(t,n)==Pt;)n+=_n+re(t,n+28)+re(t,n+30)+re(t,n+32),r++;return r%(X+1)?0:r}function Qr(t){if(t.length>=6){let e=Z(t);if(K(e,0)==go){let n=re(e,4);if(6+n<=t.length)return t.subarray(6,6+n)}}}function vE(t,e,n){let r=t&&t.compressedSize?t.compressedSize:e;return r>0&&r<=n?r:n}function ME(t){let e={rawExtensibleData:t};if(t.length>=28){let n=Z(t),r=re(n,26);v.assign(e,{compressionMethod:re(n,0),compressedSize:ke(n,2),uncompressedSize:ke(n,10),encryptionAlgorithm:re(n,18),bitLength:re(n,20),flags:re(n,22),hashAlgorithm:re(n,24),hashData:t.subarray(28,28+r)})}return e}function Yl(t,e,n){let r=t.rawBitFlag=re(e,n+2),s=(r&wr)==wr,i=K(e,n+6);v.assign(t,{encrypted:s,version:re(e,n),bitFlag:{level:(r&Do)>>1,dataDescriptor:(r&_r)==_r,languageEncodingFlag:(r&gr)==gr},rawLastModDate:i,lastModDate:JE(i),filenameLength:re(e,n+22),extraFieldLength:re(e,n+24)})}function Gl(t,e,n,r,s){let{rawExtraField:i}=e,a=e.extraField=new ht,o=Z(i),c=0,l=!1;try{for(;c<i.length;){let I=re(o,c),D=re(o,c+2);a.set(I,{type:I,data:i.slice(c+4,c+4+D)}),c+=4+D}}catch{l=!0}c>i.length&&(l=!0);let u=re(n,r+4);v.assign(e,{signature:K(n,r+vn),crc32:K(n,r+vn),compressedSize:K(n,r+jn),uncompressedSize:K(n,r+$n)});let f=a.get(kr);f&&(BE(f,e),e.extraFieldZip64=f);let d=a.get(Pf);d&&(Va(d,Xc,Zc,e,t),e.extraFieldUnicodePath=d);let w=a.get(Cf);w&&(Va(w,Di,Kc,e,t),e.extraFieldUnicodeComment=w);let h=a.get(po);h&&h.data.length>=7?(HE(h,e,u),e.extraFieldAES=h):e.compressionMethod=u;let E=a.get(Uf);E&&(Wa(E,e),e.extraFieldPkwareUnix=E);let m=a.get(Lf);m&&(Wa(m,e),e.extraFieldUnixType1=m);let A=a.get(Ao);A&&(zE(A,e),e.extraFieldNTFS=A);let g=a.get(No),T;if(g&&(T=Xa(g,e,!1),e.extraFieldUnix=g),!T){let I=a.get(Io);I&&(Xa(I,e,!0),e.extraFieldInfoZip=I)}let R=a.get(fi);R&&(kE(R,e,s),e.extraFieldExtendedTimestamp=R);let S=a.get(So);return S&&(e.extraFieldUSDZ=S),l}function BE(t,e){e.zip64=!0;let n=Z(t.data),r=FE.filter(([i,a])=>e[i]==a),s=r.reduce((i,[,a])=>i+ka[a].bytes,0);if(t.data.length<s)throw new y(pl);for(let i=0,a=0;i<r.length;i++){let[o,c]=r[i],l=ka[c];e[o]=t[o]=l.getValue(n,a),a+=l.bytes}}function Va(t,e,n,r,s){if(t.data.length<5){t.valid=!1;return}let i=Z(t.data),a=new Zt;a.append(s[n]);let o=Z(new G(4));o.setUint32(0,a.get(),!0);let c=K(i,1),l=vt(i,0);v.assign(t,{version:l,[e]:cr(t.data.subarray(5)),valid:l==1&&!s.bitFlag.languageEncodingFlag&&c==K(o,0)}),t.valid&&(r[e]=t[e],r[e+xE]=!0)}function HE(t,e,n){let r=Z(t.data),s=vt(r,4);v.assign(t,{vendorVersion:vt(r,0),vendorId:vt(r,2),strength:s,originalCompressionMethod:n,compressionMethod:re(r,5)}),e.compressionMethod=t.compressionMethod,t.vendorVersion!=kl&&(e.crc32=_)}function zE(t,e){let n=Z(t.data),r=4,s;try{for(;r<t.data.length&&!s;){let i=re(n,r),a=re(n,r+2);i==yo&&(s=t.data.slice(r+4,r+4+a)),r+=4+a}}catch{}if(s&&s.length==24){let i=Z(s),a=i.getBigUint64(0,!0),o=i.getBigUint64(8,!0),c=i.getBigUint64(16,!0);v.assign(t,{rawLastModDate:a,rawLastAccessDate:o,rawCreationDate:c});let l=es(a),u=es(o),f=es(c),d={lastModDate:l,lastAccessDate:u,creationDate:f};v.assign(t,d),v.assign(e,d,{rawLastAccessDate:o,rawCreationDate:c})}}function Wa(t,e){if(t.data.length<8)return;let n=Z(t.data),r=new At((K(n,0)|0)*1e3),s=new At((K(n,4)|0)*1e3),i={lastAccessDate:r,lastModDate:s};t.data.length>=12&&(i.uid=re(n,8),i.gid=re(n,10)),v.assign(t,i),v.assign(e,i)}function Xa(t,e,n){try{let r=Z(t.data),s,i;if(n){let a=0,o=vt(r,a++),c=vt(r,a++);s=Za(t.data.subarray(a,a+c)),a+=c;let l=vt(r,a++);i=Za(t.data.subarray(a,a+l)),v.assign(t,{version:o,uid:s,gid:i})}else t.data.length>=4&&(s=re(r,0),i=re(r,2),v.assign(t,{uid:s,gid:i}));return s!==_&&(e.uid=s),i!==_&&(e.gid=i),s!==_||i!==_}catch{}}function Za(t){let e=new G(4);return e.set(t,0),new Jt(e.buffer,e.byteOffset,4).getUint32(0,!0)}function kE(t,e,n){if(!t.data.length)return;let r=Z(t.data),s=vt(r,0),i=[],a=[];n?((s&1)==1&&(i.push(Cr),a.push(Lr)),(s&2)==2&&(i.push(Oi),a.push(Jc)),(s&4)==4&&(i.push(xi),a.push(Qc))):t.data.length>=5&&(i.push(Cr),a.push(Lr));let o=1;i.forEach((c,l)=>{if(t.data.length>=o+4){let u=K(r,o);e[c]=t[c]=new At((u|0)*1e3);let f=a[l];t[f]=u}o+=4})}async function YE({reader:t,fileEntry:e,index:n,offset:r,crc32:s,compressedSize:i,uncompressedSize:a,dataOffset:o,dataDescriptor:c,extraFieldZip64:l,readRanges:u}){let f=0;if(c&&(l?f=Ro:f=To),f){let w=await Te(t,o+i,f+Wt),h=Z(w),E=w.length==f+Wt&&K(h,0)==_o;if(E){let m=Ka(h,Wt,l);(e.encrypted&&!e.zipCrypto||m.crc32==s)&&m.compressedSize==i&&m.uncompressedSize==a?f+=Wt:E=!1}if(w.length>=f){let m=Ka(h,E?Wt:0,l);m.signature=E,e.localDirectory.dataDescriptor=m}}let d={start:r,end:o+i+f,fileEntry:e};for(let[w,h]of u)if(w!=n&&d.start<h.end&&h.start<d.end){let E=new y(yl);throw E.overlappingEntry=h.fileEntry,E}u.set(n,d)}function Ka(t,e,n){let r=K(t,e),s,i;return n?(s=ke(t,e+4),i=ke(t,e+12)):(s=K(t,e+4),i=K(t,e+8)),{crc32:r,compressedSize:s,uncompressedSize:i}}function sn(t,e){return t.getDiskOffset?t.getDiskOffset(e):0}async function GE(t){return await Vl(t)==qn}async function VE(t){let e=await Vl(t);return e==qn||e==xf}async function Vl(t){let e=await Te(t,0,Lt);return K(Z(e))}function Wl(t){return t===Qt||t===ui||t===Bt}function WE(t,e,n){return W.min(t,n?e*LE:e)}function Mi(t,e){return qa(t,qa(e,ui))}function qa(t,e){let n=t[Au];if(n!==_){if(!Wl(n))throw new y(bl);return n}let r=t[ru];return r===_?e:r?Qt:e==Bt?Bt:ui}function XE(t,e){return t===_?e!=Bt:!!t}function ZE(t,e){return t===_?e==Qt:!!t}function KE(t,e){if(t===_)return e;if(!Wl(t))throw new y(Ol);return t}function qE(t,e){if(e==Bt)return!1;let n=t.split("/");return n.length>1&&n[n.length-1]===""&&n.pop(),n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||OE.test(t)?!0:e==Qt&&(n.includes(".")||n.includes(""))}function Xl(t,e){if(t!==_){let n=Yr(t);if(typeof n!=Zf||Ae.isNaN(n)||n<0)throw new y(xl);return n}return e==Qt?0:e==Bt?1/0:X}async function Zl(t,e,n){let{size:r}=t,s=W.min(r,Ne+X),i={count:CE},a,o,c=0;for await(let[l,u,f,d,w]of Kl(t,s)){let h=re(l,d+20);if(w+Ne+h==r){let E=await ql(t,l,u,d,w,r,i);if(E==Ur){if(a||(a=Qs(f,d,w)),c++,!e||c>1)break}else E==vi&&!o&&(o=Qs(f,d,w))}}return a||(a=o),a||(a=await jE(t,n,i)),{endOfDirectoryInfo:a,endOfDirectoryReachingEndCount:c}}async function jE(t,e,n){let{size:r}=t,s=W.min(r,e==1/0?r:Ne+X+e),i,a;for await(let[o,c,l,u,f]of Kl(t,s)){let d=Qs(l,u,f);i||(i=d);let w=await ql(t,o,c,u,f,r,n);if(w==Ur)return d;w==vi&&!a&&(a=d)}return a||i}async function*Kl(t,e){let n=t.size-e,r=await Te(t,n,e),s=Z(r);for(let i=r.length-Ne;i>=0;i--)K(s,i)==mo&&(yield[s,n,r,i,n+i])}function Qs(t,e,n){return{offset:n,buffer:t.slice(e,e+Ne).buffer}}async function ql(t,e,n,r,s,i,a){let o=re(e,r+10),c=K(e,r+12),l=K(e,r+16);if(o==X||c==ge||l==ge)return await ja(t,e,n,s-Ft,i,a)==li?Ur:Ya;if(!o&&!c)return vi;let u=re(e,r+6);for(let f of[s-c,sn(t,u)+l])if(await ja(t,e,n,f,i,a)==Pt)return Ur;return Ya}async function ja(t,e,n,r,s,i){if(r<0||r+4>s)return _;if(r>=n)return K(e,r-n);if(i.count>0){i.count--;let a=await Te(t,r,4);return K(Z(a),0)}return _}function $E(t,e,n,r,s){let{rawFilename:i}=t,a=!s,o=t.decryptedDirectory&&(e.rawBitFlag&ca)==ca;r&&!o&&(n.length!=i.length||n.some((c,l)=>c!=i[l]))&&ct(a,s,"mismatched local file header (filename)"),(e.rawBitFlag&za)!=(t.rawBitFlag&za)&&ct(a,s,Bl),e.compressionMethod!=t.compressionMethod&&ct(a,s,Hl),!e.bitFlag.dataDescriptor&&!o&&(e.crc32||e.compressedSize||e.uncompressedSize)&&(e.crc32!=t.crc32||e.compressedSize!=t.compressedSize||e.uncompressedSize!=t.uncompressedSize)&&ct(a,s,zl)}function ct(t,e,n){t?lr(n):Je(e,n)}function Je(t,e,n){if(!t.some(r=>r.reason==e)){let r={reason:e};n!==_&&(r.filename=n),t.push(r)}}function lr(t){let e=new y(Il);throw e.reason=t,e}function Re(t,e,n){return e[n]===_?t.options[n]:e[n]}function $a(t,e,n){return di(Re(t,e,n))}function JE(t){let e=(t&4294901760)>>16,n=t&X,r=new At(1980+((e&65024)>>9),((e&480)>>5)-1,e&31,(n&63488)>>11,(n&2016)>>5,(n&31)*2,0);return r<Rr?Rr:r}function es(t){return new At(Ae(t/Le(1e4)-Le(116444736e5)))}function vt(t,e){return t.getUint8(e)}function re(t,e){return t.getUint16(e,!0)}function K(t,e){return t.getUint32(e,!0)}function ke(t,e){let n=t.getBigUint64(e,!0);if(n>PE)throw new y(Fl);return Ae(n)}var QE=v.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Il,ERR_BAD_FORMAT:bn,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Tl,ERR_ENCRYPTED:Al,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Nl,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Sl,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:ml,ERR_EOCDR_NOT_FOUND:gl,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:pl,ERR_INVALID_AUTHENTICATION_CODE:ic,ERR_INVALID_COMPRESSED_DATA:mc,ERR_INVALID_CRC32:Tc,ERR_INVALID_FILENAME_VALIDATION:Ol,ERR_INVALID_MAX_APPENDED_DATA_SIZE:xl,ERR_INVALID_PASSWORD:wi,ERR_INVALID_SIGNATURE:_i,ERR_INVALID_STRICTNESS:bl,ERR_INVALID_UNCOMPRESSED_SIZE:Wr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Rl,ERR_OVERLAPPING_ENTRY:yl,ERR_SPLIT_ZIP_FILE:Zs,ERR_UNSAFE_FILENAME:Dl,ERR_UNSUPPORTED_COMPRESSION:Xs,ERR_UNSUPPORTED_ENCRYPTION:Ws,ERR_UNSUPPORTED_UINT64:Fl,ERR_WORKER_STARTUP_TIMEOUT:Ti,WARNING_APPENDED_DATA:qs,WARNING_COMPRESSED_PATCHED_DATA:Ll,WARNING_DUPLICATE_FILENAME:Ml,WARNING_MALFORMED_EXTRA_FIELD:Ui,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Bl,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Hl,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:zl,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:On,WARNING_PREPENDED_DATA:js,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:vl,WARNING_UNKNOWN_VERSION:Cl,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Ul,WARNING_UNSORTED_CENTRAL_DIRECTORY:Pl,WARNING_WRAPPED_ENTRIES_COUNT:Ks,ZipReader:vr,ZipReaderStream:$s,isZipFile:UE}),jl="File already exists",$l="Zip file comment exceeds 64KB",eh="Invalid zip file comment (must be a Uint8Array)",th="File entry comment exceeds 64KB",nh="Invalid file entry comment (must be a string)",rh="Invalid date (must be a valid Date instance)",sh="File entry name exceeds 64KB",Jl="Version exceeds 65535",ih="The strength must equal 1, 2, or 3",ah="Encryption is not supported in USDZ files",oh="Encryption is not supported when the 'passThrough' option is set",ch="Invalid extra field (must be a Map)",lh="Invalid extra field type (must be integer 0..65535)",fh="Invalid extra field data (must be a Uint8Array)",Bi="Extra field data exceeds 64KB",uh="Compression method not supported",Ql=-2147483648,ef=2147483647,Ja=Le(0),Qa=Le("0x7fffffffffffffff"),Hi="Zip64 is not supported (set the 'zip64' option to 'true')",dh="Undefined uncompressed size",Eh="Undefined compression method",Cw="Undetermined size",hh="Undefined reader",wh="Zip file not empty",_h="Invalid uid (must be integer 0..2^32-1)",gh="Invalid gid (must be integer 0..2^32-1)",mh="Invalid UNIX mode (must be integer 0..65535)",Th="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Rh="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ph="Invalid msdosAttributesRaw (must be integer 0..255)",Ah="Invalid msdosAttributes (must be an object with boolean flags)",yh="Invalid level (must be integer 0..9)",Sh="Signature data exceeds 64KB",eo=new G([7,0,2,0,65,69,3,0,0]),Ih=4,Nh=9,Dh=67,bh=1,ei="infozip",ti="unix",Oh=9,ts=0,to=[],Yn=class{constructor(e,n={}){e=new Pr(e);let{availableSize:r=nn,maxSize:s=nn}=e,i=r>0&&r!==nn&&s>0&&s!==nn;v.assign(this,{writer:e,addSplitZipSignature:i,options:n,fileEntries:new ht,filenames:new ur,offset:n[tr]===_?e.size||e.writable.size||0:n[tr],initialOffset:n[tr]===_?0:n[tr]-(e.size||e.writable.size||0),pendingAddFileCalls:new ur,pendingErrors:[],bufferedWrites:0,lastFileEntry:_})}prependZip(e){return ns(this,xh(this,e))}appendZip(e){return ns(this,this.appendZipEntries(e))}async appendZipEntries(e){let n=this,{pendingAddFileCalls:r,filenames:s,fileEntries:i}=n;for(;r.size;)await _e.allSettled(nt.from(r));let a,o=new _e(u=>a=u);r.add(o);let c=[],l;try{e=new $t(e),await Me(e),(e.size===_||!e.readUint8Array)&&(e=new St(await jt(e.readable)),await Me(e));let{ZipReader:u}=await _e.resolve().then(function(){return QE}),f=new u(e),d=await f.getEntries();await f.close(),await Me(n.writer);let{directoryOffset:w}=f;d.forEach(({filename:m})=>{if(s.has(m))throw new y(jl);s.add(m),c.push(m)}),n.writerLocked=!0;let{lockWriter:h}=n;n.lockWriter=new _e(m=>l=()=>{n.writerLocked=!1,m()}),await h,n.addSplitZipSignature&&(delete n.addSplitZipSignature,await qh(e)||(await Et(n.writer,nf()),n.offset+=Lt));let E=await jh(n,e,d,w);d.forEach(m=>{let{version:A,rawLastModDate:g,rawFilename:T,bitFlag:R,encrypted:S,uncompressedSize:I,compressedSize:D,extraFieldZip64:F}=m,{compressionMethod:x,rawExtraField:M}=m,{level:B,languageEncodingFlag:k,dataDescriptor:V}=R;M=tf(M||ie),m.extraFieldAES&&(x=zr);let b=te(M),P=!!F&&F.uncompressedSize!==_,L=!!F&&F.compressedSize!==_,O=cf(B,k,V,S,x)&~Do|B<<1,{headerArray:U,headerView:C}=of({version:A,bitFlag:O,compressionMethod:x,uncompressedSize:I,compressedSize:D,rawLastModDate:g,rawFilename:T,zip64CompressedSize:L,zip64UncompressedSize:P,extraFieldLength:b}),{crc32:q}=m;q!==_&&xe(C,vn,q);let{offset:Y,diskNumberStart:j}=E.get(m);v.assign(m,{zip64UncompressedSize:P,zip64CompressedSize:L,offset:Y,diskNumberStart:j,zip64DiskNumberStart:!1,rawExtraFieldZip64:ie,rawExtraFieldAES:ie,rawExtraFieldExtendedTimestamp:ie,rawExtraFieldNTFS:ie,rawExtraFieldUnix:ie,rawExtraField:M,rawCentralExtraField:ie,extendedTimestamp:!1,headerArray:U,headerView:C}),i.set(m.filename,m)})}catch(u){throw c.forEach(f=>s.delete(f)),u}finally{a(),r.delete(o),l&&l()}}add(e="",n,r={}){let s=this,{pendingAddFileCalls:i}=s,a=Fh(s,e,n,r);i.add(a);let o=()=>i.delete(a);return _e.prototype.then.call(a,o,o),ns(s,a)}remove(e){let{filenames:n,fileEntries:r}=this;if(typeof e==gn&&(e=r.get(e)),e&&e.filename!==_){let{filename:s}=e;if(n.has(s)&&r.has(s))return n.delete(s),r.delete(s),!0}return!1}async close(e=ie,n={}){let r=this,{pendingAddFileCalls:s,writer:i}=this,{writable:a}=i;if(!(e instanceof G))throw new y(eh);if(te(e)>X)throw new y($l);for(;s.size;)await _e.allSettled(nt.from(s));await _e.allSettled(r.pendingErrors.map(l=>l.recorded));let o=r.pendingErrors.filter(l=>l.error&&!l.observed);if(o.length){let l=o.map(f=>f.error);o.forEach(f=>f.observed=!0);let[u]=l;try{u.entryErrors=l}catch{}throw u}return await Vh(r,e,n),!Vc(i)&&J(r,n,vo)||await a.getWriter().close(),i.getData?i.getData():a}},no=class{constructor(e={}){let{readable:n,writable:r}=new me;this.readable=n,this.zipWriter=new Yn(r,e),this.pendingAddFileCalls=new ur}transform(e){let n=this.zipWriter,r,{readable:s,writable:i}=new me({start(o){r=o},flush:()=>{a()}});return ro(this,this.zipWriter.add(e,s),o=>r.error(o)),{readable:this.readable,writable:i};async function a(){try{await n.close()}catch(o){await rs(n,o)}}}writable(e){let n,{readable:r,writable:s}=new me({start(i){n=i}});return ro(this,this.zipWriter.add(e,r),i=>n.error(i)),s}async close(e=_,n={}){let{zipWriter:r}=this,i=(await _e.allSettled(nt.from(this.pendingAddFileCalls))).filter(a=>a.status=="rejected").map(a=>a.reason);if(i.length){let[a]=i;try{a.entryErrors=i}catch{}throw await rs(r,a),a}try{return await r.close(e,n)}catch(a){throw await rs(r,a),a}}},ni=class extends _e{then(e,n){let{watcher:r}=this;return r&&(r.observed=!0),super.then(e,n)}};function ns(t,e){let n=new ni((s,i)=>_e.prototype.then.call(e,s,i)),r={};return n.watcher=r,r.recorded=_e.prototype.then.call(n,_,s=>r.error=s),t.pendingErrors.push(r),n}async function xh(t,e){if(t.filenames.size)throw new y(wh);await t.appendZipEntries(e)}async function Fh(t,e,n,r){if(r=v.assign({},r),J(t,r,hn)&&!e.endsWith(cn)&&(e+=cn),t.filenames.has(e))throw new y(jl);t.filenames.add(e),ts<pn().maxWorkers?ts++:await new _e(s=>to.push(s));try{return await Ph(t,e,n,r)}catch(s){throw t.filenames.delete(e),s}finally{let s=to.shift();s?s():ts--}}async function rs(t,e){try{await t.writer.writable.abort(e)}catch{}}function ro(t,e,n){t.pendingAddFileCalls.add(e),e.catch(r=>{try{n(r)}catch{}})}async function Ph(t,e,n,r){let s=Ch(t,e,r);({name:e}=s);let i=Lh(t,e,r),{comment:a}=i,o=r[Li];t.fileEntries.set(e,_);let c;try{let{resolvedOptions:l}=i;l.level!=0&&l.compressionMethod===_&&!l.passThrough&&!await Od(pn())&&(l.level=0);let u=await Uh(t,n,i,r);({reader:n}=u);let f=Gn(t.writer),d=pt(t.writer);r=v.assign({},r,s.resolvedOptions,i.resolvedOptions,u.resolvedOptions,{signature:r[Vs],crc32:r.crc32===_?r[Vs]:r.crc32,offset:t.offset-f,diskNumberStart:d,[Mn]:t.options[Mn]});let w=Hh(r),h=kh(r),E=te(w.localHeaderArray,h.dataDescriptorArray);c=await Mh(t,e,n,{headerInfo:w,dataDescriptorInfo:h,metadataSize:E},r)}catch(l){throw t.fileEntries.delete(e),l}return v.assign(c,{name:e,comment:a,extraField:o,[Fi]:c.internalFileAttributes,[Pi]:c.externalFileAttributes}),new Tn(c)}function Ch(t,e,n){let r=J(t,n,sl),s=J(t,n,ol,r?Yf:fa),i=J(t,n,ll),a=an(t,n,ul),o=an(t,n,dl),c=an(t,n,El),l=J(t,n,Tu),u=J(t,n,hl),f=J(t,n,wl),d=J(t,n,_l);if(Dn(a,ge,_h),Dn(o,ge,gh),Dn(c,X,mh),l!==_&&l!==ei&&l!==ti)throw new y(Th);if(l===ti&&(a!==_&&a>X||o!==_&&o>X))throw new y(Rh);l===_&&(a!==_||o!==_)&&(l=ei);let w=an(t,n,nl),h=J(t,n,rl),E=a!==_||o!==_||c!==_||l||i,m=w!==_||h!==_;if(E?(r=!1,s=s&et|fa):m&&(r=!0,s=s&et),Dn(w,et,ph),h&&(typeof h!==Xf||nt.isArray(h)))throw new y(Ah);if(s>X)throw new y(Jl);let A=af(t,n,tl,Pi),g=A!==_;g||(A=0),!n[hn]&&e.endsWith(cn)&&(n[hn]=!0);let T=J(t,n,hn);if(T?(e.endsWith(cn)||(e+=cn),g||(A=mr,r||(A|=(Fn|Pn|sr)<<16))):!r&&!g&&(i?A=(Pn|sr)<<16:A=sr<<16),!r){let I=c!==_||!!(u||f||d),D=A>>16&X;c=c===_?D:c&X,u?c|=_s:u=!!(c&_s),f?c|=gs:f=!!(c&gs),d?c|=ms:d=!!(c&ms),(!g||I)&&(T?c=c&~on|Fn:c&on||(c|=Hf),A=(c&X)<<16|A&X)}({msdosAttributesRaw:w,msdosAttributes:h}=zh(w,h)),m&&(A=A&ge|w&et);let R=A>>16&X,S=c!==_&&(c&on)==bo;return{name:e,resolvedOptions:{versionMadeBy:s,msDosCompatible:!!r,externalFileAttributes:A,unixExternalUpper:R,uid:a,gid:o,unixMode:c,unixExtraFieldType:l,symlink:S,setuid:u,setgid:f,sticky:d,msdosAttributesRaw:w,msdosAttributes:h}}}function Lh(t,e,n){let r=ri(t,n,mu)||ir,s=r(e,Ho);if(s===_&&(s=ir(e)),te(s)>X)throw new y(sh);let i=n[Di]||"";if(typeof i!=gn)throw new y(nh);let a=r(i,zo);if(a===_&&(a=ir(i)),te(a)>X)throw new y(th);let o=J(t,n,al);if(o!==_&&o>X)throw new y(Jl);let c=os(t,n,Cr,new At),l=J(t,n,Lr),u=os(t,n,Oi),f=os(t,n,xi),d=af(t,n,el,Fi,0),w=J(t,n,Fo),h=J(t,n,Oo),E=J(t,n,xo);Yo(h,E);let m=an(t,n,cu,3),A=J(t,n,cl),g=J(t,n,lu,!0),T=J(t,n,fu),R=J(t,n,uu,!0),S=J(t,n,Co),I=J(t,n,Uo),D=J(t,n,Eu),F=ri(t,n,hu),x=J(t,n,wu,!0),M=ko(J(t,n,Po)),B=J(t,n,_u,!0),k=J(t,n,fl),V=w||k===_?_:wc(k);if(!w&&k!==_&&k!==Mt&&k!==Kn&&!V)throw new y(uh);let b=an(t,n,du);if(Dn(b,Oh,yh),t.options[Mn]){if(h!==_||E!==_)throw new y(ah);b===_&&k===_&&(b=0)}w&&(b=_);let P=J(t,n,Lo),L=J(t,n,Mo);D&&L===_&&(L=!1),(L===_||A&&!w)&&(L=!0),b!==_&&b!=6&&(P=!1);let O=J(t,n,Ci);if(!A&&(h!==_||E!==_)&&!(Ae.isInteger(m)&&m>=1&&m<=3))throw new y(ih);let U=ss(n[Li]),C=ss(n[Ru]),q=ss(n[pu]);return{comment:i,resolvedOptions:{rawFilename:s,rawComment:a,version:o,lastModDate:c,rawLastModDate:l,lastAccessDate:u,creationDate:f,internalFileAttributes:d,passThrough:w,password:h,rawPassword:E,encryptionStrength:m,zipCrypto:A,extendedTimestamp:g,ntfsTimestamp:T,keepOrder:R,useWebWorkers:S,transferStreams:I,bufferedWrite:D,createTempStream:F,dataDescriptorSignature:x,signal:M,useUnicodeFileNames:B,compressionMethod:k,format:V?V.format:_,codecURI:V?V.codecURI:_,codecVersionNeeded:V?V.versionNeeded:_,level:b,useCompressionStream:P,dataDescriptor:L,zip64:O,rawExtraField:U,rawLocalExtraField:C,rawCentralExtraField:q}}}function ss(t){if(!t)return ie;if(!(t instanceof ht))throw new y(ch);let e=0,n=0;t.forEach((i,a)=>{if(Go(a,X,lh),!(i instanceof G))throw new y(fh);if(te(i)>X)throw new y(Bi);e+=4+te(i)});let r=new G(e),s=Z(r);return t.forEach((i,a)=>{ft(s,n,a),ft(s,n+2,te(i)),Xn(r,i,n+4),n+=4+te(i)}),r}async function Uh(t,e,{resolvedOptions:n},r){if(n.passThrough&&!e&&!J(t,r,hn))throw new y(hh);let s;return e&&(e=new $t(e),await Me(e),{size:s}=e),v.assign({reader:e},vh(t,!!e,s,n,r))}function vh(t,e,n,r,s){let{passThrough:i,zipCrypto:a,password:o,rawPassword:c,encryptionStrength:l}=r,{dataDescriptor:u,zip64:f,level:d,compressionMethod:w}=r,h=0,E=0;if(i&&e){if(E=s[bi],E===_)throw new y(dh);if(w===_)throw new y(Eh)}let m=f===!0,A=J(t,s,il);if(e&&i&&!A&&te(o,c))throw new y(oh);let g=e&&(!!(o&&te(o)||c&&te(c))||i&&A);e||(d=0,w=Mt);let T=g?a?12:16+l*4:0;e&&(i?(s.uncompressedSize=E,h=n===_?lo(E)+T:n):n===_?(u=!0,(f||f===_)&&(f=!0,E=h=ge+1)):(s.uncompressedSize=E=n,h=(si(w,d)?lo(E):E)+T));let R=!g&&(!e||n===0&&!i)&&!si(w,d);R&&!a&&J(t,s,Mo)===_&&(u=!1);let S=m||E>=ge,I=m||h>=ge;if(S||I){if(f===!1)throw new y(Hi);f=!0}return f=f||!1,{maximumCompressedSize:h,resolvedOptions:{dataDescriptor:u,emptyEntry:R,zip64:f,zip64UncompressedSize:S,zip64CompressedSize:I,uncompressedSize:E,level:d,compressionMethod:w,encrypted:g}}}async function Mh(t,e,n,r,s){let{fileEntries:i,writer:a}=t,{keepOrder:o,dataDescriptor:c,emptyEntry:l,signal:u}=s,{headerInfo:f}=r,d=t.options[Mn],w=t.lastFileEntry,h={},E,m,A,g,T,R,S=0,I;i.set(e,h),t.lastFileEntry=h;try{let M;o&&(M=w&&w.lockFileEntry,D()),s.bufferedWrite||!o||t.writerLocked||t.bufferedWrites||!c&&!l?(E=!0,t.bufferedWrites++,s.createTempStream?I=await s.createTempStream():I=new me(_,_,{highWaterMark:nn}),I.size=0,await Me(a)):(I=a,await F()),await Me(I);let B=Gn(a);t.addSplitZipSignature&&!E&&await ao(t,a),d&&!E&&so(r,t.offset-B);let{localHeaderArray:k}=f;E||(await M,await x());let V=pt(a),b=Vn(t,a);if(h.diskNumberStart=V,E||(T=!0,R=a.size,await Et(I,k)),h=await Bh(n,I,h,r,pn(),s),E||(T=!1),i.set(e,h),h.filename=e,E){if(await _e.all([I.writable.getWriter().close(),M]),await F(),t.addSplitZipSignature&&await ao(t,a),g=!0,R=a.size,await x(),h.diskNumberStart=pt(a),h.offset=Vn(t,a),d){let P=r.metadataSize;so(r,t.offset-Gn(a)),h.size+=r.metadataSize-P}Gh(h,f.localHeaderView,s),await Et(a,f.localHeaderArray),await rf(I.readable,a,u,P=>S+=P),a.size+=I.size,g=!1}else h.diskNumberStart=V,h.offset=b;return t.offset+=h.size,h}catch(M){if(g||T){if(t.hasCorruptedEntries=!0,M)try{M.corruptedEntry=!0}catch{}t.offset+=a.size-R,E&&(t.offset+=S)}throw i.delete(e),M}finally{if(E&&t.bufferedWrites--,A&&A(),m&&m(),E&&I&&I.dispose)try{await I.dispose()}catch{}}function D(){h.lockFileEntry=new _e(M=>A=M)}async function F(){t.writerLocked=!0;let{lockWriter:M}=t;t.lockWriter=new _e(B=>m=()=>{t.writerLocked=!1,B()}),await M}async function x(){Rn(a,te(f.localHeaderArray))&&await a.closeDisk()}}async function Bh(t,e,{diskNumberStart:n,lockFileEntry:r},s,i,a){let{headerInfo:o,dataDescriptorInfo:c,metadataSize:l}=s,{headerArray:u,headerView:f,lastModDate:d,rawLastModDate:w,encrypted:h,compressed:E,version:m,compressionMethod:A,rawExtraFieldZip64:g,localExtraFieldZip64Length:T,rawExtraFieldExtendedTimestamp:R,extraFieldExtendedTimestampFlag:S,rawExtraFieldNTFS:I,rawExtraFieldUnix:D,rawExtraFieldAES:F}=o,{dataDescriptorArray:x}=c,{rawFilename:M,lastAccessDate:B,creationDate:k,password:V,rawPassword:b,level:P,zip64:L,zip64UncompressedSize:O,zip64CompressedSize:U,zipCrypto:C,dataDescriptor:q,directory:Y,executable:j,versionMadeBy:ae,rawComment:oe,rawExtraField:$,rawCentralExtraField:we,useWebWorkers:ce,transferStreams:ye,onstart:De,onprogress:de,onend:ne,signal:pe,encryptionStrength:se,extendedTimestamp:Q,msDosCompatible:le,internalFileAttributes:H,externalFileAttributes:Ie,uid:Ee,gid:Ue,unixMode:be,symlink:He,setuid:Nt,setgid:Dt,sticky:Be,unixExternalUpper:Ke,msdosAttributesRaw:Se,msdosAttributes:it,useCompressionStream:zt,passThrough:Xe,format:tn,codecURI:ze}=a,bt={lockFileEntry:r,versionMadeBy:ae,zip64:L,directory:!!Y,executable:!!j,filenameUTF8:!0,rawFilename:M,commentUTF8:!0,rawComment:oe,rawExtraFieldZip64:g,localExtraFieldZip64Length:T,rawExtraFieldExtendedTimestamp:R,rawExtraFieldNTFS:I,rawExtraFieldUnix:D,rawExtraFieldAES:F,rawExtraField:$,rawCentralExtraField:we,extendedTimestamp:Q,msDosCompatible:le,internalFileAttributes:H,externalFileAttributes:Ie,diskNumberStart:n,uid:Ee,gid:Ue,unixMode:be,symlink:!!He,setuid:Nt,setgid:Dt,sticky:Be,unixExternalUpper:Ke,msdosAttributesRaw:Se,msdosAttributes:it},{crc32:wt,uncompressedSize:at}=a,qe=0;Xe||(at=0);let{writable:kt}=e;if(t){let Pe=qt(Wc(t)),Ot=t.size,Yt={options:{codecType:mi,level:P,rawPassword:b,password:V,encryptionStrength:se,zipCrypto:h&&C,passwordVerification:h&&C&&w>>8&et,computeCrc32:!Xe,compressed:E&&!Xe,encrypted:h&&!Xe,useWebWorkers:ce,useCompressionStream:zt,transferStreams:ye,format:tn,codecURI:ze,compressionMethod:A},config:i,streamOptions:{signal:pe,size:Ot,onstart:De,onprogress:de,onend:ne}};try{let fe=await xc({readable:Pe,writable:kt},Yt);if(qe=fe.outputSize,e.size+=qe,Xe||(at=fe.inputSize,(!h||C)&&(wt=fe.crc32)),!U&&qe>=ge||!O&&at>=ge)throw new y(Hi)}catch(fe){throw fe.outputSize!==_&&(e.size+=fe.outputSize),fe}}return Yh({crc32:wt,compressedSize:qe,uncompressedSize:at,headerInfo:o,dataDescriptorInfo:c},a),q&&await Et(e,x),v.assign(bt,{uncompressedSize:at,compressedSize:qe,lastModDate:d,rawLastModDate:w,creationDate:k,lastAccessDate:B,encrypted:!!h,zipCrypto:!!C,size:l+qe,compressionMethod:A,version:m,headerArray:u,headerView:f,signature:wt,crc32:h&&!C&&!Xe?_:wt,extraFieldExtendedTimestampFlag:S,zip64UncompressedSize:O,zip64CompressedSize:U}),bt}function Hh(t){let{rawFilename:e,lastModDate:n,rawLastModDate:r,lastAccessDate:s,creationDate:i,level:a,zip64:o,zipCrypto:c,useUnicodeFileNames:l,dataDescriptor:u,directory:f,rawExtraField:d,rawLocalExtraField:w,encryptionStrength:h,extendedTimestamp:E,ntfsTimestamp:m,passThrough:A,encrypted:g,zip64UncompressedSize:T,zip64CompressedSize:R,uncompressedSize:S,crc32:I}=t,{version:D,compressionMethod:F}=t,x=!f&&si(F,a),M,B=A||!x,k=o&&(t.bufferedWrite||!u||!T&&!R||B),V=k||o&&u&&(T||R);if(o&&(T||R)){let ne=Ye(20);if(ne.writeUint16(kr),ne.writeUint16(16),M=ne.array,k&&(ne.writeUint64(S),B)){let pe=g?c?12:16+h*4:0;ne.writeUint64(A?0:S+pe)}}else M=ie;let b;if(g&&!c){let de=Ye(te(eo)+2);de.writeUint16(po),de.writeBytes(eo),b=de.array,b[8]=h}else b=ie;let P,L,O;if(E){let de=fr(n),ne=sf(de);if(ne){let se=9+(s?4:0)+(i?4:0),Q=Ye(se);O=1+(s?2:0)+(i?4:0),Q.writeUint16(fi),Q.writeUint16(se-4),Q.writeUint8(O),Q.writeUint32(de),s&&Q.writeUint32(oo(fr(s))),i&&Q.writeUint32(oo(fr(i))),L=Q.array}else L=ie;if(m===_?!ne||!!(s||i):m)try{let se=as(n),Q=Ye(36);Q.writeUint16(Ao),Q.writeUint16(32),Q.skip(4),Q.writeUint16(yo),Q.writeUint16(24),Q.writeUint64(se),Q.writeUint64(s?as(s):se),Q.writeUint64(i?as(i):se),P=Q.array}catch{P=ie}else P=ie}else P=L=ie;let U;try{let{uid:de,gid:ne,unixExtraFieldType:pe}=t;if(pe==ei&&(de!==_||ne!==_)){let se=io(de===_?0:de),Q=io(ne===_?0:ne),le=3+se.length+Q.length,H=Ye(4+le);H.writeUint16(Io),H.writeUint16(le),H.writeUint8(1),H.writeUint8(se.length),H.writeBytes(se),H.writeUint8(Q.length),H.writeBytes(Q),U=H.array}else if(pe==ti&&(de!==_||ne!==_)){let se=Ye(8);se.writeUint16(No),se.writeUint16(4),se.writeUint16((de===_?0:de)&X),se.writeUint16((ne===_?0:ne)&X),U=se.array}else U=ie}catch{U=ie}F===_&&(F=x?Kn:Mt),D===_&&(D=F==Mt&&!f&&!g?zf:kf);let{codecVersionNeeded:C}=t;x&&C!==_&&(D=D>C?D:C),o&&(D=D>Tr?D:Tr),g&&!c&&(D=D>la?D:la,A&&I!==_&&(b[Ih]=bh),ft(Z(b),Nh,F),F=zr);let q=V?te(M):0,Y=q+te(b,L,P,U,d,w),j=t[Mn]?Dh:0;if(Y+j>X)throw new y(Bi);let ae=new At(W.ceil(W.floor(n.getTime()/1e3)/2)*2e3),{headerArray:oe,headerView:$,rawLastModDate:we}=of({version:D,bitFlag:cf(a,l,u,g,F),compressionMethod:F,uncompressedSize:S,lastModDate:ae<Rr?Rr:ae>ua?ua:ae,rawLastModDate:r,rawFilename:e,zip64CompressedSize:R,zip64UncompressedSize:T,extraFieldLength:Y}),ce=Ye(Ge+te(e)+Y),ye=ce.array,De=Z(ye);return ce.writeUint32(wo),ce.writeBytes(oe),ce.writeBytes(e),V&&ce.writeBytes(M),ce.writeBytes(b),ce.writeBytes(L),ce.writeBytes(P),ce.writeBytes(U),ce.writeBytes(d),ce.writeBytes(w),u&&(R||xe(De,jn+Xt,0),T||xe(De,$n+Xt,0)),{localHeaderArray:ye,localHeaderView:De,headerArray:oe,headerView:$,lastModDate:n,rawLastModDate:we,encrypted:g,compressed:x,version:D,compressionMethod:F,extraFieldExtendedTimestampFlag:O,rawExtraFieldZip64:ie,localExtraFieldZip64Length:q,rawExtraFieldExtendedTimestamp:L,rawExtraFieldNTFS:P,rawExtraFieldUnix:U,rawExtraFieldAES:b,extraFieldLength:Y}}function so(t,e){let{headerInfo:n}=t,{localHeaderArray:r,extraFieldLength:s}=n,i=64-(e+te(r))%64;i<4&&(i+=64);let a=new G(i),o=Z(a);ft(o,0,So),ft(o,2,i-4);let c=r;n.localHeaderArray=r=new G(te(c)+i),Xn(r,c),Xn(r,a,te(c));let l=Z(r);ft(l,28,s+i),n.localHeaderView=l,t.metadataSize+=i}function io(t){let e=new G(4);Z(e).setUint32(0,t,!0);let r=4;for(;r>1&&e[r-1]===0;)r--;return e.subarray(0,r)}function zh(t,e){if(t!==_)t=t&et;else if(e!==_){let{readOnly:n,hidden:r,system:s,directory:i,archive:a}=e,o=0;n&&(o|=ds),r&&(o|=Es),s&&(o|=hs),i&&(o|=mr),a&&(o|=ws),t=o&et}return e===_&&(e={readOnly:!!(t&ds),hidden:!!(t&Es),system:!!(t&hs),directory:!!(t&mr),archive:!!(t&ws)}),{msdosAttributesRaw:t,msdosAttributes:e}}function kh({zip64:t,dataDescriptor:e,dataDescriptorSignature:n}){let r=ie,s,i=0,a=t?Ro:To;return n&&(a+=Wt),e&&(r=new G(a),s=Z(r),n&&(i=Wt,xe(s,0,_o))),{dataDescriptorArray:r,dataDescriptorView:s,dataDescriptorOffset:i}}function Yh({crc32:t,compressedSize:e,uncompressedSize:n,headerInfo:r,dataDescriptorInfo:s},{zip64:i,zipCrypto:a,passThrough:o,dataDescriptor:c}){let{headerView:l,encrypted:u}=r,{dataDescriptorView:f,dataDescriptorOffset:d}=s;(!u||a||o)&&t!==_&&(xe(l,vn,t),c&&xe(f,d,t)),i?c&&(Wn(f,d+4,Le(e)),Wn(f,d+12,Le(n))):(xe(l,jn,e),xe(l,$n,n),c&&(xe(f,d+4,e),xe(f,d+8,n)))}function Gh({rawFilename:t,encrypted:e,zip64:n,localExtraFieldZip64Length:r,crc32:s,compressedSize:i,uncompressedSize:a,zip64UncompressedSize:o,zip64CompressedSize:c},l,{dataDescriptor:u,passThrough:f}){if(u||((!e||f&&s!==_)&&xe(l,vn+Xt,s),c||xe(l,jn+Xt,i),o||xe(l,$n+Xt,a)),n&&r){let d=Ge+te(t)+4;Wn(l,d,Le(a)),Wn(l,d+8,Le(i))}}async function Vh(t,e,n){let r=Wh(t.fileEntries),{directoryStart:s,directoryEnd:i,directoryArray:a}=await Xh(t,r,n),o=await Zh(t,a,n);await Kh(t,e,n,{directoryStart:s,directoryEnd:i,directoryDataLength:r,signatureLength:o})}function Wh(t){let e=0;for(let[,n]of t){let{rawFilename:r,rawExtraFieldAES:s,rawComment:i,rawExtraFieldNTFS:a,rawExtraFieldUnix:o,rawExtraField:c,rawCentralExtraField:l,extendedTimestamp:u,extraFieldExtendedTimestampFlag:f,lastModDate:d,zip64UncompressedSize:w,zip64CompressedSize:h,uncompressedSize:E,compressedSize:m}=n,A=n.offset>=ge,g=n.diskNumberStart>=X,T;if(A||g||w||h){let D=4+(w?8:0)+(h?8:0)+(A?8:0)+(g?4:0),F=Ye(D);F.writeUint16(kr),F.writeUint16(D-4),w&&F.writeUint64(E),h&&F.writeUint64(m),A&&F.writeUint64(n.offset),g&&F.writeUint32(n.diskNumberStart),T=F.array}else T=ie;n.rawExtraFieldZip64=T,n.zip64Offset=A,n.zip64DiskNumberStart=g;let R,S=fr(d);if(u&&sf(S)){let D=Ye(9);D.writeUint16(fi),D.writeUint16(5),D.writeUint8(f),D.writeUint32(S),R=D.array}else R=ie;n.rawExtraFieldExtendedTimestamp=R;let I=te(T,s,a,o,R,c,l);if(I>X)throw new y(Bi);e+=_n+te(r,i)+I}return e}async function Xh(t,e,n){let{fileEntries:r,writer:s}=t,i=new G(e);await Me(s);let a=0,o=0,c=pt(s),l=Gn(s),u=0;for(let[f,d]of nt.from(r.values()).entries()){let{offset:w,rawFilename:h,rawExtraFieldZip64:E,rawExtraFieldAES:m,rawExtraFieldExtendedTimestamp:A,rawExtraFieldNTFS:g,rawExtraFieldUnix:T,rawExtraField:R,rawCentralExtraField:S,rawComment:I,versionMadeBy:D,headerArray:F,headerView:x,zip64UncompressedSize:M,zip64CompressedSize:B,zip64DiskNumberStart:k,zip64Offset:V,internalFileAttributes:b,externalFileAttributes:P,diskNumberStart:L,uncompressedSize:O,compressedSize:U}=d,C=te(E,m,A,g,T,R,S),q=_n+te(h,I)+C;Rn(s,a+q-o)&&(await Et(s,i.slice(o,a)),o=a,u=0,await s.closeDisk()),f==0&&(c=pt(s),l=Gn(s)),M||xe(x,$n,O),B||xe(x,jn,U),(V||k)&&d.version<Tr&&ft(x,Gf,Tr);let Y=Ye(q);if(Y.writeUint32(Pt),Y.writeUint16(D),Y.writeBytes(F.subarray(0,Ge-4-2)),Y.writeUint16(C),Y.writeUint16(te(I)),Y.writeUint16(k?X:L),Y.writeUint16(b),Y.writeUint32(P),Y.writeUint32(V?ge:w),Y.writeBytes(h),Y.writeBytes(E),Y.writeBytes(m),Y.writeBytes(A),Y.writeBytes(g),Y.writeBytes(T),Y.writeBytes(R),Y.writeBytes(S),Y.writeBytes(I),Xn(i,Y.array,a),a+=q,u++,n.onprogress)try{await n.onprogress(f+1,r.size,new Tn(d))}catch{}}return await Et(s,o?i.slice(o):i),{directoryStart:{diskNumber:c,diskOffset:l},directoryEnd:{diskNumber:pt(s),entriesLength:u},directoryArray:i}}async function Zh(t,e,n){let r=ri(t,n,Nu);if(r){let s=await r(e),i=te(s);if(i>X)throw new y(Sh);let a=Ye(6+i);a.writeUint32(go),a.writeUint16(i),a.writeBytes(s);let{writer:o}=t;return Rn(o,te(a.array))&&await o.closeDisk(),await Et(o,a.array),6+i}return 0}async function Kh(t,e,n,r){let{writer:s}=t,{directoryStart:i,directoryEnd:a,signatureLength:o}=r,{directoryDataLength:c}=r,l=t.fileEntries.size,u=i.diskNumber,f=Vn(t,i),d=te(e);if(d>X)throw new y($l);let w=J(t,n,Ci),h=pt(s);if(Rn(s,(w?ia:Ne)+d)&&h++,f>=ge||c>=ge||l>=X||h>=X){if(w===!1)throw new y(Hi);w=!0}let E=Ye(w?ia:Ne);Rn(s,te(E.array)+d)&&await s.closeDisk(),h=pt(s);let m=h==a.diskNumber?a.entriesLength:0;w&&(E.writeUint32(us),E.writeUint64(44),E.writeUint16(45),E.writeUint16(45),E.writeUint32(h),E.writeUint32(u),E.writeUint64(m),E.writeUint64(l),E.writeUint64(c),E.writeUint64(f),E.writeUint32(li),E.writeUint32(h),E.writeUint64(Le(Vn(t,s))+Le(c)+Le(o)),E.writeUint32(h+1),J(t,n,gu,!0)&&(h=X,u=X),m=X,l=X,f=ge,c=ge),E.writeUint32(mo),E.writeUint16(h),E.writeUint16(u),E.writeUint16(m),E.writeUint16(l),E.writeUint32(c),E.writeUint32(f),E.writeUint16(d),await Et(s,E.array),d&&await Et(s,e)}function Ye(t){let e=new G(t),n=Z(e),r=0;return{array:e,writeUint8:s=>{Qh(n,r,s),r+=1},writeUint16:s=>{ft(n,r,s),r+=2},writeUint32:s=>{xe(n,r,s),r+=4},writeUint64:s=>{Wn(n,r,Le(s)),r+=8},writeBytes:s=>{Xn(e,s,r),r+=te(s)},skip:s=>r+=s}}function pt(t){let{diskNumber:e=0}=t;return e}function Gn(t){let{diskOffset:e=0}=t;return e}function Rn(t,e){let{availableSize:n=nn}=t;return e>n}function Vn(t,{diskNumber:e=0,diskOffset:n=0}){return t.offset-n-(e?t.initialOffset:0)}async function qh(t){let e=await Te(t,0,Lt);return Jh(Z(e),0)==qn}function tf(t){let e=Z(t),n=0;for(;n+4<=te(t);){let r=4+Mr(e,n+2);if(Mr(e,n)==kr)return tf(Ut(t.subarray(0,n),t.subarray(W.min(n+r,te(t)))));n+=r}return t}async function jh(t,e,n,r){let{writer:s}=t,i=new ht;if(s.closeDisk){let a=nt.from(n).sort((c,l)=>nr(e,c)-nr(e,l)),o=0;for(let c of a){let l=nr(e,c);await is(t,e,o,l-o),Rn(s,await $h(e,l))&&await s.closeDisk(),i.set(c,{offset:Vn(t,s),diskNumberStart:pt(s)}),o=l}await is(t,e,o,r-o)}else{let a=t.offset;await is(t,e,0,r),n.forEach(o=>i.set(o,{offset:a+nr(e,o),diskNumberStart:0}))}return i}async function is(t,e,n,r){if(r>0){let{writer:s}=t,i=0;try{await rf(Wc(e,{offset:n,size:r}),s,_,a=>i+=a)}catch(a){t.hasCorruptedEntries=!0;try{a.corruptedEntry=!0}catch{}throw a}finally{s.size+=i,t.offset+=i}}}async function $h(t,e){let n=await Te(t,e,Ge);if(te(n)<Ge)return Ge;let r=Z(n);return Ge+Mr(r,Vf+Xt)+Mr(r,Wf+Xt)}function nr(t,{offset:e,diskNumberStart:n}){return e+(t.getDiskOffset?t.getDiskOffset(n):0)}function nf(){let t=new G(Lt);return xe(Z(t),0,qn),t}async function ao(t,e){delete t.addSplitZipSignature,await Et(e,nf()),t.offset+=Lt}async function Et(t,e){let{writable:n}=t,r=n.getWriter();try{await r.ready,t.size+=te(e),await r.write(e)}finally{r.releaseLock()}}async function rf(t,e,n,r){let s=e.writable.getWriter();try{await t.pipeTo(new st({async write(i){await s.ready,await s.write(i),r(te(i))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{s.releaseLock()}}function as(t){if(t){let e=(Le(t.getTime())+Le(116444736e5))*Le(1e4);return e<Ja?Ja:e>Qa?Qa:e}}function fr(t){return W.floor(t.getTime()/1e3)}function sf(t){return t>=Ql&&t<=ef}function oo(t){return W.min(ef,W.max(Ql,t))}function J(t,e,n,r){let s=e[n]===_?t.options[n]:e[n];return s===_?r:s}function os(t,e,n,r){let s=J(t,e,n,r);if(s===null)return r;if(s!==_&&(typeof s.getTime!=Fe||Ae.isNaN(s.getTime())))throw new y(rh);return s}function ri(t,e,n){return di(J(t,e,n))}function af(t,e,n,r,s){let i=co(e,n,r),a=i===_?co(t.options,n,r):i;return a===_?s:a}function co(t,e,n){return t[e]===_?t[n]:t[e]}function an(t,e,n,r){return Yr(J(t,e,n,r))}function lo(t){return t+5*(W.floor(t/16383)+1)}function si(t,e){return t===_?e===_||e>0:t!==Mt}function Mr(t,e){return t.getUint16(e,!0)}function Jh(t,e){return t.getUint32(e,!0)}function Qh(t,e,n){t.setUint8(e,n)}function ft(t,e,n){t.setUint16(e,n,!0)}function xe(t,e,n){t.setUint32(e,n,!0)}function Wn(t,e,n){t.setBigUint64(e,n,!0)}function Xn(t,e,n){t.set(e,n)}function te(...t){let e=0;return t.forEach(n=>n&&(e+=n.length)),e}function of({version:t,bitFlag:e,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,zip64CompressedSize:c,zip64UncompressedSize:l,extraFieldLength:u}){let f=Ye(Ge-4),d=f.array,w=Z(d);if(f.writeUint16(t),f.writeUint16(e),f.writeUint16(n),a===_){let h=new ho(1),E=Z(h);ft(E,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),ft(E,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=h[0]}return f.writeUint32(a),f.skip(4),c||s!==_?f.writeUint32(c?ge:s):f.skip(4),l||r!==_?f.writeUint32(l?ge:r):f.skip(4),f.writeUint16(te(o)),f.writeUint16(u),{headerArray:d,headerView:w,rawLastModDate:a}}function cf(t,e,n,r,s){let i=0;return e&&(i=i|gr),n&&(i=i|_r),(s==Kn||s==hr)&&(t>=0&&t<=3&&(i=i|Bf),t>3&&t<=5&&(i=i|Mf),t==9&&(i=i|vf)),r&&(i=i|wr),i}function Lw(){return"application/octet-stream"}var ew=1024*1024,tw=".zip.js-temp";function Uw(t={}){let{thresholdBytes:e=ew,directoryName:n=tw,getDirectory:r=()=>xn.storage.getDirectory()}=t,s;function i(){return s||(s=_e.resolve(r()).then(a=>a.getDirectoryHandle(n,{create:!0}))),s}return function(){let a=[],o=0,c=!1,l,u,f,d;async function w(){let g=await i();l=nw(),u=await g.getFileHandle(l,{create:!0}),f=(await u.createWritable()).getWriter(),c=!0;for(let T of a)await f.write(T);a.length=0}let h=new st({async write(g){c?await f.write(g):(a.push(g),o+=g.length,o>e&&await w())},async close(){f&&(await f.close(),f=null)}}),E=0,m=new rt({async pull(g){if(c){d||(d=(await u.getFile()).stream().getReader());let{value:T,done:R}=await d.read();R?g.close():g.enqueue(T)}else E<a.length?g.enqueue(a[E++]):g.close()},async cancel(g){d&&await d.cancel(g)}},{highWaterMark:0});async function A(){if(f){try{await f.close()}catch{}f=null}if(l){try{await(await i()).removeEntry(l)}catch{}u=l=null}a.length=0}return{writable:h,readable:m,dispose:A}}}function nw(){return tt.randomUUID?tt.randomUUID():nt.from(tt.getRandomValues(new G(16)),t=>t.toString(16).padStart(2,"0")).join("")}var rw=1024*1024;function vw(t={}){let{thresholdBytes:e=rw}=t;return function(){let n=[],r=0,s=!1,i,a,o;async function c(){let w=new me;a=jt(w.readable),i=w.writable.getWriter(),s=!0;for(let h of n)await i.write(h);n.length=0}let l=new st({async write(w){s?await i.write(w):(n.push(w),r+=w.length,r>e&&await c())},async close(){i&&(await i.close(),i=null)}}),u=0,f=new rt({async pull(w){if(s){o||(o=(await a).stream().getReader());let{value:h,done:E}=await o.read();E?w.close():w.enqueue(h)}else u<n.length?w.enqueue(n[u++]):w.close()},async cancel(w){o&&await o.cancel(w)}},{highWaterMark:0});async function d(){if(i){try{await i.abort()}catch{}i=null}a&&(a.catch(()=>{}),a=null),n.length=0}return{writable:l,readable:f,dispose:d}}}var sw=1024*1024,iw=".zip.js-temp",aw=512*1024,ow="createSyncAccessHandle is only available in dedicated workers";function Mw(t={}){let{thresholdBytes:e=sw,directoryName:n=iw,getDirectory:r}=t;if(!r&&(typeof FileSystemFileHandle>"u"||!FileSystemFileHandle.prototype.createSyncAccessHandle))throw new y(ow);let s=r||(()=>xn.storage.getDirectory()),i;function a(){return i||(i=_e.resolve(s()).then(o=>o.getDirectoryHandle(n,{create:!0}))),i}return function(){let o=[],c=0,l=!1,u,f,d=0,w=0;async function h(){let T=await a();u=cw(),f=await(await T.getFileHandle(u,{create:!0})).createSyncAccessHandle(),l=!0;for(let S of o)f.write(S,{at:d}),d+=S.length;o.length=0}let E=new st({async write(T){l?(f.write(T,{at:d}),d+=T.length):(o.push(T),c+=T.length,c>e&&await h())},close(){f&&f.flush()}}),m=0,A=new rt({pull(T){if(l){let R=d-w;if(R<=0){T.close();return}let S=new G(W.min(aw,R)),I=f.read(S,{at:w});I?(w+=I,T.enqueue(S.subarray(0,I))):T.close()}else m<o.length?T.enqueue(o[m++]):T.close()}},{highWaterMark:0});async function g(){if(f){try{f.close()}catch{}f=null}if(u){try{await(await a()).removeEntry(u)}catch{}u=null}o.length=0}return{writable:E,readable:A,dispose:g}}}function cw(){return tt.randomUUID?tt.randomUUID():nt.from(tt.getRandomValues(new G(16)),t=>t.toString(16).padStart(2,"0")).join("")}try{Uu({baseURI:import.meta.url})}catch{}var Ce=G,Ve=Of,zi=Int32Array,Zr=new Ce([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Kr=new Ce([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),ii=new Ce([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),lf=function(t,e){for(var n=new Ve(31),r=0;r<31;++r)n[r]=e+=1<<t[r-1];for(var s=new zi(n[30]),r=1;r<30;++r)for(var i=n[r];i<n[r+1];++i)s[i]=i-n[r]<<5|r;return{b:n,r:s}},ff=lf(Zr,2),uf=ff.b,ai=ff.r;uf[28]=258,ai[258]=28;var df=lf(Kr,0),lw=df.b,fo=df.r,oi=new Ve(32768);for(ue=0;ue<32768;++ue)_t=(ue&43690)>>1|(ue&21845)<<1,_t=(_t&52428)>>2|(_t&13107)<<2,_t=(_t&61680)>>4|(_t&3855)<<4,oi[ue]=((_t&65280)>>8|(_t&255)<<8)>>1;var _t,ue,ut=(function(t,e,n){for(var r=t.length,s=0,i=new Ve(e);s<r;++s)t[s]&&++i[t[s]-1];var a=new Ve(e);for(s=1;s<e;++s)a[s]=a[s-1]+i[s-1]<<1;var o;if(n){o=new Ve(1<<e);var c=15-e;for(s=0;s<r;++s)if(t[s])for(var l=s<<4|t[s],u=e-t[s],f=a[t[s]-1]++<<u,d=f|(1<<u)-1;f<=d;++f)o[oi[f]>>c]=l}else for(o=new Ve(r),s=0;s<r;++s)t[s]&&(o[s]=oi[a[t[s]-1]++]>>15-t[s]);return o}),Ht=new Ce(288);for(ue=0;ue<144;++ue)Ht[ue]=8;var ue;for(ue=144;ue<256;++ue)Ht[ue]=9;var ue;for(ue=256;ue<280;++ue)Ht[ue]=7;var ue;for(ue=280;ue<288;++ue)Ht[ue]=8;var ue,Zn=new Ce(32);for(ue=0;ue<32;++ue)Zn[ue]=5;var ue,fw=ut(Ht,9,0),uw=ut(Ht,9,1),dw=ut(Zn,5,0),Ew=ut(Zn,5,1),cs=function(t){for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},je=function(t,e,n){var r=e/8|0;return(t[r]|t[r+1]<<8)>>(e&7)&n},ls=function(t,e){var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(e&7)},ki=function(t){return(t+7)/8|0},Ef=function(t,e,n){return(n==null||n>t.length)&&(n=t.length),new Ce(t.subarray(e,n))},hw=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Tt=function(t,e,n){var r=new y(e||hw[t]);if(r.code=t,y.captureStackTrace&&y.captureStackTrace(r,Tt),!n)throw r;return r},ww=function(t,e,n,r){var s=t.length,i=r?r.length:0;if(!s||e.f&&!e.l)return n||new Ce(0);var a=!n,o=a||e.i!=2,c=e.i;a&&(n=new Ce(s*3));var l=function(ne){var pe=n.length;if(ne>pe){var se=new Ce(W.max(pe*2,ne));se.set(n),n=se}},u=e.f||0,f=e.p||0,d=e.b||0,w=e.l,h=e.d,E=e.m,m=e.n,A=s*8;do{if(!w){u=je(t,f,1);var g=je(t,f+1,3);if(f+=3,g)if(g==1)w=uw,h=Ew,E=9,m=5;else if(g==2){var I=je(t,f,31)+257,D=je(t,f+10,15)+4,F=I+je(t,f+5,31)+1;f+=14;for(var x=new Ce(F),M=new Ce(19),B=0;B<D;++B)M[ii[B]]=je(t,f+B*3,7);f+=D*3;for(var k=cs(M),V=(1<<k)-1,b=ut(M,k,1),B=0;B<F;){var P=b[je(t,f,V)];f+=P&15;var T=P>>4;if(T<16)x[B++]=T;else{var L=0,O=0;for(T==16?(O=3+je(t,f,3),f+=2,L=x[B-1]):T==17?(O=3+je(t,f,7),f+=3):T==18&&(O=11+je(t,f,127),f+=7);O--;)x[B++]=L}}var U=x.subarray(0,I),C=x.subarray(I);E=cs(U),m=cs(C),w=ut(U,E,1),h=ut(C,m,1)}else Tt(1);else{var T=ki(f)+4,R=t[T-4]|t[T-3]<<8,S=T+R;if(S>s){c&&Tt(0);break}o&&l(d+R),n.set(t.subarray(T,S),d),e.b=d+=R,e.p=f=S*8,e.f=u;continue}if(f>A){c&&Tt(0);break}}o&&l(d+131072);for(var q=(1<<E)-1,Y=(1<<m)-1,j=f;;j=f){var L=w[ls(t,f)&q],ae=L>>4;if(f+=L&15,f>A){c&&Tt(0);break}if(L||Tt(2),ae<256)n[d++]=ae;else if(ae==256){j=f,w=null;break}else{var oe=ae-254;if(ae>264){var B=ae-257,$=Zr[B];oe=je(t,f,(1<<$)-1)+uf[B],f+=$}var we=h[ls(t,f)&Y],ce=we>>4;we||Tt(3),f+=we&15;var C=lw[ce];if(ce>3){var $=Kr[ce];C+=ls(t,f)&(1<<$)-1,f+=$}if(f>A){c&&Tt(0);break}o&&l(d+131072);var ye=d+oe;if(d<C){var De=i-C,de=W.min(C,ye);for(De+d<0&&Tt(3);d<de;++d)n[d]=r[De+d]}for(;d<ye;++d)n[d]=n[d-C]}}e.l=w,e.p=j,e.b=d,e.f=u,w&&(u=1,e.m=E,e.d=h,e.n=m)}while(!u);return d!=n.length&&a?Ef(n,0,d):n.subarray(0,d)},gt=function(t,e,n){n<<=e&7;var r=e/8|0;t[r]|=n,t[r+1]|=n>>8},In=function(t,e,n){n<<=e&7;var r=e/8|0;t[r]|=n,t[r+1]|=n>>8,t[r+2]|=n>>16},fs=function(t,e){for(var n=[],r=0;r<t.length;++r)t[r]&&n.push({s:r,f:t[r]});var s=n.length,i=n.slice();if(!s)return{t:wf,l:0};if(s==1){var a=new Ce(n[0].s+1);return a[n[0].s]=1,{t:a,l:1}}n.sort(function(S,I){return S.f-I.f}),n.push({s:-1,f:25001});var o=n[0],c=n[1],l=0,u=1,f=2;for(n[0]={s:-1,f:o.f+c.f,l:o,r:c};u!=s-1;)o=n[n[l].f<n[f].f?l++:f++],c=n[l!=u&&n[l].f<n[f].f?l++:f++],n[u++]={s:-1,f:o.f+c.f,l:o,r:c};for(var d=i[0].s,r=1;r<s;++r)i[r].s>d&&(d=i[r].s);var w=new Ve(d+1),h=ci(n[u-1],w,0);if(h>e){var r=0,E=0,m=h-e,A=1<<m;for(i.sort(function(I,D){return w[D.s]-w[I.s]||I.f-D.f});r<s;++r){var g=i[r].s;if(w[g]>e)E+=A-(1<<h-w[g]),w[g]=e;else break}for(E>>=m;E>0;){var T=i[r].s;w[T]<e?E-=1<<e-w[T]++-1:++r}for(;r>=0&&E;--r){var R=i[r].s;w[R]==e&&(--w[R],++E)}h=e}return{t:new Ce(w),l:h}},ci=function(t,e,n){return t.s==-1?W.max(ci(t.l,e,n+1),ci(t.r,e,n+1)):e[t.s]=n},uo=function(t){for(var e=t.length;e&&!t[--e];);for(var n=new Ve(++e),r=0,s=t[0],i=1,a=function(c){n[r++]=c},o=1;o<=e;++o)if(t[o]==s&&o!=e)++i;else{if(!s&&i>2){for(;i>138;i-=138)a(32754);i>2&&(a(i>10?i-11<<5|28690:i-3<<5|12305),i=0)}else if(i>3){for(a(s),--i;i>6;i-=6)a(8304);i>2&&(a(i-3<<5|8208),i=0)}for(;i--;)a(s);i=1,s=t[o]}return{c:n.subarray(0,r),n:e}},Nn=function(t,e){for(var n=0,r=0;r<e.length;++r)n+=t[r]*e[r];return n},hf=function(t,e,n){var r=n.length,s=ki(e+2);t[s]=r&255,t[s+1]=r>>8,t[s+2]=t[s]^255,t[s+3]=t[s+1]^255;for(var i=0;i<r;++i)t[s+i+4]=n[i];return(s+4+r)*8},Eo=function(t,e,n,r,s,i,a,o,c,l,u){gt(e,u++,n),++s[256];for(var f=fs(s,15),d=f.t,w=f.l,h=fs(i,15),E=h.t,m=h.l,A=uo(d),g=A.c,T=A.n,R=uo(E),S=R.c,I=R.n,D=new Ve(19),F=0;F<g.length;++F)++D[g[F]&31];for(var F=0;F<S.length;++F)++D[S[F]&31];for(var x=fs(D,7),M=x.t,B=x.l,k=19;k>4&&!M[ii[k-1]];--k);var V=l+5<<3,b=Nn(s,Ht)+Nn(i,Zn)+a,P=Nn(s,d)+Nn(i,E)+a+14+3*k+Nn(D,M)+2*D[16]+3*D[17]+7*D[18];if(c>=0&&V<=b&&V<=P)return hf(e,u,t.subarray(c,c+l));var L,O,U,C;if(gt(e,u,1+(P<b)),u+=2,P<b){L=ut(d,w,0),O=d,U=ut(E,m,0),C=E;var q=ut(M,B,0);gt(e,u,T-257),gt(e,u+5,I-1),gt(e,u+10,k-4),u+=14;for(var F=0;F<k;++F)gt(e,u+3*F,M[ii[F]]);u+=3*k;for(var Y=[g,S],j=0;j<2;++j)for(var ae=Y[j],F=0;F<ae.length;++F){var oe=ae[F]&31;gt(e,u,q[oe]),u+=M[oe],oe>15&&(gt(e,u,ae[F]>>5&127),u+=ae[F]>>12)}}else L=fw,O=Ht,U=dw,C=Zn;for(var F=0;F<o;++F){var $=r[F];if($>255){var oe=$>>18&31;In(e,u,L[oe+257]),u+=O[oe+257],oe>7&&(gt(e,u,$>>23&31),u+=Zr[oe]);var we=$&31;In(e,u,U[we]),u+=C[we],we>3&&(In(e,u,$>>5&8191),u+=Kr[we])}else In(e,u,L[$]),u+=O[$]}return In(e,u,L[256]),u+O[256]},_w=new zi([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),wf=new Ce(0),gw=function(t,e,n,r,s,i){var a=i.z||t.length,o=new Ce(r+a+5*(1+W.ceil(a/7e3))+s),c=o.subarray(r,o.length-s),l=i.l,u=(i.r||0)&7;if(e){u&&(c[0]=i.r>>3);for(var f=_w[e-1],d=f>>13,w=f&8191,h=(1<<n)-1,E=i.p||new Ve(32768),m=i.h||new Ve(h+1),A=W.ceil(n/3),g=2*A,T=function(Q){return(t[Q]^t[Q+1]<<A^t[Q+2]<<g)&h},R=new zi(25e3),S=new Ve(288),I=new Ve(32),D=0,F=0,x=i.i||0,M=0,B=i.w||0,k=0;x+2<a;++x){var V=T(x),b=x&32767,P=m[V];if(E[b]=P,m[V]=b,B<=x){var L=a-x;if((D>7e3||M>24576)&&(L>423||!l)){u=Eo(t,c,0,R,S,I,F,M,k,x-k,u),M=D=F=0,k=x;for(var O=0;O<286;++O)S[O]=0;for(var O=0;O<30;++O)I[O]=0}var U=2,C=0,q=w,Y=b-P&32767;if(L>2&&V==T(x-Y))for(var j=W.min(d,L)-1,ae=W.min(32767,x),oe=W.min(258,L);Y<=ae&&--q&&b!=P;){if(t[x+U]==t[x+U-Y]){for(var $=0;$<oe&&t[x+$]==t[x+$-Y];++$);if($>U){if(U=$,C=Y,$>j)break;for(var we=W.min(Y,$-2),ce=0,O=0;O<we;++O){var ye=x-Y+O&32767,De=E[ye],de=ye-De&32767;de>ce&&(ce=de,P=ye)}}}b=P,P=E[b],Y+=b-P&32767}if(C){R[M++]=268435456|ai[U]<<18|fo[C];var ne=ai[U]&31,pe=fo[C]&31;F+=Zr[ne]+Kr[pe],++S[257+ne],++I[pe],B=x+U,++D}else R[M++]=t[x],++S[t[x]]}}for(x=W.max(x,B);x<a;++x)R[M++]=t[x],++S[t[x]];u=Eo(t,c,l,R,S,I,F,M,k,x-k,u),l||(i.r=u&7|c[u/8|0]<<3,u-=7,i.h=m,i.p=E,i.i=x,i.w=B)}else{for(var x=i.w||0;x<a+l;x+=65535){var se=x+65535;se>=a&&(c[u/8|0]=l,se=a),u=hf(c,u+1,t.subarray(x,se))}i.i=a}return Ef(o,0,r+ki(u)+s)},mw=function(t,e,n,r,s){if(!s&&(s={l:1},e.dictionary)){var i=e.dictionary.subarray(-32768),a=new Ce(i.length+t.length);a.set(i),a.set(t,i.length),t=a,s.w=i.length}return gw(t,e.level==null?6:e.level,e.mem==null?s.l?W.ceil(W.max(8,W.min(13,W.log(t.length)))*1.5):20:12+e.mem,n,r,s)};function _f(t,e){return mw(t,e||{},0,0)}function Bw(t,e){return ww(t,{i:2},e&&e.out,e&&e.dictionary)}var Tw=typeof Er<"u"&&new Er,Rw=0;try{Tw.decode(wf,{stream:!0}),Rw=1}catch{}async function Yi(t,{password:e,prompt:n=()=>{},zipOptions:r={useWebWorkers:!0},noBlobURL:s,entries:i,pagePath:a=""}={}){let o={gif:"image/gif",jpg:"image/jpeg",png:"image/png",tif:"image/tiff",tiff:"image/tiff",bmp:"image/bmp",ico:"image/vnd.microsoft.icon",webp:"image/webp",svg:"image/svg+xml",avi:"video/x-msvideo",ogv:"video/ogg",mp4:"video/mp4",mpeg:"video/mpeg",ts:"video/mp2t",webm:"video/webm","3gp":"video/3gpp","3g2":"video/3gpp",mp3:"audio/mpeg",oga:"audio/ogg",mid:"audio/midi",midi:"audio/midi",opus:"audio/opus",wav:"audio/wav",weba:"audio/webm",heif:"image/heif",heic:"image/heic",avif:"image/avif",apng:"image/apng",mov:"video/quicktime",otf:"font/otf",ttf:"font/ttf",woff:"font/woff",woff2:"font/woff2",eot:"application/vnd.ms-fontobject",pdf:"application/pdf"},c=/stylesheet_[0-9]+\.css/,l=/scripts\/[0-9]+\.js/,u=/^([0-9_]+\/)?index\.html$/,f=/index\.html$/,d=/frames\//,w=/^frames\/\d+\/index.html/,h=/manifest\.json$/,E=";charset=utf-8",m=/([{}()^$&.*?/+|[\\\\]|\]|-)/g,A;if(zip.configure(r),!i){let b;t.readUint8Array?b=t:(Array.isArray(t)&&(t=new Blob([new Uint8Array(t)])),b=new zip.BlobReader(t)),A=new zip.ZipReader(b),i=await A.getEntries()}a&&(i=i.filter(b=>b.filename.startsWith(a)));let g={password:e},T,R,S,I=[],D=[],F=[];await Promise.all(i.map(async b=>{let P=b.filename.substring(a.length),L,O,U,C,q={};if(!g.password&&b.encrypted&&(g.password=n("Please enter the password to view the page")),P.match(f)||P.match(c)||P.match(l))P.match(f)?D.push(q):F.push(q),L=new zip.TextWriter,b.uncompressedSize>0?U=await b.getData(L,g):U="",P.match(f)?C="text/html"+E:P.match(c)?C="text/css"+E:P.match(l)&&(C="text/javascript"+E);else{I.push(q);let oe=P.match(/\.([^.]+)/);if(oe&&oe[1]&&o[oe[1]]?C=o[oe[1]]:C="application/octet-stream",P.match(d)||s)O=await b.getData(new zip.Data64URIWriter(C),g);else{let $=await b.getData(new zip.BlobWriter(C),g);O=URL.createObjectURL($)}}let Y=P.match(/^([0-9_]+\/)?(.*)$/)[2],j="",ae=P.match(/(.*\/)[^/]+$/);ae&&ae[1]&&(j=ae[1]),Object.assign(q,{prefixPath:j,filename:P,name:Y,url:b.comment,content:O,mimeType:C,textContent:U,parentResources:[]})})),A&&await A.close(),D.sort(k),F.sort(V),I=I.sort(k).concat(...F).concat(...D);for(let b of I){let{filename:P,prefixPath:L}=b,{textContent:O}=b;O!==void 0&&(P.match(u)&&(R=O),P.match(l)||(I.forEach(U=>{let{filename:C,parentResources:q,content:Y}=U;if(C.startsWith(L)&&C!=b.filename){let j=C.substring(L.length);j.match(h)||O.includes(j)&&(q.push(b.filename),U.textContent===void 0&&(O=B(O,j,Y)))}}),b.textContent=O))}for(let b of I){let{textContent:P,prefixPath:L,filename:O}=b;if(P!==void 0){if(!O.match(l)){let U=O;for(let C of I){let{filename:q}=C;if(q.startsWith(L)&&q!=U){let Y=q.substring(L.length);Y.match(h)||P.indexOf(Y)!=-1&&(C.content=await x(C),P=B(P,Y,C.content))}}b.textContent=P,b.content=await x(b)}O.match(u)&&(T=P,S=b.url)}}return{docContent:T,origDocContent:R,resources:I,url:S};async function x(b){return b.filename.match(d)&&!b.filename.match(w)||s?await M(b.textContent,b.mimeType):URL.createObjectURL(new Blob([b.textContent],{type:b.mimeType}))}async function M(b,P){let L=new FileReader;return L.readAsDataURL(new Blob([b],{type:P})),new Promise((O,U)=>{L.onload=()=>O(L.result.replace(E,"")),L.onerror=U})}function B(b,P,L){if(typeof b.replaceAll=="function")return b.replaceAll(P,L);{let O=new RegExp(P.replace(m,"\\$1"),"g");return b.replace(O,L)}}function k(b,P){let L=P.filename.length-b.filename.length;return L||P.filename.localeCompare(b.filename)}function V(b,P){let L=b.filename.length-P.filename.length;return L||b.filename.localeCompare(P.filename)}}async function Gi(t,e,{disableFramePointerEvents:n,inPlace:r}={}){e=e.replace(/<noscript/gi,"<template disabled-noscript"),e=e.replace(/<\/noscript/gi,"</template");let s=new DOMParser().parseFromString(e,"text/html");if(n&&s.querySelectorAll("iframe").forEach(a=>{let o="pointer-events";a.style.setProperty("-sf-"+o,a.style.getPropertyValue(o),a.style.getPropertyPriority(o)),a.style.setProperty(o,"none","important")}),r&&s.compatMode==t.compatMode&&!s.querySelector("script")){await Promise.all(Array.from(s.querySelectorAll("link[rel~=stylesheet][href]")).map(c=>new Promise(l=>{let u=t.createElement("link");u.rel="preload",u.as="style",u.href=c.getAttribute("href"),u.onload=l,u.onerror=l,t.head.appendChild(u),setTimeout(l,500)})));let a=t.documentElement,o=t.adoptNode(s.documentElement);for(;a.attributes.length;)a.removeAttribute(a.attributes[0].name);if(Array.from(o.attributes).forEach(c=>a.setAttribute(c.name,c.value)),a.replaceChildren(...o.childNodes),t.querySelector("link[rel~=stylesheet][href]")){let c=t.createElement("style");c.textContent="html{visibility:hidden}",t.head.appendChild(c);let l=Date.now();for(;Date.now()-l<500&&Array.from(t.querySelectorAll("link[rel~=stylesheet][href]")).some(u=>!u.sheet);)await new Promise(u=>setTimeout(u,10));c.remove()}}else t.open(),t.write(i(s)),t.write(s.documentElement.outerHTML),t.close();t.querySelectorAll("template[disabled-noscript]").forEach(a=>{let o=t.createElement("noscript");a.removeAttribute("disabled-noscript"),Array.from(a.attributes).forEach(c=>o.setAttribute(c.name,c.value)),o.textContent=a.innerHTML,a.parentElement.replaceChild(o,a)}),t.documentElement.setAttribute("data-sfz",""),t.querySelectorAll("link[rel*=icon]").forEach(a=>a.replaceWith(a.cloneNode(!0)));function i(a){let o=a.doctype,c="";return o&&(c="<!DOCTYPE "+o.nodeName,o.publicId?(c+=' PUBLIC "'+o.publicId+'"',o.systemId&&(c+=' "'+o.systemId+'"')):o.systemId&&(c+=' SYSTEM "'+o.systemId+'"'),o.internalSubset&&(c+=" ["+o.internalSubset+"]"),c+="> "),c}}async function gf(t,{extract:e,display:n}){let r="pages/",s="sfz-",i="sfz-pages.json",a="sfz-toc.html",o="#sfz/",c="?toc",l="data-sfz-target",u=/:target(?![\w-])/g,f="data-sfz-visited",d=/:visited(?![\w-])/g,w="#551a8b",h="data-sfz-unarchived",E="a["+h+']::after{content:" \\2197";font-size:.75em;opacity:.7}',m="Not saved in this archive",A=["http:","https:"],g=100,{zip:T,document:R,location:S,history:I,CSS:D,URL:F,setTimeout:x,clearTimeout:M}=globalThis,B=new Map,k=new Map,V=new Map,b=new Set,P=Math.random().toString(36).substring(2),L,O,U,C,q=0;try{I.scrollRestoration="manual"}catch{}T.configure({useWebWorkers:!0});let j=await new T.ZipReader(t.readUint8Array?t:new T.BlobReader(t)).getEntries(),ae=j.find(p=>p.filename==i);if(!ae)throw new Error("Pages data not found");let oe=JSON.parse(await ae.getData(new T.TextWriter)),$=j.find(p=>p.filename==a),{pages:we}=oe,ce=new Map(Object.entries(oe.aliases||{}));return we.forEach(p=>{k.set(fe(p.url),p.path),p.originalUrls&&p.originalUrls.forEach(N=>k.set(fe(N),p.path))}),ye(),O=Ke(),O===null&&(O=Se()),pe(!0);function ye(){globalThis.addEventListener("click",de,!0),globalThis.addEventListener("auxclick",de,!0),globalThis.addEventListener("mouseover",Nt,!0),globalThis.addEventListener("hashchange",De)}function De(){ne().catch(p=>globalThis.console.error(p))}function de(p){if(p.type=="auxclick"&&p.button!=1)return;let N=Dt(p.target);if(N&&N.href){let z=yn(N.href);if(z&&z.startsWith(o)&&fe(N.href)==fe(S.href))return;let ee=k.get(fe(N.href));if(ee===void 0&&z&&fe(N.href)==fe(S.href)&&(ee=L),ee!==void 0)if(p.preventDefault(),p.type=="auxclick"||p.metaKey||p.ctrlKey||p.shiftKey||p.altKey)globalThis.open(fe(S.href)+o+ee+(z||""));else{let he=S.hash;S.hash=o+ee+(z||""),S.hash==he&&z&&(kt(),ze(z))}}}async function ne(){kt(),V.set(O,it());let p=zt(),N=Ke(),{routed:z,path:ee,fragment:he}=se();z&&ee!=L&&le(ee)&&R.startViewTransition&&!Be()?await R.startViewTransition(er).updateCallbackDone:await er();async function er(){let xt=await pe();xt&&Yt(),Gt(xt)}function Gt(xt){if(N!==null){O=N;let Oe=V.get(N);if(Oe&&(Xe(Oe.elements),globalThis.scrollTo(Oe.x,Oe.y)),he){let Vt=bt(he);Vt&&wt(Vt)}}else O=Se(),xt&&Xe(p),he?ze(he):xt&&globalThis.scrollTo(0,0)}}async function pe(p){let{routed:N,path:z,fragment:ee}=se();if(!N&&!p||z==L||!le(z))return!1;let he=await H(z);return L=z,await n(R,he,{inPlace:!0}),ye(),z==c&&be(),b.add(z),at(),oe.markUnarchivedLinks&&qe(),p&&(ee?ze(ee):!N&&S.hash&&ze(S.hash)),!0}function se(){let p=S.hash,N=!p||p.startsWith(o),z=we[0].path,ee;return N&&p&&({path:z,fragment:ee}=Q(p)),{routed:N,path:z,fragment:ee}}function Q(p){let N=p.substring(o.length),z=N.indexOf("#");return{path:decodeURIComponent(z==-1?N:N.substring(0,z)),fragment:z==-1?void 0:N.substring(z)}}function le(p){return p==c?!!$:!!we.find(N=>N.path==p)}function H(p){if(!B.has(p)){let N=Ie(p);N.catch(()=>B.delete(p)),B.set(p,N)}return B.get(p)}async function Ie(p){if(p==c)return $.getData(new T.TextWriter);let N=j.filter(ee=>Ue(ee.filename,p)&&!ce.has(ee.filename)).concat(Ee(p)),{docContent:z}=await e(null,{entries:N,pagePath:p});return z}function Ee(p){return Array.from(ce).filter(([N])=>Ue(N,p)).map(([N,z])=>{let ee=j.find(he=>he.filename==z);return ee&&{filename:N,comment:ee.comment,encrypted:ee.encrypted,uncompressedSize:ee.uncompressedSize,getData:(he,ot)=>ee.getData(he,ot)}}).filter(Boolean)}function Ue(p,N){return N==""?!p.startsWith(r)&&!p.startsWith(s):p.startsWith(N)}function be(){let p=new Map;we.forEach(N=>p.set(new F(N.path+"index.html",fe(S.href)).href,N.path)),R.querySelectorAll("a[href]").forEach(N=>{let z=yn(N.href),ee=p.get(fe(N.href));ee!==void 0&&N.setAttribute("href",o+ee+(z||""))})}function He(p){let N=yn(p);return N&&N.startsWith(o)&&fe(p)==fe(S.href)?Q(N).path:k.get(fe(p))}function Nt(p){let N=Dt(p.target);if(N&&N.href){let z=He(N.href);z!==void 0&&z!=L&&!B.has(z)&&(M(C),C=x(()=>H(z).catch(()=>{}),g))}}function Dt(p){for(;p&&p.tagName!="A";)p=p.parentNode;return p}function Be(){return!!(globalThis.matchMedia&&globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches)}function Ke(){let p=I.state;return p&&p.sfzSession==P&&typeof p.sfzEntry=="number"?p.sfzEntry:null}function Se(){let p=q++;try{I.replaceState({sfzSession:P,sfzEntry:p},"")}catch{}return p}function it(){return{x:globalThis.scrollX,y:globalThis.scrollY,elements:zt()}}function zt(){let p=[];return R.querySelectorAll("*").forEach(N=>{if(N.scrollTop||N.scrollLeft){let z=tn(N);z&&p.push({path:z,top:N.scrollTop,left:N.scrollLeft})}}),p}function Xe(p){p.forEach(({path:N,top:z,left:ee})=>{let he;try{he=R.querySelector(N)}catch{}he&&(he.scrollTop=z,he.scrollLeft=ee)})}function tn(p){let N=[];for(;p&&p.parentElement;){if(p.id&&D)return N.unshift("#"+D.escape(p.id)),N.join(">");let z=p.parentElement;N.unshift(p.tagName+":nth-child("+(Array.from(z.children).indexOf(p)+1)+")"),p=z}return N.join(">")}function ze(p){let N=bt(p);N&&(wt(N),N.scrollIntoView())}function bt(p){let N=decodeURIComponent(p.substring(1)),z=R.getElementById(N);return!z&&D&&(z=R.querySelector("a[name="+D.escape(N)+"]")),z}function wt(p){let N=Pe(u,l);N&&(p.setAttribute(l,""),U=R.createElement("style"),U.textContent=N,R.head.appendChild(U))}function at(){let p=R.createElement("style");p.textContent="a["+f+"]{color:"+w+"}"+Pe(d,f),R.head.appendChild(p),R.querySelectorAll("a[href]").forEach(N=>{let z=He(N.href);z!==void 0&&b.has(z)&&N.setAttribute(f,"")})}function qe(){let p=R.createElement("style");p.textContent=E,R.head.appendChild(p),R.querySelectorAll("a[href]").forEach(N=>{A.includes(N.protocol)&&k.get(fe(N.href))===void 0&&fe(N.href)!=fe(S.href)&&(N.setAttribute(h,""),N.hasAttribute("title")||N.setAttribute("title",m))})}function kt(){if(U){let p=R.querySelector("["+l+"]");p&&p.removeAttribute(l),U.remove(),U=void 0}}function Pe(p,N){let z="";return Array.from(R.styleSheets).forEach(ee=>{try{z+=Ot(ee.cssRules,p,N)}catch{}}),z}function Ot(p,N,z){let ee="";return Array.from(p).forEach(he=>{if(he.cssRules&&he.cssRules.length){let ot=Ot(he.cssRules,N,z);ot&&(ee+=he.cssText.substring(0,he.cssText.indexOf("{")+1)+ot+"}")}else if(he.selectorText){let ot=he.selectorText.replace(N,"["+z+"]");ot!=he.selectorText&&(ee+=ot+"{"+he.style.cssText+"}")}}),ee}function Yt(){let p=R.querySelector("h1")||R.body;p&&(p.setAttribute("tabindex","-1"),p.focus({preventScroll:!0}))}function fe(p){let N=p.indexOf("#");return N==-1?p:p.substring(0,N)}function yn(p){let N=p.indexOf("#");return N==-1?void 0:p.substring(N)}}var{Blob:Ki,fetch:pw,TextEncoder:en,TextDecoder:Aw,DOMParser:mf}=globalThis,qi=new Aw("windows-1252"),yw=[".jpg",".jpeg",".png",".avi",".apng",".pdf",".woff2",".mp4",".mp3",".ogg",".webp",".webm",".avi",".mpeg",".ts",".ogv",".heif",".heic"],Sw="/lib/single-file-zip.min.js",Qn=[["<noscript>","</noscript>"],["<noframes>","</noframes>"],["<noembed>","</noembed>"],["<script type=sfz-data>","</script>"],["<style type=sfz-data>","</style>"],["<iframe>","</iframe>"],["<xmp>","</xmp>"],["<plaintext>","</plaintext>"]],pf=[["<!--","-->"],...Qn],Ji=[[/<noscript/i,/<\/noscript[\t\n\f\r />]/i],[/<noframes/i,/<\/noframes[\t\n\f\r />]/i],[/<noembed/i,/<\/noembed[\t\n\f\r />]/i],[/<script/i,/<\/script[\t\n\f\r />]/i],[/<style/i,/<\/style[\t\n\f\r />]/i],[/<iframe/i,/<\/iframe[\t\n\f\r />]/i],[/<xmp/i,/<\/xmp[\t\n\f\r />]/i],[/<plaintext/i,/<\/plaintext[\t\n\f\r />]/i]],Af=[[/<!--/i,/--!?>/i],...Ji],ji=new Uint32Array(256).map((t,e)=>{let n=e;for(let r=0;r<8;r++)n=n&1?3988292384^n>>>1:n>>>1;return n}),Vi=12,Tf=8,Rf=25,qr=globalThis.browser;async function $w(t,e,n=new Date){let r;return e.zipScript?r=e.zipScript:qr&&qr.runtime&&qr.runtime.getURL&&(Jo({workerURI:"/lib/single-file-z-worker.js"}),r=await(await pw(qr.runtime.getURL(Sw))).text()),An(t,e,r,s=>(t.url=e.url,t.archiveTime=new Date().toISOString(),Nf(s,t,{password:e.password,disableCompression:e.disableCompression},e.createRootDirectory?String(Date.now())+"_"+(e.tabId||0)+"/":"",e.url)),n)}async function An(t,e,n,r,s=new Date){let i=new Fr;i.init();let a,o,c,l;if(e.embeddedImage){e.embeddedImage=new Uint8Array(e.embeddedImage);let h=e.embeddedImage.slice(Tf+Rf,e.embeddedImage.length-Vi);if(await We(i.writable,e.embeddedImage.slice(0,Tf+Rf)),e.selfExtractingArchive){let E=qi.decode(h),m=Af.slice(0,-1).findIndex(R=>!E.match(R[1])),A;[A,l]=m==-1?["",""]:pf[m];let g=Sf(t,e,A),T=new Uint8Array([...Xi(g.length+4),116,69,88,116,80,78,71,0,...g]);await We(i.writable,T),await We(i.writable,Wi(T,4))}else if(e.embeddedPdf){let E=new Uint8Array([...Xi(e.embeddedPdf.length+4),116,69,88,116,80,68,70,0,...new Uint8Array(e.embeddedPdf)]);await We(i.writable,E),await We(i.writable,Wi(E,4))}await We(i.writable,h),await We(i.writable,new Uint8Array(4)),c=i.offset,await We(i.writable,new Uint8Array([116,69,88,116,90,73,80,0])),e.selfExtractingArchive&&await We(i.writable,new en().encode(l))}e.selfExtractingArchive?a=await Iw(t,i,n,e):!e.embeddedImage&&e.embeddedPdf&&await We(i.writable,new Uint8Array(e.embeddedPdf));let u=i.offset,f=new Yn({writable:i.writable,size:u},{bufferedWrite:!0,keepOrder:!0,lastModDate:s,useCompressionStream:!0});await r(f),await f.close(void 0,{preventClose:!0});let d=i.getData();if(e.selfExtractingArchive){let h=[],E=-1;if(e.extractDataFromPage){if(!e.extractDataFromPageTags||e.extractDataFromPageTags[0]!="<plaintext>"){let g=qi.decode(d.subarray(u));if(e.extractDataFromPageTags){let T=Qn.indexOf(e.extractDataFromPageTags),R=Ji[T];if(g.match(R[0])||g.match(R[1]))return $i(g,t,e,n,r,s,T+1)}else if(g.match(/<!--/i)||g.match(/--!?>/i))return $i(g,t,e,n,r,s)}for(let g=u;g<d.length;g++){let T=d[g];E=E>>>8^ji[(E^T)&255],T==10?h.push(0):T==13&&(d[g+1]==10?(g++,E=E>>>8^ji[(E^10)&255],h.push(2)):h.push(1))}E=(E^-1)>>>0}let m="";e.preventAppendedData||(e.extractDataFromPageTags?m+=e.extractDataFromPageTags[1]:m+="-->");let A=e.preventAppendedData||e.embeddedImage?"":"</body></html>";if(e.extractDataFromPage){let g=new Uint32Array(3+Math.ceil(h.length/16));if(g[0]=E,g[1]=d.length-u,g[2]=h.length,h.forEach((T,R)=>g[3+(R>>4)]|=T<<(R&15)*2),o="<sfz-extra-data>"+bw(_f(new Uint8Array(g.buffer)))+"</sfz-extra-data>",e.preventAppendedData||o.length>65535-A.length-(e.embeddedImage?Vi:0)){if(!e.extraDataSize)return e.extraDataSize=Math.floor(o.length*1.001),An(t,e,n,r,s)}else{if(e.extraDataSize)return e.extraDataSize=void 0,An(t,e,n,r,s);m+=o}}m+=A,await We(i.writable,new en().encode(m))}await i.writable.close();let w=await i.getData();if(e.extractDataFromPage&&e.extraDataSize!==void 0)if(e.extraDataSize>=o.length)w.set(new en().encode(o),u-a);else return e.extraData=o,e.extraDataSize=Math.floor(o.length*1.001),An(t,e,n,r,s);return e.embeddedImage?(w.set(Xi(i.offset-c-4),c-4),new Ki([w,Wi(w,c),e.embeddedImage.slice(e.embeddedImage.length-Vi)],{type:"application/octet-stream"})):new Ki([w],{type:"application/octet-stream"})}function Wi(t,e=0){let n=new Uint8Array(4),r=-1;for(;e<t.length;e++)r=r>>>8^ji[(r^t[e])&255];return r^=-1,yf(n,r),n}function Xi(t){let e=new Uint8Array(4);return yf(e,t),e}function yf(t,e){t[0]=e>>24,t[1]=e>>16,t[2]=e>>8,t[3]=e}async function Iw(t,e,n,r){let s="";if(r.embeddedImage||await We(e.writable,Sf(t,r)),s+="<div id=sfz-wait-message>Please wait...</div>",r.extractDataFromPage?(s+="<div id=sfz-error-message><strong>Error</strong>: Cannot extract the data of the page.",s+=' The file is still a valid ZIP file, you can rename it with a "zip" extension and unzip it to display the page and its resources.</div>'):(s+="<div id=sfz-error-message><strong>Error</strong>: Cannot open the page from the filesystem.",s+="<ul style='line-height:20px;'>",s+=`<li style='margin-bottom:10px'><strong>Chrome/Edge/Brave</strong>: Install <a href='https://www.getsinglefile.com'>SingleFile</a> and enable the option "Allow access to file URLs" in the details page of the extension.</li>`,s+='<li><strong>Safari</strong>: Select "Security > Disable Local File Restrictions" in the "Develop > Developer settings" menu.</li></ul></div>'),t.tocContent&&(s+=t.tocContent),r.insertTextBody){let u=new mf().parseFromString(t.content,"text/html");u.body.querySelectorAll("style, script, noscript").forEach(d=>d.remove());let f="";r.extractDataFromPage&&(f+=If(t)+`
|
|
2
|
+
|
|
3
|
+
`),f+=u.body.innerText,u.body.querySelectorAll("single-file-note").forEach(d=>{let w=d.querySelector("template");if(w){let h=new mf().parseFromString(w.innerHTML,"text/html");f+=`
|
|
4
|
+
`+h.body.querySelector("textarea").value}}),f=f.replace(/</g,"<").replace(/>/g,">").replace(/\n +/g,`
|
|
5
|
+
`).replace(/\n\n\n+/g,`
|
|
6
|
+
|
|
7
|
+
`).trim(),s+=`
|
|
8
|
+
<main hidden>
|
|
9
|
+
`+f+`
|
|
10
|
+
</main>
|
|
11
|
+
`}let i={insertEmbeddedImage:!!r.embeddedImage,insertEmbeddedScreenshotImage:!!r.embeddedScreenshotImage},a=r.multiPageArchive?"("+gf.toString().replace(/\n|\t/g,"")+")(content,{extract:"+Yi.toString().replace(/\n|\t/g,"")+",display:"+Gi.toString().replace(/\n|\t/g,"")+"})":"("+Yi.toString().replace(/\n|\t/g,"")+")(content,{prompt}).then(({docContent}) => "+Gi.toString().replace(/\n|\t/g,"")+"(document,docContent,"+JSON.stringify(i)+"))";n="<script>"+n+"document.currentScript.remove();globalThis.bootstrap=(()=>{let bootstrapStarted;return async content=>{if (bootstrapStarted) return bootstrapStarted; bootstrapStarted = "+a+";return bootstrapStarted;}})();("+Dw.toString().replace(/\n|\t/g,"")+')().then(globalThis.bootstrap).then(() => document.dispatchEvent(new CustomEvent("single-file-display-infobar"))).catch(error => {console.error(error);const waitMessage = document.getElementById("sfz-wait-message");if (waitMessage) { waitMessage.remove(); }const errorMessage = document.getElementById("sfz-error-message");if (errorMessage) { errorMessage.hidden = false; document.body.hidden = false; }});</script>',s+=n;let o="";if(r.extractDataFromPage&&r.extraDataSize){let u="<sfz-extra-data></sfz-extra-data>";o+=u+new Array(r.extraDataSize-u.length).fill(" ").join("")}s+=o;let c=r.extractDataFromPageTags?r.extractDataFromPageTags[0]:"<!--";s+=(o?" ":"")+c;let l=c.length+o.length+(o?1:0);return await We(e.writable,new en().encode(s)),l}function Sf(t,e,n=""){let r="";e.includeBOM&&!e.extractDataFromPage&&!e.embeddedImage&&(r+="\uFEFF"),r+=e.embeddedImage?"":t.doctype,r+="<html data-sfz>",r+=t.comment&&!e.embeddedImage?"<!--"+t.comment+"-->":"";let s=e.extractDataFromPage?"windows-1252":"utf-8";r+="<meta charset="+s+">";let i=Nw(t,e),a;if(e.embeddedPdf){let o=qi.decode(new Uint8Array(e.embeddedPdf)),c=Af.slice(0,-1).findIndex(w=>!o.match(w[1])),[l,u]=c==-1?["",""]:pf[c],f=new en().encode(r+l),d=new en().encode(u+i+n);a=new Uint8Array(f.length+d.length+e.embeddedPdf.length),a.set(f),a.set(e.embeddedPdf,f.length),a.set(d,f.length+e.embeddedPdf.length)}else a=new en().encode(r+i+n);return a}function Nw(t,e){let n="",r=e.extractDataFromPage?"":If(t);return n+="<title>"+r+"</title>",e.insertCanonicalLink&&(n+='<link rel=canonical href="'+e.url+'">'),e.insertMetaNoIndex&&(n+="<meta name=robots content=noindex>"),t.viewport&&(n+="<meta name=viewport content="+JSON.stringify(t.viewport)+">"),e.insertMetaCSP&&(n+=`<meta http-equiv=content-security-policy content=${JSON.stringify("default-src 'none';connect-src 'self' data: blob:;font-src 'self' data: blob:;img-src 'self' data: blob:;style-src 'self' 'unsafe-inline' data: blob:;frame-src 'self' data: blob:;media-src 'self' data: blob:;script-src 'self' 'unsafe-inline' data: blob:;object-src 'self' data: blob:")}>`),n+="<style>@keyframes display-wait-message{0%{opacity:0}100%{opacity:1}};body{color:transparent};div{color:initial}body>:not(#sfz-wait-message,#sfz-error-message){display:none}</style>",n+="<body hidden>",n}function If(t){return t.title.replace(/</g,"<").replace(/>/g,">")||""}function $i(t,e,n,r,s,i,a=0){let o=Ji[a];return!(Qn[a][0]=="<plaintext>")&&(t.match(o[0])||t.match(o[1]))?a<Qn.length-1?$i(t,e,n,r,s,i,a+1):(n.extractDataFromPage=!1,An(e,n,r,s,i)):(n.extractDataFromPageTags=Qn[a],n.extractDataFromPageTags[0]=="<plaintext>"&&(n.preventAppendedData=!0),An(e,n,r,s,i))}async function We(t,e){let n=t.getWriter();await n.ready,await n.write(e),n.releaseLock()}async function Nf(t,e,n,r,s){let i={};for(let o of Object.keys(e.resources))for(let c of e.resources[o])c.password=n.password,c.url&&!c.url.startsWith("data:")&&(i[c.name]=c.url);let a=JSON.stringify({originalUrl:e.url,title:e.title,archiveTime:e.archiveTime,indexFilename:"index.html",resources:i},null,2);await Promise.all([Promise.all([Zi(t,r,{name:"index.html",extension:".html",content:e.content,url:s,password:n.password},n.disableCompression),Zi(t,r,{name:"manifest.json",extension:".json",content:a,password:n.password},n.disableCompression)]),Promise.all(Object.keys(e.resources).map(async o=>Promise.all(e.resources[o].map(c=>o=="frames"?Nf(t,c,n,r+c.name,c.url):Zi(t,r,c,n.disableCompression)))))])}async function Zi(t,e,n,r){let s=typeof n.content=="string"?new Or(n.content):new St(new Ki([new Uint8Array(n.content)])),i={comment:n.url&&n.url.startsWith("data:")?"data:":n.url,password:n.password,bufferedWrite:!0};(yw.includes(n.extension)||r)&&(i.level=0),await t.add(e+n.name,s,i)}async function Dw(){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",{Blob:e,XMLHttpRequest:n,document:r,zip:s,location:i}=globalThis,a=new Map([[65533,0],[8364,128],[8218,130],[402,131],[8222,132],[8230,133],[8224,134],[8225,135],[710,136],[8240,137],[352,138],[8249,139],[338,140],[381,142],[8216,145],[8217,146],[8220,147],[8221,148],[8226,149],[8211,150],[8212,151],[732,152],[8482,153],[353,154],[8250,155],[339,156],[382,158],[376,159]]),o=new Uint32Array(256).map((d,w)=>{let h=w;for(let E=0;E<8;E++)h=h&1?3988292384^h>>>1:h>>>1;return h});return new Promise((d,w)=>{let h=!1;i.protocol=="file:"?E():m();async function E(){try{await c(r),r.body.querySelectorAll("meta, style").forEach(g=>r.head.appendChild(g));let A=u();l("sfz-wait-message",2),d(A)}catch(A){console.error(A),l("sfz-error-message",2),w(A)}}function m(){let A=new n;A.responseType="blob",A.open("GET",""),A.onerror=()=>{h?(l("sfz-error-message",2),w()):E()},A.send(),A.onreadystatechange=()=>{if(A.readyState===2&&A.status===200&&!h){h=!0;let g=A.getResponseHeader("Accept-Ranges")==="bytes";A.abort(),l("sfz-wait-message",2),g?d(new s.HttpRangeReader(i.href,{useXHR:!0,combineSizeEocd:!0})):m()}},h&&(A.onload=()=>d(A.response))}});function c(d){return new Promise(w=>{d.readyState==="complete"||d.readyState==="interactive"?w():d.addEventListener("DOMContentLoaded",()=>w())})}function l(d,w=0){let h=r.getElementById(d);h&&(Array.from(r.body.childNodes).forEach(E=>{E.id!=d&&(E.id=="sfz-wait-message"||E.id=="sfz-error-message"?E.hidden=!0:E.remove())}),h.hidden=!1,r.body.hidden=!1,h.style="opacity: 0; animation: 0s linear "+w+"s display-wait-message 1 normal forwards")}function u(){let d=r.querySelector("sfz-extra-data");if(d){let F=function(x){T[S]=x,D=D>>>8^o[(D^x)&255],S++},w=d.nextSibling;w&&w.nodeType==Node.TEXT_NODE&&w.nextSibling?w=w.nextSibling:w=d.previousSibling;let h=s.inflateRaw(f(d.textContent)),E=new Uint32Array(h.buffer,h.byteOffset,h.length>>2),m=E[0],A=E[1],g=E[2],T=new Uint8Array(A),{textContent:R}=w,S=0,I=0,D=-1;for(let x=0;x<R.length;x++){let M=R.charCodeAt(x);if(M==10){let B=E[3+(I>>4)]>>>(I&15)*2&3;I++,B==0?F(10):(F(13),B==2&&F(10))}else F(M>255?a.get(M):M)}if(D=(D^-1)>>>0,S!=A||I!=g||D!=m)throw new Error("Invalid checksum of the extracted zip data");return new e([T],{type:"application/octet-stream"})}throw new Error("Extra zip data data not found")}function f(d){d=String(d).replace(/[^A-Za-z0-9+/=]/g,"");let w=d.length,h=[];for(let E=0;E<w;E+=4){let m=t.indexOf(d[E]),A=t.indexOf(d[E+1]),g=t.indexOf(d[E+2]),T=t.indexOf(d[E+3]),R=m<<18|A<<12|(g&63)<<6|T&63;h.push(R>>16&255),d[E+2]!=="="&&h.push(R>>8&255),d[E+3]!=="="&&h.push(R&255)}return new Uint8Array(h)}}var It="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function bw(t){let e="",n=t.length,r=0;for(;r+2<n;r+=3){let i=t[r]<<16|t[r+1]<<8|t[r+2];e+=It[i>>18&63]+It[i>>12&63]+It[i>>6&63]+It[i&63]}let s=n-r;if(s===1){let i=t[r]<<16;e+=It[i>>18&63]+It[i>>12&63]+"=="}else if(s===2){let i=t[r]<<16|t[r+1]<<8;e+=It[i>>18&63]+It[i>>12&63]+It[i>>6&63]+"="}return e}export{St as BlobReader,Ms as BlobWriter,xa as Data64URIReader,Fa as Data64URIWriter,Il as ERR_AMBIGUOUS_ARCHIVE,bn as ERR_BAD_FORMAT,Tl as ERR_CENTRAL_DIRECTORY_NOT_FOUND,jl as ERR_DUPLICATED_NAME,Al as ERR_ENCRYPTED,Nl as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Sl as ERR_ENTRY_DATA_OUT_OF_BOUNDS,ml as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,gl as ERR_EOCDR_NOT_FOUND,pl as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,Rt as ERR_HTTP_RANGE,ba as ERR_HTTP_RESOURCE_CHANGED,ic as ERR_INVALID_AUTHENTICATION_CODE,ma as ERR_INVALID_CODEC_DEFINITION,fd as ERR_INVALID_CODEC_MODULE,$l as ERR_INVALID_COMMENT,eh as ERR_INVALID_COMMENT_TYPE,mc as ERR_INVALID_COMPRESSED_DATA,Tc as ERR_INVALID_CRC32,rh as ERR_INVALID_DATE,ih as ERR_INVALID_ENCRYPTION_STRENGTH,th as ERR_INVALID_ENTRY_COMMENT,nh as ERR_INVALID_ENTRY_COMMENT_TYPE,sh as ERR_INVALID_ENTRY_NAME,ch as ERR_INVALID_EXTRAFIELD,Bi as ERR_INVALID_EXTRAFIELD_DATA,fh as ERR_INVALID_EXTRAFIELD_DATA_TYPE,lh as ERR_INVALID_EXTRAFIELD_TYPE,Ol as ERR_INVALID_FILENAME_VALIDATION,Du as ERR_INVALID_FUNCTION_OPTION,gh as ERR_INVALID_GID,yh as ERR_INVALID_LEVEL,xl as ERR_INVALID_MAX_APPENDED_DATA_SIZE,Fu as ERR_INVALID_MAX_WORKERS,ph as ERR_INVALID_MSDOS_ATTRIBUTES,Ah as ERR_INVALID_MSDOS_DATA,wi as ERR_INVALID_PASSWORD,Ou as ERR_INVALID_PASSWORD_TYPE,bu as ERR_INVALID_SIGNAL,_i as ERR_INVALID_SIGNATURE,Sh as ERR_INVALID_SIGNATURE_DATA,bl as ERR_INVALID_STRICTNESS,_h as ERR_INVALID_UID,Wr as ERR_INVALID_UNCOMPRESSED_SIZE,Th as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,Rh as ERR_INVALID_UNIX_ID_SIZE,mh as ERR_INVALID_UNIX_MODE,Jl as ERR_INVALID_VERSION,Vd as ERR_ITERATOR_COMPLETED_TOO_SOON,Rl as ERR_LOCAL_FILE_HEADER_NOT_FOUND,yl as ERR_OVERLAPPING_ENTRY,ld as ERR_RESERVED_COMPRESSION_METHOD,Zs as ERR_SPLIT_ZIP_FILE,Eh as ERR_UNDEFINED_COMPRESSION_METHOD,hh as ERR_UNDEFINED_READER,dh as ERR_UNDEFINED_UNCOMPRESSED_SIZE,Cw as ERR_UNDETERMINED_SIZE,Dl as ERR_UNSAFE_FILENAME,Xs as ERR_UNSUPPORTED_COMPRESSION,ow as ERR_UNSUPPORTED_CONTEXT,Vu as ERR_UNSUPPORTED_CRYPTO_API,Ws as ERR_UNSUPPORTED_ENCRYPTION,oh as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,ah as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Hi as ERR_UNSUPPORTED_FORMAT,Fl as ERR_UNSUPPORTED_UINT64,Ti as ERR_WORKER_STARTUP_TIMEOUT,Wd as ERR_WRITER_NOT_INITIALIZED,wh as ERR_ZIP_NOT_EMPTY,va as HttpRangeReader,ks as HttpReader,dt as Reader,Ys as SplitDataReader,Gs as SplitDataWriter,Or as TextReader,Pa as TextWriter,Ma as Uint8ArrayReader,Fr as Uint8ArrayWriter,qs as WARNING_APPENDED_DATA,Ll as WARNING_COMPRESSED_PATCHED_DATA,Ml as WARNING_DUPLICATE_FILENAME,Ui as WARNING_MALFORMED_EXTRA_FIELD,Bl as WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG,Hl as WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,zl as WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,On as WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,js as WARNING_PREPENDED_DATA,vl as WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,Cl as WARNING_UNKNOWN_VERSION,Ul as WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA,Pl as WARNING_UNSORTED_CENTRAL_DIRECTORY,Ks as WARNING_WRAPPED_ENTRIES_COUNT,br as Writer,vr as ZipReader,$s as ZipReaderStream,Yn as ZipWriter,no as ZipWriterStream,Jo as configure,An as createArchive,vw as createBlobTempStream,Uw as createOPFSTempStream,Mw as createSyncAccessHandleTempStream,_f as deflateRaw,Lw as getMimeType,Bw as inflateRaw,Me as initStream,UE as isZipFile,$w as process,Te as readUint8Array,xw as registerCodec,Ow as resetConfiguration,Pw as terminateWorkers,Fw as unregisterCodec};
|