@zip.js/zip.js 2.8.61 → 2.9.0

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.
@@ -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:u,Response:l,URL:f,Error:w,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:E,TextDecoder:x,document:A,crypto:b,btoa:z,TransformStream:S,ReadableStream:F,WritableStream:R,CompressionStream:C,DecompressionStream:v,navigator:D,Worker:I,Symbol:N,setTimeout:k,clearTimeout:T,structuredClone:B}="undefined"!=typeof globalThis?globalThis:this||self;var O=void 0!==A?A.currentScript:null;const U=4294967295,V=65535,M=255,L=67324752,W=134695760,P=W,Z=84233040,q=33639248,G=101010256,H=101075792,Y=117853008,Q=46,X=22,K=20,j=56,J=21589,_=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,ue="undefined",le="function",fe="string",we=new d,de="password",pe="rawPassword",he="passThrough",me="signal",ye="useWebWorkers",ge="useCompressionStream",Ee="transferStreams",xe="preventClose",Ae="dataDescriptor",be="offset",ze="usdz",Se="maxAppendedDataSize",Fe="filename",Re="comment",Ce="strict",ve="balanced",De="tolerant",Ie="Invalid option (must be a function)",Ne="Invalid signal (must be an AbortSignal instance)",ke="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Te(e){if(e&&typeof e!=le)throw new w(Ie);return e}function Be(e){if(e&&(typeof e.addEventListener!=le||"boolean"!=typeof e.aborted))throw new w(Ne);return e||ae}function Oe(e,t){if(e&&typeof e!=fe||t&&!(t instanceof d))throw new w(ke)}function Ue(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new w(n)}function Ve(e,t,n){e!==ae&&Ue(e,t,n)}function Me(e){return typeof e==fe&&e.trim()?o(e):e}const Le="Invalid maxWorkers (must be an integer greater than 0)";let We=2;try{typeof D!=ue&&D.hardwareConcurrency&&(We=D.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 C!=ue&&C,DecompressionStream:typeof v!=ue&&v},Ze="maxWorkers",qe=["chunkSize",Ze,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],Ge=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],He=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...qe,...Ge],Ye={...Pe};function Qe(){return Ye}function Xe(e){return Ke(e.chunkSize)}function Ke(e){return e=Me(e),o.isInteger(e)&&e>=1?s.max(e,64):65536}function je(e){const t={};for(const n of He){const r=e[n];r!==ae&&(t[n]=Je(n,r))}return t}function Je(e,t){if(qe.includes(e)){if(t=Me(t),e==Ze&&(!o.isInteger(t)||t<1))throw new w(Le)}else Ge.includes(e)&&Te(t);return t}function _e(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){const t=je(_e(e));n.assign(Pe,t),n.assign(Ye,t)}const et=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],tt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],nt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],rt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ot=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],it=new d(288);it.fill(8,0,144),it.fill(9,144,256),it.fill(7,256,280),it.fill(8,280,288);const st=new d(30).fill(5);function at(e){const t=new p(16);for(const n of e)t[n]++;t[0]=0;const n=new p(17);for(let e=1;e<=15;e++)n[e+1]=n[e]+t[e];const r=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(r[n[e[t]]++]=t);return{o:t,symbols:r}}const ct="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ut=(lt=()=>function(e){let t=0,n=0,r=0,o=new d(1024),i=0,s=0;for(;!s;){s=c(1);const e=c(2);if(0==e)u();else if(1==e)l(at(it),at(st));else{if(2!=e)throw new w("invalid deflate block type");l(...f())}}return o.subarray(0,i);function a(){if(t>=e.length)throw new w("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=a()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function u(){n=0,r=0;const e=a()|a()<<8;t+=2,h(i+e);for(let t=0;t<e;t++)o[i++]=a()}function l(e,t){let n=p(e);for(;256!=n;){if(n<256)h(i+1),o[i++]=n;else{const e=n-257,r=et[e]+c(tt[e]),s=p(t),a=nt[s]+c(rt[s]);h(i+r);const u=i-a;for(let e=0;e<r;e++)o[i++]=o[u+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new d(19);for(let e=0;e<n;e++)r[ot[e]]=c(3);const o=at(r),i=new d(e+t);let s=0;for(;s<i.length;){const e=p(o);if(e<16)i[s++]=e;else if(16==e){const e=i[s-1];let t=c(2)+3;for(;t--;)i[s++]=e}else s+=17==e?c(3)+3:c(7)+11}return[at(i.subarray(0,e)),at(i.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,o=0,i=0;for(let e=1;e<=15;e++){r|=c(1);const s=t[e];if(r-o<s)return n[i+(r-o)];i+=s,o=o+s<<1,r<<=1}throw new w("invalid huffman code")}function h(e){if(o.length<e){let t=2*o.length;for(;t<e;)t*=2;const n=new d(t);n.set(o.subarray(0,i)),o=n}}}(function(e){const t=(e=r(e).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=ct.indexOf(e[r])<<18|ct.indexOf(e[r+1])<<12|(63&ct.indexOf(e[r+2]))<<6|63&ct.indexOf(e[r+3]);n.push(t>>16&255),"="!==e[r+2]&&n.push(t>>8&255),"="!==e[r+3]&&n.push(255&t)}return new d(n)}("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=lt();if("string"==typeof n&&(n=(new E).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+function(e){let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=ct[n>>18&63]+ct[n>>12&63]+ct[n>>6&63]+ct[63&n]}const o=n-r;if(1===o){const n=e[r]<<16;t+=ct[n>>18&63]+ct[n>>12&63]+"=="}else if(2===o){const n=e[r]<<16|e[r+1]<<8;t+=ct[n>>18&63]+ct[n>>12&63]+ct[n>>6&63]+"="}return t}(n)}}));var lt;function ft(e,t){const n=new d(e.length+t.length);return n.set(e),n.set(t,e.length),n}function wt(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new d(e):e}function dt(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const pt=[[],[],[],[],[],[],[],[]];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;pt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=pt[t-1][e];pt[t][e]=n>>>8^pt[0][255&n]}const[ht,mt,yt,gt,Et,xt,At,bt]=pt;class zt{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new m(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=bt[255&e]^At[e>>>8&255]^xt[e>>>16&255]^Et[e>>>24&255]^gt[255&n]^yt[n>>>8&255]^mt[n>>>16&255]^ht[n>>>24&255]}}for(;r<n;r++)t=t>>>8^ht[255&(t^e[r])];this.l=t}get(){return~this.l}}class St extends S{constructor(){let e;const t=new zt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function Ft(e){if(typeof E==ue){e=unescape(encodeURIComponent(e));const t=new d(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new E).encode(e)}const Rt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=Rt.h(n);return 32===r?e.concat(t):Rt.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)+Rt.h(n)},A(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]=Rt.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,h: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=Rt.h(o);return r.push(Rt.S(t+i&31,t+i>32?n:r.pop(),1)),r}},Ct={bytes:{F(e){const t=Rt.bitLength(e)/8,n=new d(t);let r;for(let o=0;o<t;o++)3&o||(r=e[o/4]),n[o]=r>>>24,r<<=8;return n},R(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(Rt.S(8*(3&n),r)),t}}},vt=class{constructor(e){const t=this;t.blockSize=512,t.C=[1732584193,4023233417,2562383102,271733878,3285377520],t.v=[1518500249,1859775393,2400959708,3395469782],e?(t.D=e.D.slice(0),t.I=e.I.slice(0),t.N=e.N):t.reset()}reset(){const e=this;return e.D=e.C.slice(0),e.I=[],e.N=0,e}update(e){const t=this;"string"==typeof e&&(e=Ct.T.R(e));const n=t.I=Rt.concat(t.I,e),r=t.N,o=t.N=r+Rt.bitLength(e);if(o>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(n);let s=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=o;e+=t.blockSize)t.B(i.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}O(){const e=this;let t=e.I;const n=e.D;t=Rt.concat(t,[Rt.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e.N/4294967296)),t.push(0|e.N);t.length;)e.B(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}V(e,t){return t<<e|t>>>32-e}B(e){const n=this,r=n.D,o=t(80);for(let t=0;t<16;t++)o[t]=e[t];let i=r[0],a=r[1],c=r[2],u=r[3],l=r[4];for(let e=0;e<=79;e++){e>=16&&(o[e]=n.V(1,o[e-3]^o[e-8]^o[e-14]^o[e-16]));const t=n.V(5,i)+n.U(e,a,c,u)+l+o[e]+n.v[s.floor(e/20)]|0;l=u,u=c,c=n.V(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]+u|0,r[4]=r[4]+l|0}},Dt={importKey:e=>new Dt.M(Ct.bytes.R(e)),L(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new w("invalid params to pbkdf2");const o=1+(r>>5)<<2;let i,s,a,c,u;const l=new ArrayBuffer(o),f=new m(l);let d=0;const p=Rt;for(t=Ct.bytes.R(t),u=1;d<(o||1);u++){for(i=s=e.encrypt(p.concat(t,[u])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)i[c]^=s[c];for(a=0;d<(o||1)&&a<i.length;a++)f.setInt32(d,i[a]),d+=4}return l.slice(0,r/8)},M:class{constructor(e){const t=this,n=t.W=vt,r=[[],[]];t.P=[new n,new n];const o=t.P[0].blockSize/32;e.length>o&&(e=(new n).update(e).O());for(let t=0;t<o;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.P[0].update(r[0]),t.P[1].update(r[1]),t.Z=new n(t.P[0])}reset(){const e=this;e.Z=new e.W(e.P[0]),e.G=!1}update(e){this.G=!0,this.Z.update(e)}digest(){const e=this,t=e.Z.O(),n=new e.W(e.P[1]).update(t).O();return e.reset(),n}encrypt(e){if(this.G)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},It=typeof b!=ue&&typeof b.getRandomValues==le,Nt="Invalid password",kt="Invalid signature",Tt=kt,Bt="zipjs-abort-check-password",Ot="Crypto API not supported";function Ut(e){if(It)return b.getRandomValues(e);throw new w(Ot)}const Vt=16,Mt={name:"PBKDF2"},Lt=n.assign({hash:{name:"HMAC"}},Mt),Wt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Mt),Pt=["deriveBits"],Zt=[8,12,16],qt=[16,24,32],Gt=10,Ht=[0,0,0,0],Yt=typeof b!=ue,Qt=Yt&&b.subtle,Xt=Yt&&typeof Qt!=ue,Kt=Ct.bytes,jt=class{constructor(e){const t=this;t.H=[[[],[],[],[],[]],[[],[],[],[],[]]],t.H[0][0][0]||t.Y();const n=t.H[0][4],r=t.H[1],o=e.length;let i,s,a,c=1;if(4!==o&&6!==o&&8!==o)throw new w("invalid aes key size");for(t.v=[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.X(e,0)}decrypt(e){return this.X(e,1)}Y(){const e=this.H[0],t=this.H[1],n=e[4],r=t[4],o=[],i=[];let s,a,c,u;for(let e=0;e<256;e++)i[(o[e]=e<<1^283*(e>>7))^e]=e;for(let l=s=0;!n[l];l^=a||1,s=i[s]||1){let i=s^s<<1^s<<2^s<<3^s<<4;i=i>>8^255&i^99,n[l]=i,r[i]=l,u=o[c=o[a=o[l]]];let f=16843009*u^65537*c^257*a^16843008*l,w=257*o[i]^16843008*i;for(let n=0;n<4;n++)e[n][l]=w=w<<24^w>>>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)}X(e,t){if(4!==e.length)throw new w("invalid aes block size");const n=this.v[t],r=n.length/4-2,o=[0,0,0,0],i=this.H[t],s=i[0],a=i[1],c=i[2],u=i[3],l=i[4];let f,d,p,h=e[0]^n[0],m=e[t?3:1]^n[1],y=e[2]^n[2],g=e[t?1:3]^n[3],E=4;for(let e=0;e<r;e++)f=s[h>>>24]^a[m>>16&255]^c[y>>8&255]^u[255&g]^n[E],d=s[m>>>24]^a[y>>16&255]^c[g>>8&255]^u[255&h]^n[E+1],p=s[y>>>24]^a[g>>16&255]^c[h>>8&255]^u[255&m]^n[E+2],g=s[g>>>24]^a[h>>16&255]^c[m>>8&255]^u[255&y]^n[E+3],E+=4,h=f,m=d,y=p;for(let e=0;e<4;e++)o[t?3&-e:e]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^n[E++],f=h,h=m,m=y,y=g,g=f;return o}},Jt=class{constructor(e,t){this.K=e,this.j=t,this.J=t}reset(){this.J=this.j}update(e){return this._(this.K,e,this.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}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}_(e,t,n){let r;if(!(r=t.length))return[];const o=Rt.bitLength(t);for(let o=0;o<r;o+=4){this.ee(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 Rt.A(t,o)}},_t=Dt.M;let $t=Yt&&Xt&&typeof Qt.importKey==le,en=Yt&&Xt&&typeof Qt.deriveBits==le;class tn extends S{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){rn(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,te:s,ready:a}=n;o?(await async function(e,t,n,r){const o=await sn(e,t,n,cn(r,0,Zt[t])),i=cn(r,Zt[t]);if(o[0]!=i[0]||o[1]!=i[1])throw new w(Nt)}(n,i,o,cn(e,0,Zt[i]+2)),e=cn(e,Zt[i]+2),r?t.error(new w(Bt)):s()):await a;const c=new d(e.length-Gt-(e.length-Gt)%Vt);t.enqueue(on(n,e,c,0,Gt,!0))},async flush(e){const{ne:t,re:n,oe:r,ready:i}=this;if(n&&t){await i;const s=cn(r,0,r.length-Gt),a=cn(r,r.length-Gt);let c=we;if(s.length){const e=ln(Kt,s);n.update(e);const r=t.update(e);c=un(Kt,r)}const u=cn(un(Kt,n.digest()),0,Gt);let l=r.length<Gt?1:0;for(let e=0;e<Gt;e++)l|=u[e]^a[e];if(l&&o)throw new w(Tt);e.enqueue(c)}}})}}class nn extends S{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){rn(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,te:i,ready:s}=n;let a=we;r?(a=await async function(e,t,n){const r=Ut(new d(Zt[t]));return ft(r,await sn(e,t,n,r))}(n,o,r),i()):await s;const c=new d(a.length+e.length-e.length%Vt);c.set(a,0),t.enqueue(on(n,e,c,a.length,0))},async flush(e){const{ne:t,re:n,oe:r,ready:o}=this;if(n&&t){await o;let i=we;if(r.length){const e=t.update(ln(Kt,r));n.update(e),i=un(Kt,e)}const s=un(Kt,n.digest()).slice(0,Gt);e.enqueue(ft(i,s))}}})}}function rn(e,t,r,o){n.assign(e,{ready:new g(t=>e.te=t),password:an(t,r),strength:o-1,oe:we})}function on(e,t,n,r,o,i){const{ne:s,re:a,oe:c}=e;c.length&&(t=ft(c,t));const u=t.length-o;let l;for(n=function(e,t){if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e}(n,r+(u-u%Vt)),l=0;l<=u-Vt;l+=Vt){const e=ln(Kt,cn(t,l,l+Vt));i&&a.update(e);const o=s.update(e);i||a.update(o),n.set(un(Kt,o),l+r)}return e.oe=cn(t,l),n}async function sn(e,r,o,i){e.password=null;const s=await async function(e,t,n,r,o){if(!$t)return Dt.importKey(t);try{return await Qt.importKey("raw",t,n,!1,o)}catch{return $t=!1,Dt.importKey(t)}}(0,o,Lt,0,Pt),a=await async function(e,t,n){if(!en)return Dt.L(t,e.salt,Wt.iterations,n);try{return await Qt.deriveBits(e,t,n)}catch{return en=!1,Dt.L(t,e.salt,Wt.iterations,n)}}(n.assign({salt:i},Wt),s,8*(2*qt[r]+2)),c=new d(a),u=ln(Kt,cn(c,0,qt[r])),l=ln(Kt,cn(c,qt[r],2*qt[r])),f=cn(c,2*qt[r]);return n.assign(e,{keys:{key:u,ie:l,passwordVerification:f},ne:new Jt(new jt(u),t.from(Ht)),re:new _t(l)}),f}function an(e,t){return t===ae?Ft(e):t}function cn(e,t,n){return e.subarray(t,n)}function un(e,t){return e.F(t)}function ln(e,t){return e.R(t)}class fn extends S{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){dn(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=pn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new w(Nt);e=e.subarray(12)}r?t.error(new w(Bt)):t.enqueue(pn(n,e))}})}}class wn extends S{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){dn(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=Ut(new d(12));t[11]=n.passwordVerification,r=new d(e.length+t.length),r.set(hn(n,t),0),o=12}else r=new d(e.length),o=0;r.set(hn(n,e),o),t.enqueue(r)}})}}function dn(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,se:new zt(o[0]),ae:new zt(o[2])}),r)for(let t=0;t<r.length;t++)mn(e,r[t]);else for(let n=0;n<t.length;n++)mn(e,t.charCodeAt(n))}(e,t,r)}function pn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=yn(e)^t[r],mn(e,n[r]);return n}function hn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=yn(e)^t[r],mn(e,t[r]);return n}function mn(e,t){let[,n]=e.keys;e.se.append([t]);const r=~e.se.get();n=En(s.imul(En(n+gn(r)),134775813)+1),e.ae.append([n>>>24]);const o=~e.ae.get();e.keys=[r,n,o]}function yn(e){const t=2|e.keys[2];return gn(s.imul(t,1^t)>>>8)}function gn(e){return 255&e}function En(e){return 4294967295&e}function xn(e){if(e instanceof F)return e;const t=e.getReader();return new F({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function An(e,t){e=xn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof F)return new l(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new R({write(e){r.push(e)}})).then(()=>new y(r,n))}function bn(e){if(e instanceof R)return e;const t=e.getWriter();return new R({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const zn="Invalid codec definition",Sn="Reserved compression method",Fn="Invalid codec module",Rn=[0,8,9,99],Cn=new c,vn=new c;function Dn(e){return Cn.get(e)}function In(){return t.from(Cn.values(),e=>n.assign({},e,vn.get(e.format)))}function Nn(e){return vn.get(e)}function kn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=le&&typeof r!=le)throw new w(Fn);vn.set(e,{CompressionStream:n,DecompressionStream:r})}const Tn="Invalid uncompressed size",Bn="Invalid compressed data",On=kt,Un="deflate-raw",Vn="deflate64-raw",Mn="gzip",Ln=[31,139,8];class Wn extends S{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:u,deflate64:l,format:f,compressionMethod:w,inputSize:d}=e,p=this;let h,y,g,E=super.readable;const x=f&&Nn(f),A=c&&o&&!l&&!x&&(!i||a)&&Boolean(s&&r);if(i&&!a||!c||A||(h=new St,E=Kn(E,h)),o)if(x)E=jn(E,Qn(x.CompressionStream,f,{level:u,chunkSize:t,compressionMethod:w,uncompressedSize:d}));else if(A)g=new Pn,E=jn(E,new r(Mn)),E=Kn(E,g);else try{E=Xn(E,s,{level:u,chunkSize:t},r,n)}catch(e){let t;try{t=new r(Mn)}catch{throw e}E=jn(E,t),E=Kn(E,new Pn)}i&&(a?E=Kn(E,new wn(e)):(y=new nn(e),E=Kn(E,y))),Yn(p,E,()=>{i&&!a||!c||(p.crc32=A?g.crc32:new m(h.value.buffer).getUint32(0))})}}class Pn extends S{constructor(){let e,t=10,n=new d(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=ft(n,e));const i=o-8,a=s.min(i,n.length);r.enqueue(ft(n.subarray(0,a),e.subarray(0,i-a))),n=ft(n.subarray(a),e.subarray(i-a))},flush(){const t=dt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Zn extends S{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:u,deflate64:l,format:f,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let E,x,A=super.readable;if(i&&(o?A=Kn(A,new fn(e)):(x=new tn(e),A=Kn(A,x))),c){const e=f&&Nn(f);if(e)A=jn(A,Qn(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{A=Xn(A,u,{chunkSize:t,deflate64:l},r,n)}catch(e){if(l||y===ae)throw e;let t;try{t=new r(Mn)}catch{throw e}A=function(e,t,n){const r=new zt;let o,i,s,a=0,c=!1;const u=new g((e,t)=>{i=e,s=t});u.catch(()=>{}),n||i();const l=new S({start(e){const t=new d(10);t.set(Ln),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await u}finally{h()}const t=new d(8),o=dt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){s(e)}}),f=new S({transform(e,t){r.append(e),a+=e.length,a>=n?i():c&&p(),t.enqueue(e)},cancel(e){s(e)}});return e=Kn(e,l),Kn(e=jn(e,t),f);function p(){h(),o=k(()=>s(new w(Tn)),5e3)}function h(){T(o)}}(A,t,y)}A=function(e){const t=e.getReader();return new F({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(Bn);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(A)}s&&(E=new St,A=Kn(A,E)),Yn(this,A,()=>{if(s){const e=new m(E.value.buffer);if(a!=e.getUint32(0,!1))throw new w(On)}})}}const qn=new c;function Gn(e,t){if(!e)return!1;let n=qn.get(e);n||(n=new c,qn.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 Hn(e){return Gn(e,Un)}function Yn(e,t,r){t=Kn(t,new S({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Qn(e,t,n){if(!e)throw new w("Compression method not supported");return new e(t,n)}function Xn(e,t,n,r,o){const i=t&&r?r:o||r,s=n.deflate64?Vn:Un;let a;try{a=new i(s,n)}catch(e){if(!t||!o||i==o)throw e;a=new o(s,n)}return jn(e,a)}function Kn(e,t){return xn(e).pipeThrough(t)}function jn(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 Jn="data",_n="deflate",$n="inflate";class er extends S{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(_n)?i=Wn:o.startsWith($n)&&(i=Zn),r.outputSize=0;let s=0;const a=new i(e,t),c=super.readable,u=new S({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:s})}}),l=new S({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ae&&r.outputSize>e.outputSize))throw new w(Tn)},flush(){const{crc32:e}=a;n.assign(r,{crc32:e,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(a).pipeThrough(l)})}}class tr extends S{constructor(e){const t=[];let n=0;function r(){const r=new d(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 d(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,n))}})}}const nr="Worker startup timeout";let rr,or,ir;function sr(e){e.createWorker?or=!0:rr=!1}class ar{constructor(e,{readable:t,writable:r},{options:o,config:i,ce:s,useWebWorkers:a,transferStreams:c,workerURI:u,createWorker:l},f){const{signal:w}=s;return or&&(l=ae),n.assign(e,{ue:!0,le:(e.le||0)+1,readable:t.pipeThrough(new tr(Xe(i))).pipeThrough(new cr(s),{signal:w}),writable:r,options:n.assign({},o),workerURI:u,createWorker:l,transferStreams:c,terminate:()=>new g(t=>{const{fe:n,ue:r}=e;n?(r?e.we=t:(n.terminate(),t()),e.de=null):t()}),pe(){if(e.ue){const{we:t}=e;t&&(e.we=null,e.he=!0,e.fe.terminate(),t()),e.ue=!1,f(e)}}}),rr===ae&&(rr=typeof I!=ue),(a&&ir&&(rr&&u||l)?ir:lr)(e,i)}}class cr extends S{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await ur(e,n)},async transform(e,r){o+=e.length,t&&await ur(t,o,n),r.enqueue(e)},async flush(){r&&await ur(r,o)}})}}async function ur(e,...t){try{await e(...t)}catch{}}function lr(e,t){return{run:()=>fr(e,t)}}async function fr({options:e,readable:t,writable:n,pe:r},o){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(_n),n=t?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=t?o.CompressionStream:o.DecompressionStream;if(e.useCompressionStream){if(n&&n.me&&!Hn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.me||(e.useCompressionStream=!0)}}i=new er(e,o),await t.pipeThrough(i).pipeThrough(new tr(Xe(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 wr={type:"module"},dr="error";let pr,hr,mr,yr=!0;try{yr=typeof B==le&&B(new DOMException("","AbortError")).code!==ae}catch{}var gr;function Er(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function xr(e){const{fe:t}=e;if(t)try{t.terminate()}catch{}e.de=null}function Ar(e,t,r,o,i=!0){const{createWorker:s}=r;let a,c,u;if(s)a=s();else if(hr===ae||pr!==e){const n=typeof e==le;c=n?e(i):e;const s=c.startsWith("data:"),l=c.startsWith("blob:");if(s||l){o===ae&&(o=!1),o&&(u=wr);try{a=new I(c,u)}catch(i){if(l)try{f.revokeObjectURL(c)}catch{}if(n&&l)return Ar(e,t,r,o,!1);if(o)throw i;return Ar(e,t,r,!0,!1)}}else{o===ae&&(o=!0),o&&(u=wr);try{c=new f(c,t)}catch{}try{a=new I(c,u)}catch(n){if(o)return Ar(e,t,r,!1,i);throw n}}pr=e,hr=c,mr=u}else a=new I(hr,mr);return a.addEventListener("message",e=>{r.ye=!0,br(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:s,error:a}=e,{reader:c,writer:u,ge:l,Ee:f,pe:p,le:h}=t,m=()=>t.le!=h;try{if(a){const{message:e,stack:t,code:r,name:o,outputSize:i,cause:s,codecImportFailed:c}=a,u=new w(e);n.assign(u,{stack:t,code:r,name:o,outputSize:i}),s&&(u.cause=n.assign(new w(s.message),{name:s.name})),c&&(u.codecImportFailed=!0),y(u)}else{if("pull"==r){const{value:e,done:n}=await c.read();m()||Sr({type:Jn,value:e,done:n,messageId:i},t)}r==Jn&&(await u.ready,await u.write(new d(o)),m()||Sr({type:"ack",messageId:i},t)),"close"==r&&y(null,s)}}catch(a){m()||(xr(t),y(a))}function y(e,t){m()||(e?f(e):l(t),u&&u.releaseLock(),e&&e.codecImportFailed||p())}}(e,r)}),a.addEventListener(dr,e=>zr(e,r)),a.addEventListener("messageerror",e=>zr(e,r)),a}function br(e){const{xe:t}=e;t&&(T(t),e.xe=null)}function zr(e,t){e.preventDefault&&e.preventDefault(),br(t);const{ye:r,Ee:o,writer:i,pe:s}=t;xr(t),r||(t.fe=null);let a=e.error||new w(e.message||dr);r||(a=n.assign(new w(a.message||dr),{Ae:!0}),t.be=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function Sr(e,{fe:t,writer:n,transferStreams:r,ye:o}){try{const{value:n,readable:i,writable:s}=e,a=[];if(n&&(e.value=wt(n),a.push(e.value.buffer)),r&&yr&&o?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{yr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}gr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.de){let c;typeof a==le&&(a=a());try{c=Ar(e.workerURI,r,e)}catch{return sr(e),lr(e,t)}n.assign(e,{fe:c,ye:!1,he:!1,be:null,de:{run:async()=>{try{return await async function(e,t){if(!e.fe){const{be:t}=e;e.be=null;const n=t||new w(nr);throw n.Ae=!0,n}let r,i;const s=new g((e,t)=>{r=e,i=t});n.assign(e,{reader:null,writer:null,ge:r,Ee:i,result:s});const{readable:a,options:c}=e,{writable:u,closed:l,ze:f}=function(e){const t=new AbortController,{writable:n,readable:r}=new S,o=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return o.catch(()=>{}),{writable:n,closed:o,ze:()=>t.abort()}}(e.writable);let d;try{d=Sr({type:"start",options:c,config:t,readable:a,writable:u},e)}catch(t){f();try{await l}catch{}throw e.pe(),t}d||n.assign(e,{reader:a.getReader(),writer:u.getWriter()});const{workerStartupTimeout:p}=t;!e.ye&&o.isFinite(p)&&p>=0&&(e.xe=k(()=>function(e){if(e.xe=null,e.ye)return;const{Ee:t,writer:n}=e;if(xr(e),e.fe=null,t){const e=new w(nr);e.Ae=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await s;return await h(),await l,e}catch(e){await h(),f();try{await l}catch{}throw e}async function h(){if(!d&&!u.locked)try{await u.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.Ae)return sr(e),Er(e),fr(e,t);if(n&&n.codecImportFailed){if(e.reader)return Er(e),fr(e,t);e.pe()}throw n}}}})}return e.de},ir=gr;let Fr=[];const Rr=[];let Cr,vr,Dr=0;async function Ir(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:u,computeCrc32:l,encrypted:w,format:d,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;d&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!vn.has(e)&&t&&kn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(d,n.codecURI)),t.transferStreams=!d&&(i||i===ae&&r.transferStreams);const E=!(c||u||l||w),x=d===ae||Boolean(n.codecURI);return t.useWebWorkers=!E&&x&&(s||s===ae&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:ae,t.createWorker=t.useWebWorkers&&m?m:ae,n.useCompressionStream=a||a===ae&&r.useCompressionStream,(await async function(){const n=Fr.find(e=>!e.ue);if(n)return Or(n),new ar(n,e,t,A);if(Fr.length<y){const n={Se:Dr};return Dr++,Fr.push(n),new ar(n,e,t,A)}return new g(n=>{Rr.push({resolve:n,stream:e,Fe:t}),vr=r.workerStarvationTimeout,Nr()})}()).run();function A(e){if(kr(),Rr.length){const[{resolve:t,stream:n,Fe:r}]=Rr.splice(0,1);t(new ar(e,n,r,A)),Nr()}else e.fe?(Or(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.he?e.he=!1:e.Re=k(async()=>{Fr=Fr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):Fr=Fr.filter(t=>t!=e)}}function Nr(){!Cr&&Rr.length&&o.isFinite(vr)&&vr>=0&&(Cr=k(Tr,vr))}function kr(){Cr&&(T(Cr),Cr=null)}function Tr(){if(Cr=null,Rr.length){const[{resolve:e,stream:t,Fe:r}]=Rr.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:ae,createWorker:ae});e(new ar({},t,o,Br)),Nr()}}function Br(){kr(),Nr()}function Or(e){const{Re:t}=e;t&&(T(t),e.Re=null)}const Ur="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),Vr=256==Ur.length;function Mr(e,t){return Lr(e,t,!0)}function Lr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){if(Vr){let t="";for(let n=0;n<e.length;n++)t+=Ur[e[n]];return t}return(new x).decode(e)}(e):new x(t,{ignoreBOM:n}).decode(e)}const Wr="HTTP error ",Pr="HTTP Range not supported",Zr="HTTP resource changed",qr="Writer iterator completed too soon",Gr="Writer not initialized",Hr="Content-Range",Yr="Range",Qr="GET",Xr="bytes",Kr=16777216,jr="writable",Jr=N();class _r{constructor(){this.size=0}init(){this.initialized=!0}}class $r extends _r{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Xe(Qe())}={}){const r=this;let o=0;return n=Ke(n),new F({async pull(i){const a=t===ae?n:s.min(n,t-o),c=await No(r,e+o,a);c.length&&i.enqueue(c),o+n>=t||!c.length&&a?i.close():o+=n}})}}class eo extends _r{constructor(){super();const e=this,t=new R({write(t){if(!e.initialized)throw new w(Gr);return e.writeUint8Array(wt(t))}});n.defineProperty(e,jr,{get:()=>t})}writeUint8Array(){}}let to,no;class ro extends $r{constructor(e){super(),n.assign(this,{Ce:e,size:e.size}),no||(no=(async()=>{try{const e=new y([new d(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();to=1==t}catch{to=!1}})())}createReadable(e){const{Ce:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};return!r&&o>=n?xn(t.stream()):to?xn(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.Ce:n.Ce.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new d(i)}}class oo extends _r{constructor(e){super();const t=this,r=new S;n.defineProperty(t,jr,{get:()=>r.writable}),t.contentType=e,t.ve=An(r.readable,e),t.ve.catch(()=>{})}getData(){return this.ve}}class io extends $r{constructor(e,t){super(),ao(this,e,t)}async init(){await co(this,Ao,yo),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 F({start:()=>u(),async pull(e){r||await u();const{value:t,done:n}=await r.read();if(n)throw new w(Pr);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 u(){const t=s.min(e.maximumRangeSize,c),n=await Ao(Qr,e,ho(e,i,t));if(206!=n.status)throw new w(Pr);const u=n.headers.get(Hr);if(u){const e=o(u.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=i)throw new w(Pr)}po(e,n),wo(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 uo(this,e,t,Ao,yo)}}class so extends $r{constructor(e,t){super(),ao(this,e,t)}async init(){await co(this,bo,go),super.init()}readUint8Array(e,t){return uo(this,e,t,bo,go)}}function ao(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:u=Kr,fetch:l}=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:u,fetch:l})}async function co(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==ue||o)){const r=await t(Qr,e,ho(e,a?-22:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==Xr))throw new w(Pr);{if(a){const t=new d(await r.arrayBuffer());206==r.status&&t.length==X&&(e.De=t)}wo(e,r);const o=lo(r);o===ae?await xo(e,t,n):e.size=o}}else await xo(e,t,n)}async function uo(e,t,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,De:c,size:u,options:l}=e;if(s||a){if(c&&t==u-X&&n==X)return c;if(t>=u||0===n)return we;{t+n>u&&(n=u-t);const i=await r(Qr,e,ho(e,t,n));if(206!=i.status)throw new w(Pr);const s=i.headers.get(Hr);if(s){const e=o(s.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=t)throw new w(Pr)}po(e,i),wo(e,i);const a=new d(await i.arrayBuffer());if(a.length!=n)throw new w(Pr);return a}}{const{data:r}=e;return r||await i(e,l),e.data.subarray(t,t+n)}}function lo(e){const t=e.headers.get(Hr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function fo({headers:e}){return{Ie:e.get("Etag")||ae,lastModified:e.get("Last-Modified")||ae}}function wo(e,t){const{checkResourceChanges:n,Ne:r}=e;n&&!r&&206==t.status&&(e.Ne=fo(t))}function po(e,t){const{checkResourceChanges:r,Ne:o,size:i}=e;if(r){const e=lo(t);if(e!==ae&&i!==ae&&e!=i)throw new w(Zr);if(o){const e=fo(t);if(n.entries(o).some(([t,n])=>n!==ae&&e[t]!==ae&&n!=e[t]))throw new w(Zr)}}}function ho(e,t=0,r=1){return n.assign({},mo(e),{[Yr]:Xr+"="+(t<0?t:t+"-"+(t+r-1))})}function mo({options:e}){const{headers:t}=e;if(t)return N.iterator in t?n.fromEntries(t):t}async function yo(e){await Eo(e,Ao)}async function go(e){await Eo(e,bo)}async function Eo(e,t){const n=await t(Qr,e,mo(e));e.data=new d(await n.arrayBuffer()),e.size=e.data.length}async function xo(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,mo(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 w(Pr):new w(Wr+(s.statusText||s.status))}function bo(e,{url:t},r){return new g((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 w(Pr):new w(Wr+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>i(e.detail?e.detail.error:new w("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 zo extends $r{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new so(e,t):new io(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 So extends $r{constructor(e){super(),this.ke=e}async init(){const e=this;e.Te=0;const t=e.ke=await g.all(e.ke.map(Io));e.Be=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Oe(e){const{Be:t,size:n}=this,r=t[e];return r===ae?n:r}async readUint8Array(e,t){const n=this,{ke: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 No(c,a,t);else{const i=r-a;o=ft(await No(c,a,i),await n.readUint8Array(e+i,t-i))}}else o=we;return n.Te=s.max(i,n.Te),o}}class Fo extends _r{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 R({async write(t){if(t===Jr)return void(s&&await u());const{availableSize:n}=r;if(s)t.length>=n?(await c(t.subarray(0,n)),await u(),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 w(qr);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await Do(o),i=n.writable,s=i.getWriter(),await this.write(t)}},async close(){s&&(await s.ready,await l())},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 u(){await l(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}n.defineProperty(r,jr,{get:()=>a})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Jr)}finally{e.releaseLock()}}}class Ro{constructor(e){return t.isArray(e)&&(e=new So(e)),(e instanceof F||typeof e.getReader==le)&&(e={readable:xn(e)}),e}}class Co{constructor(e){return e.writable===ae&&typeof e.next==le&&(e=new Fo(e)),(e instanceof R||typeof e.getWriter==le)&&(e={writable:bn(e)}),e.size===ae&&(e.size=0),e}}function vo(e){return Boolean(e&&e.getData)}async function Do(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}async function Io(e){return e=new Ro(e),await Do(e),e.size!==ae&&e.readUint8Array||(e=new ro(await An(e.readable)),await Do(e)),e}function No(e,t,n){return e.readUint8Array(t,n)}function ko(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?$r.prototype.createReadable.call(e,t):e.readable}const To="filename",Bo="rawFilename",Oo="comment",Uo="rawComment",Vo="uncompressedSize",Mo="compressedSize",Lo="offset",Wo="diskNumberStart",Po="lastModDate",Zo="rawLastModDate",qo="lastAccessDate",Go="rawLastAccessDate",Ho="creationDate",Yo="rawCreationDate",Qo="internalFileAttributes",Xo="externalFileAttributes",Ko="internalFileAttribute",jo="externalFileAttribute",Jo="msdosAttributesRaw",_o="msdosAttributes",$o="msDosCompatible",ei="zip64",ti="encrypted",ni="version",ri="versionMadeBy",oi="zipCrypto",ii="directory",si="executable",ai="compressionMethod",ci="signature",ui="extraField",li="unixMode",fi="setuid",wi="setgid",di="sticky",pi=[To,Bo,Vo,Mo,Po,Zo,Oo,Uo,qo,Go,Ho,Yo,Lo,Wo,Qo,Xo,Ko,jo,Jo,_o,$o,ei,ti,ni,ri,oi,ii,si,"symlink",ai,ci,"crc32",ui,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",li,"unixExternalUpper",fi,wi,di,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class hi{constructor(e){pi.forEach(t=>this[t]=e[t])}}const mi="File format is not recognized",yi="End of central directory not found",gi="End of Zip64 central directory locator not found",Ei="Central directory header not found",xi="Local file header not found",Ai="Zip64 extra field not found",bi="File contains encrypted entry",zi="Encryption method not supported",Si="Compression method not supported",Fi="Split zip file",Ri="Overlapping entry found",Ci="Entry data out of bounds",vi="Ambiguous archive",Di="Encrypted central directory is not supported",Ii="Unsafe filename",Ni="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ki="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ti="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Bi="64-bit value exceeds Number.MAX_SAFE_INTEGER",Oi="unsorted central directory",Ui="unknown version needed to extract",Vi="compressed patched data",Mi="malformed extra field",Li="unknown zip64 extensible data",Wi="wrapped entries count",Pi="appended data",Zi="prepended data",qi="trailing central directory data",Gi="duplicate filename",Hi="mismatched zip64 end of central directory record",Yi="mismatched local file header (general purpose bit flag)",Qi="mismatched local file header (compression method)",Xi="mismatched local file header (crc32 or sizes)",Ki=/^[a-zA-Z]:/,ji="utf-8",Ji="cp437",_i=[[Vo,U],[Mo,U],[Lo,U],[Wo,V]],$i={[V]:{Ue:Us,bytes:4},[U]:{Ue:Vs,bytes:8}},es=i(o.MAX_SAFE_INTEGER);class ts{constructor(e,t={}){n.assign(this,{reader:new Ro(e),options:t,Ve:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await Do(r),r.size!==ae&&r.readUint8Array||(r=new ro(await An(r.readable)),await Do(r)),r.size<X)throw new w(mi);const o=t.warnings=[],i=gs(e,t.options),a=i==Ce,c=i!=De,l=As(Is(t,e,Se),i),f=function(e,t){if(e===ae)return t;if(!ys(e))throw new w(ki);return e}(Is(t,e,"filenameValidation"),i),d=Is(t,e,"normalizeFilename"),{Me:p,Le:h}=await bs(r,c,l);if(!p)throw await async function(e){return await ms(e)==W}(r)?new w(Fi):new w(yi);c&&h>1&&Ds("multiple end of central directory records");const m=dt(p);let y=Us(m,12),g=Us(m,16);const E=p.offset,x=Os(m,20),A=E+X+x,b=r.size-A;b>l&&Ds(Pi),b>0&&vs(o,Pi);let z=Os(m,4);const F=r.Te||0;let R,C,v,D,I=Os(m,6),N=Os(m,10),k=0,T=j;const B=g==U||y==U||N==V||I==V;if(g!=U&&I!=V&&(g+=hs(r,I)),B){const e=p.offset>=K?await No(r,p.offset-K,K):we,t=dt(e);if(e.length==K&&Us(t,0)==Y){g=hs(r,Us(t,4))+Vs(t,8);let e=await No(r,g,j),i=dt(e);const c=p.offset-K-j;if((e.length<j||Us(i,0)!=H)&&g!=c&&c>=0){const t=g;g=c,g>t&&(k=g-t),e=await No(r,g,j),i=dt(e)}if(e.length<j||Us(i,0)!=H)throw new w(gi);if(C=!0,v=Vs(i,4)>44,v){const e=s.min(Vs(i,4)-44,r.size-g-j);e>0&&(T+=e,D=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=dt(e),o=Os(r,26);n.assign(t,{compressionMethod:Os(r,0),compressedSize:Vs(r,2),uncompressedSize:Vs(r,10),encryptionAlgorithm:Os(r,18),bitLength:Os(r,20),flags:Os(r,22),hashAlgorithm:Os(r,24),hashData:e.subarray(28,28+o)})}return t}(await No(r,g+j,e)))}z==V?z=Us(i,16):z!=Us(i,16)&&Cs(a,o,Hi),I==V?I=Us(i,20):I!=Us(i,20)&&Cs(a,o,Hi),N==V?N=Vs(i,32):N!=Vs(i,32)&&Cs(a,o,Hi),y==U?y=Vs(i,40):y!=Vs(i,40)&&Cs(a,o,Hi),g=hs(r,I)+Vs(i,48)+k}}let O=y;const L=p.offset-(C?T+K:0);if(g>=r.size&&(k=r.size-g-y-X,g=r.size-y-X),F!=z)throw new w(Fi);if(g<0)throw new w(mi);let P=0,Z=await No(r,g,y),G=dt(Z);if(y){if(Z.length<4)throw new w(mi);const e=L-y;if(g!=e&&I==z){let t=!(Us(G,P)==q||Boolean(D&&D.compressedSize)||is(G));if(!t&&e>=0&&e+4<=r.size&&(t=Us(dt(await No(r,e,4)),0)==q),t){const t=g;g=e,g>t&&(k+=g-t),Z=await No(r,g,y),G=dt(Z)}}}const J=L-g;if(y!=J&&J>=0&&I==z&&(y=J,Z=await No(r,g,y),G=dt(Z)),g<0||g>=r.size)throw new w(mi);t.directoryOffset=g,t.directoryLength=O;const _=Ns(t,e,"decryptCentralDirectory");let oe,ie;if(_&&N&&Z.length>=4&&Us(G,0)!=q&&(v||is(G))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(D,O,Z.length);ie=Z.subarray(e),Z=await _(Z.subarray(0,e),D),G=dt(Z),O=Z.length,oe=!0}D&&!oe&&(Z.length<4||Us(G,0)==q)&&vs(o,Li),R=g;const se=Is(t,e,"filenameEncoding"),ce=Is(t,e,"commentEncoding"),ue=new u;let le,fe=-1;const de=!a&&!C;!N&&de&&(N=ss(G,Z,P),N&&vs(o,Wi));for(let i=0;i<N;i++){const a=new os(r,t.options);if(P+Q>Z.length||Us(G,P)!=q){if(0==i&&!oe&&(v||is(G)))throw new w(Di);throw new w(Ei)}cs(a,G,P+6);const c=Boolean(a.bitFlag.languageEncodingFlag),u=P+Q,l=u+a.filenameLength,p=l+a.extraFieldLength,h=Os(G,P+4),m=!(h>>8),y=h>>8==3,g=Z.subarray(u,l),E=Os(G,P+32),x=p+E,A=Z.subarray(p,x),b=c,z=c,F=Us(G,P+38),C=F&M,D={readOnly:Boolean(1&C),hidden:Boolean(2&C),system:Boolean(4&C),directory:Boolean(16&C),archive:Boolean(32&C)},I=Us(G,P+42),T=Ns(t,e,"decodeText")||Mr,B=b?ji:se||Ji,O=z?ji:ce||Ji;let U=T(g,B,Fe);if(U===ae&&(U=Mr(g,B)),d){const e=d(U);e!==ae&&(U=e)}if(xs(U,f)){const e=new w(Ii);throw e.filename=U,e}let L=T(A,O,Re);L===ae&&(L=Mr(A,O)),n.assign(a,{index:i,We:oe,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Pe:E,offset:I,diskNumberStart:Os(G,P+34),internalFileAttributes:Os(G,P+36),externalFileAttributes:F,msdosAttributesRaw:C,msdosAttributes:D,rawFilename:g,filenameUTF8:b,commentUTF8:z,rawExtraField:Z.subarray(l,p),rawComment:A,filename:U,comment:L}),us(a,a,G,P+6)&&vs(o,Mi,U),a.offset+=k;const W=hs(r,a.diskNumberStart)+a.offset;R=s.min(W,R),W<fe&&vs(o,Oi,U),fe=W,(a.version&M)>63&&vs(o,Ui,U),32&~a.rawBitFlag||vs(o,Vi,U),ue.has(a.filename)&&(le=!0),ue.add(a.filename);const H=a.externalFileAttributes>>16&V;a.unixMode===ae&&16877&H&&(a.unixMode=H);const Y=Boolean(a.unixMode&te),X=Boolean(a.unixMode&ne),K=Boolean(512&a.unixMode),j=40960==((a.unixMode===ae?H:a.unixMode)&$),J=!j&&(a.unixMode!==ae?!!(73&a.unixMode):y&&!!(73&H)),_=a.unixMode!==ae&&(a.unixMode&$)==ee,ie=(H&$)==ee;n.assign(a,{setuid:Y,setgid:X,sticky:K,symlink:j,unixExternalUpper:H,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:J,directory:_||ie||m&&D.directory||a.filename.endsWith(re),zipCrypto:a.encrypted&&!a.extraFieldAES});const we=new hi(a);if(we.getData=(e,n)=>a.getData(e,we,t.Ve,n),we.arrayBuffer=async e=>{const n=new S,r=An(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,we,t.Ve,e),r},P=x,i==N-1&&de){const e=ss(G,Z,P);e&&(N+=e,vs(o,Wi))}const{onprogress:pe}=e;if(pe)try{await pe(i+1,N,new hi(a))}catch{}yield we}let pe=P,he=as(Z.subarray(P))||(oe?as(ie):ae);if(!he&&!oe){const e=g+P,t=s.min(L-e,65541);t>=6&&(he=as(await No(r,e,t)))}he&&(t.digitalSignature=he,pe=P+6+he.length),(P!=O&&pe!=O||!oe&&P!=y&&pe!=y)&&Cs(a,o,qi),le&&Cs(a,o,Gi);const me=Is(t,e,"extractPrependedData"),ye=Is(t,e,"extractAppendedData"),ge=(a||me)&&N&&4==R&&await async function(e){const t=await ms(e);return t==W||808471376==t}(r)?4:0;return a&&(k||N&&R>ge)&&Ds(Zi),(k||N&&R>4)&&vs(o,Zi),me&&(t.prependedData=R>ge?await No(r,ge,R-ge):we),t.comment=x?await No(r,E+X,x):we,ye&&(t.appendedData=A<r.size?await No(r,A,r.size-A):we),!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 ns{constructor(e={}){const{readable:t,writable:n}=new S,r=new ts(t,e).getEntriesGenerator();this.readable=new F({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 S;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 rs(e,t={}){if(e=new Ro(e),await Do(e),e.size!==ae&&e.readUint8Array||(e=new ro(await An(e.readable)),await Do(e)),e.size<X)return!1;const n=gs(t,{}),r=n!=De,o=As(t[Se],n),{Me:i,Le:s}=await bs(e,r,o);if(!i||n==Ce&&s>1)return!1;const a=Os(dt(i),20),c=i.offset+X+a;return e.size-c<=o}class os{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:u,diskNumberStart:l,extraFieldAES:f,extraFieldZip64:d,compressionMethod:p,bitFlag:h,rawBitFlag:m,crc32:y,rawLastModDate:g,uncompressedSize:E,compressedSize:x}=o,{dataDescriptor:A}=h,b=t.localDirectory={},z=t.warnings=[],S=hs(a,l)+u,F=await No(a,S,oe),C=dt(F);let v=Is(o,r,de),D=Is(o,r,pe);const I=Is(o,r,he);if(Oe(v,D),v=v&&v.length&&v,D=D&&D.length&&D,f&&99!=f.originalCompressionMethod)throw new w(Si);if(F.length<oe||Us(C,0)!=L)throw new w(xi);cs(b,C,4);const{extraFieldLength:N,filenameLength:k}=b,T=b.dataOffset=S+oe+k+N,B=Is(o,r,"checkLocalDirectory"),O=gs(r,o.options),U=function(e,t){return e===ae?t!=De:Boolean(e)}(B,O),V=function(e,t){return e===ae?t==Ce:Boolean(e)}(B,O);let W=we;if(V&&(k||N)){const e=await No(a,S+oe,k+N);W=e.subarray(0,k),b.rawExtraField=e.subarray(k)}else b.rawExtraField=N?await No(a,S+oe+k,N):we;V&&(b.rawFilename=W),us(o,b,C,4,!0)&&vs(z,Mi),function(e,t,n,r,o){const{rawFilename:i}=e,s=!o,a=e.We&&!(8192&~t.rawBitFlag);!r||a||n.length==i.length&&!n.some((e,t)=>e!=i[t])||Cs(s,o,"mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Cs(s,o,Yi),t.compressionMethod!=e.compressionMethod&&Cs(s,o,Qi),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Cs(s,o,Xi)}(o,b,W,V,U?ae:z);const{lastAccessDate:Z,creationDate:q,uid:G,gid:H}=b;Z&&(t.lastAccessDate=Z),q&&(t.creationDate=q),G!==ae&&t.uid===ae&&(t.uid=G),H!==ae&&t.gid===ae&&(t.gid=H);const Y=o.encrypted&&b.encrypted&&!I,Q=Y&&!f;if(I||(t.zipCrypto=Q),Y&&!(64&~b.rawBitFlag))throw new w(zi);const X=I?ae:Dn(p);if(0!=p&&8!=p&&9!=p&&!X&&!I)throw new w(Si);if(Y){if(!Q&&(f.strength<1||f.strength>3))throw new w(zi);if(!v&&!D)throw new w(bi)}if(T+x>a.size)throw new w(Ci);const K=x,j=xn(a.createReadable({offset:T,size:K})),J=Be(Is(o,r,me)),_=Is(o,r,"checkPasswordOnly");let $=Is(o,r,"checkOverlappingEntry");const ee=Is(o,r,"checkOverlappingEntryOnly");ee&&($=!0);const{onstart:te,onprogress:ne,onend:re}=r,ie=0!=p&&!I,se=I?x:E,ce=9==p;let ue=Is(o,r,ge);ce&&(ue=!1);const le=Is(o,r,"checkCrc32"),fe=(le===ae?Is(o,r,"checkSignature"):le)&&!I&&(!Y||Q||f&&1==f.vendorVersion),Ae={options:{codecType:$n,password:v,rawPassword:D,zipCrypto:Q,encryptionStrength:f&&f.strength,checkCrc32:fe,checkAuthenticationCode:Is(o,r,"checkAuthenticationCode"),passwordVerification:Q&&(A?g>>>8&M:y>>>24&M),outputSize:se,crc32:y,compressed:ie,encrypted:Y,useWebWorkers:Is(o,r,ye),useCompressionStream:ue,transferStreams:Is(o,r,Ee),deflate64:ce,format:X?X.format:ae,codecURI:X?X.codecURI:ae,compressionMethod:p,rawBitFlag:m,checkPasswordOnly:_},config:i,ce:{signal:J,size:K,onstart:te,onprogress:ne,onend:re}};let be,ze;$&&await async function({reader:e,Ze:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:u,Ve:l}){let f=0;if(c&&(f=u?20:12),f){const n=await No(e,a+i,f+4),r=dt(n);let c=n.length==f+4&&Us(r,0)==P;if(c){const e=ps(r,4,u);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==s?f+=4:c=!1}if(n.length>=f){const e=ps(r,c?4:0,u);e.signature=c,t.localDirectory.dataDescriptor=e}}const d={start:r,end:a+i+f,Ze:t};for(const[e,t]of l)if(e!=n&&d.start<t.end&&t.start<d.end){const e=new w(Ri);throw e.overlappingEntry=t.Ze,e}l.set(n,d)}({reader:a,Ze:t,index:c,offset:S,crc32:y,compressedSize:x,uncompressedSize:E,dataOffset:T,dataDescriptor:A||b.bitFlag.dataDescriptor,extraFieldZip64:d||b.extraFieldZip64,Ve:n});try{if(!ee){_&&(e=new R),e=new Co(e),await Do(e,function(e,t,n){return s.min(e,n?1032*t:t)}(se,x,ie)),({writable:be}=e);const{outputSize:t}=await Ir({readable:j,writable:be},Ae);if(e.size+=t,t!=se)throw new w(Tn)}}catch(t){if(t.outputSize!==ae&&(e.size+=t.outputSize),!_||t.message!=Bt)throw ze=t,t}finally{if((vo(e)||!Is(o,r,xe))&&be&&!be.locked){const e=be.getWriter();if(ze)try{await e.abort(ze)}catch{}else await e.close()}}return _||ee?ae:e.getData?e.getData():be}}function is(e){const t=s.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==Us(e,n))return!0;return!1}function ss(e,t,n){let r=0;for(;n+Q<=t.length&&Us(e,n)==q;)n+=Q+Os(e,n+28)+Os(e,n+30)+Os(e,n+32),r++;return r%65536?0:r}function as(e){if(e.length>=6){const t=dt(e);if(Us(t,0)==Z){const n=Os(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function cs(e,t,r){const o=e.rawBitFlag=Os(t,r+2),i=!(1&~o),s=Us(t,r+6);n.assign(e,{encrypted:i,version:Os(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&_)==_},rawLastModDate:s,lastModDate:ks(s),filenameLength:Os(t,r+22),extraFieldLength:Os(t,r+24)})}function us(e,t,r,o,i){const{rawExtraField:s}=t,u=t.extraField=new c,l=dt(s);let f=0,d=!1;try{for(;f<s.length;){const e=Os(l,f),t=Os(l,f+2);u.set(e,{type:e,data:s.slice(f+4,f+4+t)}),f+=4+t}}catch{d=!0}f>s.length&&(d=!0);const p=Os(r,o+4);n.assign(t,{signature:Us(r,o+10),crc32:Us(r,o+10),compressedSize:Us(r,o+14),uncompressedSize:Us(r,o+18)});const h=u.get(1);h&&(function(e,t){t.zip64=!0;const n=dt(e.data),r=_i.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+$i[t].bytes,0);if(e.data.length<o)throw new w(Ai);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=$i[a];t[s]=e[s]=c.Ue(n,i),i+=c.bytes}}(h,t),t.extraFieldZip64=h);const m=u.get(28789);m&&(ls(m,To,Bo,t,e),t.extraFieldUnicodePath=m);const y=u.get(25461);y&&(ls(y,Oo,Uo,t,e),t.extraFieldUnicodeComment=y);const g=u.get(39169);g&&g.data.length>=7?(function(e,t,r){const o=dt(e.data),i=Bs(o,4);n.assign(e,{vendorVersion:Bs(o,0),vendorId:Bs(o,2),strength:i,originalCompressionMethod:r,compressionMethod:Os(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ae)}(g,t,p),t.extraFieldAES=g):t.compressionMethod=p;const E=u.get(13);E&&(fs(E,t),t.extraFieldPkwareUnix=E);const x=u.get(22613);x&&(fs(x,t),t.extraFieldUnixType1=x);const A=u.get(10);A&&(function(e,t){const r=dt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=Os(r,i),n=Os(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=dt(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:Ts(i),lastAccessDate:Ts(s),creationDate:Ts(a)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:s,rawCreationDate:a})}}(A,t),t.extraFieldNTFS=A);const b=u.get(30805);let z;if(b&&(z=ws(b,t,!1),t.extraFieldUnix=b),!z){const e=u.get(30837);e&&(ws(e,t,!0),t.extraFieldInfoZip=e)}const S=u.get(J);S&&(function(e,t,n){if(!e.data.length)return;const r=dt(e.data),o=Bs(r,0),i=[],s=[];n?(1&~o||(i.push(Po),s.push(Zo)),2&~o||(i.push(qo),s.push(Go)),4&~o||(i.push(Ho),s.push(Yo))):e.data.length>=5&&(i.push(Po),s.push(Zo));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=Us(r,c);t[n]=e[n]=new a(1e3*(0|i));const u=s[o];e[u]=i}c+=4})}(S,t,i),t.extraFieldExtendedTimestamp=S);const F=u.get(6534);return F&&(t.extraFieldUSDZ=F),d}function ls(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const s=dt(e.data),a=new zt;a.append(i[r]);const c=dt(new d(4));c.setUint32(0,a.get(),!0);const u=Us(s,1),l=Bs(s,0);n.assign(e,{version:l,[t]:Mr(e.data.subarray(5)),valid:1==l&&!i.bitFlag.languageEncodingFlag&&u==Us(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function fs(e,t){if(e.data.length<8)return;const r=dt(e.data),o={lastAccessDate:new a(1e3*(0|Us(r,0))),lastModDate:new a(1e3*(0|Us(r,4)))};e.data.length>=12&&(o.uid=Os(r,8),o.gid=Os(r,10)),n.assign(e,o),n.assign(t,o)}function ws(e,t,r){try{const o=dt(e.data);let i,s;if(r){let t=0;const r=Bs(o,t++),a=Bs(o,t++);i=ds(e.data.subarray(t,t+a)),t+=a;const c=Bs(o,t++);s=ds(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:s})}else e.data.length>=4&&(i=Os(o,0),s=Os(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 ds(e){const t=new d(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function ps(e,t,n){const r=Us(e,t);let o,i;return n?(o=Vs(e,t+4),i=Vs(e,t+12)):(o=Us(e,t+4),i=Us(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function hs(e,t){return e.Oe?e.Oe(t):0}async function ms(e){return Us(dt(await No(e,0,4)))}function ys(e){return e===Ce||e===ve||e===De}function gs(e,t){return Es(e,Es(t,ve))}function Es(e,t){const n=e.strictness;if(n!==ae){if(!ys(n))throw new w(Ni);return n}const r=e.checkAmbiguity;return r===ae?t:r?Ce:t==De?De:ve}function xs(e,t){if(t==De)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||Ki.test(e))||t==Ce&&(n.includes(".")||n.includes(""))}function As(e,t){if(e!==ae){const t=Me(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new w(Ti);return t}return t==Ce?0:t==De?1/0:V}async function bs(e,t,n){const{size:r}=e,o=s.min(r,65557),i={count:64};let a,c,u=0;for await(const[n,s,l,f,w]of zs(e,o)){const o=Os(n,f+20);if(w+X+o==r){const o=await Fs(e,n,s,f,w,r,i);if(2==o){if(a||(a=Ss(l,f,w)),u++,!t||u>1)break}else 1!=o||c||(c=Ss(l,f,w))}}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,u,l]of zs(e,o)){const o=Ss(c,u,l);i||(i=o);const f=await Fs(e,t,s,u,l,r,n);if(2==f)return o;1!=f||a||(a=o)}return a||i}(e,n,i)),{Me:a,Le:u}}async function*zs(e,t){const n=e.size-t,r=await No(e,n,t),o=dt(r);for(let e=r.length-X;e>=0;e--)Us(o,e)==G&&(yield[o,n,r,e,n+e])}function Ss(e,t,n){return{offset:n,buffer:e.slice(t,t+X).buffer}}async function Fs(e,t,n,r,o,i,s){const a=Os(t,r+10),c=Us(t,r+12),u=Us(t,r+16);if(a==V||c==U||u==U)return await Rs(e,t,n,o-K,i,s)==Y?2:0;if(!a&&!c)return 1;const l=Os(t,r+6);for(const r of[o-c,hs(e,l)+u])if(await Rs(e,t,n,r,i,s)==q)return 2;return 0}async function Rs(e,t,n,r,o,i){return r<0||r+4>o?ae:r>=n?Us(t,r-n):i.count>0?(i.count--,Us(dt(await No(e,r,4)),0)):ae}function Cs(e,t,n){e?Ds(n):vs(t,n)}function vs(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==ae&&(r.filename=n),e.push(r)}}function Ds(e){const t=new w(vi);throw t.reason=e,t}function Is(e,t,n){return t[n]===ae?e.options[n]:t[n]}function Ns(e,t,n){return Te(Is(e,t,n))}function ks(e){const t=(4294901760&e)>>16,n=e&V,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 Ts(e){return new a(o(e/i(1e4)-i(116444736e5)))}function Bs(e,t){return e.getUint8(t)}function Os(e,t){return e.getUint16(t,!0)}function Us(e,t){return e.getUint32(t,!0)}function Vs(e,t){const n=e.getBigUint64(t,!0);if(n>es)throw new w(Bi);return o(n)}var Ms=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:vi,ERR_BAD_FORMAT:mi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Ei,ERR_ENCRYPTED:bi,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Di,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Ci,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:gi,ERR_EOCDR_NOT_FOUND:yi,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Ai,ERR_INVALID_AUTHENTICATION_CODE:Tt,ERR_INVALID_COMPRESSED_DATA:Bn,ERR_INVALID_CRC32:On,ERR_INVALID_FILENAME_VALIDATION:ki,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ti,ERR_INVALID_PASSWORD:Nt,ERR_INVALID_SIGNATURE:kt,ERR_INVALID_STRICTNESS:Ni,ERR_INVALID_UNCOMPRESSED_SIZE:Tn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:xi,ERR_OVERLAPPING_ENTRY:Ri,ERR_SPLIT_ZIP_FILE:Fi,ERR_UNSAFE_FILENAME:Ii,ERR_UNSUPPORTED_COMPRESSION:Si,ERR_UNSUPPORTED_ENCRYPTION:zi,ERR_UNSUPPORTED_UINT64:Bi,ERR_WORKER_STARTUP_TIMEOUT:nr,WARNING_APPENDED_DATA:Pi,WARNING_COMPRESSED_PATCHED_DATA:Vi,WARNING_DUPLICATE_FILENAME:Gi,WARNING_MALFORMED_EXTRA_FIELD:Mi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Yi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Qi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Xi,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Hi,WARNING_PREPENDED_DATA:Zi,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:qi,WARNING_UNKNOWN_VERSION:Ui,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Li,WARNING_UNSORTED_CENTRAL_DIRECTORY:Oi,WARNING_WRAPPED_ENTRIES_COUNT:Wi,ZipReader:ts,ZipReaderStream:ns,isZipFile:rs});const Ls="File already exists",Ws="Zip file comment exceeds 64KB",Ps="Invalid zip file comment (must be a Uint8Array)",Zs="File entry comment exceeds 64KB",qs="Invalid file entry comment (must be a string)",Gs="Invalid date (must be a valid Date instance)",Hs="File entry name exceeds 64KB",Ys="Version exceeds 65535",Qs="The strength must equal 1, 2, or 3",Xs="Encryption is not supported in USDZ files",Ks="Encryption is not supported when the 'passThrough' option is set",js="Invalid extra field (must be a Map)",Js="Invalid extra field type (must be integer 0..65535)",_s="Invalid extra field data (must be a Uint8Array)",$s="Extra field data exceeds 64KB",ea=-2147483648,ta=2147483647,na=i(0),ra=i("0x7fffffffffffffff"),oa="Zip64 is not supported (set the 'zip64' option to 'true')",ia="Undefined uncompressed size",sa="Undefined compression method",aa="Undefined reader",ca="Zip file not empty",ua="Invalid uid (must be integer 0..2^32-1)",la="Invalid gid (must be integer 0..2^32-1)",fa="Invalid UNIX mode (must be integer 0..65535)",wa="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",da="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",pa="Invalid msdosAttributesRaw (must be integer 0..255)",ha="Invalid msdosAttributes (must be an object with boolean flags)",ma="Invalid level (must be integer 0..9)",ya="Signature data exceeds 64KB",ga=new d([7,0,2,0,65,69,3,0,0]),Ea="infozip",xa="unix";let Aa=0;const ba=[];class za{constructor(e,t={}){e=new Co(e);const{availableSize:r=ce,maxSize:o=ce}=e,i=r>0&&r!==ce&&o>0&&o!==ce;n.assign(this,{writer:e,qe:i,options:t,Ge:new c,He:new u,offset:t[be]===ae?e.size||e.writable.size||0:t[be],Ye:t[be]===ae?0:t[be]-(e.size||e.writable.size||0),Qe:new u,Xe:[],Ke:0,je:ae})}prependZip(e){return Fa(this,async function(e,t){if(e.He.size)throw new w(ca);await e.Je(t)}(this,e))}appendZip(e){return Fa(this,this.Je(e))}async Je(e){const r=this,{Qe:o,He:i,Ge:s}=r;for(;o.size;)await g.allSettled(t.from(o));let a;const u=new g(e=>a=e);o.add(u);const l=[];let f;try{e=new Ro(e),await Do(e),e.size!==ae&&e.readUint8Array||(e=new ro(await An(e.readable)),await Do(e));const{ZipReader:o}=await g.resolve().then(function(){return Ms}),a=new o(e),u=await a.getEntries();await a.close(),await Do(r.writer);const{directoryOffset:d}=a;u.forEach(({filename:e})=>{if(i.has(e))throw new w(Ls);i.add(e),l.push(e)}),r._e=!0;const{$e:p}=r;r.$e=new g(e=>f=()=>{r._e=!1,e()}),await p,r.qe&&(delete r.qe,await async function(e){return dt(await No(e,0,4)).getUint32(0,!0)==W}(e)||(await Za(r.writer,Wa()),r.offset+=4));const h=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)=>La(n,e)-La(n,t));let c=0;for(const t of a){const r=La(n,t);await Va(e,n,c,r-c),Ba(i,await Ma(n,r))&&await i.closeDisk(),s.set(t,{offset:Oa(e,i),diskNumberStart:ka(i)}),c=r}await Va(e,n,c,o-c)}else{const t=e.offset;await Va(e,n,0,o),r.forEach(e=>s.set(e,{offset:t+La(n,e),diskNumberStart:0}))}return s}(r,e,u,d);u.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:u,extraFieldZip64:l}=e;let{compressionMethod:f,rawExtraField:w}=e;const{level:d,languageEncodingFlag:p,dataDescriptor:m}=i;w=Ua(w||we),e.extraFieldAES&&(f=99);const y=ac(w),g=Boolean(l)&&l.uncompressedSize!==ae,E=Boolean(l)&&l.compressedSize!==ae,x=-7&uc(d,p,m,a,f)|d<<1,{et:A,nt:b}=cc({version:t,bitFlag:x,compressionMethod:f,uncompressedSize:c,compressedSize:u,rawLastModDate:r,rawFilename:o,ot:E,it:g,extraFieldLength:y}),{crc32:z}=e;z!==ae&&oc(b,10,z);const{offset:S,diskNumberStart:F}=h.get(e);n.assign(e,{it:g,ot:E,offset:S,diskNumberStart:F,st:!1,ct:we,ut:we,lt:we,ft:we,wt:we,rawExtraField:w,ht:we,extendedTimestamp:!1,et:A,nt:b}),s.set(e.filename,e)})}catch(e){throw l.forEach(e=>i.delete(e)),e}finally{a(),o.delete(u),f&&f()}}add(e="",r,c={}){const u=this,{Qe:l}=u,f=async function(e,r,c,u){if(Xa(e,u=n.assign({},u),ii)&&!r.endsWith(re)&&(r+=re),e.He.has(r))throw new w(Ls);e.He.add(r),Aa<Qe().maxWorkers?Aa++:await new g(e=>ba.push(e));try{return await async function(e,r,c,u){const l=function(e,n,r){let o=Xa(e,r,$o),i=Xa(e,r,ri,o?20:768);const s=Xa(e,r,si),a=$a(e,r,"uid"),c=$a(e,r,"gid");let u=$a(e,r,li),l=Xa(e,r,"unixExtraFieldType"),f=Xa(e,r,fi),d=Xa(e,r,wi),p=Xa(e,r,di);if(Ve(a,U,ua),Ve(c,U,la),Ve(u,V,fa),l!==ae&&l!==Ea&&l!==xa)throw new w(wa);if(l===xa&&(a!==ae&&a>V||c!==ae&&c>V))throw new w(da);l!==ae||a===ae&&c===ae||(l=Ea);let h=$a(e,r,Jo),m=Xa(e,r,_o);const y=h!==ae||m!==ae;if(a!==ae||c!==ae||u!==ae||l||s?(o=!1,i=i&M|768):y&&(o=!0,i&=M),Ve(h,M,pa),m&&("object"!=typeof m||t.isArray(m)))throw new w(ha);if(i>V)throw new w(Ys);let g=Ja(e,r,Xo,jo);const E=g!==ae;E||(g=0),!r[ii]&&n.endsWith(re)&&(r[ii]=!0);const x=Xa(e,r,ii);if(x?(n.endsWith(re)||(n+=re),E||(g=16,o||(g|=16877<<16))):o||E||(g=s?493<<16:27525120),!o){const e=u!==ae||Boolean(f||d||p);u=u===ae?g>>16&V:u&V,f?u|=te:f=Boolean(u&te),d?u|=ne:d=Boolean(u&ne),p?u|=512:p=Boolean(512&u),E&&!e||(x?u=-61441&u|ee:u&$||(u|=32768),g=(u&V)<<16|g&V)}({msdosAttributesRaw:h,msdosAttributes:m}=function(e,t){if(e!==ae)e&=M;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&M}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}}(h,m)),y&&(g=g&U|h&M);const A=g>>16&V,b=u!==ae&&40960==(u&$);return{name:n,yt:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:g,unixExternalUpper:A,uid:a,gid:c,unixMode:u,unixExtraFieldType:l,symlink:b,setuid:f,setgid:d,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}}(e,r,u);({name:r}=l);const f=function(e,t,n){const r=ja(e,n,"encodeText")||Ft;let i=r(t,Fe);if(i===ae&&(i=Ft(t)),ac(i)>V)throw new w(Hs);const s=n[Oo]||"";if(typeof s!=fe)throw new w(qs);let c=r(s,Re);if(c===ae&&(c=Ft(s)),ac(c)>V)throw new w(Zs);const u=Xa(e,n,ni);if(u!==ae&&u>V)throw new w(Ys);const l=Ka(e,n,Po,new a),f=Xa(e,n,Zo),d=Ka(e,n,qo),p=Ka(e,n,Ho),h=Ja(e,n,Qo,Ko,0),m=Xa(e,n,he),y=Xa(e,n,de),g=Xa(e,n,pe);Oe(y,g);const E=$a(e,n,"encryptionStrength",3),x=Xa(e,n,oi),A=Xa(e,n,"extendedTimestamp",!0),b=Xa(e,n,"ntfsTimestamp"),z=Xa(e,n,"keepOrder",!0),S=Xa(e,n,ye),F=Xa(e,n,Ee),R=Xa(e,n,"bufferedWrite"),C=ja(e,n,"createTempStream"),v=Xa(e,n,"dataDescriptorSignature",!0),D=Be(Xa(e,n,me)),I=Xa(e,n,"useUnicodeFileNames",!0),N=Xa(e,n,ai),k=m||N===ae?ae:Dn(N);if(!m&&N!==ae&&0!==N&&8!==N&&!k)throw new w("Compression method not supported");let T=$a(e,n,"level");if(Ve(T,9,ma),e.options[ze]){if(y!==ae||g!==ae)throw new w(Xs);T===ae&&N===ae&&(T=0)}m&&(T=ae);let B=Xa(e,n,ge),O=Xa(e,n,Ae);R&&O===ae&&(O=!1),(O===ae||x&&!m)&&(O=!0),T!==ae&&6!=T&&(B=!1);const U=Xa(e,n,ei);if(!(x||y===ae&&g===ae||o.isInteger(E)&&E>=1&&E<=3))throw new w(Qs);const M=va(n[ui]),L=va(n.localExtraField),W=va(n.centralExtraField);return{comment:s,yt:{rawFilename:i,rawComment:c,version:u,lastModDate:l,rawLastModDate:f,lastAccessDate:d,creationDate:p,internalFileAttributes:h,passThrough:m,password:y,rawPassword:g,encryptionStrength:E,zipCrypto:x,extendedTimestamp:A,ntfsTimestamp:b,keepOrder:z,useWebWorkers:S,transferStreams:F,bufferedWrite:R,createTempStream:C,dataDescriptorSignature:v,signal:D,useUnicodeFileNames:I,compressionMethod:N,format:k?k.format:ae,codecURI:k?k.codecURI:ae,gt:k?k.versionNeeded:ae,level:T,useCompressionStream:B,dataDescriptor:O,zip64:U,rawExtraField:M,Et:L,ht:W}}}(e,r,u),{comment:p}=f,h=u[ui];e.Ge.set(r,ae);const m=e.je,y={};let E,x;f.yt.keepOrder&&(y.xt=new g(e=>E=e)),e.je=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(Hn(t)||Gn(t,Mn))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&&!Xa(e,o,ii))throw new w(aa);let i;return t&&(t=new Ro(t),await Do(t),({size:i}=t)),n.assign({reader:t},function(e,t,n,r,o){const{passThrough:i,zipCrypto:s,password:a,rawPassword:c,encryptionStrength:u}=r;let{dataDescriptor:l,zip64:f,level:d,compressionMethod:p}=r,h=0,m=0;if(i&&t){if(m=o[Vo],m===ae)throw new w(ia);if(p===ae)throw new w(sa)}const y=!0===f,g=Xa(e,o,ti);if(t&&i&&!g&&ac(a,c))throw new w(Ks);const E=t&&(Boolean(a&&ac(a)||c&&ac(c))||i&&g);t||(d=0,p=0);const x=E?s?12:16+4*u:0;t&&(i?(o.uncompressedSize=m,h=n===ae?ec(m)+x:n):n===ae?(l=!0,(f||f===ae)&&(f=!0,m=h=4294967296)):(o.uncompressedSize=m=n,h=(tc(p,d)?ec(m):m)+x));const A=!(E||t&&(0!==n||i)||tc(p,d));A&&!s&&Xa(e,o,Ae)===ae&&(l=!1);const b=y||m>=U,z=y||h>=U;if(b||z){if(!1===f)throw new w(oa);f=!0}return f=f||!1,{At:h,yt:{dataDescriptor:l,bt:A,zip64:f,it:b,ot:z,uncompressedSize:m,level:d,compressionMethod:p,encrypted:E}}}(e,Boolean(t),i,r,o))}(e,c,f,u);({reader:c}=o);const p=Ta(e.writer),h=ka(e.writer),A=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:f,dataDescriptor:d,directory:p,rawExtraField:h,Et:m,encryptionStrength:y,extendedTimestamp:g,ntfsTimestamp:E,passThrough:x,encrypted:A,it:b,ot:z,uncompressedSize:S,crc32:F}=e;let{version:R,compressionMethod:C}=e;const v=!p&&tc(C,c);let D;const I=x||!v,N=u&&(e.bufferedWrite||!d||!b&&!z||I),k=N||u&&d&&(b||z);if(u&&(b||z)){const e=20,t=Na(e);if(t.zt(1),t.zt(e-4),D=t.St,N&&(t.Ft(S),I)){const e=A?l?12:16+4*y:0;t.Ft(x?0:S+e)}}else D=we;let T,B,O,U,M;if(A&&!l){const e=Na(ac(ga)+2);e.zt(39169),e.Rt(ga),T=e.St,T[8]=y}else T=we;if(g){const e=Ha(n),t=Ya(e);if(t){const t=9+(o?4:0)+(i?4:0),n=Na(t);U=1+(o?2:0)+(i?4:0),n.zt(J),n.zt(t-4),n.Ct(U),n.vt(e),o&&n.vt(Qa(Ha(o))),i&&n.vt(Qa(Ha(i))),O=n.St}else O=we;if(E===ae?!t||Boolean(o||i):E)try{const e=Ga(n),t=Na(36);t.zt(10),t.zt(32),t.Dt(4),t.zt(1),t.zt(24),t.Ft(e),t.Ft(o?Ga(o):e),t.Ft(i?Ga(i):e),B=t.St}catch{B=we}else B=we}else B=O=we;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=Ea||t===ae&&n===ae)if(r!=xa||t===ae&&n===ae)M=we;else{const e=Na(8);e.zt(30805),e.zt(4),e.zt((t===ae?0:t)&V),e.zt((n===ae?0:n)&V),M=e.St}else{const e=Ia(t===ae?0:t),r=Ia(n===ae?0:n),o=3+e.length+r.length,i=Na(4+o);i.zt(30837),i.zt(o),i.Ct(1),i.Ct(e.length),i.Rt(e),i.Ct(r.length),i.Rt(r),M=i.St}}catch{M=we}C===ae&&(C=v?8:0),R===ae&&(R=0!=C||p||A?20:10);const{gt:W}=e;v&&W!==ae&&(R=R>W?R:W),u&&(R=R>45?R:45),A&&!l&&(R=R>51?R:51,x&&F!==ae&&(T[4]=1),rc(dt(T),9,C),C=99);const P=k?ac(D):0,Z=P+ac(T,O,B,M,h,m);if(Z+(e[ze]?67:0)>V)throw new w($s);const q=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),{et:G,nt:H,rawLastModDate:Y}=cc({version:R,bitFlag:uc(c,f,d,A,C),compressionMethod:C,uncompressedSize:S,lastModDate:q<se?se:q>ie?ie:q,rawLastModDate:r,rawFilename:t,ot:z,it:b,extraFieldLength:Z}),Q=Na(oe+ac(t)+Z),X=Q.St,K=dt(X);return Q.vt(L),Q.Rt(G),Q.Rt(t),k&&Q.Rt(D),Q.Rt(T),Q.Rt(O),Q.Rt(B),Q.Rt(M),Q.Rt(h),Q.Rt(m),d&&(z||oc(K,18,0),b||oc(K,22,0)),{It:X,Nt:K,et:G,nt:H,lastModDate:n,rawLastModDate:Y,encrypted:A,compressed:v,version:R,compressionMethod:C,kt:U,ct:we,Tt:P,lt:O,ft:B,wt:M,ut:T,extraFieldLength:Z}}(u=n.assign({},u,l.yt,f.yt,o.yt,{signature:u[ci],crc32:u.crc32===ae?u[ci]:u.crc32,offset:e.offset-p,diskNumberStart:h,[ze]:e.options[ze]})),b=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=we,i=0,s=e?20:12;return n&&(s+=4),t&&(o=new d(s),r=dt(o),n&&(i=4,oc(r,0,P))),{Bt:o,Ot:r,Ut:i}}(u),z=ac(A.It,b.Bt);x=await async function(e,t,r,o,s){const{Ge:a,writer:c}=e,{keepOrder:u,dataDescriptor:l,bt:f,signal:d}=s,{Vt:p,Ze:h,Mt:m,Lt:y}=o,E=e.options[ze];let x,A,b,z,F,R,C=h,v=0;const D=u&&m?m.xt:ae;a.set(t,C);try{s.bufferedWrite||!u||e._e||e.Ke||!l&&!f?(x=!0,e.Ke++,R=s.createTempStream?await s.createTempStream():new S(ae,ae,{highWaterMark:ce}),R.size=0,await Do(c)):(R=c,await D,await I()),await Do(R);const h=Ta(c);e.qe&&!x&&await Pa(e,c),E&&!x&&Da(o,e.offset-h);const{It:m}=p;x||await N();const y=ka(c),A=Oa(e,c);if(C.diskNumberStart=y,x||(z=!0,F=c.size,await Za(R,m)),C=await async function(e,t,{diskNumberStart:r,xt:o},s,a,c){const{Vt:u,Wt:l,Pt:f}=s,{et:d,nt:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:E,compressionMethod:x,ct:A,Tt:b,lt:z,kt:S,ft:F,wt:R,ut:C}=u,{Bt:v}=l,{rawFilename:D,lastAccessDate:I,creationDate:N,password:k,rawPassword:T,level:B,zip64:O,it:V,ot:L,zipCrypto:W,dataDescriptor:P,directory:Z,executable:q,versionMadeBy:G,rawComment:H,rawExtraField:Y,ht:Q,useWebWorkers:X,transferStreams:K,onstart:j,onprogress:J,onend:_,signal:$,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,uid:ie,gid:se,unixMode:ce,symlink:ue,setuid:le,setgid:fe,sticky:we,unixExternalUpper:de,msdosAttributesRaw:pe,msdosAttributes:he,useCompressionStream:me,passThrough:ye,format:ge,codecURI:Ee}=c,xe={xt:o,versionMadeBy:G,zip64:O,directory:Boolean(Z),executable:Boolean(q),filenameUTF8:!0,rawFilename:D,commentUTF8:!0,rawComment:H,ct:A,Tt:b,lt:z,ft:F,wt:R,ut:C,rawExtraField:Y,ht:Q,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,diskNumberStart:r,uid:ie,gid:se,unixMode:ce,symlink:Boolean(ue),setuid:le,setgid:fe,sticky:we,unixExternalUpper:de,msdosAttributesRaw:pe,msdosAttributes:he};let{crc32:Ae,uncompressedSize:be}=c,ze=0;ye||(be=0);const{writable:Se}=t;if(e){const n=xn(ko(e)),r=e.size,o={options:{codecType:_n,inputSize:r,level:B,rawPassword:T,password:k,encryptionStrength:ee,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&M,computeCrc32:!ye,compressed:g&&!ye,encrypted:y&&!ye,useWebWorkers:X,useCompressionStream:me,transferStreams:K,format:ge,codecURI:Ee,compressionMethod:x},config:a,ce:{signal:$,size:r,onstart:j,onprogress:J,onend:_}};try{const e=await Ir({readable:n,writable:Se},o);if(ze=e.outputSize,t.size+=ze,ye||(be=e.inputSize,y&&!W||(Ae=e.crc32)),!L&&ze>=U||!V&&be>=U)throw new w(oa)}catch(e){throw e.outputSize!==ae&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,Vt:r,Wt:o},{zip64:s,zipCrypto:a,passThrough:c,dataDescriptor:u}){const{nt:l,encrypted:f}=r,{Ot:w,Ut:d}=o;f&&!a&&!c||e===ae||(oc(l,10,e),u&&oc(w,d,e)),s?u&&(ic(w,d+4,i(t)),ic(w,d+12,i(n))):(oc(l,14,t),oc(l,18,n),u&&(oc(w,d+4,t),oc(w,d+8,n)))}({crc32:Ae,compressedSize:ze,uncompressedSize:be,Vt:u,Wt:l},c),P&&await Za(t,v),n.assign(xe,{uncompressedSize:be,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:N,lastAccessDate:I,encrypted:Boolean(y),zipCrypto:Boolean(W),size:f+ze,compressionMethod:x,version:E,et:d,nt:p,signature:Ae,crc32:!y||W||ye?Ae:ae,kt:S,it:V,ot:L}),xe}(r,R,C,o,Qe(),s),x||(z=!1),a.set(t,C),C.filename=t,x){if(await g.all([R.writable.getWriter().close(),D]),await I(),e.qe&&await Pa(e,c),b=!0,F=c.size,await N(),C.diskNumberStart=ka(c),C.offset=Oa(e,c),E){const t=o.Pt;Da(o,e.offset-Ta(c)),C.size+=o.Pt-t}!function({rawFilename:e,encrypted:t,zip64:n,Tt:r,crc32:o,compressedSize:s,uncompressedSize:a,it:c,ot:u},l,{dataDescriptor:f,passThrough:w}){if(f||((!t||w&&o!==ae)&&oc(l,14,o),u||oc(l,18,s),c||oc(l,22,a)),n&&r){const t=oe+ac(e)+4;ic(l,t,i(a)),ic(l,t+8,i(s))}}(C,p.Nt,s),await Za(c,p.It),await qa(R.readable,c,d,e=>v+=e),c.size+=R.size,b=!1}else C.diskNumberStart=y,C.offset=A;return e.offset+=C.size,C}catch(n){if(b||z){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-F,x&&(e.offset+=v)}throw a.delete(t),n}finally{if(x&&e.Ke--,y&&y(D),A&&A(),x&&R&&R.dispose)try{await R.dispose()}catch{}}async function I(){e._e=!0;const{$e:t}=e;e.$e=new g(t=>A=()=>{e._e=!1,t()}),await t}async function N(){Ba(c,ac(p.It))&&await c.closeDisk()}}(e,r,c,{Vt:A,Wt:b,Pt:z,Ze:y,Mt:m,Lt:E},u)}catch(t){throw e.Ge.delete(r),t}finally{E&&E(m&&m.xt)}return n.assign(x,{name:r,comment:p,extraField:h,[Ko]:x.internalFileAttributes,[jo]:x.externalFileAttributes}),new hi(x)}(e,r,c,u)}catch(t){throw e.He.delete(r),t}finally{const e=ba.shift();e?e():Aa--}}(u,e,r,c);l.add(f);const p=()=>l.delete(f);return g.prototype.then.call(f,p,p),Fa(u,f)}remove(e){const{He:t,Ge: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=we,n={}){const r=this,{Qe:o,writer:s}=this,{writable:a}=s;if(!(e instanceof d))throw new w(Ps);if(ac(e)>V)throw new w(Ws);for(;o.size;)await g.allSettled(t.from(o));await g.allSettled(r.Xe.map(e=>e.Zt));const c=r.Xe.filter(e=>e.error&&!e.qt);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.qt=!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,ut:r,rawComment:o,ft:i,wt:s,rawExtraField:a,ht:c,extendedTimestamp:u,kt:l,lastModDate:f,it:d,ot:p,uncompressedSize:h,compressedSize:m}=n,y=n.offset>=U,g=n.diskNumberStart>=V;let E,x;if(y||g||d||p){const e=4+(d?8:0)+(p?8:0)+(y?8:0)+(g?4:0),t=Na(e);t.zt(1),t.zt(e-4),d&&t.Ft(h),p&&t.Ft(m),y&&t.Ft(n.offset),g&&t.vt(n.diskNumberStart),E=t.St}else E=we;n.ct=E,n.Gt=y,n.st=g;const A=Ha(f);if(u&&Ya(A)){const e=Na(9);e.zt(J),e.zt(5),e.Ct(l),e.vt(A),x=e.St}else x=we;n.lt=x;const b=ac(E,r,i,s,x,a,c);if(b>V)throw new w($s);t+=Q+ac(e,o)+b}return t}(e.Ge),{Ht:s,Yt:a,Qt:c}=await async function(e,n,r){const{Ge:o,writer:i}=e,s=new d(n);await Do(i);let a=0,c=0,u=ka(i),l=Ta(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:w,ct:d,ut:p,lt:h,ft:m,wt:y,rawExtraField:g,ht:E,rawComment:x,versionMadeBy:A,et:b,nt:z,it:S,ot:F,st:R,Gt:C,internalFileAttributes:v,externalFileAttributes:D,diskNumberStart:I,uncompressedSize:N,compressedSize:k}=n,T=ac(d,p,h,m,y,g,E),B=Q+ac(w,x)+T;Ba(i,a+B-c)&&(await Za(i,s.slice(c,a)),c=a,f=0,await i.closeDisk()),0==e&&(u=ka(i),l=Ta(i)),S||oc(z,18,N),F||oc(z,14,k),(C||R)&&n.version<45&&rc(z,0,45);const O=Na(B);if(O.vt(q),O.zt(A),O.Rt(b.subarray(0,24)),O.zt(T),O.zt(ac(x)),O.zt(R?V:I),O.zt(v),O.vt(D),O.vt(C?U:t),O.Rt(w),O.Rt(d),O.Rt(p),O.Rt(h),O.Rt(m),O.Rt(y),O.Rt(g),O.Rt(E),O.Rt(x),sc(s,O.St,a),a+=B,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new hi(n))}catch{}}return await Za(i,c?s.slice(c):s),{Ht:{diskNumber:u,diskOffset:l},Yt:{diskNumber:ka(i),Xt:f},Qt:s}}(e,o,r),u=await async function(e,t,n){const r=ja(e,n,"signCentralDirectory");if(r){const n=await r(t),o=ac(n);if(o>V)throw new w(ya);const i=Na(6+o);i.vt(Z),i.zt(o),i.Rt(n);const{writer:s}=e;return Ba(s,ac(i.St))&&await s.closeDisk(),await Za(s,i.St),6+o}return 0}(e,c,r);await async function(e,t,n,r){const{writer:o}=e,{Ht:s,Yt:a,Kt:c}=r;let{jt:u}=r,l=e.Ge.size,f=s.diskNumber,d=Oa(e,s);const p=ac(t);if(p>V)throw new w(Ws);let h=Xa(e,n,ei),m=ka(o);if(Ba(o,(h?98:X)+p)&&m++,d>=U||u>=U||l>=V||m>=V){if(!1===h)throw new w(oa);h=!0}const y=Na(h?98:X);Ba(o,ac(y.St)+p)&&await o.closeDisk(),m=ka(o);let g=m==a.diskNumber?a.Xt:0;h&&(y.vt(H),y.Ft(44),y.zt(45),y.zt(45),y.vt(m),y.vt(f),y.Ft(g),y.Ft(l),y.Ft(u),y.Ft(d),y.vt(Y),y.vt(m),y.Ft(i(Oa(e,o))+i(u)+i(c)),y.vt(m+1),Xa(e,n,"supportZip64SplitFile",!0)&&(m=V,f=V),g=V,l=V,d=U,u=U),y.vt(G),y.zt(m),y.zt(f),y.zt(g),y.zt(l),y.vt(u),y.vt(d),y.zt(p),await Za(o,y.St),p&&await Za(o,t)}(e,n,r,{Ht:s,Yt:a,jt:o,Kt:u})}(r,e,n),!vo(s)&&Xa(r,n,xe)||await a.getWriter().close(),s.getData?s.getData():a}}class Sa extends g{then(e,t){const{Jt:n}=this;return n&&(n.qt=!0),super.then(e,t)}}function Fa(e,t){const n=new Sa((e,n)=>g.prototype.then.call(t,e,n)),r={};return n.Jt=r,r.Zt=g.prototype.then.call(n,ae,e=>r.error=e),e.Xe.push(r),n}async function Ra(e,t){try{await e.writer.writable.abort(t)}catch{}}function Ca(e,t,n){e.Qe.add(t),t.catch(e=>{try{n(e)}catch{}})}function va(e){if(!e)return we;if(!(e instanceof c))throw new w(js);let t=0,n=0;e.forEach((e,n)=>{if(Ue(n,V,Js),!(e instanceof d))throw new w(_s);if(ac(e)>V)throw new w($s);t+=4+ac(e)});const r=new d(t),o=dt(r);return e.forEach((e,t)=>{rc(o,n,t),rc(o,n+2,ac(e)),sc(r,e,n+4),n+=4+ac(e)}),r}function Da(e,t){const{Vt:n}=e;let{It:r,extraFieldLength:o}=n,i=64-(t+ac(r))%64;i<4&&(i+=64);const s=new d(i),a=dt(s);rc(a,0,6534),rc(a,2,i-4);const c=r;n.It=r=new d(ac(c)+i),sc(r,c),sc(r,s,ac(c));const u=dt(r);rc(u,28,o+i),n.Nt=u,e.Pt+=i}function Ia(e){const t=new d(4);dt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function Na(e){const t=new d(e),n=dt(t);let r=0;return{St:t,Ct:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},zt:e=>{rc(n,r,e),r+=2},vt:e=>{oc(n,r,e),r+=4},Ft:e=>{ic(n,r,i(e)),r+=8},Rt:e=>{sc(t,e,r),r+=ac(e)},Dt:e=>r+=e}}function ka(e){const{diskNumber:t=0}=e;return t}function Ta(e){const{diskOffset:t=0}=e;return t}function Ba(e,t){const{availableSize:n=ce}=e;return t>n}function Oa(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Ye:0)}function Ua(e){const t=dt(e);let n=0;for(;n+4<=ac(e);){const r=4+nc(t,n+2);if(1==nc(t,n))return Ua(ft(e.subarray(0,n),e.subarray(s.min(n+r,ac(e)))));n+=r}return e}async function Va(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await qa(ko(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 Ma(e,t){const n=await No(e,t,oe);if(ac(n)<oe)return oe;const r=dt(n);return oe+nc(r,26)+nc(r,28)}function La(e,{offset:t,diskNumberStart:n}){return t+(e.Oe?e.Oe(n):0)}function Wa(){const e=new d(4);return oc(dt(e),0,W),e}async function Pa(e,t){delete e.qe,await Za(t,Wa()),e.offset+=4}async function Za(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=ac(t),await r.write(t)}finally{r.releaseLock()}}async function qa(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new R({async write(e){await o.ready,await o.write(e),r(ac(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function Ga(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<na?na:t>ra?ra:t}}function Ha(e){return s.floor(e.getTime()/1e3)}function Ya(e){return e>=ea&&e<=ta}function Qa(e){return s.min(ta,s.max(ea,e))}function Xa(e,t,n,r){const o=t[n]===ae?e.options[n]:t[n];return o===ae?r:o}function Ka(e,t,n,r){const i=Xa(e,t,n,r);if(null===i)return r;if(i!==ae&&(typeof i.getTime!=le||o.isNaN(i.getTime())))throw new w(Gs);return i}function ja(e,t,n){return Te(Xa(e,t,n))}function Ja(e,t,n,r,o){const i=_a(t,n,r),s=i===ae?_a(e.options,n,r):i;return s===ae?o:s}function _a(e,t,n){return e[t]===ae?e[n]:e[t]}function $a(e,t,n,r){return Me(Xa(e,t,n,r))}function ec(e){return e+5*(s.floor(e/16383)+1)}function tc(e,t){return e===ae?t===ae||t>0:0!==e}function nc(e,t){return e.getUint16(t,!0)}function rc(e,t,n){e.setUint16(t,n,!0)}function oc(e,t,n){e.setUint32(t,n,!0)}function ic(e,t,n){e.setBigUint64(t,n,!0)}function sc(e,t,n){e.set(t,n)}function ac(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function cc({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,ot:c,it:u,extraFieldLength:l}){const f=Na(26),w=f.St,d=dt(w);if(f.zt(e),f.zt(t),f.zt(n),s===ae){const e=new h(1),t=dt(e);rc(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),rc(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=e[0]}return f.vt(s),f.Dt(4),c||o!==ae?f.vt(c?U:o):f.Dt(4),u||r!==ae?f.vt(u?U:r):f.Dt(4),f.zt(ac(a)),f.zt(l),{et:w,nt:d,rawLastModDate:s}}function uc(e,t,n,r,o){let i=0;return t&&(i|=_),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 lc(e,t){if(!e)return!1;const{_t:n}=e;return n?n.includes(t):Gn(e,t)}const fc=1048576,wc=".zip.js-temp",dc=1048576,pc=1048576,hc=".zip.js-temp",mc="createSyncAccessHandle is only available in dedicated workers";try{$e({baseURI:void 0===A&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===A?location.href:O&&"SCRIPT"===O.tagName.toUpperCase()&&O.src||new f("zip-legacy.min.js",A.baseURI).href})}catch{}ut($e),e.BlobReader=ro,e.BlobWriter=oo,e.Data64URIReader=class extends $r{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 d(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 u=0;for(let e=c;e<c+t&&e<a.length;e++)o[e-c]=a.charCodeAt(e),u++;return u<o.length?o.subarray(0,u):o}},e.Data64URIWriter=class extends eo{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+=z(o):t.tn=o+t.tn}getData(){return this.data+z(this.tn)}},e.ERR_AMBIGUOUS_ARCHIVE=vi,e.ERR_BAD_FORMAT=mi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Ei,e.ERR_DUPLICATED_NAME=Ls,e.ERR_ENCRYPTED=bi,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Di,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=Ci,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=gi,e.ERR_EOCDR_NOT_FOUND=yi,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Ai,e.ERR_HTTP_RANGE=Pr,e.ERR_HTTP_RESOURCE_CHANGED=Zr,e.ERR_INVALID_AUTHENTICATION_CODE=Tt,e.ERR_INVALID_CODEC_DEFINITION=zn,e.ERR_INVALID_CODEC_MODULE=Fn,e.ERR_INVALID_COMMENT=Ws,e.ERR_INVALID_COMMENT_TYPE=Ps,e.ERR_INVALID_COMPRESSED_DATA=Bn,e.ERR_INVALID_CRC32=On,e.ERR_INVALID_DATE=Gs,e.ERR_INVALID_ENCRYPTION_STRENGTH=Qs,e.ERR_INVALID_ENTRY_COMMENT=Zs,e.ERR_INVALID_ENTRY_COMMENT_TYPE=qs,e.ERR_INVALID_ENTRY_NAME=Hs,e.ERR_INVALID_EXTRAFIELD=js,e.ERR_INVALID_EXTRAFIELD_DATA=$s,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=_s,e.ERR_INVALID_EXTRAFIELD_TYPE=Js,e.ERR_INVALID_FILENAME_VALIDATION=ki,e.ERR_INVALID_FUNCTION_OPTION=Ie,e.ERR_INVALID_GID=la,e.ERR_INVALID_LEVEL=ma,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=Ti,e.ERR_INVALID_MAX_WORKERS=Le,e.ERR_INVALID_MSDOS_ATTRIBUTES=pa,e.ERR_INVALID_MSDOS_DATA=ha,e.ERR_INVALID_PASSWORD=Nt,e.ERR_INVALID_PASSWORD_TYPE=ke,e.ERR_INVALID_SIGNAL=Ne,e.ERR_INVALID_SIGNATURE=kt,e.ERR_INVALID_SIGNATURE_DATA=ya,e.ERR_INVALID_STRICTNESS=Ni,e.ERR_INVALID_UID=ua,e.ERR_INVALID_UNCOMPRESSED_SIZE=Tn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=wa,e.ERR_INVALID_UNIX_ID_SIZE=da,e.ERR_INVALID_UNIX_MODE=fa,e.ERR_INVALID_VERSION=Ys,e.ERR_ITERATOR_COMPLETED_TOO_SOON=qr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=xi,e.ERR_OVERLAPPING_ENTRY=Ri,e.ERR_RESERVED_COMPRESSION_METHOD=Sn,e.ERR_SPLIT_ZIP_FILE=Fi,e.ERR_UNDEFINED_COMPRESSION_METHOD=sa,e.ERR_UNDEFINED_READER=aa,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=ia,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=Ii,e.ERR_UNSUPPORTED_COMPRESSION=Si,e.ERR_UNSUPPORTED_CONTEXT=mc,e.ERR_UNSUPPORTED_CRYPTO_API=Ot,e.ERR_UNSUPPORTED_ENCRYPTION=zi,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Ks,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Xs,e.ERR_UNSUPPORTED_FORMAT=oa,e.ERR_UNSUPPORTED_UINT64=Bi,e.ERR_WORKER_STARTUP_TIMEOUT=nr,e.ERR_WRITER_NOT_INITIALIZED=Gr,e.ERR_ZIP_NOT_EMPTY=ca,e.HttpRangeReader=class extends zo{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=zo,e.Reader=$r,e.SplitDataReader=So,e.SplitDataWriter=Fo,e.TextReader=class extends ro{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends oo{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 Lr(e,t,!1)}(new d(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends $r{constructor(e){super(),e=new d(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{St:e,size:e.length})}readUint8Array(e,t){return this.St.slice(e,e+t)}},e.Uint8ArrayWriter=class extends eo{constructor(e){super(),this.rn=e||262144}init(e=0){n.assign(this,{offset:0,St:new d(e>0?e:this.rn)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.St.length){let e=t.St.length?2*t.St.length:t.rn;for(;e<n;)e*=2;const r=t.St;t.St=new d(e),t.St.set(r)}t.St.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.St.length?this.St:this.St.slice(0,this.offset)}},e.VERSION="2.8.61",e.WARNING_APPENDED_DATA=Pi,e.WARNING_COMPRESSED_PATCHED_DATA=Vi,e.WARNING_DUPLICATE_FILENAME=Gi,e.WARNING_MALFORMED_EXTRA_FIELD=Mi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Yi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=Qi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=Xi,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=Hi,e.WARNING_PREPENDED_DATA=Zi,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=qi,e.WARNING_UNKNOWN_VERSION=Ui,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=Li,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=Oi,e.WARNING_WRAPPED_ENTRIES_COUNT=Wi,e.Writer=eo,e.ZipReader=ts,e.ZipReaderStream=ns,e.ZipWriter=za,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new S;this.readable=t,this.zipWriter=new za(n,e),this.Qe=new u}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new S({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await Ra(t,e)}}()}});return Ca(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 S({start(e){t=e}});return Ca(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await g.allSettled(t.from(this.Qe))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await Ra(r,e),e}try{return await r.close(e,n)}catch(e){throw await Ra(r,e),e}}},e.configure=function(e){n.assign(Ye,je(_e(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=dc}=e;return function(){const e=[];let n,r,o,i=0,s=!1;const a=new R({async write(o){s?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new S;r=An(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 F({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=fc,directoryName:r=wc,getDirectory:o=()=>D.storage.getDirectory()}=e;let i;function s(){return i||(i=g.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,a,c=0,u=!1;const l=new R({async write(a){u?await i.write(a):(e.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=b.randomUUID?b.randomUUID():t.from(b.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),u=!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:l,readable:new F({async pull(t){if(u){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=pc,directoryName:r=hc,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new w(mc);const i=o||(()=>D.storage.getDirectory());let a;function c(){return a||(a=g.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return function(){const e=[];let r,o,i=0,a=!1,u=0,l=0;const f=new R({async write(s){a?(o.write(s,{at:u}),u+=s.length):(e.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=b.randomUUID?b.randomUUID():t.from(b.getRandomValues(new d(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:u}),u+=t.length;e.length=0}())},close(){o&&o.flush()}});let w=0;return{writable:f,readable:new F({pull(t){if(a){const e=u-l;if(e<=0)return void t.close();const n=new d(s.min(524288,e)),r=o.read(n,{at:l});r?(l+=r,t.enqueue(n.subarray(0,r))):t.close()}else w<e.length?t.enqueue(e[w++]):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=In,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:lc(n,Un)||lc(e,Un)||lc(e,Mn),decompression:lc(r,Un)||lc(t,Un)||lc(t,Mn),registered:!1},{compressionMethod:9,compression:!1,decompression:lc(r,Vn)||lc(t,Vn),registered:!1}];for(const e of In()){const t=Nn(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==le:ae,decompression:t?typeof t.DecompressionStream==le:ae,registered:!0})}return o},e.isZipFile=rs,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>V||typeof n!=fe||!n.length)throw new w(zn);if(Rn.includes(t))throw new w(Sn);const c=typeof i==le||typeof s==le;if(!(c||typeof r==fe&&r.length))throw new w(zn);Cn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:a}),c&&kn(n,{CompressionStream:i,DecompressionStream:s})},e.resetConfiguration=function(){for(const e of He)delete Ye[e];n.assign(Ye,Pe)},e.terminateWorkers=async function(){await g.allSettled(Fr.map(e=>(Or(e),e.terminate()))),rr=ae,or=!1},e.unregisterCodec=function(e){const t=Cn.get(e);if(t){let n;Cn.delete(e),Cn.forEach(e=>n=n||e.format==t.format),n||vn.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:u,Response:l,URL:f,Error:w,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:E,TextDecoder:x,document:A,crypto:b,btoa:z,TransformStream:S,ReadableStream:F,WritableStream:R,CompressionStream:C,DecompressionStream:D,navigator:v,Worker:I,Symbol:N,setTimeout:T,clearTimeout:k,structuredClone:B}="undefined"!=typeof globalThis?globalThis:this||self;var O=void 0!==A?A.currentScript:null;const U=4294967295,V=65535,M=255,L=67324752,W=134695760,P=W,Z=84233040,q=33639248,G=101010256,H=101075792,Y=117853008,Q=46,X=22,K=20,j=56,J=21589,_=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,ue="undefined",le="function",fe="string",we=new d,de="password",pe="rawPassword",he="passThrough",me="signal",ye="useWebWorkers",ge="useCompressionStream",Ee="transferStreams",xe="preventClose",Ae="dataDescriptor",be="offset",ze="usdz",Se="maxAppendedDataSize",Fe="filename",Re="comment",Ce="strict",De="balanced",ve="tolerant",Ie="Invalid option (must be a function)",Ne="Invalid signal (must be an AbortSignal instance)",Te="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function ke(e){if(e&&typeof e!=le)throw new w(Ie);return e}function Be(e){if(e&&(typeof e.addEventListener!=le||"boolean"!=typeof e.aborted))throw new w(Ne);return e||ae}function Oe(e,t){if(e&&typeof e!=fe||t&&!(t instanceof d))throw new w(Te)}function Ue(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new w(n)}function Ve(e,t,n){e!==ae&&Ue(e,t,n)}function Me(e){return typeof e==fe&&e.trim()?o(e):e}const Le="Invalid maxWorkers (must be an integer greater than 0)";let We=2;try{typeof v!=ue&&v.hardwareConcurrency&&(We=v.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 C!=ue&&C,DecompressionStream:typeof D!=ue&&D},Ze="maxWorkers",qe=["chunkSize",Ze,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],Ge=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],He=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...qe,...Ge],Ye={...Pe};function Qe(){return Ye}function Xe(e){return Ke(e.chunkSize)}function Ke(e){return e=Me(e),o.isInteger(e)&&e>=1?s.max(e,64):65536}function je(e){const t={};for(const n of He){const r=e[n];r!==ae&&(t[n]=Je(n,r))}return t}function Je(e,t){if(qe.includes(e)){if(t=Me(t),e==Ze&&(!o.isInteger(t)||t<1))throw new w(Le)}else Ge.includes(e)&&ke(t);return t}function _e(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){const t=je(_e(e));n.assign(Pe,t),n.assign(Ye,t)}const et=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],tt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],nt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],rt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ot=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],it=new d(288);it.fill(8,0,144),it.fill(9,144,256),it.fill(7,256,280),it.fill(8,280,288);const st=new d(30).fill(5);function at(e){const t=new p(16);for(const n of e)t[n]++;t[0]=0;const n=new p(17);for(let e=1;e<=15;e++)n[e+1]=n[e]+t[e];const r=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(r[n[e[t]]++]=t);return{o:t,symbols:r}}const ct="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ut=(lt=()=>function(e){let t=0,n=0,r=0,o=new d(1024),i=0,s=0;for(;!s;){s=c(1);const e=c(2);if(0==e)u();else if(1==e)l(at(it),at(st));else{if(2!=e)throw new w("invalid deflate block type");l(...f())}}return o.subarray(0,i);function a(){if(t>=e.length)throw new w("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=a()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function u(){n=0,r=0;const e=a()|a()<<8;t+=2,h(i+e);for(let t=0;t<e;t++)o[i++]=a()}function l(e,t){let n=p(e);for(;256!=n;){if(n<256)h(i+1),o[i++]=n;else{const e=n-257,r=et[e]+c(tt[e]),s=p(t),a=nt[s]+c(rt[s]);h(i+r);const u=i-a;for(let e=0;e<r;e++)o[i++]=o[u+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new d(19);for(let e=0;e<n;e++)r[ot[e]]=c(3);const o=at(r),i=new d(e+t);let s=0;for(;s<i.length;){const e=p(o);if(e<16)i[s++]=e;else if(16==e){const e=i[s-1];let t=c(2)+3;for(;t--;)i[s++]=e}else s+=17==e?c(3)+3:c(7)+11}return[at(i.subarray(0,e)),at(i.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,o=0,i=0;for(let e=1;e<=15;e++){r|=c(1);const s=t[e];if(r-o<s)return n[i+(r-o)];i+=s,o=o+s<<1,r<<=1}throw new w("invalid huffman code")}function h(e){if(o.length<e){let t=2*o.length;for(;t<e;)t*=2;const n=new d(t);n.set(o.subarray(0,i)),o=n}}}(function(e){const t=(e=r(e).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=ct.indexOf(e[r])<<18|ct.indexOf(e[r+1])<<12|(63&ct.indexOf(e[r+2]))<<6|63&ct.indexOf(e[r+3]);n.push(t>>16&255),"="!==e[r+2]&&n.push(t>>8&255),"="!==e[r+3]&&n.push(255&t)}return new d(n)}("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=lt();if("string"==typeof n&&(n=(new E).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+function(e){let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=ct[n>>18&63]+ct[n>>12&63]+ct[n>>6&63]+ct[63&n]}const o=n-r;if(1===o){const n=e[r]<<16;t+=ct[n>>18&63]+ct[n>>12&63]+"=="}else if(2===o){const n=e[r]<<16|e[r+1]<<8;t+=ct[n>>18&63]+ct[n>>12&63]+ct[n>>6&63]+"="}return t}(n)}}));var lt;function ft(e,t){const n=new d(e.length+t.length);return n.set(e),n.set(t,e.length),n}function wt(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new d(e):e}function dt(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const pt=[[],[],[],[],[],[],[],[]];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;pt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=pt[t-1][e];pt[t][e]=n>>>8^pt[0][255&n]}const[ht,mt,yt,gt,Et,xt,At,bt]=pt;class zt{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new m(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=bt[255&e]^At[e>>>8&255]^xt[e>>>16&255]^Et[e>>>24&255]^gt[255&n]^yt[n>>>8&255]^mt[n>>>16&255]^ht[n>>>24&255]}}for(;r<n;r++)t=t>>>8^ht[255&(t^e[r])];this.l=t}get(){return~this.l}}class St extends S{constructor(){let e;const t=new zt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function Ft(e){if(typeof E==ue){e=unescape(encodeURIComponent(e));const t=new d(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new E).encode(e)}const Rt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=Rt.h(n);return 32===r?e.concat(t):Rt.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)+Rt.h(n)},A(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]=Rt.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,h: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=Rt.h(o);return r.push(Rt.S(t+i&31,t+i>32?n:r.pop(),1)),r}},Ct={bytes:{F(e){const t=Rt.bitLength(e)/8,n=new d(t);let r;for(let o=0;o<t;o++)3&o||(r=e[o/4]),n[o]=r>>>24,r<<=8;return n},R(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(Rt.S(8*(3&n),r)),t}}},Dt=class{constructor(e){const t=this;t.blockSize=512,t.C=[1732584193,4023233417,2562383102,271733878,3285377520],t.D=[1518500249,1859775393,2400959708,3395469782],e?(t.v=e.v.slice(0),t.I=e.I.slice(0),t.N=e.N):t.reset()}reset(){const e=this;return e.v=e.C.slice(0),e.I=[],e.N=0,e}update(e){const t=this;"string"==typeof e&&(e=Ct.T.R(e));const n=t.I=Rt.concat(t.I,e),r=t.N,o=t.N=r+Rt.bitLength(e);if(o>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(n);let s=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=o;e+=t.blockSize)t.B(i.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}O(){const e=this;let t=e.I;const n=e.v;t=Rt.concat(t,[Rt.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e.N/4294967296)),t.push(0|e.N);t.length;)e.B(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}V(e,t){return t<<e|t>>>32-e}B(e){const n=this,r=n.v,o=t(80);for(let t=0;t<16;t++)o[t]=e[t];let i=r[0],a=r[1],c=r[2],u=r[3],l=r[4];for(let e=0;e<=79;e++){e>=16&&(o[e]=n.V(1,o[e-3]^o[e-8]^o[e-14]^o[e-16]));const t=n.V(5,i)+n.U(e,a,c,u)+l+o[e]+n.D[s.floor(e/20)]|0;l=u,u=c,c=n.V(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]+u|0,r[4]=r[4]+l|0}},vt={importKey:e=>new vt.M(Ct.bytes.R(e)),L(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new w("invalid params to pbkdf2");const o=1+(r>>5)<<2;let i,s,a,c,u;const l=new ArrayBuffer(o),f=new m(l);let d=0;const p=Rt;for(t=Ct.bytes.R(t),u=1;d<(o||1);u++){for(i=s=e.encrypt(p.concat(t,[u])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)i[c]^=s[c];for(a=0;d<(o||1)&&a<i.length;a++)f.setInt32(d,i[a]),d+=4}return l.slice(0,r/8)},M:class{constructor(e){const t=this,n=t.W=Dt,r=[[],[]];t.P=[new n,new n];const o=t.P[0].blockSize/32;e.length>o&&(e=(new n).update(e).O());for(let t=0;t<o;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.P[0].update(r[0]),t.P[1].update(r[1]),t.Z=new n(t.P[0])}reset(){const e=this;e.Z=new e.W(e.P[0]),e.G=!1}update(e){this.G=!0,this.Z.update(e)}digest(){const e=this,t=e.Z.O(),n=new e.W(e.P[1]).update(t).O();return e.reset(),n}encrypt(e){if(this.G)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},It=typeof b!=ue&&typeof b.getRandomValues==le,Nt="Invalid password",Tt="Invalid signature",kt=Tt,Bt="zipjs-abort-check-password",Ot="Crypto API not supported";function Ut(e){if(It)return b.getRandomValues(e);throw new w(Ot)}const Vt=16,Mt={name:"PBKDF2"},Lt=n.assign({hash:{name:"HMAC"}},Mt),Wt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Mt),Pt=["deriveBits"],Zt=[8,12,16],qt=[16,24,32],Gt=10,Ht=[0,0,0,0],Yt=typeof b!=ue,Qt=Yt&&b.subtle,Xt=Yt&&typeof Qt!=ue,Kt=Ct.bytes,jt=class{constructor(e){const t=this;t.H=[[[],[],[],[],[]],[[],[],[],[],[]]],t.H[0][0][0]||t.Y();const n=t.H[0][4],r=t.H[1],o=e.length;let i,s,a,c=1;if(4!==o&&6!==o&&8!==o)throw new w("invalid aes key size");for(t.D=[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.X(e,0)}decrypt(e){return this.X(e,1)}Y(){const e=this.H[0],t=this.H[1],n=e[4],r=t[4],o=[],i=[];let s,a,c,u;for(let e=0;e<256;e++)i[(o[e]=e<<1^283*(e>>7))^e]=e;for(let l=s=0;!n[l];l^=a||1,s=i[s]||1){let i=s^s<<1^s<<2^s<<3^s<<4;i=i>>8^255&i^99,n[l]=i,r[i]=l,u=o[c=o[a=o[l]]];let f=16843009*u^65537*c^257*a^16843008*l,w=257*o[i]^16843008*i;for(let n=0;n<4;n++)e[n][l]=w=w<<24^w>>>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)}X(e,t){if(4!==e.length)throw new w("invalid aes block size");const n=this.D[t],r=n.length/4-2,o=[0,0,0,0],i=this.H[t],s=i[0],a=i[1],c=i[2],u=i[3],l=i[4];let f,d,p,h=e[0]^n[0],m=e[t?3:1]^n[1],y=e[2]^n[2],g=e[t?1:3]^n[3],E=4;for(let e=0;e<r;e++)f=s[h>>>24]^a[m>>16&255]^c[y>>8&255]^u[255&g]^n[E],d=s[m>>>24]^a[y>>16&255]^c[g>>8&255]^u[255&h]^n[E+1],p=s[y>>>24]^a[g>>16&255]^c[h>>8&255]^u[255&m]^n[E+2],g=s[g>>>24]^a[h>>16&255]^c[m>>8&255]^u[255&y]^n[E+3],E+=4,h=f,m=d,y=p;for(let e=0;e<4;e++)o[t?3&-e:e]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^n[E++],f=h,h=m,m=y,y=g,g=f;return o}},Jt=class{constructor(e,t){this.K=e,this.j=t,this.J=t}reset(){this.J=this.j}update(e){return this._(this.K,e,this.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}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}_(e,t,n){let r;if(!(r=t.length))return[];const o=Rt.bitLength(t);for(let o=0;o<r;o+=4){this.ee(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 Rt.A(t,o)}},_t=vt.M;let $t=Yt&&Xt&&typeof Qt.importKey==le,en=Yt&&Xt&&typeof Qt.deriveBits==le;class tn extends S{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){rn(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,te:s,ready:a}=n;o?(await async function(e,t,n,r){const o=await sn(e,t,n,cn(r,0,Zt[t])),i=cn(r,Zt[t]);if(o[0]!=i[0]||o[1]!=i[1])throw new w(Nt)}(n,i,o,cn(e,0,Zt[i]+2)),e=cn(e,Zt[i]+2),r?t.error(new w(Bt)):s()):await a;const c=new d(e.length-Gt-(e.length-Gt)%Vt);t.enqueue(on(n,e,c,0,Gt,!0))},async flush(e){const{ne:t,re:n,oe:r,ready:i}=this;if(n&&t){await i;const s=cn(r,0,r.length-Gt),a=cn(r,r.length-Gt);let c=we;if(s.length){const e=ln(Kt,s);n.update(e);const r=t.update(e);c=un(Kt,r)}const u=cn(un(Kt,n.digest()),0,Gt);let l=r.length<Gt?1:0;for(let e=0;e<Gt;e++)l|=u[e]^a[e];if(l&&o)throw new w(kt);e.enqueue(c)}}})}}class nn extends S{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){rn(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,te:i,ready:s}=n;let a=we;r?(a=await async function(e,t,n){const r=Ut(new d(Zt[t]));return ft(r,await sn(e,t,n,r))}(n,o,r),i()):await s;const c=new d(a.length+e.length-e.length%Vt);c.set(a,0),t.enqueue(on(n,e,c,a.length,0))},async flush(e){const{ne:t,re:n,oe:r,ready:o}=this;if(n&&t){await o;let i=we;if(r.length){const e=t.update(ln(Kt,r));n.update(e),i=un(Kt,e)}const s=un(Kt,n.digest()).slice(0,Gt);e.enqueue(ft(i,s))}}})}}function rn(e,t,r,o){n.assign(e,{ready:new g(t=>e.te=t),password:an(t,r),strength:o-1,oe:we})}function on(e,t,n,r,o,i){const{ne:s,re:a,oe:c}=e;c.length&&(t=ft(c,t));const u=t.length-o;let l;for(n=function(e,t){if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e}(n,r+(u-u%Vt)),l=0;l<=u-Vt;l+=Vt){const e=ln(Kt,cn(t,l,l+Vt));i&&a.update(e);const o=s.update(e);i||a.update(o),n.set(un(Kt,o),l+r)}return e.oe=cn(t,l),n}async function sn(e,r,o,i){e.password=null;const s=await async function(e,t,n,r,o){if(!$t)return vt.importKey(t);try{return await Qt.importKey("raw",t,n,!1,o)}catch{return $t=!1,vt.importKey(t)}}(0,o,Lt,0,Pt),a=await async function(e,t,n){if(!en)return vt.L(t,e.salt,Wt.iterations,n);try{return await Qt.deriveBits(e,t,n)}catch{return en=!1,vt.L(t,e.salt,Wt.iterations,n)}}(n.assign({salt:i},Wt),s,8*(2*qt[r]+2)),c=new d(a),u=ln(Kt,cn(c,0,qt[r])),l=ln(Kt,cn(c,qt[r],2*qt[r])),f=cn(c,2*qt[r]);return n.assign(e,{keys:{key:u,ie:l,passwordVerification:f},ne:new Jt(new jt(u),t.from(Ht)),re:new _t(l)}),f}function an(e,t){return t===ae?Ft(e):t}function cn(e,t,n){return e.subarray(t,n)}function un(e,t){return e.F(t)}function ln(e,t){return e.R(t)}class fn extends S{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){dn(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=pn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new w(Nt);e=e.subarray(12)}r?t.error(new w(Bt)):t.enqueue(pn(n,e))}})}}class wn extends S{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){dn(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=Ut(new d(12));t[11]=n.passwordVerification,r=new d(e.length+t.length),r.set(hn(n,t),0),o=12}else r=new d(e.length),o=0;r.set(hn(n,e),o),t.enqueue(r)}})}}function dn(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,se:new zt(o[0]),ae:new zt(o[2])}),r)for(let t=0;t<r.length;t++)mn(e,r[t]);else for(let n=0;n<t.length;n++)mn(e,t.charCodeAt(n))}(e,t,r)}function pn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=yn(e)^t[r],mn(e,n[r]);return n}function hn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=yn(e)^t[r],mn(e,t[r]);return n}function mn(e,t){let[,n]=e.keys;e.se.append([t]);const r=~e.se.get();n=En(s.imul(En(n+gn(r)),134775813)+1),e.ae.append([n>>>24]);const o=~e.ae.get();e.keys=[r,n,o]}function yn(e){const t=2|e.keys[2];return gn(s.imul(t,1^t)>>>8)}function gn(e){return 255&e}function En(e){return 4294967295&e}function xn(e){if(e instanceof F)return e;const t=e.getReader();return new F({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function An(e,t){e=xn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof F)return new l(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new R({write(e){r.push(e)}})).then(()=>new y(r,n))}function bn(e){if(e instanceof R)return e;const t=e.getWriter();return new R({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const zn="Invalid codec definition",Sn="Reserved compression method",Fn="Invalid codec module",Rn=[0,8,9,99],Cn=new c,Dn=new c;function vn(e){return Cn.get(e)}function In(){return t.from(Cn.values(),e=>n.assign({},e,Dn.get(e.format)))}function Nn(e){return Dn.get(e)}function Tn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=le&&typeof r!=le)throw new w(Fn);Dn.set(e,{CompressionStream:n,DecompressionStream:r})}const kn="Invalid uncompressed size",Bn="Invalid compressed data",On=Tt,Un="deflate-raw",Vn="deflate64-raw",Mn="gzip",Ln=[31,139,8];class Wn extends S{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:u,deflate64:l,format:f,compressionMethod:w,inputSize:d}=e,p=this;let h,y,g,E=super.readable;const x=f&&Nn(f),A=c&&o&&!l&&!x&&(!i||a)&&Boolean(s&&r);if(i&&!a||!c||A||(h=new St,E=Kn(E,h)),o)if(x)E=jn(E,Qn(x.CompressionStream,f,{level:u,chunkSize:t,compressionMethod:w,uncompressedSize:d}));else if(A)g=new Pn,E=jn(E,new r(Mn)),E=Kn(E,g);else try{E=Xn(E,s,{level:u,chunkSize:t},r,n)}catch(e){let t;try{t=new r(Mn)}catch{throw e}E=jn(E,t),E=Kn(E,new Pn)}i&&(a?E=Kn(E,new wn(e)):(y=new nn(e),E=Kn(E,y))),Yn(p,E,()=>{i&&!a||!c||(p.crc32=A?g.crc32:new m(h.value.buffer).getUint32(0))})}}class Pn extends S{constructor(){let e,t=10,n=new d(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=ft(n,e));const i=o-8,a=s.min(i,n.length);r.enqueue(ft(n.subarray(0,a),e.subarray(0,i-a))),n=ft(n.subarray(a),e.subarray(i-a))},flush(){const t=dt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Zn extends S{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:u,deflate64:l,format:f,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let E,x,A=super.readable;if(i&&(o?A=Kn(A,new fn(e)):(x=new tn(e),A=Kn(A,x))),c){const e=f&&Nn(f);if(e)A=jn(A,Qn(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{A=Xn(A,u,{chunkSize:t,deflate64:l},r,n)}catch(e){if(l||y===ae)throw e;let t;try{t=new r(Mn)}catch{throw e}A=function(e,t,n){const r=new zt;let o,i,s,a=0,c=!1;const u=new g((e,t)=>{i=e,s=t});u.catch(()=>{}),n||i();const l=new S({start(e){const t=new d(10);t.set(Ln),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await u}finally{h()}const t=new d(8),o=dt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){s(e)}}),f=new S({transform(e,t){r.append(e),a+=e.length,a>=n?i():c&&p(),t.enqueue(e)},cancel(e){s(e)}});return e=Kn(e,l),Kn(e=jn(e,t),f);function p(){h(),o=T(()=>s(new w(kn)),5e3)}function h(){k(o)}}(A,t,y)}A=function(e){const t=e.getReader();return new F({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(Bn);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(A)}s&&(E=new St,A=Kn(A,E)),Yn(this,A,()=>{if(s){const e=new m(E.value.buffer);if(a!=e.getUint32(0,!1))throw new w(On)}})}}const qn=new c;function Gn(e,t){if(!e)return!1;let n=qn.get(e);n||(n=new c,qn.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 Hn(e){return Gn(e,Un)}function Yn(e,t,r){t=Kn(t,new S({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Qn(e,t,n){if(!e)throw new w("Compression method not supported");return new e(t,n)}function Xn(e,t,n,r,o){const i=t&&r?r:o||r,s=n.deflate64?Vn:Un;let a;try{a=new i(s,n)}catch(e){if(!t||!o||i==o)throw e;a=new o(s,n)}return jn(e,a)}function Kn(e,t){return xn(e).pipeThrough(t)}function jn(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 Jn="data",_n="deflate",$n="inflate";class er extends S{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(_n)?i=Wn:o.startsWith($n)&&(i=Zn),r.outputSize=0;let s=0;const a=new i(e,t),c=super.readable,u=new S({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:s})}}),l=new S({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ae&&r.outputSize>e.outputSize))throw new w(kn)},flush(){const{crc32:e}=a;n.assign(r,{crc32:e,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(a).pipeThrough(l)})}}class tr extends S{constructor(e){const t=[];let n=0;function r(){const r=new d(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 d(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,n))}})}}const nr="Worker startup timeout";let rr,or,ir;function sr(e){e.createWorker?or=!0:rr=!1}class ar{constructor(e,{readable:t,writable:r},{options:o,config:i,ce:s,useWebWorkers:a,transferStreams:c,workerURI:u,createWorker:l},f){const{signal:w}=s;return or&&(l=ae),n.assign(e,{ue:!0,le:(e.le||0)+1,readable:t.pipeThrough(new tr(Xe(i))).pipeThrough(new cr(s),{signal:w}),writable:r,options:n.assign({},o),workerURI:u,createWorker:l,transferStreams:c,terminate:()=>new g(t=>{const{fe:n,ue:r}=e;n?(r?e.we=t:(n.terminate(),t()),e.de=null):t()}),pe(){if(e.ue){const{we:t}=e;t&&(e.we=null,e.he=!0,e.fe.terminate(),t()),e.ue=!1,f(e)}}}),rr===ae&&(rr=typeof I!=ue),(a&&ir&&(rr&&u||l)?ir:lr)(e,i)}}class cr extends S{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await ur(e,n)},async transform(e,r){o+=e.length,t&&await ur(t,o,n),r.enqueue(e)},async flush(){r&&await ur(r,o)}})}}async function ur(e,...t){try{await e(...t)}catch{}}function lr(e,t){return{run:()=>fr(e,t)}}async function fr({options:e,readable:t,writable:n,pe:r},o){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(_n),n=t?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=t?o.CompressionStream:o.DecompressionStream;if(e.useCompressionStream){if(n&&n.me&&!Hn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.me||(e.useCompressionStream=!0)}}i=new er(e,o),await t.pipeThrough(i).pipeThrough(new tr(Xe(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 wr={type:"module"},dr="error";let pr,hr,mr,yr=!0;try{yr=typeof B==le&&B(new DOMException("","AbortError")).code!==ae}catch{}var gr;function Er(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function xr(e){const{fe:t}=e;if(t)try{t.terminate()}catch{}e.de=null}function Ar(e,t,r,o,i=!0){const{createWorker:s}=r;let a,c,u;if(s)a=s();else if(hr===ae||pr!==e){const n=typeof e==le;c=n?e(i):e;const s=c.startsWith("data:"),l=c.startsWith("blob:");if(s||l){o===ae&&(o=!1),o&&(u=wr);try{a=new I(c,u)}catch(i){if(l)try{f.revokeObjectURL(c)}catch{}if(n&&l)return Ar(e,t,r,o,!1);if(o)throw i;return Ar(e,t,r,!0,!1)}}else{o===ae&&(o=!0),o&&(u=wr);try{c=new f(c,t)}catch{}try{a=new I(c,u)}catch(n){if(o)return Ar(e,t,r,!1,i);throw n}}pr=e,hr=c,mr=u}else a=new I(hr,mr);return a.addEventListener("message",e=>{r.ye=!0,br(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:s,error:a}=e,{reader:c,writer:u,ge:l,Ee:f,pe:p,le:h}=t,m=()=>t.le!=h;try{if(a){const{message:e,stack:t,code:r,name:o,outputSize:i,cause:s,codecImportFailed:c}=a,u=new w(e);n.assign(u,{stack:t,code:r,name:o,outputSize:i}),s&&(u.cause=n.assign(new w(s.message),{name:s.name})),c&&(u.codecImportFailed=!0),y(u)}else{if("pull"==r){const{value:e,done:n}=await c.read();m()||Sr({type:Jn,value:e,done:n,messageId:i},t)}r==Jn&&(await u.ready,await u.write(new d(o)),m()||Sr({type:"ack",messageId:i},t)),"close"==r&&y(null,s)}}catch(a){m()||(xr(t),y(a))}function y(e,t){m()||(e?f(e):l(t),u&&u.releaseLock(),e&&e.codecImportFailed||p())}}(e,r)}),a.addEventListener(dr,e=>zr(e,r)),a.addEventListener("messageerror",e=>zr(e,r)),a}function br(e){const{xe:t}=e;t&&(k(t),e.xe=null)}function zr(e,t){e.preventDefault&&e.preventDefault(),br(t);const{ye:r,Ee:o,writer:i,pe:s}=t;xr(t),r||(t.fe=null);let a=e.error||new w(e.message||dr);r||(a=n.assign(new w(a.message||dr),{Ae:!0}),t.be=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function Sr(e,{fe:t,writer:n,transferStreams:r,ye:o}){try{const{value:n,readable:i,writable:s}=e,a=[];if(n&&(e.value=wt(n),a.push(e.value.buffer)),r&&yr&&o?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{yr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}gr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.de){let c;typeof a==le&&(a=a());try{c=Ar(e.workerURI,r,e)}catch{return sr(e),lr(e,t)}n.assign(e,{fe:c,ye:!1,he:!1,be:null,de:{run:async()=>{try{return await async function(e,t){if(!e.fe){const{be:t}=e;e.be=null;const n=t||new w(nr);throw n.Ae=!0,n}let r,i;const s=new g((e,t)=>{r=e,i=t});n.assign(e,{reader:null,writer:null,ge:r,Ee:i,result:s});const{readable:a,options:c}=e,{writable:u,closed:l,ze:f}=function(e){const t=new AbortController,{writable:n,readable:r}=new S,o=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return o.catch(()=>{}),{writable:n,closed:o,ze:()=>t.abort()}}(e.writable);let d;try{d=Sr({type:"start",options:c,config:t,readable:a,writable:u},e)}catch(t){f();try{await l}catch{}throw e.pe(),t}d||n.assign(e,{reader:a.getReader(),writer:u.getWriter()});const{workerStartupTimeout:p}=t;!e.ye&&o.isFinite(p)&&p>=0&&(e.xe=T(()=>function(e){if(e.xe=null,e.ye)return;const{Ee:t,writer:n}=e;if(xr(e),e.fe=null,t){const e=new w(nr);e.Ae=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await s;return await h(),await l,e}catch(e){await h(),f();try{await l}catch{}throw e}async function h(){if(!d&&!u.locked)try{await u.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.Ae)return sr(e),Er(e),fr(e,t);if(n&&n.codecImportFailed){if(e.reader)return Er(e),fr(e,t);e.pe()}throw n}}}})}return e.de},ir=gr;let Fr=[];const Rr=[];let Cr,Dr,vr=0;async function Ir(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:u,computeCrc32:l,encrypted:w,format:d,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;d&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!Dn.has(e)&&t&&Tn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(d,n.codecURI)),t.transferStreams=!d&&(i||i===ae&&r.transferStreams);const E=!(c||u||l||w),x=d===ae||Boolean(n.codecURI);return t.useWebWorkers=!E&&x&&(s||s===ae&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:ae,t.createWorker=t.useWebWorkers&&m?m:ae,n.useCompressionStream=a||a===ae&&r.useCompressionStream,(await async function(){const n=Fr.find(e=>!e.ue);if(n)return Or(n),new ar(n,e,t,A);if(Fr.length<y){const n={Se:vr};return vr++,Fr.push(n),new ar(n,e,t,A)}return new g(n=>{Rr.push({resolve:n,stream:e,Fe:t}),Dr=r.workerStarvationTimeout,Nr()})}()).run();function A(e){if(Tr(),Rr.length){const[{resolve:t,stream:n,Fe:r}]=Rr.splice(0,1);t(new ar(e,n,r,A)),Nr()}else e.fe?(Or(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.he?e.he=!1:e.Re=T(async()=>{Fr=Fr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):Fr=Fr.filter(t=>t!=e)}}function Nr(){!Cr&&Rr.length&&o.isFinite(Dr)&&Dr>=0&&(Cr=T(kr,Dr))}function Tr(){Cr&&(k(Cr),Cr=null)}function kr(){if(Cr=null,Rr.length){const[{resolve:e,stream:t,Fe:r}]=Rr.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:ae,createWorker:ae});e(new ar({},t,o,Br)),Nr()}}function Br(){Tr(),Nr()}function Or(e){const{Re:t}=e;t&&(k(t),e.Re=null)}const Ur="\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(""),Vr=256==Ur.length;function Mr(e,t){return Lr(e,t,!0)}function Lr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){if(Vr){let t="";for(let n=0;n<e.length;n++)t+=Ur[e[n]];return t}return(new x).decode(e)}(e):new x(t,{ignoreBOM:n}).decode(e)}const Wr="HTTP error ",Pr="HTTP Range not supported",Zr="HTTP resource changed",qr="Writer iterator completed too soon",Gr="Writer not initialized",Hr="Content-Range",Yr="Range",Qr="GET",Xr="bytes",Kr=16777216,jr="writable",Jr=N();class _r{constructor(){this.size=0}init(){this.initialized=!0}}class $r extends _r{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Xe(Qe())}={}){const r=this;let o=0;return n=Ke(n),new F({async pull(i){const a=t===ae?n:s.min(n,t-o),c=await No(r,e+o,a);c.length&&i.enqueue(c),o+n>=t||!c.length&&a?i.close():o+=n}})}}class eo extends _r{constructor(){super();const e=this,t=new R({write(t){if(!e.initialized)throw new w(Gr);return e.writeUint8Array(wt(t))}});n.defineProperty(e,jr,{get:()=>t})}writeUint8Array(){}}let to,no;class ro extends $r{constructor(e){super(),n.assign(this,{Ce:e,size:e.size}),no||(no=(async()=>{try{const e=new y([new d(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();to=1==t}catch{to=!1}})())}createReadable(e){const{Ce:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};return!r&&o>=n?xn(t.stream()):to?xn(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.Ce:n.Ce.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new d(i)}}class oo extends _r{constructor(e){super();const t=this,r=new S;n.defineProperty(t,jr,{get:()=>r.writable}),t.contentType=e,t.De=An(r.readable,e),t.De.catch(()=>{})}getData(){return this.De}}class io extends $r{constructor(e,t){super(),ao(this,e,t)}async init(){await co(this,Ao,yo),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 F({start:()=>u(),async pull(e){r||await u();const{value:t,done:n}=await r.read();if(n)throw new w(Pr);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 u(){const t=s.min(e.maximumRangeSize,c),n=await Ao(Qr,e,ho(e,i,t));if(206!=n.status)throw new w(Pr);const u=n.headers.get(Hr);if(u){const e=o(u.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=i)throw new w(Pr)}po(e,n),wo(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 uo(this,e,t,Ao,yo)}}class so extends $r{constructor(e,t){super(),ao(this,e,t)}async init(){await co(this,bo,go),super.init()}readUint8Array(e,t){return uo(this,e,t,bo,go)}}function ao(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:u=Kr,fetch:l}=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:u,fetch:l})}async function co(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==ue||o)){const r=await t(Qr,e,ho(e,a?-22:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==Xr))throw new w(Pr);{if(a){const t=new d(await r.arrayBuffer());206==r.status&&t.length==X&&(e.ve=t)}wo(e,r);const o=lo(r);o===ae?await xo(e,t,n):e.size=o}}else await xo(e,t,n)}async function uo(e,t,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,ve:c,size:u,options:l}=e;if(s||a){if(c&&t==u-X&&n==X)return c;if(t>=u||0===n)return we;{t+n>u&&(n=u-t);const i=await r(Qr,e,ho(e,t,n));if(206!=i.status)throw new w(Pr);const s=i.headers.get(Hr);if(s){const e=o(s.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=t)throw new w(Pr)}po(e,i),wo(e,i);const a=new d(await i.arrayBuffer());if(a.length!=n)throw new w(Pr);return a}}{const{data:r}=e;return r||await i(e,l),e.data.subarray(t,t+n)}}function lo(e){const t=e.headers.get(Hr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function fo({headers:e}){return{Ie:e.get("Etag")||ae,lastModified:e.get("Last-Modified")||ae}}function wo(e,t){const{checkResourceChanges:n,Ne:r}=e;n&&!r&&206==t.status&&(e.Ne=fo(t))}function po(e,t){const{checkResourceChanges:r,Ne:o,size:i}=e;if(r){const e=lo(t);if(e!==ae&&i!==ae&&e!=i)throw new w(Zr);if(o){const e=fo(t);if(n.entries(o).some(([t,n])=>n!==ae&&e[t]!==ae&&n!=e[t]))throw new w(Zr)}}}function ho(e,t=0,r=1){return n.assign({},mo(e),{[Yr]:Xr+"="+(t<0?t:t+"-"+(t+r-1))})}function mo({options:e}){const{headers:t}=e;if(t)return N.iterator in t?n.fromEntries(t):t}async function yo(e){await Eo(e,Ao)}async function go(e){await Eo(e,bo)}async function Eo(e,t){const n=await t(Qr,e,mo(e));e.data=new d(await n.arrayBuffer()),e.size=e.data.length}async function xo(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,mo(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 w(Pr):new w(Wr+(s.statusText||s.status))}function bo(e,{url:t},r){return new g((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 w(Pr):new w(Wr+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>i(e.detail?e.detail.error:new w("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 zo extends $r{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new so(e,t):new io(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 So extends $r{constructor(e){super(),this.Te=e}async init(){const e=this;e.ke=0;const t=e.Te=await g.all(e.Te.map(Io));e.Be=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Oe(e){const{Be: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 No(c,a,t);else{const i=r-a;o=ft(await No(c,a,i),await n.readUint8Array(e+i,t-i))}}else o=we;return n.ke=s.max(i,n.ke),o}}class Fo extends _r{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 R({async write(t){if(t===Jr)return void(s&&await u());const{availableSize:n}=r;if(s)t.length>=n?(await c(t.subarray(0,n)),await u(),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 w(qr);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await vo(o),i=n.writable,s=i.getWriter(),await this.write(t)}},async close(){s&&(await s.ready,await l())},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 u(){await l(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}n.defineProperty(r,jr,{get:()=>a})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Jr)}finally{e.releaseLock()}}}class Ro{constructor(e){return t.isArray(e)&&(e=new So(e)),(e instanceof F||typeof e.getReader==le)&&(e={readable:xn(e)}),e}}class Co{constructor(e){return e.writable===ae&&typeof e.next==le&&(e=new Fo(e)),(e instanceof R||typeof e.getWriter==le)&&(e={writable:bn(e)}),e.size===ae&&(e.size=0),e}}function Do(e){return Boolean(e&&e.getData)}async function vo(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}async function Io(e){return e=new Ro(e),await vo(e),e.size!==ae&&e.readUint8Array||(e=new ro(await An(e.readable)),await vo(e)),e}function No(e,t,n){return e.readUint8Array(t,n)}function To(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?$r.prototype.createReadable.call(e,t):e.readable}const ko="filename",Bo="rawFilename",Oo="comment",Uo="rawComment",Vo="uncompressedSize",Mo="compressedSize",Lo="offset",Wo="diskNumberStart",Po="lastModDate",Zo="rawLastModDate",qo="lastAccessDate",Go="rawLastAccessDate",Ho="creationDate",Yo="rawCreationDate",Qo="internalFileAttributes",Xo="externalFileAttributes",Ko="internalFileAttribute",jo="externalFileAttribute",Jo="msdosAttributesRaw",_o="msdosAttributes",$o="msDosCompatible",ei="zip64",ti="encrypted",ni="version",ri="versionMadeBy",oi="zipCrypto",ii="directory",si="executable",ai="compressionMethod",ci="signature",ui="extraField",li="unixMode",fi="setuid",wi="setgid",di="sticky",pi=[ko,Bo,Vo,Mo,Po,Zo,Oo,Uo,qo,Go,Ho,Yo,Lo,Wo,Qo,Xo,Ko,jo,Jo,_o,$o,ei,ti,ni,ri,oi,ii,si,"symlink",ai,ci,"crc32",ui,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",li,"unixExternalUpper",fi,wi,di,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class hi{constructor(e){pi.forEach(t=>this[t]=e[t])}}const mi="File format is not recognized",yi="End of central directory not found",gi="End of Zip64 central directory locator not found",Ei="Central directory header not found",xi="Local file header not found",Ai="Zip64 extra field not found",bi="File contains encrypted entry",zi="Encryption method not supported",Si="Compression method not supported",Fi="Split zip file",Ri="Overlapping entry found",Ci="Entry data out of bounds",Di="Ambiguous archive",vi="Encrypted central directory is not supported",Ii="Unsafe filename",Ni="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ti="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",ki="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Bi="64-bit value exceeds Number.MAX_SAFE_INTEGER",Oi="unsorted central directory",Ui="unknown version needed to extract",Vi="compressed patched data",Mi="malformed extra field",Li="unknown zip64 extensible data",Wi="wrapped entries count",Pi="appended data",Zi="prepended data",qi="prepended central directory",Gi="trailing central directory data",Hi="duplicate filename",Yi="mismatched zip64 end of central directory record",Qi="mismatched local file header (general purpose bit flag)",Xi="mismatched local file header (compression method)",Ki="mismatched local file header (crc32 or sizes)",ji=/^[a-zA-Z]:/,Ji="utf-8",_i="cp437",$i=[[Vo,U],[Mo,U],[Lo,U],[Wo,V]],es={[V]:{Ue:Vs,bytes:4},[U]:{Ue:Ms,bytes:8}},ts=i(o.MAX_SAFE_INTEGER);class ns{constructor(e,t={}){n.assign(this,{reader:new Ro(e),options:t,Ve:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await vo(r),r.size!==ae&&r.readUint8Array||(r=new ro(await An(r.readable)),await vo(r)),r.size<X)throw new w(mi);const o=t.warnings=[],i=Es(e,t.options),a=i==Ce,c=i!=ve,l=bs(Ns(t,e,Se),i),f=function(e,t){if(e===ae)return t;if(!gs(e))throw new w(Ti);return e}(Ns(t,e,"filenameValidation"),i),d=Ns(t,e,"normalizeFilename"),{Me:p,Le:h}=await zs(r,c,l);if(!p)throw await async function(e){return await ys(e)==W}(r)?new w(Fi):new w(yi);c&&h>1&&Is("multiple end of central directory records");const m=dt(p);let y=Vs(m,12),g=Vs(m,16);const E=p.offset,x=Us(m,20),A=E+X+x,b=r.size-A;b>l&&Is(Pi),b>0&&vs(o,Pi);let z=Us(m,4);const F=r.ke||0;let R,C,D,v,I,N=Us(m,6),T=Us(m,10),k=0,B=j;const O=g==U||y==U||T==V||N==V;if(g!=U&&N!=V&&(g+=ms(r,N)),O){const e=p.offset>=K?await No(r,p.offset-K,K):we,t=dt(e);if(e.length==K&&Vs(t,0)==Y){g=ms(r,Vs(t,4))+Ms(t,8);let e=await No(r,g,j),i=dt(e);const c=p.offset-K-j;if((e.length<j||Vs(i,0)!=H)&&g!=c&&c>=0){const t=g;g=c,g>t&&(k=g-t),e=await No(r,g,j),i=dt(e)}if(e.length<j||Vs(i,0)!=H)throw new w(gi);if(D=!0,v=Ms(i,4)>44,v){const e=s.min(Ms(i,4)-44,r.size-g-j);e>0&&(B+=e,I=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=dt(e),o=Us(r,26);n.assign(t,{compressionMethod:Us(r,0),compressedSize:Ms(r,2),uncompressedSize:Ms(r,10),encryptionAlgorithm:Us(r,18),bitLength:Us(r,20),flags:Us(r,22),hashAlgorithm:Us(r,24),hashData:e.subarray(28,28+o)})}return t}(await No(r,g+j,e)))}z==V?z=Vs(i,16):z!=Vs(i,16)&&Ds(a,o,Yi),N==V?N=Vs(i,20):N!=Vs(i,20)&&Ds(a,o,Yi),T==V?T=Ms(i,32):T!=Ms(i,32)&&Ds(a,o,Yi),y==U?y=Ms(i,40):y!=Ms(i,40)&&Ds(a,o,Yi),g=ms(r,N)+Ms(i,48)+k}}let L=y;const P=p.offset-(D?B+K:0);if(g>=r.size&&(k=r.size-g-y-X,g=r.size-y-X),F!=z)throw new w(Fi);if(g<0)throw new w(mi);let Z=0,G=await No(r,g,y),J=dt(G);if(y){if(G.length<4)throw new w(mi);const e=P-y;if(g!=e&&N==z){const t=Vs(J,Z)==q||Boolean(I&&I.compressedSize)||ss(J);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=Vs(dt(await No(r,e,4)),0)==q),n){const n=g;g=e,g>n&&(k+=g-n,R=t),G=await No(r,g,y),J=dt(G)}}}const _=P-g;if(y!=_&&_>=0&&N==z&&(y=_,G=await No(r,g,y),J=dt(G)),g<0||g>=r.size)throw new w(mi);t.directoryOffset=g,t.directoryLength=L;const oe=Ts(t,e,"decryptCentralDirectory");let ie,se;if(oe&&T&&G.length>=4&&Vs(J,0)!=q&&(v||ss(J))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(I,L,G.length);se=G.subarray(e),G=await oe(G.subarray(0,e),I),J=dt(G),L=G.length,ie=!0}I&&!ie&&(G.length<4||Vs(J,0)==q)&&vs(o,Li),C=g;const ce=Ns(t,e,"filenameEncoding"),ue=Ns(t,e,"commentEncoding"),le=new u;let fe,de=-1;const pe=!a&&!D;!T&&pe&&(T=as(J,G,Z),T&&vs(o,Wi));for(let i=0;i<T;i++){const a=new is(r,t.options);if(Z+Q>G.length||Vs(J,Z)!=q){if(0==i&&!ie&&(v||ss(J)))throw new w(vi);throw new w(Ei)}us(a,J,Z+6);const c=Boolean(a.bitFlag.languageEncodingFlag),u=Z+Q,l=u+a.filenameLength,p=l+a.extraFieldLength,h=Us(J,Z+4),m=!(h>>8),y=h>>8==3,g=G.subarray(u,l),E=Us(J,Z+32),x=p+E,A=G.subarray(p,x),b=c,z=c,F=Vs(J,Z+38),R=F&M,D={readOnly:Boolean(1&R),hidden:Boolean(2&R),system:Boolean(4&R),directory:Boolean(16&R),archive:Boolean(32&R)},I=Vs(J,Z+42),N=Ts(t,e,"decodeText")||Mr,B=b?Ji:ce||_i,O=z?Ji:ue||_i;let U=N(g,B,Fe);if(U===ae&&(U=Mr(g,B)),d){const e=d(U);e!==ae&&(U=e)}if(As(U,f)){const e=new w(Ii);throw e.filename=U,e}let L=N(A,O,Re);L===ae&&(L=Mr(A,O)),n.assign(a,{index:i,We:ie,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Pe:E,offset:I,diskNumberStart:Us(J,Z+34),internalFileAttributes:Us(J,Z+36),externalFileAttributes:F,msdosAttributesRaw:R,msdosAttributes:D,rawFilename:g,filenameUTF8:b,commentUTF8:z,rawExtraField:G.subarray(l,p),rawComment:A,filename:U,comment:L}),ls(a,a,J,Z+6)&&vs(o,Mi,U),a.offset+=k;const W=ms(r,a.diskNumberStart)+a.offset;C=s.min(W,C),W<de&&vs(o,Oi,U),de=W,(a.version&M)>63&&vs(o,Ui,U),32&~a.rawBitFlag||vs(o,Vi,U),le.has(a.filename)&&(fe=!0),le.add(a.filename);const P=a.externalFileAttributes>>16&V;a.unixMode===ae&&16877&P&&(a.unixMode=P);const H=Boolean(a.unixMode&te),Y=Boolean(a.unixMode&ne),X=Boolean(512&a.unixMode),K=40960==((a.unixMode===ae?P:a.unixMode)&$),j=!K&&(a.unixMode!==ae?!!(73&a.unixMode):y&&!!(73&P)),_=a.unixMode!==ae&&(a.unixMode&$)==ee,oe=(P&$)==ee;n.assign(a,{setuid:H,setgid:Y,sticky:X,symlink:K,unixExternalUpper:P,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:j,directory:_||oe||m&&D.directory||a.filename.endsWith(re),zipCrypto:a.encrypted&&!a.extraFieldAES});const se=new hi(a);if(se.getData=(e,n)=>a.getData(e,se,t.Ve,n),se.arrayBuffer=async e=>{const n=new S,r=An(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,se,t.Ve,e),r},Z=x,i==T-1&&pe){const e=as(J,G,Z);e&&(T+=e,vs(o,Wi))}const{onprogress:we}=e;if(we)try{await we(i+1,T,new hi(a))}catch{}yield se}let he=Z,me=cs(G.subarray(Z))||(ie?cs(se):ae);if(!me&&!ie){const e=g+Z,t=s.min(P-e,65541);t>=6&&(me=cs(await No(r,e,t)))}me&&(t.digitalSignature=me,he=Z+6+me.length),(Z!=L&&he!=L||!ie&&Z!=y&&he!=y)&&Ds(a,o,Gi),fe&&Ds(a,o,Hi);const ye=Ns(t,e,"extractPrependedData"),ge=Ns(t,e,"extractAppendedData"),Ee=(a||ye)&&T&&4==C&&await async function(e){const t=await ys(e);return t==W||808471376==t}(r)?4:0;return a&&(k||T&&C>Ee)&&Is(Zi),(k||T&&C>4)&&vs(o,Zi),R&&vs(o,qi),ye&&(t.prependedData=C>Ee?await No(r,Ee,C-Ee):we),t.comment=x?await No(r,E+X,x):we,ge&&(t.appendedData=A<r.size?await No(r,A,r.size-A):we),!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 rs{constructor(e={}){const{readable:t,writable:n}=new S,r=new ns(t,e).getEntriesGenerator();this.readable=new F({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 S;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 os(e,t={}){if(e=new Ro(e),await vo(e),e.size!==ae&&e.readUint8Array||(e=new ro(await An(e.readable)),await vo(e)),e.size<X)return!1;const n=Es(t,{}),r=n!=ve,o=bs(t[Se],n),{Me:i,Le:s}=await zs(e,r,o);if(!i||n==Ce&&s>1)return!1;const a=Us(dt(i),20),c=i.offset+X+a;return e.size-c<=o}class is{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:u,diskNumberStart:l,extraFieldAES:f,extraFieldZip64:d,compressionMethod:p,bitFlag:h,rawBitFlag:m,crc32:y,rawLastModDate:g,uncompressedSize:E,compressedSize:x}=o,{dataDescriptor:A}=h,b=t.localDirectory={},z=t.warnings=[],S=ms(a,l)+u,F=await No(a,S,oe),C=dt(F);let D=Ns(o,r,de),v=Ns(o,r,pe);const I=Ns(o,r,he);if(Oe(D,v),D=D&&D.length&&D,v=v&&v.length&&v,f&&99!=f.originalCompressionMethod)throw new w(Si);if(F.length<oe||Vs(C,0)!=L)throw new w(xi);us(b,C,4);const{extraFieldLength:N,filenameLength:T}=b,k=b.dataOffset=S+oe+T+N,B=Ns(o,r,"checkLocalDirectory"),O=Es(r,o.options),U=function(e,t){return e===ae?t!=ve:Boolean(e)}(B,O),V=function(e,t){return e===ae?t==Ce:Boolean(e)}(B,O);let W=we;if(V&&(T||N)){const e=await No(a,S+oe,T+N);W=e.subarray(0,T),b.rawExtraField=e.subarray(T)}else b.rawExtraField=N?await No(a,S+oe+T,N):we;V&&(b.rawFilename=W),ls(o,b,C,4,!0)&&vs(z,Mi),function(e,t,n,r,o){const{rawFilename:i}=e,s=!o,a=e.We&&!(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,Qi),t.compressionMethod!=e.compressionMethod&&Ds(s,o,Xi),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,Ki)}(o,b,W,V,U?ae:z);const{lastAccessDate:Z,creationDate:q,uid:G,gid:H}=b;Z&&(t.lastAccessDate=Z),q&&(t.creationDate=q),G!==ae&&t.uid===ae&&(t.uid=G),H!==ae&&t.gid===ae&&(t.gid=H);const Y=o.encrypted&&b.encrypted&&!I,Q=Y&&!f;if(I||(t.zipCrypto=Q),Y&&!(64&~b.rawBitFlag))throw new w(zi);const X=I?ae:vn(p);if(0!=p&&8!=p&&9!=p&&!X&&!I)throw new w(Si);if(Y){if(!Q&&(f.strength<1||f.strength>3))throw new w(zi);if(!D&&!v)throw new w(bi)}if(k+x>a.size)throw new w(Ci);const K=x,j=xn(a.createReadable({offset:k,size:K})),J=Be(Ns(o,r,me)),_=Ns(o,r,"checkPasswordOnly");let $=Ns(o,r,"checkOverlappingEntry");const ee=Ns(o,r,"checkOverlappingEntryOnly");ee&&($=!0);const{onstart:te,onprogress:ne,onend:re}=r,ie=0!=p&&!I,se=I?x:E,ce=9==p;let ue=Ns(o,r,ge);ce&&(ue=!1);const le=Ns(o,r,"checkCrc32"),fe=(le===ae?Ns(o,r,"checkSignature"):le)&&!I&&(!Y||Q||f&&1==f.vendorVersion),Ae={options:{codecType:$n,password:D,rawPassword:v,zipCrypto:Q,encryptionStrength:f&&f.strength,checkCrc32:fe,checkAuthenticationCode:Ns(o,r,"checkAuthenticationCode"),passwordVerification:Q&&(A?g>>>8&M:y>>>24&M),outputSize:se,crc32:y,compressed:ie,encrypted:Y,useWebWorkers:Ns(o,r,ye),useCompressionStream:ue,transferStreams:Ns(o,r,Ee),deflate64:ce,format:X?X.format:ae,codecURI:X?X.codecURI:ae,compressionMethod:p,rawBitFlag:m,checkPasswordOnly:_},config:i,ce:{signal:J,size:K,onstart:te,onprogress:ne,onend:re}};let be,ze;$&&await async function({reader:e,Ze:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:u,Ve:l}){let f=0;if(c&&(f=u?20:12),f){const n=await No(e,a+i,f+4),r=dt(n);let c=n.length==f+4&&Vs(r,0)==P;if(c){const e=hs(r,4,u);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==s?f+=4:c=!1}if(n.length>=f){const e=hs(r,c?4:0,u);e.signature=c,t.localDirectory.dataDescriptor=e}}const d={start:r,end:a+i+f,Ze:t};for(const[e,t]of l)if(e!=n&&d.start<t.end&&t.start<d.end){const e=new w(Ri);throw e.overlappingEntry=t.Ze,e}l.set(n,d)}({reader:a,Ze:t,index:c,offset:S,crc32:y,compressedSize:x,uncompressedSize:E,dataOffset:k,dataDescriptor:A||b.bitFlag.dataDescriptor,extraFieldZip64:d||b.extraFieldZip64,Ve:n});try{if(!ee){_&&(e=new R),e=new Co(e),await vo(e,function(e,t,n){return s.min(e,n?1032*t:t)}(se,x,ie)),({writable:be}=e);const{outputSize:t}=await Ir({readable:j,writable:be},Ae);if(e.size+=t,t!=se)throw new w(kn)}}catch(t){if(t.outputSize!==ae&&(e.size+=t.outputSize),!_||t.message!=Bt)throw ze=t,t}finally{if((Do(e)||!Ns(o,r,xe))&&be&&!be.locked){const e=be.getWriter();if(ze)try{await e.abort(ze)}catch{}else await e.close()}}return _||ee?ae:e.getData?e.getData():be}}function ss(e){const t=s.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==Vs(e,n))return!0;return!1}function as(e,t,n){let r=0;for(;n+Q<=t.length&&Vs(e,n)==q;)n+=Q+Us(e,n+28)+Us(e,n+30)+Us(e,n+32),r++;return r%65536?0:r}function cs(e){if(e.length>=6){const t=dt(e);if(Vs(t,0)==Z){const n=Us(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function us(e,t,r){const o=e.rawBitFlag=Us(t,r+2),i=!(1&~o),s=Vs(t,r+6);n.assign(e,{encrypted:i,version:Us(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&_)==_},rawLastModDate:s,lastModDate:ks(s),filenameLength:Us(t,r+22),extraFieldLength:Us(t,r+24)})}function ls(e,t,r,o,i){const{rawExtraField:s}=t,u=t.extraField=new c,l=dt(s);let f=0,d=!1;try{for(;f<s.length;){const e=Us(l,f),t=Us(l,f+2);u.set(e,{type:e,data:s.slice(f+4,f+4+t)}),f+=4+t}}catch{d=!0}f>s.length&&(d=!0);const p=Us(r,o+4);n.assign(t,{signature:Vs(r,o+10),crc32:Vs(r,o+10),compressedSize:Vs(r,o+14),uncompressedSize:Vs(r,o+18)});const h=u.get(1);h&&(function(e,t){t.zip64=!0;const n=dt(e.data),r=$i.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+es[t].bytes,0);if(e.data.length<o)throw new w(Ai);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=es[a];t[s]=e[s]=c.Ue(n,i),i+=c.bytes}}(h,t),t.extraFieldZip64=h);const m=u.get(28789);m&&(fs(m,ko,Bo,t,e),t.extraFieldUnicodePath=m);const y=u.get(25461);y&&(fs(y,Oo,Uo,t,e),t.extraFieldUnicodeComment=y);const g=u.get(39169);g&&g.data.length>=7?(function(e,t,r){const o=dt(e.data),i=Os(o,4);n.assign(e,{vendorVersion:Os(o,0),vendorId:Os(o,2),strength:i,originalCompressionMethod:r,compressionMethod:Us(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ae)}(g,t,p),t.extraFieldAES=g):t.compressionMethod=p;const E=u.get(13);E&&(ws(E,t),t.extraFieldPkwareUnix=E);const x=u.get(22613);x&&(ws(x,t),t.extraFieldUnixType1=x);const A=u.get(10);A&&(function(e,t){const r=dt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=Us(r,i),n=Us(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=dt(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:Bs(i),lastAccessDate:Bs(s),creationDate:Bs(a)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:s,rawCreationDate:a})}}(A,t),t.extraFieldNTFS=A);const b=u.get(30805);let z;if(b&&(z=ds(b,t,!1),t.extraFieldUnix=b),!z){const e=u.get(30837);e&&(ds(e,t,!0),t.extraFieldInfoZip=e)}const S=u.get(J);S&&(function(e,t,n){if(!e.data.length)return;const r=dt(e.data),o=Os(r,0),i=[],s=[];n?(1&~o||(i.push(Po),s.push(Zo)),2&~o||(i.push(qo),s.push(Go)),4&~o||(i.push(Ho),s.push(Yo))):e.data.length>=5&&(i.push(Po),s.push(Zo));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=Vs(r,c);t[n]=e[n]=new a(1e3*(0|i));const u=s[o];e[u]=i}c+=4})}(S,t,i),t.extraFieldExtendedTimestamp=S);const F=u.get(6534);return F&&(t.extraFieldUSDZ=F),d}function fs(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const s=dt(e.data),a=new zt;a.append(i[r]);const c=dt(new d(4));c.setUint32(0,a.get(),!0);const u=Vs(s,1),l=Os(s,0);n.assign(e,{version:l,[t]:Mr(e.data.subarray(5)),valid:1==l&&!i.bitFlag.languageEncodingFlag&&u==Vs(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function ws(e,t){if(e.data.length<8)return;const r=dt(e.data),o={lastAccessDate:new a(1e3*(0|Vs(r,0))),lastModDate:new a(1e3*(0|Vs(r,4)))};e.data.length>=12&&(o.uid=Us(r,8),o.gid=Us(r,10)),n.assign(e,o),n.assign(t,o)}function ds(e,t,r){try{const o=dt(e.data);let i,s;if(r){let t=0;const r=Os(o,t++),a=Os(o,t++);i=ps(e.data.subarray(t,t+a)),t+=a;const c=Os(o,t++);s=ps(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:s})}else e.data.length>=4&&(i=Us(o,0),s=Us(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 ps(e){const t=new d(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function hs(e,t,n){const r=Vs(e,t);let o,i;return n?(o=Ms(e,t+4),i=Ms(e,t+12)):(o=Vs(e,t+4),i=Vs(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function ms(e,t){return e.Oe?e.Oe(t):0}async function ys(e){return Vs(dt(await No(e,0,4)))}function gs(e){return e===Ce||e===De||e===ve}function Es(e,t){return xs(e,xs(t,De))}function xs(e,t){const n=e.strictness;if(n!==ae){if(!gs(n))throw new w(Ni);return n}const r=e.checkAmbiguity;return r===ae?t:r?Ce:t==ve?ve:De}function As(e,t){if(t==ve)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||ji.test(e))||t==Ce&&(n.includes(".")||n.includes(""))}function bs(e,t){if(e!==ae){const t=Me(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new w(ki);return t}return t==Ce?0:t==ve?1/0:V}async function zs(e,t,n){const{size:r}=e,o=s.min(r,65557),i={count:64};let a,c,u=0;for await(const[n,s,l,f,w]of Ss(e,o)){const o=Us(n,f+20);if(w+X+o==r){const o=await Rs(e,n,s,f,w,r,i);if(2==o){if(a||(a=Fs(l,f,w)),u++,!t||u>1)break}else 1!=o||c||(c=Fs(l,f,w))}}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,u,l]of Ss(e,o)){const o=Fs(c,u,l);i||(i=o);const f=await Rs(e,t,s,u,l,r,n);if(2==f)return o;1!=f||a||(a=o)}return a||i}(e,n,i)),{Me:a,Le:u}}async function*Ss(e,t){const n=e.size-t,r=await No(e,n,t),o=dt(r);for(let e=r.length-X;e>=0;e--)Vs(o,e)==G&&(yield[o,n,r,e,n+e])}function Fs(e,t,n){return{offset:n,buffer:e.slice(t,t+X).buffer}}async function Rs(e,t,n,r,o,i,s){const a=Us(t,r+10),c=Vs(t,r+12),u=Vs(t,r+16);if(a==V||c==U||u==U)return await Cs(e,t,n,o-K,i,s)==Y?2:0;if(!a&&!c)return 1;const l=Us(t,r+6);for(const r of[o-c,ms(e,l)+u])if(await Cs(e,t,n,r,i,s)==q)return 2;return 0}async function Cs(e,t,n,r,o,i){return r<0||r+4>o?ae:r>=n?Vs(t,r-n):i.count>0?(i.count--,Vs(dt(await No(e,r,4)),0)):ae}function Ds(e,t,n){e?Is(n):vs(t,n)}function vs(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==ae&&(r.filename=n),e.push(r)}}function Is(e){const t=new w(Di);throw t.reason=e,t}function Ns(e,t,n){return t[n]===ae?e.options[n]:t[n]}function Ts(e,t,n){return ke(Ns(e,t,n))}function ks(e){const t=(4294901760&e)>>16,n=e&V,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 Bs(e){return new a(o(e/i(1e4)-i(116444736e5)))}function Os(e,t){return e.getUint8(t)}function Us(e,t){return e.getUint16(t,!0)}function Vs(e,t){return e.getUint32(t,!0)}function Ms(e,t){const n=e.getBigUint64(t,!0);if(n>ts)throw new w(Bi);return o(n)}var Ls=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Di,ERR_BAD_FORMAT:mi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Ei,ERR_ENCRYPTED:bi,ERR_ENCRYPTED_CENTRAL_DIRECTORY:vi,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Ci,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:gi,ERR_EOCDR_NOT_FOUND:yi,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Ai,ERR_INVALID_AUTHENTICATION_CODE:kt,ERR_INVALID_COMPRESSED_DATA:Bn,ERR_INVALID_CRC32:On,ERR_INVALID_FILENAME_VALIDATION:Ti,ERR_INVALID_MAX_APPENDED_DATA_SIZE:ki,ERR_INVALID_PASSWORD:Nt,ERR_INVALID_SIGNATURE:Tt,ERR_INVALID_STRICTNESS:Ni,ERR_INVALID_UNCOMPRESSED_SIZE:kn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:xi,ERR_OVERLAPPING_ENTRY:Ri,ERR_SPLIT_ZIP_FILE:Fi,ERR_UNSAFE_FILENAME:Ii,ERR_UNSUPPORTED_COMPRESSION:Si,ERR_UNSUPPORTED_ENCRYPTION:zi,ERR_UNSUPPORTED_UINT64:Bi,ERR_WORKER_STARTUP_TIMEOUT:nr,WARNING_APPENDED_DATA:Pi,WARNING_COMPRESSED_PATCHED_DATA:Vi,WARNING_DUPLICATE_FILENAME:Hi,WARNING_MALFORMED_EXTRA_FIELD:Mi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Qi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Xi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Ki,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Yi,WARNING_PREPENDED_CENTRAL_DIRECTORY:qi,WARNING_PREPENDED_DATA:Zi,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Gi,WARNING_UNKNOWN_VERSION:Ui,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Li,WARNING_UNSORTED_CENTRAL_DIRECTORY:Oi,WARNING_WRAPPED_ENTRIES_COUNT:Wi,ZipReader:ns,ZipReaderStream:rs,isZipFile:os});const Ws="File already exists",Ps="Zip file comment exceeds 64KB",Zs="Invalid zip file comment (must be a Uint8Array)",qs="File entry comment exceeds 64KB",Gs="Invalid file entry comment (must be a string)",Hs="Invalid date (must be a valid Date instance)",Ys="File entry name exceeds 64KB",Qs="Version exceeds 65535",Xs="The strength must equal 1, 2, or 3",Ks="Encryption is not supported in USDZ files",js="Encryption is not supported when the 'passThrough' option is set",Js="Invalid extra field (must be a Map)",_s="Invalid extra field type (must be integer 0..65535)",$s="Invalid extra field data (must be a Uint8Array)",ea="Extra field data exceeds 64KB",ta=-2147483648,na=2147483647,ra=i(0),oa=i("0x7fffffffffffffff"),ia="Zip64 is not supported (set the 'zip64' option to 'true')",sa="Undefined uncompressed size",aa="Undefined compression method",ca="Undefined reader",ua="Zip file not empty",la="Invalid uid (must be integer 0..2^32-1)",fa="Invalid gid (must be integer 0..2^32-1)",wa="Invalid UNIX mode (must be integer 0..65535)",da="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",pa="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ha="Invalid msdosAttributesRaw (must be integer 0..255)",ma="Invalid msdosAttributes (must be an object with boolean flags)",ya="Invalid level (must be integer 0..9)",ga="Signature data exceeds 64KB",Ea=new d([7,0,2,0,65,69,3,0,0]),xa="infozip",Aa="unix";let ba=0;const za=[];class Sa{constructor(e,t={}){e=new Co(e);const{availableSize:r=ce,maxSize:o=ce}=e,i=r>0&&r!==ce&&o>0&&o!==ce;n.assign(this,{writer:e,qe:i,options:t,Ge:new c,He:new u,offset:t[be]===ae?e.size||e.writable.size||0:t[be],Ye:t[be]===ae?0:t[be]-(e.size||e.writable.size||0),Qe:new u,Xe:[],Ke:0,je:ae})}prependZip(e){return Ra(this,async function(e,t){if(e.He.size)throw new w(ua);await e.Je(t)}(this,e))}appendZip(e){return Ra(this,this.Je(e))}async Je(e){const r=this,{Qe:o,He:i,Ge:s}=r;for(;o.size;)await g.allSettled(t.from(o));let a;const u=new g(e=>a=e);o.add(u);const l=[];let f;try{e=new Ro(e),await vo(e),e.size!==ae&&e.readUint8Array||(e=new ro(await An(e.readable)),await vo(e));const{ZipReader:o}=await g.resolve().then(function(){return Ls}),a=new o(e),u=await a.getEntries();await a.close(),await vo(r.writer);const{directoryOffset:d}=a;u.forEach(({filename:e})=>{if(i.has(e))throw new w(Ws);i.add(e),l.push(e)}),r._e=!0;const{$e:p}=r;r.$e=new g(e=>f=()=>{r._e=!1,e()}),await p,r.qe&&(delete r.qe,await async function(e){return dt(await No(e,0,4)).getUint32(0,!0)==W}(e)||(await qa(r.writer,Pa()),r.offset+=4));const h=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)=>Wa(n,e)-Wa(n,t));let c=0;for(const t of a){const r=Wa(n,t);await Ma(e,n,c,r-c),Oa(i,await La(n,r))&&await i.closeDisk(),s.set(t,{offset:Ua(e,i),diskNumberStart:ka(i)}),c=r}await Ma(e,n,c,o-c)}else{const t=e.offset;await Ma(e,n,0,o),r.forEach(e=>s.set(e,{offset:t+Wa(n,e),diskNumberStart:0}))}return s}(r,e,u,d);u.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:u,extraFieldZip64:l}=e;let{compressionMethod:f,rawExtraField:w}=e;const{level:d,languageEncodingFlag:p,dataDescriptor:m}=i;w=Va(w||we),e.extraFieldAES&&(f=99);const y=cc(w),g=Boolean(l)&&l.uncompressedSize!==ae,E=Boolean(l)&&l.compressedSize!==ae,x=-7&lc(d,p,m,a,f)|d<<1,{et:A,nt:b}=uc({version:t,bitFlag:x,compressionMethod:f,uncompressedSize:c,compressedSize:u,rawLastModDate:r,rawFilename:o,ot:E,it:g,extraFieldLength:y}),{crc32:z}=e;z!==ae&&ic(b,10,z);const{offset:S,diskNumberStart:F}=h.get(e);n.assign(e,{it:g,ot:E,offset:S,diskNumberStart:F,st:!1,ct:we,ut:we,lt:we,ft:we,wt:we,rawExtraField:w,ht:we,extendedTimestamp:!1,et:A,nt:b}),s.set(e.filename,e)})}catch(e){throw l.forEach(e=>i.delete(e)),e}finally{a(),o.delete(u),f&&f()}}add(e="",r,c={}){const u=this,{Qe:l}=u,f=async function(e,r,c,u){if(Ka(e,u=n.assign({},u),ii)&&!r.endsWith(re)&&(r+=re),e.He.has(r))throw new w(Ws);e.He.add(r),ba<Qe().maxWorkers?ba++:await new g(e=>za.push(e));try{return await async function(e,r,c,u){const l=function(e,n,r){let o=Ka(e,r,$o),i=Ka(e,r,ri,o?20:768);const s=Ka(e,r,si),a=ec(e,r,"uid"),c=ec(e,r,"gid");let u=ec(e,r,li),l=Ka(e,r,"unixExtraFieldType"),f=Ka(e,r,fi),d=Ka(e,r,wi),p=Ka(e,r,di);if(Ve(a,U,la),Ve(c,U,fa),Ve(u,V,wa),l!==ae&&l!==xa&&l!==Aa)throw new w(da);if(l===Aa&&(a!==ae&&a>V||c!==ae&&c>V))throw new w(pa);l!==ae||a===ae&&c===ae||(l=xa);let h=ec(e,r,Jo),m=Ka(e,r,_o);const y=h!==ae||m!==ae;if(a!==ae||c!==ae||u!==ae||l||s?(o=!1,i=i&M|768):y&&(o=!0,i&=M),Ve(h,M,ha),m&&("object"!=typeof m||t.isArray(m)))throw new w(ma);if(i>V)throw new w(Qs);let g=_a(e,r,Xo,jo);const E=g!==ae;E||(g=0),!r[ii]&&n.endsWith(re)&&(r[ii]=!0);const x=Ka(e,r,ii);if(x?(n.endsWith(re)||(n+=re),E||(g=16,o||(g|=16877<<16))):o||E||(g=s?493<<16:27525120),!o){const e=u!==ae||Boolean(f||d||p);u=u===ae?g>>16&V:u&V,f?u|=te:f=Boolean(u&te),d?u|=ne:d=Boolean(u&ne),p?u|=512:p=Boolean(512&u),E&&!e||(x?u=-61441&u|ee:u&$||(u|=32768),g=(u&V)<<16|g&V)}({msdosAttributesRaw:h,msdosAttributes:m}=function(e,t){if(e!==ae)e&=M;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&M}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}}(h,m)),y&&(g=g&U|h&M);const A=g>>16&V,b=u!==ae&&40960==(u&$);return{name:n,yt:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:g,unixExternalUpper:A,uid:a,gid:c,unixMode:u,unixExtraFieldType:l,symlink:b,setuid:f,setgid:d,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}}(e,r,u);({name:r}=l);const f=function(e,t,n){const r=Ja(e,n,"encodeText")||Ft;let i=r(t,Fe);if(i===ae&&(i=Ft(t)),cc(i)>V)throw new w(Ys);const s=n[Oo]||"";if(typeof s!=fe)throw new w(Gs);let c=r(s,Re);if(c===ae&&(c=Ft(s)),cc(c)>V)throw new w(qs);const u=Ka(e,n,ni);if(u!==ae&&u>V)throw new w(Qs);const l=ja(e,n,Po,new a),f=Ka(e,n,Zo),d=ja(e,n,qo),p=ja(e,n,Ho),h=_a(e,n,Qo,Ko,0),m=Ka(e,n,he),y=Ka(e,n,de),g=Ka(e,n,pe);Oe(y,g);const E=ec(e,n,"encryptionStrength",3),x=Ka(e,n,oi),A=Ka(e,n,"extendedTimestamp",!0),b=Ka(e,n,"ntfsTimestamp"),z=Ka(e,n,"keepOrder",!0),S=Ka(e,n,ye),F=Ka(e,n,Ee),R=Ka(e,n,"bufferedWrite"),C=Ja(e,n,"createTempStream"),D=Ka(e,n,"dataDescriptorSignature",!0),v=Be(Ka(e,n,me)),I=Ka(e,n,"useUnicodeFileNames",!0),N=Ka(e,n,ai),T=m||N===ae?ae:vn(N);if(!m&&N!==ae&&0!==N&&8!==N&&!T)throw new w("Compression method not supported");let k=ec(e,n,"level");if(Ve(k,9,ya),e.options[ze]){if(y!==ae||g!==ae)throw new w(Ks);k===ae&&N===ae&&(k=0)}m&&(k=ae);let B=Ka(e,n,ge),O=Ka(e,n,Ae);R&&O===ae&&(O=!1),(O===ae||x&&!m)&&(O=!0),k!==ae&&6!=k&&(B=!1);const U=Ka(e,n,ei);if(!(x||y===ae&&g===ae||o.isInteger(E)&&E>=1&&E<=3))throw new w(Xs);const M=va(n[ui]),L=va(n.localExtraField),W=va(n.centralExtraField);return{comment:s,yt:{rawFilename:i,rawComment:c,version:u,lastModDate:l,rawLastModDate:f,lastAccessDate:d,creationDate:p,internalFileAttributes:h,passThrough:m,password:y,rawPassword:g,encryptionStrength:E,zipCrypto:x,extendedTimestamp:A,ntfsTimestamp:b,keepOrder:z,useWebWorkers:S,transferStreams:F,bufferedWrite:R,createTempStream:C,dataDescriptorSignature:D,signal:v,useUnicodeFileNames:I,compressionMethod:N,format:T?T.format:ae,codecURI:T?T.codecURI:ae,gt:T?T.versionNeeded:ae,level:k,useCompressionStream:B,dataDescriptor:O,zip64:U,rawExtraField:M,Et:L,ht:W}}}(e,r,u),{comment:p}=f,h=u[ui];e.Ge.set(r,ae);const m=e.je,y={};let E,x;f.yt.keepOrder&&(y.xt=new g(e=>E=e)),e.je=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(Hn(t)||Gn(t,Mn))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&&!Ka(e,o,ii))throw new w(ca);let i;return t&&(t=new Ro(t),await vo(t),({size:i}=t)),n.assign({reader:t},function(e,t,n,r,o){const{passThrough:i,zipCrypto:s,password:a,rawPassword:c,encryptionStrength:u}=r;let{dataDescriptor:l,zip64:f,level:d,compressionMethod:p}=r,h=0,m=0;if(i&&t){if(m=o[Vo],m===ae)throw new w(sa);if(p===ae)throw new w(aa)}const y=!0===f,g=Ka(e,o,ti);if(t&&i&&!g&&cc(a,c))throw new w(js);const E=t&&(Boolean(a&&cc(a)||c&&cc(c))||i&&g);t||(d=0,p=0);const x=E?s?12:16+4*u:0;t&&(i?(o.uncompressedSize=m,h=n===ae?tc(m)+x:n):n===ae?(l=!0,(f||f===ae)&&(f=!0,m=h=4294967296)):(o.uncompressedSize=m=n,h=(nc(p,d)?tc(m):m)+x));const A=!(E||t&&(0!==n||i)||nc(p,d));A&&!s&&Ka(e,o,Ae)===ae&&(l=!1);const b=y||m>=U,z=y||h>=U;if(b||z){if(!1===f)throw new w(ia);f=!0}return f=f||!1,{At:h,yt:{dataDescriptor:l,bt:A,zip64:f,it:b,ot:z,uncompressedSize:m,level:d,compressionMethod:p,encrypted:E}}}(e,Boolean(t),i,r,o))}(e,c,f,u);({reader:c}=o);const p=Ba(e.writer),h=ka(e.writer),A=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:f,dataDescriptor:d,directory:p,rawExtraField:h,Et:m,encryptionStrength:y,extendedTimestamp:g,ntfsTimestamp:E,passThrough:x,encrypted:A,it:b,ot:z,uncompressedSize:S,crc32:F}=e;let{version:R,compressionMethod:C}=e;const D=!p&&nc(C,c);let v;const I=x||!D,N=u&&(e.bufferedWrite||!d||!b&&!z||I),T=N||u&&d&&(b||z);if(u&&(b||z)){const e=20,t=Ta(e);if(t.zt(1),t.zt(e-4),v=t.St,N&&(t.Ft(S),I)){const e=A?l?12:16+4*y:0;t.Ft(x?0:S+e)}}else v=we;let k,B,O,U,M;if(A&&!l){const e=Ta(cc(Ea)+2);e.zt(39169),e.Rt(Ea),k=e.St,k[8]=y}else k=we;if(g){const e=Ya(n),t=Qa(e);if(t){const t=9+(o?4:0)+(i?4:0),n=Ta(t);U=1+(o?2:0)+(i?4:0),n.zt(J),n.zt(t-4),n.Ct(U),n.Dt(e),o&&n.Dt(Xa(Ya(o))),i&&n.Dt(Xa(Ya(i))),O=n.St}else O=we;if(E===ae?!t||Boolean(o||i):E)try{const e=Ha(n),t=Ta(36);t.zt(10),t.zt(32),t.vt(4),t.zt(1),t.zt(24),t.Ft(e),t.Ft(o?Ha(o):e),t.Ft(i?Ha(i):e),B=t.St}catch{B=we}else B=we}else B=O=we;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=xa||t===ae&&n===ae)if(r!=Aa||t===ae&&n===ae)M=we;else{const e=Ta(8);e.zt(30805),e.zt(4),e.zt((t===ae?0:t)&V),e.zt((n===ae?0:n)&V),M=e.St}else{const e=Na(t===ae?0:t),r=Na(n===ae?0:n),o=3+e.length+r.length,i=Ta(4+o);i.zt(30837),i.zt(o),i.Ct(1),i.Ct(e.length),i.Rt(e),i.Ct(r.length),i.Rt(r),M=i.St}}catch{M=we}C===ae&&(C=D?8:0),R===ae&&(R=0!=C||p||A?20:10);const{gt:W}=e;D&&W!==ae&&(R=R>W?R:W),u&&(R=R>45?R:45),A&&!l&&(R=R>51?R:51,x&&F!==ae&&(k[4]=1),oc(dt(k),9,C),C=99);const P=T?cc(v):0,Z=P+cc(k,O,B,M,h,m);if(Z+(e[ze]?67:0)>V)throw new w(ea);const q=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),{et:G,nt:H,rawLastModDate:Y}=uc({version:R,bitFlag:lc(c,f,d,A,C),compressionMethod:C,uncompressedSize:S,lastModDate:q<se?se:q>ie?ie:q,rawLastModDate:r,rawFilename:t,ot:z,it:b,extraFieldLength:Z}),Q=Ta(oe+cc(t)+Z),X=Q.St,K=dt(X);return Q.Dt(L),Q.Rt(G),Q.Rt(t),T&&Q.Rt(v),Q.Rt(k),Q.Rt(O),Q.Rt(B),Q.Rt(M),Q.Rt(h),Q.Rt(m),d&&(z||ic(K,18,0),b||ic(K,22,0)),{It:X,Nt:K,et:G,nt:H,lastModDate:n,rawLastModDate:Y,encrypted:A,compressed:D,version:R,compressionMethod:C,Tt:U,ct:we,kt:P,lt:O,ft:B,wt:M,ut:k,extraFieldLength:Z}}(u=n.assign({},u,l.yt,f.yt,o.yt,{signature:u[ci],crc32:u.crc32===ae?u[ci]:u.crc32,offset:e.offset-p,diskNumberStart:h,[ze]:e.options[ze]})),b=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=we,i=0,s=e?20:12;return n&&(s+=4),t&&(o=new d(s),r=dt(o),n&&(i=4,ic(r,0,P))),{Bt:o,Ot:r,Ut:i}}(u),z=cc(A.It,b.Bt);x=await async function(e,t,r,o,s){const{Ge:a,writer:c}=e,{keepOrder:u,dataDescriptor:l,bt:f,signal:d}=s,{Vt:p,Ze:h,Mt:m,Lt:y}=o,E=e.options[ze];let x,A,b,z,F,R,C=h,D=0;const v=u&&m?m.xt:ae;a.set(t,C);try{s.bufferedWrite||!u||e._e||e.Ke||!l&&!f?(x=!0,e.Ke++,R=s.createTempStream?await s.createTempStream():new S(ae,ae,{highWaterMark:ce}),R.size=0,await vo(c)):(R=c,await v,await I()),await vo(R);const h=Ba(c);e.qe&&!x&&await Za(e,c),E&&!x&&Ia(o,e.offset-h);const{It:m}=p;x||await N();const y=ka(c),A=Ua(e,c);if(C.diskNumberStart=y,x||(z=!0,F=c.size,await qa(R,m)),C=await async function(e,t,{diskNumberStart:r,xt:o},s,a,c){const{Vt:u,Wt:l,Pt:f}=s,{et:d,nt:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:E,compressionMethod:x,ct:A,kt:b,lt:z,Tt:S,ft:F,wt:R,ut:C}=u,{Bt:D}=l,{rawFilename:v,lastAccessDate:I,creationDate:N,password:T,rawPassword:k,level:B,zip64:O,it:V,ot:L,zipCrypto:W,dataDescriptor:P,directory:Z,executable:q,versionMadeBy:G,rawComment:H,rawExtraField:Y,ht:Q,useWebWorkers:X,transferStreams:K,onstart:j,onprogress:J,onend:_,signal:$,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,uid:ie,gid:se,unixMode:ce,symlink:ue,setuid:le,setgid:fe,sticky:we,unixExternalUpper:de,msdosAttributesRaw:pe,msdosAttributes:he,useCompressionStream:me,passThrough:ye,format:ge,codecURI:Ee}=c,xe={xt:o,versionMadeBy:G,zip64:O,directory:Boolean(Z),executable:Boolean(q),filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:H,ct:A,kt:b,lt:z,ft:F,wt:R,ut:C,rawExtraField:Y,ht:Q,extendedTimestamp:te,msDosCompatible:ne,internalFileAttributes:re,externalFileAttributes:oe,diskNumberStart:r,uid:ie,gid:se,unixMode:ce,symlink:Boolean(ue),setuid:le,setgid:fe,sticky:we,unixExternalUpper:de,msdosAttributesRaw:pe,msdosAttributes:he};let{crc32:Ae,uncompressedSize:be}=c,ze=0;ye||(be=0);const{writable:Se}=t;if(e){const n=xn(To(e)),r=e.size,o={options:{codecType:_n,inputSize:r,level:B,rawPassword:k,password:T,encryptionStrength:ee,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&M,computeCrc32:!ye,compressed:g&&!ye,encrypted:y&&!ye,useWebWorkers:X,useCompressionStream:me,transferStreams:K,format:ge,codecURI:Ee,compressionMethod:x},config:a,ce:{signal:$,size:r,onstart:j,onprogress:J,onend:_}};try{const e=await Ir({readable:n,writable:Se},o);if(ze=e.outputSize,t.size+=ze,ye||(be=e.inputSize,y&&!W||(Ae=e.crc32)),!L&&ze>=U||!V&&be>=U)throw new w(ia)}catch(e){throw e.outputSize!==ae&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,Vt:r,Wt:o},{zip64:s,zipCrypto:a,passThrough:c,dataDescriptor:u}){const{nt:l,encrypted:f}=r,{Ot:w,Ut:d}=o;f&&!a&&!c||e===ae||(ic(l,10,e),u&&ic(w,d,e)),s?u&&(sc(w,d+4,i(t)),sc(w,d+12,i(n))):(ic(l,14,t),ic(l,18,n),u&&(ic(w,d+4,t),ic(w,d+8,n)))}({crc32:Ae,compressedSize:ze,uncompressedSize:be,Vt:u,Wt:l},c),P&&await qa(t,D),n.assign(xe,{uncompressedSize:be,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:N,lastAccessDate:I,encrypted:Boolean(y),zipCrypto:Boolean(W),size:f+ze,compressionMethod:x,version:E,et:d,nt:p,signature:Ae,crc32:!y||W||ye?Ae:ae,Tt:S,it:V,ot:L}),xe}(r,R,C,o,Qe(),s),x||(z=!1),a.set(t,C),C.filename=t,x){if(await g.all([R.writable.getWriter().close(),v]),await I(),e.qe&&await Za(e,c),b=!0,F=c.size,await N(),C.diskNumberStart=ka(c),C.offset=Ua(e,c),E){const t=o.Pt;Ia(o,e.offset-Ba(c)),C.size+=o.Pt-t}!function({rawFilename:e,encrypted:t,zip64:n,kt:r,crc32:o,compressedSize:s,uncompressedSize:a,it:c,ot:u},l,{dataDescriptor:f,passThrough:w}){if(f||((!t||w&&o!==ae)&&ic(l,14,o),u||ic(l,18,s),c||ic(l,22,a)),n&&r){const t=oe+cc(e)+4;sc(l,t,i(a)),sc(l,t+8,i(s))}}(C,p.Nt,s),await qa(c,p.It),await Ga(R.readable,c,d,e=>D+=e),c.size+=R.size,b=!1}else C.diskNumberStart=y,C.offset=A;return e.offset+=C.size,C}catch(n){if(b||z){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-F,x&&(e.offset+=D)}throw a.delete(t),n}finally{if(x&&e.Ke--,y&&y(v),A&&A(),x&&R&&R.dispose)try{await R.dispose()}catch{}}async function I(){e._e=!0;const{$e:t}=e;e.$e=new g(t=>A=()=>{e._e=!1,t()}),await t}async function N(){Oa(c,cc(p.It))&&await c.closeDisk()}}(e,r,c,{Vt:A,Wt:b,Pt:z,Ze:y,Mt:m,Lt:E},u)}catch(t){throw e.Ge.delete(r),t}finally{E&&E(m&&m.xt)}return n.assign(x,{name:r,comment:p,extraField:h,[Ko]:x.internalFileAttributes,[jo]:x.externalFileAttributes}),new hi(x)}(e,r,c,u)}catch(t){throw e.He.delete(r),t}finally{const e=za.shift();e?e():ba--}}(u,e,r,c);l.add(f);const p=()=>l.delete(f);return g.prototype.then.call(f,p,p),Ra(u,f)}remove(e){const{He:t,Ge: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=we,n={}){const r=this,{Qe:o,writer:s}=this,{writable:a}=s;if(!(e instanceof d))throw new w(Zs);if(cc(e)>V)throw new w(Ps);for(;o.size;)await g.allSettled(t.from(o));await g.allSettled(r.Xe.map(e=>e.Zt));const c=r.Xe.filter(e=>e.error&&!e.qt);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.qt=!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,ut:r,rawComment:o,ft:i,wt:s,rawExtraField:a,ht:c,extendedTimestamp:u,Tt:l,lastModDate:f,it:d,ot:p,uncompressedSize:h,compressedSize:m}=n,y=n.offset>=U,g=n.diskNumberStart>=V;let E,x;if(y||g||d||p){const e=4+(d?8:0)+(p?8:0)+(y?8:0)+(g?4:0),t=Ta(e);t.zt(1),t.zt(e-4),d&&t.Ft(h),p&&t.Ft(m),y&&t.Ft(n.offset),g&&t.Dt(n.diskNumberStart),E=t.St}else E=we;n.ct=E,n.Gt=y,n.st=g;const A=Ya(f);if(u&&Qa(A)){const e=Ta(9);e.zt(J),e.zt(5),e.Ct(l),e.Dt(A),x=e.St}else x=we;n.lt=x;const b=cc(E,r,i,s,x,a,c);if(b>V)throw new w(ea);t+=Q+cc(e,o)+b}return t}(e.Ge),{Ht:s,Yt:a,Qt:c}=await async function(e,n,r){const{Ge:o,writer:i}=e,s=new d(n);await vo(i);let a=0,c=0,u=ka(i),l=Ba(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:w,ct:d,ut:p,lt:h,ft:m,wt:y,rawExtraField:g,ht:E,rawComment:x,versionMadeBy:A,et:b,nt:z,it:S,ot:F,st:R,Gt:C,internalFileAttributes:D,externalFileAttributes:v,diskNumberStart:I,uncompressedSize:N,compressedSize:T}=n,k=cc(d,p,h,m,y,g,E),B=Q+cc(w,x)+k;Oa(i,a+B-c)&&(await qa(i,s.slice(c,a)),c=a,f=0,await i.closeDisk()),0==e&&(u=ka(i),l=Ba(i)),S||ic(z,18,N),F||ic(z,14,T),(C||R)&&n.version<45&&oc(z,0,45);const O=Ta(B);if(O.Dt(q),O.zt(A),O.Rt(b.subarray(0,24)),O.zt(k),O.zt(cc(x)),O.zt(R?V:I),O.zt(D),O.Dt(v),O.Dt(C?U:t),O.Rt(w),O.Rt(d),O.Rt(p),O.Rt(h),O.Rt(m),O.Rt(y),O.Rt(g),O.Rt(E),O.Rt(x),ac(s,O.St,a),a+=B,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new hi(n))}catch{}}return await qa(i,c?s.slice(c):s),{Ht:{diskNumber:u,diskOffset:l},Yt:{diskNumber:ka(i),Xt:f},Qt:s}}(e,o,r),u=await async function(e,t,n){const r=Ja(e,n,"signCentralDirectory");if(r){const n=await r(t),o=cc(n);if(o>V)throw new w(ga);const i=Ta(6+o);i.Dt(Z),i.zt(o),i.Rt(n);const{writer:s}=e;return Oa(s,cc(i.St))&&await s.closeDisk(),await qa(s,i.St),6+o}return 0}(e,c,r);await async function(e,t,n,r){const{writer:o}=e,{Ht:s,Yt:a,Kt:c}=r;let{jt:u}=r,l=e.Ge.size,f=s.diskNumber,d=Ua(e,s);const p=cc(t);if(p>V)throw new w(Ps);let h=Ka(e,n,ei),m=ka(o);if(Oa(o,(h?98:X)+p)&&m++,d>=U||u>=U||l>=V||m>=V){if(!1===h)throw new w(ia);h=!0}const y=Ta(h?98:X);Oa(o,cc(y.St)+p)&&await o.closeDisk(),m=ka(o);let g=m==a.diskNumber?a.Xt:0;h&&(y.Dt(H),y.Ft(44),y.zt(45),y.zt(45),y.Dt(m),y.Dt(f),y.Ft(g),y.Ft(l),y.Ft(u),y.Ft(d),y.Dt(Y),y.Dt(m),y.Ft(i(Ua(e,o))+i(u)+i(c)),y.Dt(m+1),Ka(e,n,"supportZip64SplitFile",!0)&&(m=V,f=V),g=V,l=V,d=U,u=U),y.Dt(G),y.zt(m),y.zt(f),y.zt(g),y.zt(l),y.Dt(u),y.Dt(d),y.zt(p),await qa(o,y.St),p&&await qa(o,t)}(e,n,r,{Ht:s,Yt:a,jt:o,Kt:u})}(r,e,n),!Do(s)&&Ka(r,n,xe)||await a.getWriter().close(),s.getData?s.getData():a}}class Fa extends g{then(e,t){const{Jt:n}=this;return n&&(n.qt=!0),super.then(e,t)}}function Ra(e,t){const n=new Fa((e,n)=>g.prototype.then.call(t,e,n)),r={};return n.Jt=r,r.Zt=g.prototype.then.call(n,ae,e=>r.error=e),e.Xe.push(r),n}async function Ca(e,t){try{await e.writer.writable.abort(t)}catch{}}function Da(e,t,n){e.Qe.add(t),t.catch(e=>{try{n(e)}catch{}})}function va(e){if(!e)return we;if(!(e instanceof c))throw new w(Js);let t=0,n=0;e.forEach((e,n)=>{if(Ue(n,V,_s),!(e instanceof d))throw new w($s);if(cc(e)>V)throw new w(ea);t+=4+cc(e)});const r=new d(t),o=dt(r);return e.forEach((e,t)=>{oc(o,n,t),oc(o,n+2,cc(e)),ac(r,e,n+4),n+=4+cc(e)}),r}function Ia(e,t){const{Vt:n}=e;let{It:r,extraFieldLength:o}=n,i=64-(t+cc(r))%64;i<4&&(i+=64);const s=new d(i),a=dt(s);oc(a,0,6534),oc(a,2,i-4);const c=r;n.It=r=new d(cc(c)+i),ac(r,c),ac(r,s,cc(c));const u=dt(r);oc(u,28,o+i),n.Nt=u,e.Pt+=i}function Na(e){const t=new d(4);dt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function Ta(e){const t=new d(e),n=dt(t);let r=0;return{St:t,Ct:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},zt:e=>{oc(n,r,e),r+=2},Dt:e=>{ic(n,r,e),r+=4},Ft:e=>{sc(n,r,i(e)),r+=8},Rt:e=>{ac(t,e,r),r+=cc(e)},vt:e=>r+=e}}function ka(e){const{diskNumber:t=0}=e;return t}function Ba(e){const{diskOffset:t=0}=e;return t}function Oa(e,t){const{availableSize:n=ce}=e;return t>n}function Ua(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Ye:0)}function Va(e){const t=dt(e);let n=0;for(;n+4<=cc(e);){const r=4+rc(t,n+2);if(1==rc(t,n))return Va(ft(e.subarray(0,n),e.subarray(s.min(n+r,cc(e)))));n+=r}return e}async function Ma(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await Ga(To(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 La(e,t){const n=await No(e,t,oe);if(cc(n)<oe)return oe;const r=dt(n);return oe+rc(r,26)+rc(r,28)}function Wa(e,{offset:t,diskNumberStart:n}){return t+(e.Oe?e.Oe(n):0)}function Pa(){const e=new d(4);return ic(dt(e),0,W),e}async function Za(e,t){delete e.qe,await qa(t,Pa()),e.offset+=4}async function qa(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=cc(t),await r.write(t)}finally{r.releaseLock()}}async function Ga(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new R({async write(e){await o.ready,await o.write(e),r(cc(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function Ha(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<ra?ra:t>oa?oa:t}}function Ya(e){return s.floor(e.getTime()/1e3)}function Qa(e){return e>=ta&&e<=na}function Xa(e){return s.min(na,s.max(ta,e))}function Ka(e,t,n,r){const o=t[n]===ae?e.options[n]:t[n];return o===ae?r:o}function ja(e,t,n,r){const i=Ka(e,t,n,r);if(null===i)return r;if(i!==ae&&(typeof i.getTime!=le||o.isNaN(i.getTime())))throw new w(Hs);return i}function Ja(e,t,n){return ke(Ka(e,t,n))}function _a(e,t,n,r,o){const i=$a(t,n,r),s=i===ae?$a(e.options,n,r):i;return s===ae?o:s}function $a(e,t,n){return e[t]===ae?e[n]:e[t]}function ec(e,t,n,r){return Me(Ka(e,t,n,r))}function tc(e){return e+5*(s.floor(e/16383)+1)}function nc(e,t){return e===ae?t===ae||t>0:0!==e}function rc(e,t){return e.getUint16(t,!0)}function oc(e,t,n){e.setUint16(t,n,!0)}function ic(e,t,n){e.setUint32(t,n,!0)}function sc(e,t,n){e.setBigUint64(t,n,!0)}function ac(e,t,n){e.set(t,n)}function cc(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function uc({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,ot:c,it:u,extraFieldLength:l}){const f=Ta(26),w=f.St,d=dt(w);if(f.zt(e),f.zt(t),f.zt(n),s===ae){const e=new h(1),t=dt(e);oc(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),oc(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=e[0]}return f.Dt(s),f.vt(4),c||o!==ae?f.Dt(c?U:o):f.vt(4),u||r!==ae?f.Dt(u?U:r):f.vt(4),f.zt(cc(a)),f.zt(l),{et:w,nt:d,rawLastModDate:s}}function lc(e,t,n,r,o){let i=0;return t&&(i|=_),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 fc(e,t){if(!e)return!1;const{_t:n}=e;return n?n.includes(t):Gn(e,t)}const wc=1048576,dc=".zip.js-temp",pc=1048576,hc=1048576,mc=".zip.js-temp",yc="createSyncAccessHandle is only available in dedicated workers";try{$e({baseURI:void 0===A&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===A?location.href:O&&"SCRIPT"===O.tagName.toUpperCase()&&O.src||new f("zip-legacy.min.js",A.baseURI).href})}catch{}ut($e),e.BlobReader=ro,e.BlobWriter=oo,e.Data64URIReader=class extends $r{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 d(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 u=0;for(let e=c;e<c+t&&e<a.length;e++)o[e-c]=a.charCodeAt(e),u++;return u<o.length?o.subarray(0,u):o}},e.Data64URIWriter=class extends eo{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+=z(o):t.tn=o+t.tn}getData(){return this.data+z(this.tn)}},e.ERR_AMBIGUOUS_ARCHIVE=Di,e.ERR_BAD_FORMAT=mi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Ei,e.ERR_DUPLICATED_NAME=Ws,e.ERR_ENCRYPTED=bi,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=vi,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=Ci,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=gi,e.ERR_EOCDR_NOT_FOUND=yi,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Ai,e.ERR_HTTP_RANGE=Pr,e.ERR_HTTP_RESOURCE_CHANGED=Zr,e.ERR_INVALID_AUTHENTICATION_CODE=kt,e.ERR_INVALID_CODEC_DEFINITION=zn,e.ERR_INVALID_CODEC_MODULE=Fn,e.ERR_INVALID_COMMENT=Ps,e.ERR_INVALID_COMMENT_TYPE=Zs,e.ERR_INVALID_COMPRESSED_DATA=Bn,e.ERR_INVALID_CRC32=On,e.ERR_INVALID_DATE=Hs,e.ERR_INVALID_ENCRYPTION_STRENGTH=Xs,e.ERR_INVALID_ENTRY_COMMENT=qs,e.ERR_INVALID_ENTRY_COMMENT_TYPE=Gs,e.ERR_INVALID_ENTRY_NAME=Ys,e.ERR_INVALID_EXTRAFIELD=Js,e.ERR_INVALID_EXTRAFIELD_DATA=ea,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=$s,e.ERR_INVALID_EXTRAFIELD_TYPE=_s,e.ERR_INVALID_FILENAME_VALIDATION=Ti,e.ERR_INVALID_FUNCTION_OPTION=Ie,e.ERR_INVALID_GID=fa,e.ERR_INVALID_LEVEL=ya,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=ki,e.ERR_INVALID_MAX_WORKERS=Le,e.ERR_INVALID_MSDOS_ATTRIBUTES=ha,e.ERR_INVALID_MSDOS_DATA=ma,e.ERR_INVALID_PASSWORD=Nt,e.ERR_INVALID_PASSWORD_TYPE=Te,e.ERR_INVALID_SIGNAL=Ne,e.ERR_INVALID_SIGNATURE=Tt,e.ERR_INVALID_SIGNATURE_DATA=ga,e.ERR_INVALID_STRICTNESS=Ni,e.ERR_INVALID_UID=la,e.ERR_INVALID_UNCOMPRESSED_SIZE=kn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=da,e.ERR_INVALID_UNIX_ID_SIZE=pa,e.ERR_INVALID_UNIX_MODE=wa,e.ERR_INVALID_VERSION=Qs,e.ERR_ITERATOR_COMPLETED_TOO_SOON=qr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=xi,e.ERR_OVERLAPPING_ENTRY=Ri,e.ERR_RESERVED_COMPRESSION_METHOD=Sn,e.ERR_SPLIT_ZIP_FILE=Fi,e.ERR_UNDEFINED_COMPRESSION_METHOD=aa,e.ERR_UNDEFINED_READER=ca,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=sa,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=Ii,e.ERR_UNSUPPORTED_COMPRESSION=Si,e.ERR_UNSUPPORTED_CONTEXT=yc,e.ERR_UNSUPPORTED_CRYPTO_API=Ot,e.ERR_UNSUPPORTED_ENCRYPTION=zi,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=js,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Ks,e.ERR_UNSUPPORTED_FORMAT=ia,e.ERR_UNSUPPORTED_UINT64=Bi,e.ERR_WORKER_STARTUP_TIMEOUT=nr,e.ERR_WRITER_NOT_INITIALIZED=Gr,e.ERR_ZIP_NOT_EMPTY=ua,e.HttpRangeReader=class extends zo{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=zo,e.Reader=$r,e.SplitDataReader=So,e.SplitDataWriter=Fo,e.TextReader=class extends ro{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends oo{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 Lr(e,t,!1)}(new d(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends $r{constructor(e){super(),e=new d(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{St:e,size:e.length})}readUint8Array(e,t){return this.St.slice(e,e+t)}},e.Uint8ArrayWriter=class extends eo{constructor(e){super(),this.rn=e||262144}init(e=0){n.assign(this,{offset:0,St:new d(e>0?e:this.rn)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.St.length){let e=t.St.length?2*t.St.length:t.rn;for(;e<n;)e*=2;const r=t.St;t.St=new d(e),t.St.set(r)}t.St.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.St.length?this.St:this.St.slice(0,this.offset)}},e.VERSION="2.9.0",e.WARNING_APPENDED_DATA=Pi,e.WARNING_COMPRESSED_PATCHED_DATA=Vi,e.WARNING_DUPLICATE_FILENAME=Hi,e.WARNING_MALFORMED_EXTRA_FIELD=Mi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Qi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=Xi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=Ki,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=Yi,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=qi,e.WARNING_PREPENDED_DATA=Zi,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=Gi,e.WARNING_UNKNOWN_VERSION=Ui,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=Li,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=Oi,e.WARNING_WRAPPED_ENTRIES_COUNT=Wi,e.Writer=eo,e.ZipReader=ns,e.ZipReaderStream=rs,e.ZipWriter=Sa,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new S;this.readable=t,this.zipWriter=new Sa(n,e),this.Qe=new u}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new S({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await Ca(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 S({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 g.allSettled(t.from(this.Qe))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await Ca(r,e),e}try{return await r.close(e,n)}catch(e){throw await Ca(r,e),e}}},e.configure=function(e){n.assign(Ye,je(_e(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=pc}=e;return function(){const e=[];let n,r,o,i=0,s=!1;const a=new R({async write(o){s?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new S;r=An(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 F({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=wc,directoryName:r=dc,getDirectory:o=()=>v.storage.getDirectory()}=e;let i;function s(){return i||(i=g.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,a,c=0,u=!1;const l=new R({async write(a){u?await i.write(a):(e.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=b.randomUUID?b.randomUUID():t.from(b.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),u=!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:l,readable:new F({async pull(t){if(u){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=hc,directoryName:r=mc,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new w(yc);const i=o||(()=>v.storage.getDirectory());let a;function c(){return a||(a=g.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return function(){const e=[];let r,o,i=0,a=!1,u=0,l=0;const f=new R({async write(s){a?(o.write(s,{at:u}),u+=s.length):(e.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=b.randomUUID?b.randomUUID():t.from(b.getRandomValues(new d(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:u}),u+=t.length;e.length=0}())},close(){o&&o.flush()}});let w=0;return{writable:f,readable:new F({pull(t){if(a){const e=u-l;if(e<=0)return void t.close();const n=new d(s.min(524288,e)),r=o.read(n,{at:l});r?(l+=r,t.enqueue(n.subarray(0,r))):t.close()}else w<e.length?t.enqueue(e[w++]):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=In,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:fc(n,Un)||fc(e,Un)||fc(e,Mn),decompression:fc(r,Un)||fc(t,Un)||fc(t,Mn),registered:!1},{compressionMethod:9,compression:!1,decompression:fc(r,Vn)||fc(t,Vn),registered:!1}];for(const e of In()){const t=Nn(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==le:ae,decompression:t?typeof t.DecompressionStream==le:ae,registered:!0})}return o},e.isZipFile=os,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>V||typeof n!=fe||!n.length)throw new w(zn);if(Rn.includes(t))throw new w(Sn);const c=typeof i==le||typeof s==le;if(!(c||typeof r==fe&&r.length))throw new w(zn);Cn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:a}),c&&Tn(n,{CompressionStream:i,DecompressionStream:s})},e.resetConfiguration=function(){for(const e of He)delete Ye[e];n.assign(Ye,Pe)},e.terminateWorkers=async function(){await g.allSettled(Fr.map(e=>(Or(e),e.terminate()))),rr=ae,or=!1},e.unregisterCodec=function(e){const t=Cn.get(e);if(t){let n;Cn.delete(e),Cn.forEach(e=>n=n||e.format==t.format),n||Dn.delete(t.format)}}});