@zip.js/zip.js 2.8.39 → 2.8.42

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 (52) hide show
  1. package/README.md +37 -0
  2. package/deno.json +6 -2
  3. package/dist/README.md +10 -1
  4. package/dist/zip-core-external.js +8180 -0
  5. package/dist/zip-core-external.min.js +1 -0
  6. package/dist/zip-core.js +168 -30
  7. package/dist/zip-core.min.js +1 -1
  8. package/dist/zip-fs-core-external.js +9196 -0
  9. package/dist/zip-fs-core-external.min.js +1 -0
  10. package/dist/zip-fs-core.js +168 -30
  11. package/dist/zip-fs-core.min.js +1 -1
  12. package/dist/zip-fs-external.js +10833 -0
  13. package/dist/zip-fs-external.min.js +1 -0
  14. package/dist/zip-fs-native.js +170 -32
  15. package/dist/zip-fs-native.min.js +1 -1
  16. package/dist/zip-fs.js +244 -51
  17. package/dist/zip-fs.min.js +1 -1
  18. package/dist/zip-legacy.js +170 -32
  19. package/dist/zip-legacy.min.js +1 -1
  20. package/dist/zip-native.js +170 -32
  21. package/dist/zip-native.min.js +1 -1
  22. package/dist/zip-web-worker-native.js +1 -1
  23. package/dist/zip-web-worker.js +1 -1
  24. package/dist/zip.js +244 -51
  25. package/dist/zip.min.js +1 -1
  26. package/index-native.cjs +170 -32
  27. package/index-native.min.js +1 -1
  28. package/index.cjs +244 -51
  29. package/index.d.cts +11 -2
  30. package/index.d.ts +11 -2
  31. package/index.min.js +1 -1
  32. package/lib/core/codec-registry.js +1 -1
  33. package/lib/core/codec-worker.js +4 -1
  34. package/lib/core/external-assets.js +42 -0
  35. package/lib/core/io.js +27 -11
  36. package/lib/core/streams/zip-entry-stream.js +57 -7
  37. package/lib/core/streams/zlib-wasm/zlib-streams-loader.js +27 -17
  38. package/lib/core/streams/zlib-wasm/zlib-streams.js +14 -1
  39. package/lib/core/util/compatible-streams.js +72 -0
  40. package/lib/core/web-worker-base.js +6 -2
  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/zip-reader.js +12 -8
  44. package/lib/core/zip-writer.js +4 -2
  45. package/lib/zip-core-external.js +34 -0
  46. package/lib/zip-fs-core-external.js +30 -0
  47. package/lib/zip-fs-external.js +30 -0
  48. package/lib/zip-mime-types.js +29 -0
  49. package/lib/zip-module-wasm-base.js +64 -0
  50. package/lib/zip-module-wasm.js +1 -31
  51. package/package.json +65 -2
  52. package/worker-message-property-names.js +1 -1
@@ -0,0 +1 @@
1
+ const e=4294967295,t=65535,r=255,n=67324752,s=134695760,a=s,i=33639248,o=101010256,c=101075792,d=117853008,l=22,m=20,p=21589,f=2048,u=16384,w=2048,h=1024,x="/",v=30,y=new Date(2107,11,31,23,59,58),b=new Date(1980,0,1),g=void 0,k=1/0,z="undefined",S="function",E=new Uint8Array;let R=2;try{typeof navigator!=z&&navigator.hardwareConcurrency&&(R=navigator.hardwareConcurrency)}catch{}const A={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},F=["baseURI","wasmURI","workerURI","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamZlib","DecompressionStreamZlib"],D={...A};function j(){return D}function U(e){return Math.max(e.chunkSize,64)}function O(e){for(const t of F){const r=e[t];r!==g&&(D[t]=r)}}function T(e){for(const t of F){const r=e[t];r!==g&&(A[t]=r)}O(e)}function M(){for(const e of F)delete D[e];Object.assign(D,A)}const C="Invalid codec definition",I="Reserved compression method",P="Invalid codec module",N="string",W=[0,8,9,99],q=new Map,_=new Map;function B(e={}){const{compressionMethod:r,format:n,codecURI:s,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!Number.isInteger(r)||0>r||r>t||typeof n!=N||!n.length)throw Error(C);if(W.includes(r))throw Error(I);const c=typeof a==S||typeof i==S;if(!(c||typeof s==N&&s.length))throw Error(C);q.set(r,{compressionMethod:r,format:n,codecURI:s,versionNeeded:o}),c&&H(n,{CompressionStream:a,DecompressionStream:i})}function L(e){const t=q.get(e);if(t){let r;q.delete(e),q.forEach(e=>r=r||e.format==t.format),r||_.delete(t.format)}}function Z(e){return q.get(e)}function V(e){return _.get(e)}function H(e,t){const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=S&&typeof n!=S)throw Error(P);_.set(e,{CompressionStream:r,DecompressionStream:n})}const K=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;K[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=K[t-1][e];K[t][e]=r>>>8^K[0][255&r]}const[Y,G,X,J,Q,$,ee,te]=K;class re{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new DataView(e.buffer,e.byteOffset,r),a=r-8;for(;a>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=te[255&e]^ee[e>>>8&255]^$[e>>>16&255]^Q[e>>>24&255]^J[255&r]^X[r>>>8&255]^G[r>>>16&255]^Y[r>>>24&255]}}for(;r>n;n++)t=t>>>8^Y[255&(t^e[n])];this.o=t}get(){return~this.o}}class ne extends TransformStream{constructor(){let e;const t=new re;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function se(e){if(typeof TextEncoder==z){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new TextEncoder).encode(e)}function ae(e,t){const r=new Uint8Array(e.length+t.length);return r.set(e),r.set(t,e.length),r}function ie(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new Uint8Array(e):e}function oe(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}const ce={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=ce.l(r);return 32===n?e.concat(t):ce.m(t,n,0|r,e.slice(0,e.length-1))},h(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+ce.l(r)},v(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,Math.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=ce.S(t,e[r-1]&2147483648>>t-1,1)),e},S:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,l:e=>Math.round(e/1099511627776)||32,m(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=ce.l(s);return n.push(ce.S(t+a&31,t+a>32?r:n.pop(),1)),n}},de={bytes:{R(e){const t=ce.h(e)/8,r=new Uint8Array(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},A(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(ce.S(8*(3&r),n)),t}}},le=class{constructor(e){const t=this;t.blockSize=512,t.F=[1732584193,4023233417,2562383102,271733878,3285377520],t.D=[1518500249,1859775393,2400959708,3395469782],e?(t.j=e.j.slice(0),t.U=e.U.slice(0),t.O=e.O):t.reset()}reset(){const e=this;return e.j=e.F.slice(0),e.U=[],e.O=0,e}update(e){const t=this;"string"==typeof e&&(e=de.T.A(e));const r=t.U=ce.concat(t.U,e),n=t.O,s=t.O=n+ce.h(e);if(s>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.M(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}C(){const e=this;let t=e.U;const r=e.j;t=ce.concat(t,[ce.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(Math.floor(e.O/4294967296)),t.push(0|e.O);t.length;)e.M(t.splice(0,16));return e.reset(),r}I(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}P(e,t){return t<<e|t>>>32-e}M(e){const t=this,r=t.j,n=Array(80);for(let t=0;16>t;t++)n[t]=e[t];let s=r[0],a=r[1],i=r[2],o=r[3],c=r[4];for(let e=0;79>=e;e++){16>e||(n[e]=t.P(1,n[e-3]^n[e-8]^n[e-14]^n[e-16]));const r=t.P(5,s)+t.I(e,a,i,o)+c+n[e]+t.D[Math.floor(e/20)]|0;c=o,o=i,i=t.P(30,a),a=s,s=r}r[0]=r[0]+s|0,r[1]=r[1]+a|0,r[2]=r[2]+i|0,r[3]=r[3]+o|0,r[4]=r[4]+c|0}},me={importKey:e=>new me.N(de.bytes.A(e)),W(e,t,r,n){if(r=r||1e4,0>n||0>r)throw Error("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,c,d;const l=new ArrayBuffer(s),m=new DataView(l);let p=0;const f=ce;for(t=de.bytes.A(t),d=1;(s||1)>p;d++){for(a=i=e.encrypt(f.concat(t,[d])),o=1;r>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>p&&o<a.length;o++)m.setInt32(p,a[o]),p+=4}return l.slice(0,n/8)},N:class{constructor(e){const t=this,r=t._=le,n=[[],[]];t.B=[new r,new r];const s=t.B[0].blockSize/32;e.length>s&&(e=(new r).update(e).C());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.B[0].update(n[0]),t.B[1].update(n[1]),t.L=new r(t.B[0])}reset(){const e=this;e.L=new e._(e.B[0]),e.Z=!1}update(e){this.Z=!0,this.L.update(e)}digest(){const e=this,t=e.L.C(),r=new e._(e.B[1]).update(t).C();return e.reset(),r}encrypt(e){if(this.Z)throw Error("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},pe=typeof crypto!=z&&typeof crypto.getRandomValues==S,fe="Invalid password",ue="Invalid signature",we="zipjs-abort-check-password";function he(e){if(pe)return crypto.getRandomValues(e);throw Error("Crypto API not supported")}const xe=16,ve={name:"PBKDF2"},ye=Object.assign({hash:{name:"HMAC"}},ve),be=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},ve),ge=["deriveBits"],ke=[8,12,16],ze=[16,24,32],Se=10,Ee=[0,0,0,0],Re=typeof crypto!=z,Ae=Re&&crypto.subtle,Fe=Re&&typeof Ae!=z,De=de.bytes,je=class{constructor(e){const t=this;t.V=[[[],[],[],[],[]],[[],[],[],[],[]]],t.V[0][0][0]||t.H();const r=t.V[0][4],n=t.V[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw Error("invalid aes key size");for(t.D=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.K(e,0)}decrypt(e){return this.K(e,1)}H(){const e=this.V[0],t=this.V[1],r=e[4],n=t[4],s=[],a=[];let i,o,c,d;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=i=0;!r[l];l^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[l]=a,n[a]=l,d=s[c=s[o=s[l]]];let m=16843009*d^65537*c^257*o^16843008*l,p=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][l]=p=p<<24^p>>>8,t[r][a]=m=m<<24^m>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}K(e,t){if(4!==e.length)throw Error("invalid aes block size");const r=this.D[t],n=r.length/4-2,s=[0,0,0,0],a=this.V[t],i=a[0],o=a[1],c=a[2],d=a[3],l=a[4];let m,p,f,u=e[0]^r[0],w=e[t?3:1]^r[1],h=e[2]^r[2],x=e[t?1:3]^r[3],v=4;for(let e=0;n>e;e++)m=i[u>>>24]^o[w>>16&255]^c[h>>8&255]^d[255&x]^r[v],p=i[w>>>24]^o[h>>16&255]^c[x>>8&255]^d[255&u]^r[v+1],f=i[h>>>24]^o[x>>16&255]^c[u>>8&255]^d[255&w]^r[v+2],x=i[x>>>24]^o[u>>16&255]^c[w>>8&255]^d[255&h]^r[v+3],v+=4,u=m,w=p,h=f;for(let e=0;4>e;e++)s[t?3&-e:e]=l[u>>>24]<<24^l[w>>16&255]<<16^l[h>>8&255]<<8^l[255&x]^r[v++],m=u,u=w,w=h,h=x,x=m;return s}},Ue=class{constructor(e,t){this.Y=e,this.G=t,this.X=t}reset(){this.X=this.G}update(e){return this.J(this.Y,e,this.X)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}J(e,t,r){let n;if(!(n=t.length))return[];const s=ce.h(t);for(let s=0;n>s;s+=4){this.ee(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return ce.v(t,s)}},Oe=me.N;let Te=Re&&Fe&&typeof Ae.importKey==S,Me=Re&&Fe&&typeof Ae.deriveBits==S;class Ce extends TransformStream{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n}){super({start(){Pe(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:a,te:i,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await We(e,t,r,_e(n,0,ke[t])),a=_e(n,ke[t]);if(s[0]!=a[0]||s[1]!=a[1])throw Error(fe)})(r,a,s,_e(e,0,ke[a]+2)),e=_e(e,ke[a]+2),n?t.error(Error(we)):i()):await o;const c=new Uint8Array(e.length-Se-(e.length-Se)%xe);t.enqueue(Ne(r,e,c,0,Se,!0))},async flush(e){const{re:t,ne:r,pending:n,ready:s}=this;if(r&&t){await s;const a=_e(n,0,n.length-Se),i=_e(n,n.length-Se);let o=E;if(a.length){const e=Le(De,a);r.update(e);const n=t.update(e);o=Be(De,n)}const c=_e(Be(De,r.digest()),0,Se);let d=n.length<Se?1:0;for(let e=0;Se>e;e++)d|=c[e]^i[e];if(d)throw Error(ue);e.enqueue(o)}}})}}class Ie extends TransformStream{constructor({password:e,rawPassword:t,encryptionStrength:r}){let n;super({start(){Pe(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,te:a,ready:i}=r;let o=E;n?(o=await(async(e,t,r)=>{const n=he(new Uint8Array(ke[t]));return ae(n,await We(e,t,r,n))})(r,s,n),a()):await i;const c=new Uint8Array(o.length+e.length-e.length%xe);c.set(o,0),t.enqueue(Ne(r,e,c,o.length,0))},async flush(e){const{re:t,ne:r,pending:s,ready:a}=this;if(r&&t){await a;let i=E;if(s.length){const e=t.update(Le(De,s));r.update(e),i=Be(De,e)}n.signature=Be(De,r.digest()).slice(0,Se),e.enqueue(ae(i,n.signature))}}}),n=this}}function Pe(e,t,r,n){Object.assign(e,{ready:new Promise(t=>e.te=t),password:qe(t,r),strength:n-1,pending:E})}function Ne(e,t,r,n,s,a){const{re:i,ne:o,pending:c}=e;c.length&&(t=ae(c,t));const d=t.length-s;let l;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new Uint8Array(t)).set(r,0)}return e})(r,n+(d-d%xe)),l=0;d-xe>=l;l+=xe){const e=Le(De,_e(t,l,l+xe));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(Be(De,s),l+n)}return e.pending=_e(t,l),r}async function We(e,t,r,n){e.password=null;const s=await(async(e,t,r,n,s)=>{if(!Te)return me.importKey(t);try{return await Ae.importKey("raw",t,r,!1,s)}catch{return Te=!1,me.importKey(t)}})(0,r,ye,0,ge),a=await(async(e,t,r)=>{if(!Me)return me.W(t,e.salt,be.iterations,r);try{return await Ae.deriveBits(e,t,r)}catch{return Me=!1,me.W(t,e.salt,be.iterations,r)}})(Object.assign({salt:n},be),s,8*(2*ze[t]+2)),i=new Uint8Array(a),o=Le(De,_e(i,0,ze[t])),c=Le(De,_e(i,ze[t],2*ze[t])),d=_e(i,2*ze[t]);return Object.assign(e,{keys:{key:o,se:c,passwordVerification:d},re:new Ue(new je(o),Array.from(Ee)),ne:new Oe(c)}),d}function qe(e,t){return t===g?se(e):t}function _e(e,t,r){return e.subarray(t,r)}function Be(e,t){return e.R(t)}function Le(e,t){return e.A(t)}class Ze extends TransformStream{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){He(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=Ke(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw Error(fe);e=e.subarray(12)}n?t.error(Error(we)):t.enqueue(Ke(r,e))}})}}class Ve extends TransformStream{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){He(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=he(new Uint8Array(12));t[11]=r.passwordVerification,n=new Uint8Array(e.length+t.length),n.set(Ye(r,t),0),s=12}else n=new Uint8Array(e.length),s=0;n.set(Ye(r,e),s),t.enqueue(n)}})}}function He(e,t,r,n){Object.assign(e,{password:t,rawPassword:r,passwordVerification:n}),((e,t,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(e,{keys:n,ae:new re(n[0]),ie:new re(n[2])}),r)for(let t=0;t<r.length;t++)Ge(e,r[t]);else for(let r=0;r<t.length;r++)Ge(e,t.charCodeAt(r))})(e,t,r)}function Ke(e,t){const r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=Xe(e)^t[n],Ge(e,r[n]);return r}function Ye(e,t){const r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=Xe(e)^t[n],Ge(e,t[n]);return r}function Ge(e,t){let[,r]=e.keys;e.ae.append([t]);const n=~e.ae.get();r=Qe(Math.imul(Qe(r+Je(n)),134775813)+1),e.ie.append([r>>>24]);const s=~e.ie.get();e.keys=[n,r,s]}function Xe(e){const t=2|e.keys[2];return Je(Math.imul(t,1^t)>>>8)}function Je(e){return 255&e}function Qe(e){return 4294967295&e}function $e(e){if(e instanceof ReadableStream)return e;const t=e.getReader();return new ReadableStream({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function et(e){if(e instanceof WritableStream)return e;const t=e.getWriter();return new WritableStream({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const tt="Invalid uncompressed size",rt="Invalid compressed data",nt="deflate-raw",st="gzip",at=[31,139,8];class it extends TransformStream{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:d,deflate64:l,format:m,compressionMethod:p}=e,f=this;let u,w,h,x=super.readable;const v=m&&V(m),y=c&&s&&!l&&!v&&(!a||o)&&!(!i||!n);if(a&&!o||!c||y||(u=new ne,x=ut(x,u)),s)if(v)x=wt(x,pt(v.CompressionStream,m,{level:d,chunkSize:t,compressionMethod:p}));else if(y)h=new ot,x=wt(x,new n(st)),x=ut(x,h);else try{x=ft(x,i,{level:d,chunkSize:t},n,r)}catch(e){let t;try{t=new n(st)}catch{throw e}x=wt(x,t),x=ut(x,new ot)}a&&(o?x=ut(x,new Ve(e)):(w=new Ie(e),x=ut(x,w))),mt(f,x,()=>{let e;a&&!o&&(e=w.signature),a&&!o||!c||(e=y?h.signature:new DataView(u.value.buffer).getUint32(0)),f.signature=e})}}class ot extends TransformStream{constructor(){let e,t=10,r=new Uint8Array(0);super({transform(e,n){if(t){const r=Math.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=ae(r,e));const a=s-8,i=Math.min(a,r.length);n.enqueue(ae(r.subarray(0,i),e.subarray(0,a-i))),r=ae(r.subarray(i),e.subarray(a-i))},flush(){const t=oe(r);e.signature=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class ct extends TransformStream{constructor(e,t){super({start(e){const t=new Uint8Array(10);t.set(at),e.enqueue(t)},transform(e,t){t.enqueue(e)},flush(r){const n=new Uint8Array(8),s=oe(n);s.setUint32(0,e,!0),s.setUint32(4,t,!0),r.enqueue(n)}})}}class dt extends TransformStream{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:d,deflate64:l,format:m,compressionMethod:p,rawBitFlag:f,outputSize:u}=e;let w,h,x=super.readable;if(a&&(s?x=ut(x,new Ze(e)):(h=new Ce(e),x=ut(x,h))),c){const e=m&&V(m);if(e)x=wt(x,pt(e.DecompressionStream,m,{chunkSize:t,compressionMethod:p,rawBitFlag:f,uncompressedSize:u}));else try{x=ft(x,d,{chunkSize:t,deflate64:l},n,r)}catch(e){if(l||a&&!s||o===g||u===g)throw e;let t;try{t=new n(st)}catch{throw e}x=ut(x,new ct(o,u)),x=wt(x,t)}x=(e=>{const t=e.getReader();return new ReadableStream({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=Error(rt);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(x)}a&&!s||!i||(w=new ne,x=ut(x,w)),mt(this,x,()=>{if((!a||s)&&i){const e=new DataView(w.value.buffer);if(o!=e.getUint32(0,!1))throw Error(ue)}})}}const lt=new Map;function mt(e,t,r){t=ut(t,new TransformStream({flush:r})),Object.defineProperty(e,"readable",{get:()=>t})}function pt(e,t,r){if(!e)throw Error("Compression method not supported");return new e(t,r)}function ft(e,t,r,n,s){const a=t&&n?n:s||n,i=r.deflate64?"deflate64-raw":nt;let o;try{o=new a(i,r)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,r)}return wt(e,o)}function ut(e,t){return $e(e).pipeThrough(t)}function wt(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const ht="data",xt="deflate",vt="inflate";class yt extends TransformStream{constructor(e,t){super({});const r=this,{codecType:n}=e;let s;n.startsWith(xt)?s=it:n.startsWith(vt)&&(s=dt),r.outputSize=0;let a=0;const i=new s(e,t),o=super.readable,c=new TransformStream({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){Object.assign(r,{inputSize:a})}}),d=new TransformStream({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==g&&r.outputSize>e.outputSize))throw Error(tt)},flush(){const{signature:e}=i;Object.assign(r,{signature:e,inputSize:a})}});Object.defineProperty(r,"readable",{get:()=>o.pipeThrough(c).pipeThrough(i).pipeThrough(d)})}}class bt extends TransformStream{constructor(e){const t=[];let r=0;function n(){const n=new Uint8Array(e);let s=0;for(;e>s;){const r=t[0],a=e-s;r.length>a?(n.set(r.subarray(0,a),s),t[0]=r.subarray(a),s+=a):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}Number.isFinite(e)&&e>=1||(e=65536),super({transform(s,a){for(t.push(s),r+=s.length;r>e;)a.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new Uint8Array(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const gt={type:"module"},kt="error";let zt,St,Et,Rt,At=!0;try{At=typeof structuredClone==S&&structuredClone(new DOMException("","AbortError")).code!==g}catch{}let Ft=()=>{};class Dt{constructor(e,{readable:t,writable:r},{options:n,config:s,oe:a,useWebWorkers:i,transferStreams:o,workerURI:c},d){const{signal:l}=a;return Object.assign(e,{ce:!0,de:(e.de||0)+1,readable:t.pipeThrough(new bt(U(s))).pipeThrough(new jt(a),{signal:l}),writable:r,options:Object.assign({},n),workerURI:c,transferStreams:o,terminate:()=>new Promise(t=>{const{le:r,ce:n}=e;r?(n?e.me=t:(r.terminate(),t()),e.pe=null):t()}),fe(){if(e.ce){const{me:t}=e;t&&(e.me=null,e.ue=!0,e.le.terminate(),t()),e.ce=!1,d(e)}}}),zt===g&&(zt=typeof Worker!=z),(i&&zt?Tt:Ot)(e,s)}}class jt extends TransformStream{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await Ut(e,r)},async transform(e,n){s+=e.length,t&&await Ut(t,s,r),n.enqueue(e)},async flush(){n&&await Ut(n,s)}})}}async function Ut(e,...t){try{await e(...t)}catch{}}function Ot(e,t){return{run:()=>Mt(e,t)}}function Tt(e,t){const{baseURI:r,chunkSize:n,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.pe){let i;typeof a==S&&(a=a());try{i=It(e.workerURI,r,e)}catch{return zt=!1,Ot(e,t)}Object.assign(e,{le:i,we:!1,ue:!1,pe:{run:async()=>{try{return await(async(e,t)=>{let r,n;const s=new Promise((e,t)=>{r=e,n=t});Object.assign(e,{reader:null,writer:null,he:r,xe:n,result:s});const{readable:a,options:i}=e,{writable:o,closed:c,ve:d}=(e=>{const t=new AbortController,{writable:r,readable:n}=new TransformStream,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,ve:()=>t.abort()}})(e.writable);let l;try{l=Wt({type:"start",options:i,config:t,readable:a,writable:o},e)}catch(t){d();try{await c}catch{}throw e.fe(),t}l||Object.assign(e,{reader:a.getReader(),writer:o.getWriter()});const{workerStartupTimeout:m}=t;e.we||!Number.isFinite(m)||0>m||(e.ye=setTimeout(()=>(e=>{if(e.ye=null,e.we)return;const{xe:t,writer:r}=e;if(Ct(e),e.le=null,t){const e=Error("Worker startup timeout");e.be=!0,t(e),r&&r.releaseLock()}})(e),m));try{const e=await s;return await p(),await c,e}catch(e){await p(),d();try{await c}catch{}throw e}async function p(){if(!l&&!o.locked)try{await o.getWriter().close()}catch{}}})(e,{chunkSize:n,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(r){if(r&&r.be){zt=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,Mt(e,t)}throw r}}}})}return e.pe}async function Mt({options:e,readable:t,writable:r,fe:n},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(xt),r=t?s.CompressionStreamZlib:s.DecompressionStreamZlib,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.ge&&!(e=>{if(!e)return!1;let t=lt.get(e);if(t===g){try{new e(nt),t=!0}catch{t=!1}lt.set(e,t)}return t})(n))try{await Ft(s)}catch{}}else try{await Ft(s)}catch{r&&!r.ge||(e.useCompressionStream=!0)}}a=new yt(e,s),await t.pipeThrough(a).pipeThrough(new bt(U(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:n,inputSize:i,outputSize:o}=a;return{signature:n,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{n()}}function Ct(e){const{le:t}=e;if(t)try{t.terminate()}catch{}e.pe=null}function It(e,t,r,n,s=!0){let a,i,o;if(Et===g||St!==e){const c=typeof e==S;i=c?e(s):e;const d=i.startsWith("data:"),l=i.startsWith("blob:");if(d||l){n===g&&(n=!1),n&&(o=gt);try{a=new Worker(i,o)}catch(s){if(l)try{URL.revokeObjectURL(i)}catch{}if(c&&l)return It(e,t,r,n,!1);if(n)throw s;return It(e,t,r,!0,!1)}}else{n===g&&(n=!0),n&&(o=gt);try{i=new URL(i,t)}catch{}try{a=new Worker(i,o)}catch(a){if(n)throw a;return It(e,t,r,!1,s)}}St=e,Et=i,Rt=o}else a=new Worker(Et,Rt);return a.addEventListener("message",e=>{r.we=!0,Pt(r),(async({data:e},t)=>{const{type:r,value:n,messageId:s,result:a,error:i}=e,{reader:o,writer:c,he:d,xe:l,fe:m,de:p}=t,f=()=>t.de!=p;try{if(i){const{message:e,stack:t,code:r,name:n,outputSize:s,cause:a}=i,o=Error(e);Object.assign(o,{stack:t,code:r,name:n,outputSize:s}),a&&(o.cause=Object.assign(Error(a.message),{name:a.name})),u(o)}else{if("pull"==r){const{value:e,done:r}=await o.read();f()||Wt({type:ht,value:e,done:r,messageId:s},t)}r==ht&&(await c.ready,await c.write(new Uint8Array(n)),f()||Wt({type:"ack",messageId:s},t)),"close"==r&&u(null,a)}}catch(i){f()||(Ct(t),u(i))}function u(e,t){f()||(e?l(e):d(t),c&&c.releaseLock(),m())}})(e,r)}),a.addEventListener(kt,e=>Nt(e,r)),a.addEventListener("messageerror",e=>Nt(e,r)),a}function Pt(e){const{ye:t}=e;t&&(clearTimeout(t),e.ye=null)}function Nt(e,t){e.preventDefault&&e.preventDefault(),Pt(t);const{we:r,xe:n,writer:s,fe:a}=t;if(Ct(t),r||(t.le=null),n){let t=e.error||Error(e.message||kt);r||(t=Object.assign(Error(t.message||kt),{be:!0})),n(t),s&&s.releaseLock(),r&&a()}}function Wt(e,{le:t,writer:r,transferStreams:n,we:s}){try{const{value:r,readable:a,writable:i}=e,o=[];if(r&&(e.value=ie(r),o.push(e.value.buffer)),n&&At&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{At=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let qt=[];const _t=[];let Bt,Lt,Zt=0;async function Vt(e,t){const{options:r,config:n}=t,{transferStreams:s,useWebWorkers:a,useCompressionStream:i,compressed:o,signed:c,encrypted:d,format:l,codecURI:m}=r,{workerURI:p,maxWorkers:f}=n;l&&(m&&(r.codecURI=((e,t)=>{try{return new URL(e,t).toString()}catch{return e}})(m,n.baseURI)),await(async(e,t)=>{!_.has(e)&&t&&H(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(l,r.codecURI)),t.transferStreams=s||s===g&&n.transferStreams;const u=!o&&!c&&!d,w=l===g||!!r.codecURI;return t.useWebWorkers=!u&&w&&(a||a===g&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&p?p:g,r.useCompressionStream=i||i===g&&n.useCompressionStream,(await(async()=>{const r=qt.find(e=>!e.ce);if(r)return Xt(r),new Dt(r,e,t,h);if(qt.length<f){const r={ke:Zt};return Zt++,qt.push(r),new Dt(r,e,t,h)}return new Promise(r=>{_t.push({resolve:r,stream:e,ze:t}),Lt=n.workerStarvationTimeout,Ht()})})()).run();function h(e){if(Kt(),_t.length){const[{resolve:t,stream:r,ze:n}]=_t.splice(0,1);t(new Dt(e,r,n,h)),Ht()}else e.le?(Xt(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(e.ue?e.ue=!1:e.Se=setTimeout(async()=>{qt=qt.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):qt=qt.filter(t=>t!=e)}}function Ht(){!Bt&&_t.length&&Number.isFinite(Lt)&&Lt>=0&&(Bt=setTimeout(Yt,Lt))}function Kt(){Bt&&(clearTimeout(Bt),Bt=null)}function Yt(){if(Bt=null,_t.length){const[{resolve:e,stream:t,ze:r}]=_t.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:g});e(new Dt({},t,n,Gt)),Ht()}}function Gt(){Kt(),Ht()}function Xt(e){const{Se:t}=e;t&&(clearTimeout(t),e.Se=null)}const Jt="HTTP error ",Qt="HTTP Range not supported",$t="HTTP resource changed",er="Writer iterator completed too soon",tr="Writer not initialized",rr="Content-Range",nr="Range",sr="GET",ar="bytes",ir=16777216,or="writable",cr=Symbol();class dr{constructor(){this.size=0}init(){this.initialized=!0}}class lr extends dr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=U(j())}={}){const n=this;let s=0;return new ReadableStream({async pull(a){const i=t===g?r:Math.min(r,t-s),o=await Hr(n,e+s,i);a.enqueue(o),s+r>t||t===g&&!o.length&&i?a.close():s+=r}})}}class mr extends dr{constructor(){super();const e=this,t=new WritableStream({write(t){if(!e.initialized)throw Error(tr);return e.writeUint8Array(ie(t))}});Object.defineProperty(e,or,{get:()=>t})}writeUint8Array(){}}class pr extends lr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;Object.assign(this,{dataURI:e,Ee:r,size:Math.floor(.75*(t-r))})}readUint8Array(e,t){const{Ee:r,dataURI:n}=this,s=new Uint8Array(t),a=4*Math.floor(e/3),i=atob(n.substring(a+r,4*Math.ceil((e+t)/3)+r)),o=e-3*Math.floor(a/4);let c=0;for(let e=o;o+t>e&&e<i.length;e++)s[e-o]=i.charCodeAt(e),c++;return c<s.length?s.subarray(0,c):s}}class fr extends mr{constructor(e){super(),Object.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,n=t.pending;const s=t.pending.length;for(t.pending="",r=0;r<3*Math.floor((s+e.length)/3)-s;r++)n+=String.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=String.fromCharCode(e[r]);n.length>2?t.data+=btoa(n):t.pending=n+t.pending}getData(){return this.data+btoa(this.pending)}}let ur,wr;class hr extends lr{constructor(e){super(),Object.assign(this,{blob:e,size:e.size}),wr||(wr=(async()=>{try{const e=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();ur=1==t}catch{ur=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?ur?$e(t.slice(n,n+s).stream()):super.createReadable(e):$e(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new Uint8Array(a)}}class xr extends dr{constructor(e){super();const t=this,r=new TransformStream;if(Object.defineProperty(t,or,{get:()=>r.writable}),typeof Blob.prototype.stream!=S||new Blob([]).stream()instanceof ReadableStream){const n=[];e&&n.push(["Content-Type",e]),t.blob=new Response(r.readable,{headers:n}).blob()}else{const n=[];t.blob=r.readable.pipeTo(new WritableStream({write(e){n.push(e)}})).then(()=>new Blob(n,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class vr extends hr{constructor(e){super(new Blob([e],{type:"text/plain"}))}}class yr extends xr{constructor(e){super(e),Object.assign(this,{encoding:e,Re:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Re:t}=this,r=await super.getData();if(r.text&&t)return r.text();{const t=new FileReader;return new Promise((n,s)=>{Object.assign(t,{onload:({target:e})=>n(e.result),onerror:()=>s(t.error)}),t.readAsText(r,e)})}}}class br extends lr{constructor(e,t){super(),kr(this,e,t)}async init(){await zr(this,Cr,Ur),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:s}=t;if((r||n)&&s!==g){const{offset:r=0,size:n=s-r}=e||{};if(n>0&&s>r)return((e,t,r)=>{let n,s=t,a=0,i=r;return new ReadableStream({start:()=>o(),async pull(e){n||await o();const{value:t,done:r}=await n.read();if(r)throw Error(Qt);const s=t.length>a?t.subarray(0,a):t;a-=s.length,i-=s.length,s.length&&e.enqueue(s),a||(await(async()=>{const e=n;n=g,await e.cancel()})(),i||e.close())},cancel:e=>n&&n.cancel(e)});async function o(){const t=Math.min(e.maximumRangeSize,i),r=await Cr(sr,e,Dr(e,s,t));if(206!=r.status)throw Error(Qt);const o=r.headers.get(rr);if(o){const e=Number(o.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(e)&&e!=s)throw Error(Qt)}Fr(e,r),Ar(e,r),s+=t,a=t,n=r.body.getReader()}})(t,r,Math.min(n,s-r))}return super.createReadable(e)}readUint8Array(e,t){return Sr(this,e,t,Cr,Ur)}}class gr extends lr{constructor(e,t){super(),kr(this,e,t)}async init(){await zr(this,Ir,Or),super.init()}readUint8Array(e,t){return Sr(this,e,t,Ir,Or)}}function kr(e,t,r){const{preventHeadRequest:n,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:o=!0,maximumRangeSize:c=ir,fetch:d}=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(e,{url:t,options:r,preventHeadRequest:n,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:o,maximumRangeSize:c,fetch:d})}async function zr(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=j(),{protocol:r}=new URL(e,t);return"http:"==r||"https:"==r})(n)&&(a||i)&&(void 0===s||s)){const n=await t(sr,e,Dr(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==ar))throw Error(Qt);{if(o){const t=new Uint8Array(await n.arrayBuffer());206==n.status&&t.length==l&&(e.Ae=t)}Ar(e,n);const s=Er(n);s===g?await Mr(e,t,r):e.size=s}}else await Mr(e,t,r)}async function Sr(e,t,r,n,s){const{useRangeHeader:a,forceRangeRequests:i,Ae:o,size:c,options:d}=e;if(a||i){if(o&&t==c-l&&r==l)return o;if(c>t&&0!==r){t+r>c&&(r=c-t);const s=await n(sr,e,Dr(e,t,r));if(206!=s.status)throw Error(Qt);const a=s.headers.get(rr);if(a){const e=Number(a.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(e)&&e!=t)throw Error(Qt)}Fr(e,s),Ar(e,s);const i=new Uint8Array(await s.arrayBuffer());if(i.length!=r)throw Error(Qt);return i}return E}{const{data:n}=e;return n||await s(e,d),e.data.subarray(t,t+r)}}function Er(e){const t=e.headers.get(rr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=Number(e);if(!Number.isNaN(t))return t}}}function Rr({headers:e}){return{Fe:e.get("Etag")||g,lastModified:e.get("Last-Modified")||g}}function Ar(e,t){const{checkResourceChanges:r,De:n}=e;r&&!n&&206==t.status&&(e.De=Rr(t))}function Fr(e,t){const{checkResourceChanges:r,De:n,size:s}=e;if(r){const e=Er(t);if(e!==g&&s!==g&&e!=s)throw Error($t);if(n){const e=Rr(t);if(Object.entries(n).some(([t,r])=>r!==g&&e[t]!==g&&r!=e[t]))throw Error($t)}}}function Dr(e,t=0,r=1){return Object.assign({},jr(e),{[nr]:ar+"="+(0>t?t:t+"-"+(t+r-1))})}function jr({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?Object.fromEntries(t):t}async function Ur(e){await Tr(e,Cr)}async function Or(e){await Tr(e,Ir)}async function Tr(e,t){const r=await t(sr,e,jr(e));e.data=new Uint8Array(await r.arrayBuffer()),e.size=e.data.length}async function Mr(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,jr(e)),s=n.headers.get("Content-Length");s&&!n.headers.get("Content-Encoding")?e.size=Number(s):await r(e,e.options)}}async function Cr(e,{fetch:t=fetch,options:r,url:n},s){const a=await t(n,Object.assign({},r,{method:e,headers:s}));if(400>a.status)return a;throw 416==a.status?Error(Qt):Error(Jt+(a.statusText||a.status))}function Ir(e,{url:t},r){return new Promise((n,s)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),n({status:a.status,arrayBuffer:()=>a.response,headers:new Map(e)})}else s(416==a.status?Error(Qt):Error(Jt+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>s(e.detail?e.detail.error:Error("Network error")),!1),a.open(e,t),r)for(const e of Object.entries(r))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class Pr extends lr{constructor(e,t={}){super(),Object.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new gr(e,t):new br(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class Nr extends Pr{constructor(e,t={}){super(e,Object.assign({},t,{useRangeHeader:!0}))}}class Wr extends lr{constructor(e){super(),e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),Object.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class qr extends mr{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){Object.assign(this,{offset:0,array:new Uint8Array(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new Uint8Array(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class _r extends lr{constructor(e){super(),this.je=e}async init(){const e=this,{je:t}=e;e.Ue=0,await Promise.all(t.map(e=>Vr(e))),e.Oe=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}Te(e){const{Oe:t,size:r}=this,n=t[e];return n===g?r:n}async readUint8Array(e,t){const r=this,{je:n}=this;let s,a=0,i=e;for(;n[a]&&i>=n[a].size;)i-=n[a].size,a++;const o=n[a];if(o){const n=o.size;if(i+t>n){const a=n-i;s=ae(await Hr(o,i,a),await r.readUint8Array(e+a,t-a))}else s=await Hr(o,i,t)}else s=E;return r.Ue=Math.max(a,r.Ue),s}}class Br extends dr{constructor(e,t=4294967295){super();const r=this;let n,s,a;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const i=new WritableStream({async write(t){if(t===cr)return void(a&&await c());const{availableSize:i}=r;if(a)t.length<i?await o(t):(await o(t.subarray(0,i)),await c(),t.length>i&&await this.write(t.subarray(i)));else{const{value:i,done:o}=await e.next();if(o&&!i)throw Error(er);n=i,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Vr(n),s=i.writable,a=s.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await d())},async abort(e){a&&await a.abort(e)}});async function o(e){const t=e.length;t&&(await a.ready,await a.write(e),n.size+=t,r.availableSize-=t)}async function c(){await d(),r.diskOffset+=n.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function d(){await a.close()}Object.defineProperty(r,or,{get:()=>i})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(cr)}finally{e.releaseLock()}}}class Lr{constructor(e){return Array.isArray(e)&&(e=new _r(e)),(e instanceof ReadableStream||typeof e.getReader==S)&&(e={readable:$e(e)}),e}}class Zr{constructor(e){return e.writable===g&&typeof e.next==S&&(e=new Br(e)),(e instanceof WritableStream||typeof e.getWriter==S)&&(e={writable:et(e)}),e.size===g&&(e.size=0),e}}async function Vr(e,t){if(!e.init||e.initialized)return Promise.resolve();await e.init(t)}function Hr(e,t,r){return e.readUint8Array(t,r)}const Kr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Yr(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=Kr[e[r]];return t}})(e):new TextDecoder(t,{ignoreBOM:!0}).decode(e)}const Gr="filename",Xr="rawFilename",Jr="comment",Qr="rawComment",$r="uncompressedSize",en="compressedSize",tn="offset",rn="diskNumberStart",nn="lastModDate",sn="rawLastModDate",an="lastAccessDate",on="creationDate",cn="rawCreationDate",dn="internalFileAttributes",ln="externalFileAttributes",mn="msdosAttributesRaw",pn="msdosAttributes",fn="msDosCompatible",un="zip64",wn="encrypted",hn="version",xn="versionMadeBy",vn="zipCrypto",yn="directory",bn="executable",gn="compressionMethod",kn="signature",zn="extraField",Sn="unixMode",En="setuid",Rn="setgid",An="sticky",Fn=[Gr,Xr,$r,en,nn,sn,Jr,Qr,an,on,cn,tn,rn,dn,ln,mn,pn,fn,un,wn,hn,xn,vn,yn,bn,gn,kn,zn,"extraFieldUnix","extraFieldInfoZip","uid","gid",Sn,En,Rn,An,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Dn{constructor(e){Fn.forEach(t=>this[t]=e[t])}}const jn="password",Un="rawPassword",On="passThrough",Tn="signal",Mn="checkAmbiguity",Cn="useWebWorkers",In="useCompressionStream",Pn="transferStreams",Nn="preventClose",Wn="offset",qn="usdz",_n="strictness",Bn="strict",Ln="tolerant",Zn="File format is not recognized",Vn="End of central directory not found",Hn="End of Zip64 central directory locator not found",Kn="Central directory header not found",Yn="Local file header not found",Gn="Zip64 extra field not found",Xn="File contains encrypted entry",Jn="Encryption method not supported",Qn="Compression method not supported",$n="Split zip file",es="Overlapping entry found",ts="Ambiguous archive",rs="Encrypted central directory is not supported",ns="utf-8",ss="cp437",as=[[$r,e],[en,e],[tn,e],[rn,t]],is={[t]:{Me:Os,bytes:4},[e]:{Me:Ts,bytes:8}};class os{constructor(e,t={}){Object.assign(this,{reader:new Lr(e),options:t,config:j(),Ce:new Map})}async*getEntriesGenerator(n={}){const a=this;let{reader:o}=a;const{config:p}=a;if(await Vr(o),o.size!==g&&o.readUint8Array||(o=new hr(await new Response(o.readable).blob()),await Vr(o)),o.size<l)throw Error(Zn);const f=xs(As(a,n,_n),As(a,n,Mn)),v=f==Bn,y=f!=Ln,b=((e,r)=>e!==g?e:r==Bn?0:r==Ln?1/0:t)(As(a,n,"maxAppendedDataSize"),f),{Ie:k,Pe:z}=await(async(e,t,r)=>{const{size:n}=e,s=Math.min(n,65557),a={count:vs};let i,o,c=0;for await(const[r,d,m,p,f]of ks(e,s)){const s=Us(r,p+20);if(f+l+s==n){const s=await Ss(e,r,d,p,f,n,a);if(s==gs){if(i||(i=zs(m,p,f)),c++,!t||c>1)break}else s!=bs||o||(o=zs(m,p,f))}}return i||(i=o),i||(i=await(async(e,t,r)=>{const{size:n}=e,s=Math.min(n,t==1/0?n:65557+t);let a,i;for await(const[t,o,c,d,l]of ks(e,s)){const s=zs(c,d,l);a||(a=s);const m=await Ss(e,t,o,d,l,n,r);if(m==gs)return s;m!=bs||i||(i=s)}return i||a})(e,r,a)),{Ie:i,Pe:c}})(o,y,b);if(!k)throw Os(oe(await Hr(o,0,4)))==s?Error($n):Error(Vn);y&&z>1&&Rs("multiple end of central directory records");const S=oe(k);let R=Os(S,12),A=Os(S,16);const F=k.offset,D=Us(S,20),j=F+l+D;o.size-j>b&&Rs("appended data");let U=Us(S,4);const O=o.Ue||0;let T,M,C,I=Us(S,6),P=Us(S,10),N=0;const W=A==e||R==e||P==t||I==t;if(A!=e&&I!=t&&(A+=hs(o,I)),W){const r=k.offset<m?E:await Hr(o,k.offset-m,m),n=oe(r);if(r.length==m&&Os(n,0)==d){A=hs(o,Os(n,4))+Ts(n,8);let r=await Hr(o,A,56),s=oe(r);const a=k.offset-m-56;if((56>r.length||Os(s,0)!=c)&&A!=a&&a>=0){const e=A;A=a,A>e&&(N=A-e),r=await Hr(o,A,56),s=oe(r)}if(56>r.length||Os(s,0)!=c)throw Error(Hn);M=!0,C=Ts(s,4)>44,U==t?U=Os(s,16):v&&U!=Os(s,16)&&Rs("mismatched zip64 end of central directory record"),I==t?I=Os(s,20):v&&I!=Os(s,20)&&Rs("mismatched zip64 end of central directory record"),P==t?P=Ts(s,32):v&&P!=Ts(s,32)&&Rs("mismatched zip64 end of central directory record"),R==e?R=Ts(s,40):v&&R!=Ts(s,40)&&Rs("mismatched zip64 end of central directory record"),A=hs(o,I)+Ts(s,48)+N}}const q=R,_=k.offset-(M?76:0);if(A<o.size||(N=o.size-A-R-l,A=o.size-R-l),O!=U)throw Error($n);if(0>A)throw Error(Zn);let B=0,L=await Hr(o,A,R),Z=oe(L);if(R){if(4>L.length)throw Error(Zn);const e=_-R;if(A!=e&&I==U){let t=!(Os(Z,B)==i);if(t||0>e||e+4>o.size||(t=Os(oe(await Hr(o,e,4)),0)==i),t){const t=A;A=e,A>t&&(N+=A-t),L=await Hr(o,A,R),Z=oe(L)}}}const V=_-A;if(R==V||0>V||I!=U||(R=V,L=await Hr(o,A,R),Z=oe(L)),0>A||A>=o.size)throw Error(Zn);T=A;const H=As(a,n,"filenameEncoding"),K=As(a,n,"commentEncoding"),Y=v?new Set:g;let G;for(let e=0;P>e;e++){const s=new ds(o,p,a.options);if(B+46>L.length||Os(Z,B)!=i){if(0==e&&(C||ls(Z)))throw Error(rs);throw Error(Kn)}ms(s,Z,B+6);const c=!!s.bitFlag.languageEncodingFlag,d=B+46,l=d+s.filenameLength,m=l+s.extraFieldLength,f=Us(Z,B+4),y=!(f>>8),b=f>>8==3,k=L.subarray(d,l),z=Us(Z,B+32),S=m+z,E=L.subarray(m,S),R=c,A=c,F=Os(Z,B+38),D=F&r,j={readOnly:!!(1&D),hidden:!!(2&D),system:!!(4&D),directory:!!(16&D),archive:!!(32&D)},U=Os(Z,B+42),O=As(a,n,"decodeText")||Yr,M=R?ns:H||ss,I=A?ns:K||ss;let W=O(k,M);W===g&&(W=Yr(k,M));let q=O(E,I);q===g&&(q=Yr(E,I)),Object.assign(s,{index:e,versionMadeBy:f,msDosCompatible:y,compressedSize:0,uncompressedSize:0,Ne:z,offset:U,diskNumberStart:Us(Z,B+34),internalFileAttributes:Us(Z,B+36),externalFileAttributes:F,msdosAttributesRaw:D,msdosAttributes:j,rawFilename:k,filenameUTF8:R,commentUTF8:A,rawExtraField:L.subarray(l,m),rawComment:E,filename:W,comment:q}),ps(s,s,Z,B+6),s.offset+=N,T=Math.min(hs(o,s.diskNumberStart)+s.offset,T),v&&(Y.has(s.filename)&&(G=!0),Y.add(s.filename));const _=s.externalFileAttributes>>16&t;s.unixMode===g&&16877&_&&(s.unixMode=_);const V=!!(s.unixMode&w),X=!!(s.unixMode&h),J=!!(512&s.unixMode),Q=s.unixMode!==g?!!(73&s.unixMode):b&&!!(73&_),$=s.unixMode!==g&&(61440&s.unixMode)==u,ee=(61440&_)==u;Object.assign(s,{setuid:V,setgid:X,sticky:J,unixExternalUpper:_,internalFileAttribute:s.internalFileAttributes,externalFileAttribute:s.externalFileAttributes,executable:Q,directory:$||ee||y&&j.directory||s.filename.endsWith(x)&&!s.uncompressedSize,zipCrypto:s.encrypted&&!s.extraFieldAES});const te=new Dn(s);te.getData=(e,t)=>s.getData(e,te,a.Ce,t),te.arrayBuffer=async e=>{const t=new TransformStream,[r]=await Promise.all([new Response(t.readable).arrayBuffer(),s.getData(t,te,a.Ce,e)]);return r},B=S;const{onprogress:re}=n;if(re)try{await re(e+1,P,new Dn(s))}catch{}yield te}v&&B!=q&&Rs("trailing central directory data"),G&&Rs("duplicate filename"),v&&(N||P&&T>0)&&Rs("prepended data");const X=As(a,n,"extractPrependedData"),J=As(a,n,"extractAppendedData");return X&&(a.prependedData=T>0?await Hr(o,0,T):E),a.comment=D?await Hr(o,F+l,D):E,J&&(a.appendedData=j<o.size?await Hr(o,j,o.size-j):E),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class cs{constructor(e={}){const{readable:t,writable:r}=new TransformStream,n=new os(t,e).getEntriesGenerator();this.readable=new ReadableStream({async pull(e){const{done:t,value:r}=await n.next();if(t)return e.close();const s={...r,readable:(()=>{const{readable:e,writable:t}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=r}}let ds=class{constructor(e,t,r){Object.assign(this,{reader:e,config:t,options:r})}async getData(e,t,s,i={}){const o=this,{reader:c,index:d,offset:l,diskNumberStart:m,extraFieldAES:p,extraFieldZip64:f,compressionMethod:u,config:w,bitFlag:h,rawBitFlag:x,signature:y,rawLastModDate:b,uncompressedSize:k,compressedSize:z}=o,{dataDescriptor:S}=h,R=t.localDirectory={},A=hs(c,m)+l,F=await Hr(c,A,v),D=oe(F);let j=As(o,i,jn),U=As(o,i,Un);const O=As(o,i,On);if(j=j&&j.length&&j,U=U&&U.length&&U,p&&99!=p.originalCompressionMethod)throw Error(Qn);if(F.length<v||Os(D,0)!=n)throw Error(Yn);ms(R,D,4);const{extraFieldLength:T,filenameLength:M}=R,C=xs(As(o,i,_n),As(o,i,Mn))==Bn;let I=E;if(C&&(M||T)){const e=await Hr(c,A+v,M+T);I=e.subarray(0,M),R.rawExtraField=e.subarray(M)}else R.rawExtraField=T?await Hr(c,A+v+M,T):E;ps(o,R,D,4,!0),C&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&Rs("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Rs("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Rs("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.signature||t.compressedSize||t.uncompressedSize)||t.signature==e.signature&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Rs("mismatched local file header (signature or sizes)")})(o,R,I);const{lastAccessDate:P,creationDate:N}=R;P&&(t.lastAccessDate=P),N&&(t.creationDate=N);const W=o.encrypted&&R.encrypted&&!O,q=W&&!p;if(O||(t.zipCrypto=q),W&&!(64&~R.rawBitFlag))throw Error(Jn);const _=O?g:Z(u);if(0!=u&&8!=u&&9!=u&&!_&&!O)throw Error(Qn);if(W){if(!q&&(1>p.strength||p.strength>3))throw Error(Jn);if(!j&&!U)throw Error(Xn)}const B=A+v+M+T,L=z,V=$e(c.createReadable({offset:B,size:L})),H=As(o,i,Tn),K=As(o,i,"checkPasswordOnly");let Y=As(o,i,"checkOverlappingEntry");const G=As(o,i,"checkOverlappingEntryOnly");G&&(Y=!0);const{onstart:X,onprogress:J,onend:Q}=i,$=9==u;let ee=As(o,i,In);$&&(ee=!1);const te={options:{codecType:vt,password:j,rawPassword:U,zipCrypto:q,encryptionStrength:p&&p.strength,signed:As(o,i,"checkSignature")&&!O,passwordVerification:q&&(S?b>>>8&r:y>>>24&r),outputSize:O?z:k,signature:y,compressed:0!=u&&!O,encrypted:W,useWebWorkers:As(o,i,Cn),useCompressionStream:ee,transferStreams:As(o,i,Pn),deflate64:$,format:_?_.format:g,codecURI:_?_.codecURI:g,compressionMethod:u,rawBitFlag:x,checkPasswordOnly:K},config:w,oe:{signal:H,size:L,onstart:X,onprogress:J,onend:Q}};let re;Y&&await(async({reader:e,We:t,index:r,offset:n,signature:s,compressedSize:i,uncompressedSize:o,qe:c,dataDescriptor:d,extraFieldZip64:l,Ce:m})=>{let p=0;if(d&&(p=l?20:12),p){const r=await Hr(e,c+i,p+4);if(r.length==p+4&&Os(oe(r),0)==a){const e=Os(oe(r),4);let n,a;l?(n=Ts(oe(r),8),a=Ts(oe(r),16)):(n=Os(oe(r),8),a=Os(oe(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==i&&a==o&&(p+=4)}}const f={start:n,end:c+i+p,We:t};for(const[e,t]of m)if(e!=r&&f.start<t.end&&t.start<f.end){const e=Error(es);throw e._e=t.We,e}m.set(r,f)})({reader:c,We:t,index:d,offset:A,signature:y,compressedSize:z,uncompressedSize:k,qe:B,dataDescriptor:S||R.bitFlag.dataDescriptor,extraFieldZip64:f||R.extraFieldZip64,Ce:s});try{if(!G){K&&(e=new WritableStream),e=new Zr(e),await Vr(e,O?z:k),({writable:re}=e);const{outputSize:t}=await Vt({readable:V,writable:re},te);if(e.size+=t,t!=(O?z:k))throw Error(tt)}}catch(t){if(t.outputSize!==g&&(e.size+=t.outputSize),!K||t.message!=we)throw t}finally{As(o,i,Nn)||!re||re.locked||await re.getWriter().close()}return K||G?g:e.getData?e.getData():re}};function ls(e){const t=Math.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==Os(e,r))return!0;return!1}function ms(e,t,r){const n=e.rawBitFlag=Us(t,r+2),s=!(1&~n),a=Os(t,r+6);Object.assign(e,{encrypted:s,version:Us(t,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&f)==f},rawLastModDate:a,lastModDate:Fs(a),filenameLength:Us(t,r+22),extraFieldLength:Us(t,r+24)})}function ps(e,t,r,n,s){const{rawExtraField:a}=t,i=t.extraField=new Map,o=oe(a);let c=0;try{for(;c<a.length;){const e=Us(o,c),t=Us(o,c+2);i.set(e,{type:e,data:a.slice(c+4,c+4+t)}),c+=4+t}}catch{}const d=Us(r,n+4);Object.assign(t,{signature:Os(r,n+10),compressedSize:Os(r,n+14),uncompressedSize:Os(r,n+18)});const l=i.get(1);l&&(((e,t)=>{t.zip64=!0;const r=oe(e.data),n=as.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+is[t].bytes,0);if(e.data.length<s)throw Error(Gn);for(let s=0,a=0;s<n.length;s++){const[i,o]=n[s],c=is[o];t[i]=e[i]=c.Me(r,a),a+=c.bytes}})(l,t),t.extraFieldZip64=l);const m=i.get(28789);m&&(fs(m,Gr,Xr,t,e),t.extraFieldUnicodePath=m);const f=i.get(25461);f&&(fs(f,Jr,Qr,t,e),t.extraFieldUnicodeComment=f);const u=i.get(39169);u&&u.data.length>=7?(((e,t,r)=>{const n=oe(e.data),s=js(n,4);Object.assign(e,{Be:js(n,0),vendorId:js(n,2),strength:s,originalCompressionMethod:r,compressionMethod:Us(n,5)}),t.compressionMethod=e.compressionMethod})(u,t,d),t.extraFieldAES=u):t.compressionMethod=d;const w=i.get(10);w&&(((e,t)=>{const r=oe(e.data);let n,s=4;try{for(;s<e.data.length&&!n;){const t=Us(r,s),a=Us(r,s+2);1==t&&(n=e.data.slice(s+4,s+4+a)),s+=4+a}}catch{}try{if(n&&24==n.length){const r=oe(n),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:i});const o={lastModDate:Ds(s),lastAccessDate:Ds(a),creationDate:Ds(i)};Object.assign(e,o),Object.assign(t,o)}}catch{}})(w,t),t.extraFieldNTFS=w);const h=i.get(30805);if(h)us(h,t,!1),t.extraFieldUnix=h;else{const e=i.get(30837);e&&(us(e,t,!0),t.extraFieldInfoZip=e)}const x=i.get(p);x&&(((e,t,r)=>{if(!e.data.length)return;const n=oe(e.data),s=js(n,0),a=[],i=[];r?(1&~s||(a.push(nn),i.push(sn)),2&~s||(a.push(an),i.push("rawLastAccessDate")),4&~s||(a.push(on),i.push(cn))):5>e.data.length||(a.push(nn),i.push(sn));let o=1;a.forEach((r,s)=>{if(e.data.length>=o+4){const a=Os(n,o);t[r]=e[r]=new Date(1e3*(0|a));const c=i[s];e[c]=a}o+=4})})(x,t,s),t.extraFieldExtendedTimestamp=x);const v=i.get(6534);v&&(t.extraFieldUSDZ=v)}function fs(e,t,r,n,s){if(5>e.data.length)return void(e.valid=!1);const a=oe(e.data),i=new re;i.append(s[r]);const o=oe(new Uint8Array(4));o.setUint32(0,i.get(),!0);const c=Os(a,1);Object.assign(e,{version:js(a,0),[t]:Yr(e.data.subarray(5)),valid:!s.bitFlag.languageEncodingFlag&&c==Os(o,0)}),e.valid&&(n[t]=e[t],n[t+"UTF8"]=!0)}function us(e,t,r){try{const n=oe(e.data);let s,a;if(r){let t=0;const r=js(n,t++),i=js(n,t++);s=ws(e.data.subarray(t,t+i)),t+=i;const o=js(n,t++);a=ws(e.data.subarray(t,t+o)),Object.assign(e,{version:r,uid:s,gid:a})}else 4>e.data.length||(s=Us(n,0),a=Us(n,2),Object.assign(e,{uid:s,gid:a}));s!==g&&(t.uid=s),a!==g&&(t.gid=a)}catch{}}function ws(e){const t=new Uint8Array(4);return t.set(e,0),new DataView(t.buffer,t.byteOffset,4).getUint32(0,!0)}function hs(e,t){return e.Te?e.Te(t):0}function xs(e,t){return e===g?t?Bn:"balanced":e}const vs=64,ys=0,bs=1,gs=2;async function*ks(e,t){const r=e.size-t,n=await Hr(e,r,t),s=oe(n);for(let e=n.length-l;e>=0;e--)Os(s,e)==o&&(yield[s,r,n,e,r+e])}function zs(e,t,r){return{offset:r,buffer:e.slice(t,t+l).buffer}}async function Ss(r,n,s,a,o,c,l){const p=Us(n,a+10),f=Os(n,a+12),u=Os(n,a+16);if(p==t||f==e||u==e)return await Es(r,n,s,o-m,c,l)==d?gs:ys;if(!p&&!f)return bs;const w=Us(n,a+6);for(const e of[o-f,hs(r,w)+u])if(await Es(r,n,s,e,c,l)==i)return gs;return ys}async function Es(e,t,r,n,s,a){return 0>n||n+4>s?g:r>n?a.count>0?(a.count--,Os(oe(await Hr(e,n,4)),0)):g:Os(t,n-r)}function Rs(e){const t=Error(ts);throw t.reason=e,t}function As(e,t,r){return t[r]===g?e.options[r]:t[r]}function Fs(e){const r=(4294901760&e)>>16,n=e&t;try{return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch{}}function Ds(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function js(e,t){return e.getUint8(t)}function Us(e,t){return e.getUint16(t,!0)}function Os(e,t){return e.getUint32(t,!0)}function Ts(e,t){return Number(e.getBigUint64(t,!0))}var Ms=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:ts,ERR_BAD_FORMAT:Zn,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Kn,ERR_ENCRYPTED:Xn,ERR_ENCRYPTED_CENTRAL_DIRECTORY:rs,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Hn,ERR_EOCDR_NOT_FOUND:Vn,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Gn,ERR_INVALID_COMPRESSED_DATA:rt,ERR_INVALID_PASSWORD:fe,ERR_INVALID_SIGNATURE:ue,ERR_INVALID_UNCOMPRESSED_SIZE:tt,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Yn,ERR_OVERLAPPING_ENTRY:es,ERR_SPLIT_ZIP_FILE:$n,ERR_UNSUPPORTED_COMPRESSION:Qn,ERR_UNSUPPORTED_ENCRYPTION:Jn,ZipReader:os,ZipReaderStream:cs});const Cs="File already exists",Is="Zip file comment exceeds 64KB",Ps="File entry comment exceeds 64KB",Ns="File entry name exceeds 64KB",Ws="Version exceeds 65535",qs="The strength must equal 1, 2, or 3",_s="Encryption is not supported in USDZ files",Bs="Extra field type exceeds 65535",Ls="Extra field data exceeds 64KB",Zs=-2147483648,Vs=2147483647,Hs="Zip64 is not supported (set the 'zip64' option to 'true')",Ks="Undefined uncompressed size",Ys="Undefined reader",Gs="Zip file not empty",Xs=new Uint8Array([7,0,2,0,65,69,3,0,0]),Js="infozip",Qs="unix";let $s=0;const ea=[];class ta{constructor(e,t={}){e=new Zr(e);const{availableSize:r=k,maxSize:n=k}=e;Object.assign(this,{writer:e,Le:r>0&&r!==k&&n>0&&n!==k,options:t,config:j(),files:new Map,Ze:new Set,offset:t[Wn]===g?e.size||e.writable.size||0:t[Wn],Ve:t[Wn]===g?0:t[Wn]-(e.size||e.writable.size||0),He:new Set,Ke:0,Ye:g})}async prependZip(t){if(this.Ze.size)throw Error(Gs);t=new Lr(t),await Vr(t);const{ZipReader:r}=await Promise.resolve().then(()=>Ms),n=new r(t.readable),s=await n.getEntries();await n.close(),await Vr(this.writer),await t.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=t.size,this.Ze=new Set(s.map(e=>e.filename)),this.files=new Map(s.map(t=>{const{version:r,rawLastModDate:n,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:d,compressedSize:l,zip64:m}=t;let{compressionMethod:p,Ge:f,Xe:u,Je:w,Qe:h,$e:x,rawExtraField:v}=t;const{level:y,languageEncodingFlag:b,dataDescriptor:k}=o;f=f||E,u=u||E,w=w||E,h=h||E,x=x||E,v=v||E,t.extraFieldAES&&(p=99);const z=ka(f,u,w,h,x,v),S=m&&d>=e,R=m&&l>=e,A=-7&Sa(y,b,k,c,p)|y<<1,{et:F,nt:D}=za({version:r,bitFlag:A,compressionMethod:p,uncompressedSize:d,compressedSize:l,rawLastModDate:n,rawFilename:i,st:R,it:S,extraFieldLength:z}),{signature:j}=t;return j!==g&&ya(D,10,j),Object.assign(t,{it:S,st:R,ot:m&&t.offset>=e,diskNumberStart:0,ct:!1,Ge:f,Xe:u,Je:w,Qe:h,$e:x,rawExtraField:v,extendedTimestamp:w.length>0||h.length>0,lt:1+(s?2:0)+(a?4:0),et:F,nt:D}),[t.filename,t]}))}async add(i="",o,c={}){const d=this;c=Object.assign({},c);const{He:l,config:m}=d;let f,z;$s<m.maxWorkers?$s++:await new Promise(e=>ea.push(e));try{if(i=i.trim(),ha(d,c,yn)&&!i.endsWith(x)&&(i+=x),d.Ze.has(i))throw Error(Cs);return d.Ze.add(i),z=!0,f=(async(i,o,c,d)=>{const l=((n,s,a)=>{s=s.trim();let i=ha(n,a,fn),o=ha(n,a,xn,i?20:768);const c=ha(n,a,bn),d=ha(n,a,"uid"),l=ha(n,a,"gid");let m=ha(n,a,Sn),p=ha(n,a,"unixExtraFieldType"),f=ha(n,a,En),v=ha(n,a,Rn),y=ha(n,a,An);if(d!==g&&(0>d||d>e))throw Error("Invalid uid (must be integer 0..2^32-1)");if(l!==g&&(0>l||l>e))throw Error("Invalid gid (must be integer 0..2^32-1)");if(m!==g&&(0>m||m>t))throw Error("Invalid UNIX mode (must be integer 0..65535)");if(p!==g&&p!==Js&&p!==Qs)throw Error("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(p===Qs&&(d!==g&&d>t||l!==g&&l>t))throw Error("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");p!==g||d===g&&l===g||(p=Js);let b=ha(n,a,mn),k=ha(n,a,pn);const z=b!==g||k!==g;if(d!==g||l!==g||m!==g||p?(i=!1,o=o&t|768):z&&(i=!0,o&=r),b!==g&&(0>b||b>r))throw Error("Invalid msdosAttributesRaw (must be integer 0..255)");if(k&&"object"!=typeof k)throw Error("Invalid msdosAttributes (must be an object with boolean flags)");if(o>t)throw Error(Ws);let S=ha(n,a,ln);const E=S!==g;E||(S=0),!a[yn]&&s.endsWith(x)&&(a[yn]=!0);const R=ha(n,a,yn);let A;if(R?(s.endsWith(x)||(s+=x),E||(S=16,i||(S|=16877<<16))):i||E||(S=c?493<<16:27525120),!i){const e=m!==g||!!(f||v||y);A=S>>16&t,m=m===g?A:m&t,f?m|=w:f=!!(m&w),v?m|=h:v=!!(m&h),y?m|=512:y=!!(512&m),E&&!e||(R&&(m|=u),S=(m&t)<<16|S&t)}return({msdosAttributesRaw:b,msdosAttributes:k}=((e,t)=>{if(e!==g)e&=r;else if(t!==g){const{readOnly:n,hidden:s,system:a,directory:i,archive:o}=t;let c=0;n&&(c|=1),s&&(c|=2),a&&(c|=4),i&&(c|=16),o&&(c|=32),e=c&r}return t===g&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(b,k)),z&&(S=S&e|b&r),{name:s,ft:{versionMadeBy:o,msDosCompatible:i,externalFileAttributes:S,unixExternalUpper:A,uid:d,gid:l,unixMode:m,unixExtraFieldType:p,setuid:f,setgid:v,sticky:y,msdosAttributesRaw:b,msdosAttributes:k}}})(i,o,d);({name:o}=l);const m=((e,r,n)=>{const s=ha(e,n,"encodeText",se);let a=s(r);if(a===g&&(a=se(r)),ka(a)>t)throw Error(Ns);const i=n[Jr]||"";let o=s(i);if(o===g&&(o=se(i)),ka(o)>t)throw Error(Ps);const c=ha(e,n,hn,20);if(c>t)throw Error(Ws);const d=ha(e,n,nn,new Date),l=ha(e,n,an),m=ha(e,n,on),p=ha(e,n,dn,0),f=ha(e,n,On);let u,w;f||(u=ha(e,n,jn),w=ha(e,n,Un));const h=ha(e,n,"encryptionStrength",3),x=ha(e,n,vn),v=ha(e,n,"extendedTimestamp",!0),y=ha(e,n,"ntfsTimestamp"),b=ha(e,n,"keepOrder",!0),k=ha(e,n,Cn),z=ha(e,n,Pn),S=ha(e,n,"bufferedWrite"),R=ha(e,n,"createTempStream"),A=ha(e,n,"dataDescriptorSignature",!0),F=ha(e,n,Tn),D=ha(e,n,"useUnicodeFileNames",!0),j=ha(e,n,gn),U=f||j===g?g:Z(j);if(!f&&j!==g&&0!==j&&8!==j&&!U)throw Error("Compression method not supported");let O=ha(e,n,"level");if(e.options[qn]){if(u!==g||w!==g)throw Error(_s);O===g&&j===g&&(O=0)}let T=ha(e,n,In),M=ha(e,n,"dataDescriptor");S&&M===g&&(M=!1),(M===g||x)&&(M=!0),O!==g&&6!=O&&(T=!1),T||U||e.config.CompressionStream!==g||e.config.CompressionStreamZlib!==g||(O=0);const C=ha(e,n,un);if(!x&&(u!==g||w!==g)&&(1>h||h>3))throw Error(qs);let I=E;const P=n[zn];if(P){let e=0,r=0;P.forEach(t=>e+=4+ka(t)),I=new Uint8Array(e);const n=oe(I);P.forEach((e,s)=>{if(s>t)throw Error(Bs);if(ka(e)>t)throw Error(Ls);va(n,r,s),va(n,r+2,ka(e)),ga(I,e,r+4),r+=4+ka(e)})}return{comment:i,ft:{rawFilename:a,rawComment:o,version:c,lastModDate:d,lastAccessDate:l,creationDate:m,internalFileAttributes:p,passThrough:f,password:u,rawPassword:w,encryptionStrength:h,zipCrypto:x,extendedTimestamp:v,ntfsTimestamp:y,keepOrder:b,useWebWorkers:k,transferStreams:z,bufferedWrite:S,createTempStream:R,dataDescriptorSignature:A,signal:F,useUnicodeFileNames:D,compressionMethod:j,format:U?U.format:g,codecURI:U?U.codecURI:g,ut:U?U.versionNeeded:g,level:O,useCompressionStream:T,dataDescriptor:M,zip64:C,rawExtraField:I}}})(i,o,d),{comment:f}=m,z=d[zn];let S;i.files.set(o,g);try{const f=await(async(t,r,{ft:n},s)=>{const{passThrough:a,zipCrypto:i,password:o,rawPassword:c,encryptionStrength:d}=n;let{dataDescriptor:l,zip64:m,level:p,compressionMethod:f}=n,u=0,w=0;if(a){if(!r)throw Error(Ys);if(w=s[$r],w===g)throw Error(Ks)}const h=!0===m,x=ha(t,s,wn),v=!!r&&(!!(o&&ka(o)||c&&ka(c))||a&&x);r||(p=0,f=0);const y=v?i?12:16+4*d:0;r&&(r=new Lr(r),await Vr(r),a?(s.uncompressedSize=w,u=xa(w)+y):r.size===g?(l=!0,(m||m===g)&&(m=!0,w=u=4294967296)):(s.uncompressedSize=w=r.size,u=xa(w)+y));const b=h||w>=e,k=h||u>=e;if(b||k){if(!1===m)throw Error(Hs);m=!0}return m=m||!1,{reader:r,ft:{dataDescriptor:l,zip64:m,it:b,st:k,uncompressedSize:w,level:p,compressionMethod:f,encrypted:v}}})(i,c,m,d);({reader:c}=f);const u=ca(i.writer),w=oa(i.writer),h=(e=>{const{rawFilename:r,lastModDate:s,lastAccessDate:a,creationDate:i,level:o,zip64:c,zipCrypto:d,useUnicodeFileNames:l,dataDescriptor:m,directory:f,rawExtraField:u,encryptionStrength:w,extendedTimestamp:h,ntfsTimestamp:x,passThrough:k,encrypted:z,it:S,st:R,uncompressedSize:A}=e;let{version:F,compressionMethod:D}=e;const j=!f&&(D===g?o===g||o>0:0!==D);let U;const O=k||!j,T=c&&(e.bufferedWrite||!m||!S&&!R||O),M=T||c&&m&&(S||R);if(c&&(S||R)){const e=20,t=ia(e);if(t.uint16(1),t.uint16(e-4),U=t.array,T&&(t.wt(A),O)){const e=z?d?12:16+4*w:0;t.wt(k?0:A+e)}}else U=E;let C,I,P,N,W;if(z&&!d){const e=ia(ka(Xs)+2);e.uint16(39169),e.bytes(Xs),C=e.array,C[8]=w}else C=E;if(h){const e=fa(s),t=ua(e);if(t){const t=9+(a?4:0)+(i?4:0),r=ia(t);N=1+(a?2:0)+(i?4:0),r.uint16(p),r.uint16(t-4),r.uint8(N),r.uint32(e),a&&r.uint32(wa(fa(a))),i&&r.uint32(wa(fa(i))),P=r.array}else P=E;if(x===g?!t||a||i:x)try{const e=pa(s),t=ia(36);t.uint16(10),t.uint16(32),t.ht(4),t.uint16(1),t.uint16(24),t.wt(e),t.wt(pa(a)||e),t.wt(pa(i)||e),I=t.array}catch{I=E}else I=E}else I=P=E;try{const{uid:r,gid:n,unixExtraFieldType:s}=e;if(s!=Js||r===g&&n===g)if(s!=Qs||r===g&&n===g)W=E;else{const e=ia(8);e.uint16(30805),e.uint16(4),e.uint16((r===g?0:r)&t),e.uint16((n===g?0:n)&t),W=e.array}else{const e=aa(r),t=aa(n),s=3+e.length+t.length,a=ia(4+s);a.uint16(30837),a.uint16(s),a.uint8(1),a.uint8(e.length),a.bytes(e),a.uint8(t.length),a.bytes(t),W=a.array}}catch{W=E}D===g&&(D=j?8:0);const{ut:q}=e;j&&q!==g&&(F=F>q?F:q),c&&(F=F>45?F:45),z&&!d&&(F=F>51?F:51,C[9]=D,D=99);const _=M?ka(U):0,B=_+ka(C,P,I,W,u);if(B>t)throw Error(Ls);const L=new Date(2e3*Math.ceil(s.getTime()/2e3)),{et:Z,nt:V,rawLastModDate:H}=za({version:F,bitFlag:Sa(o,l,m,z,D),compressionMethod:D,uncompressedSize:A,lastModDate:b>L?b:L>y?y:L,rawFilename:r,st:R,it:S,extraFieldLength:B}),K=ia(v+ka(r)+B),Y=K.array,G=oe(Y);return K.uint32(n),K.bytes(Z),K.bytes(r),M&&K.bytes(U),K.bytes(C),K.bytes(P),K.bytes(I),K.bytes(W),K.bytes(u),m&&(R||ya(G,18,0),S||ya(G,22,0)),{xt:Y,vt:G,et:Z,nt:V,lastModDate:s,rawLastModDate:H,encrypted:z,compressed:j,version:F,compressionMethod:D,lt:N,Ge:E,yt:_,Je:P,Qe:I,$e:W,Xe:C,extraFieldLength:B}})(d=Object.assign({},d,l.ft,m.ft,f.ft,{internalFileAttribute:m.ft.internalFileAttributes,externalFileAttribute:l.ft.externalFileAttributes,signature:d[kn],offset:i.offset-u,diskNumberStart:w})),x=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=E,i=0,o=e?20:12;return r&&(o+=4),t&&(s=new Uint8Array(o),n=oe(s),r&&(i=4,ya(n,0,a))),{bt:s,gt:n,kt:i}})(d),z=ka(h.xt,x.bt);S=await(async(t,n,a,i,o)=>{const{files:c,writer:d}=t,{keepOrder:l,dataDescriptor:m,signal:p}=o,{zt:f}=i,u=t.options[qn],w=t.Ye;let h,x,y,b,z,S,E,R={},A=0;c.set(n,R),t.Ye=R;try{let x;l&&(x=w&&w.lock,R.lock=new Promise(e=>y=e)),o.bufferedWrite||!l||t.St||t.Ke||!m?(h=!0,t.Ke++,E=o.createTempStream?await o.createTempStream():new TransformStream(g,g,{highWaterMark:k}),E.size=0,await Vr(d)):(E=d,await F()),await Vr(E);const j=ca(d);if(t.Le){delete t.Le;const e=new Uint8Array(4);ya(oe(e),0,s),await ma(d,e),t.offset+=4}u&&!h&&sa(i,t.offset-j);const{xt:U}=f;h||(await x,await D());const O=oa(d),T=la(t,d);if(R.diskNumberStart=O,h||(z=!0,S=d.size,await ma(E,U)),R=await(async(t,n,{diskNumberStart:s,lock:a},i,o,c)=>{const{zt:d,Et:l,Rt:m}=i,{et:p,nt:f,lastModDate:u,rawLastModDate:w,encrypted:h,compressed:x,version:v,compressionMethod:y,Ge:b,yt:k,Je:z,lt:S,Qe:E,$e:R,Xe:A}=d,{bt:F}=l,{rawFilename:D,lastAccessDate:j,creationDate:U,password:O,rawPassword:T,level:M,zip64:C,it:I,st:P,zipCrypto:N,dataDescriptor:W,directory:q,executable:_,versionMadeBy:B,rawComment:L,rawExtraField:Z,useWebWorkers:V,transferStreams:H,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:ee,externalFileAttributes:te,uid:re,gid:ne,unixMode:se,setuid:ae,setgid:ie,sticky:oe,unixExternalUpper:ce,msdosAttributesRaw:de,msdosAttributes:le,useCompressionStream:me,passThrough:pe,format:fe,codecURI:ue}=c,we={lock:a,versionMadeBy:B,zip64:C,directory:!!q,executable:!!_,filenameUTF8:!0,rawFilename:D,commentUTF8:!0,rawComment:L,Ge:b,yt:k,Je:z,Qe:E,$e:R,Xe:A,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:ee,externalFileAttributes:te,diskNumberStart:s,uid:re,gid:ne,unixMode:se,setuid:ae,setgid:ie,sticky:oe,unixExternalUpper:ce,msdosAttributesRaw:de,msdosAttributes:le};let{signature:he,uncompressedSize:xe}=c,ve=0;pe||(xe=0);const{writable:ye}=n;if(t){const s=$e(t.createReadable?t.createReadable():t.readable),a=t.size,i={options:{codecType:xt,level:M,rawPassword:T,password:O,encryptionStrength:J,zipCrypto:h&&N,passwordVerification:h&&N&&w>>8&r,signed:!pe,compressed:x&&!pe,encrypted:h&&!pe,useWebWorkers:V,useCompressionStream:me,transferStreams:H,format:fe,codecURI:ue,compressionMethod:y},config:o,oe:{signal:X,size:a,onstart:K,onprogress:Y,onend:G}};try{const t=await Vt({readable:s,writable:ye},i);if(ve=t.outputSize,n.size+=ve,pe||(xe=t.inputSize,he=t.signature),!P&&ve>=e||!I&&xe>=e)throw Error(Hs)}catch(e){throw e.outputSize!==g&&(n.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:r,zt:n,Et:s},{zip64:a,zipCrypto:i,dataDescriptor:o})=>{const{nt:c,encrypted:d}=n,{gt:l,kt:m}=s;d&&!i||e===g||(ya(c,10,e),o&&ya(l,m,e)),a?o&&(ba(l,m+4,BigInt(t)),ba(l,m+12,BigInt(r))):(ya(c,14,t),ya(c,18,r),o&&(ya(l,m+4,t),ya(l,m+8,r)))})({signature:he,compressedSize:ve,uncompressedSize:xe,zt:d,Et:l},c),W&&await ma(n,F),Object.assign(we,{uncompressedSize:xe,compressedSize:ve,lastModDate:u,rawLastModDate:w,creationDate:U,lastAccessDate:j,encrypted:h,zipCrypto:N,size:m+ve,compressionMethod:y,version:v,et:p,nt:f,signature:he,lt:S,it:I,st:P}),we})(a,E,R,i,t.config,o),h||(z=!1),c.set(n,R),R.filename=n,h){if(await Promise.all([E.writable.getWriter().close(),x]),await F(),b=!0,S=d.size,await D(),R.diskNumberStart=oa(d),R.offset=la(t,d),u){const e=i.Rt;sa(i,t.offset-ca(d)),R.size+=i.Rt-e}(({rawFilename:e,encrypted:t,zip64:r,yt:n,signature:s,compressedSize:a,uncompressedSize:i,it:o,st:c},d,{dataDescriptor:l})=>{if(l||(t||ya(d,14,s),c||ya(d,18,a),o||ya(d,22,i)),r&&n){const t=v+ka(e)+4;ba(d,t,BigInt(i)),ba(d,t+8,BigInt(a))}})(R,f.vt,o),await ma(d,f.xt),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new WritableStream({async write(e){var t;await n.ready,await n.write(e),t=ka(e),A+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(E.readable,d,p),d.size+=E.size,b=!1}else R.diskNumberStart=O,R.offset=T;return t.offset+=R.size,R}catch(e){if(b||z){if(t.hasCorruptedEntries=!0,e)try{e.corruptedEntry=!0}catch{}t.offset+=d.size-S,h&&(t.offset+=A)}throw c.delete(n),e}finally{if(h&&t.Ke--,y&&y(),x&&x(),h&&E&&E.dispose)try{await E.dispose()}catch{}}async function F(){t.St=!0;const{At:e}=t;t.At=new Promise(e=>x=()=>{t.St=!1,e()}),await e}async function D(){da(d,ka(f.xt))&&await d.closeDisk()}})(i,o,c,{zt:h,Et:x,Rt:z},d)}catch(e){throw i.files.delete(o),e}return Object.assign(S,{name:o,comment:f,extraField:z}),new Dn(S)})(d,i,o,c),l.add(f),await f}catch(e){throw z&&d.Ze.delete(i),e}finally{l.delete(f);const e=ea.shift();e?e():$s--}}remove(e){const{Ze:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==g){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(r=E,n={}){const{He:s,writer:a}=this,{writable:m}=a;if(ka(r)>t)throw Error(Is);for(;s.size;)await Promise.allSettled(Array.from(s));return await(async(r,n,s)=>{const a=(r=>{let n=0;for(const[,s]of r){const{rawFilename:r,Xe:a,rawComment:i,Qe:o,$e:c,rawExtraField:d,extendedTimestamp:l,lt:m,lastModDate:f,it:u,st:w,uncompressedSize:h,compressedSize:x}=s,v=s.offset>=e,y=s.diskNumberStart>=t;let b,g;if(v||y||u||w){const e=4+(u?8:0)+(w?8:0)+(v?8:0)+(y?4:0),t=ia(e);t.uint16(1),t.uint16(e-4),u&&t.wt(h),w&&t.wt(x),v&&t.wt(s.offset),y&&t.uint32(s.diskNumberStart),b=t.array}else b=E;s.Ge=b,s.ot=v,s.ct=y;const k=fa(f);if(l&&ua(k)){const e=ia(9);e.uint16(p),e.uint16(5),e.uint8(m),e.uint32(k),g=e.array}else g=E;s.Je=g;const z=ka(b,a,o,c,g,d);if(z>t)throw Error(Ls);n+=46+ka(r,i)+z}return n})(r.files),m=await(async(r,n,s)=>{const{files:a,writer:o}=r,c=new Uint8Array(n);await Vr(o);let d=0,l=0,m=oa(o),p=ca(o);for(const[r,n]of Array.from(a.values()).entries()){const{offset:f,rawFilename:u,Ge:w,Xe:h,Je:x,Qe:v,$e:y,rawExtraField:b,rawComment:g,versionMadeBy:k,et:z,nt:S,it:E,st:R,ct:A,ot:F,internalFileAttributes:D,externalFileAttributes:j,diskNumberStart:U,uncompressedSize:O,compressedSize:T}=n,M=ka(w,h,x,v,y,b),C=46+ka(u,g)+M;da(o,d+C-l)&&(await ma(o,c.slice(l,d)),l=d,await o.closeDisk()),0==r&&(m=oa(o),p=ca(o)),E||ya(S,18,O),R||ya(S,14,T),(F||A)&&45>n.version&&va(S,0,45);const I=ia(C);if(I.uint32(i),I.uint16(k),I.bytes(z.subarray(0,24)),I.uint16(M),I.uint16(ka(g)),I.uint16(A?t:U),I.uint16(D),I.uint32(j),I.uint32(F?e:f),I.bytes(u),I.bytes(w),I.bytes(h),I.bytes(x),I.bytes(v),I.bytes(y),I.bytes(b),I.bytes(g),ga(c,I.array,d),d+=C,s.onprogress)try{await s.onprogress(r+1,a.size,new Dn(n))}catch{}}return await ma(o,l?c.slice(l):c),{diskNumber:m,diskOffset:p}})(r,a,s);await(async(r,n,s,a)=>{const{writer:i}=r,{Ft:m}=a;let{Dt:p}=a,f=r.files.size,u=m.diskNumber,w=la(r,m),h=oa(i);da(i,l)&&h++;let x=ha(r,s,un);if(!(e>w&&e>p&&t>f&&t>h)){if(!1===x)throw Error(Hs);x=!0}const v=ka(n);if(v>t)throw Error(Is);const y=ia(x?98:l);da(i,ka(y.array)+v)&&await i.closeDisk(),h=oa(i),x&&(y.uint32(c),y.wt(44),y.uint16(45),y.uint16(45),y.uint32(h),y.uint32(u),y.wt(f),y.wt(f),y.wt(p),y.wt(w),y.uint32(d),y.uint32(h),y.wt(BigInt(la(r,i))+BigInt(p)),y.uint32(h+1),ha(r,s,"supportZip64SplitFile",!0)&&(h=t,u=t),f=t,w=e,p=e),y.uint32(o),y.uint16(h),y.uint16(u),y.uint16(f),y.uint16(f),y.uint32(p),y.uint32(w),y.uint16(v),await ma(i,y.array),v&&await ma(i,n)})(r,n,s,{Ft:m,Dt:a})})(this,r,n),ha(this,n,Nn)||await m.getWriter().close(),a.getData?a.getData():m}}class ra{constructor(e={}){const{readable:t,writable:r}=new TransformStream;this.readable=t,this.zipWriter=new ta(r,e),this.He=new Set}transform(e){const t=this.zipWriter;let r;const{readable:n,writable:s}=new TransformStream({start(e){r=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return na(this,this.zipWriter.add(e,n),e=>r.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:r,writable:n}=new TransformStream({start(e){t=e}});return na(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,t={}){return await Promise.all(Array.from(this.He)),this.zipWriter.close(e,t)}}function na(e,t,r){e.He.add(t),t.catch(e=>{try{r(e)}catch{}})}function sa(e,t){const{zt:r}=e;let{xt:n,extraFieldLength:s}=r,a=64-(t+ka(n))%64;4>a&&(a+=64);const i=new Uint8Array(a),o=oe(i);va(o,0,6534),va(o,2,a-4);const c=n;r.xt=n=new Uint8Array(ka(c)+a),ga(n,c),ga(n,i,ka(c));const d=oe(n);va(d,28,s+a),r.vt=d,e.Rt+=a}function aa(e){if(e===g)return E;{const t=new Uint8Array(4);oe(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function ia(e){const t=new Uint8Array(e),r=oe(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{va(r,n,e),n+=2},uint32:e=>{ya(r,n,e),n+=4},wt:e=>{ba(r,n,BigInt(e)),n+=8},bytes:e=>{ga(t,e,n),n+=ka(e)},ht:e=>n+=e}}function oa(e){const{diskNumber:t=0}=e;return t}function ca(e){const{diskOffset:t=0}=e;return t}function da(e,t){const{availableSize:r=k}=e;return t>r}function la(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ve:0)}async function ma(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=ka(t),await n.write(t)}finally{n.releaseLock()}}function pa(e){if(e)return(BigInt(e.getTime())+BigInt(116444736e5))*BigInt(1e4)}function fa(e){return Math.floor(e.getTime()/1e3)}function ua(e){return e>=Zs&&Vs>=e}function wa(e){return Math.min(Vs,Math.max(Zs,e))}function ha(e,t,r,n){const s=t[r]===g?e.options[r]:t[r];return s===g?n:s}function xa(e){return e+5*(Math.floor(e/16383)+1)}function va(e,t,r){e.setUint16(t,r,!0)}function ya(e,t,r){e.setUint32(t,r,!0)}function ba(e,t,r){e.setBigUint64(t,r,!0)}function ga(e,t,r){e.set(t,r)}function ka(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function za({version:t,bitFlag:r,compressionMethod:n,uncompressedSize:s,compressedSize:a,lastModDate:i,rawLastModDate:o,rawFilename:c,st:d,it:l,extraFieldLength:m}){const p=ia(26),f=p.array,u=oe(f);if(p.uint16(t),p.uint16(r),p.uint16(n),o===g){const e=new Uint32Array(1),t=oe(e);va(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),va(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),o=e[0]}return p.uint32(o),p.ht(4),d||a!==g?p.uint32(d?e:a):p.ht(4),l||s!==g?p.uint32(l?e:s):p.ht(4),p.uint16(ka(c)),p.uint16(m),{et:f,nt:u,rawLastModDate:o}}function Sa(e,t,r,n,s){let a=0;return t&&(a|=f),r&&(a|=8),8!=s&&9!=s||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),n&&(a|=1),a}const Ea=1048576,Ra=".zip.js-temp";function Aa(e={}){const{thresholdBytes:t=Ea,directoryName:r=Ra,getDirectory:n=()=>navigator.storage.getDirectory()}=e;let s;function a(){return s||(s=Promise.resolve(n()).then(e=>e.getDirectoryHandle(r,{create:!0}))),s}return()=>{const e=[];let r,n,s,i,o=0,c=!1;const d=new WritableStream({async write(i){c?await s.write(i):(e.push(i),o+=i.length,o>t&&await(async()=>{const t=await a();r=crypto.randomUUID(),n=await t.getFileHandle(r,{create:!0}),s=(await n.createWritable()).getWriter(),c=!0;for(const t of e)await s.write(t);e.length=0})())},async close(){s&&(await s.close(),s=null)}});let l=0;return{writable:d,readable:new ReadableStream({async pull(t){if(c){if(!i){const e=await n.getFile();i=e.stream().getReader()}const{value:e,done:r}=await i.read();r?t.close():t.enqueue(e)}else l<e.length?t.enqueue(e[l++]):t.close()},async cancel(e){i&&await i.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(s){try{await s.close()}catch{}s=null}if(r){try{const e=await a();await e.removeEntry(r)}catch{}n=r=null}e.length=0}}}}const Fa=1048576;function Da(e={}){const{thresholdBytes:t=Fa}=e;return()=>{const e=[];let r,n,s,a=0,i=!1;const o=new WritableStream({async write(s){i?await r.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new TransformStream;n=new Response(t.readable).blob(),r=t.writable.getWriter(),i=!0;for(const t of e)await r.write(t);e.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:o,readable:new ReadableStream({async pull(t){if(i){if(!s){const e=await n;s=e.stream().getReader()}const{value:e,done:r}=await s.read();r?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),e.length=0}}}}const ja=1048576,Ua=".zip.js-temp";function Oa(e={}){const{thresholdBytes:t=ja,directoryName:r=Ua,getDirectory:n}=e;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error("createSyncAccessHandle is only available in dedicated workers");const s=n||(()=>navigator.storage.getDirectory());let a;function i(){return a||(a=Promise.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,n,s=0,a=!1,o=0,c=0;const d=new WritableStream({async write(c){a?(n.write(c,{at:o}),o+=c.length):(e.push(c),s+=c.length,s>t&&await(async()=>{const t=await i();r=crypto.randomUUID();const s=await t.getFileHandle(r,{create:!0});n=await s.createSyncAccessHandle(),a=!0;for(const t of e)n.write(t,{at:o}),o+=t.length;e.length=0})())},close(){n&&n.flush()}});let l=0;return{writable:d,readable:new ReadableStream({pull(t){if(a){const e=o-c;if(0>=e)return void t.close();const r=new Uint8Array(Math.min(524288,e)),s=n.read(r,{at:c});s?(c+=s,t.enqueue(r.subarray(0,s))):t.close()}else l<e.length?t.enqueue(e[l++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const e=await i();await e.removeEntry(r)}catch{}r=null}e.length=0}}}}try{T({baseURI:import.meta.url})}catch{}let Ta,Ma,Ca,Ia,Pa;function Na(e,t,r={}){if(!Ta){const e=Error("WASM module not loaded");throw e.cause=Pa,e}const n="number"==typeof r.level?r.level:-1,s="number"==typeof r.outBuffer?r.outBuffer:65536,a="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.jt=Ma(s),this.in=Ma(a),this.inBufferSize=a,!this.jt||!this.in)throw Error("allocation failed");if(this.Ut=new Uint8Array(s),e?(this.Ot=Ta.deflate_process,this.Tt=Ta.deflate_last_consumed,this.Mt=Ta.deflate_end,this.Ct=Ta.deflate_new(),r="gzip"===t?Ta.deflate_init_gzip(this.Ct,n):"deflate-raw"===t?Ta.deflate_init_raw(this.Ct,n):Ta.deflate_init(this.Ct,n)):"deflate64-raw"===t?(this.Ot=Ta.inflate9_process,this.Tt=Ta.inflate9_last_consumed,this.Mt=Ta.inflate9_end,this.Ct=Ta.inflate9_new(),r=Ta.inflate9_init_raw(this.Ct)):(this.Ot=Ta.inflate_process,this.Tt=Ta.inflate_last_consumed,this.Mt=Ta.inflate_end,this.Ct=Ta.inflate_new(),r="deflate-raw"===t?Ta.inflate_init_raw(this.Ct):"gzip"===t?Ta.inflate_init_gzip(this.Ct):Ta.inflate_init(this.Ct)),0!==r)throw Error("init failed:"+r)}catch(e){throw i(this),e}},transform(t,r){try{const n=t,a=new Uint8Array(Ia.buffer),i=this.Ot,o=this.Tt,c=this.jt,d=this.Ut;let l=0;for(;l<n.length;){const t=Math.min(n.length-l,32768);if((!this.in||this.inBufferSize<t)&&(this.in&&Ca&&(Ca(this.in),this.in=0),this.in=Ma(t),this.inBufferSize=t,!this.in))throw Error("allocation failed");a.set(n.subarray(l,l+t),this.in);const m=i(this.Ct,this.in,t,c,s,0),p=16777215&m;if(p&&(d.set(a.subarray(c,c+p),0),r.enqueue(d.slice(0,p))),!e){const e=m>>24&255,t=128&e?e-256:e;if(0>t)throw Error("process error:"+t)}const f=o(this.Ct);if(0===f)break;l+=f}}catch(e){i(this),r.error(e)}},flush(t){try{const r=new Uint8Array(Ia.buffer),n=this.Ot,a=this.jt,i=this.Ut;for(;;){const o=n(this.Ct,0,0,a,s,4),c=16777215&o,d=o>>24&255;if(!e){const e=128&d?d-256:d;if(0>e)throw Error("process error:"+e)}if(c&&(i.set(r.subarray(a,a+c),0),t.enqueue(i.slice(0,c))),1===d||0===c)break}}catch(e){t.error(e)}finally{const e=i(this);0!==e&&t.error(Error("end error:"+e))}},cancel(){i(this)}});function i(e){let t=0;return e.Ct&&e.Mt&&(t=e.Mt(e.Ct)),e.Ct=0,e.in&&Ca&&Ca(e.in),e.in=0,e.jt&&Ca&&Ca(e.jt),e.jt=0,t}}class Wa{constructor(e="deflate",t){return Na(!0,e,t)}}class qa{constructor(e="deflate",t){return Na(!1,e,t)}}Wa.ge=!0,qa.ge=!0;let _a,Ba=!1;function La(){_a=null,(async()=>{await Promise.allSettled(qt.map(e=>(Xt(e),e.terminate()))),zt=g})(),Ba=!1,Ta=Ma=Ca=Ia=Pa=null}(({It:e})=>{Ft=e})({It:e=>{if(!_a){let{wasmURI:t}=e;typeof t==S&&(t=t()),_a=(async(e,{baseURI:t})=>{if(!Ba)try{await(async(e,t)=>{let r,n;try{try{n=new URL(e,t)}catch{}const s=await fetch(n);r=await s.arrayBuffer()}catch(t){if(!e.startsWith("data:application/wasm;base64,"))throw t;r=(e=>{const t=e.split(",")[1],r=atob(t),n=r.length,s=new Uint8Array(n);for(let e=0;n>e;++e)s[e]=r.charCodeAt(e);return s.buffer})(e)}(e=>{if(Ta=e,({malloc:Ma,free:Ca,memory:Ia}=Ta),"function"!=typeof Ma||"function"!=typeof Ca||!Ia)throw Ta=Ma=Ca=Ia=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(e,t),Ba=!0}catch(e){throw(e=>{Pa=e})(e),e}})(t,e).catch(e=>{throw _a=null,e})}return _a}}),T({CompressionStreamZlib:Wa,DecompressionStreamZlib:qa}),T({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const Za="Entry filename already exists";class Va{constructor(e,t,r,n){const s=this;if(e.root&&n&&n.getChildByName(t))throw Error(Za);r||(r={}),Object.assign(s,{fs:e,name:t,data:r.data,options:r.options,id:e.Pt++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,passThrough:r.passThrough}),!n&&e.root||(e.entries[s.id]=s),n&&s.parent.children.push(s)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,r=this.parent;for(;r&&r!=e;)t=(r.name?r.name+"/":"")+t,r=r.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw Error(Za);this.name=e}}class Ha extends Va{constructor(e,t,r,n){super(e,t,r,n);const s=this;s.Reader=r.Reader,s.Writer=r.Writer,r.getData&&(s.getData=r.getData)}clone(){return new Ha(this.fs,this.name,this)}async getData(e,t={}){const r=this;if(!e||e.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=Qa(r.Reader,r.data,t),s=r.data?r.data.uncompressedSize:n.size;await Promise.all([Vr(n),Vr(e,s)]);const{readable:a}=n;return r.uncompressedSize=n.size,await a.pipeTo(e.writable),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,Object.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==fe)return!1;throw e}}getText(e,t){return this.getData(new yr(e),t)}getBlob(e,t){return this.getData(new xr(e),t)}getData64URI(e,t){return this.getData(new fr(e),t)}getUint8Array(e){return this.getData(new qr,e)}getWritable(e=new WritableStream,t){return this.getData({writable:e},t)}async getArrayBuffer(e){return ie(await this.getUint8Array(e)).buffer}replaceBlob(e){Object.assign(this,{data:e,Reader:hr,Writer:xr,reader:null})}replaceText(e){Object.assign(this,{data:e,Reader:vr,Writer:yr,reader:null})}replaceData64URI(e){Object.assign(this,{data:e,Reader:pr,Writer:fr,reader:null})}replaceUint8Array(e){Object.assign(this,{data:e,Reader:Wr,Writer:qr,reader:null})}replaceReadable(e){Object.assign(this,{data:null,Reader:Xa(e),Writer:null,reader:null})}}class Ka extends Va{constructor(e,t,r,n){super(e,t,r,n),this.directory=!0}clone(e){const t=this,r=new Ka(t.fs,t.name,t);return e&&(r.children=t.children.map(t=>{const n=t.clone(e);return n.parent=r,n})),r}addDirectory(e,t){return si(this,e,{options:t},!0)}addText(e,t,r={}){return si(this,e,{data:t,Reader:vr,Writer:yr,options:r,uncompressedSize:t.length})}addBlob(e,t,r={}){return si(this,e,{data:t,Reader:hr,Writer:xr,options:r,uncompressedSize:t.size})}addData64URI(e,t,r={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const s=t.indexOf(",")+1;return si(this,e,{data:t,Reader:pr,Writer:fr,options:r,uncompressedSize:Math.floor(.75*(n-s))})}addUint8Array(e,t,r={}){return si(this,e,{data:t,Reader:Wr,Writer:qr,options:r,uncompressedSize:t.length})}addHttpContent(e,t,r={}){return si(this,e,{data:t,Reader:class extends Pr{constructor(e){super(e,r)}},options:r})}addReadable(e,t,r={}){return si(this,e,{Reader:Xa(t),options:r})}addFileSystemEntry(e,t={}){return ti(this,e,t)}addFileSystemHandle(e,t={}){return ti(this,e,t)}addFile(e,t={}){return(t=Object.assign({},t)).lastModDate||(t.lastModDate=new Date(e.lastModified)),si(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}Nt(e,t){return si(this,e,t)}importBlob(e,t){return this.importZip(new hr(e),t)}importData64URI(e,t){return this.importZip(new pr(e),t)}importUint8Array(e,t){return this.importZip(new Wr(e),t)}importHttpContent(e,t){return this.importZip(new Pr(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new xr(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new fr(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new qr,e)}async exportWritable(e=new WritableStream,t={}){return await this.exportZip({writable:e},t),e}exportFileSystemHandle(e,t={}){return(async(e,t,r)=>{const n=Ga([e],"uncompressedSize"),s=new Map;return await a(e,t),t;async function a(e,t){if(r.concurrent){const r=(await Promise.allSettled(e.children.map(e=>i(e,t)))).find(e=>"rejected"==e.status);if(r)throw r.reason}else for(const r of e.children)await i(r,t)}async function i(e,t){try{if(e.directory){const r=await t.getDirectoryHandle(e.name,{create:!0});await a(e,r)}else{const a=await t.getFileHandle(e.name,{create:!0}),i=await a.createWritable();await e.getData({writable:i},Object.assign({},r,{onprogress:async t=>{if(r.onprogress){s.set(e.id,t);try{await r.onprogress(Array.from(s.values()).reduce((e,t)=>e+t,0),n)}catch{}}}}))}}catch(t){throw Error(t.message+(e?" ("+e.name+")":""),{cause:t})}}})(this,e,t)}async importZip(e,t={}){await Vr(e);const r=new os(e,t),n=[],s=await r.getEntries();for(const e of s){let r=this;try{const s=e.filename.split("/"),a=s.pop();if(s.forEach(e=>{const t=r;if(r=r.getChildByName(e),r){if(!r.directory)throw Error(Za)}else r=new Ka(this.fs,e,{data:null},t),n.push(r)}),e.directory){let t=r;if(a)if(t=r.getChildByName(a),t){if(!t.directory)throw Error(Za)}else t=new Ka(this.fs,a,{data:null},r),n.push(t);t==this||t.data||(t.data=e)}else n.push(si(r,a,{data:e,Reader:Ja(Object.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return n}async exportZip(e,t={}){const r=this;(t=Object.assign({},t)).bufferedWrite===g&&(t.bufferedWrite=!0);const[n]=await Promise.all([$a(r,t.readerOptions),Vr(e)]),s=new ta(e,t);return await(async(e,t,r,n,s)=>{const a=t,i=new Map;await async function e(t,o){async function c(o){const c=n.relativePath?o.getRelativeName(a):o.getFullname(),d=o.options||{};let l={};if(o.data instanceof Dn){const{externalFileAttributes:e,versionMadeBy:t,comment:r,lastModDate:n,creationDate:s,lastAccessDate:a,uncompressedSize:i,encrypted:c,zipCrypto:d,signature:m,compressionMethod:p,extraFieldAES:f}=o.data;if(l={externalFileAttributes:e,versionMadeBy:t,comment:r,lastModDate:n,creationDate:s,lastAccessDate:a},o.passThrough){let e,t;0===p&&(e=0),f&&(t=f.strength),l=Object.assign(l,{passThrough:!0,encrypted:c,zipCrypto:d,signature:m,uncompressedSize:i,level:e,encryptionStrength:t,compressionMethod:p})}}await t.add(c,s.get(o),Object.assign({},n,l,d,{directory:o.directory,onprogress:async e=>{if(n.onprogress){i.set(c,e);try{await n.onprogress(Array.from(i.values()).reduce((e,t)=>e+t),r)}catch{}}}})),await e(t,o)}await(async()=>{if(n.bufferedWrite){const e=(await Promise.allSettled(o.children.map(c))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of o.children)await c(e)})()}(e,t)})(s,r,Ga([r],"uncompressedSize"),t,n),await s.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let r=0;r<t.length;r++){const n=t[r];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const r=this.children;return!(await Promise.all(r.map(r=>r.checkPassword(e,t)))).includes(!1)}}const Ya={FS:class{constructor(){ni(this)}get children(){return this.root.children}remove(e){ei(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const r of e.children)t.push(r)}e.parent=g}move(e,t){if(e==this.root)throw Error("Root directory cannot be moved");if(!t.directory)throw Error("Target entry is not a directory");if(t.isDescendantOf(e))throw Error("Entry is a ancestor of target entry");if(e!=t){const r=t.getChildByName(e.name);if(r){if(r!=e)throw Error(Za)}else ei(e),e.parent=t,t.children.push(e),((e,t)=>{const r=[t];for(;r.length;){const t=r.pop();e.entries[t.id]=t;for(const e of t.children)r.push(e)}})(this,e)}}find(e){const t=e.split("/");let r=this.root;for(let e=0;r&&e<t.length;e++)r=r.getChildByName(t[e]);return r||(r=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),r}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,r){return this.root.addText(e,t,r)}addBlob(e,t,r){return this.root.addBlob(e,t,r)}addData64URI(e,t,r){return this.root.addData64URI(e,t,r)}addUint8Array(e,t,r){return this.root.addUint8Array(e,t,r)}addHttpContent(e,t,r){return this.root.addHttpContent(e,t,r)}addReadable(e,t,r){return this.root.addReadable(e,t,r)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}Nt(e,t){return this.root.Nt(e,t)}importBlob(e,t){return ni(this),this.root.importBlob(e,t)}importData64URI(e,t){return ni(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return ni(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return ni(this),this.root.importHttpContent(e,t)}importReadable(e,t){return ni(this),this.root.importReadable(e,t)}importZip(e,t){return ni(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportFileSystemHandle(e,t){return this.root.exportFileSystemHandle(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:Ka,ZipFileEntry:Ha};function Ga(e,t){let r=0;const n=Array.from(e);for(;n.length;){const e=n.pop();r+=e[t]||0;for(const t of e.children)n.push(t)}return r}function Xa(e){let t;return()=>{if(t)throw Error("Readable stream already consumed");return t=!0,{readable:e}}}function Ja(e){return class extends lr{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const r=await t.entry.getData(new xr,Object.assign({},e,t.options));t.data=r,t.Wt=new hr(r),super.init()}readUint8Array(e,t){return this.Wt.readUint8Array(e,t)}}}function Qa(e,t,r){return e.prototype?new e(t,r):e(t,r)}async function $a(e,t){const r=[],n=[e],s=new Map;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):r.push(t)}return await Promise.all(r.map(async e=>{const r=e.reader=Qa(e.Reader,e.data,t);s.set(e,r);try{await Vr(r)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}r.size!==g&&(e.uncompressedSize=r.size)})),s}function ei(e){if(e.parent){const t=e.parent.children;t.forEach((r,n)=>{r.id==e.id&&t.splice(n,1)})}}function ti(e,t,r){return async function e(t,n,s){if(n)try{if((n.isFile||n.isDirectory)&&(n=await ri(n)),"file"==n.kind){const e=await n.getFile();s.push(t.Nt(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:Object.assign({},{lastModDate:new Date(e.lastModified)},r),uncompressedSize:e.size}))}else if("directory"==n.kind){const r=t.addDirectory(n.name);s.push(r);for await(const t of n.values())await e(r,t,s)}}catch(e){const t=e.message+(n?" ("+n.name+")":"");throw Error(t,{cause:e})}return s}(e,t,[])}async function ri(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new Promise((t,r)=>e.file(t,r))),e.isDirectory){t.kind="directory";const r=await(async e=>{const t=[];function r(e,n,s){e.readEntries(async a=>{if(a.length){for(const e of a)t.push(await ri(e));r(e,n,s)}else n(t)},s)}return await new Promise((t,n)=>r(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const r={value:t[e],done:e==t.length};return e++,r}}}}})(e);t.values=()=>r}return t}function ni(e){e.entries=[],e.Pt=0,e.root=new Ka(e)}function si(e,t,r,n){if(e.directory)return n?new Ka(e.fs,t,r,e):new Ha(e.fs,t,r,e);throw Error("Parent entry is not a directory")}const ai={application:{"andrew-inset":"ez",annodex:"anx","atom+xml":"atom","atomcat+xml":"atomcat","atomserv+xml":"atomsrv",bbolin:"lin","cu-seeme":"cu","davmount+xml":"davmount",dsptype:"tsp",ecmascript:["es","ecma"],futuresplash:"spl",hta:"hta","java-archive":"jar","java-serialized-object":"ser","java-vm":"class",m3g:"m3g","mac-binhex40":"hqx",mathematica:["nb","ma","mb"],msaccess:"mdb",msword:["doc","dot","wiz"],mxf:"mxf",oda:"oda",ogg:"ogx",pdf:"pdf","pgp-keys":"key","pgp-signature":["asc","sig"],"pics-rules":"prf",postscript:["ps","ai","eps","epsi","epsf","eps2","eps3"],rar:"rar","rdf+xml":"rdf","rss+xml":"rss",rtf:"rtf","xhtml+xml":["xhtml","xht"],xml:["xml","xsl","xsd","xpdl"],"xspf+xml":"xspf",zip:"zip","vnd.android.package-archive":"apk","vnd.cinderella":"cdy","vnd.google-earth.kml+xml":"kml","vnd.google-earth.kmz":"kmz","vnd.mozilla.xul+xml":"xul","vnd.ms-excel":["xls","xlb","xlt","xlm","xla","xlc","xlw"],"vnd.ms-pki.seccat":"cat","vnd.ms-pki.stl":"stl","vnd.ms-powerpoint":["ppt","pps","pot","ppa","pwz"],"vnd.oasis.opendocument.chart":"odc","vnd.oasis.opendocument.database":"odb","vnd.oasis.opendocument.formula":"odf","vnd.oasis.opendocument.graphics":"odg","vnd.oasis.opendocument.graphics-template":"otg","vnd.oasis.opendocument.image":"odi","vnd.oasis.opendocument.presentation":"odp","vnd.oasis.opendocument.presentation-template":"otp","vnd.oasis.opendocument.spreadsheet":"ods","vnd.oasis.opendocument.spreadsheet-template":"ots","vnd.oasis.opendocument.text":"odt","vnd.oasis.opendocument.text-master":["odm","otm"],"vnd.oasis.opendocument.text-template":"ott","vnd.oasis.opendocument.text-web":"oth","vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","vnd.openxmlformats-officedocument.spreadsheetml.template":"xltx","vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","vnd.openxmlformats-officedocument.presentationml.slideshow":"ppsx","vnd.openxmlformats-officedocument.presentationml.template":"potx","vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","vnd.openxmlformats-officedocument.wordprocessingml.template":"dotx","vnd.smaf":"mmf","vnd.stardivision.calc":"sdc","vnd.stardivision.chart":"sds","vnd.stardivision.draw":"sda","vnd.stardivision.impress":"sdd","vnd.stardivision.math":["sdf","smf"],"vnd.stardivision.writer":["sdw","vor"],"vnd.stardivision.writer-global":"sgl","vnd.sun.xml.calc":"sxc","vnd.sun.xml.calc.template":"stc","vnd.sun.xml.draw":"sxd","vnd.sun.xml.draw.template":"std","vnd.sun.xml.impress":"sxi","vnd.sun.xml.impress.template":"sti","vnd.sun.xml.math":"sxm","vnd.sun.xml.writer":"sxw","vnd.sun.xml.writer.global":"sxg","vnd.sun.xml.writer.template":"stw","vnd.symbian.install":["sis","sisx"],"vnd.visio":["vsd","vst","vss","vsw","vsdx","vssx","vstx","vssm","vstm"],"vnd.wap.wbxml":"wbxml","vnd.wap.wmlc":"wmlc","vnd.wap.wmlscriptc":"wmlsc","vnd.wordperfect":"wpd","vnd.wordperfect5.1":"wp5","x-123":"wk","x-7z-compressed":"7z","x-abiword":"abw","x-apple-diskimage":"dmg","x-bcpio":"bcpio","x-bittorrent":"torrent","x-cbr":["cbr","cba","cbt","cb7"],"x-cbz":"cbz","x-cdf":["cdf","cda"],"x-cdlink":"vcd","x-chess-pgn":"pgn","x-cpio":"cpio","x-csh":"csh","x-director":["dir","dxr","cst","cct","cxt","w3d","fgd","swa"],"x-dms":"dms","x-doom":"wad","x-dvi":"dvi","x-httpd-eruby":"rhtml","x-freemind":"mm","x-gnumeric":"gnumeric","x-go-sgf":"sgf","x-graphing-calculator":"gcf","x-gtar":["gtar","taz"],"x-hdf":"hdf","x-httpd-php":["phtml","pht","php"],"x-httpd-php-source":"phps","x-httpd-php3":"php3","x-httpd-php3-preprocessed":"php3p","x-httpd-php4":"php4","x-httpd-php5":"php5","x-ica":"ica","x-info":"info","x-internet-signup":["ins","isp"],"x-iphone":"iii","x-iso9660-image":"iso","x-java-jnlp-file":"jnlp","x-jmol":"jmz","x-killustrator":"kil","x-latex":"latex","x-lyx":"lyx","x-lzx":"lzx","x-maker":["frm","fb","fbdoc"],"x-ms-wmd":"wmd","x-msdos-program":["com","exe","bat","dll"],"x-netcdf":["nc"],"x-ns-proxy-autoconfig":["pac","dat"],"x-nwc":"nwc","x-object":"o","x-oz-application":"oza","x-pkcs7-certreqresp":"p7r","x-python-code":["pyc","pyo"],"x-qgis":["qgs","shp","shx"],"x-quicktimeplayer":"qtl","x-redhat-package-manager":["rpm","rpa"],"x-ruby":"rb","x-sh":"sh","x-shar":"shar","x-shockwave-flash":["swf","swfl"],"x-silverlight":"scr","x-stuffit":"sit","x-sv4cpio":"sv4cpio","x-sv4crc":"sv4crc","x-tar":"tar","x-tex-gf":"gf","x-tex-pk":"pk","x-texinfo":["texinfo","texi"],"x-trash":["~","%","bak","old","sik"],"x-ustar":"ustar","x-wais-source":"src","x-wingz":"wz","x-x509-ca-cert":["crt","der","cer"],"x-xcf":"xcf","x-xfig":"fig","x-xpinstall":"xpi",applixware:"aw","atomsvc+xml":"atomsvc","ccxml+xml":"ccxml","cdmi-capability":"cdmia","cdmi-container":"cdmic","cdmi-domain":"cdmid","cdmi-object":"cdmio","cdmi-queue":"cdmiq","docbook+xml":"dbk","dssc+der":"dssc","dssc+xml":"xdssc","emma+xml":"emma","epub+zip":"epub",exi:"exi","font-tdpfr":"pfr","gml+xml":"gml","gpx+xml":"gpx",gxf:"gxf",hyperstudio:"stk","inkml+xml":["ink","inkml"],ipfix:"ipfix","jsonml+json":"jsonml","lost+xml":"lostxml","mads+xml":"mads",marc:"mrc","marcxml+xml":"mrcx","mathml+xml":["mathml","mml"],mbox:"mbox","mediaservercontrol+xml":"mscml","metalink+xml":"metalink","metalink4+xml":"meta4","mets+xml":"mets","mods+xml":"mods",mp21:["m21","mp21"],mp4:"mp4s","oebps-package+xml":"opf","omdoc+xml":"omdoc",onenote:["onetoc","onetoc2","onetmp","onepkg"],oxps:"oxps","patch-ops-error+xml":"xer","pgp-encrypted":"pgp",pkcs10:"p10","pkcs7-mime":["p7m","p7c"],"pkcs7-signature":"p7s",pkcs8:"p8","pkix-attr-cert":"ac","pkix-crl":"crl","pkix-pkipath":"pkipath",pkixcmp:"pki","pls+xml":"pls","prs.cww":"cww","pskc+xml":"pskcxml","reginfo+xml":"rif","relax-ng-compact-syntax":"rnc","resource-lists+xml":"rl","resource-lists-diff+xml":"rld","rls-services+xml":"rs","rpki-ghostbusters":"gbr","rpki-manifest":"mft","rpki-roa":"roa","rsd+xml":"rsd","sbml+xml":"sbml","scvp-cv-request":"scq","scvp-cv-response":"scs","scvp-vp-request":"spq","scvp-vp-response":"spp",sdp:"sdp","set-payment-initiation":"setpay","set-registration-initiation":"setreg","shf+xml":"shf","sparql-query":"rq","sparql-results+xml":"srx",srgs:"gram","srgs+xml":"grxml","sru+xml":"sru","ssdl+xml":"ssdl","ssml+xml":"ssml","tei+xml":["tei","teicorpus"],"thraud+xml":"tfi","timestamped-data":"tsd","vnd.3gpp.pic-bw-large":"plb","vnd.3gpp.pic-bw-small":"psb","vnd.3gpp.pic-bw-var":"pvb","vnd.3gpp2.tcap":"tcap","vnd.3m.post-it-notes":"pwn","vnd.accpac.simply.aso":"aso","vnd.accpac.simply.imp":"imp","vnd.acucobol":"acu","vnd.acucorp":["atc","acutc"],"vnd.adobe.air-application-installer-package+zip":"air","vnd.adobe.formscentral.fcdt":"fcdt","vnd.adobe.fxp":["fxp","fxpl"],"vnd.adobe.xdp+xml":"xdp","vnd.adobe.xfdf":"xfdf","vnd.ahead.space":"ahead","vnd.airzip.filesecure.azf":"azf","vnd.airzip.filesecure.azs":"azs","vnd.amazon.ebook":"azw","vnd.americandynamics.acc":"acc","vnd.amiga.ami":"ami","vnd.anser-web-certificate-issue-initiation":"cii","vnd.anser-web-funds-transfer-initiation":"fti","vnd.antix.game-component":"atx","vnd.apple.installer+xml":"mpkg","vnd.apple.mpegurl":"m3u8","vnd.aristanetworks.swi":"swi","vnd.astraea-software.iota":"iota","vnd.audiograph":"aep","vnd.blueice.multipass":"mpm","vnd.bmi":"bmi","vnd.businessobjects":"rep","vnd.chemdraw+xml":"cdxml","vnd.chipnuts.karaoke-mmd":"mmd","vnd.claymore":"cla","vnd.cloanto.rp9":"rp9","vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"vnd.cluetrust.cartomobile-config":"c11amc","vnd.cluetrust.cartomobile-config-pkg":"c11amz","vnd.commonspace":"csp","vnd.contact.cmsg":"cdbcmsg","vnd.cosmocaller":"cmc","vnd.crick.clicker":"clkx","vnd.crick.clicker.keyboard":"clkk","vnd.crick.clicker.palette":"clkp","vnd.crick.clicker.template":"clkt","vnd.crick.clicker.wordbank":"clkw","vnd.criticaltools.wbs+xml":"wbs","vnd.ctc-posml":"pml","vnd.cups-ppd":"ppd","vnd.curl.car":"car","vnd.curl.pcurl":"pcurl","vnd.dart":"dart","vnd.data-vision.rdz":"rdz","vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"vnd.dece.ttml+xml":["uvt","uvvt"],"vnd.dece.unspecified":["uvx","uvvx"],"vnd.dece.zip":["uvz","uvvz"],"vnd.denovo.fcselayout-link":"fe_launch","vnd.dna":"dna","vnd.dolby.mlp":"mlp","vnd.dpgraph":"dpg","vnd.dreamfactory":"dfac","vnd.ds-keypoint":"kpxx","vnd.dvb.ait":"ait","vnd.dvb.service":"svc","vnd.dynageo":"geo","vnd.ecowin.chart":"mag","vnd.enliven":"nml","vnd.epson.esf":"esf","vnd.epson.msf":"msf","vnd.epson.quickanime":"qam","vnd.epson.salt":"slt","vnd.epson.ssf":"ssf","vnd.eszigno3+xml":["es3","et3"],"vnd.ezpix-album":"ez2","vnd.ezpix-package":"ez3","vnd.fdf":"fdf","vnd.fdsn.mseed":"mseed","vnd.fdsn.seed":["seed","dataless"],"vnd.flographit":"gph","vnd.fluxtime.clip":"ftc","vnd.framemaker":["fm","frame","maker","book"],"vnd.frogans.fnc":"fnc","vnd.frogans.ltf":"ltf","vnd.fsc.weblaunch":"fsc","vnd.fujitsu.oasys":"oas","vnd.fujitsu.oasys2":"oa2","vnd.fujitsu.oasys3":"oa3","vnd.fujitsu.oasysgp":"fg5","vnd.fujitsu.oasysprs":"bh2","vnd.fujixerox.ddd":"ddd","vnd.fujixerox.docuworks":"xdw","vnd.fujixerox.docuworks.binder":"xbd","vnd.fuzzysheet":"fzs","vnd.genomatix.tuxedo":"txd","vnd.geogebra.file":"ggb","vnd.geogebra.tool":"ggt","vnd.geometry-explorer":["gex","gre"],"vnd.geonext":"gxt","vnd.geoplan":"g2w","vnd.geospace":"g3w","vnd.gmx":"gmx","vnd.grafeq":["gqf","gqs"],"vnd.groove-account":"gac","vnd.groove-help":"ghf","vnd.groove-identity-message":"gim","vnd.groove-injector":"grv","vnd.groove-tool-message":"gtm","vnd.groove-tool-template":"tpl","vnd.groove-vcard":"vcg","vnd.hal+xml":"hal","vnd.handheld-entertainment+xml":"zmm","vnd.hbci":"hbci","vnd.hhe.lesson-player":"les","vnd.hp-hpgl":"hpgl","vnd.hp-hpid":"hpid","vnd.hp-hps":"hps","vnd.hp-jlyt":"jlt","vnd.hp-pcl":"pcl","vnd.hp-pclxl":"pclxl","vnd.hydrostatix.sof-data":"sfd-hdstx","vnd.ibm.minipay":"mpy","vnd.ibm.modcap":["afp","listafp","list3820"],"vnd.ibm.rights-management":"irm","vnd.ibm.secure-container":"sc","vnd.iccprofile":["icc","icm"],"vnd.igloader":"igl","vnd.immervision-ivp":"ivp","vnd.immervision-ivu":"ivu","vnd.insors.igm":"igm","vnd.intercon.formnet":["xpw","xpx"],"vnd.intergeo":"i2g","vnd.intu.qbo":"qbo","vnd.intu.qfx":"qfx","vnd.ipunplugged.rcprofile":"rcprofile","vnd.irepository.package+xml":"irp","vnd.is-xpr":"xpr","vnd.isac.fcs":"fcs","vnd.jam":"jam","vnd.jcp.javame.midlet-rms":"rms","vnd.jisp":"jisp","vnd.joost.joda-archive":"joda","vnd.kahootz":["ktz","ktr"],"vnd.kde.karbon":"karbon","vnd.kde.kchart":"chrt","vnd.kde.kformula":"kfo","vnd.kde.kivio":"flw","vnd.kde.kontour":"kon","vnd.kde.kpresenter":["kpr","kpt"],"vnd.kde.kspread":"ksp","vnd.kde.kword":["kwd","kwt"],"vnd.kenameaapp":"htke","vnd.kidspiration":"kia","vnd.kinar":["kne","knp"],"vnd.koan":["skp","skd","skt","skm"],"vnd.kodak-descriptor":"sse","vnd.las.las+xml":"lasxml","vnd.llamagraphics.life-balance.desktop":"lbd","vnd.llamagraphics.life-balance.exchange+xml":"lbe","vnd.lotus-1-2-3":"123","vnd.lotus-approach":"apr","vnd.lotus-freelance":"pre","vnd.lotus-notes":"nsf","vnd.lotus-organizer":"org","vnd.lotus-screencam":"scm","vnd.lotus-wordpro":"lwp","vnd.macports.portpkg":"portpkg","vnd.mcd":"mcd","vnd.medcalcdata":"mc1","vnd.mediastation.cdkey":"cdkey","vnd.mfer":"mwf","vnd.mfmp":"mfm","vnd.micrografx.flo":"flo","vnd.micrografx.igx":"igx","vnd.mif":"mif","vnd.mobius.daf":"daf","vnd.mobius.dis":"dis","vnd.mobius.mbk":"mbk","vnd.mobius.mqy":"mqy","vnd.mobius.msl":"msl","vnd.mobius.plc":"plc","vnd.mobius.txf":"txf","vnd.mophun.application":"mpn","vnd.mophun.certificate":"mpc","vnd.ms-artgalry":"cil","vnd.ms-cab-compressed":"cab","vnd.ms-excel.addin.macroenabled.12":"xlam","vnd.ms-excel.sheet.binary.macroenabled.12":"xlsb","vnd.ms-excel.sheet.macroenabled.12":"xlsm","vnd.ms-excel.template.macroenabled.12":"xltm","vnd.ms-fontobject":"eot","vnd.ms-htmlhelp":"chm","vnd.ms-ims":"ims","vnd.ms-lrm":"lrm","vnd.ms-officetheme":"thmx","vnd.ms-powerpoint.addin.macroenabled.12":"ppam","vnd.ms-powerpoint.presentation.macroenabled.12":"pptm","vnd.ms-powerpoint.slide.macroenabled.12":"sldm","vnd.ms-powerpoint.slideshow.macroenabled.12":"ppsm","vnd.ms-powerpoint.template.macroenabled.12":"potm","vnd.ms-project":["mpp","mpt"],"vnd.ms-word.document.macroenabled.12":"docm","vnd.ms-word.template.macroenabled.12":"dotm","vnd.ms-works":["wps","wks","wcm","wdb"],"vnd.ms-wpl":"wpl","vnd.ms-xpsdocument":"xps","vnd.mseq":"mseq","vnd.musician":"mus","vnd.muvee.style":"msty","vnd.mynfc":"taglet","vnd.neurolanguage.nlu":"nlu","vnd.nitf":["ntf","nitf"],"vnd.noblenet-directory":"nnd","vnd.noblenet-sealer":"nns","vnd.noblenet-web":"nnw","vnd.nokia.n-gage.data":"ngdat","vnd.nokia.n-gage.symbian.install":"n-gage","vnd.nokia.radio-preset":"rpst","vnd.nokia.radio-presets":"rpss","vnd.novadigm.edm":"edm","vnd.novadigm.edx":"edx","vnd.novadigm.ext":"ext","vnd.oasis.opendocument.chart-template":"otc","vnd.oasis.opendocument.formula-template":"odft","vnd.oasis.opendocument.image-template":"oti","vnd.olpc-sugar":"xo","vnd.oma.dd2+xml":"dd2","vnd.openofficeorg.extension":"oxt","vnd.openxmlformats-officedocument.presentationml.slide":"sldx","vnd.osgeo.mapguide.package":"mgp","vnd.osgi.dp":"dp","vnd.osgi.subsystem":"esa","vnd.palm":["pdb","pqa","oprc"],"vnd.pawaafile":"paw","vnd.pg.format":"str","vnd.pg.osasli":"ei6","vnd.picsel":"efif","vnd.pmi.widget":"wg","vnd.pocketlearn":"plf","vnd.powerbuilder6":"pbd","vnd.previewsystems.box":"box","vnd.proteus.magazine":"mgz","vnd.publishare-delta-tree":"qps","vnd.pvi.ptid1":"ptid","vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"vnd.realvnc.bed":"bed","vnd.recordare.musicxml":"mxl","vnd.recordare.musicxml+xml":"musicxml","vnd.rig.cryptonote":"cryptonote","vnd.rn-realmedia":"rm","vnd.rn-realmedia-vbr":"rmvb","vnd.route66.link66+xml":"link66","vnd.sailingtracker.track":"st","vnd.seemail":"see","vnd.sema":"sema","vnd.semd":"semd","vnd.semf":"semf","vnd.shana.informed.formdata":"ifm","vnd.shana.informed.formtemplate":"itp","vnd.shana.informed.interchange":"iif","vnd.shana.informed.package":"ipk","vnd.simtech-mindmapper":["twd","twds"],"vnd.smart.teacher":"teacher","vnd.solent.sdkm+xml":["sdkm","sdkd"],"vnd.spotfire.dxp":"dxp","vnd.spotfire.sfs":"sfs","vnd.stepmania.package":"smzip","vnd.stepmania.stepchart":"sm","vnd.sus-calendar":["sus","susp"],"vnd.svd":"svd","vnd.syncml+xml":"xsm","vnd.syncml.dm+wbxml":"bdm","vnd.syncml.dm+xml":"xdm","vnd.tao.intent-module-archive":"tao","vnd.tcpdump.pcap":["pcap","cap","dmp"],"vnd.tmobile-livetv":"tmo","vnd.trid.tpt":"tpt","vnd.triscape.mxs":"mxs","vnd.trueapp":"tra","vnd.ufdl":["ufd","ufdl"],"vnd.uiq.theme":"utz","vnd.umajin":"umj","vnd.unity":"unityweb","vnd.uoml+xml":"uoml","vnd.vcx":"vcx","vnd.visionary":"vis","vnd.vsf":"vsf","vnd.webturbo":"wtb","vnd.wolfram.player":"nbp","vnd.wqd":"wqd","vnd.wt.stf":"stf","vnd.xara":"xar","vnd.xfdl":"xfdl","vnd.yamaha.hv-dic":"hvd","vnd.yamaha.hv-script":"hvs","vnd.yamaha.hv-voice":"hvp","vnd.yamaha.openscoreformat":"osf","vnd.yamaha.openscoreformat.osfpvg+xml":"osfpvg","vnd.yamaha.smaf-audio":"saf","vnd.yamaha.smaf-phrase":"spf","vnd.yellowriver-custom-menu":"cmp","vnd.zul":["zir","zirz"],"vnd.zzazz.deck+xml":"zaz","voicexml+xml":"vxml",widget:"wgt",winhlp:"hlp","wsdl+xml":"wsdl","wspolicy+xml":"wspolicy","x-ace-compressed":"ace","x-authorware-bin":["aab","x32","u32","vox"],"x-authorware-map":"aam","x-authorware-seg":"aas","x-blorb":["blb","blorb"],"x-bzip":"bz","x-bzip2":["bz2","boz"],"x-cfs-compressed":"cfs","x-chat":"chat","x-conference":"nsc","x-dgc-compressed":"dgc","x-dtbncx+xml":"ncx","x-dtbook+xml":"dtb","x-dtbresource+xml":"res","x-eva":"eva","x-font-bdf":"bdf","x-font-ghostscript":"gsf","x-font-linux-psf":"psf","x-font-pcf":"pcf","x-font-snf":"snf","x-font-ttf":["ttf","ttc"],"x-font-type1":["pfa","pfb","pfm","afm"],"x-freearc":"arc","x-gca-compressed":"gca","x-glulx":"ulx","x-gramps-xml":"gramps","x-install-instructions":"install","x-lzh-compressed":["lzh","lha"],"x-mie":"mie","x-mobipocket-ebook":["prc","mobi"],"x-ms-application":"application","x-ms-shortcut":"lnk","x-ms-xbap":"xbap","x-msbinder":"obd","x-mscardfile":"crd","x-msclip":"clp","x-ms-installer":"msi","x-msmediaview":["mvb","m13","m14"],"x-msmetafile":["wmf","wmz","emf","emz"],"x-msmoney":"mny","x-mspublisher":"pub","x-msschedule":"scd","x-msterminal":"trm","x-mswrite":"wri","x-nzb":"nzb","x-pkcs12":["p12","pfx"],"x-pkcs7-certificates":["p7b","spc"],"x-research-info-systems":"ris","x-silverlight-app":"xap","x-sql":"sql","x-stuffitx":"sitx","x-subrip":"srt","x-t3vm-image":"t3","x-tex-tfm":"tfm","x-tgif":"obj","x-xliff+xml":"xlf","x-xz":"xz","x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"xaml+xml":"xaml","xcap-diff+xml":"xdf","xenc+xml":"xenc","xml-dtd":"dtd","xop+xml":"xop","xproc+xml":"xpl","xslt+xml":"xslt","xv+xml":["mxml","xhvml","xvml","xvm"],yang:"yang","yin+xml":"yin",envoy:"evy",fractals:"fif","internet-property-stream":"acx",olescript:"axs","vnd.ms-outlook":"msg","vnd.ms-pkicertstore":"sst","x-compress":"z","x-perfmon":["pma","pmc","pmr","pmw"],"ynd.ms-pkipko":"pko",gzip:["gz","tgz"],"smil+xml":["smi","smil"],"vnd.debian.binary-package":["deb","udeb"],"vnd.hzn-3d-crossword":"x3d","vnd.sqlite3":["db","sqlite","sqlite3","db-wal","sqlite-wal","db-shm","sqlite-shm"],"vnd.wap.sic":"sic","vnd.wap.slc":"slc","x-krita":["kra","krz"],"x-perl":["pm","pl"],yaml:["yaml","yml"]},audio:{amr:"amr","amr-wb":"awb",annodex:"axa",basic:["au","snd"],flac:"flac",midi:["mid","midi","kar","rmi"],mpeg:["mpga","mpega","mp3","m4a","mp2a","m2a","m3a"],mpegurl:"m3u",ogg:["oga","ogg","spx"],"prs.sid":"sid","x-aiff":"aifc","x-gsm":"gsm","x-ms-wma":"wma","x-ms-wax":"wax","x-pn-realaudio":"ram","x-realaudio":"ra","x-sd2":"sd2",adpcm:"adp",mp4:"mp4a",s3m:"s3m",silk:"sil","vnd.dece.audio":["uva","uvva"],"vnd.digital-winds":"eol","vnd.dra":"dra","vnd.dts":"dts","vnd.dts.hd":"dtshd","vnd.lucent.voice":"lvp","vnd.ms-playready.media.pya":"pya","vnd.nuera.ecelp4800":"ecelp4800","vnd.nuera.ecelp7470":"ecelp7470","vnd.nuera.ecelp9600":"ecelp9600","vnd.rip":"rip",webm:"weba","x-caf":"caf","x-matroska":"mka","x-pn-realaudio-plugin":"rmp",xm:"xm",aac:"aac",aiff:["aiff","aif","aff"],opus:"opus",wav:"wav"},chemical:{"x-alchemy":"alc","x-cache":["cac","cache"],"x-cache-csf":"csf","x-cactvs-binary":["cbin","cascii","ctab"],"x-cdx":"cdx","x-chem3d":"c3d","x-cif":"cif","x-cmdf":"cmdf","x-cml":"cml","x-compass":"cpa","x-crossfire":"bsd","x-csml":["csml","csm"],"x-ctx":"ctx","x-cxf":["cxf","cef"],"x-embl-dl-nucleotide":["emb","embl"],"x-gamess-input":["inp","gam","gamin"],"x-gaussian-checkpoint":["fch","fchk"],"x-gaussian-cube":"cub","x-gaussian-input":["gau","gjc","gjf"],"x-gaussian-log":"gal","x-gcg8-sequence":"gcg","x-genbank":"gen","x-hin":"hin","x-isostar":["istr","ist"],"x-jcamp-dx":["jdx","dx"],"x-kinemage":"kin","x-macmolecule":"mcm","x-macromodel-input":"mmod","x-mdl-molfile":"mol","x-mdl-rdfile":"rd","x-mdl-rxnfile":"rxn","x-mdl-sdfile":"sd","x-mdl-tgf":"tgf","x-mmcif":"mcif","x-mol2":"mol2","x-molconn-Z":"b","x-mopac-graph":"gpt","x-mopac-input":["mop","mopcrt","zmt"],"x-mopac-out":"moo","x-ncbi-asn1":"asn","x-ncbi-asn1-ascii":["prt","ent"],"x-ncbi-asn1-binary":"val","x-rosdal":"ros","x-swissprot":"sw","x-vamas-iso14976":"vms","x-vmd":"vmd","x-xtel":"xtel","x-xyz":"xyz"},font:{otf:"otf",woff:"woff",woff2:"woff2"},image:{gif:"gif",ief:"ief",jpeg:["jpeg","jpg","jpe","jfif","jfif-tbnl","jif"],pcx:"pcx",png:"png","svg+xml":["svg","svgz"],tiff:["tiff","tif"],"vnd.djvu":["djvu","djv"],"vnd.wap.wbmp":"wbmp","x-canon-cr2":"cr2","x-canon-crw":"crw","x-cmu-raster":"ras","x-coreldraw":"cdr","x-coreldrawpattern":"pat","x-coreldrawtemplate":"cdt","x-corelphotopaint":"cpt","x-epson-erf":"erf","x-icon":"ico","x-jg":"art","x-jng":"jng","x-nikon-nef":"nef","x-olympus-orf":"orf","x-portable-anymap":"pnm","x-portable-bitmap":"pbm","x-portable-graymap":"pgm","x-portable-pixmap":"ppm","x-rgb":"rgb","x-xbitmap":"xbm","x-xpixmap":"xpm","x-xwindowdump":"xwd",bmp:"bmp",cgm:"cgm",g3fax:"g3",ktx:"ktx","prs.btif":"btif",sgi:"sgi","vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"vnd.dwg":"dwg","vnd.dxf":"dxf","vnd.fastbidsheet":"fbs","vnd.fpx":"fpx","vnd.fst":"fst","vnd.fujixerox.edmics-mmr":"mmr","vnd.fujixerox.edmics-rlc":"rlc","vnd.ms-modi":"mdi","vnd.ms-photo":"wdp","vnd.net-fpx":"npx","vnd.xiff":"xif",webp:"webp","x-3ds":"3ds","x-cmx":"cmx","x-freehand":["fh","fhc","fh4","fh5","fh7"],"x-pict":["pic","pct"],"x-tga":"tga","cis-cod":"cod",avif:["avif","avifs"],heic:["heif","heic"],pjpeg:["pjpg"],"vnd.adobe.photoshop":"psd","x-adobe-dng":"dng","x-fuji-raf":"raf","x-icns":"icns","x-kodak-dcr":"dcr","x-kodak-k25":"k25","x-kodak-kdc":"kdc","x-minolta-mrw":"mrw","x-panasonic-raw":["raw","rw2","rwl"],"x-pentax-pef":["pef","ptx"],"x-sigma-x3f":"x3f","x-sony-arw":"arw","x-sony-sr2":"sr2","x-sony-srf":"srf"},message:{rfc822:["eml","mime","mht","mhtml","nws"]},model:{iges:["igs","iges"],mesh:["msh","mesh","silo"],vrml:["wrl","vrml"],"x3d+vrml":["x3dv","x3dvz"],"x3d+xml":"x3dz","x3d+binary":["x3db","x3dbz"],"vnd.collada+xml":"dae","vnd.dwf":"dwf","vnd.gdl":"gdl","vnd.gtw":"gtw","vnd.mts":"mts","vnd.usdz+zip":"usdz","vnd.vtu":"vtu"},text:{"cache-manifest":["manifest","appcache"],calendar:["ics","icz","ifb"],css:"css",csv:"csv",h323:"323",html:["html","htm","shtml","stm"],iuls:"uls",plain:["txt","text","brf","conf","def","list","log","in","bas","diff","ksh"],richtext:"rtx",scriptlet:["sct","wsc"],texmacs:"tm","tab-separated-values":"tsv","vnd.sun.j2me.app-descriptor":"jad","vnd.wap.wml":"wml","vnd.wap.wmlscript":"wmls","x-bibtex":"bib","x-boo":"boo","x-c++hdr":["h++","hpp","hxx","hh"],"x-c++src":["c++","cpp","cxx","cc"],"x-component":"htc","x-dsrc":"d","x-diff":"patch","x-haskell":"hs","x-java":"java","x-literate-haskell":"lhs","x-moc":"moc","x-pascal":["p","pas","pp","inc"],"x-pcs-gcd":"gcd","x-python":"py","x-scala":"scala","x-setext":"etx","x-tcl":["tcl","tk"],"x-tex":["tex","ltx","sty","cls"],"x-vcalendar":"vcs","x-vcard":"vcf",n3:"n3","prs.lines.tag":"dsc",sgml:["sgml","sgm"],troff:["t","tr","roff","man","me","ms"],turtle:"ttl","uri-list":["uri","uris","urls"],vcard:"vcard","vnd.curl":"curl","vnd.curl.dcurl":"dcurl","vnd.curl.scurl":"scurl","vnd.curl.mcurl":"mcurl","vnd.dvb.subtitle":"sub","vnd.fly":"fly","vnd.fmi.flexstor":"flx","vnd.graphviz":"gv","vnd.in3d.3dml":"3dml","vnd.in3d.spot":"spot","x-asm":["s","asm"],"x-c":["c","h","dic"],"x-fortran":["f","for","f77","f90"],"x-opml":"opml","x-nfo":"nfo","x-sfv":"sfv","x-uuencode":"uu",webviewhtml:"htt",javascript:"js",json:"json",markdown:["md","markdown","mdown","markdn"],"vnd.wap.si":"si","vnd.wap.sl":"sl"},video:{"3gpp":"3gp",annodex:"axv",dl:"dl",dv:["dif","dv"],fli:"fli",gl:"gl",mpeg:["mpeg","mpg","mpe","m1v","m2v","mp2","mpa","mpv2"],mp4:["mp4","mp4v","mpg4"],quicktime:["qt","mov"],ogg:"ogv","vnd.mpegurl":["mxu","m4u"],"x-flv":"flv","x-la-asf":["lsf","lsx"],"x-mng":"mng","x-ms-asf":["asf","asx","asr"],"x-ms-wm":"wm","x-ms-wmv":"wmv","x-ms-wmx":"wmx","x-ms-wvx":"wvx","x-msvideo":"avi","x-sgi-movie":"movie","x-matroska":["mpv","mkv","mk3d","mks"],"3gpp2":"3g2",h261:"h261",h263:"h263",h264:"h264",jpeg:"jpgv",jpm:["jpm","jpgm"],mj2:["mj2","mjp2"],"vnd.dece.hd":["uvh","uvvh"],"vnd.dece.mobile":["uvm","uvvm"],"vnd.dece.pd":["uvp","uvvp"],"vnd.dece.sd":["uvs","uvvs"],"vnd.dece.video":["uvv","uvvv"],"vnd.dvb.file":"dvb","vnd.fvt":"fvt","vnd.ms-playready.media.pyv":"pyv","vnd.uvvu.mp4":["uvu","uvvu"],"vnd.vivo":"viv",webm:"webm","x-f4v":"f4v","x-m4v":"m4v","x-ms-vob":"vob","x-smv":"smv",mp2t:"ts"},"x-conference":{"x-cooltalk":"ice"},"x-world":{"x-vrml":["vrm","flr","wrz","xaf","xof"]}};let ii;function oi(e){return e&&(()=>{if(!ii){ii={};for(const e of Object.keys(ai))for(const t of Object.keys(ai[e])){const r=ai[e][t];if("string"==typeof r)ii[r]=e+"/"+t;else for(let n=0;n<r.length;n++)ii[r[n]]=e+"/"+t}}return ii})()[e.split(".").pop().toLowerCase()]||"application/octet-stream"}export{hr as BlobReader,xr as BlobWriter,pr as Data64URIReader,fr as Data64URIWriter,ts as ERR_AMBIGUOUS_ARCHIVE,Zn as ERR_BAD_FORMAT,Kn as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Cs as ERR_DUPLICATED_NAME,Xn as ERR_ENCRYPTED,rs as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Hn as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,Vn as ERR_EOCDR_NOT_FOUND,Gn as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,Qt as ERR_HTTP_RANGE,$t as ERR_HTTP_RESOURCE_CHANGED,C as ERR_INVALID_CODEC_DEFINITION,P as ERR_INVALID_CODEC_MODULE,Is as ERR_INVALID_COMMENT,rt as ERR_INVALID_COMPRESSED_DATA,qs as ERR_INVALID_ENCRYPTION_STRENGTH,Ps as ERR_INVALID_ENTRY_COMMENT,Ns as ERR_INVALID_ENTRY_NAME,Ls as ERR_INVALID_EXTRAFIELD_DATA,Bs as ERR_INVALID_EXTRAFIELD_TYPE,fe as ERR_INVALID_PASSWORD,ue as ERR_INVALID_SIGNATURE,tt as ERR_INVALID_UNCOMPRESSED_SIZE,Ws as ERR_INVALID_VERSION,er as ERR_ITERATOR_COMPLETED_TOO_SOON,Yn as ERR_LOCAL_FILE_HEADER_NOT_FOUND,es as ERR_OVERLAPPING_ENTRY,I as ERR_RESERVED_COMPRESSION_METHOD,$n as ERR_SPLIT_ZIP_FILE,Ys as ERR_UNDEFINED_READER,Ks as ERR_UNDEFINED_UNCOMPRESSED_SIZE,Qn as ERR_UNSUPPORTED_COMPRESSION,Jn as ERR_UNSUPPORTED_ENCRYPTION,_s as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Hs as ERR_UNSUPPORTED_FORMAT,tr as ERR_WRITER_NOT_INITIALIZED,Gs as ERR_ZIP_NOT_EMPTY,Nr as HttpRangeReader,Pr as HttpReader,lr as Reader,_r as SplitDataReader,Br as SplitDataWriter,vr as TextReader,yr as TextWriter,Wr as Uint8ArrayReader,qr as Uint8ArrayWriter,mr as Writer,os as ZipReader,cs as ZipReaderStream,ta as ZipWriter,ra as ZipWriterStream,O as configure,Da as createBlobTempStream,Aa as createOPFSTempStream,Oa as createSyncAccessHandleTempStream,Ya as fs,oi as getMimeType,B as registerCodec,M as resetConfiguration,La as terminateWorkers,L as unregisterCodec};