single-file-core 1.5.83 → 1.5.85
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/core/lib/processor-helper-inline.js +1 -1
- package/modules/html-minifier.js +13 -2
- package/modules/template-parser.js +1 -1
- package/package.json +1 -1
- package/processors/compression/compression-display.js +1 -1
- package/processors/compression/compression-extract.js +16 -8
- package/processors/compression/compression.js +186 -200
- package/vendor/zip/z-worker.js +1 -1
- package/vendor/zip/zip.js +5135 -1412
- package/vendor/zip/zip.min.js +1 -1
package/vendor/zip/zip.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,(function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:u,URL:h,Error:f,Uint8Array:d,Uint16Array:p,Uint32Array:w,DataView:g,Blob:m,Promise:y,TextEncoder:b,TextDecoder:v,document:k,crypto:S,btoa:z,TransformStream:x,ReadableStream:_,WritableStream:D,CompressionStream:F,DecompressionStream:C,navigator:T,Worker:W}="undefined"!=typeof globalThis?globalThis:this||self;var U=d,A=p,L=Int32Array,E=new U([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,0,0,0]),R=new U([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,0,0]),B=new U([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),M=(e,t)=>{for(var n=new A(31),r=0;31>r;++r)n[r]=t+=1<<e[r-1];var s=new L(n[30]);for(r=1;30>r;++r)for(var a=n[r];a<n[r+1];++a)s[a]=a-n[r]<<5|r;return{b:n,r:s}},P=M(E,2),O=P.b,I=P.r;O[28]=258,I[258]=28;for(var N=M(R,0),V=N.b,q=N.r,H=new A(32768),K=0;32768>K;++K){var Z=(43690&K)>>1|(21845&K)<<1;Z=(61680&(Z=(52428&Z)>>2|(13107&Z)<<2))>>4|(3855&Z)<<4,H[K]=((65280&Z)>>8|(255&Z)<<8)>>1}var j=(e,t,n)=>{for(var r=e.length,s=0,a=new A(t);r>s;++s)e[s]&&++a[e[s]-1];var i,o=new A(t);for(s=1;t>s;++s)o[s]=o[s-1]+a[s-1]<<1;if(n){i=new A(1<<t);var c=15-t;for(s=0;r>s;++s)if(e[s])for(var l=s<<4|e[s],u=t-e[s],h=o[e[s]-1]++<<u,f=h|(1<<u)-1;f>=h;++h)i[H[h]>>c]=l}else for(i=new A(r),s=0;r>s;++s)e[s]&&(i[s]=H[o[e[s]-1]++]>>15-e[s]);return i},G=new U(288);for(K=0;144>K;++K)G[K]=8;for(K=144;256>K;++K)G[K]=9;for(K=256;280>K;++K)G[K]=7;for(K=280;288>K;++K)G[K]=8;var J=new U(32);for(K=0;32>K;++K)J[K]=5;var Q=j(G,9,0),X=j(G,9,1),Y=j(J,5,0),$=j(J,5,1),ee=e=>{for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},te=(e,t,n)=>{var r=t/8|0;return(e[r]|e[r+1]<<8)>>(7&t)&n},ne=(e,t)=>{var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},re=e=>(e+7)/8|0,se=(e,t,n)=>((null==t||0>t)&&(t=0),(null==n||n>e.length)&&(n=e.length),new U(e.subarray(t,n))),ae=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],ie=(e,t,n)=>{var r=new f(t||ae[e]);if(r.code=e,f.captureStackTrace&&f.captureStackTrace(r,ie),!n)throw r;return r},oe=(e,t,n)=>{n<<=7&t;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8},ce=(e,t,n)=>{n<<=7&t;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8,e[r+2]|=n>>16},le=(e,t)=>{for(var n=[],r=0;r<e.length;++r)e[r]&&n.push({s:r,f:e[r]});var s=n.length,a=n.slice();if(!s)return{t:ge,l:0};if(1==s){var i=new U(n[0].s+1);return i[n[0].s]=1,{t:i,l:1}}n.sort(((e,t)=>e.f-t.f)),n.push({s:-1,f:25001});var o=n[0],c=n[1],l=0,u=1,h=2;for(n[0]={s:-1,f:o.f+c.f,l:o,r:c};u!=s-1;)o=n[n[l].f<n[h].f?l++:h++],c=n[l!=u&&n[l].f<n[h].f?l++:h++],n[u++]={s:-1,f:o.f+c.f,l:o,r:c};var f=a[0].s;for(r=1;s>r;++r)a[r].s>f&&(f=a[r].s);var d=new A(f+1),p=ue(n[u-1],d,0);if(p>t){r=0;var w=0,g=p-t,m=1<<g;for(a.sort(((e,t)=>d[t.s]-d[e.s]||e.f-t.f));s>r;++r){var y=a[r].s;if(d[y]<=t)break;w+=m-(1<<p-d[y]),d[y]=t}for(w>>=g;w>0;){var b=a[r].s;d[b]<t?w-=1<<t-d[b]++-1:++r}for(;r>=0&&w;--r){var v=a[r].s;d[v]==t&&(--d[v],++w)}p=t}return{t:new U(d),l:p}},ue=(e,t,n)=>-1==e.s?i.max(ue(e.l,t,n+1),ue(e.r,t,n+1)):t[e.s]=n,he=e=>{for(var t=e.length;t&&!e[--t];);for(var n=new A(++t),r=0,s=e[0],a=1,i=e=>{n[r++]=e},o=1;t>=o;++o)if(e[o]==s&&o!=t)++a;else{if(!s&&a>2){for(;a>138;a-=138)i(32754);a>2&&(i(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(i(s),--a;a>6;a-=6)i(8304);a>2&&(i(a-3<<5|8208),a=0)}for(;a--;)i(s);a=1,s=e[o]}return{c:n.subarray(0,r),n:t}},fe=(e,t)=>{for(var n=0,r=0;r<t.length;++r)n+=e[r]*t[r];return n},de=(e,t,n)=>{var r=n.length,s=re(t+2);e[s]=255&r,e[s+1]=r>>8,e[s+2]=255^e[s],e[s+3]=255^e[s+1];for(var a=0;r>a;++a)e[s+a+4]=n[a];return 8*(s+4+r)},pe=(e,t,n,r,s,a,i,o,c,l,u)=>{oe(t,u++,n),++s[256];for(var h=le(s,15),f=h.t,d=h.l,p=le(a,15),w=p.t,g=p.l,m=he(f),y=m.c,b=m.n,v=he(w),k=v.c,S=v.n,z=new A(19),x=0;x<y.length;++x)++z[31&y[x]];for(x=0;x<k.length;++x)++z[31&k[x]];for(var _=le(z,7),D=_.t,F=_.l,C=19;C>4&&!D[B[C-1]];--C);var T,W,U,L,M=l+5<<3,P=fe(s,G)+fe(a,J)+i,O=fe(s,f)+fe(a,w)+i+14+3*C+fe(z,D)+2*z[16]+3*z[17]+7*z[18];if(c>=0&&P>=M&&O>=M)return de(t,u,e.subarray(c,c+l));if(oe(t,u,1+(P>O)),u+=2,P>O){T=j(f,d,0),W=f,U=j(w,g,0),L=w;var I=j(D,F,0);for(oe(t,u,b-257),oe(t,u+5,S-1),oe(t,u+10,C-4),u+=14,x=0;C>x;++x)oe(t,u+3*x,D[B[x]]);u+=3*C;for(var N=[y,k],V=0;2>V;++V){var q=N[V];for(x=0;x<q.length;++x){var H=31&q[x];oe(t,u,I[H]),u+=D[H],H>15&&(oe(t,u,q[x]>>5&127),u+=q[x]>>12)}}}else T=Q,W=G,U=Y,L=J;for(x=0;o>x;++x){var K=r[x];if(K>255){ce(t,u,T[257+(H=K>>18&31)]),u+=W[H+257],H>7&&(oe(t,u,K>>23&31),u+=E[H]);var Z=31&K;ce(t,u,U[Z]),u+=L[Z],Z>3&&(ce(t,u,K>>5&8191),u+=R[Z])}else ce(t,u,T[K]),u+=W[K]}return ce(t,u,T[256]),u+W[256]},we=new L([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),ge=new U(0),me=function(){function e(e,t){if("function"==typeof e&&(t=e,e={}),this.ondata=t,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new U(98304),this.o.dictionary){var n=this.o.dictionary.subarray(-32768);this.b.set(n,32768-n.length),this.s.i=32768-n.length}}return e.prototype.p=function(e,t){this.ondata(((e,t,n,r,s)=>{if(!s&&(s={l:1},t.dictionary)){var a=t.dictionary.subarray(-32768),o=new U(a.length+e.length);o.set(a),o.set(e,a.length),e=o,s.w=a.length}return((e,t,n,r,s,a)=>{var o=a.z||e.length,c=new U(0+o+5*(1+i.ceil(o/7e3))+0),l=c.subarray(0,c.length-0),u=a.l,h=7&(a.r||0);if(t){h&&(l[0]=a.r>>3);for(var f=we[t-1],d=f>>13,p=8191&f,w=(1<<n)-1,g=a.p||new A(32768),m=a.h||new A(w+1),y=i.ceil(n/3),b=2*y,v=t=>(e[t]^e[t+1]<<y^e[t+2]<<b)&w,k=new L(25e3),S=new A(288),z=new A(32),x=0,_=0,D=a.i||0,F=0,C=a.w||0,T=0;o>D+2;++D){var W=v(D),B=32767&D,M=m[W];if(g[B]=M,m[W]=B,D>=C){var P=o-D;if((x>7e3||F>24576)&&(P>423||!u)){h=pe(e,l,0,k,S,z,_,F,T,D-T,h),F=x=_=0,T=D;for(var O=0;286>O;++O)S[O]=0;for(O=0;30>O;++O)z[O]=0}var N=2,V=0,H=p,K=B-M&32767;if(P>2&&W==v(D-K))for(var Z=i.min(d,P)-1,j=i.min(32767,D),G=i.min(258,P);j>=K&&--H&&B!=M;){if(e[D+N]==e[D+N-K]){for(var J=0;G>J&&e[D+J]==e[D+J-K];++J);if(J>N){if(N=J,V=K,J>Z)break;var Q=i.min(K,J-2),X=0;for(O=0;Q>O;++O){var Y=D-K+O&32767,$=Y-g[Y]&32767;$>X&&(X=$,M=Y)}}}K+=(B=M)-(M=g[B])&32767}if(V){k[F++]=268435456|I[N]<<18|q[V];var ee=31&I[N],te=31&q[V];_+=E[ee]+R[te],++S[257+ee],++z[te],C=D+N,++x}else k[F++]=e[D],++S[e[D]]}}for(D=i.max(D,C);o>D;++D)k[F++]=e[D],++S[e[D]];h=pe(e,l,u,k,S,z,_,F,T,D-T,h),u||(a.r=7&h|l[h/8|0]<<3,h-=7,a.h=m,a.p=g,a.i=D,a.w=C)}else{for(D=a.w||0;o+u>D;D+=65535){var ne=D+65535;o>ne||(l[h/8|0]=u,ne=o),h=de(l,h+1,e.subarray(D,ne))}a.i=o}return se(c,0,0+re(h)+0)})(e,null==t.level?6:t.level,null==t.mem?s.l?i.ceil(1.5*i.max(8,i.min(13,i.log(e.length)))):20:12+t.mem,0,0,s)})(e,this.o,0,0,this.s),t)},e.prototype.push=function(e,t){this.ondata||ie(5),this.s.l&&ie(4);var n=e.length+this.s.z;if(n>this.b.length){if(n>2*this.b.length-32768){var r=new U(-32768&n);r.set(this.b.subarray(0,this.s.z)),this.b=r}var s=this.b.length-this.s.z;this.b.set(e.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(s),32768),this.s.z=e.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&t,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2)},e.prototype.flush=function(){this.ondata||ie(5),this.s.l&&ie(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},e}(),ye=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.ondata=t;var n=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:n?n.length:0},this.o=new U(32768),this.p=new U(0),n&&this.o.set(n)}return e.prototype.e=function(e){if(this.ondata||ie(5),this.d&&ie(4),this.p.length){if(e.length){var t=new U(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=((e,t,n)=>{var r=e.length;if(!r||t.f&&!t.l)return n||new U(0);var s=!n,a=s||2!=t.i,o=t.i;s&&(n=new U(3*r));var c=e=>{var t=n.length;if(e>t){var r=new U(i.max(2*t,e));r.set(n),n=r}},l=t.f||0,u=t.p||0,h=t.b||0,f=t.l,d=t.d,p=t.m,w=t.n,g=8*r;do{if(!f){l=te(e,u,1);var m=te(e,u+1,3);if(u+=3,!m){var y=e[(T=re(u)+4)-4]|e[T-3]<<8,b=T+y;if(b>r){o&&ie(0);break}a&&c(h+y),n.set(e.subarray(T,b),h),t.b=h+=y,t.p=u=8*b,t.f=l;continue}if(1==m)f=X,d=$,p=9,w=5;else if(2==m){var v=te(e,u,31)+257,k=te(e,u+10,15)+4,S=v+te(e,u+5,31)+1;u+=14;for(var z=new U(S),x=new U(19),_=0;k>_;++_)x[B[_]]=te(e,u+3*_,7);u+=3*k;var D=ee(x),F=(1<<D)-1,C=j(x,D,1);for(_=0;S>_;){var T,W=C[te(e,u,F)];if(u+=15&W,16>(T=W>>4))z[_++]=T;else{var A=0,L=0;for(16==T?(L=3+te(e,u,3),u+=2,A=z[_-1]):17==T?(L=3+te(e,u,7),u+=3):18==T&&(L=11+te(e,u,127),u+=7);L--;)z[_++]=A}}var M=z.subarray(0,v),P=z.subarray(v);p=ee(M),w=ee(P),f=j(M,p,1),d=j(P,w,1)}else ie(1);if(u>g){o&&ie(0);break}}a&&c(h+131072);for(var I=(1<<p)-1,N=(1<<w)-1,q=u;;q=u){var H=(A=f[ne(e,u)&I])>>4;if((u+=15&A)>g){o&&ie(0);break}if(A||ie(2),256>H)n[h++]=H;else{if(256==H){q=u,f=null;break}var K=H-254;if(H>264){var Z=E[_=H-257];K=te(e,u,(1<<Z)-1)+O[_],u+=Z}var G=d[ne(e,u)&N],J=G>>4;if(G||ie(3),u+=15&G,P=V[J],J>3&&(Z=R[J],P+=ne(e,u)&(1<<Z)-1,u+=Z),u>g){o&&ie(0);break}a&&c(h+131072);var Q=h+K;if(P>h){var Y=0-P,ae=i.min(P,Q);for(0>Y+h&&ie(3);ae>h;++h)n[h]=(void 0)[Y+h]}for(;Q>h;++h)n[h]=n[h-P]}}t.l=f,t.p=q,t.b=h,t.f=l,f&&(l=1,t.m=p,t.d=d,t.n=w)}while(!l);return h!=n.length&&s?se(n,0,h):n.subarray(0,h)})(this.p,this.s,this.o);this.ondata(se(n,t,this.s.b),this.d),this.o=se(n,this.s.b-32768),this.s.b=this.o.length,this.p=se(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),be=void 0!==v&&new v;try{be.decode(ge,{stream:!0})}catch(e){}const ve=4294967295,ke=65535,Se=33639248,ze=101075792,xe=void 0,_e="undefined",De="function";function Fe(e,t,r){return class{constructor(s){const a=this;var i,o;i=s,o="level",(typeof n.hasOwn===De?n.hasOwn(i,o):i.hasOwnProperty(o))&&s.level===xe&&delete s.level,a.codec=new e(n.assign({},t,s)),r(a.codec,(e=>{if(a.pendingData){const t=a.pendingData;a.pendingData=new d(t.length+e.length);const{pendingData:n}=a;n.set(t,0),n.set(e,t.length)}else a.pendingData=new d(e)}))}append(e){return this.codec.push(e),s(this)}flush(){return this.codec.push(new d,!0),s(this)}};function s(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new d}}const{Deflate:Ce,Inflate:Te}=((e,t={},n)=>({Deflate:Fe(e.Deflate,t.deflate,n),Inflate:Fe(e.Inflate,t.inflate,n)}))({Deflate:me,Inflate:ye},xe,((e,t)=>e.ondata=t));class We{constructor(e){return class extends x{constructor(t,n){const r=new e(n);super({transform(e,t){t.enqueue(r.append(e))},flush(e){const t=r.flush();t&&e.enqueue(t)}})}}}}let Ue=2;try{typeof T!=_e&&T.hardwareConcurrency&&(Ue=T.hardwareConcurrency)}catch(e){}const Ae={chunkSize:524288,maxWorkers:Ue,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:xe,CompressionStreamNative:typeof F!=_e&&F,DecompressionStreamNative:typeof C!=_e&&C},Le=n.assign({},Ae);function Ee(e){const{baseURL:n,chunkSize:r,maxWorkers:s,terminateWorkerTimeout:a,useCompressionStream:i,useWebWorkers:o,Deflate:c,Inflate:l,CompressionStream:u,DecompressionStream:h,workerScripts:d}=e;if(Re("baseURL",n),Re("chunkSize",r),Re("maxWorkers",s),Re("terminateWorkerTimeout",a),Re("useCompressionStream",i),Re("useWebWorkers",o),c&&(Le.CompressionStream=new We(c)),l&&(Le.DecompressionStream=new We(l)),Re("CompressionStream",u),Re("DecompressionStream",h),d!==xe){const{deflate:e,inflate:n}=d;if((e||n)&&(Le.workerScripts||(Le.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");Le.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new f("workerScripts.inflate must be an array");Le.workerScripts.inflate=n}}}function Re(e,t){t!==xe&&(Le[e]=t)}const Be=65536,Me="writable";class Pe{constructor(){this.size=0}init(){this.initialized=!0}}class Oe extends Pe{get readable(){const e=this,{chunkSize:t=Be}=e,n=new _({start(){this.chunkOffset=0},async pull(r){const{offset:s=0,size:a,diskNumberStart:o}=n,{chunkOffset:c}=this;r.enqueue(await je(e,s+c,i.min(t,a-c),o)),c+t>a?r.close():this.chunkOffset+=t}});return n}}class Ie extends Pe{constructor(){super();const e=this,t=new D({write:t=>e.writeUint8Array(t)});n.defineProperty(e,Me,{get:()=>t})}writeUint8Array(){}}class Ne extends Oe{constructor(e){super(),n.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,r=e+t,s=e||r<n.size?n.blob.slice(e,r):n.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new d(a)}}class Ve extends Pe{constructor(e){super();const t=new x,r=[];e&&r.push(["Content-Type",e]),n.defineProperty(this,Me,{get:()=>t.writable}),this.blob=new u(t.readable,{headers:r}).blob()}getData(){return this.blob}}class qe extends Oe{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await y.all(t.map((async(n,r)=>{await n.init(),r!=t.length-1&&(e.lastDiskOffset+=n.size),e.size+=n.size}))),super.init()}async readUint8Array(e,t,n=0){const r=this,{readers:s}=this;let a,o=n;-1==o&&(o=s.length-1);let c=e;for(;c>=s[o].size;)c-=s[o].size,o++;const l=s[o],u=l.size;if(c+t>u){const s=u-c;a=new d(t),a.set(await je(l,c,s)),a.set(await r.readUint8Array(e+s,t-s,n),s)}else a=await je(l,c,t);return r.lastDiskNumber=i.max(o,r.lastDiskNumber),a}}class He extends Pe{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){const{availableSize:n}=r;if(i)t.length<n?await c(t):(await c(t.slice(0,n)),await l(),r.diskOffset+=s.size,r.diskNumber++,i=null,await this.write(t.slice(n)));else{const{value:n,done:o}=await e.next();if(o&&!n)throw new f("Writer iterator completed too soon");s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await Ke(s),a=n.writable,i=a.getWriter(),await this.write(t)}},async close(){await i.ready,await l()}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,r.size+=t,r.availableSize-=t)}async function l(){a.size=s.size,await i.close()}n.defineProperty(r,Me,{get:()=>o})}}async function Ke(e,t){if(!e.init||e.initialized)return y.resolve();await e.init(t)}function Ze(e){return t.isArray(e)&&(e=new qe(e)),e instanceof _&&(e={readable:e}),e}function je(e,t,n,r){return e.readUint8Array(t,n,r)}const Ge=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;Ge[e]=t}class Je{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,r=0|e.length;r>n;n++)t=t>>>8^Ge[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class Qe extends x{constructor(){let e;const t=new Je;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new g(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const Xe={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=Xe.getPartial(n);return 32===r?e.concat(t):Xe._shiftRight(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)+Xe.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Xe.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>i.round(e/1099511627776)||32,_shiftRight(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=Xe.getPartial(s);return r.push(Xe.partial(t+a&31,t+a>32?n:r.pop(),1)),r}},Ye={bytes:{fromBits(e){const t=Xe.bitLength(e)/8,n=new d(t);let r;for(let s=0;t>s;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},toBits(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(Xe.partial(8*(3&n),r)),t}}},$e=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=Ye.utf8String.toBits(e));const n=t._buffer=Xe.concat(t._buffer,e),r=t._length,s=t._length=r+Xe.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new w(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);s>=e;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=Xe.concat(t,[Xe.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}_S(e,t){return t<<e|t>>>32-e}_block(e){const n=this,r=n._h,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;79>=e;e++){16>e||(s[e]=n._S(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n._S(5,a)+n._f(e,o,c,l)+u+s[e]+n._key[i.floor(e/20)]|0;u=l,l=c,c=n._S(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},et={getRandomValues(e){const t=new w(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(i.random()>.5?1:-1))};for(let r,s=0;s<e.length;s+=4){const e=n(4294967296*(r||i.random()));r=987654071*e(),t[s/4]=4294967296*e()|0}return e}},tt={importKey:e=>new tt.hmacSha1(Ye.bytes.toBits(e)),pbkdf2(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new f("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const u=new ArrayBuffer(s),h=new g(u);let d=0;const p=Xe;for(t=Ye.bytes.toBits(t),l=1;(s||1)>d;l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;n>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>d&&o<a.length;o++)h.setInt32(d,a[o]),d+=4}return u.slice(0,r/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=$e,r=[[],[]];t._baseHash=[new n,new n];const s=t._baseHash[0].blockSize/32;e.length>s&&(e=(new n).update(e).finalize());for(let t=0;s>t;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t._baseHash[0].update(r[0]),t._baseHash[1].update(r[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},nt=typeof S!=_e&&typeof S.getRandomValues==De,rt="Invalid password",st="Invalid signature",at="zipjs-abort-check-password";function it(e){return nt?S.getRandomValues(e):et.getRandomValues(e)}const ot=16,ct={name:"PBKDF2"},lt=n.assign({hash:{name:"HMAC"}},ct),ut=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ct),ht=["deriveBits"],ft=[8,12,16],dt=[16,24,32],pt=10,wt=[0,0,0,0],gt=typeof S!=_e,mt=gt&&S.subtle,yt=gt&&typeof mt!=_e,bt=Ye.bytes,vt=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],r=t._tables[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new f("invalid aes key size");for(t._key=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s==0||8===s&&a%s==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%s==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],r=t[4],s=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let u=i=0;!n[u];u^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[u]=a,r[a]=u,l=s[c=s[o=s[u]]];let h=16843009*l^65537*c^257*o^16843008*u,f=257*s[a]^16843008*a;for(let n=0;4>n;n++)e[n][u]=f=f<<24^f>>>8,t[n][a]=h=h<<24^h>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const n=this._key[t],r=n.length/4-2,s=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],c=a[2],l=a[3],u=a[4];let h,d,p,w=e[0]^n[0],g=e[t?3:1]^n[1],m=e[2]^n[2],y=e[t?1:3]^n[3],b=4;for(let e=0;r>e;e++)h=i[w>>>24]^o[g>>16&255]^c[m>>8&255]^l[255&y]^n[b],d=i[g>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&w]^n[b+1],p=i[m>>>24]^o[y>>16&255]^c[w>>8&255]^l[255&g]^n[b+2],y=i[y>>>24]^o[w>>16&255]^c[g>>8&255]^l[255&m]^n[b+3],b+=4,w=h,g=d,m=p;for(let e=0;4>e;e++)s[t?3&-e:e]=u[w>>>24]<<24^u[g>>16&255]<<16^u[m>>8&255]<<8^u[255&y]^n[b++],h=w,w=g,g=m,m=y,y=h;return s}},kt=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(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}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let r;if(!(r=t.length))return[];const s=Xe.bitLength(t);for(let s=0;r>s;s+=4){this.incCounter(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return Xe.clamp(t,s)}},St=tt.hmacSha1;let zt=gt&&yt&&typeof mt.importKey==De,xt=gt&&yt&&typeof mt.deriveBits==De;class _t extends x{constructor({password:e,rawPassword:t,signed:r,encryptionStrength:s,checkPasswordOnly:a}){super({start(){n.assign(this,{ready:new y((e=>this.resolveReady=e)),password:Tt(e,t),signed:r,strength:s-1,pending:new d})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:i,ready:o}=n;r?(await(async(e,t,n,r)=>{const s=await Ct(e,t,n,Ut(r,0,ft[t])),a=Ut(r,ft[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new f(rt)})(n,s,r,Ut(e,0,ft[s]+2)),e=Ut(e,ft[s]+2),a?t.error(new f(at)):i()):await o;const c=new d(e.length-pt-(e.length-pt)%ot);t.enqueue(Ft(n,e,c,0,pt,!0))},async flush(e){const{signed:t,ctr:n,hmac:r,pending:s,ready:a}=this;if(r&&n){await a;const i=Ut(s,0,s.length-pt),o=Ut(s,s.length-pt);let c=new d;if(i.length){const e=Lt(bt,i);r.update(e);const t=n.update(e);c=At(bt,t)}if(t){const e=Ut(At(bt,r.digest()),0,pt);for(let t=0;pt>t;t++)if(e[t]!=o[t])throw new f(st)}e.enqueue(c)}}})}}class Dt extends x{constructor({password:e,rawPassword:t,encryptionStrength:r}){let s;super({start(){n.assign(this,{ready:new y((e=>this.resolveReady=e)),password:Tt(e,t),strength:r-1,pending:new d})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:a,ready:i}=n;let o=new d;r?(o=await(async(e,t,n)=>{const r=it(new d(ft[t]));return Wt(r,await Ct(e,t,n,r))})(n,s,r),a()):await i;const c=new d(o.length+e.length-e.length%ot);c.set(o,0),t.enqueue(Ft(n,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:r,ready:a}=this;if(n&&t){await a;let i=new d;if(r.length){const e=t.update(Lt(bt,r));n.update(e),i=At(bt,e)}s.signature=At(bt,n.digest()).slice(0,pt),e.enqueue(Wt(i,s.signature))}}}),s=this}}function Ft(e,t,n,r,s,a){const{ctr:i,hmac:o,pending:c}=e,l=t.length-s;let u;for(c.length&&(t=Wt(c,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e})(n,l-l%ot)),u=0;l-ot>=u;u+=ot){const e=Lt(bt,Ut(t,u,u+ot));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(At(bt,s),u+r)}return e.pending=Ut(t,u),n}async function Ct(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!zt)return tt.importKey(t);try{return await mt.importKey("raw",t,n,!1,s)}catch(e){return zt=!1,tt.importKey(t)}})(0,s,lt,0,ht),o=await(async(e,t,n)=>{if(!xt)return tt.pbkdf2(t,e.salt,ut.iterations,n);try{return await mt.deriveBits(e,t,n)}catch(r){return xt=!1,tt.pbkdf2(t,e.salt,ut.iterations,n)}})(n.assign({salt:a},ut),i,8*(2*dt[r]+2)),c=new d(o),l=Lt(bt,Ut(c,0,dt[r])),u=Lt(bt,Ut(c,dt[r],2*dt[r])),h=Ut(c,2*dt[r]);return n.assign(e,{keys:{key:l,authentication:u,passwordVerification:h},ctr:new kt(new vt(l),t.from(wt)),hmac:new St(u)}),h}function Tt(e,t){return t===xe?(e=>{if(typeof b==_e){const t=new d((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new b).encode(e)})(e):t}function Wt(e,t){let n=e;return e.length+t.length&&(n=new d(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Ut(e,t,n){return e.subarray(t,n)}function At(e,t){return e.fromBits(t)}function Lt(e,t){return e.toBits(t)}class Et extends x{constructor({password:e,passwordVerification:t,checkPasswordOnly:r}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Pt(this,e)},transform(e,t){const n=this;if(n.password){const t=Bt(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new f(rt);e=e.subarray(12)}r?t.error(new f(at)):t.enqueue(Bt(n,e))}})}}class Rt extends x{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Pt(this,e)},transform(e,t){const n=this;let r,s;if(n.password){n.password=null;const t=it(new d(12));t[11]=n.passwordVerification,r=new d(e.length+t.length),r.set(Mt(n,t),0),s=12}else r=new d(e.length),s=0;r.set(Mt(n,e),s),t.enqueue(r)}})}}function Bt(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=It(e)^t[r],Ot(e,n[r]);return n}function Mt(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=It(e)^t[r],Ot(e,t[r]);return n}function Pt(e,t){const r=[305419896,591751049,878082192];n.assign(e,{keys:r,crcKey0:new Je(r[0]),crcKey2:new Je(r[2])});for(let n=0;n<t.length;n++)Ot(e,t.charCodeAt(n))}function Ot(e,t){let[n,r,s]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),r=Vt(i.imul(Vt(r+Nt(n)),134775813)+1),e.crcKey2.append([r>>>24]),s=~e.crcKey2.get(),e.keys=[n,r,s]}function It(e){const t=2|e.keys[2];return Nt(i.imul(t,1^t)>>>8)}function Nt(e){return 255&e}function Vt(e){return 4294967295&e}const qt="deflate-raw";class Ht extends x{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:l}=e,u=this;let h,f,d=Zt(super.readable);a&&!o||!c||(h=new Qe,d=Jt(d,h)),s&&(d=Gt(d,i,{level:l,chunkSize:t},r,n)),a&&(o?d=Jt(d,new Rt(e)):(f=new Dt(e),d=Jt(d,f))),jt(u,d,(()=>{let e;a&&!o&&(e=f.signature),a&&!o||!c||(e=new g(h.value.buffer).getUint32(0)),u.signature=e}))}}class Kt extends x{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:l}=e;let u,h,d=Zt(super.readable);a&&(s?d=Jt(d,new Et(e)):(h=new _t(e),d=Jt(d,h))),c&&(d=Gt(d,l,{chunkSize:t},r,n)),a&&!s||!i||(u=new Qe,d=Jt(d,u)),jt(this,d,(()=>{if((!a||s)&&i){const e=new g(u.value.buffer);if(o!=e.getUint32(0,!1))throw new f(st)}}))}}function Zt(e){return Jt(e,new x({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function jt(e,t,r){t=Jt(t,new x({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Gt(e,t,n,r,s){try{e=Jt(e,new(t&&r?r:s)(qt,n))}catch(r){if(!t)return e;try{e=Jt(e,new s(qt,n))}catch(t){return e}}return e}function Jt(e,t){return e.pipeThrough(t)}const Qt="data",Xt="close",Yt="inflate";class $t extends x{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith("deflate")?a=Ht:s.startsWith(Yt)&&(a=Kt);let i=0,o=0;const c=new a(e,t),l=super.readable,u=new x({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:o})}}),h=new x({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){const{signature:e}=c;n.assign(r,{signature:e,outputSize:i,inputSize:o})}});n.defineProperty(r,"readable",{get:()=>l.pipeThrough(u).pipeThrough(c).pipeThrough(h)})}}class en extends x{constructor(e){let t;super({transform:function n(r,s){if(t){const e=new d(t.length+r.length);e.set(t),e.set(r,t.length),r=e,t=null}r.length>e?(s.enqueue(r.slice(0,e)),n(r.slice(e),s)):t=r},flush(e){t&&t.length&&e.enqueue(t)}})}}let tn=typeof W!=_e;class nn{constructor(e,{readable:t,writable:r},{options:s,config:a,streamOptions:i,useWebWorkers:o,transferStreams:c,scripts:l},u){const{signal:h}=i;return n.assign(e,{busy:!0,readable:t.pipeThrough(new en(a.chunkSize)).pipeThrough(new rn(t,i),{signal:h}),writable:r,options:n.assign({},s),scripts:l,transferStreams:c,terminate:()=>new y((t=>{const{worker:n,busy:r}=e;n?(r?e.resolveTerminated=t:(n.terminate(),t()),e.interface=null):t()})),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,u(e)}}),(o&&tn?on:an)(e,a)}}class rn extends x{constructor(e,{onstart:t,onprogress:n,size:r,onend:s}){let a=0;super({async start(){t&&await sn(t,r)},async transform(e,t){a+=e.length,n&&await sn(n,a,r),t.enqueue(e)},async flush(){e.size=a,s&&await sn(s,a)}})}}async function sn(e,...t){try{await e(...t)}catch(e){}}function an(e,t){return{run:()=>(async({options:e,readable:t,writable:n,onTaskFinished:r},s)=>{try{const r=new $t(e,s);await t.pipeThrough(r).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:i,outputSize:o}=r;return{signature:a,inputSize:i,outputSize:o}}finally{r()}})(e,t)}}function on(e,t){const{baseURL:r,chunkSize:s}=t;if(!e.interface){let a;try{a=((e,t,r)=>{const s={type:"module"};let a,i;typeof e==De&&(e=e());try{a=new h(e,t)}catch(t){a=e}if(cn)try{i=new W(a)}catch(e){cn=!1,i=new W(a,s)}else i=new W(a,s);return i.addEventListener("message",(e=>(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,resolveResult:u,rejectResult:h,onTaskFinished:p}=t;try{if(o){const{message:e,stack:t,code:r,name:s}=o,a=new f(e);n.assign(a,{stack:t,code:r,name:s}),w(a)}else{if("pull"==r){const{value:e,done:n}=await c.read();un({type:Qt,value:e,done:n,messageId:a},t)}r==Qt&&(await l.ready,await l.write(new d(s)),un({type:"ack",messageId:a},t)),r==Xt&&w(null,i)}}catch(o){un({type:Xt,messageId:a},t),w(o)}function w(e,t){e?h(e):u(t),l&&l.releaseLock(),p()}})(e,r))),i})(e.scripts[0],r,e)}catch(n){return tn=!1,an(e,t)}n.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let r,s;const a=new y(((e,t)=>{r=e,s=t}));n.assign(e,{reader:null,writer:null,resolveResult:r,rejectResult:s,result:a});const{readable:i,options:o,scripts:c}=e,{writable:l,closed:u}=(e=>{let t;const n=new y((e=>t=e));return{writable:new D({async write(t){const n=e.getWriter();await n.ready,await n.write(t),n.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:n}})(e.writable),h=un({type:"start",scripts:c.slice(1),options:o,config:t,readable:i,writable:l},e);h||n.assign(e,{reader:i.getReader(),writer:l.getWriter()});const f=await a;return h||await l.getWriter().close(),await u,f})(e,{chunkSize:s})}})}return e.interface}let cn=!0,ln=!0;function un(e,{worker:t,writer:n,onTaskFinished:r,transferStreams:s}){try{let{value:n,readable:r,writable:a}=e;const i=[];if(n&&(n.byteLength<n.buffer.byteLength?e.value=n.buffer.slice(0,n.byteLength):e.value=n.buffer,i.push(e.value)),s&&ln?(r&&i.push(r),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(n){ln=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),r(),e}}let hn=[];const fn=[];let dn=0;function pn(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const wn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),gn=256==wn.length;function mn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{if(gn){let t="";for(let n=0;n<e.length;n++)t+=wn[e[n]];return t}return(new v).decode(e)})(e):new v(t).decode(e)}const yn="filename",bn="rawFilename",vn="comment",kn="rawComment",Sn="uncompressedSize",zn="compressedSize",xn="offset",_n="diskNumberStart",Dn="lastModDate",Fn="rawLastModDate",Cn="lastAccessDate",Tn="creationDate",Wn=[yn,bn,zn,Sn,Dn,Fn,vn,kn,Cn,Tn,xn,_n,_n,"internalFileAttribute","externalFileAttribute","msDosCompatible","zip64","directory","bitFlag","encrypted","signature","filenameUTF8","commentUTF8","compressionMethod","version","versionMadeBy","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Un{constructor(e){Wn.forEach((t=>this[t]=e[t]))}}const An="File format is not recognized",Ln="Compression method not supported",En="Split zip file",Rn="utf-8",Bn="cp437",Mn=[[Sn,ve],[zn,ve],[xn,ve],[_n,ke]],Pn={[ke]:{getValue:Gn,bytes:4},[ve]:{getValue:Jn,bytes:8}};class On{constructor(e,t,r){n.assign(this,{reader:e,config:t,options:r})}async getData(e,t,r={}){const a=this,{reader:i,offset:o,diskNumberStart:c,extraFieldAES:l,compressionMethod:u,config:h,bitFlag:p,signature:w,rawLastModDate:g,uncompressedSize:m,compressedSize:b}=a,v=t.localDirectory={},k=Qn(await je(i,o,30,c));let S=qn(a,r,"password"),z=qn(a,r,"rawPassword");if(S=S&&S.length&&S,z=z&&z.length&&z,l&&99!=l.originalCompressionMethod)throw new f(Ln);if(0!=u&&8!=u)throw new f(Ln);if(67324752!=Gn(k,0))throw new f("Local file header not found");In(v,k,4),v.rawExtraField=v.extraFieldLength?await je(i,o+30+v.filenameLength,v.extraFieldLength,c):new d,await Nn(a,v,k,4,!0),n.assign(t,{lastAccessDate:v.lastAccessDate,creationDate:v.creationDate});const x=a.encrypted&&v.encrypted,_=x&&!l;if(x){if(!_&&l.strength===xe)throw new f("Encryption method not supported");if(!S&&!z)throw new f("File contains encrypted entry")}const F=o+30+v.filenameLength+v.extraFieldLength,C=b,T=i.readable;n.assign(T,{diskNumberStart:c,offset:F,size:C});const W=qn(a,r,"signal"),U=qn(a,r,"checkPasswordOnly");U&&(e=new D),e=(e=>{e.writable===xe&&typeof e.next==De&&(e=new He(e)),e instanceof D&&(e={writable:e});const{writable:t}=e;return t.size===xe&&(t.size=0),e instanceof He||n.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e})(e),await Ke(e,m);const{writable:A}=e,{onstart:L,onprogress:E,onend:R}=r,B={options:{codecType:Yt,password:S,rawPassword:z,zipCrypto:_,encryptionStrength:l&&l.strength,signed:qn(a,r,"checkSignature"),passwordVerification:_&&(p.dataDescriptor?g>>>8&255:w>>>24&255),signature:w,compressed:0!=u,encrypted:x,useWebWorkers:qn(a,r,"useWebWorkers"),useCompressionStream:qn(a,r,"useCompressionStream"),transferStreams:qn(a,r,"transferStreams"),checkPasswordOnly:U},config:h,streamOptions:{signal:W,size:C,onstart:L,onprogress:E,onend:R}};let M=0;try{({outputSize:M}=await(async(e,t)=>{const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,codecType:c,compressed:l,signed:u,encrypted:h}=n,{workerScripts:f,maxWorkers:d}=r;t.transferStreams=a||a===xe;const p=!(l||u||h||t.transferStreams);return t.useWebWorkers=!p&&(i||i===xe&&r.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[c]:[],n.useCompressionStream=o||o===xe&&r.useCompressionStream,(await(async()=>{const n=hn.find((e=>!e.busy));if(n)return pn(n),new nn(n,e,t,w);if(hn.length<d){const n={indexWorker:dn};return dn++,hn.push(n),new nn(n,e,t,w)}return new y((n=>fn.push({resolve:n,stream:e,workerOptions:t})))})()).run();function w(e){if(fn.length){const[{resolve:t,stream:n,workerOptions:r}]=fn.splice(0,1);t(new nn(e,n,r,w))}else e.worker?(pn(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout((async()=>{hn=hn.filter((t=>t!=e));try{await e.terminate()}catch(e){}}),r))})(e,t)):hn=hn.filter((t=>t!=e))}})({readable:T,writable:A},B))}catch(e){if(!U||e.message!=at)throw e}finally{const e=qn(a,r,"preventClose");A.size+=M,e||A.locked||await A.getWriter().close()}return U?xe:e.getData?e.getData():A}}function In(e,t,r){const s=e.rawBitFlag=jn(t,r+2),a=!(1&~s),i=Gn(t,r+6);n.assign(e,{encrypted:a,version:jn(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:!(2048&~s)},rawLastModDate:i,lastModDate:Hn(i),filenameLength:jn(t,r+22),extraFieldLength:jn(t,r+24)})}async function Nn(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,u=Qn(new d(i));let h=0;try{for(;h<i.length;){const e=jn(u,h),t=jn(u,h+2);l.set(e,{type:e,data:i.slice(h+4,h+4+t)}),h+=4+t}}catch(e){}const p=jn(r,s+4);n.assign(t,{signature:Gn(r,s+10),uncompressedSize:Gn(r,s+18),compressedSize:Gn(r,s+14)});const w=l.get(1);w&&(((e,t)=>{t.zip64=!0;const n=Qn(e.data),r=Mn.filter((([e,n])=>t[e]==n));for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s];if(t[i]==o){const r=Pn[o];t[i]=e[i]=r.getValue(n,a),a+=r.bytes}else if(e[i])throw new f("Zip64 extra field not found")}})(w,t),t.extraFieldZip64=w);const g=l.get(28789);g&&(await Vn(g,yn,bn,t,e),t.extraFieldUnicodePath=g);const m=l.get(25461);m&&(await Vn(m,vn,kn,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y?(((e,t,r)=>{const s=Qn(e.data),a=Zn(s,4);n.assign(e,{vendorVersion:Zn(s,0),vendorId:Zn(s,2),strength:a,originalCompressionMethod:r,compressionMethod:jn(s,5)}),t.compressionMethod=e.compressionMethod})(y,t,p),t.extraFieldAES=y):t.compressionMethod=p;const b=l.get(10);b&&(((e,t)=>{const r=Qn(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=jn(r,a),n=jn(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch(e){}try{if(s&&24==s.length){const r=Qn(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:Kn(a),lastAccessDate:Kn(i),creationDate:Kn(o)};n.assign(e,c),n.assign(t,c)}}catch(e){}})(b,t),t.extraFieldNTFS=b);const v=l.get(21589);v&&(((e,t,n)=>{const r=Qn(e.data),s=Zn(r,0),a=[],i=[];n?(1&~s||(a.push(Dn),i.push(Fn)),2&~s||(a.push(Cn),i.push("rawLastAccessDate")),4&~s||(a.push(Tn),i.push("rawCreationDate"))):5>e.data.length||(a.push(Dn),i.push(Fn));let c=1;a.forEach(((n,s)=>{if(e.data.length>=c+4){const a=Gn(r,c);t[n]=e[n]=new o(1e3*a);const l=i[s];e[l]=a}c+=4}))})(v,t,a),t.extraFieldExtendedTimestamp=v);const k=l.get(6534);k&&(t.extraFieldUSDZ=k)}async function Vn(e,t,r,s,a){const i=Qn(e.data),o=new Je;o.append(a[r]);const c=Qn(new d(4));c.setUint32(0,o.get(),!0);const l=Gn(i,1);n.assign(e,{version:Zn(i,0),[t]:mn(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==Gn(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function qn(e,t,n){return t[n]===xe?e.options[n]:t[n]}function Hn(e){const t=(4294901760&e)>>16,n=65535&e;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function Kn(e){return new o(s(e/a(1e4)-a(116444736e5)))}function Zn(e,t){return e.getUint8(t)}function jn(e,t){return e.getUint16(t,!0)}function Gn(e,t){return e.getUint32(t,!0)}function Jn(e,t){return s(e.getBigUint64(t,!0))}function Qn(e){return new g(e.buffer)}Ee({Inflate:Te}),e.BlobReader=Ne,e.BlobWriter=Ve,e.Data64URIWriter=class extends Ie{constructor(e){super(),n.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let n=0,s=t.pending;const a=t.pending.length;for(t.pending="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.pending+=r.fromCharCode(e[n]);s.length>2?t.data+=z(s):t.pending=s}getData(){return this.data+z(this.pending)}},e.TextWriter=class extends Ve{constructor(e){super(e),n.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,r=await super.getData();if(r.text&&t)return r.text();{const t=new FileReader;return new y(((s,a)=>{n.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(r,e)}))}}},e.ZipReader=class{constructor(e,t={}){n.assign(this,{reader:Ze(e),options:t,config:Le})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;const{config:s}=t;if(await Ke(r),r.size!==xe&&r.readUint8Array||(r=new Ne(await new u(r.readable).blob()),await Ke(r)),22>r.size)throw new f(An);r.chunkSize=(e=>i.max(e.chunkSize,64))(s);const a=await(async(e,t,n)=>{const r=new d(4);return 101010256,Qn(r).setUint32(0,101010256,!0),await s(22)||await s(i.min(1048582,n));async function s(t){const s=n-t,a=await je(e,s,t);for(let e=a.length-22;e>=0;e--)if(a[e]==r[0]&&a[e+1]==r[1]&&a[e+2]==r[2]&&a[e+3]==r[3])return{offset:s+e,buffer:a.slice(e,e+22).buffer}}})(r,0,r.size);if(!a)throw 134695760==Gn(Qn(await je(r,0,4)))?new f(En):new f("End of central directory not found");const o=Qn(a);let c=Gn(o,12),l=Gn(o,16);const h=a.offset,p=jn(o,20),w=h+22+p;let g=jn(o,4);const m=r.lastDiskNumber||0;let y=jn(o,6),b=jn(o,8),v=0,k=0;if(l==ve||c==ve||b==ke||y==ke){const e=Qn(await je(r,a.offset-20,20));if(117853008==Gn(e,0)){l=Jn(e,8);let t=await je(r,l,56,-1),n=Qn(t);const s=a.offset-20-56;if(Gn(n,0)!=ze&&l!=s){const e=l;l=s,v=l-e,t=await je(r,l,56,-1),n=Qn(t)}if(Gn(n,0)!=ze)throw new f("End of Zip64 central directory locator not found");g==ke&&(g=Gn(n,16)),y==ke&&(y=Gn(n,20)),b==ke&&(b=Jn(n,32)),c==ve&&(c=Jn(n,40)),l-=c}}if(l<r.size||(v=r.size-l-c-22,l=r.size-c-22),m!=g)throw new f(En);if(0>l)throw new f(An);let S=0,z=await je(r,l,c,y),x=Qn(z);if(c){const e=a.offset-c;if(Gn(x,S)!=Se&&l!=e){const t=l;l=e,v+=l-t,z=await je(r,l,c,y),x=Qn(z)}}const _=a.offset-l-(r.lastDiskOffset||0);if(c==_||0>_||(c=_,z=await je(r,l,c,y),x=Qn(z)),0>l||l>=r.size)throw new f(An);const D=qn(t,e,"filenameEncoding"),F=qn(t,e,"commentEncoding");for(let a=0;b>a;a++){const o=new On(r,s,t.options);if(Gn(x,S)!=Se)throw new f("Central directory header not found");In(o,x,S+6);const c=!!o.bitFlag.languageEncodingFlag,l=S+46,u=l+o.filenameLength,h=u+o.extraFieldLength,d=jn(x,S+4),p=!0,w=z.subarray(l,u),g=jn(x,S+32),m=h+g,y=z.subarray(h,m),_=c,C=c,T=p&&!(16&~Zn(x,S+38)),W=Gn(x,S+42)+v;n.assign(o,{versionMadeBy:d,msDosCompatible:p,compressedSize:0,uncompressedSize:0,commentLength:g,directory:T,offset:W,diskNumberStart:jn(x,S+34),internalFileAttribute:jn(x,S+36),externalFileAttribute:Gn(x,S+38),rawFilename:w,filenameUTF8:_,commentUTF8:C,rawExtraField:z.subarray(u,h)});const U=qn(t,e,"decodeText")||mn,A=_?Rn:D||Bn,L=C?Rn:F||Bn;let E=U(w,A);E===xe&&(E=mn(w,A));let R=U(y,L);R===xe&&(R=mn(y,L)),n.assign(o,{rawComment:y,filename:E,comment:R,directory:T||E.endsWith("/")}),k=i.max(W,k),await Nn(o,o,x,S+6);const B=new Un(o);B.getData=(e,t)=>o.getData(e,B,t),S=m;const{onprogress:M}=e;if(M)try{await M(a+1,b,new Un(o))}catch(e){}yield B}const C=qn(t,e,"extractPrependedData"),T=qn(t,e,"extractAppendedData");return C&&(t.prependedData=k>0?await je(r,0,k):new d),t.comment=p?await je(r,h+22,p):new d,T&&(t.appendedData=w<r.size?await je(r,w,r.size-w):new d),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){}},e.configure=Ee}));
|
|
1
|
+
((t,e)=>{"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})})(this,function(t){"use strict";const{Array:e,Object:n,String:r,Number:s,BigInt:o,Math:a,Date:i,Map:c,Set:f,Response:u,URL:l,Error:w,Uint8Array:d,Uint16Array:h,Uint32Array:p,DataView:m,Blob:y,Promise:g,TextEncoder:b,TextDecoder:v,crypto:S,btoa:k,TransformStream:z,ReadableStream:x,WritableStream:R,CompressionStream:C,DecompressionStream:D,navigator:F,Worker:A,setTimeout:T,clearTimeout:U}="undefined"!=typeof globalThis?globalThis:this||self,E=4294967295,W=65535,I=134695760,M=I,O=33639248,P=101075792,L=117853008,H=22,B=20,V=56,Z=void 0,q="undefined",N="function",_=new d;let j=2;try{typeof F!=q&&F.hardwareConcurrency&&(j=F.hardwareConcurrency)}catch{}const K={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:j,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof C!=q&&C,DecompressionStream:typeof D!=q&&D},G=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],X={...K};function J(){return X}function Q(t){return a.max(t.chunkSize,64)}function Y(t){t=$(t);for(const e of G){const n=t[e];n!==Z&&(X[e]=n)}}function $(t){const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===Z&&r===Z)return t;const s=n.assign({},t);return s.CompressionStreamFallback===Z&&(s.CompressionStreamFallback=e),s.DecompressionStreamFallback===Z&&(s.DecompressionStreamFallback=r),s}var tt=d,et=h,nt=Int32Array,rt=new tt([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),st=new tt([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,0,0]),ot=new tt([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),at=(t,e)=>{for(var n=new et(31),r=0;31>r;++r)n[r]=e+=1<<t[r-1];var s=new nt(n[30]);for(r=1;30>r;++r)for(var o=n[r];o<n[r+1];++o)s[o]=o-n[r]<<5|r;return{b:n,r:s}},it=at(rt,2),ct=it.b,ft=it.r;ct[28]=258,ft[258]=28;for(var ut=at(st,0).b,lt=new et(32768),wt=0;32768>wt;++wt){var dt=(43690&wt)>>1|(21845&wt)<<1;dt=(61680&(dt=(52428&dt)>>2|(13107&dt)<<2))>>4|(3855&dt)<<4,lt[wt]=((65280&dt)>>8|(255&dt)<<8)>>1}var ht=(t,e,n)=>{for(var r=t.length,s=0,o=new et(e);r>s;++s)t[s]&&++o[t[s]-1];var a,i=new et(e);for(s=1;e>s;++s)i[s]=i[s-1]+o[s-1]<<1;if(n){a=new et(1<<e);var c=15-e;for(s=0;r>s;++s)if(t[s])for(var f=s<<4|t[s],u=e-t[s],l=i[t[s]-1]++<<u,w=l|(1<<u)-1;w>=l;++l)a[lt[l]>>c]=f}else for(a=new et(r),s=0;r>s;++s)t[s]&&(a[s]=lt[i[t[s]-1]++]>>15-t[s]);return a},pt=new tt(288);for(wt=0;144>wt;++wt)pt[wt]=8;for(wt=144;256>wt;++wt)pt[wt]=9;for(wt=256;280>wt;++wt)pt[wt]=7;for(wt=280;288>wt;++wt)pt[wt]=8;var mt=new tt(32);for(wt=0;32>wt;++wt)mt[wt]=5;var yt=ht(pt,9,1),gt=ht(mt,5,1),bt=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},vt=(t,e,n)=>{var r=e/8|0;return(t[r]|t[r+1]<<8)>>(7&e)&n},St=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},kt=t=>(t+7)/8|0,zt=(t,e,n)=>((null==e||0>e)&&(e=0),(null==n||n>t.length)&&(n=t.length),new tt(t.subarray(e,n))),xt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Rt=(t,e,n)=>{var r=new w(e||xt[t]);if(r.code=t,w.captureStackTrace&&w.captureStackTrace(r,Rt),!n)throw r;return r},Ct=(t,e,n,r)=>{var s=t.length,o=r?r.length:0;if(!s||e.f&&!e.o)return n||new tt(0);var i=!n,c=i||2!=e.i,f=e.i;i&&(n=new tt(3*s));var u=t=>{var e=n.length;if(t>e){var r=new tt(a.max(2*e,t));r.set(n),n=r}},l=e.f||0,w=e.p||0,d=e.b||0,h=e.o,p=e.d,m=e.l,y=e.n,g=8*s;do{if(!h){l=vt(t,w,1);var b=vt(t,w+1,3);if(w+=3,!b){var v=t[(U=kt(w)+4)-4]|t[U-3]<<8,S=U+v;if(S>s){f&&Rt(0);break}c&&u(d+v),n.set(t.subarray(U,S),d),e.b=d+=v,e.p=w=8*S,e.f=l;continue}if(1==b)h=yt,p=gt,m=9,y=5;else if(2==b){var k=vt(t,w,31)+257,z=vt(t,w+10,15)+4,x=k+vt(t,w+5,31)+1;w+=14;for(var R=new tt(x),C=new tt(19),D=0;z>D;++D)C[ot[D]]=vt(t,w+3*D,7);w+=3*z;var F=bt(C),A=(1<<F)-1,T=ht(C,F,1);for(D=0;x>D;){var U,E=T[vt(t,w,A)];if(w+=15&E,16>(U=E>>4))R[D++]=U;else{var W=0,I=0;for(16==U?(I=3+vt(t,w,3),w+=2,W=R[D-1]):17==U?(I=3+vt(t,w,7),w+=3):18==U&&(I=11+vt(t,w,127),w+=7);I--;)R[D++]=W}}var M=R.subarray(0,k),O=R.subarray(k);m=bt(M),y=bt(O),h=ht(M,m,1),p=ht(O,y,1)}else Rt(1);if(w>g){f&&Rt(0);break}}c&&u(d+131072);for(var P=(1<<m)-1,L=(1<<y)-1,H=w;;H=w){var B=(W=h[St(t,w)&P])>>4;if((w+=15&W)>g){f&&Rt(0);break}if(W||Rt(2),256>B)n[d++]=B;else{if(256==B){H=w,h=null;break}var V=B-254;if(B>264){var Z=rt[D=B-257];V=vt(t,w,(1<<Z)-1)+ct[D],w+=Z}var q=p[St(t,w)&L],N=q>>4;if(q||Rt(3),w+=15&q,O=ut[N],N>3&&(Z=st[N],O+=St(t,w)&(1<<Z)-1,w+=Z),w>g){f&&Rt(0);break}c&&u(d+131072);var _=d+V;if(O>d){var j=o-O,K=a.min(O,_);for(0>j+d&&Rt(3);K>d;++d)n[d]=r[j+d]}for(;_>d;++d)n[d]=n[d-O]}}e.o=h,e.p=H,e.b=d,e.f=l,h&&(l=1,e.l=m,e.d=p,e.n=y)}while(!l);return d!=n.length&&i?zt(n,0,d):n.subarray(0,d)},Dt=new tt(0),Ft=function(){function t(t,e){"function"==typeof t&&(e=t,t={}),this.h=e;var n=t&&t.m&&t.m.subarray(-32768);this.s={i:0,b:n?n.length:0},this.v=new tt(32768),this.p=new tt(0),n&&this.v.set(n)}return t.prototype.e=function(t){if(this.h||Rt(5),this.d&&Rt(4),this.p.length){if(t.length){var e=new tt(this.p.length+t.length);e.set(this.p),e.set(t,this.p.length),this.p=e}}else this.p=t},t.prototype.c=function(t){this.s.i=+(this.d=t||!1);var e=this.s.b,n=Ct(this.p,this.s,this.v);this.h(zt(n,e,this.s.b),this.d),this.v=zt(n,this.s.b-32768),this.s.b=this.v.length,this.p=zt(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(t,e){this.e(t),this.c(e)},t}(),At=void 0!==v&&new v;try{At.decode(Dt,{stream:!0})}catch(t){}class Tt extends z{constructor(t){super({start(e){t.h=t=>{t.length&&e.enqueue(t)}},transform(e){t.push(e)},flush(){t.push(new d(0),!0)}})}}const Ut=new c,Et=new c;function Wt(t){return Et.get(t)}const It=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;It[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const n=It[e-1][t];It[e][t]=n>>>8^It[0][255&n]}const[Mt,Ot,Pt,Lt,Ht,Bt,Vt,Zt]=It;class qt{constructor(t){this.S=t||-1}append(t){let e=0|this.S;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const s=new m(t.buffer,t.byteOffset,n),o=n-8;for(;o>=r;r+=8){const t=e^s.getInt32(r,!0),n=s.getInt32(r+4,!0);e=Zt[255&t]^Vt[t>>>8&255]^Bt[t>>>16&255]^Ht[t>>>24&255]^Lt[255&n]^Pt[n>>>8&255]^Ot[n>>>16&255]^Mt[n>>>24&255]}}for(;n>r;r++)e=e>>>8^Mt[255&(e^t[r])];this.S=e}get(){return~this.S}}class Nt extends z{constructor(){let t;const e=new qt;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function _t(t,e){const n=new d(t.length+e.length);return n.set(t),n.set(e,t.length),n}function jt(t){return new m(t.buffer,t.byteOffset,t.byteLength)}const Kt={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=Kt.R(n);return 32===r?t.concat(e):Kt.C(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+Kt.R(n)},D(t,e){if(32*t.length<e)return t;const n=(t=t.slice(0,a.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=Kt.F(e,t[n-1]&2147483648>>e-1,1)),t},F:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,R:t=>a.round(t/1099511627776)||32,C(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let s=0;s<t.length;s++)r.push(n|t[s]>>>e),n=t[s]<<32-e;const s=t.length?t[t.length-1]:0,o=Kt.R(s);return r.push(Kt.F(e+o&31,e+o>32?n:r.pop(),1)),r}},Gt={bytes:{A(t){const e=Kt.bitLength(t)/8,n=new d(e);let r;for(let s=0;e>s;s++)3&s||(r=t[s/4]),n[s]=r>>>24,r<<=8;return n},T(t){const e=[];let n,r=0;for(n=0;n<t.length;n++)r=r<<8|t[n],3&~n||(e.push(r),r=0);return 3&n&&e.push(Kt.F(8*(3&n),r)),e}}},Xt=class{constructor(t){const e=this;e.blockSize=512,e.U=[1732584193,4023233417,2562383102,271733878,3285377520],e.W=[1518500249,1859775393,2400959708,3395469782],t?(e.I=t.I.slice(0),e.M=t.M.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.I=t.U.slice(0),t.M=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=Gt.P.T(t));const n=e.M=Kt.concat(e.M,t),r=e.O,s=e.O=r+Kt.bitLength(t);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const o=new p(n);let a=0;for(let t=e.blockSize+r-(e.blockSize+r&e.blockSize-1);s>=t;t+=e.blockSize)e.L(o.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),e}H(){const t=this;let e=t.M;const n=t.I;e=Kt.concat(e,[Kt.F(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(a.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.L(e.splice(0,16));return t.reset(),n}B(t,e,n,r){return t>19?t>39?t>59?t>79?void 0:e^n^r:e&n|e&r|n&r:e^n^r:e&n|~e&r}V(t,e){return e<<t|e>>>32-t}L(t){const n=this,r=n.I,s=e(80);for(let e=0;16>e;e++)s[e]=t[e];let o=r[0],i=r[1],c=r[2],f=r[3],u=r[4];for(let t=0;79>=t;t++){16>t||(s[t]=n.V(1,s[t-3]^s[t-8]^s[t-14]^s[t-16]));const e=n.V(5,o)+n.B(t,i,c,f)+u+s[t]+n.W[a.floor(t/20)]|0;u=f,f=c,c=n.V(30,i),i=o,o=e}r[0]=r[0]+o|0,r[1]=r[1]+i|0,r[2]=r[2]+c|0,r[3]=r[3]+f|0,r[4]=r[4]+u|0}},Jt={importKey:t=>new Jt.Z(Gt.bytes.T(t)),N(t,e,n,r){if(n=n||1e4,0>r||0>n)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let o,a,i,c,f;const u=new ArrayBuffer(s),l=new m(u);let d=0;const h=Kt;for(e=Gt.bytes.T(e),f=1;(s||1)>d;f++){for(o=a=t.encrypt(h.concat(e,[f])),i=1;n>i;i++)for(a=t.encrypt(a),c=0;c<a.length;c++)o[c]^=a[c];for(i=0;(s||1)>d&&i<o.length;i++)l.setInt32(d,o[i]),d+=4}return u.slice(0,r/8)},Z:class{constructor(t){const e=this,n=e._=Xt,r=[[],[]];e.j=[new n,new n];const s=e.j[0].blockSize/32;t.length>s&&(t=(new n).update(t).H());for(let e=0;s>e;e++)r[0][e]=909522486^t[e],r[1][e]=1549556828^t[e];e.j[0].update(r[0]),e.j[1].update(r[1]),e.K=new n(e.j[0])}reset(){const t=this;t.K=new t._(t.j[0]),t.G=!1}update(t){this.G=!0,this.K.update(t)}digest(){const t=this,e=t.K.H(),n=new t._(t.j[1]).update(e).H();return t.reset(),n}encrypt(t){if(this.G)throw new w("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Qt=typeof S!=q&&typeof S.getRandomValues==N,Yt="Invalid password",$t="Invalid signature",te=$t,ee="zipjs-abort-check-password";function ne(t){if(Qt)return S.getRandomValues(t);throw new w("Crypto API not supported")}const re=16,se={name:"PBKDF2"},oe=n.assign({hash:{name:"HMAC"}},se),ae=n.assign({iterations:1e3,hash:{name:"SHA-1"}},se),ie=["deriveBits"],ce=[8,12,16],fe=[16,24,32],ue=10,le=[0,0,0,0],we=typeof S!=q,de=we&&S.subtle,he=we&&typeof de!=q,pe=Gt.bytes,me=class{constructor(t){const e=this;e.X=[[[],[],[],[],[]],[[],[],[],[],[]]],e.X[0][0][0]||e.J();const n=e.X[0][4],r=e.X[1],s=t.length;let o,a,i,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(e.W=[a=t.slice(0),i=[]],o=s;4*s+28>o;o++){let t=a[o-1];(o%s===0||8===s&&o%s===4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],o%s===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),a[o]=a[o-s]^t}for(let t=0;o;t++,o--){const e=a[3&t?o:o-4];i[t]=4>=o||4>t?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this.Y(t,0)}decrypt(t){return this.Y(t,1)}J(){const t=this.X[0],e=this.X[1],n=t[4],r=e[4],s=[],o=[];let a,i,c,f;for(let t=0;256>t;t++)o[(s[t]=t<<1^283*(t>>7))^t]=t;for(let u=a=0;!n[u];u^=i||1,a=o[a]||1){let o=a^a<<1^a<<2^a<<3^a<<4;o=o>>8^255&o^99,n[u]=o,r[o]=u,f=s[c=s[i=s[u]]];let l=16843009*f^65537*c^257*i^16843008*u,w=257*s[o]^16843008*o;for(let n=0;4>n;n++)t[n][u]=w=w<<24^w>>>8,e[n][o]=l=l<<24^l>>>8}for(let n=0;5>n;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}Y(t,e){if(4!==t.length)throw new w("invalid aes block size");const n=this.W[e],r=n.length/4-2,s=[0,0,0,0],o=this.X[e],a=o[0],i=o[1],c=o[2],f=o[3],u=o[4];let l,d,h,p=t[0]^n[0],m=t[e?3:1]^n[1],y=t[2]^n[2],g=t[e?1:3]^n[3],b=4;for(let t=0;r>t;t++)l=a[p>>>24]^i[m>>16&255]^c[y>>8&255]^f[255&g]^n[b],d=a[m>>>24]^i[y>>16&255]^c[g>>8&255]^f[255&p]^n[b+1],h=a[y>>>24]^i[g>>16&255]^c[p>>8&255]^f[255&m]^n[b+2],g=a[g>>>24]^i[p>>16&255]^c[m>>8&255]^f[255&y]^n[b+3],b+=4,p=l,m=d,y=h;for(let t=0;4>t;t++)s[e?3&-t:t]=u[p>>>24]<<24^u[m>>16&255]<<16^u[y>>8&255]<<8^u[255&g]^n[b++],l=p,p=m,m=y,y=g,g=l;return s}},ye=class{constructor(t,e){this.$=t,this.et=e,this.nt=e}reset(){this.nt=this.et}update(t){return this.st(this.$,t,this.nt)}ot(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}it(t){0===(t[0]=this.ot(t[0]))&&(t[1]=this.ot(t[1]))}st(t,e,n){let r;if(!(r=e.length))return[];const s=Kt.bitLength(e);for(let s=0;r>s;s+=4){this.it(n);const r=t.encrypt(n);e[s]^=r[0],e[s+1]^=r[1],e[s+2]^=r[2],e[s+3]^=r[3]}return Kt.D(e,s)}},ge=Jt.Z;let be=we&&he&&typeof de.importKey==N,ve=we&&he&&typeof de.deriveBits==N;class Se extends z{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){ze(this,t,e,n)},async transform(t,e){const n=this,{password:s,strength:o,ct:a,ready:i}=n;s?(await(async(t,e,n,r)=>{const s=await Re(t,e,n,De(r,0,ce[e])),o=De(r,ce[e]);if(s[0]!=o[0]||s[1]!=o[1])throw new w(Yt)})(n,o,s,De(t,0,ce[o]+2)),t=De(t,ce[o]+2),r?e.error(new w(ee)):a()):await i;const c=new d(t.length-ue-(t.length-ue)%re);e.enqueue(xe(n,t,c,0,ue,!0))},async flush(t){const{ft:e,ut:n,pending:r,ready:o}=this;if(n&&e){await o;const a=De(r,0,r.length-ue),i=De(r,r.length-ue);let c=_;if(a.length){const t=Ae(pe,a);n.update(t);const r=e.update(t);c=Fe(pe,r)}const f=De(Fe(pe,n.digest()),0,ue);let u=r.length<ue?1:0;for(let t=0;ue>t;t++)u|=f[t]^i[t];if(u&&s)throw new w(te);t.enqueue(c)}}})}}class ke extends z{constructor({password:t,rawPassword:e,encryptionStrength:n}){super({start(){ze(this,t,e,n)},async transform(t,e){const n=this,{password:r,strength:s,ct:o,ready:a}=n;let i=_;r?(i=await(async(t,e,n)=>{const r=ne(new d(ce[e]));return _t(r,await Re(t,e,n,r))})(n,s,r),o()):await a;const c=new d(i.length+t.length-t.length%re);c.set(i,0),e.enqueue(xe(n,t,c,i.length,0))},async flush(t){const{ft:e,ut:n,pending:r,ready:s}=this;if(n&&e){await s;let o=_;if(r.length){const t=e.update(Ae(pe,r));n.update(t),o=Fe(pe,t)}const a=Fe(pe,n.digest()).slice(0,ue);t.enqueue(_t(o,a))}}})}}function ze(t,e,r,s){n.assign(t,{ready:new g(e=>t.ct=e),password:Ce(e,r),strength:s-1,pending:_})}function xe(t,e,n,r,s,o){const{ft:a,ut:i,pending:c}=t;c.length&&(e=_t(c,e));const f=e.length-s;let u;for(n=((t,e)=>{if(e&&e>t.length){const n=t;(t=new d(e)).set(n,0)}return t})(n,r+(f-f%re)),u=0;f-re>=u;u+=re){const t=Ae(pe,De(e,u,u+re));o&&i.update(t);const s=a.update(t);o||i.update(s),n.set(Fe(pe,s),u+r)}return t.pending=De(e,u),n}async function Re(t,r,s,o){t.password=null;const a=await(async(t,e,n,r,s)=>{if(!be)return Jt.importKey(e);try{return await de.importKey("raw",e,n,!1,s)}catch{return be=!1,Jt.importKey(e)}})(0,s,oe,0,ie),i=await(async(t,e,n)=>{if(!ve)return Jt.N(e,t.salt,ae.iterations,n);try{return await de.deriveBits(t,e,n)}catch{return ve=!1,Jt.N(e,t.salt,ae.iterations,n)}})(n.assign({salt:o},ae),a,8*(2*fe[r]+2)),c=new d(i),f=Ae(pe,De(c,0,fe[r])),u=Ae(pe,De(c,fe[r],2*fe[r])),l=De(c,2*fe[r]);return n.assign(t,{keys:{key:f,lt:u,passwordVerification:l},ft:new ye(new me(f),e.from(le)),ut:new ge(u)}),l}function Ce(t,e){return e===Z?(t=>{if(typeof b==q){const e=new d((t=unescape(encodeURIComponent(t))).length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new b).encode(t)})(t):e}function De(t,e,n){return t.subarray(e,n)}function Fe(t,e){return t.A(e)}function Ae(t,e){return t.T(e)}class Te extends z{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){Ee(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=We(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new w(Yt);t=t.subarray(12)}r?e.error(new w(ee)):e.enqueue(We(n,t))}})}}class Ue extends z{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){Ee(this,t,e,n)},transform(t,e){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=ne(new d(12));e[11]=n.passwordVerification,r=new d(t.length+e.length),r.set(Ie(n,e),0),s=12}else r=new d(t.length),s=0;r.set(Ie(n,t),s),e.enqueue(r)}})}}function Ee(t,e,r,s){n.assign(t,{password:e,rawPassword:r,passwordVerification:s}),((t,e,r)=>{const s=[305419896,591751049,878082192];if(n.assign(t,{keys:s,wt:new qt(s[0]),ht:new qt(s[2])}),r)for(let e=0;e<r.length;e++)Me(t,r[e]);else for(let n=0;n<e.length;n++)Me(t,e.charCodeAt(n))})(t,e,r)}function We(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=Oe(t)^e[r],Me(t,n[r]);return n}function Ie(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=Oe(t)^e[r],Me(t,e[r]);return n}function Me(t,e){let[,n]=t.keys;t.wt.append([e]);const r=~t.wt.get();n=Le(a.imul(Le(n+Pe(r)),134775813)+1),t.ht.append([n>>>24]);const s=~t.ht.get();t.keys=[r,n,s]}function Oe(t){const e=2|t.keys[2];return Pe(a.imul(e,1^e)>>>8)}function Pe(t){return 255&t}function Le(t){return 4294967295&t}function He(t){if(t instanceof x)return t;const e=t.getReader();return new x({async pull(t){const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}function Be(t,e){if(t=He(t),typeof y.prototype.stream!=N||new y([]).stream()instanceof x){const n={};return e&&(n.headers=[["Content-Type",e]]),new u(t,n).blob()}const n=[];return t.pipeTo(new R({write(t){n.push(t)}})).then(()=>new y(n,e?{type:e}:{}))}function Ve(t){if(t instanceof R)return t;const e=t.getWriter();return new R({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const Ze="Invalid uncompressed size",qe=$t,Ne="deflate-raw",_e="gzip",je=[31,139,8];class Ke extends z{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:o,useCompressionStream:a,zipCrypto:i,computeCrc32:c,level:f,deflate64:u,format:l,compressionMethod:w}=t,d=this;let h,p,y,g=super.readable;const b=l&&Wt(l),v=c&&s&&!u&&!b&&(!o||i)&&!(!a||!r);if(o&&!i||!c||v||(h=new Nt,g=tn(g,h)),s)if(b)g=en(g,Ye(b.CompressionStream,l,{level:f,chunkSize:e,compressionMethod:w}));else if(v)y=new Ge,g=en(g,new r(_e)),g=tn(g,y);else try{g=$e(g,a,{level:f,chunkSize:e},r,n)}catch(t){let e;try{e=new r(_e)}catch{throw t}g=en(g,e),g=tn(g,new Ge)}o&&(i?g=tn(g,new Ue(t)):(p=new ke(t),g=tn(g,p))),Qe(d,g,()=>{o&&!i||!c||(d.crc32=v?y.crc32:new m(h.value.buffer).getUint32(0))})}}class Ge extends z{constructor(){let t,e=10,n=new d(0);super({transform(t,r){if(e){const n=a.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const s=n.length+t.length;if(8>=s)return void(n=_t(n,t));const o=s-8,i=a.min(o,n.length);r.enqueue(_t(n.subarray(0,i),t.subarray(0,o-i))),n=_t(n.subarray(i),t.subarray(o-i))},flush(){const e=jt(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Xe extends z{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:o,checkCrc32:a,crc32:i,compressed:c,useCompressionStream:f,deflate64:u,format:l,compressionMethod:h,rawBitFlag:p,outputSize:y}=t;let b,v,S=super.readable;if(o&&(s?S=tn(S,new Te(t)):(v=new Se(t),S=tn(S,v))),c){const t=l&&Wt(l);if(t)S=en(S,Ye(t.DecompressionStream,l,{chunkSize:e,compressionMethod:h,rawBitFlag:p,uncompressedSize:y}));else try{S=$e(S,f,{chunkSize:e,deflate64:u},r,n)}catch(t){if(u||y===Z)throw t;let e;try{e=new r(_e)}catch{throw t}S=((t,e,n)=>{const r=new qt;let s,o,a,i=0,c=!1;const f=new g((t,e)=>{o=t,a=e});f.catch(()=>{}),n||o();const u=new z({start(t){const e=new d(10);e.set(je),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,h();try{await f}finally{p()}const e=new d(8),s=jt(e);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),t.enqueue(e)},cancel(t){a(t)}}),l=new z({transform(t,e){r.append(t),i+=t.length,n>i?c&&h():o(),e.enqueue(t)},cancel(t){a(t)}});return t=tn(t,u),tn(t=en(t,e),l);function h(){p(),s=T(()=>a(new w(Ze)),5e3)}function p(){U(s)}})(S,e,y)}S=(t=>{const e=t.getReader();return new x({async pull(t){let n;try{n=await e.read()}catch(t){if(t&&t.message)throw t;const e=new w("Invalid compressed data");throw e.cause=t,e}const{value:r,done:s}=n;s?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})})(S)}a&&(b=new Nt,S=tn(S,b)),Qe(this,S,()=>{if(a){const t=new m(b.value.buffer);if(i!=t.getUint32(0,!1))throw new w(qe)}})}}const Je=new c;function Qe(t,e,r){e=tn(e,new z({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function Ye(t,e,n){if(!t)throw new w("Compression method not supported");return new t(e,n)}function $e(t,e,n,r,s){const o=e&&r?r:s||r,a=n.deflate64?"deflate64-raw":Ne;let i;try{i=new o(a,n)}catch(t){if(!e||!s||o==s)throw t;i=new s(a,n)}return en(t,i)}function tn(t,e){return He(t).pipeThrough(e)}function en(t,e){const n=e.writable.getWriter(),r=t.getReader();return(async()=>{try{for(;;){await n.ready;const t=await r.read();if(t.done){await n.close();break}await n.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(n,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(r,t)}})(),e.readable}const nn="deflate",rn="inflate";class sn extends z{constructor(t,e){super({});const r=this,{codecType:s}=t;let o;s.startsWith(nn)?o=Ke:s.startsWith(rn)&&(o=Xe),r.outputSize=0;let a=0;const i=new o(t,e),c=super.readable,f=new z({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){n.assign(r,{inputSize:a})}}),u=new z({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==Z&&r.outputSize>t.outputSize))throw new w(Ze)},flush(){const{crc32:t}=i;n.assign(r,{crc32:t,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(f).pipeThrough(i).pipeThrough(u)})}}class on extends z{constructor(t){const e=[];let n=0;function r(){const r=new d(t);let s=0;for(;t>s;){const n=e[0],o=t-s;n.length>o?(r.set(n.subarray(0,o),s),e[0]=n.subarray(o),s+=o):(r.set(n,s),s+=n.length,e.shift())}return n-=t,r}s.isFinite(t)&&t>=1||(t=65536),super({transform(s,o){for(e.push(s),n+=s.length;n>t;)o.enqueue(r())},flush(t){n&&t.enqueue(((t,e)=>{const n=new d(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n})(e,n))}})}}class an{constructor(t,{readable:e,writable:r},{options:s,config:o,yt:a,useWebWorkers:i,transferStreams:f,workerURI:u,createWorker:l},w){const{signal:d}=a;return n.assign(t,{gt:!0,bt:(t.bt||0)+1,readable:e.pipeThrough(new on(Q(o))).pipeThrough(new cn(a),{signal:d}),writable:r,options:n.assign({},s),workerURI:u,createWorker:l,transferStreams:f,terminate:()=>new g(e=>{const{vt:n,gt:r}=t;n?(r?t.St=e:(n.terminate(),e()),t.kt=null):e()}),zt(){if(t.gt){const{St:e}=t;e&&(t.St=null,t.xt=!0,t.vt.terminate(),e()),t.gt=!1,w(t)}}}),((t,e)=>({run:()=>(async({options:t,readable:e,writable:n,zt:r},s)=>{let o;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(nn),n=e?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=e?s.CompressionStream:s.DecompressionStream;if(t.useCompressionStream){if(n&&n.Rt&&!((t,e)=>{if(!t)return!1;let n=Je.get(t);n||(n=new c,Je.set(t,n));let r=n.get(e);if(r===Z){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r})(r,Ne))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.Rt||(t.useCompressionStream=!0)}}o=new sn(t,s),await e.pipeThrough(o).pipeThrough(new on(Q(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:a,outputSize:i}=o;return{crc32:r,inputSize:a,outputSize:i}}catch(t){throw o&&(t.outputSize=o.outputSize),t}finally{r()}})(t,e)}))(t,o)}}class cn extends z{constructor({onstart:t,onprogress:e,size:n,onend:r}){let s=0;super({async start(){t&&await fn(t,n)},async transform(t,r){s+=t.length,e&&await fn(e,s,n),r.enqueue(t)},async flush(){r&&await fn(r,s)}})}}async function fn(t,...e){try{await t(...e)}catch{}}let un=[];const ln=[];let wn,dn,hn=0;function pn(){!wn&&ln.length&&s.isFinite(dn)&&dn>=0&&(wn=T(yn,dn))}function mn(){wn&&(U(wn),wn=null)}function yn(){if(wn=null,ln.length){const[{resolve:t,stream:e,Ct:r}]=ln.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:Z,createWorker:Z});t(new an({},e,s,gn)),pn()}}function gn(){mn(),pn()}function bn(t){const{Dt:e}=t;e&&(U(e),t.Dt=null)}const vn="HTTP error ",Sn="HTTP Range not supported",kn="HTTP resource changed",zn="Content-Range",xn="Range",Rn="GET",Cn="bytes",Dn=16777216,Fn="writable",An=Symbol();class Tn{constructor(){this.size=0}init(){this.initialized=!0}}class Un extends Tn{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=Q(J())}={}){const r=this;let s=0;return new x({async pull(o){const i=e===Z?n:a.min(n,e-s),c=await ar(r,t+s,i);o.enqueue(c),s+n>e||e===Z&&!c.length&&i?o.close():s+=n}})}}class En extends Tn{constructor(){super();const t=this,e=new R({write(e){if(!t.initialized)throw new w("Writer not initialized");return t.writeUint8Array((n=e).byteOffset||n.byteLength!=n.buffer.byteLength?new d(n):n);var n}});n.defineProperty(t,Fn,{get:()=>e})}writeUint8Array(){}}let Wn,In;class Mn extends Un{constructor(t){super(),n.assign(this,{blob:t,size:t.size}),In||(In=(async()=>{try{const t=new y([new d(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();Wn=1==e}catch{Wn=!1}})())}createReadable(t){const{blob:e,size:n}=this,{offset:r=0,size:s=n-r}=t||{};return r||n>s?Wn?He(e.slice(r,r+s).stream()):super.createReadable(t):He(e.stream())}async readUint8Array(t,e){const n=this,r=t+e,s=t||r<n.size?n.blob.slice(t,r):n.blob;let o=await s.arrayBuffer();return o.byteLength>e&&(o=o.slice(t,r)),new d(o)}}class On extends Tn{constructor(t){super();const e=this,r=new z;n.defineProperty(e,Fn,{get:()=>r.writable}),e.blob=Be(r.readable,t),e.blob.catch(()=>{})}getData(){return this.blob}}class Pn extends Un{constructor(t,e){super(),Hn(this,t,e)}async init(){await Bn(this,Yn,Gn),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:o}=e;if((n||r)&&o!==Z){const{offset:n=0,size:r=o-n}=t||{};if(r>0&&o>n)return((t,e,n)=>{let r,o=e,i=0,c=n;return new x({start:()=>f(),async pull(t){r||await f();const{value:e,done:n}=await r.read();if(n)throw new w(Sn);const s=e.length>i?e.subarray(0,i):e;i-=s.length,c-=s.length,s.length&&t.enqueue(s),i||(await(async()=>{const t=r;r=Z,await t.cancel()})(),c||t.close())},cancel:t=>r&&r.cancel(t)});async function f(){const e=a.min(t.maximumRangeSize,c),n=await Yn(Rn,t,jn(t,o,e));if(206!=n.status)throw new w(Sn);const f=n.headers.get(zn);if(f){const t=s(f.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=o)throw new w(Sn)}_n(t,n),Nn(t,n),o+=e,i=e,r=n.body.getReader()}})(e,n,a.min(r,o-n))}return super.createReadable(t)}readUint8Array(t,e){return Vn(this,t,e,Yn,Gn)}}class Ln extends Un{constructor(t,e){super(),Hn(this,t,e)}async init(){await Bn(this,$n,Xn),super.init()}readUint8Array(t,e){return Vn(this,t,e,$n,Xn)}}function Hn(t,e,r){const{preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:f=Dn,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(t,{url:e,options:r,preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c,maximumRangeSize:f,fetch:u})}async function Bn(t,e,n){const{url:r,preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=J(),{protocol:n}=new l(t,e);return"http:"==n||"https:"==n})(r)&&(o||a)&&(typeof s==q||s)){const r=await e(Rn,t,jn(t,i?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==Cn))throw new w(Sn);{if(i){const e=new d(await r.arrayBuffer());206==r.status&&e.length==H&&(t.Ft=e)}Nn(t,r);const s=Zn(r);s===Z?await Qn(t,e,n):t.size=s}}else await Qn(t,e,n)}async function Vn(t,e,n,r,o){const{useRangeHeader:a,forceRangeRequests:i,Ft:c,size:f,options:u}=t;if(a||i){if(c&&e==f-H&&n==H)return c;if(f>e&&0!==n){e+n>f&&(n=f-e);const o=await r(Rn,t,jn(t,e,n));if(206!=o.status)throw new w(Sn);const a=o.headers.get(zn);if(a){const t=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(t)&&t!=e)throw new w(Sn)}_n(t,o),Nn(t,o);const i=new d(await o.arrayBuffer());if(i.length!=n)throw new w(Sn);return i}return _}{const{data:r}=t;return r||await o(t,u),t.data.subarray(e,e+n)}}function Zn(t){const e=t.headers.get(zn);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=s(t);if(!s.isNaN(e))return e}}}function qn({headers:t}){return{At:t.get("Etag")||Z,lastModified:t.get("Last-Modified")||Z}}function Nn(t,e){const{checkResourceChanges:n,Tt:r}=t;n&&!r&&206==e.status&&(t.Tt=qn(e))}function _n(t,e){const{checkResourceChanges:r,Tt:s,size:o}=t;if(r){const t=Zn(e);if(t!==Z&&o!==Z&&t!=o)throw new w(kn);if(s){const t=qn(e);if(n.entries(s).some(([e,n])=>n!==Z&&t[e]!==Z&&n!=t[e]))throw new w(kn)}}}function jn(t,e=0,r=1){return n.assign({},Kn(t),{[xn]:Cn+"="+(0>e?e:e+"-"+(e+r-1))})}function Kn({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?n.fromEntries(e):e}async function Gn(t){await Jn(t,Yn)}async function Xn(t){await Jn(t,$n)}async function Jn(t,e){const n=await e(Rn,t,Kn(t));t.data=new d(await n.arrayBuffer()),t.size=t.data.length}async function Qn(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,Kn(t)),o=r.headers.get("Content-Length");o&&!r.headers.get("Content-Encoding")?t.size=s(o):await n(t,t.options)}}async function Yn(t,{fetch:e=fetch,options:r,url:s},o){const a=await e(s,n.assign({},r,{method:t,headers:o}));if(400>a.status)return a;throw 416==a.status?new w(Sn):new w(vn+(a.statusText||a.status))}function $n(t,{url:e},r){return new g((s,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(t)})}else o(416==a.status?new w(Sn):new w(vn+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new w("Network error")),!1),a.open(t,e),r)for(const t of n.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class tr extends Un{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Ln(t,e):new Pn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class er extends Un{constructor(t){super(),this.Ut=t}async init(){const t=this,{Ut:e}=t;t.Et=0,await g.all(e.map(t=>or(t))),t.Wt=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}It(t){const{Wt:e,size:n}=this,r=e[t];return r===Z?n:r}async readUint8Array(t,e){const n=this,{Ut:r}=this;let s,o=0,i=t;for(;r[o]&&i>=r[o].size;)i-=r[o].size,o++;const c=r[o];if(c){const r=c.size;if(i+e>r){const o=r-i;s=_t(await ar(c,i,o),await n.readUint8Array(t+o,e-o))}else s=await ar(c,i,e)}else s=_;return n.Et=a.max(o,n.Et),s}}class nr extends Tn{constructor(t,e=4294967295){super();const r=this;let s,o,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new R({async write(e){if(e===An)return void(a&&await f());const{availableSize:n}=r;if(a)e.length<n?await c(e):(await c(e.subarray(0,n)),await f(),e.length>n&&await this.write(e.subarray(n)));else{const{value:n,done:i}=await t.next();if(i&&!n)throw new w("Writer iterator completed too soon");s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await or(s),o=n.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await u())},async abort(t){a&&await a.abort(t)}});async function c(t){const e=t.length;e&&(await a.ready,await a.write(t),s.size+=e,r.availableSize-=e)}async function f(){await u(),r.diskOffset+=s.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function u(){await a.close()}n.defineProperty(r,Fn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(An)}finally{t.releaseLock()}}}class rr{constructor(t){return e.isArray(t)&&(t=new er(t)),(t instanceof x||typeof t.getReader==N)&&(t={readable:He(t)}),t}}class sr{constructor(t){return t.writable===Z&&typeof t.next==N&&(t=new nr(t)),(t instanceof R||typeof t.getWriter==N)&&(t={writable:Ve(t)}),t.size===Z&&(t.size=0),t}}async function or(t,e){if(!t.init||t.initialized)return g.resolve();await t.init(e)}function ar(t,e,n){return t.readUint8Array(e,n)}const ir="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function cr(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let n=0;n<t.length;n++)e+=ir[t[n]];return e}})(t):new v(e,{ignoreBOM:!0}).decode(t)}const fr="filename",ur="rawFilename",lr="comment",wr="rawComment",dr="uncompressedSize",hr="compressedSize",pr="offset",mr="diskNumberStart",yr="lastModDate",gr="rawLastModDate",br="lastAccessDate",vr="rawLastAccessDate",Sr="creationDate",kr="rawCreationDate",zr=[fr,ur,dr,hr,yr,gr,lr,wr,br,vr,Sr,kr,pr,mr,"internalFileAttributes","externalFileAttributes","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","setuid","setgid","sticky","bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class xr{constructor(t){zr.forEach(e=>this[e]=t[e])}}const Rr="checkAmbiguity",Cr="strictness",Dr="strict",Fr="balanced",Ar="tolerant",Tr="File format is not recognized",Ur="Encryption method not supported",Er="Compression method not supported",Wr="Split zip file",Ir=/^[a-zA-Z]:/,Mr="utf-8",Or="cp437",Pr=[[dr,E],[hr,E],[pr,E],[mr,W]],Lr={[W]:{Mt:is,bytes:4},[E]:{Mt:cs,bytes:8}};class Hr{constructor(t,e,r){n.assign(this,{reader:t,config:e,options:r})}async getData(t,e,n,r={}){const o=this,{reader:a,index:i,offset:c,diskNumberStart:f,extraFieldAES:u,extraFieldZip64:d,compressionMethod:h,config:p,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:v,uncompressedSize:S,compressedSize:k}=o,{dataDescriptor:z}=m,x=e.localDirectory={},C=Kr(a,f)+c,D=await ar(a,C,30),F=jt(D);let A=ns(o,r,"password"),U=ns(o,r,"rawPassword");const E=ns(o,r,"passThrough");if(A=A&&A.length&&A,U=U&&U.length&&U,u&&99!=u.originalCompressionMethod)throw new w(Er);if(30>D.length||67324752!=is(F,0))throw new w("Local file header not found");Vr(x,F,4);const{extraFieldLength:W,filenameLength:I}=x,O=Xr(ns(o,r,Cr),ns(o,r,Rr))==Dr;let P=_;if(O&&(I||W)){const t=await ar(a,C+30,I+W);P=t.subarray(0,I),x.rawExtraField=t.subarray(I)}else x.rawExtraField=W?await ar(a,C+30+I,W):_;Zr(o,x,F,4,!0),O&&((t,e,n)=>{const{rawFilename:r}=t;(n.length!=r.length||n.some((t,e)=>t!=r[e]))&&es("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&es("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&es("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||es("mismatched local file header (crc32 or sizes)")})(o,x,P);const{lastAccessDate:L,creationDate:H}=x;L&&(e.lastAccessDate=L),H&&(e.creationDate=H);const B=o.encrypted&&x.encrypted&&!E,V=B&&!u;if(E||(e.zipCrypto=V),B&&!(64&~x.rawBitFlag))throw new w(Ur);const q=E?Z:(t=>Ut.get(t))(h);if(0!=h&&8!=h&&9!=h&&!q&&!E)throw new w(Er);if(B){if(!V&&(1>u.strength||u.strength>3))throw new w(Ur);if(!A&&!U)throw new w("File contains encrypted entry")}const j=C+30+I+W,K=k,G=He(a.createReadable({offset:j,size:K})),X=ns(o,r,"signal"),J=ns(o,r,"checkPasswordOnly");let Q=ns(o,r,"checkOverlappingEntry");const Y=ns(o,r,"checkOverlappingEntryOnly");Y&&(Q=!0);const{onstart:$,onprogress:tt,onend:et}=r,nt=9==h;let rt=ns(o,r,"useCompressionStream");nt&&(rt=!1);const st=ns(o,r,"checkCrc32"),ot=(st===Z?ns(o,r,"checkSignature"):st)&&!E&&(!B||V||u&&1==u.vendorVersion),at={options:{codecType:rn,password:A,rawPassword:U,zipCrypto:V,encryptionStrength:u&&u.strength,checkCrc32:ot,checkAuthenticationCode:ns(o,r,"checkAuthenticationCode"),passwordVerification:V&&(z?v>>>8&255:b>>>24&255),outputSize:E?k:S,crc32:b,compressed:0!=h&&!E,encrypted:B,useWebWorkers:ns(o,r,"useWebWorkers"),useCompressionStream:rt,transferStreams:ns(o,r,"transferStreams"),deflate64:nt,format:q?q.format:Z,codecURI:q?q.codecURI:Z,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:J},config:p,yt:{signal:X,size:K,onstart:$,onprogress:tt,onend:et}};let it,ct;Q&&await(async({reader:t,Ot:e,index:n,offset:r,crc32:s,compressedSize:o,uncompressedSize:a,Pt:i,dataDescriptor:c,extraFieldZip64:f,Lt:u})=>{let l=0;if(c&&(l=f?20:12),l){const n=await ar(t,i+o,l+4);if(n.length==l+4&&is(jt(n),0)==M){const t=is(jt(n),4);let r,i;f?(r=cs(jt(n),8),i=cs(jt(n),16)):(r=is(jt(n),8),i=is(jt(n),12)),(e.encrypted&&!e.zipCrypto||t==s)&&r==o&&i==a&&(l+=4)}}const d={start:r,end:i+o+l,Ot:e};for(const[t,e]of u)if(t!=n&&d.start<e.end&&e.start<d.end){const t=new w("Overlapping entry found");throw t.Ht=e.Ot,t}u.set(n,d)})({reader:a,Ot:e,index:i,offset:C,crc32:b,compressedSize:k,uncompressedSize:S,Pt:j,dataDescriptor:z||x.bitFlag.dataDescriptor,extraFieldZip64:d||x.extraFieldZip64,Lt:n});try{if(!Y){J&&(t=new R),t=new sr(t),await or(t,E?k:S),({writable:it}=t);const{outputSize:e}=await async function(t,e){const{options:n,config:r}=e,{transferStreams:o,useWebWorkers:a,useCompressionStream:i,compressed:c,checkCrc32:f,computeCrc32:u,encrypted:d,format:h,codecURI:p}=n,{workerURI:m,createWorker:y,maxWorkers:b}=r;h&&(p&&(n.codecURI=((t,e)=>{try{return new l(t,e).toString()}catch{return t}})(p,r.baseURI)),await(async(t,e)=>{!Et.has(t)&&e&&((t,e)=>{const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=N&&typeof r!=N)throw new w("Invalid codec module");Et.set(t,{CompressionStream:n,DecompressionStream:r})})(t,await(import(e)))})(h,n.codecURI)),e.transferStreams=!h&&(o||o===Z&&r.transferStreams);const v=!(c||f||u||d),S=h===Z||!!n.codecURI;return e.useWebWorkers=!v&&S&&(a||a===Z&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&m?m:Z,e.createWorker=e.useWebWorkers&&y?y:Z,n.useCompressionStream=i||i===Z&&r.useCompressionStream,(await(async()=>{const n=un.find(t=>!t.gt);if(n)return bn(n),new an(n,t,e,k);if(un.length<b){const n={Bt:hn};return hn++,un.push(n),new an(n,t,e,k)}return new g(n=>{ln.push({resolve:n,stream:t,Ct:e}),dn=r.workerStarvationTimeout,pn()})})()).run();function k(t){if(mn(),ln.length){const[{resolve:e,stream:n,Ct:r}]=ln.splice(0,1);e(new an(t,n,r,k)),pn()}else t.vt?(bn(t),((t,e)=>{const{config:n}=e,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(t.xt?t.xt=!1:t.Dt=T(async()=>{un=un.filter(e=>e!=t);try{await t.terminate()}catch{}},r))})(t,e)):un=un.filter(e=>e!=t)}}({readable:G,writable:it},at);if(t.size+=e,e!=(E?k:S))throw new w(Ze)}}catch(e){if(e.outputSize!==Z&&(t.size+=e.outputSize),!J||e.message!=ee)throw ct=e,e}finally{if(!ns(o,r,"preventClose")&&it&&!it.locked){const t=it.getWriter();if(ct)try{await t.abort(ct)}catch{}else await t.close()}}return J||Y?Z:t.getData?t.getData():it}}function Br(t){const e=a.min(t.byteLength,1024)-3;for(let n=0;e>n;n++)if(134630224==is(t,n))return!0;return!1}function Vr(t,e,r){const s=t.rawBitFlag=as(e,r+2),o=!(1&~s),a=is(e,r+6);n.assign(t,{encrypted:o,version:as(e,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:!(2048&~s)},rawLastModDate:a,lastModDate:rs(a),filenameLength:as(e,r+22),extraFieldLength:as(e,r+24)})}function Zr(t,e,r,s,o){const{rawExtraField:a}=e,f=e.extraField=new c,u=jt(a);let l=0;try{for(;l<a.length;){const t=as(u,l),e=as(u,l+2);f.set(t,{type:t,data:a.slice(l+4,l+4+e)}),l+=4+e}}catch{}const d=as(r,s+4);n.assign(e,{signature:is(r,s+10),crc32:is(r,s+10),compressedSize:is(r,s+14),uncompressedSize:is(r,s+18)});const h=f.get(1);h&&(((t,e)=>{e.zip64=!0;const n=jt(t.data),r=Pr.filter(([t,n])=>e[t]==n),s=r.reduce((t,[,e])=>t+Lr[e].bytes,0);if(t.data.length<s)throw new w("Zip64 extra field not found");for(let s=0,o=0;s<r.length;s++){const[a,i]=r[s],c=Lr[i];e[a]=t[a]=c.Mt(n,o),o+=c.bytes}})(h,e),e.extraFieldZip64=h);const p=f.get(28789);p&&(qr(p,fr,ur,e,t),e.extraFieldUnicodePath=p);const m=f.get(25461);m&&(qr(m,lr,wr,e,t),e.extraFieldUnicodeComment=m);const y=f.get(39169);y&&y.data.length>=7?(((t,e,r)=>{const s=jt(t.data),o=os(s,4);n.assign(t,{vendorVersion:os(s,0),vendorId:os(s,2),strength:o,originalCompressionMethod:r,compressionMethod:as(s,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=Z)})(y,e,d),e.extraFieldAES=y):e.compressionMethod=d;const g=f.get(13);g&&(Nr(g,e),e.extraFieldPkwareUnix=g);const b=f.get(22613);b&&(Nr(b,e),e.extraFieldUnixType1=b);const v=f.get(10);v&&(((t,e)=>{const r=jt(t.data);let s,o=4;try{for(;o<t.data.length&&!s;){const e=as(r,o),n=as(r,o+2);1==e&&(s=t.data.slice(o+4,o+4+n)),o+=4+n}}catch{}if(s&&24==s.length){const r=jt(s),o=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);n.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:i});const c={lastModDate:ss(o),lastAccessDate:ss(a),creationDate:ss(i)};n.assign(t,c),n.assign(e,c)}})(v,e),e.extraFieldNTFS=v);const S=f.get(30805);if(S)_r(S,e,!1),e.extraFieldUnix=S;else{const t=f.get(30837);t&&(_r(t,e,!0),e.extraFieldInfoZip=t)}const k=f.get(21589);k&&(((t,e,n)=>{if(!t.data.length)return;const r=jt(t.data),s=os(r,0),o=[],a=[];n?(1&~s||(o.push(yr),a.push(gr)),2&~s||(o.push(br),a.push(vr)),4&~s||(o.push(Sr),a.push(kr))):5>t.data.length||(o.push(yr),a.push(gr));let c=1;o.forEach((n,s)=>{if(t.data.length>=c+4){const o=is(r,c);e[n]=t[n]=new i(1e3*(0|o));const f=a[s];t[f]=o}c+=4})})(k,e,o),e.extraFieldExtendedTimestamp=k);const z=f.get(6534);z&&(e.extraFieldUSDZ=z)}function qr(t,e,r,s,o){if(5>t.data.length)return void(t.valid=!1);const a=jt(t.data),i=new qt;i.append(o[r]);const c=jt(new d(4));c.setUint32(0,i.get(),!0);const f=is(a,1);n.assign(t,{version:os(a,0),[e]:cr(t.data.subarray(5)),valid:!o.bitFlag.languageEncodingFlag&&f==is(c,0)}),t.valid&&(s[e]=t[e],s[e+"UTF8"]=!0)}function Nr(t,e){if(8>t.data.length)return;const r=jt(t.data),s={lastAccessDate:new i(1e3*is(r,0)),lastModDate:new i(1e3*is(r,4))};12>t.data.length||(s.uid=as(r,8),s.gid=as(r,10)),n.assign(t,s),n.assign(e,s)}function _r(t,e,r){try{const s=jt(t.data);let o,a;if(r){let e=0;const r=os(s,e++),i=os(s,e++);o=jr(t.data.subarray(e,e+i)),e+=i;const c=os(s,e++);a=jr(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:o,gid:a})}else 4>t.data.length||(o=as(s,0),a=as(s,2),n.assign(t,{uid:o,gid:a}));o!==Z&&(e.uid=o),a!==Z&&(e.gid=a)}catch{}}function jr(t){const e=new d(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Kr(t,e){return t.It?t.It(e):0}function Gr(t){return t===Dr||t===Fr||t===Ar}function Xr(t,e){if(t===Z)return e?Dr:Fr;if(!Gr(t))throw new w("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return t}function Jr(t,e){if(e==Ar)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Ir.test(t))||e==Dr&&(n.includes(".")||n.includes(""))}async function*Qr(t,e){const n=t.size-e,r=await ar(t,n,e),s=jt(r);for(let t=r.length-H;t>=0;t--)101010256==is(s,t)&&(yield[s,n,r,t,n+t])}function Yr(t,e,n){return{offset:n,buffer:t.slice(e,e+H).buffer}}async function $r(t,e,n,r,s,o,a){const i=as(e,r+10),c=is(e,r+12),f=is(e,r+16);if(i==W||c==E||f==E)return await ts(t,e,n,s-B,o,a)==L?2:0;if(!i&&!c)return 1;const u=as(e,r+6);for(const r of[s-c,Kr(t,u)+f])if(await ts(t,e,n,r,o,a)==O)return 2;return 0}async function ts(t,e,n,r,s,o){return 0>r||r+4>s?Z:n>r?o.count>0?(o.count--,is(jt(await ar(t,r,4)),0)):Z:is(e,r-n)}function es(t){const e=new w("Ambiguous archive");throw e.reason=t,e}function ns(t,e,n){return e[n]===Z?t.options[n]:e[n]}function rs(t){const e=(4294901760&t)>>16,n=t&W;return new i(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function ss(t){return new i(s(t/o(1e4)-o(116444736e5)))}function os(t,e){return t.getUint8(e)}function as(t,e){return t.getUint16(e,!0)}function is(t,e){return t.getUint32(e,!0)}function cs(t,e){return s(t.getBigUint64(e,!0))}(t=>{t=$(t);for(const e of G){const n=t[e];n!==Z&&(K[e]=n)}Y(t)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends Tt{constructor(t){(t=>{if("deflate-raw"!=t)throw new TypeError("Unsupported compression format: "+t)})(t),super(new Ft)}}}),t.BlobReader=Mn,t.BlobWriter=On,t.Data64URIWriter=class extends En{constructor(t){super(),n.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let n,s=e.pending;const o=e.pending.length;for(e.pending="",n=0;n<3*a.floor((o+t.length)/3)-o;n++)s+=r.fromCharCode(t[n]);for(;n<t.length;n++)e.pending+=r.fromCharCode(t[n]);s.length>2?e.data+=k(s):e.pending=s+e.pending}getData(){return this.data+k(this.pending)}},t.HttpRangeReader=class extends tr{constructor(t,e={}){super(t,n.assign({},e,{useRangeHeader:!0}))}},t.TextWriter=class extends On{constructor(t){super(t),n.assign(this,{encoding:t,Vt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Vt:e}=this,r=await super.getData();if(r.text&&e)return r.text();{const e=new FileReader;return new g((s,o)=>{n.assign(e,{onload:({target:t})=>s(t.result),onerror:()=>o(e.error)}),e.readAsText(r,t)})}}},t.ZipReader=class{constructor(t,e={}){n.assign(this,{reader:new rr(t),options:e,config:J(),Lt:new c})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;const{config:o}=e;if(await or(r),r.size!==Z&&r.readUint8Array||(r=new Mn(await Be(r.readable)),await or(r)),r.size<H)throw new w(Tr);const i=Xr(ns(e,t,Cr),ns(e,t,Rr)),c=i==Dr,u=i!=Ar,l=((t,e)=>{if(t!==Z){const e="string"==typeof(n=t)&&n.trim()?s(n):n;if("number"!=typeof e||s.isNaN(e)||0>e)throw new w("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return e}var n;return e==Dr?0:e==Ar?1/0:W})(ns(e,t,"maxAppendedDataSize"),i),d=((t,e)=>{if(t===Z)return e;if(!Gr(t))throw new w("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return t})(ns(e,t,"filenameValidation"),i),h=ns(e,t,"normalizeFilename"),{Zt:p,qt:m}=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,65557),o={count:64};let i,c,f=0;for await(const[n,a,u,l,w]of Qr(t,s)){const s=as(n,l+20);if(w+H+s==r){const s=await $r(t,n,a,l,w,r,o);if(2==s){if(i||(i=Yr(u,l,w)),f++,!e||f>1)break}else 1!=s||c||(c=Yr(u,l,w))}}return i||(i=c),i||(i=await(async(t,e,n)=>{const{size:r}=t,s=a.min(r,e==1/0?r:65557+e);let o,i;for await(const[e,a,c,f,u]of Qr(t,s)){const s=Yr(c,f,u);o||(o=s);const l=await $r(t,e,a,f,u,r,n);if(2==l)return s;1!=l||i||(i=s)}return i||o})(t,n,o)),{Zt:i,qt:f}})(r,u,l);if(!p)throw is(jt(await ar(r,0,4)))==I?new w(Wr):new w("End of central directory not found");u&&m>1&&es("multiple end of central directory records");const y=jt(p);let g=is(y,12),b=is(y,16);const v=p.offset,S=as(y,20),k=v+H+S;r.size-k>l&&es("appended data");let x=as(y,4);const R=r.Et||0;let C,D,F,A,T=as(y,6),U=as(y,10),M=0;const q=b==E||g==E||U==W||T==W;if(b!=E&&T!=W&&(b+=Kr(r,T)),q){const t=p.offset<B?_:await ar(r,p.offset-B,B),e=jt(t);if(t.length==B&&is(e,0)==L){b=Kr(r,is(e,4))+cs(e,8);let t=await ar(r,b,V),o=jt(t);const i=p.offset-B-V;if((t.length<V||is(o,0)!=P)&&b!=i&&i>=0){const e=b;b=i,b>e&&(M=b-e),t=await ar(r,b,V),o=jt(t)}if(t.length<V||is(o,0)!=P)throw new w("End of Zip64 central directory locator not found");if(D=!0,F=cs(o,4)>44,F){const t=a.min(s(cs(o,4))-44,r.size-b-V);t>0&&(A=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=jt(t),o=as(r,26);n.assign(e,{compressionMethod:as(r,0),compressedSize:s(cs(r,2)),uncompressedSize:s(cs(r,10)),encryptionAlgorithm:as(r,18),bitLength:as(r,20),flags:as(r,22),hashAlgorithm:as(r,24),hashData:t.subarray(28,28+o)})}return e})(await ar(r,b+V,t)))}x==W?x=is(o,16):c&&x!=is(o,16)&&es("mismatched zip64 end of central directory record"),T==W?T=is(o,20):c&&T!=is(o,20)&&es("mismatched zip64 end of central directory record"),U==W?U=cs(o,32):c&&U!=cs(o,32)&&es("mismatched zip64 end of central directory record"),g==E?g=cs(o,40):c&&g!=cs(o,40)&&es("mismatched zip64 end of central directory record"),b=Kr(r,T)+cs(o,48)+M}}let N=g;const j=p.offset-(D?76:0);if(b<r.size||(M=r.size-b-g-H,b=r.size-g-H),R!=x)throw new w(Wr);if(0>b)throw new w(Tr);let K=0,G=await ar(r,b,g),X=jt(G);if(g){if(4>G.length)throw new w(Tr);const t=j-g;if(b!=t&&T==x){let e=!(is(X,K)==O);if(e||0>t||t+4>r.size||(e=is(jt(await ar(r,t,4)),0)==O),e){const e=b;b=t,b>e&&(M+=b-e),G=await ar(r,b,g),X=jt(G)}}}const J=j-b;if(g==J||0>J||T!=x||(g=J,G=await ar(r,b,g),X=jt(G)),0>b||b>=r.size)throw new w(Tr);e.directoryOffset=b,e.directoryLength=N;const Q=ns(e,t,"decryptCentralDirectory");let Y;Q&&U&&G.length>=4&&is(X,0)!=O&&(F||Br(X))&&(G=await Q(G,A),X=jt(G),N=G.length,Y=!0),C=b;const $=ns(e,t,"filenameEncoding"),tt=ns(e,t,"commentEncoding"),et=c?new f:Z;let nt;for(let s=0;U>s;s++){const i=new Hr(r,o,e.options);if(K+46>G.length||is(X,K)!=O){if(0==s&&!Y&&(F||Br(X)))throw new w("Encrypted central directory is not supported");throw new w("Central directory header not found")}Vr(i,X,K+6);const f=!!i.bitFlag.languageEncodingFlag,u=K+46,l=u+i.filenameLength,p=l+i.extraFieldLength,m=as(X,K+4),y=!(m>>8),g=m>>8==3,b=G.subarray(u,l),v=as(X,K+32),S=p+v,k=G.subarray(p,S),x=f,R=f,D=is(X,K+38),A=255&D,T={readOnly:!!(1&A),hidden:!!(2&A),system:!!(4&A),directory:!!(16&A),archive:!!(32&A)},E=is(X,K+42),I=ns(e,t,"decodeText")||cr,P=x?Mr:$||Or,L=R?Mr:tt||Or;let H=I(b,P,"filename");if(H===Z&&(H=cr(b,P)),h){const t=h(H);t!==Z&&(H=t)}if(Jr(H,d)){const t=new w("Unsafe filename");throw t.filename=H,t}let B=I(k,L,"comment");B===Z&&(B=cr(k,L)),n.assign(i,{index:s,versionMadeBy:m,msDosCompatible:y,compressedSize:0,uncompressedSize:0,Nt:v,offset:E,diskNumberStart:as(X,K+34),internalFileAttributes:as(X,K+36),externalFileAttributes:D,msdosAttributesRaw:A,msdosAttributes:T,rawFilename:b,filenameUTF8:x,commentUTF8:R,rawExtraField:G.subarray(l,p),rawComment:k,filename:H,comment:B}),Zr(i,i,X,K+6),i.offset+=M,C=a.min(Kr(r,i.diskNumberStart)+i.offset,C),c&&(et.has(i.filename)&&(nt=!0),et.add(i.filename));const V=i.externalFileAttributes>>16&W;i.unixMode===Z&&16877&V&&(i.unixMode=V);const q=!!(2048&i.unixMode),N=!!(1024&i.unixMode),_=!!(512&i.unixMode),j=i.unixMode!==Z?!!(73&i.unixMode):g&&!!(73&V),J=i.unixMode!==Z&&16384==(61440&i.unixMode),Q=16384==(61440&V);n.assign(i,{setuid:q,setgid:N,sticky:_,unixExternalUpper:V,internalFileAttribute:i.internalFileAttributes,externalFileAttribute:i.externalFileAttributes,executable:j,directory:J||Q||y&&T.directory||i.filename.endsWith("/")&&!i.uncompressedSize,zipCrypto:i.encrypted&&!i.extraFieldAES});const rt=new xr(i);rt.getData=(t,n)=>i.getData(t,rt,e.Lt,n),rt.arrayBuffer=async t=>{const n=new z,r=Be(n.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await i.getData(n,rt,e.Lt,t),r},K=S;const{onprogress:st}=t;if(st)try{await st(s+1,U,new xr(i))}catch{}yield rt}let rt=K;if(K+6<=G.length&&84233040==is(X,K)){const t=as(X,K+4);K+6+t>G.length||(e.digitalSignature=G.subarray(K+6,K+6+t),rt=K+6+t)}c&&K!=N&&rt!=N&&es("trailing central directory data"),nt&&es("duplicate filename"),c&&(M||U&&C>0)&&es("prepended data");const st=ns(e,t,"extractPrependedData"),ot=ns(e,t,"extractAppendedData");return st&&(e.prependedData=C>0?await ar(r,0,C):_),e.comment=S?await ar(r,v+H,S):_,ot&&(e.appendedData=k<r.size?await ar(r,k,r.size-k):_),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){}},t.configure=Y,t.inflateRaw=(t,e)=>Ct(t,{i:2},e&&e._t,e&&e.m)});
|