@zip.js/zip.js
Advanced tools
Comparing version 2.7.43 to 2.7.44
@@ -1,1 +0,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:r,String:n,Number:s,BigInt:a,Math:i,Date:o,Map:l,Set:c,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:h,Uint32Array:w,DataView:m,Blob:g,Promise:_,TextEncoder:y,TextDecoder:b,document:x,crypto:S,btoa:z,TransformStream:k,ReadableStream:v,WritableStream:E,CompressionStream:R,DecompressionStream:D,navigator:T,Worker:F}="undefined"!=typeof globalThis?globalThis:this||self,A=15,C=573,W=-2;function N(e){return U(e.map((([e,r])=>new t(e).fill(r,0,e))))}function U(e){return e.reduce(((e,r)=>e.concat(t.isArray(r)?U(r):r)),[])}const I=[0,1,2,3].concat(...N([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function L(){const e=this;function t(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}e.build_tree=r=>{const n=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems;let o,l,c,d=-1;for(r.heap_len=0,r.heap_max=C,o=0;a>o;o++)0!==n[2*o]?(r.heap[++r.heap_len]=d=o,r.depth[o]=0):n[2*o+1]=0;for(;2>r.heap_len;)c=r.heap[++r.heap_len]=2>d?++d:0,n[2*c]=1,r.depth[c]=0,r.opt_len--,s&&(r.static_len-=s[2*c+1]);for(e.max_code=d,o=i.floor(r.heap_len/2);o>=1;o--)r.pqdownheap(n,o);c=a;do{o=r.heap[1],r.heap[1]=r.heap[r.heap_len--],r.pqdownheap(n,1),l=r.heap[1],r.heap[--r.heap_max]=o,r.heap[--r.heap_max]=l,n[2*c]=n[2*o]+n[2*l],r.depth[c]=i.max(r.depth[o],r.depth[l])+1,n[2*o+1]=n[2*l+1]=c,r.heap[1]=c++,r.pqdownheap(n,1)}while(r.heap_len>=2);r.heap[--r.heap_max]=r.heap[1],(t=>{const r=e.dyn_tree,n=e.stat_desc.static_tree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,i=e.stat_desc.max_length;let o,l,c,d,u,f,p=0;for(d=0;A>=d;d++)t.bl_count[d]=0;for(r[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;C>o;o++)l=t.heap[o],d=r[2*r[2*l+1]+1]+1,d>i&&(d=i,p++),r[2*l+1]=d,l>e.max_code||(t.bl_count[d]++,u=0,a>l||(u=s[l-a]),f=r[2*l],t.opt_len+=f*(d+u),n&&(t.static_len+=f*(n[2*l+1]+u)));if(0!==p){do{for(d=i-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[i]--,p-=2}while(p>0);for(d=i;0!==d;d--)for(l=t.bl_count[d];0!==l;)c=t.heap[--o],c>e.max_code||(r[2*c+1]!=d&&(t.opt_len+=(d-r[2*c+1])*r[2*c],r[2*c+1]=d),l--)}})(r),((e,r,n)=>{const s=[];let a,i,o,l=0;for(a=1;A>=a;a++)s[a]=l=l+n[a-1]<<1;for(i=0;r>=i;i++)o=e[2*i+1],0!==o&&(e[2*i]=t(s[o]++,o))})(n,e.max_code,r.bl_count)}}function H(e,t,r,n,s){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=r,a.elems=n,a.max_length=s}L._length_code=[0,1,2,3,4,5,6,7].concat(...N([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),L.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],L.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],L.d_code=e=>256>e?I[e]:I[256+(e>>>7)],L.extra_lbits=[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],L.extra_dbits=[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],L.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],L.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const O=N([[144,8],[112,9],[24,7],[8,8]]);H.static_ltree=U([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map(((e,t)=>[e,O[t]])));const M=N([[30,5]]);function P(e,t,r,n,s){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=r,a.max_chain=n,a.func=s}H.static_dtree=U([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map(((e,t)=>[e,M[t]]))),H.static_l_desc=new H(H.static_ltree,L.extra_lbits,257,286,A),H.static_d_desc=new H(H.static_dtree,L.extra_dbits,0,30,A),H.static_bl_desc=new H(null,L.extra_blbits,0,19,7);const q=[new P(0,0,0,0,0),new P(4,4,8,4,1),new P(4,5,16,8,1),new P(4,6,32,32,1),new P(4,4,16,16,2),new P(8,16,32,32,2),new P(8,16,128,128,2),new P(8,32,128,256,2),new P(32,128,258,1024,2),new P(32,258,258,4096,2)],B=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],V=113,Z=666,K=262;function j(e,t,r,n){const s=e[2*t],a=e[2*r];return a>s||s==a&&n[t]<=n[r]}function X(){const e=this;let t,r,n,s,a,o,l,c,d,u,f,w,m,g,_,y,b,x,S,z,k,v,E,R,D,T,F,A,C,N,U,I,O;const M=new L,P=new L,X=new L;let Y,G,J,Q,$,ee;function te(){let t;for(t=0;286>t;t++)U[2*t]=0;for(t=0;30>t;t++)I[2*t]=0;for(t=0;19>t;t++)O[2*t]=0;U[512]=1,e.opt_len=e.static_len=0,G=J=0}function re(e,t){let r,n=-1,s=e[1],a=0,i=7,o=4;0===s&&(i=138,o=3),e[2*(t+1)+1]=65535;for(let l=0;t>=l;l++)r=s,s=e[2*(l+1)+1],++a<i&&r==s||(o>a?O[2*r]+=a:0!==r?(r!=n&&O[2*r]++,O[32]++):a>10?O[36]++:O[34]++,a=0,n=r,0===s?(i=138,o=3):r==s?(i=6,o=3):(i=7,o=4))}function ne(t){e.pending_buf[e.pending++]=t}function se(e){ne(255&e),ne(e>>>8&255)}function ae(e,t){let r;const n=t;ee>16-n?(r=e,$|=r<<ee&65535,se($),$=r>>>16-ee,ee+=n-16):($|=e<<ee&65535,ee+=n)}function ie(e,t){const r=2*e;ae(65535&t[r],65535&t[r+1])}function oe(e,t){let r,n,s=-1,a=e[1],i=0,o=7,l=4;for(0===a&&(o=138,l=3),r=0;t>=r;r++)if(n=a,a=e[2*(r+1)+1],++i>=o||n!=a){if(l>i)do{ie(n,O)}while(0!=--i);else 0!==n?(n!=s&&(ie(n,O),i--),ie(16,O),ae(i-3,2)):i>10?(ie(18,O),ae(i-11,7)):(ie(17,O),ae(i-3,3));i=0,s=n,0===a?(o=138,l=3):n==a?(o=6,l=3):(o=7,l=4)}}function le(){16==ee?(se($),$=0,ee=0):8>ee||(ne(255&$),$>>>=8,ee-=8)}function ce(t,r){let n,s,a;if(e.dist_buf[G]=t,e.lc_buf[G]=255&r,G++,0===t?U[2*r]++:(J++,t--,U[2*(L._length_code[r]+256+1)]++,I[2*L.d_code(t)]++),!(8191&G)&&F>2){for(n=8*G,s=k-b,a=0;30>a;a++)n+=I[2*a]*(5+L.extra_dbits[a]);if(n>>>=3,J<i.floor(G/2)&&n<i.floor(s/2))return!0}return G==Y-1}function de(t,r){let n,s,a,i,o=0;if(0!==G)do{n=e.dist_buf[o],s=e.lc_buf[o],o++,0===n?ie(s,t):(a=L._length_code[s],ie(a+256+1,t),i=L.extra_lbits[a],0!==i&&(s-=L.base_length[a],ae(s,i)),n--,a=L.d_code(n),ie(a,r),i=L.extra_dbits[a],0!==i&&(n-=L.base_dist[a],ae(n,i)))}while(G>o);ie(256,t),Q=t[513]}function ue(){ee>8?se($):ee>0&&ne(255&$),$=0,ee=0}function fe(t,r,n){ae(0+(n?1:0),3),((t,r)=>{ue(),Q=8,se(r),se(~r),e.pending_buf.set(c.subarray(t,t+r),e.pending),e.pending+=r})(t,r)}function pe(r){((t,r,n)=>{let s,a,i=0;F>0?(M.build_tree(e),P.build_tree(e),i=(()=>{let t;for(re(U,M.max_code),re(I,P.max_code),X.build_tree(e),t=18;t>=3&&0===O[2*L.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),s=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a>s||(s=a)):s=a=r+5,r+4>s||-1==t?a==s?(ae(2+(n?1:0),3),de(H.static_ltree,H.static_dtree)):(ae(4+(n?1:0),3),((e,t,r)=>{let n;for(ae(e-257,5),ae(t-1,5),ae(r-4,4),n=0;r>n;n++)ae(O[2*L.bl_order[n]+1],3);oe(U,e-1),oe(I,t-1)})(M.max_code+1,P.max_code+1,i+1),de(U,I)):fe(t,r,n),te(),n&&ue()})(0>b?-1:b,k-b,r),b=k,t.flush_pending()}function he(){let e,r,n,s;do{if(s=d-E-k,0===s&&0===k&&0===E)s=a;else if(-1==s)s--;else if(k>=a+a-K){c.set(c.subarray(a,a+a),0),v-=a,k-=a,b-=a,e=m,n=e;do{r=65535&f[--n],f[n]=a>r?0:r-a}while(0!=--e);e=a,n=e;do{r=65535&u[--n],u[n]=a>r?0:r-a}while(0!=--e);s+=a}if(0===t.avail_in)return;e=t.read_buf(c,k+E,s),E+=e,3>E||(w=255&c[k],w=(w<<y^255&c[k+1])&_)}while(K>E&&0!==t.avail_in)}function we(e){let t,r,n=D,s=k,i=R;const o=k>a-K?k-(a-K):0;let d=N;const f=l,p=k+258;let h=c[s+i-1],w=c[s+i];C>R||(n>>=2),d>E&&(d=E);do{if(t=e,c[t+i]==w&&c[t+i-1]==h&&c[t]==c[s]&&c[++t]==c[s+1]){s+=2,t++;do{}while(c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&p>s);if(r=258-(p-s),s=p-258,r>i){if(v=e,i=r,r>=d)break;h=c[s+i-1],w=c[s+i]}}}while((e=65535&u[e&f])>o&&0!=--n);return i>E?E:i}e.depth=[],e.bl_count=[],e.heap=[],U=[],I=[],O=[],e.pqdownheap=(t,r)=>{const n=e.heap,s=n[r];let a=r<<1;for(;a<=e.heap_len&&(a<e.heap_len&&j(t,n[a+1],n[a],e.depth)&&a++,!j(t,s,n[a],e.depth));)n[r]=n[a],r=a,a<<=1;n[r]=s},e.deflateInit=(t,S,v,L,B,Z)=>(L||(L=8),B||(B=8),Z||(Z=0),t.msg=null,-1==S&&(S=6),1>B||B>9||8!=L||9>v||v>15||0>S||S>9||0>Z||Z>2?W:(t.dstate=e,o=v,a=1<<o,l=a-1,g=B+7,m=1<<g,_=m-1,y=i.floor((g+3-1)/3),c=new p(2*a),u=[],f=[],Y=1<<B+6,e.pending_buf=new p(4*Y),n=4*Y,e.dist_buf=new h(Y),e.lc_buf=new p(Y),F=S,A=Z,(t=>(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,r=V,s=0,M.dyn_tree=U,M.stat_desc=H.static_l_desc,P.dyn_tree=I,P.stat_desc=H.static_d_desc,X.dyn_tree=O,X.stat_desc=H.static_bl_desc,$=0,ee=0,Q=8,te(),(()=>{d=2*a,f[m-1]=0;for(let e=0;m-1>e;e++)f[e]=0;T=q[F].max_lazy,C=q[F].good_length,N=q[F].nice_length,D=q[F].max_chain,k=0,b=0,E=0,x=R=2,z=0,w=0})(),0))(t))),e.deflateEnd=()=>42!=r&&r!=V&&r!=Z?W:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,f=null,u=null,c=null,e.dstate=null,r==V?-3:0),e.deflateParams=(e,t,r)=>{let n=0;return-1==t&&(t=6),0>t||t>9||0>r||r>2?W:(q[F].func!=q[t].func&&0!==e.total_in&&(n=e.deflate(1)),F!=t&&(F=t,T=q[F].max_lazy,C=q[F].good_length,N=q[F].nice_length,D=q[F].max_chain),A=r,n)},e.deflateSetDictionary=(e,t,n)=>{let s,i=n,o=0;if(!t||42!=r)return W;if(3>i)return 0;for(i>a-K&&(i=a-K,o=n-i),c.set(t.subarray(o,o+i),0),k=i,b=i,w=255&c[0],w=(w<<y^255&c[1])&_,s=0;i-3>=s;s++)w=(w<<y^255&c[s+2])&_,u[s&l]=f[w],f[w]=s;return 0},e.deflate=(i,d)=>{let p,h,g,D,C;if(d>4||0>d)return W;if(!i.next_out||!i.next_in&&0!==i.avail_in||r==Z&&4!=d)return i.msg=B[4],W;if(0===i.avail_out)return i.msg=B[7],-5;var N;if(t=i,D=s,s=d,42==r&&(h=8+(o-8<<4)<<8,g=(F-1&255)>>1,g>3&&(g=3),h|=g<<6,0!==k&&(h|=32),h+=31-h%31,r=V,ne((N=h)>>8&255),ne(255&N)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return s=-1,0}else if(0===t.avail_in&&D>=d&&4!=d)return t.msg=B[7],-5;if(r==Z&&0!==t.avail_in)return i.msg=B[7],-5;if(0!==t.avail_in||0!==E||0!=d&&r!=Z){switch(C=-1,q[F].func){case 0:C=(e=>{let r,s=65535;for(s>n-5&&(s=n-5);;){if(1>=E){if(he(),0===E&&0==e)return 0;if(0===E)break}if(k+=E,E=0,r=b+s,(0===k||k>=r)&&(E=k-r,k=r,pe(!1),0===t.avail_out))return 0;if(k-b>=a-K&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 1:C=(e=>{let r,n=0;for(;;){if(K>E){if(he(),K>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<y^255&c[k+2])&_,n=65535&f[w],u[k&l]=f[w],f[w]=k),0===n||(k-n&65535)>a-K||2!=A&&(x=we(n)),3>x)r=ce(0,255&c[k]),E--,k++;else if(r=ce(k-v,x-3),E-=x,x>T||3>E)k+=x,x=0,w=255&c[k],w=(w<<y^255&c[k+1])&_;else{x--;do{k++,w=(w<<y^255&c[k+2])&_,n=65535&f[w],u[k&l]=f[w],f[w]=k}while(0!=--x);k++}if(r&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 2:C=(e=>{let r,n,s=0;for(;;){if(K>E){if(he(),K>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<y^255&c[k+2])&_,s=65535&f[w],u[k&l]=f[w],f[w]=k),R=x,S=v,x=2,0!==s&&T>R&&a-K>=(k-s&65535)&&(2!=A&&(x=we(s)),5>=x&&(1==A||3==x&&k-v>4096)&&(x=2)),3>R||x>R)if(0!==z){if(r=ce(0,255&c[k-1]),r&&pe(!1),k++,E--,0===t.avail_out)return 0}else z=1,k++,E--;else{n=k+E-3,r=ce(k-1-S,R-3),E-=R-1,R-=2;do{++k>n||(w=(w<<y^255&c[k+2])&_,s=65535&f[w],u[k&l]=f[w],f[w]=k)}while(0!=--R);if(z=0,x=2,k++,r&&(pe(!1),0===t.avail_out))return 0}}return 0!==z&&(r=ce(0,255&c[k-1]),z=0),pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d)}if(2!=C&&3!=C||(r=Z),0==C||2==C)return 0===t.avail_out&&(s=-1),0;if(1==C){if(1==d)ae(2,3),ie(256,H.static_ltree),le(),9>1+Q+10-ee&&(ae(2,3),ie(256,H.static_ltree),le()),Q=7;else if(fe(0,0,!1),3==d)for(p=0;m>p;p++)f[p]=0;if(t.flush_pending(),0===t.avail_out)return s=-1,0}}return 4!=d?0:1}}function Y(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}Y.prototype={deflateInit(e,t){const r=this;return r.dstate=new X,t||(t=A),r.dstate.deflateInit(r,e,t)},deflate(e){const t=this;return t.dstate?t.dstate.deflate(t,e):W},deflateEnd(){const e=this;if(!e.dstate)return W;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){const r=this;return r.dstate?r.dstate.deflateParams(r,e,t):W},deflateSetDictionary(e,t){const r=this;return r.dstate?r.dstate.deflateSetDictionary(r,e,t):W},read_buf(e,t,r){const n=this;let s=n.avail_in;return s>r&&(s=r),0===s?0:(n.avail_in-=s,e.set(n.next_in.subarray(n.next_in_index,n.next_in_index+s),t),n.next_in_index+=s,n.total_in+=s,s)},flush_pending(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const G=4294967295,J=65535,Q=134695760,$=Q,ee=new o(2107,11,31),te=new o(1980,0,1),re=void 0,ne="undefined",se="function";class ae{constructor(e){return class extends k{constructor(t,r){const n=new e(r);super({transform(e,t){t.enqueue(n.append(e))},flush(e){const t=n.flush();t&&e.enqueue(t)}})}}}}let ie=2;try{typeof T!=ne&&T.hardwareConcurrency&&(ie=T.hardwareConcurrency)}catch(e){}const oe={chunkSize:524288,maxWorkers:ie,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:re,CompressionStreamNative:typeof R!=ne&&R,DecompressionStreamNative:typeof D!=ne&&D},le=r.assign({},oe);function ce(){return le}function de(e){const{baseURL:r,chunkSize:n,maxWorkers:s,terminateWorkerTimeout:a,useCompressionStream:i,useWebWorkers:o,Deflate:l,Inflate:c,CompressionStream:d,DecompressionStream:u,workerScripts:p}=e;if(ue("baseURL",r),ue("chunkSize",n),ue("maxWorkers",s),ue("terminateWorkerTimeout",a),ue("useCompressionStream",i),ue("useWebWorkers",o),l&&(le.CompressionStream=new ae(l)),c&&(le.DecompressionStream=new ae(c)),ue("CompressionStream",d),ue("DecompressionStream",u),p!==re){const{deflate:e,inflate:r}=p;if((e||r)&&(le.workerScripts||(le.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");le.workerScripts.deflate=e}if(r){if(!t.isArray(r))throw new f("workerScripts.inflate must be an array");le.workerScripts.inflate=r}}}function ue(e,t){t!==re&&(le[e]=t)}const fe=[];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;fe[e]=t}class pe{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let r=0,n=0|e.length;n>r;r++)t=t>>>8^fe[255&(t^e[r])];this.crc=t}get(){return~this.crc}}class he extends k{constructor(){let e;const t=new pe;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new p(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function we(e){if(typeof y==ne){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new y).encode(e)}const me={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=me.getPartial(r);return 32===n?e.concat(t):me._shiftRight(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+me.getPartial(r)},clamp(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=me.partial(t,e[r-1]&2147483648>>t-1,1)),e},partial:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,getPartial:e=>i.round(e/1099511627776)||32,_shiftRight(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=me.getPartial(s);return n.push(me.partial(t+a&31,t+a>32?r:n.pop(),1)),n}},ge={bytes:{fromBits(e){const t=me.bitLength(e)/8,r=new p(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},toBits(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(me.partial(8*(3&r),n)),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=ge.utf8String.toBits(e));const r=t._buffer=me.concat(t._buffer,e),n=t._length,s=t._length=n+me.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new w(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const r=e._h;t=me.concat(t,[me.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(),r}_f(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}_S(e,t){return t<<e|t>>>32-e}_block(e){const r=this,n=r._h,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],o=n[1],l=n[2],c=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r._S(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r._S(5,a)+r._f(e,o,l,c)+d+s[e]+r._key[i.floor(e/20)]|0;d=c,c=l,l=r._S(30,o),o=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+o|0,n[2]=n[2]+l|0,n[3]=n[3]+c|0,n[4]=n[4]+d|0}},ye={getRandomValues(e){const t=new w(e.buffer),r=e=>{let t=987654321;const r=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&r,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&r)&r)/4294967296+.5)*(i.random()>.5?1:-1))};for(let n,s=0;s<e.length;s+=4){const e=r(4294967296*(n||i.random()));n=987654071*e(),t[s/4]=4294967296*e()|0}return e}},be={importKey:e=>new be.hmacSha1(ge.bytes.toBits(e)),pbkdf2(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new f("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,l,c;const d=new ArrayBuffer(s),u=new m(d);let p=0;const h=me;for(t=ge.bytes.toBits(t),c=1;(s||1)>p;c++){for(a=i=e.encrypt(h.concat(t,[c])),o=1;r>o;o++)for(i=e.encrypt(i),l=0;l<i.length;l++)a[l]^=i[l];for(o=0;(s||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,n/8)},hmacSha1:class{constructor(e){const t=this,r=t._hash=_e,n=[[],[]];t._baseHash=[new r,new r];const s=t._baseHash[0].blockSize/32;e.length>s&&(e=(new r).update(e).finalize());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new r(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(),r=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),r}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},xe=typeof S!=ne&&typeof S.getRandomValues==se,Se="Invalid password",ze="Invalid signature",ke="zipjs-abort-check-password";function ve(e){return xe?S.getRandomValues(e):ye.getRandomValues(e)}const Ee=16,Re={name:"PBKDF2"},De=r.assign({hash:{name:"HMAC"}},Re),Te=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Re),Fe=["deriveBits"],Ae=[8,12,16],Ce=[16,24,32],We=10,Ne=[0,0,0,0],Ue=typeof S!=ne,Ie=Ue&&S.subtle,Le=Ue&&typeof Ie!=ne,He=ge.bytes,Oe=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const r=t._tables[0][4],n=t._tables[1],s=e.length;let a,i,o,l=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=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>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:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[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],r=e[4],n=t[4],s=[],a=[];let i,o,l,c;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,n[a]=d,c=s[l=s[o=s[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=f=f<<24^f>>>8,t[r][a]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const r=this._key[t],n=r.length/4-2,s=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,p,h,w=e[0]^r[0],m=e[t?3:1]^r[1],g=e[2]^r[2],_=e[t?1:3]^r[3],y=4;for(let e=0;n>e;e++)u=i[w>>>24]^o[m>>16&255]^l[g>>8&255]^c[255&_]^r[y],p=i[m>>>24]^o[g>>16&255]^l[_>>8&255]^c[255&w]^r[y+1],h=i[g>>>24]^o[_>>16&255]^l[w>>8&255]^c[255&m]^r[y+2],_=i[_>>>24]^o[w>>16&255]^l[m>>8&255]^c[255&g]^r[y+3],y+=4,w=u,m=p,g=h;for(let e=0;4>e;e++)s[t?3&-e:e]=d[w>>>24]<<24^d[m>>16&255]<<16^d[g>>8&255]<<8^d[255&_]^r[y++],u=w,w=m,m=g,g=_,_=u;return s}},Me=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,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,r){let n;if(!(n=t.length))return[];const s=me.bitLength(t);for(let s=0;n>s;s+=4){this.incCounter(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return me.clamp(t,s)}},Pe=be.hmacSha1;let qe=Ue&&Le&&typeof Ie.importKey==se,Be=Ue&&Le&&typeof Ie.deriveBits==se;class Ve extends k{constructor({password:e,rawPassword:t,signed:n,encryptionStrength:s,checkPasswordOnly:a}){super({start(){r.assign(this,{ready:new _((e=>this.resolveReady=e)),password:Xe(e,t),signed:n,strength:s-1,pending:new p})},async transform(e,t){const r=this,{password:n,strength:s,resolveReady:i,ready:o}=r;n?(await(async(e,t,r,n)=>{const s=await je(e,t,r,Ge(n,0,Ae[t])),a=Ge(n,Ae[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new f(Se)})(r,s,n,Ge(e,0,Ae[s]+2)),e=Ge(e,Ae[s]+2),a?t.error(new f(ke)):i()):await o;const l=new p(e.length-We-(e.length-We)%Ee);t.enqueue(Ke(r,e,l,0,We,!0))},async flush(e){const{signed:t,ctr:r,hmac:n,pending:s,ready:a}=this;if(n&&r){await a;const i=Ge(s,0,s.length-We),o=Ge(s,s.length-We);let l=new p;if(i.length){const e=Qe(He,i);n.update(e);const t=r.update(e);l=Je(He,t)}if(t){const e=Ge(Je(He,n.digest()),0,We);for(let t=0;We>t;t++)if(e[t]!=o[t])throw new f(ze)}e.enqueue(l)}}})}}class Ze extends k{constructor({password:e,rawPassword:t,encryptionStrength:n}){let s;super({start(){r.assign(this,{ready:new _((e=>this.resolveReady=e)),password:Xe(e,t),strength:n-1,pending:new p})},async transform(e,t){const r=this,{password:n,strength:s,resolveReady:a,ready:i}=r;let o=new p;n?(o=await(async(e,t,r)=>{const n=ve(new p(Ae[t]));return Ye(n,await je(e,t,r,n))})(r,s,n),a()):await i;const l=new p(o.length+e.length-e.length%Ee);l.set(o,0),t.enqueue(Ke(r,e,l,o.length,0))},async flush(e){const{ctr:t,hmac:r,pending:n,ready:a}=this;if(r&&t){await a;let i=new p;if(n.length){const e=t.update(Qe(He,n));r.update(e),i=Je(He,e)}s.signature=Je(He,r.digest()).slice(0,We),e.enqueue(Ye(i,s.signature))}}}),s=this}}function Ke(e,t,r,n,s,a){const{ctr:i,hmac:o,pending:l}=e,c=t.length-s;let d;for(l.length&&(t=Ye(l,t),r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new p(t)).set(r,0)}return e})(r,c-c%Ee)),d=0;c-Ee>=d;d+=Ee){const e=Qe(He,Ge(t,d,d+Ee));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(Je(He,s),d+n)}return e.pending=Ge(t,d),r}async function je(e,n,s,a){e.password=null;const i=await(async(e,t,r,n,s)=>{if(!qe)return be.importKey(t);try{return await Ie.importKey("raw",t,r,!1,s)}catch(e){return qe=!1,be.importKey(t)}})(0,s,De,0,Fe),o=await(async(e,t,r)=>{if(!Be)return be.pbkdf2(t,e.salt,Te.iterations,r);try{return await Ie.deriveBits(e,t,r)}catch(n){return Be=!1,be.pbkdf2(t,e.salt,Te.iterations,r)}})(r.assign({salt:a},Te),i,8*(2*Ce[n]+2)),l=new p(o),c=Qe(He,Ge(l,0,Ce[n])),d=Qe(He,Ge(l,Ce[n],2*Ce[n])),u=Ge(l,2*Ce[n]);return r.assign(e,{keys:{key:c,authentication:d,passwordVerification:u},ctr:new Me(new Oe(c),t.from(Ne)),hmac:new Pe(d)}),u}function Xe(e,t){return t===re?we(e):t}function Ye(e,t){let r=e;return e.length+t.length&&(r=new p(e.length+t.length),r.set(e,0),r.set(t,e.length)),r}function Ge(e,t,r){return e.subarray(t,r)}function Je(e,t){return e.fromBits(t)}function Qe(e,t){return e.toBits(t)}class $e extends k{constructor({password:e,passwordVerification:t,checkPasswordOnly:n}){super({start(){r.assign(this,{password:e,passwordVerification:t}),nt(this,e)},transform(e,t){const r=this;if(r.password){const t=tt(r,e.subarray(0,12));if(r.password=null,t[11]!=r.passwordVerification)throw new f(Se);e=e.subarray(12)}n?t.error(new f(ke)):t.enqueue(tt(r,e))}})}}class et extends k{constructor({password:e,passwordVerification:t}){super({start(){r.assign(this,{password:e,passwordVerification:t}),nt(this,e)},transform(e,t){const r=this;let n,s;if(r.password){r.password=null;const t=ve(new p(12));t[11]=r.passwordVerification,n=new p(e.length+t.length),n.set(rt(r,t),0),s=12}else n=new p(e.length),s=0;n.set(rt(r,e),s),t.enqueue(n)}})}}function tt(e,t){const r=new p(t.length);for(let n=0;n<t.length;n++)r[n]=at(e)^t[n],st(e,r[n]);return r}function rt(e,t){const r=new p(t.length);for(let n=0;n<t.length;n++)r[n]=at(e)^t[n],st(e,t[n]);return r}function nt(e,t){const n=[305419896,591751049,878082192];r.assign(e,{keys:n,crcKey0:new pe(n[0]),crcKey2:new pe(n[2])});for(let r=0;r<t.length;r++)st(e,t.charCodeAt(r))}function st(e,t){let[r,n,s]=e.keys;e.crcKey0.append([t]),r=~e.crcKey0.get(),n=ot(i.imul(ot(n+it(r)),134775813)+1),e.crcKey2.append([n>>>24]),s=~e.crcKey2.get(),e.keys=[r,n,s]}function at(e){const t=2|e.keys[2];return it(i.imul(t,1^t)>>>8)}function it(e){return 255&e}function ot(e){return 4294967295&e}const lt="deflate-raw";class ct extends k{constructor(e,{chunkSize:t,CompressionStream:r,CompressionStreamNative:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:l,level:c}=e,d=this;let u,f,p=ut(super.readable);a&&!o||!l||(u=new he,p=ht(p,u)),s&&(p=pt(p,i,{level:c,chunkSize:t},n,r)),a&&(o?p=ht(p,new et(e)):(f=new Ze(e),p=ht(p,f))),ft(d,p,(()=>{let e;a&&!o&&(e=f.signature),a&&!o||!l||(e=new m(u.value.buffer).getUint32(0)),d.signature=e}))}}class dt extends k{constructor(e,{chunkSize:t,DecompressionStream:r,DecompressionStreamNative:n}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:l,useCompressionStream:c}=e;let d,u,p=ut(super.readable);a&&(s?p=ht(p,new $e(e)):(u=new Ve(e),p=ht(p,u))),l&&(p=pt(p,c,{chunkSize:t},n,r)),a&&!s||!i||(d=new he,p=ht(p,d)),ft(this,p,(()=>{if((!a||s)&&i){const e=new m(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(ze)}}))}}function ut(e){return ht(e,new k({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ft(e,t,n){t=ht(t,new k({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function pt(e,t,r,n,s){try{e=ht(e,new(t&&n?n:s)(lt,r))}catch(n){if(!t)return e;try{e=ht(e,new s(lt,r))}catch(t){return e}}return e}function ht(e,t){return e.pipeThrough(t)}const wt="data",mt="close",gt="deflate";class _t extends k{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith(gt)?a=ct:s.startsWith("inflate")&&(a=dt);let i=0,o=0;const l=new a(e,t),c=super.readable,d=new k({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:o})}}),u=new k({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;r.assign(n,{signature:e,outputSize:i,inputSize:o})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(l).pipeThrough(u)})}}class yt extends k{constructor(e){let t;super({transform:function r(n,s){if(t){const e=new p(t.length+n.length);e.set(t),e.set(n,t.length),n=e,t=null}n.length>e?(s.enqueue(n.slice(0,e)),r(n.slice(e),s)):t=n},flush(e){t&&t.length&&e.enqueue(t)}})}}let bt=typeof F!=ne;class xt{constructor(e,{readable:t,writable:n},{options:s,config:a,streamOptions:i,useWebWorkers:o,transferStreams:l,scripts:c},d){const{signal:u}=i;return r.assign(e,{busy:!0,readable:t.pipeThrough(new yt(a.chunkSize)).pipeThrough(new St(t,i),{signal:u}),writable:n,options:r.assign({},s),scripts:c,transferStreams:l,terminate:()=>new _((t=>{const{worker:r,busy:n}=e;r?(n?e.resolveTerminated=t:(r.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,d(e)}}),(o&&bt?vt:kt)(e,a)}}class St extends k{constructor(e,{onstart:t,onprogress:r,size:n,onend:s}){let a=0;super({async start(){t&&await zt(t,n)},async transform(e,t){a+=e.length,r&&await zt(r,a,n),t.enqueue(e)},async flush(){e.size=a,s&&await zt(s,a)}})}}async function zt(e,...t){try{await e(...t)}catch(e){}}function kt(e,t){return{run:()=>(async({options:e,readable:t,writable:r,onTaskFinished:n},s)=>{try{const n=new _t(e,s);await t.pipeThrough(n).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:i,outputSize:o}=n;return{signature:a,inputSize:i,outputSize:o}}finally{n()}})(e,t)}}function vt(e,t){const{baseURL:n,chunkSize:s}=t;if(!e.interface){let a;try{a=((e,t,n)=>{const s={type:"module"};let a,i;typeof e==se&&(e=e());try{a=new u(e,t)}catch(t){a=e}if(Et)try{i=new F(a)}catch(e){Et=!1,i=new F(a,s)}else i=new F(a,s);return i.addEventListener("message",(e=>(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:i,error:o}=e,{reader:l,writer:c,resolveResult:d,rejectResult:u,onTaskFinished:h}=t;try{if(o){const{message:e,stack:t,code:n,name:s}=o,a=new f(e);r.assign(a,{stack:t,code:n,name:s}),w(a)}else{if("pull"==n){const{value:e,done:r}=await l.read();Dt({type:wt,value:e,done:r,messageId:a},t)}n==wt&&(await c.ready,await c.write(new p(s)),Dt({type:"ack",messageId:a},t)),n==mt&&w(null,i)}}catch(o){Dt({type:mt,messageId:a},t),w(o)}function w(e,t){e?u(e):d(t),c&&c.releaseLock(),h()}})(e,n))),i})(e.scripts[0],n,e)}catch(r){return bt=!1,kt(e,t)}r.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let n,s;const a=new _(((e,t)=>{n=e,s=t}));r.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:s,result:a});const{readable:i,options:o,scripts:l}=e,{writable:c,closed:d}=(e=>{let t;const r=new _((e=>t=e));return{writable:new E({async write(t){const r=e.getWriter();await r.ready,await r.write(t),r.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:r}})(e.writable),u=Dt({type:"start",scripts:l.slice(1),options:o,config:t,readable:i,writable:c},e);u||r.assign(e,{reader:i.getReader(),writer:c.getWriter()});const f=await a;return u||await c.getWriter().close(),await d,f})(e,{chunkSize:s})}})}return e.interface}let Et=!0,Rt=!0;function Dt(e,{worker:t,writer:r,onTaskFinished:n,transferStreams:s}){try{let{value:r,readable:n,writable:a}=e;const i=[];if(r&&(r.byteLength<r.buffer.byteLength?e.value=r.buffer.slice(0,r.byteLength):e.value=r.buffer,i.push(e.value)),s&&Rt?(n&&i.push(n),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(r){Rt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),n(),e}}let Tt=[];const Ft=[];let At=0;function Ct(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Wt="HTTP error ",Nt="HTTP Range not supported",Ut="Writer iterator completed too soon",It="Content-Length",Lt="Range",Ht="HEAD",Ot="GET",Mt="bytes",Pt=65536,qt="writable";class Bt{constructor(){this.size=0}init(){this.initialized=!0}}class Vt extends Bt{get readable(){const e=this,{chunkSize:t=Pt}=e,r=new v({start(){this.chunkOffset=0},async pull(n){const{offset:s=0,size:a,diskNumberStart:o}=r,{chunkOffset:l}=this;n.enqueue(await pr(e,s+l,i.min(t,a-l),o)),l+t>a?n.close():this.chunkOffset+=t}});return r}}class Zt extends Bt{constructor(){super();const e=this,t=new E({write:t=>e.writeUint8Array(t)});r.defineProperty(e,qt,{get:()=>t})}writeUint8Array(){}}class Kt extends Vt{constructor(e){super(),r.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new p(a)}}class jt extends Bt{constructor(e){super();const t=new k,n=[];e&&n.push(["Content-Type",e]),r.defineProperty(this,qt,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:n}).blob()}getData(){return this.blob}}class Xt extends Vt{constructor(e,t){super(),Gt(this,e,t)}async init(){await Jt(this,ar,tr),super.init()}readUint8Array(e,t){return Qt(this,e,t,ar,tr)}}class Yt extends Vt{constructor(e,t){super(),Gt(this,e,t)}async init(){await Jt(this,ir,rr),super.init()}readUint8Array(e,t){return Qt(this,e,t,ir,rr)}}function Gt(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.useXHR,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function Jt(e,t,r){const{url:n,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:l}=e;if((e=>{const{baseURL:t}=ce(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||o)&&(void 0===a||a)){const n=await t(Ot,e,$t(e,l?-22:void 0));if(!o&&n.headers.get("Accept-Ranges")!=Mt)throw new f(Nt);{let a;l&&(e.eocdCache=new p(await n.arrayBuffer()));const i=n.headers.get("Content-Range");if(i){const e=i.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=s(t))}}a===re?await sr(e,t,r):e.size=a}}else await sr(e,t,r)}async function Qt(e,t,r,n,s){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:l,options:c}=e;if(a||i){if(o&&t==l-22&&22==r)return o;const s=await n(Ot,e,$t(e,t,r));if(206!=s.status)throw new f(Nt);return new p(await s.arrayBuffer())}{const{data:n}=e;return n||await s(e,c),new p(e.data.subarray(t,t+r))}}function $t(e,t=0,n=1){return r.assign({},er(e),{[Lt]:Mt+"="+(0>t?t:t+"-"+(t+n-1))})}function er({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function tr(e){await nr(e,ar)}async function rr(e){await nr(e,ir)}async function nr(e,t){const r=await t(Ot,e,er(e));e.data=new p(await r.arrayBuffer()),e.size||(e.size=e.data.length)}async function sr(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=(await t(Ht,e,er(e))).headers.get(It);n?e.size=s(n):await r(e,e.options)}}async function ar(e,{options:t,url:n},s){const a=await fetch(n,r.assign({},t,{method:e,headers:s}));if(400>a.status)return a;throw 416==a.status?new f(Nt):new f(Wt+(a.statusText||a.status))}function ir(e,{url:t},n){return new _(((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",(()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,(e=>e.toUpperCase())),e.push(r)})),s({status:i.status,arrayBuffer:()=>i.response,headers:new l(e)})}else a(416==i.status?new f(Nt):new f(Wt+(i.statusText||i.status)))}),!1),i.addEventListener("error",(e=>a(e.detail?e.detail.error:new f("Network error"))),!1),i.open(e,t),n)for(const e of r.entries(n))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()}))}class or extends Vt{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR?new Yt(e,t):new Xt(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class lr extends Vt{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await _.all(t.map((async(r,n)=>{await r.init(),n!=t.length-1&&(e.lastDiskOffset+=r.size),e.size+=r.size}))),super.init()}async readUint8Array(e,t,r=0){const n=this,{readers:s}=this;let a,o=r;-1==o&&(o=s.length-1);let l=e;for(;l>=s[o].size;)l-=s[o].size,o++;const c=s[o],d=c.size;if(l+t>d){const s=d-l;a=new p(t),a.set(await pr(c,l,s)),a.set(await n.readUint8Array(e+s,t-s,r),s)}else a=await pr(c,l,t);return n.lastDiskNumber=i.max(o,n.lastDiskNumber),a}}class cr extends Bt{constructor(e,t=4294967295){super();const n=this;let s,a,i;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new E({async write(t){const{availableSize:r}=n;if(i)t.length<r?await l(t):(await l(t.slice(0,r)),await c(),n.diskOffset+=s.size,n.diskNumber++,i=null,await this.write(t.slice(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new f(Ut);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await dr(s),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){await i.ready,await c()}});async function l(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,n.size+=t,n.availableSize-=t)}async function c(){a.size=s.size,await i.close()}r.defineProperty(n,qt,{get:()=>o})}}async function dr(e,t){if(!e.init||e.initialized)return _.resolve();await e.init(t)}function ur(e){return t.isArray(e)&&(e=new lr(e)),e instanceof v&&(e={readable:e}),e}function fr(e){e.writable===re&&typeof e.next==se&&(e=new cr(e)),e instanceof E&&(e={writable:e});const{writable:t}=e;return t.size===re&&(t.size=0),e instanceof cr||r.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function pr(e,t,r,n){return e.readUint8Array(t,r,n)}const hr=lr,wr=cr,mr="diskNumberStart",gr="lastModDate",_r="lastAccessDate",yr="creationDate",br="internalFileAttribute",xr="externalFileAttribute",Sr="msDosCompatible",zr="zip64",kr=["filename","rawFilename","compressedSize","uncompressedSize",gr,"rawLastModDate","comment","rawComment",_r,yr,"offset",mr,mr,br,xr,Sr,zr,"directory","bitFlag","encrypted","signature","filenameUTF8","commentUTF8","compressionMethod","version","versionMadeBy","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class vr{constructor(e){kr.forEach((t=>this[t]=e[t]))}}const Er="File already exists",Rr="Zip file comment exceeds 64KB",Dr="File entry comment exceeds 64KB",Tr="File entry name exceeds 64KB",Fr="Version exceeds 65535",Ar="The strength must equal 1, 2, or 3",Cr="Extra field type exceeds 65535",Wr="Extra field data exceeds 64KB",Nr="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Ur=new p([7,0,2,0,65,69,3,0,0]);let Ir=0;const Lr=[];class Hr{constructor(e,t={}){const n=(e=fr(e)).availableSize!==re&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==re&&e.maxSize>0&&e.maxSize!==1/0;r.assign(this,{writer:e,addSplitZipSignature:n,options:t,config:ce(),files:new l,filenames:new c,offset:e.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new c,bufferedWrites:0})}async add(e="",n,l={}){const c=this,{pendingAddFileCalls:u,config:g}=c;let y;Ir<g.maxWorkers?Ir++:await new _((e=>Lr.push(e)));try{if(e=e.trim(),c.filenames.has(e))throw new f(Er);return c.filenames.add(e),y=(async(e,n,l,c)=>{n=n.trim(),c.directory&&!n.endsWith("/")?n+="/":c.directory=n.endsWith("/");const u=Pr(e,c,"encodeText",we),g=u(n);if(Xr(g)>J)throw new f(Tr);const y=c.comment||"",b=u(y);if(Xr(b)>J)throw new f(Dr);const x=Pr(e,c,"version",20);if(x>J)throw new f(Fr);const S=Pr(e,c,"versionMadeBy",20);if(S>J)throw new f(Fr);const z=Pr(e,c,gr,new o),v=Pr(e,c,_r),E=Pr(e,c,yr),R=Pr(e,c,Sr,!0),D=Pr(e,c,br,0),T=Pr(e,c,xr,0),F=Pr(e,c,"password"),A=Pr(e,c,"rawPassword"),C=Pr(e,c,"encryptionStrength",3),W=Pr(e,c,"zipCrypto"),N=Pr(e,c,"extendedTimestamp",!0),U=Pr(e,c,"keepOrder",!0),I=Pr(e,c,"level"),L=Pr(e,c,"useWebWorkers"),H=Pr(e,c,"bufferedWrite"),O=Pr(e,c,"dataDescriptorSignature",!1),M=Pr(e,c,"signal"),P=Pr(e,c,"useCompressionStream");let q=Pr(e,c,"dataDescriptor",!0),B=Pr(e,c,zr);if(F!==re&&C!==re&&(1>C||C>3))throw new f(Ar);let V=new p;const{extraField:Z}=c;if(Z){let e=0,t=0;Z.forEach((t=>e+=4+Xr(t))),V=new p(e),Z.forEach(((e,r)=>{if(r>J)throw new f(Cr);if(Xr(e)>J)throw new f(Wr);Kr(V,new h([r]),t),Kr(V,new h([Xr(e)]),t+2),Kr(V,e,t+4),t+=4+Xr(e)}))}let K=0,j=0,X=0;const Y=!0===B;l&&(l=ur(l),await dr(l),l.size===re?(q=!0,(B||B===re)&&(B=!0,X=K=G)):(X=l.size,K=(e=>e+5*(i.floor(e/16383)+1))(X)));const{diskOffset:ne,diskNumber:se,maxSize:ae}=e.writer,ie=Y||X>=G,oe=Y||K>=G,le=Y||e.offset+e.pendingEntriesSize-ne>=G,ce=Pr(e,c,"supportZip64SplitFile",!0)&&Y||se+i.ceil(e.pendingEntriesSize/ae)>=J;if(le||ie||oe||ce){if(!1===B||!U)throw new f(Nr);B=!0}B=B||!1;const de=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,rawPassword:a,password:o,level:l,zip64:c,zipCrypto:d,dataDescriptor:u,directory:f,rawExtraField:h,encryptionStrength:m,extendedTimestamp:g}=e,_=0!==l&&!f,y=!!(o&&Xr(o)||a&&Xr(a));let b,x,S,z,k=e.version;if(y&&!d){b=new p(Xr(Ur)+2);const e=jr(b);Br(e,0,39169),Kr(b,Ur,2),qr(e,8,m)}else b=new p;if(g){S=new p(9+(n?4:0)+(s?4:0));const e=jr(S);Br(e,0,21589),Br(e,2,Xr(S)-4),z=1+(n?2:0)+(s?4:0),qr(e,4,z);let t=5;Vr(e,t,i.floor(r.getTime()/1e3)),t+=4,n&&(Vr(e,t,i.floor(n.getTime()/1e3)),t+=4),s&&Vr(e,t,i.floor(s.getTime()/1e3));try{x=new p(36);const e=jr(x),t=Mr(r);Br(e,0,10),Br(e,2,32),Br(e,8,1),Br(e,10,24),Zr(e,12,t),Zr(e,20,Mr(n)||t),Zr(e,28,Mr(s)||t)}catch(e){x=new p}}else x=S=new p;let v=2048;u&&(v|=8);let E=0;_&&(E=8),c&&(k=k>45?k:45),y&&(v|=1,d||(k=k>51?k:51,E=99,_&&(b[9]=8)));const R=new p(26),D=jr(R);Br(D,0,k),Br(D,2,v),Br(D,4,E);const T=new w(1),F=jr(T);let A;A=te>r?te:r>ee?ee:r,Br(F,0,(A.getHours()<<6|A.getMinutes())<<5|A.getSeconds()/2),Br(F,2,(A.getFullYear()-1980<<4|A.getMonth()+1)<<5|A.getDate());const C=T[0];Vr(D,6,C),Br(D,22,Xr(t));const W=Xr(b,S,x,h);Br(D,24,W);const N=new p(30+Xr(t)+W);return Vr(jr(N),0,67324752),Kr(N,R,4),Kr(N,t,30),Kr(N,b,30+Xr(t)),Kr(N,S,30+Xr(t,b)),Kr(N,x,30+Xr(t,b,S)),Kr(N,h,30+Xr(t,b,S,x)),{localHeaderArray:N,headerArray:R,headerView:D,lastModDate:r,rawLastModDate:C,encrypted:y,compressed:_,version:k,compressionMethod:E,extraFieldExtendedTimestampFlag:z,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:x,rawExtraFieldAES:b,extraFieldLength:W}})(c=r.assign({},c,{rawFilename:g,rawComment:b,version:x,versionMadeBy:S,lastModDate:z,lastAccessDate:v,creationDate:E,rawExtraField:V,zip64:B,zip64UncompressedSize:ie,zip64CompressedSize:oe,zip64Offset:le,zip64DiskNumberStart:ce,password:F,rawPassword:A,level:P||e.config.CompressionStream!==re?I:0,useWebWorkers:L,encryptionStrength:C,extendedTimestamp:N,zipCrypto:W,bufferedWrite:H,keepOrder:U,dataDescriptor:q,dataDescriptorSignature:O,signal:M,msDosCompatible:R,internalFileAttribute:D,externalFileAttribute:T,useCompressionStream:P})),ue=(e=>{const{zip64:t,dataDescriptor:r,dataDescriptorSignature:n}=e;let s,a=new p,i=0;return r&&(a=new p(t?n?24:20:n?16:12),s=jr(a),n&&(i=4,Vr(s,0,$))),{dataDescriptorArray:a,dataDescriptorView:s,dataDescriptorOffset:i}})(c),fe=Xr(de.localHeaderArray,ue.dataDescriptorArray);let pe;j=fe+K,e.options.usdz&&(j+=j+64),e.pendingEntriesSize+=j;try{pe=await(async(e,n,o,l,c)=>{const{files:u,writer:h}=e,{keepOrder:w,dataDescriptor:g,signal:y}=c,{headerInfo:b}=l,{usdz:x}=e.options,S=t.from(u.values()).pop();let z,v,E,R,D,T,F,A={};u.set(n,A);try{let t;w&&(t=S&&S.lock,A.lock=new _((e=>E=e))),!(c.bufferedWrite||e.writerLocked||e.bufferedWrites&&w)&&g||x?(T=h,await C()):(T=new k,F=new d(T.readable).blob(),T.writable.size=0,z=!0,e.bufferedWrites++,await dr(h)),await dr(T);const{writable:b}=h;let{diskOffset:v}=h;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);Vr(jr(t),0,Q),await Or(b,t),e.offset+=4}x&&((e,t)=>{const{headerInfo:r}=e;let{localHeaderArray:n,extraFieldLength:s}=r,a=jr(n),i=64-(t+Xr(n))%64;4>i&&(i+=64);const o=new p(i),l=jr(o);Br(l,0,6534),Br(l,2,i-2);const c=n;r.localHeaderArray=n=new p(Xr(c)+i),Kr(n,c),Kr(n,o,Xr(c)),a=jr(n),Br(a,28,s+i),e.metadataSize+=i})(l,e.offset-v),z||(await t,await W(b));const{diskNumber:N}=h;if(D=!0,A.diskNumberStart=N,A=await(async(e,t,{diskNumberStart:n,lock:o},l,c,d)=>{const{headerInfo:u,dataDescriptorInfo:f,metadataSize:h}=l,{localHeaderArray:w,headerArray:m,lastModDate:g,rawLastModDate:y,encrypted:b,compressed:x,version:S,compressionMethod:z,rawExtraFieldExtendedTimestamp:k,extraFieldExtendedTimestampFlag:v,rawExtraFieldNTFS:E,rawExtraFieldAES:R}=u,{dataDescriptorArray:D}=f,{rawFilename:T,lastAccessDate:F,creationDate:A,password:C,rawPassword:W,level:N,zip64:U,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:H,zip64DiskNumberStart:O,zipCrypto:M,dataDescriptor:P,directory:q,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:K,onstart:j,onprogress:X,onend:Y,signal:J,encryptionStrength:Q,extendedTimestamp:$,msDosCompatible:ee,internalFileAttribute:te,externalFileAttribute:ne,useCompressionStream:se}=d,ae={lock:o,versionMadeBy:B,zip64:U,directory:!!q,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:V,rawExtraFieldExtendedTimestamp:k,rawExtraFieldNTFS:E,rawExtraFieldAES:R,rawExtraField:Z,extendedTimestamp:$,msDosCompatible:ee,internalFileAttribute:te,externalFileAttribute:ne,diskNumberStart:n};let ie,oe=0,le=0;const{writable:ce}=t;if(e){e.chunkSize=(e=>i.max(e.chunkSize,64))(c),await Or(ce,w);const t=e.readable,r=t.size=e.size,n={options:{codecType:gt,level:N,rawPassword:W,password:C,encryptionStrength:Q,zipCrypto:b&&M,passwordVerification:b&&M&&y>>8&255,signed:!0,compressed:x,encrypted:b,useWebWorkers:K,useCompressionStream:se,transferStreams:!1},config:c,streamOptions:{signal:J,size:r,onstart:j,onprogress:X,onend:Y}},a=await(async(e,t)=>{const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,codecType:l,compressed:c,signed:d,encrypted:u}=r,{workerScripts:f,maxWorkers:p}=n;t.transferStreams=a||a===re;const h=!(c||d||u||t.transferStreams);return t.useWebWorkers=!h&&(i||i===re&&n.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[l]:[],r.useCompressionStream=o||o===re&&n.useCompressionStream,(await(async()=>{const r=Tt.find((e=>!e.busy));if(r)return Ct(r),new xt(r,e,t,w);if(Tt.length<p){const r={indexWorker:At};return At++,Tt.push(r),new xt(r,e,t,w)}return new _((r=>Ft.push({resolve:r,stream:e,workerOptions:t})))})()).run();function w(e){if(Ft.length){const[{resolve:t,stream:r,workerOptions:n}]=Ft.splice(0,1);t(new xt(e,r,n,w))}else e.worker?(Ct(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout((async()=>{Tt=Tt.filter((t=>t!=e));try{await e.terminate()}catch(e){}}),n))})(e,t)):Tt=Tt.filter((t=>t!=e))}})({readable:t,writable:ce},n);le=a.inputSize,oe=a.outputSize,ie=a.signature,ce.size+=le}else await Or(ce,w);let de;if(U){let e=4;I&&(e+=8),L&&(e+=8),H&&(e+=8),O&&(e+=4),de=new p(e)}else de=new p;return((e,t)=>{const{signature:r,rawExtraFieldZip64:n,compressedSize:s,uncompressedSize:i,headerInfo:o,dataDescriptorInfo:l}=e,{headerView:c,encrypted:d}=o,{dataDescriptorView:u,dataDescriptorOffset:f}=l,{zip64:p,zip64UncompressedSize:h,zip64CompressedSize:w,zipCrypto:m,dataDescriptor:g}=t;if(d&&!m||r===re||(Vr(c,10,r),g&&Vr(u,f,r)),p){const e=jr(n);Br(e,0,1),Br(e,2,Xr(n)-4);let t=4;h&&(Vr(c,18,G),Zr(e,t,a(i)),t+=8),w&&(Vr(c,14,G),Zr(e,t,a(s))),g&&(Zr(u,f+4,a(s)),Zr(u,f+12,a(i)))}else Vr(c,14,s),Vr(c,18,i),g&&(Vr(u,f+4,s),Vr(u,f+8,i))})({signature:ie,rawExtraFieldZip64:de,compressedSize:oe,uncompressedSize:le,headerInfo:u,dataDescriptorInfo:f},d),P&&await Or(ce,D),r.assign(ae,{uncompressedSize:le,compressedSize:oe,lastModDate:g,rawLastModDate:y,creationDate:A,lastAccessDate:F,encrypted:b,size:h+oe,compressionMethod:z,version:S,headerArray:m,signature:ie,rawExtraFieldZip64:de,extraFieldExtendedTimestampFlag:v,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:H,zip64DiskNumberStart:O}),ae})(o,T,A,l,e.config,c),D=!1,u.set(n,A),A.filename=n,z){await T.writable.getWriter().close();let e=await F;await t,await C(),R=!0,g||(e=await(async(e,t,r,{zipCrypto:n})=>{let s;s=await t.slice(0,26).arrayBuffer(),26!=s.byteLength&&(s=s.slice(0,26));const a=new m(s);return e.encrypted&&!n||Vr(a,14,e.signature),e.zip64?(Vr(a,18,G),Vr(a,22,G)):(Vr(a,18,e.compressedSize),Vr(a,22,e.uncompressedSize)),await Or(r,new p(s)),t.slice(s.byteLength)})(A,e,b,c)),await W(b),A.diskNumberStart=h.diskNumber,v=h.diskOffset,await e.stream().pipeTo(b,{preventClose:!0,preventAbort:!0,signal:y}),b.size+=e.size,R=!1}if(A.offset=e.offset-v,A.zip64)((e,t)=>{const{rawExtraFieldZip64:r,offset:n,diskNumberStart:s}=e,{zip64UncompressedSize:i,zip64CompressedSize:o,zip64Offset:l,zip64DiskNumberStart:c}=t,d=jr(r);let u=4;i&&(u+=8),o&&(u+=8),l&&(Zr(d,u,a(n)),u+=8),c&&Vr(d,u,s)})(A,c);else if(A.offset>=G)throw new f(Nr);return e.offset+=A.size,A}catch(t){if(z&&R||!z&&D){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}z?e.offset+=T.writable.size:e.offset=T.writable.size}throw u.delete(n),t}finally{z&&e.bufferedWrites--,E&&E(),v&&v()}async function C(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new _((t=>v=()=>{e.writerLocked=!1,t()})),await t}async function W(e){Xr(b.localHeaderArray)>h.availableSize&&(h.availableSize=0,await Or(e,new p))}})(e,n,l,{headerInfo:de,dataDescriptorInfo:ue,metadataSize:fe},c)}finally{e.pendingEntriesSize-=j}return r.assign(pe,{name:n,comment:y,extraField:Z}),new vr(pe)})(c,e,n,l),u.add(y),await y}catch(t){throw c.filenames.delete(e),t}finally{u.delete(y);const e=Lr.shift();e?e():Ir--}}async close(e=new p,r={}){const{pendingAddFileCalls:n,writer:s}=this,{writable:o}=s;for(;n.size;)await _.allSettled(t.from(n));return await(async(e,r,n)=>{const{files:s,writer:o}=e,{diskOffset:l,writable:c}=o;let{diskNumber:d}=o,u=0,h=0,w=e.offset-l,m=s.size;for(const[,e]of s){const{rawFilename:t,rawExtraFieldZip64:r,rawExtraFieldAES:n,rawComment:s,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:l,extraFieldExtendedTimestampFlag:c,lastModDate:d}=e;let u;if(l){u=new p(9);const e=jr(u);Br(e,0,21589),Br(e,2,5),qr(e,4,c),Vr(e,5,i.floor(d.getTime()/1e3))}else u=new p;e.rawExtraFieldCDExtendedTimestamp=u,h+=46+Xr(t,s,r,n,a,u,o)}const g=new p(h),_=jr(g);await dr(o);let y=0;for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:l,rawExtraFieldCDExtendedTimestamp:d,rawExtraFieldNTFS:f,rawExtraField:p,rawComment:h,versionMadeBy:w,headerArray:m,directory:b,zip64:x,zip64UncompressedSize:S,zip64CompressedSize:z,zip64DiskNumberStart:k,zip64Offset:v,msDosCompatible:E,internalFileAttribute:R,externalFileAttribute:D,diskNumberStart:T,uncompressedSize:F,compressedSize:A}=r,C=Xr(i,l,d,f,p);Vr(_,u,33639248),Br(_,u+4,w);const W=jr(m);S||Vr(W,18,F),z||Vr(W,14,A),Kr(g,m,u+6),Br(_,u+30,C),Br(_,u+32,Xr(h)),Br(_,u+34,x&&k?J:T),Br(_,u+36,R),D?Vr(_,u+38,D):b&&E&&qr(_,u+38,16),Vr(_,u+42,x&&v?G:t),Kr(g,a,u+46),Kr(g,i,u+46+Xr(a)),Kr(g,l,u+46+Xr(a,i)),Kr(g,d,u+46+Xr(a,i,l)),Kr(g,f,u+46+Xr(a,i,l,d)),Kr(g,p,u+46+Xr(a,i,l,d,f)),Kr(g,h,u+46+Xr(a)+C);const N=46+Xr(a,h)+C;if(u-y>o.availableSize&&(o.availableSize=0,await Or(c,g.slice(y,u)),y=u),u+=N,n.onprogress)try{await n.onprogress(e+1,s.size,new vr(r))}catch(e){}}await Or(c,y?g.slice(y):g);let b=o.diskNumber;const{availableSize:x}=o;22>x&&b++;let S=Pr(e,n,"zip64");if(!(G>w&&G>h&&J>m&&J>b)){if(!1===S)throw new f(Nr);S=!0}const z=new p(S?98:22),k=jr(z);u=0,S&&(Vr(k,0,101075792),Zr(k,4,a(44)),Br(k,12,45),Br(k,14,45),Vr(k,16,b),Vr(k,20,d),Zr(k,24,a(m)),Zr(k,32,a(m)),Zr(k,40,a(h)),Zr(k,48,a(w)),Vr(k,56,117853008),Zr(k,64,a(w)+a(h)),Vr(k,72,b+1),Pr(e,n,"supportZip64SplitFile",!0)&&(b=J,d=J),m=J,w=G,h=G,u+=76),Vr(k,u,101010256),Br(k,u+4,b),Br(k,u+6,d),Br(k,u+8,m),Br(k,u+10,m),Vr(k,u+12,h),Vr(k,u+16,w);const v=Xr(r);if(v){if(v>J)throw new f(Rr);Br(k,u+20,v)}await Or(c,z),v&&await Or(c,r)})(this,e,r),Pr(this,r,"preventClose")||await o.getWriter().close(),s.getData?s.getData():o}}async function Or(e,t){const r=e.getWriter();try{await r.ready,e.size+=Xr(t),await r.write(t)}finally{r.releaseLock()}}function Mr(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function Pr(e,t,r,n){const s=t[r]===re?e.options[r]:t[r];return s===re?n:s}function qr(e,t,r){e.setUint8(t,r)}function Br(e,t,r){e.setUint16(t,r,!0)}function Vr(e,t,r){e.setUint32(t,r,!0)}function Zr(e,t,r){e.setBigUint64(t,r,!0)}function Kr(e,t,r){e.set(t,r)}function jr(e){return new m(e.buffer)}function Xr(...e){let t=0;return e.forEach((e=>e&&(t+=e.length))),t}de({Deflate:function(e){const t=new Y,r=(n=e&&e.chunkSize?e.chunkSize:65536)+5*(i.floor(n/16383)+1);var n;const s=new p(r);let a=e?e.level:-1;void 0===a&&(a=-1),t.deflateInit(a),t.next_out=s,this.append=(e,n)=>{let a,i,o=0,l=0,c=0;const d=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=r,a=t.deflate(0),0!=a)throw new f("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==r?d.push(new p(s)):d.push(s.subarray(0,t.next_out_index))),c+=t.next_out_index,n&&t.next_in_index>0&&t.next_in_index!=o&&(n(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(i=new p(c),d.forEach((e=>{i.set(e,l),l+=e.length}))):i=d[0]?new p(d[0]):new p,i}},this.flush=()=>{let e,n,a=0,i=0;const o=[];do{if(t.next_out_index=0,t.avail_out=r,e=t.deflate(4),1!=e&&0!=e)throw new f("deflating: "+t.msg);r-t.avail_out>0&&o.push(s.slice(0,t.next_out_index)),i+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),n=new p(i),o.forEach((e=>{n.set(e,a),a+=e.length})),n}}}),e.BlobReader=Kt,e.BlobWriter=jt,e.Data64URIReader=class extends Vt{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,dataStart:n,size:i.floor(.75*(t-n))})}readUint8Array(e,t){const{dataStart:r,dataURI:n}=this,s=new p(t),a=4*i.floor(e/3),o=atob(n.substring(a+r,4*i.ceil((e+t)/3)+r)),l=e-3*i.floor(a/4);for(let e=l;l+t>e;e++)s[e-l]=o.charCodeAt(e);return s}},e.Data64URIWriter=class extends Zt{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r=0,s=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=z(s):t.pending=s}getData(){return this.data+z(this.pending)}},e.ERR_DUPLICATED_NAME=Er,e.ERR_HTTP_RANGE=Nt,e.ERR_INVALID_COMMENT=Rr,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ar,e.ERR_INVALID_ENTRY_COMMENT=Dr,e.ERR_INVALID_ENTRY_NAME=Tr,e.ERR_INVALID_EXTRAFIELD_DATA=Wr,e.ERR_INVALID_EXTRAFIELD_TYPE=Cr,e.ERR_INVALID_VERSION=Fr,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Ut,e.ERR_UNSUPPORTED_FORMAT=Nr,e.HttpRangeReader=class extends or{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=or,e.Reader=Vt,e.SplitDataReader=lr,e.SplitDataWriter=cr,e.SplitZipReader=hr,e.SplitZipWriter=wr,e.TextReader=class extends Kt{constructor(e){super(new g([e],{type:"text/plain"}))}},e.TextWriter=class extends jt{constructor(e){super(e),r.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new _(((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)}))}}},e.Uint8ArrayReader=class extends Vt{constructor(e){super(),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Zt{init(e=0){r.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const r=t.array;t.array=new p(r.length+e.length),t.array.set(r)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=Zt,e.ZipWriter=Hr,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new k;this.readable=t,this.zipWriter=new Hr(r,e)}transform(e){const{readable:t,writable:r}=new k({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:r}}writable(e){const{readable:t,writable:r}=new k;return this.zipWriter.add(e,t),r}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=de,e.getMimeType=()=>"application/octet-stream",e.initReader=ur,e.initStream=dr,e.initWriter=fr,e.readUint8Array=pr,e.terminateWorkers=async()=>{await _.allSettled(Tt.map((e=>(Ct(e),e.terminate()))))},r.defineProperty(e,"__esModule",{value:!0})})); | ||
((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:r,String:n,Number:s,BigInt:a,Math:i,Date:o,Map:l,Set:c,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:h,Uint32Array:w,DataView:m,Blob:g,Promise:_,TextEncoder:y,TextDecoder:b,document:x,crypto:S,btoa:z,TransformStream:k,ReadableStream:v,WritableStream:E,CompressionStream:R,DecompressionStream:D,navigator:T,Worker:F}="undefined"!=typeof globalThis?globalThis:this||self,A=15,C=573,W=-2;function N(e){return U(e.map((([e,r])=>new t(e).fill(r,0,e))))}function U(e){return e.reduce(((e,r)=>e.concat(t.isArray(r)?U(r):r)),[])}const I=[0,1,2,3].concat(...N([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function L(){const e=this;function t(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}e.build_tree=r=>{const n=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems;let o,l,c,d=-1;for(r.heap_len=0,r.heap_max=C,o=0;a>o;o++)0!==n[2*o]?(r.heap[++r.heap_len]=d=o,r.depth[o]=0):n[2*o+1]=0;for(;2>r.heap_len;)c=r.heap[++r.heap_len]=2>d?++d:0,n[2*c]=1,r.depth[c]=0,r.opt_len--,s&&(r.static_len-=s[2*c+1]);for(e.max_code=d,o=i.floor(r.heap_len/2);o>=1;o--)r.pqdownheap(n,o);c=a;do{o=r.heap[1],r.heap[1]=r.heap[r.heap_len--],r.pqdownheap(n,1),l=r.heap[1],r.heap[--r.heap_max]=o,r.heap[--r.heap_max]=l,n[2*c]=n[2*o]+n[2*l],r.depth[c]=i.max(r.depth[o],r.depth[l])+1,n[2*o+1]=n[2*l+1]=c,r.heap[1]=c++,r.pqdownheap(n,1)}while(r.heap_len>=2);r.heap[--r.heap_max]=r.heap[1],(t=>{const r=e.dyn_tree,n=e.stat_desc.static_tree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,i=e.stat_desc.max_length;let o,l,c,d,u,f,p=0;for(d=0;A>=d;d++)t.bl_count[d]=0;for(r[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;C>o;o++)l=t.heap[o],d=r[2*r[2*l+1]+1]+1,d>i&&(d=i,p++),r[2*l+1]=d,l>e.max_code||(t.bl_count[d]++,u=0,a>l||(u=s[l-a]),f=r[2*l],t.opt_len+=f*(d+u),n&&(t.static_len+=f*(n[2*l+1]+u)));if(0!==p){do{for(d=i-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[i]--,p-=2}while(p>0);for(d=i;0!==d;d--)for(l=t.bl_count[d];0!==l;)c=t.heap[--o],c>e.max_code||(r[2*c+1]!=d&&(t.opt_len+=(d-r[2*c+1])*r[2*c],r[2*c+1]=d),l--)}})(r),((e,r,n)=>{const s=[];let a,i,o,l=0;for(a=1;A>=a;a++)s[a]=l=l+n[a-1]<<1;for(i=0;r>=i;i++)o=e[2*i+1],0!==o&&(e[2*i]=t(s[o]++,o))})(n,e.max_code,r.bl_count)}}function H(e,t,r,n,s){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=r,a.elems=n,a.max_length=s}L._length_code=[0,1,2,3,4,5,6,7].concat(...N([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),L.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],L.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],L.d_code=e=>256>e?I[e]:I[256+(e>>>7)],L.extra_lbits=[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],L.extra_dbits=[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],L.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],L.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const O=N([[144,8],[112,9],[24,7],[8,8]]);H.static_ltree=U([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map(((e,t)=>[e,O[t]])));const M=N([[30,5]]);function q(e,t,r,n,s){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=r,a.max_chain=n,a.func=s}H.static_dtree=U([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map(((e,t)=>[e,M[t]]))),H.static_l_desc=new H(H.static_ltree,L.extra_lbits,257,286,A),H.static_d_desc=new H(H.static_dtree,L.extra_dbits,0,30,A),H.static_bl_desc=new H(null,L.extra_blbits,0,19,7);const B=[new q(0,0,0,0,0),new q(4,4,8,4,1),new q(4,5,16,8,1),new q(4,6,32,32,1),new q(4,4,16,16,2),new q(8,16,32,32,2),new q(8,16,128,128,2),new q(8,32,128,256,2),new q(32,128,258,1024,2),new q(32,258,258,4096,2)],P=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],V=113,Z=666,K=262;function j(e,t,r,n){const s=e[2*t],a=e[2*r];return a>s||s==a&&n[t]<=n[r]}function X(){const e=this;let t,r,n,s,a,o,l,c,d,u,f,w,m,g,_,y,b,x,S,z,k,v,E,R,D,T,F,A,C,N,U,I,O;const M=new L,q=new L,X=new L;let Y,G,J,Q,$,ee;function te(){let t;for(t=0;286>t;t++)U[2*t]=0;for(t=0;30>t;t++)I[2*t]=0;for(t=0;19>t;t++)O[2*t]=0;U[512]=1,e.opt_len=e.static_len=0,G=J=0}function re(e,t){let r,n=-1,s=e[1],a=0,i=7,o=4;0===s&&(i=138,o=3),e[2*(t+1)+1]=65535;for(let l=0;t>=l;l++)r=s,s=e[2*(l+1)+1],++a<i&&r==s||(o>a?O[2*r]+=a:0!==r?(r!=n&&O[2*r]++,O[32]++):a>10?O[36]++:O[34]++,a=0,n=r,0===s?(i=138,o=3):r==s?(i=6,o=3):(i=7,o=4))}function ne(t){e.pending_buf[e.pending++]=t}function se(e){ne(255&e),ne(e>>>8&255)}function ae(e,t){let r;const n=t;ee>16-n?(r=e,$|=r<<ee&65535,se($),$=r>>>16-ee,ee+=n-16):($|=e<<ee&65535,ee+=n)}function ie(e,t){const r=2*e;ae(65535&t[r],65535&t[r+1])}function oe(e,t){let r,n,s=-1,a=e[1],i=0,o=7,l=4;for(0===a&&(o=138,l=3),r=0;t>=r;r++)if(n=a,a=e[2*(r+1)+1],++i>=o||n!=a){if(l>i)do{ie(n,O)}while(0!=--i);else 0!==n?(n!=s&&(ie(n,O),i--),ie(16,O),ae(i-3,2)):i>10?(ie(18,O),ae(i-11,7)):(ie(17,O),ae(i-3,3));i=0,s=n,0===a?(o=138,l=3):n==a?(o=6,l=3):(o=7,l=4)}}function le(){16==ee?(se($),$=0,ee=0):8>ee||(ne(255&$),$>>>=8,ee-=8)}function ce(t,r){let n,s,a;if(e.dist_buf[G]=t,e.lc_buf[G]=255&r,G++,0===t?U[2*r]++:(J++,t--,U[2*(L._length_code[r]+256+1)]++,I[2*L.d_code(t)]++),!(8191&G)&&F>2){for(n=8*G,s=k-b,a=0;30>a;a++)n+=I[2*a]*(5+L.extra_dbits[a]);if(n>>>=3,J<i.floor(G/2)&&n<i.floor(s/2))return!0}return G==Y-1}function de(t,r){let n,s,a,i,o=0;if(0!==G)do{n=e.dist_buf[o],s=e.lc_buf[o],o++,0===n?ie(s,t):(a=L._length_code[s],ie(a+256+1,t),i=L.extra_lbits[a],0!==i&&(s-=L.base_length[a],ae(s,i)),n--,a=L.d_code(n),ie(a,r),i=L.extra_dbits[a],0!==i&&(n-=L.base_dist[a],ae(n,i)))}while(G>o);ie(256,t),Q=t[513]}function ue(){ee>8?se($):ee>0&&ne(255&$),$=0,ee=0}function fe(t,r,n){ae(0+(n?1:0),3),((t,r)=>{ue(),Q=8,se(r),se(~r),e.pending_buf.set(c.subarray(t,t+r),e.pending),e.pending+=r})(t,r)}function pe(r){((t,r,n)=>{let s,a,i=0;F>0?(M.build_tree(e),q.build_tree(e),i=(()=>{let t;for(re(U,M.max_code),re(I,q.max_code),X.build_tree(e),t=18;t>=3&&0===O[2*L.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),s=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a>s||(s=a)):s=a=r+5,r+4>s||-1==t?a==s?(ae(2+(n?1:0),3),de(H.static_ltree,H.static_dtree)):(ae(4+(n?1:0),3),((e,t,r)=>{let n;for(ae(e-257,5),ae(t-1,5),ae(r-4,4),n=0;r>n;n++)ae(O[2*L.bl_order[n]+1],3);oe(U,e-1),oe(I,t-1)})(M.max_code+1,q.max_code+1,i+1),de(U,I)):fe(t,r,n),te(),n&&ue()})(0>b?-1:b,k-b,r),b=k,t.flush_pending()}function he(){let e,r,n,s;do{if(s=d-E-k,0===s&&0===k&&0===E)s=a;else if(-1==s)s--;else if(k>=a+a-K){c.set(c.subarray(a,a+a),0),v-=a,k-=a,b-=a,e=m,n=e;do{r=65535&f[--n],f[n]=a>r?0:r-a}while(0!=--e);e=a,n=e;do{r=65535&u[--n],u[n]=a>r?0:r-a}while(0!=--e);s+=a}if(0===t.avail_in)return;e=t.read_buf(c,k+E,s),E+=e,3>E||(w=255&c[k],w=(w<<y^255&c[k+1])&_)}while(K>E&&0!==t.avail_in)}function we(e){let t,r,n=D,s=k,i=R;const o=k>a-K?k-(a-K):0;let d=N;const f=l,p=k+258;let h=c[s+i-1],w=c[s+i];C>R||(n>>=2),d>E&&(d=E);do{if(t=e,c[t+i]==w&&c[t+i-1]==h&&c[t]==c[s]&&c[++t]==c[s+1]){s+=2,t++;do{}while(c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&p>s);if(r=258-(p-s),s=p-258,r>i){if(v=e,i=r,r>=d)break;h=c[s+i-1],w=c[s+i]}}}while((e=65535&u[e&f])>o&&0!=--n);return i>E?E:i}e.depth=[],e.bl_count=[],e.heap=[],U=[],I=[],O=[],e.pqdownheap=(t,r)=>{const n=e.heap,s=n[r];let a=r<<1;for(;a<=e.heap_len&&(a<e.heap_len&&j(t,n[a+1],n[a],e.depth)&&a++,!j(t,s,n[a],e.depth));)n[r]=n[a],r=a,a<<=1;n[r]=s},e.deflateInit=(t,S,v,L,P,Z)=>(L||(L=8),P||(P=8),Z||(Z=0),t.msg=null,-1==S&&(S=6),1>P||P>9||8!=L||9>v||v>15||0>S||S>9||0>Z||Z>2?W:(t.dstate=e,o=v,a=1<<o,l=a-1,g=P+7,m=1<<g,_=m-1,y=i.floor((g+3-1)/3),c=new p(2*a),u=[],f=[],Y=1<<P+6,e.pending_buf=new p(4*Y),n=4*Y,e.dist_buf=new h(Y),e.lc_buf=new p(Y),F=S,A=Z,(t=>(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,r=V,s=0,M.dyn_tree=U,M.stat_desc=H.static_l_desc,q.dyn_tree=I,q.stat_desc=H.static_d_desc,X.dyn_tree=O,X.stat_desc=H.static_bl_desc,$=0,ee=0,Q=8,te(),(()=>{d=2*a,f[m-1]=0;for(let e=0;m-1>e;e++)f[e]=0;T=B[F].max_lazy,C=B[F].good_length,N=B[F].nice_length,D=B[F].max_chain,k=0,b=0,E=0,x=R=2,z=0,w=0})(),0))(t))),e.deflateEnd=()=>42!=r&&r!=V&&r!=Z?W:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,f=null,u=null,c=null,e.dstate=null,r==V?-3:0),e.deflateParams=(e,t,r)=>{let n=0;return-1==t&&(t=6),0>t||t>9||0>r||r>2?W:(B[F].func!=B[t].func&&0!==e.total_in&&(n=e.deflate(1)),F!=t&&(F=t,T=B[F].max_lazy,C=B[F].good_length,N=B[F].nice_length,D=B[F].max_chain),A=r,n)},e.deflateSetDictionary=(e,t,n)=>{let s,i=n,o=0;if(!t||42!=r)return W;if(3>i)return 0;for(i>a-K&&(i=a-K,o=n-i),c.set(t.subarray(o,o+i),0),k=i,b=i,w=255&c[0],w=(w<<y^255&c[1])&_,s=0;i-3>=s;s++)w=(w<<y^255&c[s+2])&_,u[s&l]=f[w],f[w]=s;return 0},e.deflate=(i,d)=>{let p,h,g,D,C;if(d>4||0>d)return W;if(!i.next_out||!i.next_in&&0!==i.avail_in||r==Z&&4!=d)return i.msg=P[4],W;if(0===i.avail_out)return i.msg=P[7],-5;var N;if(t=i,D=s,s=d,42==r&&(h=8+(o-8<<4)<<8,g=(F-1&255)>>1,g>3&&(g=3),h|=g<<6,0!==k&&(h|=32),h+=31-h%31,r=V,ne((N=h)>>8&255),ne(255&N)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return s=-1,0}else if(0===t.avail_in&&D>=d&&4!=d)return t.msg=P[7],-5;if(r==Z&&0!==t.avail_in)return i.msg=P[7],-5;if(0!==t.avail_in||0!==E||0!=d&&r!=Z){switch(C=-1,B[F].func){case 0:C=(e=>{let r,s=65535;for(s>n-5&&(s=n-5);;){if(1>=E){if(he(),0===E&&0==e)return 0;if(0===E)break}if(k+=E,E=0,r=b+s,(0===k||k>=r)&&(E=k-r,k=r,pe(!1),0===t.avail_out))return 0;if(k-b>=a-K&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 1:C=(e=>{let r,n=0;for(;;){if(K>E){if(he(),K>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<y^255&c[k+2])&_,n=65535&f[w],u[k&l]=f[w],f[w]=k),0===n||(k-n&65535)>a-K||2!=A&&(x=we(n)),3>x)r=ce(0,255&c[k]),E--,k++;else if(r=ce(k-v,x-3),E-=x,x>T||3>E)k+=x,x=0,w=255&c[k],w=(w<<y^255&c[k+1])&_;else{x--;do{k++,w=(w<<y^255&c[k+2])&_,n=65535&f[w],u[k&l]=f[w],f[w]=k}while(0!=--x);k++}if(r&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 2:C=(e=>{let r,n,s=0;for(;;){if(K>E){if(he(),K>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<y^255&c[k+2])&_,s=65535&f[w],u[k&l]=f[w],f[w]=k),R=x,S=v,x=2,0!==s&&T>R&&a-K>=(k-s&65535)&&(2!=A&&(x=we(s)),5>=x&&(1==A||3==x&&k-v>4096)&&(x=2)),3>R||x>R)if(0!==z){if(r=ce(0,255&c[k-1]),r&&pe(!1),k++,E--,0===t.avail_out)return 0}else z=1,k++,E--;else{n=k+E-3,r=ce(k-1-S,R-3),E-=R-1,R-=2;do{++k>n||(w=(w<<y^255&c[k+2])&_,s=65535&f[w],u[k&l]=f[w],f[w]=k)}while(0!=--R);if(z=0,x=2,k++,r&&(pe(!1),0===t.avail_out))return 0}}return 0!==z&&(r=ce(0,255&c[k-1]),z=0),pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d)}if(2!=C&&3!=C||(r=Z),0==C||2==C)return 0===t.avail_out&&(s=-1),0;if(1==C){if(1==d)ae(2,3),ie(256,H.static_ltree),le(),9>1+Q+10-ee&&(ae(2,3),ie(256,H.static_ltree),le()),Q=7;else if(fe(0,0,!1),3==d)for(p=0;m>p;p++)f[p]=0;if(t.flush_pending(),0===t.avail_out)return s=-1,0}}return 4!=d?0:1}}function Y(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}Y.prototype={deflateInit(e,t){const r=this;return r.dstate=new X,t||(t=A),r.dstate.deflateInit(r,e,t)},deflate(e){const t=this;return t.dstate?t.dstate.deflate(t,e):W},deflateEnd(){const e=this;if(!e.dstate)return W;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){const r=this;return r.dstate?r.dstate.deflateParams(r,e,t):W},deflateSetDictionary(e,t){const r=this;return r.dstate?r.dstate.deflateSetDictionary(r,e,t):W},read_buf(e,t,r){const n=this;let s=n.avail_in;return s>r&&(s=r),0===s?0:(n.avail_in-=s,e.set(n.next_in.subarray(n.next_in_index,n.next_in_index+s),t),n.next_in_index+=s,n.total_in+=s,s)},flush_pending(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const G=4294967295,J=65535,Q=134695760,$=Q,ee=new o(2107,11,31),te=new o(1980,0,1),re=void 0,ne="undefined",se="function";class ae{constructor(e){return class extends k{constructor(t,r){const n=new e(r);super({transform(e,t){t.enqueue(n.append(e))},flush(e){const t=n.flush();t&&e.enqueue(t)}})}}}}let ie=2;try{typeof T!=ne&&T.hardwareConcurrency&&(ie=T.hardwareConcurrency)}catch(e){}const oe={chunkSize:524288,maxWorkers:ie,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:re,CompressionStreamNative:typeof R!=ne&&R,DecompressionStreamNative:typeof D!=ne&&D},le=r.assign({},oe);function ce(){return le}function de(e){const{baseURL:r,chunkSize:n,maxWorkers:s,terminateWorkerTimeout:a,useCompressionStream:i,useWebWorkers:o,Deflate:l,Inflate:c,CompressionStream:d,DecompressionStream:u,workerScripts:p}=e;if(ue("baseURL",r),ue("chunkSize",n),ue("maxWorkers",s),ue("terminateWorkerTimeout",a),ue("useCompressionStream",i),ue("useWebWorkers",o),l&&(le.CompressionStream=new ae(l)),c&&(le.DecompressionStream=new ae(c)),ue("CompressionStream",d),ue("DecompressionStream",u),p!==re){const{deflate:e,inflate:r}=p;if((e||r)&&(le.workerScripts||(le.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");le.workerScripts.deflate=e}if(r){if(!t.isArray(r))throw new f("workerScripts.inflate must be an array");le.workerScripts.inflate=r}}}function ue(e,t){t!==re&&(le[e]=t)}const fe=[];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;fe[e]=t}class pe{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let r=0,n=0|e.length;n>r;r++)t=t>>>8^fe[255&(t^e[r])];this.crc=t}get(){return~this.crc}}class he extends k{constructor(){let e;const t=new pe;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new p(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function we(e){if(typeof y==ne){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new y).encode(e)}const me={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=me.getPartial(r);return 32===n?e.concat(t):me._shiftRight(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+me.getPartial(r)},clamp(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=me.partial(t,e[r-1]&2147483648>>t-1,1)),e},partial:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,getPartial:e=>i.round(e/1099511627776)||32,_shiftRight(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=me.getPartial(s);return n.push(me.partial(t+a&31,t+a>32?r:n.pop(),1)),n}},ge={bytes:{fromBits(e){const t=me.bitLength(e)/8,r=new p(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},toBits(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(me.partial(8*(3&r),n)),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=ge.utf8String.toBits(e));const r=t._buffer=me.concat(t._buffer,e),n=t._length,s=t._length=n+me.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new w(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const r=e._h;t=me.concat(t,[me.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(),r}_f(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}_S(e,t){return t<<e|t>>>32-e}_block(e){const r=this,n=r._h,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],o=n[1],l=n[2],c=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r._S(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r._S(5,a)+r._f(e,o,l,c)+d+s[e]+r._key[i.floor(e/20)]|0;d=c,c=l,l=r._S(30,o),o=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+o|0,n[2]=n[2]+l|0,n[3]=n[3]+c|0,n[4]=n[4]+d|0}},ye={getRandomValues(e){const t=new w(e.buffer),r=e=>{let t=987654321;const r=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&r,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&r)&r)/4294967296+.5)*(i.random()>.5?1:-1))};for(let n,s=0;s<e.length;s+=4){const e=r(4294967296*(n||i.random()));n=987654071*e(),t[s/4]=4294967296*e()|0}return e}},be={importKey:e=>new be.hmacSha1(ge.bytes.toBits(e)),pbkdf2(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new f("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,l,c;const d=new ArrayBuffer(s),u=new m(d);let p=0;const h=me;for(t=ge.bytes.toBits(t),c=1;(s||1)>p;c++){for(a=i=e.encrypt(h.concat(t,[c])),o=1;r>o;o++)for(i=e.encrypt(i),l=0;l<i.length;l++)a[l]^=i[l];for(o=0;(s||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,n/8)},hmacSha1:class{constructor(e){const t=this,r=t._hash=_e,n=[[],[]];t._baseHash=[new r,new r];const s=t._baseHash[0].blockSize/32;e.length>s&&(e=(new r).update(e).finalize());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new r(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(),r=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),r}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},xe=typeof S!=ne&&typeof S.getRandomValues==se,Se="Invalid password",ze="Invalid signature",ke="zipjs-abort-check-password";function ve(e){return xe?S.getRandomValues(e):ye.getRandomValues(e)}const Ee=16,Re={name:"PBKDF2"},De=r.assign({hash:{name:"HMAC"}},Re),Te=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Re),Fe=["deriveBits"],Ae=[8,12,16],Ce=[16,24,32],We=10,Ne=[0,0,0,0],Ue=typeof S!=ne,Ie=Ue&&S.subtle,Le=Ue&&typeof Ie!=ne,He=ge.bytes,Oe=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const r=t._tables[0][4],n=t._tables[1],s=e.length;let a,i,o,l=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=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>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:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[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],r=e[4],n=t[4],s=[],a=[];let i,o,l,c;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,n[a]=d,c=s[l=s[o=s[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=f=f<<24^f>>>8,t[r][a]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const r=this._key[t],n=r.length/4-2,s=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,p,h,w=e[0]^r[0],m=e[t?3:1]^r[1],g=e[2]^r[2],_=e[t?1:3]^r[3],y=4;for(let e=0;n>e;e++)u=i[w>>>24]^o[m>>16&255]^l[g>>8&255]^c[255&_]^r[y],p=i[m>>>24]^o[g>>16&255]^l[_>>8&255]^c[255&w]^r[y+1],h=i[g>>>24]^o[_>>16&255]^l[w>>8&255]^c[255&m]^r[y+2],_=i[_>>>24]^o[w>>16&255]^l[m>>8&255]^c[255&g]^r[y+3],y+=4,w=u,m=p,g=h;for(let e=0;4>e;e++)s[t?3&-e:e]=d[w>>>24]<<24^d[m>>16&255]<<16^d[g>>8&255]<<8^d[255&_]^r[y++],u=w,w=m,m=g,g=_,_=u;return s}},Me=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,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,r){let n;if(!(n=t.length))return[];const s=me.bitLength(t);for(let s=0;n>s;s+=4){this.incCounter(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return me.clamp(t,s)}},qe=be.hmacSha1;let Be=Ue&&Le&&typeof Ie.importKey==se,Pe=Ue&&Le&&typeof Ie.deriveBits==se;class Ve extends k{constructor({password:e,rawPassword:t,signed:n,encryptionStrength:s,checkPasswordOnly:a}){super({start(){r.assign(this,{ready:new _((e=>this.resolveReady=e)),password:Xe(e,t),signed:n,strength:s-1,pending:new p})},async transform(e,t){const r=this,{password:n,strength:s,resolveReady:i,ready:o}=r;n?(await(async(e,t,r,n)=>{const s=await je(e,t,r,Ge(n,0,Ae[t])),a=Ge(n,Ae[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new f(Se)})(r,s,n,Ge(e,0,Ae[s]+2)),e=Ge(e,Ae[s]+2),a?t.error(new f(ke)):i()):await o;const l=new p(e.length-We-(e.length-We)%Ee);t.enqueue(Ke(r,e,l,0,We,!0))},async flush(e){const{signed:t,ctr:r,hmac:n,pending:s,ready:a}=this;if(n&&r){await a;const i=Ge(s,0,s.length-We),o=Ge(s,s.length-We);let l=new p;if(i.length){const e=Qe(He,i);n.update(e);const t=r.update(e);l=Je(He,t)}if(t){const e=Ge(Je(He,n.digest()),0,We);for(let t=0;We>t;t++)if(e[t]!=o[t])throw new f(ze)}e.enqueue(l)}}})}}class Ze extends k{constructor({password:e,rawPassword:t,encryptionStrength:n}){let s;super({start(){r.assign(this,{ready:new _((e=>this.resolveReady=e)),password:Xe(e,t),strength:n-1,pending:new p})},async transform(e,t){const r=this,{password:n,strength:s,resolveReady:a,ready:i}=r;let o=new p;n?(o=await(async(e,t,r)=>{const n=ve(new p(Ae[t]));return Ye(n,await je(e,t,r,n))})(r,s,n),a()):await i;const l=new p(o.length+e.length-e.length%Ee);l.set(o,0),t.enqueue(Ke(r,e,l,o.length,0))},async flush(e){const{ctr:t,hmac:r,pending:n,ready:a}=this;if(r&&t){await a;let i=new p;if(n.length){const e=t.update(Qe(He,n));r.update(e),i=Je(He,e)}s.signature=Je(He,r.digest()).slice(0,We),e.enqueue(Ye(i,s.signature))}}}),s=this}}function Ke(e,t,r,n,s,a){const{ctr:i,hmac:o,pending:l}=e,c=t.length-s;let d;for(l.length&&(t=Ye(l,t),r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new p(t)).set(r,0)}return e})(r,c-c%Ee)),d=0;c-Ee>=d;d+=Ee){const e=Qe(He,Ge(t,d,d+Ee));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(Je(He,s),d+n)}return e.pending=Ge(t,d),r}async function je(e,n,s,a){e.password=null;const i=await(async(e,t,r,n,s)=>{if(!Be)return be.importKey(t);try{return await Ie.importKey("raw",t,r,!1,s)}catch(e){return Be=!1,be.importKey(t)}})(0,s,De,0,Fe),o=await(async(e,t,r)=>{if(!Pe)return be.pbkdf2(t,e.salt,Te.iterations,r);try{return await Ie.deriveBits(e,t,r)}catch(n){return Pe=!1,be.pbkdf2(t,e.salt,Te.iterations,r)}})(r.assign({salt:a},Te),i,8*(2*Ce[n]+2)),l=new p(o),c=Qe(He,Ge(l,0,Ce[n])),d=Qe(He,Ge(l,Ce[n],2*Ce[n])),u=Ge(l,2*Ce[n]);return r.assign(e,{keys:{key:c,authentication:d,passwordVerification:u},ctr:new Me(new Oe(c),t.from(Ne)),hmac:new qe(d)}),u}function Xe(e,t){return t===re?we(e):t}function Ye(e,t){let r=e;return e.length+t.length&&(r=new p(e.length+t.length),r.set(e,0),r.set(t,e.length)),r}function Ge(e,t,r){return e.subarray(t,r)}function Je(e,t){return e.fromBits(t)}function Qe(e,t){return e.toBits(t)}class $e extends k{constructor({password:e,passwordVerification:t,checkPasswordOnly:n}){super({start(){r.assign(this,{password:e,passwordVerification:t}),nt(this,e)},transform(e,t){const r=this;if(r.password){const t=tt(r,e.subarray(0,12));if(r.password=null,t[11]!=r.passwordVerification)throw new f(Se);e=e.subarray(12)}n?t.error(new f(ke)):t.enqueue(tt(r,e))}})}}class et extends k{constructor({password:e,passwordVerification:t}){super({start(){r.assign(this,{password:e,passwordVerification:t}),nt(this,e)},transform(e,t){const r=this;let n,s;if(r.password){r.password=null;const t=ve(new p(12));t[11]=r.passwordVerification,n=new p(e.length+t.length),n.set(rt(r,t),0),s=12}else n=new p(e.length),s=0;n.set(rt(r,e),s),t.enqueue(n)}})}}function tt(e,t){const r=new p(t.length);for(let n=0;n<t.length;n++)r[n]=at(e)^t[n],st(e,r[n]);return r}function rt(e,t){const r=new p(t.length);for(let n=0;n<t.length;n++)r[n]=at(e)^t[n],st(e,t[n]);return r}function nt(e,t){const n=[305419896,591751049,878082192];r.assign(e,{keys:n,crcKey0:new pe(n[0]),crcKey2:new pe(n[2])});for(let r=0;r<t.length;r++)st(e,t.charCodeAt(r))}function st(e,t){let[r,n,s]=e.keys;e.crcKey0.append([t]),r=~e.crcKey0.get(),n=ot(i.imul(ot(n+it(r)),134775813)+1),e.crcKey2.append([n>>>24]),s=~e.crcKey2.get(),e.keys=[r,n,s]}function at(e){const t=2|e.keys[2];return it(i.imul(t,1^t)>>>8)}function it(e){return 255&e}function ot(e){return 4294967295&e}const lt="deflate-raw";class ct extends k{constructor(e,{chunkSize:t,CompressionStream:r,CompressionStreamNative:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:l,level:c}=e,d=this;let u,f,p=ut(super.readable);a&&!o||!l||(u=new he,p=ht(p,u)),s&&(p=pt(p,i,{level:c,chunkSize:t},n,r)),a&&(o?p=ht(p,new et(e)):(f=new Ze(e),p=ht(p,f))),ft(d,p,(()=>{let e;a&&!o&&(e=f.signature),a&&!o||!l||(e=new m(u.value.buffer).getUint32(0)),d.signature=e}))}}class dt extends k{constructor(e,{chunkSize:t,DecompressionStream:r,DecompressionStreamNative:n}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:l,useCompressionStream:c}=e;let d,u,p=ut(super.readable);a&&(s?p=ht(p,new $e(e)):(u=new Ve(e),p=ht(p,u))),l&&(p=pt(p,c,{chunkSize:t},n,r)),a&&!s||!i||(d=new he,p=ht(p,d)),ft(this,p,(()=>{if((!a||s)&&i){const e=new m(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(ze)}}))}}function ut(e){return ht(e,new k({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ft(e,t,n){t=ht(t,new k({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function pt(e,t,r,n,s){try{e=ht(e,new(t&&n?n:s)(lt,r))}catch(n){if(!t)return e;try{e=ht(e,new s(lt,r))}catch(t){return e}}return e}function ht(e,t){return e.pipeThrough(t)}const wt="data",mt="close",gt="deflate";class _t extends k{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith(gt)?a=ct:s.startsWith("inflate")&&(a=dt);let i=0,o=0;const l=new a(e,t),c=super.readable,d=new k({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:o})}}),u=new k({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;r.assign(n,{signature:e,outputSize:i,inputSize:o})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(l).pipeThrough(u)})}}class yt extends k{constructor(e){let t;super({transform:function r(n,s){if(t){const e=new p(t.length+n.length);e.set(t),e.set(n,t.length),n=e,t=null}n.length>e?(s.enqueue(n.slice(0,e)),r(n.slice(e),s)):t=n},flush(e){t&&t.length&&e.enqueue(t)}})}}let bt=typeof F!=ne;class xt{constructor(e,{readable:t,writable:n},{options:s,config:a,streamOptions:i,useWebWorkers:o,transferStreams:l,scripts:c},d){const{signal:u}=i;return r.assign(e,{busy:!0,readable:t.pipeThrough(new yt(a.chunkSize)).pipeThrough(new St(t,i),{signal:u}),writable:n,options:r.assign({},s),scripts:c,transferStreams:l,terminate:()=>new _((t=>{const{worker:r,busy:n}=e;r?(n?e.resolveTerminated=t:(r.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,d(e)}}),(o&&bt?vt:kt)(e,a)}}class St extends k{constructor(e,{onstart:t,onprogress:r,size:n,onend:s}){let a=0;super({async start(){t&&await zt(t,n)},async transform(e,t){a+=e.length,r&&await zt(r,a,n),t.enqueue(e)},async flush(){e.size=a,s&&await zt(s,a)}})}}async function zt(e,...t){try{await e(...t)}catch(e){}}function kt(e,t){return{run:()=>(async({options:e,readable:t,writable:r,onTaskFinished:n},s)=>{try{const n=new _t(e,s);await t.pipeThrough(n).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:i,outputSize:o}=n;return{signature:a,inputSize:i,outputSize:o}}finally{n()}})(e,t)}}function vt(e,t){const{baseURL:n,chunkSize:s}=t;if(!e.interface){let a;try{a=((e,t,n)=>{const s={type:"module"};let a,i;typeof e==se&&(e=e());try{a=new u(e,t)}catch(t){a=e}if(Et)try{i=new F(a)}catch(e){Et=!1,i=new F(a,s)}else i=new F(a,s);return i.addEventListener("message",(e=>(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:i,error:o}=e,{reader:l,writer:c,resolveResult:d,rejectResult:u,onTaskFinished:h}=t;try{if(o){const{message:e,stack:t,code:n,name:s}=o,a=new f(e);r.assign(a,{stack:t,code:n,name:s}),w(a)}else{if("pull"==n){const{value:e,done:r}=await l.read();Dt({type:wt,value:e,done:r,messageId:a},t)}n==wt&&(await c.ready,await c.write(new p(s)),Dt({type:"ack",messageId:a},t)),n==mt&&w(null,i)}}catch(o){Dt({type:mt,messageId:a},t),w(o)}function w(e,t){e?u(e):d(t),c&&c.releaseLock(),h()}})(e,n))),i})(e.scripts[0],n,e)}catch(r){return bt=!1,kt(e,t)}r.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let n,s;const a=new _(((e,t)=>{n=e,s=t}));r.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:s,result:a});const{readable:i,options:o,scripts:l}=e,{writable:c,closed:d}=(e=>{let t;const r=new _((e=>t=e));return{writable:new E({async write(t){const r=e.getWriter();await r.ready,await r.write(t),r.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:r}})(e.writable),u=Dt({type:"start",scripts:l.slice(1),options:o,config:t,readable:i,writable:c},e);u||r.assign(e,{reader:i.getReader(),writer:c.getWriter()});const f=await a;return u||await c.getWriter().close(),await d,f})(e,{chunkSize:s})}})}return e.interface}let Et=!0,Rt=!0;function Dt(e,{worker:t,writer:r,onTaskFinished:n,transferStreams:s}){try{let{value:r,readable:n,writable:a}=e;const i=[];if(r&&(r.byteLength<r.buffer.byteLength?e.value=r.buffer.slice(0,r.byteLength):e.value=r.buffer,i.push(e.value)),s&&Rt?(n&&i.push(n),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(r){Rt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),n(),e}}let Tt=[];const Ft=[];let At=0;function Ct(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Wt="HTTP error ",Nt="HTTP Range not supported",Ut="Writer iterator completed too soon",It="Content-Length",Lt="Range",Ht="HEAD",Ot="GET",Mt="bytes",qt=65536,Bt="writable";class Pt{constructor(){this.size=0}init(){this.initialized=!0}}class Vt extends Pt{get readable(){const e=this,{chunkSize:t=qt}=e,r=new v({start(){this.chunkOffset=0},async pull(n){const{offset:s=0,size:a,diskNumberStart:o}=r,{chunkOffset:l}=this;n.enqueue(await pr(e,s+l,i.min(t,a-l),o)),l+t>a?n.close():this.chunkOffset+=t}});return r}}class Zt extends Pt{constructor(){super();const e=this,t=new E({write:t=>e.writeUint8Array(t)});r.defineProperty(e,Bt,{get:()=>t})}writeUint8Array(){}}class Kt extends Vt{constructor(e){super(),r.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new p(a)}}class jt extends Pt{constructor(e){super();const t=new k,n=[];e&&n.push(["Content-Type",e]),r.defineProperty(this,Bt,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:n}).blob()}getData(){return this.blob}}class Xt extends Vt{constructor(e,t){super(),Gt(this,e,t)}async init(){await Jt(this,ar,tr),super.init()}readUint8Array(e,t){return Qt(this,e,t,ar,tr)}}class Yt extends Vt{constructor(e,t){super(),Gt(this,e,t)}async init(){await Jt(this,ir,rr),super.init()}readUint8Array(e,t){return Qt(this,e,t,ir,rr)}}function Gt(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.useXHR,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function Jt(e,t,r){const{url:n,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:l}=e;if((e=>{const{baseURL:t}=ce(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||o)&&(void 0===a||a)){const n=await t(Ot,e,$t(e,l?-22:void 0));if(!o&&n.headers.get("Accept-Ranges")!=Mt)throw new f(Nt);{let a;l&&(e.eocdCache=new p(await n.arrayBuffer()));const i=n.headers.get("Content-Range");if(i){const e=i.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=s(t))}}a===re?await sr(e,t,r):e.size=a}}else await sr(e,t,r)}async function Qt(e,t,r,n,s){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:l,options:c}=e;if(a||i){if(o&&t==l-22&&22==r)return o;const s=await n(Ot,e,$t(e,t,r));if(206!=s.status)throw new f(Nt);return new p(await s.arrayBuffer())}{const{data:n}=e;return n||await s(e,c),new p(e.data.subarray(t,t+r))}}function $t(e,t=0,n=1){return r.assign({},er(e),{[Lt]:Mt+"="+(0>t?t:t+"-"+(t+n-1))})}function er({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function tr(e){await nr(e,ar)}async function rr(e){await nr(e,ir)}async function nr(e,t){const r=await t(Ot,e,er(e));e.data=new p(await r.arrayBuffer()),e.size||(e.size=e.data.length)}async function sr(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=(await t(Ht,e,er(e))).headers.get(It);n?e.size=s(n):await r(e,e.options)}}async function ar(e,{options:t,url:n},s){const a=await fetch(n,r.assign({},t,{method:e,headers:s}));if(400>a.status)return a;throw 416==a.status?new f(Nt):new f(Wt+(a.statusText||a.status))}function ir(e,{url:t},n){return new _(((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",(()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,(e=>e.toUpperCase())),e.push(r)})),s({status:i.status,arrayBuffer:()=>i.response,headers:new l(e)})}else a(416==i.status?new f(Nt):new f(Wt+(i.statusText||i.status)))}),!1),i.addEventListener("error",(e=>a(e.detail?e.detail.error:new f("Network error"))),!1),i.open(e,t),n)for(const e of r.entries(n))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()}))}class or extends Vt{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR?new Yt(e,t):new Xt(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class lr extends Vt{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await _.all(t.map((async(r,n)=>{await r.init(),n!=t.length-1&&(e.lastDiskOffset+=r.size),e.size+=r.size}))),super.init()}async readUint8Array(e,t,r=0){const n=this,{readers:s}=this;let a,o=r;-1==o&&(o=s.length-1);let l=e;for(;l>=s[o].size;)l-=s[o].size,o++;const c=s[o],d=c.size;if(l+t>d){const s=d-l;a=new p(t),a.set(await pr(c,l,s)),a.set(await n.readUint8Array(e+s,t-s,r),s)}else a=await pr(c,l,t);return n.lastDiskNumber=i.max(o,n.lastDiskNumber),a}}class cr extends Pt{constructor(e,t=4294967295){super();const n=this;let s,a,i;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new E({async write(t){const{availableSize:r}=n;if(i)t.length<r?await l(t):(await l(t.slice(0,r)),await c(),n.diskOffset+=s.size,n.diskNumber++,i=null,await this.write(t.slice(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new f(Ut);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await dr(s),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){await i.ready,await c()}});async function l(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,n.size+=t,n.availableSize-=t)}async function c(){a.size=s.size,await i.close()}r.defineProperty(n,Bt,{get:()=>o})}}async function dr(e,t){if(!e.init||e.initialized)return _.resolve();await e.init(t)}function ur(e){return t.isArray(e)&&(e=new lr(e)),e instanceof v&&(e={readable:e}),e}function fr(e){e.writable===re&&typeof e.next==se&&(e=new cr(e)),e instanceof E&&(e={writable:e});const{writable:t}=e;return t.size===re&&(t.size=0),e instanceof cr||r.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function pr(e,t,r,n){return e.readUint8Array(t,r,n)}const hr=lr,wr=cr,mr="diskNumberStart",gr="lastModDate",_r="lastAccessDate",yr="creationDate",br="internalFileAttribute",xr="externalFileAttribute",Sr="msDosCompatible",zr="zip64",kr=["filename","rawFilename","compressedSize","uncompressedSize",gr,"rawLastModDate","comment","rawComment",_r,yr,"offset",mr,mr,br,xr,Sr,zr,"directory","bitFlag","encrypted","signature","filenameUTF8","commentUTF8","compressionMethod","version","versionMadeBy","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class vr{constructor(e){kr.forEach((t=>this[t]=e[t]))}}const Er="File already exists",Rr="Zip file comment exceeds 64KB",Dr="File entry comment exceeds 64KB",Tr="File entry name exceeds 64KB",Fr="Version exceeds 65535",Ar="The strength must equal 1, 2, or 3",Cr="Extra field type exceeds 65535",Wr="Extra field data exceeds 64KB",Nr="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Ur=new p([7,0,2,0,65,69,3,0,0]);let Ir=0;const Lr=[];class Hr{constructor(e,t={}){const n=(e=fr(e)).availableSize!==re&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==re&&e.maxSize>0&&e.maxSize!==1/0;r.assign(this,{writer:e,addSplitZipSignature:n,options:t,config:ce(),files:new l,filenames:new c,offset:e.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new c,bufferedWrites:0})}async add(e="",n,l={}){const c=this,{pendingAddFileCalls:u,config:g}=c;let y;Ir<g.maxWorkers?Ir++:await new _((e=>Lr.push(e)));try{if(e=e.trim(),c.filenames.has(e))throw new f(Er);return c.filenames.add(e),y=(async(e,n,l,c)=>{n=n.trim(),c.directory&&!n.endsWith("/")?n+="/":c.directory=n.endsWith("/");const u=qr(e,c,"encodeText",we);let g=u(n);if(g===re&&(g=we(n)),Xr(g)>J)throw new f(Tr);const y=c.comment||"";let b=u(y);if(b===re&&(b=we(y)),Xr(b)>J)throw new f(Dr);const x=qr(e,c,"version",20);if(x>J)throw new f(Fr);const S=qr(e,c,"versionMadeBy",20);if(S>J)throw new f(Fr);const z=qr(e,c,gr,new o),v=qr(e,c,_r),E=qr(e,c,yr),R=qr(e,c,Sr,!0),D=qr(e,c,br,0),T=qr(e,c,xr,0),F=qr(e,c,"password"),A=qr(e,c,"rawPassword"),C=qr(e,c,"encryptionStrength",3),W=qr(e,c,"zipCrypto"),N=qr(e,c,"extendedTimestamp",!0),U=qr(e,c,"keepOrder",!0),I=qr(e,c,"level"),L=qr(e,c,"useWebWorkers"),H=qr(e,c,"bufferedWrite"),O=qr(e,c,"dataDescriptorSignature",!1),M=qr(e,c,"signal"),q=qr(e,c,"useCompressionStream");let B=qr(e,c,"dataDescriptor",!0),P=qr(e,c,zr);if(F!==re&&C!==re&&(1>C||C>3))throw new f(Ar);let V=new p;const{extraField:Z}=c;if(Z){let e=0,t=0;Z.forEach((t=>e+=4+Xr(t))),V=new p(e),Z.forEach(((e,r)=>{if(r>J)throw new f(Cr);if(Xr(e)>J)throw new f(Wr);Kr(V,new h([r]),t),Kr(V,new h([Xr(e)]),t+2),Kr(V,e,t+4),t+=4+Xr(e)}))}let K=0,j=0,X=0;const Y=!0===P;l&&(l=ur(l),await dr(l),l.size===re?(B=!0,(P||P===re)&&(P=!0,X=K=4294967296)):(X=l.size,K=(e=>e+5*(i.floor(e/16383)+1))(X)));const{diskOffset:ne,diskNumber:se,maxSize:ae}=e.writer,ie=Y||X>G,oe=Y||K>G,le=Y||e.offset+e.pendingEntriesSize-ne>G,ce=qr(e,c,"supportZip64SplitFile",!0)&&Y||se+i.ceil(e.pendingEntriesSize/ae)>J;if(le||ie||oe||ce){if(!1===P||!U)throw new f(Nr);P=!0}P=P||!1;const de=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,rawPassword:a,password:o,level:l,zip64:c,zipCrypto:d,dataDescriptor:u,directory:f,rawExtraField:h,encryptionStrength:m,extendedTimestamp:g}=e,_=0!==l&&!f,y=!!(o&&Xr(o)||a&&Xr(a));let b,x,S,z,k=e.version;if(y&&!d){b=new p(Xr(Ur)+2);const e=jr(b);Pr(e,0,39169),Kr(b,Ur,2),Br(e,8,m)}else b=new p;if(g){S=new p(9+(n?4:0)+(s?4:0));const e=jr(S);Pr(e,0,21589),Pr(e,2,Xr(S)-4),z=1+(n?2:0)+(s?4:0),Br(e,4,z);let t=5;Vr(e,t,i.floor(r.getTime()/1e3)),t+=4,n&&(Vr(e,t,i.floor(n.getTime()/1e3)),t+=4),s&&Vr(e,t,i.floor(s.getTime()/1e3));try{x=new p(36);const e=jr(x),t=Mr(r);Pr(e,0,10),Pr(e,2,32),Pr(e,8,1),Pr(e,10,24),Zr(e,12,t),Zr(e,20,Mr(n)||t),Zr(e,28,Mr(s)||t)}catch(e){x=new p}}else x=S=new p;let v=2048;u&&(v|=8);let E=0;_&&(E=8),c&&(k=k>45?k:45),y&&(v|=1,d||(k=k>51?k:51,E=99,_&&(b[9]=8)));const R=new p(26),D=jr(R);Pr(D,0,k),Pr(D,2,v),Pr(D,4,E);const T=new w(1),F=jr(T);let A;A=te>r?te:r>ee?ee:r,Pr(F,0,(A.getHours()<<6|A.getMinutes())<<5|A.getSeconds()/2),Pr(F,2,(A.getFullYear()-1980<<4|A.getMonth()+1)<<5|A.getDate());const C=T[0];Vr(D,6,C),Pr(D,22,Xr(t));const W=Xr(b,S,x,h);Pr(D,24,W);const N=new p(30+Xr(t)+W);return Vr(jr(N),0,67324752),Kr(N,R,4),Kr(N,t,30),Kr(N,b,30+Xr(t)),Kr(N,S,30+Xr(t,b)),Kr(N,x,30+Xr(t,b,S)),Kr(N,h,30+Xr(t,b,S,x)),{localHeaderArray:N,headerArray:R,headerView:D,lastModDate:r,rawLastModDate:C,encrypted:y,compressed:_,version:k,compressionMethod:E,extraFieldExtendedTimestampFlag:z,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:x,rawExtraFieldAES:b,extraFieldLength:W}})(c=r.assign({},c,{rawFilename:g,rawComment:b,version:x,versionMadeBy:S,lastModDate:z,lastAccessDate:v,creationDate:E,rawExtraField:V,zip64:P,zip64UncompressedSize:ie,zip64CompressedSize:oe,zip64Offset:le,zip64DiskNumberStart:ce,password:F,rawPassword:A,level:q||e.config.CompressionStream!==re?I:0,useWebWorkers:L,encryptionStrength:C,extendedTimestamp:N,zipCrypto:W,bufferedWrite:H,keepOrder:U,dataDescriptor:B,dataDescriptorSignature:O,signal:M,msDosCompatible:R,internalFileAttribute:D,externalFileAttribute:T,useCompressionStream:q})),ue=(e=>{const{zip64:t,dataDescriptor:r,dataDescriptorSignature:n}=e;let s,a=new p,i=0;return r&&(a=new p(t?n?24:20:n?16:12),s=jr(a),n&&(i=4,Vr(s,0,$))),{dataDescriptorArray:a,dataDescriptorView:s,dataDescriptorOffset:i}})(c),fe=Xr(de.localHeaderArray,ue.dataDescriptorArray);let pe;j=fe+K,e.options.usdz&&(j+=j+64),e.pendingEntriesSize+=j;try{pe=await(async(e,n,o,l,c)=>{const{files:u,writer:h}=e,{keepOrder:w,dataDescriptor:g,signal:y}=c,{headerInfo:b}=l,{usdz:x}=e.options,S=t.from(u.values()).pop();let z,v,E,R,D,T,F,A={};u.set(n,A);try{let t;w&&(t=S&&S.lock,A.lock=new _((e=>E=e))),!(c.bufferedWrite||e.writerLocked||e.bufferedWrites&&w)&&g||x?(T=h,await C()):(T=new k,F=new d(T.readable).blob(),T.writable.size=0,z=!0,e.bufferedWrites++,await dr(h)),await dr(T);const{writable:b}=h;let{diskOffset:v}=h;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);Vr(jr(t),0,Q),await Or(b,t),e.offset+=4}x&&((e,t)=>{const{headerInfo:r}=e;let{localHeaderArray:n,extraFieldLength:s}=r,a=jr(n),i=64-(t+Xr(n))%64;4>i&&(i+=64);const o=new p(i),l=jr(o);Pr(l,0,6534),Pr(l,2,i-2);const c=n;r.localHeaderArray=n=new p(Xr(c)+i),Kr(n,c),Kr(n,o,Xr(c)),a=jr(n),Pr(a,28,s+i),e.metadataSize+=i})(l,e.offset-v),z||(await t,await W(b));const{diskNumber:N}=h;if(D=!0,A.diskNumberStart=N,A=await(async(e,t,{diskNumberStart:n,lock:o},l,c,d)=>{const{headerInfo:u,dataDescriptorInfo:f,metadataSize:h}=l,{localHeaderArray:w,headerArray:m,lastModDate:g,rawLastModDate:y,encrypted:b,compressed:x,version:S,compressionMethod:z,rawExtraFieldExtendedTimestamp:k,extraFieldExtendedTimestampFlag:v,rawExtraFieldNTFS:E,rawExtraFieldAES:R}=u,{dataDescriptorArray:D}=f,{rawFilename:T,lastAccessDate:F,creationDate:A,password:C,rawPassword:W,level:N,zip64:U,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:H,zip64DiskNumberStart:O,zipCrypto:M,dataDescriptor:q,directory:B,versionMadeBy:P,rawComment:V,rawExtraField:Z,useWebWorkers:K,onstart:j,onprogress:X,onend:Y,signal:J,encryptionStrength:Q,extendedTimestamp:$,msDosCompatible:ee,internalFileAttribute:te,externalFileAttribute:ne,useCompressionStream:se}=d,ae={lock:o,versionMadeBy:P,zip64:U,directory:!!B,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:V,rawExtraFieldExtendedTimestamp:k,rawExtraFieldNTFS:E,rawExtraFieldAES:R,rawExtraField:Z,extendedTimestamp:$,msDosCompatible:ee,internalFileAttribute:te,externalFileAttribute:ne,diskNumberStart:n};let ie,oe=0,le=0;const{writable:ce}=t;if(e){e.chunkSize=(e=>i.max(e.chunkSize,64))(c),await Or(ce,w);const t=e.readable,r=t.size=e.size,n={options:{codecType:gt,level:N,rawPassword:W,password:C,encryptionStrength:Q,zipCrypto:b&&M,passwordVerification:b&&M&&y>>8&255,signed:!0,compressed:x,encrypted:b,useWebWorkers:K,useCompressionStream:se,transferStreams:!1},config:c,streamOptions:{signal:J,size:r,onstart:j,onprogress:X,onend:Y}},a=await(async(e,t)=>{const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,codecType:l,compressed:c,signed:d,encrypted:u}=r,{workerScripts:f,maxWorkers:p}=n;t.transferStreams=a||a===re;const h=!(c||d||u||t.transferStreams);return t.useWebWorkers=!h&&(i||i===re&&n.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[l]:[],r.useCompressionStream=o||o===re&&n.useCompressionStream,(await(async()=>{const r=Tt.find((e=>!e.busy));if(r)return Ct(r),new xt(r,e,t,w);if(Tt.length<p){const r={indexWorker:At};return At++,Tt.push(r),new xt(r,e,t,w)}return new _((r=>Ft.push({resolve:r,stream:e,workerOptions:t})))})()).run();function w(e){if(Ft.length){const[{resolve:t,stream:r,workerOptions:n}]=Ft.splice(0,1);t(new xt(e,r,n,w))}else e.worker?(Ct(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout((async()=>{Tt=Tt.filter((t=>t!=e));try{await e.terminate()}catch(e){}}),n))})(e,t)):Tt=Tt.filter((t=>t!=e))}})({readable:t,writable:ce},n);le=a.inputSize,oe=a.outputSize,ie=a.signature,ce.size+=le}else await Or(ce,w);let de;if(U){let e=4;I&&(e+=8),L&&(e+=8),H&&(e+=8),O&&(e+=4),de=new p(e)}else de=new p;return((e,t)=>{const{signature:r,rawExtraFieldZip64:n,compressedSize:s,uncompressedSize:i,headerInfo:o,dataDescriptorInfo:l}=e,{headerView:c,encrypted:d}=o,{dataDescriptorView:u,dataDescriptorOffset:f}=l,{zip64:p,zip64UncompressedSize:h,zip64CompressedSize:w,zipCrypto:m,dataDescriptor:g}=t;if(d&&!m||r===re||(Vr(c,10,r),g&&Vr(u,f,r)),p){const e=jr(n);Pr(e,0,1),Pr(e,2,Xr(n)-4);let t=4;h&&(Vr(c,18,G),Zr(e,t,a(i)),t+=8),w&&(Vr(c,14,G),Zr(e,t,a(s))),g&&(Zr(u,f+4,a(s)),Zr(u,f+12,a(i)))}else Vr(c,14,s),Vr(c,18,i),g&&(Vr(u,f+4,s),Vr(u,f+8,i))})({signature:ie,rawExtraFieldZip64:de,compressedSize:oe,uncompressedSize:le,headerInfo:u,dataDescriptorInfo:f},d),q&&await Or(ce,D),r.assign(ae,{uncompressedSize:le,compressedSize:oe,lastModDate:g,rawLastModDate:y,creationDate:A,lastAccessDate:F,encrypted:b,size:h+oe,compressionMethod:z,version:S,headerArray:m,signature:ie,rawExtraFieldZip64:de,extraFieldExtendedTimestampFlag:v,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:H,zip64DiskNumberStart:O}),ae})(o,T,A,l,e.config,c),D=!1,u.set(n,A),A.filename=n,z){await T.writable.getWriter().close();let e=await F;await t,await C(),R=!0,g||(e=await(async(e,t,r,{zipCrypto:n})=>{let s;s=await t.slice(0,26).arrayBuffer(),26!=s.byteLength&&(s=s.slice(0,26));const a=new m(s);return e.encrypted&&!n||Vr(a,14,e.signature),e.zip64?(Vr(a,18,G),Vr(a,22,G)):(Vr(a,18,e.compressedSize),Vr(a,22,e.uncompressedSize)),await Or(r,new p(s)),t.slice(s.byteLength)})(A,e,b,c)),await W(b),A.diskNumberStart=h.diskNumber,v=h.diskOffset,await e.stream().pipeTo(b,{preventClose:!0,preventAbort:!0,signal:y}),b.size+=e.size,R=!1}if(A.offset=e.offset-v,A.zip64)((e,t)=>{const{rawExtraFieldZip64:r,offset:n,diskNumberStart:s}=e,{zip64UncompressedSize:i,zip64CompressedSize:o,zip64Offset:l,zip64DiskNumberStart:c}=t,d=jr(r);let u=4;i&&(u+=8),o&&(u+=8),l&&(Zr(d,u,a(n)),u+=8),c&&Vr(d,u,s)})(A,c);else if(A.offset>G)throw new f(Nr);return e.offset+=A.size,A}catch(t){if(z&&R||!z&&D){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}z?e.offset+=T.writable.size:e.offset=T.writable.size}throw u.delete(n),t}finally{z&&e.bufferedWrites--,E&&E(),v&&v()}async function C(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new _((t=>v=()=>{e.writerLocked=!1,t()})),await t}async function W(e){Xr(b.localHeaderArray)>h.availableSize&&(h.availableSize=0,await Or(e,new p))}})(e,n,l,{headerInfo:de,dataDescriptorInfo:ue,metadataSize:fe},c)}finally{e.pendingEntriesSize-=j}return r.assign(pe,{name:n,comment:y,extraField:Z}),new vr(pe)})(c,e,n,l),u.add(y),await y}catch(t){throw c.filenames.delete(e),t}finally{u.delete(y);const e=Lr.shift();e?e():Ir--}}async close(e=new p,r={}){const{pendingAddFileCalls:n,writer:s}=this,{writable:o}=s;for(;n.size;)await _.allSettled(t.from(n));return await(async(e,r,n)=>{const{files:s,writer:o}=e,{diskOffset:l,writable:c}=o;let{diskNumber:d}=o,u=0,h=0,w=e.offset-l,m=s.size;for(const[,e]of s){const{rawFilename:t,rawExtraFieldZip64:r,rawExtraFieldAES:n,rawComment:s,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:l,extraFieldExtendedTimestampFlag:c,lastModDate:d}=e;let u;if(l){u=new p(9);const e=jr(u);Pr(e,0,21589),Pr(e,2,5),Br(e,4,c),Vr(e,5,i.floor(d.getTime()/1e3))}else u=new p;e.rawExtraFieldCDExtendedTimestamp=u,h+=46+Xr(t,s,r,n,a,u,o)}const g=new p(h),_=jr(g);await dr(o);let y=0;for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:l,rawExtraFieldCDExtendedTimestamp:d,rawExtraFieldNTFS:f,rawExtraField:p,rawComment:h,versionMadeBy:w,headerArray:m,directory:b,zip64:x,zip64UncompressedSize:S,zip64CompressedSize:z,zip64DiskNumberStart:k,zip64Offset:v,msDosCompatible:E,internalFileAttribute:R,externalFileAttribute:D,diskNumberStart:T,uncompressedSize:F,compressedSize:A}=r,C=Xr(i,l,d,f,p);Vr(_,u,33639248),Pr(_,u+4,w);const W=jr(m);S||Vr(W,18,F),z||Vr(W,14,A),Kr(g,m,u+6),Pr(_,u+30,C),Pr(_,u+32,Xr(h)),Pr(_,u+34,x&&k?J:T),Pr(_,u+36,R),D?Vr(_,u+38,D):b&&E&&Br(_,u+38,16),Vr(_,u+42,x&&v?G:t),Kr(g,a,u+46),Kr(g,i,u+46+Xr(a)),Kr(g,l,u+46+Xr(a,i)),Kr(g,d,u+46+Xr(a,i,l)),Kr(g,f,u+46+Xr(a,i,l,d)),Kr(g,p,u+46+Xr(a,i,l,d,f)),Kr(g,h,u+46+Xr(a)+C);const N=46+Xr(a,h)+C;if(u-y>o.availableSize&&(o.availableSize=0,await Or(c,g.slice(y,u)),y=u),u+=N,n.onprogress)try{await n.onprogress(e+1,s.size,new vr(r))}catch(e){}}await Or(c,y?g.slice(y):g);let b=o.diskNumber;const{availableSize:x}=o;22>x&&b++;let S=qr(e,n,"zip64");if(w>G||h>G||m>J||b>J){if(!1===S)throw new f(Nr);S=!0}const z=new p(S?98:22),k=jr(z);u=0,S&&(Vr(k,0,101075792),Zr(k,4,a(44)),Pr(k,12,45),Pr(k,14,45),Vr(k,16,b),Vr(k,20,d),Zr(k,24,a(m)),Zr(k,32,a(m)),Zr(k,40,a(h)),Zr(k,48,a(w)),Vr(k,56,117853008),Zr(k,64,a(w)+a(h)),Vr(k,72,b+1),qr(e,n,"supportZip64SplitFile",!0)&&(b=J,d=J),m=J,w=G,h=G,u+=76),Vr(k,u,101010256),Pr(k,u+4,b),Pr(k,u+6,d),Pr(k,u+8,m),Pr(k,u+10,m),Vr(k,u+12,h),Vr(k,u+16,w);const v=Xr(r);if(v){if(v>J)throw new f(Rr);Pr(k,u+20,v)}await Or(c,z),v&&await Or(c,r)})(this,e,r),qr(this,r,"preventClose")||await o.getWriter().close(),s.getData?s.getData():o}}async function Or(e,t){const r=e.getWriter();try{await r.ready,e.size+=Xr(t),await r.write(t)}finally{r.releaseLock()}}function Mr(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function qr(e,t,r,n){const s=t[r]===re?e.options[r]:t[r];return s===re?n:s}function Br(e,t,r){e.setUint8(t,r)}function Pr(e,t,r){e.setUint16(t,r,!0)}function Vr(e,t,r){e.setUint32(t,r,!0)}function Zr(e,t,r){e.setBigUint64(t,r,!0)}function Kr(e,t,r){e.set(t,r)}function jr(e){return new m(e.buffer)}function Xr(...e){let t=0;return e.forEach((e=>e&&(t+=e.length))),t}de({Deflate:function(e){const t=new Y,r=(n=e&&e.chunkSize?e.chunkSize:65536)+5*(i.floor(n/16383)+1);var n;const s=new p(r);let a=e?e.level:-1;void 0===a&&(a=-1),t.deflateInit(a),t.next_out=s,this.append=(e,n)=>{let a,i,o=0,l=0,c=0;const d=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=r,a=t.deflate(0),0!=a)throw new f("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==r?d.push(new p(s)):d.push(s.subarray(0,t.next_out_index))),c+=t.next_out_index,n&&t.next_in_index>0&&t.next_in_index!=o&&(n(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(i=new p(c),d.forEach((e=>{i.set(e,l),l+=e.length}))):i=d[0]?new p(d[0]):new p,i}},this.flush=()=>{let e,n,a=0,i=0;const o=[];do{if(t.next_out_index=0,t.avail_out=r,e=t.deflate(4),1!=e&&0!=e)throw new f("deflating: "+t.msg);r-t.avail_out>0&&o.push(s.slice(0,t.next_out_index)),i+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),n=new p(i),o.forEach((e=>{n.set(e,a),a+=e.length})),n}}}),e.BlobReader=Kt,e.BlobWriter=jt,e.Data64URIReader=class extends Vt{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,dataStart:n,size:i.floor(.75*(t-n))})}readUint8Array(e,t){const{dataStart:r,dataURI:n}=this,s=new p(t),a=4*i.floor(e/3),o=atob(n.substring(a+r,4*i.ceil((e+t)/3)+r)),l=e-3*i.floor(a/4);for(let e=l;l+t>e;e++)s[e-l]=o.charCodeAt(e);return s}},e.Data64URIWriter=class extends Zt{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r=0,s=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=z(s):t.pending=s}getData(){return this.data+z(this.pending)}},e.ERR_DUPLICATED_NAME=Er,e.ERR_HTTP_RANGE=Nt,e.ERR_INVALID_COMMENT=Rr,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ar,e.ERR_INVALID_ENTRY_COMMENT=Dr,e.ERR_INVALID_ENTRY_NAME=Tr,e.ERR_INVALID_EXTRAFIELD_DATA=Wr,e.ERR_INVALID_EXTRAFIELD_TYPE=Cr,e.ERR_INVALID_VERSION=Fr,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Ut,e.ERR_UNSUPPORTED_FORMAT=Nr,e.HttpRangeReader=class extends or{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=or,e.Reader=Vt,e.SplitDataReader=lr,e.SplitDataWriter=cr,e.SplitZipReader=hr,e.SplitZipWriter=wr,e.TextReader=class extends Kt{constructor(e){super(new g([e],{type:"text/plain"}))}},e.TextWriter=class extends jt{constructor(e){super(e),r.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new _(((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)}))}}},e.Uint8ArrayReader=class extends Vt{constructor(e){super(),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Zt{init(e=0){r.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const r=t.array;t.array=new p(r.length+e.length),t.array.set(r)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=Zt,e.ZipWriter=Hr,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new k;this.readable=t,this.zipWriter=new Hr(r,e)}transform(e){const{readable:t,writable:r}=new k({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:r}}writable(e){const{readable:t,writable:r}=new k;return this.zipWriter.add(e,t),r}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=de,e.getMimeType=()=>"application/octet-stream",e.initReader=ur,e.initStream=dr,e.initWriter=fr,e.readUint8Array=pr,e.terminateWorkers=async()=>{await _.allSettled(Tt.map((e=>(Ct(e),e.terminate()))))}})); |
@@ -1,1 +0,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:i,Number:r,BigInt:a,Math:s,Date:o,Map:l,Set:c,Response:d,URL:u,Error:f,Uint8Array:h,Uint16Array:w,Uint32Array:_,DataView:p,Blob:b,Promise:g,TextEncoder:m,TextDecoder:y,document:x,crypto:k,btoa:v,TransformStream:S,ReadableStream:R,WritableStream:z,CompressionStream:D,DecompressionStream:T,navigator:E,Worker:A}="undefined"!=typeof globalThis?globalThis:this||self,C=0,F=1,U=-2,W=-3,L=-4,O=-5,I=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],N=1440,P=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],H=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],q=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],B=[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,112,112],M=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],V=[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],K=15;function Z(){let e,t,n,i,r,a;function s(e,t,s,o,l,c,d,u,f,h,w){let _,p,b,g,m,y,x,k,v,S,R,z,D,T,E;S=0,m=s;do{n[e[t+S]]++,S++,m--}while(0!==m);if(n[0]==s)return d[0]=-1,u[0]=0,C;for(k=u[0],y=1;K>=y&&0===n[y];y++);for(x=y,y>k&&(k=y),m=K;0!==m&&0===n[m];m--);for(b=m,k>m&&(k=m),u[0]=k,T=1<<y;m>y;y++,T<<=1)if(0>(T-=n[y]))return W;if(0>(T-=n[m]))return W;for(n[m]+=T,a[1]=y=0,S=1,D=2;0!=--m;)a[D]=y+=n[S],D++,S++;m=0,S=0;do{0!==(y=e[t+S])&&(w[a[y]++]=m),S++}while(++m<s);for(s=a[b],a[0]=m=0,S=0,g=-1,z=-k,r[0]=0,R=0,E=0;b>=x;x++)for(_=n[x];0!=_--;){for(;x>z+k;){if(g++,z+=k,E=b-z,E=E>k?k:E,(p=1<<(y=x-z))>_+1&&(p-=_+1,D=x,E>y))for(;++y<E&&(p<<=1)>n[++D];)p-=n[D];if(E=1<<y,h[0]+E>N)return W;r[g]=R=h[0],h[0]+=E,0!==g?(a[g]=m,i[0]=y,i[1]=k,y=m>>>z-k,i[2]=R-r[g-1]-y,f.set(i,3*(r[g-1]+y))):d[0]=R}for(i[1]=x-z,s>S?w[S]<o?(i[0]=256>w[S]?0:96,i[2]=w[S++]):(i[0]=c[w[S]-o]+16+64,i[2]=l[w[S++]-o]):i[0]=192,p=1<<x-z,y=m>>>z;E>y;y+=p)f.set(i,3*(R+y));for(y=1<<x-1;m&y;y>>>=1)m^=y;for(m^=y,v=(1<<z)-1;(m&v)!=a[g];)g--,z-=k,v=(1<<z)-1}return 0!==T&&1!=b?O:C}function o(s){let o;for(e||(e=[],t=[],n=new Int32Array(K+1),i=[],r=new Int32Array(K),a=new Int32Array(K+1)),t.length<s&&(t=[]),o=0;s>o;o++)t[o]=0;for(o=0;K+1>o;o++)n[o]=0;for(o=0;3>o;o++)i[o]=0;r.set(n.subarray(0,K),0),a.set(n.subarray(0,K+1),0)}this.inflate_trees_bits=(n,i,r,a,l)=>{let c;return o(19),e[0]=0,c=s(n,0,19,19,null,null,r,i,a,e,t),c==W?l.msg="oversubscribed dynamic bit lengths tree":c!=O&&0!==i[0]||(l.msg="incomplete dynamic bit lengths tree",c=W),c},this.inflate_trees_dynamic=(n,i,r,a,l,c,d,u,f)=>{let h;return o(288),e[0]=0,h=s(r,0,n,257,q,B,c,a,u,e,t),h!=C||0===a[0]?(h==W?f.msg="oversubscribed literal/length tree":h!=L&&(f.msg="incomplete literal/length tree",h=W),h):(o(288),h=s(r,n,i,0,M,V,d,l,u,e,t),h!=C||0===l[0]&&n>257?(h==W?f.msg="oversubscribed distance tree":h==O?(f.msg="incomplete distance tree",h=W):h!=L&&(f.msg="empty distance tree with lengths",h=W),h):C)}}Z.inflate_trees_fixed=(e,t,n,i)=>(e[0]=9,t[0]=5,n[0]=P,i[0]=H,C);const G=0,j=1,X=2,Y=3,J=4,Q=5,$=6,ee=7,te=8,ne=9;function ie(){const e=this;let t,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,u=0,f=0,h=0,w=0;function _(e,t,n,i,r,a,s,o){let l,c,d,u,f,h,w,_,p,b,g,m,y,x,k,v;w=o.next_in_index,_=o.avail_in,f=s.bitb,h=s.bitk,p=s.write,b=p<s.read?s.read-p-1:s.end-p,g=I[e],m=I[t];do{for(;20>h;)_--,f|=(255&o.read_byte(w++))<<h,h+=8;if(l=f&g,c=n,d=i,v=3*(d+l),0!==(u=c[v]))for(;;){if(f>>=c[v+1],h-=c[v+1],16&u){for(u&=15,y=c[v+2]+(f&I[u]),f>>=u,h-=u;15>h;)_--,f|=(255&o.read_byte(w++))<<h,h+=8;for(l=f&m,c=r,d=a,v=3*(d+l),u=c[v];;){if(f>>=c[v+1],h-=c[v+1],16&u){for(u&=15;u>h;)_--,f|=(255&o.read_byte(w++))<<h,h+=8;if(x=c[v+2]+(f&I[u]),f>>=u,h-=u,b-=y,x>p){k=p-x;do{k+=s.end}while(0>k);if(u=s.end-k,y>u){if(y-=u,p-k>0&&u>p-k)do{s.win[p++]=s.win[k++]}while(0!=--u);else s.win.set(s.win.subarray(k,k+u),p),p+=u,k+=u,u=0;k=0}}else k=p-x,p-k>0&&2>p-k?(s.win[p++]=s.win[k++],s.win[p++]=s.win[k++],y-=2):(s.win.set(s.win.subarray(k,k+2),p),p+=2,k+=2,y-=2);if(p-k>0&&y>p-k)do{s.win[p++]=s.win[k++]}while(0!=--y);else s.win.set(s.win.subarray(k,k+y),p),p+=y,k+=y,y=0;break}if(64&u)return o.msg="invalid distance code",y=o.avail_in-_,y=y>h>>3?h>>3:y,_+=y,w-=y,h-=y<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=p,W;l+=c[v+2],l+=f&I[u],v=3*(d+l),u=c[v]}break}if(64&u)return 32&u?(y=o.avail_in-_,y=y>h>>3?h>>3:y,_+=y,w-=y,h-=y<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=p,F):(o.msg="invalid literal/length code",y=o.avail_in-_,y=y>h>>3?h>>3:y,_+=y,w-=y,h-=y<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=p,W);if(l+=c[v+2],l+=f&I[u],v=3*(d+l),0===(u=c[v])){f>>=c[v+1],h-=c[v+1],s.win[p++]=c[v+2],b--;break}}else f>>=c[v+1],h-=c[v+1],s.win[p++]=c[v+2],b--}while(b>=258&&_>=10);return y=o.avail_in-_,y=y>h>>3?h>>3:y,_+=y,w-=y,h-=y<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=p,C}e.init=(e,a,s,o,l,c)=>{t=G,u=e,f=a,i=s,h=o,r=l,w=c,n=null},e.proc=(e,p,b)=>{let g,m,y,x,k,v,S,R=0,z=0,D=0;for(D=p.next_in_index,x=p.avail_in,R=e.bitb,z=e.bitk,k=e.write,v=k<e.read?e.read-k-1:e.end-k;;)switch(t){case G:if(v>=258&&x>=10&&(e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,b=_(u,f,i,h,r,w,e,p),D=p.next_in_index,x=p.avail_in,R=e.bitb,z=e.bitk,k=e.write,v=k<e.read?e.read-k-1:e.end-k,b!=C)){t=b==F?ee:ne;break}o=u,n=i,s=h,t=j;case j:for(g=o;g>z;){if(0===x)return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);b=C,x--,R|=(255&p.read_byte(D++))<<z,z+=8}if(m=3*(s+(R&I[g])),R>>>=n[m+1],z-=n[m+1],y=n[m],0===y){l=n[m+2],t=$;break}if(16&y){c=15&y,a=n[m+2],t=X;break}if(!(64&y)){o=y,s=m/3+n[m+2];break}if(32&y){t=ee;break}return t=ne,p.msg="invalid literal/length code",b=W,e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);case X:for(g=c;g>z;){if(0===x)return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);b=C,x--,R|=(255&p.read_byte(D++))<<z,z+=8}a+=R&I[g],R>>=g,z-=g,o=f,n=r,s=w,t=Y;case Y:for(g=o;g>z;){if(0===x)return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);b=C,x--,R|=(255&p.read_byte(D++))<<z,z+=8}if(m=3*(s+(R&I[g])),R>>=n[m+1],z-=n[m+1],y=n[m],16&y){c=15&y,d=n[m+2],t=J;break}if(!(64&y)){o=y,s=m/3+n[m+2];break}return t=ne,p.msg="invalid distance code",b=W,e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);case J:for(g=c;g>z;){if(0===x)return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);b=C,x--,R|=(255&p.read_byte(D++))<<z,z+=8}d+=R&I[g],R>>=g,z-=g,t=Q;case Q:for(S=k-d;0>S;)S+=e.end;for(;0!==a;){if(0===v&&(k==e.end&&0!==e.read&&(k=0,v=k<e.read?e.read-k-1:e.end-k),0===v&&(e.write=k,b=e.inflate_flush(p,b),k=e.write,v=k<e.read?e.read-k-1:e.end-k,k==e.end&&0!==e.read&&(k=0,v=k<e.read?e.read-k-1:e.end-k),0===v)))return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);e.win[k++]=e.win[S++],v--,S==e.end&&(S=0),a--}t=G;break;case $:if(0===v&&(k==e.end&&0!==e.read&&(k=0,v=k<e.read?e.read-k-1:e.end-k),0===v&&(e.write=k,b=e.inflate_flush(p,b),k=e.write,v=k<e.read?e.read-k-1:e.end-k,k==e.end&&0!==e.read&&(k=0,v=k<e.read?e.read-k-1:e.end-k),0===v)))return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);b=C,e.win[k++]=l,v--,t=G;break;case ee:if(z>7&&(z-=8,x++,D--),e.write=k,b=e.inflate_flush(p,b),k=e.write,v=k<e.read?e.read-k-1:e.end-k,e.read!=e.write)return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);t=te;case te:return b=F,e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);case ne:return b=W,e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);default:return b=U,e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b)}},e.free=()=>{}}const re=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ae=0,se=1,oe=2,le=3,ce=4,de=5,ue=6,fe=7,he=8,we=9;function _e(e,t){const n=this;let i,r=ae,a=0,s=0,o=0;const l=[0],c=[0],d=new ie;let u=0,f=new Int32Array(3*N);const w=new Z;n.bitk=0,n.bitb=0,n.win=new h(t),n.end=t,n.read=0,n.write=0,n.reset=(e,t)=>{t&&(t[0]=0),r==ue&&d.free(e),r=ae,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=(e,t)=>{let i,r,a;return r=e.next_out_index,a=n.read,i=(a>n.write?n.end:n.write)-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==O&&(t=C),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==O&&(t=C),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(a,a+i),r),r+=i,a+=i),e.next_out_index=r,n.read=a,t},n.proc=(e,t)=>{let h,_,p,b,g,m,y,x;for(b=e.next_in_index,g=e.avail_in,_=n.bitb,p=n.bitk,m=n.write,y=m<n.read?n.read-m-1:n.end-m;;){let k,v,S,R,z,D,T,E;switch(r){case ae:for(;3>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}switch(h=7&_,u=1&h,h>>>1){case 0:_>>>=3,p-=3,h=7&p,_>>>=h,p-=h,r=se;break;case 1:k=[],v=[],S=[[]],R=[[]],Z.inflate_trees_fixed(k,v,S,R),d.init(k[0],v[0],S[0],0,R[0],0),_>>>=3,p-=3,r=ue;break;case 2:_>>>=3,p-=3,r=le;break;case 3:return _>>>=3,p-=3,r=we,e.msg="invalid block type",t=W,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t)}break;case se:for(;32>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}if((~_>>>16&65535)!=(65535&_))return r=we,e.msg="invalid stored block lengths",t=W,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);a=65535&_,_=p=0,r=0!==a?oe:0!==u?fe:ae;break;case oe:if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);if(0===y&&(m==n.end&&0!==n.read&&(m=0,y=m<n.read?n.read-m-1:n.end-m),0===y&&(n.write=m,t=n.inflate_flush(e,t),m=n.write,y=m<n.read?n.read-m-1:n.end-m,m==n.end&&0!==n.read&&(m=0,y=m<n.read?n.read-m-1:n.end-m),0===y)))return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);if(t=C,h=a,h>g&&(h=g),h>y&&(h=y),n.win.set(e.read_buf(b,h),m),b+=h,g-=h,m+=h,y-=h,0!=(a-=h))break;r=0!==u?fe:ae;break;case le:for(;14>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}if(s=h=16383&_,(31&h)>29||(h>>5&31)>29)return r=we,e.msg="too many length or distance symbols",t=W,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);if(h=258+(31&h)+(h>>5&31),!i||i.length<h)i=[];else for(x=0;h>x;x++)i[x]=0;_>>>=14,p-=14,o=0,r=ce;case ce:for(;4+(s>>>10)>o;){for(;3>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}i[re[o++]]=7&_,_>>>=3,p-=3}for(;19>o;)i[re[o++]]=0;if(l[0]=7,h=w.inflate_trees_bits(i,l,c,f,e),h!=C)return(t=h)==W&&(i=null,r=we),n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);o=0,r=de;case de:for(;h=s,258+(31&h)+(h>>5&31)>o;){let a,d;for(h=l[0];h>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}if(h=f[3*(c[0]+(_&I[h]))+1],d=f[3*(c[0]+(_&I[h]))+2],16>d)_>>>=h,p-=h,i[o++]=d;else{for(x=18==d?7:d-14,a=18==d?11:3;h+x>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}if(_>>>=h,p-=h,a+=_&I[x],_>>>=x,p-=x,x=o,h=s,x+a>258+(31&h)+(h>>5&31)||16==d&&1>x)return i=null,r=we,e.msg="invalid bit length repeat",t=W,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);d=16==d?i[x-1]:0;do{i[x++]=d}while(0!=--a);o=x}}if(c[0]=-1,z=[],D=[],T=[],E=[],z[0]=9,D[0]=6,h=s,h=w.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,z,D,T,E,f,e),h!=C)return h==W&&(i=null,r=we),t=h,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);d.init(z[0],D[0],f,T[0],f,E[0]),r=ue;case ue:if(n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,(t=d.proc(n,e,t))!=F)return n.inflate_flush(e,t);if(t=C,d.free(e),b=e.next_in_index,g=e.avail_in,_=n.bitb,p=n.bitk,m=n.write,y=m<n.read?n.read-m-1:n.end-m,0===u){r=ae;break}r=fe;case fe:if(n.write=m,t=n.inflate_flush(e,t),m=n.write,y=m<n.read?n.read-m-1:n.end-m,n.read!=n.write)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);r=he;case he:return t=F,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);case we:return t=W,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);default:return t=U,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t)}}},n.free=e=>{n.reset(e,null),n.win=null,f=null},n.set_dictionary=(e,t,i)=>{n.win.set(e.subarray(t,t+i),0),n.read=n.write=i},n.sync_point=()=>r==se?1:0}const pe=13,be=[0,0,255,255];function ge(){const e=this;function t(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),C):U}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=t=>(e.blocks&&e.blocks.free(t),e.blocks=null,C),e.inflateInit=(n,i)=>(n.msg=null,e.blocks=null,8>i||i>15?(e.inflateEnd(n),U):(e.wbits=i,n.istate.blocks=new _e(n,1<<i),t(n),C)),e.inflate=(e,t)=>{let n,i;if(!e||!e.istate||!e.next_in)return U;const r=e.istate;for(t=4==t?O:C,n=O;;)switch(r.mode){case 0:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,8!=(15&(r.method=e.read_byte(e.next_in_index++)))){r.mode=pe,e.msg="unknown compression method",r.marker=5;break}if(8+(r.method>>4)>r.wbits){r.mode=pe,e.msg="invalid win size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=pe,e.msg="incorrect header check",r.marker=5;break}if(!(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=pe,e.msg="need dictionary",r.marker=0,U;case 7:if(n=r.blocks.proc(e,n),n==W){r.mode=pe,r.marker=0;break}if(n==C&&(n=t),n!=F)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return e.avail_in=0,F;case pe:return W;default:return U}},e.inflateSetDictionary=(e,t,n)=>{let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return U;const a=e.istate;return r<1<<a.wbits||(r=(1<<a.wbits)-1,i=n-r),a.blocks.set_dictionary(t,i,r),a.mode=7,C},e.inflateSync=e=>{let n,i,r,a,s;if(!e||!e.istate)return U;const o=e.istate;if(o.mode!=pe&&(o.mode=pe,o.marker=0),0===(n=e.avail_in))return O;for(i=e.next_in_index,r=o.marker;0!==n&&4>r;)e.read_byte(i)==be[r]?r++:r=0!==e.read_byte(i)?0:4-r,i++,n--;return e.total_in+=i-e.next_in_index,e.next_in_index=i,e.avail_in=n,o.marker=r,4!=r?W:(a=e.total_in,s=e.total_out,t(e),e.total_in=a,e.total_out=s,o.mode=7,C)},e.inflateSyncPoint=e=>e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():U}function me(){}me.prototype={inflateInit(e){const t=this;return t.istate=new ge,e||(e=15),t.istate.inflateInit(t,e)},inflate(e){const t=this;return t.istate?t.istate.inflate(t,e):U},inflateEnd(){const e=this;if(!e.istate)return U;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync(){const e=this;return e.istate?e.istate.inflateSync(e):U},inflateSetDictionary(e,t){const n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):U},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}};const ye=4294967295,xe=65535,ke=33639248,ve=101075792,Se=22,Re=void 0,ze="undefined",De="function";class Te{constructor(e){return class extends S{constructor(t,n){const i=new e(n);super({transform(e,t){t.enqueue(i.append(e))},flush(e){const t=i.flush();t&&e.enqueue(t)}})}}}}let Ee=2;try{typeof E!=ze&&E.hardwareConcurrency&&(Ee=E.hardwareConcurrency)}catch(e){}const Ae={chunkSize:524288,maxWorkers:Ee,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:Re,CompressionStreamNative:typeof D!=ze&&D,DecompressionStreamNative:typeof T!=ze&&T},Ce=n.assign({},Ae);function Fe(){return Ce}function Ue(e){const{baseURL:n,chunkSize:i,maxWorkers:r,terminateWorkerTimeout:a,useCompressionStream:s,useWebWorkers:o,Deflate:l,Inflate:c,CompressionStream:d,DecompressionStream:u,workerScripts:h}=e;if(We("baseURL",n),We("chunkSize",i),We("maxWorkers",r),We("terminateWorkerTimeout",a),We("useCompressionStream",s),We("useWebWorkers",o),l&&(Ce.CompressionStream=new Te(l)),c&&(Ce.DecompressionStream=new Te(c)),We("CompressionStream",d),We("DecompressionStream",u),h!==Re){const{deflate:e,inflate:n}=h;if((e||n)&&(Ce.workerScripts||(Ce.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");Ce.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new f("workerScripts.inflate must be an array");Ce.workerScripts.inflate=n}}}function We(e,t){t!==Re&&(Ce[e]=t)}const Le=[];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;Le[e]=t}class Oe{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;i>n;n++)t=t>>>8^Le[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class Ie extends S{constructor(){let e;const t=new Oe;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new h(4);new p(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const Ne={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Ne.getPartial(n);return 32===i?e.concat(t):Ne._shiftRight(t,i,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)+Ne.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Ne.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=>s.round(e/1099511627776)||32,_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let r=0;r<e.length;r++)i.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=Ne.getPartial(r);return i.push(Ne.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},Pe={bytes:{fromBits(e){const t=Ne.bitLength(e)/8,n=new h(t);let i;for(let r=0;t>r;r++)3&r||(i=e[r/4]),n[r]=i>>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],3&~n||(t.push(i),i=0);return 3&n&&t.push(Ne.partial(8*(3&n),i)),t}}},He=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=Pe.utf8String.toBits(e));const n=t._buffer=Ne.concat(t._buffer,e),i=t._length,r=t._length=i+Ne.bitLength(e);if(r>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new _(n);let s=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);r>=e;e+=t.blockSize)t._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=Ne.concat(t,[Ne.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.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,i){return e>19?e>39?e>59?e>79?void 0:t^n^i:t&n|t&i|n&i:t^n^i:t&n|~t&i}_S(e,t){return t<<e|t>>>32-e}_block(e){const n=this,i=n._h,r=t(80);for(let t=0;16>t;t++)r[t]=e[t];let a=i[0],o=i[1],l=i[2],c=i[3],d=i[4];for(let e=0;79>=e;e++){16>e||(r[e]=n._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const t=n._S(5,a)+n._f(e,o,l,c)+d+r[e]+n._key[s.floor(e/20)]|0;d=c,c=l,l=n._S(30,o),o=a,a=t}i[0]=i[0]+a|0,i[1]=i[1]+o|0,i[2]=i[2]+l|0,i[3]=i[3]+c|0,i[4]=i[4]+d|0}},qe={getRandomValues(e){const t=new _(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)*(s.random()>.5?1:-1))};for(let i,r=0;r<e.length;r+=4){const e=n(4294967296*(i||s.random()));i=987654071*e(),t[r/4]=4294967296*e()|0}return e}},Be={importKey:e=>new Be.hmacSha1(Pe.bytes.toBits(e)),pbkdf2(e,t,n,i){if(n=n||1e4,0>i||0>n)throw new f("invalid params to pbkdf2");const r=1+(i>>5)<<2;let a,s,o,l,c;const d=new ArrayBuffer(r),u=new p(d);let h=0;const w=Ne;for(t=Pe.bytes.toBits(t),c=1;(r||1)>h;c++){for(a=s=e.encrypt(w.concat(t,[c])),o=1;n>o;o++)for(s=e.encrypt(s),l=0;l<s.length;l++)a[l]^=s[l];for(o=0;(r||1)>h&&o<a.length;o++)u.setInt32(h,a[o]),h+=4}return d.slice(0,i/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=He,i=[[],[]];t._baseHash=[new n,new n];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new n).update(e).finalize());for(let t=0;r>t;t++)i[0][t]=909522486^e[t],i[1][t]=1549556828^e[t];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[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)}}},Me=typeof k!=ze&&typeof k.getRandomValues==De,Ve="Invalid password",Ke="Invalid signature",Ze="zipjs-abort-check-password";function Ge(e){return Me?k.getRandomValues(e):qe.getRandomValues(e)}const je=16,Xe={name:"PBKDF2"},Ye=n.assign({hash:{name:"HMAC"}},Xe),Je=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Xe),Qe=["deriveBits"],$e=[8,12,16],et=[16,24,32],tt=10,nt=[0,0,0,0],it=typeof k!=ze,rt=it&&k.subtle,at=it&&typeof rt!=ze,st=Pe.bytes,ot=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new f("invalid aes key size");for(t._key=[s=e.slice(0),o=[]],a=r;4*r+28>a;a++){let e=s[a-1];(a%r==0||8===r&&a%r==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=4>=a||4>e?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[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],i=t[4],r=[],a=[];let s,o,l,c;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],a=this._tables[t],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,h,w,_=e[0]^n[0],p=e[t?3:1]^n[1],b=e[2]^n[2],g=e[t?1:3]^n[3],m=4;for(let e=0;i>e;e++)u=s[_>>>24]^o[p>>16&255]^l[b>>8&255]^c[255&g]^n[m],h=s[p>>>24]^o[b>>16&255]^l[g>>8&255]^c[255&_]^n[m+1],w=s[b>>>24]^o[g>>16&255]^l[_>>8&255]^c[255&p]^n[m+2],g=s[g>>>24]^o[_>>16&255]^l[p>>8&255]^c[255&b]^n[m+3],m+=4,_=u,p=h,b=w;for(let e=0;4>e;e++)r[t?3&-e:e]=d[_>>>24]<<24^d[p>>16&255]<<16^d[b>>8&255]<<8^d[255&g]^n[m++],u=_,_=p,p=b,b=g,g=u;return r}},lt=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,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const r=Ne.bitLength(t);for(let r=0;i>r;r+=4){this.incCounter(n);const i=e.encrypt(n);t[r]^=i[0],t[r+1]^=i[1],t[r+2]^=i[2],t[r+3]^=i[3]}return Ne.clamp(t,r)}},ct=Be.hmacSha1;let dt=it&&at&&typeof rt.importKey==De,ut=it&&at&&typeof rt.deriveBits==De;class ft extends S{constructor({password:e,rawPassword:t,signed:i,encryptionStrength:r,checkPasswordOnly:a}){super({start(){n.assign(this,{ready:new g((e=>this.resolveReady=e)),password:pt(e,t),signed:i,strength:r-1,pending:new h})},async transform(e,t){const n=this,{password:i,strength:r,resolveReady:s,ready:o}=n;i?(await(async(e,t,n,i)=>{const r=await _t(e,t,n,gt(i,0,$e[t])),a=gt(i,$e[t]);if(r[0]!=a[0]||r[1]!=a[1])throw new f(Ve)})(n,r,i,gt(e,0,$e[r]+2)),e=gt(e,$e[r]+2),a?t.error(new f(Ze)):s()):await o;const l=new h(e.length-tt-(e.length-tt)%je);t.enqueue(wt(n,e,l,0,tt,!0))},async flush(e){const{signed:t,ctr:n,hmac:i,pending:r,ready:a}=this;if(i&&n){await a;const s=gt(r,0,r.length-tt),o=gt(r,r.length-tt);let l=new h;if(s.length){const e=yt(st,s);i.update(e);const t=n.update(e);l=mt(st,t)}if(t){const e=gt(mt(st,i.digest()),0,tt);for(let t=0;tt>t;t++)if(e[t]!=o[t])throw new f(Ke)}e.enqueue(l)}}})}}class ht extends S{constructor({password:e,rawPassword:t,encryptionStrength:i}){let r;super({start(){n.assign(this,{ready:new g((e=>this.resolveReady=e)),password:pt(e,t),strength:i-1,pending:new h})},async transform(e,t){const n=this,{password:i,strength:r,resolveReady:a,ready:s}=n;let o=new h;i?(o=await(async(e,t,n)=>{const i=Ge(new h($e[t]));return bt(i,await _t(e,t,n,i))})(n,r,i),a()):await s;const l=new h(o.length+e.length-e.length%je);l.set(o,0),t.enqueue(wt(n,e,l,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:i,ready:a}=this;if(n&&t){await a;let s=new h;if(i.length){const e=t.update(yt(st,i));n.update(e),s=mt(st,e)}r.signature=mt(st,n.digest()).slice(0,tt),e.enqueue(bt(s,r.signature))}}}),r=this}}function wt(e,t,n,i,r,a){const{ctr:s,hmac:o,pending:l}=e,c=t.length-r;let d;for(l.length&&(t=bt(l,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new h(t)).set(n,0)}return e})(n,c-c%je)),d=0;c-je>=d;d+=je){const e=yt(st,gt(t,d,d+je));a&&o.update(e);const r=s.update(e);a||o.update(r),n.set(mt(st,r),d+i)}return e.pending=gt(t,d),n}async function _t(e,i,r,a){e.password=null;const s=await(async(e,t,n,i,r)=>{if(!dt)return Be.importKey(t);try{return await rt.importKey("raw",t,n,!1,r)}catch(e){return dt=!1,Be.importKey(t)}})(0,r,Ye,0,Qe),o=await(async(e,t,n)=>{if(!ut)return Be.pbkdf2(t,e.salt,Je.iterations,n);try{return await rt.deriveBits(e,t,n)}catch(i){return ut=!1,Be.pbkdf2(t,e.salt,Je.iterations,n)}})(n.assign({salt:a},Je),s,8*(2*et[i]+2)),l=new h(o),c=yt(st,gt(l,0,et[i])),d=yt(st,gt(l,et[i],2*et[i])),u=gt(l,2*et[i]);return n.assign(e,{keys:{key:c,authentication:d,passwordVerification:u},ctr:new lt(new ot(c),t.from(nt)),hmac:new ct(d)}),u}function pt(e,t){return t===Re?(e=>{if(typeof m==ze){const t=new h((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new m).encode(e)})(e):t}function bt(e,t){let n=e;return e.length+t.length&&(n=new h(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function gt(e,t,n){return e.subarray(t,n)}function mt(e,t){return e.fromBits(t)}function yt(e,t){return e.toBits(t)}class xt extends S{constructor({password:e,passwordVerification:t,checkPasswordOnly:i}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Rt(this,e)},transform(e,t){const n=this;if(n.password){const t=vt(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new f(Ve);e=e.subarray(12)}i?t.error(new f(Ze)):t.enqueue(vt(n,e))}})}}class kt extends S{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Rt(this,e)},transform(e,t){const n=this;let i,r;if(n.password){n.password=null;const t=Ge(new h(12));t[11]=n.passwordVerification,i=new h(e.length+t.length),i.set(St(n,t),0),r=12}else i=new h(e.length),r=0;i.set(St(n,e),r),t.enqueue(i)}})}}function vt(e,t){const n=new h(t.length);for(let i=0;i<t.length;i++)n[i]=Dt(e)^t[i],zt(e,n[i]);return n}function St(e,t){const n=new h(t.length);for(let i=0;i<t.length;i++)n[i]=Dt(e)^t[i],zt(e,t[i]);return n}function Rt(e,t){const i=[305419896,591751049,878082192];n.assign(e,{keys:i,crcKey0:new Oe(i[0]),crcKey2:new Oe(i[2])});for(let n=0;n<t.length;n++)zt(e,t.charCodeAt(n))}function zt(e,t){let[n,i,r]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),i=Et(s.imul(Et(i+Tt(n)),134775813)+1),e.crcKey2.append([i>>>24]),r=~e.crcKey2.get(),e.keys=[n,i,r]}function Dt(e){const t=2|e.keys[2];return Tt(s.imul(t,1^t)>>>8)}function Tt(e){return 255&e}function Et(e){return 4294967295&e}const At="deflate-raw";class Ct extends S{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:i}){super({});const{compressed:r,encrypted:a,useCompressionStream:s,zipCrypto:o,signed:l,level:c}=e,d=this;let u,f,h=Ut(super.readable);a&&!o||!l||(u=new Ie,h=Ot(h,u)),r&&(h=Lt(h,s,{level:c,chunkSize:t},i,n)),a&&(o?h=Ot(h,new kt(e)):(f=new ht(e),h=Ot(h,f))),Wt(d,h,(()=>{let e;a&&!o&&(e=f.signature),a&&!o||!l||(e=new p(u.value.buffer).getUint32(0)),d.signature=e}))}}class Ft extends S{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:i}){super({});const{zipCrypto:r,encrypted:a,signed:s,signature:o,compressed:l,useCompressionStream:c}=e;let d,u,h=Ut(super.readable);a&&(r?h=Ot(h,new xt(e)):(u=new ft(e),h=Ot(h,u))),l&&(h=Lt(h,c,{chunkSize:t},i,n)),a&&!r||!s||(d=new Ie,h=Ot(h,d)),Wt(this,h,(()=>{if((!a||r)&&s){const e=new p(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(Ke)}}))}}function Ut(e){return Ot(e,new S({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function Wt(e,t,i){t=Ot(t,new S({flush:i})),n.defineProperty(e,"readable",{get:()=>t})}function Lt(e,t,n,i,r){try{e=Ot(e,new(t&&i?i:r)(At,n))}catch(i){if(!t)return e;try{e=Ot(e,new r(At,n))}catch(t){return e}}return e}function Ot(e,t){return e.pipeThrough(t)}const It="data",Nt="close",Pt="inflate";class Ht extends S{constructor(e,t){super({});const i=this,{codecType:r}=e;let a;r.startsWith("deflate")?a=Ct:r.startsWith(Pt)&&(a=Ft);let s=0,o=0;const l=new a(e,t),c=super.readable,d=new S({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){n.assign(i,{inputSize:o})}}),u=new S({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;n.assign(i,{signature:e,outputSize:s,inputSize:o})}});n.defineProperty(i,"readable",{get:()=>c.pipeThrough(d).pipeThrough(l).pipeThrough(u)})}}class qt extends S{constructor(e){let t;super({transform:function n(i,r){if(t){const e=new h(t.length+i.length);e.set(t),e.set(i,t.length),i=e,t=null}i.length>e?(r.enqueue(i.slice(0,e)),n(i.slice(e),r)):t=i},flush(e){t&&t.length&&e.enqueue(t)}})}}let Bt=typeof A!=ze;class Mt{constructor(e,{readable:t,writable:i},{options:r,config:a,streamOptions:s,useWebWorkers:o,transferStreams:l,scripts:c},d){const{signal:u}=s;return n.assign(e,{busy:!0,readable:t.pipeThrough(new qt(a.chunkSize)).pipeThrough(new Vt(t,s),{signal:u}),writable:i,options:n.assign({},r),scripts:c,transferStreams:l,terminate:()=>new g((t=>{const{worker:n,busy:i}=e;n?(i?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,d(e)}}),(o&&Bt?Gt:Zt)(e,a)}}class Vt extends S{constructor(e,{onstart:t,onprogress:n,size:i,onend:r}){let a=0;super({async start(){t&&await Kt(t,i)},async transform(e,t){a+=e.length,n&&await Kt(n,a,i),t.enqueue(e)},async flush(){e.size=a,r&&await Kt(r,a)}})}}async function Kt(e,...t){try{await e(...t)}catch(e){}}function Zt(e,t){return{run:()=>(async({options:e,readable:t,writable:n,onTaskFinished:i},r)=>{try{const i=new Ht(e,r);await t.pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:s,outputSize:o}=i;return{signature:a,inputSize:s,outputSize:o}}finally{i()}})(e,t)}}function Gt(e,t){const{baseURL:i,chunkSize:r}=t;if(!e.interface){let a;try{a=((e,t,i)=>{const r={type:"module"};let a,s;typeof e==De&&(e=e());try{a=new u(e,t)}catch(t){a=e}if(jt)try{s=new A(a)}catch(e){jt=!1,s=new A(a,r)}else s=new A(a,r);return s.addEventListener("message",(e=>(async({data:e},t)=>{const{type:i,value:r,messageId:a,result:s,error:o}=e,{reader:l,writer:c,resolveResult:d,rejectResult:u,onTaskFinished:w}=t;try{if(o){const{message:e,stack:t,code:i,name:r}=o,a=new f(e);n.assign(a,{stack:t,code:i,name:r}),_(a)}else{if("pull"==i){const{value:e,done:n}=await l.read();Yt({type:It,value:e,done:n,messageId:a},t)}i==It&&(await c.ready,await c.write(new h(r)),Yt({type:"ack",messageId:a},t)),i==Nt&&_(null,s)}}catch(o){Yt({type:Nt,messageId:a},t),_(o)}function _(e,t){e?u(e):d(t),c&&c.releaseLock(),w()}})(e,i))),s})(e.scripts[0],i,e)}catch(n){return Bt=!1,Zt(e,t)}n.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let i,r;const a=new g(((e,t)=>{i=e,r=t}));n.assign(e,{reader:null,writer:null,resolveResult:i,rejectResult:r,result:a});const{readable:s,options:o,scripts:l}=e,{writable:c,closed:d}=(e=>{let t;const n=new g((e=>t=e));return{writable:new z({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),u=Yt({type:"start",scripts:l.slice(1),options:o,config:t,readable:s,writable:c},e);u||n.assign(e,{reader:s.getReader(),writer:c.getWriter()});const f=await a;return u||await c.getWriter().close(),await d,f})(e,{chunkSize:r})}})}return e.interface}let jt=!0,Xt=!0;function Yt(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:r}){try{let{value:n,readable:i,writable:a}=e;const s=[];if(n&&(n.byteLength<n.buffer.byteLength?e.value=n.buffer.slice(0,n.byteLength):e.value=n.buffer,s.push(e.value)),r&&Xt?(i&&s.push(i),a&&s.push(a)):e.readable=e.writable=null,s.length)try{return t.postMessage(e,s),!0}catch(n){Xt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),i(),e}}let Jt=[];const Qt=[];let $t=0;function en(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const tn="HTTP error ",nn="HTTP Range not supported",rn="Writer iterator completed too soon",an="Content-Length",sn="Range",on="HEAD",ln="GET",cn="bytes",dn=65536,un="writable";class fn{constructor(){this.size=0}init(){this.initialized=!0}}class hn extends fn{get readable(){const e=this,{chunkSize:t=dn}=e,n=new R({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:a,diskNumberStart:o}=n,{chunkOffset:l}=this;i.enqueue(await On(e,r+l,s.min(t,a-l),o)),l+t>a?i.close():this.chunkOffset+=t}});return n}}class wn extends fn{constructor(){super();const e=this,t=new z({write:t=>e.writeUint8Array(t)});n.defineProperty(e,un,{get:()=>t})}writeUint8Array(){}}class _n extends hn{constructor(e){super(),n.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,i=e+t,r=e||i<n.size?n.blob.slice(e,i):n.blob;let a=await r.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,i)),new h(a)}}class pn extends fn{constructor(e){super();const t=new S,i=[];e&&i.push(["Content-Type",e]),n.defineProperty(this,un,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:i}).blob()}getData(){return this.blob}}class bn extends hn{constructor(e,t){super(),mn(this,e,t)}async init(){await yn(this,Tn,Sn),super.init()}readUint8Array(e,t){return xn(this,e,t,Tn,Sn)}}class gn extends hn{constructor(e,t){super(),mn(this,e,t)}async init(){await yn(this,En,Rn),super.init()}readUint8Array(e,t){return xn(this,e,t,En,Rn)}}function mn(e,t,i){const{preventHeadRequest:r,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o}=i;delete(i=n.assign({},i)).preventHeadRequest,delete i.useRangeHeader,delete i.forceRangeRequests,delete i.combineSizeEocd,delete i.useXHR,n.assign(e,{url:t,options:i,preventHeadRequest:r,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o})}async function yn(e,t,n){const{url:i,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:l}=e;if((e=>{const{baseURL:t}=Fe(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n})(i)&&(s||o)&&(void 0===a||a)){const i=await t(ln,e,kn(e,l?-22:void 0));if(!o&&i.headers.get("Accept-Ranges")!=cn)throw new f(nn);{let a;l&&(e.eocdCache=new h(await i.arrayBuffer()));const s=i.headers.get("Content-Range");if(s){const e=s.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=r(t))}}a===Re?await Dn(e,t,n):e.size=a}}else await Dn(e,t,n)}async function xn(e,t,n,i,r){const{useRangeHeader:a,forceRangeRequests:s,eocdCache:o,size:l,options:c}=e;if(a||s){if(o&&t==l-Se&&n==Se)return o;const r=await i(ln,e,kn(e,t,n));if(206!=r.status)throw new f(nn);return new h(await r.arrayBuffer())}{const{data:i}=e;return i||await r(e,c),new h(e.data.subarray(t,t+n))}}function kn(e,t=0,i=1){return n.assign({},vn(e),{[sn]:cn+"="+(0>t?t:t+"-"+(t+i-1))})}function vn({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function Sn(e){await zn(e,Tn)}async function Rn(e){await zn(e,En)}async function zn(e,t){const n=await t(ln,e,vn(e));e.data=new h(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function Dn(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const i=(await t(on,e,vn(e))).headers.get(an);i?e.size=r(i):await n(e,e.options)}}async function Tn(e,{options:t,url:i},r){const a=await fetch(i,n.assign({},t,{method:e,headers:r}));if(400>a.status)return a;throw 416==a.status?new f(nn):new f(tn+(a.statusText||a.status))}function En(e,{url:t},i){return new g(((r,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",(()=>{if(400>s.status){const e=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,(e=>e.toUpperCase())),e.push(n)})),r({status:s.status,arrayBuffer:()=>s.response,headers:new l(e)})}else a(416==s.status?new f(nn):new f(tn+(s.statusText||s.status)))}),!1),s.addEventListener("error",(e=>a(e.detail?e.detail.error:new f("Network error"))),!1),s.open(e,t),i)for(const e of n.entries(i))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()}))}class An extends hn{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR?new gn(e,t):new bn(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class Cn extends hn{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await g.all(t.map((async(n,i)=>{await n.init(),i!=t.length-1&&(e.lastDiskOffset+=n.size),e.size+=n.size}))),super.init()}async readUint8Array(e,t,n=0){const i=this,{readers:r}=this;let a,o=n;-1==o&&(o=r.length-1);let l=e;for(;l>=r[o].size;)l-=r[o].size,o++;const c=r[o],d=c.size;if(l+t>d){const r=d-l;a=new h(t),a.set(await On(c,l,r)),a.set(await i.readUint8Array(e+r,t-r,n),r)}else a=await On(c,l,t);return i.lastDiskNumber=s.max(o,i.lastDiskNumber),a}}class Fn extends fn{constructor(e,t=4294967295){super();const i=this;let r,a,s;n.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new z({async write(t){const{availableSize:n}=i;if(s)t.length<n?await l(t):(await l(t.slice(0,n)),await c(),i.diskOffset+=r.size,i.diskNumber++,s=null,await this.write(t.slice(n)));else{const{value:n,done:o}=await e.next();if(o&&!n)throw new f(rn);r=n,r.size=0,r.maxSize&&(i.maxSize=r.maxSize),i.availableSize=i.maxSize,await Un(r),a=n.writable,s=a.getWriter(),await this.write(t)}},async close(){await s.ready,await c()}});async function l(e){const t=e.length;t&&(await s.ready,await s.write(e),r.size+=t,i.size+=t,i.availableSize-=t)}async function c(){a.size=r.size,await s.close()}n.defineProperty(i,un,{get:()=>o})}}async function Un(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function Wn(e){return t.isArray(e)&&(e=new Cn(e)),e instanceof R&&(e={readable:e}),e}function Ln(e){e.writable===Re&&typeof e.next==De&&(e=new Fn(e)),e instanceof z&&(e={writable:e});const{writable:t}=e;return t.size===Re&&(t.size=0),e instanceof Fn||n.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function On(e,t,n,i){return e.readUint8Array(t,n,i)}const In=Cn,Nn=Fn,Pn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),Hn=256==Pn.length;function qn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{if(Hn){let t="";for(let n=0;n<e.length;n++)t+=Pn[e[n]];return t}return(new y).decode(e)})(e):new y(t).decode(e)}const Bn="filename",Mn="rawFilename",Vn="comment",Kn="rawComment",Zn="uncompressedSize",Gn="compressedSize",jn="offset",Xn="diskNumberStart",Yn="lastModDate",Jn="rawLastModDate",Qn="lastAccessDate",$n="creationDate",ei=[Bn,Mn,Gn,Zn,Yn,Jn,Vn,Kn,Qn,$n,jn,Xn,Xn,"internalFileAttribute","externalFileAttribute","msDosCompatible","zip64","directory","bitFlag","encrypted","signature","filenameUTF8","commentUTF8","compressionMethod","version","versionMadeBy","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class ti{constructor(e){ei.forEach((t=>this[t]=e[t]))}}const ni="File format is not recognized",ii="End of central directory not found",ri="End of Zip64 central directory locator not found",ai="Central directory header not found",si="Local file header not found",oi="Zip64 extra field not found",li="File contains encrypted entry",ci="Encryption method not supported",di="Compression method not supported",ui="Split zip file",fi="utf-8",hi="cp437",wi=[[Zn,ye],[Gn,ye],[jn,ye],[Xn,xe]],_i={[xe]:{getValue:zi,bytes:4},[ye]:{getValue:Di,bytes:8}};class pi{constructor(e,t={}){n.assign(this,{reader:Wn(e),options:t,config:Fe()})}async*getEntriesGenerator(e={}){const t=this;let{reader:i}=t;const{config:r}=t;if(await Un(i),i.size!==Re&&i.readUint8Array||(i=new _n(await new d(i.readable).blob()),await Un(i)),i.size<Se)throw new f(ni);i.chunkSize=(e=>s.max(e.chunkSize,64))(r);const a=await(async(e,t,n)=>{const i=new h(4);return 101010256,Ti(i).setUint32(0,101010256,!0),await r(22)||await r(s.min(1048582,n));async function r(t){const r=n-t,a=await On(e,r,t);for(let e=a.length-22;e>=0;e--)if(a[e]==i[0]&&a[e+1]==i[1]&&a[e+2]==i[2]&&a[e+3]==i[3])return{offset:r+e,buffer:a.slice(e,e+22).buffer}}})(i,0,i.size);if(!a)throw 134695760==zi(Ti(await On(i,0,4)))?new f(ui):new f(ii);const o=Ti(a);let l=zi(o,12),c=zi(o,16);const u=a.offset,w=Ri(o,20),_=u+Se+w;let p=Ri(o,4);const b=i.lastDiskNumber||0;let m=Ri(o,6),y=Ri(o,8),x=0,k=0;if(c==ye||l==ye||y==xe||m==xe){const e=Ti(await On(i,a.offset-20,20));if(117853008==zi(e,0)){c=Di(e,8);let t=await On(i,c,56,-1),n=Ti(t);const r=a.offset-20-56;if(zi(n,0)!=ve&&c!=r){const e=c;c=r,x=c-e,t=await On(i,c,56,-1),n=Ti(t)}if(zi(n,0)!=ve)throw new f(ri);p==xe&&(p=zi(n,16)),m==xe&&(m=zi(n,20)),y==xe&&(y=Di(n,32)),l==ye&&(l=Di(n,40)),c-=l}}if(c<i.size||(x=i.size-c-l-Se,c=i.size-l-Se),b!=p)throw new f(ui);if(0>c)throw new f(ni);let v=0,S=await On(i,c,l,m),R=Ti(S);if(l){const e=a.offset-l;if(zi(R,v)!=ke&&c!=e){const t=c;c=e,x+=c-t,S=await On(i,c,l,m),R=Ti(S)}}const z=a.offset-c-(i.lastDiskOffset||0);if(l==z||0>z||(l=z,S=await On(i,c,l,m),R=Ti(S)),0>c||c>=i.size)throw new f(ni);const D=xi(t,e,"filenameEncoding"),T=xi(t,e,"commentEncoding");for(let a=0;y>a;a++){const o=new bi(i,r,t.options);if(zi(R,v)!=ke)throw new f(ai);gi(o,R,v+6);const l=!!o.bitFlag.languageEncodingFlag,c=v+46,d=c+o.filenameLength,u=d+o.extraFieldLength,h=Ri(R,v+4),w=!0,_=S.subarray(c,d),p=Ri(R,v+32),b=u+p,m=S.subarray(u,b),z=l,E=l,A=w&&!(16&~Si(R,v+38)),C=zi(R,v+42)+x;n.assign(o,{versionMadeBy:h,msDosCompatible:w,compressedSize:0,uncompressedSize:0,commentLength:p,directory:A,offset:C,diskNumberStart:Ri(R,v+34),internalFileAttribute:Ri(R,v+36),externalFileAttribute:zi(R,v+38),rawFilename:_,filenameUTF8:z,commentUTF8:E,rawExtraField:S.subarray(d,u)});const F=xi(t,e,"decodeText")||qn,[U,W]=await g.all([F(_,z?fi:D||hi),F(m,E?fi:T||hi)]);n.assign(o,{rawComment:m,filename:U,comment:W,directory:A||U.endsWith("/")}),k=s.max(C,k),await mi(o,o,R,v+6);const L=new ti(o);L.getData=(e,t)=>o.getData(e,L,t),v=b;const{onprogress:O}=e;if(O)try{await O(a+1,y,new ti(o))}catch(e){}yield L}const E=xi(t,e,"extractPrependedData"),A=xi(t,e,"extractAppendedData");return E&&(t.prependedData=k>0?await On(i,0,k):new h),t.comment=w?await On(i,u+Se,w):new h,A&&(t.appendedData=_<i.size?await On(i,_,i.size-_):new h),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){}}class bi{constructor(e,t,i){n.assign(this,{reader:e,config:t,options:i})}async getData(e,t,i={}){const a=this,{reader:s,offset:o,diskNumberStart:l,extraFieldAES:c,compressionMethod:d,config:u,bitFlag:w,signature:_,rawLastModDate:p,uncompressedSize:b,compressedSize:m}=a,y=t.localDirectory={},x=Ti(await On(s,o,30,l));let k=xi(a,i,"password"),v=xi(a,i,"rawPassword");if(k=k&&k.length&&k,v=v&&v.length&&v,c&&99!=c.originalCompressionMethod)throw new f(di);if(0!=d&&8!=d)throw new f(di);if(67324752!=zi(x,0))throw new f(si);gi(y,x,4),y.rawExtraField=y.extraFieldLength?await On(s,o+30+y.filenameLength,y.extraFieldLength,l):new h,await mi(a,y,x,4,!0),n.assign(t,{lastAccessDate:y.lastAccessDate,creationDate:y.creationDate});const S=a.encrypted&&y.encrypted,R=S&&!c;if(S){if(!R&&c.strength===Re)throw new f(ci);if(!k&&!v)throw new f(li)}const D=o+30+y.filenameLength+y.extraFieldLength,T=m,E=s.readable;n.assign(E,{diskNumberStart:l,offset:D,size:T});const A=xi(a,i,"signal"),C=xi(a,i,"checkPasswordOnly");C&&(e=new z),e=Ln(e),await Un(e,b);const{writable:F}=e,{onstart:U,onprogress:W,onend:L}=i,O={options:{codecType:Pt,password:k,rawPassword:v,zipCrypto:R,encryptionStrength:c&&c.strength,signed:xi(a,i,"checkSignature"),passwordVerification:R&&(w.dataDescriptor?p>>>8&255:_>>>24&255),signature:_,compressed:0!=d,encrypted:S,useWebWorkers:xi(a,i,"useWebWorkers"),useCompressionStream:xi(a,i,"useCompressionStream"),transferStreams:xi(a,i,"transferStreams"),checkPasswordOnly:C},config:u,streamOptions:{signal:A,size:T,onstart:U,onprogress:W,onend:L}};let I=0;try{({outputSize:I}=await(async(e,t)=>{const{options:n,config:i}=t,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,codecType:l,compressed:c,signed:d,encrypted:u}=n,{workerScripts:f,maxWorkers:h}=i;t.transferStreams=a||a===Re;const w=!(c||d||u||t.transferStreams);return t.useWebWorkers=!w&&(s||s===Re&&i.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[l]:[],n.useCompressionStream=o||o===Re&&i.useCompressionStream,(await(async()=>{const n=Jt.find((e=>!e.busy));if(n)return en(n),new Mt(n,e,t,_);if(Jt.length<h){const n={indexWorker:$t};return $t++,Jt.push(n),new Mt(n,e,t,_)}return new g((n=>Qt.push({resolve:n,stream:e,workerOptions:t})))})()).run();function _(e){if(Qt.length){const[{resolve:t,stream:n,workerOptions:i}]=Qt.splice(0,1);t(new Mt(e,n,i,_))}else e.worker?(en(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:i}=n;r.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout((async()=>{Jt=Jt.filter((t=>t!=e));try{await e.terminate()}catch(e){}}),i))})(e,t)):Jt=Jt.filter((t=>t!=e))}})({readable:E,writable:F},O))}catch(e){if(!C||e.message!=Ze)throw e}finally{const e=xi(a,i,"preventClose");F.size+=I,e||F.locked||await F.getWriter().close()}return C?Re:e.getData?e.getData():F}}function gi(e,t,i){const r=e.rawBitFlag=Ri(t,i+2),a=!(1&~r),s=zi(t,i+6);n.assign(e,{encrypted:a,version:Ri(t,i),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:!(2048&~r)},rawLastModDate:s,lastModDate:ki(s),filenameLength:Ri(t,i+22),extraFieldLength:Ri(t,i+24)})}async function mi(e,t,i,r,a){const{rawExtraField:s}=t,c=t.extraField=new l,d=Ti(new h(s));let u=0;try{for(;u<s.length;){const e=Ri(d,u),t=Ri(d,u+2);c.set(e,{type:e,data:s.slice(u+4,u+4+t)}),u+=4+t}}catch(e){}const w=Ri(i,r+4);n.assign(t,{signature:zi(i,r+10),uncompressedSize:zi(i,r+18),compressedSize:zi(i,r+14)});const _=c.get(1);_&&(((e,t)=>{t.zip64=!0;const n=Ti(e.data),i=wi.filter((([e,n])=>t[e]==n));for(let r=0,a=0;r<i.length;r++){const[s,o]=i[r];if(t[s]==o){const i=_i[o];t[s]=e[s]=i.getValue(n,a),a+=i.bytes}else if(e[s])throw new f(oi)}})(_,t),t.extraFieldZip64=_);const p=c.get(28789);p&&(await yi(p,Bn,Mn,t,e),t.extraFieldUnicodePath=p);const b=c.get(25461);b&&(await yi(b,Vn,Kn,t,e),t.extraFieldUnicodeComment=b);const g=c.get(39169);g?(((e,t,i)=>{const r=Ti(e.data),a=Si(r,4);n.assign(e,{vendorVersion:Si(r,0),vendorId:Si(r,2),strength:a,originalCompressionMethod:i,compressionMethod:Ri(r,5)}),t.compressionMethod=e.compressionMethod})(g,t,w),t.extraFieldAES=g):t.compressionMethod=w;const m=c.get(10);m&&(((e,t)=>{const i=Ti(e.data);let r,a=4;try{for(;a<e.data.length&&!r;){const t=Ri(i,a),n=Ri(i,a+2);1==t&&(r=e.data.slice(a+4,a+4+n)),a+=4+n}}catch(e){}try{if(r&&24==r.length){const i=Ti(r),a=i.getBigUint64(0,!0),s=i.getBigUint64(8,!0),o=i.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const l={lastModDate:vi(a),lastAccessDate:vi(s),creationDate:vi(o)};n.assign(e,l),n.assign(t,l)}}catch(e){}})(m,t),t.extraFieldNTFS=m);const y=c.get(21589);y&&(((e,t,n)=>{const i=Ti(e.data),r=Si(i,0),a=[],s=[];n?(1&~r||(a.push(Yn),s.push(Jn)),2&~r||(a.push(Qn),s.push("rawLastAccessDate")),4&~r||(a.push($n),s.push("rawCreationDate"))):5>e.data.length||(a.push(Yn),s.push(Jn));let l=1;a.forEach(((n,r)=>{if(e.data.length>=l+4){const a=zi(i,l);t[n]=e[n]=new o(1e3*a);const c=s[r];e[c]=a}l+=4}))})(y,t,a),t.extraFieldExtendedTimestamp=y);const x=c.get(6534);x&&(t.extraFieldUSDZ=x)}async function yi(e,t,i,r,a){const s=Ti(e.data),o=new Oe;o.append(a[i]);const l=Ti(new h(4));l.setUint32(0,o.get(),!0);const c=zi(s,1);n.assign(e,{version:Si(s,0),[t]:qn(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==zi(l,0)}),e.valid&&(r[t]=e[t],r[t+"UTF8"]=!0)}function xi(e,t,n){return t[n]===Re?e.options[n]:t[n]}function ki(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 vi(e){return new o(r(e/a(1e4)-a(116444736e5)))}function Si(e,t){return e.getUint8(t)}function Ri(e,t){return e.getUint16(t,!0)}function zi(e,t){return e.getUint32(t,!0)}function Di(e,t){return r(e.getBigUint64(t,!0))}function Ti(e){return new p(e.buffer)}Ue({Inflate:function(e){const t=new me,n=e&&e.chunkSize?s.floor(2*e.chunkSize):131072,i=new h(n);let r=!1;t.inflateInit(),t.next_out=i,this.append=(e,a)=>{const s=[];let o,l,c=0,d=0,u=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||r||(t.next_in_index=0,r=!0),o=t.inflate(0),r&&o===O){if(0!==t.avail_in)throw new f("inflating: bad input")}else if(o!==C&&o!==F)throw new f("inflating: "+t.msg);if((r||o===F)&&t.avail_in===e.length)throw new f("inflating: bad input");t.next_out_index&&(t.next_out_index===n?s.push(new h(i)):s.push(i.subarray(0,t.next_out_index))),u+=t.next_out_index,a&&t.next_in_index>0&&t.next_in_index!=c&&(a(t.next_in_index),c=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return s.length>1?(l=new h(u),s.forEach((e=>{l.set(e,d),d+=e.length}))):l=s[0]?new h(s[0]):new h,l}},this.flush=()=>{t.inflateEnd()}}}),e.BlobReader=_n,e.BlobWriter=pn,e.Data64URIReader=class extends hn{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const i=e.indexOf(",")+1;n.assign(this,{dataURI:e,dataStart:i,size:s.floor(.75*(t-i))})}readUint8Array(e,t){const{dataStart:n,dataURI:i}=this,r=new h(t),a=4*s.floor(e/3),o=atob(i.substring(a+n,4*s.ceil((e+t)/3)+n)),l=e-3*s.floor(a/4);for(let e=l;l+t>e;e++)r[e-l]=o.charCodeAt(e);return r}},e.Data64URIWriter=class extends wn{constructor(e){super(),n.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let n=0,r=t.pending;const a=t.pending.length;for(t.pending="",n=0;n<3*s.floor((a+e.length)/3)-a;n++)r+=i.fromCharCode(e[n]);for(;n<e.length;n++)t.pending+=i.fromCharCode(e[n]);r.length>2?t.data+=v(r):t.pending=r}getData(){return this.data+v(this.pending)}},e.ERR_BAD_FORMAT=ni,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ai,e.ERR_ENCRYPTED=li,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ri,e.ERR_EOCDR_NOT_FOUND=ii,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=oi,e.ERR_HTTP_RANGE=nn,e.ERR_INVALID_PASSWORD=Ve,e.ERR_INVALID_SIGNATURE=Ke,e.ERR_ITERATOR_COMPLETED_TOO_SOON=rn,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=si,e.ERR_SPLIT_ZIP_FILE=ui,e.ERR_UNSUPPORTED_COMPRESSION=di,e.ERR_UNSUPPORTED_ENCRYPTION=ci,e.HttpRangeReader=class extends An{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=An,e.Reader=hn,e.SplitDataReader=Cn,e.SplitDataWriter=Fn,e.SplitZipReader=In,e.SplitZipWriter=Nn,e.TextReader=class extends _n{constructor(e){super(new b([e],{type:"text/plain"}))}},e.TextWriter=class extends pn{constructor(e){super(e),n.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,i=await super.getData();if(i.text&&t)return i.text();{const t=new FileReader;return new g(((r,a)=>{n.assign(t,{onload:({target:e})=>r(e.result),onerror:()=>a(t.error)}),t.readAsText(i,e)}))}}},e.Uint8ArrayReader=class extends hn{constructor(e){super(),n.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends wn{init(e=0){n.assign(this,{offset:0,array:new h(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const n=t.array;t.array=new h(n.length+e.length),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=wn,e.ZipReader=pi,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:n}=new S,i=new pi(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:n}=await i.next();if(t)return e.close();const r={...n,readable:(()=>{const{readable:e,writable:t}=new S;if(n.getData)return n.getData(t),e})()};delete r.getData,e.enqueue(r)}}),this.writable=n}},e.configure=Ue,e.getMimeType=()=>"application/octet-stream",e.initReader=Wn,e.initStream=Un,e.initWriter=Ln,e.readUint8Array=On,e.terminateWorkers=async()=>{await g.allSettled(Jt.map((e=>(en(e),e.terminate()))))},n.defineProperty(e,"__esModule",{value:!0})})); | ||
((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:i,Number:r,BigInt:a,Math:s,Date:o,Map:l,Set:c,Response:d,URL:u,Error:f,Uint8Array:h,Uint16Array:w,Uint32Array:_,DataView:p,Blob:b,Promise:g,TextEncoder:m,TextDecoder:y,document:x,crypto:k,btoa:v,TransformStream:S,ReadableStream:R,WritableStream:z,CompressionStream:D,DecompressionStream:T,navigator:E,Worker:A}="undefined"!=typeof globalThis?globalThis:this||self,C=0,F=1,U=-2,W=-3,L=-4,O=-5,I=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],N=1440,P=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],H=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],q=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],B=[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,112,112],M=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],V=[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],K=15;function Z(){let e,t,n,i,r,a;function s(e,t,s,o,l,c,d,u,f,h,w){let _,p,b,g,m,y,x,k,v,S,R,z,D,T,E;S=0,m=s;do{n[e[t+S]]++,S++,m--}while(0!==m);if(n[0]==s)return d[0]=-1,u[0]=0,C;for(k=u[0],y=1;K>=y&&0===n[y];y++);for(x=y,y>k&&(k=y),m=K;0!==m&&0===n[m];m--);for(b=m,k>m&&(k=m),u[0]=k,T=1<<y;m>y;y++,T<<=1)if(0>(T-=n[y]))return W;if(0>(T-=n[m]))return W;for(n[m]+=T,a[1]=y=0,S=1,D=2;0!=--m;)a[D]=y+=n[S],D++,S++;m=0,S=0;do{0!==(y=e[t+S])&&(w[a[y]++]=m),S++}while(++m<s);for(s=a[b],a[0]=m=0,S=0,g=-1,z=-k,r[0]=0,R=0,E=0;b>=x;x++)for(_=n[x];0!=_--;){for(;x>z+k;){if(g++,z+=k,E=b-z,E=E>k?k:E,(p=1<<(y=x-z))>_+1&&(p-=_+1,D=x,E>y))for(;++y<E&&(p<<=1)>n[++D];)p-=n[D];if(E=1<<y,h[0]+E>N)return W;r[g]=R=h[0],h[0]+=E,0!==g?(a[g]=m,i[0]=y,i[1]=k,y=m>>>z-k,i[2]=R-r[g-1]-y,f.set(i,3*(r[g-1]+y))):d[0]=R}for(i[1]=x-z,s>S?w[S]<o?(i[0]=256>w[S]?0:96,i[2]=w[S++]):(i[0]=c[w[S]-o]+16+64,i[2]=l[w[S++]-o]):i[0]=192,p=1<<x-z,y=m>>>z;E>y;y+=p)f.set(i,3*(R+y));for(y=1<<x-1;m&y;y>>>=1)m^=y;for(m^=y,v=(1<<z)-1;(m&v)!=a[g];)g--,z-=k,v=(1<<z)-1}return 0!==T&&1!=b?O:C}function o(s){let o;for(e||(e=[],t=[],n=new Int32Array(K+1),i=[],r=new Int32Array(K),a=new Int32Array(K+1)),t.length<s&&(t=[]),o=0;s>o;o++)t[o]=0;for(o=0;K+1>o;o++)n[o]=0;for(o=0;3>o;o++)i[o]=0;r.set(n.subarray(0,K),0),a.set(n.subarray(0,K+1),0)}this.inflate_trees_bits=(n,i,r,a,l)=>{let c;return o(19),e[0]=0,c=s(n,0,19,19,null,null,r,i,a,e,t),c==W?l.msg="oversubscribed dynamic bit lengths tree":c!=O&&0!==i[0]||(l.msg="incomplete dynamic bit lengths tree",c=W),c},this.inflate_trees_dynamic=(n,i,r,a,l,c,d,u,f)=>{let h;return o(288),e[0]=0,h=s(r,0,n,257,q,B,c,a,u,e,t),h!=C||0===a[0]?(h==W?f.msg="oversubscribed literal/length tree":h!=L&&(f.msg="incomplete literal/length tree",h=W),h):(o(288),h=s(r,n,i,0,M,V,d,l,u,e,t),h!=C||0===l[0]&&n>257?(h==W?f.msg="oversubscribed distance tree":h==O?(f.msg="incomplete distance tree",h=W):h!=L&&(f.msg="empty distance tree with lengths",h=W),h):C)}}Z.inflate_trees_fixed=(e,t,n,i)=>(e[0]=9,t[0]=5,n[0]=P,i[0]=H,C);const G=0,j=1,X=2,Y=3,J=4,Q=5,$=6,ee=7,te=8,ne=9;function ie(){const e=this;let t,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,u=0,f=0,h=0,w=0;function _(e,t,n,i,r,a,s,o){let l,c,d,u,f,h,w,_,p,b,g,m,y,x,k,v;w=o.next_in_index,_=o.avail_in,f=s.bitb,h=s.bitk,p=s.write,b=p<s.read?s.read-p-1:s.end-p,g=I[e],m=I[t];do{for(;20>h;)_--,f|=(255&o.read_byte(w++))<<h,h+=8;if(l=f&g,c=n,d=i,v=3*(d+l),0!==(u=c[v]))for(;;){if(f>>=c[v+1],h-=c[v+1],16&u){for(u&=15,y=c[v+2]+(f&I[u]),f>>=u,h-=u;15>h;)_--,f|=(255&o.read_byte(w++))<<h,h+=8;for(l=f&m,c=r,d=a,v=3*(d+l),u=c[v];;){if(f>>=c[v+1],h-=c[v+1],16&u){for(u&=15;u>h;)_--,f|=(255&o.read_byte(w++))<<h,h+=8;if(x=c[v+2]+(f&I[u]),f>>=u,h-=u,b-=y,x>p){k=p-x;do{k+=s.end}while(0>k);if(u=s.end-k,y>u){if(y-=u,p-k>0&&u>p-k)do{s.win[p++]=s.win[k++]}while(0!=--u);else s.win.set(s.win.subarray(k,k+u),p),p+=u,k+=u,u=0;k=0}}else k=p-x,p-k>0&&2>p-k?(s.win[p++]=s.win[k++],s.win[p++]=s.win[k++],y-=2):(s.win.set(s.win.subarray(k,k+2),p),p+=2,k+=2,y-=2);if(p-k>0&&y>p-k)do{s.win[p++]=s.win[k++]}while(0!=--y);else s.win.set(s.win.subarray(k,k+y),p),p+=y,k+=y,y=0;break}if(64&u)return o.msg="invalid distance code",y=o.avail_in-_,y=y>h>>3?h>>3:y,_+=y,w-=y,h-=y<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=p,W;l+=c[v+2],l+=f&I[u],v=3*(d+l),u=c[v]}break}if(64&u)return 32&u?(y=o.avail_in-_,y=y>h>>3?h>>3:y,_+=y,w-=y,h-=y<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=p,F):(o.msg="invalid literal/length code",y=o.avail_in-_,y=y>h>>3?h>>3:y,_+=y,w-=y,h-=y<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=p,W);if(l+=c[v+2],l+=f&I[u],v=3*(d+l),0===(u=c[v])){f>>=c[v+1],h-=c[v+1],s.win[p++]=c[v+2],b--;break}}else f>>=c[v+1],h-=c[v+1],s.win[p++]=c[v+2],b--}while(b>=258&&_>=10);return y=o.avail_in-_,y=y>h>>3?h>>3:y,_+=y,w-=y,h-=y<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=p,C}e.init=(e,a,s,o,l,c)=>{t=G,u=e,f=a,i=s,h=o,r=l,w=c,n=null},e.proc=(e,p,b)=>{let g,m,y,x,k,v,S,R=0,z=0,D=0;for(D=p.next_in_index,x=p.avail_in,R=e.bitb,z=e.bitk,k=e.write,v=k<e.read?e.read-k-1:e.end-k;;)switch(t){case G:if(v>=258&&x>=10&&(e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,b=_(u,f,i,h,r,w,e,p),D=p.next_in_index,x=p.avail_in,R=e.bitb,z=e.bitk,k=e.write,v=k<e.read?e.read-k-1:e.end-k,b!=C)){t=b==F?ee:ne;break}o=u,n=i,s=h,t=j;case j:for(g=o;g>z;){if(0===x)return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);b=C,x--,R|=(255&p.read_byte(D++))<<z,z+=8}if(m=3*(s+(R&I[g])),R>>>=n[m+1],z-=n[m+1],y=n[m],0===y){l=n[m+2],t=$;break}if(16&y){c=15&y,a=n[m+2],t=X;break}if(!(64&y)){o=y,s=m/3+n[m+2];break}if(32&y){t=ee;break}return t=ne,p.msg="invalid literal/length code",b=W,e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);case X:for(g=c;g>z;){if(0===x)return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);b=C,x--,R|=(255&p.read_byte(D++))<<z,z+=8}a+=R&I[g],R>>=g,z-=g,o=f,n=r,s=w,t=Y;case Y:for(g=o;g>z;){if(0===x)return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);b=C,x--,R|=(255&p.read_byte(D++))<<z,z+=8}if(m=3*(s+(R&I[g])),R>>=n[m+1],z-=n[m+1],y=n[m],16&y){c=15&y,d=n[m+2],t=J;break}if(!(64&y)){o=y,s=m/3+n[m+2];break}return t=ne,p.msg="invalid distance code",b=W,e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);case J:for(g=c;g>z;){if(0===x)return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);b=C,x--,R|=(255&p.read_byte(D++))<<z,z+=8}d+=R&I[g],R>>=g,z-=g,t=Q;case Q:for(S=k-d;0>S;)S+=e.end;for(;0!==a;){if(0===v&&(k==e.end&&0!==e.read&&(k=0,v=k<e.read?e.read-k-1:e.end-k),0===v&&(e.write=k,b=e.inflate_flush(p,b),k=e.write,v=k<e.read?e.read-k-1:e.end-k,k==e.end&&0!==e.read&&(k=0,v=k<e.read?e.read-k-1:e.end-k),0===v)))return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);e.win[k++]=e.win[S++],v--,S==e.end&&(S=0),a--}t=G;break;case $:if(0===v&&(k==e.end&&0!==e.read&&(k=0,v=k<e.read?e.read-k-1:e.end-k),0===v&&(e.write=k,b=e.inflate_flush(p,b),k=e.write,v=k<e.read?e.read-k-1:e.end-k,k==e.end&&0!==e.read&&(k=0,v=k<e.read?e.read-k-1:e.end-k),0===v)))return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);b=C,e.win[k++]=l,v--,t=G;break;case ee:if(z>7&&(z-=8,x++,D--),e.write=k,b=e.inflate_flush(p,b),k=e.write,v=k<e.read?e.read-k-1:e.end-k,e.read!=e.write)return e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);t=te;case te:return b=F,e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);case ne:return b=W,e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b);default:return b=U,e.bitb=R,e.bitk=z,p.avail_in=x,p.total_in+=D-p.next_in_index,p.next_in_index=D,e.write=k,e.inflate_flush(p,b)}},e.free=()=>{}}const re=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ae=0,se=1,oe=2,le=3,ce=4,de=5,ue=6,fe=7,he=8,we=9;function _e(e,t){const n=this;let i,r=ae,a=0,s=0,o=0;const l=[0],c=[0],d=new ie;let u=0,f=new Int32Array(3*N);const w=new Z;n.bitk=0,n.bitb=0,n.win=new h(t),n.end=t,n.read=0,n.write=0,n.reset=(e,t)=>{t&&(t[0]=0),r==ue&&d.free(e),r=ae,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=(e,t)=>{let i,r,a;return r=e.next_out_index,a=n.read,i=(a>n.write?n.end:n.write)-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==O&&(t=C),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==O&&(t=C),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(a,a+i),r),r+=i,a+=i),e.next_out_index=r,n.read=a,t},n.proc=(e,t)=>{let h,_,p,b,g,m,y,x;for(b=e.next_in_index,g=e.avail_in,_=n.bitb,p=n.bitk,m=n.write,y=m<n.read?n.read-m-1:n.end-m;;){let k,v,S,R,z,D,T,E;switch(r){case ae:for(;3>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}switch(h=7&_,u=1&h,h>>>1){case 0:_>>>=3,p-=3,h=7&p,_>>>=h,p-=h,r=se;break;case 1:k=[],v=[],S=[[]],R=[[]],Z.inflate_trees_fixed(k,v,S,R),d.init(k[0],v[0],S[0],0,R[0],0),_>>>=3,p-=3,r=ue;break;case 2:_>>>=3,p-=3,r=le;break;case 3:return _>>>=3,p-=3,r=we,e.msg="invalid block type",t=W,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t)}break;case se:for(;32>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}if((~_>>>16&65535)!=(65535&_))return r=we,e.msg="invalid stored block lengths",t=W,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);a=65535&_,_=p=0,r=0!==a?oe:0!==u?fe:ae;break;case oe:if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);if(0===y&&(m==n.end&&0!==n.read&&(m=0,y=m<n.read?n.read-m-1:n.end-m),0===y&&(n.write=m,t=n.inflate_flush(e,t),m=n.write,y=m<n.read?n.read-m-1:n.end-m,m==n.end&&0!==n.read&&(m=0,y=m<n.read?n.read-m-1:n.end-m),0===y)))return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);if(t=C,h=a,h>g&&(h=g),h>y&&(h=y),n.win.set(e.read_buf(b,h),m),b+=h,g-=h,m+=h,y-=h,0!=(a-=h))break;r=0!==u?fe:ae;break;case le:for(;14>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}if(s=h=16383&_,(31&h)>29||(h>>5&31)>29)return r=we,e.msg="too many length or distance symbols",t=W,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);if(h=258+(31&h)+(h>>5&31),!i||i.length<h)i=[];else for(x=0;h>x;x++)i[x]=0;_>>>=14,p-=14,o=0,r=ce;case ce:for(;4+(s>>>10)>o;){for(;3>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}i[re[o++]]=7&_,_>>>=3,p-=3}for(;19>o;)i[re[o++]]=0;if(l[0]=7,h=w.inflate_trees_bits(i,l,c,f,e),h!=C)return(t=h)==W&&(i=null,r=we),n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);o=0,r=de;case de:for(;h=s,258+(31&h)+(h>>5&31)>o;){let a,d;for(h=l[0];h>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}if(h=f[3*(c[0]+(_&I[h]))+1],d=f[3*(c[0]+(_&I[h]))+2],16>d)_>>>=h,p-=h,i[o++]=d;else{for(x=18==d?7:d-14,a=18==d?11:3;h+x>p;){if(0===g)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);t=C,g--,_|=(255&e.read_byte(b++))<<p,p+=8}if(_>>>=h,p-=h,a+=_&I[x],_>>>=x,p-=x,x=o,h=s,x+a>258+(31&h)+(h>>5&31)||16==d&&1>x)return i=null,r=we,e.msg="invalid bit length repeat",t=W,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);d=16==d?i[x-1]:0;do{i[x++]=d}while(0!=--a);o=x}}if(c[0]=-1,z=[],D=[],T=[],E=[],z[0]=9,D[0]=6,h=s,h=w.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,z,D,T,E,f,e),h!=C)return h==W&&(i=null,r=we),t=h,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);d.init(z[0],D[0],f,T[0],f,E[0]),r=ue;case ue:if(n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,(t=d.proc(n,e,t))!=F)return n.inflate_flush(e,t);if(t=C,d.free(e),b=e.next_in_index,g=e.avail_in,_=n.bitb,p=n.bitk,m=n.write,y=m<n.read?n.read-m-1:n.end-m,0===u){r=ae;break}r=fe;case fe:if(n.write=m,t=n.inflate_flush(e,t),m=n.write,y=m<n.read?n.read-m-1:n.end-m,n.read!=n.write)return n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);r=he;case he:return t=F,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);case we:return t=W,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t);default:return t=U,n.bitb=_,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=m,n.inflate_flush(e,t)}}},n.free=e=>{n.reset(e,null),n.win=null,f=null},n.set_dictionary=(e,t,i)=>{n.win.set(e.subarray(t,t+i),0),n.read=n.write=i},n.sync_point=()=>r==se?1:0}const pe=13,be=[0,0,255,255];function ge(){const e=this;function t(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),C):U}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=t=>(e.blocks&&e.blocks.free(t),e.blocks=null,C),e.inflateInit=(n,i)=>(n.msg=null,e.blocks=null,8>i||i>15?(e.inflateEnd(n),U):(e.wbits=i,n.istate.blocks=new _e(n,1<<i),t(n),C)),e.inflate=(e,t)=>{let n,i;if(!e||!e.istate||!e.next_in)return U;const r=e.istate;for(t=4==t?O:C,n=O;;)switch(r.mode){case 0:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,8!=(15&(r.method=e.read_byte(e.next_in_index++)))){r.mode=pe,e.msg="unknown compression method",r.marker=5;break}if(8+(r.method>>4)>r.wbits){r.mode=pe,e.msg="invalid win size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=pe,e.msg="incorrect header check",r.marker=5;break}if(!(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=pe,e.msg="need dictionary",r.marker=0,U;case 7:if(n=r.blocks.proc(e,n),n==W){r.mode=pe,r.marker=0;break}if(n==C&&(n=t),n!=F)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return e.avail_in=0,F;case pe:return W;default:return U}},e.inflateSetDictionary=(e,t,n)=>{let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return U;const a=e.istate;return r<1<<a.wbits||(r=(1<<a.wbits)-1,i=n-r),a.blocks.set_dictionary(t,i,r),a.mode=7,C},e.inflateSync=e=>{let n,i,r,a,s;if(!e||!e.istate)return U;const o=e.istate;if(o.mode!=pe&&(o.mode=pe,o.marker=0),0===(n=e.avail_in))return O;for(i=e.next_in_index,r=o.marker;0!==n&&4>r;)e.read_byte(i)==be[r]?r++:r=0!==e.read_byte(i)?0:4-r,i++,n--;return e.total_in+=i-e.next_in_index,e.next_in_index=i,e.avail_in=n,o.marker=r,4!=r?W:(a=e.total_in,s=e.total_out,t(e),e.total_in=a,e.total_out=s,o.mode=7,C)},e.inflateSyncPoint=e=>e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():U}function me(){}me.prototype={inflateInit(e){const t=this;return t.istate=new ge,e||(e=15),t.istate.inflateInit(t,e)},inflate(e){const t=this;return t.istate?t.istate.inflate(t,e):U},inflateEnd(){const e=this;if(!e.istate)return U;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync(){const e=this;return e.istate?e.istate.inflateSync(e):U},inflateSetDictionary(e,t){const n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):U},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}};const ye=4294967295,xe=65535,ke=33639248,ve=101075792,Se=22,Re=void 0,ze="undefined",De="function";class Te{constructor(e){return class extends S{constructor(t,n){const i=new e(n);super({transform(e,t){t.enqueue(i.append(e))},flush(e){const t=i.flush();t&&e.enqueue(t)}})}}}}let Ee=2;try{typeof E!=ze&&E.hardwareConcurrency&&(Ee=E.hardwareConcurrency)}catch(e){}const Ae={chunkSize:524288,maxWorkers:Ee,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:Re,CompressionStreamNative:typeof D!=ze&&D,DecompressionStreamNative:typeof T!=ze&&T},Ce=n.assign({},Ae);function Fe(){return Ce}function Ue(e){const{baseURL:n,chunkSize:i,maxWorkers:r,terminateWorkerTimeout:a,useCompressionStream:s,useWebWorkers:o,Deflate:l,Inflate:c,CompressionStream:d,DecompressionStream:u,workerScripts:h}=e;if(We("baseURL",n),We("chunkSize",i),We("maxWorkers",r),We("terminateWorkerTimeout",a),We("useCompressionStream",s),We("useWebWorkers",o),l&&(Ce.CompressionStream=new Te(l)),c&&(Ce.DecompressionStream=new Te(c)),We("CompressionStream",d),We("DecompressionStream",u),h!==Re){const{deflate:e,inflate:n}=h;if((e||n)&&(Ce.workerScripts||(Ce.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");Ce.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new f("workerScripts.inflate must be an array");Ce.workerScripts.inflate=n}}}function We(e,t){t!==Re&&(Ce[e]=t)}const Le=[];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;Le[e]=t}class Oe{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;i>n;n++)t=t>>>8^Le[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class Ie extends S{constructor(){let e;const t=new Oe;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new h(4);new p(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const Ne={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Ne.getPartial(n);return 32===i?e.concat(t):Ne._shiftRight(t,i,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)+Ne.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Ne.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=>s.round(e/1099511627776)||32,_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let r=0;r<e.length;r++)i.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=Ne.getPartial(r);return i.push(Ne.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},Pe={bytes:{fromBits(e){const t=Ne.bitLength(e)/8,n=new h(t);let i;for(let r=0;t>r;r++)3&r||(i=e[r/4]),n[r]=i>>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],3&~n||(t.push(i),i=0);return 3&n&&t.push(Ne.partial(8*(3&n),i)),t}}},He=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=Pe.utf8String.toBits(e));const n=t._buffer=Ne.concat(t._buffer,e),i=t._length,r=t._length=i+Ne.bitLength(e);if(r>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new _(n);let s=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);r>=e;e+=t.blockSize)t._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=Ne.concat(t,[Ne.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.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,i){return e>19?e>39?e>59?e>79?void 0:t^n^i:t&n|t&i|n&i:t^n^i:t&n|~t&i}_S(e,t){return t<<e|t>>>32-e}_block(e){const n=this,i=n._h,r=t(80);for(let t=0;16>t;t++)r[t]=e[t];let a=i[0],o=i[1],l=i[2],c=i[3],d=i[4];for(let e=0;79>=e;e++){16>e||(r[e]=n._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const t=n._S(5,a)+n._f(e,o,l,c)+d+r[e]+n._key[s.floor(e/20)]|0;d=c,c=l,l=n._S(30,o),o=a,a=t}i[0]=i[0]+a|0,i[1]=i[1]+o|0,i[2]=i[2]+l|0,i[3]=i[3]+c|0,i[4]=i[4]+d|0}},qe={getRandomValues(e){const t=new _(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)*(s.random()>.5?1:-1))};for(let i,r=0;r<e.length;r+=4){const e=n(4294967296*(i||s.random()));i=987654071*e(),t[r/4]=4294967296*e()|0}return e}},Be={importKey:e=>new Be.hmacSha1(Pe.bytes.toBits(e)),pbkdf2(e,t,n,i){if(n=n||1e4,0>i||0>n)throw new f("invalid params to pbkdf2");const r=1+(i>>5)<<2;let a,s,o,l,c;const d=new ArrayBuffer(r),u=new p(d);let h=0;const w=Ne;for(t=Pe.bytes.toBits(t),c=1;(r||1)>h;c++){for(a=s=e.encrypt(w.concat(t,[c])),o=1;n>o;o++)for(s=e.encrypt(s),l=0;l<s.length;l++)a[l]^=s[l];for(o=0;(r||1)>h&&o<a.length;o++)u.setInt32(h,a[o]),h+=4}return d.slice(0,i/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=He,i=[[],[]];t._baseHash=[new n,new n];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new n).update(e).finalize());for(let t=0;r>t;t++)i[0][t]=909522486^e[t],i[1][t]=1549556828^e[t];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[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)}}},Me=typeof k!=ze&&typeof k.getRandomValues==De,Ve="Invalid password",Ke="Invalid signature",Ze="zipjs-abort-check-password";function Ge(e){return Me?k.getRandomValues(e):qe.getRandomValues(e)}const je=16,Xe={name:"PBKDF2"},Ye=n.assign({hash:{name:"HMAC"}},Xe),Je=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Xe),Qe=["deriveBits"],$e=[8,12,16],et=[16,24,32],tt=10,nt=[0,0,0,0],it=typeof k!=ze,rt=it&&k.subtle,at=it&&typeof rt!=ze,st=Pe.bytes,ot=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new f("invalid aes key size");for(t._key=[s=e.slice(0),o=[]],a=r;4*r+28>a;a++){let e=s[a-1];(a%r==0||8===r&&a%r==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=4>=a||4>e?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[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],i=t[4],r=[],a=[];let s,o,l,c;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],a=this._tables[t],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,h,w,_=e[0]^n[0],p=e[t?3:1]^n[1],b=e[2]^n[2],g=e[t?1:3]^n[3],m=4;for(let e=0;i>e;e++)u=s[_>>>24]^o[p>>16&255]^l[b>>8&255]^c[255&g]^n[m],h=s[p>>>24]^o[b>>16&255]^l[g>>8&255]^c[255&_]^n[m+1],w=s[b>>>24]^o[g>>16&255]^l[_>>8&255]^c[255&p]^n[m+2],g=s[g>>>24]^o[_>>16&255]^l[p>>8&255]^c[255&b]^n[m+3],m+=4,_=u,p=h,b=w;for(let e=0;4>e;e++)r[t?3&-e:e]=d[_>>>24]<<24^d[p>>16&255]<<16^d[b>>8&255]<<8^d[255&g]^n[m++],u=_,_=p,p=b,b=g,g=u;return r}},lt=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,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const r=Ne.bitLength(t);for(let r=0;i>r;r+=4){this.incCounter(n);const i=e.encrypt(n);t[r]^=i[0],t[r+1]^=i[1],t[r+2]^=i[2],t[r+3]^=i[3]}return Ne.clamp(t,r)}},ct=Be.hmacSha1;let dt=it&&at&&typeof rt.importKey==De,ut=it&&at&&typeof rt.deriveBits==De;class ft extends S{constructor({password:e,rawPassword:t,signed:i,encryptionStrength:r,checkPasswordOnly:a}){super({start(){n.assign(this,{ready:new g((e=>this.resolveReady=e)),password:pt(e,t),signed:i,strength:r-1,pending:new h})},async transform(e,t){const n=this,{password:i,strength:r,resolveReady:s,ready:o}=n;i?(await(async(e,t,n,i)=>{const r=await _t(e,t,n,gt(i,0,$e[t])),a=gt(i,$e[t]);if(r[0]!=a[0]||r[1]!=a[1])throw new f(Ve)})(n,r,i,gt(e,0,$e[r]+2)),e=gt(e,$e[r]+2),a?t.error(new f(Ze)):s()):await o;const l=new h(e.length-tt-(e.length-tt)%je);t.enqueue(wt(n,e,l,0,tt,!0))},async flush(e){const{signed:t,ctr:n,hmac:i,pending:r,ready:a}=this;if(i&&n){await a;const s=gt(r,0,r.length-tt),o=gt(r,r.length-tt);let l=new h;if(s.length){const e=yt(st,s);i.update(e);const t=n.update(e);l=mt(st,t)}if(t){const e=gt(mt(st,i.digest()),0,tt);for(let t=0;tt>t;t++)if(e[t]!=o[t])throw new f(Ke)}e.enqueue(l)}}})}}class ht extends S{constructor({password:e,rawPassword:t,encryptionStrength:i}){let r;super({start(){n.assign(this,{ready:new g((e=>this.resolveReady=e)),password:pt(e,t),strength:i-1,pending:new h})},async transform(e,t){const n=this,{password:i,strength:r,resolveReady:a,ready:s}=n;let o=new h;i?(o=await(async(e,t,n)=>{const i=Ge(new h($e[t]));return bt(i,await _t(e,t,n,i))})(n,r,i),a()):await s;const l=new h(o.length+e.length-e.length%je);l.set(o,0),t.enqueue(wt(n,e,l,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:i,ready:a}=this;if(n&&t){await a;let s=new h;if(i.length){const e=t.update(yt(st,i));n.update(e),s=mt(st,e)}r.signature=mt(st,n.digest()).slice(0,tt),e.enqueue(bt(s,r.signature))}}}),r=this}}function wt(e,t,n,i,r,a){const{ctr:s,hmac:o,pending:l}=e,c=t.length-r;let d;for(l.length&&(t=bt(l,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new h(t)).set(n,0)}return e})(n,c-c%je)),d=0;c-je>=d;d+=je){const e=yt(st,gt(t,d,d+je));a&&o.update(e);const r=s.update(e);a||o.update(r),n.set(mt(st,r),d+i)}return e.pending=gt(t,d),n}async function _t(e,i,r,a){e.password=null;const s=await(async(e,t,n,i,r)=>{if(!dt)return Be.importKey(t);try{return await rt.importKey("raw",t,n,!1,r)}catch(e){return dt=!1,Be.importKey(t)}})(0,r,Ye,0,Qe),o=await(async(e,t,n)=>{if(!ut)return Be.pbkdf2(t,e.salt,Je.iterations,n);try{return await rt.deriveBits(e,t,n)}catch(i){return ut=!1,Be.pbkdf2(t,e.salt,Je.iterations,n)}})(n.assign({salt:a},Je),s,8*(2*et[i]+2)),l=new h(o),c=yt(st,gt(l,0,et[i])),d=yt(st,gt(l,et[i],2*et[i])),u=gt(l,2*et[i]);return n.assign(e,{keys:{key:c,authentication:d,passwordVerification:u},ctr:new lt(new ot(c),t.from(nt)),hmac:new ct(d)}),u}function pt(e,t){return t===Re?(e=>{if(typeof m==ze){const t=new h((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new m).encode(e)})(e):t}function bt(e,t){let n=e;return e.length+t.length&&(n=new h(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function gt(e,t,n){return e.subarray(t,n)}function mt(e,t){return e.fromBits(t)}function yt(e,t){return e.toBits(t)}class xt extends S{constructor({password:e,passwordVerification:t,checkPasswordOnly:i}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Rt(this,e)},transform(e,t){const n=this;if(n.password){const t=vt(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new f(Ve);e=e.subarray(12)}i?t.error(new f(Ze)):t.enqueue(vt(n,e))}})}}class kt extends S{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Rt(this,e)},transform(e,t){const n=this;let i,r;if(n.password){n.password=null;const t=Ge(new h(12));t[11]=n.passwordVerification,i=new h(e.length+t.length),i.set(St(n,t),0),r=12}else i=new h(e.length),r=0;i.set(St(n,e),r),t.enqueue(i)}})}}function vt(e,t){const n=new h(t.length);for(let i=0;i<t.length;i++)n[i]=Dt(e)^t[i],zt(e,n[i]);return n}function St(e,t){const n=new h(t.length);for(let i=0;i<t.length;i++)n[i]=Dt(e)^t[i],zt(e,t[i]);return n}function Rt(e,t){const i=[305419896,591751049,878082192];n.assign(e,{keys:i,crcKey0:new Oe(i[0]),crcKey2:new Oe(i[2])});for(let n=0;n<t.length;n++)zt(e,t.charCodeAt(n))}function zt(e,t){let[n,i,r]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),i=Et(s.imul(Et(i+Tt(n)),134775813)+1),e.crcKey2.append([i>>>24]),r=~e.crcKey2.get(),e.keys=[n,i,r]}function Dt(e){const t=2|e.keys[2];return Tt(s.imul(t,1^t)>>>8)}function Tt(e){return 255&e}function Et(e){return 4294967295&e}const At="deflate-raw";class Ct extends S{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:i}){super({});const{compressed:r,encrypted:a,useCompressionStream:s,zipCrypto:o,signed:l,level:c}=e,d=this;let u,f,h=Ut(super.readable);a&&!o||!l||(u=new Ie,h=Ot(h,u)),r&&(h=Lt(h,s,{level:c,chunkSize:t},i,n)),a&&(o?h=Ot(h,new kt(e)):(f=new ht(e),h=Ot(h,f))),Wt(d,h,(()=>{let e;a&&!o&&(e=f.signature),a&&!o||!l||(e=new p(u.value.buffer).getUint32(0)),d.signature=e}))}}class Ft extends S{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:i}){super({});const{zipCrypto:r,encrypted:a,signed:s,signature:o,compressed:l,useCompressionStream:c}=e;let d,u,h=Ut(super.readable);a&&(r?h=Ot(h,new xt(e)):(u=new ft(e),h=Ot(h,u))),l&&(h=Lt(h,c,{chunkSize:t},i,n)),a&&!r||!s||(d=new Ie,h=Ot(h,d)),Wt(this,h,(()=>{if((!a||r)&&s){const e=new p(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(Ke)}}))}}function Ut(e){return Ot(e,new S({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function Wt(e,t,i){t=Ot(t,new S({flush:i})),n.defineProperty(e,"readable",{get:()=>t})}function Lt(e,t,n,i,r){try{e=Ot(e,new(t&&i?i:r)(At,n))}catch(i){if(!t)return e;try{e=Ot(e,new r(At,n))}catch(t){return e}}return e}function Ot(e,t){return e.pipeThrough(t)}const It="data",Nt="close",Pt="inflate";class Ht extends S{constructor(e,t){super({});const i=this,{codecType:r}=e;let a;r.startsWith("deflate")?a=Ct:r.startsWith(Pt)&&(a=Ft);let s=0,o=0;const l=new a(e,t),c=super.readable,d=new S({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){n.assign(i,{inputSize:o})}}),u=new S({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;n.assign(i,{signature:e,outputSize:s,inputSize:o})}});n.defineProperty(i,"readable",{get:()=>c.pipeThrough(d).pipeThrough(l).pipeThrough(u)})}}class qt extends S{constructor(e){let t;super({transform:function n(i,r){if(t){const e=new h(t.length+i.length);e.set(t),e.set(i,t.length),i=e,t=null}i.length>e?(r.enqueue(i.slice(0,e)),n(i.slice(e),r)):t=i},flush(e){t&&t.length&&e.enqueue(t)}})}}let Bt=typeof A!=ze;class Mt{constructor(e,{readable:t,writable:i},{options:r,config:a,streamOptions:s,useWebWorkers:o,transferStreams:l,scripts:c},d){const{signal:u}=s;return n.assign(e,{busy:!0,readable:t.pipeThrough(new qt(a.chunkSize)).pipeThrough(new Vt(t,s),{signal:u}),writable:i,options:n.assign({},r),scripts:c,transferStreams:l,terminate:()=>new g((t=>{const{worker:n,busy:i}=e;n?(i?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,d(e)}}),(o&&Bt?Gt:Zt)(e,a)}}class Vt extends S{constructor(e,{onstart:t,onprogress:n,size:i,onend:r}){let a=0;super({async start(){t&&await Kt(t,i)},async transform(e,t){a+=e.length,n&&await Kt(n,a,i),t.enqueue(e)},async flush(){e.size=a,r&&await Kt(r,a)}})}}async function Kt(e,...t){try{await e(...t)}catch(e){}}function Zt(e,t){return{run:()=>(async({options:e,readable:t,writable:n,onTaskFinished:i},r)=>{try{const i=new Ht(e,r);await t.pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:s,outputSize:o}=i;return{signature:a,inputSize:s,outputSize:o}}finally{i()}})(e,t)}}function Gt(e,t){const{baseURL:i,chunkSize:r}=t;if(!e.interface){let a;try{a=((e,t,i)=>{const r={type:"module"};let a,s;typeof e==De&&(e=e());try{a=new u(e,t)}catch(t){a=e}if(jt)try{s=new A(a)}catch(e){jt=!1,s=new A(a,r)}else s=new A(a,r);return s.addEventListener("message",(e=>(async({data:e},t)=>{const{type:i,value:r,messageId:a,result:s,error:o}=e,{reader:l,writer:c,resolveResult:d,rejectResult:u,onTaskFinished:w}=t;try{if(o){const{message:e,stack:t,code:i,name:r}=o,a=new f(e);n.assign(a,{stack:t,code:i,name:r}),_(a)}else{if("pull"==i){const{value:e,done:n}=await l.read();Yt({type:It,value:e,done:n,messageId:a},t)}i==It&&(await c.ready,await c.write(new h(r)),Yt({type:"ack",messageId:a},t)),i==Nt&&_(null,s)}}catch(o){Yt({type:Nt,messageId:a},t),_(o)}function _(e,t){e?u(e):d(t),c&&c.releaseLock(),w()}})(e,i))),s})(e.scripts[0],i,e)}catch(n){return Bt=!1,Zt(e,t)}n.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let i,r;const a=new g(((e,t)=>{i=e,r=t}));n.assign(e,{reader:null,writer:null,resolveResult:i,rejectResult:r,result:a});const{readable:s,options:o,scripts:l}=e,{writable:c,closed:d}=(e=>{let t;const n=new g((e=>t=e));return{writable:new z({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),u=Yt({type:"start",scripts:l.slice(1),options:o,config:t,readable:s,writable:c},e);u||n.assign(e,{reader:s.getReader(),writer:c.getWriter()});const f=await a;return u||await c.getWriter().close(),await d,f})(e,{chunkSize:r})}})}return e.interface}let jt=!0,Xt=!0;function Yt(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:r}){try{let{value:n,readable:i,writable:a}=e;const s=[];if(n&&(n.byteLength<n.buffer.byteLength?e.value=n.buffer.slice(0,n.byteLength):e.value=n.buffer,s.push(e.value)),r&&Xt?(i&&s.push(i),a&&s.push(a)):e.readable=e.writable=null,s.length)try{return t.postMessage(e,s),!0}catch(n){Xt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),i(),e}}let Jt=[];const Qt=[];let $t=0;function en(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const tn="HTTP error ",nn="HTTP Range not supported",rn="Writer iterator completed too soon",an="Content-Length",sn="Range",on="HEAD",ln="GET",cn="bytes",dn=65536,un="writable";class fn{constructor(){this.size=0}init(){this.initialized=!0}}class hn extends fn{get readable(){const e=this,{chunkSize:t=dn}=e,n=new R({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:a,diskNumberStart:o}=n,{chunkOffset:l}=this;i.enqueue(await On(e,r+l,s.min(t,a-l),o)),l+t>a?i.close():this.chunkOffset+=t}});return n}}class wn extends fn{constructor(){super();const e=this,t=new z({write:t=>e.writeUint8Array(t)});n.defineProperty(e,un,{get:()=>t})}writeUint8Array(){}}class _n extends hn{constructor(e){super(),n.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,i=e+t,r=e||i<n.size?n.blob.slice(e,i):n.blob;let a=await r.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,i)),new h(a)}}class pn extends fn{constructor(e){super();const t=new S,i=[];e&&i.push(["Content-Type",e]),n.defineProperty(this,un,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:i}).blob()}getData(){return this.blob}}class bn extends hn{constructor(e,t){super(),mn(this,e,t)}async init(){await yn(this,Tn,Sn),super.init()}readUint8Array(e,t){return xn(this,e,t,Tn,Sn)}}class gn extends hn{constructor(e,t){super(),mn(this,e,t)}async init(){await yn(this,En,Rn),super.init()}readUint8Array(e,t){return xn(this,e,t,En,Rn)}}function mn(e,t,i){const{preventHeadRequest:r,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o}=i;delete(i=n.assign({},i)).preventHeadRequest,delete i.useRangeHeader,delete i.forceRangeRequests,delete i.combineSizeEocd,delete i.useXHR,n.assign(e,{url:t,options:i,preventHeadRequest:r,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o})}async function yn(e,t,n){const{url:i,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:l}=e;if((e=>{const{baseURL:t}=Fe(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n})(i)&&(s||o)&&(void 0===a||a)){const i=await t(ln,e,kn(e,l?-22:void 0));if(!o&&i.headers.get("Accept-Ranges")!=cn)throw new f(nn);{let a;l&&(e.eocdCache=new h(await i.arrayBuffer()));const s=i.headers.get("Content-Range");if(s){const e=s.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=r(t))}}a===Re?await Dn(e,t,n):e.size=a}}else await Dn(e,t,n)}async function xn(e,t,n,i,r){const{useRangeHeader:a,forceRangeRequests:s,eocdCache:o,size:l,options:c}=e;if(a||s){if(o&&t==l-Se&&n==Se)return o;const r=await i(ln,e,kn(e,t,n));if(206!=r.status)throw new f(nn);return new h(await r.arrayBuffer())}{const{data:i}=e;return i||await r(e,c),new h(e.data.subarray(t,t+n))}}function kn(e,t=0,i=1){return n.assign({},vn(e),{[sn]:cn+"="+(0>t?t:t+"-"+(t+i-1))})}function vn({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function Sn(e){await zn(e,Tn)}async function Rn(e){await zn(e,En)}async function zn(e,t){const n=await t(ln,e,vn(e));e.data=new h(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function Dn(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const i=(await t(on,e,vn(e))).headers.get(an);i?e.size=r(i):await n(e,e.options)}}async function Tn(e,{options:t,url:i},r){const a=await fetch(i,n.assign({},t,{method:e,headers:r}));if(400>a.status)return a;throw 416==a.status?new f(nn):new f(tn+(a.statusText||a.status))}function En(e,{url:t},i){return new g(((r,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",(()=>{if(400>s.status){const e=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,(e=>e.toUpperCase())),e.push(n)})),r({status:s.status,arrayBuffer:()=>s.response,headers:new l(e)})}else a(416==s.status?new f(nn):new f(tn+(s.statusText||s.status)))}),!1),s.addEventListener("error",(e=>a(e.detail?e.detail.error:new f("Network error"))),!1),s.open(e,t),i)for(const e of n.entries(i))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()}))}class An extends hn{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR?new gn(e,t):new bn(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class Cn extends hn{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await g.all(t.map((async(n,i)=>{await n.init(),i!=t.length-1&&(e.lastDiskOffset+=n.size),e.size+=n.size}))),super.init()}async readUint8Array(e,t,n=0){const i=this,{readers:r}=this;let a,o=n;-1==o&&(o=r.length-1);let l=e;for(;l>=r[o].size;)l-=r[o].size,o++;const c=r[o],d=c.size;if(l+t>d){const r=d-l;a=new h(t),a.set(await On(c,l,r)),a.set(await i.readUint8Array(e+r,t-r,n),r)}else a=await On(c,l,t);return i.lastDiskNumber=s.max(o,i.lastDiskNumber),a}}class Fn extends fn{constructor(e,t=4294967295){super();const i=this;let r,a,s;n.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new z({async write(t){const{availableSize:n}=i;if(s)t.length<n?await l(t):(await l(t.slice(0,n)),await c(),i.diskOffset+=r.size,i.diskNumber++,s=null,await this.write(t.slice(n)));else{const{value:n,done:o}=await e.next();if(o&&!n)throw new f(rn);r=n,r.size=0,r.maxSize&&(i.maxSize=r.maxSize),i.availableSize=i.maxSize,await Un(r),a=n.writable,s=a.getWriter(),await this.write(t)}},async close(){await s.ready,await c()}});async function l(e){const t=e.length;t&&(await s.ready,await s.write(e),r.size+=t,i.size+=t,i.availableSize-=t)}async function c(){a.size=r.size,await s.close()}n.defineProperty(i,un,{get:()=>o})}}async function Un(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function Wn(e){return t.isArray(e)&&(e=new Cn(e)),e instanceof R&&(e={readable:e}),e}function Ln(e){e.writable===Re&&typeof e.next==De&&(e=new Fn(e)),e instanceof z&&(e={writable:e});const{writable:t}=e;return t.size===Re&&(t.size=0),e instanceof Fn||n.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function On(e,t,n,i){return e.readUint8Array(t,n,i)}const In=Cn,Nn=Fn,Pn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),Hn=256==Pn.length;function qn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{if(Hn){let t="";for(let n=0;n<e.length;n++)t+=Pn[e[n]];return t}return(new y).decode(e)})(e):new y(t).decode(e)}const Bn="filename",Mn="rawFilename",Vn="comment",Kn="rawComment",Zn="uncompressedSize",Gn="compressedSize",jn="offset",Xn="diskNumberStart",Yn="lastModDate",Jn="rawLastModDate",Qn="lastAccessDate",$n="creationDate",ei=[Bn,Mn,Gn,Zn,Yn,Jn,Vn,Kn,Qn,$n,jn,Xn,Xn,"internalFileAttribute","externalFileAttribute","msDosCompatible","zip64","directory","bitFlag","encrypted","signature","filenameUTF8","commentUTF8","compressionMethod","version","versionMadeBy","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class ti{constructor(e){ei.forEach((t=>this[t]=e[t]))}}const ni="File format is not recognized",ii="End of central directory not found",ri="End of Zip64 central directory locator not found",ai="Central directory header not found",si="Local file header not found",oi="Zip64 extra field not found",li="File contains encrypted entry",ci="Encryption method not supported",di="Compression method not supported",ui="Split zip file",fi="utf-8",hi="cp437",wi=[[Zn,ye],[Gn,ye],[jn,ye],[Xn,xe]],_i={[xe]:{getValue:zi,bytes:4},[ye]:{getValue:Di,bytes:8}};class pi{constructor(e,t={}){n.assign(this,{reader:Wn(e),options:t,config:Fe()})}async*getEntriesGenerator(e={}){const t=this;let{reader:i}=t;const{config:r}=t;if(await Un(i),i.size!==Re&&i.readUint8Array||(i=new _n(await new d(i.readable).blob()),await Un(i)),i.size<Se)throw new f(ni);i.chunkSize=(e=>s.max(e.chunkSize,64))(r);const a=await(async(e,t,n)=>{const i=new h(4);return 101010256,Ti(i).setUint32(0,101010256,!0),await r(22)||await r(s.min(1048582,n));async function r(t){const r=n-t,a=await On(e,r,t);for(let e=a.length-22;e>=0;e--)if(a[e]==i[0]&&a[e+1]==i[1]&&a[e+2]==i[2]&&a[e+3]==i[3])return{offset:r+e,buffer:a.slice(e,e+22).buffer}}})(i,0,i.size);if(!a)throw 134695760==zi(Ti(await On(i,0,4)))?new f(ui):new f(ii);const o=Ti(a);let l=zi(o,12),c=zi(o,16);const u=a.offset,w=Ri(o,20),_=u+Se+w;let p=Ri(o,4);const b=i.lastDiskNumber||0;let g=Ri(o,6),m=Ri(o,8),y=0,x=0;if(c==ye||l==ye||m==xe||g==xe){const e=Ti(await On(i,a.offset-20,20));if(117853008==zi(e,0)){c=Di(e,8);let t=await On(i,c,56,-1),n=Ti(t);const r=a.offset-20-56;if(zi(n,0)!=ve&&c!=r){const e=c;c=r,y=c-e,t=await On(i,c,56,-1),n=Ti(t)}if(zi(n,0)!=ve)throw new f(ri);p==xe&&(p=zi(n,16)),g==xe&&(g=zi(n,20)),m==xe&&(m=Di(n,32)),l==ye&&(l=Di(n,40)),c-=l}}if(c<i.size||(y=i.size-c-l-Se,c=i.size-l-Se),b!=p)throw new f(ui);if(0>c)throw new f(ni);let k=0,v=await On(i,c,l,g),S=Ti(v);if(l){const e=a.offset-l;if(zi(S,k)!=ke&&c!=e){const t=c;c=e,y+=c-t,v=await On(i,c,l,g),S=Ti(v)}}const R=a.offset-c-(i.lastDiskOffset||0);if(l==R||0>R||(l=R,v=await On(i,c,l,g),S=Ti(v)),0>c||c>=i.size)throw new f(ni);const z=xi(t,e,"filenameEncoding"),D=xi(t,e,"commentEncoding");for(let a=0;m>a;a++){const o=new bi(i,r,t.options);if(zi(S,k)!=ke)throw new f(ai);gi(o,S,k+6);const l=!!o.bitFlag.languageEncodingFlag,c=k+46,d=c+o.filenameLength,u=d+o.extraFieldLength,h=Ri(S,k+4),w=!0,_=v.subarray(c,d),p=Ri(S,k+32),b=u+p,g=v.subarray(u,b),R=l,T=l,E=w&&!(16&~Si(S,k+38)),A=zi(S,k+42)+y;n.assign(o,{versionMadeBy:h,msDosCompatible:w,compressedSize:0,uncompressedSize:0,commentLength:p,directory:E,offset:A,diskNumberStart:Ri(S,k+34),internalFileAttribute:Ri(S,k+36),externalFileAttribute:zi(S,k+38),rawFilename:_,filenameUTF8:R,commentUTF8:T,rawExtraField:v.subarray(d,u)});const C=xi(t,e,"decodeText")||qn,F=R?fi:z||hi,U=T?fi:D||hi;let W=C(_,F);W===Re&&(W=qn(_,F));let L=C(g,U);L===Re&&(L=qn(g,U)),n.assign(o,{rawComment:g,filename:W,comment:L,directory:E||W.endsWith("/")}),x=s.max(A,x),await mi(o,o,S,k+6);const O=new ti(o);O.getData=(e,t)=>o.getData(e,O,t),k=b;const{onprogress:I}=e;if(I)try{await I(a+1,m,new ti(o))}catch(e){}yield O}const T=xi(t,e,"extractPrependedData"),E=xi(t,e,"extractAppendedData");return T&&(t.prependedData=x>0?await On(i,0,x):new h),t.comment=w?await On(i,u+Se,w):new h,E&&(t.appendedData=_<i.size?await On(i,_,i.size-_):new h),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){}}class bi{constructor(e,t,i){n.assign(this,{reader:e,config:t,options:i})}async getData(e,t,i={}){const a=this,{reader:s,offset:o,diskNumberStart:l,extraFieldAES:c,compressionMethod:d,config:u,bitFlag:w,signature:_,rawLastModDate:p,uncompressedSize:b,compressedSize:m}=a,y=t.localDirectory={},x=Ti(await On(s,o,30,l));let k=xi(a,i,"password"),v=xi(a,i,"rawPassword");if(k=k&&k.length&&k,v=v&&v.length&&v,c&&99!=c.originalCompressionMethod)throw new f(di);if(0!=d&&8!=d)throw new f(di);if(67324752!=zi(x,0))throw new f(si);gi(y,x,4),y.rawExtraField=y.extraFieldLength?await On(s,o+30+y.filenameLength,y.extraFieldLength,l):new h,await mi(a,y,x,4,!0),n.assign(t,{lastAccessDate:y.lastAccessDate,creationDate:y.creationDate});const S=a.encrypted&&y.encrypted,R=S&&!c;if(S){if(!R&&c.strength===Re)throw new f(ci);if(!k&&!v)throw new f(li)}const D=o+30+y.filenameLength+y.extraFieldLength,T=m,E=s.readable;n.assign(E,{diskNumberStart:l,offset:D,size:T});const A=xi(a,i,"signal"),C=xi(a,i,"checkPasswordOnly");C&&(e=new z),e=Ln(e),await Un(e,b);const{writable:F}=e,{onstart:U,onprogress:W,onend:L}=i,O={options:{codecType:Pt,password:k,rawPassword:v,zipCrypto:R,encryptionStrength:c&&c.strength,signed:xi(a,i,"checkSignature"),passwordVerification:R&&(w.dataDescriptor?p>>>8&255:_>>>24&255),signature:_,compressed:0!=d,encrypted:S,useWebWorkers:xi(a,i,"useWebWorkers"),useCompressionStream:xi(a,i,"useCompressionStream"),transferStreams:xi(a,i,"transferStreams"),checkPasswordOnly:C},config:u,streamOptions:{signal:A,size:T,onstart:U,onprogress:W,onend:L}};let I=0;try{({outputSize:I}=await(async(e,t)=>{const{options:n,config:i}=t,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,codecType:l,compressed:c,signed:d,encrypted:u}=n,{workerScripts:f,maxWorkers:h}=i;t.transferStreams=a||a===Re;const w=!(c||d||u||t.transferStreams);return t.useWebWorkers=!w&&(s||s===Re&&i.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[l]:[],n.useCompressionStream=o||o===Re&&i.useCompressionStream,(await(async()=>{const n=Jt.find((e=>!e.busy));if(n)return en(n),new Mt(n,e,t,_);if(Jt.length<h){const n={indexWorker:$t};return $t++,Jt.push(n),new Mt(n,e,t,_)}return new g((n=>Qt.push({resolve:n,stream:e,workerOptions:t})))})()).run();function _(e){if(Qt.length){const[{resolve:t,stream:n,workerOptions:i}]=Qt.splice(0,1);t(new Mt(e,n,i,_))}else e.worker?(en(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:i}=n;r.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout((async()=>{Jt=Jt.filter((t=>t!=e));try{await e.terminate()}catch(e){}}),i))})(e,t)):Jt=Jt.filter((t=>t!=e))}})({readable:E,writable:F},O))}catch(e){if(!C||e.message!=Ze)throw e}finally{const e=xi(a,i,"preventClose");F.size+=I,e||F.locked||await F.getWriter().close()}return C?Re:e.getData?e.getData():F}}function gi(e,t,i){const r=e.rawBitFlag=Ri(t,i+2),a=!(1&~r),s=zi(t,i+6);n.assign(e,{encrypted:a,version:Ri(t,i),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:!(2048&~r)},rawLastModDate:s,lastModDate:ki(s),filenameLength:Ri(t,i+22),extraFieldLength:Ri(t,i+24)})}async function mi(e,t,i,r,a){const{rawExtraField:s}=t,c=t.extraField=new l,d=Ti(new h(s));let u=0;try{for(;u<s.length;){const e=Ri(d,u),t=Ri(d,u+2);c.set(e,{type:e,data:s.slice(u+4,u+4+t)}),u+=4+t}}catch(e){}const w=Ri(i,r+4);n.assign(t,{signature:zi(i,r+10),uncompressedSize:zi(i,r+18),compressedSize:zi(i,r+14)});const _=c.get(1);_&&(((e,t)=>{t.zip64=!0;const n=Ti(e.data),i=wi.filter((([e,n])=>t[e]==n));for(let r=0,a=0;r<i.length;r++){const[s,o]=i[r];if(t[s]==o){const i=_i[o];t[s]=e[s]=i.getValue(n,a),a+=i.bytes}else if(e[s])throw new f(oi)}})(_,t),t.extraFieldZip64=_);const p=c.get(28789);p&&(await yi(p,Bn,Mn,t,e),t.extraFieldUnicodePath=p);const b=c.get(25461);b&&(await yi(b,Vn,Kn,t,e),t.extraFieldUnicodeComment=b);const g=c.get(39169);g?(((e,t,i)=>{const r=Ti(e.data),a=Si(r,4);n.assign(e,{vendorVersion:Si(r,0),vendorId:Si(r,2),strength:a,originalCompressionMethod:i,compressionMethod:Ri(r,5)}),t.compressionMethod=e.compressionMethod})(g,t,w),t.extraFieldAES=g):t.compressionMethod=w;const m=c.get(10);m&&(((e,t)=>{const i=Ti(e.data);let r,a=4;try{for(;a<e.data.length&&!r;){const t=Ri(i,a),n=Ri(i,a+2);1==t&&(r=e.data.slice(a+4,a+4+n)),a+=4+n}}catch(e){}try{if(r&&24==r.length){const i=Ti(r),a=i.getBigUint64(0,!0),s=i.getBigUint64(8,!0),o=i.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const l={lastModDate:vi(a),lastAccessDate:vi(s),creationDate:vi(o)};n.assign(e,l),n.assign(t,l)}}catch(e){}})(m,t),t.extraFieldNTFS=m);const y=c.get(21589);y&&(((e,t,n)=>{const i=Ti(e.data),r=Si(i,0),a=[],s=[];n?(1&~r||(a.push(Yn),s.push(Jn)),2&~r||(a.push(Qn),s.push("rawLastAccessDate")),4&~r||(a.push($n),s.push("rawCreationDate"))):5>e.data.length||(a.push(Yn),s.push(Jn));let l=1;a.forEach(((n,r)=>{if(e.data.length>=l+4){const a=zi(i,l);t[n]=e[n]=new o(1e3*a);const c=s[r];e[c]=a}l+=4}))})(y,t,a),t.extraFieldExtendedTimestamp=y);const x=c.get(6534);x&&(t.extraFieldUSDZ=x)}async function yi(e,t,i,r,a){const s=Ti(e.data),o=new Oe;o.append(a[i]);const l=Ti(new h(4));l.setUint32(0,o.get(),!0);const c=zi(s,1);n.assign(e,{version:Si(s,0),[t]:qn(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==zi(l,0)}),e.valid&&(r[t]=e[t],r[t+"UTF8"]=!0)}function xi(e,t,n){return t[n]===Re?e.options[n]:t[n]}function ki(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 vi(e){return new o(r(e/a(1e4)-a(116444736e5)))}function Si(e,t){return e.getUint8(t)}function Ri(e,t){return e.getUint16(t,!0)}function zi(e,t){return e.getUint32(t,!0)}function Di(e,t){return r(e.getBigUint64(t,!0))}function Ti(e){return new p(e.buffer)}Ue({Inflate:function(e){const t=new me,n=e&&e.chunkSize?s.floor(2*e.chunkSize):131072,i=new h(n);let r=!1;t.inflateInit(),t.next_out=i,this.append=(e,a)=>{const s=[];let o,l,c=0,d=0,u=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||r||(t.next_in_index=0,r=!0),o=t.inflate(0),r&&o===O){if(0!==t.avail_in)throw new f("inflating: bad input")}else if(o!==C&&o!==F)throw new f("inflating: "+t.msg);if((r||o===F)&&t.avail_in===e.length)throw new f("inflating: bad input");t.next_out_index&&(t.next_out_index===n?s.push(new h(i)):s.push(i.subarray(0,t.next_out_index))),u+=t.next_out_index,a&&t.next_in_index>0&&t.next_in_index!=c&&(a(t.next_in_index),c=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return s.length>1?(l=new h(u),s.forEach((e=>{l.set(e,d),d+=e.length}))):l=s[0]?new h(s[0]):new h,l}},this.flush=()=>{t.inflateEnd()}}}),e.BlobReader=_n,e.BlobWriter=pn,e.Data64URIReader=class extends hn{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const i=e.indexOf(",")+1;n.assign(this,{dataURI:e,dataStart:i,size:s.floor(.75*(t-i))})}readUint8Array(e,t){const{dataStart:n,dataURI:i}=this,r=new h(t),a=4*s.floor(e/3),o=atob(i.substring(a+n,4*s.ceil((e+t)/3)+n)),l=e-3*s.floor(a/4);for(let e=l;l+t>e;e++)r[e-l]=o.charCodeAt(e);return r}},e.Data64URIWriter=class extends wn{constructor(e){super(),n.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let n=0,r=t.pending;const a=t.pending.length;for(t.pending="",n=0;n<3*s.floor((a+e.length)/3)-a;n++)r+=i.fromCharCode(e[n]);for(;n<e.length;n++)t.pending+=i.fromCharCode(e[n]);r.length>2?t.data+=v(r):t.pending=r}getData(){return this.data+v(this.pending)}},e.ERR_BAD_FORMAT=ni,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ai,e.ERR_ENCRYPTED=li,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ri,e.ERR_EOCDR_NOT_FOUND=ii,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=oi,e.ERR_HTTP_RANGE=nn,e.ERR_INVALID_PASSWORD=Ve,e.ERR_INVALID_SIGNATURE=Ke,e.ERR_ITERATOR_COMPLETED_TOO_SOON=rn,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=si,e.ERR_SPLIT_ZIP_FILE=ui,e.ERR_UNSUPPORTED_COMPRESSION=di,e.ERR_UNSUPPORTED_ENCRYPTION=ci,e.HttpRangeReader=class extends An{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=An,e.Reader=hn,e.SplitDataReader=Cn,e.SplitDataWriter=Fn,e.SplitZipReader=In,e.SplitZipWriter=Nn,e.TextReader=class extends _n{constructor(e){super(new b([e],{type:"text/plain"}))}},e.TextWriter=class extends pn{constructor(e){super(e),n.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,i=await super.getData();if(i.text&&t)return i.text();{const t=new FileReader;return new g(((r,a)=>{n.assign(t,{onload:({target:e})=>r(e.result),onerror:()=>a(t.error)}),t.readAsText(i,e)}))}}},e.Uint8ArrayReader=class extends hn{constructor(e){super(),n.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends wn{init(e=0){n.assign(this,{offset:0,array:new h(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const n=t.array;t.array=new h(n.length+e.length),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=wn,e.ZipReader=pi,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:n}=new S,i=new pi(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:n}=await i.next();if(t)return e.close();const r={...n,readable:(()=>{const{readable:e,writable:t}=new S;if(n.getData)return n.getData(t),e})()};delete r.getData,e.enqueue(r)}}),this.writable=n}},e.configure=Ue,e.getMimeType=()=>"application/octet-stream",e.initReader=Wn,e.initStream=Un,e.initWriter=Ln,e.readUint8Array=On,e.terminateWorkers=async()=>{await g.allSettled(Jt.map((e=>(en(e),e.terminate()))))}})); |
@@ -632,11 +632,17 @@ /** | ||
* @example | ||
* This example will take a zip file, decompress it and then recompress each file in it, saving it to disk. | ||
* This example will take a zip file, decompress it and then save its files and directories to disk. | ||
* ``` | ||
* for await (const entry of (await fetch(urlToZippedFile)).body.pipeThrough(new ZipWriterStream())) | ||
* if (entry.readable) { | ||
* console.log(entry.filename) | ||
* entry.readable | ||
* .pipeThrough(ZipReaderStream().transform(entry.filename)) | ||
* .pipeTo((await Deno.create(entry.filename + '.zip')).writable) | ||
* import {resolve} from "https://deno.land/std/path/mod.ts"; | ||
* import {ensureDir, ensureFile} from "https://deno.land/std/fs/mod.ts"; | ||
* | ||
* for await (const entry of (await fetch(urlToZippedFile)).body.pipeThrough(new ZipReaderStream())) { | ||
* const fullPath = resolve(destination, entry.filename); | ||
* if (entry.directory) { | ||
* await ensureDir(fullPath); | ||
* continue; | ||
* } | ||
* | ||
* await ensureFile(fullPath); | ||
* await entry.readable?.pipeTo((await Deno.create(fullPath)).writable); | ||
* } | ||
* ``` | ||
@@ -790,5 +796,5 @@ */ | ||
* @param encoding The encoding of the text. | ||
* @returns The decoded text value. | ||
* @returns The decoded text value or `undefined` if the raw text value should be decoded by zip.js. | ||
*/ | ||
decodeText?(value: Uint8Array, encoding: string): string | ||
decodeText?(value: Uint8Array, encoding: string): string | undefined; | ||
} | ||
@@ -1240,3 +1246,3 @@ | ||
* | ||
* When set to `true`, the use of web workers will be improved. However, it also prevents files larger than 4GB from being created without setting the `zip54` option to `true` explicitly. | ||
* When set to `true`, the use of web workers will be improved. However, it also prevents files larger than 4GB from being created without setting the `zip64` option to `true` explicitly. | ||
* Another solution to improve the use of web workers is to add entries from smallest to largest in uncompressed size. | ||
@@ -1361,5 +1367,5 @@ * | ||
* @param text The text to encode. | ||
* @returns The encoded text. | ||
* @returns The encoded text or `undefined` if the text should be encoded by zip.js. | ||
*/ | ||
encodeText?(text: string): Uint8Array | ||
encodeText?(text: string): Uint8Array | undefined; | ||
} | ||
@@ -1366,0 +1372,0 @@ |
@@ -279,6 +279,12 @@ /* | ||
const decode = getOptionValue(zipReader, options, "decodeText") || decodeText; | ||
const [filename, comment] = await Promise.all([ | ||
decode(rawFilename, filenameUTF8 ? CHARSET_UTF8 : filenameEncoding || CHARSET_CP437), | ||
decode(rawComment, commentUTF8 ? CHARSET_UTF8 : commentEncoding || CHARSET_CP437) | ||
]); | ||
const rawFilenameEncoding = filenameUTF8 ? CHARSET_UTF8 : filenameEncoding || CHARSET_CP437; | ||
const rawCommentEncoding = commentUTF8 ? CHARSET_UTF8 : commentEncoding || CHARSET_CP437; | ||
let filename = decode(rawFilename, rawFilenameEncoding); | ||
if (filename === UNDEFINED_VALUE) { | ||
filename = decodeText(rawFilename, rawFilenameEncoding); | ||
} | ||
let comment = decode(rawComment, rawCommentEncoding); | ||
if (comment === UNDEFINED_VALUE) { | ||
comment = decodeText(rawComment, rawCommentEncoding); | ||
} | ||
Object.assign(fileEntry, { | ||
@@ -285,0 +291,0 @@ rawComment, |
@@ -228,3 +228,6 @@ /* | ||
const encode = getOptionValue(zipWriter, options, "encodeText", encodeText); | ||
const rawFilename = encode(name); | ||
let rawFilename = encode(name); | ||
if (rawFilename === UNDEFINED_VALUE) { | ||
rawFilename = encodeText(name); | ||
} | ||
if (getLength(rawFilename) > MAX_16_BITS) { | ||
@@ -234,3 +237,6 @@ throw new Error(ERR_INVALID_ENTRY_NAME); | ||
const comment = options.comment || ""; | ||
const rawComment = encode(comment); | ||
let rawComment = encode(comment); | ||
if (rawComment === UNDEFINED_VALUE) { | ||
rawComment = encodeText(comment); | ||
} | ||
if (getLength(rawComment) > MAX_16_BITS) { | ||
@@ -301,3 +307,3 @@ throw new Error(ERR_INVALID_ENTRY_COMMENT); | ||
zip64 = true; | ||
uncompressedSize = maximumCompressedSize = MAX_32_BITS; | ||
uncompressedSize = maximumCompressedSize = MAX_32_BITS + 1; | ||
} | ||
@@ -310,7 +316,7 @@ } else { | ||
const { diskOffset, diskNumber, maxSize } = zipWriter.writer; | ||
const zip64UncompressedSize = zip64Enabled || uncompressedSize >= MAX_32_BITS; | ||
const zip64CompressedSize = zip64Enabled || maximumCompressedSize >= MAX_32_BITS; | ||
const zip64Offset = zip64Enabled || zipWriter.offset + zipWriter.pendingEntriesSize - diskOffset >= MAX_32_BITS; | ||
const zip64UncompressedSize = zip64Enabled || uncompressedSize > MAX_32_BITS; | ||
const zip64CompressedSize = zip64Enabled || maximumCompressedSize > MAX_32_BITS; | ||
const zip64Offset = zip64Enabled || zipWriter.offset + zipWriter.pendingEntriesSize - diskOffset > MAX_32_BITS; | ||
const supportZip64SplitFile = getOptionValue(zipWriter, options, "supportZip64SplitFile", true); | ||
const zip64DiskNumberStart = (supportZip64SplitFile && zip64Enabled) || diskNumber + Math.ceil(zipWriter.pendingEntriesSize / maxSize) >= MAX_16_BITS; | ||
const zip64DiskNumberStart = (supportZip64SplitFile && zip64Enabled) || diskNumber + Math.ceil(zipWriter.pendingEntriesSize / maxSize) > MAX_16_BITS; | ||
if (zip64Offset || zip64UncompressedSize || zip64CompressedSize || zip64DiskNumberStart) { | ||
@@ -458,3 +464,3 @@ if (zip64 === false || !keepOrder) { | ||
setZip64ExtraInfo(fileEntry, options); | ||
} else if (fileEntry.offset >= MAX_32_BITS) { | ||
} else if (fileEntry.offset > MAX_32_BITS) { | ||
throw new Error(ERR_UNSUPPORTED_FORMAT); | ||
@@ -1076,3 +1082,3 @@ } | ||
let zip64 = getOptionValue(zipWriter, options, "zip64"); | ||
if (directoryOffset >= MAX_32_BITS || directoryDataLength >= MAX_32_BITS || filesLength >= MAX_16_BITS || lastDiskNumber >= MAX_16_BITS) { | ||
if (directoryOffset > MAX_32_BITS || directoryDataLength > MAX_32_BITS || filesLength > MAX_16_BITS || lastDiskNumber > MAX_16_BITS) { | ||
if (zip64 === false) { | ||
@@ -1079,0 +1085,0 @@ throw new Error(ERR_UNSUPPORTED_FORMAT); |
@@ -6,3 +6,3 @@ { | ||
"license": "BSD-3-Clause", | ||
"version": "2.7.43", | ||
"version": "2.7.44", | ||
"type": "module", | ||
@@ -81,10 +81,7 @@ "keywords": [ | ||
"@rollup/plugin-replace": "^5.0.5", | ||
"@rollup/plugin-terser": "^0.4.4", | ||
"http-server": "^14.1.1", | ||
"rollup": "^2.79.1", | ||
"rollup-plugin-terser": "^7.0.2", | ||
"typedoc": "^0.25.7" | ||
}, | ||
"overrides": { | ||
"terser": "^5.30.4" | ||
"rollup": "^4.17.2", | ||
"typedoc": "^0.25.13" | ||
} | ||
} |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
3091255
58816