@zip.js/zip.js 2.11.0 → 2.11.2
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/BENCHMARKS.md +127 -60
- package/deno.json +1 -1
- package/dist/zip-core-external.js +22 -19
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +12 -6
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +22 -19
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +12 -6
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +22 -19
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +12 -6
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +25 -22
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +12 -6
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-module.wasm +0 -0
- package/dist/zip-native.js +12 -6
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +25 -22
- package/dist/zip.min.js +1 -1
- package/eslint.config.mjs +1 -1
- package/index-native.cjs +12 -6
- package/index-native.min.js +1 -1
- package/index.cjs +25 -22
- package/index.d.cts +3 -4
- package/index.d.ts +3 -4
- package/index.min.js +1 -1
- package/lib/core/io.js +2 -3
- package/lib/core/streams/zlib-wasm/zlib-streams.js +10 -13
- package/lib/core/streams/zlib-wasm/zlib-streams.wasm +0 -0
- package/lib/core/version.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-writer.js +13 -2
- package/lib/core/zlib-streams-inline.js +1 -1
- package/package.json +4 -2
package/dist/zip-core.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(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:n,String:r,Number:o,BigInt:i,Math:s,Date:a,Map:c,Set:l,Response:u,URL:f,Error:d,Uint8Array:w,Uint16Array:p,Uint32Array:m,DataView:h,Blob:y,Promise:S,TextEncoder:E,TextDecoder:g,document:b,crypto:x,btoa:R,TransformStream:F,ReadableStream:z,WritableStream:D,CompressionStream:A,DecompressionStream:k,navigator:I,Worker:C,Symbol:T,setTimeout:v,clearTimeout:_,structuredClone:N}="undefined"!=typeof globalThis?globalThis:this||self;var U=void 0!==b?b.currentScript:null;const O=4294967295,M=65535,L=255,B=67324752,W=134695760,P=W,Z=84233040,V=33639248,H=101010256,G=101075792,j=117853008,q=46,K=22,Y=20,X=56,J=21589,Q=2048,$=61440,ee=16384,te=2048,ne=1024,re="/",oe=30,ie=new a(2107,11,31,23,59,58),se=new a(1980,0,1),ae=void 0,ce=1/0,le="undefined",ue="function",fe="string",de=new w,we="password",pe="rawPassword",me="passThrough",he="signal",ye="useWebWorkers",Se="useCompressionStream",Ee="transferStreams",ge="preventClose",be="dataDescriptor",xe="offset",Re="usdz",Fe="maxAppendedDataSize",ze="filename",De="comment",Ae="strict",ke="balanced",Ie="tolerant",Ce="Invalid option (must be a function)",Te="Invalid signal (must be an AbortSignal instance)",ve="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function _e(e){if(e&&typeof e!=ue)throw new d(Ce);return e}function Ne(e){if(e&&(typeof e.addEventListener!=ue||"boolean"!=typeof e.aborted))throw new d(Te);return e||ae}function Ue(e,t){if(e&&typeof e!=fe||t&&!(t instanceof w))throw new d(ve)}function Oe(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new d(n)}function Me(e,t,n){e!==ae&&Oe(e,t,n)}function Le(e){return typeof e==fe&&e.trim()?o(e):e}const Be="Invalid maxWorkers (must be an integer greater than 0)";let We=2;try{typeof I!=le&&I.hardwareConcurrency&&(We=I.hardwareConcurrency)}catch{}const Pe={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:We,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=le&&A,DecompressionStream:typeof k!=le&&k},Ze="maxWorkers",Ve=["chunkSize",Ze,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],He=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Ge=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Ve,...He],je={...Pe};function qe(){return je}function Ke(e){return Ye(e.chunkSize)}function Ye(e){return e=Le(e),o.isInteger(e)&&e>=1?s.max(e,64):65536}function Xe(e){const t={};for(const n of Ge){const r=e[n];r!==ae&&(t[n]=Je(n,r))}return t}function Je(e,t){if(Ve.includes(e)){if(t=Le(t),e==Ze&&(!o.isInteger(t)||t<1))throw new d(Be)}else He.includes(e)&&_e(t);return t}function Qe(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ae&&r===ae)return e;const o=n.assign({},e);return o.CompressionStreamFallback===ae&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===ae&&(o.DecompressionStreamFallback=r),o}function $e(e,t){const n=new w(e.length+t.length);return n.set(e),n.set(t,e.length),n}function et(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new w(e):e}function tt(e){return new h(e.buffer,e.byteOffset,e.byteLength)}const nt=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;nt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=nt[t-1][e];nt[t][e]=n>>>8^nt[0][255&n]}const[rt,ot,it,st,at,ct,lt,ut]=nt;class ft{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new h(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=ut[255&e]^lt[e>>>8&255]^ct[e>>>16&255]^at[e>>>24&255]^st[255&n]^it[n>>>8&255]^ot[n>>>16&255]^rt[n>>>24&255]}}for(;r<n;r++)t=t>>>8^rt[255&(t^e[r])];this.o=t}get(){return~this.o}}class dt extends F{constructor(){let e;const t=new ft;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function wt(e){if(typeof E==le){e=unescape(encodeURIComponent(e));const t=new w(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new E).encode(e)}const pt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=pt.l(n);return 32===r?e.concat(t):pt.m(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+pt.l(n)},h(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=pt.S(t,e[n-1]&2147483648>>t-1,1)),e},S:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,l:e=>s.round(e/1099511627776)||32,m(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let o=0;o<e.length;o++)r.push(n|e[o]>>>t),n=e[o]<<32-t;const o=e.length?e[e.length-1]:0,i=pt.l(o);return r.push(pt.S(t+i&31,t+i>32?n:r.pop(),1)),r}},mt={bytes:{R(e){const t=pt.bitLength(e)/8,n=new w(t);let r;for(let o=0;o<t;o++)3&o||(r=e[o/4]),n[o]=r>>>24,r<<=8;return n},F(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(pt.S(8*(3&n),r)),t}}},ht=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.A=[1518500249,1859775393,2400959708,3395469782],e?(t.I=e.I.slice(0),t.C=e.C.slice(0),t.T=e.T):t.reset()}reset(){const e=this;return e.I=e.D.slice(0),e.C=[],e.T=0,e}update(e){const t=this;"string"==typeof e&&(e=mt.v.F(e));const n=t.C=pt.concat(t.C,e),r=t.T,o=t.T=r+pt.bitLength(e);if(o>9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const i=new m(n);let s=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=o;e+=t.blockSize)t._(i.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}N(){const e=this;let t=e.C;const n=e.I;t=pt.concat(t,[pt.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e.T/4294967296)),t.push(0|e.T);t.length;)e._(t.splice(0,16));return e.reset(),n}U(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0}O(e,t){return t<<e|t>>>32-e}_(e){const n=this,r=n.I,o=t(80);for(let t=0;t<16;t++)o[t]=e[t];let i=r[0],a=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;e<=79;e++){e>=16&&(o[e]=n.O(1,o[e-3]^o[e-8]^o[e-14]^o[e-16]));const t=n.O(5,i)+n.U(e,a,c,l)+u+o[e]+n.A[s.floor(e/20)]|0;u=l,l=c,c=n.O(30,a),a=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},yt={importKey:e=>new yt.M(mt.bytes.F(e)),L(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new d("invalid params to pbkdf2");const o=1+(r>>5)<<2;let i,s,a,c,l;const u=new ArrayBuffer(o),f=new h(u);let w=0;const p=pt;for(t=mt.bytes.F(t),l=1;w<(o||1);l++){for(i=s=e.encrypt(p.concat(t,[l])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)i[c]^=s[c];for(a=0;w<(o||1)&&a<i.length;a++)f.setInt32(w,i[a]),w+=4}return u.slice(0,r/8)},M:class{constructor(e){const t=this,n=t.B=ht,r=[[],[]];t.W=[new n,new n];const o=t.W[0].blockSize/32;e.length>o&&(e=(new n).update(e).N());for(let t=0;t<o;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.W[0].update(r[0]),t.W[1].update(r[1]),t.P=new n(t.W[0])}reset(){const e=this;e.P=new e.B(e.W[0]),e.Z=!1}update(e){this.Z=!0,this.P.update(e)}digest(){const e=this,t=e.P.N(),n=new e.B(e.W[1]).update(t).N();return e.reset(),n}encrypt(e){if(this.Z)throw new d("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},St=typeof x!=le&&typeof x.getRandomValues==ue,Et="Invalid password",gt="Invalid authentication code",bt="zipjs-abort-check-password",xt="Crypto API not supported";function Rt(e){if(St)return x.getRandomValues(e);throw new d(xt)}const Ft=16,zt={name:"PBKDF2"},Dt=n.assign({hash:{name:"HMAC"}},zt),At=n.assign({iterations:1e3,hash:{name:"SHA-1"}},zt),kt=["deriveBits"],It=[8,12,16],Ct=[16,24,32],Tt=10,vt=[0,0,0,0],_t=typeof x!=le,Nt=_t&&x.subtle,Ut=_t&&typeof Nt!=le,Ot=mt.bytes,Mt=class{constructor(e){const t=this;t.V=[[[],[],[],[],[]],[[],[],[],[],[]]],t.V[0][0][0]||t.H();const n=t.V[0][4],r=t.V[1],o=e.length;let i,s,a,c=1;if(4!==o&&6!==o&&8!==o)throw new d("invalid aes key size");for(t.A=[s=e.slice(0),a=[]],i=o;i<4*o+28;i++){let e=s[i-1];(i%o===0||8===o&&i%o===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%o===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),s[i]=s[i-o]^e}for(let e=0;i;e++,i--){const t=s[3&e?i:i-4];a[e]=i<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.G(e,0)}decrypt(e){return this.G(e,1)}H(){const e=this.V[0],t=this.V[1],n=e[4],r=t[4],o=[],i=[];let s,a,c,l;for(let e=0;e<256;e++)i[(o[e]=e<<1^283*(e>>7))^e]=e;for(let u=s=0;!n[u];u^=a||1,s=i[s]||1){let i=s^s<<1^s<<2^s<<3^s<<4;i=i>>8^255&i^99,n[u]=i,r[i]=u,l=o[c=o[a=o[u]]];let f=16843009*l^65537*c^257*a^16843008*u,d=257*o[i]^16843008*i;for(let n=0;n<4;n++)e[n][u]=d=d<<24^d>>>8,t[n][i]=f=f<<24^f>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}G(e,t){if(4!==e.length)throw new d("invalid aes block size");const n=this.A[t],r=n.length/4-2,o=[0,0,0,0],i=this.V[t],s=i[0],a=i[1],c=i[2],l=i[3],u=i[4];let f,w,p,m=e[0]^n[0],h=e[t?3:1]^n[1],y=e[2]^n[2],S=e[t?1:3]^n[3],E=4;for(let e=0;e<r;e++)f=s[m>>>24]^a[h>>16&255]^c[y>>8&255]^l[255&S]^n[E],w=s[h>>>24]^a[y>>16&255]^c[S>>8&255]^l[255&m]^n[E+1],p=s[y>>>24]^a[S>>16&255]^c[m>>8&255]^l[255&h]^n[E+2],S=s[S>>>24]^a[m>>16&255]^c[h>>8&255]^l[255&y]^n[E+3],E+=4,m=f,h=w,y=p;for(let e=0;e<4;e++)o[t?3&-e:e]=u[m>>>24]<<24^u[h>>16&255]<<16^u[y>>8&255]<<8^u[255&S]^n[E++],f=m,m=h,h=y,y=S,S=f;return o}},Lt=class{constructor(e,t){this.j=e,this.K=t,this.Y=t}reset(){this.Y=this.K}update(e){return this.X(this.j,e,this.Y)}J(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}$(e){0===(e[0]=this.J(e[0]))&&(e[1]=this.J(e[1]))}X(e,t,n){let r;if(!(r=t.length))return[];const o=pt.bitLength(t);for(let o=0;o<r;o+=4){this.$(n);const r=e.encrypt(n);t[o]^=r[0],t[o+1]^=r[1],t[o+2]^=r[2],t[o+3]^=r[3]}return pt.h(t,o)}},Bt=yt.M;let Wt=_t&&Ut&&typeof Nt.importKey==ue,Pt=_t&&Ut&&typeof Nt.deriveBits==ue;class Zt extends F{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){Ht(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,ee:s,ready:a}=n;o?(await async function(e,t,n,r){const o=await jt(e,t,n,Kt(r,0,It[t])),i=Kt(r,It[t]);if(o[0]!=i[0]||o[1]!=i[1])throw new d(Et)}(n,i,o,Kt(e,0,It[i]+2)),e=Kt(e,It[i]+2),r?t.error(new d(bt)):s()):await a;const c=new w(e.length-Tt-(e.length-Tt)%Ft);t.enqueue(Gt(n,e,c,0,Tt,!0))},async flush(e){const{te:t,ne:n,re:r,ready:i}=this;if(n&&t){await i;const s=Kt(r,0,r.length-Tt),a=Kt(r,r.length-Tt);let c=de;if(s.length){const e=Xt(Ot,s);n.update(e);const r=t.update(e);c=Yt(Ot,r)}const l=Kt(Yt(Ot,n.digest()),0,Tt);let u=r.length<Tt?1:0;for(let e=0;e<Tt;e++)u|=l[e]^a[e];if(u&&o)throw new d(gt);e.enqueue(c)}}})}}class Vt extends F{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){Ht(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,ee:i,ready:s}=n;let a=de;r?(a=await async function(e,t,n){const r=Rt(new w(It[t]));return $e(r,await jt(e,t,n,r))}(n,o,r),i()):await s;const c=new w(a.length+e.length-e.length%Ft);c.set(a,0),t.enqueue(Gt(n,e,c,a.length,0))},async flush(e){const{te:t,ne:n,re:r,ready:o}=this;if(n&&t){await o;let i=de;if(r.length){const e=t.update(Xt(Ot,r));n.update(e),i=Yt(Ot,e)}const s=Yt(Ot,n.digest()).slice(0,Tt);e.enqueue($e(i,s))}}})}}function Ht(e,t,r,o){n.assign(e,{ready:new S(t=>e.ee=t),password:qt(t,r),strength:o-1,re:de})}function Gt(e,t,n,r,o,i){const{te:s,ne:a,re:c}=e;c.length&&(t=$e(c,t));const l=t.length-o;let u;for(n=function(e,t){if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e}(n,r+(l-l%Ft)),u=0;u<=l-Ft;u+=Ft){const e=Xt(Ot,Kt(t,u,u+Ft));i&&a.update(e);const o=s.update(e);i||a.update(o),n.set(Yt(Ot,o),u+r)}return e.re=Kt(t,u),n}async function jt(e,r,o,i){e.password=null;const s=await async function(e,t,n,r,o){if(!Wt)return yt.importKey(t);try{return await Nt.importKey("raw",t,n,!1,o)}catch{return Wt=!1,yt.importKey(t)}}(0,o,Dt,0,kt),a=await async function(e,t,n){if(!Pt)return yt.L(t,e.salt,At.iterations,n);try{return await Nt.deriveBits(e,t,n)}catch{return Pt=!1,yt.L(t,e.salt,At.iterations,n)}}(n.assign({salt:i},At),s,8*(2*Ct[r]+2)),c=new w(a),l=Xt(Ot,Kt(c,0,Ct[r])),u=Xt(Ot,Kt(c,Ct[r],2*Ct[r])),f=Kt(c,2*Ct[r]);return n.assign(e,{keys:{key:l,oe:u,passwordVerification:f},te:new Lt(new Mt(l),t.from(vt)),ne:new Bt(u)}),f}function qt(e,t){return t===ae?wt(e):t}function Kt(e,t,n){return e.subarray(t,n)}function Yt(e,t){return e.R(t)}function Xt(e,t){return e.F(t)}class Jt extends F{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){$t(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=en(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new d(Et);e=e.subarray(12)}r?t.error(new d(bt)):t.enqueue(en(n,e))}})}}class Qt extends F{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){$t(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=Rt(new w(12));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(tn(n,t),0),o=12}else r=new w(e.length),o=0;r.set(tn(n,e),o),t.enqueue(r)}})}}function $t(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,ie:new ft(o[0]),se:new ft(o[2])}),r)for(let t=0;t<r.length;t++)nn(e,r[t]);else for(let n=0;n<t.length;n++)nn(e,t.charCodeAt(n))}(e,t,r)}function en(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=rn(e)^t[r],nn(e,n[r]);return n}function tn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=rn(e)^t[r],nn(e,t[r]);return n}function nn(e,t){let[,n]=e.keys;e.ie.append([t]);const r=~e.ie.get();n=sn(s.imul(sn(n+on(r)),134775813)+1),e.se.append([n>>>24]);const o=~e.se.get();e.keys=[r,n,o]}function rn(e){const t=2|e.keys[2];return on(s.imul(t,1^t)>>>8)}function on(e){return 255&e}function sn(e){return 4294967295&e}function an(e){if(e instanceof z)return e;const t=e.getReader();return new z({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function cn(e,t){e=an(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=ue||new y([]).stream()instanceof z)return new u(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,n))}function ln(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 un="Invalid codec definition",fn="Reserved compression method",dn="Invalid codec module",wn="Compression method not supported",pn=[0,8,9,99],mn=new c,hn=new c;function yn(e){return mn.get(e)}function Sn(){return t.from(mn.values(),e=>n.assign({},e,hn.get(e.format)))}function En(e){return hn.get(e)}function gn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=ue&&typeof r!=ue)throw new d(dn);hn.set(e,{CompressionStream:n,DecompressionStream:r})}const bn="Invalid uncompressed size",xn="Invalid compressed data",Rn="Invalid CRC32",Fn="deflate-raw",zn="deflate64-raw",Dn="gzip",An=[31,139,8];class kn extends F{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:d,inputSize:w}=e,p=this;let m,y,S,E=super.readable;const g=f&&En(f),b=c&&o&&!u&&!g&&(!i||a)&&Boolean(s&&r);if(i&&!a||!c||b||(m=new dt,E=Mn(E,m)),o)if(g)E=Ln(E,Un(g.CompressionStream,f,{level:l,chunkSize:t,compressionMethod:d,uncompressedSize:w}));else if(b)S=new In,E=Ln(E,new r(Dn)),E=Mn(E,S);else try{E=On(E,s,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(Dn)}catch{throw e}E=Ln(E,t),E=Mn(E,new In)}i&&(a?E=Mn(E,new Qt(e)):(y=new Vt(e),E=Mn(E,y))),Nn(p,E,()=>{i&&!a||!c||(p.crc32=b?S.crc32:new h(m.value.buffer).getUint32(0))})}}class In extends F{constructor(){let e,t=10,n=new w(0);super({transform(e,r){if(t){const n=s.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=$e(n,e));const i=o-8,a=s.min(i,n.length);r.enqueue($e(n.subarray(0,a),e.subarray(0,i-a))),n=$e(n.subarray(a),e.subarray(i-a))},flush(){const t=tt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Cn extends F{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:p,rawBitFlag:m,outputSize:y}=e;let E,g,b=super.readable;if(i&&(o?b=Mn(b,new Jt(e)):(g=new Zt(e),b=Mn(b,g))),c){const e=f&&En(f);if(e)b=Ln(b,Un(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:m,uncompressedSize:y}));else try{b=On(b,l,{chunkSize:t,deflate64:u},r,n)}catch(e){if(u||y===ae)throw e;let t;try{t=new r(Dn)}catch{throw e}b=function(e,t,n){const r=new ft;let o,i,s,a=0,c=!1;const l=new S((e,t)=>{i=e,s=t});l.catch(()=>{}),n||i();const u=new F({start(e){const t=new w(10);t.set(An),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{m()}const t=new w(8),o=tt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){s(e)}}),f=new F({transform(e,t){r.append(e),a+=e.length,a>=n?i():c&&p(),t.enqueue(e)},cancel(e){s(e)}});return e=Mn(e,u),Mn(e=Ln(e,t),f);function p(){m(),o=v(()=>s(new d(bn)),5e3)}function m(){_(o)}}(b,t,y)}b=function(e){const t=e.getReader();return new z({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(xn);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(b)}s&&(E=new dt,b=Mn(b,E)),Nn(this,b,()=>{if(s){const e=new h(E.value.buffer);if(a!=e.getUint32(0,!1))throw new d(Rn)}})}}const Tn=new c;function vn(e,t){if(!e)return!1;let n=Tn.get(e);n||(n=new c,Tn.set(e,n));let r=n.get(t);if(r===ae){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function _n(e){return vn(e,Fn)}function Nn(e,t,r){t=Mn(t,new F({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Un(e,t,n){if(!e)throw new d(wn);return new e(t,n)}function On(e,t,n,r,o){const i=t&&r?r:o||r,s=n.deflate64?zn:Fn;let a;try{a=new i(s,n)}catch(e){if(!t||!o||i==o)throw e;a=new o(s,n)}return Ln(e,a)}function Mn(e,t){return an(e).pipeThrough(t)}function Ln(e,t){const n=t.writable.getWriter(),r=e.getReader();return async function(){try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await async function(e,t){try{await e.abort(t)}catch{}}(n,e),await async function(e,t){try{await e.cancel(t)}catch{}}(r,e)}}(),t.readable}const Bn="data",Wn="deflate",Pn="inflate";class Zn extends F{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(Wn)?i=kn:o.startsWith(Pn)&&(i=Cn),r.outputSize=0;let s=0;const a=new i(e,t),c=super.readable,l=new F({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:s})}}),u=new F({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ae&&r.outputSize>e.outputSize))throw new d(bn)},flush(){const{crc32:e}=a;n.assign(r,{crc32:e,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(a).pipeThrough(u)})}}class Vn extends F{constructor(e){const t=[];let n=0;function r(){const r=new w(e);let o=0;for(;o<e;){const n=t[0],i=e-o;n.length<=i?(r.set(n,o),o+=n.length,t.shift()):(r.set(n.subarray(0,i),o),t[0]=n.subarray(i),o+=i)}return n-=e,r}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(o,i){for(t.push(o),n+=o.length;n>e;)i.enqueue(r())},flush(e){n&&e.enqueue(function(e,t){const n=new w(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,n))}})}}const Hn="Worker startup timeout";let Gn,jn,qn;function Kn(e){e.createWorker?jn=!0:Gn=!1}class Yn{constructor(e,{readable:t,writable:r},{options:o,config:i,ae:s,useWebWorkers:a,transferStreams:c,workerURI:l,createWorker:u},f){const{signal:d}=s;return jn&&(u=ae),n.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new Vn(Ke(i))).pipeThrough(new Xn(s),{signal:d}),writable:r,options:n.assign({},o),workerURI:l,createWorker:u,transferStreams:c,terminate:()=>new S(t=>{const{ue:n,ce:r}=e;n?(r?e.fe=t:(n.terminate(),t()),e.de=null):t()}),we(){if(e.ce){const{fe:t}=e;t&&(e.fe=null,e.pe=!0,e.ue.terminate(),t()),e.ce=!1,f(e)}}}),Gn===ae&&(Gn=typeof C!=le),(a&&qn&&(Gn&&l||u)?qn:Qn)(e,i)}}class Xn extends F{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await Jn(e,n)},async transform(e,r){o+=e.length,t&&await Jn(t,o,n),r.enqueue(e)},async flush(){r&&await Jn(r,o)}})}}async function Jn(e,...t){try{await e(...t)}catch{}}function Qn(e,t){return{run:()=>$n(e,t)}}async function $n({options:e,readable:t,writable:n,we:r},o){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Wn),n=t?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=t?o.CompressionStream:o.DecompressionStream;if(e.useCompressionStream){if(n&&n.me&&!_n(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.me||(e.useCompressionStream=!0)}}i=new Zn(e,o),await t.pipeThrough(i).pipeThrough(new Vn(Ke(o))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:s,outputSize:a}=i;return{crc32:r,inputSize:s,outputSize:a}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{r()}}const er={type:"module"},tr="error";let nr,rr,or,ir=!0;try{ir=typeof N==ue&&N(new DOMException("","AbortError")).code!==ae}catch{}var sr;function ar(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function cr(e){const{ue:t}=e;if(t)try{t.terminate()}catch{}e.de=null}function lr(e,t,r,o,i=!0){const{createWorker:s}=r;let a,c,l;if(s)a=s();else if(rr===ae||nr!==e){const n=typeof e==ue;c=n?e(i):e;const s=c.startsWith("data:"),u=c.startsWith("blob:");if(s||u){o===ae&&(o=!1),o&&(l=er);try{a=new C(c,l)}catch(i){if(u)try{f.revokeObjectURL(c)}catch{}if(n&&u)return lr(e,t,r,o,!1);if(o)throw i;return lr(e,t,r,!0,!1)}}else{o===ae&&(o=!0),o&&(l=er);try{c=new f(c,t)}catch{}try{a=new C(c,l)}catch(n){if(o)return lr(e,t,r,!1,i);throw n}}nr=e,rr=c,or=l}else a=new C(rr,or);return a.addEventListener("message",e=>{r.he=!0,ur(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:s,error:a}=e,{reader:c,writer:l,ye:u,Se:f,we:p,le:m}=t,h=()=>t.le!=m;try{if(a){const{message:e,stack:t,code:r,name:o,outputSize:i,cause:s,codecImportFailed:c}=a,l=new d(e);n.assign(l,{stack:t,code:r,name:o,outputSize:i}),s&&(l.cause=n.assign(new d(s.message),{name:s.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==r){const{value:e,done:n}=await c.read();h()||dr({type:Bn,value:e,done:n,messageId:i},t)}r==Bn&&(await l.ready,await l.write(new w(o)),h()||dr({type:"ack",messageId:i},t)),"close"==r&&y(null,s)}}catch(a){h()||(cr(t),y(a))}function y(e,t){h()||(e?f(e):u(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}}(e,r)}),a.addEventListener(tr,e=>fr(e,r)),a.addEventListener("messageerror",e=>fr(e,r)),a}function ur(e){const{Ee:t}=e;t&&(_(t),e.Ee=null)}function fr(e,t){e.preventDefault&&e.preventDefault(),ur(t);const{he:r,Se:o,writer:i,we:s}=t;cr(t),r||(t.ue=null);let a=e.error||new d(e.message||tr);r||(a=n.assign(new d(a.message||tr),{ge:!0}),t.be=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function dr(e,{ue:t,writer:n,transferStreams:r,he:o}){try{const{value:n,readable:i,writable:s}=e,a=[];if(n&&(e.value=et(n),a.push(e.value.buffer)),r&&ir&&o?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{ir=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}sr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.de){let c;typeof a==ue&&(a=a());try{c=lr(e.workerURI,r,e)}catch{return Kn(e),Qn(e,t)}n.assign(e,{ue:c,he:!1,pe:!1,be:null,de:{run:async()=>{try{return await async function(e,t){if(!e.ue){const{be:t}=e;e.be=null;const n=t||new d(Hn);throw n.ge=!0,n}let r,i;const s=new S((e,t)=>{r=e,i=t});n.assign(e,{reader:null,writer:null,ye:r,Se:i,result:s});const{readable:a,options:c}=e,{writable:l,closed:u,xe:f}=function(e){const t=new AbortController,{writable:n,readable:r}=new F,o=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return o.catch(()=>{}),{writable:n,closed:o,xe:()=>t.abort()}}(e.writable);let w;try{w=dr({type:"start",options:c,config:t,readable:a,writable:l},e)}catch(t){f();try{await u}catch{}throw e.we(),t}w||n.assign(e,{reader:a.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;!e.he&&o.isFinite(p)&&p>=0&&(e.Ee=v(()=>function(e){if(e.Ee=null,e.he)return;const{Se:t,writer:n}=e;if(cr(e),e.ue=null,t){const e=new d(Hn);e.ge=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await s;return await m(),await u,e}catch(e){await m(),f();try{await u}catch{}throw e}async function m(){if(!w&&!l.locked)try{await l.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.ge)return Kn(e),ar(e),$n(e,t);if(n&&n.codecImportFailed){if(e.reader)return ar(e),$n(e,t);e.we()}throw n}}}})}return e.de},qn=sr;let wr=[];const pr=[];let mr,hr,yr=0;async function Sr(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:l,computeCrc32:u,encrypted:d,format:w,codecURI:p}=n,{workerURI:m,createWorker:h,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!hn.has(e)&&t&&gn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(w,n.codecURI)),t.transferStreams=!w&&(i||i===ae&&r.transferStreams);const E=!(c||l||u||d),g=w===ae||Boolean(n.codecURI);return t.useWebWorkers=!E&&g&&(s||s===ae&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:ae,t.createWorker=t.useWebWorkers&&h?h:ae,n.useCompressionStream=a||a===ae&&r.useCompressionStream,(await async function(){const n=wr.find(e=>!e.ce);if(n)return Rr(n),new Yn(n,e,t,b);if(wr.length<y){const n={Re:yr};return yr++,wr.push(n),new Yn(n,e,t,b)}return new S(n=>{pr.push({resolve:n,stream:e,Fe:t}),hr=r.workerStarvationTimeout,Er()})}()).run();function b(e){if(gr(),pr.length){const[{resolve:t,stream:n,Fe:r}]=pr.splice(0,1);t(new Yn(e,n,r,b)),Er()}else e.ue?(Rr(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.pe?e.pe=!1:e.ze=v(async()=>{wr=wr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):wr=wr.filter(t=>t!=e)}}function Er(){!mr&&pr.length&&o.isFinite(hr)&&hr>=0&&(mr=v(br,hr))}function gr(){mr&&(_(mr),mr=null)}function br(){if(mr=null,pr.length){const[{resolve:e,stream:t,Fe:r}]=pr.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:ae,createWorker:ae});e(new Yn({},t,o,xr)),Er()}}function xr(){gr(),Er()}function Rr(e){const{ze:t}=e;t&&(_(t),e.ze=null)}const Fr="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function zr(e,t){return Dr(e,t,!0)}function Dr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){let t="";for(let n=0;n<e.length;n++)t+=Fr[e[n]];return t}(e):new g(t,{ignoreBOM:n}).decode(e)}const Ar="HTTP error ",kr="HTTP Range not supported",Ir="HTTP resource changed",Cr="Writer iterator completed too soon",Tr="Writer not initialized",vr="Content-Range",_r="Range",Nr="GET",Ur="bytes",Or=16777216,Mr="writable",Lr=T();class Br{constructor(){this.size=0}init(){this.initialized=!0}}class Wr extends Br{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Ke(qe())}={}){const r=this;let o=0;return n=Ye(n),new z({async pull(i){const a=t===ae?n:s.min(n,t-o),c=await So(r,e+o,a);c.length&&i.enqueue(c),o+n>=t||!c.length&&a?i.close():o+=n}})}}class Pr extends Br{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new d(Tr);return e.writeUint8Array(et(t))}});n.defineProperty(e,Mr,{get:()=>t})}writeUint8Array(){}}let Zr,Vr;class Hr extends Wr{constructor(e){super(),n.assign(this,{De:e,size:e.size}),Vr||(Vr=(async()=>{try{const e=new y([new w(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Zr=1==t}catch{Zr=!1}})())}createReadable(e){const{De:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};return!r&&o>=n?an(t.stream()):Zr?an(t.slice(r,r+o).stream()):super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.De:n.De.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new w(i)}}class Gr extends Br{constructor(e){super();const t=this,r=new F;n.defineProperty(t,Mr,{get:()=>r.writable}),t.contentType=e,t.Ae=cn(r.readable,e),t.Ae.catch(()=>{})}getData(){return this.Ae}}class jr extends Wr{constructor(e,t){super(),Kr(this,e,t)}async init(){await Yr(this,ao,ro),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:i}=t;if((n||r)&&i!==ae){const{offset:n=0,size:r=i-n}=e||{};if(r>0&&n<i)return function(e,t,n){let r,i=t,a=0,c=n;return new z({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new d(kr);const o=t.length>a?t.subarray(0,a):t;a-=o.length,c-=o.length,o.length&&e.enqueue(o),a||(await async function(){const e=r;r=ae,await e.cancel()}(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=s.min(e.maximumRangeSize,c),n=await ao(Nr,e,to(e,i,t));if(206!=n.status)throw new d(kr);const l=n.headers.get(vr);if(l){const e=o(l.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=i)throw new d(kr)}eo(e,n),$r(e,n),i+=t,a=t,r=n.body.getReader()}}(t,n,s.min(r,i-n))}return super.createReadable(e)}readUint8Array(e,t){return Xr(this,e,t,ao,ro)}}class qr extends Wr{constructor(e,t){super(),Kr(this,e,t)}async init(){await Yr(this,co,oo),super.init()}readUint8Array(e,t){return Xr(this,e,t,co,oo)}}function Kr(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:l=Or,fetch:u}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c,maximumRangeSize:l,fetch:u})}async function Yr(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a}=e;if(function(e){const{baseURI:t}=qe(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||s)&&(typeof o==le||o)){const r=await t(Nr,e,to(e,a?-22:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==Ur))throw new d(kr);{if(a){const t=new w(await r.arrayBuffer());206==r.status&&t.length==K&&(e.ke=t)}$r(e,r);const o=Jr(r);o===ae?await so(e,t,n):e.size=o}}else await so(e,t,n)}async function Xr(e,t,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,ke:c,size:l,options:u}=e;if(s||a){if(c&&t==l-K&&n==K)return c;if(t>=l||0===n)return de;{t+n>l&&(n=l-t);const i=await r(Nr,e,to(e,t,n));if(206!=i.status)throw new d(kr);const s=i.headers.get(vr);if(s){const e=o(s.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=t)throw new d(kr)}eo(e,i),$r(e,i);const a=new w(await i.arrayBuffer());if(a.length!=n)throw new d(kr);return a}}{const{data:r}=e;return r||await i(e,u),e.data.subarray(t,t+n)}}function Jr(e){const t=e.headers.get(vr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function Qr({headers:e}){return{Ie:e.get("Etag")||ae,lastModified:e.get("Last-Modified")||ae}}function $r(e,t){const{checkResourceChanges:n,Ce:r}=e;n&&!r&&206==t.status&&(e.Ce=Qr(t))}function eo(e,t){const{checkResourceChanges:r,Ce:o,size:i}=e;if(r){const e=Jr(t);if(e!==ae&&i!==ae&&e!=i)throw new d(Ir);if(o){const e=Qr(t);if(n.entries(o).some(([t,n])=>n!==ae&&e[t]!==ae&&n!=e[t]))throw new d(Ir)}}}function to(e,t=0,r=1){return n.assign({},no(e),{[_r]:Ur+"="+(t<0?t:t+"-"+(t+r-1))})}function no({options:e}){const{headers:t}=e;if(t)return T.iterator in t?n.fromEntries(t):t}async function ro(e){await io(e,ao)}async function oo(e){await io(e,co)}async function io(e,t){const n=await t(Nr,e,no(e));e.data=new w(await n.arrayBuffer()),e.size=e.data.length}async function so(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,no(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function ao(e,{fetch:t=fetch,options:r,url:o},i){const s=await t(o,n.assign({},r,{method:e,headers:i}));if(s.status<400)return s;throw 416==s.status?new d(kr):new d(Ar+(s.statusText||s.status))}function co(e,{url:t},r){return new S((o,i)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status<400){const e=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),o({status:s.status,arrayBuffer:()=>s.response,headers:new c(e)})}else i(416==s.status?new d(kr):new d(Ar+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>i(e.detail?e.detail.error:new d("Network error")),!1),s.open(e,t),r)for(const e of n.entries(r))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()})}class lo extends Wr{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new qr(e,t):new jr(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 uo extends Wr{constructor(e){super(),this.Te=e}async init(){const e=this;e.ve=0;const t=e.Te=await S.all(e.Te.map(yo));e._e=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Ne(e){const{_e:t,size:n}=this,r=t[e];return r===ae?n:r}async readUint8Array(e,t){const n=this,{Te:r}=this;let o,i=0,a=e;for(;r[i]&&a>=r[i].size;)a-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(a+t<=r)o=await So(c,a,t);else{const i=r-a;o=$e(await So(c,a,i),await n.readUint8Array(e+i,t-i))}}else o=de;return n.ve=s.max(i,n.ve),o}}class fo extends Br{constructor(e,t=4294967295){super();const r=this;let o,i,s;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const a=new D({async write(t){if(t===Lr)return void(s&&await l());const{availableSize:n}=r;if(s)t.length>=n?(await c(t.subarray(0,n)),await l(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:a}=await e.next();if(a&&!n)throw new d(Cr);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await ho(o),i=n.writable,s=i.getWriter(),await this.write(t)}},async close(){s&&(await s.ready,await u())},async abort(e){s&&await s.abort(e)}});async function c(e){const t=e.length;t&&(await s.ready,await s.write(e),o.size+=t,r.availableSize-=t)}async function l(){await u(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function u(){await s.close()}n.defineProperty(r,Mr,{get:()=>a})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Lr)}finally{e.releaseLock()}}}class wo{constructor(e){return t.isArray(e)&&(e=new uo(e)),(e instanceof z||typeof e.getReader==ue)&&(e={readable:an(e)}),e}}class po{constructor(e){return e.writable===ae&&typeof e.next==ue&&(e=new fo(e)),(e instanceof D||typeof e.getWriter==ue)&&(e={writable:ln(e)}),e.size===ae&&(e.size=0),e}}function mo(e){return Boolean(e&&e.getData)}async function ho(e,t){if(!e.init||e.initialized)return S.resolve();await e.init(t)}async function yo(e){return e=new wo(e),await ho(e),e.size!==ae&&e.readUint8Array||(e=new Hr(await cn(e.readable)),await ho(e)),e}function So(e,t,n){return e.readUint8Array(t,n)}function Eo(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Wr.prototype.createReadable.call(e,t):e.readable}const go="filename",bo="rawFilename",xo="comment",Ro="rawComment",Fo="uncompressedSize",zo="compressedSize",Do="offset",Ao="diskNumberStart",ko="lastModDate",Io="rawLastModDate",Co="lastAccessDate",To="rawLastAccessDate",vo="creationDate",_o="rawCreationDate",No="internalFileAttributes",Uo="externalFileAttributes",Oo="msdosAttributesRaw",Mo="msdosAttributes",Lo="msDosCompatible",Bo="zip64",Wo="encrypted",Po="version",Zo="versionMadeBy",Vo="zipCrypto",Ho="directory",Go="executable",jo="compressionMethod",qo="signature",Ko="extraField",Yo="unixMode",Xo="setuid",Jo="setgid",Qo="sticky",$o=[go,bo,Fo,zo,ko,Io,xo,Ro,Co,To,vo,_o,Do,Ao,No,Uo,Oo,Mo,Lo,Bo,Wo,Po,Zo,Vo,Ho,Go,"symlink",jo,qo,"crc32",Ko,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Yo,"unixExternalUpper",Xo,Jo,Qo,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ei{constructor(e){$o.forEach(t=>this[t]=e[t])}}const ti="File format is not recognized",ni="End of central directory not found",ri="End of Zip64 central directory locator not found",oi="Central directory header not found",ii="Local file header not found",si="Zip64 extra field not found",ai="File contains encrypted entry",ci="Encryption method not supported",li="Split zip file",ui="Overlapping entry found",fi="Entry data out of bounds",di="Ambiguous archive",wi="Encrypted central directory is not supported",pi="Unsafe filename",mi="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",hi="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",yi="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Si="64-bit value exceeds Number.MAX_SAFE_INTEGER",Ei="unsorted central directory",gi="unknown version needed to extract",bi="compressed patched data",xi="malformed extra field",Ri="unknown zip64 extensible data",Fi="wrapped entries count",zi="appended data",Di="prepended data",Ai="prepended central directory",ki="trailing central directory data",Ii="duplicate filename",Ci="mismatched zip64 end of central directory record",Ti="mismatched local file header (general purpose bit flag)",vi="mismatched local file header (compression method)",_i="mismatched local file header (crc32 or sizes)",Ni=/^[a-zA-Z]:/,Ui="utf-8",Oi="cp437",Mi=[[Fo,O],[zo,O],[Do,O],[Ao,M]],Li={[M]:{Ue:bs,bytes:4},[O]:{Ue:xs,bytes:8}},Bi=i(o.MAX_SAFE_INTEGER);class Wi{constructor(e,t={}){n.assign(this,{reader:new wo(e),options:t,Oe:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await ho(r),r.size!==ae&&r.readUint8Array||(r=new Hr(await cn(r.readable)),await ho(r)),r.size<K)throw new d(ti);const o=t.warnings=[],i=rs(e,t.options),a=i==Ae,c=i!=Ie,u=ss(ms(t,e,Fe),i),f=function(e,t){if(e===ae)return t;if(!ns(e))throw new d(hi);return e}(ms(t,e,"filenameValidation"),i),w=ms(t,e,"normalizeFilename"),{Me:p,Le:m}=await as(r,c,u);if(!p)throw await async function(e){return await ts(e)==W}(r)?new d(li):new d(ni);c&&m>1&&ps("multiple end of central directory records");const h=tt(p);let y=bs(h,12),S=bs(h,16);const E=p.offset,g=gs(h,20),b=E+K+g,x=r.size-b;x>u&&ps(zi),x>0&&ws(o,zi);let R=gs(h,4);const z=r.ve||0;let D,A,k,I,C,T=gs(h,6),v=gs(h,10),_=0,N=X;const U=S==O||y==O||v==M||T==M;if(S!=O&&T!=M&&(S+=es(r,T)),U){const e=p.offset>=Y?await So(r,p.offset-Y,Y):de,t=tt(e);if(e.length==Y&&bs(t,0)==j){S=es(r,bs(t,4))+xs(t,8);let e=await So(r,S,X),i=tt(e);const c=p.offset-Y-X;if((e.length<X||bs(i,0)!=G)&&S!=c&&c>=0){const t=S;S=c,S>t&&(_=S-t),e=await So(r,S,X),i=tt(e)}if(e.length<X||bs(i,0)!=G)throw new d(ri);if(k=!0,I=xs(i,4)>44,I){const e=s.min(xs(i,4)-44,r.size-S-X);e>0&&(N+=e,C=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=tt(e),o=gs(r,26);n.assign(t,{compressionMethod:gs(r,0),compressedSize:xs(r,2),uncompressedSize:xs(r,10),encryptionAlgorithm:gs(r,18),bitLength:gs(r,20),flags:gs(r,22),hashAlgorithm:gs(r,24),hashData:e.subarray(28,28+o)})}return t}(await So(r,S+X,e)))}R==M?R=bs(i,16):R!=bs(i,16)&&ds(a,o,Ci),T==M?T=bs(i,20):T!=bs(i,20)&&ds(a,o,Ci),v==M?v=xs(i,32):v!=xs(i,32)&&ds(a,o,Ci),y==O?y=xs(i,40):y!=xs(i,40)&&ds(a,o,Ci),S=es(r,T)+xs(i,48)+_}}let B=y;const P=p.offset-(k?N+Y:0);if(S>=r.size&&(_=r.size-S-y-K,S=r.size-y-K),z!=R)throw new d(li);if(S<0)throw new d(ti);let Z=0,H=await So(r,S,y),J=tt(H);if(y){if(H.length<4)throw new d(ti);const e=P-y;if(S!=e&&T==R){const t=bs(J,Z)==V||Boolean(C&&C.compressedSize)||Hi(J);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=bs(tt(await So(r,e,4)),0)==V),n){const n=S;S=e,S>n&&(_+=S-n,D=t),H=await So(r,S,y),J=tt(H)}}}const Q=P-S;if(y!=Q&&Q>=0&&T==R&&(y=Q,H=await So(r,S,y),J=tt(H)),S<0||S>=r.size)throw new d(ti);t.directoryOffset=S,t.directoryLength=B;const oe=hs(t,e,"decryptCentralDirectory");let ie,se;if(oe&&v&&H.length>=4&&bs(J,0)!=V&&(I||Hi(J))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(C,B,H.length);se=H.subarray(e),H=await oe(H.subarray(0,e),C),J=tt(H),B=H.length,ie=!0}C&&!ie&&(H.length<4||bs(J,0)==V)&&ws(o,Ri),A=S;const ce=ms(t,e,"filenameEncoding"),le=ms(t,e,"commentEncoding"),ue=new l;let fe,we=-1;const pe=!a&&!k;!v&&pe&&(v=Gi(J,H,Z),v&&ws(o,Fi));for(let i=0;i<v;i++){const a=new Vi(r,t.options);if(Z+q>H.length||bs(J,Z)!=V){if(0==i&&!ie&&(I||Hi(J)))throw new d(wi);throw new d(oi)}qi(a,J,Z+6);const c=Boolean(a.bitFlag.languageEncodingFlag),l=Z+q,u=l+a.filenameLength,p=u+a.extraFieldLength,m=gs(J,Z+4),h=!(m>>8),y=m>>8==3,S=H.subarray(l,u),E=gs(J,Z+32),g=p+E,b=H.subarray(p,g),x=c,R=c,z=bs(J,Z+38),D=z&L,k={readOnly:Boolean(1&D),hidden:Boolean(2&D),system:Boolean(4&D),directory:Boolean(16&D),archive:Boolean(32&D)},C=bs(J,Z+42),T=hs(t,e,"decodeText")||zr,N=x?Ui:ce||Oi,U=R?Ui:le||Oi;let O=T(S,N,ze);if(O===ae&&(O=zr(S,N)),w){const e=w(O);e!==ae&&(O=e)}if(is(O,f)){const e=new d(pi);throw e.filename=O,e}let B=T(b,U,De);B===ae&&(B=zr(b,U)),n.assign(a,{index:i,Be:ie,versionMadeBy:m,msDosCompatible:h,zip64:!1,compressedSize:0,uncompressedSize:0,We:E,offset:C,diskNumberStart:gs(J,Z+34),internalFileAttributes:gs(J,Z+36),externalFileAttributes:z,msdosAttributesRaw:D,msdosAttributes:k,rawFilename:S,filenameUTF8:x,commentUTF8:R,rawExtraField:H.subarray(u,p),rawComment:b,filename:O,comment:B}),Ki(a,a,J,Z+6)&&ws(o,xi,O),a.offset+=_;const W=es(r,a.diskNumberStart)+a.offset;A=s.min(W,A),W<we&&ws(o,Ei,O),we=W,(a.version&L)>63&&ws(o,gi,O),32&~a.rawBitFlag||ws(o,bi,O),ue.has(a.filename)&&(fe=!0),ue.add(a.filename);const P=a.externalFileAttributes>>16&M;a.unixMode===ae&&16877&P&&(a.unixMode=P);const G=Boolean(a.unixMode&te),j=Boolean(a.unixMode&ne),K=Boolean(512&a.unixMode),Y=40960==((a.unixMode===ae?P:a.unixMode)&$),X=!Y&&(a.unixMode!==ae?!!(73&a.unixMode):y&&!!(73&P)),Q=a.unixMode!==ae&&(a.unixMode&$)==ee,oe=(P&$)==ee;n.assign(a,{setuid:G,setgid:j,sticky:K,symlink:Y,unixExternalUpper:P,executable:X,directory:Q||oe||h&&k.directory||a.filename.endsWith(re),zipCrypto:a.encrypted&&!a.extraFieldAES});const se=new ei(a);if(se.getData=(e,n)=>a.getData(e,se,t.Oe,n),se.arrayBuffer=async e=>{const n=new F,r=cn(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,se,t.Oe,e),r},Z=g,i==v-1&&pe){const e=Gi(J,H,Z);e&&(v+=e,ws(o,Fi))}const{onprogress:de}=e;if(de)try{await de(i+1,v,new ei(a))}catch{}yield se}let me=Z,he=ji(H.subarray(Z))||(ie?ji(se):ae);if(!he&&!ie){const e=S+Z,t=s.min(P-e,65541);t>=6&&(he=ji(await So(r,e,t)))}he&&(t.digitalSignature=he,me=Z+6+he.length),(Z!=B&&me!=B||!ie&&Z!=y&&me!=y)&&ds(a,o,ki),fe&&ds(a,o,Ii);const ye=ms(t,e,"extractPrependedData"),Se=ms(t,e,"extractAppendedData"),Ee=(a||ye)&&v&&4==A&&await async function(e){const t=await ts(e);return t==W||808471376==t}(r)?4:0;return a&&(_||v&&A>Ee)&&ps(Di),(_||v&&A>4)&&ws(o,Di),D&&ws(o,Ai),ye&&(t.prependedData=A>Ee?await So(r,Ee,A-Ee):de),t.comment=g?await So(r,E+K,g):de,Se&&(t.appendedData=b<r.size?await So(r,b,r.size-b):de),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}}class Pi{constructor(e={}){const{readable:t,writable:n}=new F,r=new Wi(t,e).getEntriesGenerator();this.readable=new z({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const o={...n,readable:function(){const{readable:e,writable:t}=new F;if(n.getData)return async function(){try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}}(),e}()};delete o.getData,e.enqueue(o)}}),this.writable=n}}async function Zi(e,t={}){if(e=new wo(e),await ho(e),e.size!==ae&&e.readUint8Array||(e=new Hr(await cn(e.readable)),await ho(e)),e.size<K)return!1;const n=rs(t,{}),r=n!=Ie,o=ss(t[Fe],n),{Me:i,Le:s}=await as(e,r,o);if(!i||n==Ae&&s>1)return!1;const a=gs(tt(i),20),c=i.offset+K+a;return e.size-c<=o}class Vi{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const o=this,i=qe(),{reader:a,index:c,offset:l,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,bitFlag:m,rawBitFlag:h,crc32:y,rawLastModDate:S,uncompressedSize:E,compressedSize:g}=o,{dataDescriptor:b}=m,x=t.localDirectory={},R=t.warnings=[],F=es(a,u)+l,z=await So(a,F,oe),A=tt(z);let k=ms(o,r,we),I=ms(o,r,pe);const C=ms(o,r,me);if(Ue(k,I),k=k&&k.length&&k,I=I&&I.length&&I,f&&99!=f.originalCompressionMethod)throw new d(wn);if(z.length<oe||bs(A,0)!=B)throw new d(ii);qi(x,A,4);const{extraFieldLength:T,filenameLength:v}=x,_=x.dataOffset=F+oe+v+T,N=ms(o,r,"checkLocalDirectory"),U=rs(r,o.options),O=function(e,t){return e===ae?t!=Ie:Boolean(e)}(N,U),M=function(e,t){return e===ae?t==Ae:Boolean(e)}(N,U);let W=de;if(M&&(v||T)){const e=await So(a,F+oe,v+T);W=e.subarray(0,v),x.rawExtraField=e.subarray(v)}else x.rawExtraField=T?await So(a,F+oe+v,T):de;M&&(x.rawFilename=W),Ki(o,x,A,4,!0)&&ws(R,xi),function(e,t,n,r,o){const{rawFilename:i}=e,s=!o,a=e.Be&&!(8192&~t.rawBitFlag);!r||a||n.length==i.length&&!n.some((e,t)=>e!=i[t])||ds(s,o,"mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&ds(s,o,Ti),t.compressionMethod!=e.compressionMethod&&ds(s,o,vi),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||ds(s,o,_i)}(o,x,W,M,O?ae:R);const{lastAccessDate:Z,creationDate:V,uid:H,gid:G}=x;Z&&(t.lastAccessDate=Z),V&&(t.creationDate=V),H!==ae&&t.uid===ae&&(t.uid=H),G!==ae&&t.gid===ae&&(t.gid=G);const j=o.encrypted&&x.encrypted&&!C,q=j&&!f;if(C||(t.zipCrypto=q),j&&!(64&~x.rawBitFlag))throw new d(ci);const K=C?ae:yn(p);if(0!=p&&8!=p&&9!=p&&!K&&!C)throw new d(wn);if(j){if(!q&&(f.strength<1||f.strength>3))throw new d(ci);if(!k&&!I)throw new d(ai)}if(_+g>a.size)throw new d(fi);const Y=g,X=an(a.createReadable({offset:_,size:Y})),J=Ne(ms(o,r,he)),Q=ms(o,r,"checkPasswordOnly");let $=ms(o,r,"checkOverlappingEntry");const ee=ms(o,r,"checkOverlappingEntryOnly");ee&&($=!0);const{onstart:te,onprogress:ne,onend:re}=r,ie=0!=p&&!C,se=C?g:E,ce=9==p;let le=ms(o,r,Se);ce&&(le=!1);const ue=ms(o,r,"checkCrc32"),fe=(ue===ae?ms(o,r,"checkSignature"):ue)&&!C&&(!j||q||f&&1==f.vendorVersion),be={options:{codecType:Pn,password:k,rawPassword:I,zipCrypto:q,encryptionStrength:f&&f.strength,checkCrc32:fe,checkAuthenticationCode:ms(o,r,"checkAuthenticationCode"),passwordVerification:q&&(b?S>>>8&L:y>>>24&L),outputSize:se,crc32:y,compressed:ie,encrypted:j,useWebWorkers:ms(o,r,ye),useCompressionStream:le,transferStreams:ms(o,r,Ee),deflate64:ce,format:K?K.format:ae,codecURI:K?K.codecURI:ae,compressionMethod:p,rawBitFlag:h,checkPasswordOnly:Q},config:i,ae:{signal:J,size:Y,onstart:te,onprogress:ne,onend:re}};let xe,Re;$&&await async function({reader:e,Pe:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:l,Oe:u}){let f=0;if(c&&(f=l?20:12),f){const n=await So(e,a+i,f+4),r=tt(n);let c=n.length==f+4&&bs(r,0)==P;if(c){const e=$i(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==s?f+=4:c=!1}if(n.length>=f){const e=$i(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const w={start:r,end:a+i+f,Pe:t};for(const[e,t]of u)if(e!=n&&w.start<t.end&&t.start<w.end){const e=new d(ui);throw e.overlappingEntry=t.Pe,e}u.set(n,w)}({reader:a,Pe:t,index:c,offset:F,crc32:y,compressedSize:g,uncompressedSize:E,dataOffset:_,dataDescriptor:b||x.bitFlag.dataDescriptor,extraFieldZip64:w||x.extraFieldZip64,Oe:n});try{if(!ee){Q&&(e=new D),e=new po(e),await ho(e,function(e,t,n){return s.min(e,n?1032*t:t)}(se,g,ie)),({writable:xe}=e);const{outputSize:t}=await Sr({readable:X,writable:xe},be);if(e.size+=t,t!=se)throw new d(bn)}}catch(t){if(t.outputSize!==ae&&(e.size+=t.outputSize),!Q||t.message!=bt)throw Re=t,t}finally{if((mo(e)||!ms(o,r,ge))&&xe&&!xe.locked){const e=xe.getWriter();if(Re)try{await e.abort(Re)}catch{}else await e.close()}}return Q||ee?ae:e.getData?e.getData():xe}}function Hi(e){const t=s.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==bs(e,n))return!0;return!1}function Gi(e,t,n){let r=0;for(;n+q<=t.length&&bs(e,n)==V;)n+=q+gs(e,n+28)+gs(e,n+30)+gs(e,n+32),r++;return r%65536?0:r}function ji(e){if(e.length>=6){const t=tt(e);if(bs(t,0)==Z){const n=gs(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function qi(e,t,r){const o=e.rawBitFlag=gs(t,r+2),i=!(1&~o),s=bs(t,r+6);n.assign(e,{encrypted:i,version:gs(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&Q)==Q},rawLastModDate:s,lastModDate:ys(s),filenameLength:gs(t,r+22),extraFieldLength:gs(t,r+24)})}function Ki(e,t,r,o,i){const{rawExtraField:s}=t,l=t.extraField=new c,u=tt(s);let f=0,w=!1;try{for(;f<s.length;){const e=gs(u,f),t=gs(u,f+2);l.set(e,{type:e,data:s.slice(f+4,f+4+t)}),f+=4+t}}catch{w=!0}f>s.length&&(w=!0);const p=gs(r,o+4);n.assign(t,{signature:bs(r,o+10),crc32:bs(r,o+10),compressedSize:bs(r,o+14),uncompressedSize:bs(r,o+18)});const m=l.get(1);m&&(function(e,t){t.zip64=!0;const n=tt(e.data),r=Mi.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+Li[t].bytes,0);if(e.data.length<o)throw new d(si);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=Li[a];t[s]=e[s]=c.Ue(n,i),i+=c.bytes}}(m,t),t.extraFieldZip64=m);const h=l.get(28789);h&&(Yi(h,go,bo,t,e),t.extraFieldUnicodePath=h);const y=l.get(25461);y&&(Yi(y,xo,Ro,t,e),t.extraFieldUnicodeComment=y);const S=l.get(39169);S&&S.data.length>=7?(function(e,t,r){const o=tt(e.data),i=Es(o,4);n.assign(e,{vendorVersion:Es(o,0),vendorId:Es(o,2),strength:i,originalCompressionMethod:r,compressionMethod:gs(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ae)}(S,t,p),t.extraFieldAES=S):t.compressionMethod=p;const E=l.get(13);E&&(Xi(E,t),t.extraFieldPkwareUnix=E);const g=l.get(22613);g&&(Xi(g,t),t.extraFieldUnixType1=g);const b=l.get(10);b&&(function(e,t){const r=tt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=gs(r,i),n=gs(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=tt(o),i=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:s,rawCreationDate:a});const c={lastModDate:Ss(i),lastAccessDate:Ss(s),creationDate:Ss(a)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:s,rawCreationDate:a})}}(b,t),t.extraFieldNTFS=b);const x=l.get(30805);let R;if(x&&(R=Ji(x,t,!1),t.extraFieldUnix=x),!R){const e=l.get(30837);e&&(Ji(e,t,!0),t.extraFieldInfoZip=e)}const F=l.get(J);F&&(function(e,t,n){if(!e.data.length)return;const r=tt(e.data),o=Es(r,0),i=[],s=[];n?(1&~o||(i.push(ko),s.push(Io)),2&~o||(i.push(Co),s.push(To)),4&~o||(i.push(vo),s.push(_o))):e.data.length>=5&&(i.push(ko),s.push(Io));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=bs(r,c);t[n]=e[n]=new a(1e3*(0|i));const l=s[o];e[l]=i}c+=4})}(F,t,i),t.extraFieldExtendedTimestamp=F);const z=l.get(6534);return z&&(t.extraFieldUSDZ=z),w}function Yi(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const s=tt(e.data),a=new ft;a.append(i[r]);const c=tt(new w(4));c.setUint32(0,a.get(),!0);const l=bs(s,1),u=Es(s,0);n.assign(e,{version:u,[t]:zr(e.data.subarray(5)),valid:1==u&&!i.bitFlag.languageEncodingFlag&&l==bs(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function Xi(e,t){if(e.data.length<8)return;const r=tt(e.data),o={lastAccessDate:new a(1e3*(0|bs(r,0))),lastModDate:new a(1e3*(0|bs(r,4)))};e.data.length>=12&&(o.uid=gs(r,8),o.gid=gs(r,10)),n.assign(e,o),n.assign(t,o)}function Ji(e,t,r){try{const o=tt(e.data);let i,s;if(r){let t=0;const r=Es(o,t++),a=Es(o,t++);i=Qi(e.data.subarray(t,t+a)),t+=a;const c=Es(o,t++);s=Qi(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:s})}else e.data.length>=4&&(i=gs(o,0),s=gs(o,2),n.assign(e,{uid:i,gid:s}));return i!==ae&&(t.uid=i),s!==ae&&(t.gid=s),i!==ae||s!==ae}catch{}}function Qi(e){const t=new w(4);return t.set(e,0),new h(t.buffer,t.byteOffset,4).getUint32(0,!0)}function $i(e,t,n){const r=bs(e,t);let o,i;return n?(o=xs(e,t+4),i=xs(e,t+12)):(o=bs(e,t+4),i=bs(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function es(e,t){return e.Ne?e.Ne(t):0}async function ts(e){return bs(tt(await So(e,0,4)))}function ns(e){return e===Ae||e===ke||e===Ie}function rs(e,t){return os(e,os(t,ke))}function os(e,t){const n=e.strictness;if(n!==ae){if(!ns(n))throw new d(mi);return n}const r=e.checkAmbiguity;return r===ae?t:r?Ae:t==Ie?Ie:ke}function is(e,t){if(t==Ie)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||Ni.test(e))||t==Ae&&(n.includes(".")||n.includes(""))}function ss(e,t){if(e!==ae){const t=Le(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new d(yi);return t}return t==Ae?0:t==Ie?1/0:M}async function as(e,t,n){const{size:r}=e,o=s.min(r,65557),i={count:64};let a,c,l=0;for await(const[n,s,u,f,d]of cs(e,o)){const o=gs(n,f+20);if(d+K+o==r){const o=await us(e,n,s,f,d,r,i);if(2==o){if(a||(a=ls(u,f,d)),l++,!t||l>1)break}else 1!=o||c||(c=ls(u,f,d))}}return a||(a=c),a||(a=await async function(e,t,n){const{size:r}=e,o=s.min(r,t==1/0?r:65557+t);let i,a;for await(const[t,s,c,l,u]of cs(e,o)){const o=ls(c,l,u);i||(i=o);const f=await us(e,t,s,l,u,r,n);if(2==f)return o;1!=f||a||(a=o)}return a||i}(e,n,i)),{Me:a,Le:l}}async function*cs(e,t){const n=e.size-t,r=await So(e,n,t),o=tt(r);for(let e=r.length-K;e>=0;e--)bs(o,e)==H&&(yield[o,n,r,e,n+e])}function ls(e,t,n){return{offset:n,buffer:e.slice(t,t+K).buffer}}async function us(e,t,n,r,o,i,s){const a=gs(t,r+10),c=bs(t,r+12),l=bs(t,r+16);if(a==M||c==O||l==O)return await fs(e,t,n,o-Y,i,s)==j?2:0;if(!a&&!c)return 1;const u=gs(t,r+6);for(const r of[o-c,es(e,u)+l])if(await fs(e,t,n,r,i,s)==V)return 2;return 0}async function fs(e,t,n,r,o,i){return r<0||r+4>o?ae:r>=n?bs(t,r-n):i.count>0?(i.count--,bs(tt(await So(e,r,4)),0)):ae}function ds(e,t,n){e?ps(n):ws(t,n)}function ws(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==ae&&(r.filename=n),e.push(r)}}function ps(e){const t=new d(di);throw t.reason=e,t}function ms(e,t,n){return t[n]===ae?e.options[n]:t[n]}function hs(e,t,n){return _e(ms(e,t,n))}function ys(e){const t=(4294901760&e)>>16,n=e&M,r=new a(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<se?se:r}function Ss(e){return new a(o(e/i(1e4)-i(116444736e5)))}function Es(e,t){return e.getUint8(t)}function gs(e,t){return e.getUint16(t,!0)}function bs(e,t){return e.getUint32(t,!0)}function xs(e,t){const n=e.getBigUint64(t,!0);if(n>Bi)throw new d(Si);return o(n)}var Rs=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:di,ERR_BAD_FORMAT:ti,ERR_CENTRAL_DIRECTORY_NOT_FOUND:oi,ERR_ENCRYPTED:ai,ERR_ENCRYPTED_CENTRAL_DIRECTORY:wi,ERR_ENTRY_DATA_OUT_OF_BOUNDS:fi,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:ri,ERR_EOCDR_NOT_FOUND:ni,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:si,ERR_INVALID_AUTHENTICATION_CODE:gt,ERR_INVALID_COMPRESSED_DATA:xn,ERR_INVALID_CRC32:Rn,ERR_INVALID_FILENAME_VALIDATION:hi,ERR_INVALID_MAX_APPENDED_DATA_SIZE:yi,ERR_INVALID_PASSWORD:Et,ERR_INVALID_STRICTNESS:mi,ERR_INVALID_UNCOMPRESSED_SIZE:bn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ii,ERR_OVERLAPPING_ENTRY:ui,ERR_SPLIT_ZIP_FILE:li,ERR_UNSAFE_FILENAME:pi,ERR_UNSUPPORTED_COMPRESSION:wn,ERR_UNSUPPORTED_ENCRYPTION:ci,ERR_UNSUPPORTED_UINT64:Si,ERR_WORKER_STARTUP_TIMEOUT:Hn,WARNING_APPENDED_DATA:zi,WARNING_COMPRESSED_PATCHED_DATA:bi,WARNING_DUPLICATE_FILENAME:Ii,WARNING_MALFORMED_EXTRA_FIELD:xi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Ti,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:vi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:_i,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Ci,WARNING_PREPENDED_CENTRAL_DIRECTORY:Ai,WARNING_PREPENDED_DATA:Di,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:ki,WARNING_UNKNOWN_VERSION:gi,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Ri,WARNING_UNSORTED_CENTRAL_DIRECTORY:Ei,WARNING_WRAPPED_ENTRIES_COUNT:Fi,ZipReader:Wi,ZipReaderStream:Pi,isZipFile:Zi});const Fs="File already exists",zs="Zip file comment exceeds 64KB",Ds="Invalid zip file comment (must be a Uint8Array)",As="File entry comment exceeds 64KB",ks="Invalid file entry comment (must be a string)",Is="Invalid date (must be a valid Date instance)",Cs="File entry name exceeds 64KB",Ts="Version exceeds 65535",vs="The strength must equal 1, 2, or 3",_s="Encryption is not supported in USDZ files",Ns="Encryption is not supported when the 'passThrough' option is set",Us="Invalid extra field (must be a Map)",Os="Invalid extra field type (must be integer 0..65535)",Ms="Invalid extra field data (must be a Uint8Array)",Ls="Extra field data exceeds 64KB",Bs=-2147483648,Ws=2147483647,Ps=i(0),Zs=i("0x7fffffffffffffff"),Vs="Zip64 is not supported (set the 'zip64' option to 'true')",Hs="Undefined uncompressed size",Gs="Undefined compression method",js="Undefined reader",qs="Zip file not empty",Ks="Invalid uid (must be integer 0..2^32-1)",Ys="Invalid gid (must be integer 0..2^32-1)",Xs="Invalid UNIX mode (must be integer 0..65535)",Js="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Qs="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",$s="Invalid msdosAttributesRaw (must be integer 0..255)",ea="Invalid msdosAttributes (must be an object with boolean flags)",ta="Invalid level (must be integer 0..9)",na="Signature data exceeds 64KB",ra=new w([7,0,2,0,65,69,3,0,0]),oa="infozip",ia="unix";let sa=0;const aa=[];class ca{constructor(e,t={}){e=new po(e);const{availableSize:r=ce,maxSize:o=ce}=e,i=r>0&&r!==ce&&o>0&&o!==ce;n.assign(this,{writer:e,Ze:i,options:t,Ve:new c,He:new l,offset:t[xe]===ae?e.size||e.writable.size||0:t[xe],Ge:t[xe]===ae?0:t[xe]-(e.size||e.writable.size||0),je:new l,qe:[],Ke:0,Ye:ae})}prependZip(e){return ua(this,async function(e,t){if(e.He.size)throw new d(qs);await e.Xe(t)}(this,e))}appendZip(e){return ua(this,this.Xe(e))}async Xe(e){const r=this,{je:o,He:i,Ve:s}=r;for(;o.size;)await S.allSettled(t.from(o));let a;const l=new S(e=>a=e);o.add(l);const u=[];let f;try{e=new wo(e),await ho(e),e.size!==ae&&e.readUint8Array||(e=new Hr(await cn(e.readable)),await ho(e));const{ZipReader:o}=await S.resolve().then(function(){return Rs}),a=new o(e),l=await a.getEntries();await a.close(),await ho(r.writer);const{directoryOffset:w}=a;l.forEach(({filename:e})=>{if(i.has(e))throw new d(Fs);i.add(e),u.push(e)}),r.Je=!0;const{Qe:p}=r;r.Qe=new S(e=>f=()=>{r.Je=!1,e()}),await p,r.Ze&&(delete r.Ze,await async function(e){return tt(await So(e,0,4)).getUint32(0,!0)==W}(e)||(await Aa(r.writer,za()),r.offset+=4));const m=await async function(e,n,r,o){const{writer:i}=e,s=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>Fa(n,e)-Fa(n,t));let c=0;for(const t of a){const r=Fa(n,t);await xa(e,n,c,r-c),Ea(i,await Ra(n,r))&&await i.closeDisk(),s.set(t,{offset:ga(e,i),diskNumberStart:ya(i)}),c=r}await xa(e,n,c,o-c)}else{const t=e.offset;await xa(e,n,0,o),r.forEach(e=>s.set(e,{offset:t+Fa(n,e),diskNumberStart:0}))}return s}(r,e,l,w);l.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:l,extraFieldZip64:u}=e;let{compressionMethod:f,rawExtraField:d}=e;const{level:w,languageEncodingFlag:p,dataDescriptor:h}=i;d=ba(d||de),e.extraFieldAES&&(f=99);const y=Ha(d),S=Boolean(u)&&u.uncompressedSize!==ae,E=Boolean(u)&&u.compressedSize!==ae,g=-7&ja(w,p,h,a,f)|w<<1,{$e:b,et:x}=Ga({version:t,bitFlag:g,compressionMethod:f,uncompressedSize:c,compressedSize:l,rawLastModDate:r,rawFilename:o,nt:E,ot:S,extraFieldLength:y}),{crc32:R}=e;R!==ae&&Pa(x,10,R);const{offset:F,diskNumberStart:z}=m.get(e);n.assign(e,{ot:S,nt:E,offset:F,diskNumberStart:z,it:!1,st:de,ct:de,lt:de,ut:de,ft:de,rawExtraField:d,wt:de,extendedTimestamp:!1,$e:b,et:x}),s.set(e.filename,e)})}catch(e){throw u.forEach(e=>i.delete(e)),e}finally{a(),o.delete(l),f&&f()}}add(e="",r,c={}){const l=this,{je:u}=l,f=async function(e,r,c,l){if(_a(e,l=n.assign({},l),Ho)&&!r.endsWith(re)&&(r+=re),e.He.has(r))throw new d(Fs);e.He.add(r),sa<qe().maxWorkers?sa++:await new S(e=>aa.push(e));try{return await async function(e,r,c,l){const u=function(e,n,r){let o=_a(e,r,Lo),i=_a(e,r,Zo,o?20:768);const s=_a(e,r,Go),a=Oa(e,r,"uid"),c=Oa(e,r,"gid");let l=Oa(e,r,Yo),u=_a(e,r,"unixExtraFieldType"),f=_a(e,r,Xo),w=_a(e,r,Jo),p=_a(e,r,Qo);if(Me(a,O,Ks),Me(c,O,Ys),Me(l,M,Xs),u!==ae&&u!==oa&&u!==ia)throw new d(Js);if(u===ia&&(a!==ae&&a>M||c!==ae&&c>M))throw new d(Qs);u!==ae||a===ae&&c===ae||(u=oa);let m=Oa(e,r,Oo),h=_a(e,r,Mo);const y=m!==ae||h!==ae;if(a!==ae||c!==ae||l!==ae||u||s?(o=!1,i=i&L|768):y&&(o=!0,i&=L),Me(m,L,$s),h&&("object"!=typeof h||t.isArray(h)))throw new d(ea);if(i>M)throw new d(Ts);let S=_a(e,r,Uo);const E=S!==ae;E||(S=0),!r[Ho]&&n.endsWith(re)&&(r[Ho]=!0);const g=_a(e,r,Ho);if(g?(n.endsWith(re)||(n+=re),E||(S=16,o||(S|=16877<<16))):o||E||(S=s?493<<16:27525120),!o){const e=l!==ae||Boolean(f||w||p);l=l===ae?S>>16&M:l&M,f?l|=te:f=Boolean(l&te),w?l|=ne:w=Boolean(l&ne),p?l|=512:p=Boolean(512&l),E&&!e||(g?l=-61441&l|ee:l&$||(l|=32768),S=(l&M)<<16|S&M)}({msdosAttributesRaw:m,msdosAttributes:h}=function(e,t){if(e!==ae)e&=L;else if(t!==ae){const{readOnly:n,hidden:r,system:o,directory:i,archive:s}=t;let a=0;n&&(a|=1),r&&(a|=2),o&&(a|=4),i&&(a|=16),s&&(a|=32),e=a&L}return t===ae&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(m,h)),y&&(S=S&O|m&L);const b=S>>16&M,x=l!==ae&&40960==(l&$);return{name:n,ht:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:S,unixExternalUpper:b,uid:a,gid:c,unixMode:l,unixExtraFieldType:u,symlink:x,setuid:f,setgid:w,sticky:p,msdosAttributesRaw:m,msdosAttributes:h}}}(e,r,l);({name:r}=u);const f=function(e,t,n){const r=Ua(e,n,"encodeText")||wt;let i=r(t,ze);if(i===ae&&(i=wt(t)),Ha(i)>M)throw new d(Cs);const s=n[xo]||"";if(typeof s!=fe)throw new d(ks);let c=r(s,De);if(c===ae&&(c=wt(s)),Ha(c)>M)throw new d(As);const l=_a(e,n,Po);if(l!==ae&&l>M)throw new d(Ts);const u=Na(e,n,ko,new a),f=_a(e,n,Io),w=Na(e,n,Co),p=Na(e,n,vo),m=_a(e,n,No,0),h=_a(e,n,me),y=_a(e,n,we),S=_a(e,n,pe);Ue(y,S);const E=Oa(e,n,"encryptionStrength",3),g=_a(e,n,Vo),b=_a(e,n,"extendedTimestamp",!0),x=_a(e,n,"ntfsTimestamp"),R=_a(e,n,"keepOrder",!0),F=_a(e,n,ye),z=_a(e,n,Ee),D=_a(e,n,"bufferedWrite"),A=Ua(e,n,"createTempStream"),k=_a(e,n,"dataDescriptorSignature",!0),I=Ne(_a(e,n,he)),C=_a(e,n,"useUnicodeFileNames",!0),T=_a(e,n,jo),v=h||T===ae?ae:yn(T);if(!h&&T!==ae&&0!==T&&8!==T&&!v)throw new d(wn);let _=Oa(e,n,"level");if(Me(_,9,ta),e.options[Re]){if(y!==ae||S!==ae)throw new d(_s);_===ae&&T===ae&&(_=0)}h&&(_=ae);let N=_a(e,n,Se),U=_a(e,n,be);D&&U===ae&&(U=!1),(U===ae||g&&!h)&&(U=!0),_!==ae&&6!=_&&(N=!1);const O=_a(e,n,Bo);if(!(g||y===ae&&S===ae||o.isInteger(E)&&E>=1&&E<=3))throw new d(vs);const L=wa(n[Ko]),B=wa(n.localExtraField),W=wa(n.centralExtraField);return{comment:s,ht:{rawFilename:i,rawComment:c,version:l,lastModDate:u,rawLastModDate:f,lastAccessDate:w,creationDate:p,internalFileAttributes:m,passThrough:h,password:y,rawPassword:S,encryptionStrength:E,zipCrypto:g,extendedTimestamp:b,ntfsTimestamp:x,keepOrder:R,useWebWorkers:F,transferStreams:z,bufferedWrite:D,createTempStream:A,dataDescriptorSignature:k,signal:I,useUnicodeFileNames:C,compressionMethod:T,format:v?v.format:ae,codecURI:v?v.codecURI:ae,yt:v?v.versionNeeded:ae,level:_,useCompressionStream:N,dataDescriptor:U,zip64:O,rawExtraField:L,St:B,wt:W}}}(e,r,l),{comment:p}=f,m=l[Ko];e.Ve.set(r,ae);const h=e.Ye,y={};let E,g;f.ht.keepOrder&&(y.Et=new S(e=>E=e)),e.Ye=y;try{const{ht:t}=f;0==t.level||t.compressionMethod!==ae||t.passThrough||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.me)return!0;if(_n(t)||vn(t,Dn))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1}(qe())||(t.level=0);const o=await async function(e,t,{ht:r},o){if(r.passThrough&&!t&&!_a(e,o,Ho))throw new d(js);let i;return t&&(t=new wo(t),await ho(t),({size:i}=t)),n.assign({reader:t},function(e,t,n,r,o){const{passThrough:i,zipCrypto:s,password:a,rawPassword:c,encryptionStrength:l}=r;let{dataDescriptor:u,zip64:f,level:w,compressionMethod:p}=r,m=0,h=0;if(i&&t){if(h=o[Fo],h===ae)throw new d(Hs);if(p===ae)throw new d(Gs)}const y=!0===f,S=_a(e,o,Wo);if(t&&i&&!S&&Ha(a,c))throw new d(Ns);const E=t&&(Boolean(a&&Ha(a)||c&&Ha(c))||i&&S);t||(w=0,p=0);const g=E?s?12:16+4*l:0;t&&(i?(o.uncompressedSize=h,m=n===ae?Ma(h)+g:n):n===ae?(u=!0,(f||f===ae)&&(f=!0,h=m=4294967296)):(o.uncompressedSize=h=n,m=(La(p,w)?Ma(h):h)+g));const b=!(E||t&&(0!==n||i)||La(p,w));b&&!s&&_a(e,o,be)===ae&&(u=!1);const x=y||h>=O,R=y||m>=O;if(x||R){if(!1===f)throw new d(Vs);f=!0}return f=f||!1,{gt:m,ht:{dataDescriptor:u,bt:b,zip64:f,ot:x,nt:R,uncompressedSize:h,level:w,compressionMethod:p,encrypted:E}}}(e,Boolean(t),i,r,o))}(e,c,f,l);({reader:c}=o);const p=Sa(e.writer),m=ya(e.writer),b=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:l,zipCrypto:u,useUnicodeFileNames:f,dataDescriptor:w,directory:p,rawExtraField:m,St:h,encryptionStrength:y,extendedTimestamp:S,ntfsTimestamp:E,passThrough:g,encrypted:b,ot:x,nt:R,uncompressedSize:F,crc32:z}=e;let{version:D,compressionMethod:A}=e;const k=!p&&La(A,c);let I;const C=g||!k,T=l&&(e.bufferedWrite||!w||!x&&!R||C),v=T||l&&w&&(x||R);if(l&&(x||R)){const e=20,t=ha(e);if(t.xt(1),t.xt(e-4),I=t.Rt,T&&(t.Ft(F),C)){const e=b?u?12:16+4*y:0;t.Ft(g?0:F+e)}}else I=de;let _,N,U,O,L;if(b&&!u){const e=ha(Ha(ra)+2);e.xt(39169),e.zt(ra),_=e.Rt,_[8]=y}else _=de;if(S){const e=Ca(n),t=Ta(e);if(t){const t=9+(o?4:0)+(i?4:0),n=ha(t);O=1+(o?2:0)+(i?4:0),n.xt(J),n.xt(t-4),n.Dt(O),n.At(e),o&&n.At(va(Ca(o))),i&&n.At(va(Ca(i))),U=n.Rt}else U=de;if(E===ae?!t||Boolean(o||i):E)try{const e=Ia(n),t=ha(36);t.xt(10),t.xt(32),t.kt(4),t.xt(1),t.xt(24),t.Ft(e),t.Ft(o?Ia(o):e),t.Ft(i?Ia(i):e),N=t.Rt}catch{N=de}else N=de}else N=U=de;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=oa||t===ae&&n===ae)if(r!=ia||t===ae&&n===ae)L=de;else{const e=ha(8);e.xt(30805),e.xt(4),e.xt((t===ae?0:t)&M),e.xt((n===ae?0:n)&M),L=e.Rt}else{const e=ma(t===ae?0:t),r=ma(n===ae?0:n),o=3+e.length+r.length,i=ha(4+o);i.xt(30837),i.xt(o),i.Dt(1),i.Dt(e.length),i.zt(e),i.Dt(r.length),i.zt(r),L=i.Rt}}catch{L=de}A===ae&&(A=k?8:0),D===ae&&(D=0!=A||p||b?20:10);const{yt:W}=e;k&&W!==ae&&(D=D>W?D:W),l&&(D=D>45?D:45),b&&!u&&(D=D>51?D:51,g&&z!==ae&&(_[4]=1),Wa(tt(_),9,A),A=99);const P=v?Ha(I):0,Z=P+Ha(_,U,N,L,m,h);if(Z+(e[Re]?67:0)>M)throw new d(Ls);const V=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),{$e:H,et:G,rawLastModDate:j}=Ga({version:D,bitFlag:ja(c,f,w,b,A),compressionMethod:A,uncompressedSize:F,lastModDate:V<se?se:V>ie?ie:V,rawLastModDate:r,rawFilename:t,nt:R,ot:x,extraFieldLength:Z}),q=ha(oe+Ha(t)+Z),K=q.Rt,Y=tt(K);return q.At(B),q.zt(H),q.zt(t),v&&q.zt(I),q.zt(_),q.zt(U),q.zt(N),q.zt(L),q.zt(m),q.zt(h),w&&(R||Pa(Y,18,0),x||Pa(Y,22,0)),{It:K,Ct:Y,$e:H,et:G,lastModDate:n,rawLastModDate:j,encrypted:b,compressed:k,version:D,compressionMethod:A,Tt:O,st:de,vt:P,lt:U,ut:N,ft:L,ct:_,extraFieldLength:Z}}(l=n.assign({},l,u.ht,f.ht,o.ht,{signature:l[qo],crc32:l.crc32===ae?l[qo]:l.crc32,offset:e.offset-p,diskNumberStart:m,[Re]:e.options[Re]})),x=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=de,i=0,s=e?20:12;return n&&(s+=4),t&&(o=new w(s),r=tt(o),n&&(i=4,Pa(r,0,P))),{_t:o,Nt:r,Ut:i}}(l),R=Ha(b.It,x._t);g=await async function(e,t,r,o,s){const{Ve:a,writer:c}=e,{keepOrder:l,dataDescriptor:u,bt:f,signal:w}=s,{Ot:p,Pe:m,Mt:h,Lt:y}=o,E=e.options[Re];let g,b,x,R,z,D,A=m,k=0;const I=l&&h?h.Et:ae;a.set(t,A);try{s.bufferedWrite||!l||e.Je||e.Ke||!u&&!f?(g=!0,e.Ke++,D=s.createTempStream?await s.createTempStream():new F(ae,ae,{highWaterMark:ce}),D.size=0,await ho(c)):(D=c,await I,await C()),await ho(D);const m=Sa(c);e.Ze&&!g&&await Da(e,c),E&&!g&&pa(o,e.offset-m);const{It:h}=p;g||await T();const y=ya(c),b=ga(e,c);if(A.diskNumberStart=y,g||(R=!0,z=c.size,await Aa(D,h)),A=await async function(e,t,{diskNumberStart:r,Et:o},s,a,c){const{Ot:l,Bt:u,Wt:f}=s,{$e:w,et:p,lastModDate:m,rawLastModDate:h,encrypted:y,compressed:S,version:E,compressionMethod:g,st:b,vt:x,lt:R,Tt:F,ut:z,ft:D,ct:A}=l,{_t:k}=u,{rawFilename:I,lastAccessDate:C,creationDate:T,password:v,rawPassword:_,level:N,zip64:U,ot:M,nt:B,zipCrypto:W,dataDescriptor:P,directory:Z,executable:V,versionMadeBy:H,rawComment:G,rawExtraField:j,wt:q,useWebWorkers:K,transferStreams:Y,onstart:X,onprogress:J,onend:Q,signal:$,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,uid:ie,gid:se,unixMode:ce,symlink:le,setuid:ue,setgid:fe,sticky:de,unixExternalUpper:we,msdosAttributesRaw:pe,msdosAttributes:me,useCompressionStream:he,passThrough:ye,format:Se,codecURI:Ee}=c,ge={Et:o,versionMadeBy:H,zip64:U,directory:Boolean(Z),executable:Boolean(V),filenameUTF8:!0,rawFilename:I,commentUTF8:!0,rawComment:G,st:b,vt:x,lt:R,ut:z,ft:D,ct:A,rawExtraField:j,wt:q,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,diskNumberStart:r,uid:ie,gid:se,unixMode:ce,symlink:Boolean(le),setuid:ue,setgid:fe,sticky:de,unixExternalUpper:we,msdosAttributesRaw:pe,msdosAttributes:me};let{crc32:be,uncompressedSize:xe}=c,Re=0;ye||(xe=0);const{writable:Fe}=t;if(e){const n=an(Eo(e)),r=e.size,o={options:{codecType:Wn,inputSize:r,level:N,rawPassword:_,password:v,encryptionStrength:ee,zipCrypto:y&&W,passwordVerification:y&&W&&h>>8&L,computeCrc32:!ye,compressed:S&&!ye,encrypted:y&&!ye,useWebWorkers:K,useCompressionStream:he,transferStreams:Y,format:Se,codecURI:Ee,compressionMethod:g},config:a,ae:{signal:$,size:r,onstart:X,onprogress:J,onend:Q}};try{const e=await Sr({readable:n,writable:Fe},o);if(Re=e.outputSize,t.size+=Re,ye||(xe=e.inputSize,y&&!W||(be=e.crc32)),!B&&Re>=O||!M&&xe>=O)throw new d(Vs)}catch(e){throw e.outputSize!==ae&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,Ot:r,Bt:o},{zip64:s,zipCrypto:a,passThrough:c,dataDescriptor:l}){const{et:u,encrypted:f}=r,{Nt:d,Ut:w}=o;f&&!a&&!c||e===ae||(Pa(u,10,e),l&&Pa(d,w,e)),s?l&&(Za(d,w+4,i(t)),Za(d,w+12,i(n))):(Pa(u,14,t),Pa(u,18,n),l&&(Pa(d,w+4,t),Pa(d,w+8,n)))}({crc32:be,compressedSize:Re,uncompressedSize:xe,Ot:l,Bt:u},c),P&&await Aa(t,k),n.assign(ge,{uncompressedSize:xe,compressedSize:Re,lastModDate:m,rawLastModDate:h,creationDate:T,lastAccessDate:C,encrypted:Boolean(y),zipCrypto:Boolean(W),size:f+Re,compressionMethod:g,version:E,$e:w,et:p,signature:be,crc32:!y||W||ye?be:ae,Tt:F,ot:M,nt:B}),ge}(r,D,A,o,qe(),s),g||(R=!1),a.set(t,A),A.filename=t,g){if(await S.all([D.writable.getWriter().close(),I]),await C(),e.Ze&&await Da(e,c),x=!0,z=c.size,await T(),A.diskNumberStart=ya(c),A.offset=ga(e,c),E){const t=o.Wt;pa(o,e.offset-Sa(c)),A.size+=o.Wt-t}!function({rawFilename:e,encrypted:t,zip64:n,vt:r,crc32:o,compressedSize:s,uncompressedSize:a,ot:c,nt:l},u,{dataDescriptor:f,passThrough:d}){if(f||((!t||d&&o!==ae)&&Pa(u,14,o),l||Pa(u,18,s),c||Pa(u,22,a)),n&&r){const t=oe+Ha(e)+4;Za(u,t,i(a)),Za(u,t+8,i(s))}}(A,p.Ct,s),await Aa(c,p.It),await ka(D.readable,c,w,e=>k+=e),c.size+=D.size,x=!1}else A.diskNumberStart=y,A.offset=b;return e.offset+=A.size,A}catch(n){if(x||R){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-z,g&&(e.offset+=k)}throw a.delete(t),n}finally{if(g&&e.Ke--,y&&y(I),b&&b(),g&&D&&D.dispose)try{await D.dispose()}catch{}}async function C(){e.Je=!0;const{Qe:t}=e;e.Qe=new S(t=>b=()=>{e.Je=!1,t()}),await t}async function T(){Ea(c,Ha(p.It))&&await c.closeDisk()}}(e,r,c,{Ot:b,Bt:x,Wt:R,Pe:y,Mt:h,Lt:E},l)}catch(t){throw e.Ve.delete(r),t}finally{E&&E(h&&h.Et)}return n.assign(g,{name:r,comment:p,extraField:m}),new ei(g)}(e,r,c,l)}catch(t){throw e.He.delete(r),t}finally{const e=aa.shift();e?e():sa--}}(l,e,r,c);u.add(f);const p=()=>u.delete(f);return S.prototype.then.call(f,p,p),ua(l,f)}remove(e){const{He:t,Ve:n}=this;if(typeof e==fe&&(e=n.get(e)),e&&e.filename!==ae){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=de,n={}){const r=this,{je:o,writer:s}=this,{writable:a}=s;if(!(e instanceof w))throw new d(Ds);if(Ha(e)>M)throw new d(zs);for(;o.size;)await S.allSettled(t.from(o));await S.allSettled(r.qe.map(e=>e.Pt));const c=r.qe.filter(e=>e.error&&!e.Zt);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.Zt=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const o=function(e){let t=0;for(const[,n]of e){const{rawFilename:e,ct:r,rawComment:o,ut:i,ft:s,rawExtraField:a,wt:c,extendedTimestamp:l,Tt:u,lastModDate:f,ot:w,nt:p,uncompressedSize:m,compressedSize:h}=n,y=n.offset>=O,S=n.diskNumberStart>=M;let E,g;if(y||S||w||p){const e=4+(w?8:0)+(p?8:0)+(y?8:0)+(S?4:0),t=ha(e);t.xt(1),t.xt(e-4),w&&t.Ft(m),p&&t.Ft(h),y&&t.Ft(n.offset),S&&t.At(n.diskNumberStart),E=t.Rt}else E=de;n.st=E,n.Vt=y,n.it=S;const b=Ca(f);if(l&&Ta(b)){const e=ha(9);e.xt(J),e.xt(5),e.Dt(u),e.At(b),g=e.Rt}else g=de;n.lt=g;const x=Ha(E,r,i,s,g,a,c);if(x>M)throw new d(Ls);t+=q+Ha(e,o)+x}return t}(e.Ve),{Ht:s,Gt:a,jt:c}=await async function(e,n,r){const{Ve:o,writer:i}=e,s=new w(n);await ho(i);let a=0,c=0,l=ya(i),u=Sa(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:d,st:w,ct:p,lt:m,ut:h,ft:y,rawExtraField:S,wt:E,rawComment:g,versionMadeBy:b,$e:x,et:R,ot:F,nt:z,it:D,Vt:A,internalFileAttributes:k,externalFileAttributes:I,diskNumberStart:C,uncompressedSize:T,compressedSize:v}=n,_=Ha(w,p,m,h,y,S,E),N=q+Ha(d,g)+_;Ea(i,a+N-c)&&(await Aa(i,s.slice(c,a)),c=a,f=0,await i.closeDisk()),0==e&&(l=ya(i),u=Sa(i)),F||Pa(R,18,T),z||Pa(R,14,v),(A||D)&&n.version<45&&Wa(R,0,45);const U=ha(N);if(U.At(V),U.xt(b),U.zt(x.subarray(0,24)),U.xt(_),U.xt(Ha(g)),U.xt(D?M:C),U.xt(k),U.At(I),U.At(A?O:t),U.zt(d),U.zt(w),U.zt(p),U.zt(m),U.zt(h),U.zt(y),U.zt(S),U.zt(E),U.zt(g),Va(s,U.Rt,a),a+=N,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new ei(n))}catch{}}return await Aa(i,c?s.slice(c):s),{Ht:{diskNumber:l,diskOffset:u},Gt:{diskNumber:ya(i),qt:f},jt:s}}(e,o,r),l=await async function(e,t,n){const r=Ua(e,n,"signCentralDirectory");if(r){const n=await r(t),o=Ha(n);if(o>M)throw new d(na);const i=ha(6+o);i.At(Z),i.xt(o),i.zt(n);const{writer:s}=e;return Ea(s,Ha(i.Rt))&&await s.closeDisk(),await Aa(s,i.Rt),6+o}return 0}(e,c,r);await async function(e,t,n,r){const{writer:o}=e,{Ht:s,Gt:a,Kt:c}=r;let{Yt:l}=r,u=e.Ve.size,f=s.diskNumber,w=ga(e,s);const p=Ha(t);if(p>M)throw new d(zs);let m=_a(e,n,Bo),h=ya(o);if(Ea(o,(m?98:K)+p)&&h++,w>=O||l>=O||u>=M||h>=M){if(!1===m)throw new d(Vs);m=!0}const y=ha(m?98:K);Ea(o,Ha(y.Rt)+p)&&await o.closeDisk(),h=ya(o);let S=h==a.diskNumber?a.qt:0;m&&(y.At(G),y.Ft(44),y.xt(45),y.xt(45),y.At(h),y.At(f),y.Ft(S),y.Ft(u),y.Ft(l),y.Ft(w),y.At(j),y.At(h),y.Ft(i(ga(e,o))+i(l)+i(c)),y.At(h+1),_a(e,n,"supportZip64SplitFile",!0)&&(h=M,f=M),S=M,u=M,w=O,l=O),y.At(H),y.xt(h),y.xt(f),y.xt(S),y.xt(u),y.At(l),y.At(w),y.xt(p),await Aa(o,y.Rt),p&&await Aa(o,t)}(e,n,r,{Ht:s,Gt:a,Yt:o,Kt:l})}(r,e,n),!mo(s)&&_a(r,n,ge)||await a.getWriter().close(),s.getData?s.getData():a}}class la extends S{then(e,t){const{Xt:n}=this;return n&&(n.Zt=!0),super.then(e,t)}}function ua(e,t){const n=new la((e,n)=>S.prototype.then.call(t,e,n)),r={};return n.Xt=r,r.Pt=S.prototype.then.call(n,ae,e=>r.error=e),e.qe.push(r),n}async function fa(e,t){try{await e.writer.writable.abort(t)}catch{}}function da(e,t,n){e.je.add(t),t.catch(e=>{try{n(e)}catch{}})}function wa(e){if(!e)return de;if(!(e instanceof c))throw new d(Us);let t=0,n=0;e.forEach((e,n)=>{if(Oe(n,M,Os),!(e instanceof w))throw new d(Ms);if(Ha(e)>M)throw new d(Ls);t+=4+Ha(e)});const r=new w(t),o=tt(r);return e.forEach((e,t)=>{Wa(o,n,t),Wa(o,n+2,Ha(e)),Va(r,e,n+4),n+=4+Ha(e)}),r}function pa(e,t){const{Ot:n}=e;let{It:r,extraFieldLength:o}=n,i=64-(t+Ha(r))%64;i<4&&(i+=64);const s=new w(i),a=tt(s);Wa(a,0,6534),Wa(a,2,i-4);const c=r;n.It=r=new w(Ha(c)+i),Va(r,c),Va(r,s,Ha(c));const l=tt(r);Wa(l,28,o+i),n.Ct=l,e.Wt+=i}function ma(e){const t=new w(4);tt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function ha(e){const t=new w(e),n=tt(t);let r=0;return{Rt:t,Dt:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},xt:e=>{Wa(n,r,e),r+=2},At:e=>{Pa(n,r,e),r+=4},Ft:e=>{Za(n,r,i(e)),r+=8},zt:e=>{Va(t,e,r),r+=Ha(e)},kt:e=>r+=e}}function ya(e){const{diskNumber:t=0}=e;return t}function Sa(e){const{diskOffset:t=0}=e;return t}function Ea(e,t){const{availableSize:n=ce}=e;return t>n}function ga(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Ge:0)}function ba(e){const t=tt(e);let n=0;for(;n+4<=Ha(e);){const r=4+Ba(t,n+2);if(1==Ba(t,n))return ba($e(e.subarray(0,n),e.subarray(s.min(n+r,Ha(e)))));n+=r}return e}async function xa(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await ka(Eo(t,{offset:n,size:r}),o,ae,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function Ra(e,t){const n=await So(e,t,oe);if(Ha(n)<oe)return oe;const r=tt(n);return oe+Ba(r,26)+Ba(r,28)}function Fa(e,{offset:t,diskNumberStart:n}){return t+(e.Ne?e.Ne(n):0)}function za(){const e=new w(4);return Pa(tt(e),0,W),e}async function Da(e,t){delete e.Ze,await Aa(t,za()),e.offset+=4}async function Aa(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Ha(t),await r.write(t)}finally{r.releaseLock()}}async function ka(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){await o.ready,await o.write(e),r(Ha(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function Ia(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<Ps?Ps:t>Zs?Zs:t}}function Ca(e){return s.floor(e.getTime()/1e3)}function Ta(e){return e>=Bs&&e<=Ws}function va(e){return s.min(Ws,s.max(Bs,e))}function _a(e,t,n,r){const o=t[n]===ae?e.options[n]:t[n];return o===ae?r:o}function Na(e,t,n,r){const i=_a(e,t,n,r);if(null===i)return r;if(i!==ae&&(typeof i.getTime!=ue||o.isNaN(i.getTime())))throw new d(Is);return i}function Ua(e,t,n){return _e(_a(e,t,n))}function Oa(e,t,n,r){return Le(_a(e,t,n,r))}function Ma(e){return e+5*(s.floor(e/16383)+1)}function La(e,t){return e===ae?t===ae||t>0:0!==e}function Ba(e,t){return e.getUint16(t,!0)}function Wa(e,t,n){e.setUint16(t,n,!0)}function Pa(e,t,n){e.setUint32(t,n,!0)}function Za(e,t,n){e.setBigUint64(t,n,!0)}function Va(e,t,n){e.set(t,n)}function Ha(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Ga({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,nt:c,ot:l,extraFieldLength:u}){const f=ha(26),d=f.Rt,w=tt(d);if(f.xt(e),f.xt(t),f.xt(n),s===ae){const e=new m(1),t=tt(e);Wa(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Wa(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=e[0]}return f.At(s),f.kt(4),c||o!==ae?f.At(c?O:o):f.kt(4),l||r!==ae?f.At(l?O:r):f.kt(4),f.xt(Ha(a)),f.xt(u),{$e:d,et:w,rawLastModDate:s}}function ja(e,t,n,r,o){let i=0;return t&&(i|=Q),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function qa(e,t){if(!e)return!1;const{Jt:n}=e;return n?n.includes(t):vn(e,t)}const Ka=1048576,Ya=".zip.js-temp",Xa=1048576,Ja=1048576,Qa=".zip.js-temp",$a="createSyncAccessHandle is only available in dedicated workers";try{!function(e){const t=Xe(Qe(e));n.assign(Pe,t),n.assign(je,t)}({baseURI:void 0===b&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===b?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new f("zip-core.min.js",b.baseURI).href})}catch{}e.BlobReader=Hr,e.BlobWriter=Gr,e.Data64URIReader=class extends Wr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Qt:e,$t:r,size:s.floor(.75*(t-r))})}readUint8Array(e,t){const{$t:n,Qt:r}=this,o=new w(t),i=4*s.floor(e/3),a=atob(r.substring(i+n,4*s.ceil((e+t)/3)+n)),c=e-3*s.floor(i/4);let l=0;for(let e=c;e<c+t&&e<a.length;e++)o[e-c]=a.charCodeAt(e),l++;return l<o.length?o.subarray(0,l):o}},e.Data64URIWriter=class extends Pr{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",en:""})}writeUint8Array(e){const t=this;let n,o=t.en;const i=t.en.length;for(t.en="",n=0;n<3*s.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.en+=r.fromCharCode(e[n]);o.length>2?t.data+=R(o):t.en=o+t.en}getData(){return this.data+R(this.en)}},e.ERR_AMBIGUOUS_ARCHIVE=di,e.ERR_BAD_FORMAT=ti,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=oi,e.ERR_DUPLICATED_NAME=Fs,e.ERR_ENCRYPTED=ai,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=wi,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=fi,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ri,e.ERR_EOCDR_NOT_FOUND=ni,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=si,e.ERR_HTTP_RANGE=kr,e.ERR_HTTP_RESOURCE_CHANGED=Ir,e.ERR_INVALID_AUTHENTICATION_CODE=gt,e.ERR_INVALID_CODEC_DEFINITION=un,e.ERR_INVALID_CODEC_MODULE=dn,e.ERR_INVALID_COMMENT=zs,e.ERR_INVALID_COMMENT_TYPE=Ds,e.ERR_INVALID_COMPRESSED_DATA=xn,e.ERR_INVALID_CRC32=Rn,e.ERR_INVALID_DATE=Is,e.ERR_INVALID_ENCRYPTION_STRENGTH=vs,e.ERR_INVALID_ENTRY_COMMENT=As,e.ERR_INVALID_ENTRY_COMMENT_TYPE=ks,e.ERR_INVALID_ENTRY_NAME=Cs,e.ERR_INVALID_EXTRAFIELD=Us,e.ERR_INVALID_EXTRAFIELD_DATA=Ls,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=Ms,e.ERR_INVALID_EXTRAFIELD_TYPE=Os,e.ERR_INVALID_FILENAME_VALIDATION=hi,e.ERR_INVALID_FUNCTION_OPTION=Ce,e.ERR_INVALID_GID=Ys,e.ERR_INVALID_LEVEL=ta,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=yi,e.ERR_INVALID_MAX_WORKERS=Be,e.ERR_INVALID_MSDOS_ATTRIBUTES=$s,e.ERR_INVALID_MSDOS_DATA=ea,e.ERR_INVALID_PASSWORD=Et,e.ERR_INVALID_PASSWORD_TYPE=ve,e.ERR_INVALID_SIGNAL=Te,e.ERR_INVALID_SIGNATURE_DATA=na,e.ERR_INVALID_STRICTNESS=mi,e.ERR_INVALID_UID=Ks,e.ERR_INVALID_UNCOMPRESSED_SIZE=bn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Js,e.ERR_INVALID_UNIX_ID_SIZE=Qs,e.ERR_INVALID_UNIX_MODE=Xs,e.ERR_INVALID_VERSION=Ts,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Cr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=ii,e.ERR_OVERLAPPING_ENTRY=ui,e.ERR_RESERVED_COMPRESSION_METHOD=fn,e.ERR_SPLIT_ZIP_FILE=li,e.ERR_UNDEFINED_COMPRESSION_METHOD=Gs,e.ERR_UNDEFINED_READER=js,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Hs,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=pi,e.ERR_UNSUPPORTED_COMPRESSION=wn,e.ERR_UNSUPPORTED_CONTEXT=$a,e.ERR_UNSUPPORTED_CRYPTO_API=xt,e.ERR_UNSUPPORTED_ENCRYPTION=ci,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Ns,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=_s,e.ERR_UNSUPPORTED_FORMAT=Vs,e.ERR_UNSUPPORTED_UINT64=Si,e.ERR_WORKER_STARTUP_TIMEOUT=Hn,e.ERR_WRITER_NOT_INITIALIZED=Tr,e.ERR_ZIP_NOT_EMPTY=qs,e.HttpRangeReader=class extends lo{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=lo,e.Reader=Wr,e.SplitDataReader=uo,e.SplitDataWriter=fo,e.TextReader=class extends Hr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Gr{constructor(e){super(),n.assign(this,{encoding:e,tn:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,tn:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return Dr(e,t,!1)}(new w(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Wr{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{Rt:e,size:e.length})}readUint8Array(e,t){return this.Rt.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Pr{constructor(e){super(),this.nn=e||262144}init(e=0){n.assign(this,{offset:0,Rt:new w(e>0?e:this.nn)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.Rt.length){let e=t.Rt.length?2*t.Rt.length:t.nn;for(;e<n;)e*=2;const r=t.Rt;t.Rt=new w(e),t.Rt.set(r)}t.Rt.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.Rt.length?this.Rt:this.Rt.slice(0,this.offset)}},e.VERSION="2.11.0",e.WARNING_APPENDED_DATA=zi,e.WARNING_COMPRESSED_PATCHED_DATA=bi,e.WARNING_DUPLICATE_FILENAME=Ii,e.WARNING_MALFORMED_EXTRA_FIELD=xi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Ti,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=vi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=_i,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=Ci,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=Ai,e.WARNING_PREPENDED_DATA=Di,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=ki,e.WARNING_UNKNOWN_VERSION=gi,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=Ri,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=Ei,e.WARNING_WRAPPED_ENTRIES_COUNT=Fi,e.Writer=Pr,e.ZipReader=Wi,e.ZipReaderStream=Pi,e.ZipWriter=ca,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new F;this.readable=t,this.zipWriter=new ca(n,e),this.je=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new F({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await fa(t,e)}}()}});return da(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new F({start(e){t=e}});return da(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await S.allSettled(t.from(this.je))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await fa(r,e),e}try{return await r.close(e,n)}catch(e){throw await fa(r,e),e}}},e.configure=function(e){n.assign(je,Xe(Qe(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=Xa}=e;return function(){const e=[];let n,r,o,i=0,s=!1;const a=new D({async write(o){s?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new F;r=cn(t.readable),n=t.writable.getWriter(),s=!0;for(const t of e)await n.write(t);e.length=0}())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:a,readable:new z({async pull(t){if(s){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=Ka,directoryName:r=Ya,getDirectory:o=()=>I.storage.getDirectory()}=e;let i;function s(){return i||(i=S.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,a,c=0,l=!1;const u=new D({async write(a){l?await i.write(a):(e.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),l=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:u,readable:new z({async pull(t){if(l){if(!a){const e=await o.getFile();a=e.stream().getReader()}const{value:e,done:n}=await a.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){a&&await a.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await s();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=Ja,directoryName:r=Qa,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new d($a);const i=o||(()=>I.storage.getDirectory());let a;function c(){return a||(a=S.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return function(){const e=[];let r,o,i=0,a=!1,l=0,u=0;const f=new D({async write(s){a?(o.write(s,{at:l}),l+=s.length):(e.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),a=!0;for(const t of e)o.write(t,{at:l}),l+=t.length;e.length=0}())},close(){o&&o.flush()}});let d=0;return{writable:f,readable:new z({pull(t){if(a){const e=l-u;if(e<=0)return void t.close();const n=new w(s.min(524288,e)),r=o.read(n,{at:u});r?(u+=r,t.enqueue(n.subarray(0,r))):t.close()}else d<e.length?t.enqueue(e[d++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=Sn,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=qe(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:qa(n,Fn)||qa(e,Fn)||qa(e,Dn),decompression:qa(r,Fn)||qa(t,Fn)||qa(t,Dn),registered:!1},{compressionMethod:9,compression:!1,decompression:qa(r,zn)||qa(t,zn),registered:!1}];for(const e of Sn()){const t=En(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==ue:ae,decompression:t?typeof t.DecompressionStream==ue:ae,registered:!0})}return o},e.isZipFile=Zi,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:s,versionNeeded:a}=e;if(!o.isInteger(t)||t<0||t>M||typeof n!=fe||!n.length)throw new d(un);if(pn.includes(t))throw new d(fn);const c=typeof i==ue||typeof s==ue;if(!(c||typeof r==fe&&r.length))throw new d(un);mn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:a}),c&&gn(n,{CompressionStream:i,DecompressionStream:s})},e.resetConfiguration=function(){for(const e of Ge)delete je[e];n.assign(je,Pe)},e.terminateWorkers=async function(){await S.allSettled(wr.map(e=>(Rr(e),e.terminate()))),Gn=ae,jn=!1},e.unregisterCodec=function(e){const t=mn.get(e);if(t){let n;mn.delete(e),mn.forEach(e=>n=n||e.format==t.format),n||hn.delete(t.format)}}});
|
|
1
|
+
!function(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:n,String:r,Number:o,BigInt:i,Math:s,Date:a,Map:c,Set:l,Response:u,URL:f,Error:d,Uint8Array:w,Uint16Array:p,Uint32Array:m,DataView:h,Blob:y,Promise:S,TextEncoder:E,TextDecoder:g,document:b,crypto:x,btoa:R,TransformStream:F,ReadableStream:z,WritableStream:D,CompressionStream:A,DecompressionStream:k,navigator:I,Worker:C,Symbol:T,setTimeout:v,clearTimeout:_,structuredClone:N}="undefined"!=typeof globalThis?globalThis:this||self;var U=void 0!==b?b.currentScript:null;const O=4294967295,M=65535,L=255,B=67324752,W=134695760,P=W,Z=84233040,V=33639248,H=101010256,G=101075792,j=117853008,q=46,K=22,Y=20,X=56,J=21589,Q=2048,$=61440,ee=16384,te=2048,ne=1024,re="/",oe=30,ie=new a(2107,11,31,23,59,58),se=new a(1980,0,1),ae=void 0,ce=1/0,le="undefined",ue="function",fe="string",de=new w,we="password",pe="rawPassword",me="passThrough",he="signal",ye="useWebWorkers",Se="useCompressionStream",Ee="transferStreams",ge="preventClose",be="dataDescriptor",xe="offset",Re="usdz",Fe="maxAppendedDataSize",ze="filename",De="comment",Ae="strict",ke="balanced",Ie="tolerant",Ce="Invalid option (must be a function)",Te="Invalid signal (must be an AbortSignal instance)",ve="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function _e(e){if(e&&typeof e!=ue)throw new d(Ce);return e}function Ne(e){if(e&&(typeof e.addEventListener!=ue||"boolean"!=typeof e.aborted))throw new d(Te);return e||ae}function Ue(e,t){if(e&&typeof e!=fe||t&&!(t instanceof w))throw new d(ve)}function Oe(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new d(n)}function Me(e,t,n){e!==ae&&Oe(e,t,n)}function Le(e){return typeof e==fe&&e.trim()?o(e):e}const Be="Invalid maxWorkers (must be an integer greater than 0)";let We=2;try{typeof I!=le&&I.hardwareConcurrency&&(We=I.hardwareConcurrency)}catch{}const Pe={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:We,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=le&&A,DecompressionStream:typeof k!=le&&k},Ze="maxWorkers",Ve=["chunkSize",Ze,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],He=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Ge=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Ve,...He],je={...Pe};function qe(){return je}function Ke(e){return Ye(e.chunkSize)}function Ye(e){return e=Le(e),o.isInteger(e)&&e>=1?s.max(e,64):65536}function Xe(e){const t={};for(const n of Ge){const r=e[n];r!==ae&&(t[n]=Je(n,r))}return t}function Je(e,t){if(Ve.includes(e)){if(t=Le(t),e==Ze&&(!o.isInteger(t)||t<1))throw new d(Be)}else He.includes(e)&&_e(t);return t}function Qe(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ae&&r===ae)return e;const o=n.assign({},e);return o.CompressionStreamFallback===ae&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===ae&&(o.DecompressionStreamFallback=r),o}function $e(e,t){const n=new w(e.length+t.length);return n.set(e),n.set(t,e.length),n}function et(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new w(e):e}function tt(e){return new h(e.buffer,e.byteOffset,e.byteLength)}const nt=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;nt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=nt[t-1][e];nt[t][e]=n>>>8^nt[0][255&n]}const[rt,ot,it,st,at,ct,lt,ut]=nt;class ft{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new h(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=ut[255&e]^lt[e>>>8&255]^ct[e>>>16&255]^at[e>>>24&255]^st[255&n]^it[n>>>8&255]^ot[n>>>16&255]^rt[n>>>24&255]}}for(;r<n;r++)t=t>>>8^rt[255&(t^e[r])];this.o=t}get(){return~this.o}}class dt extends F{constructor(){let e;const t=new ft;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function wt(e){if(typeof E==le){e=unescape(encodeURIComponent(e));const t=new w(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new E).encode(e)}const pt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=pt.l(n);return 32===r?e.concat(t):pt.m(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+pt.l(n)},h(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=pt.S(t,e[n-1]&2147483648>>t-1,1)),e},S:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,l:e=>s.round(e/1099511627776)||32,m(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let o=0;o<e.length;o++)r.push(n|e[o]>>>t),n=e[o]<<32-t;const o=e.length?e[e.length-1]:0,i=pt.l(o);return r.push(pt.S(t+i&31,t+i>32?n:r.pop(),1)),r}},mt={bytes:{R(e){const t=pt.bitLength(e)/8,n=new w(t);let r;for(let o=0;o<t;o++)3&o||(r=e[o/4]),n[o]=r>>>24,r<<=8;return n},F(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(pt.S(8*(3&n),r)),t}}},ht=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.A=[1518500249,1859775393,2400959708,3395469782],e?(t.I=e.I.slice(0),t.C=e.C.slice(0),t.T=e.T):t.reset()}reset(){const e=this;return e.I=e.D.slice(0),e.C=[],e.T=0,e}update(e){const t=this;"string"==typeof e&&(e=mt.v.F(e));const n=t.C=pt.concat(t.C,e),r=t.T,o=t.T=r+pt.bitLength(e);if(o>9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const i=new m(n);let s=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=o;e+=t.blockSize)t._(i.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}N(){const e=this;let t=e.C;const n=e.I;t=pt.concat(t,[pt.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e.T/4294967296)),t.push(0|e.T);t.length;)e._(t.splice(0,16));return e.reset(),n}U(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0}O(e,t){return t<<e|t>>>32-e}_(e){const n=this,r=n.I,o=t(80);for(let t=0;t<16;t++)o[t]=e[t];let i=r[0],a=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;e<=79;e++){e>=16&&(o[e]=n.O(1,o[e-3]^o[e-8]^o[e-14]^o[e-16]));const t=n.O(5,i)+n.U(e,a,c,l)+u+o[e]+n.A[s.floor(e/20)]|0;u=l,l=c,c=n.O(30,a),a=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},yt={importKey:e=>new yt.M(mt.bytes.F(e)),L(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new d("invalid params to pbkdf2");const o=1+(r>>5)<<2;let i,s,a,c,l;const u=new ArrayBuffer(o),f=new h(u);let w=0;const p=pt;for(t=mt.bytes.F(t),l=1;w<(o||1);l++){for(i=s=e.encrypt(p.concat(t,[l])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)i[c]^=s[c];for(a=0;w<(o||1)&&a<i.length;a++)f.setInt32(w,i[a]),w+=4}return u.slice(0,r/8)},M:class{constructor(e){const t=this,n=t.B=ht,r=[[],[]];t.W=[new n,new n];const o=t.W[0].blockSize/32;e.length>o&&(e=(new n).update(e).N());for(let t=0;t<o;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.W[0].update(r[0]),t.W[1].update(r[1]),t.P=new n(t.W[0])}reset(){const e=this;e.P=new e.B(e.W[0]),e.Z=!1}update(e){this.Z=!0,this.P.update(e)}digest(){const e=this,t=e.P.N(),n=new e.B(e.W[1]).update(t).N();return e.reset(),n}encrypt(e){if(this.Z)throw new d("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},St=typeof x!=le&&typeof x.getRandomValues==ue,Et="Invalid password",gt="Invalid authentication code",bt="zipjs-abort-check-password",xt="Crypto API not supported";function Rt(e){if(St)return x.getRandomValues(e);throw new d(xt)}const Ft=16,zt={name:"PBKDF2"},Dt=n.assign({hash:{name:"HMAC"}},zt),At=n.assign({iterations:1e3,hash:{name:"SHA-1"}},zt),kt=["deriveBits"],It=[8,12,16],Ct=[16,24,32],Tt=10,vt=[0,0,0,0],_t=typeof x!=le,Nt=_t&&x.subtle,Ut=_t&&typeof Nt!=le,Ot=mt.bytes,Mt=class{constructor(e){const t=this;t.V=[[[],[],[],[],[]],[[],[],[],[],[]]],t.V[0][0][0]||t.H();const n=t.V[0][4],r=t.V[1],o=e.length;let i,s,a,c=1;if(4!==o&&6!==o&&8!==o)throw new d("invalid aes key size");for(t.A=[s=e.slice(0),a=[]],i=o;i<4*o+28;i++){let e=s[i-1];(i%o===0||8===o&&i%o===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%o===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),s[i]=s[i-o]^e}for(let e=0;i;e++,i--){const t=s[3&e?i:i-4];a[e]=i<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.G(e,0)}decrypt(e){return this.G(e,1)}H(){const e=this.V[0],t=this.V[1],n=e[4],r=t[4],o=[],i=[];let s,a,c,l;for(let e=0;e<256;e++)i[(o[e]=e<<1^283*(e>>7))^e]=e;for(let u=s=0;!n[u];u^=a||1,s=i[s]||1){let i=s^s<<1^s<<2^s<<3^s<<4;i=i>>8^255&i^99,n[u]=i,r[i]=u,l=o[c=o[a=o[u]]];let f=16843009*l^65537*c^257*a^16843008*u,d=257*o[i]^16843008*i;for(let n=0;n<4;n++)e[n][u]=d=d<<24^d>>>8,t[n][i]=f=f<<24^f>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}G(e,t){if(4!==e.length)throw new d("invalid aes block size");const n=this.A[t],r=n.length/4-2,o=[0,0,0,0],i=this.V[t],s=i[0],a=i[1],c=i[2],l=i[3],u=i[4];let f,w,p,m=e[0]^n[0],h=e[t?3:1]^n[1],y=e[2]^n[2],S=e[t?1:3]^n[3],E=4;for(let e=0;e<r;e++)f=s[m>>>24]^a[h>>16&255]^c[y>>8&255]^l[255&S]^n[E],w=s[h>>>24]^a[y>>16&255]^c[S>>8&255]^l[255&m]^n[E+1],p=s[y>>>24]^a[S>>16&255]^c[m>>8&255]^l[255&h]^n[E+2],S=s[S>>>24]^a[m>>16&255]^c[h>>8&255]^l[255&y]^n[E+3],E+=4,m=f,h=w,y=p;for(let e=0;e<4;e++)o[t?3&-e:e]=u[m>>>24]<<24^u[h>>16&255]<<16^u[y>>8&255]<<8^u[255&S]^n[E++],f=m,m=h,h=y,y=S,S=f;return o}},Lt=class{constructor(e,t){this.j=e,this.K=t,this.Y=t}reset(){this.Y=this.K}update(e){return this.X(this.j,e,this.Y)}J(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}$(e){0===(e[0]=this.J(e[0]))&&(e[1]=this.J(e[1]))}X(e,t,n){let r;if(!(r=t.length))return[];const o=pt.bitLength(t);for(let o=0;o<r;o+=4){this.$(n);const r=e.encrypt(n);t[o]^=r[0],t[o+1]^=r[1],t[o+2]^=r[2],t[o+3]^=r[3]}return pt.h(t,o)}},Bt=yt.M;let Wt=_t&&Ut&&typeof Nt.importKey==ue,Pt=_t&&Ut&&typeof Nt.deriveBits==ue;class Zt extends F{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){Ht(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,ee:s,ready:a}=n;o?(await async function(e,t,n,r){const o=await jt(e,t,n,Kt(r,0,It[t])),i=Kt(r,It[t]);if(o[0]!=i[0]||o[1]!=i[1])throw new d(Et)}(n,i,o,Kt(e,0,It[i]+2)),e=Kt(e,It[i]+2),r?t.error(new d(bt)):s()):await a;const c=new w(e.length-Tt-(e.length-Tt)%Ft);t.enqueue(Gt(n,e,c,0,Tt,!0))},async flush(e){const{te:t,ne:n,re:r,ready:i}=this;if(n&&t){await i;const s=Kt(r,0,r.length-Tt),a=Kt(r,r.length-Tt);let c=de;if(s.length){const e=Xt(Ot,s);n.update(e);const r=t.update(e);c=Yt(Ot,r)}const l=Kt(Yt(Ot,n.digest()),0,Tt);let u=r.length<Tt?1:0;for(let e=0;e<Tt;e++)u|=l[e]^a[e];if(u&&o)throw new d(gt);e.enqueue(c)}}})}}class Vt extends F{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){Ht(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,ee:i,ready:s}=n;let a=de;r?(a=await async function(e,t,n){const r=Rt(new w(It[t]));return $e(r,await jt(e,t,n,r))}(n,o,r),i()):await s;const c=new w(a.length+e.length-e.length%Ft);c.set(a,0),t.enqueue(Gt(n,e,c,a.length,0))},async flush(e){const{te:t,ne:n,re:r,ready:o}=this;if(n&&t){await o;let i=de;if(r.length){const e=t.update(Xt(Ot,r));n.update(e),i=Yt(Ot,e)}const s=Yt(Ot,n.digest()).slice(0,Tt);e.enqueue($e(i,s))}}})}}function Ht(e,t,r,o){n.assign(e,{ready:new S(t=>e.ee=t),password:qt(t,r),strength:o-1,re:de})}function Gt(e,t,n,r,o,i){const{te:s,ne:a,re:c}=e;c.length&&(t=$e(c,t));const l=t.length-o;let u;for(n=function(e,t){if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e}(n,r+(l-l%Ft)),u=0;u<=l-Ft;u+=Ft){const e=Xt(Ot,Kt(t,u,u+Ft));i&&a.update(e);const o=s.update(e);i||a.update(o),n.set(Yt(Ot,o),u+r)}return e.re=Kt(t,u),n}async function jt(e,r,o,i){e.password=null;const s=await async function(e,t,n,r,o){if(!Wt)return yt.importKey(t);try{return await Nt.importKey("raw",t,n,!1,o)}catch{return Wt=!1,yt.importKey(t)}}(0,o,Dt,0,kt),a=await async function(e,t,n){if(!Pt)return yt.L(t,e.salt,At.iterations,n);try{return await Nt.deriveBits(e,t,n)}catch{return Pt=!1,yt.L(t,e.salt,At.iterations,n)}}(n.assign({salt:i},At),s,8*(2*Ct[r]+2)),c=new w(a),l=Xt(Ot,Kt(c,0,Ct[r])),u=Xt(Ot,Kt(c,Ct[r],2*Ct[r])),f=Kt(c,2*Ct[r]);return n.assign(e,{keys:{key:l,oe:u,passwordVerification:f},te:new Lt(new Mt(l),t.from(vt)),ne:new Bt(u)}),f}function qt(e,t){return t===ae?wt(e):t}function Kt(e,t,n){return e.subarray(t,n)}function Yt(e,t){return e.R(t)}function Xt(e,t){return e.F(t)}class Jt extends F{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){$t(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=en(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new d(Et);e=e.subarray(12)}r?t.error(new d(bt)):t.enqueue(en(n,e))}})}}class Qt extends F{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){$t(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=Rt(new w(12));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(tn(n,t),0),o=12}else r=new w(e.length),o=0;r.set(tn(n,e),o),t.enqueue(r)}})}}function $t(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,ie:new ft(o[0]),se:new ft(o[2])}),r)for(let t=0;t<r.length;t++)nn(e,r[t]);else for(let n=0;n<t.length;n++)nn(e,t.charCodeAt(n))}(e,t,r)}function en(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=rn(e)^t[r],nn(e,n[r]);return n}function tn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=rn(e)^t[r],nn(e,t[r]);return n}function nn(e,t){let[,n]=e.keys;e.ie.append([t]);const r=~e.ie.get();n=sn(s.imul(sn(n+on(r)),134775813)+1),e.se.append([n>>>24]);const o=~e.se.get();e.keys=[r,n,o]}function rn(e){const t=2|e.keys[2];return on(s.imul(t,1^t)>>>8)}function on(e){return 255&e}function sn(e){return 4294967295&e}function an(e){if(e instanceof z)return e;const t=e.getReader();return new z({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function cn(e,t){e=an(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=ue||new y([]).stream()instanceof z)return new u(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,n))}function ln(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 un="Invalid codec definition",fn="Reserved compression method",dn="Invalid codec module",wn="Compression method not supported",pn=[0,8,9,99],mn=new c,hn=new c;function yn(e){return mn.get(e)}function Sn(){return t.from(mn.values(),e=>n.assign({},e,hn.get(e.format)))}function En(e){return hn.get(e)}function gn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=ue&&typeof r!=ue)throw new d(dn);hn.set(e,{CompressionStream:n,DecompressionStream:r})}const bn="Invalid uncompressed size",xn="Invalid compressed data",Rn="Invalid CRC32",Fn="deflate-raw",zn="deflate64-raw",Dn="gzip",An=[31,139,8];class kn extends F{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:d,inputSize:w}=e,p=this;let m,y,S,E=super.readable;const g=f&&En(f),b=c&&o&&!u&&!g&&(!i||a)&&Boolean(s&&r);if(i&&!a||!c||b||(m=new dt,E=Mn(E,m)),o)if(g)E=Ln(E,Un(g.CompressionStream,f,{level:l,chunkSize:t,compressionMethod:d,uncompressedSize:w}));else if(b)S=new In,E=Ln(E,new r(Dn)),E=Mn(E,S);else try{E=On(E,s,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(Dn)}catch{throw e}E=Ln(E,t),E=Mn(E,new In)}i&&(a?E=Mn(E,new Qt(e)):(y=new Vt(e),E=Mn(E,y))),Nn(p,E,()=>{i&&!a||!c||(p.crc32=b?S.crc32:new h(m.value.buffer).getUint32(0))})}}class In extends F{constructor(){let e,t=10,n=new w(0);super({transform(e,r){if(t){const n=s.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=$e(n,e));const i=o-8,a=s.min(i,n.length);r.enqueue($e(n.subarray(0,a),e.subarray(0,i-a))),n=$e(n.subarray(a),e.subarray(i-a))},flush(){const t=tt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Cn extends F{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:p,rawBitFlag:m,outputSize:y}=e;let E,g,b=super.readable;if(i&&(o?b=Mn(b,new Jt(e)):(g=new Zt(e),b=Mn(b,g))),c){const e=f&&En(f);if(e)b=Ln(b,Un(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:m,uncompressedSize:y}));else try{b=On(b,l,{chunkSize:t,deflate64:u},r,n)}catch(e){if(u||y===ae)throw e;let t;try{t=new r(Dn)}catch{throw e}b=function(e,t,n){const r=new ft;let o,i,s,a=0,c=!1;const l=new S((e,t)=>{i=e,s=t});l.catch(()=>{}),n||i();const u=new F({start(e){const t=new w(10);t.set(An),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{m()}const t=new w(8),o=tt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){s(e)}}),f=new F({transform(e,t){r.append(e),a+=e.length,a>=n?i():c&&p(),t.enqueue(e)},cancel(e){s(e)}});return e=Mn(e,u),Mn(e=Ln(e,t),f);function p(){m(),o=v(()=>s(new d(bn)),5e3)}function m(){_(o)}}(b,t,y)}b=function(e){const t=e.getReader();return new z({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(xn);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(b)}s&&(E=new dt,b=Mn(b,E)),Nn(this,b,()=>{if(s){const e=new h(E.value.buffer);if(a!=e.getUint32(0,!1))throw new d(Rn)}})}}const Tn=new c;function vn(e,t){if(!e)return!1;let n=Tn.get(e);n||(n=new c,Tn.set(e,n));let r=n.get(t);if(r===ae){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function _n(e){return vn(e,Fn)}function Nn(e,t,r){t=Mn(t,new F({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Un(e,t,n){if(!e)throw new d(wn);return new e(t,n)}function On(e,t,n,r,o){const i=t&&r?r:o||r,s=n.deflate64?zn:Fn;let a;try{a=new i(s,n)}catch(e){if(!t||!o||i==o)throw e;a=new o(s,n)}return Ln(e,a)}function Mn(e,t){return an(e).pipeThrough(t)}function Ln(e,t){const n=t.writable.getWriter(),r=e.getReader();return async function(){try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await async function(e,t){try{await e.abort(t)}catch{}}(n,e),await async function(e,t){try{await e.cancel(t)}catch{}}(r,e)}}(),t.readable}const Bn="data",Wn="deflate",Pn="inflate";class Zn extends F{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(Wn)?i=kn:o.startsWith(Pn)&&(i=Cn),r.outputSize=0;let s=0;const a=new i(e,t),c=super.readable,l=new F({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:s})}}),u=new F({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ae&&r.outputSize>e.outputSize))throw new d(bn)},flush(){const{crc32:e}=a;n.assign(r,{crc32:e,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(a).pipeThrough(u)})}}class Vn extends F{constructor(e){const t=[];let n=0;function r(){const r=new w(e);let o=0;for(;o<e;){const n=t[0],i=e-o;n.length<=i?(r.set(n,o),o+=n.length,t.shift()):(r.set(n.subarray(0,i),o),t[0]=n.subarray(i),o+=i)}return n-=e,r}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(o,i){for(t.push(o),n+=o.length;n>e;)i.enqueue(r())},flush(e){n&&e.enqueue(function(e,t){const n=new w(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,n))}})}}const Hn="Worker startup timeout";let Gn,jn,qn;function Kn(e){e.createWorker?jn=!0:Gn=!1}class Yn{constructor(e,{readable:t,writable:r},{options:o,config:i,ae:s,useWebWorkers:a,transferStreams:c,workerURI:l,createWorker:u},f){const{signal:d}=s;return jn&&(u=ae),n.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new Vn(Ke(i))).pipeThrough(new Xn(s),{signal:d}),writable:r,options:n.assign({},o),workerURI:l,createWorker:u,transferStreams:c,terminate:()=>new S(t=>{const{ue:n,ce:r}=e;n?(r?e.fe=t:(n.terminate(),t()),e.de=null):t()}),we(){if(e.ce){const{fe:t}=e;t&&(e.fe=null,e.pe=!0,e.ue.terminate(),t()),e.ce=!1,f(e)}}}),Gn===ae&&(Gn=typeof C!=le),(a&&qn&&(Gn&&l||u)?qn:Qn)(e,i)}}class Xn extends F{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await Jn(e,n)},async transform(e,r){o+=e.length,t&&await Jn(t,o,n),r.enqueue(e)},async flush(){r&&await Jn(r,o)}})}}async function Jn(e,...t){try{await e(...t)}catch{}}function Qn(e,t){return{run:()=>$n(e,t)}}async function $n({options:e,readable:t,writable:n,we:r},o){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Wn),n=t?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=t?o.CompressionStream:o.DecompressionStream;if(e.useCompressionStream){if(n&&n.me&&!_n(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.me||(e.useCompressionStream=!0)}}i=new Zn(e,o),await t.pipeThrough(i).pipeThrough(new Vn(Ke(o))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:s,outputSize:a}=i;return{crc32:r,inputSize:s,outputSize:a}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{r()}}const er={type:"module"},tr="error";let nr,rr,or,ir=!0;try{ir=typeof N==ue&&N(new DOMException("","AbortError")).code!==ae}catch{}var sr;function ar(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function cr(e){const{ue:t}=e;if(t)try{t.terminate()}catch{}e.de=null}function lr(e,t,r,o,i=!0){const{createWorker:s}=r;let a,c,l;if(s)a=s();else if(rr===ae||nr!==e){const n=typeof e==ue;c=n?e(i):e;const s=c.startsWith("data:"),u=c.startsWith("blob:");if(s||u){o===ae&&(o=!1),o&&(l=er);try{a=new C(c,l)}catch(i){if(u)try{f.revokeObjectURL(c)}catch{}if(n&&u)return lr(e,t,r,o,!1);if(o)throw i;return lr(e,t,r,!0,!1)}}else{o===ae&&(o=!0),o&&(l=er);try{c=new f(c,t)}catch{}try{a=new C(c,l)}catch(n){if(o)return lr(e,t,r,!1,i);throw n}}nr=e,rr=c,or=l}else a=new C(rr,or);return a.addEventListener("message",e=>{r.he=!0,ur(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:s,error:a}=e,{reader:c,writer:l,ye:u,Se:f,we:p,le:m}=t,h=()=>t.le!=m;try{if(a){const{message:e,stack:t,code:r,name:o,outputSize:i,cause:s,codecImportFailed:c}=a,l=new d(e);n.assign(l,{stack:t,code:r,name:o,outputSize:i}),s&&(l.cause=n.assign(new d(s.message),{name:s.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==r){const{value:e,done:n}=await c.read();h()||dr({type:Bn,value:e,done:n,messageId:i},t)}r==Bn&&(await l.ready,await l.write(new w(o)),h()||dr({type:"ack",messageId:i},t)),"close"==r&&y(null,s)}}catch(a){h()||(cr(t),y(a))}function y(e,t){h()||(e?f(e):u(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}}(e,r)}),a.addEventListener(tr,e=>fr(e,r)),a.addEventListener("messageerror",e=>fr(e,r)),a}function ur(e){const{Ee:t}=e;t&&(_(t),e.Ee=null)}function fr(e,t){e.preventDefault&&e.preventDefault(),ur(t);const{he:r,Se:o,writer:i,we:s}=t;cr(t),r||(t.ue=null);let a=e.error||new d(e.message||tr);r||(a=n.assign(new d(a.message||tr),{ge:!0}),t.be=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function dr(e,{ue:t,writer:n,transferStreams:r,he:o}){try{const{value:n,readable:i,writable:s}=e,a=[];if(n&&(e.value=et(n),a.push(e.value.buffer)),r&&ir&&o?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{ir=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}sr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.de){let c;typeof a==ue&&(a=a());try{c=lr(e.workerURI,r,e)}catch{return Kn(e),Qn(e,t)}n.assign(e,{ue:c,he:!1,pe:!1,be:null,de:{run:async()=>{try{return await async function(e,t){if(!e.ue){const{be:t}=e;e.be=null;const n=t||new d(Hn);throw n.ge=!0,n}let r,i;const s=new S((e,t)=>{r=e,i=t});n.assign(e,{reader:null,writer:null,ye:r,Se:i,result:s});const{readable:a,options:c}=e,{writable:l,closed:u,xe:f}=function(e){const t=new AbortController,{writable:n,readable:r}=new F,o=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return o.catch(()=>{}),{writable:n,closed:o,xe:()=>t.abort()}}(e.writable);let w;try{w=dr({type:"start",options:c,config:t,readable:a,writable:l},e)}catch(t){f();try{await u}catch{}throw e.we(),t}w||n.assign(e,{reader:a.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;!e.he&&o.isFinite(p)&&p>=0&&(e.Ee=v(()=>function(e){if(e.Ee=null,e.he)return;const{Se:t,writer:n}=e;if(cr(e),e.ue=null,t){const e=new d(Hn);e.ge=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await s;return await m(),await u,e}catch(e){await m(),f();try{await u}catch{}throw e}async function m(){if(!w&&!l.locked)try{await l.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.ge)return Kn(e),ar(e),$n(e,t);if(n&&n.codecImportFailed){if(e.reader)return ar(e),$n(e,t);e.we()}throw n}}}})}return e.de},qn=sr;let wr=[];const pr=[];let mr,hr,yr=0;async function Sr(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:l,computeCrc32:u,encrypted:d,format:w,codecURI:p}=n,{workerURI:m,createWorker:h,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!hn.has(e)&&t&&gn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(w,n.codecURI)),t.transferStreams=!w&&(i||i===ae&&r.transferStreams);const E=!(c||l||u||d),g=w===ae||Boolean(n.codecURI);return t.useWebWorkers=!E&&g&&(s||s===ae&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:ae,t.createWorker=t.useWebWorkers&&h?h:ae,n.useCompressionStream=a||a===ae&&r.useCompressionStream,(await async function(){const n=wr.find(e=>!e.ce);if(n)return Rr(n),new Yn(n,e,t,b);if(wr.length<y){const n={Re:yr};return yr++,wr.push(n),new Yn(n,e,t,b)}return new S(n=>{pr.push({resolve:n,stream:e,Fe:t}),hr=r.workerStarvationTimeout,Er()})}()).run();function b(e){if(gr(),pr.length){const[{resolve:t,stream:n,Fe:r}]=pr.splice(0,1);t(new Yn(e,n,r,b)),Er()}else e.ue?(Rr(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.pe?e.pe=!1:e.ze=v(async()=>{wr=wr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):wr=wr.filter(t=>t!=e)}}function Er(){!mr&&pr.length&&o.isFinite(hr)&&hr>=0&&(mr=v(br,hr))}function gr(){mr&&(_(mr),mr=null)}function br(){if(mr=null,pr.length){const[{resolve:e,stream:t,Fe:r}]=pr.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:ae,createWorker:ae});e(new Yn({},t,o,xr)),Er()}}function xr(){gr(),Er()}function Rr(e){const{ze:t}=e;t&&(_(t),e.ze=null)}const Fr="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function zr(e,t){return Dr(e,t,!0)}function Dr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){let t="";for(let n=0;n<e.length;n++)t+=Fr[e[n]];return t}(e):new g(t,{ignoreBOM:n}).decode(e)}const Ar="HTTP error ",kr="HTTP Range not supported",Ir="HTTP resource changed",Cr="Writer iterator completed too soon",Tr="Writer not initialized",vr="Content-Range",_r="Range",Nr="GET",Ur="bytes",Or=16777216,Mr="writable",Lr=T();class Br{constructor(){this.size=0}init(){this.initialized=!0}}class Wr extends Br{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Ke(qe())}={}){const r=this;let o=0;return n=Ye(n),new z({async pull(i){const a=t===ae?n:s.min(n,t-o),c=await So(r,e+o,a);c.length&&(i.enqueue(c),o+=c.length),(t!==ae&&o>=t||!c.length&&a)&&i.close()}})}}class Pr extends Br{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new d(Tr);return e.writeUint8Array(et(t))}});n.defineProperty(e,Mr,{get:()=>t})}writeUint8Array(){}}let Zr,Vr;class Hr extends Wr{constructor(e){super(),n.assign(this,{De:e,size:e.size}),Vr||(Vr=(async()=>{try{const e=new y([new w(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Zr=1==t}catch{Zr=!1}})())}createReadable(e){const{De:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};return!r&&o>=n?an(t.stream()):Zr?an(t.slice(r,r+o).stream()):super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.De:n.De.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new w(i)}}class Gr extends Br{constructor(e){super();const t=this,r=new F;n.defineProperty(t,Mr,{get:()=>r.writable}),t.contentType=e,t.Ae=cn(r.readable,e),t.Ae.catch(()=>{})}getData(){return this.Ae}}class jr extends Wr{constructor(e,t){super(),Kr(this,e,t)}async init(){await Yr(this,ao,ro),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:i}=t;if((n||r)&&i!==ae){const{offset:n=0,size:r=i-n}=e||{};if(r>0&&n<i)return function(e,t,n){let r,i=t,a=0,c=n;return new z({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new d(kr);const o=t.length>a?t.subarray(0,a):t;a-=o.length,c-=o.length,o.length&&e.enqueue(o),a||(await async function(){const e=r;r=ae,await e.cancel()}(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=s.min(e.maximumRangeSize,c),n=await ao(Nr,e,to(e,i,t));if(206!=n.status)throw new d(kr);const l=n.headers.get(vr);if(l){const e=o(l.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=i)throw new d(kr)}eo(e,n),$r(e,n),i+=t,a=t,r=n.body.getReader()}}(t,n,s.min(r,i-n))}return super.createReadable(e)}readUint8Array(e,t){return Xr(this,e,t,ao,ro)}}class qr extends Wr{constructor(e,t){super(),Kr(this,e,t)}async init(){await Yr(this,co,oo),super.init()}readUint8Array(e,t){return Xr(this,e,t,co,oo)}}function Kr(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:l=Or,fetch:u}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c,maximumRangeSize:l,fetch:u})}async function Yr(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a}=e;if(function(e){const{baseURI:t}=qe(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||s)&&(typeof o==le||o)){const r=await t(Nr,e,to(e,a?-22:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==Ur))throw new d(kr);{if(a){const t=new w(await r.arrayBuffer());206==r.status&&t.length==K&&(e.ke=t)}$r(e,r);const o=Jr(r);o===ae?await so(e,t,n):e.size=o}}else await so(e,t,n)}async function Xr(e,t,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,ke:c,size:l,options:u}=e;if(s||a){if(c&&t==l-K&&n==K)return c;if(t>=l||0===n)return de;{t+n>l&&(n=l-t);const i=await r(Nr,e,to(e,t,n));if(206!=i.status)throw new d(kr);const s=i.headers.get(vr);if(s){const e=o(s.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=t)throw new d(kr)}eo(e,i),$r(e,i);const a=new w(await i.arrayBuffer());if(a.length!=n)throw new d(kr);return a}}{const{data:r}=e;return r||await i(e,u),e.data.subarray(t,t+n)}}function Jr(e){const t=e.headers.get(vr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function Qr({headers:e}){return{Ie:e.get("Etag")||ae,lastModified:e.get("Last-Modified")||ae}}function $r(e,t){const{checkResourceChanges:n,Ce:r}=e;n&&!r&&206==t.status&&(e.Ce=Qr(t))}function eo(e,t){const{checkResourceChanges:r,Ce:o,size:i}=e;if(r){const e=Jr(t);if(e!==ae&&i!==ae&&e!=i)throw new d(Ir);if(o){const e=Qr(t);if(n.entries(o).some(([t,n])=>n!==ae&&e[t]!==ae&&n!=e[t]))throw new d(Ir)}}}function to(e,t=0,r=1){return n.assign({},no(e),{[_r]:Ur+"="+(t<0?t:t+"-"+(t+r-1))})}function no({options:e}){const{headers:t}=e;if(t)return T.iterator in t?n.fromEntries(t):t}async function ro(e){await io(e,ao)}async function oo(e){await io(e,co)}async function io(e,t){const n=await t(Nr,e,no(e));e.data=new w(await n.arrayBuffer()),e.size=e.data.length}async function so(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,no(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function ao(e,{fetch:t=fetch,options:r,url:o},i){const s=await t(o,n.assign({},r,{method:e,headers:i}));if(s.status<400)return s;throw 416==s.status?new d(kr):new d(Ar+(s.statusText||s.status))}function co(e,{url:t},r){return new S((o,i)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status<400){const e=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),o({status:s.status,arrayBuffer:()=>s.response,headers:new c(e)})}else i(416==s.status?new d(kr):new d(Ar+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>i(e.detail?e.detail.error:new d("Network error")),!1),s.open(e,t),r)for(const e of n.entries(r))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()})}class lo extends Wr{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new qr(e,t):new jr(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 uo extends Wr{constructor(e){super(),this.Te=e}async init(){const e=this;e.ve=0;const t=e.Te=await S.all(e.Te.map(yo));e._e=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Ne(e){const{_e:t,size:n}=this,r=t[e];return r===ae?n:r}async readUint8Array(e,t){const n=this,{Te:r}=this;let o,i=0,a=e;for(;r[i]&&a>=r[i].size;)a-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(a+t<=r)o=await So(c,a,t);else{const i=r-a;o=$e(await So(c,a,i),await n.readUint8Array(e+i,t-i))}}else o=de;return n.ve=s.max(i,n.ve),o}}class fo extends Br{constructor(e,t=4294967295){super();const r=this;let o,i,s;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const a=new D({async write(t){if(t===Lr)return void(s&&await l());const{availableSize:n}=r;if(s)t.length>=n?(await c(t.subarray(0,n)),await l(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:a}=await e.next();if(a&&!n)throw new d(Cr);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await ho(o),i=n.writable,s=i.getWriter(),await this.write(t)}},async close(){s&&(await s.ready,await u())},async abort(e){s&&await s.abort(e)}});async function c(e){const t=e.length;t&&(await s.ready,await s.write(e),o.size+=t,r.availableSize-=t)}async function l(){await u(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function u(){await s.close()}n.defineProperty(r,Mr,{get:()=>a})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Lr)}finally{e.releaseLock()}}}class wo{constructor(e){return t.isArray(e)&&(e=new uo(e)),(e instanceof z||typeof e.getReader==ue)&&(e={readable:an(e)}),e}}class po{constructor(e){return e.writable===ae&&typeof e.next==ue&&(e=new fo(e)),(e instanceof D||typeof e.getWriter==ue)&&(e={writable:ln(e)}),e.size===ae&&(e.size=0),e}}function mo(e){return Boolean(e&&e.getData)}async function ho(e,t){if(!e.init||e.initialized)return S.resolve();await e.init(t)}async function yo(e){return e=new wo(e),await ho(e),e.size!==ae&&e.readUint8Array||(e=new Hr(await cn(e.readable)),await ho(e)),e}function So(e,t,n){return e.readUint8Array(t,n)}function Eo(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Wr.prototype.createReadable.call(e,t):e.readable}const go="filename",bo="rawFilename",xo="comment",Ro="rawComment",Fo="uncompressedSize",zo="compressedSize",Do="offset",Ao="diskNumberStart",ko="lastModDate",Io="rawLastModDate",Co="lastAccessDate",To="rawLastAccessDate",vo="creationDate",_o="rawCreationDate",No="internalFileAttributes",Uo="externalFileAttributes",Oo="msdosAttributesRaw",Mo="msdosAttributes",Lo="msDosCompatible",Bo="zip64",Wo="encrypted",Po="version",Zo="versionMadeBy",Vo="zipCrypto",Ho="directory",Go="executable",jo="compressionMethod",qo="signature",Ko="extraField",Yo="unixMode",Xo="setuid",Jo="setgid",Qo="sticky",$o=[go,bo,Fo,zo,ko,Io,xo,Ro,Co,To,vo,_o,Do,Ao,No,Uo,Oo,Mo,Lo,Bo,Wo,Po,Zo,Vo,Ho,Go,"symlink",jo,qo,"crc32",Ko,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Yo,"unixExternalUpper",Xo,Jo,Qo,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ei{constructor(e){$o.forEach(t=>this[t]=e[t])}}const ti="File format is not recognized",ni="End of central directory not found",ri="End of Zip64 central directory locator not found",oi="Central directory header not found",ii="Local file header not found",si="Zip64 extra field not found",ai="File contains encrypted entry",ci="Encryption method not supported",li="Split zip file",ui="Overlapping entry found",fi="Entry data out of bounds",di="Ambiguous archive",wi="Encrypted central directory is not supported",pi="Unsafe filename",mi="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",hi="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",yi="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Si="64-bit value exceeds Number.MAX_SAFE_INTEGER",Ei="unsorted central directory",gi="unknown version needed to extract",bi="compressed patched data",xi="malformed extra field",Ri="unknown zip64 extensible data",Fi="wrapped entries count",zi="appended data",Di="prepended data",Ai="prepended central directory",ki="trailing central directory data",Ii="duplicate filename",Ci="mismatched zip64 end of central directory record",Ti="mismatched local file header (general purpose bit flag)",vi="mismatched local file header (compression method)",_i="mismatched local file header (crc32 or sizes)",Ni=/^[a-zA-Z]:/,Ui="utf-8",Oi="cp437",Mi=[[Fo,O],[zo,O],[Do,O],[Ao,M]],Li={[M]:{Ue:bs,bytes:4},[O]:{Ue:xs,bytes:8}},Bi=i(o.MAX_SAFE_INTEGER);class Wi{constructor(e,t={}){n.assign(this,{reader:new wo(e),options:t,Oe:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await ho(r),r.size!==ae&&r.readUint8Array||(r=new Hr(await cn(r.readable)),await ho(r)),r.size<K)throw new d(ti);const o=t.warnings=[],i=rs(e,t.options),a=i==Ae,c=i!=Ie,u=ss(ms(t,e,Fe),i),f=function(e,t){if(e===ae)return t;if(!ns(e))throw new d(hi);return e}(ms(t,e,"filenameValidation"),i),w=ms(t,e,"normalizeFilename"),{Me:p,Le:m}=await as(r,c,u);if(!p)throw await async function(e){return await ts(e)==W}(r)?new d(li):new d(ni);c&&m>1&&ps("multiple end of central directory records");const h=tt(p);let y=bs(h,12),S=bs(h,16);const E=p.offset,g=gs(h,20),b=E+K+g,x=r.size-b;x>u&&ps(zi),x>0&&ws(o,zi);let R=gs(h,4);const z=r.ve||0;let D,A,k,I,C,T=gs(h,6),v=gs(h,10),_=0,N=X;const U=S==O||y==O||v==M||T==M;if(S!=O&&T!=M&&(S+=es(r,T)),U){const e=p.offset>=Y?await So(r,p.offset-Y,Y):de,t=tt(e);if(e.length==Y&&bs(t,0)==j){S=es(r,bs(t,4))+xs(t,8);let e=await So(r,S,X),i=tt(e);const c=p.offset-Y-X;if((e.length<X||bs(i,0)!=G)&&S!=c&&c>=0){const t=S;S=c,S>t&&(_=S-t),e=await So(r,S,X),i=tt(e)}if(e.length<X||bs(i,0)!=G)throw new d(ri);if(k=!0,I=xs(i,4)>44,I){const e=s.min(xs(i,4)-44,r.size-S-X);e>0&&(N+=e,C=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=tt(e),o=gs(r,26);n.assign(t,{compressionMethod:gs(r,0),compressedSize:xs(r,2),uncompressedSize:xs(r,10),encryptionAlgorithm:gs(r,18),bitLength:gs(r,20),flags:gs(r,22),hashAlgorithm:gs(r,24),hashData:e.subarray(28,28+o)})}return t}(await So(r,S+X,e)))}R==M?R=bs(i,16):R!=bs(i,16)&&ds(a,o,Ci),T==M?T=bs(i,20):T!=bs(i,20)&&ds(a,o,Ci),v==M?v=xs(i,32):v!=xs(i,32)&&ds(a,o,Ci),y==O?y=xs(i,40):y!=xs(i,40)&&ds(a,o,Ci),S=es(r,T)+xs(i,48)+_}}let B=y;const P=p.offset-(k?N+Y:0);if(S>=r.size&&(_=r.size-S-y-K,S=r.size-y-K),z!=R)throw new d(li);if(S<0)throw new d(ti);let Z=0,H=await So(r,S,y),J=tt(H);if(y){if(H.length<4)throw new d(ti);const e=P-y;if(S!=e&&T==R){const t=bs(J,Z)==V||Boolean(C&&C.compressedSize)||Hi(J);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=bs(tt(await So(r,e,4)),0)==V),n){const n=S;S=e,S>n&&(_+=S-n,D=t),H=await So(r,S,y),J=tt(H)}}}const Q=P-S;if(y!=Q&&Q>=0&&T==R&&(y=Q,H=await So(r,S,y),J=tt(H)),S<0||S>=r.size)throw new d(ti);t.directoryOffset=S,t.directoryLength=B;const oe=hs(t,e,"decryptCentralDirectory");let ie,se;if(oe&&v&&H.length>=4&&bs(J,0)!=V&&(I||Hi(J))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(C,B,H.length);se=H.subarray(e),H=await oe(H.subarray(0,e),C),J=tt(H),B=H.length,ie=!0}C&&!ie&&(H.length<4||bs(J,0)==V)&&ws(o,Ri),A=S;const ce=ms(t,e,"filenameEncoding"),le=ms(t,e,"commentEncoding"),ue=new l;let fe,we=-1;const pe=!a&&!k;!v&&pe&&(v=Gi(J,H,Z),v&&ws(o,Fi));for(let i=0;i<v;i++){const a=new Vi(r,t.options);if(Z+q>H.length||bs(J,Z)!=V){if(0==i&&!ie&&(I||Hi(J)))throw new d(wi);throw new d(oi)}qi(a,J,Z+6);const c=Boolean(a.bitFlag.languageEncodingFlag),l=Z+q,u=l+a.filenameLength,p=u+a.extraFieldLength,m=gs(J,Z+4),h=!(m>>8),y=m>>8==3,S=H.subarray(l,u),E=gs(J,Z+32),g=p+E,b=H.subarray(p,g),x=c,R=c,z=bs(J,Z+38),D=z&L,k={readOnly:Boolean(1&D),hidden:Boolean(2&D),system:Boolean(4&D),directory:Boolean(16&D),archive:Boolean(32&D)},C=bs(J,Z+42),T=hs(t,e,"decodeText")||zr,N=x?Ui:ce||Oi,U=R?Ui:le||Oi;let O=T(S,N,ze);if(O===ae&&(O=zr(S,N)),w){const e=w(O);e!==ae&&(O=e)}if(is(O,f)){const e=new d(pi);throw e.filename=O,e}let B=T(b,U,De);B===ae&&(B=zr(b,U)),n.assign(a,{index:i,Be:ie,versionMadeBy:m,msDosCompatible:h,zip64:!1,compressedSize:0,uncompressedSize:0,We:E,offset:C,diskNumberStart:gs(J,Z+34),internalFileAttributes:gs(J,Z+36),externalFileAttributes:z,msdosAttributesRaw:D,msdosAttributes:k,rawFilename:S,filenameUTF8:x,commentUTF8:R,rawExtraField:H.subarray(u,p),rawComment:b,filename:O,comment:B}),Ki(a,a,J,Z+6)&&ws(o,xi,O),a.offset+=_;const W=es(r,a.diskNumberStart)+a.offset;A=s.min(W,A),W<we&&ws(o,Ei,O),we=W,(a.version&L)>63&&ws(o,gi,O),32&~a.rawBitFlag||ws(o,bi,O),ue.has(a.filename)&&(fe=!0),ue.add(a.filename);const P=a.externalFileAttributes>>16&M;a.unixMode===ae&&16877&P&&(a.unixMode=P);const G=Boolean(a.unixMode&te),j=Boolean(a.unixMode&ne),K=Boolean(512&a.unixMode),Y=40960==((a.unixMode===ae?P:a.unixMode)&$),X=!Y&&(a.unixMode!==ae?!!(73&a.unixMode):y&&!!(73&P)),Q=a.unixMode!==ae&&(a.unixMode&$)==ee,oe=(P&$)==ee;n.assign(a,{setuid:G,setgid:j,sticky:K,symlink:Y,unixExternalUpper:P,executable:X,directory:Q||oe||h&&k.directory||a.filename.endsWith(re),zipCrypto:a.encrypted&&!a.extraFieldAES});const se=new ei(a);if(se.getData=(e,n)=>a.getData(e,se,t.Oe,n),se.arrayBuffer=async e=>{const n=new F,r=cn(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,se,t.Oe,e),r},Z=g,i==v-1&&pe){const e=Gi(J,H,Z);e&&(v+=e,ws(o,Fi))}const{onprogress:de}=e;if(de)try{await de(i+1,v,new ei(a))}catch{}yield se}let me=Z,he=ji(H.subarray(Z))||(ie?ji(se):ae);if(!he&&!ie){const e=S+Z,t=s.min(P-e,65541);t>=6&&(he=ji(await So(r,e,t)))}he&&(t.digitalSignature=he,me=Z+6+he.length),(Z!=B&&me!=B||!ie&&Z!=y&&me!=y)&&ds(a,o,ki),fe&&ds(a,o,Ii);const ye=ms(t,e,"extractPrependedData"),Se=ms(t,e,"extractAppendedData"),Ee=(a||ye)&&v&&4==A&&await async function(e){const t=await ts(e);return t==W||808471376==t}(r)?4:0;return a&&(_||v&&A>Ee)&&ps(Di),(_||v&&A>4)&&ws(o,Di),D&&ws(o,Ai),ye&&(t.prependedData=A>Ee?await So(r,Ee,A-Ee):de),t.comment=g?await So(r,E+K,g):de,Se&&(t.appendedData=b<r.size?await So(r,b,r.size-b):de),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}}class Pi{constructor(e={}){const{readable:t,writable:n}=new F,r=new Wi(t,e).getEntriesGenerator();this.readable=new z({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const o={...n,readable:function(){const{readable:e,writable:t}=new F;if(n.getData)return async function(){try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}}(),e}()};delete o.getData,e.enqueue(o)}}),this.writable=n}}async function Zi(e,t={}){if(e=new wo(e),await ho(e),e.size!==ae&&e.readUint8Array||(e=new Hr(await cn(e.readable)),await ho(e)),e.size<K)return!1;const n=rs(t,{}),r=n!=Ie,o=ss(t[Fe],n),{Me:i,Le:s}=await as(e,r,o);if(!i||n==Ae&&s>1)return!1;const a=gs(tt(i),20),c=i.offset+K+a;return e.size-c<=o}class Vi{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const o=this,i=qe(),{reader:a,index:c,offset:l,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,bitFlag:m,rawBitFlag:h,crc32:y,rawLastModDate:S,uncompressedSize:E,compressedSize:g}=o,{dataDescriptor:b}=m,x=t.localDirectory={},R=t.warnings=[],F=es(a,u)+l,z=await So(a,F,oe),A=tt(z);let k=ms(o,r,we),I=ms(o,r,pe);const C=ms(o,r,me);if(Ue(k,I),k=k&&k.length&&k,I=I&&I.length&&I,f&&99!=f.originalCompressionMethod)throw new d(wn);if(z.length<oe||bs(A,0)!=B)throw new d(ii);qi(x,A,4);const{extraFieldLength:T,filenameLength:v}=x,_=x.dataOffset=F+oe+v+T,N=ms(o,r,"checkLocalDirectory"),U=rs(r,o.options),O=function(e,t){return e===ae?t!=Ie:Boolean(e)}(N,U),M=function(e,t){return e===ae?t==Ae:Boolean(e)}(N,U);let W=de;if(M&&(v||T)){const e=await So(a,F+oe,v+T);W=e.subarray(0,v),x.rawExtraField=e.subarray(v)}else x.rawExtraField=T?await So(a,F+oe+v,T):de;M&&(x.rawFilename=W),Ki(o,x,A,4,!0)&&ws(R,xi),function(e,t,n,r,o){const{rawFilename:i}=e,s=!o,a=e.Be&&!(8192&~t.rawBitFlag);!r||a||n.length==i.length&&!n.some((e,t)=>e!=i[t])||ds(s,o,"mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&ds(s,o,Ti),t.compressionMethod!=e.compressionMethod&&ds(s,o,vi),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||ds(s,o,_i)}(o,x,W,M,O?ae:R);const{lastAccessDate:Z,creationDate:V,uid:H,gid:G}=x;Z&&(t.lastAccessDate=Z),V&&(t.creationDate=V),H!==ae&&t.uid===ae&&(t.uid=H),G!==ae&&t.gid===ae&&(t.gid=G);const j=o.encrypted&&x.encrypted&&!C,q=j&&!f;if(C||(t.zipCrypto=q),j&&!(64&~x.rawBitFlag))throw new d(ci);const K=C?ae:yn(p);if(0!=p&&8!=p&&9!=p&&!K&&!C)throw new d(wn);if(j){if(!q&&(f.strength<1||f.strength>3))throw new d(ci);if(!k&&!I)throw new d(ai)}if(_+g>a.size)throw new d(fi);const Y=g,X=an(a.createReadable({offset:_,size:Y})),J=Ne(ms(o,r,he)),Q=ms(o,r,"checkPasswordOnly");let $=ms(o,r,"checkOverlappingEntry");const ee=ms(o,r,"checkOverlappingEntryOnly");ee&&($=!0);const{onstart:te,onprogress:ne,onend:re}=r,ie=0!=p&&!C,se=C?g:E,ce=9==p;let le=ms(o,r,Se);ce&&(le=!1);const ue=ms(o,r,"checkCrc32"),fe=(ue===ae?ms(o,r,"checkSignature"):ue)&&!C&&(!j||q||f&&1==f.vendorVersion),be={options:{codecType:Pn,password:k,rawPassword:I,zipCrypto:q,encryptionStrength:f&&f.strength,checkCrc32:fe,checkAuthenticationCode:ms(o,r,"checkAuthenticationCode"),passwordVerification:q&&(b?S>>>8&L:y>>>24&L),outputSize:se,crc32:y,compressed:ie,encrypted:j,useWebWorkers:ms(o,r,ye),useCompressionStream:le,transferStreams:ms(o,r,Ee),deflate64:ce,format:K?K.format:ae,codecURI:K?K.codecURI:ae,compressionMethod:p,rawBitFlag:h,checkPasswordOnly:Q},config:i,ae:{signal:J,size:Y,onstart:te,onprogress:ne,onend:re}};let xe,Re;$&&await async function({reader:e,Pe:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:l,Oe:u}){let f=0;if(c&&(f=l?20:12),f){const n=await So(e,a+i,f+4),r=tt(n);let c=n.length==f+4&&bs(r,0)==P;if(c){const e=$i(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==s?f+=4:c=!1}if(n.length>=f){const e=$i(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const w={start:r,end:a+i+f,Pe:t};for(const[e,t]of u)if(e!=n&&w.start<t.end&&t.start<w.end){const e=new d(ui);throw e.overlappingEntry=t.Pe,e}u.set(n,w)}({reader:a,Pe:t,index:c,offset:F,crc32:y,compressedSize:g,uncompressedSize:E,dataOffset:_,dataDescriptor:b||x.bitFlag.dataDescriptor,extraFieldZip64:w||x.extraFieldZip64,Oe:n});try{if(!ee){Q&&(e=new D),e=new po(e),await ho(e,function(e,t,n){return s.min(e,n?1032*t:t)}(se,g,ie)),({writable:xe}=e);const{outputSize:t}=await Sr({readable:X,writable:xe},be);if(e.size+=t,t!=se)throw new d(bn)}}catch(t){if(t.outputSize!==ae&&(e.size+=t.outputSize),!Q||t.message!=bt)throw Re=t,t}finally{if((mo(e)||!ms(o,r,ge))&&xe&&!xe.locked){const e=xe.getWriter();if(Re)try{await e.abort(Re)}catch{}else await e.close()}}return Q||ee?ae:e.getData?e.getData():xe}}function Hi(e){const t=s.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==bs(e,n))return!0;return!1}function Gi(e,t,n){let r=0;for(;n+q<=t.length&&bs(e,n)==V;)n+=q+gs(e,n+28)+gs(e,n+30)+gs(e,n+32),r++;return r%65536?0:r}function ji(e){if(e.length>=6){const t=tt(e);if(bs(t,0)==Z){const n=gs(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function qi(e,t,r){const o=e.rawBitFlag=gs(t,r+2),i=!(1&~o),s=bs(t,r+6);n.assign(e,{encrypted:i,version:gs(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&Q)==Q},rawLastModDate:s,lastModDate:ys(s),filenameLength:gs(t,r+22),extraFieldLength:gs(t,r+24)})}function Ki(e,t,r,o,i){const{rawExtraField:s}=t,l=t.extraField=new c,u=tt(s);let f=0,w=!1;try{for(;f<s.length;){const e=gs(u,f),t=gs(u,f+2);l.set(e,{type:e,data:s.slice(f+4,f+4+t)}),f+=4+t}}catch{w=!0}f>s.length&&(w=!0);const p=gs(r,o+4);n.assign(t,{signature:bs(r,o+10),crc32:bs(r,o+10),compressedSize:bs(r,o+14),uncompressedSize:bs(r,o+18)});const m=l.get(1);m&&(function(e,t){t.zip64=!0;const n=tt(e.data),r=Mi.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+Li[t].bytes,0);if(e.data.length<o)throw new d(si);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=Li[a];t[s]=e[s]=c.Ue(n,i),i+=c.bytes}}(m,t),t.extraFieldZip64=m);const h=l.get(28789);h&&(Yi(h,go,bo,t,e),t.extraFieldUnicodePath=h);const y=l.get(25461);y&&(Yi(y,xo,Ro,t,e),t.extraFieldUnicodeComment=y);const S=l.get(39169);S&&S.data.length>=7?(function(e,t,r){const o=tt(e.data),i=Es(o,4);n.assign(e,{vendorVersion:Es(o,0),vendorId:Es(o,2),strength:i,originalCompressionMethod:r,compressionMethod:gs(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ae)}(S,t,p),t.extraFieldAES=S):t.compressionMethod=p;const E=l.get(13);E&&(Xi(E,t),t.extraFieldPkwareUnix=E);const g=l.get(22613);g&&(Xi(g,t),t.extraFieldUnixType1=g);const b=l.get(10);b&&(function(e,t){const r=tt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=gs(r,i),n=gs(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=tt(o),i=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:s,rawCreationDate:a});const c={lastModDate:Ss(i),lastAccessDate:Ss(s),creationDate:Ss(a)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:s,rawCreationDate:a})}}(b,t),t.extraFieldNTFS=b);const x=l.get(30805);let R;if(x&&(R=Ji(x,t,!1),t.extraFieldUnix=x),!R){const e=l.get(30837);e&&(Ji(e,t,!0),t.extraFieldInfoZip=e)}const F=l.get(J);F&&(function(e,t,n){if(!e.data.length)return;const r=tt(e.data),o=Es(r,0),i=[],s=[];n?(1&~o||(i.push(ko),s.push(Io)),2&~o||(i.push(Co),s.push(To)),4&~o||(i.push(vo),s.push(_o))):e.data.length>=5&&(i.push(ko),s.push(Io));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=bs(r,c);t[n]=e[n]=new a(1e3*(0|i));const l=s[o];e[l]=i}c+=4})}(F,t,i),t.extraFieldExtendedTimestamp=F);const z=l.get(6534);return z&&(t.extraFieldUSDZ=z),w}function Yi(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const s=tt(e.data),a=new ft;a.append(i[r]);const c=tt(new w(4));c.setUint32(0,a.get(),!0);const l=bs(s,1),u=Es(s,0);n.assign(e,{version:u,[t]:zr(e.data.subarray(5)),valid:1==u&&!i.bitFlag.languageEncodingFlag&&l==bs(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function Xi(e,t){if(e.data.length<8)return;const r=tt(e.data),o={lastAccessDate:new a(1e3*(0|bs(r,0))),lastModDate:new a(1e3*(0|bs(r,4)))};e.data.length>=12&&(o.uid=gs(r,8),o.gid=gs(r,10)),n.assign(e,o),n.assign(t,o)}function Ji(e,t,r){try{const o=tt(e.data);let i,s;if(r){let t=0;const r=Es(o,t++),a=Es(o,t++);i=Qi(e.data.subarray(t,t+a)),t+=a;const c=Es(o,t++);s=Qi(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:s})}else e.data.length>=4&&(i=gs(o,0),s=gs(o,2),n.assign(e,{uid:i,gid:s}));return i!==ae&&(t.uid=i),s!==ae&&(t.gid=s),i!==ae||s!==ae}catch{}}function Qi(e){const t=new w(4);return t.set(e,0),new h(t.buffer,t.byteOffset,4).getUint32(0,!0)}function $i(e,t,n){const r=bs(e,t);let o,i;return n?(o=xs(e,t+4),i=xs(e,t+12)):(o=bs(e,t+4),i=bs(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function es(e,t){return e.Ne?e.Ne(t):0}async function ts(e){return bs(tt(await So(e,0,4)))}function ns(e){return e===Ae||e===ke||e===Ie}function rs(e,t){return os(e,os(t,ke))}function os(e,t){const n=e.strictness;if(n!==ae){if(!ns(n))throw new d(mi);return n}const r=e.checkAmbiguity;return r===ae?t:r?Ae:t==Ie?Ie:ke}function is(e,t){if(t==Ie)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||Ni.test(e))||t==Ae&&(n.includes(".")||n.includes(""))}function ss(e,t){if(e!==ae){const t=Le(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new d(yi);return t}return t==Ae?0:t==Ie?1/0:M}async function as(e,t,n){const{size:r}=e,o=s.min(r,65557),i={count:64};let a,c,l=0;for await(const[n,s,u,f,d]of cs(e,o)){const o=gs(n,f+20);if(d+K+o==r){const o=await us(e,n,s,f,d,r,i);if(2==o){if(a||(a=ls(u,f,d)),l++,!t||l>1)break}else 1!=o||c||(c=ls(u,f,d))}}return a||(a=c),a||(a=await async function(e,t,n){const{size:r}=e,o=s.min(r,t==1/0?r:65557+t);let i,a;for await(const[t,s,c,l,u]of cs(e,o)){const o=ls(c,l,u);i||(i=o);const f=await us(e,t,s,l,u,r,n);if(2==f)return o;1!=f||a||(a=o)}return a||i}(e,n,i)),{Me:a,Le:l}}async function*cs(e,t){const n=e.size-t,r=await So(e,n,t),o=tt(r);for(let e=r.length-K;e>=0;e--)bs(o,e)==H&&(yield[o,n,r,e,n+e])}function ls(e,t,n){return{offset:n,buffer:e.slice(t,t+K).buffer}}async function us(e,t,n,r,o,i,s){const a=gs(t,r+10),c=bs(t,r+12),l=bs(t,r+16);if(a==M||c==O||l==O)return await fs(e,t,n,o-Y,i,s)==j?2:0;if(!a&&!c)return 1;const u=gs(t,r+6);for(const r of[o-c,es(e,u)+l])if(await fs(e,t,n,r,i,s)==V)return 2;return 0}async function fs(e,t,n,r,o,i){return r<0||r+4>o?ae:r>=n?bs(t,r-n):i.count>0?(i.count--,bs(tt(await So(e,r,4)),0)):ae}function ds(e,t,n){e?ps(n):ws(t,n)}function ws(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==ae&&(r.filename=n),e.push(r)}}function ps(e){const t=new d(di);throw t.reason=e,t}function ms(e,t,n){return t[n]===ae?e.options[n]:t[n]}function hs(e,t,n){return _e(ms(e,t,n))}function ys(e){const t=(4294901760&e)>>16,n=e&M,r=new a(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<se?se:r}function Ss(e){return new a(o(e/i(1e4)-i(116444736e5)))}function Es(e,t){return e.getUint8(t)}function gs(e,t){return e.getUint16(t,!0)}function bs(e,t){return e.getUint32(t,!0)}function xs(e,t){const n=e.getBigUint64(t,!0);if(n>Bi)throw new d(Si);return o(n)}var Rs=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:di,ERR_BAD_FORMAT:ti,ERR_CENTRAL_DIRECTORY_NOT_FOUND:oi,ERR_ENCRYPTED:ai,ERR_ENCRYPTED_CENTRAL_DIRECTORY:wi,ERR_ENTRY_DATA_OUT_OF_BOUNDS:fi,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:ri,ERR_EOCDR_NOT_FOUND:ni,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:si,ERR_INVALID_AUTHENTICATION_CODE:gt,ERR_INVALID_COMPRESSED_DATA:xn,ERR_INVALID_CRC32:Rn,ERR_INVALID_FILENAME_VALIDATION:hi,ERR_INVALID_MAX_APPENDED_DATA_SIZE:yi,ERR_INVALID_PASSWORD:Et,ERR_INVALID_STRICTNESS:mi,ERR_INVALID_UNCOMPRESSED_SIZE:bn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ii,ERR_OVERLAPPING_ENTRY:ui,ERR_SPLIT_ZIP_FILE:li,ERR_UNSAFE_FILENAME:pi,ERR_UNSUPPORTED_COMPRESSION:wn,ERR_UNSUPPORTED_ENCRYPTION:ci,ERR_UNSUPPORTED_UINT64:Si,ERR_WORKER_STARTUP_TIMEOUT:Hn,WARNING_APPENDED_DATA:zi,WARNING_COMPRESSED_PATCHED_DATA:bi,WARNING_DUPLICATE_FILENAME:Ii,WARNING_MALFORMED_EXTRA_FIELD:xi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Ti,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:vi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:_i,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Ci,WARNING_PREPENDED_CENTRAL_DIRECTORY:Ai,WARNING_PREPENDED_DATA:Di,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:ki,WARNING_UNKNOWN_VERSION:gi,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Ri,WARNING_UNSORTED_CENTRAL_DIRECTORY:Ei,WARNING_WRAPPED_ENTRIES_COUNT:Fi,ZipReader:Wi,ZipReaderStream:Pi,isZipFile:Zi});const Fs="File already exists",zs="Zip file comment exceeds 64KB",Ds="Invalid zip file comment (must be a Uint8Array)",As="File entry comment exceeds 64KB",ks="Invalid file entry comment (must be a string)",Is="Invalid date (must be a valid Date instance)",Cs="File entry name exceeds 64KB",Ts="Version exceeds 65535",vs="The strength must equal 1, 2, or 3",_s="Encryption is not supported in USDZ files",Ns="Encryption is not supported when the 'passThrough' option is set",Us="Invalid extra field (must be a Map)",Os="Invalid extra field type (must be integer 0..65535)",Ms="Invalid extra field data (must be a Uint8Array)",Ls="Extra field data exceeds 64KB",Bs=-2147483648,Ws=2147483647,Ps=i(0),Zs=i("0x7fffffffffffffff"),Vs="Zip64 is not supported (set the 'zip64' option to 'true')",Hs="Undefined uncompressed size",Gs="Undefined compression method",js="Undefined reader",qs="Zip file not empty",Ks="Invalid uid (must be integer 0..2^32-1)",Ys="Invalid gid (must be integer 0..2^32-1)",Xs="Invalid UNIX mode (must be integer 0..65535)",Js="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Qs="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",$s="Invalid msdosAttributesRaw (must be integer 0..255)",ea="Invalid msdosAttributes (must be an object with boolean flags)",ta="Invalid level (must be integer 0..9)",na="Signature data exceeds 64KB",ra=new w([7,0,2,0,65,69,3,0,0]),oa="infozip",ia="unix";let sa=0;const aa=[];class ca{constructor(e,t={}){e=new po(e);const{availableSize:r=ce,maxSize:o=ce}=e,i=r>0&&r!==ce&&o>0&&o!==ce;n.assign(this,{writer:e,Ze:i,options:t,Ve:new c,He:new l,offset:t[xe]===ae?e.size||e.writable.size||0:t[xe],Ge:t[xe]===ae?0:t[xe]-(e.size||e.writable.size||0),je:new l,qe:[],Ke:0,Ye:0,Xe:ae})}prependZip(e){return ua(this,async function(e,t){if(e.He.size)throw new d(qs);await e.Je(t)}(this,e))}appendZip(e){return ua(this,this.Je(e))}async Je(e){const r=this,{je:o,He:i,Ve:s}=r;for(;o.size;)await S.allSettled(t.from(o));let a;const l=new S(e=>a=e);o.add(l);const u=[];let f;try{e=new wo(e),await ho(e),e.size!==ae&&e.readUint8Array||(e=new Hr(await cn(e.readable)),await ho(e));const{ZipReader:o}=await S.resolve().then(function(){return Rs}),a=new o(e),l=await a.getEntries();await a.close(),await ho(r.writer);const{directoryOffset:w}=a;l.forEach(({filename:e})=>{if(i.has(e))throw new d(Fs);i.add(e),u.push(e)}),r.Qe=!0;const{$e:p}=r;r.$e=new S(e=>f=()=>{r.Qe=!1,e()}),await p,r.Ze&&(delete r.Ze,await async function(e){return tt(await So(e,0,4)).getUint32(0,!0)==W}(e)||(await Aa(r.writer,za()),r.offset+=4));const m=await async function(e,n,r,o){const{writer:i}=e,s=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>Fa(n,e)-Fa(n,t));let c=0;for(const t of a){const r=Fa(n,t);await xa(e,n,c,r-c),Ea(i,await Ra(n,r))&&await i.closeDisk(),s.set(t,{offset:ga(e,i),diskNumberStart:ya(i)}),c=r}await xa(e,n,c,o-c)}else{const t=e.offset;await xa(e,n,0,o),r.forEach(e=>s.set(e,{offset:t+Fa(n,e),diskNumberStart:0}))}return s}(r,e,l,w);l.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:l,extraFieldZip64:u}=e;let{compressionMethod:f,rawExtraField:d}=e;const{level:w,languageEncodingFlag:p,dataDescriptor:h}=i;d=ba(d||de),e.extraFieldAES&&(f=99);const y=Ha(d),S=Boolean(u)&&u.uncompressedSize!==ae,E=Boolean(u)&&u.compressedSize!==ae,g=-7&ja(w,p,h,a,f)|w<<1,{et:b,nt:x}=Ga({version:t,bitFlag:g,compressionMethod:f,uncompressedSize:c,compressedSize:l,rawLastModDate:r,rawFilename:o,ot:E,it:S,extraFieldLength:y}),{crc32:R}=e;R!==ae&&Pa(x,10,R);const{offset:F,diskNumberStart:z}=m.get(e);n.assign(e,{it:S,ot:E,offset:F,diskNumberStart:z,st:!1,ct:de,lt:de,ut:de,ft:de,wt:de,rawExtraField:d,ht:de,extendedTimestamp:!1,et:b,nt:x}),s.set(e.filename,e)})}catch(e){throw u.forEach(e=>i.delete(e)),e}finally{a(),o.delete(l),f&&f()}}add(e="",r,c={}){const l=this,{je:u}=l,f=async function(e,r,c,l){if(_a(e,l=n.assign({},l),Ho)&&!r.endsWith(re)&&(r+=re),e.He.has(r))throw new d(Fs);e.He.add(r),sa<qe().maxWorkers?sa++:await new S(e=>aa.push(e));try{return await async function(e,r,c,l){const u=function(e,n,r){let o=_a(e,r,Lo),i=_a(e,r,Zo,o?20:768);const s=_a(e,r,Go),a=Oa(e,r,"uid"),c=Oa(e,r,"gid");let l=Oa(e,r,Yo),u=_a(e,r,"unixExtraFieldType"),f=_a(e,r,Xo),w=_a(e,r,Jo),p=_a(e,r,Qo);if(Me(a,O,Ks),Me(c,O,Ys),Me(l,M,Xs),u!==ae&&u!==oa&&u!==ia)throw new d(Js);if(u===ia&&(a!==ae&&a>M||c!==ae&&c>M))throw new d(Qs);u!==ae||a===ae&&c===ae||(u=oa);let m=Oa(e,r,Oo),h=_a(e,r,Mo);const y=m!==ae||h!==ae;if(a!==ae||c!==ae||l!==ae||u||s?(o=!1,i=i&L|768):y&&(o=!0,i&=L),Me(m,L,$s),h&&("object"!=typeof h||t.isArray(h)))throw new d(ea);if(i>M)throw new d(Ts);let S=_a(e,r,Uo);const E=S!==ae;E||(S=0),!r[Ho]&&n.endsWith(re)&&(r[Ho]=!0);const g=_a(e,r,Ho);if(g?(n.endsWith(re)||(n+=re),E||(S=16,o||(S|=16877<<16))):o||E||(S=s?493<<16:27525120),!o){const e=l!==ae||Boolean(f||w||p);l=l===ae?S>>16&M:l&M,f?l|=te:f=Boolean(l&te),w?l|=ne:w=Boolean(l&ne),p?l|=512:p=Boolean(512&l),E&&!e||(g?l=-61441&l|ee:l&$||(l|=32768),S=(l&M)<<16|S&M)}({msdosAttributesRaw:m,msdosAttributes:h}=function(e,t){if(e!==ae)e&=L;else if(t!==ae){const{readOnly:n,hidden:r,system:o,directory:i,archive:s}=t;let a=0;n&&(a|=1),r&&(a|=2),o&&(a|=4),i&&(a|=16),s&&(a|=32),e=a&L}return t===ae&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(m,h)),y&&(S=S&O|m&L);const b=S>>16&M,x=l!==ae&&40960==(l&$);return{name:n,yt:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:S,unixExternalUpper:b,uid:a,gid:c,unixMode:l,unixExtraFieldType:u,symlink:x,setuid:f,setgid:w,sticky:p,msdosAttributesRaw:m,msdosAttributes:h}}}(e,r,l);({name:r}=u);const f=function(e,t,n){const r=Ua(e,n,"encodeText")||wt;let i=r(t,ze);if(i===ae&&(i=wt(t)),Ha(i)>M)throw new d(Cs);const s=n[xo]||"";if(typeof s!=fe)throw new d(ks);let c=r(s,De);if(c===ae&&(c=wt(s)),Ha(c)>M)throw new d(As);const l=_a(e,n,Po);if(l!==ae&&l>M)throw new d(Ts);const u=Na(e,n,ko,new a),f=_a(e,n,Io),w=Na(e,n,Co),p=Na(e,n,vo),m=_a(e,n,No,0),h=_a(e,n,me),y=_a(e,n,we),S=_a(e,n,pe);Ue(y,S);const E=Oa(e,n,"encryptionStrength",3),g=_a(e,n,Vo),b=_a(e,n,"extendedTimestamp",!0),x=_a(e,n,"ntfsTimestamp"),R=_a(e,n,"keepOrder",!0),F=_a(e,n,ye),z=_a(e,n,Ee),D=_a(e,n,"bufferedWrite"),A=Ua(e,n,"createTempStream"),k=_a(e,n,"dataDescriptorSignature",!0),I=Ne(_a(e,n,he)),C=_a(e,n,"useUnicodeFileNames",!0),T=_a(e,n,jo),v=h||T===ae?ae:yn(T);if(!h&&T!==ae&&0!==T&&8!==T&&!v)throw new d(wn);let _=Oa(e,n,"level");if(Me(_,9,ta),e.options[Re]){if(y!==ae||S!==ae)throw new d(_s);_===ae&&T===ae&&(_=0)}h&&(_=ae);let N=_a(e,n,Se),U=_a(e,n,be);D&&U===ae&&(U=!1),(U===ae||g&&!h)&&(U=!0),_!==ae&&6!=_&&(N=!1);const O=_a(e,n,Bo);if(!(g||y===ae&&S===ae||o.isInteger(E)&&E>=1&&E<=3))throw new d(vs);const L=wa(n[Ko]),B=wa(n.localExtraField),W=wa(n.centralExtraField);return{comment:s,yt:{rawFilename:i,rawComment:c,version:l,lastModDate:u,rawLastModDate:f,lastAccessDate:w,creationDate:p,internalFileAttributes:m,passThrough:h,password:y,rawPassword:S,encryptionStrength:E,zipCrypto:g,extendedTimestamp:b,ntfsTimestamp:x,keepOrder:R,useWebWorkers:F,transferStreams:z,bufferedWrite:D,createTempStream:A,dataDescriptorSignature:k,signal:I,useUnicodeFileNames:C,compressionMethod:T,format:v?v.format:ae,codecURI:v?v.codecURI:ae,St:v?v.versionNeeded:ae,level:_,useCompressionStream:N,dataDescriptor:U,zip64:O,rawExtraField:L,Et:B,ht:W}}}(e,r,l),{comment:p}=f,m=l[Ko];e.Ve.set(r,ae);const h=e.Xe,y={};let E,g;f.yt.keepOrder&&(y.gt=new S(e=>E=e)),e.Xe=y;try{const{yt:t}=f;0==t.level||t.compressionMethod!==ae||t.passThrough||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.me)return!0;if(_n(t)||vn(t,Dn))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1}(qe())||(t.level=0);const o=await async function(e,t,{yt:r},o){if(r.passThrough&&!t&&!_a(e,o,Ho))throw new d(js);let i;return t&&(t=new wo(t),await ho(t),({size:i}=t)),n.assign({reader:t},function(e,t,n,r,o){const{passThrough:i,zipCrypto:s,password:a,rawPassword:c,encryptionStrength:l}=r;let{dataDescriptor:u,zip64:f,level:w,compressionMethod:p}=r,m=0,h=0;if(i&&t){if(h=o[Fo],h===ae)throw new d(Hs);if(p===ae)throw new d(Gs)}const y=!0===f,S=_a(e,o,Wo);if(t&&i&&!S&&Ha(a,c))throw new d(Ns);const E=t&&(Boolean(a&&Ha(a)||c&&Ha(c))||i&&S);t||(w=0,p=0);const g=E?s?12:16+4*l:0;t&&(i?(o.uncompressedSize=h,m=n===ae?Ma(h)+g:n):n===ae?(u=!0,(f||f===ae)&&(f=!0,h=m=4294967296)):(o.uncompressedSize=h=n,m=(La(p,w)?Ma(h):h)+g));const b=!(E||t&&(0!==n||i)||La(p,w));b&&!s&&_a(e,o,be)===ae&&(u=!1);const x=y||h>=O,R=y||m>=O;if(x||R){if(!1===f)throw new d(Vs);f=!0}return f=f||!1,{bt:m,yt:{dataDescriptor:u,xt:b,zip64:f,it:x,ot:R,uncompressedSize:h,level:w,compressionMethod:p,encrypted:E}}}(e,Boolean(t),i,r,o))}(e,c,f,l);({reader:c}=o);const p=Sa(e.writer),m=ya(e.writer),b=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:l,zipCrypto:u,useUnicodeFileNames:f,dataDescriptor:w,directory:p,rawExtraField:m,Et:h,encryptionStrength:y,extendedTimestamp:S,ntfsTimestamp:E,passThrough:g,encrypted:b,it:x,ot:R,uncompressedSize:F,crc32:z}=e;let{version:D,compressionMethod:A}=e;const k=!p&&La(A,c);let I;const C=g||!k,T=l&&(e.bufferedWrite||!w||!x&&!R||C),v=T||l&&w&&(x||R);if(l&&(x||R)){const e=20,t=ha(e);if(t.Rt(1),t.Rt(e-4),I=t.Ft,T&&(t.zt(F),C)){const e=b?u?12:16+4*y:0;t.zt(g?0:F+e)}}else I=de;let _,N,U,O,L;if(b&&!u){const e=ha(Ha(ra)+2);e.Rt(39169),e.Dt(ra),_=e.Ft,_[8]=y}else _=de;if(S){const e=Ca(n),t=Ta(e);if(t){const t=9+(o?4:0)+(i?4:0),n=ha(t);O=1+(o?2:0)+(i?4:0),n.Rt(J),n.Rt(t-4),n.At(O),n.kt(e),o&&n.kt(va(Ca(o))),i&&n.kt(va(Ca(i))),U=n.Ft}else U=de;if(E===ae?!t||Boolean(o||i):E)try{const e=Ia(n),t=ha(36);t.Rt(10),t.Rt(32),t.It(4),t.Rt(1),t.Rt(24),t.zt(e),t.zt(o?Ia(o):e),t.zt(i?Ia(i):e),N=t.Ft}catch{N=de}else N=de}else N=U=de;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=oa||t===ae&&n===ae)if(r!=ia||t===ae&&n===ae)L=de;else{const e=ha(8);e.Rt(30805),e.Rt(4),e.Rt((t===ae?0:t)&M),e.Rt((n===ae?0:n)&M),L=e.Ft}else{const e=ma(t===ae?0:t),r=ma(n===ae?0:n),o=3+e.length+r.length,i=ha(4+o);i.Rt(30837),i.Rt(o),i.At(1),i.At(e.length),i.Dt(e),i.At(r.length),i.Dt(r),L=i.Ft}}catch{L=de}A===ae&&(A=k?8:0),D===ae&&(D=0!=A||p||b?20:10);const{St:W}=e;k&&W!==ae&&(D=D>W?D:W),l&&(D=D>45?D:45),b&&!u&&(D=D>51?D:51,g&&z!==ae&&(_[4]=1),Wa(tt(_),9,A),A=99);const P=v?Ha(I):0,Z=P+Ha(_,U,N,L,m,h);if(Z+(e[Re]?67:0)>M)throw new d(Ls);const V=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),{et:H,nt:G,rawLastModDate:j}=Ga({version:D,bitFlag:ja(c,f,w,b,A),compressionMethod:A,uncompressedSize:F,lastModDate:V<se?se:V>ie?ie:V,rawLastModDate:r,rawFilename:t,ot:R,it:x,extraFieldLength:Z}),q=ha(oe+Ha(t)+Z),K=q.Ft,Y=tt(K);return q.kt(B),q.Dt(H),q.Dt(t),v&&q.Dt(I),q.Dt(_),q.Dt(U),q.Dt(N),q.Dt(L),q.Dt(m),q.Dt(h),w&&(R||Pa(Y,18,0),x||Pa(Y,22,0)),{Ct:K,Tt:Y,et:H,nt:G,lastModDate:n,rawLastModDate:j,encrypted:b,compressed:k,version:D,compressionMethod:A,vt:O,ct:de,_t:P,ut:U,ft:N,wt:L,lt:_,extraFieldLength:Z}}(l=n.assign({},l,u.yt,f.yt,o.yt,{signature:l[qo],crc32:l.crc32===ae?l[qo]:l.crc32,offset:e.offset-p,diskNumberStart:m,[Re]:e.options[Re]})),x=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=de,i=0,s=e?20:12;return n&&(s+=4),t&&(o=new w(s),r=tt(o),n&&(i=4,Pa(r,0,P))),{Nt:o,Ut:r,Ot:i}}(l),R=Ha(b.Ct,x.Nt);g=await async function(e,t,r,o,s){const{Ve:a,writer:c}=e,{keepOrder:l,dataDescriptor:u,xt:f,signal:w}=s,{Mt:p,Pe:m,Lt:h,Bt:y}=o,E=e.options[Re];let g,b,x,R,z,D,A,k=m,I=0;const C=l&&h?h.gt:ae;a.set(t,k);try{s.bufferedWrite||!l||e.Qe||e.Ke||e.Ye||!u&&!f?(g=!0,e.Ke++,A=s.createTempStream?await s.createTempStream():new F(ae,ae,{highWaterMark:ce}),A.size=0,await ho(c)):(b=!0,e.Ye++,A=c,await C,await T()),await ho(A);const m=Sa(c);e.Ze&&!g&&await Da(e,c),E&&!g&&pa(o,e.offset-m);const{Ct:h}=p;g||await v();const y=ya(c),x=ga(e,c);if(k.diskNumberStart=y,g||(z=!0,D=c.size,await Aa(A,h)),k=await async function(e,t,{diskNumberStart:r,gt:o},s,a,c){const{Mt:l,Wt:u,Pt:f}=s,{et:w,nt:p,lastModDate:m,rawLastModDate:h,encrypted:y,compressed:S,version:E,compressionMethod:g,ct:b,_t:x,ut:R,vt:F,ft:z,wt:D,lt:A}=l,{Nt:k}=u,{rawFilename:I,lastAccessDate:C,creationDate:T,password:v,rawPassword:_,level:N,zip64:U,it:M,ot:B,zipCrypto:W,dataDescriptor:P,directory:Z,executable:V,versionMadeBy:H,rawComment:G,rawExtraField:j,ht:q,useWebWorkers:K,transferStreams:Y,onstart:X,onprogress:J,onend:Q,signal:$,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,uid:ie,gid:se,unixMode:ce,symlink:le,setuid:ue,setgid:fe,sticky:de,unixExternalUpper:we,msdosAttributesRaw:pe,msdosAttributes:me,useCompressionStream:he,passThrough:ye,format:Se,codecURI:Ee}=c,ge={gt:o,versionMadeBy:H,zip64:U,directory:Boolean(Z),executable:Boolean(V),filenameUTF8:!0,rawFilename:I,commentUTF8:!0,rawComment:G,ct:b,_t:x,ut:R,ft:z,wt:D,lt:A,rawExtraField:j,ht:q,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,diskNumberStart:r,uid:ie,gid:se,unixMode:ce,symlink:Boolean(le),setuid:ue,setgid:fe,sticky:de,unixExternalUpper:we,msdosAttributesRaw:pe,msdosAttributes:me};let{crc32:be,uncompressedSize:xe}=c,Re=0;ye||(xe=0);const{writable:Fe}=t;if(e){const n=e.size,r=an(Eo(e,{size:n})),o={options:{codecType:Wn,inputSize:n,level:N,rawPassword:_,password:v,encryptionStrength:ee,zipCrypto:y&&W,passwordVerification:y&&W&&h>>8&L,computeCrc32:!ye,compressed:S&&!ye,encrypted:y&&!ye,useWebWorkers:K,useCompressionStream:he,transferStreams:Y,format:Se,codecURI:Ee,compressionMethod:g},config:a,ae:{signal:$,size:n,onstart:X,onprogress:J,onend:Q}};try{const e=await Sr({readable:r,writable:Fe},o);if(Re=e.outputSize,t.size+=Re,ye||(xe=e.inputSize,y&&!W||(be=e.crc32)),!B&&Re>=O||!M&&xe>=O)throw new d(Vs)}catch(e){throw e.outputSize!==ae&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,Mt:r,Wt:o},{zip64:s,zipCrypto:a,passThrough:c,dataDescriptor:l}){const{nt:u,encrypted:f}=r,{Ut:d,Ot:w}=o;f&&!a&&!c||e===ae||(Pa(u,10,e),l&&Pa(d,w,e)),s?l&&(Za(d,w+4,i(t)),Za(d,w+12,i(n))):(Pa(u,14,t),Pa(u,18,n),l&&(Pa(d,w+4,t),Pa(d,w+8,n)))}({crc32:be,compressedSize:Re,uncompressedSize:xe,Mt:l,Wt:u},c),P&&await Aa(t,k),n.assign(ge,{uncompressedSize:xe,compressedSize:Re,lastModDate:m,rawLastModDate:h,creationDate:T,lastAccessDate:C,encrypted:Boolean(y),zipCrypto:Boolean(W),size:f+Re,compressionMethod:g,version:E,et:w,nt:p,signature:be,crc32:!y||W||ye?be:ae,vt:F,it:M,ot:B}),ge}(r,A,k,o,qe(),s),g||(z=!1),a.set(t,k),k.filename=t,g){if(await S.all([A.writable.getWriter().close(),C]),await T(),e.Ze&&await Da(e,c),R=!0,D=c.size,await v(),k.diskNumberStart=ya(c),k.offset=ga(e,c),E){const t=o.Pt;pa(o,e.offset-Sa(c)),k.size+=o.Pt-t}!function({rawFilename:e,encrypted:t,zip64:n,_t:r,crc32:o,compressedSize:s,uncompressedSize:a,it:c,ot:l},u,{dataDescriptor:f,passThrough:d}){if(f||((!t||d&&o!==ae)&&Pa(u,14,o),l||Pa(u,18,s),c||Pa(u,22,a)),n&&r){const t=oe+Ha(e)+4;Za(u,t,i(a)),Za(u,t+8,i(s))}}(k,p.Tt,s),await Aa(c,p.Ct),await ka(A.readable,c,w,e=>I+=e),c.size+=A.size,R=!1}else k.diskNumberStart=y,k.offset=x;return e.offset+=k.size,k}catch(n){if(R||z){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-D,g&&(e.offset+=I)}throw a.delete(t),n}finally{if(g&&e.Ke--,b&&e.Ye--,y&&y(C),x&&x(),g&&A&&A.dispose)try{await A.dispose()}catch{}}async function T(){e.Qe=!0;const{$e:t}=e;e.$e=new S(t=>x=()=>{e.Qe=!1,t()}),await t}async function v(){Ea(c,Ha(p.Ct))&&await c.closeDisk()}}(e,r,c,{Mt:b,Wt:x,Pt:R,Pe:y,Lt:h,Bt:E},l)}catch(t){throw e.Ve.delete(r),t}finally{E&&E(h&&h.gt)}return n.assign(g,{name:r,comment:p,extraField:m}),new ei(g)}(e,r,c,l)}catch(t){throw e.He.delete(r),t}finally{const e=aa.shift();e?e():sa--}}(l,e,r,c);u.add(f);const p=()=>u.delete(f);return S.prototype.then.call(f,p,p),ua(l,f)}remove(e){const{He:t,Ve:n}=this;if(typeof e==fe&&(e=n.get(e)),e&&e.filename!==ae){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=de,n={}){const r=this,{je:o,writer:s}=this,{writable:a}=s;if(!(e instanceof w))throw new d(Ds);if(Ha(e)>M)throw new d(zs);for(;o.size;)await S.allSettled(t.from(o));await S.allSettled(r.qe.map(e=>e.Zt));const c=r.qe.filter(e=>e.error&&!e.Vt);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.Vt=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const o=function(e){let t=0;for(const[,n]of e){const{rawFilename:e,lt:r,rawComment:o,ft:i,wt:s,rawExtraField:a,ht:c,extendedTimestamp:l,vt:u,lastModDate:f,it:w,ot:p,uncompressedSize:m,compressedSize:h}=n,y=n.offset>=O,S=n.diskNumberStart>=M;let E,g;if(y||S||w||p){const e=4+(w?8:0)+(p?8:0)+(y?8:0)+(S?4:0),t=ha(e);t.Rt(1),t.Rt(e-4),w&&t.zt(m),p&&t.zt(h),y&&t.zt(n.offset),S&&t.kt(n.diskNumberStart),E=t.Ft}else E=de;n.ct=E,n.Ht=y,n.st=S;const b=Ca(f);if(l&&Ta(b)){const e=ha(9);e.Rt(J),e.Rt(5),e.At(u),e.kt(b),g=e.Ft}else g=de;n.ut=g;const x=Ha(E,r,i,s,g,a,c);if(x>M)throw new d(Ls);t+=q+Ha(e,o)+x}return t}(e.Ve),{Gt:s,jt:a,qt:c}=await async function(e,n,r){const{Ve:o,writer:i}=e,s=new w(n);await ho(i);let a=0,c=0,l=ya(i),u=Sa(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:d,ct:w,lt:p,ut:m,ft:h,wt:y,rawExtraField:S,ht:E,rawComment:g,versionMadeBy:b,et:x,nt:R,it:F,ot:z,st:D,Ht:A,internalFileAttributes:k,externalFileAttributes:I,diskNumberStart:C,uncompressedSize:T,compressedSize:v}=n,_=Ha(w,p,m,h,y,S,E),N=q+Ha(d,g)+_;Ea(i,a+N-c)&&(await Aa(i,s.slice(c,a)),c=a,f=0,await i.closeDisk()),0==e&&(l=ya(i),u=Sa(i)),F||Pa(R,18,T),z||Pa(R,14,v),(A||D)&&n.version<45&&Wa(R,0,45);const U=ha(N);if(U.kt(V),U.Rt(b),U.Dt(x.subarray(0,24)),U.Rt(_),U.Rt(Ha(g)),U.Rt(D?M:C),U.Rt(k),U.kt(I),U.kt(A?O:t),U.Dt(d),U.Dt(w),U.Dt(p),U.Dt(m),U.Dt(h),U.Dt(y),U.Dt(S),U.Dt(E),U.Dt(g),Va(s,U.Ft,a),a+=N,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new ei(n))}catch{}}return await Aa(i,c?s.slice(c):s),{Gt:{diskNumber:l,diskOffset:u},jt:{diskNumber:ya(i),Kt:f},qt:s}}(e,o,r),l=await async function(e,t,n){const r=Ua(e,n,"signCentralDirectory");if(r){const n=await r(t),o=Ha(n);if(o>M)throw new d(na);const i=ha(6+o);i.kt(Z),i.Rt(o),i.Dt(n);const{writer:s}=e;return Ea(s,Ha(i.Ft))&&await s.closeDisk(),await Aa(s,i.Ft),6+o}return 0}(e,c,r);await async function(e,t,n,r){const{writer:o}=e,{Gt:s,jt:a,Yt:c}=r;let{Xt:l}=r,u=e.Ve.size,f=s.diskNumber,w=ga(e,s);const p=Ha(t);if(p>M)throw new d(zs);let m=_a(e,n,Bo),h=ya(o);if(Ea(o,(m?98:K)+p)&&h++,w>=O||l>=O||u>=M||h>=M){if(!1===m)throw new d(Vs);m=!0}const y=ha(m?98:K);Ea(o,Ha(y.Ft)+p)&&await o.closeDisk(),h=ya(o);let S=h==a.diskNumber?a.Kt:0;m&&(y.kt(G),y.zt(44),y.Rt(45),y.Rt(45),y.kt(h),y.kt(f),y.zt(S),y.zt(u),y.zt(l),y.zt(w),y.kt(j),y.kt(h),y.zt(i(ga(e,o))+i(l)+i(c)),y.kt(h+1),_a(e,n,"supportZip64SplitFile",!0)&&(h=M,f=M),S=M,u=M,w=O,l=O),y.kt(H),y.Rt(h),y.Rt(f),y.Rt(S),y.Rt(u),y.kt(l),y.kt(w),y.Rt(p),await Aa(o,y.Ft),p&&await Aa(o,t)}(e,n,r,{Gt:s,jt:a,Xt:o,Yt:l})}(r,e,n),!mo(s)&&_a(r,n,ge)||await a.getWriter().close(),s.getData?s.getData():a}}class la extends S{then(e,t){const{Jt:n}=this;return n&&(n.Vt=!0),super.then(e,t)}}function ua(e,t){const n=new la((e,n)=>S.prototype.then.call(t,e,n)),r={};return n.Jt=r,r.Zt=S.prototype.then.call(n,ae,e=>r.error=e),e.qe.push(r),n}async function fa(e,t){try{await e.writer.writable.abort(t)}catch{}}function da(e,t,n){e.je.add(t),t.catch(e=>{try{n(e)}catch{}})}function wa(e){if(!e)return de;if(!(e instanceof c))throw new d(Us);let t=0,n=0;e.forEach((e,n)=>{if(Oe(n,M,Os),!(e instanceof w))throw new d(Ms);if(Ha(e)>M)throw new d(Ls);t+=4+Ha(e)});const r=new w(t),o=tt(r);return e.forEach((e,t)=>{Wa(o,n,t),Wa(o,n+2,Ha(e)),Va(r,e,n+4),n+=4+Ha(e)}),r}function pa(e,t){const{Mt:n}=e;let{Ct:r,extraFieldLength:o}=n,i=64-(t+Ha(r))%64;i<4&&(i+=64);const s=new w(i),a=tt(s);Wa(a,0,6534),Wa(a,2,i-4);const c=r;n.Ct=r=new w(Ha(c)+i),Va(r,c),Va(r,s,Ha(c));const l=tt(r);Wa(l,28,o+i),n.Tt=l,e.Pt+=i}function ma(e){const t=new w(4);tt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function ha(e){const t=new w(e),n=tt(t);let r=0;return{Ft:t,At:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},Rt:e=>{Wa(n,r,e),r+=2},kt:e=>{Pa(n,r,e),r+=4},zt:e=>{Za(n,r,i(e)),r+=8},Dt:e=>{Va(t,e,r),r+=Ha(e)},It:e=>r+=e}}function ya(e){const{diskNumber:t=0}=e;return t}function Sa(e){const{diskOffset:t=0}=e;return t}function Ea(e,t){const{availableSize:n=ce}=e;return t>n}function ga(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Ge:0)}function ba(e){const t=tt(e);let n=0;for(;n+4<=Ha(e);){const r=4+Ba(t,n+2);if(1==Ba(t,n))return ba($e(e.subarray(0,n),e.subarray(s.min(n+r,Ha(e)))));n+=r}return e}async function xa(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await ka(Eo(t,{offset:n,size:r}),o,ae,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function Ra(e,t){const n=await So(e,t,oe);if(Ha(n)<oe)return oe;const r=tt(n);return oe+Ba(r,26)+Ba(r,28)}function Fa(e,{offset:t,diskNumberStart:n}){return t+(e.Ne?e.Ne(n):0)}function za(){const e=new w(4);return Pa(tt(e),0,W),e}async function Da(e,t){delete e.Ze,await Aa(t,za()),e.offset+=4}async function Aa(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Ha(t),await r.write(t)}finally{r.releaseLock()}}async function ka(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){await o.ready,await o.write(e),r(Ha(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function Ia(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<Ps?Ps:t>Zs?Zs:t}}function Ca(e){return s.floor(e.getTime()/1e3)}function Ta(e){return e>=Bs&&e<=Ws}function va(e){return s.min(Ws,s.max(Bs,e))}function _a(e,t,n,r){const o=t[n]===ae?e.options[n]:t[n];return o===ae?r:o}function Na(e,t,n,r){const i=_a(e,t,n,r);if(null===i)return r;if(i!==ae&&(typeof i.getTime!=ue||o.isNaN(i.getTime())))throw new d(Is);return i}function Ua(e,t,n){return _e(_a(e,t,n))}function Oa(e,t,n,r){return Le(_a(e,t,n,r))}function Ma(e){return e+5*(s.floor(e/16383)+1)}function La(e,t){return e===ae?t===ae||t>0:0!==e}function Ba(e,t){return e.getUint16(t,!0)}function Wa(e,t,n){e.setUint16(t,n,!0)}function Pa(e,t,n){e.setUint32(t,n,!0)}function Za(e,t,n){e.setBigUint64(t,n,!0)}function Va(e,t,n){e.set(t,n)}function Ha(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Ga({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,ot:c,it:l,extraFieldLength:u}){const f=ha(26),d=f.Ft,w=tt(d);if(f.Rt(e),f.Rt(t),f.Rt(n),s===ae){const e=new m(1),t=tt(e);Wa(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Wa(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=e[0]}return f.kt(s),f.It(4),c||o!==ae?f.kt(c?O:o):f.It(4),l||r!==ae?f.kt(l?O:r):f.It(4),f.Rt(Ha(a)),f.Rt(u),{et:d,nt:w,rawLastModDate:s}}function ja(e,t,n,r,o){let i=0;return t&&(i|=Q),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function qa(e,t){if(!e)return!1;const{Qt:n}=e;return n?n.includes(t):vn(e,t)}const Ka=1048576,Ya=".zip.js-temp",Xa=1048576,Ja=1048576,Qa=".zip.js-temp",$a="createSyncAccessHandle is only available in dedicated workers";try{!function(e){const t=Xe(Qe(e));n.assign(Pe,t),n.assign(je,t)}({baseURI:void 0===b&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===b?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new f("zip-core.min.js",b.baseURI).href})}catch{}e.BlobReader=Hr,e.BlobWriter=Gr,e.Data64URIReader=class extends Wr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{$t:e,en:r,size:s.floor(.75*(t-r))})}readUint8Array(e,t){const{en:n,$t:r}=this,o=new w(t),i=4*s.floor(e/3),a=atob(r.substring(i+n,4*s.ceil((e+t)/3)+n)),c=e-3*s.floor(i/4);let l=0;for(let e=c;e<c+t&&e<a.length;e++)o[e-c]=a.charCodeAt(e),l++;return l<o.length?o.subarray(0,l):o}},e.Data64URIWriter=class extends Pr{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",tn:""})}writeUint8Array(e){const t=this;let n,o=t.tn;const i=t.tn.length;for(t.tn="",n=0;n<3*s.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.tn+=r.fromCharCode(e[n]);o.length>2?t.data+=R(o):t.tn=o+t.tn}getData(){return this.data+R(this.tn)}},e.ERR_AMBIGUOUS_ARCHIVE=di,e.ERR_BAD_FORMAT=ti,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=oi,e.ERR_DUPLICATED_NAME=Fs,e.ERR_ENCRYPTED=ai,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=wi,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=fi,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ri,e.ERR_EOCDR_NOT_FOUND=ni,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=si,e.ERR_HTTP_RANGE=kr,e.ERR_HTTP_RESOURCE_CHANGED=Ir,e.ERR_INVALID_AUTHENTICATION_CODE=gt,e.ERR_INVALID_CODEC_DEFINITION=un,e.ERR_INVALID_CODEC_MODULE=dn,e.ERR_INVALID_COMMENT=zs,e.ERR_INVALID_COMMENT_TYPE=Ds,e.ERR_INVALID_COMPRESSED_DATA=xn,e.ERR_INVALID_CRC32=Rn,e.ERR_INVALID_DATE=Is,e.ERR_INVALID_ENCRYPTION_STRENGTH=vs,e.ERR_INVALID_ENTRY_COMMENT=As,e.ERR_INVALID_ENTRY_COMMENT_TYPE=ks,e.ERR_INVALID_ENTRY_NAME=Cs,e.ERR_INVALID_EXTRAFIELD=Us,e.ERR_INVALID_EXTRAFIELD_DATA=Ls,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=Ms,e.ERR_INVALID_EXTRAFIELD_TYPE=Os,e.ERR_INVALID_FILENAME_VALIDATION=hi,e.ERR_INVALID_FUNCTION_OPTION=Ce,e.ERR_INVALID_GID=Ys,e.ERR_INVALID_LEVEL=ta,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=yi,e.ERR_INVALID_MAX_WORKERS=Be,e.ERR_INVALID_MSDOS_ATTRIBUTES=$s,e.ERR_INVALID_MSDOS_DATA=ea,e.ERR_INVALID_PASSWORD=Et,e.ERR_INVALID_PASSWORD_TYPE=ve,e.ERR_INVALID_SIGNAL=Te,e.ERR_INVALID_SIGNATURE_DATA=na,e.ERR_INVALID_STRICTNESS=mi,e.ERR_INVALID_UID=Ks,e.ERR_INVALID_UNCOMPRESSED_SIZE=bn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Js,e.ERR_INVALID_UNIX_ID_SIZE=Qs,e.ERR_INVALID_UNIX_MODE=Xs,e.ERR_INVALID_VERSION=Ts,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Cr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=ii,e.ERR_OVERLAPPING_ENTRY=ui,e.ERR_RESERVED_COMPRESSION_METHOD=fn,e.ERR_SPLIT_ZIP_FILE=li,e.ERR_UNDEFINED_COMPRESSION_METHOD=Gs,e.ERR_UNDEFINED_READER=js,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Hs,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=pi,e.ERR_UNSUPPORTED_COMPRESSION=wn,e.ERR_UNSUPPORTED_CONTEXT=$a,e.ERR_UNSUPPORTED_CRYPTO_API=xt,e.ERR_UNSUPPORTED_ENCRYPTION=ci,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Ns,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=_s,e.ERR_UNSUPPORTED_FORMAT=Vs,e.ERR_UNSUPPORTED_UINT64=Si,e.ERR_WORKER_STARTUP_TIMEOUT=Hn,e.ERR_WRITER_NOT_INITIALIZED=Tr,e.ERR_ZIP_NOT_EMPTY=qs,e.HttpRangeReader=class extends lo{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=lo,e.Reader=Wr,e.SplitDataReader=uo,e.SplitDataWriter=fo,e.TextReader=class extends Hr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Gr{constructor(e){super(),n.assign(this,{encoding:e,nn:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,nn:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return Dr(e,t,!1)}(new w(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Wr{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{Ft:e,size:e.length})}readUint8Array(e,t){return this.Ft.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Pr{constructor(e){super(),this.rn=e||262144}init(e=0){n.assign(this,{offset:0,Ft:new w(e>0?e:this.rn)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.Ft.length){let e=t.Ft.length?2*t.Ft.length:t.rn;for(;e<n;)e*=2;const r=t.Ft;t.Ft=new w(e),t.Ft.set(r)}t.Ft.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.Ft.length?this.Ft:this.Ft.slice(0,this.offset)}},e.VERSION="2.11.2",e.WARNING_APPENDED_DATA=zi,e.WARNING_COMPRESSED_PATCHED_DATA=bi,e.WARNING_DUPLICATE_FILENAME=Ii,e.WARNING_MALFORMED_EXTRA_FIELD=xi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Ti,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=vi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=_i,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=Ci,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=Ai,e.WARNING_PREPENDED_DATA=Di,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=ki,e.WARNING_UNKNOWN_VERSION=gi,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=Ri,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=Ei,e.WARNING_WRAPPED_ENTRIES_COUNT=Fi,e.Writer=Pr,e.ZipReader=Wi,e.ZipReaderStream=Pi,e.ZipWriter=ca,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new F;this.readable=t,this.zipWriter=new ca(n,e),this.je=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new F({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await fa(t,e)}}()}});return da(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new F({start(e){t=e}});return da(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await S.allSettled(t.from(this.je))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await fa(r,e),e}try{return await r.close(e,n)}catch(e){throw await fa(r,e),e}}},e.configure=function(e){n.assign(je,Xe(Qe(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=Xa}=e;return function(){const e=[];let n,r,o,i=0,s=!1;const a=new D({async write(o){s?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new F;r=cn(t.readable),n=t.writable.getWriter(),s=!0;for(const t of e)await n.write(t);e.length=0}())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:a,readable:new z({async pull(t){if(s){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=Ka,directoryName:r=Ya,getDirectory:o=()=>I.storage.getDirectory()}=e;let i;function s(){return i||(i=S.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,a,c=0,l=!1;const u=new D({async write(a){l?await i.write(a):(e.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),l=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:u,readable:new z({async pull(t){if(l){if(!a){const e=await o.getFile();a=e.stream().getReader()}const{value:e,done:n}=await a.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){a&&await a.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await s();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=Ja,directoryName:r=Qa,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new d($a);const i=o||(()=>I.storage.getDirectory());let a;function c(){return a||(a=S.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return function(){const e=[];let r,o,i=0,a=!1,l=0,u=0;const f=new D({async write(s){a?(o.write(s,{at:l}),l+=s.length):(e.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),a=!0;for(const t of e)o.write(t,{at:l}),l+=t.length;e.length=0}())},close(){o&&o.flush()}});let d=0;return{writable:f,readable:new z({pull(t){if(a){const e=l-u;if(e<=0)return void t.close();const n=new w(s.min(524288,e)),r=o.read(n,{at:u});r?(u+=r,t.enqueue(n.subarray(0,r))):t.close()}else d<e.length?t.enqueue(e[d++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=Sn,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=qe(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:qa(n,Fn)||qa(e,Fn)||qa(e,Dn),decompression:qa(r,Fn)||qa(t,Fn)||qa(t,Dn),registered:!1},{compressionMethod:9,compression:!1,decompression:qa(r,zn)||qa(t,zn),registered:!1}];for(const e of Sn()){const t=En(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==ue:ae,decompression:t?typeof t.DecompressionStream==ue:ae,registered:!0})}return o},e.isZipFile=Zi,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:s,versionNeeded:a}=e;if(!o.isInteger(t)||t<0||t>M||typeof n!=fe||!n.length)throw new d(un);if(pn.includes(t))throw new d(fn);const c=typeof i==ue||typeof s==ue;if(!(c||typeof r==fe&&r.length))throw new d(un);mn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:a}),c&&gn(n,{CompressionStream:i,DecompressionStream:s})},e.resetConfiguration=function(){for(const e of Ge)delete je[e];n.assign(je,Pe)},e.terminateWorkers=async function(){await S.allSettled(wr.map(e=>(Rr(e),e.terminate()))),Gn=ae,jn=!1},e.unregisterCodec=function(e){const t=mn.get(e);if(t){let n;mn.delete(e),mn.forEach(e=>n=n||e.format==t.format),n||hn.delete(t.format)}}});
|
|
@@ -3639,11 +3639,10 @@ class Reader extends Stream {
|
|
|
3639
3639
|
const data = await readUint8Array(reader, offset + chunkOffset, dataSize);
|
|
3640
3640
|
if (data.length) {
|
|
3641
3641
|
controller.enqueue(data);
|
|
3642
|
+
chunkOffset += data.length;
|
|
3642
3643
|
}
|
|
3643
|
-
if ((
|
|
3644
|
+
if ((size !== UNDEFINED_VALUE && chunkOffset >= size) || (!data.length && dataSize)) {
|
|
3644
3645
|
controller.close();
|
|
3645
|
-
} else {
|
|
3646
|
-
chunkOffset += chunkSize;
|
|
3647
3646
|
}
|
|
3648
3647
|
}
|
|
3649
3648
|
});
|
|
@@ -6354,6 +6353,7 @@ class ZipWriter {
|
|
|
6354
6353
|
pendingAddFileCalls: new Set(),
|
|
6355
6354
|
pendingErrors: [],
|
|
6356
6355
|
bufferedWrites: 0,
|
|
6356
|
+
directWrites: 0,
|
|
6357
6357
|
lastFileEntry: UNDEFINED_VALUE
|
|
6358
6358
|
});
|
|
6359
6359
|
}
|
|
@@ -7204,6 +7204,7 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
7204
7204
|
const usdz = zipWriter.options[OPTION_USDZ];
|
|
7205
7205
|
let fileEntry = pendingFileEntry;
|
|
7206
7206
|
let bufferedWrite;
|
|
7207
|
+
let directWrite;
|
|
7207
7208
|
let releaseLockWriter;
|
|
7208
7209
|
let writingBufferedEntryData;
|
|
7209
7210
|
let writingEntryData;
|
|
@@ -7213,7 +7214,7 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
7213
7214
|
const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
|
|
7214
7215
|
fileEntries.set(name, fileEntry);
|
|
7215
7216
|
try {
|
|
7216
|
-
if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || (!dataDescriptor && !emptyEntry)) {
|
|
7217
|
+
if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || zipWriter.directWrites || (!dataDescriptor && !emptyEntry)) {
|
|
7217
7218
|
bufferedWrite = true;
|
|
7218
7219
|
zipWriter.bufferedWrites++;
|
|
7219
7220
|
if (options.createTempStream) {
|
|
@@ -7224,6 +7225,8 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
7224
7225
|
fileWriter.size = 0;
|
|
7225
7226
|
await initStream(writer);
|
|
7226
7227
|
} else {
|
|
7228
|
+
directWrite = true;
|
|
7229
|
+
zipWriter.directWrites++;
|
|
7227
7230
|
fileWriter = writer;
|
|
7228
7231
|
await lockPreviousFileEntry;
|
|
7229
7232
|
await requestLockWriter();
|
|
@@ -7302,6 +7305,9 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
7302
7305
|
if (bufferedWrite) {
|
|
7303
7306
|
zipWriter.bufferedWrites--;
|
|
7304
7307
|
}
|
|
7308
|
+
if (directWrite) {
|
|
7309
|
+
zipWriter.directWrites--;
|
|
7310
|
+
}
|
|
7305
7311
|
if (releaseLockFileEntry) {
|
|
7306
7312
|
releaseLockFileEntry(lockPreviousFileEntry);
|
|
7307
7313
|
}
|
|
@@ -7446,8 +7452,8 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
|
|
|
7446
7452
|
}
|
|
7447
7453
|
const { writable } = writer;
|
|
7448
7454
|
if (reader) {
|
|
7449
|
-
const readable = toCompatibleReadable(createReadable(reader));
|
|
7450
7455
|
const size = reader.size;
|
|
7456
|
+
const readable = toCompatibleReadable(createReadable(reader, { size }));
|
|
7451
7457
|
const workerOptions = {
|
|
7452
7458
|
options: {
|
|
7453
7459
|
codecType: CODEC_DEFLATE,
|
|
@@ -8626,7 +8632,7 @@ function formatSupported(StreamClass, format) {
|
|
|
8626
8632
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
8627
8633
|
*/
|
|
8628
8634
|
|
|
8629
|
-
const VERSION = "2.11.
|
|
8635
|
+
const VERSION = "2.11.2";
|
|
8630
8636
|
|
|
8631
8637
|
/*
|
|
8632
8638
|
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
@@ -9215,18 +9221,17 @@ function _make(isCompress, type, options = {}) {
|
|
|
9215
9221
|
}
|
|
9216
9222
|
heap.set(buffer.subarray(offset, offset + toRead), this.in);
|
|
9217
9223
|
const result = process(this.streamHandle, this.in, toRead, out, outBufferSize, 0);
|
|
9224
|
+
// checked before the byte count is used, so a status code can never be read as one
|
|
9225
|
+
const code = (result >> 24) & 0xff;
|
|
9226
|
+
const signedCode = (code & 0x80) ? code - 256 : code;
|
|
9227
|
+
if (signedCode < 0) {
|
|
9228
|
+
throw new Error("process error:" + signedCode);
|
|
9229
|
+
}
|
|
9218
9230
|
const prod = result & 0x00ffffff;
|
|
9219
9231
|
if (prod) {
|
|
9220
9232
|
scratch.set(heap.subarray(out, out + prod), 0);
|
|
9221
9233
|
controller.enqueue(scratch.slice(0, prod));
|
|
9222
9234
|
}
|
|
9223
|
-
if (!isCompress) {
|
|
9224
|
-
const code = (result >> 24) & 0xff;
|
|
9225
|
-
const signedCode = (code & 0x80) ? code - 256 : code;
|
|
9226
|
-
if (signedCode < 0) {
|
|
9227
|
-
throw new Error("process error:" + signedCode);
|
|
9228
|
-
}
|
|
9229
|
-
}
|
|
9230
9235
|
const consumed = last_consumed(this.streamHandle);
|
|
9231
9236
|
if (consumed === 0 && prod === 0) {
|
|
9232
9237
|
break;
|
|
@@ -9246,14 +9251,12 @@ function _make(isCompress, type, options = {}) {
|
|
|
9246
9251
|
const scratch = this._scratch;
|
|
9247
9252
|
while (true) {
|
|
9248
9253
|
const result = process(this.streamHandle, 0, 0, out, outBufferSize, 4);
|
|
9249
|
-
const produced = result & 0x00ffffff;
|
|
9250
9254
|
const code = (result >> 24) & 0xff;
|
|
9251
|
-
|
|
9252
|
-
|
|
9253
|
-
|
|
9254
|
-
throw new Error("process error:" + signedCode);
|
|
9255
|
-
}
|
|
9255
|
+
const signedCode = (code & 0x80) ? code - 256 : code;
|
|
9256
|
+
if (signedCode < 0) {
|
|
9257
|
+
throw new Error("process error:" + signedCode);
|
|
9256
9258
|
}
|
|
9259
|
+
const produced = result & 0x00ffffff;
|
|
9257
9260
|
if (produced) {
|
|
9258
9261
|
scratch.set(heap.subarray(out, out + produced), 0);
|
|
9259
9262
|
controller.enqueue(scratch.slice(0, produced));
|