p;){if(0===g)return n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);t=0,g--,w|=(255&e.read_byte(b++))<>>1){case 0:w>>>=3,p-=3,d=7&p,w>>>=d,p-=d,r=1;break;case 1:R=[],A=[],T=[[]],U=[[]],D.inflate_trees_fixed(R,A,T,U),u.init(R[0],A[0],T[0],0,U[0],0),w>>>=3,p-=3,r=6;break;case 2:w>>>=3,p-=3,r=3;break;case 3:return w>>>=3,p-=3,r=9,e.msg="invalid block type",t=v,n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t)}break;case 1:for(;32>p;){if(0===g)return n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);t=0,g--,w|=(255&e.read_byte(b++))<
>>16&65535)!=(65535&w))return r=9,e.msg="invalid stored block lengths",t=v,n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);a=65535&w,w=p=0,r=0!==a?2:0!==f?7:0;break;case 2:if(0===g)return n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);if(0===x&&(y==n.end&&0!==n.read&&(y=0,x=yg&&(d=g),d>x&&(d=x),n.win.set(e.read_buf(b,d),y),b+=d,g-=d,y+=d,x-=d,0!=(a-=d))break;r=0!==f?7:0;break;case 3:for(;14>p;){if(0===g)return n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);t=0,g--,w|=(255&e.read_byte(b++))<29||(d>>5&31)>29)return r=9,e.msg="too many length or distance symbols",t=v,n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);if(d=258+(31&d)+(d>>5&31),!i||i.lengthm;m++)i[m]=0;w>>>=14,p-=14,o=0,r=4;case 4:for(;4+(s>>>10)>o;){for(;3>p;){if(0===g)return n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);t=0,g--,w|=(255&e.read_byte(b++))<>>=3,p-=3}for(;19>o;)i[B[o++]]=0;if(l[0]=7,d=_.inflate_trees_bits(i,l,c,h,e),0!=d)return(t=d)==v&&(i=null,r=9),n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);o=0,r=5;case 5:for(;d=s,258+(31&d)+(d>>5&31)>o;){let a,u;for(d=l[0];d>p;){if(0===g)return n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);t=0,g--,w|=(255&e.read_byte(b++))<
u)w>>>=d,p-=d,i[o++]=u;else{for(m=18==u?7:u-14,a=18==u?11:3;d+m>p;){if(0===g)return n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);t=0,g--,w|=(255&e.read_byte(b++))<
>>=d,p-=d,a+=w&S[m],w>>>=m,p-=m,m=o,d=s,m+a>258+(31&d)+(d>>5&31)||16==u&&1>m)return i=null,r=9,e.msg="invalid bit length repeat",t=v,n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);u=16==u?i[m-1]:0;do{i[m++]=u}while(0!=--a);o=m}}if(c[0]=-1,z=[],E=[],F=[],C=[],z[0]=9,E[0]=6,d=s,d=_.inflate_trees_dynamic(257+(31&d),1+(d>>5&31),i,z,E,F,C,h,e),0!=d)return d==v&&(i=null,r=9),t=d,n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,n.inflate_flush(e,t);u.init(z[0],E[0],h,F[0],h,C[0]),r=6;case 6:if(n.bitb=w,n.bitk=p,e.avail_in=g,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=y,1!=(t=u.proc(n,e,t)))return n.inflate_flush(e,t);if(t=0,u.free(e),b=e.next_in_index,g=e.avail_in,w=n.bitb,p=n.bitk,y=n.write,x=y{n.reset(e,null),n.win=null,h=null},n.set_dictionary=(e,t,i)=>{n.win.set(e.subarray(t,t+i),0),n.read=n.write=i},n.sync_point=()=>1==r?1:0}const I=13,L=[0,0,255,255];function H(){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),0):k}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,0),e.inflateInit=(n,i)=>(n.msg=null,e.blocks=null,8>i||i>15?(e.inflateEnd(n),k):(e.wbits=i,n.istate.blocks=new W(n,1<{let n,i;if(!e||!e.istate||!e.next_in)return k;const r=e.istate;for(t=4==t?R:0,n=R;;)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=I,e.msg="unknown compression method",r.marker=5;break}if(8+(r.method>>4)>r.wbits){r.mode=I,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=I,e.msg="incorrect header check",r.marker=5;break}if(0==(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=I,e.msg="need dictionary",r.marker=0,k;case 7:if(n=r.blocks.proc(e,n),n==v){r.mode=I,r.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return e.avail_in=0,1;case I:return v;default:return k}},e.inflateSetDictionary=(e,t,n)=>{let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return k;const a=e.istate;return r<1<{let n,i,r,a,s;if(!e||!e.istate)return k;const o=e.istate;if(o.mode!=I&&(o.mode=I,o.marker=0),0===(n=e.avail_in))return R;for(i=e.next_in_index,r=o.marker;0!==n&&4>r;)e.read_byte(i)==L[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?v:(a=e.total_in,s=e.total_out,t(e),e.total_in=a,e.total_out=s,o.mode=7,0)},e.inflateSyncPoint=e=>e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():k}function M(){}M.prototype={inflateInit:function(e){const t=this;return t.istate=new H,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){const t=this;return t.istate?t.istate.inflate(t,e):k},inflateEnd:function(){const e=this;if(!e.istate)return k;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync:function(){const e=this;return e.istate?e.istate.inflateSync(e):k},inflateSetDictionary:function(e,t){const n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):k},read_byte:function(e){return this.next_in[e]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}};const N={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},O=n.assign({},N);function P(e){if(void 0!==e.baseURL&&(O.baseURL=e.baseURL),void 0!==e.chunkSize&&(O.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(O.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(O.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(O.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(O.Deflate=e.Deflate),void 0!==e.Inflate&&(O.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!t.isArray(e.workerScripts.deflate))throw new c("workerScripts.deflate must be an array");O.workerScripts||(O.workerScripts={}),O.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!t.isArray(e.workerScripts.inflate))throw new c("workerScripts.inflate must be an array");O.workerScripts||(O.workerScripts={}),O.workerScripts.inflate=e.workerScripts.inflate}}}const V=[];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;V[e]=t}class q{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^V[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const K={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=K.getPartial(n);return 32===i?e.concat(t):K._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)+K.getPartial(n)},clamp(e,t){if(32*e.length0&&t&&(e[n-1]=K.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=>a.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>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=K.getPartial(r);return i.push(K.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},Z={bytes:{fromBits(e){const t=K.bitLength(e)/8,n=new d(t);let i;for(let r=0;t>r;r++)0==(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;n9007199254740991)throw new c("Cannot hash more than 2^53 - 1 bits");const a=new f(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:function(){const e=this;let t=e._buffer;const n=e._h;t=K.concat(t,[K.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:(e,t,n,i)=>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)=>t<>>32-e,_block:function(e){const n=this,i=n._h,r=t(80);for(let t=0;16>t;t++)r[t]=e[t];let s=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,s)+n._f(e,o,l,c)+d+r[e]+n._key[a.floor(e/20)]|0;d=c,c=l,l=n._S(30,o),o=s,s=t}i[0]=i[0]+s|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}};const j={getRandomValues(e){const t=new f(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)*(a.random()>.5?1:-1))};for(let i,r=0;rnew X.hmacSha1(Z.bytes.toBits(e)),pbkdf2(e,t,n,i){if(n=n||1e4,0>i||0>n)throw new c("invalid params to pbkdf2");const r=1+(i>>5)<<2;let a,s,o,l,d;const u=new ArrayBuffer(r);let f=new h(u),_=0;const w=K;for(t=Z.bytes.toBits(t),d=1;(r||1)>_;d++){for(a=s=e.encrypt(w.concat(t,[d])),o=1;n>o;o++)for(s=e.encrypt(s),l=0;l_&&or&&(e=n.hash(e));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 c("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Y="Invalid pasword",J=16,Q={name:"PBKDF2"},$=n.assign({hash:{name:"HMAC"}},Q),ee=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Q),te=["deriveBits"],ne=[8,12,16],ie=[16,24,32],re=10,ae=[0,0,0,0],se=void 0!==x,oe=se&&void 0!==x.subtle,le=Z.bytes,ce=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 c("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 c("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],d=a[3],u=a[4];let f,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],y=4;for(let e=0;i>e;e++)f=s[w>>>24]^o[p>>16&255]^l[b>>8&255]^d[255&g]^n[y],h=s[p>>>24]^o[b>>16&255]^l[g>>8&255]^d[255&w]^n[y+1],_=s[b>>>24]^o[g>>16&255]^l[w>>8&255]^d[255&p]^n[y+2],g=s[g>>>24]^o[w>>16&255]^l[p>>8&255]^d[255&b]^n[y+3],y+=4,w=f,p=h,b=_;for(let e=0;4>e;e++)r[t?3&-e:e]=u[w>>>24]<<24^u[p>>16&255]<<16^u[b>>8&255]<<8^u[255&g]^n[y++],f=w,w=p,p=b,b=g,g=f;return r}},de=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&255)){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}else e+=1<<24;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=K.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 K.clamp(t,r)}},ue=X.hmacSha1;class fe{constructor(e,t,i){n.assign(this,{password:e,signed:t,strength:i-1,pendingInput:new d(0)})}async append(e){const n=this;if(n.password){const i=be(e,0,ne[n.strength]+2);await(async(e,t,n)=>{await we(e,n,be(t,0,ne[e.strength]));const i=be(t,ne[e.strength]),r=e.keys.passwordVerification;if(r[0]!=i[0]||r[1]!=i[1])throw new c(Y)})(n,i,n.password),n.password=null,n.aesCtrGladman=new de(new ce(n.keys.key),t.from(ae)),n.hmac=new ue(n.keys.authentication),e=be(e,ne[n.strength]+2)}return _e(n,e,new d(e.length-re-(e.length-re)%J),0,re,!0)}flush(){const e=this,t=e.pendingInput,n=be(t,0,t.length-re),i=be(t,t.length-re);let r=new d(0);if(n.length){const t=le.toBits(n);e.hmac.update(t);const i=e.aesCtrGladman.update(t);r=le.fromBits(i)}let a=!0;if(e.signed){const t=be(le.fromBits(e.hmac.digest()),0,re);for(let e=0;re>e;e++)t[e]!=i[e]&&(a=!1)}return{valid:a,data:r}}}class he{constructor(e,t){n.assign(this,{password:e,strength:t-1,pendingInput:new d(0)})}async append(e){const n=this;let i=new d(0);n.password&&(i=await(async(e,t)=>{const n=(i=new d(ne[e.strength]),se&&"function"==typeof x.getRandomValues?x.getRandomValues(i):j.getRandomValues(i));var i;return await we(e,t,n),pe(n,e.keys.passwordVerification)})(n,n.password),n.password=null,n.aesCtrGladman=new de(new ce(n.keys.key),t.from(ae)),n.hmac=new ue(n.keys.authentication));const r=new d(i.length+e.length-e.length%J);return r.set(i,0),_e(n,e,r,i.length,0)}flush(){const e=this;let t=new d(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(le.toBits(e.pendingInput));e.hmac.update(n),t=le.fromBits(n)}const n=be(le.fromBits(e.hmac.digest()),0,re);return{data:pe(t,n),signature:n}}}function _e(e,t,n,i,r,a){const s=t.length-r;let o;for(e.pendingInput.length&&(t=pe(e.pendingInput,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e})(n,s-s%J)),o=0;s-J>=o;o+=J){const r=le.toBits(be(t,o,o+J));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(le.fromBits(s),o+i)}return e.pendingInput=be(t,o),n}async function we(e,t,i){const r=(e=>{if(void 0===p){const t=new d((e=unescape(encodeURIComponent(e))).length);for(let n=0;nse&&oe&&"function"==typeof x.subtle.importKey?x.subtle.importKey("raw",t,n,!1,r):X.importKey(t))(0,r,$,0,te),s=await(async(e,t,n)=>se&&oe&&"function"==typeof x.subtle.deriveBits?await x.subtle.deriveBits(e,t,n):X.pbkdf2(t,e.salt,ee.iterations,n))(n.assign({salt:i},ee),a,8*(2*ie[e.strength]+2)),o=new d(s);e.keys={key:le.toBits(be(o,0,ie[e.strength])),authentication:le.toBits(be(o,ie[e.strength],2*ie[e.strength])),passwordVerification:be(o,2*ie[e.strength])}}function pe(e,t){let n=e;return e.length+t.length&&(n=new d(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function be(e,t,n){return e.subarray(t,n)}class ge{constructor(e,t){n.assign(this,{password:e,passwordVerification:t}),ke(this,e)}append(e){const t=this;if(t.password){const n=xe(t,e.subarray(0,12));if(t.password=null,n[11]!=t.passwordVerification)throw new c(Y);e=e.subarray(12)}return xe(t,e)}flush(){return{valid:!0,data:new d(0)}}}class ye{constructor(e,t){n.assign(this,{password:e,passwordVerification:t}),ke(this,e)}append(e){const t=this;let n,i;if(t.password){t.password=null;const r=x.getRandomValues(new d(12));r[11]=t.passwordVerification,n=new d(e.length+r.length),n.set(me(t,r),0),i=12}else n=new d(e.length),i=0;return n.set(me(t,e),i),n}flush(){return{data:new d(0)}}}function xe(e,t){const n=new d(t.length);for(let i=0;i>>24]),e.keys[2]=~e.crcKey2.get()}function Re(e){const t=2|e.keys[2];return Se(a.imul(t,1^t)>>>8)}function Se(e){return 255&e}function Ae(e){return 4294967295&e}const Te="inflate",Ue="Invalid signature";class ze{constructor(e,{signature:t,password:i,signed:r,compressed:a,zipCrypto:s,passwordVerification:o,encryptionStrength:l},{chunkSize:c}){const d=!!i;n.assign(this,{signature:t,encrypted:d,signed:r,compressed:a,inflate:a&&new e({chunkSize:c}),crc32:r&&new q,zipCrypto:s,decrypt:d&&s?new ge(i,o):new fe(i,r,l)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new d(0);if(e.encrypted){const t=e.decrypt.flush();if(!t.valid)throw new c(Ue);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new h(new d(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new c(Ue)}return e.compressed&&(n=await e.inflate.append(n)||new d(0),await e.inflate.flush()),{data:n,signature:t}}}class Ee{constructor(e,{encrypted:t,signed:i,compressed:r,level:a,zipCrypto:s,password:o,passwordVerification:l,encryptionStrength:c},{chunkSize:d}){n.assign(this,{encrypted:t,signed:i,compressed:r,deflate:r&&new e({level:a||5,chunkSize:d}),crc32:i&&new q,zipCrypto:s,encrypt:t&&s?new ye(o,l):new he(o,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new d(0);if(e.compressed&&(n=await e.deflate.flush()||new d(0)),e.encrypted){n=await e.encrypt.append(n);const i=e.encrypt.flush();t=i.signature;const r=new d(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}const Fe="init",De="append",Ce="flush";let Be=!0;var We=(e,t,i,r,a,s,o)=>(n.assign(e,{busy:!0,codecConstructor:t,options:n.assign({},i),scripts:o,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,a(e)}}),s?((e,t)=>{let n;const i={type:"module"};if(!e.interface){if(Be)try{e.worker=r({},t.baseURL)}catch(n){Be=!1,e.worker=r(i,t.baseURL)}else e.worker=r(i,t.baseURL);e.worker.addEventListener("message",(t=>{const i=t.data;if(n){const t=i.error,r=i.type;if(t){const i=new c(t.message);i.stack=t.stack,n.reject(i),n=null,e.onTaskFinished()}else if(r==Fe||r==Ce||r==De){const t=i.data;r==Ce?(n.resolve({data:new d(t),signature:i.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new d(t))}}}),!1),e.interface={append:e=>a({type:De,data:e}),flush:()=>a({type:Ce}),abort(){e.onTaskFinished()}}}return e.interface;function r(t,n){let i,r;i=e.scripts[0],"function"==typeof i&&(i=i());try{r=new l(i,n)}catch(e){r=i}return new Worker(r,t)}async function a(i){if(!n){const n=e.options,i=e.scripts.slice(1);await s({scripts:i,type:Fe,options:n,config:{chunkSize:t.chunkSize}})}return s(i)}function s(t){const i=e.worker,r=new w(((e,t)=>n={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,i.postMessage(t,[t.data])}catch(e){i.postMessage(t)}else i.postMessage(t)}catch(t){n.reject(t),n=null,e.onTaskFinished()}return r}})(e,r):((e,t)=>{const n=((e,t,n)=>t.codecType.startsWith("deflate")?new Ee(e,t,n):t.codecType.startsWith(Te)?new ze(e,t,n):void 0)(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}},abort(){e.onTaskFinished()}}})(e,r));let Ie=[],Le=[];function He(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}const Me="Abort error";function Ne(e,t){if(e&&e.aborted)throw t.abort(),new c(Me)}async function Oe(e,t){return t.length&&await e.writeUint8Array(t),t.length}const Pe="HTTP error ",Ve="HTTP Range not supported",qe="text/plain",Ke="GET";class Ze{constructor(){this.size=0}init(){this.initialized=!0}}class Ge extends Ze{}class je extends Ze{writeUint8Array(e){this.size+=e.length}}class Xe extends Ge{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){if(this.blob.arrayBuffer)return new d(await this.blob.slice(e,e+t).arrayBuffer());{const n=new g;return new w(((i,r)=>{n.onload=e=>i(new d(e.target.result)),n.onerror=()=>r(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}}function Ye(e){e.pendingBlob=new _([],{type:e.contentType}),e.arrayBuffers=[]}function Je(e){e.pendingBlob=new _([e.pendingBlob,...e.arrayBuffers],{type:e.contentType}),e.arrayBuffers=[]}class Qe extends Ge{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=n.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){super.init(),await et(this,lt,rt)}async readUint8Array(e,t){return tt(this,e,t,lt,rt)}}class $e extends Ge{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=t}async init(){super.init(),await et(this,ct,at)}async readUint8Array(e,t){return tt(this,e,t,ct,at)}}async function et(e,t,n){if((e=>{if(void 0!==y){const t=y.createElement("a");return t.href=e,"http:"==t.protocol||"https:"==t.protocol}return/^https?:\/\//i.test(e)})(e.url)&&(e.useRangeHeader||e.forceRangeRequests)){const i=await t(Ke,e,nt(e));if(!e.forceRangeRequests&&"bytes"!=i.headers.get("Accept-Ranges"))throw new c(Ve);{let r;const a=i.headers.get("Content-Range");if(a){const e=a.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(r=Number(t))}}void 0===r?await ot(e,t,n):e.size=r}}else await ot(e,t,n)}async function tt(e,t,n,i,r){if(e.useRangeHeader||e.forceRangeRequests){const r=await i(Ke,e,nt(e,t,n));if(206!=r.status)throw new c(Ve);return new d(await r.arrayBuffer())}return e.data||await r(e,e.options),new d(e.data.subarray(t,t+n))}function nt(e,t=0,i=1){return n.assign({},it(e),{Range:"bytes="+t+"-"+(t+i-1)})}function it(e){let t=e.options.headers;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function rt(e){await st(e,lt)}async function at(e){await st(e,ct)}async function st(e,t){const n=await t(Ke,e,it(e));e.data=new d(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function ot(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const i=(await t("HEAD",e,it(e))).headers.get("Content-Length");i?e.size=Number(i):await n(e,e.options)}}async function lt(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 new c(Pe+(a.statusText||a.status))}function ct(e,{url:t},i){return new w(((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 o(e)})}else a(new c(Pe+(s.statusText||s.status)))}),!1),s.addEventListener("error",(e=>a(e.detail.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 dt extends Ge{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new $e(e,t):this.reader=new Qe(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}const ut=4294967295,ft=33639248,ht=101075792,_t="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");async function wt(e,t){if(t&&"cp437"==t.trim().toLowerCase())return(e=>{let t="";for(let n=0;n{t.onload=e=>n(e.target.result),t.onerror=()=>i(t.error),t.readAsText(new _([e]))}))}return new b(t).decode(e)}const pt=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","version","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"];class bt{constructor(e){pt.forEach((t=>this[t]=e[t]))}}const gt="File format is not recognized",yt="End of central directory not found",xt="End of Zip64 central directory not found",mt="End of Zip64 central directory locator not found",kt="Central directory header not found",vt="Local file header not found",Rt="Zip64 extra field not found",St="File contains encrypted entry",At="Encryption method not supported",Tt="Compression method not supported",Ut="utf-8",zt="cp437",Et=["uncompressedSize","compressedSize","offset"];class Ft{constructor(e,t,i){n.assign(this,{reader:e,config:t,options:i})}async getData(e,t,n={}){const i=this,{reader:r,offset:s,extraFieldAES:o,compressionMethod:l,config:d,bitFlag:u,signature:f,rawLastModDate:h,compressedSize:_}=i,p=i.localDirectory={};r.initialized||await r.init();let b=await Vt(r,s,30);const g=Pt(b);let y=Wt(i,n,"password");if(y=y&&y.length&&y,o&&99!=o.originalCompressionMethod)throw new c(Tt);if(0!=l&&8!=l)throw new c(Tt);if(67324752!=Nt(g,0))throw new c(vt);Dt(p,g,4),b=await Vt(r,s,30+p.filenameLength+p.extraFieldLength),p.rawExtraField=b.subarray(30+p.filenameLength),await Ct(i,p,g,4),t.lastAccessDate=p.lastAccessDate,t.creationDate=p.creationDate;const x=i.encrypted&&p.encrypted,m=x&&!o;if(x){if(!m&&void 0===o.strength)throw new c(At);if(!y)throw new c(St)}const k=await((e,t,n)=>{const i=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),r=i&&n.workerScripts?n.workerScripts[t.codecType]:[];if(Ie.length!e.busy));return s?(He(s),We(s,e,t,n,a,i,r)):new w((n=>Le.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}function a(e){if(Le.length){const[{resolve:t,codecConstructor:i,options:r,webWorker:s,scripts:o}]=Le.splice(0,1);t(We(e,i,r,n,a,s,o))}else e.worker?(He(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{Ie=Ie.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):Ie=Ie.filter((t=>t!=e))}})(d.Inflate,{codecType:Te,password:y,zipCrypto:m,encryptionStrength:o&&o.strength,signed:Wt(i,n,"checkSignature"),passwordVerification:m&&(u.dataDescriptor?h>>>8&255:f>>>24&255),signature:f,compressed:0!=l,encrypted:x,useWebWorkers:Wt(i,n,"useWebWorkers")},d);e.initialized||await e.init();const v=Wt(i,n,"signal"),R=s+30+p.filenameLength+p.extraFieldLength;return await(async(e,t,n,i,r,s,o)=>{const l=a.max(s.chunkSize,64);return async function s(c=0,d=0){const u=o.signal;if(r>c){Ne(u,e);const f=await t.readUint8Array(c+i,a.min(l,r-c)),h=f.length;Ne(u,e);const _=await e.append(f);if(Ne(u,e),d+=await Oe(n,_),o.onprogress)try{o.onprogress(c+h,r)}catch(e){}return s(c+l,d)}{const t=await e.flush();return d+=await Oe(n,t.data),{signature:t.signature,length:d}}}()})(k,r,e,R,_,d,{onprogress:n.onprogress,signal:v}),e.getData()}}function Dt(e,t,i){const r=e.rawBitFlag=Mt(t,i+2),a=1==(1&r),s=Nt(t,i+6);n.assign(e,{encrypted:a,version:Mt(t,i),bitFlag:{level:(6&r)>>1,dataDescriptor:8==(8&r),languageEncodingFlag:2048==(2048&r)},rawLastModDate:s,lastModDate:It(s),filenameLength:Mt(t,i+22),extraFieldLength:Mt(t,i+24)})}async function Ct(e,t,i,r){const l=t.rawExtraField,u=t.extraField=new o,f=Pt(new d(l));let h=0;try{for(;h{t.zip64=!0;const n=Pt(e.data);e.values=[];for(let t=0;tt[e]==ut));for(let t=0;t{if(t[n]==ut){if(void 0===e[n])throw new c(Rt);t[n]=e[n]}}))})(w,t),t.extraFieldZip64=w);const p=u.get(28789);p&&(await Bt(p,"filename","rawFilename",t,e),t.extraFieldUnicodePath=p);const b=u.get(25461);b&&(await Bt(b,"comment","rawComment",t,e),t.extraFieldUnicodeComment=b);const g=u.get(39169);g?(((e,t,n)=>{const i=Pt(e.data);e.vendorVersion=Ht(i,0),e.vendorId=Ht(i,2);const r=Ht(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=Mt(i,5)})(g,t,_),t.extraFieldAES=g):t.compressionMethod=_;const y=u.get(10);y&&(((e,t)=>{const i=Pt(e.data);let r,a=4;try{for(;a{const n=Pt(e.data),i=Ht(n,0),r=[],a=[];1==(1&i)&&(r.push("lastModDate"),a.push("rawLastModDate")),2==(2&i)&&(r.push("lastAccessDate"),a.push("rawLastAccessDate")),4==(4&i)&&(r.push("creationDate"),a.push("rawCreationDate"));let o=1;r.forEach(((i,r)=>{if(e.data.length>=o+4){const l=Nt(n,o);t[i]=e[i]=new s(1e3*l);const c=a[r];e[c]=l}o+=4}))})(x,t),t.extraFieldExtendedTimestamp=x)}async function Bt(e,t,n,i,r){const a=Pt(e.data);e.version=Ht(a,0),e.signature=Nt(a,1);const s=new q;s.append(r[n]);const o=Pt(new d(4));o.setUint32(0,s.get(),!0),e[t]=await wt(e.data.subarray(5)),e.valid=!r.bitFlag.languageEncodingFlag&&e.signature==Nt(o,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function Wt(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function It(e){const t=(4294901760&e)>>16,n=65535&e;try{return new s(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function Lt(e){return new s(Number(e/r(1e4)-r(116444736e5)))}function Ht(e,t){return e.getUint8(t)}function Mt(e,t){return e.getUint16(t,!0)}function Nt(e,t){return e.getUint32(t,!0)}function Ot(e,t){return Number(e.getBigUint64(t,!0))}function Pt(e){return new h(e.buffer)}function Vt(e,t,n){return e.readUint8Array(t,n)}P({Inflate:function(e){const t=new M,n=e&&e.chunkSize?a.floor(2*e.chunkSize):131072,i=new d(n);let r=!1;t.inflateInit(),t.next_out=i,this.append=(e,a)=>{const s=[];let o,l,u=0,f=0,h=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===R){if(0!==t.avail_in)throw new c("inflating: bad input")}else if(0!==o&&1!==o)throw new c("inflating: "+t.msg);if((r||1===o)&&t.avail_in===e.length)throw new c("inflating: bad input");t.next_out_index&&(t.next_out_index===n?s.push(new d(i)):s.push(i.slice(0,t.next_out_index))),h+=t.next_out_index,a&&t.next_in_index>0&&t.next_in_index!=u&&(a(t.next_in_index),u=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return s.length>1?(l=new d(h),s.forEach((e=>{l.set(e,f),f+=e.length}))):l=s[0]||new d(0),l}},this.flush=()=>{t.inflateEnd()}}}),e.BlobReader=Xe,e.BlobWriter=class extends je{constructor(e){super(),this.contentType=e,this.arrayBuffersMaxlength=8,Ye(this)}async writeUint8Array(e){super.writeUint8Array(e),this.arrayBuffers.length==this.arrayBuffersMaxlength&&Je(this),this.arrayBuffers.push(e.buffer)}getData(){return this.blob||(this.arrayBuffers.length&&Je(this),this.blob=this.pendingBlob,Ye(this)),this.blob}},e.Data64URIReader=class extends Ge{constructor(e){super(),this.dataURI=e;let t=e.length;for(;"="==e.charAt(t-1);)t--;this.dataStart=e.indexOf(",")+1,this.size=a.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new d(t),i=4*a.floor(e/3),r=atob(this.dataURI.substring(i+this.dataStart,4*a.ceil((e+t)/3)+this.dataStart)),s=e-3*a.floor(i/4);for(let e=s;s+t>e;e++)n[e-s]=r.charCodeAt(e);return n}},e.Data64URIWriter=class extends je{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const r=this.pending.length;for(this.pending="",t=0;t<3*a.floor((r+e.length)/3)-r;t++)n+=i.fromCharCode(e[t]);for(;t2?this.data+=m(n):this.pending=n}getData(){return this.data+m(this.pending)}},e.ERR_ABORT=Me,e.ERR_BAD_FORMAT=gt,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=kt,e.ERR_ENCRYPTED=St,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=mt,e.ERR_EOCDR_NOT_FOUND=yt,e.ERR_EOCDR_ZIP64_NOT_FOUND=xt,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Rt,e.ERR_HTTP_RANGE=Ve,e.ERR_INVALID_PASSWORD=Y,e.ERR_INVALID_SIGNATURE=Ue,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=vt,e.ERR_UNSUPPORTED_COMPRESSION=Tt,e.ERR_UNSUPPORTED_ENCRYPTION=At,e.HttpRangeReader=class extends dt{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=dt,e.Reader=Ge,e.TextReader=class extends Ge{constructor(e){super(),this.blobReader=new Xe(new _([e],{type:qe}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends je{constructor(e){super(),this.encoding=e,this.blob=new _([],{type:qe})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new _([this.blob,e.buffer],{type:qe})}getData(){if(this.blob.text)return this.blob.text();{const e=new g;return new w(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)}))}}},e.Uint8ArrayReader=class extends Ge{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends je{constructor(){super(),this.array=new d(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new d(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}},e.WritableStreamWriter=class extends je{constructor(e){super(),this.writableStream=e,this.writer=e.getWriter()}async writeUint8Array(e){return await this.writer.ready,this.writer.write(e)}async getData(){return await this.writer.ready,await this.writer.close(),this.writableStream}},e.Writer=je,e.ZipReader=class{constructor(e,t={}){n.assign(this,{reader:e,options:t,config:O})}async getEntries(e={}){const t=this,i=t.reader;if(i.initialized||await i.init(),22>i.size)throw new c(gt);const r=await(async(e,t,n)=>{const i=new d(4);return Pt(i).setUint32(0,101010256,!0),await r(22)||await r(a.min(1048582,n));async function r(t){const r=n-t,a=await Vt(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(!r)throw new c(yt);const s=Pt(r);let o=Nt(s,12),l=Nt(s,16),u=Mt(s,8),f=0;if(l==ut||o==ut||65535==u){const e=Pt(await Vt(i,r.offset-20,20));if(117853008!=Nt(e,0))throw new c(xt);l=Ot(e,8);let t=await Vt(i,l,56),n=Pt(t);const a=r.offset-20-56;if(Nt(n,0)!=ht&&l!=a){const e=l;l=a,f=l-e,t=await Vt(i,l,56),n=Pt(t)}if(Nt(n,0)!=ht)throw new c(mt);u=Ot(n,32),o=Ot(n,40),l-=o}if(0>l||l>=i.size)throw new c(gt);let h=0,_=await Vt(i,l,o),p=Pt(_);if(o){const e=r.offset-o;if(Nt(p,h)!=ft&&l!=e){const t=l;l=e,f=l-t,_=await Vt(i,l,o),p=Pt(_)}}if(0>l||l>=i.size)throw new c(gt);const b=[];for(let r=0;u>r;r++){const a=new Ft(i,t.config,t.options);if(Nt(p,h)!=ft)throw new c(kt);Dt(a,p,h+6);const s=!!a.bitFlag.languageEncodingFlag,o=h+46,l=o+a.filenameLength,d=l+a.extraFieldLength,g=Mt(p,h+4),y=0==(0&g);n.assign(a,{versionMadeBy:g,msDosCompatible:y,compressedSize:0,uncompressedSize:0,commentLength:Mt(p,h+32),directory:y&&16==(16&Ht(p,h+38)),offset:Nt(p,h+42)+f,internalFileAttribute:Nt(p,h+34),externalFileAttribute:Nt(p,h+38),rawFilename:_.subarray(o,l),filenameUTF8:s,commentUTF8:s,rawExtraField:_.subarray(l,d)});const x=d+a.commentLength;a.rawComment=_.subarray(d,x);const m=Wt(t,e,"filenameEncoding"),k=Wt(t,e,"commentEncoding"),[v,R]=await w.all([wt(a.rawFilename,a.filenameUTF8?Ut:m||zt),wt(a.rawComment,a.commentUTF8?Ut:k||zt)]);a.filename=v,a.comment=R,!a.directory&&a.filename.endsWith("/")&&(a.directory=!0),await Ct(a,a,p,h+6);const S=new bt(a);if(S.getData=(e,t)=>a.getData(e,S,t),b.push(S),h=x,e.onprogress)try{e.onprogress(r+1,u,new bt(a))}catch(e){}}return b}async close(){}},e.configure=P,e.getMimeType=()=>"application/octet-stream",e.terminateWorkers=()=>{Ie.forEach((e=>{He(e),e.terminate()}))},n.defineProperty(e,"__esModule",{value:!0})}));