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