@zip.js/zip.js 2.8.52 → 2.8.54

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