@zip.js/zip.js 2.8.45 → 2.8.47

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