single-file-core 1.5.84 → 1.5.85

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