@zip.js/zip.js 2.13.1 → 2.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BENCHMARKS.md +349 -416
- package/deno.json +1 -1
- package/dist/zip-core-external.js +761 -945
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +626 -911
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +768 -948
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +633 -914
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +768 -948
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +635 -916
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +771 -951
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +628 -913
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-module.wasm +0 -0
- package/dist/zip-native.js +628 -913
- 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 +764 -948
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +635 -916
- package/index-native.min.js +1 -1
- package/index.cjs +771 -951
- package/index.d.cts +52 -12
- package/index.d.ts +52 -12
- package/index.min.js +1 -1
- package/lib/core/codec-worker.js +37 -26
- package/lib/core/io.js +29 -21
- package/lib/core/streams/aes-crypto-stream.js +58 -99
- package/lib/core/streams/codecs/aes-hmac-sha1.js +486 -0
- package/lib/core/streams/zlib-wasm/aes-hmac-sha1-wasm.js +106 -0
- package/lib/core/streams/zlib-wasm/zlib-streams-loader.js +4 -0
- package/lib/core/streams/zlib-wasm/zlib-streams.js +2 -7
- package/lib/core/streams/zlib-wasm/zlib-streams.wasm +0 -0
- package/lib/core/version.js +1 -1
- package/lib/core/web-worker-base.js +15 -9
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/web-worker-wasm.js +2 -0
- package/lib/core/zip-fs.js +7 -3
- package/lib/core/zip-reader.js +53 -6
- package/lib/core/zip-writer.js +1 -2
- package/lib/core/zlib-streams-inline.js +1 -1
- package/lib/zip-module-wasm-base.js +3 -1
- package/package.json +1 -1
- package/lib/core/streams/codecs/sjcl.js +0 -795
package/dist/zip-legacy.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})}(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:o,BigInt:i,Math:s,Date:a,Map:c,Set:l,Response:u,URL:d,Error:f,Uint8Array:w,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:E,TextEncoder:g,TextDecoder:b,document:z,crypto:A,btoa:F,TransformStream:S,ReadableStream:R,WritableStream:x,CompressionStream:D,DecompressionStream:C,navigator:v,Worker:N,Symbol:I,setTimeout:T,clearTimeout:B,structuredClone:U}="undefined"!=typeof globalThis?globalThis:self;var O=void 0!==z?z.currentScript:null;const k=4294967295,M=65535,L=255,W=67324752,V=134695760,P=V,G=84233040,Z=33639248,Y=101010256,H=101075792,K=117853008,q=46,j=22,Q=20,J=56,X=39169,_=21589,$=6534,ee=30837,te=30805,ne=2048,re=61440,oe=16384,ie=2048,se=1024,ae="/",ce=30,le=new a(2107,11,31,23,59,58),ue=new a(1980,0,1),de=void 0,fe=1/0,we="undefined",pe="function",he="object",me="string",ye="boolean",Ee=new w,ge=I.asyncDispose||I(),be="password",ze="rawPassword",Ae="passThrough",Fe="signal",Se="useWebWorkers",Re="useCompressionStream",xe="transferStreams",De="preventClose",Ce="level",ve="useUnicodeFileNames",Ne="dataDescriptor",Ie="offset",Te="usdz",Be="maxAppendedDataSize",Ue="entry",Oe="filename",ke="comment",Me="strict",Le="balanced",We="tolerant",Ve="compressed",Pe="Invalid option (must be a function)",Ge="Invalid signal (must be an AbortSignal instance)",Ze="Invalid password (password must be a string, rawPassword must be a Uint8Array)",Ye="Invalid passThrough option (must be a boolean or 'compressed')",He="The operation was aborted";function Ke(e){if(e&&typeof e!=pe)throw new f(Pe);return e}function qe(e){if(e&&(typeof e.addEventListener!=pe||typeof e.aborted!=ye))throw new f(Ge);return e||de}function je(e){if(e&&e.aborted)throw e.reason===de?new DOMException(He,"AbortError"):e.reason}function Qe(e,t){if(e&&typeof e!=me||t&&!(t instanceof w))throw new f(Ze)}function Je(e){if(e!==de&&typeof e!=ye&&e!==Ve)throw new f(Ye);return e}function Xe(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new f(n)}function _e(e,t,n){e!==de&&Xe(e,t,n)}function $e(e){return typeof e==me&&e.trim()?o(e):e}const et="Invalid maxWorkers (must be an integer greater than 0)",tt="Invalid baseURI (must be a string)",nt="Invalid URI (must be a string or a function returning a string)";let rt=2;try{typeof v!=we&&v.hardwareConcurrency&&(rt=v.hardwareConcurrency)}catch{}const ot={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:rt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof D!=we&&D,DecompressionStream:typeof C!=we&&C},it="maxWorkers",st="baseURI",at=["wasmURI","workerURI"],ct=["chunkSize",it,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],lt=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],ut=[st,...at,"useCompressionStream","useWebWorkers","transferStreams",...ct,...lt],dt={...ot};function ft(){return dt}function wt(e){return pt(e.chunkSize)}function pt(e){return e=$e(e),o.isInteger(e)&&e>=1?s.max(e,64):65536}function ht(e){const t={};for(const n of ut){const r=e[n];r!==de&&(t[n]=mt(n,r))}return t}function mt(e,t){if(ct.includes(e)){if(t=$e(t),e==it&&(!o.isInteger(t)||t<1))throw new f(et)}else if(lt.includes(e))Ke(t);else if(e==st){if(t&&typeof t!=me)throw new f(tt)}else if(at.includes(e)&&t&&typeof t!=me&&typeof t!=pe)throw new f(nt);return t}function yt(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===de&&r===de)return e;const o=n.assign({},e);return o.CompressionStreamFallback===de&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===de&&(o.DecompressionStreamFallback=r),o}function Et(e){const t=ht(yt(e));n.assign(ot,t),n.assign(dt,t)}const gt=[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],bt=[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],zt=[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],At=[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],Ft=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],St=new w(288);St.fill(8,0,144),St.fill(9,144,256),St.fill(7,256,280),St.fill(8,280,288);const Rt=new w(30).fill(5);function xt(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 Dt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ct=(vt=()=>function(e){let t=0,n=0,r=0,o=new w(1024),i=0,s=0;for(;!s;){s=c(1);const e=c(2);if(0==e)l();else if(1==e)u(xt(St),xt(Rt));else{if(2!=e)throw new f("invalid deflate block type");u(...d())}}return o.subarray(0,i);function a(){if(t>=e.length)throw new f("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=a()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function l(){n=0,r=0;const e=a()|a()<<8;t+=2,h(i+e);for(let t=0;t<e;t++)o[i++]=a()}function u(e,t){let n=p(e);for(;256!=n;){if(n<256)h(i+1),o[i++]=n;else{const e=n-257,r=gt[e]+c(bt[e]),s=p(t),a=zt[s]+c(At[s]);h(i+r);const l=i-a;for(let e=0;e<r;e++)o[i++]=o[l+e]}n=p(e)}}function d(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new w(19);for(let e=0;e<n;e++)r[Ft[e]]=c(3);const o=xt(r),i=new w(e+t);let s=0;for(;s<i.length;){const e=p(o);if(e<16)i[s++]=e;else if(16==e){const e=i[s-1];let t=c(2)+3;for(;t--;)i[s++]=e}else s+=17==e?c(3)+3:c(7)+11}return[xt(i.subarray(0,e)),xt(i.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,o=0,i=0;for(let e=1;e<=15;e++){r|=c(1);const s=t[e];if(r-o<s)return n[i+(r-o)];i+=s,o=o+s<<1,r<<=1}throw new f("invalid huffman code")}function h(e){if(o.length<e){let t=2*o.length;for(;t<e;)t*=2;const n=new w(t);n.set(o.subarray(0,i)),o=n}}}(function(e){const t=(e=r(e).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=Dt.indexOf(e[r])<<18|Dt.indexOf(e[r+1])<<12|(63&Dt.indexOf(e[r+2]))<<6|63&Dt.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 w(n)}("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=vt();if("string"==typeof n&&(n=(new g).encode(n)),e){const e=new y([n],{type:t});return d.createObjectURL(e)}return"data:"+t+";base64,"+function(e){let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=Dt[n>>18&63]+Dt[n>>12&63]+Dt[n>>6&63]+Dt[63&n]}const o=n-r;if(1===o){const n=e[r]<<16;t+=Dt[n>>18&63]+Dt[n>>12&63]+"=="}else if(2===o){const n=e[r]<<16|e[r+1]<<8;t+=Dt[n>>18&63]+Dt[n>>12&63]+Dt[n>>6&63]+"="}return t}(n)}}));var vt;function Nt(e,t){const n=new w(e.length+t.length);return n.set(e),n.set(t,e.length),n}function It(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new w(e):e}function Tt(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function Bt(e){return Boolean(e)&&"object"==typeof e}const Ut=[[],[],[],[],[],[],[],[]];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;Ut[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=Ut[t-1][e];Ut[t][e]=n>>>8^Ut[0][255&n]}const[Ot,kt,Mt,Lt,Wt,Vt,Pt,Gt]=Ut;class Zt{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new m(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=Gt[255&e]^Pt[e>>>8&255]^Vt[e>>>16&255]^Wt[e>>>24&255]^Lt[255&n]^Mt[n>>>8&255]^kt[n>>>16&255]^Ot[n>>>24&255]}}for(;r<n;r++)t=t>>>8^Ot[255&(t^e[r])];this.l=t}get(){return~this.l}}class Yt extends S{constructor(){let e;const t=new Zt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function Ht(e){if(typeof g==we){e=unescape(encodeURIComponent(e));const t=new w(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new g).encode(e)}const Kt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=Kt.h(n);return 32===r?e.concat(t):Kt.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)+Kt.h(n)},A(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Kt.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=>s.round(e/1099511627776)||32,m(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let o=0;o<e.length;o++)r.push(n|e[o]>>>t),n=e[o]<<32-t;const o=e.length?e[e.length-1]:0,i=Kt.h(o);return r.push(Kt.F(t+i&31,t+i>32?n:r.pop(),1)),r}},qt={bytes:{S(e){const t=Kt.bitLength(e)/8,n=new w(t);let r;for(let o=0;o<t;o++)3&o||(r=e[o/4]),n[o]=r>>>24,r<<=8;return n},R(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(Kt.F(8*(3&n),r)),t}}},jt=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.C=[1518500249,1859775393,2400959708,3395469782],e?(t.v=e.v.slice(0),t.N=e.N.slice(0),t.I=e.I):t.reset()}reset(){const e=this;return e.v=e.D.slice(0),e.N=[],e.I=0,e}update(e){const t=this;"string"==typeof e&&(e=qt.T.R(e));const n=t.N=Kt.concat(t.N,e),r=t.I,o=t.I=r+Kt.bitLength(e);if(o>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const i=new h(n);let s=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=o;e+=t.blockSize)t.B(i.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}U(){const e=this;let t=e.N;const n=e.v;t=Kt.concat(t,[Kt.F(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e.I/4294967296)),t.push(0|e.I);t.length;)e.B(t.splice(0,16));return e.reset(),n}O(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}M(e,t){return t<<e|t>>>32-e}B(e){const n=this,r=n.v,o=t(80);for(let t=0;t<16;t++)o[t]=e[t];let i=r[0],a=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;e<=79;e++){e>=16&&(o[e]=n.M(1,o[e-3]^o[e-8]^o[e-14]^o[e-16]));const t=n.M(5,i)+n.O(e,a,c,l)+u+o[e]+n.C[s.floor(e/20)]|0;u=l,l=c,c=n.M(30,a),a=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},Qt={importKey:e=>new Qt.L(qt.bytes.R(e)),W(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new f("invalid params to pbkdf2");const o=1+(r>>5)<<2;let i,s,a,c,l;const u=new ArrayBuffer(o),d=new m(u);let w=0;const p=Kt;for(t=qt.bytes.R(t),l=1;w<(o||1);l++){for(i=s=e.encrypt(p.concat(t,[l])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)i[c]^=s[c];for(a=0;w<(o||1)&&a<i.length;a++)d.setInt32(w,i[a]),w+=4}return u.slice(0,r/8)},L:class{constructor(e){const t=this,n=t.V=jt,r=[[],[]];t.P=[new n,new n];const o=t.P[0].blockSize/32;e.length>o&&(e=(new n).update(e).U());for(let t=0;t<o;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.P[0].update(r[0]),t.P[1].update(r[1]),t.G=new n(t.P[0])}reset(){const e=this;e.G=new e.V(e.P[0]),e.Z=!1}update(e){this.Z=!0,this.G.update(e)}digest(){const e=this,t=e.G.U(),n=new e.V(e.P[1]).update(t).U();return e.reset(),n}encrypt(e){if(this.Z)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Jt=typeof A!=we&&typeof A.getRandomValues==pe,Xt="Invalid password",_t="Invalid authentication code",$t="zipjs-abort-check-password",en="Crypto API not supported";function tn(e){if(Jt)return A.getRandomValues(e);throw new f(en)}const nn=16,rn={name:"PBKDF2"},on=n.assign({hash:{name:"HMAC"}},rn),sn=n.assign({iterations:1e3,hash:{name:"SHA-1"}},rn),an=["deriveBits"],cn=[8,12,16],ln=[16,24,32],un=10,dn=[0,0,0,0],fn=typeof A!=we,wn=fn&&A.subtle,pn=fn&&typeof wn!=we,hn=qt.bytes,mn=class{constructor(e){const t=this;t.Y=[[[],[],[],[],[]],[[],[],[],[],[]]],t.Y[0][0][0]||t.H();const n=t.Y[0][4],r=t.Y[1],o=e.length;let i,s,a,c=1;if(4!==o&&6!==o&&8!==o)throw new f("invalid aes key size");for(t.C=[s=e.slice(0),a=[]],i=o;i<4*o+28;i++){let e=s[i-1];(i%o===0||8===o&&i%o===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%o===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),s[i]=s[i-o]^e}for(let e=0;i;e++,i--){const t=s[3&e?i:i-4];a[e]=i<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.K(e,0)}decrypt(e){return this.K(e,1)}H(){const e=this.Y[0],t=this.Y[1],n=e[4],r=t[4],o=[],i=[];let s,a,c,l;for(let e=0;e<256;e++)i[(o[e]=e<<1^283*(e>>7))^e]=e;for(let u=s=0;!n[u];u^=a||1,s=i[s]||1){let i=s^s<<1^s<<2^s<<3^s<<4;i=i>>8^255&i^99,n[u]=i,r[i]=u,l=o[c=o[a=o[u]]];let d=16843009*l^65537*c^257*a^16843008*u,f=257*o[i]^16843008*i;for(let n=0;n<4;n++)e[n][u]=f=f<<24^f>>>8,t[n][i]=d=d<<24^d>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}K(e,t){if(4!==e.length)throw new f("invalid aes block size");const n=this.C[t],r=n.length/4-2,o=[0,0,0,0],i=this.Y[t],s=i[0],a=i[1],c=i[2],l=i[3],u=i[4];let d,w,p,h=e[0]^n[0],m=e[t?3:1]^n[1],y=e[2]^n[2],E=e[t?1:3]^n[3],g=4;for(let e=0;e<r;e++)d=s[h>>>24]^a[m>>16&255]^c[y>>8&255]^l[255&E]^n[g],w=s[m>>>24]^a[y>>16&255]^c[E>>8&255]^l[255&h]^n[g+1],p=s[y>>>24]^a[E>>16&255]^c[h>>8&255]^l[255&m]^n[g+2],E=s[E>>>24]^a[h>>16&255]^c[m>>8&255]^l[255&y]^n[g+3],g+=4,h=d,m=w,y=p;for(let e=0;e<4;e++)o[t?3&-e:e]=u[h>>>24]<<24^u[m>>16&255]<<16^u[y>>8&255]<<8^u[255&E]^n[g++],d=h,h=m,m=y,y=E,E=d;return o}},yn=class{constructor(e,t){this.j=e,this.J=t,this.X=t}reset(){this.X=this.J}update(e){return this._(this.j,e,this.X)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}_(e,t,n){let r;if(!(r=t.length))return[];const o=Kt.bitLength(t);for(let o=0;o<r;o+=4){this.ee(n);const r=e.encrypt(n);t[o]^=r[0],t[o+1]^=r[1],t[o+2]^=r[2],t[o+3]^=r[3]}return Kt.A(t,o)}},En=Qt.L;let gn=fn&&pn&&typeof wn.importKey==pe,bn=fn&&pn&&typeof wn.deriveBits==pe;class zn extends S{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){Fn(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,te:s,ready:a}=n;o?(await async function(e,t,n,r){const o=await Rn(e,t,n,Dn(r,0,cn[t])),i=Dn(r,cn[t]);if(o[0]!=i[0]||o[1]!=i[1])throw new f(Xt)}(n,i,o,Dn(e,0,cn[i]+2)),e=Dn(e,cn[i]+2),r?t.error(new f($t)):s()):await a;const c=new w(e.length-un-(e.length-un)%nn);t.enqueue(Sn(n,e,c,0,un,!0))},async flush(e){const{ne:t,re:n,oe:r,ready:i}=this;if(n&&t){await i;const s=Dn(r,0,r.length-un),a=Dn(r,r.length-un);let c=Ee;if(s.length){const e=vn(hn,s);n.update(e);const r=t.update(e);c=Cn(hn,r)}const l=Dn(Cn(hn,n.digest()),0,un);let u=r.length<un?1:0;for(let e=0;e<un;e++)u|=l[e]^a[e];if(u&&o)throw new f(_t);e.enqueue(c)}}})}}class An extends S{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){Fn(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,te:i,ready:s}=n;let a=Ee;r?(a=await async function(e,t,n){const r=tn(new w(cn[t]));return Nt(r,await Rn(e,t,n,r))}(n,o,r),i()):await s;const c=new w(a.length+e.length-e.length%nn);c.set(a,0),t.enqueue(Sn(n,e,c,a.length,0))},async flush(e){const{ne:t,re:n,oe:r,ready:o}=this;if(n&&t){await o;let i=Ee;if(r.length){const e=t.update(vn(hn,r));n.update(e),i=Cn(hn,e)}const s=Cn(hn,n.digest()).slice(0,un);e.enqueue(Nt(i,s))}}})}}function Fn(e,t,r,o){n.assign(e,{ready:new E(t=>e.te=t),password:xn(t,r),strength:o-1,oe:Ee})}function Sn(e,t,n,r,o,i){const{ne:s,re:a,oe:c}=e;c.length&&(t=Nt(c,t));const l=t.length-o;let u;for(n=function(e,t){if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e}(n,r+(l-l%nn)),u=0;u<=l-nn;u+=nn){const e=vn(hn,Dn(t,u,u+nn));i&&a.update(e);const o=s.update(e);i||a.update(o),n.set(Cn(hn,o),u+r)}return e.oe=Dn(t,u),n}async function Rn(e,r,o,i){e.password=null;const s=await async function(e,t,n,r,o){if(!gn)return Qt.importKey(t);try{return await wn.importKey("raw",t,n,!1,o)}catch{return gn=!1,Qt.importKey(t)}}(0,o,on,0,an),a=await async function(e,t,n){if(!bn)return Qt.W(t,e.salt,sn.iterations,n);try{return await wn.deriveBits(e,t,n)}catch{return bn=!1,Qt.W(t,e.salt,sn.iterations,n)}}(n.assign({salt:i},sn),s,8*(2*ln[r]+2)),c=new w(a),l=vn(hn,Dn(c,0,ln[r])),u=vn(hn,Dn(c,ln[r],2*ln[r])),d=Dn(c,2*ln[r]);return n.assign(e,{keys:{key:l,ie:u,passwordVerification:d},ne:new yn(new mn(l),t.from(dn)),re:new En(u)}),d}function xn(e,t){return t===de?Ht(e):t}function Dn(e,t,n){return e.subarray(t,n)}function Cn(e,t){return e.S(t)}function vn(e,t){return e.R(t)}class Nn extends S{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){Tn(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=Bn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new f(Xt);e=e.subarray(12)}r?t.error(new f($t)):t.enqueue(Bn(n,e))}})}}class In extends S{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){Tn(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=tn(new w(12));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(Un(n,t),0),o=12}else r=new w(e.length),o=0;r.set(Un(n,e),o),t.enqueue(r)}})}}function Tn(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,se:new Zt(o[0]),ae:new Zt(o[2])}),r)for(let t=0;t<r.length;t++)On(e,r[t]);else for(let n=0;n<t.length;n++)On(e,t.charCodeAt(n))}(e,t,r)}function Bn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=kn(e)^t[r],On(e,n[r]);return n}function Un(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=kn(e)^t[r],On(e,t[r]);return n}function On(e,t){let[,n]=e.keys;e.se.append([t]);const r=~e.se.get();n=Ln(s.imul(Ln(n+Mn(r)),134775813)+1),e.ae.append([n>>>24]);const o=~e.ae.get();e.keys=[r,n,o]}function kn(e){const t=2|e.keys[2];return Mn(s.imul(t,1^t)>>>8)}function Mn(e){return 255&e}function Ln(e){return 4294967295&e}function Wn(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 Vn(e,t){e=Wn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=pe||new y([]).stream()instanceof R)return new u(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new x({write(e){r.push(e)}})).then(()=>new y(r,n))}function Pn(e){if(e instanceof x)return e;const t=e.getWriter();return new x({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const Gn="Invalid codec definition",Zn="Reserved compression method",Yn="Invalid codec module",Hn="Compression method not supported",Kn=[0,8,9,99],qn=new c,jn=new c;function Qn(e){return qn.get(e)}function Jn(){return t.from(qn.values(),e=>n.assign({},e,jn.get(e.format)))}function Xn(e){return jn.get(e)}function _n(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=pe&&typeof r!=pe)throw new f(Yn);jn.set(e,{CompressionStream:n,DecompressionStream:r})}const $n="Invalid uncompressed size",er="Invalid compressed data",tr="Invalid CRC32",nr="deflate-raw",rr="deflate64-raw",or="gzip",ir=[31,139,8];class sr extends S{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:l,deflate64:u,format:d,compressionMethod:f,inputSize:w}=e,p=this;let h,y,E,g=super.readable;const b=d&&Xn(d),z=c&&o&&!u&&!b&&(!i||a)&&Boolean(s&&r);if(i&&!a||!c||z||(h=new Yt,g=hr(g,h)),o)if(b)g=mr(g,wr(b.CompressionStream,d,{level:l,chunkSize:t,compressionMethod:f,uncompressedSize:w}));else if(z)E=new ar,g=mr(g,new r(or)),g=hr(g,E);else try{g=pr(g,s,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(or)}catch{throw e}g=mr(g,t),g=hr(g,new ar)}i&&(a?g=hr(g,new In(e)):(y=new An(e),g=hr(g,y))),fr(p,g,()=>{i&&!a||!c||(p.crc32=z?E.crc32:new m(h.value.buffer).getUint32(0))})}}class ar extends S{constructor(){let e,t=10,n=new w(0);super({transform(e,r){if(t){const n=s.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=Nt(n,e));const i=o-8,a=s.min(i,n.length);r.enqueue(Nt(n.subarray(0,a),e.subarray(0,i-a))),n=Nt(n.subarray(a),e.subarray(i-a))},flush(){const t=Tt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class cr extends S{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:l,deflate64:u,format:d,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let g,b,z=super.readable;if(i&&(o?z=hr(z,new Nn(e)):(b=new zn(e),z=hr(z,b))),c){const e=d&&Xn(d);if(e)z=mr(z,wr(e.DecompressionStream,d,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{z=pr(z,l,{chunkSize:t,deflate64:u},r,n)}catch(e){if(u||y===de)throw e;let t;try{t=new r(or)}catch{throw e}z=function(e,t,n){const r=new Zt;let o,i,s,a=0,c=!1;const l=new E((e,t)=>{i=e,s=t});l.catch(()=>{}),n||i();const u=new S({start(e){const t=new w(10);t.set(ir),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new w(8),o=Tt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){s(e)}}),d=new S({transform(e,t){r.append(e),a+=e.length,a>=n?i():c&&p(),t.enqueue(e)},cancel(e){s(e)}});return e=hr(e,u),hr(e=mr(e,t),d);function p(){h(),o=T(()=>s(new f($n)),5e3)}function h(){B(o)}}(z,t,y)}z=function(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 f(er);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(z)}s&&(g=new Yt,z=hr(z,g)),fr(this,z,()=>{if(s){const e=new m(g.value.buffer);if(a!=e.getUint32(0,!1))throw new f(tr)}})}}const lr=new c;function ur(e,t){if(!e)return!1;let n=lr.get(e);n||(n=new c,lr.set(e,n));let r=n.get(t);if(r===de){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function dr(e){return ur(e,nr)}function fr(e,t,r){t=hr(t,new S({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function wr(e,t,n){if(!e)throw new f(Hn);return new e(t,n)}function pr(e,t,n,r,o){const i=t&&r?r:o||r,s=n.deflate64?rr:nr;let a;try{a=new i(s,n)}catch(e){if(!t||!o||i==o)throw e;a=new o(s,n)}return mr(e,a)}function hr(e,t){return Wn(e).pipeThrough(t)}function mr(e,t){const n=t.writable.getWriter(),r=e.getReader();return async function(){try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await async function(e,t){try{await e.abort(t)}catch{}}(n,e),await async function(e,t){try{await e.cancel(t)}catch{}}(r,e)}}(),t.readable}const yr="data",Er="deflate",gr="inflate";class br extends S{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(Er)?i=sr:o.startsWith(gr)&&(i=cr),r.outputSize=0;let s=0;const a=new i(e,t),c=super.readable,l=new S({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:s})}}),u=new S({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==de&&r.outputSize>e.outputSize))throw new f($n)},flush(){const{crc32:e}=a;n.assign(r,{crc32:e,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(a).pipeThrough(u)})}}class zr extends S{constructor(e){const t=[];let r=0,i=0;function s(){const n=new w(e);let o=0;for(;o<e;){const r=t[0],i=e-o;r.length<=i?(n.set(r,o),o+=r.length,t.shift()):(n.set(r.subarray(0,i),o),t[0]=r.subarray(i),o+=i)}return r-=e,n}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(n,o){for(t.push(n),r+=n.length;r>e;)i+=e,o.enqueue(s())},flush(e){r&&(i+=r,e.enqueue(function(e,t){const n=new w(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,r)))}}),n.defineProperty(this,"outputSize",{get:()=>i})}}const Ar="Worker startup timeout";let Fr,Sr,Rr;function xr(e){e.createWorker?Sr=!0:Fr=!1}class Dr{constructor(e,{readable:t,writable:r},o,i){const{options:s,config:a,ce:c,useWebWorkers:l,transferStreams:u,workerURI:d}=o;let{createWorker:f}=o;const{signal:w}=c;return Sr&&(f=de),n.assign(e,{le:!0,ue:(e.ue||0)+1,readable:t.pipeThrough(new zr(wt(a))).pipeThrough(new Cr(c),{signal:w}),writable:r,options:n.assign({},s),de:o,workerURI:d,createWorker:f,transferStreams:u,terminate:()=>new E(t=>{const{fe:n,le:r}=e;n?(r?e.we=t:(n.terminate(),t()),e.pe=null):t()}),he(){if(e.le){const{we:t}=e;t&&(e.we=null,e.me=!0,e.fe.terminate(),t()),e.le=!1,i(e)}}}),Fr===de&&(Fr=typeof N!=we),(l&&Rr&&(Fr&&d||f)?Rr:Nr)(e,a)}}class Cr extends S{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await vr(e,n)},async transform(e,r){o+=e.length,t&&await vr(t,o,n),r.enqueue(e)},async flush(){r&&await vr(r,o)}})}}async function vr(e,...t){try{await e(...t)}catch{}}function Nr(e,t){return{run:()=>Ir(e,t)}}async function Ir({options:e,readable:t,writable:n,he:r,de:o},i){let s,a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Er),n=t?i.CompressionStreamFallback:i.DecompressionStreamFallback,r=t?i.CompressionStream:i.DecompressionStream;if(e.useCompressionStream){if(n&&n.ye&&!dr(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.ye||(e.useCompressionStream=!0)}}s=new br(e,i),a=new zr(wt(i)),await t.pipeThrough(s).pipeThrough(a).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:o,outputSize:c}=s;return{crc32:r,inputSize:o,outputSize:c}}catch(e){if(s){const t=a?a.outputSize:0;if(o.outputSize=t,Bt(e))try{e.outputSize=t}catch{}}throw e}finally{r()}}const Tr={type:"module"},Br="error";let Ur,Or,kr,Mr=!0;try{Mr=typeof U==pe&&U(new DOMException("","AbortError")).code!==de}catch{}var Lr;function Wr(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function Vr(e){const{fe:t}=e;if(t)try{t.terminate()}catch{}e.pe=null}function Pr(e,t,r,o,i=!0){const{createWorker:s}=r;let a,c,l;if(s)a=s();else if(Or===de||Ur!==e){const n=typeof e==pe;c=n?e(i):e;const s=c.startsWith("data:"),u=c.startsWith("blob:");if(s||u){o===de&&(o=!1),o&&(l=Tr);try{a=new N(c,l)}catch(i){if(u)try{d.revokeObjectURL(c)}catch{}if(n&&u)return Pr(e,t,r,o,!1);if(o)throw i;return Pr(e,t,r,!0,!1)}}else{o===de&&(o=!0),o&&(l=Tr);try{c=new d(c,t)}catch{}try{a=new N(c,l)}catch(n){if(o)return Pr(e,t,r,!1,i);throw n}}Ur=e,Or=c,kr=l}else a=new N(Or,kr);return a.addEventListener("message",e=>{r.Ee=!0,Gr(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:s,error:a,errorValue:c}=e,{reader:l,writer:u,ge:d,be:p,he:h,ue:m}=t,y=()=>t.ue!=m;try{if(a)E(function(e,t){const{message:r,stack:o,code:i,name:s,outputSize:a,cause:c,codecImportFailed:l}=e;let u;if(t?u=t.value:(u=n.assign(new f(r),{stack:o,code:i,name:s}),c&&(u.cause=n.assign(new f(c.message),{name:c.name}))),Bt(u))try{a!==de&&(u.outputSize=a),l&&(u.codecImportFailed=!0),t&&(u.name!==s&&(u.name=s),u.code!==i&&(u.code=i))}catch{}return u}(a,c));else{if("pull"==r){const{value:e,done:n}=await l.read();y()||Yr({type:yr,value:e,done:n,messageId:i},t)}if(r==yr){const e=new w(o);await u.ready,await u.write(e),y()||Yr({type:"ack",messageId:i},t)}"close"==r&&function(e){y()||(d(e),g(),h())}(s)}}catch(a){y()||(Vr(t),E(a))}function E(e){y()||(p(e),g(),Bt(e)&&e.codecImportFailed||h())}function g(){u&&u.releaseLock()}}(e,r)}),a.addEventListener(Br,e=>Zr(e,r)),a.addEventListener("messageerror",e=>Zr(e,r)),a}function Gr(e){const{ze:t}=e;t&&(B(t),e.ze=null)}function Zr(e,t){e.preventDefault&&e.preventDefault(),Gr(t);const{Ee:r,be:o,writer:i,he:s}=t;Vr(t),r||(t.fe=null);let a=e.error||new f(e.message||Br);r||(a=n.assign(new f(a.message||Br),{Ae:!0}),t.Fe=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function Yr(e,{fe:t,writer:n,transferStreams:r,Ee:o}){try{const{value:n,readable:i,writable:s}=e,a=[];if(n&&(e.value=It(n),a.push(e.value.buffer)),r&&Mr&&o?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{Mr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}Lr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.pe){let c;typeof a==pe&&(a=a());try{c=Pr(e.workerURI,r,e)}catch{return xr(e),Nr(e,t)}n.assign(e,{fe:c,Ee:!1,me:!1,Fe:null,pe:{run:async()=>{try{return await async function(e,t){if(!e.fe){const{Fe:t}=e;e.Fe=null;const n=t||new f(Ar);throw n.Ae=!0,n}let r,i;const s=new E((t,n)=>{r=t,i=t=>{const{outputSize:r,de:o}=e;if(o.outputSize=r,Bt(t))try{t.outputSize=r}catch{}n(t)}});n.assign(e,{reader:null,writer:null,outputSize:0,Se:!1,Re:null,ge:r,be:i,result:s});const{readable:a,options:c}=e,{writable:l,closed:u,xe:d}=function(e,t){const r=new AbortController;let o;const{writable:i,readable:s}=new S({transform(e,n){t.outputSize+=e.length,n.enqueue(e)}}),a=s.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:r.signal});return a.catch(e=>{o||n.assign(t,{Se:!0,Re:e})}),{writable:i,closed:a,xe:()=>{o=!0,r.abort()}}}(e.writable,e);let w;try{w=Yr({type:"start",options:c,config:t,readable:a,writable:l},e)}catch(t){d();try{await u}catch{}throw e.he(),t}w||n.assign(e,{reader:a.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;!e.Ee&&o.isFinite(p)&&p>=0&&(e.ze=T(()=>function(e){if(e.ze=null,e.Ee)return;const{be:t,writer:n}=e;if(Vr(e),e.fe=null,t){const e=new f(Ar);e.Ae=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await s;return await h(),await u,e}catch(t){await h(),d();try{await u}catch{}const{outputSize:n,de:r,Se:o,Re:i}=e;r.outputSize=n;const s=Bt(t)&&(t.codecImportFailed||t.Ae),a=o&&!s?i:t;if(Bt(a))try{a.outputSize=n}catch{}throw a}async function h(){if(!w&&!l.locked)try{await l.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.Ae)return xr(e),Wr(e),Ir(e,t);if(n&&n.codecImportFailed){if(e.reader)return Wr(e),Ir(e,t);e.he()}throw n}}}})}return e.pe},Rr=Lr;let Hr=[];const Kr=[];let qr,jr,Qr=0;async function Jr(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:l,computeCrc32:u,encrypted:f,format:w,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(e,t){try{return new d(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!jn.has(e)&&t&&_n(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(w,n.codecURI)),t.transferStreams=!w&&(i||i===de&&r.transferStreams);const g=!(c||l||u||f),b=w===de||Boolean(n.codecURI);return t.useWebWorkers=!g&&b&&(s||s===de&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:de,t.createWorker=t.useWebWorkers&&m?m:de,n.useCompressionStream=a||a===de&&r.useCompressionStream,(await async function(){const n=Hr.find(e=>!e.le);if(n)return to(n),new Dr(n,e,t,z);if(Hr.length<y){const n={De:Qr};return Qr++,Hr.push(n),new Dr(n,e,t,z)}return new E(n=>{Kr.push({resolve:n,stream:e,de:t}),jr=r.workerStarvationTimeout,Xr()})}()).run();function z(e){if(_r(),Kr.length){const[{resolve:t,stream:n,de:r}]=Kr.splice(0,1);t(new Dr(e,n,r,z)),Xr()}else e.fe?(to(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.me?e.me=!1:e.Ce=T(async()=>{Hr=Hr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):Hr=Hr.filter(t=>t!=e)}}function Xr(){!qr&&Kr.length&&o.isFinite(jr)&&jr>=0&&(qr=T($r,jr))}function _r(){qr&&(B(qr),qr=null)}function $r(){if(qr=null,Kr.length){const[{resolve:e,stream:t,de:r}]=Kr.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:de,createWorker:de});e(new Dr({},t,o,eo)),Xr()}}function eo(){_r(),Xr()}function to(e){const{Ce:t}=e;t&&(B(t),e.Ce=null)}const no="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function ro(e,t){return oo(e,t,!0)}function oo(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){let t="";for(let n=0;n<e.length;n++)t+=no[e[n]];return t}(e):new b(t,{ignoreBOM:n}).decode(e)}const io="HTTP error ",so="HTTP Range not supported",ao="HTTP resource changed",co="Writer iterator completed too soon",lo="Writer not initialized",uo="Invalid writer (size must be writable)",fo="Content-Range",wo="Range",po="GET",ho="bytes",mo=16777216,yo="writable",Eo=I();class go{constructor(){this.size=0}init(){this.initialized=!0}}class bo extends go{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=wt(ft())}={}){const r=this;let o=0;return n=pt(n),new R({async pull(i){const a=t===de?n:s.min(n,t-o),c=await Xo(r,e+o,a);c.length&&(i.enqueue(c),o+=c.length),(t!==de&&o>=t||!c.length&&a)&&i.close()}})}}class zo extends go{constructor(){super();const e=this,t=new x({write(t){if(!e.initialized)throw new f(lo);return e.writeUint8Array(It(t))}});n.defineProperty(e,yo,{get:()=>t})}writeUint8Array(){}}let Ao,Fo;class So extends bo{constructor(e){super(),n.assign(this,{ve:e,size:e.size}),Fo||(Fo=(async()=>{try{const e=new y([new w(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Ao=1==t}catch{Ao=!1}})())}createReadable(e){const{ve:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};if(typeof t.stream==pe){if(!r&&o>=n)return Wn(t.stream());if(Ao)return Wn(t.slice(r,r+o).stream())}return super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.ve:n.ve.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new w(i)}}class Ro extends go{constructor(e){super();const t=this,r=new S;n.defineProperty(t,yo,{get:()=>r.writable}),t.contentType=e,t.Ne=Vn(r.readable,e),t.Ne.catch(()=>{})}getData(){return this.Ne}}class xo extends bo{constructor(e,t){super(),Co(this,e,t)}async init(){await vo(this,Po,Mo),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:i}=t;if((n||r)&&i!==de){const{offset:n=0,size:r=i-n}=e||{};if(r>0&&n<i)return function(e,t,n){let r,i=t,a=0,c=n;return new R({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new f(so);const o=t.length>a?t.subarray(0,a):t;a-=o.length,c-=o.length,o.length&&e.enqueue(o),a||(await async function(){const e=r;r=de,await e.cancel()}(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=s.min(e.maximumRangeSize,c),n=await Po(po,e,Oo(e,i,t));if(206!=n.status)throw new f(so);const l=n.headers.get(fo);if(l){const e=o(l.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=i)throw new f(so)}Uo(e,n),Bo(e,n),i+=t,a=t,r=n.body.getReader()}}(t,n,s.min(r,i-n))}return super.createReadable(e)}readUint8Array(e,t){return No(this,e,t,Po,Mo)}}class Do extends bo{constructor(e,t){super(),Co(this,e,t)}async init(){await vo(this,Go,Lo),super.init()}readUint8Array(e,t){return No(this,e,t,Go,Lo)}}function Co(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:l=mo,fetch:u}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c,maximumRangeSize:l,fetch:u})}async function vo(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a}=e;if(function(e){const{baseURI:t}=ft(),{protocol:n}=new d(e,t);return"http:"==n||"https:"==n}(r)&&(i||s)&&(typeof o==we||o)){const r=await t(po,e,Oo(e,a?-22:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==ho))throw new f(so);{if(a){const t=new w(await r.arrayBuffer());206==r.status&&t.length==j&&(e.Ie=t)}Bo(e,r);const o=Io(r);o===de?await Vo(e,t,n):e.size=o}}else await Vo(e,t,n)}async function No(e,t,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,Ie:c,size:l,options:u}=e;if(s||a){if(c&&t==l-j&&n==j)return c;if(t>=l||0===n)return Ee;{t+n>l&&(n=l-t);const i=await r(po,e,Oo(e,t,n));if(206!=i.status)throw new f(so);const s=i.headers.get(fo);if(s){const e=o(s.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=t)throw new f(so)}Uo(e,i),Bo(e,i);const a=new w(await i.arrayBuffer());if(a.length!=n)throw new f(so);return a}}{const{data:r}=e;return r||await i(e,u),e.data.subarray(t,t+n)}}function Io(e){const t=e.headers.get(fo);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function To({headers:e}){return{Te:e.get("Etag")||de,lastModified:e.get("Last-Modified")||de}}function Bo(e,t){const{checkResourceChanges:n,Be:r}=e;n&&!r&&206==t.status&&(e.Be=To(t))}function Uo(e,t){const{checkResourceChanges:r,Be:o,size:i}=e;if(r){const e=Io(t);if(e!==de&&i!==de&&e!=i)throw new f(ao);if(o){const e=To(t);if(n.entries(o).some(([t,n])=>n!==de&&e[t]!==de&&n!=e[t]))throw new f(ao)}}}function Oo(e,t=0,r=1){return n.assign({},ko(e),{[wo]:ho+"="+(t<0?t:t+"-"+(t+r-1))})}function ko({options:e}){const{headers:t}=e;if(t)return I.iterator in t?n.fromEntries(t):t}async function Mo(e){await Wo(e,Po)}async function Lo(e){await Wo(e,Go)}async function Wo(e,t){const n=await t(po,e,ko(e));e.data=new w(await n.arrayBuffer()),e.size=e.data.length}async function Vo(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,ko(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function Po(e,{fetch:t=fetch,options:r,url:o},i){const s=await t(o,n.assign({},r,{method:e,headers:i}));if(s.status>=200&&s.status<=299)return s;throw 416==s.status?new f(so):new f(io+(s.statusText||s.status))}function Go(e,{url:t},r){return new E((o,i)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status>=200&&s.status<=299){const e=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),o({status:s.status,arrayBuffer:()=>s.response,headers:new c(e)})}else i(416==s.status?new f(so):new f(io+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>i(e.detail?e.detail.error:new f("Network error")),!1),s.open(e,t),r)for(const e of n.entries(r))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()})}class Zo extends bo{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Do(e,t):new xo(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 Yo extends bo{constructor(e){super(),this.Ue=e}async init(){const e=this;e.Oe=0;const t=e.Ue=await E.all(e.Ue.map(Jo));e.ke=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Me(e){const{ke:t,size:n}=this,r=t[e];return r===de?n:r}async readUint8Array(e,t){const n=this,{Ue:r}=this;let o,i=0,a=e;for(;r[i]&&a>=r[i].size;)a-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(a+t<=r)o=await Xo(c,a,t);else{const i=r-a;o=Nt(await Xo(c,a,i),await n.readUint8Array(e+i,t-i))}}else o=Ee;return n.Oe=s.max(i,n.Oe),o}}class Ho extends go{constructor(e,t=4294967295){super();const r=this;let o,i,s;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const a=new x({async write(t){if(t===Eo)return void(s&&await l());const{availableSize:n}=r;if(s)t.length>=n?(await c(t.subarray(0,n)),await l(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:a}=await e.next();if(a&&!n)throw new f(co);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await Qo(o),i=n.writable,s=i.getWriter(),await this.write(t)}},async close(){s&&(await s.ready,await u())},async abort(e){s&&await s.abort(e)}});async function c(e){const t=e.length;t&&(await s.ready,await s.write(e),o.size+=t,r.availableSize-=t)}async function l(){await u(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function u(){await s.close()}n.defineProperty(r,yo,{get:()=>a})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Eo)}finally{e.releaseLock()}}}class Ko{constructor(e){return t.isArray(e)&&(e=new Yo(e)),(e instanceof R||typeof e.getReader==pe)&&(e={readable:Wn(e)}),e}}class qo{constructor(e){e.writable===de&&typeof e.next==pe&&(e=new Ho(e)),(e instanceof x||typeof e.getWriter==pe)&&(e={writable:Pn(e)});try{e.size=e.size===de?0:e.size}catch{throw new f(uo)}return e}}function jo(e){return Boolean(e&&e.getData)}async function Qo(e,t){if(!e.init||e.initialized)return E.resolve();await e.init(t)}async function Jo(e){return e=new Ko(e),await Qo(e),e.size!==de&&e.readUint8Array||(e=new So(await Vn(e.readable)),await Qo(e)),e}function Xo(e,t,n){return e.readUint8Array(t,n)}function _o(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?bo.prototype.createReadable.call(e,t):e.readable}function $o(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==de&&(r.filename=n),e.push(r)}}const ei="filename",ti="rawFilename",ni="comment",ri="rawComment",oi="uncompressedSize",ii="compressedSize",si="offset",ai="diskNumberStart",ci="lastModDate",li="rawLastModDate",ui="lastAccessDate",di="rawLastAccessDate",fi="creationDate",wi="rawCreationDate",pi="internalFileAttributes",hi="externalFileAttributes",mi="msdosAttributesRaw",yi="msdosAttributes",Ei="msDosCompatible",gi="zip64",bi="encrypted",zi="version",Ai="versionMadeBy",Fi="zipCrypto",Si="directory",Ri="executable",xi="compressionMethod",Di="signature",Ci="extraField",vi="unixMode",Ni="setuid",Ii="setgid",Ti="sticky",Bi=[ei,ti,oi,ii,ci,li,ni,ri,ui,di,fi,wi,si,ai,pi,hi,mi,yi,Ei,gi,bi,zi,Ai,Fi,Si,Ri,"symlink",xi,Di,"crc32",Ci,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",vi,"unixExternalUpper",Ni,Ii,Ti,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Ui{constructor(e){Bi.forEach(t=>this[t]=e[t])}}const Oi=new l([1,X,10,_,28789,25461,$,ee,te,22613,13]);function ki(e,t,n){return e?t?12:16+4*n:0}const Mi="File format is not recognized",Li="End of central directory not found",Wi="End of Zip64 central directory locator not found",Vi="Central directory header not found",Pi="Local file header not found",Gi="Zip64 extra field not found",Zi="File contains encrypted entry",Yi="Encryption method not supported",Hi="Split zip file",Ki="Overlapping entry found",qi="Entry data out of bounds",ji="Ambiguous archive",Qi="Encrypted central directory is not supported",Ji="Unsafe filename",Xi="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",_i="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",$i="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",es="64-bit value exceeds Number.MAX_SAFE_INTEGER",ts="unsorted central directory",ns="unknown version needed to extract",rs="compressed patched data",os="malformed extra field",is="unknown zip64 extensible data",ss="wrapped entries count",as="appended data",cs="prepended data",ls="prepended central directory",us="trailing central directory data",ds="duplicate filename",fs="mismatched zip64 end of central directory record",ws="multiple end of central directory records",ps="mismatched local file header (filename)",hs="mismatched local file header (general purpose bit flag)",ms="mismatched local file header (compression method)",ys="mismatched local file header (crc32 or sizes)",Es=/^[a-zA-Z]:/,gs="utf-8",bs="cp437",zs=[[oi,k],[ii,k],[si,k],[ai,M]],As={[M]:{Le:oa,bytes:4},[k]:{Le:ia,bytes:8}},Fs=i(o.MAX_SAFE_INTEGER);class Ss{constructor(e,t={}){n.assign(this,{reader:new Ko(e),options:t,We:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await Qo(r),r.size!==de&&r.readUint8Array||(r=new So(await Vn(r.readable)),await Qo(r)),r.size<j)throw new f(Mi);const o=t.warnings=[],i=Ps(e,t.options),a=i==Me,c=i!=We,u=Ys(_s(t,e,Be),i),d=function(e,t){if(e===de)return t;if(!Vs(e))throw new f(_i);return e}(_s(t,e,"filenameValidation"),i),w=_s(t,e,"normalizeFilename"),{Ve:p,Pe:h}=await Hs(r,c,u);if(!p)throw await async function(e){return await Ws(e)==V}(r)?new f(Hi):new f(Li);c&&h>1&&Xs(ws);const m=Tt(p);let y=oa(m,12),E=oa(m,16);const g=p.offset,b=ra(m,20),z=g+j+b,A=r.size-z;A>u&&Xs(as),A>0&&$o(o,as);let F=ra(m,4);const R=r.Oe||0;let x,D,C,v,N,I=ra(m,6),T=ra(m,10),B=0,U=J;const O=E==k||y==k||T==M||I==M;if(E!=k&&I!=M&&(E+=Ls(r,I)),O){const e=p.offset>=Q?await Xo(r,p.offset-Q,Q):Ee,t=Tt(e);if(e.length==Q&&oa(t,0)==K){E=Ls(r,oa(t,4))+ia(t,8);let e=await Xo(r,E,J),i=Tt(e);const c=p.offset-Q-J;if((e.length<J||oa(i,0)!=H)&&E!=c&&c>=0){const t=E;E=c,E>t&&(B=E-t),e=await Xo(r,E,J),i=Tt(e)}if(e.length<J||oa(i,0)!=H)throw new f(Wi);if(C=!0,v=ia(i,4)>44,v){const e=s.min(ia(i,4)-44,r.size-E-J);e>0&&(U+=e,N=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=Tt(e),o=ra(r,26);n.assign(t,{compressionMethod:ra(r,0),compressedSize:ia(r,2),uncompressedSize:ia(r,10),encryptionAlgorithm:ra(r,18),bitLength:ra(r,20),flags:ra(r,22),hashAlgorithm:ra(r,24),hashData:e.subarray(28,28+o)})}return t}(await Xo(r,E+J,e)))}F==M?F=oa(i,16):F!=oa(i,16)&&Js(a,o,fs),I==M?I=oa(i,20):I!=oa(i,20)&&Js(a,o,fs),T==M?T=ia(i,32):T!=ia(i,32)&&Js(a,o,fs),y==k?y=ia(i,40):y!=ia(i,40)&&Js(a,o,fs),E=Ls(r,I)+ia(i,48)+B}}let W=y;const P=p.offset-(C?U+Q:0);if(E>=r.size&&(B=r.size-E-y-j,E=r.size-y-j),R!=F)throw new f(Hi);if(E<0)throw new f(Mi);let G=0,Y=await Xo(r,E,y),X=Tt(Y);if(y){if(Y.length<4)throw new f(Mi);const e=P-y;if(E!=e&&I==F){const t=oa(X,G)==Z||Boolean(N&&N.compressedSize)||Cs(X);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=oa(Tt(await Xo(r,e,4)),0)==Z),n){const n=E;E=e,E>n&&(B+=E-n,x=t),Y=await Xo(r,E,y),X=Tt(Y)}}}const _=P-E;if(y!=_&&_>=0&&I==F&&(y=_,Y=await Xo(r,E,y),X=Tt(Y)),E<0||E>=r.size)throw new f(Mi);t.directoryOffset=E,t.directoryLength=W;const $=$s(t,e,"decryptCentralDirectory");let ee,te;if($&&T&&Y.length>=4&&oa(X,0)!=Z&&(v||Cs(X))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(N,W,Y.length);te=Y.subarray(e),Y=await $(Y.subarray(0,e),N),X=Tt(Y),W=Y.length,ee=!0}N&&!ee&&(Y.length<4||oa(X,0)==Z)&&$o(o,is),D=E;const ne=_s(t,e,"filenameEncoding"),ce=_s(t,e,"commentEncoding"),le=new l;let ue,fe=-1;const we=!a&&!C;!T&&we&&(T=vs(X,Y,G),T&&$o(o,ss));for(let i=0;i<T;i++){const a=new Ds(r,t.options);if(G+q>Y.length||oa(X,G)!=Z){if(0==i&&!ee&&(v||Cs(X)))throw new f(Qi);throw new f(Vi)}Is(a,X,G+6);const c=Boolean(a.bitFlag.languageEncodingFlag),l=G+q,u=l+a.filenameLength,p=u+a.extraFieldLength,h=ra(X,G+4),m=!(h>>8),y=h>>8==3,E=Y.subarray(l,u),g=ra(X,G+32),b=p+g,z=Y.subarray(p,b),A=c,F=c,R=oa(X,G+38),x=R&L,C={readOnly:Boolean(1&x),hidden:Boolean(2&x),system:Boolean(4&x),directory:Boolean(16&x),archive:Boolean(32&x)},N=oa(X,G+42),I=$s(t,e,"decodeText")||ro,U=A?gs:ne||bs,O=F?gs:ce||bs;let k=I(E,U,Oe);if(k===de&&(k=ro(E,U)),w){const e=w(k);e!==de&&(k=e)}if(Zs(k,d)){const e=new f(Ji);throw e.filename=k,e}let W=I(z,O,ke);W===de&&(W=ro(z,O)),n.assign(a,{index:i,Ge:ee,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Ze:g,offset:N,diskNumberStart:ra(X,G+34),internalFileAttributes:ra(X,G+36),externalFileAttributes:R,msdosAttributesRaw:x,msdosAttributes:C,rawFilename:E,filenameUTF8:A,commentUTF8:F,rawExtraField:Y.subarray(u,p),rawComment:z,filename:k,comment:W}),Ts(a,a,X,G+6)&&$o(o,os,k),a.offset+=B;const V=Ls(r,a.diskNumberStart)+a.offset;D=s.min(V,D),V<fe&&$o(o,ts,k),fe=V,(a.version&L)>63&&$o(o,ns,k),32&~a.rawBitFlag||$o(o,rs,k),le.has(a.filename)&&(ue=!0),le.add(a.filename);const P=a.externalFileAttributes>>16&M;a.unixMode===de&&16877&P&&(a.unixMode=P);const H=Boolean(a.unixMode&ie),K=Boolean(a.unixMode&se),j=Boolean(512&a.unixMode),Q=40960==((a.unixMode===de?P:a.unixMode)&re),J=!Q&&(a.unixMode!==de?!!(73&a.unixMode):y&&!!(73&P)),_=a.unixMode!==de&&(a.unixMode&re)==oe,$=(P&re)==oe;n.assign(a,{setuid:H,setgid:K,sticky:j,symlink:Q,unixExternalUpper:P,executable:J,directory:_||$||m&&C.directory||a.filename.endsWith(ae),zipCrypto:a.encrypted&&!a.extraFieldAES});const te=new Ui(a);if(te.getData=(e,n)=>a.getData(e,te,t.We,n),te.arrayBuffer=async e=>{const r=new S,o=Vn(r.readable).then(e=>e.arrayBuffer());return o.catch(()=>{}),await a.getData(r,te,t.We,n.assign({},e,{preventClose:!1})),o},G=b,i==T-1&&we){const e=vs(X,Y,G);e&&(T+=e,$o(o,ss))}const{onprogress:pe}=e;if(pe)try{await pe(i+1,T,new Ui(a))}catch{}yield te}let pe=G,he=Ns(Y.subarray(G))||(ee?Ns(te):de);if(!he&&!ee){const e=E+G,t=s.min(P-e,65541);t>=6&&(he=Ns(await Xo(r,e,t)))}he&&(t.digitalSignature=he,pe=G+6+he.length),(G!=W&&pe!=W||!ee&&G!=y&&pe!=y)&&Js(a,o,us),ue&&Js(a,o,ds);const me=_s(t,e,"extractPrependedData"),ye=_s(t,e,"extractAppendedData"),ge=(a||me)&&T&&4==D&&await async function(e){const t=await Ws(e);return t==V||808471376==t}(r)?4:0;return a&&(B||T&&D>ge)&&Xs(cs),(B||T&&D>4)&&$o(o,cs),x&&$o(o,ls),me&&(t.prependedData=D>ge?await Xo(r,ge,D-ge):Ee),t.comment=b?await Xo(r,g+j,b):Ee,ye&&(t.appendedData=z<r.size?await Xo(r,z,r.size-z):Ee),!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()}[ge](){return this.close()}}class Rs{constructor(e={}){let r;const{readable:o,writable:i}=new S({start(e){r=e}}),s=new Ss(o,e),a=s.getEntriesGenerator(),c=new l;this.readable=new R({async pull(e){const{done:t,value:r}=await a.next();if(t)return e.close();const o=function(e,t){const{readable:n,writable:r}=new S;let o;const i={cancel:async e=>{t.delete(i),await(o?o.cancel(e):n.cancel(e))}};return i.readable=new R({async pull(s){o||(o=n.getReader(),t.add(i),async function(){try{await e.getData(r,{preventClose:!1})}catch(e){try{await r.abort(e)}catch{}}finally{t.delete(i)}}());const{done:a,value:c}=await o.read();a?s.close():s.enqueue(c)},cancel:e=>i.cancel(e)},{highWaterMark:0}),i}(r,c),i={...r,readable:o.readable};delete i.getData,n.defineProperties(i,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),e.enqueue(i)},async cancel(e){const n=t.from(c);c.clear(),r.error(e),await E.allSettled(n.map(t=>t.cancel(e))),await E.allSettled([a.return(),s.close()])}}),this.writable=i}}async function xs(e,t={}){if(e=new Ko(e),await Qo(e),e.size!==de&&e.readUint8Array||(e=new So(await Vn(e.readable)),await Qo(e)),e.size<j)return!1;const n=Ps(t,{}),r=n!=We,o=Ys(t[Be],n),{Ve:i,Pe:s}=await Hs(e,r,o);if(!i||n==Me&&s>1)return!1;const a=ra(Tt(i),20),c=i.offset+j+a;return e.size-c<=o}class Ds{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,r,o={}){const i=this,a=ft(),{reader:c,index:l,offset:u,diskNumberStart:d,extraFieldAES:w,extraFieldZip64:p,compressionMethod:h,bitFlag:m,rawBitFlag:y,crc32:E,rawLastModDate:g,uncompressedSize:b,compressedSize:z}=i,{dataDescriptor:A}=m,F=t.localDirectory={},S=t.warnings=[],R=Ls(c,d)+u,D=await Xo(c,R,ce),C=Tt(D);let v=_s(i,o,be),N=_s(i,o,ze);const I=Je(_s(i,o,Ae)),T=Boolean(I),B=!0===I;if(Qe(v,N),v=v&&v.length&&v,N=N&&N.length&&N,w&&99!=w.originalCompressionMethod)throw new f(Hn);if(D.length<ce||oa(C,0)!=W)throw new f(Pi);Is(F,C,4);const{extraFieldLength:U,filenameLength:O}=F,k=F.dataOffset=R+ce+O+U,M=_s(i,o,"checkLocalDirectory"),V=Ps(o,i.options),G=function(e,t){return e===de?t!=We:Boolean(e)}(M,V),Z=_s(i,o,"checkLocalFilename"),Y=function(e,t){return e===de?t==Me:Boolean(e)}(Z===de?M:Z,V);let H=Ee;if(Y&&(O||U)){const e=await Xo(c,R+ce,O+U);H=e.subarray(0,O),F.rawExtraField=e.subarray(O)}else F.rawExtraField=U?await Xo(c,R+ce+O,U):Ee;Y&&(F.rawFilename=H),Ts(i,F,C,4,!0)&&$o(S,os),function(e,t,n,r,o){const{rawFilename:i}=e,s=!o,a=e.Ge&&!(8192&~t.rawBitFlag);!r||a||n.length==i.length&&!n.some((e,t)=>e!=i[t])||Js(s,o,ps),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Js(s,o,hs),t.compressionMethod!=e.compressionMethod&&Js(s,o,ms),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Js(s,o,ys)}(i,F,H,Y,G?de:S);const{lastAccessDate:K,creationDate:q,uid:j,gid:Q}=F;K&&(t.lastAccessDate=K),q&&(t.creationDate=q),j!==de&&t.uid===de&&(t.uid=j),Q!==de&&t.gid===de&&(t.gid=Q);const J=_s(i,o,"checkPasswordOnly"),X=i.encrypted&&F.encrypted&&(!B||J),_=X&&!w;if(B||(t.zipCrypto=_),X&&!(64&~F.rawBitFlag))throw new f(Yi);const $=T?de:Qn(h);if(0!=h&&8!=h&&9!=h&&!$&&!T)throw new f(Hn);if(X){if(!_&&(w.strength<1||w.strength>3))throw new f(Yi);if(!v&&!N)throw new f(Zi)}if(k+z>c.size)throw new f(qi);const ee=z,te=Wn(c.createReadable({offset:k,size:ee})),ne=qe(_s(i,o,Fe));je(ne);let re=_s(i,o,"checkOverlappingEntry");const oe=_s(i,o,"checkOverlappingEntryOnly");oe&&(re=!0);const{onstart:ie,onprogress:se,onend:ae}=o,le=0!=h&&!T,ue=T?z-ki(X,_,w&&w.strength):b,fe=9==h;let we=_s(i,o,Re);fe&&(we=!1);const pe=_s(i,o,"checkCrc32"),he=(pe===de?_s(i,o,"checkSignature"):pe)&&!T&&(!X||_||w&&1==w.vendorVersion),me={options:{codecType:gr,password:v,rawPassword:N,zipCrypto:_,encryptionStrength:w&&w.strength,checkCrc32:he,checkAuthenticationCode:_s(i,o,"checkAuthenticationCode"),passwordVerification:_&&(A?g>>>8&L:E>>>24&L),outputSize:ue,crc32:E,compressed:le,encrypted:X,useWebWorkers:_s(i,o,Se),useCompressionStream:we,transferStreams:_s(i,o,xe),deflate64:fe,format:$?$.format:de,codecURI:$?$.codecURI:de,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:J},config:a,ce:{signal:ne,size:ee,onstart:ie,onprogress:se,onend:ae}};let ye,ge,Ce;re&&await async function({reader:e,Ye:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:l,We:u}){let d=0;if(c&&(d=l?20:12),d){const n=await Xo(e,a+i,d+4),r=Tt(n);let c=n.length==d+4&&oa(r,0)==P;if(c){const e=Ms(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==s?d+=4:c=!1}if(n.length>=d){const e=Ms(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const w={start:r,end:a+i+d,Ye:t};for(const[e,t]of u)if(e!=n&&w.start<t.end&&t.start<w.end){const e=new f(Ki);throw e.overlappingEntry=t.Ye,e}u.set(n,w)}({reader:c,Ye:t,index:l,offset:R,crc32:E,compressedSize:z,uncompressedSize:b,dataOffset:k,dataDescriptor:A||F.bitFlag.dataDescriptor,extraFieldZip64:p||F.extraFieldZip64,We:r});try{if(!oe){J&&(e=new x),e=new qo(e),await Qo(e,function(e,t,n){return s.min(e,n?1032*t:t)}(ue,z,le)),({writable:ye}=e);const{outputSize:t}=await Jr({readable:te,writable:ye},me);if(t!=ue)throw n.assign(new f($n),{outputSize:t});e.size+=t}}catch(t){const{outputSize:n}=me;if(n!==de?e.size+=n:Bt(t)&&t.outputSize!==de&&(e.size+=t.outputSize),!J||!Bt(t)||t.message!=$t)throw ge=t,Ce=!0,t}finally{if((jo(e)||!_s(i,o,De))&&ye&&!ye.locked){const e=ye.getWriter();if(Ce)try{await e.abort(ge)}catch{}else await e.close()}}return J||oe?de:e.getData?e.getData():ye}}function Cs(e){const t=s.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==oa(e,n))return!0;return!1}function vs(e,t,n){let r=0;for(;n+q<=t.length&&oa(e,n)==Z;)n+=q+ra(e,n+28)+ra(e,n+30)+ra(e,n+32),r++;return r%65536?0:r}function Ns(e){if(e.length>=6){const t=Tt(e);if(oa(t,0)==G){const n=ra(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function Is(e,t,r){const o=e.rawBitFlag=ra(t,r+2),i=!(1&~o),s=oa(t,r+6);n.assign(e,{encrypted:i,version:ra(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&ne)==ne},rawLastModDate:s,lastModDate:ea(s),filenameLength:ra(t,r+22),extraFieldLength:ra(t,r+24)})}function Ts(e,t,r,o,i){const{rawExtraField:s}=t,l=t.extraField=new c,u=Tt(s);let d=0,w=!1;try{for(;d<s.length;){const e=ra(u,d),t=ra(u,d+2);l.set(e,{type:e,data:s.slice(d+4,d+4+t)}),d+=4+t}}catch{w=!0}d>s.length&&(w=!0);const p=ra(r,o+4);n.assign(t,{signature:oa(r,o+10),crc32:oa(r,o+10),compressedSize:oa(r,o+14),uncompressedSize:oa(r,o+18)});const h=l.get(1);h&&(function(e,t){t.zip64=!0;const n=Tt(e.data),r=zs.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+As[t].bytes,0);if(e.data.length<o)throw new f(Gi);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=As[a];t[s]=e[s]=c.Le(n,i),i+=c.bytes}}(h,t),t.extraFieldZip64=h);const m=l.get(28789);m&&(Bs(m,ei,ti,t,e),t.extraFieldUnicodePath=m);const y=l.get(25461);y&&(Bs(y,ni,ri,t,e),t.extraFieldUnicodeComment=y);const E=l.get(X);E&&E.data.length>=7?(function(e,t,r){const o=Tt(e.data),i=na(o,4);n.assign(e,{vendorVersion:na(o,0),vendorId:na(o,2),strength:i,originalCompressionMethod:r,compressionMethod:ra(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=de)}(E,t,p),t.extraFieldAES=E):t.compressionMethod=p;const g=l.get(13);g&&(Us(g,t),t.extraFieldPkwareUnix=g);const b=l.get(22613);b&&(Us(b,t),t.extraFieldUnixType1=b);const z=l.get(10);z&&(function(e,t){const r=Tt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=ra(r,i),n=ra(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=Tt(o),i=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:s,rawCreationDate:a});const c={lastModDate:ta(i),lastAccessDate:ta(s),creationDate:ta(a)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:s,rawCreationDate:a})}}(z,t),t.extraFieldNTFS=z);const A=l.get(te);let F;if(A&&(F=Os(A,t,!1),t.extraFieldUnix=A),!F){const e=l.get(ee);e&&(Os(e,t,!0),t.extraFieldInfoZip=e)}const S=l.get(_);S&&(function(e,t,n){if(!e.data.length)return;const r=Tt(e.data),o=na(r,0),i=[],s=[];n?(1&~o||(i.push(ci),s.push(li)),2&~o||(i.push(ui),s.push(di)),4&~o||(i.push(fi),s.push(wi))):e.data.length>=5&&(i.push(ci),s.push(li));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=oa(r,c);t[n]=e[n]=new a(1e3*(0|i));const l=s[o];e[l]=i}c+=4})}(S,t,i),t.extraFieldExtendedTimestamp=S);const R=l.get($);return R&&(t.extraFieldUSDZ=R),w}function Bs(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const s=Tt(e.data),a=new Zt;a.append(i[r]);const c=Tt(new w(4));c.setUint32(0,a.get(),!0);const l=oa(s,1),u=na(s,0);n.assign(e,{version:u,[t]:ro(e.data.subarray(5)),valid:1==u&&!i.bitFlag.languageEncodingFlag&&l==oa(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function Us(e,t){if(e.data.length<8)return;const r=Tt(e.data),o={lastAccessDate:new a(1e3*(0|oa(r,0))),lastModDate:new a(1e3*(0|oa(r,4)))};e.data.length>=12&&(o.uid=ra(r,8),o.gid=ra(r,10)),n.assign(e,o),n.assign(t,o)}function Os(e,t,r){try{const o=Tt(e.data);let i,s;if(r){let t=0;const r=na(o,t++),a=na(o,t++);i=ks(e.data.subarray(t,t+a)),t+=a;const c=na(o,t++);s=ks(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:s})}else e.data.length>=4&&(i=ra(o,0),s=ra(o,2),n.assign(e,{uid:i,gid:s}));return i!==de&&(t.uid=i),s!==de&&(t.gid=s),i!==de||s!==de}catch{}}function ks(e){const t=new w(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Ms(e,t,n){const r=oa(e,t);let o,i;return n?(o=ia(e,t+4),i=ia(e,t+12)):(o=oa(e,t+4),i=oa(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function Ls(e,t){return e.Me?e.Me(t):0}async function Ws(e){return oa(Tt(await Xo(e,0,4)))}function Vs(e){return e===Me||e===Le||e===We}function Ps(e,t){return Gs(e,Gs(t,Le))}function Gs(e,t){const n=e.strictness;if(n!==de){if(!Vs(n))throw new f(Xi);return n}const r=e.checkAmbiguity;return r===de?t:r?Me:t==We?We:Le}function Zs(e,t){if(t==We)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||Es.test(e))||t==Me&&(n.includes(".")||n.includes(""))}function Ys(e,t){if(e!==de){const t=$e(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new f($i);return t}return t==Me?0:t==We?1/0:M}async function Hs(e,t,n){const{size:r}=e,o=s.min(r,65557),i={count:64};let a,c,l=0;for await(const[n,s,u,d,f]of Ks(e,o)){const o=ra(n,d+20);if(f+j+o==r){const o=await js(e,n,s,d,f,r,i);if(2==o){if(a||(a=qs(u,d,f)),l++,!t||l>1)break}else 1!=o||c||(c=qs(u,d,f))}}return a||(a=c),a||(a=await async function(e,t,n){const{size:r}=e,o=s.min(r,t==1/0?r:65557+t);let i,a;for await(const[t,s,c,l,u]of Ks(e,o)){const o=qs(c,l,u);i||(i=o);const d=await js(e,t,s,l,u,r,n);if(2==d)return o;1!=d||a||(a=o)}return a||i}(e,n,i)),{Ve:a,Pe:l}}async function*Ks(e,t){const n=e.size-t,r=await Xo(e,n,t),o=Tt(r);for(let e=r.length-j;e>=0;e--)oa(o,e)==Y&&(yield[o,n,r,e,n+e])}function qs(e,t,n){return{offset:n,buffer:e.slice(t,t+j).buffer}}async function js(e,t,n,r,o,i,s){const a=ra(t,r+10),c=oa(t,r+12),l=oa(t,r+16);if(a==M||c==k||l==k)return await Qs(e,t,n,o-Q,i,s)==K?2:0;if(!a&&!c)return 1;const u=ra(t,r+6);for(const r of[o-c,Ls(e,u)+l])if(await Qs(e,t,n,r,i,s)==Z)return 2;return 0}async function Qs(e,t,n,r,o,i){return r<0||r+4>o?de:r>=n?oa(t,r-n):i.count>0?(i.count--,oa(Tt(await Xo(e,r,4)),0)):de}function Js(e,t,n){e?Xs(n):$o(t,n)}function Xs(e){const t=new f(ji);throw t.reason=e,t}function _s(e,t,n){return t[n]===de?e.options[n]:t[n]}function $s(e,t,n){return Ke(_s(e,t,n))}function ea(e){const t=(4294901760&e)>>16,n=e&M,r=new a(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<ue?ue:r}function ta(e){return new a(o(e/i(1e4)-i(116444736e5)))}function na(e,t){return e.getUint8(t)}function ra(e,t){return e.getUint16(t,!0)}function oa(e,t){return e.getUint32(t,!0)}function ia(e,t){const n=e.getBigUint64(t,!0);if(n>Fs)throw new f(es);return o(n)}var sa=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:ji,ERR_BAD_FORMAT:Mi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Vi,ERR_ENCRYPTED:Zi,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Qi,ERR_ENTRY_DATA_OUT_OF_BOUNDS:qi,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Wi,ERR_EOCDR_NOT_FOUND:Li,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Gi,ERR_INVALID_AUTHENTICATION_CODE:_t,ERR_INVALID_COMPRESSED_DATA:er,ERR_INVALID_CRC32:tr,ERR_INVALID_FILENAME_VALIDATION:_i,ERR_INVALID_MAX_APPENDED_DATA_SIZE:$i,ERR_INVALID_PASSWORD:Xt,ERR_INVALID_STRICTNESS:Xi,ERR_INVALID_UNCOMPRESSED_SIZE:$n,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Pi,ERR_OVERLAPPING_ENTRY:Ki,ERR_SPLIT_ZIP_FILE:Hi,ERR_UNSAFE_FILENAME:Ji,ERR_UNSUPPORTED_COMPRESSION:Hn,ERR_UNSUPPORTED_ENCRYPTION:Yi,ERR_UNSUPPORTED_UINT64:es,ERR_WORKER_STARTUP_TIMEOUT:Ar,WARNING_APPENDED_DATA:as,WARNING_COMPRESSED_PATCHED_DATA:rs,WARNING_DUPLICATE_FILENAME:ds,WARNING_MALFORMED_EXTRA_FIELD:os,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:hs,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:ms,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:ys,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:ps,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:fs,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:ws,WARNING_PREPENDED_CENTRAL_DIRECTORY:ls,WARNING_PREPENDED_DATA:cs,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:us,WARNING_UNKNOWN_VERSION:ns,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:is,WARNING_UNSORTED_CENTRAL_DIRECTORY:ts,WARNING_WRAPPED_ENTRIES_COUNT:ss,ZipReader:Ss,ZipReaderStream:Rs,isZipFile:xs});const aa="File already exists",ca="Zip file comment exceeds 64KB",la="Invalid zip file comment (must be a Uint8Array)",ua="File entry comment exceeds 64KB",da="Invalid file entry comment (must be a string)",fa="Invalid date (must be a valid Date instance)",wa="File entry name exceeds 64KB",pa="Version exceeds 65535",ha="The strength must equal 1, 2, or 3",ma="Encryption is not supported in USDZ files",ya="Split zip files are not supported in USDZ files",Ea="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",ga="Invalid extra field (must be a Map)",ba="Invalid extra field type (must be integer 0..65535)",za="Invalid extra field data (must be a Uint8Array)",Aa="Extra field data exceeds 64KB",Fa=-2147483648,Sa=2147483647,Ra=i(0),xa=i("0x7fffffffffffffff"),Da="Zip64 is not supported (set the 'zip64' option to 'true')",Ca="Undefined uncompressed size",va="Undefined compression method",Na="Undefined CRC32",Ia="Undefined reader",Ta="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",Ba="Zip file not empty",Ua="Invalid uid (must be integer 0..2^32-1)",Oa="Invalid gid (must be integer 0..2^32-1)",ka="Invalid UNIX mode (must be integer 0..65535)",Ma="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",La="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Wa="Invalid msdosAttributesRaw (must be integer 0..255)",Va="Invalid msdosAttributes (must be an object with boolean flags)",Pa="Invalid level (must be integer 0..9)",Ga="Signature data exceeds 64KB",Za="Invalid entry option (must be an entry returned by ZipReader#getEntries())",Ya="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",Ha="compression unavailable",Ka="clamped last modification date",qa=new w([7,0,2,0,65,69,3,0,0]),ja="infozip",Qa="unix",Ja=[8,9,5,3];let Xa=0;const _a=[];class $a{constructor(e,t={}){e=new qo(e);const{availableSize:r=fe,maxSize:o=fe}=e,i=r>0&&r!==fe&&o>0&&o!==fe;if(i&&t[Te])throw new f(ya);n.assign(this,{writer:e,He:i,options:t,Ke:new c,qe:new l,offset:t[Ie]===de?e.size||e.writable.size||0:t[Ie],je:t[Ie]===de?0:t[Ie]-(e.size||e.writable.size||0),Qe:new l,Je:[],warnings:[],Xe:0,_e:0,$e:de,et:!1})}prependZip(e){return nc(this,async function(e,t){if(e.qe.size)throw new f(Ba);await e.nt(t)}(this,e))}appendZip(e){return nc(this,this.nt(e))}async nt(e){const r=this,{Qe:o,qe:i,Ke:s}=r;for(;o.size;)await E.allSettled(t.from(o));let a;const l=new E(e=>a=e);o.add(l);const u=[];let d;try{e=new Ko(e),await Qo(e),e.size!==de&&e.readUint8Array||(e=new So(await Vn(e.readable)),await Qo(e));const{ZipReader:o}=await E.resolve().then(function(){return sa}),a=new o(e),l=await a.getEntries();await a.close(),await Qo(r.writer);const{directoryOffset:w}=a;l.forEach(({filename:e})=>{if(i.has(e))throw new f(aa);i.add(e),u.push(e)}),r.ot=!0;const{it:p}=r;r.it=new E(e=>d=()=>{r.ot=!1,e()}),await p,r.He&&(delete r.He,await async function(e){return Tt(await Xo(e,0,4)).getUint32(0,!0)==V}(e)||(await gc(r.writer,yc()),r.offset+=4));const h=await async function(e,n,r,o){const{writer:i}=e,s=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>mc(n,e)-mc(n,t));let c=0;for(const t of a){const r=mc(n,t);await pc(e,n,c,r-c),dc(i,await hc(n,r))&&await i.closeDisk(),s.set(t,{offset:fc(e,i),diskNumberStart:lc(i)}),c=r}await pc(e,n,c,o-c)}else{const t=e.offset;await pc(e,n,0,o),r.forEach(e=>s.set(e,{offset:t+mc(n,e),diskNumberStart:0}))}return s}(r,e,l,w);l.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:l,extraFieldZip64:u}=e;let{compressionMethod:d,rawExtraField:f}=e;const{level:w,languageEncodingFlag:p,dataDescriptor:m}=i;f=wc(f||Ee),e.extraFieldAES&&(d=99);const y=Oc(f),E=Boolean(u)&&u.uncompressedSize!==de,g=Boolean(u)&&u.compressedSize!==de,b=-7&Lc(w,p,m,a,d)|w<<1,{st:z,ct:A}=kc({version:t,bitFlag:b,compressionMethod:d,uncompressedSize:c,compressedSize:l,rawLastModDate:r,rawFilename:o,lt:g,ut:E,extraFieldLength:y}),{crc32:F}=e;F!==de&&Tc(A,10,F);const{offset:S,diskNumberStart:R}=h.get(e);n.assign(e,{ft:!0,ut:E,lt:g,offset:S,diskNumberStart:R,wt:!1,ht:Ee,yt:Ee,Et:Ee,gt:Ee,bt:Ee,rawExtraField:f,zt:Ee,extendedTimestamp:!1,st:z,ct:A}),s.set(e.filename,e)})}catch(e){throw u.forEach(e=>i.delete(e)),e}finally{a(),o.delete(l),d&&d()}}add(e="",r,l={}){const u=this,{Qe:d}=u,p=async function(e,r,l,u){const d=(u=n.assign({},u))[Ue];if(d!==de){const{At:r,Ft:o}=function(e,r,o){if(null===e||typeof e!=he||t.isArray(e))throw new f(Za);const{externalFileAttributes:i,versionMadeBy:l,comment:u,lastModDate:d,rawLastModDate:w,creationDate:p,lastAccessDate:h,uncompressedSize:m,encrypted:y,zipCrypto:E,crc32:g,compressionMethod:b,extraFieldAES:z,extraFieldUnix:A,internalFileAttributes:F,extraField:S,bitFlag:R,directory:x,uid:D,gid:C}=e,v={externalFileAttributes:i,versionMadeBy:l,comment:u,lastModDate:d,creationDate:p,lastAccessDate:h,internalFileAttributes:F,directory:x};R&&R.languageEncodingFlag&&(v[ve]=!0);const N=function(e){if(e){const t=new c;if(e.forEach((e,n)=>{Oi.has(n)||t.set(n,e.data)}),t.size)return t}}(S);N&&(v[Ci]=N),D===de&&C===de||n.assign(v,{uid:D,gid:C,unixExtraFieldType:A?Qa:ja});const I={};if(r&&!x)if(n.assign(I,{uncompressedSize:m,crc32:g,compressionMethod:b}),r!==Ve&&n.assign(I,{encrypted:y,zipCrypto:E,encryptionStrength:z?z.strength:de}),R&&(I.dataDescriptor=R.dataDescriptor,I[Ce]=Ja[R.level]),o===de)I.rawLastModDate=w;else if(r!==Ve&&E&&(!R||R.dataDescriptor)&&o instanceof a&&function(e){let t=new a(2e3*s.ceil(s.floor(e.getTime()/1e3)/2));return t<ue?t=ue:t>le&&(t=le),(t.getHours()<<3|t.getMinutes()>>3)&L}(o)!=(w>>>8&L))throw new f(Ya);return{At:v,Ft:I}}(d,Je(Sc(e,u,Ae)),Sc(e,u,ci));delete u[Ue],u=n.assign(r,o,u)}if(Sc(e,u,Si)&&!r.endsWith(ae)&&(r+=ae),e.qe.has(r))throw new f(aa);e.qe.add(r),Xa<ft().maxWorkers?Xa++:await new E(e=>_a.push(e));try{return await async function(e,r,c,l){const u=function(e,n,r){let o=Sc(e,r,Ei),i=Sc(e,r,Ai,o?20:768);const s=Sc(e,r,Ri),a=Dc(e,r,"uid"),c=Dc(e,r,"gid");let l=Dc(e,r,vi),u=Sc(e,r,"unixExtraFieldType"),d=Sc(e,r,Ni),w=Sc(e,r,Ii),p=Sc(e,r,Ti);if(_e(a,k,Ua),_e(c,k,Oa),_e(l,M,ka),u!==de&&u!==ja&&u!==Qa)throw new f(Ma);if(u===Qa&&(a!==de&&a>M||c!==de&&c>M))throw new f(La);u!==de||a===de&&c===de||(u=ja);let h=Dc(e,r,mi),m=Sc(e,r,yi);const y=h!==de||m!==de;if(a!==de||c!==de||l!==de||u||s?(o=!1,i=i&L|768):y&&(o=!0,i&=L),_e(h,L,Wa),m&&(typeof m!==he||t.isArray(m)))throw new f(Va);if(i>M)throw new f(pa);let E=Sc(e,r,hi);const g=E!==de;g||(E=0),!r[Si]&&n.endsWith(ae)&&(r[Si]=!0);const b=Sc(e,r,Si);if(b?(n.endsWith(ae)||(n+=ae),g||(E=16,o||(E|=16877<<16))):o||g||(E=s?493<<16:27525120),!o){const e=l!==de||Boolean(d||w||p);l=l===de?E>>16&M:l&M,d?l|=ie:d=Boolean(l&ie),w?l|=se:w=Boolean(l&se),p?l|=512:p=Boolean(512&l),g&&!e||(b?l=-61441&l|oe:l&re||(l|=32768),E=(l&M)<<16|E&M)}({msdosAttributesRaw:h,msdosAttributes:m}=function(e,t){if(e!==de)e&=L;else if(t!==de){const{readOnly:n,hidden:r,system:o,directory:i,archive:s}=t;let a=0;n&&(a|=1),r&&(a|=2),o&&(a|=4),i&&(a|=16),s&&(a|=32),e=a&L}return t===de&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(h,m)),y&&(E=E&k|h&L);const z=E>>16&M,A=l!==de&&40960==(l&re);return{name:n,St:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:E,unixExternalUpper:z,uid:a,gid:c,unixMode:l,unixExtraFieldType:u,symlink:A,setuid:d,setgid:w,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}}(e,r,l);({name:r}=u);const d=function(e,t,n){const r=xc(e,n,"encodeText")||Ht;let i=r(t,Oe);if(i===de&&(i=Ht(t)),Oc(i)>M)throw new f(wa);const s=n[ni]||"";if(typeof s!=me)throw new f(da);let c=r(s,ke);if(c===de&&(c=Ht(s)),Oc(c)>M)throw new f(ua);const l=Sc(e,n,zi);if(l!==de&&l>M)throw new f(pa);const u=Rc(e,n,ci,new a),d=Sc(e,n,li),w=Rc(e,n,ui),p=Rc(e,n,fi),h=Sc(e,n,pi,0),m=Je(Sc(e,n,Ae)),y=Boolean(m),E=!0===m,g=Sc(e,n,be),b=Sc(e,n,ze);Qe(g,b);const z=Dc(e,n,"encryptionStrength",3),A=Sc(e,n,Fi),F=Sc(e,n,"extendedTimestamp",!0),S=Sc(e,n,"ntfsTimestamp"),R=Sc(e,n,"keepOrder",!0),x=Sc(e,n,Se),D=Sc(e,n,xe),C=Sc(e,n,"bufferedWrite"),v=xc(e,n,"createTempStream"),N=Sc(e,n,"dataDescriptorSignature",!0),I=qe(Sc(e,n,Fe));je(I);const T=Sc(e,n,ve,!Mc(i)||!Mc(c)),B=Sc(e,n,xi),U=y||B===de?de:Qn(B);if(!y&&B!==de&&0!==B&&8!==B&&!U)throw new f(Hn);let O=Dc(e,n,Ce);if(_e(O,9,Pa),e.options[Te]){if(g!==de||b!==de)throw new f(ma);O===de&&B===de&&(O=0)}y&&(O=$e(n[Ce]));let k=Sc(e,n,Re),L=Sc(e,n,Ne);C&&L===de&&(L=!1),(L===de||A&&!E)&&(L=!0),O!==de&&6!=O&&(k=!1);const W=Sc(e,n,gi);if(!(A||g===de&&b===de||o.isInteger(z)&&z>=1&&z<=3))throw new f(ha);const V=ic(n[Ci]),P=ic(n.localExtraField),G=ic(n.centralExtraField);return{comment:s,St:{rawFilename:i,rawComment:c,version:l,lastModDate:u,rawLastModDate:d,lastAccessDate:w,creationDate:p,internalFileAttributes:h,Rt:y,xt:E,password:g,rawPassword:b,encryptionStrength:z,zipCrypto:A,extendedTimestamp:F,ntfsTimestamp:S,keepOrder:R,useWebWorkers:x,transferStreams:D,bufferedWrite:C,createTempStream:v,dataDescriptorSignature:N,signal:I,useUnicodeFileNames:T,compressionMethod:B,format:U?U.format:de,codecURI:U?U.codecURI:de,Dt:U?U.versionNeeded:de,level:O,useCompressionStream:k,dataDescriptor:L,zip64:W,rawExtraField:V,Ct:P,zt:G}}}(e,r,l),{comment:p}=d,h=l[Ci];e.Ke.set(r,de);const m=e.$e,y={};let g,b;d.St.keepOrder&&(y.vt=new E(e=>g=e)),e.$e=y;try{const{St:t}=d;0==t.level||t.compressionMethod!==de||t.Rt||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.ye)return!0;if(dr(t)||ur(t,or))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1}(ft())||(t.level=0,$o(e.warnings,Ha,r));const o=await async function(e,t,{St:r},o){if(r.Rt&&!t&&!Sc(e,o,Si))throw new f(Ia);let i;if(t){if(t=new Ko(t),await Qo(t),!t.readable&&!t.readUint8Array)throw new f(Ta);({size:i}=t)}return n.assign({reader:t},function(e,t,n,r,o){const{Rt:i,xt:s,zipCrypto:a,password:c,rawPassword:l,encryptionStrength:u}=r;let{dataDescriptor:d,zip64:w,level:p,compressionMethod:h}=r,m=0,y=0,E=!1;if(i&&t){if(y=o[oi],y===de)throw new f(Ca);if(h===de)throw new f(va)}const g=!0===w,b=Sc(e,o,bi);if(t&&s&&!b&&Oc(c,l))throw new f(Ea);const z=t&&(Boolean(c&&Oc(c)||l&&Oc(l))||s&&b);t||(p=0,h=0);const A=ki(z,a,u);t&&(i?(o.uncompressedSize=y,m=n===de?Cc(y)+A:n+(s?0:A)):n===de?(d=!0,(w||w===de)&&(w=E=!0,m=4294967296)):(o.uncompressedSize=y=n,m=(vc(h,p)?Cc(y):y)+A));const F=!(z||t&&(0!==n||i)||vc(h,p));F&&!a&&Sc(e,o,Ne)===de&&(d=!1);const S=g||E||y>=k,R=g||m>=k;if(S||R){if(!1===w)throw new f(Da);w=!0}return w=w||!1,{Nt:m,St:{dataDescriptor:d,It:F,zip64:w,ft:g,Tt:E,ut:S,lt:R,uncompressedSize:y,level:p,compressionMethod:h,encrypted:z}}}(e,Boolean(t),i,r,o))}(e,c,d,l);({reader:c}=o);const p=uc(e.writer),h=lc(e.writer);let z=l.crc32===de?l[Di]:l.crc32;const A=o.St.encrypted&&!t.zipCrypto;if(t.Rt&&!t.xt&&A&&(z=de),t.Rt&&c&&!A&&z===de)throw new f(Na);const F=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:l,zipCrypto:u,useUnicodeFileNames:d,dataDescriptor:w,directory:p,rawExtraField:h,Ct:m,encryptionStrength:y,extendedTimestamp:E,ntfsTimestamp:g,Rt:b,encrypted:z,ut:A,lt:F,uncompressedSize:S,Tt:R,crc32:x}=e;let{version:D,compressionMethod:C}=e;const v=!p&&vc(C,c);let N;const I=b||!v,T=l&&(e.bufferedWrite||!w||!A&&!F||I&&!R),B=T||l&&w&&(A||F);if(l&&(A||F)){const e=20,t=cc(e);if(t.Bt(1),t.Bt(e-4),N=t.Ut,T&&(t.Ot(S),I)){const e=ki(z,u,y);t.Ot(b?0:S+e)}}else N=Ee;let U,O,k,L,V,P;if(z&&!u){const e=cc(Oc(qa)+2);e.Bt(X),e.kt(qa),U=e.Ut,U[8]=y}else U=Ee;if(E){const e=Ac(n),t=(G=e)>=Fa&&G<=Sa;if(t){const t=9+(o?4:0)+(i?4:0),n=cc(t);L=1+(o?2:0)+(i?4:0),V=e,n.Bt(_),n.Bt(t-4),n.Mt(L),n.Lt(e),o&&n.Lt(Fc(Ac(o))),i&&n.Lt(Fc(Ac(i))),k=n.Ut}else k=Ee;if(g===de?!t||Boolean(o||i):g)try{const e=zc(n),t=cc(36);t.Bt(10),t.Bt(32),t.Wt(4),t.Bt(1),t.Bt(24),t.Ot(e),t.Ot(o?zc(o):e),t.Ot(i?zc(i):e),O=t.Ut}catch{O=Ee}else O=Ee}else O=k=Ee;var G;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=ja||t===de&&n===de)if(r!=Qa||t===de&&n===de)P=Ee;else{const e=cc(8);e.Bt(te),e.Bt(4),e.Bt((t===de?0:t)&M),e.Bt((n===de?0:n)&M),P=e.Ut}else{const e=ac(t===de?0:t),r=ac(n===de?0:n),o=3+e.length+r.length,i=cc(4+o);i.Bt(ee),i.Bt(o),i.Mt(1),i.Mt(e.length),i.kt(e),i.Mt(r.length),i.kt(r),P=i.Ut}}catch{P=Ee}C===de&&(C=v?8:0),D===de&&(D=0!=C||p||z?20:10);const{Dt:Z}=e;v&&Z!==de&&(D=D>Z?D:Z),l&&(D=D>45?D:45),z&&!u&&(D=D>51?D:51,b&&x!==de&&(U[4]=1),Ic(Tt(U),9,C),C=99);const Y=B?Oc(N):0,H=Y+Oc(U,k,O,P,h,m);if(H+(e[Te]?67:0)>M)throw new f(Aa);const K=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),q=K<ue?ue:K>le?le:K,j=Oc(k)?new a(1e3*Ac(n)):Oc(O)?n:q,{st:Q,ct:J,rawLastModDate:$}=kc({version:D,bitFlag:Lc(c,d,w,z,C),compressionMethod:C,uncompressedSize:S,lastModDate:q,rawLastModDate:r,rawFilename:t,lt:F,ut:A,extraFieldLength:H}),ne=cc(ce+Oc(t)+H),re=ne.Ut,oe=Tt(re);return ne.Lt(W),ne.kt(Q),ne.kt(t),B&&ne.kt(N),ne.kt(U),ne.kt(k),ne.kt(O),ne.kt(P),ne.kt(h),ne.kt(m),w&&(F||Tc(oe,18,0),A||Tc(oe,22,0)),{Vt:re,Pt:oe,st:Q,ct:J,lastModDate:j,Gt:j===q&&K.getTime()!=q.getTime(),rawLastModDate:$,encrypted:z,compressed:v,version:D,compressionMethod:C,Zt:L,Yt:V,ht:Ee,Ht:Y,Et:k,gt:O,bt:P,yt:U,extraFieldLength:H}}(l=n.assign({},l,u.St,d.St,o.St,{signature:l[Di],crc32:z,offset:e.offset-p,diskNumberStart:h,[Te]:e.options[Te]}));F.Gt&&$o(e.warnings,Ka,r);const R=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=Ee,i=0,s=e?20:12;return n&&(s+=4),t&&(o=new w(s),r=Tt(o),n&&(i=4,Tc(r,0,P))),{Kt:o,qt:r,jt:i}}(l),x=Oc(F.Vt,R.Kt);b=await async function(e,t,r,o,s){const{Ke:a,writer:c}=e,{keepOrder:l,dataDescriptor:u,It:d,signal:w}=s,{Qt:p,Ye:h,Jt:m,Xt:y}=o,g=e.options[Te];let b,z,A,F,R,x,D,C=h,v=0;const N=l&&m?m.vt:de;a.set(t,C);try{s.bufferedWrite||!l||e.ot||e.Xe||e._e||!u&&!d?(b=!0,e.Xe++,D=s.createTempStream?await s.createTempStream():new S(de,de,{highWaterMark:fe}),D.size=0,await Qo(c)):(z=!0,e._e++,D=c,await N,await I()),await Qo(D);const h=uc(c);e.He&&!b&&await Ec(e,c),g&&!b&&sc(o,e.offset-h);const{Vt:m}=p;b||await T();const y=lc(c),A=fc(e,c);if(C.diskNumberStart=y,b||(R=!0,x=c.size,await gc(D,m)),C=await async function(e,t,{diskNumberStart:r,vt:o},s,a,c){const{Qt:l,_t:u,$t:d}=s,{st:w,ct:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:E,version:g,compressionMethod:b,ht:z,Ht:A,Et:F,Zt:S,Yt:R,gt:x,bt:D,yt:C}=l,{Kt:v}=u,{rawFilename:N,lastAccessDate:I,creationDate:T,password:B,rawPassword:U,level:O,useUnicodeFileNames:M,zip64:W,ft:V,ut:P,lt:G,zipCrypto:Z,dataDescriptor:Y,directory:H,executable:K,versionMadeBy:q,rawComment:j,rawExtraField:Q,zt:J,useWebWorkers:X,transferStreams:_,onstart:$,onprogress:ee,onend:te,signal:ne,encryptionStrength:re,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:se,externalFileAttributes:ae,uid:ce,gid:le,unixMode:ue,symlink:fe,setuid:we,setgid:pe,sticky:he,unixExternalUpper:me,msdosAttributesRaw:ye,msdosAttributes:Ee,useCompressionStream:ge,Rt:be,xt:ze,format:Ae,codecURI:Fe}=c,Se={vt:o,versionMadeBy:q,zip64:W,ft:V,directory:Boolean(H),executable:Boolean(K),filenameUTF8:Boolean(M),rawFilename:N,commentUTF8:Boolean(M),rawComment:j,ht:z,Ht:A,Et:F,gt:x,bt:D,yt:C,rawExtraField:Q,zt:J,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:se,externalFileAttributes:ae,diskNumberStart:r,uid:ce,gid:le,unixMode:ue,symlink:Boolean(fe),setuid:we,setgid:pe,sticky:he,unixExternalUpper:me,msdosAttributesRaw:ye,msdosAttributes:Ee};let{crc32:Re,uncompressedSize:xe}=c,De=0;be||(xe=0);const{writable:Ce}=t;if(e){const n=e.size,r=Wn(_o(e,{size:n})),o={options:{codecType:Er,inputSize:n,level:O,rawPassword:U,password:B,encryptionStrength:re,zipCrypto:y&&Z,passwordVerification:y&&Z&&m>>8&L,computeCrc32:!be,compressed:E&&!be,encrypted:y&&!ze,useWebWorkers:X,useCompressionStream:ge,transferStreams:_,format:Ae,codecURI:Fe,compressionMethod:b},config:a,ce:{signal:ne,size:n,onstart:$,onprogress:ee,onend:te}};try{const e=await Jr({readable:r,writable:Ce},o);if(De=e.outputSize,t.size+=De,be||(xe=e.inputSize,y&&!Z||(Re=e.crc32)),!G&&De>=k||!P&&xe>=k)throw new f(Da)}catch(e){const{outputSize:n}=o;throw n!==de?t.size+=n:Bt(e)&&e.outputSize!==de&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,Qt:r,_t:o},{zip64:s,zipCrypto:a,Rt:c,dataDescriptor:l}){const{ct:u,encrypted:d}=r,{qt:f,jt:w}=o;d&&!a&&!c||e===de||(Tc(u,10,e),l&&Tc(f,w,e)),s?l&&(Bc(f,w+4,i(t)),Bc(f,w+12,i(n))):(Tc(u,14,t),Tc(u,18,n),l&&(Tc(f,w+4,t),Tc(f,w+8,n)))}({crc32:Re,compressedSize:De,uncompressedSize:xe,Qt:l,_t:u},c),Y&&await gc(t,v),n.assign(Se,{uncompressedSize:xe,compressedSize:De,lastModDate:h,rawLastModDate:m,creationDate:T,lastAccessDate:I,encrypted:Boolean(y),zipCrypto:Boolean(Z),size:d+De,compressionMethod:b,version:g,st:w,ct:p,signature:Re,crc32:!y||Z||be?Re:de,Zt:S,Yt:R,ut:P,lt:G}),Se}(r,D,C,o,ft(),s),b||(R=!1),a.set(t,C),C.filename=t,b){if(await E.all([D.writable.getWriter().close(),N]),await I(),e.He&&await Ec(e,c),F=!0,x=c.size,await T(),C.diskNumberStart=lc(c),C.offset=fc(e,c),g){const t=o.$t;sc(o,e.offset-uc(c)),C.size+=o.$t-t}!function({rawFilename:e,encrypted:t,zip64:n,Ht:r,crc32:o,compressedSize:s,uncompressedSize:a,ut:c,lt:l},u,{dataDescriptor:d,Rt:f}){if(d||((!t||f&&o!==de)&&Tc(u,14,o),l||Tc(u,18,s),c||Tc(u,22,a)),n&&r){const t=ce+Oc(e)+4;Bc(u,t,i(a)),Bc(u,t+8,i(s))}}(C,p.Pt,s),await gc(c,p.Vt),await bc(D.readable,c,w,e=>v+=e),c.size+=D.size,F=!1}else C.diskNumberStart=y,C.offset=A;return e.offset+=C.size,C}catch(n){if(F||R){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-x,b&&(e.offset+=v)}throw a.delete(t),n}finally{if(b&&e.Xe--,z&&e._e--,y&&y(N),A&&A(),b&&D&&D.dispose)try{await D.dispose()}catch{}}async function I(){e.ot=!0;const{it:t}=e;e.it=new E(t=>A=()=>{e.ot=!1,t()}),await t}async function T(){dc(c,Oc(p.Vt))&&await c.closeDisk()}}(e,r,c,{Qt:F,_t:R,$t:x,Ye:y,Jt:m,Xt:g},l)}catch(t){throw e.Ke.delete(r),t}finally{g&&g(m&&m.vt)}return n.assign(b,{name:r,comment:p,extraField:h}),new Ui(b)}(e,r,l,u)}catch(t){throw e.qe.delete(r),t}finally{const e=_a.shift();e?e():Xa--}}(u,e,r,l);d.add(p);const h=()=>d.delete(p);return E.prototype.then.call(p,h,h),nc(u,p)}remove(e){const{qe:t,Ke:n}=this;if(typeof e==me&&(e=n.get(e)),e&&e.filename!==de){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=Ee,n={}){const r=this,{Qe:o,writer:s}=this,{writable:a}=s;if(r.et)return tc(s);if(!(e instanceof w))throw new f(la);if(Oc(e)>M)throw new f(ca);for(;o.size;)await E.allSettled(t.from(o));await E.allSettled(r.Je.map(e=>e.en));const c=r.Je.filter(e=>e.tn&&!e.nn);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.nn=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const{rn:o,sn:s}=function(e){let t=0,n=!1;for(const[,r]of e){const{rawFilename:e,yt:o,rawComment:i,gt:s,bt:a,rawExtraField:c,zt:l,Zt:u,Yt:d,ft:w,uncompressedSize:p,compressedSize:h}=r;let{ut:m,lt:y}=r;w||(m&&p<k&&(m=r.ut=!1),y&&h<k&&(y=r.lt=!1)),n=n||m||y;const E=r.offset>=k,g=r.diskNumberStart>=M;let b,z;if(E||g||m||y){const e=4+(m?8:0)+(y?8:0)+(E?8:0)+(g?4:0),t=cc(e);t.Bt(1),t.Bt(e-4),m&&t.Ot(p),y&&t.Ot(h),E&&t.Ot(r.offset),g&&t.Lt(r.diskNumberStart),b=t.Ut}else b=Ee;if(r.ht=b,r.an=E,r.wt=g,d===de)z=Ee;else{const e=cc(9);e.Bt(_),e.Bt(5),e.Mt(u),e.Lt(d),z=e.Ut}r.Et=z;const A=Oc(b,o,s,a,z,c,l);if(A>M)throw new f(Aa);t+=q+Oc(e,i)+A}return{rn:t,sn:n}}(e.Ke),{cn:a,ln:c,un:l}=await async function(e,n,r){const{Ke:o,writer:i}=e,s=new w(n);await Qo(i);let a=0,c=0,l=lc(i),u=uc(i),d=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:f,ht:w,yt:p,Et:h,gt:m,bt:y,rawExtraField:E,zt:g,rawComment:b,versionMadeBy:z,st:A,ct:F,ut:S,lt:R,wt:x,an:D,internalFileAttributes:C,externalFileAttributes:v,diskNumberStart:N,uncompressedSize:I,compressedSize:T}=n,B=Oc(w,p,h,m,y,E,g),U=q+Oc(f,b)+B;dc(i,a+U-c)&&(await gc(i,s.slice(c,a)),c=a,d=0,await i.closeDisk()),0==e&&(l=lc(i),u=uc(i)),S||Tc(F,18,I),R||Tc(F,14,T),(D||x)&&n.version<45&&Ic(F,0,45);const O=cc(U);if(O.Lt(Z),O.Bt(z),O.kt(A.subarray(0,24)),O.Bt(B),O.Bt(Oc(b)),O.Bt(x?M:N),O.Bt(C),O.Lt(v),O.Lt(D?k:t),O.kt(f),O.kt(w),O.kt(p),O.kt(h),O.kt(m),O.kt(y),O.kt(E),O.kt(g),O.kt(b),Uc(s,O.Ut,a),a+=U,d++,r.onprogress)try{await r.onprogress(e+1,o.size,new Ui(n))}catch{}}return await gc(i,c?s.slice(c):s),{cn:{diskNumber:l,diskOffset:u},ln:{diskNumber:lc(i),dn:d},un:s}}(e,o,r),u=await async function(e,t,n){const r=xc(e,n,"signCentralDirectory");if(r){const n=await r(t),o=Oc(n);if(o>M)throw new f(Ga);const i=cc(6+o);i.Lt(G),i.Bt(o),i.kt(n);const{writer:s}=e;return dc(s,Oc(i.Ut))&&await s.closeDisk(),await gc(s,i.Ut),6+o}return 0}(e,l,r);await async function(e,t,n,r){const{writer:o}=e,{cn:s,ln:a,fn:c,sn:l}=r;let{rn:u}=r,d=e.Ke.size,w=s.diskNumber,p=fc(e,s);const h=Oc(t);if(h>M)throw new f(ca);let m=Sc(e,n,gi),y=lc(o);if(dc(o,(m?98:j)+h)&&y++,p>=k||u>=k||d>=M||y>=M){if(!1===m)throw new f(Da);m=!0}else m===de&&l&&(m=!0);const E=cc(m?98:j);dc(o,Oc(E.Ut)+h)&&await o.closeDisk(),y=lc(o);let g=y==a.diskNumber?a.dn:0;m&&(E.Lt(H),E.Ot(44),E.Bt(45),E.Bt(45),E.Lt(y),E.Lt(w),E.Ot(g),E.Ot(d),E.Ot(u),E.Ot(p),E.Lt(K),E.Lt(y),E.Ot(i(fc(e,o))+i(u)+i(c)),E.Lt(y+1),Sc(e,n,"supportZip64SplitFile",!0)&&(y=M,w=M),g=M,d=M,p=k,u=k),E.Lt(Y),E.Bt(y),E.Bt(w),E.Bt(g),E.Bt(d),E.Lt(u),E.Lt(p),E.Bt(h),await gc(o,E.Ut),h&&await gc(o,t)}(e,n,r,{cn:a,ln:c,rn:o,fn:u,sn:s})}(r,e,n),r.et=!0,!jo(s)&&Sc(r,n,De)||await a.getWriter().close(),tc(s)}[ge](){return this.close()}}class ec extends E{then(e,t){const{wn:n}=this;return n&&(n.nn=!0),super.then(e,t)}}function tc(e){return e.getData?e.getData():e.writable}function nc(e,t){const r=new ec((e,n)=>E.prototype.then.call(t,e,n)),o={};return r.wn=o,o.en=E.prototype.then.call(r,de,e=>n.assign(o,{tn:!0,error:e})),e.Je.push(o),r}async function rc(e,t){try{await e.writer.writable.abort(t)}catch{}}function oc(e,t,n){e.Qe.add(t),t.catch(e=>{try{n(e)}catch{}})}function ic(e){if(!e)return Ee;if(!(e instanceof c))throw new f(ga);let t=0,n=0;e.forEach((e,n)=>{if(Xe(n,M,ba),!(e instanceof w))throw new f(za);if(Oc(e)>M)throw new f(Aa);t+=4+Oc(e)});const r=new w(t),o=Tt(r);return e.forEach((e,t)=>{Ic(o,n,t),Ic(o,n+2,Oc(e)),Uc(r,e,n+4),n+=4+Oc(e)}),r}function sc(e,t){const{Qt:n}=e;let{Vt:r,extraFieldLength:o}=n,i=64-(t+Oc(r))%64;i<4&&(i+=64);const s=new w(i),a=Tt(s);Ic(a,0,$),Ic(a,2,i-4);const c=r;n.Vt=r=new w(Oc(c)+i),Uc(r,c),Uc(r,s,Oc(c));const l=Tt(r);Ic(l,28,o+i),n.Pt=l,e.$t+=i}function ac(e){const t=new w(4);Tt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function cc(e){const t=new w(e),n=Tt(t);let r=0;return{Ut:t,Mt:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},Bt:e=>{Ic(n,r,e),r+=2},Lt:e=>{Tc(n,r,e),r+=4},Ot:e=>{Bc(n,r,i(e)),r+=8},kt:e=>{Uc(t,e,r),r+=Oc(e)},Wt:e=>r+=e}}function lc(e){const{diskNumber:t=0}=e;return t}function uc(e){const{diskOffset:t=0}=e;return t}function dc(e,t){const{availableSize:n=fe}=e;return t>n}function fc(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.je:0)}function wc(e){const t=Tt(e);let n=0;for(;n+4<=Oc(e);){const r=4+Nc(t,n+2);if(1==Nc(t,n))return wc(Nt(e.subarray(0,n),e.subarray(s.min(n+r,Oc(e)))));n+=r}return e}async function pc(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await bc(_o(t,{offset:n,size:r}),o,de,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function hc(e,t){const n=await Xo(e,t,ce);if(Oc(n)<ce)return ce;const r=Tt(n);return ce+Nc(r,26)+Nc(r,28)}function mc(e,{offset:t,diskNumberStart:n}){return t+(e.Me?e.Me(n):0)}function yc(){const e=new w(4);return Tc(Tt(e),0,V),e}async function Ec(e,t){delete e.He,await gc(t,yc()),e.offset+=4}async function gc(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Oc(t),await r.write(t)}finally{r.releaseLock()}}async function bc(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new x({async write(e){await o.ready,await o.write(e),r(Oc(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function zc(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<Ra?Ra:t>xa?xa:t}}function Ac(e){return s.floor(e.getTime()/1e3)}function Fc(e){return s.min(Sa,s.max(Fa,e))}function Sc(e,t,n,r){const o=t[n]===de?e.options[n]:t[n];return o===de?r:o}function Rc(e,t,n,r){const i=Sc(e,t,n,r);if(null===i)return r;if(i!==de&&(typeof i.getTime!=pe||o.isNaN(i.getTime())))throw new f(fa);return i}function xc(e,t,n){return Ke(Sc(e,t,n))}function Dc(e,t,n,r){return $e(Sc(e,t,n,r))}function Cc(e){return e+5*(s.floor(e/16383)+1)}function vc(e,t){return e===de?t===de||t>0:0!==e}function Nc(e,t){return e.getUint16(t,!0)}function Ic(e,t,n){e.setUint16(t,n,!0)}function Tc(e,t,n){e.setUint32(t,n,!0)}function Bc(e,t,n){e.setBigUint64(t,n,!0)}function Uc(e,t,n){e.set(t,n)}function Oc(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function kc({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,lt:c,ut:l,extraFieldLength:u}){const d=cc(26),f=d.Ut,w=Tt(f);if(d.Bt(e),d.Bt(t),d.Bt(n),s===de){const e=new h(1),t=Tt(e);Ic(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Ic(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=e[0]}return d.Lt(s),d.Wt(4),c||o!==de?d.Lt(c?k:o):d.Wt(4),l||r!==de?d.Lt(l?k:r):d.Wt(4),d.Bt(Oc(a)),d.Bt(u),{st:f,ct:w,rawLastModDate:s}}function Mc(e){return e.every(e=>e>=32&&e<=126)}function Lc(e,t,n,r,o){let i=0;return t&&(i|=ne),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function Wc(e,t){if(!e)return!1;const{pn:n}=e;return n?n.includes(t):ur(e,t)}const Vc=1048576,Pc=".zip.js-temp",Gc=1048576,Zc=1048576,Yc=".zip.js-temp",Hc="createSyncAccessHandle is only available in dedicated workers";try{Et({baseURI:void 0===z&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===z?location.href:O&&"SCRIPT"===O.tagName.toUpperCase()&&O.src||new d("zip-legacy.min.js",z.baseURI).href})}catch{}Ct(Et),e.BlobReader=So,e.BlobWriter=Ro,e.Data64URIReader=class extends bo{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{hn:e,yn:r,size:s.floor(.75*(t-r))})}readUint8Array(e,t){const{yn:n,hn:r}=this,o=new w(t),i=4*s.floor(e/3),a=atob(r.substring(i+n,4*s.ceil((e+t)/3)+n)),c=e-3*s.floor(i/4);let l=0;for(let e=c;e<c+t&&e<a.length;e++)o[e-c]=a.charCodeAt(e),l++;return l<o.length?o.subarray(0,l):o}},e.Data64URIWriter=class extends zo{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",En:""})}writeUint8Array(e){const t=this;let n,o=t.En;const i=t.En.length;for(t.En="",n=0;n<3*s.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.En+=r.fromCharCode(e[n]);o.length>2?t.data+=F(o):t.En=o+t.En}getData(){return this.data+F(this.En)}},e.ERR_ABORTED=He,e.ERR_AMBIGUOUS_ARCHIVE=ji,e.ERR_BAD_FORMAT=Mi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Vi,e.ERR_DUPLICATED_NAME=aa,e.ERR_ENCRYPTED=Zi,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Qi,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=qi,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Wi,e.ERR_EOCDR_NOT_FOUND=Li,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Gi,e.ERR_HTTP_RANGE=so,e.ERR_HTTP_RESOURCE_CHANGED=ao,e.ERR_HTTP_STATUS=io,e.ERR_INVALID_AUTHENTICATION_CODE=_t,e.ERR_INVALID_BASE_URI=tt,e.ERR_INVALID_CODEC_DEFINITION=Gn,e.ERR_INVALID_CODEC_MODULE=Yn,e.ERR_INVALID_COMMENT=ca,e.ERR_INVALID_COMMENT_TYPE=la,e.ERR_INVALID_COMPRESSED_DATA=er,e.ERR_INVALID_CRC32=tr,e.ERR_INVALID_DATE=fa,e.ERR_INVALID_ENCRYPTION_STRENGTH=ha,e.ERR_INVALID_ENTRY=Za,e.ERR_INVALID_ENTRY_COMMENT=ua,e.ERR_INVALID_ENTRY_COMMENT_TYPE=da,e.ERR_INVALID_ENTRY_NAME=wa,e.ERR_INVALID_EXTRAFIELD=ga,e.ERR_INVALID_EXTRAFIELD_DATA=Aa,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=za,e.ERR_INVALID_EXTRAFIELD_TYPE=ba,e.ERR_INVALID_FILENAME_VALIDATION=_i,e.ERR_INVALID_FUNCTION_OPTION=Pe,e.ERR_INVALID_GID=Oa,e.ERR_INVALID_LEVEL=Pa,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=$i,e.ERR_INVALID_MAX_WORKERS=et,e.ERR_INVALID_MSDOS_ATTRIBUTES=Wa,e.ERR_INVALID_MSDOS_DATA=Va,e.ERR_INVALID_PASSWORD=Xt,e.ERR_INVALID_PASSWORD_TYPE=Ze,e.ERR_INVALID_PASS_THROUGH_VALUE=Ye,e.ERR_INVALID_READER=Ta,e.ERR_INVALID_SIGNAL=Ge,e.ERR_INVALID_SIGNATURE_DATA=Ga,e.ERR_INVALID_STRICTNESS=Xi,e.ERR_INVALID_UID=Ua,e.ERR_INVALID_UNCOMPRESSED_SIZE=$n,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Ma,e.ERR_INVALID_UNIX_ID_SIZE=La,e.ERR_INVALID_UNIX_MODE=ka,e.ERR_INVALID_URI=nt,e.ERR_INVALID_VERSION=pa,e.ERR_ITERATOR_COMPLETED_TOO_SOON=co,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Pi,e.ERR_OVERLAPPING_ENTRY=Ki,e.ERR_RESERVED_COMPRESSION_METHOD=Zn,e.ERR_SPLIT_ZIP_FILE=Hi,e.ERR_UNDEFINED_COMPRESSION_METHOD=va,e.ERR_UNDEFINED_CRC32=Na,e.ERR_UNDEFINED_READER=Ia,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Ca,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=Ji,e.ERR_UNSUPPORTED_COMPRESSION=Hn,e.ERR_UNSUPPORTED_CONTEXT=Hc,e.ERR_UNSUPPORTED_CRYPTO_API=en,e.ERR_UNSUPPORTED_ENCRYPTION=Yi,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Ea,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=ma,e.ERR_UNSUPPORTED_FORMAT=Da,e.ERR_UNSUPPORTED_SPLIT_USDZ=ya,e.ERR_UNSUPPORTED_UINT64=es,e.ERR_WORKER_STARTUP_TIMEOUT=Ar,e.ERR_WRITER_NOT_INITIALIZED=lo,e.ERR_WRITER_SIZE_NOT_WRITABLE=uo,e.ERR_ZIP_CRYPTO_LAST_MOD_DATE=Ya,e.ERR_ZIP_NOT_EMPTY=Ba,e.HttpRangeReader=class extends Zo{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=Zo,e.Reader=bo,e.SplitDataReader=Yo,e.SplitDataWriter=Ho,e.TextReader=class extends So{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Ro{constructor(e){super(),n.assign(this,{encoding:e,gn:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,gn:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return oo(e,t,!1)}(new w(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends bo{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{Ut:e,size:e.length})}readUint8Array(e,t){return this.Ut.slice(e,e+t)}},e.Uint8ArrayWriter=class extends zo{constructor(e){super(),this.bn=e||262144}init(e=0){n.assign(this,{offset:0,Ut:new w(e>0?e:this.bn)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.Ut.length){let e=t.Ut.length?2*t.Ut.length:t.bn;for(;e<n;)e*=2;const r=t.Ut;t.Ut=new w(e),t.Ut.set(r)}t.Ut.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.Ut.length?this.Ut:this.Ut.slice(0,this.offset)}},e.VERSION="2.13.1",e.WARNING_APPENDED_DATA=as,e.WARNING_CLAMPED_LAST_MODIFICATION_DATE=Ka,e.WARNING_COMPRESSED_PATCHED_DATA=rs,e.WARNING_COMPRESSION_UNAVAILABLE=Ha,e.WARNING_DUPLICATE_FILENAME=ds,e.WARNING_MALFORMED_EXTRA_FIELD=os,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=hs,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=ms,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=ys,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME=ps,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=fs,e.WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY=ws,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=ls,e.WARNING_PREPENDED_DATA=cs,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=us,e.WARNING_UNKNOWN_VERSION=ns,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=is,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=ts,e.WARNING_WRAPPED_ENTRIES_COUNT=ss,e.Writer=zo,e.ZipReader=Ss,e.ZipReaderStream=Rs,e.ZipWriter=$a,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new S;this.readable=t,this.zipWriter=new $a(n,e),this.Qe=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new S({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await rc(t,e)}}()}});return oc(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new S({start(e){t=e}});return oc(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await E.allSettled(t.from(this.Qe))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await rc(r,e),e}try{return await r.close(e,n)}catch(e){throw await rc(r,e),e}}},e.configure=function(e){n.assign(dt,ht(yt(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=Gc}=e;return function(){const e=[];let n,r,o,i=0,s=!1;const a=new x({async write(o){s?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new S;r=Vn(t.readable),n=t.writable.getWriter(),s=!0;for(const t of e)await n.write(t);e.length=0}())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:a,readable:new R({async pull(t){if(s){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=Vc,directoryName:r=Pc,getDirectory:o=()=>v.storage.getDirectory()}=e;let i;function s(){return i||(i=E.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,a,c=0,l=!1;const u=new x({async write(a){l?await i.write(a):(e.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=A.randomUUID?A.randomUUID():t.from(A.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),l=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let d=0;return{writable:u,readable:new R({async pull(t){if(l){if(!a){const e=await o.getFile();a=e.stream().getReader()}const{value:e,done:n}=await a.read();n?t.close():t.enqueue(e)}else d<e.length?t.enqueue(e[d++]):t.close()},async cancel(e){a&&await a.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await s();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=Zc,directoryName:r=Yc,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new f(Hc);const i=o||(()=>v.storage.getDirectory());let a;function c(){return a||(a=E.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return function(){const e=[];let r,o,i=0,a=!1,l=0,u=0;const d=new x({async write(s){a?(o.write(s,{at:l}),l+=s.length):(e.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=A.randomUUID?A.randomUUID():t.from(A.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),a=!0;for(const t of e)o.write(t,{at:l}),l+=t.length;e.length=0}())},close(){o&&o.flush()}});let f=0;return{writable:d,readable:new R({pull(t){if(a){const e=l-u;if(e<=0)return void t.close();const n=new w(s.min(524288,e)),r=o.read(n,{at:u});r?(u+=r,t.enqueue(n.subarray(0,r))):t.close()}else f<e.length?t.enqueue(e[f++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=Jn,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=ft(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:Wc(n,nr)||Wc(e,nr)||Wc(e,or),decompression:Wc(r,nr)||Wc(t,nr)||Wc(t,or),registered:!1},{compressionMethod:9,compression:!1,decompression:Wc(r,rr)||Wc(t,rr),registered:!1}];for(const e of Jn()){const t=Xn(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==pe:de,decompression:t?typeof t.DecompressionStream==pe:de,registered:!0})}return o},e.isZipFile=xs,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:s,versionNeeded:a}=e;if(!o.isInteger(t)||t<0||t>M||typeof n!=me||!n.length)throw new f(Gn);if(Kn.includes(t))throw new f(Zn);const c=typeof i==pe||typeof s==pe;if(!(c||typeof r==me&&r.length))throw new f(Gn);qn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:a}),c&&_n(n,{CompressionStream:i,DecompressionStream:s})},e.resetConfiguration=function(){for(const e of ut)delete dt[e];n.assign(dt,ot)},e.terminateWorkers=async function(){await E.allSettled(Hr.map(e=>(to(e),e.terminate()))),Fr=de,Sr=!1},e.unregisterCodec=function(e){const t=qn.get(e);if(t){let n;qn.delete(e),qn.forEach(e=>n=n||e.format==t.format),n||jn.delete(t.format)}}});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})}(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:o,BigInt:i,Math:a,Date:s,Map:c,Set:u,Response:l,URL:f,Error:d,Uint8Array:w,Uint16Array:p,Uint32Array:m,DataView:h,Blob:y,Promise:g,TextEncoder:z,TextDecoder:E,document:b,crypto:S,btoa:x,TransformStream:F,ReadableStream:A,WritableStream:C,CompressionStream:D,DecompressionStream:T,navigator:R,Worker:v,Symbol:I,setTimeout:U,clearTimeout:O,structuredClone:W}="undefined"!=typeof globalThis?globalThis:self;var M=void 0!==b?b.currentScript:null;const N=4294967295,L=65535,B=255,k=67324752,P=134695760,Z=P,Y=84233040,V=33639248,K=101010256,X=101075792,H=117853008,q=46,G=22,j=20,J=56,Q=39169,_=21589,$=6534,ee=30837,te=30805,ne=2048,re=61440,oe=16384,ie=2048,ae=1024,se="/",ce=30,ue=new s(2107,11,31,23,59,58),le=new s(1980,0,1),fe=void 0,de=1/0,we="undefined",pe="function",me="object",he="string",ye="boolean",ge=new w,ze=I.asyncDispose||I(),Ee="password",be="rawPassword",Se="passThrough",xe="signal",Fe="useWebWorkers",Ae="useCompressionStream",Ce="transferStreams",De="preventClose",Te="level",Re="useUnicodeFileNames",ve="dataDescriptor",Ie="offset",Ue="usdz",Oe="maxAppendedDataSize",We="entry",Me="filename",Ne="comment",Le="strict",Be="balanced",ke="tolerant",Pe="compressed",Ze="Invalid option (must be a function)",Ye="Invalid signal (must be an AbortSignal instance)",Ve="Invalid password (password must be a string, rawPassword must be a Uint8Array)",Ke="Invalid passThrough option (must be a boolean or 'compressed')",Xe="The operation was aborted";function He(e){if(e&&typeof e!=pe)throw new d(Ze);return e}function qe(e){if(e&&(typeof e.addEventListener!=pe||typeof e.aborted!=ye))throw new d(Ye);return e||fe}function Ge(e){if(e&&e.aborted)throw e.reason===fe?new DOMException(Xe,"AbortError"):e.reason}function je(e,t){if(e&&typeof e!=he||t&&!(t instanceof w))throw new d(Ve)}function Je(e){if(e!==fe&&typeof e!=ye&&e!==Pe)throw new d(Ke);return e}function Qe(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new d(n)}function _e(e,t,n){e!==fe&&Qe(e,t,n)}function $e(e){return typeof e==he&&e.trim()?o(e):e}const et="Invalid maxWorkers (must be an integer greater than 0)",tt="Invalid baseURI (must be a string)",nt="Invalid URI (must be a string or a function returning a string)";let rt=2;try{typeof R!=we&&R.hardwareConcurrency&&(rt=R.hardwareConcurrency)}catch{}const ot={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:rt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof D!=we&&D,DecompressionStream:typeof T!=we&&T},it="maxWorkers",at="baseURI",st=["wasmURI","workerURI"],ct=["chunkSize",it,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ut=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],lt=[at,...st,"useCompressionStream","useWebWorkers","transferStreams",...ct,...ut],ft={...ot};function dt(){return ft}function wt(e){return pt(e.chunkSize)}function pt(e){return e=$e(e),o.isInteger(e)&&e>=1?a.max(e,64):65536}function mt(e){const t={};for(const n of lt){const r=e[n];r!==fe&&(t[n]=ht(n,r))}return t}function ht(e,t){if(ct.includes(e)){if(t=$e(t),e==it&&(!o.isInteger(t)||t<1))throw new d(et)}else if(ut.includes(e))He(t);else if(e==at){if(t&&typeof t!=he)throw new d(tt)}else if(st.includes(e)&&t&&typeof t!=he&&typeof t!=pe)throw new d(nt);return t}function yt(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===fe&&r===fe)return e;const o=n.assign({},e);return o.CompressionStreamFallback===fe&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===fe&&(o.DecompressionStreamFallback=r),o}function gt(e){const t=mt(yt(e));n.assign(ot,t),n.assign(ft,t)}const zt=[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],Et=[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],bt=[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],St=[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],xt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Ft=new w(288);Ft.fill(8,0,144),Ft.fill(9,144,256),Ft.fill(7,256,280),Ft.fill(8,280,288);const At=new w(30).fill(5);function Ct(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 Dt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Tt=(Rt=()=>function(e){let t=0,n=0,r=0,o=new w(1024),i=0,a=0;for(;!a;){a=c(1);const e=c(2);if(0==e)u();else if(1==e)l(Ct(Ft),Ct(At));else{if(2!=e)throw new d("invalid deflate block type");l(...f())}}return o.subarray(0,i);function s(){if(t>=e.length)throw new d("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=s()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function u(){n=0,r=0;const e=s()|s()<<8;t+=2,m(i+e);for(let t=0;t<e;t++)o[i++]=s()}function l(e,t){let n=p(e);for(;256!=n;){if(n<256)m(i+1),o[i++]=n;else{const e=n-257,r=zt[e]+c(Et[e]),a=p(t),s=bt[a]+c(St[a]);m(i+r);const u=i-s;for(let e=0;e<r;e++)o[i++]=o[u+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new w(19);for(let e=0;e<n;e++)r[xt[e]]=c(3);const o=Ct(r),i=new w(e+t);let a=0;for(;a<i.length;){const e=p(o);if(e<16)i[a++]=e;else if(16==e){const e=i[a-1];let t=c(2)+3;for(;t--;)i[a++]=e}else a+=17==e?c(3)+3:c(7)+11}return[Ct(i.subarray(0,e)),Ct(i.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,o=0,i=0;for(let e=1;e<=15;e++){r|=c(1);const a=t[e];if(r-o<a)return n[i+(r-o)];i+=a,o=o+a<<1,r<<=1}throw new d("invalid huffman code")}function m(e){if(o.length<e){let t=2*o.length;for(;t<e;)t*=2;const n=new w(t);n.set(o.subarray(0,i)),o=n}}}(function(e){const t=(e=r(e).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=Dt.indexOf(e[r])<<18|Dt.indexOf(e[r+1])<<12|(63&Dt.indexOf(e[r+2]))<<6|63&Dt.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 w(n)}("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=Rt();if("string"==typeof n&&(n=(new z).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+function(e){let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=Dt[n>>18&63]+Dt[n>>12&63]+Dt[n>>6&63]+Dt[63&n]}const o=n-r;if(1===o){const n=e[r]<<16;t+=Dt[n>>18&63]+Dt[n>>12&63]+"=="}else if(2===o){const n=e[r]<<16|e[r+1]<<8;t+=Dt[n>>18&63]+Dt[n>>12&63]+Dt[n>>6&63]+"="}return t}(n)}}));var Rt;function vt(e,t){const n=new w(e.length+t.length);return n.set(e),n.set(t,e.length),n}function It(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new w(e):e}function Ut(e){return new h(e.buffer,e.byteOffset,e.byteLength)}function Ot(e){return Boolean(e)&&"object"==typeof e}const Wt=[[],[],[],[],[],[],[],[]];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;Wt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=Wt[t-1][e];Wt[t][e]=n>>>8^Wt[0][255&n]}const[Mt,Nt,Lt,Bt,kt,Pt,Zt,Yt]=Wt;class Vt{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new h(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=Yt[255&e]^Zt[e>>>8&255]^Pt[e>>>16&255]^kt[e>>>24&255]^Bt[255&n]^Lt[n>>>8&255]^Nt[n>>>16&255]^Mt[n>>>24&255]}}for(;r<n;r++)t=t>>>8^Mt[255&(t^e[r])];this.l=t}get(){return~this.l}}class Kt extends F{constructor(){let e;const t=new Vt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function Xt(e){if(typeof z==we){e=unescape(encodeURIComponent(e));const t=new w(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new z).encode(e)}const Ht=64,qt=20,Gt=new w([128]),jt=new w(1),Jt=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Qt=new w(256),_t=new Int32Array(256),$t=new Int32Array(256),en=new Int32Array(256),tn=new Int32Array(256);let nn=!1;function rn(e){const t=function(){const e=new Int32Array(Jt),t=new Int32Array(16),n=new w(Ht),r=new h(n.buffer),o=new w(8);let i=0,s=0;return{update:c,digest:function(){const t=8*s,n=a.floor(t/4294967296),r=t>>>0;for(c(Gt,0,1);56!=i;)c(jt,0,1);o[0]=n>>>24,o[1]=n>>>16,o[2]=n>>>8,o[3]=n,o[4]=r>>>24,o[5]=r>>>16,o[6]=r>>>8,o[7]=r,c(o,0,8);const u=new w(qt),l=new h(u.buffer);for(let t=0;t<e.length;t++)l.setInt32(4*t,e[t]);return e.set(Jt),i=0,s=0,u}};function c(e,t,o){const a=t+o;if(s+=o,i){for(;t<a&&i<Ht;)n[i++]=e[t++];i==Ht&&(u(r,0),i=0)}if(t+Ht<=a){const n=new h(e.buffer,e.byteOffset,e.byteLength);for(;t+Ht<=a;t+=Ht)u(n,t)}for(;t<a;)n[i++]=e[t++]}function u(n,r){for(let e=0;e<16;e++)t[e]=n.getInt32(r+4*e);let o,i=e[0],a=e[1],s=e[2],c=e[3],u=e[4];for(let e=0;e<15;e+=5)u=(i<<5|i>>>27)+((s^c)&a^c)+u+1518500249+t[e]|0,a=a<<30|a>>>2,c=(u<<5|u>>>27)+((a^s)&i^s)+c+1518500249+t[e+1]|0,i=i<<30|i>>>2,s=(c<<5|c>>>27)+((i^a)&u^a)+s+1518500249+t[e+2]|0,u=u<<30|u>>>2,a=(s<<5|s>>>27)+((u^i)&c^i)+a+1518500249+t[e+3]|0,c=c<<30|c>>>2,i=(a<<5|a>>>27)+((c^u)&s^u)+i+1518500249+t[e+4]|0,s=s<<30|s>>>2;u=(i<<5|i>>>27)+((s^c)&a^c)+u+1518500249+t[15]|0,a=a<<30|a>>>2,o=t[13]^t[8]^t[2]^t[0],o=o<<1|o>>>31,t[0]=o,c=(u<<5|u>>>27)+((a^s)&i^s)+c+1518500249+o|0,i=i<<30|i>>>2,o=t[14]^t[9]^t[3]^t[1],o=o<<1|o>>>31,t[1]=o,s=(c<<5|c>>>27)+((i^a)&u^a)+s+1518500249+o|0,u=u<<30|u>>>2,o=t[15]^t[10]^t[4]^t[2],o=o<<1|o>>>31,t[2]=o,a=(s<<5|s>>>27)+((u^i)&c^i)+a+1518500249+o|0,c=c<<30|c>>>2,o=t[0]^t[11]^t[5]^t[3],o=o<<1|o>>>31,t[3]=o,i=(a<<5|a>>>27)+((c^u)&s^u)+i+1518500249+o|0,s=s<<30|s>>>2;for(let e=20;e<40;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(a^s^c)+u+1859775393+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i^a^s)+c+1859775393+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,s=(c<<5|c>>>27)+(u^i^a)+s+1859775393+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(s<<5|s>>>27)+(c^u^i)+a+1859775393+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(a<<5|a>>>27)+(s^c^u)+i+1859775393+o|0,s=s<<30|s>>>2;for(let e=40;e<60;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(a&s|(a|s)&c)+u+2400959708+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i&a|(i|a)&s)+c+2400959708+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,s=(c<<5|c>>>27)+(u&i|(u|i)&a)+s+2400959708+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(s<<5|s>>>27)+(c&u|(c|u)&i)+a+2400959708+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(a<<5|a>>>27)+(s&c|(s|c)&u)+i+2400959708+o|0,s=s<<30|s>>>2;for(let e=60;e<80;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(i<<5|i>>>27)+(a^s^c)+u+3395469782+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(i^a^s)+c+3395469782+o|0,i=i<<30|i>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,s=(c<<5|c>>>27)+(u^i^a)+s+3395469782+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(s<<5|s>>>27)+(c^u^i)+a+3395469782+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,i=(a<<5|a>>>27)+(s^c^u)+i+3395469782+o|0,s=s<<30|s>>>2;e[0]=e[0]+i|0,e[1]=e[1]+a|0,e[2]=e[2]+s|0,e[3]=e[3]+c|0,e[4]=e[4]+u|0}}(),n=new w(Ht),r=new w(Ht);e.length>Ht&&(t.update(e,0,e.length),e=t.digest());for(let t=0;t<Ht;t++){const o=t<e.length?e[t]:0;n[t]=54^o,r[t]=92^o}return t.update(n,0,Ht),{update(e,n,r){t.update(e,n,r)},digest(){const e=t.digest();t.update(r,0,Ht),t.update(e,0,qt);const o=t.digest();return t.update(n,0,Ht),o}}}function on(e){return Qt[e>>>24]<<24|Qt[e>>>16&255]<<16|Qt[e>>>8&255]<<8|Qt[255&e]}function an(e){return e<<24|(65280&e)<<8|e>>>8&65280|e>>>24}function sn(e){return 255&(e<<1^27*(e>>7))}const cn=typeof S!=we&&typeof S.getRandomValues==pe,un="Invalid password",ln="Invalid authentication code",fn="zipjs-abort-check-password",dn="Crypto API not supported";function wn(e){if(cn)return S.getRandomValues(e);throw new d(dn)}const pn={name:"PBKDF2"},mn=n.assign({hash:{name:"HMAC"}},pn),hn=n.assign({iterations:1e3,hash:{name:"SHA-1"}},pn),yn=["deriveBits"],gn=[8,12,16],zn=[16,24,32],En=10,bn=typeof S!=we,Sn=bn&&S.subtle;let xn=bn&&typeof Sn!=we&&typeof Sn.importKey==pe&&typeof Sn.deriveBits==pe;class Fn extends F{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){Cn(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,m:a,ready:s}=n;o?(await async function(e,t,n,r){const o=await Rn(e,t,n,In(r,0,gn[t])),i=In(r,gn[t]);if(o[0]!=i[0]||o[1]!=i[1])throw Tn(e),new d(un)}(n,i,o,In(e,0,gn[i]+2)),e=In(e,gn[i]+2),r?(Tn(n),t.error(new d(fn))):a()):await s;const c=new w(e.length-En-(e.length-En)%16);t.enqueue(Dn(n,e,c,0,En,!0))},async flush(e){const{h:t,S:n,ready:r}=this;if(t){await r;const i=In(n,n.length-En),a=new w(In(n,0,n.length-En));t.process(a,!0);const s=t.digest();let c=n.length<En?1:0;for(let e=0;e<En;e++)c|=s[e]^i[e];if(c&&o)throw new d(ln);e.enqueue(a)}},cancel(){Tn(this)}})}}class An extends F{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){Cn(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,m:i,ready:a}=n;let s=ge;r?(s=await async function(e,t,n){const r=wn(new w(gn[t]));return vt(r,await Rn(e,t,n,r))}(n,o,r),i()):await a;const c=new w(s.length+e.length-e.length%16);c.set(s,0),t.enqueue(Dn(n,e,c,s.length,0,!1))},async flush(e){const{h:t,S:n,ready:r}=this;if(t){await r;const o=new w(n);t.process(o,!1);const i=In(t.digest(),0,En);e.enqueue(vt(o,i))}},cancel(){Tn(this)}})}}function Cn(e,t,r,o){n.assign(e,{ready:new g(t=>e.m=t),password:vn(t,r),strength:o-1,S:ge})}function Dn(e,t,n,r,o,i){const{h:a,S:s}=e;s.length&&(t=vt(s,t));const c=t.length-o,u=c-c%16;if(n=function(e,t){if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e}(n,r+u),u){const e=In(n,r,r+u);e.set(In(t,0,u)),a.process(e,i)}return e.S=In(t,u),n}function Tn({h:e}){e&&e.dispose&&e.dispose()}async function Rn(e,t,r,o){e.password=null;const i=zn[t],s=await async function(e,t,r){if(xn)try{const o=await Sn.importKey("raw",e,mn,!1,yn);return new w(await Sn.deriveBits(n.assign({salt:t},hn),o,8*r))}catch{xn=!1}return function(e,t,n,r){const o=rn(e),i=new w(r),s=new w(t.length+4),c=new h(s.buffer);s.set(t);for(let e=1,n=0;n<r;e++,n+=qt){c.setUint32(t.length,e),o.update(s,0,s.length);let u=o.digest();const l=u.slice();for(let e=1;e<1e3;e++){o.update(u,0,qt),u=o.digest();for(let e=0;e<qt;e++)l[e]^=u[e]}i.set(l.subarray(0,a.min(qt,r-n)),n)}return i}(e,t,0,r)}(r,o,2*i+2);return e.h=function(e,t){!function(){if(!nn){let e=1,t=1;do{e=255&(e^e<<1^(128&e?27:0)),t=255&(t^t<<1),t=255&(t^t<<2),t=255&(t^t<<4),128&t&&(t^=9),Qt[e]=255&(t^(t<<1|t>>7)^(t<<2|t>>6)^(t<<3|t>>5)^(t<<4|t>>4)^99)}while(1!=e);Qt[0]=99;for(let e=0;e<256;e++){const t=Qt[e],n=sn(t),r=n<<24|t<<16|t<<8|n^t;_t[e]=r,$t[e]=r>>>8|r<<24,en[e]=r>>>16|r<<16,tn[e]=r>>>24|r<<8}nn=!0}}();const n=new Int32Array(60),r=function(e,t){const n=e.length>>2,r=n+6,o=4*(r+1);let i=1;for(let r=0;r<n;r++)t[r]=e[4*r]<<24|e[4*r+1]<<16|e[4*r+2]<<8|e[4*r+3];for(let e=n;e<o;e++){let r=t[e-1];e%n==0?(r=on(r<<8|r>>>24)^i<<24,i=sn(i)):n>6&&e%n==4&&(r=on(r)),t[e]=t[e-n]^r}return r}(e,n),o=new Int32Array(4),i=rn(t);let a=0,s=0,c=0,u=0;return{process(e,t){t&&i.update(e,0,e.length),function(e){const t=new h(e.buffer,e.byteOffset,e.byteLength),n=e.length;let r=0;for(;r+16<=n;r+=16)l(),t.setInt32(r,t.getInt32(r)^o[0]),t.setInt32(r+4,t.getInt32(r+4)^o[1]),t.setInt32(r+8,t.getInt32(r+8)^o[2]),t.setInt32(r+12,t.getInt32(r+12)^o[3]);if(r<n){l();for(let t=0;r<n;r++,t++)e[r]^=o[t>>2]>>>24-8*(3&t)}}(e),t||i.update(e,0,e.length)},digest:()=>i.digest()};function l(){a=a+1|0,a||(s=s+1|0,s||(c=c+1|0,c||(u=u+1|0)));let e=an(a)^n[0],t=an(s)^n[1],i=an(c)^n[2],l=an(u)^n[3],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[4],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[5],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[6],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[7];e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[8],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[9],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[10],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[11],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[12],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[13],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[14],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[15],e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[16],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[17],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[18],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[19],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[20],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[21],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[22],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[23],e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[24],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[25],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[26],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[27],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[28],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[29],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[30],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[31],e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[32],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[33],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[34],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[35],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[36],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[37],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[38],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[39];let m=40;r>10&&(e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[40],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[41],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[42],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[43],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[44],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[45],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[46],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[47],m=48),r>12&&(e=_t[f>>>24]^$t[d>>>16&255]^en[w>>>8&255]^tn[255&p]^n[48],t=_t[d>>>24]^$t[w>>>16&255]^en[p>>>8&255]^tn[255&f]^n[49],i=_t[w>>>24]^$t[p>>>16&255]^en[f>>>8&255]^tn[255&d]^n[50],l=_t[p>>>24]^$t[f>>>16&255]^en[d>>>8&255]^tn[255&w]^n[51],f=_t[e>>>24]^$t[t>>>16&255]^en[i>>>8&255]^tn[255&l]^n[52],d=_t[t>>>24]^$t[i>>>16&255]^en[l>>>8&255]^tn[255&e]^n[53],w=_t[i>>>24]^$t[l>>>16&255]^en[e>>>8&255]^tn[255&t]^n[54],p=_t[l>>>24]^$t[e>>>16&255]^en[t>>>8&255]^tn[255&i]^n[55],m=56),o[0]=(Qt[f>>>24]<<24|Qt[d>>>16&255]<<16|Qt[w>>>8&255]<<8|Qt[255&p])^n[m],o[1]=(Qt[d>>>24]<<24|Qt[w>>>16&255]<<16|Qt[p>>>8&255]<<8|Qt[255&f])^n[m+1],o[2]=(Qt[w>>>24]<<24|Qt[p>>>16&255]<<16|Qt[f>>>8&255]<<8|Qt[255&d])^n[m+2],o[3]=(Qt[p>>>24]<<24|Qt[f>>>16&255]<<16|Qt[d>>>8&255]<<8|Qt[255&w])^n[m+3]}}(In(s,0,i),In(s,i,2*i)),In(s,2*i)}function vn(e,t){return t===fe?Xt(e):t}function In(e,t,n){return e.subarray(t,n)}class Un extends F{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){Wn(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=Mn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new d(un);e=e.subarray(12)}r?t.error(new d(fn)):t.enqueue(Mn(n,e))}})}}class On extends F{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){Wn(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=wn(new w(12));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(Nn(n,t),0),o=12}else r=new w(e.length),o=0;r.set(Nn(n,e),o),t.enqueue(r)}})}}function Wn(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,F:new Vt(o[0]),A:new Vt(o[2])}),r)for(let t=0;t<r.length;t++)Ln(e,r[t]);else for(let n=0;n<t.length;n++)Ln(e,t.charCodeAt(n))}(e,t,r)}function Mn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=Bn(e)^t[r],Ln(e,n[r]);return n}function Nn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=Bn(e)^t[r],Ln(e,t[r]);return n}function Ln(e,t){let[,n]=e.keys;e.F.append([t]);const r=~e.F.get();n=Pn(a.imul(Pn(n+kn(r)),134775813)+1),e.A.append([n>>>24]);const o=~e.A.get();e.keys=[r,n,o]}function Bn(e){const t=2|e.keys[2];return kn(a.imul(t,1^t)>>>8)}function kn(e){return 255&e}function Pn(e){return 4294967295&e}function Zn(e){if(e instanceof A)return e;const t=e.getReader();return new A({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function Yn(e,t){e=Zn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=pe||new y([]).stream()instanceof A)return new l(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new C({write(e){r.push(e)}})).then(()=>new y(r,n))}function Vn(e){if(e instanceof C)return e;const t=e.getWriter();return new C({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const Kn="Invalid codec definition",Xn="Reserved compression method",Hn="Invalid codec module",qn="Compression method not supported",Gn=[0,8,9,99],jn=new c,Jn=new c;function Qn(e){return jn.get(e)}function _n(){return t.from(jn.values(),e=>n.assign({},e,Jn.get(e.format)))}function $n(e){return Jn.get(e)}function er(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=pe&&typeof r!=pe)throw new d(Hn);Jn.set(e,{CompressionStream:n,DecompressionStream:r})}const tr="Invalid uncompressed size",nr="Invalid compressed data",rr="Invalid CRC32",or="deflate-raw",ir="deflate64-raw",ar="gzip",sr=[31,139,8];class cr extends F{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:a,zipCrypto:s,computeCrc32:c,level:u,deflate64:l,format:f,compressionMethod:d,inputSize:w}=e,p=this;let m,y,g,z=super.readable;const E=f&&$n(f),b=c&&o&&!l&&!E&&(!i||s)&&Boolean(a&&r);if(i&&!s||!c||b||(m=new Kt,z=yr(z,m)),o)if(E)z=gr(z,mr(E.CompressionStream,f,{level:u,chunkSize:t,compressionMethod:d,uncompressedSize:w}));else if(b)g=new ur,z=gr(z,new r(ar)),z=yr(z,g);else try{z=hr(z,a,{level:u,chunkSize:t},r,n)}catch(e){let t;try{t=new r(ar)}catch{throw e}z=gr(z,t),z=yr(z,new ur)}i&&(s?z=yr(z,new On(e)):(y=new An(e),z=yr(z,y))),pr(p,z,()=>{i&&!s||!c||(p.crc32=b?g.crc32:new h(m.value.buffer).getUint32(0))})}}class ur extends F{constructor(){let e,t=10,n=new w(0);super({transform(e,r){if(t){const n=a.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=vt(n,e));const i=o-8,s=a.min(i,n.length);r.enqueue(vt(n.subarray(0,s),e.subarray(0,i-s))),n=vt(n.subarray(s),e.subarray(i-s))},flush(){const t=Ut(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class lr extends F{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:a,crc32:s,compressed:c,useCompressionStream:u,deflate64:l,format:f,compressionMethod:p,rawBitFlag:m,outputSize:y}=e;let z,E,b=super.readable;if(i&&(o?b=yr(b,new Un(e)):(E=new Fn(e),b=yr(b,E))),c){const e=f&&$n(f);if(e)b=gr(b,mr(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:m,uncompressedSize:y}));else try{b=hr(b,u,{chunkSize:t,deflate64:l},r,n)}catch(e){if(l||y===fe)throw e;let t;try{t=new r(ar)}catch{throw e}b=function(e,t,n){const r=new Vt;let o,i,a,s=0,c=!1;const u=new g((e,t)=>{i=e,a=t});u.catch(()=>{}),n||i();const l=new F({start(e){const t=new w(10);t.set(sr),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await u}finally{m()}const t=new w(8),o=Ut(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){a(e)}}),f=new F({transform(e,t){r.append(e),s+=e.length,s>=n?i():c&&p(),t.enqueue(e)},cancel(e){a(e)}});return e=yr(e,l),yr(e=gr(e,t),f);function p(){m(),o=U(()=>a(new d(tr)),5e3)}function m(){O(o)}}(b,t,y)}b=function(e){const t=e.getReader();return new A({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(nr);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(b)}a&&(z=new Kt,b=yr(b,z)),pr(this,b,()=>{if(a){const e=new h(z.value.buffer);if(s!=e.getUint32(0,!1))throw new d(rr)}})}}const fr=new c;function dr(e,t){if(!e)return!1;let n=fr.get(e);n||(n=new c,fr.set(e,n));let r=n.get(t);if(r===fe){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function wr(e){return dr(e,or)}function pr(e,t,r){t=yr(t,new F({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function mr(e,t,n){if(!e)throw new d(qn);return new e(t,n)}function hr(e,t,n,r,o){const i=t&&r?r:o||r,a=n.deflate64?ir:or;let s;try{s=new i(a,n)}catch(e){if(!t||!o||i==o)throw e;s=new o(a,n)}return gr(e,s)}function yr(e,t){return Zn(e).pipeThrough(t)}function gr(e,t){const n=t.writable.getWriter(),r=e.getReader();return async function(){try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await async function(e,t){try{await e.abort(t)}catch{}}(n,e),await async function(e,t){try{await e.cancel(t)}catch{}}(r,e)}}(),t.readable}const zr="data",Er="deflate",br="inflate";class Sr extends F{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(Er)?i=cr:o.startsWith(br)&&(i=lr),r.outputSize=0;let a=0;const s=new i(e,t),c=super.readable,u=new F({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:a})}}),l=new F({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==fe&&r.outputSize>e.outputSize))throw new d(tr)},flush(){const{crc32:e}=s;n.assign(r,{crc32:e,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(s).pipeThrough(l)})}}class xr extends F{constructor(e){const t=[];let r=0,i=0;function a(){const n=new w(e);let o=0;for(;o<e;){const r=t[0],i=e-o;r.length<=i?(n.set(r,o),o+=r.length,t.shift()):(n.set(r.subarray(0,i),o),t[0]=r.subarray(i),o+=i)}return r-=e,n}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(n,o){for(t.push(n),r+=n.length;r>e;)i+=e,o.enqueue(a())},flush(e){r&&(i+=r,e.enqueue(function(e,t){const n=new w(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,r)))}}),n.defineProperty(this,"outputSize",{get:()=>i})}}const Fr="Worker startup timeout";let Ar,Cr,Dr,Tr=()=>{};async function Rr(){if(Tr)try{return await void 0,!0}catch{}return!1}function vr(e){e.createWorker?Cr=!0:Ar=!1}class Ir{constructor(e,{readable:t,writable:r},o,i){const{options:a,config:s,C:c,useWebWorkers:u,transferStreams:l,workerURI:f}=o;let{createWorker:d}=o;const{signal:w}=c;return Cr&&(d=fe),n.assign(e,{D:!0,T:(e.T||0)+1,readable:t.pipeThrough(new xr(wt(s))).pipeThrough(new Ur(c),{signal:w}),writable:r,options:n.assign({},a),R:o,workerURI:f,createWorker:d,transferStreams:l,terminate:()=>new g(t=>{const{v:n,D:r}=e;r?(e.I=e.I||[],e.I.push(t)):(n&&(n.terminate(),e.v=null),t()),e.U=null}),O(){if(e.D){const{I:t,v:n}=e;t&&(e.I=null,n&&(e.W=!0,n.terminate()),t.forEach(e=>e())),e.D=!1,i(e)}}}),Ar===fe&&(Ar=typeof v!=we),(u&&Dr&&(Ar&&f||d)?Dr:Wr)(e,s)}}class Ur extends F{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await Or(e,n)},async transform(e,r){o+=e.length,t&&await Or(t,o,n),r.enqueue(e)},async flush(){r&&await Or(r,o)}})}}async function Or(e,...t){try{await e(...t)}catch{}}function Wr(e,t){return{run:()=>Mr(e,t)}}async function Mr({options:e,readable:t,writable:n,O:r,R:o},i){let a,s,c;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Er),n=t?i.CompressionStreamFallback:i.DecompressionStreamFallback,r=t?i.CompressionStream:i.DecompressionStream;e.useCompressionStream?n&&n.M&&!wr(r)&&await u():await u()||n&&!n.M||(e.useCompressionStream=!0)}e.encrypted&&!e.zipCrypto&&await u(),a=new Sr(e,i),s=new xr(wt(i)),await t.pipeThrough(a).pipeThrough(s).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:o,outputSize:c}=a;return{crc32:r,inputSize:o,outputSize:c}}catch(e){if(a){const t=s?s.outputSize:0;if(o.outputSize=t,Ot(e))try{e.outputSize=t}catch{}}throw e}finally{r()}function u(){return c||(c=Rr()),c}}const Nr={type:"module"},Lr="error";let Br,kr,Pr,Zr=!0;try{Zr=typeof W==pe&&W(new DOMException("","AbortError")).code!==fe}catch{}var Yr;function Vr(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function Kr(e){const{v:t}=e;if(t)try{t.terminate()}catch{}e.U=null}function Xr(e,t,r,o,i=!0){const{createWorker:a}=r;let s,c,u;if(a)s=a();else if(kr===fe||Br!==e){const n=typeof e==pe;c=n?e(i):e;const a=c.startsWith("data:"),l=c.startsWith("blob:");if(a||l){o===fe&&(o=!1),o&&(u=Nr);try{s=new v(c,u)}catch(i){if(l)try{f.revokeObjectURL(c)}catch{}if(n&&l)return Xr(e,t,r,o,!1);if(o)throw i;return Xr(e,t,r,!0,!1)}}else{o===fe&&(o=!0),o&&(u=Nr);try{c=new f(c,t)}catch{}try{s=new v(c,u)}catch(n){if(o)return Xr(e,t,r,!1,i);throw n}}Br=e,kr=c,Pr=u}else s=new v(kr,Pr);return s.addEventListener("message",e=>{r.N=!0,Hr(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:a,error:s,errorValue:c}=e,{reader:u,writer:l,L:f,B:p,O:m,T:h}=t,y=()=>t.T!=h;try{if(s)g(function(e,t){const{message:r,stack:o,code:i,name:a,outputSize:s,cause:c,codecImportFailed:u}=e;let l;if(t?l=t.value:(l=n.assign(new d(r),{stack:o,code:i,name:a}),c&&(l.cause=n.assign(new d(c.message),{name:c.name}))),Ot(l))try{s!==fe&&(l.outputSize=s),u&&(l.codecImportFailed=!0),t&&(l.name!==a&&(l.name=a),l.code!==i&&(l.code=i))}catch{}return l}(s,c));else{if("pull"==r){const{value:e,done:n}=await u.read();y()||Gr({type:zr,value:e,done:n,messageId:i},t)}if(r==zr){const e=new w(o);await l.ready,await l.write(e),y()||Gr({type:"ack",messageId:i},t)}"close"==r&&function(e){y()||(f(e),z(),m())}(a)}}catch(s){y()||(Kr(t),g(s))}function g(e){y()||(p(e),z(),Ot(e)&&e.codecImportFailed||m())}function z(){l&&l.releaseLock()}}(e,r)}),s.addEventListener(Lr,e=>qr(e,r)),s.addEventListener("messageerror",e=>qr(e,r)),s}function Hr(e){const{P:t}=e;t&&(O(t),e.P=null)}function qr(e,t){e.preventDefault&&e.preventDefault(),Hr(t);const{N:r,B:o,writer:i,O:a}=t;Kr(t),r||(t.v=null);let s=e.error||new d(e.message||Lr);r||(s=n.assign(new d(s.message||Lr),{Z:!0}),t.Y=s),o&&(o(s),i&&i.releaseLock(),r&&a())}function Gr(e,{v:t,writer:n,transferStreams:r,N:o}){try{const{value:n,readable:i,writable:a}=e,s=[];if(n&&(e.value=It(n),s.push(e.value.buffer)),r&&Zr&&o?(i&&s.push(i),a&&s.push(a)):e.readable=e.writable=null,s.length)try{return t.postMessage(e,s),!0}catch{Zr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}Yr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:s}=t;if(!e.U){let c;typeof s==pe&&(s=s());try{c=Xr(e.workerURI,r,e)}catch{return vr(e),Wr(e,t)}n.assign(e,{v:c,N:!1,W:!1,Y:null,U:{run:async()=>{try{return await async function(e,t){if(!e.v){const{Y:t}=e;e.Y=null;const n=t||new d(Fr);throw n.Z=!0,n}let r,i;const a=new g((t,n)=>{r=t,i=t=>{const{outputSize:r,R:o}=e;if(o.outputSize=r,Ot(t))try{t.outputSize=r}catch{}n(t)}});n.assign(e,{reader:null,writer:null,outputSize:0,V:!1,K:null,L:r,B:i,result:a});const{readable:s,options:c}=e,{writable:u,closed:l,X:f}=function(e,t){const r=new AbortController;let o;const{writable:i,readable:a}=new F({transform(e,n){t.outputSize+=e.length,n.enqueue(e)}}),s=a.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:r.signal});return s.catch(e=>{o||n.assign(t,{V:!0,K:e})}),{writable:i,closed:s,X:()=>{o=!0,r.abort()}}}(e.writable,e);let w;try{w=Gr({type:"start",options:c,config:t,readable:s,writable:u},e)}catch(t){f();try{await l}catch{}throw e.O(),t}w||n.assign(e,{reader:s.getReader(),writer:u.getWriter()});const{workerStartupTimeout:p}=t;!e.N&&o.isFinite(p)&&p>=0&&(e.P=U(()=>function(e){if(e.P=null,e.N)return;const{B:t,writer:n}=e;if(Kr(e),e.v=null,t){const e=new d(Fr);e.Z=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await a;return await m(),await l,e}catch(t){await m(),f();try{await l}catch{}const{outputSize:n,R:r,V:o,K:i}=e;r.outputSize=n;const a=Ot(t)&&(t.codecImportFailed||t.Z),s=o&&!a?i:t;if(Ot(s))try{s.outputSize=n}catch{}throw s}async function m(){if(!w&&!u.locked)try{await u.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(n){if(n&&n.Z)return vr(e),Vr(e),Mr(e,t);if(n&&n.codecImportFailed){if(e.reader)return Vr(e),Mr(e,t);e.O()}throw n}}}})}return e.U},Dr=Yr;let jr=[];const Jr=[];let Qr,_r,$r=0;async function eo(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:s,compressed:c,checkCrc32:u,computeCrc32:l,encrypted:d,format:w,codecURI:p}=n,{workerURI:m,createWorker:h,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!Jn.has(e)&&t&&er(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(w,n.codecURI)),t.transferStreams=!w&&(i||i===fe&&r.transferStreams);const z=!(c||u||l||d),E=w===fe||Boolean(n.codecURI);return t.useWebWorkers=!z&&E&&(a||a===fe&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:fe,t.createWorker=t.useWebWorkers&&h?h:fe,n.useCompressionStream=s||s===fe&&r.useCompressionStream,(await async function(){const n=jr.find(e=>!e.D);if(n)return io(n),new Ir(n,e,t,b);if(jr.length<y){const n={H:$r};return $r++,jr.push(n),new Ir(n,e,t,b)}return new g(n=>{Jr.push({resolve:n,stream:e,R:t}),_r=r.workerStarvationTimeout,to()})}()).run();function b(e){if(no(),Jr.length){const[{resolve:t,stream:n,R:r}]=Jr.splice(0,1);t(new Ir(e,n,r,b)),to()}else e.v?(io(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.W?e.W=!1:e.G=U(async()=>{jr=jr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):jr=jr.filter(t=>t!=e)}}function to(){!Qr&&Jr.length&&o.isFinite(_r)&&_r>=0&&(Qr=U(ro,_r))}function no(){Qr&&(O(Qr),Qr=null)}function ro(){if(Qr=null,Jr.length){const[{resolve:e,stream:t,R:r}]=Jr.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:fe,createWorker:fe});e(new Ir({},t,o,oo)),to()}}function oo(){no(),to()}function io(e){const{G:t}=e;t&&(O(t),e.G=null)}const ao="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function so(e,t){return co(e,t,!0)}function co(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){let t="";for(let n=0;n<e.length;n++)t+=ao[e[n]];return t}(e):new E(t,{ignoreBOM:n}).decode(e)}const uo="HTTP error ",lo="HTTP Range not supported",fo="HTTP resource changed",wo="Writer iterator completed too soon",po="Writer not initialized",mo="Invalid writer (size must be writable)",ho="Content-Range",yo="Range",go="GET",zo="bytes",Eo=16777216,bo="writable",So=I();class xo{constructor(){this.size=0}init(){this.initialized=!0}}class Fo extends xo{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=wt(dt())}={}){const r=this;let o=0;return n=pt(n),new A({async pull(i){const s=t===fe?n:a.min(n,t-o),c=await ni(r,e+o,s);c.length&&(i.enqueue(c),o+=c.length),(t!==fe&&o>=t||!c.length&&s)&&i.close()}})}}class Ao extends xo{constructor(){super();const e=this,t=new C({write(t){if(!e.initialized)throw new d(po);return e.writeUint8Array(It(t))}});n.defineProperty(e,bo,{get:()=>t})}writeUint8Array(){}}let Co,Do;class To extends Fo{constructor(e){super(),n.assign(this,{j:e,size:e.size}),Do||(Do=(async()=>{try{const e=new y([new w(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Co=1==t}catch{Co=!1}})())}createReadable(e){const{j:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};if(typeof t.stream==pe){if(!r&&o>=n)return Zn(t.stream());if(Co)return Zn(t.slice(r,r+o).stream())}return super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.j:n.j.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new w(i)}}class Ro extends xo{constructor(e){super();const t=this,r=new F;n.defineProperty(t,bo,{get:()=>r.writable}),t.contentType=e,t.J=Yn(r.readable,e),t.J.catch(()=>{})}getData(){return this.J}}class vo extends Fo{constructor(e,t){super(),Uo(this,e,t)}async init(){await Oo(this,Ho,Yo),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:o}=t;if((n||r)&&o!==fe){const{offset:n=0,size:r=o-n}=e||{};if(r>0&&n<o)return function(e,t,n){let r,o=t,i=0,s=n;return new A({start:()=>c(),async pull(e){r||await c();const{value:t,done:n}=await r.read();if(n)throw new d(lo);const o=t.length>i?t.subarray(0,i):t;i-=o.length,s-=o.length,o.length&&e.enqueue(o),i||(await async function(){const e=r;r=fe,await e.cancel()}(),s||e.close())},cancel:e=>r&&r.cancel(e)});async function c(){const t=a.min(e.maximumRangeSize,s),n=await Ho(go,e,Po(e,o,t));if(206!=n.status)throw new d(lo);const c=Mo(n);if(c!==fe&&c!=o)throw new d(lo);ko(e,n),Bo(e,n),o+=t,i=t,r=n.body.getReader()}}(t,n,a.min(r,o-n))}return super.createReadable(e)}readUint8Array(e,t){return Wo(this,e,t,Ho,Yo)}}class Io extends Fo{constructor(e,t){super(),Uo(this,e,t)}async init(){await Oo(this,qo,Vo),super.init()}readUint8Array(e,t){return Wo(this,e,t,qo,Vo)}}function Uo(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s,checkResourceChanges:c=!0,maximumRangeSize:u=Eo,fetch:l}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s,checkResourceChanges:c,maximumRangeSize:u,fetch:l})}async function Oo(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:s}=e;if(function(e){const{baseURI:t}=dt(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||a)&&(typeof o==we||o)){const r=await t(go,e,Po(e,s?-65557:void 0)),o=r.headers.get("Accept-Ranges");if(!(a||o&&o.toLowerCase()==zo))throw new d(lo);{let o;s&&206==r.status&&(o=new w(await r.arrayBuffer())),Bo(e,r);const i=No(r);i===fe?await Xo(e,t,n):e.size=i,o&&o.length&&Mo(r)===e.size-o.length&&(e._=o)}}else await Xo(e,t,n)}async function Wo(e,t,n,r,o){const{useRangeHeader:i,forceRangeRequests:a,_:s,size:c,options:u}=e;if(i||a){if(t>=c||0===n)return ge;{if(t+n>c&&(n=c-t),s&&t>=c-s.length){const e=t-(c-s.length);return s.slice(e,e+n)}const o=await r(go,e,Po(e,t,n));if(206!=o.status)throw new d(lo);const i=Mo(o);if(i!==fe&&i!=t)throw new d(lo);ko(e,o),Bo(e,o);const a=new w(await o.arrayBuffer());if(a.length!=n)throw new d(lo);return a}}{const{data:r}=e;return r||await o(e,u),e.data.subarray(t,t+n)}}function Mo(e){const t=e.headers.get(ho);if(t){const e=o(t.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e))return e}}function No(e){const t=e.headers.get(ho);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function Lo({headers:e}){return{$:e.get("Etag")||fe,lastModified:e.get("Last-Modified")||fe}}function Bo(e,t){const{checkResourceChanges:n,ee:r}=e;n&&!r&&206==t.status&&(e.ee=Lo(t))}function ko(e,t){const{checkResourceChanges:r,ee:o,size:i}=e;if(r){const e=No(t);if(e!==fe&&i!==fe&&e!=i)throw new d(fo);if(o){const e=Lo(t);if(n.entries(o).some(([t,n])=>n!==fe&&e[t]!==fe&&n!=e[t]))throw new d(fo)}}}function Po(e,t=0,r=1){return n.assign({},Zo(e),{[yo]:zo+"="+(t<0?t:t+"-"+(t+r-1))})}function Zo({options:e}){const{headers:t}=e;if(t)return I.iterator in t?n.fromEntries(t):t}async function Yo(e){await Ko(e,Ho)}async function Vo(e){await Ko(e,qo)}async function Ko(e,t){const n=await t(go,e,Zo(e));e.data=new w(await n.arrayBuffer()),e.size=e.data.length}async function Xo(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,Zo(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function Ho(e,{fetch:t=fetch,options:r,url:o},i){const a=await t(o,n.assign({},r,{method:e,headers:i}));if(a.status>=200&&a.status<=299)return a;throw 416==a.status?new d(lo):new d(uo+(a.statusText||a.status))}function qo(e,{url:t},r){return new g((o,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status>=200&&a.status<=299){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),o({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new d(lo):new d(uo+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>i(e.detail?e.detail.error:new d("Network error")),!1),a.open(e,t),r)for(const e of n.entries(r))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class Go extends Fo{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Io(e,t):new vo(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 jo extends Fo{constructor(e){super(),this.te=e}async init(){const e=this;e.ne=0;const t=e.te=await g.all(e.te.map(ti));e.re=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}oe(e){const{re:t,size:n}=this,r=t[e];return r===fe?n:r}async readUint8Array(e,t){const n=this,{te:r}=this;let o,i=0,s=e;for(;r[i]&&s>=r[i].size;)s-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(s+t<=r)o=await ni(c,s,t);else{const i=r-s;o=vt(await ni(c,s,i),await n.readUint8Array(e+i,t-i))}}else o=ge;return n.ne=a.max(i,n.ne),o}}class Jo extends xo{constructor(e,t=4294967295){super();const r=this;let o,i,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const s=new C({async write(t){if(t===So)return void(a&&await u());const{availableSize:n}=r;if(a)t.length>=n?(await c(t.subarray(0,n)),await u(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:s}=await e.next();if(s&&!n)throw new d(wo);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await ei(o),i=n.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await l())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),o.size+=t,r.availableSize-=t)}async function u(){await l(),r.diskOffset+=o.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function l(){await a.close()}n.defineProperty(r,bo,{get:()=>s})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(So)}finally{e.releaseLock()}}}class Qo{constructor(e){return t.isArray(e)&&(e=new jo(e)),(e instanceof A||typeof e.getReader==pe)&&(e={readable:Zn(e)}),e}}class _o{constructor(e){e.writable===fe&&typeof e.next==pe&&(e=new Jo(e)),(e instanceof C||typeof e.getWriter==pe)&&(e={writable:Vn(e)});try{e.size=e.size===fe?0:e.size}catch{throw new d(mo)}return e}}function $o(e){return Boolean(e&&e.getData)}async function ei(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}async function ti(e){return e=new Qo(e),await ei(e),e.size!==fe&&e.readUint8Array||(e=new To(await Yn(e.readable)),await ei(e)),e}function ni(e,t,n){return e.readUint8Array(t,n)}function ri(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Fo.prototype.createReadable.call(e,t):e.readable}function oi(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==fe&&(r.filename=n),e.push(r)}}const ii="filename",ai="rawFilename",si="comment",ci="rawComment",ui="uncompressedSize",li="compressedSize",fi="offset",di="diskNumberStart",wi="lastModDate",pi="rawLastModDate",mi="lastAccessDate",hi="rawLastAccessDate",yi="creationDate",gi="rawCreationDate",zi="internalFileAttributes",Ei="externalFileAttributes",bi="msdosAttributesRaw",Si="msdosAttributes",xi="msDosCompatible",Fi="zip64",Ai="encrypted",Ci="version",Di="versionMadeBy",Ti="zipCrypto",Ri="directory",vi="executable",Ii="compressionMethod",Ui="signature",Oi="extraField",Wi="unixMode",Mi="setuid",Ni="setgid",Li="sticky",Bi=[ii,ai,ui,li,wi,pi,si,ci,mi,hi,yi,gi,fi,di,zi,Ei,bi,Si,xi,Fi,Ai,Ci,Di,Ti,Ri,vi,"symlink",Ii,Ui,"crc32",Oi,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Wi,"unixExternalUpper",Mi,Ni,Li,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ki{constructor(e){Bi.forEach(t=>this[t]=e[t])}}const Pi=new u([1,Q,10,_,28789,25461,$,ee,te,22613,13]);function Zi(e,t,n){return e?t?12:16+4*n:0}const Yi="File format is not recognized",Vi="End of central directory not found",Ki="End of Zip64 central directory locator not found",Xi="Central directory header not found",Hi="Local file header not found",qi="Zip64 extra field not found",Gi="File contains encrypted entry",ji="Encryption method not supported",Ji="Split zip file",Qi="Overlapping entry found",_i="Entry data out of bounds",$i="Ambiguous archive",ea="Encrypted central directory is not supported",ta="Unsafe filename",na="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ra="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",oa="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",ia="64-bit value exceeds Number.MAX_SAFE_INTEGER",aa="unsorted central directory",sa="unknown version needed to extract",ca="compressed patched data",ua="malformed extra field",la="unknown zip64 extensible data",fa="wrapped entries count",da="appended data",wa="prepended data",pa="prepended central directory",ma="trailing central directory data",ha="duplicate filename",ya="mismatched zip64 end of central directory record",ga="multiple end of central directory records",za="mismatched local file header (filename)",Ea="mismatched local file header (general purpose bit flag)",ba="mismatched local file header (compression method)",Sa="mismatched local file header (crc32 or sizes)",xa=/^[a-zA-Z]:/,Fa="utf-8",Aa="cp437",Ca=[[ui,N],[li,N],[fi,N],[di,L]],Da={[L]:{ie:ls,bytes:4},[N]:{ie:fs,bytes:8}},Ta=i(o.MAX_SAFE_INTEGER);class Ra{constructor(e,t={}){n.assign(this,{reader:new Qo(e),options:t,ae:{se:new u,ce:[],ue:[]}})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await ei(r),r.size!==fe&&r.readUint8Array||(r=new To(await Yn(r.readable)),await ei(r)),r.size<G)throw new d(Yi);const o=t.warnings=[],i=qa(e,t.options),s=i==Le,c=i!=ke,l=Ja(os(t,e,Oe),i),f=function(e,t){if(e===fe)return t;if(!Ha(e))throw new d(ra);return e}(os(t,e,"filenameValidation"),i),w=os(t,e,"normalizeFilename"),{le:p,fe:m}=await Qa(r,c,l);if(!p)throw await async function(e){return await Xa(e)==P}(r)?new d(Ji):new d(Vi);c&&m>1&&rs(ga);const h=Ut(p);let y=ls(h,12),g=ls(h,16);const z=p.offset,E=us(h,20),b=z+G+E,S=r.size-b;S>l&&rs(da),S>0&&oi(o,da);let x=us(h,4);const A=r.ne||0;let C,D,T,R,v,I=us(h,6),U=us(h,10),O=0,W=J;const M=g==N||y==N||U==L||I==L;if(g!=N&&I!=L&&(g+=Ka(r,I)),M){const e=p.offset>=j?await ni(r,p.offset-j,j):ge,t=Ut(e);if(e.length==j&&ls(t,0)==H){g=Ka(r,ls(t,4))+fs(t,8);let e=await ni(r,g,J),i=Ut(e);const c=p.offset-j-J;if((e.length<J||ls(i,0)!=X)&&g!=c&&c>=0){const t=g;g=c,g>t&&(O=g-t),e=await ni(r,g,J),i=Ut(e)}if(e.length<J||ls(i,0)!=X)throw new d(Ki);if(T=!0,R=fs(i,4)>44,R){const e=a.min(fs(i,4)-44,r.size-g-J);e>0&&(W+=e,v=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=Ut(e),o=us(r,26);n.assign(t,{compressionMethod:us(r,0),compressedSize:fs(r,2),uncompressedSize:fs(r,10),encryptionAlgorithm:us(r,18),bitLength:us(r,20),flags:us(r,22),hashAlgorithm:us(r,24),hashData:e.subarray(28,28+o)})}return t}(await ni(r,g+J,e)))}x==L?x=ls(i,16):x!=ls(i,16)&&ns(s,o,ya),I==L?I=ls(i,20):I!=ls(i,20)&&ns(s,o,ya),U==L?U=fs(i,32):U!=fs(i,32)&&ns(s,o,ya),y==N?y=fs(i,40):y!=fs(i,40)&&ns(s,o,ya),g=Ka(r,I)+fs(i,48)+O}}let k=y;const Z=p.offset-(T?W+j:0);if(g>=r.size&&(O=r.size-g-y-G,g=r.size-y-G),A!=x)throw new d(Ji);if(g<0)throw new d(Yi);let Y=0,K=await ni(r,g,y),Q=Ut(K);if(y){if(K.length<4)throw new d(Yi);const e=Z-y;if(g!=e&&I==x){const t=ls(Q,Y)==V||Boolean(v&&v.compressedSize)||Oa(Q);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=ls(Ut(await ni(r,e,4)),0)==V),n){const n=g;g=e,g>n&&(O+=g-n,C=t),K=await ni(r,g,y),Q=Ut(K)}}}const _=Z-g;if(y!=_&&_>=0&&I==x&&(y=_,K=await ni(r,g,y),Q=Ut(K)),g<0||g>=r.size)throw new d(Yi);t.directoryOffset=g,t.directoryLength=k;const $=is(t,e,"decryptCentralDirectory");let ee,te;if($&&U&&K.length>=4&&ls(Q,0)!=V&&(R||Oa(Q))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(v,k,K.length);te=K.subarray(e),K=await $(K.subarray(0,e),v),Q=Ut(K),k=K.length,ee=!0}v&&!ee&&(K.length<4||ls(Q,0)==V)&&oi(o,la),D=g;const ne=os(t,e,"filenameEncoding"),ce=os(t,e,"commentEncoding"),ue=new u;let le,de=-1;const we=!s&&!T;!U&&we&&(U=Wa(Q,K,Y),U&&oi(o,fa));for(let i=0;i<U;i++){const s=new Ua(r,t.options);if(Y+q>K.length||ls(Q,Y)!=V){if(0==i&&!ee&&(R||Oa(Q)))throw new d(ea);throw new d(Xi)}Na(s,Q,Y+6);const c=Boolean(s.bitFlag.languageEncodingFlag),u=Y+q,l=u+s.filenameLength,p=l+s.extraFieldLength,m=us(Q,Y+4),h=!(m>>8),y=m>>8==3,g=K.subarray(u,l),z=us(Q,Y+32),E=p+z,b=K.subarray(p,E),S=c,x=c,A=ls(Q,Y+38),C=A&B,T={readOnly:Boolean(1&C),hidden:Boolean(2&C),system:Boolean(4&C),directory:Boolean(16&C),archive:Boolean(32&C)},v=ls(Q,Y+42),I=is(t,e,"decodeText")||so,W=S?Fa:ne||Aa,M=x?Fa:ce||Aa;let N=I(g,W,Me);if(N===fe&&(N=so(g,W)),w){const e=w(N);e!==fe&&(N=e)}if(ja(N,f)){const e=new d(ta);throw e.filename=N,e}let k=I(b,M,Ne);k===fe&&(k=so(b,M)),n.assign(s,{index:i,de:ee,versionMadeBy:m,msDosCompatible:h,zip64:!1,compressedSize:0,uncompressedSize:0,we:z,offset:v,diskNumberStart:us(Q,Y+34),internalFileAttributes:us(Q,Y+36),externalFileAttributes:A,msdosAttributesRaw:C,msdosAttributes:T,rawFilename:g,filenameUTF8:S,commentUTF8:x,rawExtraField:K.subarray(l,p),rawComment:b,filename:N,comment:k}),La(s,s,Q,Y+6)&&oi(o,ua,N),s.offset+=O;const P=Ka(r,s.diskNumberStart)+s.offset;D=a.min(P,D),P<de&&oi(o,aa,N),de=P,(s.version&B)>63&&oi(o,sa,N),32&~s.rawBitFlag||oi(o,ca,N),ue.has(s.filename)&&(le=!0),ue.add(s.filename);const Z=s.externalFileAttributes>>16&L;s.unixMode===fe&&16877&Z&&(s.unixMode=Z);const X=Boolean(s.unixMode&ie),H=Boolean(s.unixMode&ae),G=Boolean(512&s.unixMode),j=40960==((s.unixMode===fe?Z:s.unixMode)&re),J=!j&&(s.unixMode!==fe?!!(73&s.unixMode):y&&!!(73&Z)),_=s.unixMode!==fe&&(s.unixMode&re)==oe,$=(Z&re)==oe;n.assign(s,{setuid:X,setgid:H,sticky:G,symlink:j,unixExternalUpper:Z,executable:J,directory:_||$||h&&T.directory||s.filename.endsWith(se),zipCrypto:s.encrypted&&!s.extraFieldAES});const te=new ki(s);if(te.getData=(e,n)=>s.getData(e,te,t.ae,n),te.arrayBuffer=async e=>{const r=new F,o=Yn(r.readable).then(e=>e.arrayBuffer());return o.catch(()=>{}),await s.getData(r,te,t.ae,n.assign({},e,{preventClose:!1})),o},Y=E,i==U-1&&we){const e=Wa(Q,K,Y);e&&(U+=e,oi(o,fa))}const{onprogress:pe}=e;if(pe)try{await pe(i+1,U,new ki(s))}catch{}yield te}let pe=Y,me=Ma(K.subarray(Y))||(ee?Ma(te):fe);if(!me&&!ee){const e=g+Y,t=a.min(Z-e,65541);t>=6&&(me=Ma(await ni(r,e,t)))}me&&(t.digitalSignature=me,pe=Y+6+me.length),(Y!=k&&pe!=k||!ee&&Y!=y&&pe!=y)&&ns(s,o,ma),le&&ns(s,o,ha);const he=os(t,e,"extractPrependedData"),ye=os(t,e,"extractAppendedData"),ze=(s||he)&&U&&4==D&&await async function(e){const t=await Xa(e);return t==P||808471376==t}(r)?4:0;return s&&(O||U&&D>ze)&&rs(wa),(O||U&&D>4)&&oi(o,wa),C&&oi(o,pa),he&&(t.prependedData=D>ze?await ni(r,ze,D-ze):ge),t.comment=E?await ni(r,z+G,E):ge,ye&&(t.appendedData=b<r.size?await ni(r,b,r.size-b):ge),!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()}[ze](){return this.close()}}class va{constructor(e={}){let r;const{readable:o,writable:i}=new F({start(e){r=e}}),a=new Ra(o,e),s=a.getEntriesGenerator(),c=new u;this.readable=new A({async pull(e){const{done:t,value:r}=await s.next();if(t)return e.close();const o=function(e,t){const{readable:n,writable:r}=new F;let o;const i={cancel:async e=>{t.delete(i),await(o?o.cancel(e):n.cancel(e))}};return i.readable=new A({async pull(a){o||(o=n.getReader(),t.add(i),async function(){try{await e.getData(r,{preventClose:!1})}catch(e){try{await r.abort(e)}catch{}}finally{t.delete(i)}}());const{done:s,value:c}=await o.read();s?a.close():a.enqueue(c)},cancel:e=>i.cancel(e)},{highWaterMark:0}),i}(r,c),i={...r,readable:o.readable};delete i.getData,n.defineProperties(i,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),e.enqueue(i)},async cancel(e){const n=t.from(c);c.clear(),r.error(e),await g.allSettled(n.map(t=>t.cancel(e))),await g.allSettled([s.return(),a.close()])}}),this.writable=i}}async function Ia(e,t={}){if(e=new Qo(e),await ei(e),e.size!==fe&&e.readUint8Array||(e=new To(await Yn(e.readable)),await ei(e)),e.size<G)return!1;const n=qa(t,{}),r=n!=ke,o=Ja(t[Oe],n),{le:i,fe:a}=await Qa(e,r,o);if(!i||n==Le&&a>1)return!1;const s=us(Ut(i),20),c=i.offset+G+s;return e.size-c<=o}class Ua{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,r,o={}){const i=this,s=dt(),{reader:c,index:u,offset:l,diskNumberStart:f,extraFieldAES:w,extraFieldZip64:p,compressionMethod:m,bitFlag:h,rawBitFlag:y,crc32:g,rawLastModDate:z,uncompressedSize:E,compressedSize:b}=i,{dataDescriptor:S}=h,x=t.localDirectory={},F=t.warnings=[],A=Ka(c,f)+l,D=await ni(c,A,ce),T=Ut(D);let R=os(i,o,Ee),v=os(i,o,be);const I=Je(os(i,o,Se)),U=Boolean(I),O=!0===I;if(je(R,v),R=R&&R.length&&R,v=v&&v.length&&v,w&&99!=w.originalCompressionMethod)throw new d(qn);if(D.length<ce||ls(T,0)!=k)throw new d(Hi);Na(x,T,4);const{extraFieldLength:W,filenameLength:M}=x,N=x.dataOffset=A+ce+M+W,L=os(i,o,"checkLocalDirectory"),P=qa(o,i.options),Y=function(e,t){return e===fe?t!=ke:Boolean(e)}(L,P),V=os(i,o,"checkLocalFilename"),K=function(e,t){return e===fe?t==Le:Boolean(e)}(V===fe?L:V,P);let X=ge;if(K&&(M||W)){const e=await ni(c,A+ce,M+W);X=e.subarray(0,M),x.rawExtraField=e.subarray(M)}else x.rawExtraField=W?await ni(c,A+ce+M,W):ge;K&&(x.rawFilename=X),La(i,x,T,4,!0)&&oi(F,ua),function(e,t,n,r,o){const{rawFilename:i}=e,a=!o,s=e.de&&!(8192&~t.rawBitFlag);!r||s||n.length==i.length&&!n.some((e,t)=>e!=i[t])||ns(a,o,za),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&ns(a,o,Ea),t.compressionMethod!=e.compressionMethod&&ns(a,o,ba),t.bitFlag.dataDescriptor||s||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||ns(a,o,Sa)}(i,x,X,K,Y?fe:F);const{lastAccessDate:H,creationDate:q,uid:G,gid:j}=x;H&&(t.lastAccessDate=H),q&&(t.creationDate=q),G!==fe&&t.uid===fe&&(t.uid=G),j!==fe&&t.gid===fe&&(t.gid=j);const J=os(i,o,"checkPasswordOnly"),Q=i.encrypted&&x.encrypted&&(!O||J),_=Q&&!w;if(O||(t.zipCrypto=_),Q&&!(64&~x.rawBitFlag))throw new d(ji);const $=U?fe:Qn(m);if(0!=m&&8!=m&&9!=m&&!$&&!U)throw new d(qn);if(Q){if(!_&&(w.strength<1||w.strength>3))throw new d(ji);if(!R&&!v)throw new d(Gi)}if(N+b>c.size)throw new d(_i);const ee=b,te=qe(os(i,o,xe));Ge(te);let ne=os(i,o,"checkOverlappingEntry");const re=os(i,o,"checkOverlappingEntryOnly");re&&(ne=!0);const{onstart:oe,onprogress:ie,onend:ae}=o,se=0!=m&&!U,ue=U?b-Zi(Q,_,w&&w.strength):E,le=9==m;let de=os(i,o,Ae);le&&(de=!1);const we=os(i,o,"checkCrc32"),pe=(we===fe?os(i,o,"checkSignature"):we)&&!U&&(!Q||_||w&&1==w.vendorVersion),me={options:{codecType:br,password:R,rawPassword:v,zipCrypto:_,encryptionStrength:w&&w.strength,checkCrc32:pe,checkAuthenticationCode:os(i,o,"checkAuthenticationCode"),passwordVerification:_&&(S?z>>>8&B:g>>>24&B),outputSize:ue,crc32:g,compressed:se,encrypted:Q,useWebWorkers:os(i,o,Fe),useCompressionStream:de,transferStreams:os(i,o,Ce),deflate64:le,format:$?$.format:fe,codecURI:$?$.codecURI:fe,compressionMethod:m,rawBitFlag:y,checkPasswordOnly:J},config:s,C:{signal:te,size:ee,onstart:oe,onprogress:ie,onend:ae}};let he,ye,ze;ne&&await async function({reader:e,pe:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:a,dataOffset:s,dataDescriptor:c,extraFieldZip64:u,ae:l}){let f=0;if(c&&(f=u?20:12),f){const n=await ni(e,s+i,f+4),r=Ut(n);let c=n.length==f+4&&ls(r,0)==Z;if(c){const e=Va(r,4,u);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==a?f+=4:c=!1}if(n.length>=f){const e=Va(r,c?4:0,u);e.signature=c,t.localDirectory.dataDescriptor=e}}const w={start:r,end:s+i+f,pe:t},{se:p,ce:m,ue:h}=l;if(!p.has(n)){const e=function(e,t){let n=0,r=e.length;for(;n<r;){const o=n+r>>>1;e[o].start<t.start?n=o+1:r=o}const o=e[n-1],i=e[n];return o&&Ya(t,o)?o:i&&Ya(t,i)?i:void 0}(m,w)||h.find(e=>Ya(w,e));if(e){const t=new d(Qi);throw t.overlappingEntry=e.pe,t}p.add(n),h.push(w),h.length*h.length>m.length&&(h.sort((e,t)=>e.start-t.start),l.ce=function(e,t){const n=[];let r=0,o=0;for(;r<e.length||o<t.length;)o==t.length||r<e.length&&e[r].start<t[o].start?n.push(e[r++]):n.push(t[o++]);return n}(m,h),h.length=0)}}({reader:c,pe:t,index:u,offset:A,crc32:g,compressedSize:b,uncompressedSize:E,dataOffset:N,dataDescriptor:S||x.bitFlag.dataDescriptor,extraFieldZip64:p||x.extraFieldZip64,ae:r});try{if(!re){J&&(e=new C),e=new _o(e),await ei(e,function(e,t,n){return a.min(e,n?1032*t:t)}(ue,b,se)),({writable:he}=e);const t=Zn(c.createReadable({offset:N,size:ee})),{outputSize:r}=await eo({readable:t,writable:he},me);if(r!=ue)throw n.assign(new d(tr),{outputSize:r});e.size+=r}}catch(t){const{outputSize:n}=me;if(n!==fe?e.size+=n:Ot(t)&&t.outputSize!==fe&&(e.size+=t.outputSize),!J||!Ot(t)||t.message!=fn)throw ye=t,ze=!0,t}finally{if(($o(e)||!os(i,o,De))&&he&&!he.locked){const e=he.getWriter();if(ze)try{await e.abort(ye)}catch{}else await e.close()}}return J||re?fe:e.getData?e.getData():he}}function Oa(e){const t=a.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==ls(e,n))return!0;return!1}function Wa(e,t,n){let r=0;for(;n+q<=t.length&&ls(e,n)==V;)n+=q+us(e,n+28)+us(e,n+30)+us(e,n+32),r++;return r%65536?0:r}function Ma(e){if(e.length>=6){const t=Ut(e);if(ls(t,0)==Y){const n=us(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function Na(e,t,r){const o=e.rawBitFlag=us(t,r+2),i=!(1&~o),a=ls(t,r+6);n.assign(e,{encrypted:i,version:us(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&ne)==ne},rawLastModDate:a,lastModDate:as(a),filenameLength:us(t,r+22),extraFieldLength:us(t,r+24)})}function La(e,t,r,o,i){const{rawExtraField:a}=t,u=t.extraField=new c,l=Ut(a);let f=0,w=!1;try{for(;f<a.length;){const e=us(l,f),t=us(l,f+2);u.set(e,{type:e,data:a.slice(f+4,f+4+t)}),f+=4+t}}catch{w=!0}f>a.length&&(w=!0);const p=us(r,o+4);n.assign(t,{signature:ls(r,o+10),crc32:ls(r,o+10),compressedSize:ls(r,o+14),uncompressedSize:ls(r,o+18)});const m=u.get(1);m&&(function(e,t){t.zip64=!0;const n=Ut(e.data),r=Ca.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+Da[t].bytes,0);if(e.data.length<o)throw new d(qi);for(let o=0,i=0;o<r.length;o++){const[a,s]=r[o],c=Da[s];t[a]=e[a]=c.ie(n,i),i+=c.bytes}}(m,t),t.extraFieldZip64=m);const h=u.get(28789);h&&(Ba(h,ii,ai,t,e),t.extraFieldUnicodePath=h);const y=u.get(25461);y&&(Ba(y,si,ci,t,e),t.extraFieldUnicodeComment=y);const g=u.get(Q);g&&g.data.length>=7?(function(e,t,r){const o=Ut(e.data),i=cs(o,4);n.assign(e,{vendorVersion:cs(o,0),vendorId:cs(o,2),strength:i,originalCompressionMethod:r,compressionMethod:us(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=fe)}(g,t,p),t.extraFieldAES=g):t.compressionMethod=p;const z=u.get(13);z&&(ka(z,t),t.extraFieldPkwareUnix=z);const E=u.get(22613);E&&(ka(E,t),t.extraFieldUnixType1=E);const b=u.get(10);b&&(function(e,t){const r=Ut(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=us(r,i),n=us(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=Ut(o),i=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),s=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:s});const c={lastModDate:ss(i),lastAccessDate:ss(a),creationDate:ss(s)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:a,rawCreationDate:s})}}(b,t),t.extraFieldNTFS=b);const S=u.get(te);let x;if(S&&(x=Pa(S,t,!1),t.extraFieldUnix=S),!x){const e=u.get(ee);e&&(Pa(e,t,!0),t.extraFieldInfoZip=e)}const F=u.get(_);F&&(function(e,t,n){if(!e.data.length)return;const r=Ut(e.data),o=cs(r,0),i=[],a=[];n?(1&~o||(i.push(wi),a.push(pi)),2&~o||(i.push(mi),a.push(hi)),4&~o||(i.push(yi),a.push(gi))):e.data.length>=5&&(i.push(wi),a.push(pi));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=ls(r,c);t[n]=e[n]=new s(1e3*(0|i));const u=a[o];e[u]=i}c+=4})}(F,t,i),t.extraFieldExtendedTimestamp=F);const A=u.get($);return A&&(t.extraFieldUSDZ=A),w}function Ba(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const a=Ut(e.data),s=new Vt;s.append(i[r]);const c=Ut(new w(4));c.setUint32(0,s.get(),!0);const u=ls(a,1),l=cs(a,0);n.assign(e,{version:l,[t]:so(e.data.subarray(5)),valid:1==l&&!i.bitFlag.languageEncodingFlag&&u==ls(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function ka(e,t){if(e.data.length<8)return;const r=Ut(e.data),o={lastAccessDate:new s(1e3*(0|ls(r,0))),lastModDate:new s(1e3*(0|ls(r,4)))};e.data.length>=12&&(o.uid=us(r,8),o.gid=us(r,10)),n.assign(e,o),n.assign(t,o)}function Pa(e,t,r){try{const o=Ut(e.data);let i,a;if(r){let t=0;const r=cs(o,t++),s=cs(o,t++);i=Za(e.data.subarray(t,t+s)),t+=s;const c=cs(o,t++);a=Za(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:a})}else e.data.length>=4&&(i=us(o,0),a=us(o,2),n.assign(e,{uid:i,gid:a}));return i!==fe&&(t.uid=i),a!==fe&&(t.gid=a),i!==fe||a!==fe}catch{}}function Za(e){const t=new w(4);return t.set(e,0),new h(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Ya(e,t){return e.start<t.end&&t.start<e.end}function Va(e,t,n){const r=ls(e,t);let o,i;return n?(o=fs(e,t+4),i=fs(e,t+12)):(o=ls(e,t+4),i=ls(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function Ka(e,t){return e.oe?e.oe(t):0}async function Xa(e){return ls(Ut(await ni(e,0,4)))}function Ha(e){return e===Le||e===Be||e===ke}function qa(e,t){return Ga(e,Ga(t,Be))}function Ga(e,t){const n=e.strictness;if(n!==fe){if(!Ha(n))throw new d(na);return n}const r=e.checkAmbiguity;return r===fe?t:r?Le:t==ke?ke:Be}function ja(e,t){if(t==ke)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||xa.test(e))||t==Le&&(n.includes(".")||n.includes(""))}function Ja(e,t){if(e!==fe){const t=$e(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new d(oa);return t}return t==Le?0:t==ke?1/0:L}async function Qa(e,t,n){const{size:r}=e,o=a.min(r,65557),i={count:64};let s,c,u=0;for await(const[n,a,l,f,d]of _a(e,o)){const o=us(n,f+20);if(d+G+o==r){const o=await es(e,n,a,f,d,r,i);if(2==o){if(s||(s=$a(l,f,d)),u++,!t||u>1)break}else 1!=o||c||(c=$a(l,f,d))}}return s||(s=c),s||(s=await async function(e,t,n){const{size:r}=e,o=a.min(r,t==1/0?r:65557+t);let i,s;for await(const[t,a,c,u,l]of _a(e,o)){const o=$a(c,u,l);i||(i=o);const f=await es(e,t,a,u,l,r,n);if(2==f)return o;1!=f||s||(s=o)}return s||i}(e,n,i)),{le:s,fe:u}}async function*_a(e,t){const n=e.size-t,r=await ni(e,n,t),o=Ut(r);for(let e=r.length-G;e>=0;e--)ls(o,e)==K&&(yield[o,n,r,e,n+e])}function $a(e,t,n){return{offset:n,buffer:e.slice(t,t+G).buffer}}async function es(e,t,n,r,o,i,a){const s=us(t,r+10),c=ls(t,r+12),u=ls(t,r+16);if(s==L||c==N||u==N)return await ts(e,t,n,o-j,i,a)==H?2:0;if(!s&&!c)return 1;const l=us(t,r+6);for(const r of[o-c,Ka(e,l)+u])if(await ts(e,t,n,r,i,a)==V)return 2;return 0}async function ts(e,t,n,r,o,i){return r<0||r+4>o?fe:r>=n?ls(t,r-n):i.count>0?(i.count--,ls(Ut(await ni(e,r,4)),0)):fe}function ns(e,t,n){e?rs(n):oi(t,n)}function rs(e){const t=new d($i);throw t.reason=e,t}function os(e,t,n){return t[n]===fe?e.options[n]:t[n]}function is(e,t,n){return He(os(e,t,n))}function as(e){const t=(4294901760&e)>>16,n=e&L,r=new s(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<le?le:r}function ss(e){return new s(o(e/i(1e4)-i(116444736e5)))}function cs(e,t){return e.getUint8(t)}function us(e,t){return e.getUint16(t,!0)}function ls(e,t){return e.getUint32(t,!0)}function fs(e,t){const n=e.getBigUint64(t,!0);if(n>Ta)throw new d(ia);return o(n)}var ds=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:$i,ERR_BAD_FORMAT:Yi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Xi,ERR_ENCRYPTED:Gi,ERR_ENCRYPTED_CENTRAL_DIRECTORY:ea,ERR_ENTRY_DATA_OUT_OF_BOUNDS:_i,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Ki,ERR_EOCDR_NOT_FOUND:Vi,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:qi,ERR_INVALID_AUTHENTICATION_CODE:ln,ERR_INVALID_COMPRESSED_DATA:nr,ERR_INVALID_CRC32:rr,ERR_INVALID_FILENAME_VALIDATION:ra,ERR_INVALID_MAX_APPENDED_DATA_SIZE:oa,ERR_INVALID_PASSWORD:un,ERR_INVALID_STRICTNESS:na,ERR_INVALID_UNCOMPRESSED_SIZE:tr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Hi,ERR_OVERLAPPING_ENTRY:Qi,ERR_SPLIT_ZIP_FILE:Ji,ERR_UNSAFE_FILENAME:ta,ERR_UNSUPPORTED_COMPRESSION:qn,ERR_UNSUPPORTED_ENCRYPTION:ji,ERR_UNSUPPORTED_UINT64:ia,ERR_WORKER_STARTUP_TIMEOUT:Fr,WARNING_APPENDED_DATA:da,WARNING_COMPRESSED_PATCHED_DATA:ca,WARNING_DUPLICATE_FILENAME:ha,WARNING_MALFORMED_EXTRA_FIELD:ua,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Ea,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:ba,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Sa,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:za,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:ya,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:ga,WARNING_PREPENDED_CENTRAL_DIRECTORY:pa,WARNING_PREPENDED_DATA:wa,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:ma,WARNING_UNKNOWN_VERSION:sa,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:la,WARNING_UNSORTED_CENTRAL_DIRECTORY:aa,WARNING_WRAPPED_ENTRIES_COUNT:fa,ZipReader:Ra,ZipReaderStream:va,isZipFile:Ia});const ws="File already exists",ps="Zip file comment exceeds 64KB",ms="Invalid zip file comment (must be a Uint8Array)",hs="File entry comment exceeds 64KB",ys="Invalid file entry comment (must be a string)",gs="Invalid date (must be a valid Date instance)",zs="File entry name exceeds 64KB",Es="Version exceeds 65535",bs="The strength must equal 1, 2, or 3",Ss="Encryption is not supported in USDZ files",xs="Split zip files are not supported in USDZ files",Fs="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",As="Invalid extra field (must be a Map)",Cs="Invalid extra field type (must be integer 0..65535)",Ds="Invalid extra field data (must be a Uint8Array)",Ts="Extra field data exceeds 64KB",Rs=-2147483648,vs=2147483647,Is=i(0),Us=i("0x7fffffffffffffff"),Os="Zip64 is not supported (set the 'zip64' option to 'true')",Ws="Undefined uncompressed size",Ms="Undefined compression method",Ns="Undefined CRC32",Ls="Undefined reader",Bs="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",ks="Zip file not empty",Ps="Invalid uid (must be integer 0..2^32-1)",Zs="Invalid gid (must be integer 0..2^32-1)",Ys="Invalid UNIX mode (must be integer 0..65535)",Vs="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ks="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Xs="Invalid msdosAttributesRaw (must be integer 0..255)",Hs="Invalid msdosAttributes (must be an object with boolean flags)",qs="Invalid level (must be integer 0..9)",Gs="Signature data exceeds 64KB",js="Invalid entry option (must be an entry returned by ZipReader#getEntries())",Js="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",Qs="compression unavailable",_s="clamped last modification date",$s=new w([7,0,2,0,65,69,3,0,0]),ec="infozip",tc="unix",nc=[8,9,5,3];let rc=0;const oc=[];class ic{constructor(e,t={}){e=new _o(e);const{availableSize:r=de,maxSize:o=de}=e,i=r>0&&r!==de&&o>0&&o!==de;if(i&&t[Ue])throw new d(xs);n.assign(this,{writer:e,me:i,options:t,he:new c,ye:new u,offset:t[Ie]===fe?e.size||e.writable.size||0:t[Ie],ge:t[Ie]===fe?0:t[Ie]-(e.size||e.writable.size||0),ze:new u,Ee:[],warnings:[],be:0,Se:0,xe:fe,Fe:!1})}prependZip(e){return cc(this,async function(e,t){if(e.ye.size)throw new d(ks);await e.Ae(t)}(this,e))}appendZip(e){return cc(this,this.Ae(e))}async Ae(e){const r=this,{ze:o,ye:i,he:a}=r;for(;o.size;)await g.allSettled(t.from(o));let s;const u=new g(e=>s=e);o.add(u);const l=[];let f;try{e=new Qo(e),await ei(e),e.size!==fe&&e.readUint8Array||(e=new To(await Yn(e.readable)),await ei(e));const{ZipReader:o}=await g.resolve().then(function(){return ds}),s=new o(e),u=await s.getEntries();await s.close(),await ei(r.writer);const{directoryOffset:w}=s;u.forEach(({filename:e})=>{if(i.has(e))throw new d(ws);i.add(e),l.push(e)}),r.Ce=!0;const{De:p}=r;r.De=new g(e=>f=()=>{r.Ce=!1,e()}),await p,r.me&&(delete r.me,await async function(e){return Ut(await ni(e,0,4)).getUint32(0,!0)==P}(e)||(await Ac(r.writer,xc()),r.offset+=4));const m=await async function(e,n,r,o){const{writer:i}=e,a=new c;if(i.closeDisk){const s=t.from(r).sort((e,t)=>Sc(n,e)-Sc(n,t));let c=0;for(const t of s){const r=Sc(n,t);await Ec(e,n,c,r-c),yc(i,await bc(n,r))&&await i.closeDisk(),a.set(t,{offset:gc(e,i),diskNumberStart:mc(i)}),c=r}await Ec(e,n,c,o-c)}else{const t=e.offset;await Ec(e,n,0,o),r.forEach(e=>a.set(e,{offset:t+Sc(n,e),diskNumberStart:0}))}return a}(r,e,u,w);u.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:s,uncompressedSize:c,compressedSize:u,extraFieldZip64:l}=e;let{compressionMethod:f,rawExtraField:d}=e;const{level:w,languageEncodingFlag:p,dataDescriptor:h}=i;d=zc(d||ge),e.extraFieldAES&&(f=99);const y=Zc(d),g=Boolean(l)&&l.uncompressedSize!==fe,z=Boolean(l)&&l.compressedSize!==fe,E=-7&Kc(w,p,h,s,f)|w<<1,{Te:b,Re:S}=Yc({version:t,bitFlag:E,compressionMethod:f,uncompressedSize:c,compressedSize:u,rawLastModDate:r,rawFilename:o,ve:z,Ie:g,extraFieldLength:y}),{crc32:x}=e;x!==fe&&Bc(S,10,x);const{offset:F,diskNumberStart:A}=m.get(e);n.assign(e,{Ue:!0,Ie:g,ve:z,offset:F,diskNumberStart:A,Oe:!1,We:ge,Me:ge,Ne:ge,Le:ge,Be:ge,rawExtraField:d,ke:ge,Te:b,Re:S}),a.set(e.filename,e)})}catch(e){throw l.forEach(e=>i.delete(e)),e}finally{s(),o.delete(u),f&&f()}}add(e="",r,u={}){const l=this,{ze:f}=l,p=async function(e,r,u,l){const f=(l=n.assign({},l))[We];if(f!==fe){const{Pe:r,Ze:o}=function(e,r,o){if(null===e||typeof e!=me||t.isArray(e))throw new d(js);const{externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:f,rawLastModDate:w,creationDate:p,lastAccessDate:m,uncompressedSize:h,encrypted:y,zipCrypto:g,crc32:z,compressionMethod:E,extraFieldAES:b,extraFieldUnix:S,internalFileAttributes:x,extraField:F,bitFlag:A,directory:C,uid:D,gid:T}=e,R={externalFileAttributes:i,versionMadeBy:u,comment:l,lastModDate:f,creationDate:p,lastAccessDate:m,internalFileAttributes:x,directory:C};A&&A.languageEncodingFlag&&(R[Re]=!0);const v=function(e){if(e){const t=new c;if(e.forEach((e,n)=>{Pi.has(n)||t.set(n,e.data)}),t.size)return t}}(F);v&&(R[Oi]=v),D===fe&&T===fe||n.assign(R,{uid:D,gid:T,unixExtraFieldType:S?tc:ec});const I={};if(r&&!C)if(n.assign(I,{uncompressedSize:h,crc32:z,compressionMethod:E}),r!==Pe&&n.assign(I,{encrypted:y,zipCrypto:g,encryptionStrength:b?b.strength:fe}),A&&(I.dataDescriptor=A.dataDescriptor,I[Te]=nc[A.level]),o===fe)I.rawLastModDate=w;else if(r!==Pe&&g&&(!A||A.dataDescriptor)&&o instanceof s&&function(e){let t=new s(2e3*a.ceil(a.floor(e.getTime()/1e3)/2));return t<le?t=le:t>ue&&(t=ue),(t.getHours()<<3|t.getMinutes()>>3)&B}(o)!=(w>>>8&B))throw new d(Js);return{Pe:R,Ze:I}}(f,Je(vc(e,l,Se)),vc(e,l,wi));delete l[We],l=n.assign(r,o,l)}if(vc(e,l,Ri)&&!r.endsWith(se)&&(r+=se),e.ye.has(r))throw new d(ws);e.ye.add(r),rc<dt().maxWorkers?rc++:await new g(e=>oc.push(e));try{return await async function(e,r,c,u){const l=function(e,n,r){let o=vc(e,r,xi),i=vc(e,r,Di,o?20:768);const a=vc(e,r,vi),s=Oc(e,r,"uid"),c=Oc(e,r,"gid");let u=Oc(e,r,Wi),l=vc(e,r,"unixExtraFieldType"),f=vc(e,r,Mi),w=vc(e,r,Ni),p=vc(e,r,Li);if(_e(s,N,Ps),_e(c,N,Zs),_e(u,L,Ys),l!==fe&&l!==ec&&l!==tc)throw new d(Vs);if(l===tc&&(s!==fe&&s>L||c!==fe&&c>L))throw new d(Ks);l!==fe||s===fe&&c===fe||(l=ec);let m=Oc(e,r,bi),h=vc(e,r,Si);const y=m!==fe||h!==fe;if(s!==fe||c!==fe||u!==fe||l||a?(o=!1,i=i&B|768):y&&(o=!0,i&=B),_e(m,B,Xs),h&&(typeof h!==me||t.isArray(h)))throw new d(Hs);if(i>L)throw new d(Es);let g=vc(e,r,Ei);const z=g!==fe;z||(g=0),!r[Ri]&&n.endsWith(se)&&(r[Ri]=!0);const E=vc(e,r,Ri);if(E?(n.endsWith(se)||(n+=se),z||(g=16,o||(g|=16877<<16))):o||z||(g=a?493<<16:27525120),!o){const e=u!==fe||Boolean(f||w||p);u=u===fe?g>>16&L:u&L,f?u|=ie:f=Boolean(u&ie),w?u|=ae:w=Boolean(u&ae),p?u|=512:p=Boolean(512&u),z&&!e||(E?u=-61441&u|oe:u&re||(u|=32768),g=(u&L)<<16|g&L)}({msdosAttributesRaw:m,msdosAttributes:h}=function(e,t){if(e!==fe)e&=B;else if(t!==fe){const{readOnly:n,hidden:r,system:o,directory:i,archive:a}=t;let s=0;n&&(s|=1),r&&(s|=2),o&&(s|=4),i&&(s|=16),a&&(s|=32),e=s&B}return t===fe&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(m,h)),y&&(g=g&N|m&B);const b=g>>16&L,S=u!==fe&&40960==(u&re);return{name:n,Ye:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:g,unixExternalUpper:b,uid:s,gid:c,unixMode:u,unixExtraFieldType:l,symlink:S,setuid:f,setgid:w,sticky:p,msdosAttributesRaw:m,msdosAttributes:h}}}(e,r,u);({name:r}=l);const f=function(e,t,n){const r=Uc(e,n,"encodeText")||Xt;let i=r(t,Me);if(i===fe&&(i=Xt(t)),Zc(i)>L)throw new d(zs);const a=n[si]||"";if(typeof a!=he)throw new d(ys);let c=r(a,Ne);if(c===fe&&(c=Xt(a)),Zc(c)>L)throw new d(hs);const u=vc(e,n,Ci);if(u!==fe&&u>L)throw new d(Es);const l=Ic(e,n,wi,new s),f=vc(e,n,pi),w=Ic(e,n,mi),p=Ic(e,n,yi),m=vc(e,n,zi,0),h=Je(vc(e,n,Se)),y=Boolean(h),g=!0===h,z=vc(e,n,Ee),E=vc(e,n,be);je(z,E);const b=Oc(e,n,"encryptionStrength",3),S=vc(e,n,Ti),x=vc(e,n,"extendedTimestamp",!0),F=vc(e,n,"ntfsTimestamp"),A=vc(e,n,"keepOrder",!0),C=vc(e,n,Fe),D=vc(e,n,Ce),T=vc(e,n,"bufferedWrite"),R=Uc(e,n,"createTempStream"),v=vc(e,n,"dataDescriptorSignature",!0),I=qe(vc(e,n,xe));Ge(I);const U=vc(e,n,Re,!Vc(i)||!Vc(c)),O=vc(e,n,Ii),W=y||O===fe?fe:Qn(O);if(!y&&O!==fe&&0!==O&&8!==O&&!W)throw new d(qn);let M=Oc(e,n,Te);if(_e(M,9,qs),e.options[Ue]){if(z!==fe||E!==fe)throw new d(Ss);M===fe&&O===fe&&(M=0)}y&&(M=$e(n[Te]));let N=vc(e,n,Ae),B=vc(e,n,ve);T&&B===fe&&(B=!1),(B===fe||S&&!g)&&(B=!0),M!==fe&&6!=M&&(N=!1);const k=vc(e,n,Fi);if(!(S||z===fe&&E===fe||o.isInteger(b)&&b>=1&&b<=3))throw new d(bs);const P=fc(n[Oi]),Z=fc(n.localExtraField),Y=fc(n.centralExtraField);return{comment:a,Ye:{rawFilename:i,rawComment:c,version:u,lastModDate:l,rawLastModDate:f,lastAccessDate:w,creationDate:p,internalFileAttributes:m,Ve:y,Ke:g,password:z,rawPassword:E,encryptionStrength:b,zipCrypto:S,extendedTimestamp:x,ntfsTimestamp:F,keepOrder:A,useWebWorkers:C,transferStreams:D,bufferedWrite:T,createTempStream:R,dataDescriptorSignature:v,signal:I,useUnicodeFileNames:U,compressionMethod:O,format:W?W.format:fe,codecURI:W?W.codecURI:fe,Xe:W?W.versionNeeded:fe,level:M,useCompressionStream:N,dataDescriptor:B,zip64:k,rawExtraField:P,He:Z,ke:Y}}}(e,r,u),{comment:p}=f,m=u[Oi];e.he.set(r,fe);const h=e.xe,y={};let z,E;f.Ye.keepOrder&&(y.qe=new g(e=>z=e)),e.xe=y;try{const{Ye:t}=f;0==t.level||t.compressionMethod!==fe||t.Ve||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;return!(!n||n.M)||!(!wr(t)&&(r=t,!dr(r,ar)))||!!n&&await Rr();var r}(dt())||(t.level=0,oi(e.warnings,Qs,r));const o=await async function(e,t,{Ye:r},o){if(r.Ve&&!t&&!vc(e,o,Ri))throw new d(Ls);let i;if(t){if(t=new Qo(t),await ei(t),!t.readable&&!t.readUint8Array)throw new d(Bs);({size:i}=t)}return n.assign({reader:t},function(e,t,n,r,o){const{Ve:i,Ke:a,zipCrypto:s,password:c,rawPassword:u,encryptionStrength:l}=r;let{dataDescriptor:f,zip64:w,level:p,compressionMethod:m}=r,h=0,y=0,g=!1;if(i&&t){if(y=o[ui],y===fe)throw new d(Ws);if(m===fe)throw new d(Ms)}const z=!0===w,E=vc(e,o,Ai);if(t&&a&&!E&&Zc(c,u))throw new d(Fs);const b=t&&(Boolean(c&&Zc(c)||u&&Zc(u))||a&&E);t||(p=0,m=0);const S=Zi(b,s,l);t&&(i?(o.uncompressedSize=y,h=n===fe?Wc(y)+S:n+(a?0:S)):n===fe?(f=!0,(w||w===fe)&&(w=g=!0,h=4294967296)):(o.uncompressedSize=y=n,h=(Mc(m,p)?Wc(y):y)+S));const x=!(b||t&&(0!==n||i)||Mc(m,p));x&&vc(e,o,ve)===fe&&(f=!1);const F=z||g||y>=N,A=z||h>=N;if(F||A){if(!1===w)throw new d(Os);w=!0}return w=w||!1,{Ge:h,Ye:{dataDescriptor:f,je:x,zip64:w,Ue:z,Je:g,Ie:F,ve:A,uncompressedSize:y,level:p,compressionMethod:m,encrypted:b}}}(e,Boolean(t),i,r,o))}(e,c,f,u);({reader:c}=o);const p=hc(e.writer),m=mc(e.writer);let b=u.crc32===fe?u[Ui]:u.crc32;const S=o.Ye.encrypted&&!t.zipCrypto;if(t.Ve&&!t.Ke&&S&&(b=fe),t.Ve&&c&&!S&&b===fe)throw new d(Ns);const x=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:f,dataDescriptor:w,directory:p,rawExtraField:m,He:h,encryptionStrength:y,extendedTimestamp:g,ntfsTimestamp:z,Ve:E,encrypted:b,Ie:S,ve:x,uncompressedSize:F,Je:A,crc32:C}=e;let{version:D,compressionMethod:T}=e;const R=!p&&Mc(T,c);let v;const I=E||!R,U=u&&(e.bufferedWrite||!w||!S&&!x||I&&!A),O=U||u&&w&&(S||x);if(u&&(S||x)){const e=20,t=pc(e);if(t.Qe(1),t.Qe(e-4),v=t._e,U&&(t.$e(F),I)){const e=Zi(b,l,y);t.$e(E?0:F+e)}}else v=ge;let W,M,N,B,P,Z;if(b&&!l){const e=pc(Zc($s)+2);e.Qe(Q),e.et($s),W=e._e,W[8]=y}else W=ge;if(g){const e=Tc(n),t=(Y=e)>=Rs&&Y<=vs;if(t){const t=9+(o?4:0)+(i?4:0),n=pc(t);B=1+(o?2:0)+(i?4:0),P=e,n.Qe(_),n.Qe(t-4),n.nt(B),n.ot(e),o&&n.ot(Rc(Tc(o))),i&&n.ot(Rc(Tc(i))),N=n._e}else N=ge;if(z===fe?!t||Boolean(o||i):z)try{const e=Dc(n),t=pc(36);t.Qe(10),t.Qe(32),t.it(4),t.Qe(1),t.Qe(24),t.$e(e),t.$e(o?Dc(o):e),t.$e(i?Dc(i):e),M=t._e}catch{M=ge}else M=ge}else M=N=ge;var Y;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=ec||t===fe&&n===fe)if(r!=tc||t===fe&&n===fe)Z=ge;else{const e=pc(8);e.Qe(te),e.Qe(4),e.Qe((t===fe?0:t)&L),e.Qe((n===fe?0:n)&L),Z=e._e}else{const e=wc(t===fe?0:t),r=wc(n===fe?0:n),o=3+e.length+r.length,i=pc(4+o);i.Qe(ee),i.Qe(o),i.nt(1),i.nt(e.length),i.et(e),i.nt(r.length),i.et(r),Z=i._e}}catch{Z=ge}T===fe&&(T=R?8:0),D===fe&&(D=0!=T||p||b?20:10);const{Xe:V}=e;R&&V!==fe&&(D=D>V?D:V),u&&(D=D>45?D:45),b&&!l&&(D=D>51?D:51,E&&C!==fe&&(W[4]=1),Lc(Ut(W),9,T),T=99);const K=O?Zc(v):0,X=K+Zc(W,N,M,Z,m,h);if(X+(e[Ue]?67:0)>L)throw new d(Ts);const H=new s(2e3*a.ceil(a.floor(n.getTime()/1e3)/2)),q=H<le?le:H>ue?ue:H,G=Zc(N)?new s(1e3*Tc(n)):Zc(M)?n:q,{Te:j,Re:J,rawLastModDate:$}=Yc({version:D,bitFlag:Kc(c,f,w,b,T),compressionMethod:T,uncompressedSize:F,lastModDate:q,rawLastModDate:r,rawFilename:t,ve:x,Ie:S,extraFieldLength:X}),ne=pc(ce+Zc(t)+X),re=ne._e,oe=Ut(re);return ne.ot(k),ne.et(j),ne.et(t),O&&ne.et(v),ne.et(W),ne.et(N),ne.et(M),ne.et(Z),ne.et(m),ne.et(h),w&&(x||Bc(oe,18,0),S||Bc(oe,22,0)),{st:re,ct:oe,Te:j,Re:J,lastModDate:G,ut:G===q&&H.getTime()!=q.getTime(),rawLastModDate:$,encrypted:b,compressed:R,version:D,compressionMethod:T,lt:B,ft:P,We:ge,wt:K,Ne:N,Le:M,Be:Z,Me:W,extraFieldLength:X}}(u=n.assign({},u,l.Ye,f.Ye,o.Ye,{signature:u[Ui],crc32:b,offset:e.offset-p,diskNumberStart:m,[Ue]:e.options[Ue]}));x.ut&&oi(e.warnings,_s,r);const A=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=ge,i=0,a=e?20:12;return n&&(a+=4),t&&(o=new w(a),r=Ut(o),n&&(i=4,Bc(r,0,Z))),{ht:o,yt:r,gt:i}}(u),C=Zc(x.st,A.ht);E=await async function(e,t,r,o,a){const{he:s,writer:c}=e,{keepOrder:u,dataDescriptor:l,je:f,signal:w}=a,{zt:p,pe:m,Et:h,bt:y}=o,z=e.options[Ue];let E,b,S,x,A,C,D,T=m,R=0;const v=u&&h?h.qe:fe;s.set(t,T);try{a.bufferedWrite||!u||e.Ce||e.be||e.Se||!l&&!f?(E=!0,e.be++,D=a.createTempStream?await a.createTempStream():new F(fe,fe,{highWaterMark:de}),D.size=0,await ei(c)):(b=!0,e.Se++,D=c,await v,await I()),await ei(D);const m=hc(c);e.me&&!E&&await Fc(e,c),z&&!E&&dc(o,e.offset-m);const{st:h}=p;E||await U();const y=mc(c),S=gc(e,c);if(T.diskNumberStart=y,E||(A=!0,C=c.size,await Ac(D,h)),T=await async function(e,t,{diskNumberStart:r,qe:o},a,s,c){const{zt:u,St:l,xt:f}=a,{Te:w,Re:p,lastModDate:m,rawLastModDate:h,encrypted:y,compressed:g,version:z,compressionMethod:E,We:b,wt:S,Ne:x,lt:F,ft:A,Le:C,Be:D,Me:T}=u,{ht:R}=l,{rawFilename:v,lastAccessDate:I,creationDate:U,password:O,rawPassword:W,level:M,useUnicodeFileNames:L,zip64:k,Ue:P,Ie:Z,ve:Y,zipCrypto:V,dataDescriptor:K,directory:X,executable:H,versionMadeBy:q,rawComment:G,rawExtraField:j,ke:J,useWebWorkers:Q,transferStreams:_,onstart:$,onprogress:ee,onend:te,signal:ne,encryptionStrength:re,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:ae,externalFileAttributes:se,uid:ce,gid:ue,unixMode:le,symlink:de,setuid:we,setgid:pe,sticky:me,unixExternalUpper:he,msdosAttributesRaw:ye,msdosAttributes:ge,useCompressionStream:ze,Ve:Ee,Ke:be,format:Se,codecURI:xe}=c,Fe={qe:o,versionMadeBy:q,zip64:k,Ue:P,directory:Boolean(X),executable:Boolean(H),filenameUTF8:Boolean(L),rawFilename:v,commentUTF8:Boolean(L),rawComment:G,We:b,wt:S,Ne:x,Le:C,Be:D,Me:T,rawExtraField:j,ke:J,extendedTimestamp:oe,msDosCompatible:ie,internalFileAttributes:ae,externalFileAttributes:se,diskNumberStart:r,uid:ce,gid:ue,unixMode:le,symlink:Boolean(de),setuid:we,setgid:pe,sticky:me,unixExternalUpper:he,msdosAttributesRaw:ye,msdosAttributes:ge};let{crc32:Ae,uncompressedSize:Ce}=c,De=0;Ee||(Ce=0);const{writable:Te}=t;if(e){const n=e.size,r=Zn(ri(e,{size:n})),o={options:{codecType:Er,inputSize:n,level:M,rawPassword:W,password:O,encryptionStrength:re,zipCrypto:y&&V,passwordVerification:y&&V&&h>>8&B,computeCrc32:!Ee,compressed:g&&!Ee,encrypted:y&&!be,useWebWorkers:Q,useCompressionStream:ze,transferStreams:_,format:Se,codecURI:xe,compressionMethod:E},config:s,C:{signal:ne,size:n,onstart:$,onprogress:ee,onend:te}};try{const e=await eo({readable:r,writable:Te},o);if(De=e.outputSize,t.size+=De,Ee||(Ce=e.inputSize,y&&!V||(Ae=e.crc32)),!Y&&De>=N||!Z&&Ce>=N)throw new d(Os)}catch(e){const{outputSize:n}=o;throw n!==fe?t.size+=n:Ot(e)&&e.outputSize!==fe&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,zt:r,St:o},{zip64:a,zipCrypto:s,Ve:c,dataDescriptor:u}){const{Re:l,encrypted:f}=r,{yt:d,gt:w}=o;f&&!s&&!c||e===fe||(Bc(l,10,e),u&&Bc(d,w,e)),a?u&&(kc(d,w+4,i(t)),kc(d,w+12,i(n))):(Bc(l,14,t),Bc(l,18,n),u&&(Bc(d,w+4,t),Bc(d,w+8,n)))}({crc32:Ae,compressedSize:De,uncompressedSize:Ce,zt:u,St:l},c),K&&await Ac(t,R),n.assign(Fe,{uncompressedSize:Ce,compressedSize:De,lastModDate:m,rawLastModDate:h,creationDate:U,lastAccessDate:I,encrypted:Boolean(y),zipCrypto:Boolean(V),size:f+De,compressionMethod:E,version:z,Te:w,Re:p,signature:Ae,crc32:!y||V||Ee?Ae:fe,lt:F,ft:A,Ie:Z,ve:Y}),Fe}(r,D,T,o,dt(),a),E||(A=!1),s.set(t,T),T.filename=t,E){if(await g.all([D.writable.getWriter().close(),v]),await I(),e.me&&await Fc(e,c),x=!0,C=c.size,await U(),T.diskNumberStart=mc(c),T.offset=gc(e,c),z){const t=o.xt;dc(o,e.offset-hc(c)),T.size+=o.xt-t}!function({rawFilename:e,encrypted:t,zip64:n,wt:r,crc32:o,compressedSize:a,uncompressedSize:s,Ie:c,ve:u},l,{dataDescriptor:f,Ve:d}){if(f||((!t||d&&o!==fe)&&Bc(l,14,o),u||Bc(l,18,a),c||Bc(l,22,s)),n&&r){const t=ce+Zc(e)+4;kc(l,t,i(s)),kc(l,t+8,i(a))}}(T,p.ct,a),await Ac(c,p.st),await Cc(D.readable,c,w,e=>R+=e),c.size+=D.size,x=!1}else T.diskNumberStart=y,T.offset=S;return e.offset+=T.size,T}catch(n){if(x||A){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-C,E&&(e.offset+=R)}throw s.delete(t),n}finally{if(E&&e.be--,b&&e.Se--,y&&y(v),S&&S(),E&&D&&D.dispose)try{await D.dispose()}catch{}}async function I(){e.Ce=!0;const{De:t}=e;e.De=new g(t=>S=()=>{e.Ce=!1,t()}),await t}async function U(){yc(c,Zc(p.st))&&await c.closeDisk()}}(e,r,c,{zt:x,St:A,xt:C,pe:y,Et:h,bt:z},u)}catch(t){throw e.he.delete(r),t}finally{z&&z(h&&h.qe)}return n.assign(E,{name:r,comment:p,extraField:m}),new ki(E)}(e,r,u,l)}catch(t){throw e.ye.delete(r),t}finally{const e=oc.shift();e?e():rc--}}(l,e,r,u);f.add(p);const m=()=>f.delete(p);return g.prototype.then.call(p,m,m),cc(l,p)}remove(e){const{ye:t,he:n}=this;if(typeof e==he&&(e=n.get(e)),e&&e.filename!==fe){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=ge,n={}){const r=this,{ze:o,writer:a}=this,{writable:s}=a;if(r.Fe)return sc(a);if(!(e instanceof w))throw new d(ms);if(Zc(e)>L)throw new d(ps);for(;o.size;)await g.allSettled(t.from(o));await g.allSettled(r.Ee.map(e=>e.Ft));const c=r.Ee.filter(e=>e.At&&!e.Ct);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.Ct=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const{Dt:o,Tt:a}=function(e){let t=0,n=!1;for(const[,r]of e){const{rawFilename:e,Me:o,rawComment:i,Le:a,Be:s,rawExtraField:c,ke:u,lt:l,ft:f,Ue:w,uncompressedSize:p,compressedSize:m}=r;let{Ie:h,ve:y}=r;w||(h&&p<N&&(h=r.Ie=!1),y&&m<N&&(y=r.ve=!1)),n=n||h||y;const g=r.offset>=N,z=r.diskNumberStart>=L;let E,b;if(g||z||h||y){const e=4+(h?8:0)+(y?8:0)+(g?8:0)+(z?4:0),t=pc(e);t.Qe(1),t.Qe(e-4),h&&t.$e(p),y&&t.$e(m),g&&t.$e(r.offset),z&&t.ot(r.diskNumberStart),E=t._e}else E=ge;if(r.We=E,r.Rt=g,r.Oe=z,f===fe)b=ge;else{const e=pc(9);e.Qe(_),e.Qe(5),e.nt(l),e.ot(f),b=e._e}r.Ne=b;const S=Zc(E,o,a,s,b,c,u);if(S>L)throw new d(Ts);t+=q+Zc(e,i)+S}return{Dt:t,Tt:n}}(e.he),{vt:s,It:c,Ut:u}=await async function(e,n,r){const{he:o,writer:i}=e,a=new w(n);await ei(i);let s=0,c=0,u=mc(i),l=hc(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:d,We:w,Me:p,Ne:m,Le:h,Be:y,rawExtraField:g,ke:z,rawComment:E,versionMadeBy:b,Te:S,Re:x,Ie:F,ve:A,Oe:C,Rt:D,internalFileAttributes:T,externalFileAttributes:R,diskNumberStart:v,uncompressedSize:I,compressedSize:U}=n,O=Zc(w,p,m,h,y,g,z),W=q+Zc(d,E)+O;yc(i,s+W-c)&&(await Ac(i,a.slice(c,s)),c=s,f=0,await i.closeDisk()),0==e&&(u=mc(i),l=hc(i)),F||Bc(x,18,I),A||Bc(x,14,U),(D||C)&&n.version<45&&Lc(x,0,45);const M=pc(W);if(M.ot(V),M.Qe(b),M.et(S.subarray(0,24)),M.Qe(O),M.Qe(Zc(E)),M.Qe(C?L:v),M.Qe(T),M.ot(R),M.ot(D?N:t),M.et(d),M.et(w),M.et(p),M.et(m),M.et(h),M.et(y),M.et(g),M.et(z),M.et(E),Pc(a,M._e,s),s+=W,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new ki(n))}catch{}}return await Ac(i,c?a.slice(c):a),{vt:{diskNumber:u,diskOffset:l},It:{diskNumber:mc(i),Ot:f},Ut:a}}(e,o,r),l=await async function(e,t,n){const r=Uc(e,n,"signCentralDirectory");if(r){const n=await r(t),o=Zc(n);if(o>L)throw new d(Gs);const i=pc(6+o);i.ot(Y),i.Qe(o),i.et(n);const{writer:a}=e;return yc(a,Zc(i._e))&&await a.closeDisk(),await Ac(a,i._e),6+o}return 0}(e,u,r);await async function(e,t,n,r){const{writer:o}=e,{vt:a,It:s,Wt:c,Tt:u}=r;let{Dt:l}=r,f=e.he.size,w=a.diskNumber,p=gc(e,a);const m=Zc(t);if(m>L)throw new d(ps);let h=vc(e,n,Fi),y=mc(o);if(yc(o,(h?98:G)+m)&&y++,p>=N||l>=N||f>=L||y>=L){if(!1===h)throw new d(Os);h=!0}else h===fe&&u&&(h=!0);const g=pc(h?98:G);yc(o,Zc(g._e)+m)&&await o.closeDisk(),y=mc(o);let z=y==s.diskNumber?s.Ot:0;h&&(g.ot(X),g.$e(44),g.Qe(45),g.Qe(45),g.ot(y),g.ot(w),g.$e(z),g.$e(f),g.$e(l),g.$e(p),g.ot(H),g.ot(y),g.$e(i(gc(e,o))+i(l)+i(c)),g.ot(y+1),vc(e,n,"supportZip64SplitFile",!0)&&(y=L,w=L),z=L,f=L,p=N,l=N),g.ot(K),g.Qe(y),g.Qe(w),g.Qe(z),g.Qe(f),g.ot(l),g.ot(p),g.Qe(m),await Ac(o,g._e),m&&await Ac(o,t)}(e,n,r,{vt:s,It:c,Dt:o,Wt:l,Tt:a})}(r,e,n),r.Fe=!0,!$o(a)&&vc(r,n,De)||await s.getWriter().close(),sc(a)}[ze](){return this.close()}}class ac extends g{then(e,t){const{Mt:n}=this;return n&&(n.Ct=!0),super.then(e,t)}}function sc(e){return e.getData?e.getData():e.writable}function cc(e,t){const r=new ac((e,n)=>g.prototype.then.call(t,e,n)),o={};return r.Mt=o,o.Ft=g.prototype.then.call(r,fe,e=>n.assign(o,{At:!0,error:e})),e.Ee.push(o),r}async function uc(e,t){try{await e.writer.writable.abort(t)}catch{}}function lc(e,t,n){e.ze.add(t),t.catch(e=>{try{n(e)}catch{}})}function fc(e){if(!e)return ge;if(!(e instanceof c))throw new d(As);let t=0,n=0;e.forEach((e,n)=>{if(Qe(n,L,Cs),!(e instanceof w))throw new d(Ds);if(Zc(e)>L)throw new d(Ts);t+=4+Zc(e)});const r=new w(t),o=Ut(r);return e.forEach((e,t)=>{Lc(o,n,t),Lc(o,n+2,Zc(e)),Pc(r,e,n+4),n+=4+Zc(e)}),r}function dc(e,t){const{zt:n}=e;let{st:r,extraFieldLength:o}=n,i=64-(t+Zc(r))%64;i<4&&(i+=64);const a=new w(i),s=Ut(a);Lc(s,0,$),Lc(s,2,i-4);const c=r;n.st=r=new w(Zc(c)+i),Pc(r,c),Pc(r,a,Zc(c));const u=Ut(r);Lc(u,28,o+i),n.ct=u,e.xt+=i}function wc(e){const t=new w(4);Ut(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function pc(e){const t=new w(e),n=Ut(t);let r=0;return{_e:t,nt:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},Qe:e=>{Lc(n,r,e),r+=2},ot:e=>{Bc(n,r,e),r+=4},$e:e=>{kc(n,r,i(e)),r+=8},et:e=>{Pc(t,e,r),r+=Zc(e)},it:e=>r+=e}}function mc(e){const{diskNumber:t=0}=e;return t}function hc(e){const{diskOffset:t=0}=e;return t}function yc(e,t){const{availableSize:n=de}=e;return t>n}function gc(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.ge:0)}function zc(e){const t=Ut(e);let n=0;for(;n+4<=Zc(e);){const r=4+Nc(t,n+2);if(1==Nc(t,n))return zc(vt(e.subarray(0,n),e.subarray(a.min(n+r,Zc(e)))));n+=r}return e}async function Ec(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await Cc(ri(t,{offset:n,size:r}),o,fe,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function bc(e,t){const n=await ni(e,t,ce);if(Zc(n)<ce)return ce;const r=Ut(n);return ce+Nc(r,26)+Nc(r,28)}function Sc(e,{offset:t,diskNumberStart:n}){return t+(e.oe?e.oe(n):0)}function xc(){const e=new w(4);return Bc(Ut(e),0,P),e}async function Fc(e,t){delete e.me,await Ac(t,xc()),e.offset+=4}async function Ac(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Zc(t),await r.write(t)}finally{r.releaseLock()}}async function Cc(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new C({async write(e){await o.ready,await o.write(e),r(Zc(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function Dc(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<Is?Is:t>Us?Us:t}}function Tc(e){return a.floor(e.getTime()/1e3)}function Rc(e){return a.min(vs,a.max(Rs,e))}function vc(e,t,n,r){const o=t[n]===fe?e.options[n]:t[n];return o===fe?r:o}function Ic(e,t,n,r){const i=vc(e,t,n,r);if(null===i)return r;if(i!==fe&&(typeof i.getTime!=pe||o.isNaN(i.getTime())))throw new d(gs);return i}function Uc(e,t,n){return He(vc(e,t,n))}function Oc(e,t,n,r){return $e(vc(e,t,n,r))}function Wc(e){return e+5*(a.floor(e/16383)+1)}function Mc(e,t){return e===fe?t===fe||t>0:0!==e}function Nc(e,t){return e.getUint16(t,!0)}function Lc(e,t,n){e.setUint16(t,n,!0)}function Bc(e,t,n){e.setUint32(t,n,!0)}function kc(e,t,n){e.setBigUint64(t,n,!0)}function Pc(e,t,n){e.set(t,n)}function Zc(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Yc({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:a,rawFilename:s,ve:c,Ie:u,extraFieldLength:l}){const f=pc(26),d=f._e,w=Ut(d);if(f.Qe(e),f.Qe(t),f.Qe(n),a===fe){const e=new m(1),t=Ut(e);Lc(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Lc(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return f.ot(a),f.it(4),c||o!==fe?f.ot(c?N:o):f.it(4),u||r!==fe?f.ot(u?N:r):f.it(4),f.Qe(Zc(s)),f.Qe(l),{Te:d,Re:w,rawLastModDate:a}}function Vc(e){return e.every(e=>e>=32&&e<=126)}function Kc(e,t,n,r,o){let i=0;return t&&(i|=ne),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function Xc(e,t){if(!e)return!1;const{Nt:n}=e;return n?n.includes(t):dr(e,t)}const Hc=1048576,qc=".zip.js-temp",Gc=1048576,jc=1048576,Jc=".zip.js-temp",Qc="createSyncAccessHandle is only available in dedicated workers";try{gt({baseURI:void 0===b&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===b?location.href:M&&"SCRIPT"===M.tagName.toUpperCase()&&M.src||new f("zip-legacy.min.js",b.baseURI).href})}catch{}Tt(gt),e.BlobReader=To,e.BlobWriter=Ro,e.Data64URIReader=class extends Fo{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Lt:e,Bt:r,size:a.floor(.75*(t-r))})}readUint8Array(e,t){const{Bt:n,Lt:r}=this,o=new w(t),i=4*a.floor(e/3),s=atob(r.substring(i+n,4*a.ceil((e+t)/3)+n)),c=e-3*a.floor(i/4);let u=0;for(let e=c;e<c+t&&e<s.length;e++)o[e-c]=s.charCodeAt(e),u++;return u<o.length?o.subarray(0,u):o}},e.Data64URIWriter=class extends Ao{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",kt:""})}writeUint8Array(e){const t=this;let n,o=t.kt;const i=t.kt.length;for(t.kt="",n=0;n<3*a.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.kt+=r.fromCharCode(e[n]);o.length>2?t.data+=x(o):t.kt=o+t.kt}getData(){return this.data+x(this.kt)}},e.ERR_ABORTED=Xe,e.ERR_AMBIGUOUS_ARCHIVE=$i,e.ERR_BAD_FORMAT=Yi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Xi,e.ERR_DUPLICATED_NAME=ws,e.ERR_ENCRYPTED=Gi,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=ea,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=_i,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Ki,e.ERR_EOCDR_NOT_FOUND=Vi,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=qi,e.ERR_HTTP_RANGE=lo,e.ERR_HTTP_RESOURCE_CHANGED=fo,e.ERR_HTTP_STATUS=uo,e.ERR_INVALID_AUTHENTICATION_CODE=ln,e.ERR_INVALID_BASE_URI=tt,e.ERR_INVALID_CODEC_DEFINITION=Kn,e.ERR_INVALID_CODEC_MODULE=Hn,e.ERR_INVALID_COMMENT=ps,e.ERR_INVALID_COMMENT_TYPE=ms,e.ERR_INVALID_COMPRESSED_DATA=nr,e.ERR_INVALID_CRC32=rr,e.ERR_INVALID_DATE=gs,e.ERR_INVALID_ENCRYPTION_STRENGTH=bs,e.ERR_INVALID_ENTRY=js,e.ERR_INVALID_ENTRY_COMMENT=hs,e.ERR_INVALID_ENTRY_COMMENT_TYPE=ys,e.ERR_INVALID_ENTRY_NAME=zs,e.ERR_INVALID_EXTRAFIELD=As,e.ERR_INVALID_EXTRAFIELD_DATA=Ts,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=Ds,e.ERR_INVALID_EXTRAFIELD_TYPE=Cs,e.ERR_INVALID_FILENAME_VALIDATION=ra,e.ERR_INVALID_FUNCTION_OPTION=Ze,e.ERR_INVALID_GID=Zs,e.ERR_INVALID_LEVEL=qs,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=oa,e.ERR_INVALID_MAX_WORKERS=et,e.ERR_INVALID_MSDOS_ATTRIBUTES=Xs,e.ERR_INVALID_MSDOS_DATA=Hs,e.ERR_INVALID_PASSWORD=un,e.ERR_INVALID_PASSWORD_TYPE=Ve,e.ERR_INVALID_PASS_THROUGH_VALUE=Ke,e.ERR_INVALID_READER=Bs,e.ERR_INVALID_SIGNAL=Ye,e.ERR_INVALID_SIGNATURE_DATA=Gs,e.ERR_INVALID_STRICTNESS=na,e.ERR_INVALID_UID=Ps,e.ERR_INVALID_UNCOMPRESSED_SIZE=tr,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Vs,e.ERR_INVALID_UNIX_ID_SIZE=Ks,e.ERR_INVALID_UNIX_MODE=Ys,e.ERR_INVALID_URI=nt,e.ERR_INVALID_VERSION=Es,e.ERR_ITERATOR_COMPLETED_TOO_SOON=wo,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Hi,e.ERR_OVERLAPPING_ENTRY=Qi,e.ERR_RESERVED_COMPRESSION_METHOD=Xn,e.ERR_SPLIT_ZIP_FILE=Ji,e.ERR_UNDEFINED_COMPRESSION_METHOD=Ms,e.ERR_UNDEFINED_CRC32=Ns,e.ERR_UNDEFINED_READER=Ls,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Ws,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=ta,e.ERR_UNSUPPORTED_COMPRESSION=qn,e.ERR_UNSUPPORTED_CONTEXT=Qc,e.ERR_UNSUPPORTED_CRYPTO_API=dn,e.ERR_UNSUPPORTED_ENCRYPTION=ji,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Fs,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Ss,e.ERR_UNSUPPORTED_FORMAT=Os,e.ERR_UNSUPPORTED_SPLIT_USDZ=xs,e.ERR_UNSUPPORTED_UINT64=ia,e.ERR_WORKER_STARTUP_TIMEOUT=Fr,e.ERR_WRITER_NOT_INITIALIZED=po,e.ERR_WRITER_SIZE_NOT_WRITABLE=mo,e.ERR_ZIP_CRYPTO_LAST_MOD_DATE=Js,e.ERR_ZIP_NOT_EMPTY=ks,e.HttpRangeReader=class extends Go{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=Go,e.Reader=Fo,e.SplitDataReader=jo,e.SplitDataWriter=Jo,e.TextReader=class extends To{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Ro{constructor(e){super(),n.assign(this,{encoding:e,Pt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Pt:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return co(e,t,!1)}(new w(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Fo{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{_e:e,size:e.length})}readUint8Array(e,t){return this._e.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Ao{constructor(e){super(),this.Zt=e||262144}init(e=0){n.assign(this,{offset:0,_e:new w(e>0?e:this.Zt)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t._e.length){let e=t._e.length?2*t._e.length:t.Zt;for(;e<n;)e*=2;const r=t._e;t._e=new w(e),t._e.set(r)}t._e.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this._e.length?this._e:this._e.slice(0,this.offset)}},e.VERSION="2.14.1",e.WARNING_APPENDED_DATA=da,e.WARNING_CLAMPED_LAST_MODIFICATION_DATE=_s,e.WARNING_COMPRESSED_PATCHED_DATA=ca,e.WARNING_COMPRESSION_UNAVAILABLE=Qs,e.WARNING_DUPLICATE_FILENAME=ha,e.WARNING_MALFORMED_EXTRA_FIELD=ua,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Ea,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=ba,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=Sa,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME=za,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=ya,e.WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY=ga,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=pa,e.WARNING_PREPENDED_DATA=wa,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=ma,e.WARNING_UNKNOWN_VERSION=sa,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=la,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=aa,e.WARNING_WRAPPED_ENTRIES_COUNT=fa,e.Writer=Ao,e.ZipReader=Ra,e.ZipReaderStream=va,e.ZipWriter=ic,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new F;this.readable=t,this.zipWriter=new ic(n,e),this.ze=new u}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new F({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await uc(t,e)}}()}});return lc(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new F({start(e){t=e}});return lc(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await g.allSettled(t.from(this.ze))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await uc(r,e),e}try{return await r.close(e,n)}catch(e){throw await uc(r,e),e}}},e.configure=function(e){n.assign(ft,mt(yt(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=Gc}=e;return function(){const e=[];let n,r,o,i=0,a=!1;const s=new C({async write(o){a?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new F;r=Yn(t.readable),n=t.writable.getWriter(),a=!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:s,readable:new A({async pull(t){if(a){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=Hc,directoryName:r=qc,getDirectory:o=()=>R.storage.getDirectory()}=e;let i;function a(){return i||(i=g.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,s,c=0,u=!1;const l=new C({async write(s){u?await i.write(s):(e.push(s),c+=s.length,c>n&&await async function(){const n=await a();r=S.randomUUID?S.randomUUID():t.from(S.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),u=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:l,readable:new A({async pull(t){if(u){if(!s){const e=await o.getFile();s=e.stream().getReader()}const{value:e,done:n}=await s.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await a();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=jc,directoryName:r=Jc,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new d(Qc);const i=o||(()=>R.storage.getDirectory());let s;function c(){return s||(s=g.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),s}return function(){const e=[];let r,o,i=0,s=!1,u=0,l=0;const f=new C({async write(a){s?(o.write(a,{at:u}),u+=a.length):(e.push(a),i+=a.length,i>n&&await async function(){const n=await c();r=S.randomUUID?S.randomUUID():t.from(S.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),s=!0;for(const t of e)o.write(t,{at:u}),u+=t.length;e.length=0}())},close(){o&&o.flush()}});let d=0;return{writable:f,readable:new A({pull(t){if(s){const e=u-l;if(e<=0)return void t.close();const n=new w(a.min(524288,e)),r=o.read(n,{at:l});r?(l+=r,t.enqueue(n.subarray(0,r))):t.close()}else d<e.length?t.enqueue(e[d++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=_n,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=dt(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:Xc(n,or)||Xc(e,or)||Xc(e,ar),decompression:Xc(r,or)||Xc(t,or)||Xc(t,ar),registered:!1},{compressionMethod:9,compression:!1,decompression:Xc(r,ir)||Xc(t,ir),registered:!1}];for(const e of _n()){const t=$n(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==pe:fe,decompression:t?typeof t.DecompressionStream==pe:fe,registered:!0})}return o},e.isZipFile=Ia,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:a,versionNeeded:s}=e;if(!o.isInteger(t)||t<0||t>L||typeof n!=he||!n.length)throw new d(Kn);if(Gn.includes(t))throw new d(Xn);const c=typeof i==pe||typeof a==pe;if(!(c||typeof r==he&&r.length))throw new d(Kn);jn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:s}),c&&er(n,{CompressionStream:i,DecompressionStream:a})},e.resetConfiguration=function(){for(const e of lt)delete ft[e];n.assign(ft,ot)},e.terminateWorkers=async function(){await g.allSettled(jr.map(e=>(io(e),e.terminate()))),Ar=fe,Cr=!1},e.unregisterCodec=function(e){const t=jn.get(e);if(t){let n;jn.delete(e),jn.forEach(e=>n=n||e.format==t.format),n||Jn.delete(t.format)}}});
|