@zip.js/zip.js 2.8.56 → 2.8.57
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/deno.json +1 -1
- package/dist/zip-core-external.js +47 -23
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +47 -22
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +48 -24
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +47 -23
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +48 -24
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +48 -23
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +48 -23
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +47 -22
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +47 -22
- package/dist/zip-native.min.js +1 -1
- package/dist/zip.js +47 -22
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +48 -23
- package/index-native.min.js +1 -1
- package/index.cjs +48 -23
- package/index.d.cts +13 -1
- package/index.d.ts +13 -1
- package/index.min.js +1 -1
- package/lib/core/zip-fs.js +1 -1
- package/lib/core/zip-reader.js +11 -4
- package/lib/core/zip-writer.js +37 -20
- package/lib/zip-core-reader.js +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=84233040,i=33639248,c=101010256,l=101075792,u=117853008,d=22,f=20,w=56,m=21589,p=2048,h=61440,y=16384,b=2048,S=1024,E="/",g=30,A=new Date(2107,11,31,23,59,58),x=new Date(1980,0,1),z=void 0,F=1/0,R="undefined",D="function",U="string",k=new Uint8Array,T="password",O="rawPassword",v="passThrough",I="signal",C="useWebWorkers",M="useCompressionStream",N="transferStreams",_="preventClose",j="offset",L="usdz",P="filename",W="comment",B="strict",V="balanced",Z="tolerant",H="Invalid option (must be a function)",q="Invalid signal (must be an AbortSignal instance)",K="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Y(t){if(t&&typeof t!=D)throw Error(H);return t}function G(t){if(t&&(typeof t.addEventListener!=D||"boolean"!=typeof t.aborted))throw Error(q);return t||z}function X(t,e){if(t&&typeof t!=U||e&&!(e instanceof Uint8Array))throw Error(K)}function J(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw Error(r)}function Q(t,e,r){t!==z&&J(t,e,r)}function $(t){return typeof t==U&&t.trim()?Number(t):t}const tt="Invalid maxWorkers (must be an integer greater than 0)";let et=2;try{typeof navigator!=R&&navigator.hardwareConcurrency&&(et=navigator.hardwareConcurrency)}catch{}const rt={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:et,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=R&&CompressionStream,DecompressionStream:typeof DecompressionStream!=R&&DecompressionStream},nt="maxWorkers",at=["chunkSize",nt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],st=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],ot=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...at,...st],it={...rt};function ct(){return it}function lt(t){return ut(t.chunkSize)}function ut(t){return t=$(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function dt(t){Object.assign(it,ft(mt(t)))}function ft(t){const e={};for(const r of ot){const n=t[r];n!==z&&(e[r]=wt(r,n))}return e}function wt(t,e){if(at.includes(t)){if(e=$(e),t==nt&&(!Number.isInteger(e)||e<1))throw Error(tt)}else st.includes(t)&&Y(e);return e}function mt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===z&&r===z)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===z&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===z&&(n.DecompressionStreamFallback=r),n}function pt(t){const e=ft(mt(t));Object.assign(rt,e),Object.assign(it,e)}function ht(){for(const t of ot)delete it[t];Object.assign(it,rt)}function yt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function bt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function St(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const Et=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;Et[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=Et[e-1][t];Et[e][t]=r>>>8^Et[0][255&r]}const[gt,At,xt,zt,Ft,Rt,Dt,Ut]=Et;class kt{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const a=new DataView(t.buffer,t.byteOffset,r),s=r-8;for(;n<=s;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=Ut[255&t]^Dt[t>>>8&255]^Rt[t>>>16&255]^Ft[t>>>24&255]^zt[255&r]^xt[r>>>8&255]^At[r>>>16&255]^gt[r>>>24&255]}}for(;n<r;n++)e=e>>>8^gt[255&(e^t[n])];this.o=e}get(){return~this.o}}class Tt extends TransformStream{constructor(){let t;const e=new kt;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function Ot(t){if(typeof TextEncoder==R){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const vt={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=vt.l(r);return 32===n?t.concat(e):vt.m(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+vt.l(r)},h(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=vt.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,m(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,s=vt.l(a);return n.push(vt.S(e+s&31,e+s>32?r:n.pop(),1)),n}},It={bytes:{A(t){const e=vt.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;a<e;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},F(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(vt.S(8*(3&r),n)),e}}},Ct=class{constructor(t){const e=this;e.blockSize=512,e.R=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.U=t.U.slice(0),e.T=t.T.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.U=t.R.slice(0),t.T=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=It.v.F(t));const r=e.T=vt.concat(e.T,t),n=e.O,a=e.O=n+vt.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let o=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);t<=a;t+=e.blockSize)e.I(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}C(){const t=this;let e=t.T;const r=t.U;e=vt.concat(e,[vt.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.I(e.splice(0,16));return t.reset(),r}M(t,e,r,n){return t<=19?e&r|~e&n:t<=39?e^r^n:t<=59?e&r|e&n|r&n:t<=79?e^r^n:void 0}N(t,e){return e<<t|e>>>32-t}I(t){const e=this,r=e.U,n=Array(80);for(let e=0;e<16;e++)n[e]=t[e];let a=r[0],s=r[1],o=r[2],i=r[3],c=r[4];for(let t=0;t<=79;t++){t>=16&&(n[t]=e.N(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.N(5,a)+e.M(t,s,o,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=o,o=e.N(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},Mt={importKey:t=>new Mt._(It.bytes.F(t)),j(t,e,r,n){if(r=r||1e4,n<0||r<0)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let s,o,i,c,l;const u=new ArrayBuffer(a),d=new DataView(u);let f=0;const w=vt;for(e=It.bytes.F(e),l=1;f<(a||1);l++){for(s=o=t.encrypt(w.concat(e,[l])),i=1;i<r;i++)for(o=t.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(i=0;f<(a||1)&&i<s.length;i++)d.setInt32(f,s[i]),f+=4}return u.slice(0,n/8)},_:class{constructor(t){const e=this,r=e.L=Ct,n=[[],[]];e.P=[new r,new r];const a=e.P[0].blockSize/32;t.length>a&&(t=(new r).update(t).C());for(let e=0;e<a;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.P[0].update(n[0]),e.P[1].update(n[1]),e.W=new r(e.P[0])}reset(){const t=this;t.W=new t.L(t.P[0]),t.B=!1}update(t){this.B=!0,this.W.update(t)}digest(){const t=this,e=t.W.C(),r=new t.L(t.P[1]).update(e).C();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Nt=typeof crypto!=R&&typeof crypto.getRandomValues==D,_t="Invalid password",jt="Invalid signature",Lt=jt,Pt="zipjs-abort-check-password",Wt="Crypto API not supported";function Bt(t){if(Nt)return crypto.getRandomValues(t);throw Error(Wt)}const Vt=16,Zt={name:"PBKDF2"},Ht=Object.assign({hash:{name:"HMAC"}},Zt),qt=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},Zt),Kt=["deriveBits"],Yt=[8,12,16],Gt=[16,24,32],Xt=10,Jt=[0,0,0,0],Qt=typeof crypto!=R,$t=Qt&&crypto.subtle,te=Qt&&typeof $t!=R,ee=It.bytes,re=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],a=t.length;let s,o,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[o=t.slice(0),i=[]],s=a;s<4*a+28;s++){let t=o[s-1];(s%a===0||8===a&&s%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],s%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-a]^t}for(let t=0;s;t++,s--){const e=o[3&t?s:s-4];i[t]=s<=4||t<4?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],a=[],s=[];let o,i,c,l;for(let t=0;t<256;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let u=o=0;!r[u];u^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[u]=s,n[s]=u,l=a[c=a[i=a[u]]];let d=16843009*l^65537*c^257*i^16843008*u,f=257*a[s]^16843008*s;for(let r=0;r<4;r++)t[r][u]=f=f<<24^f>>>8,e[r][s]=d=d<<24^d>>>8}for(let r=0;r<5;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],o=s[0],i=s[1],c=s[2],l=s[3],u=s[4];let d,f,w,m=t[0]^r[0],p=t[e?3:1]^r[1],h=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;t<n;t++)d=o[m>>>24]^i[p>>16&255]^c[h>>8&255]^l[255&y]^r[b],f=o[p>>>24]^i[h>>16&255]^c[y>>8&255]^l[255&m]^r[b+1],w=o[h>>>24]^i[y>>16&255]^c[m>>8&255]^l[255&p]^r[b+2],y=o[y>>>24]^i[m>>16&255]^c[p>>8&255]^l[255&h]^r[b+3],b+=4,m=d,p=f,h=w;for(let t=0;t<4;t++)a[e?3&-t:t]=u[m>>>24]<<24^u[p>>16&255]<<16^u[h>>8&255]<<8^u[255&y]^r[b++],d=m,m=p,p=h,h=y,y=d;return a}},ne=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const a=vt.bitLength(e);for(let a=0;a<n;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return vt.h(e,a)}},ae=Mt._;let se=Qt&&te&&typeof $t.importKey==D,oe=Qt&&te&&typeof $t.deriveBits==D;class ie extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){le(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,et:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await de(t,e,r,we(n,0,Yt[e])),s=we(n,Yt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(_t)})(r,s,a,we(t,0,Yt[s]+2)),t=we(t,Yt[s]+2),n?e.error(Error(Pt)):o()):await i;const c=new Uint8Array(t.length-Xt-(t.length-Xt)%Vt);e.enqueue(ue(r,t,c,0,Xt,!0))},async flush(t){const{nt:e,st:r,ot:n,ready:s}=this;if(r&&e){await s;const o=we(n,0,n.length-Xt),i=we(n,n.length-Xt);let c=k;if(o.length){const t=pe(ee,o);r.update(t);const n=e.update(t);c=me(ee,n)}const l=we(me(ee,r.digest()),0,Xt);let u=n.length<Xt?1:0;for(let t=0;t<Xt;t++)u|=l[t]^i[t];if(u&&a)throw Error(Lt);t.enqueue(c)}}})}}class ce extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){le(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:s,ready:o}=r;let i=k;n?(i=await(async(t,e,r)=>{const n=Bt(new Uint8Array(Yt[e]));return yt(n,await de(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%Vt);c.set(i,0),e.enqueue(ue(r,t,c,i.length,0))},async flush(t){const{nt:e,st:r,ot:n,ready:a}=this;if(r&&e){await a;let s=k;if(n.length){const t=e.update(pe(ee,n));r.update(t),s=me(ee,t)}const o=me(ee,r.digest()).slice(0,Xt);t.enqueue(yt(s,o))}}})}}function le(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:fe(e,r),strength:n-1,ot:k})}function ue(t,e,r,n,a,s){const{nt:o,st:i,ot:c}=t;c.length&&(e=yt(c,e));const l=e.length-a;let u;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%Vt)),u=0;u<=l-Vt;u+=Vt){const t=pe(ee,we(e,u,u+Vt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(me(ee,a),u+n)}return t.ot=we(e,u),r}async function de(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!se)return Mt.importKey(e);try{return await $t.importKey("raw",e,r,!1,a)}catch{return se=!1,Mt.importKey(e)}})(0,r,Ht,0,Kt),s=await(async(t,e,r)=>{if(!oe)return Mt.j(e,t.salt,qt.iterations,r);try{return await $t.deriveBits(t,e,r)}catch{return oe=!1,Mt.j(e,t.salt,qt.iterations,r)}})(Object.assign({salt:n},qt),a,8*(2*Gt[e]+2)),o=new Uint8Array(s),i=pe(ee,we(o,0,Gt[e])),c=pe(ee,we(o,Gt[e],2*Gt[e])),l=we(o,2*Gt[e]);return Object.assign(t,{keys:{key:i,it:c,passwordVerification:l},nt:new ne(new re(i),Array.from(Jt)),st:new ae(c)}),l}function fe(t,e){return e===z?Ot(t):e}function we(t,e,r){return t.subarray(e,r)}function me(t,e){return t.A(e)}function pe(t,e){return t.F(e)}class he extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){be(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Se(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(_t);t=t.subarray(12)}n?e.error(Error(Pt)):e.enqueue(Se(r,t))}})}}class ye extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){be(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=Bt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(Ee(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set(Ee(r,t),a),e.enqueue(n)}})}}function be(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,ct:new kt(n[0]),lt:new kt(n[2])}),r)for(let e=0;e<r.length;e++)ge(t,r[e]);else for(let r=0;r<e.length;r++)ge(t,e.charCodeAt(r))})(t,e,r)}function Se(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ae(t)^e[n],ge(t,r[n]);return r}function Ee(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ae(t)^e[n],ge(t,e[n]);return r}function ge(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=ze(Math.imul(ze(r+xe(n)),134775813)+1),t.lt.append([r>>>24]);const a=~t.lt.get();t.keys=[n,r,a]}function Ae(t){const e=2|t.keys[2];return xe(Math.imul(e,1^e)>>>8)}function xe(t){return 255&t}function ze(t){return 4294967295&t}function Fe(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function Re(t,e){t=Fe(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=D||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function De(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const Ue="Invalid codec definition",ke="Reserved compression method",Te="Invalid codec module",Oe=[0,8,9,99],ve=new Map,Ie=new Map;function Ce(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:o,versionNeeded:i}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=U||!n.length)throw Error(Ue);if(Oe.includes(r))throw Error(ke);const c=typeof s==D||typeof o==D;if(!(c||typeof a==U&&a.length))throw Error(Ue);ve.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&je(n,{CompressionStream:s,DecompressionStream:o})}function Me(t){const e=ve.get(t);if(e){let r;ve.delete(t),ve.forEach(t=>r=r||t.format==e.format),r||Ie.delete(e.format)}}function Ne(t){return ve.get(t)}function _e(t){return Ie.get(t)}function je(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=D&&typeof n!=D)throw Error(Te);Ie.set(t,{CompressionStream:r,DecompressionStream:n})}const Le="Invalid uncompressed size",Pe="Invalid compressed data",We=jt,Be="deflate-raw",Ve="gzip",Ze=[31,139,8];class He extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:u,format:d,compressionMethod:f}=t,w=this;let m,p,h,y=super.readable;const b=d&&_e(d),S=c&&a&&!u&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||S||(m=new Tt,y=tr(y,m)),a)if(b)y=er(y,Qe(b.CompressionStream,d,{level:l,chunkSize:e,compressionMethod:f}));else if(S)h=new qe,y=er(y,new n(Ve)),y=tr(y,h);else try{y=$e(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(Ve)}catch{throw t}y=er(y,e),y=tr(y,new qe)}s&&(i?y=tr(y,new ye(t)):(p=new ce(t),y=tr(y,p))),Je(w,y,()=>{s&&!i||!c||(w.crc32=S?h.crc32:new DataView(m.value.buffer).getUint32(0))})}}class qe extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const a=r.length+t.length;if(a<=8)return void(r=yt(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(yt(r.subarray(0,o),t.subarray(0,s-o))),r=yt(r.subarray(o),t.subarray(s-o))},flush(){const e=St(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Ke extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:u,format:d,compressionMethod:f,rawBitFlag:w,outputSize:m}=t;let p,h,y=super.readable;if(s&&(a?y=tr(y,new he(t)):(h=new ie(t),y=tr(y,h))),c){const t=d&&_e(d);if(t)y=er(y,Qe(t.DecompressionStream,d,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:m}));else try{y=$e(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||m===z)throw t;let e;try{e=new n(Ve)}catch{throw t}y=((t,e,r)=>{const n=new kt;let a,s,o,i=0,c=!1;const l=new Promise((t,e)=>{s=t,o=e});l.catch(()=>{}),r||s();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(Ze),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=St(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),d=new TransformStream({transform(t,e){n.append(t),i+=t.length,i>=r?s():c&&f(),e.enqueue(t)},cancel(t){o(t)}});return t=tr(t,u),tr(t=er(t,e),d);function f(){w(),a=setTimeout(()=>o(Error(Le)),5e3)}function w(){clearTimeout(a)}})(y,e,m)}y=(t=>{const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=Error(Pe);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(p=new Tt,y=tr(y,p)),Je(this,y,()=>{if(o){const t=new DataView(p.value.buffer);if(i!=t.getUint32(0,!1))throw Error(We)}})}}const Ye=new Map;function Ge(t,e){if(!t)return!1;let r=Ye.get(t);r||(r=new Map,Ye.set(t,r));let n=r.get(e);if(n===z){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function Xe(t){return Ge(t,Be)}function Je(t,e,r){e=tr(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Qe(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function $e(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":Be;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return er(t,i)}function tr(t,e){return Fe(t).pipeThrough(e)}function er(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const rr="data",nr="deflate",ar="inflate";class sr extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(nr)?a=He:n.startsWith(ar)&&(a=Ke),r.outputSize=0;let s=0;const o=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:s})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==z&&r.outputSize>t.outputSize))throw Error(Le)},flush(){const{crc32:t}=o;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class or extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;a<t;){const r=e[0],s=t-a;r.length<=s?(n.set(r,a),a+=r.length,e.shift()):(n.set(r.subarray(0,s),a),e[0]=r.subarray(s),a+=s)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(a,s){for(e.push(a),r+=a.length;r>t;)s.enqueue(n())},flush(t){r&&t.enqueue(((t,e)=>{const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r})(e,r))}})}}const ir="Worker startup timeout";let cr,lr,ur,dr=()=>{};function fr(t){t.createWorker?lr=!0:cr=!1}class wr{constructor(t,{readable:e,writable:r},{options:n,config:a,ut:s,useWebWorkers:o,transferStreams:i,workerURI:c,createWorker:l},u){const{signal:d}=s;return lr&&(l=z),Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new or(lt(a))).pipeThrough(new mr(s),{signal:d}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{ht:r,ft:n}=t;r?(n?t.yt=e:(r.terminate(),e()),t.bt=null):e()}),St(){if(t.ft){const{yt:e}=t;e&&(t.yt=null,t.Et=!0,t.ht.terminate(),e()),t.ft=!1,u(t)}}}),cr===z&&(cr=typeof Worker!=R),(o&&ur&&(cr&&c||l)?ur:hr)(t,a)}}class mr extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await pr(t,r)},async transform(t,n){a+=t.length,e&&await pr(e,a,r),n.enqueue(t)},async flush(){n&&await pr(n,a)}})}}async function pr(t,...e){try{await t(...e)}catch{}}function hr(t,e){return{run:()=>yr(t,e)}}async function yr({options:t,readable:e,writable:r,St:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(nr),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.gt&&!Xe(n))try{await dr(a)}catch{}}else try{await dr(a)}catch{r&&!r.gt||(t.useCompressionStream=!0)}}s=new sr(t,a),await e.pipeThrough(s).pipeThrough(new or(lt(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=s;return{crc32:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}const br={type:"module"},Sr="error";let Er,gr,Ar,xr=!0;try{xr=typeof structuredClone==D&&structuredClone(new DOMException("","AbortError")).code!==z}catch{}var zr;function Fr(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function Rr(t){const{ht:e}=t;if(e)try{e.terminate()}catch{}t.bt=null}function Dr(t,e,r,n,a=!0){const{createWorker:s}=r;let o,i,c;if(s)o=s();else if(gr===z||Er!==t){const s=typeof t==D;i=s?t(a):t;const l=i.startsWith("data:"),u=i.startsWith("blob:");if(l||u){n===z&&(n=!1),n&&(c=br);try{o=new Worker(i,c)}catch(a){if(u)try{URL.revokeObjectURL(i)}catch{}if(s&&u)return Dr(t,e,r,n,!1);if(n)throw a;return Dr(t,e,r,!0,!1)}}else{n===z&&(n=!0),n&&(c=br);try{i=new URL(i,e)}catch{}try{o=new Worker(i,c)}catch(s){if(n)return Dr(t,e,r,!1,a);throw s}}Er=t,gr=i,Ar=c}else o=new Worker(gr,Ar);return o.addEventListener("message",t=>{r.At=!0,Ur(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,xt:l,zt:u,St:d,wt:f}=e,w=()=>e.wt!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s,codecImportFailed:i}=o,c=Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:a}),s&&(c.cause=Object.assign(Error(s.message),{name:s.name})),i&&(c.codecImportFailed=!0),m(c)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||Tr({type:rr,value:t,done:r,messageId:a},e)}r==rr&&(await c.ready,await c.write(new Uint8Array(n)),w()||Tr({type:"ack",messageId:a},e)),"close"==r&&m(null,s)}}catch(o){w()||(Rr(e),m(o))}function m(t,e){w()||(t?u(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||d())}})(t,r)}),o.addEventListener(Sr,t=>kr(t,r)),o.addEventListener("messageerror",t=>kr(t,r)),o}function Ur(t){const{Ft:e}=t;e&&(clearTimeout(e),t.Ft=null)}function kr(t,e){t.preventDefault&&t.preventDefault(),Ur(e);const{At:r,zt:n,writer:a,St:s}=e;Rr(e),r||(e.ht=null);let o=t.error||Error(t.message||Sr);r||(o=Object.assign(Error(o.message||Sr),{Rt:!0}),e.Dt=o),n&&(n(o),a&&a.releaseLock(),r&&s())}function Tr(t,{ht:e,writer:r,transferStreams:n,At:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=bt(r),i.push(t.value.buffer)),n&&xr&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{xr=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}zr=(t,e)=>{const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.bt){let o;typeof s==D&&(s=s());try{o=Dr(t.workerURI,r,t)}catch{return fr(t),hr(t,e)}Object.assign(t,{ht:o,At:!1,Et:!1,Dt:null,bt:{run:async()=>{try{return await(async(t,e)=>{if(!t.ht){const{Dt:e}=t;t.Dt=null;const r=e||Error(ir);throw r.Rt=!0,r}let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,xt:r,zt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,Ut:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,Ut:()=>e.abort()}})(t.writable);let u;try{u=Tr({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.St(),e}u||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:d}=e;!t.At&&Number.isFinite(d)&&d>=0&&(t.Ft=setTimeout(()=>(t=>{if(t.Ft=null,t.At)return;const{zt:e,writer:r}=t;if(Rr(t),t.ht=null,e){const t=Error(ir);t.Rt=!0,e(t),r&&r.releaseLock()}})(t),d));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!u&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Rt)return fr(t),Fr(t),yr(t,e);if(r&&r.codecImportFailed){if(t.reader)return Fr(t),yr(t,e);t.St()}throw r}}}})}return t.bt},ur=zr;let Or=[];const vr=[];let Ir,Cr,Mr=0;async function Nr(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:u,format:d,codecURI:f}=r,{workerURI:w,createWorker:m,maxWorkers:p}=n;d&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!Ie.has(t)&&e&&je(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(d,r.codecURI)),e.transferStreams=!d&&(a||a===z&&n.transferStreams);const h=!(i||c||l||u),y=d===z||!!r.codecURI;return e.useWebWorkers=!h&&y&&(s||s===z&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:z,e.createWorker=e.useWebWorkers&&m?m:z,r.useCompressionStream=o||o===z&&n.useCompressionStream,(await(async()=>{const r=Or.find(t=>!t.ft);if(r)return Wr(r),new wr(r,t,e,b);if(Or.length<p){const r={kt:Mr};return Mr++,Or.push(r),new wr(r,t,e,b)}return new Promise(r=>{vr.push({resolve:r,stream:t,Tt:e}),Cr=n.workerStarvationTimeout,_r()})})()).run();function b(t){if(jr(),vr.length){const[{resolve:e,stream:r,Tt:n}]=vr.splice(0,1);e(new wr(t,r,n,b)),_r()}else t.ht?(Wr(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.Et?t.Et=!1:t.Ot=setTimeout(async()=>{Or=Or.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Or=Or.filter(e=>e!=t)}}function _r(){!Ir&&vr.length&&Number.isFinite(Cr)&&Cr>=0&&(Ir=setTimeout(Lr,Cr))}function jr(){Ir&&(clearTimeout(Ir),Ir=null)}function Lr(){if(Ir=null,vr.length){const[{resolve:t,stream:e,Tt:r}]=vr.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:z,createWorker:z});t(new wr({},e,n,Pr)),_r()}}function Pr(){jr(),_r()}function Wr(t){const{Ot:e}=t;e&&(clearTimeout(e),t.Ot=null)}const Br="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Vr(t,e){return Zr(t,e,!0)}function Zr(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=Br[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const Hr="HTTP error ",qr="HTTP Range not supported",Kr="HTTP resource changed",Yr="Writer iterator completed too soon",Gr="Writer not initialized",Xr="Content-Range",Jr="Range",Qr="GET",$r="bytes",tn=16777216,en="writable",rn=Symbol();class nn{constructor(){this.size=0}init(){this.initialized=!0}}class an extends nn{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=lt(ct())}={}){const n=this;let a=0;return r=ut(r),new ReadableStream({async pull(s){const o=e===z?r:Math.min(r,e-a),i=await Vn(n,t+a,o);i.length&&s.enqueue(i),a+r>=e||!i.length&&o?s.close():a+=r}})}}class sn extends nn{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(Gr);return t.writeUint8Array(bt(e))}});Object.defineProperty(t,en,{get:()=>e})}writeUint8Array(){}}class on extends an{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{vt:t,It:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{It:r,vt:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),o=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(s/4);let c=0;for(let t=i;t<i+e&&t<o.length;t++)a[t-i]=o.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class cn extends sn{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",Ct:""})}writeUint8Array(t){const e=this;let r,n=e.Ct;const a=e.Ct.length;for(e.Ct="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.Ct+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.Ct=n+e.Ct}getData(){return this.data+btoa(this.Ct)}}let ln,un;class dn extends an{constructor(t){super(),Object.assign(this,{Mt:t,size:t.size}),un||(un=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();ln=1==e}catch{ln=!1}})())}createReadable(t){const{Mt:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return!n&&a>=r?Fe(e.stream()):ln?Fe(e.slice(n,n+a).stream()):super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,a=!t&&n>=r.size?r.Mt:r.Mt.slice(t,n);let s=await a.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,n)),new Uint8Array(s)}}class fn extends nn{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,en,{get:()=>r.writable}),e.contentType=t,e.Nt=Re(r.readable,t),e.Nt.catch(()=>{})}getData(){return this.Nt}}class wn extends dn{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class mn extends fn{constructor(t){super(),Object.assign(this,{encoding:t,_t:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,_t:e}=this,r=await super.getData();return r.text&&e?r.text():((t,e)=>Zr(t,e,!1))(new Uint8Array(await r.arrayBuffer()),t)}}class pn extends an{constructor(t,e){super(),yn(this,t,e)}async init(){await bn(this,Tn,Rn),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==z){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&r<a)return((t,e,r)=>{let n,a=e,s=0,o=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error(qr);const a=e.length>s?e.subarray(0,s):e;s-=a.length,o-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=z,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await Tn(Qr,t,zn(t,a,e));if(206!=r.status)throw Error(qr);const i=r.headers.get(Xr);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(qr)}xn(t,r),An(t,r),a+=e,s=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return Sn(this,t,e,Tn,Rn)}}class hn extends an{constructor(t,e){super(),yn(this,t,e)}async init(){await bn(this,On,Dn),super.init()}readUint8Array(t,e){return Sn(this,t,e,On,Dn)}}function yn(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=tn,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function bn(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=ct(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(typeof a==R||a)){const n=await e(Qr,t,zn(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==$r))throw Error(qr);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.jt=e)}An(t,n);const a=En(n);a===z?await kn(t,e,r):t.size=a}}else await kn(t,e,r)}async function Sn(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,jt:i,size:c,options:l}=t;if(s||o){if(i&&e==c-d&&r==d)return i;if(e>=c||0===r)return k;{e+r>c&&(r=c-e);const a=await n(Qr,t,zn(t,e,r));if(206!=a.status)throw Error(qr);const s=a.headers.get(Xr);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(qr)}xn(t,a),An(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error(qr);return o}}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function En(t){const e=t.headers.get(Xr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function gn({headers:t}){return{Lt:t.get("Etag")||z,lastModified:t.get("Last-Modified")||z}}function An(t,e){const{checkResourceChanges:r,Pt:n}=t;r&&!n&&206==e.status&&(t.Pt=gn(e))}function xn(t,e){const{checkResourceChanges:r,Pt:n,size:a}=t;if(r){const t=En(e);if(t!==z&&a!==z&&t!=a)throw Error(Kr);if(n){const t=gn(e);if(Object.entries(n).some(([e,r])=>r!==z&&t[e]!==z&&r!=t[e]))throw Error(Kr)}}}function zn(t,e=0,r=1){return Object.assign({},Fn(t),{[Jr]:$r+"="+(e<0?e:e+"-"+(e+r-1))})}function Fn({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Rn(t){await Un(t,Tn)}async function Dn(t){await Un(t,On)}async function Un(t,e){const r=await e(Qr,t,Fn(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function kn(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Fn(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function Tn(t,{fetch:e=fetch,options:r,url:n},a){const s=await e(n,Object.assign({},r,{method:t,headers:a}));if(s.status<400)return s;throw 416==s.status?Error(qr):Error(Hr+(s.statusText||s.status))}function On(t,{url:e},r){return new Promise((n,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status<400){const t=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:s.status,arrayBuffer:()=>s.response,headers:new Map(t)})}else a(416==s.status?Error(qr):Error(Hr+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),s.open(t,e),r)for(const t of Object.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class vn extends an{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new hn(t,e):new pn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class In extends vn{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Cn extends an{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{Wt:t,size:t.length})}readUint8Array(t,e){return this.Wt.slice(t,t+e)}}class Mn extends sn{constructor(t){super(),this.Bt=t||262144}init(t=0){Object.assign(this,{offset:0,Wt:new Uint8Array(t>0?t:this.Bt)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.Wt.length){let t=e.Wt.length?2*e.Wt.length:e.Bt;for(;t<r;)t*=2;const n=e.Wt;e.Wt=new Uint8Array(t),e.Wt.set(n)}e.Wt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Wt.length?this.Wt:this.Wt.slice(0,this.offset)}}class Nn extends an{constructor(t){super(),this.Vt=t}async init(){const t=this;t.Zt=0;const e=t.Vt=await Promise.all(t.Vt.map(Bn));t.Ht=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}qt(t){const{Ht:e,size:r}=this,n=e[t];return n===z?r:n}async readUint8Array(t,e){const r=this,{Vt:n}=this;let a,s=0,o=t;for(;n[s]&&o>=n[s].size;)o-=n[s].size,s++;const i=n[s];if(i){const n=i.size;if(o+e<=n)a=await Vn(i,o,e);else{const s=n-o;a=yt(await Vn(i,o,s),await r.readUint8Array(t+s,e-s))}}else a=k;return r.Zt=Math.max(s,r.Zt),a}}class _n extends nn{constructor(t,e=4294967295){super();const r=this;let n,a,s;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){if(e===rn)return void(s&&await c());const{availableSize:o}=r;if(s)e.length>=o?(await i(e.subarray(0,o)),await c(),e.length>o&&await this.write(e.subarray(o))):await i(e);else{const{value:o,done:i}=await t.next();if(i&&!o)throw Error(Yr);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Wn(n),a=o.writable,s=a.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function i(t){const e=t.length;e&&(await s.ready,await s.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}Object.defineProperty(r,en,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(rn)}finally{t.releaseLock()}}}class jn{constructor(t){return Array.isArray(t)&&(t=new Nn(t)),(t instanceof ReadableStream||typeof t.getReader==D)&&(t={readable:Fe(t)}),t}}class Ln{constructor(t){return t.writable===z&&typeof t.next==D&&(t=new _n(t)),(t instanceof WritableStream||typeof t.getWriter==D)&&(t={writable:De(t)}),t.size===z&&(t.size=0),t}}function Pn(t){return!(!t||!t.getData)}async function Wn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function Bn(t){return t=new jn(t),await Wn(t),t.size!==z&&t.readUint8Array||(t=new dn(await Re(t.readable)),await Wn(t)),t}function Vn(t,e,r){return t.readUint8Array(e,r)}function Zn(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?an.prototype.createReadable.call(t,e):t.readable}const Hn="filename",qn="rawFilename",Kn="comment",Yn="rawComment",Gn="uncompressedSize",Xn="compressedSize",Jn="offset",Qn="diskNumberStart",$n="lastModDate",ta="rawLastModDate",ea="lastAccessDate",ra="rawLastAccessDate",na="creationDate",aa="rawCreationDate",sa="internalFileAttributes",oa="externalFileAttributes",ia="internalFileAttribute",ca="externalFileAttribute",la="msdosAttributesRaw",ua="msdosAttributes",da="msDosCompatible",fa="zip64",wa="encrypted",ma="version",pa="versionMadeBy",ha="zipCrypto",ya="directory",ba="executable",Sa="compressionMethod",Ea="signature",ga="extraField",Aa="unixMode",xa="setuid",za="setgid",Fa="sticky",Ra=[Hn,qn,Gn,Xn,$n,ta,Kn,Yn,ea,ra,na,aa,Jn,Qn,sa,oa,ia,ca,la,ua,da,fa,wa,ma,pa,ha,ya,ba,"symlink",Sa,Ea,"crc32",ga,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Aa,"unixExternalUpper",xa,za,Fa,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Da{constructor(t){Ra.forEach(e=>this[e]=t[e])}}const Ua="File format is not recognized",ka="End of central directory not found",Ta="End of Zip64 central directory locator not found",Oa="Central directory header not found",va="Local file header not found",Ia="Zip64 extra field not found",Ca="File contains encrypted entry",Ma="Encryption method not supported",Na="Compression method not supported",_a="Split zip file",ja="Overlapping entry found",La="Entry data out of bounds",Pa="Ambiguous archive",Wa="Encrypted central directory is not supported",Ba="Unsafe filename",Va="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Za="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ha="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",qa=/^[a-zA-Z]:/,Ka="utf-8",Ya="cp437",Ga=[[Gn,t],[Xn,t],[Jn,t],[Qn,e]],Xa={[e]:{Kt:Rs,bytes:4},[t]:{Kt:Ds,bytes:8}};class Ja{constructor(t,e={}){Object.assign(this,{reader:new jn(t),options:e,Yt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:o}=s;if(await Wn(o),o.size!==z&&o.readUint8Array||(o=new dn(await Re(o.readable)),await Wn(o)),o.size<d)throw Error(Ua);const c=fs(n,s.options),m=c==B,p=c!=Z,g=((t,r)=>{if(t!==z){const e=$(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw Error(Ha);return e}return r==B?0:r==Z?1/0:e})(Es(s,n,"maxAppendedDataSize"),c),A=((t,e)=>{if(t===z)return e;if(!ds(t))throw Error(Za);return t})(Es(s,n,"filenameValidation"),c),x=Es(s,n,"normalizeFilename"),{Gt:F,Xt:R}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:64};let o,i,c=0;for await(const[r,l,u,f,w]of ps(t,a)){const a=Fs(r,f+20);if(w+d+a==n){const a=await ys(t,r,l,f,w,n,s);if(2==a){if(o||(o=hs(u,f,w)),c++,!e||c>1)break}else 1!=a||i||(i=hs(u,f,w))}}return o||(o=i),o||(o=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,o;for await(const[e,i,c,l,u]of ps(t,a)){const a=hs(c,l,u);s||(s=a);const d=await ys(t,e,i,l,u,n,r);if(2==d)return a;1!=d||o||(o=a)}return o||s})(t,r,s)),{Gt:o,Xt:c}})(o,p,g);if(!F)throw await(async t=>await us(t)==a)(o)?Error(_a):Error(ka);p&&R>1&&Ss("multiple end of central directory records");const D=St(F);let U=Rs(D,12),T=Rs(D,16);const O=F.offset,v=Fs(D,20),I=O+d+v;o.size-I>g&&Ss("appended data");let C=Fs(D,4);const M=o.Zt||0;let N,_,j,L,V=Fs(D,6),H=Fs(D,10),q=0,K=w;const Y=T==t||U==t||H==e||V==e;if(T!=t&&V!=e&&(T+=ls(o,V)),Y){const r=F.offset>=f?await Vn(o,F.offset-f,f):k,n=St(r);if(r.length==f&&Rs(n,0)==u){T=ls(o,Rs(n,4))+Ds(n,8);let r=await Vn(o,T,w),a=St(r);const s=F.offset-f-w;if((r.length<w||Rs(a,0)!=l)&&T!=s&&s>=0){const t=T;T=s,T>t&&(q=T-t),r=await Vn(o,T,w),a=St(r)}if(r.length<w||Rs(a,0)!=l)throw Error(Ta);if(_=!0,j=Ds(a,4)>44,j){const t=Math.min(Number(Ds(a,4))-44,o.size-T-w);t>0&&(K+=t,L=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=St(t),n=Fs(r,26);Object.assign(e,{compressionMethod:Fs(r,0),compressedSize:Number(Ds(r,2)),uncompressedSize:Number(Ds(r,10)),encryptionAlgorithm:Fs(r,18),bitLength:Fs(r,20),flags:Fs(r,22),hashAlgorithm:Fs(r,24),hashData:t.subarray(28,28+n)})}return e})(await Vn(o,T+w,t)))}C==e?C=Rs(a,16):m&&C!=Rs(a,16)&&Ss("mismatched zip64 end of central directory record"),V==e?V=Rs(a,20):m&&V!=Rs(a,20)&&Ss("mismatched zip64 end of central directory record"),H==e?H=Ds(a,32):m&&H!=Ds(a,32)&&Ss("mismatched zip64 end of central directory record"),U==t?U=Ds(a,40):m&&U!=Ds(a,40)&&Ss("mismatched zip64 end of central directory record"),T=ls(o,V)+Ds(a,48)+q}}let G=U;const X=F.offset-(_?K+f:0);if(T>=o.size&&(q=o.size-T-U-d,T=o.size-U-d),M!=C)throw Error(_a);if(T<0)throw Error(Ua);let J=0,Q=await Vn(o,T,U),tt=St(Q);if(U){if(Q.length<4)throw Error(Ua);const t=X-U;if(T!=t&&V==C){let e=!(Rs(tt,J)==i||L&&L.compressedSize||ts(tt));if(!e&&t>=0&&t+4<=o.size&&(e=Rs(St(await Vn(o,t,4)),0)==i),e){const e=T;T=t,T>e&&(q+=T-e),Q=await Vn(o,T,U),tt=St(Q)}}}const et=X-T;if(U!=et&&et>=0&&V==C&&(U=et,Q=await Vn(o,T,U),tt=St(Q)),T<0||T>=o.size)throw Error(Ua);s.directoryOffset=T,s.directoryLength=G;const rt=gs(s,n,"decryptCentralDirectory");let nt,at;if(rt&&H&&Q.length>=4&&Rs(tt,0)!=i&&(j||ts(tt))){const t=((t,e,r)=>{const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r})(L,G,Q.length);at=Q.subarray(t),Q=await rt(Q.subarray(0,t),L),tt=St(Q),G=Q.length,nt=!0}N=T;const st=Es(s,n,"filenameEncoding"),ot=Es(s,n,"commentEncoding"),it=m?new Set:z;let ct;for(let t=0;t<H;t++){const a=new $a(o,s.options);if(J+46>Q.length||Rs(tt,J)!=i){if(0==t&&!nt&&(j||ts(tt)))throw Error(Wa);throw Error(Oa)}rs(a,tt,J+6);const c=!!a.bitFlag.languageEncodingFlag,l=J+46,u=l+a.filenameLength,d=u+a.extraFieldLength,f=Fs(tt,J+4),w=!(f>>8),p=f>>8==3,g=Q.subarray(l,u),F=Fs(tt,J+32),R=d+F,D=Q.subarray(d,R),U=c,k=c,T=Rs(tt,J+38),O=T&r,v={readOnly:!!(1&O),hidden:!!(2&O),system:!!(4&O),directory:!!(16&O),archive:!!(32&O)},I=Rs(tt,J+42),C=gs(s,n,"decodeText")||Vr,M=U?Ka:st||Ya,_=k?Ka:ot||Ya;let L=C(g,M,P);if(L===z&&(L=Vr(g,M)),x){const t=x(L);t!==z&&(L=t)}if(ms(L,A)){const t=Error(Ba);throw t.filename=L,t}let B=C(D,_,W);B===z&&(B=Vr(D,_)),Object.assign(a,{index:t,Jt:nt,versionMadeBy:f,msDosCompatible:w,zip64:!1,compressedSize:0,uncompressedSize:0,Qt:F,offset:I,diskNumberStart:Fs(tt,J+34),internalFileAttributes:Fs(tt,J+36),externalFileAttributes:T,msdosAttributesRaw:O,msdosAttributes:v,rawFilename:g,filenameUTF8:U,commentUTF8:k,rawExtraField:Q.subarray(u,d),rawComment:D,filename:L,comment:B}),ns(a,a,tt,J+6),a.offset+=q,N=Math.min(ls(o,a.diskNumberStart)+a.offset,N),m&&(it.has(a.filename)&&(ct=!0),it.add(a.filename));const V=a.externalFileAttributes>>16&e;a.unixMode===z&&16877&V&&(a.unixMode=V);const Z=!!(a.unixMode&b),K=!!(a.unixMode&S),Y=!!(512&a.unixMode),G=40960==((a.unixMode===z?V:a.unixMode)&h),X=!G&&(a.unixMode!==z?!!(73&a.unixMode):p&&!!(73&V)),$=a.unixMode!==z&&(a.unixMode&h)==y,et=(V&h)==y;Object.assign(a,{setuid:Z,setgid:K,sticky:Y,symlink:G,unixExternalUpper:V,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:X,directory:$||et||w&&v.directory||a.filename.endsWith(E)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const rt=new Da(a);rt.getData=(t,e)=>a.getData(t,rt,s.Yt,e),rt.arrayBuffer=async t=>{const e=new TransformStream,r=Re(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await a.getData(e,rt,s.Yt,t),r},J=R;const{onprogress:at}=n;if(at)try{await at(t+1,H,new Da(a))}catch{}yield rt}let lt=J,ut=es(Q.subarray(J))||(nt?es(at):z);if(!ut&&!nt){const t=T+J,e=Math.min(X-t,65541);e>=6&&(ut=es(await Vn(o,t,e)))}ut&&(s.digitalSignature=ut,lt=J+6+ut.length),m&&J!=G&<!=G&&Ss("trailing central directory data"),ct&&Ss("duplicate filename");const dt=Es(s,n,"extractPrependedData"),ft=Es(s,n,"extractAppendedData"),wt=(m||dt)&&H&&4==N&&await(async t=>{const e=await us(t);return e==a||808471376==e})(o)?4:0;return m&&(q||H&&N>wt)&&Ss("prepended data"),dt&&(s.prependedData=N>wt?await Vn(o,wt,N-wt):k),s.comment=v?await Vn(o,O+d,v):k,ft&&(s.appendedData=I<o.size?await Vn(o,I,o.size-I):k),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}class Qa{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new Ja(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}class $a{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,a,o={}){const i=this,c=ct(),{reader:l,index:u,offset:d,diskNumberStart:f,extraFieldAES:w,extraFieldZip64:m,compressionMethod:p,bitFlag:h,rawBitFlag:y,crc32:b,rawLastModDate:S,uncompressedSize:E,compressedSize:A}=i,{dataDescriptor:x}=h,F=e.localDirectory={},R=ls(l,f)+d,D=await Vn(l,R,g),U=St(D);let j=Es(i,o,T),L=Es(i,o,O);const P=Es(i,o,v);if(X(j,L),j=j&&j.length&&j,L=L&&L.length&&L,w&&99!=w.originalCompressionMethod)throw Error(Na);if(D.length<g||Rs(U,0)!=n)throw Error(va);rs(F,U,4);const{extraFieldLength:W,filenameLength:V}=F,H=Es(i,o,"checkLocalDirectory"),q=fs(o,i.options),K=((t,e)=>t===z?e!=Z:!!t)(H,q),Y=((t,e)=>t===z?e==B:!!t)(H,q);let J=k;if(Y&&(V||W)){const t=await Vn(l,R+g,V+W);J=t.subarray(0,V),F.rawExtraField=t.subarray(V)}else F.rawExtraField=W?await Vn(l,R+g+V,W):k;Y&&(F.rawFilename=J),ns(i,F,U,4,!0),K&&((t,e,r,n)=>{const{rawFilename:a}=t,s=t.Jt&&!(8192&~e.rawBitFlag);!n||s||r.length==a.length&&!r.some((t,e)=>t!=a[e])||Ss("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Ss("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&Ss("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Ss("mismatched local file header (crc32 or sizes)")})(i,F,J,Y);const{lastAccessDate:Q,creationDate:$,uid:tt,gid:et}=F;Q&&(e.lastAccessDate=Q),$&&(e.creationDate=$),tt!==z&&e.uid===z&&(e.uid=tt),et!==z&&e.gid===z&&(e.gid=et);const rt=i.encrypted&&F.encrypted&&!P,nt=rt&&!w;if(P||(e.zipCrypto=nt),rt&&!(64&~F.rawBitFlag))throw Error(Ma);const at=P?z:Ne(p);if(0!=p&&8!=p&&9!=p&&!at&&!P)throw Error(Na);if(rt){if(!nt&&(w.strength<1||w.strength>3))throw Error(Ma);if(!j&&!L)throw Error(Ca)}const st=R+g+V+W;if(st+A>l.size)throw Error(La);const ot=A,it=Fe(l.createReadable({offset:st,size:ot})),lt=G(Es(i,o,I)),ut=Es(i,o,"checkPasswordOnly");let dt=Es(i,o,"checkOverlappingEntry");const ft=Es(i,o,"checkOverlappingEntryOnly");ft&&(dt=!0);const{onstart:wt,onprogress:mt,onend:pt}=o,ht=0!=p&&!P,yt=P?A:E,bt=9==p;let Et=Es(i,o,M);bt&&(Et=!1);const gt=Es(i,o,"checkCrc32"),At=(gt===z?Es(i,o,"checkSignature"):gt)&&!P&&(!rt||nt||w&&1==w.vendorVersion),xt={options:{codecType:ar,password:j,rawPassword:L,zipCrypto:nt,encryptionStrength:w&&w.strength,checkCrc32:At,checkAuthenticationCode:Es(i,o,"checkAuthenticationCode"),passwordVerification:nt&&(x?S>>>8&r:b>>>24&r),outputSize:yt,crc32:b,compressed:ht,encrypted:rt,useWebWorkers:Es(i,o,C),useCompressionStream:Et,transferStreams:Es(i,o,N),deflate64:bt,format:at?at.format:z,codecURI:at?at.codecURI:z,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:ut},config:c,ut:{signal:lt,size:ot,onstart:wt,onprogress:mt,onend:pt}};let zt,Ft;dt&&await(async({reader:t,$t:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,te:c,dataDescriptor:l,extraFieldZip64:u,Yt:d})=>{let f=0;if(l&&(f=u?20:12),f){const r=await Vn(t,c+o,f+4),n=St(r);let l=r.length==f+4&&Rs(n,0)==s;if(l){const t=cs(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==a)&&t.compressedSize==o&&t.uncompressedSize==i?f+=4:l=!1}if(r.length>=f){const t=cs(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+o+f,$t:e};for(const[t,e]of d)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(ja);throw t.overlappingEntry=e.$t,t}d.set(r,w)})({reader:l,$t:e,index:u,offset:R,crc32:b,compressedSize:A,uncompressedSize:E,te:st,dataDescriptor:x||F.bitFlag.dataDescriptor,extraFieldZip64:m||F.extraFieldZip64,Yt:a});try{if(!ft){ut&&(t=new WritableStream),t=new Ln(t),await Wn(t,((t,e,r)=>Math.min(t,r?1032*e:e))(yt,A,ht)),({writable:zt}=t);const{outputSize:e}=await Nr({readable:it,writable:zt},xt);if(t.size+=e,e!=yt)throw Error(Le)}}catch(e){if(e.outputSize!==z&&(t.size+=e.outputSize),!ut||e.message!=Pt)throw Ft=e,e}finally{if((Pn(t)||!Es(i,o,_))&&zt&&!zt.locked){const t=zt.getWriter();if(Ft)try{await t.abort(Ft)}catch{}else await t.close()}}return ut||ft?z:t.getData?t.getData():zt}}function ts(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==Rs(t,r))return!0;return!1}function es(t){if(t.length>=6){const e=St(t);if(Rs(e,0)==o){const r=Fs(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function rs(t,e,r){const n=t.rawBitFlag=Fs(e,r+2),a=!(1&~n),s=Rs(e,r+6);Object.assign(t,{encrypted:a,version:Fs(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&p)==p},rawLastModDate:s,lastModDate:As(s),filenameLength:Fs(e,r+22),extraFieldLength:Fs(e,r+24)})}function ns(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=St(s);let c=0;try{for(;c<s.length;){const t=Fs(i,c),e=Fs(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=Fs(r,n+4);Object.assign(e,{signature:Rs(r,n+10),crc32:Rs(r,n+10),compressedSize:Rs(r,n+14),uncompressedSize:Rs(r,n+18)});const u=o.get(1);u&&(((t,e)=>{e.zip64=!0;const r=St(t.data),n=Ga.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+Xa[e].bytes,0);if(t.data.length<a)throw Error(Ia);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=Xa[i];e[o]=t[o]=c.Kt(r,s),s+=c.bytes}})(u,e),e.extraFieldZip64=u);const d=o.get(28789);d&&(as(d,Hn,qn,e,t),e.extraFieldUnicodePath=d);const f=o.get(25461);f&&(as(f,Kn,Yn,e,t),e.extraFieldUnicodeComment=f);const w=o.get(39169);w&&w.data.length>=7?(((t,e,r)=>{const n=St(t.data),a=zs(n,4);Object.assign(t,{vendorVersion:zs(n,0),vendorId:zs(n,2),strength:a,originalCompressionMethod:r,compressionMethod:Fs(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=z)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const p=o.get(13);p&&(ss(p,e),e.extraFieldPkwareUnix=p);const h=o.get(22613);h&&(ss(h,e),e.extraFieldUnixType1=h);const y=o.get(10);y&&(((t,e)=>{const r=St(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=Fs(r,a),s=Fs(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}if(n&&24==n.length){const r=St(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const i={lastModDate:xs(a),lastAccessDate:xs(s),creationDate:xs(o)};Object.assign(t,i),Object.assign(e,i,{rawLastAccessDate:s,rawCreationDate:o})}})(y,e),e.extraFieldNTFS=y);const b=o.get(30805);let S;if(b&&(S=os(b,e,!1),e.extraFieldUnix=b),!S){const t=o.get(30837);t&&(os(t,e,!0),e.extraFieldInfoZip=t)}const E=o.get(m);E&&(((t,e,r)=>{if(!t.data.length)return;const n=St(t.data),a=zs(n,0),s=[],o=[];r?(1&~a||(s.push($n),o.push(ta)),2&~a||(s.push(ea),o.push(ra)),4&~a||(s.push(na),o.push(aa))):t.data.length>=5&&(s.push($n),o.push(ta));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=Rs(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(E,e,a),e.extraFieldExtendedTimestamp=E);const g=o.get(6534);g&&(e.extraFieldUSDZ=g)}function as(t,e,r,n,a){if(t.data.length<5)return void(t.valid=!1);const s=St(t.data),o=new kt;o.append(a[r]);const i=St(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=Rs(s,1);Object.assign(t,{version:zs(s,0),[e]:Vr(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Rs(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function ss(t,e){if(t.data.length<8)return;const r=St(t.data),n={lastAccessDate:new Date(1e3*(0|Rs(r,0))),lastModDate:new Date(1e3*(0|Rs(r,4)))};t.data.length>=12&&(n.uid=Fs(r,8),n.gid=Fs(r,10)),Object.assign(t,n),Object.assign(e,n)}function os(t,e,r){try{const n=St(t.data);let a,s;if(r){let e=0;const r=zs(n,e++),o=zs(n,e++);a=is(t.data.subarray(e,e+o)),e+=o;const i=zs(n,e++);s=is(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else t.data.length>=4&&(a=Fs(n,0),s=Fs(n,2),Object.assign(t,{uid:a,gid:s}));return a!==z&&(e.uid=a),s!==z&&(e.gid=s),a!==z||s!==z}catch{}}function is(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function cs(t,e,r){const n=Rs(t,e);let a,s;return r?(a=Ds(t,e+4),s=Ds(t,e+12)):(a=Rs(t,e+4),s=Rs(t,e+8)),{crc32:n,compressedSize:a,uncompressedSize:s}}function ls(t,e){return t.qt?t.qt(e):0}async function us(t){return Rs(St(await Vn(t,0,4)))}function ds(t){return t===B||t===V||t===Z}function fs(t,e){return ws(t,ws(e,V))}function ws(t,e){const r=t.strictness;if(r!==z){if(!ds(r))throw Error(Va);return r}const n=t.checkAmbiguity;return n===z?e:n?B:e==Z?Z:V}function ms(t,e){if(e==Z)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||qa.test(t))||e==B&&(r.includes(".")||r.includes(""))}async function*ps(t,e){const r=t.size-e,n=await Vn(t,r,e),a=St(n);for(let t=n.length-d;t>=0;t--)Rs(a,t)==c&&(yield[a,r,n,t,r+t])}function hs(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function ys(r,n,a,s,o,c,l){const d=Fs(n,s+10),w=Rs(n,s+12),m=Rs(n,s+16);if(d==e||w==t||m==t)return await bs(r,n,a,o-f,c,l)==u?2:0;if(!d&&!w)return 1;const p=Fs(n,s+6);for(const t of[o-w,ls(r,p)+m])if(await bs(r,n,a,t,c,l)==i)return 2;return 0}async function bs(t,e,r,n,a,s){return n<0||n+4>a?z:n>=r?Rs(e,n-r):s.count>0?(s.count--,Rs(St(await Vn(t,n,4)),0)):z}function Ss(t){const e=Error(Pa);throw e.reason=t,e}function Es(t,e,r){return e[r]===z?t.options[r]:e[r]}function gs(t,e,r){return Y(Es(t,e,r))}function As(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function xs(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function zs(t,e){return t.getUint8(e)}function Fs(t,e){return t.getUint16(e,!0)}function Rs(t,e){return t.getUint32(e,!0)}function Ds(t,e){return Number(t.getBigUint64(e,!0))}var Us=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Pa,ERR_BAD_FORMAT:Ua,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Oa,ERR_ENCRYPTED:Ca,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Wa,ERR_ENTRY_DATA_OUT_OF_BOUNDS:La,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Ta,ERR_EOCDR_NOT_FOUND:ka,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Ia,ERR_INVALID_AUTHENTICATION_CODE:Lt,ERR_INVALID_COMPRESSED_DATA:Pe,ERR_INVALID_CRC32:We,ERR_INVALID_FILENAME_VALIDATION:Za,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ha,ERR_INVALID_PASSWORD:_t,ERR_INVALID_SIGNATURE:jt,ERR_INVALID_STRICTNESS:Va,ERR_INVALID_UNCOMPRESSED_SIZE:Le,ERR_LOCAL_FILE_HEADER_NOT_FOUND:va,ERR_OVERLAPPING_ENTRY:ja,ERR_SPLIT_ZIP_FILE:_a,ERR_UNSAFE_FILENAME:Ba,ERR_UNSUPPORTED_COMPRESSION:Na,ERR_UNSUPPORTED_ENCRYPTION:Ma,ERR_WORKER_STARTUP_TIMEOUT:ir,ZipReader:Ja,ZipReaderStream:Qa});const ks="File already exists",Ts="Zip file comment exceeds 64KB",Os="Invalid zip file comment (must be a Uint8Array)",vs="File entry comment exceeds 64KB",Is="Invalid file entry comment (must be a string)",Cs="Invalid date (must be a valid Date instance)",Ms="File entry name exceeds 64KB",Ns="Version exceeds 65535",_s="The strength must equal 1, 2, or 3",js="Encryption is not supported in USDZ files",Ls="Encryption is not supported when the 'passThrough' option is set",Ps="Invalid extra field (must be a Map)",Ws="Invalid extra field type (must be integer 0..65535)",Bs="Invalid extra field data (must be a Uint8Array)",Vs="Extra field data exceeds 64KB",Zs=-2147483648,Hs=2147483647,qs=BigInt(0),Ks=BigInt("0x7fffffffffffffff"),Ys="Zip64 is not supported (set the 'zip64' option to 'true')",Gs="Undefined uncompressed size",Xs="Undefined compression method",Js="Undetermined size",Qs="Undefined reader",$s="Zip file not empty",to="Invalid uid (must be integer 0..2^32-1)",eo="Invalid gid (must be integer 0..2^32-1)",ro="Invalid UNIX mode (must be integer 0..65535)",no="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",ao="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",so="Invalid msdosAttributesRaw (must be integer 0..255)",oo="Invalid msdosAttributes (must be an object with boolean flags)",io="Invalid level (must be integer 0..9)",co="Signature data exceeds 64KB",lo=new Uint8Array([7,0,2,0,65,69,3,0,0]),uo="infozip",fo="unix";let wo=0;const mo=[];class po{constructor(t,e={}){t=new Ln(t);const{availableSize:r=F,maxSize:n=F}=t;Object.assign(this,{writer:t,ee:r>0&&r!==F&&n>0&&n!==F,options:e,re:new Map,ne:new Set,offset:e[j]===z?t.size||t.writable.size||0:e[j],ae:e[j]===z?0:e[j]-(t.size||t.writable.size||0),se:new Set,oe:0,ie:z})}async prependZip(e){if(this.ne.size)throw Error($s);e=new jn(e),await Wn(e),e.size!==z&&e.readUint8Array||(e=new dn(await Re(e.readable)),await Wn(e));const{ZipReader:r}=await Promise.resolve().then(()=>Us),n=new r(e),s=await n.getEntries();await n.close(),await Wn(this.writer);const{directoryOffset:o}=n;this.ee&&(delete this.ee,await(async t=>St(await Vn(t,0,4)).getUint32(0,!0)==a)(e)||(await To(this.writer,ko()),this.offset+=4));const i=await(async(t,e,r,n)=>{const{writer:a}=t,s=new Map;if(a.closeDisk){const o=Array.from(r).sort((t,r)=>Uo(e,t)-Uo(e,r));let i=0;for(const r of o){const n=Uo(e,r);await Ro(t,e,i,n-i),zo(a,await Do(e,n))&&await a.closeDisk(),s.set(r,{offset:Fo(t,a),diskNumberStart:Ao(a)}),i=n}await Ro(t,e,i,n-i)}else{const a=t.offset;await Ro(t,e,0,n),r.forEach(t=>s.set(t,{offset:a+Uo(e,t),diskNumberStart:0}))}return s})(this,e,s,o);this.ne=new Set(s.map(t=>t.filename)),this.re=new Map(s.map(e=>{const{version:r,rawLastModDate:n,lastAccessDate:a,creationDate:s,rawFilename:o,bitFlag:c,encrypted:l,uncompressedSize:u,compressedSize:d,zip64:f}=e;let{compressionMethod:w,ce:m,le:p,ue:h,de:y,fe:b,rawExtraField:S}=e;const{level:E,languageEncodingFlag:g,dataDescriptor:A}=c;m=m||k,p=p||k,h=h||k,y=y||k,b=b||k,S=S||k,e.extraFieldAES&&(w=99);const x=Yo(m,p,h,y,b,S),F=f&&u>=t,R=f&&d>=t,D=-7&Xo(E,g,A,l,w)|E<<1,{we:U,me:T}=Go({version:r,bitFlag:D,compressionMethod:w,uncompressedSize:u,compressedSize:d,rawLastModDate:n,rawFilename:o,pe:R,he:F,extraFieldLength:x}),{crc32:O}=e;O!==z&&Ho(T,10,O);const{offset:v,diskNumberStart:I}=i.get(e);return Object.assign(e,{he:F,pe:R,offset:v,diskNumberStart:I,ye:!1,ce:m,le:p,ue:h,de:y,fe:b,rawExtraField:S,extendedTimestamp:h.length>0||y.length>0,be:1+(a?2:0)+(s?4:0),we:U,me:T}),[e.filename,e]}))}async add(a="",o,i={}){const c=this;i=Object.assign({},i);const{se:l}=c;let u,d;wo<ct().maxWorkers?wo++:await new Promise(t=>mo.push(t));try{if(a=a.trim(),Mo(c,i,ya)&&!a.endsWith(E)&&(a+=E),c.ne.has(a))throw Error(ks);return c.ne.add(a),d=!0,u=(async(a,o,i,c)=>{const l=((n,a,s)=>{a=a.trim();let o=Mo(n,s,da),i=Mo(n,s,pa,o?20:768);const c=Mo(n,s,ba),l=Po(n,s,"uid"),u=Po(n,s,"gid");let d=Po(n,s,Aa),f=Mo(n,s,"unixExtraFieldType"),w=Mo(n,s,xa),m=Mo(n,s,za),p=Mo(n,s,Fa);if(Q(l,t,to),Q(u,t,eo),Q(d,e,ro),f!==z&&f!==uo&&f!==fo)throw Error(no);if(f===fo&&(l!==z&&l>e||u!==z&&u>e))throw Error(ao);f!==z||l===z&&u===z||(f=uo);let g=Po(n,s,la),A=Mo(n,s,ua);const x=g!==z||A!==z;if(l!==z||u!==z||d!==z||f||c?(o=!1,i=i&r|768):x&&(o=!0,i&=r),Q(g,r,so),A&&("object"!=typeof A||Array.isArray(A)))throw Error(oo);if(i>e)throw Error(Ns);let F=jo(n,s,oa,ca);const R=F!==z;R||(F=0),!s[ya]&&a.endsWith(E)&&(s[ya]=!0);const D=Mo(n,s,ya);if(D?(a.endsWith(E)||(a+=E),R||(F=16,o||(F|=16877<<16))):o||R||(F=c?493<<16:27525120),!o){const t=d!==z||!!(w||m||p);d=d===z?F>>16&e:d&e,w?d|=b:w=!!(d&b),m?d|=S:m=!!(d&S),p?d|=512:p=!!(512&d),R&&!t||(D?d=-61441&d|y:d&h||(d|=32768),F=(d&e)<<16|F&e)}return({msdosAttributesRaw:g,msdosAttributes:A}=((t,e)=>{if(t!==z)t&=r;else if(e!==z){const{readOnly:n,hidden:a,system:s,directory:o,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),o&&(c|=16),i&&(c|=32),t=c&r}return e===z&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(g,A)),x&&(F=F&t|g&r),{name:a,Se:{versionMadeBy:i,msDosCompatible:!!o,externalFileAttributes:F,unixExternalUpper:F>>16&e,uid:l,gid:u,unixMode:d,unixExtraFieldType:f,symlink:d!==z&&40960==(d&h),setuid:w,setgid:m,sticky:p,msdosAttributesRaw:g,msdosAttributes:A}}})(a,o,c);({name:o}=l);const u=((t,r,n)=>{const a=_o(t,n,"encodeText")||Ot;let s=a(r,P);if(s===z&&(s=Ot(r)),Yo(s)>e)throw Error(Ms);const o=n[Kn]||"";if(typeof o!=U)throw Error(Is);let i=a(o,W);if(i===z&&(i=Ot(o)),Yo(i)>e)throw Error(vs);const c=Mo(t,n,ma,20);if(c>e)throw Error(Ns);const l=No(t,n,$n,new Date),u=No(t,n,ea),d=No(t,n,na),f=jo(t,n,sa,ia,0),w=Mo(t,n,v),m=Mo(t,n,T),p=Mo(t,n,O);X(m,p);const h=Po(t,n,"encryptionStrength",3),y=Mo(t,n,ha),b=Mo(t,n,"extendedTimestamp",!0),S=Mo(t,n,"ntfsTimestamp"),E=Mo(t,n,"keepOrder",!0),g=Mo(t,n,C),A=Mo(t,n,N),x=Mo(t,n,"bufferedWrite"),F=_o(t,n,"createTempStream"),R=Mo(t,n,"dataDescriptorSignature",!0),D=G(Mo(t,n,I)),k=Mo(t,n,"useUnicodeFileNames",!0),_=Mo(t,n,Sa),j=w||_===z?z:Ne(_);if(!w&&_!==z&&0!==_&&8!==_&&!j)throw Error("Compression method not supported");let B=Po(t,n,"level");if(Q(B,9,io),t.options[L]){if(m!==z||p!==z)throw Error(js);B===z&&_===z&&(B=0)}w&&(B=z);let V=Mo(t,n,M),Z=Mo(t,n,"dataDescriptor");x&&Z===z&&(Z=!1),(Z===z||y)&&(Z=!0),B!==z&&6!=B&&(V=!1);const H=Mo(t,n,fa);if(!(y||m===z&&p===z||Number.isInteger(h)&&h>=1&&h<=3))throw Error(_s);const q=bo(n[ga]),K=bo(n.localExtraField);return{comment:o,Se:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:u,creationDate:d,internalFileAttributes:f,passThrough:w,password:m,rawPassword:p,encryptionStrength:h,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:S,keepOrder:E,useWebWorkers:g,transferStreams:A,bufferedWrite:x,createTempStream:F,dataDescriptorSignature:R,signal:D,useUnicodeFileNames:k,compressionMethod:_,format:j?j.format:z,codecURI:j?j.codecURI:z,Ee:j?j.versionNeeded:z,level:B,useCompressionStream:V,dataDescriptor:Z,zip64:H,rawExtraField:q,ge:K}}})(a,o,c),{comment:d}=u,f=c[ga];let w;a.re.set(o,z);try{const{Se:d}=u;0==d.level||d.compressionMethod!==z||d.passThrough||await(async t=>{const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.gt)return!0;if(Xe(e)||Ge(e,Ve))return!0;if(r)try{return await dr(t),!0}catch{return!1}return!1})(ct())||(d.level=0);const f=await(async(e,r,{Se:n},a)=>{if(n.passThrough&&!r&&!Mo(e,a,ya))throw Error(Qs);let s;return r&&(r=new jn(r),await Wn(r),({size:s}=r)),Object.assign({reader:r},((e,r,n,a,s)=>{const{passThrough:o,zipCrypto:i,password:c,rawPassword:l,encryptionStrength:u}=a;let{dataDescriptor:d,zip64:f,level:w,compressionMethod:m}=a,p=0,h=0;if(o&&r){if(h=s[Gn],h===z)throw Error(Gs);if(m===z)throw Error(Xs)}const y=!0===f,b=Mo(e,s,wa);if(r&&o&&!b&&Yo(c,l))throw Error(Ls);const S=r&&(!!(c&&Yo(c)||l&&Yo(l))||o&&b);r||(w=0,m=0);const E=S?i?12:16+4*u:0;r&&(o?(s.uncompressedSize=h,p=n===z?Wo(h)+E:n):n===z?(d=!0,(f||f===z)&&(f=!0,h=p=4294967296)):(s.uncompressedSize=h=n,p=(Bo(m,w)?Wo(h):h)+E));const g=y||h>=t,A=y||p>=t;if(g||A){if(!1===f)throw Error(Ys);f=!0}return f=f||!1,{Ae:p,Se:{dataDescriptor:d,zip64:f,he:g,pe:A,uncompressedSize:h,level:w,compressionMethod:m,encrypted:S}}})(e,!!r,s,n,a))})(a,i,u,c);({reader:i}=f);const p=xo(a.writer),h=Ao(a.writer),y=(t=>{const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:d,directory:f,rawExtraField:w,ge:p,encryptionStrength:h,extendedTimestamp:y,ntfsTimestamp:b,passThrough:S,encrypted:E,he:F,pe:R,uncompressedSize:D,crc32:U}=t;let{version:T,compressionMethod:O}=t;const v=!f&&Bo(O,i);let I;const C=S||!v,M=c&&(t.bufferedWrite||!d||!F&&!R||C),N=M||c&&d&&(F||R);if(c&&(F||R)){const t=20,e=go(t);if(e.xe(1),e.xe(t-4),I=e.Wt,M&&(e.ze(D),C)){const t=E?l?12:16+4*h:0;e.ze(S?0:D+t)}}else I=k;let _,j,P,W,B;if(E&&!l){const t=go(Yo(lo)+2);t.xe(39169),t.Fe(lo),_=t.Wt,_[8]=h}else _=k;if(y){const t=vo(a),e=Io(t);if(e){const e=9+(s?4:0)+(o?4:0),r=go(e);W=1+(s?2:0)+(o?4:0),r.xe(m),r.xe(e-4),r.Re(W),r.De(t),s&&r.De(Co(vo(s))),o&&r.De(Co(vo(o))),P=r.Wt}else P=k;if(b===z?!e||s||o:b)try{const t=Oo(a),e=go(36);e.xe(10),e.xe(32),e.Ue(4),e.xe(1),e.xe(24),e.ze(t),e.ze(s?Oo(s):t),e.ze(o?Oo(o):t),j=e.Wt}catch{j=k}else j=k}else j=P=k;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=uo||r===z&&n===z)if(a!=fo||r===z&&n===z)B=k;else{const t=go(8);t.xe(30805),t.xe(4),t.xe((r===z?0:r)&e),t.xe((n===z?0:n)&e),B=t.Wt}else{const t=Eo(r),e=Eo(n),a=3+t.length+e.length,s=go(4+a);s.xe(30837),s.xe(a),s.Re(1),s.Re(t.length),s.Fe(t),s.Re(e.length),s.Fe(e),B=s.Wt}}catch{B=k}O===z&&(O=v?8:0);const{Ee:V}=t;v&&V!==z&&(T=T>V?T:V),c&&(T=T>45?T:45),E&&!l&&(T=T>51?T:51,S&&U!==z&&(_[4]=1),Zo(St(_),9,O),O=99);const Z=N?Yo(I):0,H=Z+Yo(_,P,j,B,w,p);if(H+(t[L]?67:0)>e)throw Error(Vs);const q=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{we:K,me:Y,rawLastModDate:G}=Go({version:T,bitFlag:Xo(i,u,d,E,O),compressionMethod:O,uncompressedSize:D,lastModDate:q<x?x:q>A?A:q,rawFilename:r,pe:R,he:F,extraFieldLength:H}),X=go(g+Yo(r)+H),J=X.Wt,Q=St(J);return X.De(n),X.Fe(K),X.Fe(r),N&&X.Fe(I),X.Fe(_),X.Fe(P),X.Fe(j),X.Fe(B),X.Fe(w),X.Fe(p),d&&(R||Ho(Q,18,0),F||Ho(Q,22,0)),{ke:J,Te:Q,we:K,me:Y,lastModDate:a,rawLastModDate:G,encrypted:E,compressed:v,version:T,compressionMethod:O,be:W,ce:k,Oe:Z,ue:P,de:j,fe:B,le:_,extraFieldLength:H}})(c=Object.assign({},c,l.Se,u.Se,f.Se,{signature:c[Ea],crc32:c.crc32===z?c[Ea]:c.crc32,offset:a.offset-p,diskNumberStart:h,[L]:a.options[L]})),b=(({zip64:t,dataDescriptor:e,dataDescriptorSignature:r})=>{let n,a=k,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=St(a),r&&(o=4,Ho(n,0,s))),{ve:a,Ie:n,Ce:o}})(c),S=Yo(y.ke,b.ve);w=await(async(e,n,a,s,o)=>{const{re:i,writer:c}=e,{keepOrder:l,dataDescriptor:u,signal:d}=o,{Me:f}=s,w=e.options[L],m=e.ie;let p,h,y,b,S,E,A,x={},R=0;i.set(n,x),e.ie=x;try{let h;l&&(h=m&&m.Ne,x.Ne=new Promise(t=>y=t)),o.bufferedWrite||!l||e._e||e.oe||!u?(p=!0,e.oe++,A=o.createTempStream?await o.createTempStream():new TransformStream(z,z,{highWaterMark:F}),A.size=0,await Wn(c)):(A=c,await D()),await Wn(A);const k=xo(c);e.ee&&(delete e.ee,await To(c,ko()),e.offset+=4),w&&!p&&So(s,e.offset-k);const{ke:T}=f;p||(await h,await U());const O=Ao(c),v=Fo(e,c);if(x.diskNumberStart=O,p||(S=!0,E=c.size,await To(A,T)),x=await(async(e,n,{diskNumberStart:a,Ne:s},o,i,c)=>{const{Me:l,je:u,Le:d}=o,{we:f,me:w,lastModDate:m,rawLastModDate:p,encrypted:h,compressed:y,version:b,compressionMethod:S,ce:E,Oe:g,ue:A,be:x,de:F,fe:R,le:D}=l,{ve:U}=u,{rawFilename:k,lastAccessDate:T,creationDate:O,password:v,rawPassword:I,level:C,zip64:M,he:N,pe:_,zipCrypto:j,dataDescriptor:L,directory:P,executable:W,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,symlink:st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt,useCompressionStream:ft,passThrough:wt,format:mt,codecURI:pt}=c,ht={Ne:s,versionMadeBy:B,zip64:M,directory:!!P,executable:!!W,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:V,ce:E,Oe:g,ue:A,de:F,fe:R,le:D,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,symlink:!!st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt};let{crc32:yt,uncompressedSize:bt}=c,St=0;wt||(bt=0);const{writable:Et}=n;if(e){const a=Fe(Zn(e)),s=e.size,o={options:{codecType:nr,level:C,rawPassword:I,password:v,encryptionStrength:J,zipCrypto:h&&j,passwordVerification:h&&j&&p>>8&r,computeCrc32:!wt,compressed:y&&!wt,encrypted:h&&!wt,useWebWorkers:H,useCompressionStream:ft,transferStreams:q,format:mt,codecURI:pt,compressionMethod:S},config:i,ut:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await Nr({readable:a,writable:Et},o);if(St=e.outputSize,n.size+=St,wt||(bt=e.inputSize,h&&!j||(yt=e.crc32)),!_&&St>=t||!N&&bt>=t)throw Error(Ys)}catch(t){throw t.outputSize!==z&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,Me:n,je:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{me:l,encrypted:u}=n,{Ie:d,Ce:f}=a;u&&!o&&!i||t===z||(Ho(l,10,t),c&&Ho(d,f,t)),s?c&&(qo(d,f+4,BigInt(e)),qo(d,f+12,BigInt(r))):(Ho(l,14,e),Ho(l,18,r),c&&(Ho(d,f+4,e),Ho(d,f+8,r)))})({crc32:yt,compressedSize:St,uncompressedSize:bt,Me:l,je:u},c),L&&await To(n,U),Object.assign(ht,{uncompressedSize:bt,compressedSize:St,lastModDate:m,rawLastModDate:p,creationDate:O,lastAccessDate:T,encrypted:!!h,zipCrypto:!!j,size:d+St,compressionMethod:S,version:b,we:f,me:w,signature:yt,crc32:!h||j||wt?yt:z,be:x,he:N,pe:_}),ht})(a,A,x,s,ct(),o),p||(S=!1),i.set(n,x),x.filename=n,p){if(await Promise.all([A.writable.getWriter().close(),h]),await D(),b=!0,E=c.size,await U(),x.diskNumberStart=Ao(c),x.offset=Fo(e,c),w){const t=s.Le;So(s,e.offset-xo(c)),x.size+=s.Le-t}(({rawFilename:t,encrypted:e,zip64:r,Oe:n,crc32:a,compressedSize:s,uncompressedSize:o,he:i,pe:c},l,{dataDescriptor:u,passThrough:d})=>{if(u||((!e||d&&a!==z)&&Ho(l,14,a),c||Ho(l,18,s),i||Ho(l,22,o)),r&&n){const e=g+Yo(t)+4;qo(l,e,BigInt(o)),qo(l,e+8,BigInt(s))}})(x,f.Te,o),await To(c,f.ke),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=Yo(t),R+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(A.readable,c,d),c.size+=A.size,b=!1}else x.diskNumberStart=O,x.offset=v;return e.offset+=x.size,x}catch(t){if(b||S){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-E,p&&(e.offset+=R)}throw i.delete(n),t}finally{if(p&&e.oe--,y&&y(),h&&h(),p&&A&&A.dispose)try{await A.dispose()}catch{}}async function D(){e._e=!0;const{Pe:t}=e;e.Pe=new Promise(t=>h=()=>{e._e=!1,t()}),await t}async function U(){zo(c,Yo(f.ke))&&await c.closeDisk()}})(a,o,i,{Me:y,je:b,Le:S},c)}catch(t){throw a.re.delete(o),t}return Object.assign(w,{name:o,comment:d,extraField:f,[ia]:w.internalFileAttributes,[ca]:w.externalFileAttributes}),new Da(w)})(c,a,o,i),l.add(u),await u}catch(t){throw d&&c.ne.delete(a),t}finally{l.delete(u);const t=mo.shift();t?t():wo--}}remove(t){const{ne:e,re:r}=this;if(typeof t==U&&(t=r.get(t)),t&&t.filename!==z){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=k,n={}){const{se:a,writer:s}=this,{writable:f}=s;if(!(r instanceof Uint8Array))throw Error(Os);if(Yo(r)>e)throw Error(Ts);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=(r=>{let n=0;for(const[,a]of r){const{rawFilename:r,le:s,rawComment:o,de:i,fe:c,rawExtraField:l,extendedTimestamp:u,be:d,lastModDate:f,he:w,pe:p,uncompressedSize:h,compressedSize:y}=a,b=a.offset>=t,S=a.diskNumberStart>=e;let E,g;if(b||S||w||p){const t=4+(w?8:0)+(p?8:0)+(b?8:0)+(S?4:0),e=go(t);e.xe(1),e.xe(t-4),w&&e.ze(h),p&&e.ze(y),b&&e.ze(a.offset),S&&e.De(a.diskNumberStart),E=e.Wt}else E=k;a.ce=E,a.We=b,a.ye=S;const A=vo(f);if(u&&Io(A)){const t=go(9);t.xe(m),t.xe(5),t.Re(d),t.De(A),g=t.Wt}else g=k;a.ue=g;const x=Yo(E,s,i,c,g,l);if(x>e)throw Error(Vs);n+=46+Yo(r,o)+x}return n})(r.re),{Be:f,Ve:w}=await(async(r,n,a)=>{const{re:s,writer:o}=r,c=new Uint8Array(n);await Wn(o);let l=0,u=0,d=Ao(o),f=xo(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:m,ce:p,le:h,ue:y,de:b,fe:S,rawExtraField:E,rawComment:g,versionMadeBy:A,we:x,me:z,he:F,pe:R,ye:D,We:U,internalFileAttributes:k,externalFileAttributes:T,diskNumberStart:O,uncompressedSize:v,compressedSize:I}=n,C=Yo(p,h,y,b,S,E),M=46+Yo(m,g)+C;zo(o,l+M-u)&&(await To(o,c.slice(u,l)),u=l,await o.closeDisk()),0==r&&(d=Ao(o),f=xo(o)),F||Ho(z,18,v),R||Ho(z,14,I),(U||D)&&n.version<45&&Zo(z,0,45);const N=go(M);if(N.De(i),N.xe(A),N.Fe(x.subarray(0,24)),N.xe(C),N.xe(Yo(g)),N.xe(D?e:O),N.xe(k),N.De(T),N.De(U?t:w),N.Fe(m),N.Fe(p),N.Fe(h),N.Fe(y),N.Fe(b),N.Fe(S),N.Fe(E),N.Fe(g),Ko(c,N.Wt,l),l+=M,a.onprogress)try{await a.onprogress(r+1,s.size,new Da(n))}catch{}}return await To(o,u?c.slice(u):c),{Be:{diskNumber:d,diskOffset:f},Ve:c}})(r,s,a),p=await(async(t,r,n)=>{const a=_o(t,n,"signCentralDirectory");if(a){const n=await a(r),s=Yo(n);if(s>e)throw Error(co);const i=go(6+s);i.De(o),i.xe(s),i.Fe(n);const{writer:c}=t;return zo(c,Yo(i.Wt))&&await c.closeDisk(),await To(c,i.Wt),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{Be:i,Ze:f}=s;let{He:w}=s,m=r.re.size,p=i.diskNumber,h=Fo(r,i),y=Ao(o);zo(o,d)&&y++;let b=Mo(r,a,fa);if(h>=t||w>=t||m>=e||y>=e){if(!1===b)throw Error(Ys);b=!0}const S=Yo(n);if(S>e)throw Error(Ts);const E=go(b?98:d);zo(o,Yo(E.Wt)+S)&&await o.closeDisk(),y=Ao(o),b&&(E.De(l),E.ze(44),E.xe(45),E.xe(45),E.De(y),E.De(p),E.ze(m),E.ze(m),E.ze(w),E.ze(h),E.De(u),E.De(y),E.ze(BigInt(Fo(r,o))+BigInt(w)+BigInt(f)),E.De(y+1),Mo(r,a,"supportZip64SplitFile",!0)&&(y=e,p=e),m=e,h=t,w=t),E.De(c),E.xe(y),E.xe(p),E.xe(m),E.xe(m),E.De(w),E.De(h),E.xe(S),await To(o,E.Wt),S&&await To(o,n)})(r,n,a,{Be:f,He:s,Ze:p})})(this,r,n),!Pn(s)&&Mo(this,n,_)||await f.getWriter().close(),s.getData?s.getData():f}}class ho{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new po(r,t),this.se=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return yo(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return yo(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.se)),this.zipWriter.close(t,e)}}function yo(t,e,r){t.se.add(e),e.catch(t=>{try{r(t)}catch{}})}function bo(t){if(!t)return k;if(!(t instanceof Map))throw Error(Ps);let r=0,n=0;t.forEach((t,n)=>{if(J(n,e,Ws),!(t instanceof Uint8Array))throw Error(Bs);if(Yo(t)>e)throw Error(Vs);r+=4+Yo(t)});const a=new Uint8Array(r),s=St(a);return t.forEach((t,e)=>{Zo(s,n,e),Zo(s,n+2,Yo(t)),Ko(a,t,n+4),n+=4+Yo(t)}),a}function So(t,e){const{Me:r}=t;let{ke:n,extraFieldLength:a}=r,s=64-(e+Yo(n))%64;s<4&&(s+=64);const o=new Uint8Array(s),i=St(o);Zo(i,0,6534),Zo(i,2,s-4);const c=n;r.ke=n=new Uint8Array(Yo(c)+s),Ko(n,c),Ko(n,o,Yo(c));const l=St(n);Zo(l,28,a+s),r.Te=l,t.Le+=s}function Eo(t){if(t===z)return k;{const e=new Uint8Array(4);St(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function go(t){const e=new Uint8Array(t),r=St(e);let n=0;return{Wt:e,Re:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},xe:t=>{Zo(r,n,t),n+=2},De:t=>{Ho(r,n,t),n+=4},ze:t=>{qo(r,n,BigInt(t)),n+=8},Fe:t=>{Ko(e,t,n),n+=Yo(t)},Ue:t=>n+=t}}function Ao(t){const{diskNumber:e=0}=t;return e}function xo(t){const{diskOffset:e=0}=t;return e}function zo(t,e){const{availableSize:r=F}=t;return e>r}function Fo(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.ae:0)}async function Ro(t,e,r,n){if(n>0){const{writer:a}=t;await Zn(e,{offset:r,size:n}).pipeTo(a.writable,{preventClose:!0,preventAbort:!0}),a.size+=n,t.offset+=n}}async function Do(t,e){const r=await Vn(t,e,g);if(Yo(r)<g)return g;const n=St(r);return g+Vo(n,26)+Vo(n,28)}function Uo(t,{offset:e,diskNumberStart:r}){return e+(t.qt?t.qt(r):0)}function ko(){const t=new Uint8Array(4);return Ho(St(t),0,a),t}async function To(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Yo(e),await n.write(e)}finally{n.releaseLock()}}function Oo(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<qs?qs:e>Ks?Ks:e}}function vo(t){return Math.floor(t.getTime()/1e3)}function Io(t){return t>=Zs&&t<=Hs}function Co(t){return Math.min(Hs,Math.max(Zs,t))}function Mo(t,e,r,n){const a=e[r]===z?t.options[r]:e[r];return a===z?n:a}function No(t,e,r,n){const a=Mo(t,e,r,n);if(null===a)return n;if(a!==z&&(typeof a.getTime!=D||Number.isNaN(a.getTime())))throw Error(Cs);return a}function _o(t,e,r){return Y(Mo(t,e,r))}function jo(t,e,r,n,a){const s=Lo(e,r,n),o=s===z?Lo(t.options,r,n):s;return o===z?a:o}function Lo(t,e,r){return t[e]===z?t[r]:t[e]}function Po(t,e,r,n){return $(Mo(t,e,r,n))}function Wo(t){return t+5*(Math.floor(t/16383)+1)}function Bo(t,e){return t===z?e===z||e>0:0!==t}function Vo(t,e){return t.getUint16(e,!0)}function Zo(t,e,r){t.setUint16(e,r,!0)}function Ho(t,e,r){t.setUint32(e,r,!0)}function qo(t,e,r){t.setBigUint64(e,r,!0)}function Ko(t,e,r){t.set(e,r)}function Yo(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Go({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,pe:l,he:u,extraFieldLength:d}){const f=go(26),w=f.Wt,m=St(w);if(f.xe(e),f.xe(r),f.xe(n),i===z){const t=new Uint32Array(1),e=St(t);Zo(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),Zo(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.De(i),f.Ue(4),l||s!==z?f.De(l?t:s):f.Ue(4),u||a!==z?f.De(u?t:a):f.Ue(4),f.xe(Yo(c)),f.xe(d),{we:w,me:m,rawLastModDate:i}}function Xo(t,e,r,n,a){let s=0;return e&&(s|=p),r&&(s|=8),8!=a&&9!=a||(t>=0&&t<=3&&(s|=6),t>3&&t<=5&&(s|=4),9==t&&(s|=2)),n&&(s|=1),s}function Jo(){return"application/octet-stream"}const Qo=1048576,$o=".zip.js-temp";function ti(t={}){const{thresholdBytes:e=Qo,directoryName:r=$o,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function s(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,o,i=0,c=!1;const l=new WritableStream({async write(o){c?await a.write(o):(t.push(o),i+=o.length,i>e&&await(async()=>{const e=await s();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!o){const t=await n.getFile();o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const ei=1048576;function ri(t={}){const{thresholdBytes:e=ei}=t;return()=>{const t=[];let r,n,a,s=0,o=!1;const i=new WritableStream({async write(a){o?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=Re(e.readable),r=e.writable.getWriter(),o=!0;for(const e of t)await r.write(e);t.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new ReadableStream({async pull(e){if(o){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const ni=1048576,ai=".zip.js-temp",si="createSyncAccessHandle is only available in dedicated workers";function oi(t={}){const{thresholdBytes:e=ni,directoryName:r=ai,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(si);const a=n||(()=>navigator.storage.getDirectory());let s;function o(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,i=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await o();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=i-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{pt({baseURI:import.meta.url})}catch{}let ii,ci,li,ui,di;function fi(t,e,r={}){if(!ii){const t=Error("WASM module not loaded");throw t.cause=di,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,s="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.qe=ci(a),this.in=ci(s),this.inBufferSize=s,!this.qe||!this.in)throw Error("allocation failed");if(this.Ke=new Uint8Array(a),t?(this.Ye=ii.deflate_process,this.Ge=ii.deflate_last_consumed,this.Xe=ii.deflate_end,this.Je=ii.deflate_new(),r="gzip"===e?ii.deflate_init_gzip(this.Je,n):"deflate-raw"===e?ii.deflate_init_raw(this.Je,n):ii.deflate_init(this.Je,n)):"deflate64-raw"===e?(this.Ye=ii.inflate9_process,this.Ge=ii.inflate9_last_consumed,this.Xe=ii.inflate9_end,this.Je=ii.inflate9_new(),r=ii.inflate9_init_raw(this.Je)):(this.Ye=ii.inflate_process,this.Ge=ii.inflate_last_consumed,this.Xe=ii.inflate_end,this.Je=ii.inflate_new(),r="deflate-raw"===e?ii.inflate_init_raw(this.Je):"gzip"===e?ii.inflate_init_gzip(this.Je):ii.inflate_init(this.Je)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(ui.buffer),o=this.Ye,i=this.Ge,c=this.qe,l=this.Ke;let u=0;for(;u<n.length;){const e=Math.min(n.length-u,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&li&&(li(this.in),this.in=0),this.in=ci(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(u,u+e),this.in);const d=o(this.Je,this.in,e,c,a,0),f=16777215&d;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=d>>24&255,e=128&t?t-256:t;if(e<0)throw Error("process error:"+e)}const w=i(this.Je);if(0===w)break;u+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(ui.buffer),n=this.Ye,s=this.qe,o=this.Ke;for(;;){const i=n(this.Je,0,0,s,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(t<0)throw Error("process error:"+t)}if(c&&(o.set(r.subarray(s,s+c),0),e.enqueue(o.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=o(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){o(this)}});function o(t){let e=0;return t.Je&&t.Xe&&(e=t.Xe(t.Je)),t.Je=0,t.in&&li&&li(t.in),t.in=0,t.qe&&li&&li(t.qe),t.qe=0,e}}class wi{constructor(t="deflate",e){return fi(!0,t,e)}}class mi{constructor(t="deflate",e){return fi(!1,t,e)}}wi.gt=!0,mi.gt=!0;let pi,hi=!1;function yi(){pi=null,(async()=>{await Promise.allSettled(Or.map(t=>(Wr(t),t.terminate()))),cr=z,lr=!1})(),hi=!1,ii=ci=li=ui=di=null}(({Qe:t})=>{dr=t})({Qe:t=>{if(!pi){let{wasmURI:e}=t;typeof e==D&&(e=e()),pi=(async(t,{baseURI:e})=>{if(!hi)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;t<n;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(ii=t,({malloc:ci,free:li,memory:ui}=ii),"function"!=typeof ci||"function"!=typeof li||!ui)throw ii=ci=li=ui=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),hi=!0}catch(t){throw(t=>{di=t})(t),t}})(e,t).catch(t=>{throw pi=null,t})}return pi}}),pt({CompressionStreamFallback:wi,DecompressionStreamFallback:mi}),pt({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{dn as BlobReader,fn as BlobWriter,on as Data64URIReader,cn as Data64URIWriter,Pa as ERR_AMBIGUOUS_ARCHIVE,Ua as ERR_BAD_FORMAT,Oa as ERR_CENTRAL_DIRECTORY_NOT_FOUND,ks as ERR_DUPLICATED_NAME,Ca as ERR_ENCRYPTED,Wa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,La as ERR_ENTRY_DATA_OUT_OF_BOUNDS,Ta as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,ka as ERR_EOCDR_NOT_FOUND,Ia as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,qr as ERR_HTTP_RANGE,Kr as ERR_HTTP_RESOURCE_CHANGED,Lt as ERR_INVALID_AUTHENTICATION_CODE,Ue as ERR_INVALID_CODEC_DEFINITION,Te as ERR_INVALID_CODEC_MODULE,Ts as ERR_INVALID_COMMENT,Os as ERR_INVALID_COMMENT_TYPE,Pe as ERR_INVALID_COMPRESSED_DATA,We as ERR_INVALID_CRC32,Cs as ERR_INVALID_DATE,_s as ERR_INVALID_ENCRYPTION_STRENGTH,vs as ERR_INVALID_ENTRY_COMMENT,Is as ERR_INVALID_ENTRY_COMMENT_TYPE,Ms as ERR_INVALID_ENTRY_NAME,Ps as ERR_INVALID_EXTRAFIELD,Vs as ERR_INVALID_EXTRAFIELD_DATA,Bs as ERR_INVALID_EXTRAFIELD_DATA_TYPE,Ws as ERR_INVALID_EXTRAFIELD_TYPE,Za as ERR_INVALID_FILENAME_VALIDATION,H as ERR_INVALID_FUNCTION_OPTION,eo as ERR_INVALID_GID,io as ERR_INVALID_LEVEL,Ha as ERR_INVALID_MAX_APPENDED_DATA_SIZE,tt as ERR_INVALID_MAX_WORKERS,so as ERR_INVALID_MSDOS_ATTRIBUTES,oo as ERR_INVALID_MSDOS_DATA,_t as ERR_INVALID_PASSWORD,K as ERR_INVALID_PASSWORD_TYPE,q as ERR_INVALID_SIGNAL,jt as ERR_INVALID_SIGNATURE,co as ERR_INVALID_SIGNATURE_DATA,Va as ERR_INVALID_STRICTNESS,to as ERR_INVALID_UID,Le as ERR_INVALID_UNCOMPRESSED_SIZE,no as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,ao as ERR_INVALID_UNIX_ID_SIZE,ro as ERR_INVALID_UNIX_MODE,Ns as ERR_INVALID_VERSION,Yr as ERR_ITERATOR_COMPLETED_TOO_SOON,va as ERR_LOCAL_FILE_HEADER_NOT_FOUND,ja as ERR_OVERLAPPING_ENTRY,ke as ERR_RESERVED_COMPRESSION_METHOD,_a as ERR_SPLIT_ZIP_FILE,Xs as ERR_UNDEFINED_COMPRESSION_METHOD,Qs as ERR_UNDEFINED_READER,Gs as ERR_UNDEFINED_UNCOMPRESSED_SIZE,Js as ERR_UNDETERMINED_SIZE,Ba as ERR_UNSAFE_FILENAME,Na as ERR_UNSUPPORTED_COMPRESSION,si as ERR_UNSUPPORTED_CONTEXT,Wt as ERR_UNSUPPORTED_CRYPTO_API,Ma as ERR_UNSUPPORTED_ENCRYPTION,Ls as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,js as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Ys as ERR_UNSUPPORTED_FORMAT,ir as ERR_WORKER_STARTUP_TIMEOUT,Gr as ERR_WRITER_NOT_INITIALIZED,$s as ERR_ZIP_NOT_EMPTY,In as HttpRangeReader,vn as HttpReader,an as Reader,Nn as SplitDataReader,_n as SplitDataWriter,wn as TextReader,mn as TextWriter,Cn as Uint8ArrayReader,Mn as Uint8ArrayWriter,sn as Writer,Ja as ZipReader,Qa as ZipReaderStream,po as ZipWriter,ho as ZipWriterStream,dt as configure,ri as createBlobTempStream,ti as createOPFSTempStream,oi as createSyncAccessHandleTempStream,Jo as getMimeType,Ce as registerCodec,ht as resetConfiguration,yi as terminateWorkers,Me as unregisterCodec};
|
|
1
|
+
const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=84233040,i=33639248,c=101010256,l=101075792,u=117853008,d=22,f=20,w=56,m=21589,p=2048,h=61440,y=16384,b=2048,E=1024,S="/",g=30,A=new Date(2107,11,31,23,59,58),x=new Date(1980,0,1),z=void 0,F=1/0,R="undefined",D="function",U="string",k=new Uint8Array,T="password",O="rawPassword",I="passThrough",v="signal",C="useWebWorkers",M="useCompressionStream",N="transferStreams",_="preventClose",j="dataDescriptor",L="offset",P="usdz",W="filename",B="comment",V="strict",Z="balanced",H="tolerant",q="Invalid option (must be a function)",K="Invalid signal (must be an AbortSignal instance)",Y="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function G(t){if(t&&typeof t!=D)throw Error(q);return t}function X(t){if(t&&(typeof t.addEventListener!=D||"boolean"!=typeof t.aborted))throw Error(K);return t||z}function J(t,e){if(t&&typeof t!=U||e&&!(e instanceof Uint8Array))throw Error(Y)}function Q(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw Error(r)}function $(t,e,r){t!==z&&Q(t,e,r)}function tt(t){return typeof t==U&&t.trim()?Number(t):t}const et="Invalid maxWorkers (must be an integer greater than 0)";let rt=2;try{typeof navigator!=R&&navigator.hardwareConcurrency&&(rt=navigator.hardwareConcurrency)}catch{}const nt={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:rt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=R&&CompressionStream,DecompressionStream:typeof DecompressionStream!=R&&DecompressionStream},at="maxWorkers",st=["chunkSize",at,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ot=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],it=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...st,...ot],ct={...nt};function lt(){return ct}function ut(t){return dt(t.chunkSize)}function dt(t){return t=tt(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function ft(t){Object.assign(ct,wt(pt(t)))}function wt(t){const e={};for(const r of it){const n=t[r];n!==z&&(e[r]=mt(r,n))}return e}function mt(t,e){if(st.includes(t)){if(e=tt(e),t==at&&(!Number.isInteger(e)||e<1))throw Error(et)}else ot.includes(t)&&G(e);return e}function pt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===z&&r===z)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===z&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===z&&(n.DecompressionStreamFallback=r),n}function ht(t){const e=wt(pt(t));Object.assign(nt,e),Object.assign(ct,e)}function yt(){for(const t of it)delete ct[t];Object.assign(ct,nt)}function bt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function Et(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function St(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const gt=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;gt[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=gt[e-1][t];gt[e][t]=r>>>8^gt[0][255&r]}const[At,xt,zt,Ft,Rt,Dt,Ut,kt]=gt;class Tt{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const a=new DataView(t.buffer,t.byteOffset,r),s=r-8;for(;n<=s;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=kt[255&t]^Ut[t>>>8&255]^Dt[t>>>16&255]^Rt[t>>>24&255]^Ft[255&r]^zt[r>>>8&255]^xt[r>>>16&255]^At[r>>>24&255]}}for(;n<r;n++)e=e>>>8^At[255&(e^t[n])];this.o=e}get(){return~this.o}}class Ot extends TransformStream{constructor(){let t;const e=new Tt;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function It(t){if(typeof TextEncoder==R){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const vt={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=vt.l(r);return 32===n?t.concat(e):vt.m(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+vt.l(r)},h(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=vt.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,m(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,s=vt.l(a);return n.push(vt.S(e+s&31,e+s>32?r:n.pop(),1)),n}},Ct={bytes:{A(t){const e=vt.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;a<e;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},F(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(vt.S(8*(3&r),n)),e}}},Mt=class{constructor(t){const e=this;e.blockSize=512,e.R=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.U=t.U.slice(0),e.T=t.T.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.U=t.R.slice(0),t.T=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=Ct.I.F(t));const r=e.T=vt.concat(e.T,t),n=e.O,a=e.O=n+vt.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let o=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);t<=a;t+=e.blockSize)e.v(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}C(){const t=this;let e=t.T;const r=t.U;e=vt.concat(e,[vt.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.v(e.splice(0,16));return t.reset(),r}M(t,e,r,n){return t<=19?e&r|~e&n:t<=39?e^r^n:t<=59?e&r|e&n|r&n:t<=79?e^r^n:void 0}N(t,e){return e<<t|e>>>32-t}v(t){const e=this,r=e.U,n=Array(80);for(let e=0;e<16;e++)n[e]=t[e];let a=r[0],s=r[1],o=r[2],i=r[3],c=r[4];for(let t=0;t<=79;t++){t>=16&&(n[t]=e.N(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.N(5,a)+e.M(t,s,o,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=o,o=e.N(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},Nt={importKey:t=>new Nt._(Ct.bytes.F(t)),j(t,e,r,n){if(r=r||1e4,n<0||r<0)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let s,o,i,c,l;const u=new ArrayBuffer(a),d=new DataView(u);let f=0;const w=vt;for(e=Ct.bytes.F(e),l=1;f<(a||1);l++){for(s=o=t.encrypt(w.concat(e,[l])),i=1;i<r;i++)for(o=t.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(i=0;f<(a||1)&&i<s.length;i++)d.setInt32(f,s[i]),f+=4}return u.slice(0,n/8)},_:class{constructor(t){const e=this,r=e.L=Mt,n=[[],[]];e.P=[new r,new r];const a=e.P[0].blockSize/32;t.length>a&&(t=(new r).update(t).C());for(let e=0;e<a;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.P[0].update(n[0]),e.P[1].update(n[1]),e.W=new r(e.P[0])}reset(){const t=this;t.W=new t.L(t.P[0]),t.B=!1}update(t){this.B=!0,this.W.update(t)}digest(){const t=this,e=t.W.C(),r=new t.L(t.P[1]).update(e).C();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},_t=typeof crypto!=R&&typeof crypto.getRandomValues==D,jt="Invalid password",Lt="Invalid signature",Pt=Lt,Wt="zipjs-abort-check-password",Bt="Crypto API not supported";function Vt(t){if(_t)return crypto.getRandomValues(t);throw Error(Bt)}const Zt=16,Ht={name:"PBKDF2"},qt=Object.assign({hash:{name:"HMAC"}},Ht),Kt=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},Ht),Yt=["deriveBits"],Gt=[8,12,16],Xt=[16,24,32],Jt=10,Qt=[0,0,0,0],$t=typeof crypto!=R,te=$t&&crypto.subtle,ee=$t&&typeof te!=R,re=Ct.bytes,ne=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],a=t.length;let s,o,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[o=t.slice(0),i=[]],s=a;s<4*a+28;s++){let t=o[s-1];(s%a===0||8===a&&s%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],s%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-a]^t}for(let t=0;s;t++,s--){const e=o[3&t?s:s-4];i[t]=s<=4||t<4?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],a=[],s=[];let o,i,c,l;for(let t=0;t<256;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let u=o=0;!r[u];u^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[u]=s,n[s]=u,l=a[c=a[i=a[u]]];let d=16843009*l^65537*c^257*i^16843008*u,f=257*a[s]^16843008*s;for(let r=0;r<4;r++)t[r][u]=f=f<<24^f>>>8,e[r][s]=d=d<<24^d>>>8}for(let r=0;r<5;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],o=s[0],i=s[1],c=s[2],l=s[3],u=s[4];let d,f,w,m=t[0]^r[0],p=t[e?3:1]^r[1],h=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;t<n;t++)d=o[m>>>24]^i[p>>16&255]^c[h>>8&255]^l[255&y]^r[b],f=o[p>>>24]^i[h>>16&255]^c[y>>8&255]^l[255&m]^r[b+1],w=o[h>>>24]^i[y>>16&255]^c[m>>8&255]^l[255&p]^r[b+2],y=o[y>>>24]^i[m>>16&255]^c[p>>8&255]^l[255&h]^r[b+3],b+=4,m=d,p=f,h=w;for(let t=0;t<4;t++)a[e?3&-t:t]=u[m>>>24]<<24^u[p>>16&255]<<16^u[h>>8&255]<<8^u[255&y]^r[b++],d=m,m=p,p=h,h=y,y=d;return a}},ae=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const a=vt.bitLength(e);for(let a=0;a<n;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return vt.h(e,a)}},se=Nt._;let oe=$t&&ee&&typeof te.importKey==D,ie=$t&&ee&&typeof te.deriveBits==D;class ce extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){ue(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,et:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await fe(t,e,r,me(n,0,Gt[e])),s=me(n,Gt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(jt)})(r,s,a,me(t,0,Gt[s]+2)),t=me(t,Gt[s]+2),n?e.error(Error(Wt)):o()):await i;const c=new Uint8Array(t.length-Jt-(t.length-Jt)%Zt);e.enqueue(de(r,t,c,0,Jt,!0))},async flush(t){const{nt:e,st:r,ot:n,ready:s}=this;if(r&&e){await s;const o=me(n,0,n.length-Jt),i=me(n,n.length-Jt);let c=k;if(o.length){const t=he(re,o);r.update(t);const n=e.update(t);c=pe(re,n)}const l=me(pe(re,r.digest()),0,Jt);let u=n.length<Jt?1:0;for(let t=0;t<Jt;t++)u|=l[t]^i[t];if(u&&a)throw Error(Pt);t.enqueue(c)}}})}}class le extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){ue(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:s,ready:o}=r;let i=k;n?(i=await(async(t,e,r)=>{const n=Vt(new Uint8Array(Gt[e]));return bt(n,await fe(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%Zt);c.set(i,0),e.enqueue(de(r,t,c,i.length,0))},async flush(t){const{nt:e,st:r,ot:n,ready:a}=this;if(r&&e){await a;let s=k;if(n.length){const t=e.update(he(re,n));r.update(t),s=pe(re,t)}const o=pe(re,r.digest()).slice(0,Jt);t.enqueue(bt(s,o))}}})}}function ue(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:we(e,r),strength:n-1,ot:k})}function de(t,e,r,n,a,s){const{nt:o,st:i,ot:c}=t;c.length&&(e=bt(c,e));const l=e.length-a;let u;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%Zt)),u=0;u<=l-Zt;u+=Zt){const t=he(re,me(e,u,u+Zt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(pe(re,a),u+n)}return t.ot=me(e,u),r}async function fe(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!oe)return Nt.importKey(e);try{return await te.importKey("raw",e,r,!1,a)}catch{return oe=!1,Nt.importKey(e)}})(0,r,qt,0,Yt),s=await(async(t,e,r)=>{if(!ie)return Nt.j(e,t.salt,Kt.iterations,r);try{return await te.deriveBits(t,e,r)}catch{return ie=!1,Nt.j(e,t.salt,Kt.iterations,r)}})(Object.assign({salt:n},Kt),a,8*(2*Xt[e]+2)),o=new Uint8Array(s),i=he(re,me(o,0,Xt[e])),c=he(re,me(o,Xt[e],2*Xt[e])),l=me(o,2*Xt[e]);return Object.assign(t,{keys:{key:i,it:c,passwordVerification:l},nt:new ae(new ne(i),Array.from(Qt)),st:new se(c)}),l}function we(t,e){return e===z?It(t):e}function me(t,e,r){return t.subarray(e,r)}function pe(t,e){return t.A(e)}function he(t,e){return t.F(e)}class ye extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Ee(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Se(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(jt);t=t.subarray(12)}n?e.error(Error(Wt)):e.enqueue(Se(r,t))}})}}class be extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Ee(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=Vt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(ge(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set(ge(r,t),a),e.enqueue(n)}})}}function Ee(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,ct:new Tt(n[0]),lt:new Tt(n[2])}),r)for(let e=0;e<r.length;e++)Ae(t,r[e]);else for(let r=0;r<e.length;r++)Ae(t,e.charCodeAt(r))})(t,e,r)}function Se(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=xe(t)^e[n],Ae(t,r[n]);return r}function ge(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=xe(t)^e[n],Ae(t,e[n]);return r}function Ae(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=Fe(Math.imul(Fe(r+ze(n)),134775813)+1),t.lt.append([r>>>24]);const a=~t.lt.get();t.keys=[n,r,a]}function xe(t){const e=2|t.keys[2];return ze(Math.imul(e,1^e)>>>8)}function ze(t){return 255&t}function Fe(t){return 4294967295&t}function Re(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function De(t,e){t=Re(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=D||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function Ue(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const ke="Invalid codec definition",Te="Reserved compression method",Oe="Invalid codec module",Ie=[0,8,9,99],ve=new Map,Ce=new Map;function Me(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:o,versionNeeded:i}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=U||!n.length)throw Error(ke);if(Ie.includes(r))throw Error(Te);const c=typeof s==D||typeof o==D;if(!(c||typeof a==U&&a.length))throw Error(ke);ve.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&Le(n,{CompressionStream:s,DecompressionStream:o})}function Ne(t){const e=ve.get(t);if(e){let r;ve.delete(t),ve.forEach(t=>r=r||t.format==e.format),r||Ce.delete(e.format)}}function _e(t){return ve.get(t)}function je(t){return Ce.get(t)}function Le(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=D&&typeof n!=D)throw Error(Oe);Ce.set(t,{CompressionStream:r,DecompressionStream:n})}const Pe="Invalid uncompressed size",We="Invalid compressed data",Be=Lt,Ve="deflate-raw",Ze="gzip",He=[31,139,8];class qe extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:u,format:d,compressionMethod:f}=t,w=this;let m,p,h,y=super.readable;const b=d&&je(d),E=c&&a&&!u&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||E||(m=new Ot,y=er(y,m)),a)if(b)y=rr(y,$e(b.CompressionStream,d,{level:l,chunkSize:e,compressionMethod:f}));else if(E)h=new Ke,y=rr(y,new n(Ze)),y=er(y,h);else try{y=tr(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(Ze)}catch{throw t}y=rr(y,e),y=er(y,new Ke)}s&&(i?y=er(y,new be(t)):(p=new le(t),y=er(y,p))),Qe(w,y,()=>{s&&!i||!c||(w.crc32=E?h.crc32:new DataView(m.value.buffer).getUint32(0))})}}class Ke extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const a=r.length+t.length;if(a<=8)return void(r=bt(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(bt(r.subarray(0,o),t.subarray(0,s-o))),r=bt(r.subarray(o),t.subarray(s-o))},flush(){const e=St(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Ye extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:u,format:d,compressionMethod:f,rawBitFlag:w,outputSize:m}=t;let p,h,y=super.readable;if(s&&(a?y=er(y,new ye(t)):(h=new ce(t),y=er(y,h))),c){const t=d&&je(d);if(t)y=rr(y,$e(t.DecompressionStream,d,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:m}));else try{y=tr(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||m===z)throw t;let e;try{e=new n(Ze)}catch{throw t}y=((t,e,r)=>{const n=new Tt;let a,s,o,i=0,c=!1;const l=new Promise((t,e)=>{s=t,o=e});l.catch(()=>{}),r||s();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(He),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=St(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),d=new TransformStream({transform(t,e){n.append(t),i+=t.length,i>=r?s():c&&f(),e.enqueue(t)},cancel(t){o(t)}});return t=er(t,u),er(t=rr(t,e),d);function f(){w(),a=setTimeout(()=>o(Error(Pe)),5e3)}function w(){clearTimeout(a)}})(y,e,m)}y=(t=>{const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=Error(We);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(p=new Ot,y=er(y,p)),Qe(this,y,()=>{if(o){const t=new DataView(p.value.buffer);if(i!=t.getUint32(0,!1))throw Error(Be)}})}}const Ge=new Map;function Xe(t,e){if(!t)return!1;let r=Ge.get(t);r||(r=new Map,Ge.set(t,r));let n=r.get(e);if(n===z){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function Je(t){return Xe(t,Ve)}function Qe(t,e,r){e=er(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function $e(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function tr(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":Ve;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return rr(t,i)}function er(t,e){return Re(t).pipeThrough(e)}function rr(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const nr="data",ar="deflate",sr="inflate";class or extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(ar)?a=qe:n.startsWith(sr)&&(a=Ye),r.outputSize=0;let s=0;const o=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:s})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==z&&r.outputSize>t.outputSize))throw Error(Pe)},flush(){const{crc32:t}=o;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class ir extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;a<t;){const r=e[0],s=t-a;r.length<=s?(n.set(r,a),a+=r.length,e.shift()):(n.set(r.subarray(0,s),a),e[0]=r.subarray(s),a+=s)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(a,s){for(e.push(a),r+=a.length;r>t;)s.enqueue(n())},flush(t){r&&t.enqueue(((t,e)=>{const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r})(e,r))}})}}const cr="Worker startup timeout";let lr,ur,dr,fr=()=>{};function wr(t){t.createWorker?ur=!0:lr=!1}class mr{constructor(t,{readable:e,writable:r},{options:n,config:a,ut:s,useWebWorkers:o,transferStreams:i,workerURI:c,createWorker:l},u){const{signal:d}=s;return ur&&(l=z),Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new ir(ut(a))).pipeThrough(new pr(s),{signal:d}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{ht:r,ft:n}=t;r?(n?t.yt=e:(r.terminate(),e()),t.bt=null):e()}),Et(){if(t.ft){const{yt:e}=t;e&&(t.yt=null,t.St=!0,t.ht.terminate(),e()),t.ft=!1,u(t)}}}),lr===z&&(lr=typeof Worker!=R),(o&&dr&&(lr&&c||l)?dr:yr)(t,a)}}class pr extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await hr(t,r)},async transform(t,n){a+=t.length,e&&await hr(e,a,r),n.enqueue(t)},async flush(){n&&await hr(n,a)}})}}async function hr(t,...e){try{await t(...e)}catch{}}function yr(t,e){return{run:()=>br(t,e)}}async function br({options:t,readable:e,writable:r,Et:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(ar),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.gt&&!Je(n))try{await fr(a)}catch{}}else try{await fr(a)}catch{r&&!r.gt||(t.useCompressionStream=!0)}}s=new or(t,a),await e.pipeThrough(s).pipeThrough(new ir(ut(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=s;return{crc32:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}const Er={type:"module"},Sr="error";let gr,Ar,xr,zr=!0;try{zr=typeof structuredClone==D&&structuredClone(new DOMException("","AbortError")).code!==z}catch{}var Fr;function Rr(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function Dr(t){const{ht:e}=t;if(e)try{e.terminate()}catch{}t.bt=null}function Ur(t,e,r,n,a=!0){const{createWorker:s}=r;let o,i,c;if(s)o=s();else if(Ar===z||gr!==t){const s=typeof t==D;i=s?t(a):t;const l=i.startsWith("data:"),u=i.startsWith("blob:");if(l||u){n===z&&(n=!1),n&&(c=Er);try{o=new Worker(i,c)}catch(a){if(u)try{URL.revokeObjectURL(i)}catch{}if(s&&u)return Ur(t,e,r,n,!1);if(n)throw a;return Ur(t,e,r,!0,!1)}}else{n===z&&(n=!0),n&&(c=Er);try{i=new URL(i,e)}catch{}try{o=new Worker(i,c)}catch(s){if(n)return Ur(t,e,r,!1,a);throw s}}gr=t,Ar=i,xr=c}else o=new Worker(Ar,xr);return o.addEventListener("message",t=>{r.At=!0,kr(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,xt:l,zt:u,Et:d,wt:f}=e,w=()=>e.wt!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s,codecImportFailed:i}=o,c=Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:a}),s&&(c.cause=Object.assign(Error(s.message),{name:s.name})),i&&(c.codecImportFailed=!0),m(c)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||Or({type:nr,value:t,done:r,messageId:a},e)}r==nr&&(await c.ready,await c.write(new Uint8Array(n)),w()||Or({type:"ack",messageId:a},e)),"close"==r&&m(null,s)}}catch(o){w()||(Dr(e),m(o))}function m(t,e){w()||(t?u(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||d())}})(t,r)}),o.addEventListener(Sr,t=>Tr(t,r)),o.addEventListener("messageerror",t=>Tr(t,r)),o}function kr(t){const{Ft:e}=t;e&&(clearTimeout(e),t.Ft=null)}function Tr(t,e){t.preventDefault&&t.preventDefault(),kr(e);const{At:r,zt:n,writer:a,Et:s}=e;Dr(e),r||(e.ht=null);let o=t.error||Error(t.message||Sr);r||(o=Object.assign(Error(o.message||Sr),{Rt:!0}),e.Dt=o),n&&(n(o),a&&a.releaseLock(),r&&s())}function Or(t,{ht:e,writer:r,transferStreams:n,At:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=Et(r),i.push(t.value.buffer)),n&&zr&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{zr=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}Fr=(t,e)=>{const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.bt){let o;typeof s==D&&(s=s());try{o=Ur(t.workerURI,r,t)}catch{return wr(t),yr(t,e)}Object.assign(t,{ht:o,At:!1,St:!1,Dt:null,bt:{run:async()=>{try{return await(async(t,e)=>{if(!t.ht){const{Dt:e}=t;t.Dt=null;const r=e||Error(cr);throw r.Rt=!0,r}let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,xt:r,zt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,Ut:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,Ut:()=>e.abort()}})(t.writable);let u;try{u=Or({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.Et(),e}u||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:d}=e;!t.At&&Number.isFinite(d)&&d>=0&&(t.Ft=setTimeout(()=>(t=>{if(t.Ft=null,t.At)return;const{zt:e,writer:r}=t;if(Dr(t),t.ht=null,e){const t=Error(cr);t.Rt=!0,e(t),r&&r.releaseLock()}})(t),d));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!u&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Rt)return wr(t),Rr(t),br(t,e);if(r&&r.codecImportFailed){if(t.reader)return Rr(t),br(t,e);t.Et()}throw r}}}})}return t.bt},dr=Fr;let Ir=[];const vr=[];let Cr,Mr,Nr=0;async function _r(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:u,format:d,codecURI:f}=r,{workerURI:w,createWorker:m,maxWorkers:p}=n;d&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!Ce.has(t)&&e&&Le(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(d,r.codecURI)),e.transferStreams=!d&&(a||a===z&&n.transferStreams);const h=!(i||c||l||u),y=d===z||!!r.codecURI;return e.useWebWorkers=!h&&y&&(s||s===z&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:z,e.createWorker=e.useWebWorkers&&m?m:z,r.useCompressionStream=o||o===z&&n.useCompressionStream,(await(async()=>{const r=Ir.find(t=>!t.ft);if(r)return Br(r),new mr(r,t,e,b);if(Ir.length<p){const r={kt:Nr};return Nr++,Ir.push(r),new mr(r,t,e,b)}return new Promise(r=>{vr.push({resolve:r,stream:t,Tt:e}),Mr=n.workerStarvationTimeout,jr()})})()).run();function b(t){if(Lr(),vr.length){const[{resolve:e,stream:r,Tt:n}]=vr.splice(0,1);e(new mr(t,r,n,b)),jr()}else t.ht?(Br(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.St?t.St=!1:t.Ot=setTimeout(async()=>{Ir=Ir.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Ir=Ir.filter(e=>e!=t)}}function jr(){!Cr&&vr.length&&Number.isFinite(Mr)&&Mr>=0&&(Cr=setTimeout(Pr,Mr))}function Lr(){Cr&&(clearTimeout(Cr),Cr=null)}function Pr(){if(Cr=null,vr.length){const[{resolve:t,stream:e,Tt:r}]=vr.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:z,createWorker:z});t(new mr({},e,n,Wr)),jr()}}function Wr(){Lr(),jr()}function Br(t){const{Ot:e}=t;e&&(clearTimeout(e),t.Ot=null)}const Vr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Zr(t,e){return Hr(t,e,!0)}function Hr(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=Vr[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const qr="HTTP error ",Kr="HTTP Range not supported",Yr="HTTP resource changed",Gr="Writer iterator completed too soon",Xr="Writer not initialized",Jr="Content-Range",Qr="Range",$r="GET",tn="bytes",en=16777216,rn="writable",nn=Symbol();class an{constructor(){this.size=0}init(){this.initialized=!0}}class sn extends an{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=ut(lt())}={}){const n=this;let a=0;return r=dt(r),new ReadableStream({async pull(s){const o=e===z?r:Math.min(r,e-a),i=await Zn(n,t+a,o);i.length&&s.enqueue(i),a+r>=e||!i.length&&o?s.close():a+=r}})}}class on extends an{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(Xr);return t.writeUint8Array(Et(e))}});Object.defineProperty(t,rn,{get:()=>e})}writeUint8Array(){}}class cn extends sn{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{It:t,vt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{vt:r,It:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),o=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(s/4);let c=0;for(let t=i;t<i+e&&t<o.length;t++)a[t-i]=o.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class ln extends on{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",Ct:""})}writeUint8Array(t){const e=this;let r,n=e.Ct;const a=e.Ct.length;for(e.Ct="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.Ct+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.Ct=n+e.Ct}getData(){return this.data+btoa(this.Ct)}}let un,dn;class fn extends sn{constructor(t){super(),Object.assign(this,{Mt:t,size:t.size}),dn||(dn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();un=1==e}catch{un=!1}})())}createReadable(t){const{Mt:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return!n&&a>=r?Re(e.stream()):un?Re(e.slice(n,n+a).stream()):super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,a=!t&&n>=r.size?r.Mt:r.Mt.slice(t,n);let s=await a.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,n)),new Uint8Array(s)}}class wn extends an{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,rn,{get:()=>r.writable}),e.contentType=t,e.Nt=De(r.readable,t),e.Nt.catch(()=>{})}getData(){return this.Nt}}class mn extends fn{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class pn extends wn{constructor(t){super(),Object.assign(this,{encoding:t,_t:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,_t:e}=this,r=await super.getData();return r.text&&e?r.text():((t,e)=>Hr(t,e,!1))(new Uint8Array(await r.arrayBuffer()),t)}}class hn extends sn{constructor(t,e){super(),bn(this,t,e)}async init(){await En(this,On,Dn),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==z){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&r<a)return((t,e,r)=>{let n,a=e,s=0,o=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error(Kr);const a=e.length>s?e.subarray(0,s):e;s-=a.length,o-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=z,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await On($r,t,Fn(t,a,e));if(206!=r.status)throw Error(Kr);const i=r.headers.get(Jr);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(Kr)}zn(t,r),xn(t,r),a+=e,s=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return Sn(this,t,e,On,Dn)}}class yn extends sn{constructor(t,e){super(),bn(this,t,e)}async init(){await En(this,In,Un),super.init()}readUint8Array(t,e){return Sn(this,t,e,In,Un)}}function bn(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=en,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function En(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=lt(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(typeof a==R||a)){const n=await e($r,t,Fn(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==tn))throw Error(Kr);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.jt=e)}xn(t,n);const a=gn(n);a===z?await Tn(t,e,r):t.size=a}}else await Tn(t,e,r)}async function Sn(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,jt:i,size:c,options:l}=t;if(s||o){if(i&&e==c-d&&r==d)return i;if(e>=c||0===r)return k;{e+r>c&&(r=c-e);const a=await n($r,t,Fn(t,e,r));if(206!=a.status)throw Error(Kr);const s=a.headers.get(Jr);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(Kr)}zn(t,a),xn(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error(Kr);return o}}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function gn(t){const e=t.headers.get(Jr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function An({headers:t}){return{Lt:t.get("Etag")||z,lastModified:t.get("Last-Modified")||z}}function xn(t,e){const{checkResourceChanges:r,Pt:n}=t;r&&!n&&206==e.status&&(t.Pt=An(e))}function zn(t,e){const{checkResourceChanges:r,Pt:n,size:a}=t;if(r){const t=gn(e);if(t!==z&&a!==z&&t!=a)throw Error(Yr);if(n){const t=An(e);if(Object.entries(n).some(([e,r])=>r!==z&&t[e]!==z&&r!=t[e]))throw Error(Yr)}}}function Fn(t,e=0,r=1){return Object.assign({},Rn(t),{[Qr]:tn+"="+(e<0?e:e+"-"+(e+r-1))})}function Rn({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Dn(t){await kn(t,On)}async function Un(t){await kn(t,In)}async function kn(t,e){const r=await e($r,t,Rn(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Tn(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Rn(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function On(t,{fetch:e=fetch,options:r,url:n},a){const s=await e(n,Object.assign({},r,{method:t,headers:a}));if(s.status<400)return s;throw 416==s.status?Error(Kr):Error(qr+(s.statusText||s.status))}function In(t,{url:e},r){return new Promise((n,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status<400){const t=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:s.status,arrayBuffer:()=>s.response,headers:new Map(t)})}else a(416==s.status?Error(Kr):Error(qr+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),s.open(t,e),r)for(const t of Object.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class vn extends sn{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new yn(t,e):new hn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class Cn extends vn{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Mn extends sn{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{Wt:t,size:t.length})}readUint8Array(t,e){return this.Wt.slice(t,t+e)}}class Nn extends on{constructor(t){super(),this.Bt=t||262144}init(t=0){Object.assign(this,{offset:0,Wt:new Uint8Array(t>0?t:this.Bt)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.Wt.length){let t=e.Wt.length?2*e.Wt.length:e.Bt;for(;t<r;)t*=2;const n=e.Wt;e.Wt=new Uint8Array(t),e.Wt.set(n)}e.Wt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Wt.length?this.Wt:this.Wt.slice(0,this.offset)}}class _n extends sn{constructor(t){super(),this.Vt=t}async init(){const t=this;t.Zt=0;const e=t.Vt=await Promise.all(t.Vt.map(Vn));t.Ht=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}qt(t){const{Ht:e,size:r}=this,n=e[t];return n===z?r:n}async readUint8Array(t,e){const r=this,{Vt:n}=this;let a,s=0,o=t;for(;n[s]&&o>=n[s].size;)o-=n[s].size,s++;const i=n[s];if(i){const n=i.size;if(o+e<=n)a=await Zn(i,o,e);else{const s=n-o;a=bt(await Zn(i,o,s),await r.readUint8Array(t+s,e-s))}}else a=k;return r.Zt=Math.max(s,r.Zt),a}}class jn extends an{constructor(t,e=4294967295){super();const r=this;let n,a,s;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){if(e===nn)return void(s&&await c());const{availableSize:o}=r;if(s)e.length>=o?(await i(e.subarray(0,o)),await c(),e.length>o&&await this.write(e.subarray(o))):await i(e);else{const{value:o,done:i}=await t.next();if(i&&!o)throw Error(Gr);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Bn(n),a=o.writable,s=a.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function i(t){const e=t.length;e&&(await s.ready,await s.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}Object.defineProperty(r,rn,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(nn)}finally{t.releaseLock()}}}class Ln{constructor(t){return Array.isArray(t)&&(t=new _n(t)),(t instanceof ReadableStream||typeof t.getReader==D)&&(t={readable:Re(t)}),t}}class Pn{constructor(t){return t.writable===z&&typeof t.next==D&&(t=new jn(t)),(t instanceof WritableStream||typeof t.getWriter==D)&&(t={writable:Ue(t)}),t.size===z&&(t.size=0),t}}function Wn(t){return!(!t||!t.getData)}async function Bn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function Vn(t){return t=new Ln(t),await Bn(t),t.size!==z&&t.readUint8Array||(t=new fn(await De(t.readable)),await Bn(t)),t}function Zn(t,e,r){return t.readUint8Array(e,r)}function Hn(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?sn.prototype.createReadable.call(t,e):t.readable}const qn="filename",Kn="rawFilename",Yn="comment",Gn="rawComment",Xn="uncompressedSize",Jn="compressedSize",Qn="offset",$n="diskNumberStart",ta="lastModDate",ea="rawLastModDate",ra="lastAccessDate",na="rawLastAccessDate",aa="creationDate",sa="rawCreationDate",oa="internalFileAttributes",ia="externalFileAttributes",ca="internalFileAttribute",la="externalFileAttribute",ua="msdosAttributesRaw",da="msdosAttributes",fa="msDosCompatible",wa="zip64",ma="encrypted",pa="version",ha="versionMadeBy",ya="zipCrypto",ba="directory",Ea="executable",Sa="compressionMethod",ga="signature",Aa="extraField",xa="unixMode",za="setuid",Fa="setgid",Ra="sticky",Da=[qn,Kn,Xn,Jn,ta,ea,Yn,Gn,ra,na,aa,sa,Qn,$n,oa,ia,ca,la,ua,da,fa,wa,ma,pa,ha,ya,ba,Ea,"symlink",Sa,ga,"crc32",Aa,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",xa,"unixExternalUpper",za,Fa,Ra,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Ua{constructor(t){Da.forEach(e=>this[e]=t[e])}}const ka="File format is not recognized",Ta="End of central directory not found",Oa="End of Zip64 central directory locator not found",Ia="Central directory header not found",va="Local file header not found",Ca="Zip64 extra field not found",Ma="File contains encrypted entry",Na="Encryption method not supported",_a="Compression method not supported",ja="Split zip file",La="Overlapping entry found",Pa="Entry data out of bounds",Wa="Ambiguous archive",Ba="Encrypted central directory is not supported",Va="Unsafe filename",Za="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ha="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",qa="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Ka="64-bit value exceeds Number.MAX_SAFE_INTEGER",Ya=/^[a-zA-Z]:/,Ga="utf-8",Xa="cp437",Ja=[[Xn,t],[Jn,t],[Qn,t],[$n,e]],Qa={[e]:{Kt:ks,bytes:4},[t]:{Kt:Ts,bytes:8}},$a=BigInt(Number.MAX_SAFE_INTEGER);class ts{constructor(t,e={}){Object.assign(this,{reader:new Ln(t),options:e,Yt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:o}=s;if(await Bn(o),o.size!==z&&o.readUint8Array||(o=new fn(await De(o.readable)),await Bn(o)),o.size<d)throw Error(ka);const c=ps(n,s.options),m=c==V,p=c!=H,g=((t,r)=>{if(t!==z){const e=tt(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw Error(qa);return e}return r==V?0:r==H?1/0:e})(xs(s,n,"maxAppendedDataSize"),c),A=((t,e)=>{if(t===z)return e;if(!ms(t))throw Error(Ha);return t})(xs(s,n,"filenameValidation"),c),x=xs(s,n,"normalizeFilename"),{Gt:F,Xt:R}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:64};let o,i,c=0;for await(const[r,l,u,f,w]of bs(t,a)){const a=Us(r,f+20);if(w+d+a==n){const a=await Ss(t,r,l,f,w,n,s);if(2==a){if(o||(o=Es(u,f,w)),c++,!e||c>1)break}else 1!=a||i||(i=Es(u,f,w))}}return o||(o=i),o||(o=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,o;for await(const[e,i,c,l,u]of bs(t,a)){const a=Es(c,l,u);s||(s=a);const d=await Ss(t,e,i,l,u,n,r);if(2==d)return a;1!=d||o||(o=a)}return o||s})(t,r,s)),{Gt:o,Xt:c}})(o,p,g);if(!F)throw await(async t=>await ws(t)==a)(o)?Error(ja):Error(Ta);p&&R>1&&As("multiple end of central directory records");const D=St(F);let U=ks(D,12),T=ks(D,16);const O=F.offset,I=Us(D,20),v=O+d+I;o.size-v>g&&As("appended data");let C=Us(D,4);const M=o.Zt||0;let N,_,j,L,P=Us(D,6),Z=Us(D,10),q=0,K=w;const Y=T==t||U==t||Z==e||P==e;if(T!=t&&P!=e&&(T+=fs(o,P)),Y){const r=F.offset>=f?await Zn(o,F.offset-f,f):k,n=St(r);if(r.length==f&&ks(n,0)==u){T=fs(o,ks(n,4))+Ts(n,8);let r=await Zn(o,T,w),a=St(r);const s=F.offset-f-w;if((r.length<w||ks(a,0)!=l)&&T!=s&&s>=0){const t=T;T=s,T>t&&(q=T-t),r=await Zn(o,T,w),a=St(r)}if(r.length<w||ks(a,0)!=l)throw Error(Oa);if(_=!0,j=Ts(a,4)>44,j){const t=Math.min(Ts(a,4)-44,o.size-T-w);t>0&&(K+=t,L=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=St(t),n=Us(r,26);Object.assign(e,{compressionMethod:Us(r,0),compressedSize:Ts(r,2),uncompressedSize:Ts(r,10),encryptionAlgorithm:Us(r,18),bitLength:Us(r,20),flags:Us(r,22),hashAlgorithm:Us(r,24),hashData:t.subarray(28,28+n)})}return e})(await Zn(o,T+w,t)))}C==e?C=ks(a,16):m&&C!=ks(a,16)&&As("mismatched zip64 end of central directory record"),P==e?P=ks(a,20):m&&P!=ks(a,20)&&As("mismatched zip64 end of central directory record"),Z==e?Z=Ts(a,32):m&&Z!=Ts(a,32)&&As("mismatched zip64 end of central directory record"),U==t?U=Ts(a,40):m&&U!=Ts(a,40)&&As("mismatched zip64 end of central directory record"),T=fs(o,P)+Ts(a,48)+q}}let G=U;const X=F.offset-(_?K+f:0);if(T>=o.size&&(q=o.size-T-U-d,T=o.size-U-d),M!=C)throw Error(ja);if(T<0)throw Error(ka);let J=0,Q=await Zn(o,T,U),$=St(Q);if(U){if(Q.length<4)throw Error(ka);const t=X-U;if(T!=t&&P==C){let e=!(ks($,J)==i||L&&L.compressedSize||ns($));if(!e&&t>=0&&t+4<=o.size&&(e=ks(St(await Zn(o,t,4)),0)==i),e){const e=T;T=t,T>e&&(q+=T-e),Q=await Zn(o,T,U),$=St(Q)}}}const et=X-T;if(U!=et&&et>=0&&P==C&&(U=et,Q=await Zn(o,T,U),$=St(Q)),T<0||T>=o.size)throw Error(ka);s.directoryOffset=T,s.directoryLength=G;const rt=zs(s,n,"decryptCentralDirectory");let nt,at;if(rt&&Z&&Q.length>=4&&ks($,0)!=i&&(j||ns($))){const t=((t,e,r)=>{const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r})(L,G,Q.length);at=Q.subarray(t),Q=await rt(Q.subarray(0,t),L),$=St(Q),G=Q.length,nt=!0}N=T;const st=xs(s,n,"filenameEncoding"),ot=xs(s,n,"commentEncoding"),it=m?new Set:z;let ct;for(let t=0;t<Z;t++){const a=new rs(o,s.options);if(J+46>Q.length||ks($,J)!=i){if(0==t&&!nt&&(j||ns($)))throw Error(Ba);throw Error(Ia)}ss(a,$,J+6);const c=!!a.bitFlag.languageEncodingFlag,l=J+46,u=l+a.filenameLength,d=u+a.extraFieldLength,f=Us($,J+4),w=!(f>>8),p=f>>8==3,g=Q.subarray(l,u),F=Us($,J+32),R=d+F,D=Q.subarray(d,R),U=c,k=c,T=ks($,J+38),O=T&r,I={readOnly:!!(1&O),hidden:!!(2&O),system:!!(4&O),directory:!!(16&O),archive:!!(32&O)},v=ks($,J+42),C=zs(s,n,"decodeText")||Zr,M=U?Ga:st||Xa,_=k?Ga:ot||Xa;let L=C(g,M,W);if(L===z&&(L=Zr(g,M)),x){const t=x(L);t!==z&&(L=t)}if(ys(L,A)){const t=Error(Va);throw t.filename=L,t}let P=C(D,_,B);P===z&&(P=Zr(D,_)),Object.assign(a,{index:t,Jt:nt,versionMadeBy:f,msDosCompatible:w,zip64:!1,compressedSize:0,uncompressedSize:0,Qt:F,offset:v,diskNumberStart:Us($,J+34),internalFileAttributes:Us($,J+36),externalFileAttributes:T,msdosAttributesRaw:O,msdosAttributes:I,rawFilename:g,filenameUTF8:U,commentUTF8:k,rawExtraField:Q.subarray(u,d),rawComment:D,filename:L,comment:P}),os(a,a,$,J+6),a.offset+=q,N=Math.min(fs(o,a.diskNumberStart)+a.offset,N),m&&(it.has(a.filename)&&(ct=!0),it.add(a.filename));const V=a.externalFileAttributes>>16&e;a.unixMode===z&&16877&V&&(a.unixMode=V);const H=!!(a.unixMode&b),K=!!(a.unixMode&E),Y=!!(512&a.unixMode),G=40960==((a.unixMode===z?V:a.unixMode)&h),X=!G&&(a.unixMode!==z?!!(73&a.unixMode):p&&!!(73&V)),tt=a.unixMode!==z&&(a.unixMode&h)==y,et=(V&h)==y;Object.assign(a,{setuid:H,setgid:K,sticky:Y,symlink:G,unixExternalUpper:V,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:X,directory:tt||et||w&&I.directory||a.filename.endsWith(S)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const rt=new Ua(a);rt.getData=(t,e)=>a.getData(t,rt,s.Yt,e),rt.arrayBuffer=async t=>{const e=new TransformStream,r=De(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await a.getData(e,rt,s.Yt,t),r},J=R;const{onprogress:at}=n;if(at)try{await at(t+1,Z,new Ua(a))}catch{}yield rt}let lt=J,ut=as(Q.subarray(J))||(nt?as(at):z);if(!ut&&!nt){const t=T+J,e=Math.min(X-t,65541);e>=6&&(ut=as(await Zn(o,t,e)))}ut&&(s.digitalSignature=ut,lt=J+6+ut.length),m&&J!=G&<!=G&&As("trailing central directory data"),ct&&As("duplicate filename");const dt=xs(s,n,"extractPrependedData"),ft=xs(s,n,"extractAppendedData"),wt=(m||dt)&&Z&&4==N&&await(async t=>{const e=await ws(t);return e==a||808471376==e})(o)?4:0;return m&&(q||Z&&N>wt)&&As("prepended data"),dt&&(s.prependedData=N>wt?await Zn(o,wt,N-wt):k),s.comment=I?await Zn(o,O+d,I):k,ft&&(s.appendedData=v<o.size?await Zn(o,v,o.size-v):k),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}class es{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new ts(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}class rs{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,a,o={}){const i=this,c=lt(),{reader:l,index:u,offset:d,diskNumberStart:f,extraFieldAES:w,extraFieldZip64:m,compressionMethod:p,bitFlag:h,rawBitFlag:y,crc32:b,rawLastModDate:E,uncompressedSize:S,compressedSize:A}=i,{dataDescriptor:x}=h,F=e.localDirectory={},R=fs(l,f)+d,D=await Zn(l,R,g),U=St(D);let j=xs(i,o,T),L=xs(i,o,O);const P=xs(i,o,I);if(J(j,L),j=j&&j.length&&j,L=L&&L.length&&L,w&&99!=w.originalCompressionMethod)throw Error(_a);if(D.length<g||ks(U,0)!=n)throw Error(va);ss(F,U,4);const{extraFieldLength:W,filenameLength:B}=F,Z=xs(i,o,"checkLocalDirectory"),q=ps(o,i.options),K=((t,e)=>t===z?e!=H:!!t)(Z,q),Y=((t,e)=>t===z?e==V:!!t)(Z,q);let G=k;if(Y&&(B||W)){const t=await Zn(l,R+g,B+W);G=t.subarray(0,B),F.rawExtraField=t.subarray(B)}else F.rawExtraField=W?await Zn(l,R+g+B,W):k;Y&&(F.rawFilename=G),os(i,F,U,4,!0),K&&((t,e,r,n)=>{const{rawFilename:a}=t,s=t.Jt&&!(8192&~e.rawBitFlag);!n||s||r.length==a.length&&!r.some((t,e)=>t!=a[e])||As("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&As("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&As("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||As("mismatched local file header (crc32 or sizes)")})(i,F,G,Y);const{lastAccessDate:Q,creationDate:$,uid:tt,gid:et}=F;Q&&(e.lastAccessDate=Q),$&&(e.creationDate=$),tt!==z&&e.uid===z&&(e.uid=tt),et!==z&&e.gid===z&&(e.gid=et);const rt=i.encrypted&&F.encrypted&&!P,nt=rt&&!w;if(P||(e.zipCrypto=nt),rt&&!(64&~F.rawBitFlag))throw Error(Na);const at=P?z:_e(p);if(0!=p&&8!=p&&9!=p&&!at&&!P)throw Error(_a);if(rt){if(!nt&&(w.strength<1||w.strength>3))throw Error(Na);if(!j&&!L)throw Error(Ma)}const st=R+g+B+W;if(st+A>l.size)throw Error(Pa);const ot=A,it=Re(l.createReadable({offset:st,size:ot})),ct=X(xs(i,o,v)),ut=xs(i,o,"checkPasswordOnly");let dt=xs(i,o,"checkOverlappingEntry");const ft=xs(i,o,"checkOverlappingEntryOnly");ft&&(dt=!0);const{onstart:wt,onprogress:mt,onend:pt}=o,ht=0!=p&&!P,yt=P?A:S,bt=9==p;let Et=xs(i,o,M);bt&&(Et=!1);const gt=xs(i,o,"checkCrc32"),At=(gt===z?xs(i,o,"checkSignature"):gt)&&!P&&(!rt||nt||w&&1==w.vendorVersion),xt={options:{codecType:sr,password:j,rawPassword:L,zipCrypto:nt,encryptionStrength:w&&w.strength,checkCrc32:At,checkAuthenticationCode:xs(i,o,"checkAuthenticationCode"),passwordVerification:nt&&(x?E>>>8&r:b>>>24&r),outputSize:yt,crc32:b,compressed:ht,encrypted:rt,useWebWorkers:xs(i,o,C),useCompressionStream:Et,transferStreams:xs(i,o,N),deflate64:bt,format:at?at.format:z,codecURI:at?at.codecURI:z,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:ut},config:c,ut:{signal:ct,size:ot,onstart:wt,onprogress:mt,onend:pt}};let zt,Ft;dt&&await(async({reader:t,$t:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,te:c,dataDescriptor:l,extraFieldZip64:u,Yt:d})=>{let f=0;if(l&&(f=u?20:12),f){const r=await Zn(t,c+o,f+4),n=St(r);let l=r.length==f+4&&ks(n,0)==s;if(l){const t=ds(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==a)&&t.compressedSize==o&&t.uncompressedSize==i?f+=4:l=!1}if(r.length>=f){const t=ds(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+o+f,$t:e};for(const[t,e]of d)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(La);throw t.overlappingEntry=e.$t,t}d.set(r,w)})({reader:l,$t:e,index:u,offset:R,crc32:b,compressedSize:A,uncompressedSize:S,te:st,dataDescriptor:x||F.bitFlag.dataDescriptor,extraFieldZip64:m||F.extraFieldZip64,Yt:a});try{if(!ft){ut&&(t=new WritableStream),t=new Pn(t),await Bn(t,((t,e,r)=>Math.min(t,r?1032*e:e))(yt,A,ht)),({writable:zt}=t);const{outputSize:e}=await _r({readable:it,writable:zt},xt);if(t.size+=e,e!=yt)throw Error(Pe)}}catch(e){if(e.outputSize!==z&&(t.size+=e.outputSize),!ut||e.message!=Wt)throw Ft=e,e}finally{if((Wn(t)||!xs(i,o,_))&&zt&&!zt.locked){const t=zt.getWriter();if(Ft)try{await t.abort(Ft)}catch{}else await t.close()}}return ut||ft?z:t.getData?t.getData():zt}}function ns(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==ks(t,r))return!0;return!1}function as(t){if(t.length>=6){const e=St(t);if(ks(e,0)==o){const r=Us(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function ss(t,e,r){const n=t.rawBitFlag=Us(e,r+2),a=!(1&~n),s=ks(e,r+6);Object.assign(t,{encrypted:a,version:Us(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&p)==p},rawLastModDate:s,lastModDate:Fs(s),filenameLength:Us(e,r+22),extraFieldLength:Us(e,r+24)})}function os(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=St(s);let c=0;try{for(;c<s.length;){const t=Us(i,c),e=Us(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=Us(r,n+4);Object.assign(e,{signature:ks(r,n+10),crc32:ks(r,n+10),compressedSize:ks(r,n+14),uncompressedSize:ks(r,n+18)});const u=o.get(1);u&&(((t,e)=>{e.zip64=!0;const r=St(t.data),n=Ja.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+Qa[e].bytes,0);if(t.data.length<a)throw Error(Ca);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=Qa[i];e[o]=t[o]=c.Kt(r,s),s+=c.bytes}})(u,e),e.extraFieldZip64=u);const d=o.get(28789);d&&(is(d,qn,Kn,e,t),e.extraFieldUnicodePath=d);const f=o.get(25461);f&&(is(f,Yn,Gn,e,t),e.extraFieldUnicodeComment=f);const w=o.get(39169);w&&w.data.length>=7?(((t,e,r)=>{const n=St(t.data),a=Ds(n,4);Object.assign(t,{vendorVersion:Ds(n,0),vendorId:Ds(n,2),strength:a,originalCompressionMethod:r,compressionMethod:Us(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=z)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const p=o.get(13);p&&(cs(p,e),e.extraFieldPkwareUnix=p);const h=o.get(22613);h&&(cs(h,e),e.extraFieldUnixType1=h);const y=o.get(10);y&&(((t,e)=>{const r=St(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=Us(r,a),s=Us(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}if(n&&24==n.length){const r=St(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const i={lastModDate:Rs(a),lastAccessDate:Rs(s),creationDate:Rs(o)};Object.assign(t,i),Object.assign(e,i,{rawLastAccessDate:s,rawCreationDate:o})}})(y,e),e.extraFieldNTFS=y);const b=o.get(30805);let E;if(b&&(E=ls(b,e,!1),e.extraFieldUnix=b),!E){const t=o.get(30837);t&&(ls(t,e,!0),e.extraFieldInfoZip=t)}const S=o.get(m);S&&(((t,e,r)=>{if(!t.data.length)return;const n=St(t.data),a=Ds(n,0),s=[],o=[];r?(1&~a||(s.push(ta),o.push(ea)),2&~a||(s.push(ra),o.push(na)),4&~a||(s.push(aa),o.push(sa))):t.data.length>=5&&(s.push(ta),o.push(ea));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=ks(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(S,e,a),e.extraFieldExtendedTimestamp=S);const g=o.get(6534);g&&(e.extraFieldUSDZ=g)}function is(t,e,r,n,a){if(t.data.length<5)return void(t.valid=!1);const s=St(t.data),o=new Tt;o.append(a[r]);const i=St(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=ks(s,1);Object.assign(t,{version:Ds(s,0),[e]:Zr(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==ks(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function cs(t,e){if(t.data.length<8)return;const r=St(t.data),n={lastAccessDate:new Date(1e3*(0|ks(r,0))),lastModDate:new Date(1e3*(0|ks(r,4)))};t.data.length>=12&&(n.uid=Us(r,8),n.gid=Us(r,10)),Object.assign(t,n),Object.assign(e,n)}function ls(t,e,r){try{const n=St(t.data);let a,s;if(r){let e=0;const r=Ds(n,e++),o=Ds(n,e++);a=us(t.data.subarray(e,e+o)),e+=o;const i=Ds(n,e++);s=us(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else t.data.length>=4&&(a=Us(n,0),s=Us(n,2),Object.assign(t,{uid:a,gid:s}));return a!==z&&(e.uid=a),s!==z&&(e.gid=s),a!==z||s!==z}catch{}}function us(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ds(t,e,r){const n=ks(t,e);let a,s;return r?(a=Ts(t,e+4),s=Ts(t,e+12)):(a=ks(t,e+4),s=ks(t,e+8)),{crc32:n,compressedSize:a,uncompressedSize:s}}function fs(t,e){return t.qt?t.qt(e):0}async function ws(t){return ks(St(await Zn(t,0,4)))}function ms(t){return t===V||t===Z||t===H}function ps(t,e){return hs(t,hs(e,Z))}function hs(t,e){const r=t.strictness;if(r!==z){if(!ms(r))throw Error(Za);return r}const n=t.checkAmbiguity;return n===z?e:n?V:e==H?H:Z}function ys(t,e){if(e==H)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Ya.test(t))||e==V&&(r.includes(".")||r.includes(""))}async function*bs(t,e){const r=t.size-e,n=await Zn(t,r,e),a=St(n);for(let t=n.length-d;t>=0;t--)ks(a,t)==c&&(yield[a,r,n,t,r+t])}function Es(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function Ss(r,n,a,s,o,c,l){const d=Us(n,s+10),w=ks(n,s+12),m=ks(n,s+16);if(d==e||w==t||m==t)return await gs(r,n,a,o-f,c,l)==u?2:0;if(!d&&!w)return 1;const p=Us(n,s+6);for(const t of[o-w,fs(r,p)+m])if(await gs(r,n,a,t,c,l)==i)return 2;return 0}async function gs(t,e,r,n,a,s){return n<0||n+4>a?z:n>=r?ks(e,n-r):s.count>0?(s.count--,ks(St(await Zn(t,n,4)),0)):z}function As(t){const e=Error(Wa);throw e.reason=t,e}function xs(t,e,r){return e[r]===z?t.options[r]:e[r]}function zs(t,e,r){return G(xs(t,e,r))}function Fs(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function Rs(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Ds(t,e){return t.getUint8(e)}function Us(t,e){return t.getUint16(e,!0)}function ks(t,e){return t.getUint32(e,!0)}function Ts(t,e){const r=t.getBigUint64(e,!0);if(r>$a)throw Error(Ka);return Number(r)}var Os=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Wa,ERR_BAD_FORMAT:ka,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Ia,ERR_ENCRYPTED:Ma,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ba,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Pa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Oa,ERR_EOCDR_NOT_FOUND:Ta,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Ca,ERR_INVALID_AUTHENTICATION_CODE:Pt,ERR_INVALID_COMPRESSED_DATA:We,ERR_INVALID_CRC32:Be,ERR_INVALID_FILENAME_VALIDATION:Ha,ERR_INVALID_MAX_APPENDED_DATA_SIZE:qa,ERR_INVALID_PASSWORD:jt,ERR_INVALID_SIGNATURE:Lt,ERR_INVALID_STRICTNESS:Za,ERR_INVALID_UNCOMPRESSED_SIZE:Pe,ERR_LOCAL_FILE_HEADER_NOT_FOUND:va,ERR_OVERLAPPING_ENTRY:La,ERR_SPLIT_ZIP_FILE:ja,ERR_UNSAFE_FILENAME:Va,ERR_UNSUPPORTED_COMPRESSION:_a,ERR_UNSUPPORTED_ENCRYPTION:Na,ERR_UNSUPPORTED_UINT64:Ka,ERR_WORKER_STARTUP_TIMEOUT:cr,ZipReader:ts,ZipReaderStream:es});const Is="File already exists",vs="Zip file comment exceeds 64KB",Cs="Invalid zip file comment (must be a Uint8Array)",Ms="File entry comment exceeds 64KB",Ns="Invalid file entry comment (must be a string)",_s="Invalid date (must be a valid Date instance)",js="File entry name exceeds 64KB",Ls="Version exceeds 65535",Ps="The strength must equal 1, 2, or 3",Ws="Encryption is not supported in USDZ files",Bs="Encryption is not supported when the 'passThrough' option is set",Vs="Invalid extra field (must be a Map)",Zs="Invalid extra field type (must be integer 0..65535)",Hs="Invalid extra field data (must be a Uint8Array)",qs="Extra field data exceeds 64KB",Ks=-2147483648,Ys=2147483647,Gs=BigInt(0),Xs=BigInt("0x7fffffffffffffff"),Js="Zip64 is not supported (set the 'zip64' option to 'true')",Qs="Undefined uncompressed size",$s="Undefined compression method",to="Undetermined size",eo="Undefined reader",ro="Zip file not empty",no="Invalid uid (must be integer 0..2^32-1)",ao="Invalid gid (must be integer 0..2^32-1)",so="Invalid UNIX mode (must be integer 0..65535)",oo="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",io="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",co="Invalid msdosAttributesRaw (must be integer 0..255)",lo="Invalid msdosAttributes (must be an object with boolean flags)",uo="Invalid level (must be integer 0..9)",fo="Signature data exceeds 64KB",wo=new Uint8Array([7,0,2,0,65,69,3,0,0]),mo="infozip",po="unix";let ho=0;const yo=[];class bo{constructor(t,e={}){t=new Pn(t);const{availableSize:r=F,maxSize:n=F}=t;Object.assign(this,{writer:t,ee:r>0&&r!==F&&n>0&&n!==F,options:e,re:new Map,ne:new Set,offset:e[L]===z?t.size||t.writable.size||0:e[L],ae:e[L]===z?0:e[L]-(t.size||t.writable.size||0),se:new Set,oe:0,ie:z})}async prependZip(t){if(this.ne.size)throw Error(ro);t=new Ln(t),await Bn(t),t.size!==z&&t.readUint8Array||(t=new fn(await De(t.readable)),await Bn(t));const{ZipReader:e}=await Promise.resolve().then(()=>Os),r=new e(t),n=await r.getEntries();await r.close(),await Bn(this.writer);const{directoryOffset:s}=r;this.ee&&(delete this.ee,await(async t=>St(await Zn(t,0,4)).getUint32(0,!0)==a)(t)||(await Co(this.writer,vo()),this.offset+=4));const o=await(async(t,e,r,n)=>{const{writer:a}=t,s=new Map;if(a.closeDisk){const o=Array.from(r).sort((t,r)=>Io(e,t)-Io(e,r));let i=0;for(const r of o){const n=Io(e,r);await To(t,e,i,n-i),Do(a,await Oo(e,n))&&await a.closeDisk(),s.set(r,{offset:Uo(t,a),diskNumberStart:Fo(a)}),i=n}await To(t,e,i,n-i)}else{const a=t.offset;await To(t,e,0,n),r.forEach(t=>s.set(t,{offset:a+Io(e,t),diskNumberStart:0}))}return s})(this,t,n,s);this.ne=new Set(n.map(t=>t.filename)),this.re=new Map(n.map(t=>{const{version:e,rawLastModDate:r,lastAccessDate:n,creationDate:a,rawFilename:s,bitFlag:i,encrypted:c,uncompressedSize:l,compressedSize:u,extraFieldZip64:d}=t;let{compressionMethod:f,ce:w,le:m,ue:p,de:h,fe:y,rawExtraField:b}=t;const{level:E,languageEncodingFlag:S,dataDescriptor:g}=i;w=w||k,m=m||k,p=p||k,h=h||k,y=y||k,b=ko(b||k),t.extraFieldAES&&(f=99);const A=Qo(w,m,p,h,y,b),x=!!d&&d.uncompressedSize!==z,F=!!d&&d.compressedSize!==z,R=-7&ti(E,S,g,c,f)|E<<1,{we:D,me:U}=$o({version:e,bitFlag:R,compressionMethod:f,uncompressedSize:l,compressedSize:u,rawLastModDate:r,rawFilename:s,pe:F,he:x,extraFieldLength:A}),{crc32:T}=t;T!==z&&Go(U,10,T);const{offset:O,diskNumberStart:I}=o.get(t);return Object.assign(t,{he:x,pe:F,offset:O,diskNumberStart:I,ye:!1,ce:w,le:m,ue:p,de:h,fe:y,rawExtraField:b,extendedTimestamp:p.length>0||h.length>0,be:1+(n?2:0)+(a?4:0),we:D,me:U}),[t.filename,t]}))}async add(a="",o,i={}){const c=this;i=Object.assign({},i);const{se:l}=c;let u,d;ho<lt().maxWorkers?ho++:await new Promise(t=>yo.push(t));try{if(a=a.trim(),Lo(c,i,ba)&&!a.endsWith(S)&&(a+=S),c.ne.has(a))throw Error(Is);return c.ne.add(a),d=!0,u=(async(a,o,i,c)=>{const l=((n,a,s)=>{a=a.trim();let o=Lo(n,s,fa),i=Lo(n,s,ha,o?20:768);const c=Lo(n,s,Ea),l=Zo(n,s,"uid"),u=Zo(n,s,"gid");let d=Zo(n,s,xa),f=Lo(n,s,"unixExtraFieldType"),w=Lo(n,s,za),m=Lo(n,s,Fa),p=Lo(n,s,Ra);if($(l,t,no),$(u,t,ao),$(d,e,so),f!==z&&f!==mo&&f!==po)throw Error(oo);if(f===po&&(l!==z&&l>e||u!==z&&u>e))throw Error(io);f!==z||l===z&&u===z||(f=mo);let g=Zo(n,s,ua),A=Lo(n,s,da);const x=g!==z||A!==z;if(l!==z||u!==z||d!==z||f||c?(o=!1,i=i&r|768):x&&(o=!0,i&=r),$(g,r,co),A&&("object"!=typeof A||Array.isArray(A)))throw Error(lo);if(i>e)throw Error(Ls);let F=Bo(n,s,ia,la);const R=F!==z;R||(F=0),!s[ba]&&a.endsWith(S)&&(s[ba]=!0);const D=Lo(n,s,ba);if(D?(a.endsWith(S)||(a+=S),R||(F=16,o||(F|=16877<<16))):o||R||(F=c?493<<16:27525120),!o){const t=d!==z||!!(w||m||p);d=d===z?F>>16&e:d&e,w?d|=b:w=!!(d&b),m?d|=E:m=!!(d&E),p?d|=512:p=!!(512&d),R&&!t||(D?d=-61441&d|y:d&h||(d|=32768),F=(d&e)<<16|F&e)}return({msdosAttributesRaw:g,msdosAttributes:A}=((t,e)=>{if(t!==z)t&=r;else if(e!==z){const{readOnly:n,hidden:a,system:s,directory:o,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),o&&(c|=16),i&&(c|=32),t=c&r}return e===z&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(g,A)),x&&(F=F&t|g&r),{name:a,Ee:{versionMadeBy:i,msDosCompatible:!!o,externalFileAttributes:F,unixExternalUpper:F>>16&e,uid:l,gid:u,unixMode:d,unixExtraFieldType:f,symlink:d!==z&&40960==(d&h),setuid:w,setgid:m,sticky:p,msdosAttributesRaw:g,msdosAttributes:A}}})(a,o,c);({name:o}=l);const u=((t,r,n)=>{const a=Wo(t,n,"encodeText")||It;let s=a(r,W);if(s===z&&(s=It(r)),Qo(s)>e)throw Error(js);const o=n[Yn]||"";if(typeof o!=U)throw Error(Ns);let i=a(o,B);if(i===z&&(i=It(o)),Qo(i)>e)throw Error(Ms);const c=Lo(t,n,pa,20);if(c>e)throw Error(Ls);const l=Po(t,n,ta,new Date),u=Po(t,n,ra),d=Po(t,n,aa),f=Bo(t,n,oa,ca,0),w=Lo(t,n,I),m=Lo(t,n,T),p=Lo(t,n,O);J(m,p);const h=Zo(t,n,"encryptionStrength",3),y=Lo(t,n,ya),b=Lo(t,n,"extendedTimestamp",!0),E=Lo(t,n,"ntfsTimestamp"),S=Lo(t,n,"keepOrder",!0),g=Lo(t,n,C),A=Lo(t,n,N),x=Lo(t,n,"bufferedWrite"),F=Wo(t,n,"createTempStream"),R=Lo(t,n,"dataDescriptorSignature",!0),D=X(Lo(t,n,v)),k=Lo(t,n,"useUnicodeFileNames",!0),_=Lo(t,n,Sa),L=w||_===z?z:_e(_);if(!w&&_!==z&&0!==_&&8!==_&&!L)throw Error("Compression method not supported");let V=Zo(t,n,"level");if($(V,9,uo),t.options[P]){if(m!==z||p!==z)throw Error(Ws);V===z&&_===z&&(V=0)}w&&(V=z);let Z=Lo(t,n,M),H=Lo(t,n,j);x&&H===z&&(H=!1),(H===z||y)&&(H=!0),V!==z&&6!=V&&(Z=!1);const q=Lo(t,n,wa);if(!(y||m===z&&p===z||Number.isInteger(h)&&h>=1&&h<=3))throw Error(Ps);const K=go(n[Aa]),Y=go(n.localExtraField);return{comment:o,Ee:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:u,creationDate:d,internalFileAttributes:f,passThrough:w,password:m,rawPassword:p,encryptionStrength:h,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:E,keepOrder:S,useWebWorkers:g,transferStreams:A,bufferedWrite:x,createTempStream:F,dataDescriptorSignature:R,signal:D,useUnicodeFileNames:k,compressionMethod:_,format:L?L.format:z,codecURI:L?L.codecURI:z,Se:L?L.versionNeeded:z,level:V,useCompressionStream:Z,dataDescriptor:H,zip64:q,rawExtraField:K,ge:Y}}})(a,o,c),{comment:d}=u,f=c[Aa];let w;a.re.set(o,z);try{const{Ee:d}=u;0==d.level||d.compressionMethod!==z||d.passThrough||await(async t=>{const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.gt)return!0;if(Je(e)||Xe(e,Ze))return!0;if(r)try{return await fr(t),!0}catch{return!1}return!1})(lt())||(d.level=0);const f=await(async(e,r,{Ee:n},a)=>{if(n.passThrough&&!r&&!Lo(e,a,ba))throw Error(eo);let s;return r&&(r=new Ln(r),await Bn(r),({size:s}=r)),Object.assign({reader:r},((e,r,n,a,s)=>{const{passThrough:o,zipCrypto:i,password:c,rawPassword:l,encryptionStrength:u}=a;let{dataDescriptor:d,zip64:f,level:w,compressionMethod:m}=a,p=0,h=0;if(o&&r){if(h=s[Xn],h===z)throw Error(Qs);if(m===z)throw Error($s)}const y=!0===f,b=Lo(e,s,ma);if(r&&o&&!b&&Qo(c,l))throw Error(Bs);const E=r&&(!!(c&&Qo(c)||l&&Qo(l))||o&&b);r||(w=0,m=0);const S=E?i?12:16+4*u:0;r&&(o?(s.uncompressedSize=h,p=n===z?Ho(h)+S:n):n===z?(d=!0,(f||f===z)&&(f=!0,h=p=4294967296)):(s.uncompressedSize=h=n,p=(qo(m,w)?Ho(h):h)+S));const g=!(E||r&&(0!==n||o)||qo(m,w));g&&!i&&Lo(e,s,j)===z&&(d=!1);const A=y||h>=t,x=y||p>=t;if(A||x){if(!1===f)throw Error(Js);f=!0}return f=f||!1,{Ae:p,Ee:{dataDescriptor:d,xe:g,zip64:f,he:A,pe:x,uncompressedSize:h,level:w,compressionMethod:m,encrypted:E}}})(e,!!r,s,n,a))})(a,i,u,c);({reader:i}=f);const p=Ro(a.writer),h=Fo(a.writer),y=(t=>{const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:d,directory:f,rawExtraField:w,ge:p,encryptionStrength:h,extendedTimestamp:y,ntfsTimestamp:b,passThrough:E,encrypted:S,he:F,pe:R,uncompressedSize:D,crc32:U}=t;let{version:T,compressionMethod:O}=t;const I=!f&&qo(O,i);let v;const C=E||!I,M=c&&(t.bufferedWrite||!d||!F&&!R||C),N=M||c&&d&&(F||R);if(c&&(F||R)){const t=20,e=zo(t);if(e.ze(1),e.ze(t-4),v=e.Wt,M&&(e.Fe(D),C)){const t=S?l?12:16+4*h:0;e.Fe(E?0:D+t)}}else v=k;let _,j,L,W,B;if(S&&!l){const t=zo(Qo(wo)+2);t.ze(39169),t.Re(wo),_=t.Wt,_[8]=h}else _=k;if(y){const t=No(a),e=_o(t);if(e){const e=9+(s?4:0)+(o?4:0),r=zo(e);W=1+(s?2:0)+(o?4:0),r.ze(m),r.ze(e-4),r.De(W),r.Ue(t),s&&r.Ue(jo(No(s))),o&&r.Ue(jo(No(o))),L=r.Wt}else L=k;if(b===z?!e||s||o:b)try{const t=Mo(a),e=zo(36);e.ze(10),e.ze(32),e.ke(4),e.ze(1),e.ze(24),e.Fe(t),e.Fe(s?Mo(s):t),e.Fe(o?Mo(o):t),j=e.Wt}catch{j=k}else j=k}else j=L=k;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=mo||r===z&&n===z)if(a!=po||r===z&&n===z)B=k;else{const t=zo(8);t.ze(30805),t.ze(4),t.ze((r===z?0:r)&e),t.ze((n===z?0:n)&e),B=t.Wt}else{const t=xo(r===z?0:r),e=xo(n===z?0:n),a=3+t.length+e.length,s=zo(4+a);s.ze(30837),s.ze(a),s.De(1),s.De(t.length),s.Re(t),s.De(e.length),s.Re(e),B=s.Wt}}catch{B=k}O===z&&(O=I?8:0);const{Se:V}=t;I&&V!==z&&(T=T>V?T:V),c&&(T=T>45?T:45),S&&!l&&(T=T>51?T:51,E&&U!==z&&(_[4]=1),Yo(St(_),9,O),O=99);const Z=N?Qo(v):0,H=Z+Qo(_,L,j,B,w,p);if(H+(t[P]?67:0)>e)throw Error(qs);const q=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{we:K,me:Y,rawLastModDate:G}=$o({version:T,bitFlag:ti(i,u,d,S,O),compressionMethod:O,uncompressedSize:D,lastModDate:q<x?x:q>A?A:q,rawFilename:r,pe:R,he:F,extraFieldLength:H}),X=zo(g+Qo(r)+H),J=X.Wt,Q=St(J);return X.Ue(n),X.Re(K),X.Re(r),N&&X.Re(v),X.Re(_),X.Re(L),X.Re(j),X.Re(B),X.Re(w),X.Re(p),d&&(R||Go(Q,18,0),F||Go(Q,22,0)),{Te:J,Oe:Q,we:K,me:Y,lastModDate:a,rawLastModDate:G,encrypted:S,compressed:I,version:T,compressionMethod:O,be:W,ce:k,Ie:Z,ue:L,de:j,fe:B,le:_,extraFieldLength:H}})(c=Object.assign({},c,l.Ee,u.Ee,f.Ee,{signature:c[ga],crc32:c.crc32===z?c[ga]:c.crc32,offset:a.offset-p,diskNumberStart:h,[P]:a.options[P]})),b=(({zip64:t,dataDescriptor:e,dataDescriptorSignature:r})=>{let n,a=k,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=St(a),r&&(o=4,Go(n,0,s))),{ve:a,Ce:n,Me:o}})(c),E=Qo(y.Te,b.ve);w=await(async(e,n,a,s,o)=>{const{re:i,writer:c}=e,{keepOrder:l,dataDescriptor:u,xe:d,signal:f}=o,{Ne:w}=s,m=e.options[P],p=e.ie;let h,y,b,E,S,A,x,R={},D=0;i.set(n,R),e.ie=R;try{let y;l&&(y=p&&p._e,R._e=new Promise(t=>b=t)),o.bufferedWrite||!l||e.je||e.oe||!u&&!d?(h=!0,e.oe++,x=o.createTempStream?await o.createTempStream():new TransformStream(z,z,{highWaterMark:F}),x.size=0,await Bn(c)):(x=c,await U()),await Bn(x);const T=Ro(c);e.ee&&(delete e.ee,await Co(c,vo()),e.offset+=4),m&&!h&&Ao(s,e.offset-T);const{Te:O}=w;h||(await y,await k());const I=Fo(c),v=Uo(e,c);if(R.diskNumberStart=I,h||(S=!0,A=c.size,await Co(x,O)),R=await(async(e,n,{diskNumberStart:a,_e:s},o,i,c)=>{const{Ne:l,Le:u,Pe:d}=o,{we:f,me:w,lastModDate:m,rawLastModDate:p,encrypted:h,compressed:y,version:b,compressionMethod:E,ce:S,Ie:g,ue:A,be:x,de:F,fe:R,le:D}=l,{ve:U}=u,{rawFilename:k,lastAccessDate:T,creationDate:O,password:I,rawPassword:v,level:C,zip64:M,he:N,pe:_,zipCrypto:j,dataDescriptor:L,directory:P,executable:W,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,symlink:st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt,useCompressionStream:ft,passThrough:wt,format:mt,codecURI:pt}=c,ht={_e:s,versionMadeBy:B,zip64:M,directory:!!P,executable:!!W,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:V,ce:S,Ie:g,ue:A,de:F,fe:R,le:D,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,symlink:!!st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt};let{crc32:yt,uncompressedSize:bt}=c,Et=0;wt||(bt=0);const{writable:St}=n;if(e){const a=Re(Hn(e)),s=e.size,o={options:{codecType:ar,level:C,rawPassword:v,password:I,encryptionStrength:J,zipCrypto:h&&j,passwordVerification:h&&j&&p>>8&r,computeCrc32:!wt,compressed:y&&!wt,encrypted:h&&!wt,useWebWorkers:H,useCompressionStream:ft,transferStreams:q,format:mt,codecURI:pt,compressionMethod:E},config:i,ut:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await _r({readable:a,writable:St},o);if(Et=e.outputSize,n.size+=Et,wt||(bt=e.inputSize,h&&!j||(yt=e.crc32)),!_&&Et>=t||!N&&bt>=t)throw Error(Js)}catch(t){throw t.outputSize!==z&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,Ne:n,Le:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{me:l,encrypted:u}=n,{Ce:d,Me:f}=a;u&&!o&&!i||t===z||(Go(l,10,t),c&&Go(d,f,t)),s?c&&(Xo(d,f+4,BigInt(e)),Xo(d,f+12,BigInt(r))):(Go(l,14,e),Go(l,18,r),c&&(Go(d,f+4,e),Go(d,f+8,r)))})({crc32:yt,compressedSize:Et,uncompressedSize:bt,Ne:l,Le:u},c),L&&await Co(n,U),Object.assign(ht,{uncompressedSize:bt,compressedSize:Et,lastModDate:m,rawLastModDate:p,creationDate:O,lastAccessDate:T,encrypted:!!h,zipCrypto:!!j,size:d+Et,compressionMethod:E,version:b,we:f,me:w,signature:yt,crc32:!h||j||wt?yt:z,be:x,he:N,pe:_}),ht})(a,x,R,s,lt(),o),h||(S=!1),i.set(n,R),R.filename=n,h){if(await Promise.all([x.writable.getWriter().close(),y]),await U(),E=!0,A=c.size,await k(),R.diskNumberStart=Fo(c),R.offset=Uo(e,c),m){const t=s.Pe;Ao(s,e.offset-Ro(c)),R.size+=s.Pe-t}(({rawFilename:t,encrypted:e,zip64:r,Ie:n,crc32:a,compressedSize:s,uncompressedSize:o,he:i,pe:c},l,{dataDescriptor:u,passThrough:d})=>{if(u||((!e||d&&a!==z)&&Go(l,14,a),c||Go(l,18,s),i||Go(l,22,o)),r&&n){const e=g+Qo(t)+4;Xo(l,e,BigInt(o)),Xo(l,e+8,BigInt(s))}})(R,w.Oe,o),await Co(c,w.Te),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=Qo(t),D+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(x.readable,c,f),c.size+=x.size,E=!1}else R.diskNumberStart=I,R.offset=v;return e.offset+=R.size,R}catch(t){if(E||S){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-A,h&&(e.offset+=D)}throw i.delete(n),t}finally{if(h&&e.oe--,b&&b(),y&&y(),h&&x&&x.dispose)try{await x.dispose()}catch{}}async function U(){e.je=!0;const{We:t}=e;e.We=new Promise(t=>y=()=>{e.je=!1,t()}),await t}async function k(){Do(c,Qo(w.Te))&&await c.closeDisk()}})(a,o,i,{Ne:y,Le:b,Pe:E},c)}catch(t){throw a.re.delete(o),t}return Object.assign(w,{name:o,comment:d,extraField:f,[ca]:w.internalFileAttributes,[la]:w.externalFileAttributes}),new Ua(w)})(c,a,o,i),l.add(u),await u}catch(t){throw d&&c.ne.delete(a),t}finally{l.delete(u);const t=yo.shift();t?t():ho--}}remove(t){const{ne:e,re:r}=this;if(typeof t==U&&(t=r.get(t)),t&&t.filename!==z){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=k,n={}){const{se:a,writer:s}=this,{writable:f}=s;if(!(r instanceof Uint8Array))throw Error(Cs);if(Qo(r)>e)throw Error(vs);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=(r=>{let n=0;for(const[,a]of r){const{rawFilename:r,le:s,rawComment:o,de:i,fe:c,rawExtraField:l,extendedTimestamp:u,be:d,lastModDate:f,he:w,pe:p,uncompressedSize:h,compressedSize:y}=a,b=a.offset>=t,E=a.diskNumberStart>=e;let S,g;if(b||E||w||p){const t=4+(w?8:0)+(p?8:0)+(b?8:0)+(E?4:0),e=zo(t);e.ze(1),e.ze(t-4),w&&e.Fe(h),p&&e.Fe(y),b&&e.Fe(a.offset),E&&e.Ue(a.diskNumberStart),S=e.Wt}else S=k;a.ce=S,a.Be=b,a.ye=E;const A=No(f);if(u&&_o(A)){const t=zo(9);t.ze(m),t.ze(5),t.De(d),t.Ue(A),g=t.Wt}else g=k;a.ue=g;const x=Qo(S,s,i,c,g,l);if(x>e)throw Error(qs);n+=46+Qo(r,o)+x}return n})(r.re),{Ve:f,Ze:w}=await(async(r,n,a)=>{const{re:s,writer:o}=r,c=new Uint8Array(n);await Bn(o);let l=0,u=0,d=Fo(o),f=Ro(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:m,ce:p,le:h,ue:y,de:b,fe:E,rawExtraField:S,rawComment:g,versionMadeBy:A,we:x,me:z,he:F,pe:R,ye:D,Be:U,internalFileAttributes:k,externalFileAttributes:T,diskNumberStart:O,uncompressedSize:I,compressedSize:v}=n,C=Qo(p,h,y,b,E,S),M=46+Qo(m,g)+C;Do(o,l+M-u)&&(await Co(o,c.slice(u,l)),u=l,await o.closeDisk()),0==r&&(d=Fo(o),f=Ro(o)),F||Go(z,18,I),R||Go(z,14,v),(U||D)&&n.version<45&&Yo(z,0,45);const N=zo(M);if(N.Ue(i),N.ze(A),N.Re(x.subarray(0,24)),N.ze(C),N.ze(Qo(g)),N.ze(D?e:O),N.ze(k),N.Ue(T),N.Ue(U?t:w),N.Re(m),N.Re(p),N.Re(h),N.Re(y),N.Re(b),N.Re(E),N.Re(S),N.Re(g),Jo(c,N.Wt,l),l+=M,a.onprogress)try{await a.onprogress(r+1,s.size,new Ua(n))}catch{}}return await Co(o,u?c.slice(u):c),{Ve:{diskNumber:d,diskOffset:f},Ze:c}})(r,s,a),p=await(async(t,r,n)=>{const a=Wo(t,n,"signCentralDirectory");if(a){const n=await a(r),s=Qo(n);if(s>e)throw Error(fo);const i=zo(6+s);i.Ue(o),i.ze(s),i.Re(n);const{writer:c}=t;return Do(c,Qo(i.Wt))&&await c.closeDisk(),await Co(c,i.Wt),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{Ve:i,He:f}=s;let{qe:w}=s,m=r.re.size,p=i.diskNumber,h=Uo(r,i),y=Fo(o);Do(o,d)&&y++;let b=Lo(r,a,wa);if(h>=t||w>=t||m>=e||y>=e){if(!1===b)throw Error(Js);b=!0}const E=Qo(n);if(E>e)throw Error(vs);const S=zo(b?98:d);Do(o,Qo(S.Wt)+E)&&await o.closeDisk(),y=Fo(o),b&&(S.Ue(l),S.Fe(44),S.ze(45),S.ze(45),S.Ue(y),S.Ue(p),S.Fe(m),S.Fe(m),S.Fe(w),S.Fe(h),S.Ue(u),S.Ue(y),S.Fe(BigInt(Uo(r,o))+BigInt(w)+BigInt(f)),S.Ue(y+1),Lo(r,a,"supportZip64SplitFile",!0)&&(y=e,p=e),m=e,h=t,w=t),S.Ue(c),S.ze(y),S.ze(p),S.ze(m),S.ze(m),S.Ue(w),S.Ue(h),S.ze(E),await Co(o,S.Wt),E&&await Co(o,n)})(r,n,a,{Ve:f,qe:s,He:p})})(this,r,n),!Wn(s)&&Lo(this,n,_)||await f.getWriter().close(),s.getData?s.getData():f}}class Eo{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new bo(r,t),this.se=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return So(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return So(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.se)),this.zipWriter.close(t,e)}}function So(t,e,r){t.se.add(e),e.catch(t=>{try{r(t)}catch{}})}function go(t){if(!t)return k;if(!(t instanceof Map))throw Error(Vs);let r=0,n=0;t.forEach((t,n)=>{if(Q(n,e,Zs),!(t instanceof Uint8Array))throw Error(Hs);if(Qo(t)>e)throw Error(qs);r+=4+Qo(t)});const a=new Uint8Array(r),s=St(a);return t.forEach((t,e)=>{Yo(s,n,e),Yo(s,n+2,Qo(t)),Jo(a,t,n+4),n+=4+Qo(t)}),a}function Ao(t,e){const{Ne:r}=t;let{Te:n,extraFieldLength:a}=r,s=64-(e+Qo(n))%64;s<4&&(s+=64);const o=new Uint8Array(s),i=St(o);Yo(i,0,6534),Yo(i,2,s-4);const c=n;r.Te=n=new Uint8Array(Qo(c)+s),Jo(n,c),Jo(n,o,Qo(c));const l=St(n);Yo(l,28,a+s),r.Oe=l,t.Pe+=s}function xo(t){const e=new Uint8Array(4);St(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}function zo(t){const e=new Uint8Array(t),r=St(e);let n=0;return{Wt:e,De:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},ze:t=>{Yo(r,n,t),n+=2},Ue:t=>{Go(r,n,t),n+=4},Fe:t=>{Xo(r,n,BigInt(t)),n+=8},Re:t=>{Jo(e,t,n),n+=Qo(t)},ke:t=>n+=t}}function Fo(t){const{diskNumber:e=0}=t;return e}function Ro(t){const{diskOffset:e=0}=t;return e}function Do(t,e){const{availableSize:r=F}=t;return e>r}function Uo(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.ae:0)}function ko(t){const e=St(t);let r=0;for(;r+4<=Qo(t);){const n=4+Ko(e,r+2);if(1==Ko(e,r))return ko(bt(t.subarray(0,r),t.subarray(Math.min(r+n,Qo(t)))));r+=n}return t}async function To(t,e,r,n){if(n>0){const{writer:a}=t;await Hn(e,{offset:r,size:n}).pipeTo(a.writable,{preventClose:!0,preventAbort:!0}),a.size+=n,t.offset+=n}}async function Oo(t,e){const r=await Zn(t,e,g);if(Qo(r)<g)return g;const n=St(r);return g+Ko(n,26)+Ko(n,28)}function Io(t,{offset:e,diskNumberStart:r}){return e+(t.qt?t.qt(r):0)}function vo(){const t=new Uint8Array(4);return Go(St(t),0,a),t}async function Co(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Qo(e),await n.write(e)}finally{n.releaseLock()}}function Mo(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<Gs?Gs:e>Xs?Xs:e}}function No(t){return Math.floor(t.getTime()/1e3)}function _o(t){return t>=Ks&&t<=Ys}function jo(t){return Math.min(Ys,Math.max(Ks,t))}function Lo(t,e,r,n){const a=e[r]===z?t.options[r]:e[r];return a===z?n:a}function Po(t,e,r,n){const a=Lo(t,e,r,n);if(null===a)return n;if(a!==z&&(typeof a.getTime!=D||Number.isNaN(a.getTime())))throw Error(_s);return a}function Wo(t,e,r){return G(Lo(t,e,r))}function Bo(t,e,r,n,a){const s=Vo(e,r,n),o=s===z?Vo(t.options,r,n):s;return o===z?a:o}function Vo(t,e,r){return t[e]===z?t[r]:t[e]}function Zo(t,e,r,n){return tt(Lo(t,e,r,n))}function Ho(t){return t+5*(Math.floor(t/16383)+1)}function qo(t,e){return t===z?e===z||e>0:0!==t}function Ko(t,e){return t.getUint16(e,!0)}function Yo(t,e,r){t.setUint16(e,r,!0)}function Go(t,e,r){t.setUint32(e,r,!0)}function Xo(t,e,r){t.setBigUint64(e,r,!0)}function Jo(t,e,r){t.set(e,r)}function Qo(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function $o({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,pe:l,he:u,extraFieldLength:d}){const f=zo(26),w=f.Wt,m=St(w);if(f.ze(e),f.ze(r),f.ze(n),i===z){const t=new Uint32Array(1),e=St(t);Yo(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),Yo(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.Ue(i),f.ke(4),l||s!==z?f.Ue(l?t:s):f.ke(4),u||a!==z?f.Ue(u?t:a):f.ke(4),f.ze(Qo(c)),f.ze(d),{we:w,me:m,rawLastModDate:i}}function ti(t,e,r,n,a){let s=0;return e&&(s|=p),r&&(s|=8),8!=a&&9!=a||(t>=0&&t<=3&&(s|=6),t>3&&t<=5&&(s|=4),9==t&&(s|=2)),n&&(s|=1),s}function ei(){return"application/octet-stream"}const ri=1048576,ni=".zip.js-temp";function ai(t={}){const{thresholdBytes:e=ri,directoryName:r=ni,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function s(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,o,i=0,c=!1;const l=new WritableStream({async write(o){c?await a.write(o):(t.push(o),i+=o.length,i>e&&await(async()=>{const e=await s();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!o){const t=await n.getFile();o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const si=1048576;function oi(t={}){const{thresholdBytes:e=si}=t;return()=>{const t=[];let r,n,a,s=0,o=!1;const i=new WritableStream({async write(a){o?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=De(e.readable),r=e.writable.getWriter(),o=!0;for(const e of t)await r.write(e);t.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new ReadableStream({async pull(e){if(o){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const ii=1048576,ci=".zip.js-temp",li="createSyncAccessHandle is only available in dedicated workers";function ui(t={}){const{thresholdBytes:e=ii,directoryName:r=ci,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(li);const a=n||(()=>navigator.storage.getDirectory());let s;function o(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,i=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await o();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=i-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{ht({baseURI:import.meta.url})}catch{}let di,fi,wi,mi,pi;function hi(t,e,r={}){if(!di){const t=Error("WASM module not loaded");throw t.cause=pi,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,s="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Ke=fi(a),this.in=fi(s),this.inBufferSize=s,!this.Ke||!this.in)throw Error("allocation failed");if(this.Ye=new Uint8Array(a),t?(this.Ge=di.deflate_process,this.Xe=di.deflate_last_consumed,this.Je=di.deflate_end,this.Qe=di.deflate_new(),r="gzip"===e?di.deflate_init_gzip(this.Qe,n):"deflate-raw"===e?di.deflate_init_raw(this.Qe,n):di.deflate_init(this.Qe,n)):"deflate64-raw"===e?(this.Ge=di.inflate9_process,this.Xe=di.inflate9_last_consumed,this.Je=di.inflate9_end,this.Qe=di.inflate9_new(),r=di.inflate9_init_raw(this.Qe)):(this.Ge=di.inflate_process,this.Xe=di.inflate_last_consumed,this.Je=di.inflate_end,this.Qe=di.inflate_new(),r="deflate-raw"===e?di.inflate_init_raw(this.Qe):"gzip"===e?di.inflate_init_gzip(this.Qe):di.inflate_init(this.Qe)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(mi.buffer),o=this.Ge,i=this.Xe,c=this.Ke,l=this.Ye;let u=0;for(;u<n.length;){const e=Math.min(n.length-u,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&wi&&(wi(this.in),this.in=0),this.in=fi(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(u,u+e),this.in);const d=o(this.Qe,this.in,e,c,a,0),f=16777215&d;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=d>>24&255,e=128&t?t-256:t;if(e<0)throw Error("process error:"+e)}const w=i(this.Qe);if(0===w)break;u+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(mi.buffer),n=this.Ge,s=this.Ke,o=this.Ye;for(;;){const i=n(this.Qe,0,0,s,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(t<0)throw Error("process error:"+t)}if(c&&(o.set(r.subarray(s,s+c),0),e.enqueue(o.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=o(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){o(this)}});function o(t){let e=0;return t.Qe&&t.Je&&(e=t.Je(t.Qe)),t.Qe=0,t.in&&wi&&wi(t.in),t.in=0,t.Ke&&wi&&wi(t.Ke),t.Ke=0,e}}class yi{constructor(t="deflate",e){return hi(!0,t,e)}}class bi{constructor(t="deflate",e){return hi(!1,t,e)}}yi.gt=!0,bi.gt=!0;let Ei,Si=!1;function gi(){Ei=null,(async()=>{await Promise.allSettled(Ir.map(t=>(Br(t),t.terminate()))),lr=z,ur=!1})(),Si=!1,di=fi=wi=mi=pi=null}(({$e:t})=>{fr=t})({$e:t=>{if(!Ei){let{wasmURI:e}=t;typeof e==D&&(e=e()),Ei=(async(t,{baseURI:e})=>{if(!Si)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;t<n;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(di=t,({malloc:fi,free:wi,memory:mi}=di),"function"!=typeof fi||"function"!=typeof wi||!mi)throw di=fi=wi=mi=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),Si=!0}catch(t){throw(t=>{pi=t})(t),t}})(e,t).catch(t=>{throw Ei=null,t})}return Ei}}),ht({CompressionStreamFallback:yi,DecompressionStreamFallback:bi}),ht({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{fn as BlobReader,wn as BlobWriter,cn as Data64URIReader,ln as Data64URIWriter,Wa as ERR_AMBIGUOUS_ARCHIVE,ka as ERR_BAD_FORMAT,Ia as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Is as ERR_DUPLICATED_NAME,Ma as ERR_ENCRYPTED,Ba as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Pa as ERR_ENTRY_DATA_OUT_OF_BOUNDS,Oa as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,Ta as ERR_EOCDR_NOT_FOUND,Ca as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,Kr as ERR_HTTP_RANGE,Yr as ERR_HTTP_RESOURCE_CHANGED,Pt as ERR_INVALID_AUTHENTICATION_CODE,ke as ERR_INVALID_CODEC_DEFINITION,Oe as ERR_INVALID_CODEC_MODULE,vs as ERR_INVALID_COMMENT,Cs as ERR_INVALID_COMMENT_TYPE,We as ERR_INVALID_COMPRESSED_DATA,Be as ERR_INVALID_CRC32,_s as ERR_INVALID_DATE,Ps as ERR_INVALID_ENCRYPTION_STRENGTH,Ms as ERR_INVALID_ENTRY_COMMENT,Ns as ERR_INVALID_ENTRY_COMMENT_TYPE,js as ERR_INVALID_ENTRY_NAME,Vs as ERR_INVALID_EXTRAFIELD,qs as ERR_INVALID_EXTRAFIELD_DATA,Hs as ERR_INVALID_EXTRAFIELD_DATA_TYPE,Zs as ERR_INVALID_EXTRAFIELD_TYPE,Ha as ERR_INVALID_FILENAME_VALIDATION,q as ERR_INVALID_FUNCTION_OPTION,ao as ERR_INVALID_GID,uo as ERR_INVALID_LEVEL,qa as ERR_INVALID_MAX_APPENDED_DATA_SIZE,et as ERR_INVALID_MAX_WORKERS,co as ERR_INVALID_MSDOS_ATTRIBUTES,lo as ERR_INVALID_MSDOS_DATA,jt as ERR_INVALID_PASSWORD,Y as ERR_INVALID_PASSWORD_TYPE,K as ERR_INVALID_SIGNAL,Lt as ERR_INVALID_SIGNATURE,fo as ERR_INVALID_SIGNATURE_DATA,Za as ERR_INVALID_STRICTNESS,no as ERR_INVALID_UID,Pe as ERR_INVALID_UNCOMPRESSED_SIZE,oo as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,io as ERR_INVALID_UNIX_ID_SIZE,so as ERR_INVALID_UNIX_MODE,Ls as ERR_INVALID_VERSION,Gr as ERR_ITERATOR_COMPLETED_TOO_SOON,va as ERR_LOCAL_FILE_HEADER_NOT_FOUND,La as ERR_OVERLAPPING_ENTRY,Te as ERR_RESERVED_COMPRESSION_METHOD,ja as ERR_SPLIT_ZIP_FILE,$s as ERR_UNDEFINED_COMPRESSION_METHOD,eo as ERR_UNDEFINED_READER,Qs as ERR_UNDEFINED_UNCOMPRESSED_SIZE,to as ERR_UNDETERMINED_SIZE,Va as ERR_UNSAFE_FILENAME,_a as ERR_UNSUPPORTED_COMPRESSION,li as ERR_UNSUPPORTED_CONTEXT,Bt as ERR_UNSUPPORTED_CRYPTO_API,Na as ERR_UNSUPPORTED_ENCRYPTION,Bs as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,Ws as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Js as ERR_UNSUPPORTED_FORMAT,Ka as ERR_UNSUPPORTED_UINT64,cr as ERR_WORKER_STARTUP_TIMEOUT,Xr as ERR_WRITER_NOT_INITIALIZED,ro as ERR_ZIP_NOT_EMPTY,Cn as HttpRangeReader,vn as HttpReader,sn as Reader,_n as SplitDataReader,jn as SplitDataWriter,mn as TextReader,pn as TextWriter,Mn as Uint8ArrayReader,Nn as Uint8ArrayWriter,on as Writer,ts as ZipReader,es as ZipReaderStream,bo as ZipWriter,Eo as ZipWriterStream,ft as configure,oi as createBlobTempStream,ai as createOPFSTempStream,ui as createSyncAccessHandleTempStream,ei as getMimeType,Me as registerCodec,yt as resetConfiguration,gi as terminateWorkers,Ne as unregisterCodec};
|