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