@zip.js/zip.js 2.8.1 → 2.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/deno.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zip-js/zip-js",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
4
4
  "exports": {
5
5
  ".": "./index.js"
6
6
  },
package/dist/zip-core.js CHANGED
@@ -2877,7 +2877,7 @@
2877
2877
  if (chunk && chunk.length) {
2878
2878
  controller.enqueue(chunk);
2879
2879
  codec.outputSize += chunk.length;
2880
- if (options.outputSize && codec.outputSize > options.outputSize) {
2880
+ if (options.outputSize !== UNDEFINED_VALUE && codec.outputSize > options.outputSize) {
2881
2881
  throw new Error(ERR_INVALID_UNCOMPRESSED_SIZE);
2882
2882
  }
2883
2883
  }
@@ -4020,7 +4020,7 @@
4020
4020
  encryptionStrength: extraFieldAES && extraFieldAES.strength,
4021
4021
  signed: getOptionValue$1(zipEntry, options, OPTION_CHECK_SIGNATURE) && !passThrough,
4022
4022
  passwordVerification: zipCrypto && (dataDescriptor ? ((rawLastModDate >>> 8) & 0xFF) : ((signature >>> 24) & 0xFF)),
4023
- outputSize: uncompressedSize,
4023
+ outputSize: passThrough ? compressedSize : uncompressedSize,
4024
4024
  signature,
4025
4025
  compressed: compressionMethod != 0 && !passThrough,
4026
4026
  encrypted: zipEntry.encrypted && !passThrough,
@@ -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:r,String:s,Number:n,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:w,Uint32Array:h,DataView:m,Blob:g,Promise:y,TextEncoder:b,TextDecoder:z,document:S,crypto:_,btoa:x,TransformStream:E,ReadableStream:F,WritableStream:R,CompressionStream:k,DecompressionStream:D,navigator:T,Worker:A}="undefined"!=typeof globalThis?globalThis:this||self;var v=void 0!==S?S.currentScript:null;const C=4294967295,U=65535,N=67324752,I=134695760,W=I,O=33639248,L=101010256,M=101075792,H=117853008,P=22,B=21589,Z=2048,V="/",q=30,K=new o(2107,11,31),Y=new o(1980,0,1),G=void 0,j="undefined",X="function";let J=2;try{typeof T!=j&&T.hardwareConcurrency&&(J=T.hardwareConcurrency)}catch(e){}const Q={workerURI:"./core/web-worker.js",wasmURI:"./core/streams/zlib/zlib-streams.wasm",chunkSize:65536,maxWorkers:J,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof k!=j&&k,DecompressionStream:typeof D!=j&&D},$=r.assign({},Q);function ee(){return $}function te(e){return i.max(e.chunkSize,64)}function re(e){const{baseURI:t,chunkSize:r,maxWorkers:s,terminateWorkerTimeout:n,useCompressionStream:a,useWebWorkers:i,CompressionStream:o,DecompressionStream:c,CompressionStreamZlib:l,DecompressionStreamZlib:d,workerURI:u,wasmURI:f}=e;se("baseURI",t),se("wasmURI",f),se("workerURI",u),se("chunkSize",r),se("maxWorkers",s),se("terminateWorkerTimeout",n),se("useCompressionStream",a),se("useWebWorkers",i),se("CompressionStream",o),se("DecompressionStream",c),se("CompressionStreamZlib",l),se("DecompressionStreamZlib",d)}function se(e,t){t!==G&&($[e]=t)}let ne,ae,ie,oe;function ce(e,t,r={}){const s="number"==typeof r.level?r.level:-1,n="number"==typeof r.outBuffer?r.outBuffer:65536,a="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new E({start(){let r;if(this.out=ae(n),this.in=ae(a),this.inBufferSize=a,this._scratch=new p(n),e?(this._process=ne.deflate_process,this._last_consumed=ne.deflate_last_consumed,this._end=ne.deflate_end,this.streamHandle=ne.deflate_new(),r="gzip"===t?ne.deflate_init_gzip(this.streamHandle,s):"deflate-raw"===t?ne.deflate_init_raw(this.streamHandle,s):ne.deflate_init(this.streamHandle,s)):"deflate64-raw"===t?(this._process=ne.inflate9_process,this._last_consumed=ne.inflate9_last_consumed,this._end=ne.inflate9_end,this.streamHandle=ne.inflate9_new(),r=ne.inflate9_init_raw(this.streamHandle)):(this._process=ne.inflate_process,this._last_consumed=ne.inflate_last_consumed,this._end=ne.inflate_end,this.streamHandle=ne.inflate_new(),r="deflate-raw"===t?ne.inflate_init_raw(this.streamHandle):"gzip"===t?ne.inflate_init_gzip(this.streamHandle):ne.inflate_init(this.streamHandle)),0!==r)throw new f("init failed:"+r)},transform(t,r){try{const s=t,a=new p(oe.buffer),o=this._process,c=this._last_consumed,l=this.out,d=this._scratch;let u=0;for(;u<s.length;){const t=i.min(s.length-u,32768);this.in&&this.inBufferSize>=t||(this.in&&ie&&ie(this.in),this.in=ae(t),this.inBufferSize=t),a.set(s.subarray(u,u+t),this.in);const p=o(this.streamHandle,this.in,t,l,n,0);if(!e&&0>p)throw new f("process error:"+p);const w=16777215&p;w&&(d.set(a.subarray(l,l+w),0),r.enqueue(d.slice(0,w)));const h=c(this.streamHandle);if(0===h)break;u+=h}}catch(e){this._end&&this.streamHandle&&this._end(this.streamHandle),this.in&&ie&&ie(this.in),this.out&&ie&&ie(this.out),r.error(e)}},flush(t){try{const r=new p(oe.buffer),s=this._process,a=this.out,i=this._scratch;for(;;){const o=s(this.streamHandle,0,0,a,n,4);if(!e&&0>o)throw new f("process error:"+o);const c=16777215&o,l=o>>24&255;if(c&&(i.set(r.subarray(a,a+c),0),t.enqueue(i.slice(0,c))),1===l||0===c)break}}catch(e){t.error(e)}finally{if(this._end&&this.streamHandle){const e=this._end(this.streamHandle);0!==e&&t.error(new f("end error:"+e))}this.in&&ie&&ie(this.in),this.out&&ie&&ie(this.out)}}})}let le=!1;function de(){le=!1}const ue="HTTP error ",fe="HTTP Range not supported",pe="Range",we="GET",he="bytes",me=65536,ge="writable";class ye{constructor(){this.size=0}init(){this.initialized=!0}}class be extends ye{get readable(){const e=this,{chunkSize:t=me}=e,r=new F({start(){this.chunkOffset=0},async pull(s){const{offset:n=0,size:a,diskNumberStart:o}=r,{chunkOffset:c}=this,l=a===G?t:i.min(t,a-c),d=await Be(e,n+c,l,o);s.enqueue(d),c+t>a||a===G&&!d.length&&l?s.close():this.chunkOffset+=t}});return r}}class ze extends ye{constructor(){super();const e=this,t=new R({write(t){if(!e.initialized)throw new f("Writer not initialized");return e.writeUint8Array(t)}});r.defineProperty(e,ge,{get:()=>t})}writeUint8Array(){}}class Se extends be{constructor(e){super(),r.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const r=this,s=e+t,n=e||s<r.size?r.blob.slice(e,s):r.blob;let a=await n.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,s)),new p(a)}}class _e extends ye{constructor(e){super();const t=new E,s=[];e&&s.push(["Content-Type",e]),r.defineProperty(this,ge,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:s}).blob()}getData(){return this.blob}}class xe extends be{constructor(e,t){super(),Fe(this,e,t)}async init(){await Re(this,Ne,Ae),super.init()}readUint8Array(e,t){return ke(this,e,t,Ne,Ae)}}class Ee extends be{constructor(e,t){super(),Fe(this,e,t)}async init(){await Re(this,Ie,ve),super.init()}readUint8Array(e,t){return ke(this,e,t,Ie,ve)}}function Fe(e,t,s){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=s;delete(s=r.assign({},s)).preventHeadRequest,delete s.useRangeHeader,delete s.forceRangeRequests,delete s.combineSizeEocd,delete s.useXHR,r.assign(e,{url:t,options:s,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function Re(e,t,r){const{url:s,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:c}=e;if((e=>{const{baseURI:t}=ee(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(s)&&(i||o)&&(void 0===a||a)){const s=await t(we,e,De(e,c?-22:void 0));if(!o&&s.headers.get("Accept-Ranges")!=he)throw new f(fe);{let a;c&&(e.eocdCache=new p(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=n(t))}}a===G?await Ue(e,t,r):e.size=a}}else await Ue(e,t,r)}async function ke(e,t,r,s,n){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:c,options:l}=e;if(a||i){if(o&&t==c-P&&r==P)return o;if(c>t){t+r>c&&(r=c-t);const n=await s(we,e,De(e,t,r));if(206!=n.status)throw new f(fe);return new p(await n.arrayBuffer())}return new p}{const{data:s}=e;return s||await n(e,l),new p(e.data.subarray(t,t+r))}}function De(e,t=0,s=1){return r.assign({},Te(e),{[pe]:he+"="+(0>t?t:t+"-"+(t+s-1))})}function Te({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Ae(e){await Ce(e,Ne)}async function ve(e){await Ce(e,Ie)}async function Ce(e,t){const r=await t(we,e,Te(e));e.data=new p(await r.arrayBuffer()),e.size||(e.size=e.data.length)}async function Ue(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const s=(await t("HEAD",e,Te(e))).headers.get("Content-Length");s?e.size=n(s):await r(e,e.options)}}async function Ne(e,{options:t,url:s},n){const a=await fetch(s,r.assign({},t,{method:e,headers:n}));if(400>a.status)return a;throw 416==a.status?new f(fe):new f(ue+(a.statusText||a.status))}function Ie(e,{url:t},s){return new y((n,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),n({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new f(fe):new f(ue+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),i.open(e,t),s)for(const e of r.entries(s))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class We extends be{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR?new Ee(e,t):new xe(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 Oe extends be{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(r,s)=>{await r.init(),s!=t.length-1&&(e.lastDiskOffset+=r.size),e.size+=r.size})),super.init()}async readUint8Array(e,t,r=0){const s=this,{readers:n}=this;let a,o=r;-1==o&&(o=n.length-1);let c=e;for(;n[o]&&c>=n[o].size;)c-=n[o].size,o++;const l=n[o];if(l){const n=l.size;if(c+t>n){const i=n-c;a=new p(t);const o=await Be(l,c,i);a.set(o,0);const d=await s.readUint8Array(e+i,t-i,r);a.set(d,i),o.length+d.length<t&&(a=a.subarray(0,o.length+d.length))}else a=await Be(l,c,t)}else a=new p;return s.lastDiskNumber=i.max(o,s.lastDiskNumber),a}}class Le extends ye{constructor(e,t=4294967295){super();const s=this;let n,a,i;r.assign(s,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new R({async write(t){const{availableSize:r}=s;if(i)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),s.diskOffset+=n.size,s.diskNumber++,i=null,await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new f("Writer iterator completed too soon");n=r,n.size=0,n.maxSize&&(s.maxSize=n.maxSize),s.availableSize=s.maxSize,await Pe(n),a=r.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),n.size+=t,s.size+=t,s.availableSize-=t)}async function l(){await i.close()}r.defineProperty(s,ge,{get:()=>o})}}class Me{constructor(e){return t.isArray(e)&&(e=new Oe(e)),e instanceof F&&(e={readable:e}),e}}class He{constructor(e){return e.writable===G&&typeof e.next==X&&(e=new Le(e)),e instanceof R&&(e={writable:e}),e.size===G&&(e.size=0),e instanceof Le||r.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}}async function Pe(e,t){if(!e.init||e.initialized)return y.resolve();await e.init(t)}function Be(e,t,r,s){return e.readUint8Array(t,r,s)}const Ze=[];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;Ze[e]=t}class Ve{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let r=0,s=0|e.length;s>r;r++)t=t>>>8^Ze[255&(t^e[r])];this.crc=t}get(){return~this.crc}}class qe extends E{constructor(){let e;const t=new Ve;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new p(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Ke(e){if(typeof b==j){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new b).encode(e)}const Ye={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],s=Ye.getPartial(r);return 32===s?e.concat(t):Ye._shiftRight(t,s,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+Ye.getPartial(r)},clamp(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=Ye.partial(t,e[r-1]&2147483648>>t-1,1)),e},partial:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,getPartial:e=>i.round(e/1099511627776)||32,_shiftRight(e,t,r,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(r),r=0;if(0===t)return s.concat(e);for(let n=0;n<e.length;n++)s.push(r|e[n]>>>t),r=e[n]<<32-t;const n=e.length?e[e.length-1]:0,a=Ye.getPartial(n);return s.push(Ye.partial(t+a&31,t+a>32?r:s.pop(),1)),s}},Ge={bytes:{fromBits(e){const t=Ye.bitLength(e)/8,r=new p(t);let s;for(let n=0;t>n;n++)3&n||(s=e[n/4]),r[n]=s>>>24,s<<=8;return r},toBits(e){const t=[];let r,s=0;for(r=0;r<e.length;r++)s=s<<8|e[r],3&~r||(t.push(s),s=0);return 3&r&&t.push(Ye.partial(8*(3&r),s)),t}}},je=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=Ge.utf8String.toBits(e));const r=t._buffer=Ye.concat(t._buffer,e),s=t._length,n=t._length=s+Ye.bitLength(e);if(n>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new h(r);let i=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);n>=e;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const r=e._h;t=Ye.concat(t,[Ye.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),r}_f(e,t,r,s){return e>19?e>39?e>59?e>79?void 0:t^r^s:t&r|t&s|r&s:t^r^s:t&r|~t&s}_S(e,t){return t<<e|t>>>32-e}_block(e){const r=this,s=r._h,n=t(80);for(let t=0;16>t;t++)n[t]=e[t];let a=s[0],o=s[1],c=s[2],l=s[3],d=s[4];for(let e=0;79>=e;e++){16>e||(n[e]=r._S(1,n[e-3]^n[e-8]^n[e-14]^n[e-16]));const t=r._S(5,a)+r._f(e,o,c,l)+d+n[e]+r._key[i.floor(e/20)]|0;d=l,l=c,c=r._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]+d|0}},Xe={getRandomValues(e){const t=new h(e.buffer),r=e=>{let t=987654321;const r=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&r,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&r)&r)/4294967296+.5)*(i.random()>.5?1:-1))};for(let s,n=0;n<e.length;n+=4){const e=r(4294967296*(s||i.random()));s=987654071*e(),t[n/4]=4294967296*e()|0}return e}},Je={importKey:e=>new Je.hmacSha1(Ge.bytes.toBits(e)),pbkdf2(e,t,r,s){if(r=r||1e4,0>s||0>r)throw new f("invalid params to pbkdf2");const n=1+(s>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(n),u=new m(d);let p=0;const w=Ye;for(t=Ge.bytes.toBits(t),l=1;(n||1)>p;l++){for(a=i=e.encrypt(w.concat(t,[l])),o=1;r>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(n||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,s/8)},hmacSha1:class{constructor(e){const t=this,r=t._hash=je,s=[[],[]];t._baseHash=[new r,new r];const n=t._baseHash[0].blockSize/32;e.length>n&&(e=(new r).update(e).finalize());for(let t=0;n>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 r(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),r=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),r}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Qe=typeof _!=j&&typeof _.getRandomValues==X,$e="Invalid password",et="Invalid signature",tt="zipjs-abort-check-password";function rt(e){return Qe?_.getRandomValues(e):Xe.getRandomValues(e)}const st=16,nt={name:"PBKDF2"},at=r.assign({hash:{name:"HMAC"}},nt),it=r.assign({iterations:1e3,hash:{name:"SHA-1"}},nt),ot=["deriveBits"],ct=[8,12,16],lt=[16,24,32],dt=10,ut=[0,0,0,0],ft=typeof _!=j,pt=ft&&_.subtle,wt=ft&&typeof pt!=j,ht=Ge.bytes,mt=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const r=t._tables[0][4],s=t._tables[1],n=e.length;let a,i,o,c=1;if(4!==n&&6!==n&&8!==n)throw new f("invalid aes key size");for(t._key=[i=e.slice(0),o=[]],a=n;4*n+28>a;a++){let e=i[a-1];(a%n===0||8===n&&a%n===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%n===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-n]^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][r[t>>>24]]^s[1][r[t>>16&255]]^s[2][r[t>>8&255]]^s[3][r[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],r=e[4],s=t[4],n=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(n[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,s[a]=d,l=n[c=n[o=n[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*n[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=f=f<<24^f>>>8,t[r][a]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const r=this._key[t],s=r.length/4-2,n=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,p,w,h=e[0]^r[0],m=e[t?3:1]^r[1],g=e[2]^r[2],y=e[t?1:3]^r[3],b=4;for(let e=0;s>e;e++)u=i[h>>>24]^o[m>>16&255]^c[g>>8&255]^l[255&y]^r[b],p=i[m>>>24]^o[g>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=i[g>>>24]^o[y>>16&255]^c[h>>8&255]^l[255&m]^r[b+2],y=i[y>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&g]^r[b+3],b+=4,h=u,m=p,g=w;for(let e=0;4>e;e++)n[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[g>>8&255]<<8^d[255&y]^r[b++],u=h,h=m,m=g,g=y,y=u;return n}},gt=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,s=255&e;255===t?(t=0,255===r?(r=0,255===s?s=0:++s):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,r){let s;if(!(s=t.length))return[];const n=Ye.bitLength(t);for(let n=0;s>n;n+=4){this.incCounter(r);const s=e.encrypt(r);t[n]^=s[0],t[n+1]^=s[1],t[n+2]^=s[2],t[n+3]^=s[3]}return Ye.clamp(t,n)}},yt=Je.hmacSha1;let bt=ft&&wt&&typeof pt.importKey==X,zt=ft&&wt&&typeof pt.deriveBits==X;class St extends E{constructor({password:e,rawPassword:t,signed:s,encryptionStrength:n,checkPasswordOnly:a}){super({start(){r.assign(this,{ready:new y(e=>this.resolveReady=e),password:Ft(e,t),signed:s,strength:n-1,pending:new p})},async transform(e,t){const r=this,{password:s,strength:n,resolveReady:i,ready:o}=r;s?(await(async(e,t,r,s)=>{const n=await Et(e,t,r,kt(s,0,ct[t])),a=kt(s,ct[t]);if(n[0]!=a[0]||n[1]!=a[1])throw new f($e)})(r,n,s,kt(e,0,ct[n]+2)),e=kt(e,ct[n]+2),a?t.error(new f(tt)):i()):await o;const c=new p(e.length-dt-(e.length-dt)%st);t.enqueue(xt(r,e,c,0,dt,!0))},async flush(e){const{signed:t,ctr:r,hmac:s,pending:n,ready:a}=this;if(s&&r){await a;const i=kt(n,0,n.length-dt),o=kt(n,n.length-dt);let c=new p;if(i.length){const e=Tt(ht,i);s.update(e);const t=r.update(e);c=Dt(ht,t)}if(t){const e=kt(Dt(ht,s.digest()),0,dt);for(let t=0;dt>t;t++)if(e[t]!=o[t])throw new f(et)}e.enqueue(c)}}})}}class _t extends E{constructor({password:e,rawPassword:t,encryptionStrength:s}){let n;super({start(){r.assign(this,{ready:new y(e=>this.resolveReady=e),password:Ft(e,t),strength:s-1,pending:new p})},async transform(e,t){const r=this,{password:s,strength:n,resolveReady:a,ready:i}=r;let o=new p;s?(o=await(async(e,t,r)=>{const s=rt(new p(ct[t]));return Rt(s,await Et(e,t,r,s))})(r,n,s),a()):await i;const c=new p(o.length+e.length-e.length%st);c.set(o,0),t.enqueue(xt(r,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:r,pending:s,ready:a}=this;if(r&&t){await a;let i=new p;if(s.length){const e=t.update(Tt(ht,s));r.update(e),i=Dt(ht,e)}n.signature=Dt(ht,r.digest()).slice(0,dt),e.enqueue(Rt(i,n.signature))}}}),n=this}}function xt(e,t,r,s,n,a){const{ctr:i,hmac:o,pending:c}=e,l=t.length-n;let d;for(c.length&&(t=Rt(c,t),r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new p(t)).set(r,0)}return e})(r,l-l%st)),d=0;l-st>=d;d+=st){const e=Tt(ht,kt(t,d,d+st));a&&o.update(e);const n=i.update(e);a||o.update(n),r.set(Dt(ht,n),d+s)}return e.pending=kt(t,d),r}async function Et(e,s,n,a){e.password=null;const i=await(async(e,t,r,s,n)=>{if(!bt)return Je.importKey(t);try{return await pt.importKey("raw",t,r,!1,n)}catch(e){return bt=!1,Je.importKey(t)}})(0,n,at,0,ot),o=await(async(e,t,r)=>{if(!zt)return Je.pbkdf2(t,e.salt,it.iterations,r);try{return await pt.deriveBits(e,t,r)}catch(s){return zt=!1,Je.pbkdf2(t,e.salt,it.iterations,r)}})(r.assign({salt:a},it),i,8*(2*lt[s]+2)),c=new p(o),l=Tt(ht,kt(c,0,lt[s])),d=Tt(ht,kt(c,lt[s],2*lt[s])),u=kt(c,2*lt[s]);return r.assign(e,{keys:{key:l,authentication:d,passwordVerification:u},ctr:new gt(new mt(l),t.from(ut)),hmac:new yt(d)}),u}function Ft(e,t){return t===G?Ke(e):t}function Rt(e,t){let r=e;return e.length+t.length&&(r=new p(e.length+t.length),r.set(e,0),r.set(t,e.length)),r}function kt(e,t,r){return e.subarray(t,r)}function Dt(e,t){return e.fromBits(t)}function Tt(e,t){return e.toBits(t)}class At extends E{constructor({password:e,passwordVerification:t,checkPasswordOnly:s}){super({start(){r.assign(this,{password:e,passwordVerification:t}),Nt(this,e)},transform(e,t){const r=this;if(r.password){const t=Ct(r,e.subarray(0,12));if(r.password=null,t.at(-1)!=r.passwordVerification)throw new f($e);e=e.subarray(12)}s?t.error(new f(tt)):t.enqueue(Ct(r,e))}})}}class vt extends E{constructor({password:e,passwordVerification:t}){super({start(){r.assign(this,{password:e,passwordVerification:t}),Nt(this,e)},transform(e,t){const r=this;let s,n;if(r.password){r.password=null;const t=rt(new p(12));t[11]=r.passwordVerification,s=new p(e.length+t.length),s.set(Ut(r,t),0),n=12}else s=new p(e.length),n=0;s.set(Ut(r,e),n),t.enqueue(s)}})}}function Ct(e,t){const r=new p(t.length);for(let s=0;s<t.length;s++)r[s]=Wt(e)^t[s],It(e,r[s]);return r}function Ut(e,t){const r=new p(t.length);for(let s=0;s<t.length;s++)r[s]=Wt(e)^t[s],It(e,t[s]);return r}function Nt(e,t){const s=[305419896,591751049,878082192];r.assign(e,{keys:s,crcKey0:new Ve(s[0]),crcKey2:new Ve(s[2])});for(let r=0;r<t.length;r++)It(e,t.charCodeAt(r))}function It(e,t){let[r,s,n]=e.keys;e.crcKey0.append([t]),r=~e.crcKey0.get(),s=Lt(i.imul(Lt(s+Ot(r)),134775813)+1),e.crcKey2.append([s>>>24]),n=~e.crcKey2.get(),e.keys=[r,s,n]}function Wt(e){const t=2|e.keys[2];return Ot(i.imul(t,1^t)>>>8)}function Ot(e){return 255&e}function Lt(e){return 4294967295&e}const Mt="Invalid uncompressed size";class Ht extends E{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:s}){super({});const{compressed:n,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:l}=e,d=this;let u,f,p=super.readable;a&&!o||!c||(u=new qe,p=Vt(p,u)),n&&(p=Zt(p,i,{level:l,chunkSize:t},s,r,s)),a&&(o?p=Vt(p,new vt(e)):(f=new _t(e),p=Vt(p,f))),Bt(d,p,()=>{let e;a&&!o&&(e=f.signature),a&&!o||!c||(e=new m(u.value.buffer).getUint32(0)),d.signature=e})}}class Pt extends E{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:s}){super({});const{zipCrypto:n,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:l,deflate64:d}=e;let u,p,w=super.readable;a&&(n?w=Vt(w,new At(e)):(p=new St(e),w=Vt(w,p))),c&&(w=Zt(w,l,{chunkSize:t,deflate64:d},s,r,s)),a&&!n||!i||(u=new qe,w=Vt(w,u)),Bt(this,w,()=>{if((!a||n)&&i){const e=new m(u.value.buffer);if(o!=e.getUint32(0,!1))throw new f(et)}})}}function Bt(e,t,s){t=Vt(t,new E({flush:s})),r.defineProperty(e,"readable",{get:()=>t})}function Zt(e,t,r,s,n,a){const i=t&&s?s:n||a,o=r.deflate64?"deflate64-raw":"deflate-raw";try{e=Vt(e,new i(o,r))}catch(s){if(!t)throw s;if(n)e=Vt(e,new n(o,r));else{if(!a)throw s;e=Vt(e,new a(o,r))}}return e}function Vt(e,t){return e.pipeThrough(t)}const qt="data",Kt="close",Yt="deflate",Gt="inflate";class jt extends E{constructor(e,t){super({});const s=this,{codecType:n}=e;let a;n.startsWith(Yt)?a=Ht:n.startsWith(Gt)&&(a=Pt),s.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){r.assign(s,{inputSize:i})}}),d=new E({transform(t,r){if(t&&t.length&&(r.enqueue(t),s.outputSize+=t.length,e.outputSize&&s.outputSize>e.outputSize))throw new f(Mt)},flush(){const{signature:e}=o;r.assign(s,{signature:e,inputSize:i})}});r.defineProperty(s,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class Xt extends E{constructor(e){let t;super({transform:function r(s,n){if(t){const e=new p(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(n.enqueue(s.slice(0,e)),r(s.slice(e),n)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}let Jt=typeof A!=j;class Qt{constructor(e,{readable:t,writable:s},{options:n,config:a,streamOptions:i,useWebWorkers:o,transferStreams:c,workerURI:l},d){const{signal:u}=i;return r.assign(e,{busy:!0,readable:t.pipeThrough(new Xt(a.chunkSize)).pipeThrough(new $t(i),{signal:u}),writable:s,options:r.assign({},n),workerURI:l,transferStreams:c,terminate:()=>new y(t=>{const{worker:r,busy:s}=e;r?(s?e.resolveTerminated=t:(r.terminate(),t()),e.interface=null):t()}),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,d(e)}}),(o&&Jt?rr:tr)(e,a)}}class $t extends E{constructor({onstart:e,onprogress:t,size:r,onend:s}){let n=0;super({async start(){e&&await er(e,r)},async transform(e,s){n+=e.length,t&&await er(t,n,r),s.enqueue(e)},async flush(){s&&await er(s,n)}})}}async function er(e,...t){try{await e(...t)}catch(e){}}function tr(e,t){return{run:()=>(async({options:e,readable:t,writable:r,onTaskFinished:s},n)=>{let a;try{if(!e.useCompressionStream&&!le){let{wasmURI:e}=n;typeof e==X&&(e=e()),await(async(e,{baseURI:t})=>{if(!le){let s,n;try{try{n=new u(e,t)}catch(e){}const r=await fetch(n);s=await r.arrayBuffer()}catch(t){if(!e.startsWith("data:application/wasm;base64,"))throw t;s=(e=>{const t=e.split(",")[1],r=atob(t),s=r.length,n=new p(s);for(let e=0;s>e;++e)n[e]=r.charCodeAt(e);return n.buffer})(e)}r=(await WebAssembly.instantiate(s)).instance.exports,ne=r,({malloc:ae,free:ie,memory:oe}=ne),le=!0}var r})(e,n)}a=new jt(e,n),await t.pipeThrough(a).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:s,inputSize:i,outputSize:o}=a;return{signature:s,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{s()}})(e,t)}}function rr(e,t){const{baseURI:s,chunkSize:n}=t;let{wasmURI:a}=t;if(!e.interface){let i;typeof a==X&&(a=a());try{i=((e,t,s)=>{const n={type:"module"};let a,i;if(typeof e==X&&(e=e()),e.startsWith("data:")||e.startsWith("blob:"))try{i=new A(e)}catch(t){i=new A(e,n)}else{try{a=new u(e,t)}catch(t){a=e}i=new A(a,n)}return i.addEventListener("message",e=>(async({data:e},t)=>{const{type:s,value:n,messageId:a,result:i,error:o}=e,{reader:c,writer:l,resolveResult:d,rejectResult:u,onTaskFinished:w}=t;try{if(o){const{message:e,stack:t,code:s,name:n,outputSize:a}=o,i=new f(e);r.assign(i,{stack:t,code:s,name:n,outputSize:a}),h(i)}else{if("pull"==s){const{value:e,done:r}=await c.read();nr({type:qt,value:e,done:r,messageId:a},t)}s==qt&&(await l.ready,await l.write(new p(n)),nr({type:"ack",messageId:a},t)),s==Kt&&h(null,i)}}catch(o){nr({type:Kt,messageId:a},t),h(o)}function h(e,t){e?u(e):d(t),l&&l.releaseLock(),w()}})(e,s)),i})(e.workerURI,s,e)}catch(r){return Jt=!1,tr(e,t)}r.assign(e,{worker:i,interface:{run:()=>(async(e,t)=>{let s,n;const a=new y((e,t)=>{s=e,n=t});r.assign(e,{reader:null,writer:null,resolveResult:s,rejectResult:n,result:a});const{readable:i,options:o}=e,{writable:c,closed:l}=(e=>{let t;const r=new y(e=>t=e);return{writable:new R({async write(t){const r=e.getWriter();await r.ready,await r.write(t),r.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:r}})(e.writable),d=nr({type:"start",options:o,config:t,readable:i,writable:c},e);d||r.assign(e,{reader:i.getReader(),writer:c.getWriter()});const u=await a;return d||await c.getWriter().close(),await l,u})(e,{chunkSize:n,wasmURI:a,baseURI:s})}})}return e.interface}let sr=!0;function nr(e,{worker:t,writer:r,onTaskFinished:s,transferStreams:n}){try{const{value:r,readable:s,writable:a}=e,i=[];if(r&&(r.byteLength<r.buffer.byteLength?e.value=r.buffer.slice(0,r.byteLength):e.value=r.buffer,i.push(e.value)),n&&sr?(s&&i.push(s),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(r){sr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),s(),e}}let ar=[];const ir=[];let or=0;async function cr(e,t){const{options:r,config:s}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,signed:l,encrypted:d}=r,{workerURI:u,maxWorkers:f}=s;t.transferStreams=a||a===G;const p=!(c||l||d||t.transferStreams);return t.useWebWorkers=!p&&(i||i===G&&s.useWebWorkers),t.workerURI=t.useWebWorkers&&u?u:G,r.useCompressionStream=o||o===G&&s.useCompressionStream,(await(async()=>{const r=ar.find(e=>!e.busy);if(r)return lr(r),new Qt(r,e,t,w);if(ar.length<f){const r={indexWorker:or};return or++,ar.push(r),new Qt(r,e,t,w)}return new y(r=>ir.push({resolve:r,stream:e,workerOptions:t}))})()).run();function w(e){if(ir.length){const[{resolve:t,stream:r,workerOptions:s}]=ir.splice(0,1);t(new Qt(e,r,s,w))}else e.worker?(lr(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:s}=r;n.isFinite(s)&&s>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{ar=ar.filter(t=>t!=e);try{await e.terminate()}catch(e){}},s))})(e,t)):ar=ar.filter(t=>t!=e)}}function lr(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const dr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function ur(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=dr[e[r]];return t}})(e):new z(t).decode(e)}const fr="filename",pr="rawFilename",wr="comment",hr="rawComment",mr="uncompressedSize",gr="compressedSize",yr="offset",br="diskNumberStart",zr="lastModDate",Sr="rawLastModDate",_r="lastAccessDate",xr="creationDate",Er="internalFileAttributes",Fr="externalFileAttributes",Rr="msDosCompatible",kr="zip64",Dr="encrypted",Tr="version",Ar="versionMadeBy",vr="zipCrypto",Cr="directory",Ur="executable",Nr="compressionMethod",Ir="signature",Wr="extraField",Or=[fr,pr,gr,mr,zr,Sr,wr,hr,_r,xr,yr,br,br,Er,Fr,Rr,kr,Dr,Tr,Ar,vr,Cr,Ur,Nr,Ir,Wr,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Lr{constructor(e){Or.forEach(t=>this[t]=e[t])}}const Mr="password",Hr="rawPassword",Pr="passThrough",Br="signal",Zr="useWebWorkers",Vr="useCompressionStream",qr="preventClose",Kr="supportZip64SplitFile",Yr="offset",Gr="usdz",jr="File format is not recognized",Xr="End of central directory not found",Jr="End of Zip64 central directory locator not found",Qr="Central directory header not found",$r="Local file header not found",es="Zip64 extra field not found",ts="File contains encrypted entry",rs="Encryption method not supported",ss="Compression method not supported",ns="Split zip file",as="Overlapping entry found",is="utf-8",os="cp437",cs=[[mr,C],[gr,C],[yr,C],[br,U]],ls={[U]:{getValue:zs,bytes:4},[C]:{getValue:Ss,bytes:8}};class ds{constructor(e,t={}){r.assign(this,{reader:new Me(e),options:t,config:ee(),readRanges:[]})}async*getEntriesGenerator(e={}){const t=this;let{reader:s}=t;const{config:n}=t;if(await Pe(s),s.size!==G&&s.readUint8Array||(s=new Se(await new d(s.readable).blob()),await Pe(s)),s.size<P)throw new f(jr);s.chunkSize=te(n);const a=await(async(e,t,r)=>{const s=new p(4);var n;return n=t,_s(s).setUint32(0,n,!0),await a(22)||await a(i.min(1048582,r));async function a(t){const n=r-t,a=await Be(e,n,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:n+e,buffer:a.slice(e,e+22).buffer}}})(s,L,s.size);if(!a)throw zs(_s(await Be(s,0,4)))==I?new f(ns):new f(Xr);const o=_s(a);let c=zs(o,12),l=zs(o,16);const u=a.offset,w=bs(o,20),h=u+P+w;let m=bs(o,4);const g=s.lastDiskNumber||0;let b=bs(o,6),z=bs(o,8),S=0,_=0;if(l==C||c==C||z==U||b==U){const e=_s(await Be(s,a.offset-20,20));if(zs(e,0)==H){l=Ss(e,8);let t=await Be(s,l,56,-1),r=_s(t);const n=a.offset-20-56;if(zs(r,0)!=M&&l!=n){const e=l;l=n,l>e&&(S=l-e),t=await Be(s,l,56,-1),r=_s(t)}if(zs(r,0)!=M)throw new f(Jr);m==U&&(m=zs(r,16)),b==U&&(b=zs(r,20)),z==U&&(z=Ss(r,32)),c==C&&(c=Ss(r,40)),l-=c}}if(l<s.size||(S=s.size-l-c-P,l=s.size-c-P),g!=m)throw new f(ns);if(0>l)throw new f(jr);let x=0,F=await Be(s,l,c,b),R=_s(F);if(c){const e=a.offset-c;if(zs(R,x)!=O&&l!=e){const t=l;l=e,l>t&&(S+=l-t),F=await Be(s,l,c,b),R=_s(F)}}const k=a.offset-l-(s.lastDiskOffset||0);if(c==k||0>k||(c=k,F=await Be(s,l,c,b),R=_s(F)),0>l||l>=s.size)throw new f(jr);const D=hs(t,e,"filenameEncoding"),T=hs(t,e,"commentEncoding");for(let a=0;z>a;a++){const o=new us(s,n,t.options);if(zs(R,x)!=O)throw new f(Qr);fs(o,R,x+6);const c=!!o.bitFlag.languageEncodingFlag,l=x+46,u=l+o.filenameLength,p=u+o.extraFieldLength,w=bs(R,x+4),h=!(w>>8),m=w>>8==3,g=F.subarray(l,u),b=bs(R,x+32),k=p+b,A=F.subarray(p,k),v=c,C=c,U=zs(R,x+38),N=h&&!(16&~ys(R,x+38))||m&&16384==(U>>16&61440)||g.length&&47==g.at(-1),I=m&&!!(U>>16&73),W=zs(R,x+42)+S;r.assign(o,{versionMadeBy:w,msDosCompatible:h,compressedSize:0,uncompressedSize:0,commentLength:b,directory:N,offset:W,diskNumberStart:bs(R,x+34),internalFileAttributes:bs(R,x+36),externalFileAttributes:U,rawFilename:g,filenameUTF8:v,commentUTF8:C,rawExtraField:F.subarray(u,p),executable:I}),o.internalFileAttribute=o.internalFileAttributes,o.externalFileAttribute=o.externalFileAttributes;const L=hs(t,e,"decodeText")||ur,M=v?is:D||os,H=C?is:T||os;let P=L(g,M);P===G&&(P=ur(g,M));let B=L(A,H);B===G&&(B=ur(A,H)),r.assign(o,{rawComment:A,filename:P,comment:B,directory:N||P.endsWith(V)}),_=i.max(W,_),ps(o,o,R,x+6),o.zipCrypto=o.encrypted&&!o.extraFieldAES;const Z=new Lr(o);Z.getData=(e,r)=>o.getData(e,Z,t.readRanges,r),Z.arrayBuffer=async e=>{const r=new E,[s]=await y.all([new d(r.readable).arrayBuffer(),o.getData(r,Z,t.readRanges,e)]);return s},x=k;const{onprogress:q}=e;if(q)try{await q(a+1,z,new Lr(o))}catch(e){}yield Z}const A=hs(t,e,"extractPrependedData"),v=hs(t,e,"extractAppendedData");return A&&(t.prependedData=_>0?await Be(s,0,_):new p),t.comment=w?await Be(s,u+P,w):new p,v&&(t.appendedData=h<s.size?await Be(s,h,s.size-h):new p),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class us{constructor(e,t,s){r.assign(this,{reader:e,config:t,options:s})}async getData(e,t,s,n={}){const a=this,{reader:i,offset:o,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:u,config:w,bitFlag:h,signature:m,rawLastModDate:g,uncompressedSize:y,compressedSize:b}=a,{dataDescriptor:z}=h,S=t.localDirectory={},_=_s(await Be(i,o,q,c));let x=hs(a,n,Mr),E=hs(a,n,Hr);const F=hs(a,n,Pr);if(x=x&&x.length&&x,E=E&&E.length&&E,l&&99!=l.originalCompressionMethod)throw new f(ss);if(0!=u&&8!=u&&9!=u&&!F)throw new f(ss);if(zs(_,0)!=N)throw new f($r);fs(S,_,4);const{extraFieldLength:k,filenameLength:D,lastAccessDate:T,creationDate:A}=S;S.rawExtraField=k?await Be(i,o+q+D,k,c):new p,ps(a,S,_,4,!0),r.assign(t,{lastAccessDate:T,creationDate:A});const v=a.encrypted&&S.encrypted&&!F,C=v&&!l;if(F||(t.zipCrypto=C),v){if(!C&&l.strength===G)throw new f(rs);if(!x&&!E)throw new f(ts)}const U=o+q+D+k,I=b,O=i.readable;r.assign(O,{diskNumberStart:c,offset:U,size:I});const L=hs(a,n,Br),M=hs(a,n,"checkPasswordOnly");let H=hs(a,n,"checkOverlappingEntry");const P=hs(a,n,"checkOverlappingEntryOnly");P&&(H=!0);const{onstart:B,onprogress:Z,onend:V}=n,K=9==u;let Y=hs(a,n,Vr);K&&(Y=!1);const j={options:{codecType:Gt,password:x,rawPassword:E,zipCrypto:C,encryptionStrength:l&&l.strength,signed:hs(a,n,"checkSignature")&&!F,passwordVerification:C&&(z?g>>>8&255:m>>>24&255),outputSize:y,signature:m,compressed:0!=u&&!F,encrypted:a.encrypted&&!F,useWebWorkers:hs(a,n,Zr),useCompressionStream:Y,transferStreams:hs(a,n,"transferStreams"),deflate64:K,checkPasswordOnly:M},config:w,streamOptions:{signal:L,size:I,onstart:B,onprogress:Z,onend:V}};let X;H&&await(async({reader:e,fileEntry:t,offset:r,diskNumberStart:s,signature:n,compressedSize:a,uncompressedSize:i,dataOffset:o,dataDescriptor:c,extraFieldZip64:l,readRanges:d})=>{let u=0;if(s)for(let t=0;s>t;t++)u+=e.readers[t].size;let p=0;if(c&&(p=l?20:12),p){const r=await Be(e,o+a,p+4,s);if(zs(_s(r),0)==W){const e=zs(_s(r),4);let s,o;l?(s=Ss(_s(r),8),o=Ss(_s(r),16)):(s=zs(_s(r),8),o=zs(_s(r),12)),(t.encrypted&&!t.zipCrypto||e==n)&&s==a&&o==i&&(p+=4)}}const w={start:u+r,end:u+o+a+p,fileEntry:t};for(const e of d)if(e.fileEntry!=t&&w.start>=e.start&&w.start<e.end){const t=new f(as);throw t.overlappingEntry=e.fileEntry,t}d.push(w)})({reader:i,fileEntry:t,offset:o,diskNumberStart:c,signature:m,compressedSize:b,uncompressedSize:y,dataOffset:U,dataDescriptor:z||S.bitFlag.dataDescriptor,extraFieldZip64:d||S.extraFieldZip64,readRanges:s});try{if(!P){M&&(e=new R),e=new He(e),await Pe(e,F?b:y),({writable:X}=e);const{outputSize:t}=await cr({readable:O,writable:X},j);if(e.size+=t,t!=(F?b:y))throw new f(Mt)}}catch(t){if(t.outputSize!==G&&(e.size+=t.outputSize),!M||t.message!=tt)throw t}finally{hs(a,n,qr)||!X||X.locked||await X.getWriter().close()}return M||P?G:e.getData?e.getData():X}}function fs(e,t,s){const n=e.rawBitFlag=bs(t,s+2),a=!(1&~n),i=zs(t,s+6);r.assign(e,{encrypted:a,version:bs(t,s),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&Z)==Z},rawLastModDate:i,lastModDate:ms(i),filenameLength:bs(t,s+22),extraFieldLength:bs(t,s+24)})}function ps(e,t,s,n,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=_s(new p(i));let u=0;try{for(;u<i.length;){const e=bs(d,u),t=bs(d,u+2);l.set(e,{type:e,data:i.slice(u+4,u+4+t)}),u+=4+t}}catch(e){}const w=bs(s,n+4);r.assign(t,{signature:zs(s,n+10),compressedSize:zs(s,n+14),uncompressedSize:zs(s,n+18)});const h=l.get(1);h&&(((e,t)=>{t.zip64=!0;const r=_s(e.data),s=cs.filter(([e,r])=>t[e]==r);for(let n=0,a=0;n<s.length;n++){const[i,o]=s[n];if(t[i]==o){const s=ls[o];t[i]=e[i]=s.getValue(r,a),a+=s.bytes}else if(e[i])throw new f(es)}})(h,t),t.extraFieldZip64=h);const m=l.get(28789);m&&(ws(m,fr,pr,t,e),t.extraFieldUnicodePath=m);const g=l.get(25461);g&&(ws(g,wr,hr,t,e),t.extraFieldUnicodeComment=g);const y=l.get(39169);y?(((e,t,s)=>{const n=_s(e.data),a=ys(n,4);r.assign(e,{vendorVersion:ys(n,0),vendorId:ys(n,2),strength:a,originalCompressionMethod:s,compressionMethod:bs(n,5)}),t.compressionMethod=e.compressionMethod})(y,t,w),t.extraFieldAES=y):t.compressionMethod=w;const b=l.get(10);b&&(((e,t)=>{const s=_s(e.data);let n,a=4;try{for(;a<e.data.length&&!n;){const t=bs(s,a),r=bs(s,a+2);1==t&&(n=e.data.slice(a+4,a+4+r)),a+=4+r}}catch(e){}try{if(n&&24==n.length){const s=_s(n),a=s.getBigUint64(0,!0),i=s.getBigUint64(8,!0),o=s.getBigUint64(16,!0);r.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:gs(a),lastAccessDate:gs(i),creationDate:gs(o)};r.assign(e,c),r.assign(t,c)}}catch(e){}})(b,t),t.extraFieldNTFS=b);const z=l.get(B);z&&(((e,t,r)=>{const s=_s(e.data),n=ys(s,0),a=[],i=[];r?(1&~n||(a.push(zr),i.push(Sr)),2&~n||(a.push(_r),i.push("rawLastAccessDate")),4&~n||(a.push(xr),i.push("rawCreationDate"))):5>e.data.length||(a.push(zr),i.push(Sr));let c=1;a.forEach((r,n)=>{if(e.data.length>=c+4){const a=zs(s,c);t[r]=e[r]=new o(1e3*a);const l=i[n];e[l]=a}c+=4})})(z,t,a),t.extraFieldExtendedTimestamp=z);const S=l.get(6534);S&&(t.extraFieldUSDZ=S)}function ws(e,t,s,n,a){const i=_s(e.data),o=new Ve;o.append(a[s]);const c=_s(new p(4));c.setUint32(0,o.get(),!0);const l=zs(i,1);r.assign(e,{version:ys(i,0),[t]:ur(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==zs(c,0)}),e.valid&&(n[t]=e[t],n[t+"UTF8"]=!0)}function hs(e,t,r){return t[r]===G?e.options[r]:t[r]}function ms(e){const t=(4294901760&e)>>16,r=65535&e;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}catch(e){}}function gs(e){return new o(n(e/a(1e4)-a(116444736e5)))}function ys(e,t){return e.getUint8(t)}function bs(e,t){return e.getUint16(t,!0)}function zs(e,t){return e.getUint32(t,!0)}function Ss(e,t){return n(e.getBigUint64(t,!0))}function _s(e){return new m(e.buffer)}const xs="File already exists",Es="Zip file comment exceeds 64KB",Fs="File entry comment exceeds 64KB",Rs="File entry name exceeds 64KB",ks="Version exceeds 65535",Ds="The strength must equal 1, 2, or 3",Ts="Extra field type exceeds 65535",As="Extra field data exceeds 64KB",vs="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Cs="Undefined uncompressed size",Us="Zip file not empty",Ns=new p([7,0,2,0,65,69,3,0,0]);let Is=0;const Ws=[];class Os{constructor(e,t={}){const s=(e=new He(e)).availableSize!==G&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==G&&e.maxSize>0&&e.maxSize!==1/0;r.assign(this,{writer:e,addSplitZipSignature:s,options:t,config:ee(),files:new c,filenames:new l,offset:t[Yr]===G?e.size||e.writable.size||0:t[Yr],pendingEntriesSize:0,pendingAddFileCalls:new l,bufferedWrites:0})}async prependZip(e){if(this.filenames.size)throw new f(Us);e=new Me(e);const t=new ds(e.readable),s=await t.getEntries();await t.close(),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,compressionMethod:s,lastModDate:n,lastAccessDate:a,creationDate:i,rawFilename:o,bitFlag:c,encrypted:l,uncompressedSize:d,compressedSize:u,diskOffset:f,diskNumber:w,zip64:h}=e;let{rawExtraFieldZip64:m,rawExtraFieldAES:g,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraField:z}=e;const{level:S,languageEncodingFlag:_,dataDescriptor:x}=c;m=m||new p,g=g||new p,y=y||new p,b=b||new p,z=z||new p;const E=js(m,g,y,b,z),F=h&&d>C,R=h&&u>C,{headerArray:k,headerView:D}=Xs({version:t,bitFlag:Js(S,_,x,l,s),compressionMethod:s,uncompressedSize:d,compressedSize:u,lastModDate:n,rawFilename:o,zip64CompressedSize:R,zip64UncompressedSize:F,extraFieldLength:E});return r.assign(e,{zip64UncompressedSize:F,zip64CompressedSize:R,zip64Offset:h&&this.offset-f>C,zip64DiskNumberStart:h&&w>U,rawExtraFieldZip64:m,rawExtraFieldAES:g,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraField:z,extendedTimestamp:y.length>0||b.length>0,extraFieldExtendedTimestampFlag:1+(a?2:0)+(i?4:0),headerArray:k,headerView:D}),[e.filename,e]}))}async add(e="",s,n={}){const c=this,{pendingAddFileCalls:l,config:u}=c;let h;Is<u.maxWorkers?Is++:await new y(e=>Ws.push(e));try{if(e=e.trim(),c.filenames.has(e))throw new f(xs);return c.filenames.add(e),h=(async(e,s,n,c)=>{s=s.trim();const l=Ps(e,c,Rr),u=Ps(e,c,Ar,l?20:768),h=Ps(e,c,Ur);if(u>U)throw new f(ks);let m=Ps(e,c,Fr,0);!c[Cr]&&s.endsWith(V)&&(c[Cr]=!0),Ps(e,c,Cr)?(s.endsWith(V)||(s+=V),0===m&&(m=16,l||(m|=16877<<16))):l||0!==m||(m=h?493<<16:27525120);const g=Ps(e,c,"encodeText",Ke);let b=g(s);if(b===G&&(b=Ke(s)),js(b)>U)throw new f(Rs);const z=c[wr]||"";let S=g(z);if(S===G&&(S=Ke(z)),js(S)>U)throw new f(Fs);const _=Ps(e,c,Tr,20);if(_>U)throw new f(ks);const x=Ps(e,c,zr,new o),F=Ps(e,c,_r),R=Ps(e,c,xr),k=Ps(e,c,Er,0),D=Ps(e,c,Pr);let T,A;D||(T=Ps(e,c,Mr),A=Ps(e,c,Hr));const v=Ps(e,c,"encryptionStrength",3),O=Ps(e,c,vr),L=Ps(e,c,"extendedTimestamp",!0),M=Ps(e,c,"keepOrder",!0),H=Ps(e,c,Zr),P=Ps(e,c,"bufferedWrite"),Z=Ps(e,c,"dataDescriptorSignature",!1),j=Ps(e,c,Br),X=Ps(e,c,"useUnicodeFileNames",!0),J=Ps(e,c,Nr);let Q=Ps(e,c,"level"),$=Ps(e,c,Vr),ee=Ps(e,c,"dataDescriptor");P&&ee===G&&(ee=!1),(ee===G||O)&&(ee=!0),Q!==G&&6!=Q&&($=!1),$||e.config.CompressionStream!==G||e.config.CompressionStreamZlib!==G||(Q=0);let re=Ps(e,c,kr);if(!O&&(T!==G||A!==G)&&(1>v||v>3))throw new f(Ds);let se=new p;const ne=c[Wr];if(ne){let e=0,t=0;ne.forEach(t=>e+=4+js(t)),se=new p(e),ne.forEach((e,r)=>{if(r>U)throw new f(Ts);if(js(e)>U)throw new f(As);Ys(se,new w([r]),t),Ys(se,new w([js(e)]),t+2),Ys(se,e,t+4),t+=4+js(e)})}let ae=0,ie=0,oe=0;if(D&&(oe=c[mr],oe===G))throw new f(Cs);const ce=!0===re;n&&(n=new Me(n),await Pe(n),D?(c.uncompressedSize=oe,ae=Bs(oe)):n.size===G?(ee=!0,(re||re===G)&&(re=!0,oe=ae=4294967296)):(c.uncompressedSize=oe=n.size,ae=Bs(oe)));const{diskOffset:le,diskNumber:de,maxSize:ue}=e.writer,fe=ce||oe>C,pe=ce||ae>C,we=ce||e.offset+e.pendingEntriesSize-le>C,he=Ps(e,c,Kr,!0)&&ce||de+i.ceil(e.pendingEntriesSize/ue)>U;if(we||fe||pe||he){if(!1===re||!M)throw new f(vs);re=!0}re=re||!1;const me=Ps(e,c,Dr),ge=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:s,creationDate:n,level:o,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:w,encryptionStrength:h,extendedTimestamp:m,passThrough:g,encrypted:y,zip64UncompressedSize:b,zip64CompressedSize:z,zip64Offset:S,zip64DiskNumberStart:_,uncompressedSize:x,offset:E,diskNumberStart:F}=e;let{version:R,compressionMethod:k}=e;const D=!f&&(o>0||o===G&&0!==k);let T;const A=g||!D,v=c&&(e.bufferedWrite||!b&&!z||A);if(c){let e=4;b&&(e+=8),z&&(e+=8),S&&(e+=8),_&&(e+=4),T=new p(e);const t=Gs(T);if(Vs(t,0,1),Vs(t,2,js(T)-4),v){const e=Gs(T);let t=4;b&&(Ks(e,t,a(x)),t+=8),z&&A&&(Ks(e,t,a(x)),t+=8),S&&(Ks(e,t,a(E)),t+=8),_&&(qs(e,t,F),t+=4)}}else T=new p;let C,U,I,W;if(y&&!l){C=new p(js(Ns)+2);const e=Gs(C);Vs(e,0,39169),Ys(C,Ns,2),Zs(e,8,h)}else C=new p;if(m){I=new p(9+(s?4:0)+(n?4:0));const e=Gs(I);Vs(e,0,B),Vs(e,2,js(I)-4),W=1+(s?2:0)+(n?4:0),Zs(e,4,W);let t=5;qs(e,t,i.floor(r.getTime()/1e3)),t+=4,s&&(qs(e,t,i.floor(s.getTime()/1e3)),t+=4),n&&qs(e,t,i.floor(n.getTime()/1e3));try{U=new p(36);const e=Gs(U),t=Hs(r);Vs(e,0,10),Vs(e,2,32),Vs(e,8,1),Vs(e,10,24),Ks(e,12,t),Ks(e,20,Hs(s)||t),Ks(e,28,Hs(n)||t)}catch(e){U=new p}}else U=I=new p;k===G&&(k=D?8:0),c&&(R=R>45?R:45),y&&!l&&(R=R>51?R:51,C[9]=k,k=99);const O=v?js(T):0,L=O+js(C,I,U,w),{headerArray:M,headerView:H,rawLastModDate:P}=Xs({version:R,bitFlag:Js(o,d,u,y,k),compressionMethod:k,uncompressedSize:x,lastModDate:Y>r?Y:r>K?K:r,rawFilename:t,zip64CompressedSize:z,zip64UncompressedSize:b,extraFieldLength:L});let Z=q;const V=new p(Z+js(t)+L),j=Gs(V);return qs(j,0,N),Ys(V,M,4),Ys(V,t,Z),Z+=js(t),v&&Ys(V,T,Z),Z+=O,Ys(V,C,Z),Z+=js(C),Ys(V,I,Z),Z+=js(I),Ys(V,U,Z),Z+=js(U),Ys(V,w,Z),u&&(qs(j,18,0),qs(j,22,0)),{localHeaderArray:V,localHeaderView:j,headerArray:M,headerView:H,lastModDate:r,rawLastModDate:P,encrypted:y,compressed:D,version:R,compressionMethod:k,extraFieldExtendedTimestampFlag:W,rawExtraFieldZip64:T,localExtraFieldZip64Length:O,rawExtraFieldExtendedTimestamp:I,rawExtraFieldNTFS:U,rawExtraFieldAES:C,extraFieldLength:L}})(c=r.assign({},c,{rawFilename:b,rawComment:S,version:_,versionMadeBy:u,lastModDate:x,lastAccessDate:F,creationDate:R,rawExtraField:se,zip64:re,zip64UncompressedSize:fe,zip64CompressedSize:pe,zip64Offset:we,zip64DiskNumberStart:he,password:T,rawPassword:A,level:Q,useWebWorkers:H,encryptionStrength:v,extendedTimestamp:L,zipCrypto:O,bufferedWrite:P,keepOrder:M,useUnicodeFileNames:X,dataDescriptor:ee,dataDescriptorSignature:Z,signal:j,msDosCompatible:l,internalFileAttribute:k,internalFileAttributes:k,externalFileAttribute:m,externalFileAttributes:m,useCompressionStream:$,passThrough:D,encrypted:!!(T&&js(T)||A&&js(A))||D&&me,signature:c[Ir],compressionMethod:J,uncompressedSize:oe,offset:e.offset-le,diskNumberStart:de})),ye=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let s,n=new p,a=0,i=e?20:12;return r&&(i+=4),t&&(n=new p(i),s=Gs(n),r&&(a=4,qs(s,0,W))),{dataDescriptorArray:n,dataDescriptorView:s,dataDescriptorOffset:a}})(c),be=js(ge.localHeaderArray,ye.dataDescriptorArray);let ze;ie=be+ae,e.options[Gr]&&(ie+=ie+64),e.pendingEntriesSize+=ie;try{ze=await(async(e,s,n,i,o)=>{const{files:c,writer:l}=e,{keepOrder:u,dataDescriptor:w,signal:h}=o,{headerInfo:m}=i,g=e.options[Gr],b=t.from(c.values()).pop();let z,S,_,x,F,R,k,D={};c.set(s,D);try{let t;u&&(t=b&&b.lock,D.lock=new y(e=>_=e)),!(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&u)&&w||g?(R=l,await T()):(R=new E,R.size=0,z=!0,e.bufferedWrites++,await Pe(l)),await Pe(R);const{writable:S,diskOffset:v}=l;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);qs(Gs(t),0,I),await Ms(l,t),e.offset+=4}g&&((e,t)=>{const{headerInfo:r}=e;let{localHeaderArray:s,extraFieldLength:n}=r,a=Gs(s),i=64-(t+js(s))%64;4>i&&(i+=64);const o=new p(i),c=Gs(o);Vs(c,0,6534),Vs(c,2,i-2);const l=s;r.localHeaderArray=s=new p(js(l)+i),Ys(s,l),Ys(s,o,js(l)),a=Gs(s),Vs(a,28,n+i),e.metadataSize+=i})(i,e.offset-v);const{localHeaderView:U,localHeaderArray:N}=m;z||(await t,await A(S));const{diskNumber:W}=l;F=!0,D.diskNumberStart=W,z?k=new d(R.readable).blob():await Ms(R,N),D=await(async(e,t,{diskNumberStart:s,lock:n},i,o,c)=>{const{headerInfo:l,dataDescriptorInfo:d,metadataSize:u}=i,{headerArray:f,headerView:p,lastModDate:w,rawLastModDate:h,encrypted:m,compressed:g,version:y,compressionMethod:b,rawExtraFieldZip64:z,localExtraFieldZip64Length:S,rawExtraFieldExtendedTimestamp:_,extraFieldExtendedTimestampFlag:x,rawExtraFieldNTFS:E,rawExtraFieldAES:F}=l,{dataDescriptorArray:R}=d,{rawFilename:k,lastAccessDate:D,creationDate:T,password:A,rawPassword:v,level:C,zip64:U,zip64UncompressedSize:N,zip64CompressedSize:I,zip64Offset:W,zip64DiskNumberStart:O,zipCrypto:L,dataDescriptor:M,directory:H,executable:P,versionMadeBy:B,rawComment:Z,rawExtraField:V,useWebWorkers:q,onstart:K,onprogress:Y,onend:j,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:ee,externalFileAttributes:re,useCompressionStream:se,passThrough:ne}=c,ae={lock:n,versionMadeBy:B,zip64:U,directory:!!H,executable:!!P,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:Z,rawExtraFieldZip64:z,localExtraFieldZip64Length:S,rawExtraFieldExtendedTimestamp:_,rawExtraFieldNTFS:E,rawExtraFieldAES:F,rawExtraField:V,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:ee,externalFileAttributes:re,diskNumberStart:s};let{signature:ie,uncompressedSize:oe}=c,ce=0;ne||(oe=0);const{writable:le}=t;if(e){e.chunkSize=te(o);const r=e.readable,s=e.size,n={options:{codecType:Yt,level:C,rawPassword:v,password:A,encryptionStrength:J,zipCrypto:m&&L,passwordVerification:m&&L&&h>>8&255,signed:!ne,compressed:g&&!ne,encrypted:m&&!ne,useWebWorkers:q,useCompressionStream:se,transferStreams:!1},config:o,streamOptions:{signal:X,size:s,onstart:K,onprogress:Y,onend:j}};try{const e=await cr({readable:r,writable:le},n);ce=e.outputSize,t.size+=ce,ne||(oe=e.inputSize,ie=e.signature)}catch(e){throw e.outputSize!==G&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:n},{zip64:i,zipCrypto:o,dataDescriptor:c})=>{const{headerView:l,encrypted:d}=s,{dataDescriptorView:u,dataDescriptorOffset:f}=n;d&&!o||e===G||(qs(l,10,e),c&&qs(u,f,e)),i?c&&(Ks(u,f+4,a(t)),Ks(u,f+12,a(r))):(qs(l,14,t),qs(l,18,r),c&&(qs(u,f+4,t),qs(u,f+8,r)))})({signature:ie,compressedSize:ce,uncompressedSize:oe,headerInfo:l,dataDescriptorInfo:d},c),M&&await Ms(t,R),r.assign(ae,{uncompressedSize:oe,compressedSize:ce,lastModDate:w,rawLastModDate:h,creationDate:T,lastAccessDate:D,encrypted:m,zipCrypto:L,size:u+ce,compressionMethod:b,version:y,headerArray:f,headerView:p,signature:ie,extraFieldExtendedTimestampFlag:x,zip64UncompressedSize:N,zip64CompressedSize:I,zip64Offset:W,zip64DiskNumberStart:O}),ae})(n,R,D,i,e.config,o);const{zip64:O}=D;if(F=!1,c.set(s,D),D.filename=s,z){const[r]=await y.all([k,R.writable.getWriter().close(),t]);await T(),x=!0,D.diskNumberStart=l.diskNumber,D.offset=e.offset-l.diskOffset,O&&Ls(D),(({rawFilename:e,encrypted:t,zip64:r,localExtraFieldZip64Length:s,signature:n,compressedSize:i,uncompressedSize:o,offset:c,diskNumberStart:l,zip64UncompressedSize:d,zip64CompressedSize:u,zip64Offset:f,zip64DiskNumberStart:p},w,{dataDescriptor:h})=>{if(h||(t||qs(w,14,n),r||(qs(w,18,i),qs(w,22,o))),r&&s){let t=q+js(e)+4;d&&(Ks(w,t,a(o)),t+=8),u&&(Ks(w,t,a(i)),t+=8),f&&(Ks(w,t,a(c)),t+=8),p&&qs(w,t,l)}})(D,U,o),await A(S),await Ms(l,N),await r.stream().pipeTo(S,{preventClose:!0,preventAbort:!0,signal:h}),l.size+=R.size,x=!1}else D.offset=e.offset-v,O&&Ls(D);if(D.offset>C&&!O)throw new f(vs);return e.offset+=D.size,D}catch(t){if(z&&x||!z&&F){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}z?e.offset+=R.size:e.offset=R.size}throw c.delete(s),t}finally{z&&e.bufferedWrites--,_&&_(),S&&S()}async function T(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new y(t=>S=()=>{e.writerLocked=!1,t()}),await t}async function A(e){js(m.localHeaderArray)>l.availableSize&&(l.availableSize=0,await Ms(e,new p))}})(e,s,n,{headerInfo:ge,dataDescriptorInfo:ye,metadataSize:be},c)}finally{e.pendingEntriesSize-=ie}return r.assign(ze,{name:s,comment:z,extraField:ne}),new Lr(ze)})(c,e,s,n),l.add(h),await h}catch(t){throw c.filenames.delete(e),t}finally{l.delete(h);const e=Ws.shift();e?e():Is--}}remove(e){const{filenames:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==G){const{filename:s}=e;if(t.has(s)&&r.has(s))return t.delete(s),r.delete(s),!0}return!1}async close(e=new p,r={}){const{pendingAddFileCalls:s,writer:n}=this,{writable:o}=n;for(;s.size;)await y.allSettled(t.from(s));return await(async(e,r,s)=>{const{files:n,writer:o}=e,{diskOffset:c}=o;let{diskNumber:l}=o,d=0,u=0,w=e.offset-c,h=n.size;for(const[,e]of n){const{rawFilename:t,rawExtraFieldZip64:r,rawExtraFieldAES:s,rawComment:n,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:c,extraFieldExtendedTimestampFlag:l,lastModDate:d}=e;let f;if(c){f=new p(9);const e=Gs(f);Vs(e,0,B),Vs(e,2,5),Zs(e,4,l),qs(e,5,i.floor(d.getTime()/1e3))}else f=new p;e.rawExtraFieldExtendedTimestamp=f,u+=46+js(t,n,r,s,a,f,o)}const m=new p(u),g=Gs(m);await Pe(o);let y=0;for(const[e,r]of t.from(n.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:c,rawExtraFieldExtendedTimestamp:l,rawExtraFieldNTFS:u,rawExtraField:f,rawComment:p,versionMadeBy:w,headerArray:h,headerView:b,zip64:z,zip64UncompressedSize:S,zip64CompressedSize:_,zip64DiskNumberStart:x,zip64Offset:E,internalFileAttributes:F,externalFileAttributes:R,diskNumberStart:k,uncompressedSize:D,compressedSize:T}=r,A=js(i,c,l,u,f);qs(g,d,O),Vs(g,d+4,w),S||qs(b,18,D),_||qs(b,14,T),Ys(m,h,d+6);let v=d+q;if(Vs(g,v,A),v+=2,Vs(g,v,js(p)),v+=2,Vs(g,v,z&&x?U:k),v+=2,Vs(g,v,F),v+=2,R&&qs(g,v,R),v+=4,qs(g,v,z&&E?C:t),v+=4,Ys(m,a,v),v+=js(a),Ys(m,i,v),v+=js(i),Ys(m,c,v),v+=js(c),Ys(m,l,v),v+=js(l),Ys(m,u,v),v+=js(u),Ys(m,f,v),v+=js(f),Ys(m,p,v),d-y>o.availableSize&&(o.availableSize=0,await Ms(o,m.slice(y,d)),y=d),d=v,s.onprogress)try{await s.onprogress(e+1,n.size,new Lr(r))}catch(e){}}await Ms(o,y?m.slice(y):m);let b=o.diskNumber;const{availableSize:z}=o;P>z&&b++;let S=Ps(e,s,kr);if(w>C||u>C||h>U||b>U){if(!1===S)throw new f(vs);S=!0}const _=new p(S?98:P),x=Gs(_);d=0,S&&(qs(x,0,M),Ks(x,4,a(44)),Vs(x,12,45),Vs(x,14,45),qs(x,16,b),qs(x,20,l),Ks(x,24,a(h)),Ks(x,32,a(h)),Ks(x,40,a(u)),Ks(x,48,a(w)),qs(x,56,H),Ks(x,64,a(w)+a(u)),qs(x,72,b+1),Ps(e,s,Kr,!0)&&(b=U,l=U),h=U,w=C,u=C,d+=76),qs(x,d,L),Vs(x,d+4,b),Vs(x,d+6,l),Vs(x,d+8,h),Vs(x,d+10,h),qs(x,d+12,u),qs(x,d+16,w);const E=js(r);if(E){if(E>U)throw new f(Es);Vs(x,d+20,E)}await Ms(o,_),E&&await Ms(o,r)})(this,e,r),Ps(this,r,qr)||await o.getWriter().close(),n.getData?n.getData():o}}function Ls({compressedSize:e,uncompressedSize:t,offset:r,diskNumberStart:s,zip64UncompressedSize:n,zip64CompressedSize:i,zip64Offset:o,zip64DiskNumberStart:c,rawExtraFieldZip64:l}){const d=Gs(l);let u=4;n&&(Ks(d,u,a(t)),u+=8),i&&(Ks(d,u,a(e)),u+=8),o&&(Ks(d,u,a(r)),u+=8),c&&qs(d,u,s)}async function Ms(e,t){const{writable:r}=e,s=r.getWriter();try{await s.ready,e.size+=js(t),await s.write(t)}finally{s.releaseLock()}}function Hs(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function Ps(e,t,r,s){const n=t[r]===G?e.options[r]:t[r];return n===G?s:n}function Bs(e){return e+5*(i.floor(e/16383)+1)}function Zs(e,t,r){e.setUint8(t,r)}function Vs(e,t,r){e.setUint16(t,r,!0)}function qs(e,t,r){e.setUint32(t,r,!0)}function Ks(e,t,r){e.setBigUint64(t,r,!0)}function Ys(e,t,r){e.set(t,r)}function Gs(e){return new m(e.buffer)}function js(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Xs({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:s,compressedSize:n,lastModDate:a,rawFilename:i,zip64CompressedSize:o,zip64UncompressedSize:c,extraFieldLength:l}){const d=new p(26),u=Gs(d);Vs(u,0,e),Vs(u,2,t),Vs(u,4,r);const f=new h(1),w=Gs(f);Vs(w,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),Vs(w,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const m=f[0];return qs(u,6,m),(o||n!==G)&&qs(u,14,o?C:n),(c||s!==G)&&qs(u,18,c?C:s),Vs(u,22,js(i)),Vs(u,24,l),{headerArray:d,headerView:u,rawLastModDate:m}}function Js(e,t,r,s,n){let a=0;return t&&(a|=Z),r&&(a|=8),8!=n&&9!=n||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),s&&(a|=1),a}let Qs;try{Qs=void 0===S&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===S?location.href:v&&"SCRIPT"===v.tagName.toUpperCase()&&v.src||new u("zip-core.min.js",S.baseURI).href}catch(e){}re({baseURI:Qs,CompressionStreamZlib:class{constructor(e="deflate",t){return ce(!0,e,t)}},DecompressionStreamZlib:class{constructor(e="deflate",t){return ce(!1,e,t)}}}),e.BlobReader=Se,e.BlobWriter=_e,e.Data64URIReader=class extends be{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const s=e.indexOf(",")+1;r.assign(this,{dataURI:e,dataStart:s,size:i.floor(.75*(t-s))})}readUint8Array(e,t){const{dataStart:r,dataURI:s}=this,n=new p(t),a=4*i.floor(e/3),o=atob(s.substring(a+r,4*i.ceil((e+t)/3)+r)),c=e-3*i.floor(a/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)n[e-c]=o.charCodeAt(e),l++;return l<n.length?n.subarray(0,l):n}},e.Data64URIWriter=class extends ze{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r=0,n=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)n+=s.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=s.fromCharCode(e[r]);n.length&&(n.length>2?t.data+=x(n):t.pending+=n)}getData(){return this.data+x(this.pending)}},e.ERR_BAD_FORMAT=jr,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Qr,e.ERR_DUPLICATED_NAME=xs,e.ERR_ENCRYPTED=ts,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Jr,e.ERR_EOCDR_NOT_FOUND=Xr,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=es,e.ERR_HTTP_RANGE=fe,e.ERR_INVALID_COMMENT=Es,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ds,e.ERR_INVALID_ENTRY_COMMENT=Fs,e.ERR_INVALID_ENTRY_NAME=Rs,e.ERR_INVALID_EXTRAFIELD_DATA=As,e.ERR_INVALID_EXTRAFIELD_TYPE=Ts,e.ERR_INVALID_PASSWORD=$e,e.ERR_INVALID_SIGNATURE=et,e.ERR_INVALID_UNCOMPRESSED_SIZE=Mt,e.ERR_INVALID_VERSION=ks,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=$r,e.ERR_OVERLAPPING_ENTRY=as,e.ERR_SPLIT_ZIP_FILE=ns,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Cs,e.ERR_UNSUPPORTED_COMPRESSION=ss,e.ERR_UNSUPPORTED_ENCRYPTION=rs,e.ERR_UNSUPPORTED_FORMAT=vs,e.ERR_ZIP_NOT_EMPTY=Us,e.HttpRangeReader=class extends We{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=We,e.Reader=be,e.SplitDataReader=Oe,e.SplitDataWriter=Le,e.TextReader=class extends Se{constructor(e){super(new g([e],{type:"text/plain"}))}},e.TextWriter=class extends _e{constructor(e){super(e),r.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((n,a)=>{r.assign(t,{onload:({target:e})=>n(e.result),onerror:()=>a(t.error)}),t.readAsText(s,e)})}}},e.Uint8ArrayReader=class extends be{constructor(e){super(),e=new p(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends ze{init(e=0){r.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const r=t.array;t.array=new p(r.length+e.length),t.array.set(r)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=ze,e.ZipReader=ds,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:r}=new E,s=new ds(t,e).getEntriesGenerator();this.readable=new F({async pull(e){const{done:t,value:r}=await s.next();if(t)return e.close();const n={...r,readable:(()=>{const{readable:e,writable:t}=new E;if(r.getData)return r.getData(t),e})()};delete n.getData,e.enqueue(n)}}),this.writable=r}},e.ZipWriter=Os,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new E;this.readable=t,this.zipWriter=new Os(r,e)}transform(e){const{readable:t,writable:r}=new E({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:r}}writable(e){const{readable:t,writable:r}=new E;return this.zipWriter.add(e,t),r}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=re,e.getMimeType=()=>"application/octet-stream",e.resetWasmModule=de,e.terminateWorkers=async()=>{await y.allSettled(ar.map(e=>(lr(e),e.terminate()))),de()}});
1
+ ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:s,Number:n,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:w,Uint32Array:h,DataView:m,Blob:g,Promise:y,TextEncoder:b,TextDecoder:z,document:S,crypto:_,btoa:x,TransformStream:E,ReadableStream:F,WritableStream:R,CompressionStream:k,DecompressionStream:D,navigator:T,Worker:A}="undefined"!=typeof globalThis?globalThis:this||self;var v=void 0!==S?S.currentScript:null;const C=4294967295,U=65535,N=67324752,I=134695760,W=I,O=33639248,L=101010256,M=101075792,H=117853008,P=22,B=21589,Z=2048,V="/",q=30,K=new o(2107,11,31),Y=new o(1980,0,1),G=void 0,j="undefined",X="function";let J=2;try{typeof T!=j&&T.hardwareConcurrency&&(J=T.hardwareConcurrency)}catch(e){}const Q={workerURI:"./core/web-worker.js",wasmURI:"./core/streams/zlib/zlib-streams.wasm",chunkSize:65536,maxWorkers:J,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof k!=j&&k,DecompressionStream:typeof D!=j&&D},$=r.assign({},Q);function ee(){return $}function te(e){return i.max(e.chunkSize,64)}function re(e){const{baseURI:t,chunkSize:r,maxWorkers:s,terminateWorkerTimeout:n,useCompressionStream:a,useWebWorkers:i,CompressionStream:o,DecompressionStream:c,CompressionStreamZlib:l,DecompressionStreamZlib:d,workerURI:u,wasmURI:f}=e;se("baseURI",t),se("wasmURI",f),se("workerURI",u),se("chunkSize",r),se("maxWorkers",s),se("terminateWorkerTimeout",n),se("useCompressionStream",a),se("useWebWorkers",i),se("CompressionStream",o),se("DecompressionStream",c),se("CompressionStreamZlib",l),se("DecompressionStreamZlib",d)}function se(e,t){t!==G&&($[e]=t)}let ne,ae,ie,oe;function ce(e,t,r={}){const s="number"==typeof r.level?r.level:-1,n="number"==typeof r.outBuffer?r.outBuffer:65536,a="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new E({start(){let r;if(this.out=ae(n),this.in=ae(a),this.inBufferSize=a,this._scratch=new p(n),e?(this._process=ne.deflate_process,this._last_consumed=ne.deflate_last_consumed,this._end=ne.deflate_end,this.streamHandle=ne.deflate_new(),r="gzip"===t?ne.deflate_init_gzip(this.streamHandle,s):"deflate-raw"===t?ne.deflate_init_raw(this.streamHandle,s):ne.deflate_init(this.streamHandle,s)):"deflate64-raw"===t?(this._process=ne.inflate9_process,this._last_consumed=ne.inflate9_last_consumed,this._end=ne.inflate9_end,this.streamHandle=ne.inflate9_new(),r=ne.inflate9_init_raw(this.streamHandle)):(this._process=ne.inflate_process,this._last_consumed=ne.inflate_last_consumed,this._end=ne.inflate_end,this.streamHandle=ne.inflate_new(),r="deflate-raw"===t?ne.inflate_init_raw(this.streamHandle):"gzip"===t?ne.inflate_init_gzip(this.streamHandle):ne.inflate_init(this.streamHandle)),0!==r)throw new f("init failed:"+r)},transform(t,r){try{const s=t,a=new p(oe.buffer),o=this._process,c=this._last_consumed,l=this.out,d=this._scratch;let u=0;for(;u<s.length;){const t=i.min(s.length-u,32768);this.in&&this.inBufferSize>=t||(this.in&&ie&&ie(this.in),this.in=ae(t),this.inBufferSize=t),a.set(s.subarray(u,u+t),this.in);const p=o(this.streamHandle,this.in,t,l,n,0);if(!e&&0>p)throw new f("process error:"+p);const w=16777215&p;w&&(d.set(a.subarray(l,l+w),0),r.enqueue(d.slice(0,w)));const h=c(this.streamHandle);if(0===h)break;u+=h}}catch(e){this._end&&this.streamHandle&&this._end(this.streamHandle),this.in&&ie&&ie(this.in),this.out&&ie&&ie(this.out),r.error(e)}},flush(t){try{const r=new p(oe.buffer),s=this._process,a=this.out,i=this._scratch;for(;;){const o=s(this.streamHandle,0,0,a,n,4);if(!e&&0>o)throw new f("process error:"+o);const c=16777215&o,l=o>>24&255;if(c&&(i.set(r.subarray(a,a+c),0),t.enqueue(i.slice(0,c))),1===l||0===c)break}}catch(e){t.error(e)}finally{if(this._end&&this.streamHandle){const e=this._end(this.streamHandle);0!==e&&t.error(new f("end error:"+e))}this.in&&ie&&ie(this.in),this.out&&ie&&ie(this.out)}}})}let le=!1;function de(){le=!1}const ue="HTTP error ",fe="HTTP Range not supported",pe="Range",we="GET",he="bytes",me=65536,ge="writable";class ye{constructor(){this.size=0}init(){this.initialized=!0}}class be extends ye{get readable(){const e=this,{chunkSize:t=me}=e,r=new F({start(){this.chunkOffset=0},async pull(s){const{offset:n=0,size:a,diskNumberStart:o}=r,{chunkOffset:c}=this,l=a===G?t:i.min(t,a-c),d=await Be(e,n+c,l,o);s.enqueue(d),c+t>a||a===G&&!d.length&&l?s.close():this.chunkOffset+=t}});return r}}class ze extends ye{constructor(){super();const e=this,t=new R({write(t){if(!e.initialized)throw new f("Writer not initialized");return e.writeUint8Array(t)}});r.defineProperty(e,ge,{get:()=>t})}writeUint8Array(){}}class Se extends be{constructor(e){super(),r.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const r=this,s=e+t,n=e||s<r.size?r.blob.slice(e,s):r.blob;let a=await n.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,s)),new p(a)}}class _e extends ye{constructor(e){super();const t=new E,s=[];e&&s.push(["Content-Type",e]),r.defineProperty(this,ge,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:s}).blob()}getData(){return this.blob}}class xe extends be{constructor(e,t){super(),Fe(this,e,t)}async init(){await Re(this,Ne,Ae),super.init()}readUint8Array(e,t){return ke(this,e,t,Ne,Ae)}}class Ee extends be{constructor(e,t){super(),Fe(this,e,t)}async init(){await Re(this,Ie,ve),super.init()}readUint8Array(e,t){return ke(this,e,t,Ie,ve)}}function Fe(e,t,s){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=s;delete(s=r.assign({},s)).preventHeadRequest,delete s.useRangeHeader,delete s.forceRangeRequests,delete s.combineSizeEocd,delete s.useXHR,r.assign(e,{url:t,options:s,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function Re(e,t,r){const{url:s,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:c}=e;if((e=>{const{baseURI:t}=ee(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(s)&&(i||o)&&(void 0===a||a)){const s=await t(we,e,De(e,c?-22:void 0));if(!o&&s.headers.get("Accept-Ranges")!=he)throw new f(fe);{let a;c&&(e.eocdCache=new p(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=n(t))}}a===G?await Ue(e,t,r):e.size=a}}else await Ue(e,t,r)}async function ke(e,t,r,s,n){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:c,options:l}=e;if(a||i){if(o&&t==c-P&&r==P)return o;if(c>t){t+r>c&&(r=c-t);const n=await s(we,e,De(e,t,r));if(206!=n.status)throw new f(fe);return new p(await n.arrayBuffer())}return new p}{const{data:s}=e;return s||await n(e,l),new p(e.data.subarray(t,t+r))}}function De(e,t=0,s=1){return r.assign({},Te(e),{[pe]:he+"="+(0>t?t:t+"-"+(t+s-1))})}function Te({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Ae(e){await Ce(e,Ne)}async function ve(e){await Ce(e,Ie)}async function Ce(e,t){const r=await t(we,e,Te(e));e.data=new p(await r.arrayBuffer()),e.size||(e.size=e.data.length)}async function Ue(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const s=(await t("HEAD",e,Te(e))).headers.get("Content-Length");s?e.size=n(s):await r(e,e.options)}}async function Ne(e,{options:t,url:s},n){const a=await fetch(s,r.assign({},t,{method:e,headers:n}));if(400>a.status)return a;throw 416==a.status?new f(fe):new f(ue+(a.statusText||a.status))}function Ie(e,{url:t},s){return new y((n,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),n({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new f(fe):new f(ue+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),i.open(e,t),s)for(const e of r.entries(s))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class We extends be{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR?new Ee(e,t):new xe(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 Oe extends be{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(r,s)=>{await r.init(),s!=t.length-1&&(e.lastDiskOffset+=r.size),e.size+=r.size})),super.init()}async readUint8Array(e,t,r=0){const s=this,{readers:n}=this;let a,o=r;-1==o&&(o=n.length-1);let c=e;for(;n[o]&&c>=n[o].size;)c-=n[o].size,o++;const l=n[o];if(l){const n=l.size;if(c+t>n){const i=n-c;a=new p(t);const o=await Be(l,c,i);a.set(o,0);const d=await s.readUint8Array(e+i,t-i,r);a.set(d,i),o.length+d.length<t&&(a=a.subarray(0,o.length+d.length))}else a=await Be(l,c,t)}else a=new p;return s.lastDiskNumber=i.max(o,s.lastDiskNumber),a}}class Le extends ye{constructor(e,t=4294967295){super();const s=this;let n,a,i;r.assign(s,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new R({async write(t){const{availableSize:r}=s;if(i)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),s.diskOffset+=n.size,s.diskNumber++,i=null,await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new f("Writer iterator completed too soon");n=r,n.size=0,n.maxSize&&(s.maxSize=n.maxSize),s.availableSize=s.maxSize,await Pe(n),a=r.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),n.size+=t,s.size+=t,s.availableSize-=t)}async function l(){await i.close()}r.defineProperty(s,ge,{get:()=>o})}}class Me{constructor(e){return t.isArray(e)&&(e=new Oe(e)),e instanceof F&&(e={readable:e}),e}}class He{constructor(e){return e.writable===G&&typeof e.next==X&&(e=new Le(e)),e instanceof R&&(e={writable:e}),e.size===G&&(e.size=0),e instanceof Le||r.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}}async function Pe(e,t){if(!e.init||e.initialized)return y.resolve();await e.init(t)}function Be(e,t,r,s){return e.readUint8Array(t,r,s)}const Ze=[];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;Ze[e]=t}class Ve{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let r=0,s=0|e.length;s>r;r++)t=t>>>8^Ze[255&(t^e[r])];this.crc=t}get(){return~this.crc}}class qe extends E{constructor(){let e;const t=new Ve;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new p(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Ke(e){if(typeof b==j){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new b).encode(e)}const Ye={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],s=Ye.getPartial(r);return 32===s?e.concat(t):Ye._shiftRight(t,s,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+Ye.getPartial(r)},clamp(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=Ye.partial(t,e[r-1]&2147483648>>t-1,1)),e},partial:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,getPartial:e=>i.round(e/1099511627776)||32,_shiftRight(e,t,r,s){for(void 0===s&&(s=[]);t>=32;t-=32)s.push(r),r=0;if(0===t)return s.concat(e);for(let n=0;n<e.length;n++)s.push(r|e[n]>>>t),r=e[n]<<32-t;const n=e.length?e[e.length-1]:0,a=Ye.getPartial(n);return s.push(Ye.partial(t+a&31,t+a>32?r:s.pop(),1)),s}},Ge={bytes:{fromBits(e){const t=Ye.bitLength(e)/8,r=new p(t);let s;for(let n=0;t>n;n++)3&n||(s=e[n/4]),r[n]=s>>>24,s<<=8;return r},toBits(e){const t=[];let r,s=0;for(r=0;r<e.length;r++)s=s<<8|e[r],3&~r||(t.push(s),s=0);return 3&r&&t.push(Ye.partial(8*(3&r),s)),t}}},je=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=Ge.utf8String.toBits(e));const r=t._buffer=Ye.concat(t._buffer,e),s=t._length,n=t._length=s+Ye.bitLength(e);if(n>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new h(r);let i=0;for(let e=t.blockSize+s-(t.blockSize+s&t.blockSize-1);n>=e;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const r=e._h;t=Ye.concat(t,[Ye.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),r}_f(e,t,r,s){return e>19?e>39?e>59?e>79?void 0:t^r^s:t&r|t&s|r&s:t^r^s:t&r|~t&s}_S(e,t){return t<<e|t>>>32-e}_block(e){const r=this,s=r._h,n=t(80);for(let t=0;16>t;t++)n[t]=e[t];let a=s[0],o=s[1],c=s[2],l=s[3],d=s[4];for(let e=0;79>=e;e++){16>e||(n[e]=r._S(1,n[e-3]^n[e-8]^n[e-14]^n[e-16]));const t=r._S(5,a)+r._f(e,o,c,l)+d+n[e]+r._key[i.floor(e/20)]|0;d=l,l=c,c=r._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]+d|0}},Xe={getRandomValues(e){const t=new h(e.buffer),r=e=>{let t=987654321;const r=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&r,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&r)&r)/4294967296+.5)*(i.random()>.5?1:-1))};for(let s,n=0;n<e.length;n+=4){const e=r(4294967296*(s||i.random()));s=987654071*e(),t[n/4]=4294967296*e()|0}return e}},Je={importKey:e=>new Je.hmacSha1(Ge.bytes.toBits(e)),pbkdf2(e,t,r,s){if(r=r||1e4,0>s||0>r)throw new f("invalid params to pbkdf2");const n=1+(s>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(n),u=new m(d);let p=0;const w=Ye;for(t=Ge.bytes.toBits(t),l=1;(n||1)>p;l++){for(a=i=e.encrypt(w.concat(t,[l])),o=1;r>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(n||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,s/8)},hmacSha1:class{constructor(e){const t=this,r=t._hash=je,s=[[],[]];t._baseHash=[new r,new r];const n=t._baseHash[0].blockSize/32;e.length>n&&(e=(new r).update(e).finalize());for(let t=0;n>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 r(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),r=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),r}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Qe=typeof _!=j&&typeof _.getRandomValues==X,$e="Invalid password",et="Invalid signature",tt="zipjs-abort-check-password";function rt(e){return Qe?_.getRandomValues(e):Xe.getRandomValues(e)}const st=16,nt={name:"PBKDF2"},at=r.assign({hash:{name:"HMAC"}},nt),it=r.assign({iterations:1e3,hash:{name:"SHA-1"}},nt),ot=["deriveBits"],ct=[8,12,16],lt=[16,24,32],dt=10,ut=[0,0,0,0],ft=typeof _!=j,pt=ft&&_.subtle,wt=ft&&typeof pt!=j,ht=Ge.bytes,mt=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const r=t._tables[0][4],s=t._tables[1],n=e.length;let a,i,o,c=1;if(4!==n&&6!==n&&8!==n)throw new f("invalid aes key size");for(t._key=[i=e.slice(0),o=[]],a=n;4*n+28>a;a++){let e=i[a-1];(a%n===0||8===n&&a%n===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%n===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-n]^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][r[t>>>24]]^s[1][r[t>>16&255]]^s[2][r[t>>8&255]]^s[3][r[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],r=e[4],s=t[4],n=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(n[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,s[a]=d,l=n[c=n[o=n[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*n[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=f=f<<24^f>>>8,t[r][a]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const r=this._key[t],s=r.length/4-2,n=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,p,w,h=e[0]^r[0],m=e[t?3:1]^r[1],g=e[2]^r[2],y=e[t?1:3]^r[3],b=4;for(let e=0;s>e;e++)u=i[h>>>24]^o[m>>16&255]^c[g>>8&255]^l[255&y]^r[b],p=i[m>>>24]^o[g>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=i[g>>>24]^o[y>>16&255]^c[h>>8&255]^l[255&m]^r[b+2],y=i[y>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&g]^r[b+3],b+=4,h=u,m=p,g=w;for(let e=0;4>e;e++)n[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[g>>8&255]<<8^d[255&y]^r[b++],u=h,h=m,m=g,g=y,y=u;return n}},gt=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,s=255&e;255===t?(t=0,255===r?(r=0,255===s?s=0:++s):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=s}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,r){let s;if(!(s=t.length))return[];const n=Ye.bitLength(t);for(let n=0;s>n;n+=4){this.incCounter(r);const s=e.encrypt(r);t[n]^=s[0],t[n+1]^=s[1],t[n+2]^=s[2],t[n+3]^=s[3]}return Ye.clamp(t,n)}},yt=Je.hmacSha1;let bt=ft&&wt&&typeof pt.importKey==X,zt=ft&&wt&&typeof pt.deriveBits==X;class St extends E{constructor({password:e,rawPassword:t,signed:s,encryptionStrength:n,checkPasswordOnly:a}){super({start(){r.assign(this,{ready:new y(e=>this.resolveReady=e),password:Ft(e,t),signed:s,strength:n-1,pending:new p})},async transform(e,t){const r=this,{password:s,strength:n,resolveReady:i,ready:o}=r;s?(await(async(e,t,r,s)=>{const n=await Et(e,t,r,kt(s,0,ct[t])),a=kt(s,ct[t]);if(n[0]!=a[0]||n[1]!=a[1])throw new f($e)})(r,n,s,kt(e,0,ct[n]+2)),e=kt(e,ct[n]+2),a?t.error(new f(tt)):i()):await o;const c=new p(e.length-dt-(e.length-dt)%st);t.enqueue(xt(r,e,c,0,dt,!0))},async flush(e){const{signed:t,ctr:r,hmac:s,pending:n,ready:a}=this;if(s&&r){await a;const i=kt(n,0,n.length-dt),o=kt(n,n.length-dt);let c=new p;if(i.length){const e=Tt(ht,i);s.update(e);const t=r.update(e);c=Dt(ht,t)}if(t){const e=kt(Dt(ht,s.digest()),0,dt);for(let t=0;dt>t;t++)if(e[t]!=o[t])throw new f(et)}e.enqueue(c)}}})}}class _t extends E{constructor({password:e,rawPassword:t,encryptionStrength:s}){let n;super({start(){r.assign(this,{ready:new y(e=>this.resolveReady=e),password:Ft(e,t),strength:s-1,pending:new p})},async transform(e,t){const r=this,{password:s,strength:n,resolveReady:a,ready:i}=r;let o=new p;s?(o=await(async(e,t,r)=>{const s=rt(new p(ct[t]));return Rt(s,await Et(e,t,r,s))})(r,n,s),a()):await i;const c=new p(o.length+e.length-e.length%st);c.set(o,0),t.enqueue(xt(r,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:r,pending:s,ready:a}=this;if(r&&t){await a;let i=new p;if(s.length){const e=t.update(Tt(ht,s));r.update(e),i=Dt(ht,e)}n.signature=Dt(ht,r.digest()).slice(0,dt),e.enqueue(Rt(i,n.signature))}}}),n=this}}function xt(e,t,r,s,n,a){const{ctr:i,hmac:o,pending:c}=e,l=t.length-n;let d;for(c.length&&(t=Rt(c,t),r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new p(t)).set(r,0)}return e})(r,l-l%st)),d=0;l-st>=d;d+=st){const e=Tt(ht,kt(t,d,d+st));a&&o.update(e);const n=i.update(e);a||o.update(n),r.set(Dt(ht,n),d+s)}return e.pending=kt(t,d),r}async function Et(e,s,n,a){e.password=null;const i=await(async(e,t,r,s,n)=>{if(!bt)return Je.importKey(t);try{return await pt.importKey("raw",t,r,!1,n)}catch(e){return bt=!1,Je.importKey(t)}})(0,n,at,0,ot),o=await(async(e,t,r)=>{if(!zt)return Je.pbkdf2(t,e.salt,it.iterations,r);try{return await pt.deriveBits(e,t,r)}catch(s){return zt=!1,Je.pbkdf2(t,e.salt,it.iterations,r)}})(r.assign({salt:a},it),i,8*(2*lt[s]+2)),c=new p(o),l=Tt(ht,kt(c,0,lt[s])),d=Tt(ht,kt(c,lt[s],2*lt[s])),u=kt(c,2*lt[s]);return r.assign(e,{keys:{key:l,authentication:d,passwordVerification:u},ctr:new gt(new mt(l),t.from(ut)),hmac:new yt(d)}),u}function Ft(e,t){return t===G?Ke(e):t}function Rt(e,t){let r=e;return e.length+t.length&&(r=new p(e.length+t.length),r.set(e,0),r.set(t,e.length)),r}function kt(e,t,r){return e.subarray(t,r)}function Dt(e,t){return e.fromBits(t)}function Tt(e,t){return e.toBits(t)}class At extends E{constructor({password:e,passwordVerification:t,checkPasswordOnly:s}){super({start(){r.assign(this,{password:e,passwordVerification:t}),Nt(this,e)},transform(e,t){const r=this;if(r.password){const t=Ct(r,e.subarray(0,12));if(r.password=null,t.at(-1)!=r.passwordVerification)throw new f($e);e=e.subarray(12)}s?t.error(new f(tt)):t.enqueue(Ct(r,e))}})}}class vt extends E{constructor({password:e,passwordVerification:t}){super({start(){r.assign(this,{password:e,passwordVerification:t}),Nt(this,e)},transform(e,t){const r=this;let s,n;if(r.password){r.password=null;const t=rt(new p(12));t[11]=r.passwordVerification,s=new p(e.length+t.length),s.set(Ut(r,t),0),n=12}else s=new p(e.length),n=0;s.set(Ut(r,e),n),t.enqueue(s)}})}}function Ct(e,t){const r=new p(t.length);for(let s=0;s<t.length;s++)r[s]=Wt(e)^t[s],It(e,r[s]);return r}function Ut(e,t){const r=new p(t.length);for(let s=0;s<t.length;s++)r[s]=Wt(e)^t[s],It(e,t[s]);return r}function Nt(e,t){const s=[305419896,591751049,878082192];r.assign(e,{keys:s,crcKey0:new Ve(s[0]),crcKey2:new Ve(s[2])});for(let r=0;r<t.length;r++)It(e,t.charCodeAt(r))}function It(e,t){let[r,s,n]=e.keys;e.crcKey0.append([t]),r=~e.crcKey0.get(),s=Lt(i.imul(Lt(s+Ot(r)),134775813)+1),e.crcKey2.append([s>>>24]),n=~e.crcKey2.get(),e.keys=[r,s,n]}function Wt(e){const t=2|e.keys[2];return Ot(i.imul(t,1^t)>>>8)}function Ot(e){return 255&e}function Lt(e){return 4294967295&e}const Mt="Invalid uncompressed size";class Ht extends E{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:s}){super({});const{compressed:n,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:c,level:l}=e,d=this;let u,f,p=super.readable;a&&!o||!c||(u=new qe,p=Vt(p,u)),n&&(p=Zt(p,i,{level:l,chunkSize:t},s,r,s)),a&&(o?p=Vt(p,new vt(e)):(f=new _t(e),p=Vt(p,f))),Bt(d,p,()=>{let e;a&&!o&&(e=f.signature),a&&!o||!c||(e=new m(u.value.buffer).getUint32(0)),d.signature=e})}}class Pt extends E{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:s}){super({});const{zipCrypto:n,encrypted:a,signed:i,signature:o,compressed:c,useCompressionStream:l,deflate64:d}=e;let u,p,w=super.readable;a&&(n?w=Vt(w,new At(e)):(p=new St(e),w=Vt(w,p))),c&&(w=Zt(w,l,{chunkSize:t,deflate64:d},s,r,s)),a&&!n||!i||(u=new qe,w=Vt(w,u)),Bt(this,w,()=>{if((!a||n)&&i){const e=new m(u.value.buffer);if(o!=e.getUint32(0,!1))throw new f(et)}})}}function Bt(e,t,s){t=Vt(t,new E({flush:s})),r.defineProperty(e,"readable",{get:()=>t})}function Zt(e,t,r,s,n,a){const i=t&&s?s:n||a,o=r.deflate64?"deflate64-raw":"deflate-raw";try{e=Vt(e,new i(o,r))}catch(s){if(!t)throw s;if(n)e=Vt(e,new n(o,r));else{if(!a)throw s;e=Vt(e,new a(o,r))}}return e}function Vt(e,t){return e.pipeThrough(t)}const qt="data",Kt="close",Yt="deflate",Gt="inflate";class jt extends E{constructor(e,t){super({});const s=this,{codecType:n}=e;let a;n.startsWith(Yt)?a=Ht:n.startsWith(Gt)&&(a=Pt),s.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){r.assign(s,{inputSize:i})}}),d=new E({transform(t,r){if(t&&t.length&&(r.enqueue(t),s.outputSize+=t.length,e.outputSize!==G&&s.outputSize>e.outputSize))throw new f(Mt)},flush(){const{signature:e}=o;r.assign(s,{signature:e,inputSize:i})}});r.defineProperty(s,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class Xt extends E{constructor(e){let t;super({transform:function r(s,n){if(t){const e=new p(t.length+s.length);e.set(t),e.set(s,t.length),s=e,t=null}s.length>e?(n.enqueue(s.slice(0,e)),r(s.slice(e),n)):t=s},flush(e){t&&t.length&&e.enqueue(t)}})}}let Jt=typeof A!=j;class Qt{constructor(e,{readable:t,writable:s},{options:n,config:a,streamOptions:i,useWebWorkers:o,transferStreams:c,workerURI:l},d){const{signal:u}=i;return r.assign(e,{busy:!0,readable:t.pipeThrough(new Xt(a.chunkSize)).pipeThrough(new $t(i),{signal:u}),writable:s,options:r.assign({},n),workerURI:l,transferStreams:c,terminate:()=>new y(t=>{const{worker:r,busy:s}=e;r?(s?e.resolveTerminated=t:(r.terminate(),t()),e.interface=null):t()}),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,d(e)}}),(o&&Jt?rr:tr)(e,a)}}class $t extends E{constructor({onstart:e,onprogress:t,size:r,onend:s}){let n=0;super({async start(){e&&await er(e,r)},async transform(e,s){n+=e.length,t&&await er(t,n,r),s.enqueue(e)},async flush(){s&&await er(s,n)}})}}async function er(e,...t){try{await e(...t)}catch(e){}}function tr(e,t){return{run:()=>(async({options:e,readable:t,writable:r,onTaskFinished:s},n)=>{let a;try{if(!e.useCompressionStream&&!le){let{wasmURI:e}=n;typeof e==X&&(e=e()),await(async(e,{baseURI:t})=>{if(!le){let s,n;try{try{n=new u(e,t)}catch(e){}const r=await fetch(n);s=await r.arrayBuffer()}catch(t){if(!e.startsWith("data:application/wasm;base64,"))throw t;s=(e=>{const t=e.split(",")[1],r=atob(t),s=r.length,n=new p(s);for(let e=0;s>e;++e)n[e]=r.charCodeAt(e);return n.buffer})(e)}r=(await WebAssembly.instantiate(s)).instance.exports,ne=r,({malloc:ae,free:ie,memory:oe}=ne),le=!0}var r})(e,n)}a=new jt(e,n),await t.pipeThrough(a).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:s,inputSize:i,outputSize:o}=a;return{signature:s,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{s()}})(e,t)}}function rr(e,t){const{baseURI:s,chunkSize:n}=t;let{wasmURI:a}=t;if(!e.interface){let i;typeof a==X&&(a=a());try{i=((e,t,s)=>{const n={type:"module"};let a,i;if(typeof e==X&&(e=e()),e.startsWith("data:")||e.startsWith("blob:"))try{i=new A(e)}catch(t){i=new A(e,n)}else{try{a=new u(e,t)}catch(t){a=e}i=new A(a,n)}return i.addEventListener("message",e=>(async({data:e},t)=>{const{type:s,value:n,messageId:a,result:i,error:o}=e,{reader:c,writer:l,resolveResult:d,rejectResult:u,onTaskFinished:w}=t;try{if(o){const{message:e,stack:t,code:s,name:n,outputSize:a}=o,i=new f(e);r.assign(i,{stack:t,code:s,name:n,outputSize:a}),h(i)}else{if("pull"==s){const{value:e,done:r}=await c.read();nr({type:qt,value:e,done:r,messageId:a},t)}s==qt&&(await l.ready,await l.write(new p(n)),nr({type:"ack",messageId:a},t)),s==Kt&&h(null,i)}}catch(o){nr({type:Kt,messageId:a},t),h(o)}function h(e,t){e?u(e):d(t),l&&l.releaseLock(),w()}})(e,s)),i})(e.workerURI,s,e)}catch(r){return Jt=!1,tr(e,t)}r.assign(e,{worker:i,interface:{run:()=>(async(e,t)=>{let s,n;const a=new y((e,t)=>{s=e,n=t});r.assign(e,{reader:null,writer:null,resolveResult:s,rejectResult:n,result:a});const{readable:i,options:o}=e,{writable:c,closed:l}=(e=>{let t;const r=new y(e=>t=e);return{writable:new R({async write(t){const r=e.getWriter();await r.ready,await r.write(t),r.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:r}})(e.writable),d=nr({type:"start",options:o,config:t,readable:i,writable:c},e);d||r.assign(e,{reader:i.getReader(),writer:c.getWriter()});const u=await a;return d||await c.getWriter().close(),await l,u})(e,{chunkSize:n,wasmURI:a,baseURI:s})}})}return e.interface}let sr=!0;function nr(e,{worker:t,writer:r,onTaskFinished:s,transferStreams:n}){try{const{value:r,readable:s,writable:a}=e,i=[];if(r&&(r.byteLength<r.buffer.byteLength?e.value=r.buffer.slice(0,r.byteLength):e.value=r.buffer,i.push(e.value)),n&&sr?(s&&i.push(s),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(r){sr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),s(),e}}let ar=[];const ir=[];let or=0;async function cr(e,t){const{options:r,config:s}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,signed:l,encrypted:d}=r,{workerURI:u,maxWorkers:f}=s;t.transferStreams=a||a===G;const p=!(c||l||d||t.transferStreams);return t.useWebWorkers=!p&&(i||i===G&&s.useWebWorkers),t.workerURI=t.useWebWorkers&&u?u:G,r.useCompressionStream=o||o===G&&s.useCompressionStream,(await(async()=>{const r=ar.find(e=>!e.busy);if(r)return lr(r),new Qt(r,e,t,w);if(ar.length<f){const r={indexWorker:or};return or++,ar.push(r),new Qt(r,e,t,w)}return new y(r=>ir.push({resolve:r,stream:e,workerOptions:t}))})()).run();function w(e){if(ir.length){const[{resolve:t,stream:r,workerOptions:s}]=ir.splice(0,1);t(new Qt(e,r,s,w))}else e.worker?(lr(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:s}=r;n.isFinite(s)&&s>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{ar=ar.filter(t=>t!=e);try{await e.terminate()}catch(e){}},s))})(e,t)):ar=ar.filter(t=>t!=e)}}function lr(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const dr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function ur(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=dr[e[r]];return t}})(e):new z(t).decode(e)}const fr="filename",pr="rawFilename",wr="comment",hr="rawComment",mr="uncompressedSize",gr="compressedSize",yr="offset",br="diskNumberStart",zr="lastModDate",Sr="rawLastModDate",_r="lastAccessDate",xr="creationDate",Er="internalFileAttributes",Fr="externalFileAttributes",Rr="msDosCompatible",kr="zip64",Dr="encrypted",Tr="version",Ar="versionMadeBy",vr="zipCrypto",Cr="directory",Ur="executable",Nr="compressionMethod",Ir="signature",Wr="extraField",Or=[fr,pr,gr,mr,zr,Sr,wr,hr,_r,xr,yr,br,br,Er,Fr,Rr,kr,Dr,Tr,Ar,vr,Cr,Ur,Nr,Ir,Wr,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Lr{constructor(e){Or.forEach(t=>this[t]=e[t])}}const Mr="password",Hr="rawPassword",Pr="passThrough",Br="signal",Zr="useWebWorkers",Vr="useCompressionStream",qr="preventClose",Kr="supportZip64SplitFile",Yr="offset",Gr="usdz",jr="File format is not recognized",Xr="End of central directory not found",Jr="End of Zip64 central directory locator not found",Qr="Central directory header not found",$r="Local file header not found",es="Zip64 extra field not found",ts="File contains encrypted entry",rs="Encryption method not supported",ss="Compression method not supported",ns="Split zip file",as="Overlapping entry found",is="utf-8",os="cp437",cs=[[mr,C],[gr,C],[yr,C],[br,U]],ls={[U]:{getValue:zs,bytes:4},[C]:{getValue:Ss,bytes:8}};class ds{constructor(e,t={}){r.assign(this,{reader:new Me(e),options:t,config:ee(),readRanges:[]})}async*getEntriesGenerator(e={}){const t=this;let{reader:s}=t;const{config:n}=t;if(await Pe(s),s.size!==G&&s.readUint8Array||(s=new Se(await new d(s.readable).blob()),await Pe(s)),s.size<P)throw new f(jr);s.chunkSize=te(n);const a=await(async(e,t,r)=>{const s=new p(4);var n;return n=t,_s(s).setUint32(0,n,!0),await a(22)||await a(i.min(1048582,r));async function a(t){const n=r-t,a=await Be(e,n,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:n+e,buffer:a.slice(e,e+22).buffer}}})(s,L,s.size);if(!a)throw zs(_s(await Be(s,0,4)))==I?new f(ns):new f(Xr);const o=_s(a);let c=zs(o,12),l=zs(o,16);const u=a.offset,w=bs(o,20),h=u+P+w;let m=bs(o,4);const g=s.lastDiskNumber||0;let b=bs(o,6),z=bs(o,8),S=0,_=0;if(l==C||c==C||z==U||b==U){const e=_s(await Be(s,a.offset-20,20));if(zs(e,0)==H){l=Ss(e,8);let t=await Be(s,l,56,-1),r=_s(t);const n=a.offset-20-56;if(zs(r,0)!=M&&l!=n){const e=l;l=n,l>e&&(S=l-e),t=await Be(s,l,56,-1),r=_s(t)}if(zs(r,0)!=M)throw new f(Jr);m==U&&(m=zs(r,16)),b==U&&(b=zs(r,20)),z==U&&(z=Ss(r,32)),c==C&&(c=Ss(r,40)),l-=c}}if(l<s.size||(S=s.size-l-c-P,l=s.size-c-P),g!=m)throw new f(ns);if(0>l)throw new f(jr);let x=0,F=await Be(s,l,c,b),R=_s(F);if(c){const e=a.offset-c;if(zs(R,x)!=O&&l!=e){const t=l;l=e,l>t&&(S+=l-t),F=await Be(s,l,c,b),R=_s(F)}}const k=a.offset-l-(s.lastDiskOffset||0);if(c==k||0>k||(c=k,F=await Be(s,l,c,b),R=_s(F)),0>l||l>=s.size)throw new f(jr);const D=hs(t,e,"filenameEncoding"),T=hs(t,e,"commentEncoding");for(let a=0;z>a;a++){const o=new us(s,n,t.options);if(zs(R,x)!=O)throw new f(Qr);fs(o,R,x+6);const c=!!o.bitFlag.languageEncodingFlag,l=x+46,u=l+o.filenameLength,p=u+o.extraFieldLength,w=bs(R,x+4),h=!(w>>8),m=w>>8==3,g=F.subarray(l,u),b=bs(R,x+32),k=p+b,A=F.subarray(p,k),v=c,C=c,U=zs(R,x+38),N=h&&!(16&~ys(R,x+38))||m&&16384==(U>>16&61440)||g.length&&47==g.at(-1),I=m&&!!(U>>16&73),W=zs(R,x+42)+S;r.assign(o,{versionMadeBy:w,msDosCompatible:h,compressedSize:0,uncompressedSize:0,commentLength:b,directory:N,offset:W,diskNumberStart:bs(R,x+34),internalFileAttributes:bs(R,x+36),externalFileAttributes:U,rawFilename:g,filenameUTF8:v,commentUTF8:C,rawExtraField:F.subarray(u,p),executable:I}),o.internalFileAttribute=o.internalFileAttributes,o.externalFileAttribute=o.externalFileAttributes;const L=hs(t,e,"decodeText")||ur,M=v?is:D||os,H=C?is:T||os;let P=L(g,M);P===G&&(P=ur(g,M));let B=L(A,H);B===G&&(B=ur(A,H)),r.assign(o,{rawComment:A,filename:P,comment:B,directory:N||P.endsWith(V)}),_=i.max(W,_),ps(o,o,R,x+6),o.zipCrypto=o.encrypted&&!o.extraFieldAES;const Z=new Lr(o);Z.getData=(e,r)=>o.getData(e,Z,t.readRanges,r),Z.arrayBuffer=async e=>{const r=new E,[s]=await y.all([new d(r.readable).arrayBuffer(),o.getData(r,Z,t.readRanges,e)]);return s},x=k;const{onprogress:q}=e;if(q)try{await q(a+1,z,new Lr(o))}catch(e){}yield Z}const A=hs(t,e,"extractPrependedData"),v=hs(t,e,"extractAppendedData");return A&&(t.prependedData=_>0?await Be(s,0,_):new p),t.comment=w?await Be(s,u+P,w):new p,v&&(t.appendedData=h<s.size?await Be(s,h,s.size-h):new p),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class us{constructor(e,t,s){r.assign(this,{reader:e,config:t,options:s})}async getData(e,t,s,n={}){const a=this,{reader:i,offset:o,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:u,config:w,bitFlag:h,signature:m,rawLastModDate:g,uncompressedSize:y,compressedSize:b}=a,{dataDescriptor:z}=h,S=t.localDirectory={},_=_s(await Be(i,o,q,c));let x=hs(a,n,Mr),E=hs(a,n,Hr);const F=hs(a,n,Pr);if(x=x&&x.length&&x,E=E&&E.length&&E,l&&99!=l.originalCompressionMethod)throw new f(ss);if(0!=u&&8!=u&&9!=u&&!F)throw new f(ss);if(zs(_,0)!=N)throw new f($r);fs(S,_,4);const{extraFieldLength:k,filenameLength:D,lastAccessDate:T,creationDate:A}=S;S.rawExtraField=k?await Be(i,o+q+D,k,c):new p,ps(a,S,_,4,!0),r.assign(t,{lastAccessDate:T,creationDate:A});const v=a.encrypted&&S.encrypted&&!F,C=v&&!l;if(F||(t.zipCrypto=C),v){if(!C&&l.strength===G)throw new f(rs);if(!x&&!E)throw new f(ts)}const U=o+q+D+k,I=b,O=i.readable;r.assign(O,{diskNumberStart:c,offset:U,size:I});const L=hs(a,n,Br),M=hs(a,n,"checkPasswordOnly");let H=hs(a,n,"checkOverlappingEntry");const P=hs(a,n,"checkOverlappingEntryOnly");P&&(H=!0);const{onstart:B,onprogress:Z,onend:V}=n,K=9==u;let Y=hs(a,n,Vr);K&&(Y=!1);const j={options:{codecType:Gt,password:x,rawPassword:E,zipCrypto:C,encryptionStrength:l&&l.strength,signed:hs(a,n,"checkSignature")&&!F,passwordVerification:C&&(z?g>>>8&255:m>>>24&255),outputSize:F?b:y,signature:m,compressed:0!=u&&!F,encrypted:a.encrypted&&!F,useWebWorkers:hs(a,n,Zr),useCompressionStream:Y,transferStreams:hs(a,n,"transferStreams"),deflate64:K,checkPasswordOnly:M},config:w,streamOptions:{signal:L,size:I,onstart:B,onprogress:Z,onend:V}};let X;H&&await(async({reader:e,fileEntry:t,offset:r,diskNumberStart:s,signature:n,compressedSize:a,uncompressedSize:i,dataOffset:o,dataDescriptor:c,extraFieldZip64:l,readRanges:d})=>{let u=0;if(s)for(let t=0;s>t;t++)u+=e.readers[t].size;let p=0;if(c&&(p=l?20:12),p){const r=await Be(e,o+a,p+4,s);if(zs(_s(r),0)==W){const e=zs(_s(r),4);let s,o;l?(s=Ss(_s(r),8),o=Ss(_s(r),16)):(s=zs(_s(r),8),o=zs(_s(r),12)),(t.encrypted&&!t.zipCrypto||e==n)&&s==a&&o==i&&(p+=4)}}const w={start:u+r,end:u+o+a+p,fileEntry:t};for(const e of d)if(e.fileEntry!=t&&w.start>=e.start&&w.start<e.end){const t=new f(as);throw t.overlappingEntry=e.fileEntry,t}d.push(w)})({reader:i,fileEntry:t,offset:o,diskNumberStart:c,signature:m,compressedSize:b,uncompressedSize:y,dataOffset:U,dataDescriptor:z||S.bitFlag.dataDescriptor,extraFieldZip64:d||S.extraFieldZip64,readRanges:s});try{if(!P){M&&(e=new R),e=new He(e),await Pe(e,F?b:y),({writable:X}=e);const{outputSize:t}=await cr({readable:O,writable:X},j);if(e.size+=t,t!=(F?b:y))throw new f(Mt)}}catch(t){if(t.outputSize!==G&&(e.size+=t.outputSize),!M||t.message!=tt)throw t}finally{hs(a,n,qr)||!X||X.locked||await X.getWriter().close()}return M||P?G:e.getData?e.getData():X}}function fs(e,t,s){const n=e.rawBitFlag=bs(t,s+2),a=!(1&~n),i=zs(t,s+6);r.assign(e,{encrypted:a,version:bs(t,s),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&Z)==Z},rawLastModDate:i,lastModDate:ms(i),filenameLength:bs(t,s+22),extraFieldLength:bs(t,s+24)})}function ps(e,t,s,n,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=_s(new p(i));let u=0;try{for(;u<i.length;){const e=bs(d,u),t=bs(d,u+2);l.set(e,{type:e,data:i.slice(u+4,u+4+t)}),u+=4+t}}catch(e){}const w=bs(s,n+4);r.assign(t,{signature:zs(s,n+10),compressedSize:zs(s,n+14),uncompressedSize:zs(s,n+18)});const h=l.get(1);h&&(((e,t)=>{t.zip64=!0;const r=_s(e.data),s=cs.filter(([e,r])=>t[e]==r);for(let n=0,a=0;n<s.length;n++){const[i,o]=s[n];if(t[i]==o){const s=ls[o];t[i]=e[i]=s.getValue(r,a),a+=s.bytes}else if(e[i])throw new f(es)}})(h,t),t.extraFieldZip64=h);const m=l.get(28789);m&&(ws(m,fr,pr,t,e),t.extraFieldUnicodePath=m);const g=l.get(25461);g&&(ws(g,wr,hr,t,e),t.extraFieldUnicodeComment=g);const y=l.get(39169);y?(((e,t,s)=>{const n=_s(e.data),a=ys(n,4);r.assign(e,{vendorVersion:ys(n,0),vendorId:ys(n,2),strength:a,originalCompressionMethod:s,compressionMethod:bs(n,5)}),t.compressionMethod=e.compressionMethod})(y,t,w),t.extraFieldAES=y):t.compressionMethod=w;const b=l.get(10);b&&(((e,t)=>{const s=_s(e.data);let n,a=4;try{for(;a<e.data.length&&!n;){const t=bs(s,a),r=bs(s,a+2);1==t&&(n=e.data.slice(a+4,a+4+r)),a+=4+r}}catch(e){}try{if(n&&24==n.length){const s=_s(n),a=s.getBigUint64(0,!0),i=s.getBigUint64(8,!0),o=s.getBigUint64(16,!0);r.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:gs(a),lastAccessDate:gs(i),creationDate:gs(o)};r.assign(e,c),r.assign(t,c)}}catch(e){}})(b,t),t.extraFieldNTFS=b);const z=l.get(B);z&&(((e,t,r)=>{const s=_s(e.data),n=ys(s,0),a=[],i=[];r?(1&~n||(a.push(zr),i.push(Sr)),2&~n||(a.push(_r),i.push("rawLastAccessDate")),4&~n||(a.push(xr),i.push("rawCreationDate"))):5>e.data.length||(a.push(zr),i.push(Sr));let c=1;a.forEach((r,n)=>{if(e.data.length>=c+4){const a=zs(s,c);t[r]=e[r]=new o(1e3*a);const l=i[n];e[l]=a}c+=4})})(z,t,a),t.extraFieldExtendedTimestamp=z);const S=l.get(6534);S&&(t.extraFieldUSDZ=S)}function ws(e,t,s,n,a){const i=_s(e.data),o=new Ve;o.append(a[s]);const c=_s(new p(4));c.setUint32(0,o.get(),!0);const l=zs(i,1);r.assign(e,{version:ys(i,0),[t]:ur(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==zs(c,0)}),e.valid&&(n[t]=e[t],n[t+"UTF8"]=!0)}function hs(e,t,r){return t[r]===G?e.options[r]:t[r]}function ms(e){const t=(4294901760&e)>>16,r=65535&e;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}catch(e){}}function gs(e){return new o(n(e/a(1e4)-a(116444736e5)))}function ys(e,t){return e.getUint8(t)}function bs(e,t){return e.getUint16(t,!0)}function zs(e,t){return e.getUint32(t,!0)}function Ss(e,t){return n(e.getBigUint64(t,!0))}function _s(e){return new m(e.buffer)}const xs="File already exists",Es="Zip file comment exceeds 64KB",Fs="File entry comment exceeds 64KB",Rs="File entry name exceeds 64KB",ks="Version exceeds 65535",Ds="The strength must equal 1, 2, or 3",Ts="Extra field type exceeds 65535",As="Extra field data exceeds 64KB",vs="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Cs="Undefined uncompressed size",Us="Zip file not empty",Ns=new p([7,0,2,0,65,69,3,0,0]);let Is=0;const Ws=[];class Os{constructor(e,t={}){const s=(e=new He(e)).availableSize!==G&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==G&&e.maxSize>0&&e.maxSize!==1/0;r.assign(this,{writer:e,addSplitZipSignature:s,options:t,config:ee(),files:new c,filenames:new l,offset:t[Yr]===G?e.size||e.writable.size||0:t[Yr],pendingEntriesSize:0,pendingAddFileCalls:new l,bufferedWrites:0})}async prependZip(e){if(this.filenames.size)throw new f(Us);e=new Me(e);const t=new ds(e.readable),s=await t.getEntries();await t.close(),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,compressionMethod:s,lastModDate:n,lastAccessDate:a,creationDate:i,rawFilename:o,bitFlag:c,encrypted:l,uncompressedSize:d,compressedSize:u,diskOffset:f,diskNumber:w,zip64:h}=e;let{rawExtraFieldZip64:m,rawExtraFieldAES:g,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraField:z}=e;const{level:S,languageEncodingFlag:_,dataDescriptor:x}=c;m=m||new p,g=g||new p,y=y||new p,b=b||new p,z=z||new p;const E=js(m,g,y,b,z),F=h&&d>C,R=h&&u>C,{headerArray:k,headerView:D}=Xs({version:t,bitFlag:Js(S,_,x,l,s),compressionMethod:s,uncompressedSize:d,compressedSize:u,lastModDate:n,rawFilename:o,zip64CompressedSize:R,zip64UncompressedSize:F,extraFieldLength:E});return r.assign(e,{zip64UncompressedSize:F,zip64CompressedSize:R,zip64Offset:h&&this.offset-f>C,zip64DiskNumberStart:h&&w>U,rawExtraFieldZip64:m,rawExtraFieldAES:g,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:b,rawExtraField:z,extendedTimestamp:y.length>0||b.length>0,extraFieldExtendedTimestampFlag:1+(a?2:0)+(i?4:0),headerArray:k,headerView:D}),[e.filename,e]}))}async add(e="",s,n={}){const c=this,{pendingAddFileCalls:l,config:u}=c;let h;Is<u.maxWorkers?Is++:await new y(e=>Ws.push(e));try{if(e=e.trim(),c.filenames.has(e))throw new f(xs);return c.filenames.add(e),h=(async(e,s,n,c)=>{s=s.trim();const l=Ps(e,c,Rr),u=Ps(e,c,Ar,l?20:768),h=Ps(e,c,Ur);if(u>U)throw new f(ks);let m=Ps(e,c,Fr,0);!c[Cr]&&s.endsWith(V)&&(c[Cr]=!0),Ps(e,c,Cr)?(s.endsWith(V)||(s+=V),0===m&&(m=16,l||(m|=16877<<16))):l||0!==m||(m=h?493<<16:27525120);const g=Ps(e,c,"encodeText",Ke);let b=g(s);if(b===G&&(b=Ke(s)),js(b)>U)throw new f(Rs);const z=c[wr]||"";let S=g(z);if(S===G&&(S=Ke(z)),js(S)>U)throw new f(Fs);const _=Ps(e,c,Tr,20);if(_>U)throw new f(ks);const x=Ps(e,c,zr,new o),F=Ps(e,c,_r),R=Ps(e,c,xr),k=Ps(e,c,Er,0),D=Ps(e,c,Pr);let T,A;D||(T=Ps(e,c,Mr),A=Ps(e,c,Hr));const v=Ps(e,c,"encryptionStrength",3),O=Ps(e,c,vr),L=Ps(e,c,"extendedTimestamp",!0),M=Ps(e,c,"keepOrder",!0),H=Ps(e,c,Zr),P=Ps(e,c,"bufferedWrite"),Z=Ps(e,c,"dataDescriptorSignature",!1),j=Ps(e,c,Br),X=Ps(e,c,"useUnicodeFileNames",!0),J=Ps(e,c,Nr);let Q=Ps(e,c,"level"),$=Ps(e,c,Vr),ee=Ps(e,c,"dataDescriptor");P&&ee===G&&(ee=!1),(ee===G||O)&&(ee=!0),Q!==G&&6!=Q&&($=!1),$||e.config.CompressionStream!==G||e.config.CompressionStreamZlib!==G||(Q=0);let re=Ps(e,c,kr);if(!O&&(T!==G||A!==G)&&(1>v||v>3))throw new f(Ds);let se=new p;const ne=c[Wr];if(ne){let e=0,t=0;ne.forEach(t=>e+=4+js(t)),se=new p(e),ne.forEach((e,r)=>{if(r>U)throw new f(Ts);if(js(e)>U)throw new f(As);Ys(se,new w([r]),t),Ys(se,new w([js(e)]),t+2),Ys(se,e,t+4),t+=4+js(e)})}let ae=0,ie=0,oe=0;if(D&&(oe=c[mr],oe===G))throw new f(Cs);const ce=!0===re;n&&(n=new Me(n),await Pe(n),D?(c.uncompressedSize=oe,ae=Bs(oe)):n.size===G?(ee=!0,(re||re===G)&&(re=!0,oe=ae=4294967296)):(c.uncompressedSize=oe=n.size,ae=Bs(oe)));const{diskOffset:le,diskNumber:de,maxSize:ue}=e.writer,fe=ce||oe>C,pe=ce||ae>C,we=ce||e.offset+e.pendingEntriesSize-le>C,he=Ps(e,c,Kr,!0)&&ce||de+i.ceil(e.pendingEntriesSize/ue)>U;if(we||fe||pe||he){if(!1===re||!M)throw new f(vs);re=!0}re=re||!1;const me=Ps(e,c,Dr),ge=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:s,creationDate:n,level:o,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:w,encryptionStrength:h,extendedTimestamp:m,passThrough:g,encrypted:y,zip64UncompressedSize:b,zip64CompressedSize:z,zip64Offset:S,zip64DiskNumberStart:_,uncompressedSize:x,offset:E,diskNumberStart:F}=e;let{version:R,compressionMethod:k}=e;const D=!f&&(o>0||o===G&&0!==k);let T;const A=g||!D,v=c&&(e.bufferedWrite||!b&&!z||A);if(c){let e=4;b&&(e+=8),z&&(e+=8),S&&(e+=8),_&&(e+=4),T=new p(e);const t=Gs(T);if(Vs(t,0,1),Vs(t,2,js(T)-4),v){const e=Gs(T);let t=4;b&&(Ks(e,t,a(x)),t+=8),z&&A&&(Ks(e,t,a(x)),t+=8),S&&(Ks(e,t,a(E)),t+=8),_&&(qs(e,t,F),t+=4)}}else T=new p;let C,U,I,W;if(y&&!l){C=new p(js(Ns)+2);const e=Gs(C);Vs(e,0,39169),Ys(C,Ns,2),Zs(e,8,h)}else C=new p;if(m){I=new p(9+(s?4:0)+(n?4:0));const e=Gs(I);Vs(e,0,B),Vs(e,2,js(I)-4),W=1+(s?2:0)+(n?4:0),Zs(e,4,W);let t=5;qs(e,t,i.floor(r.getTime()/1e3)),t+=4,s&&(qs(e,t,i.floor(s.getTime()/1e3)),t+=4),n&&qs(e,t,i.floor(n.getTime()/1e3));try{U=new p(36);const e=Gs(U),t=Hs(r);Vs(e,0,10),Vs(e,2,32),Vs(e,8,1),Vs(e,10,24),Ks(e,12,t),Ks(e,20,Hs(s)||t),Ks(e,28,Hs(n)||t)}catch(e){U=new p}}else U=I=new p;k===G&&(k=D?8:0),c&&(R=R>45?R:45),y&&!l&&(R=R>51?R:51,C[9]=k,k=99);const O=v?js(T):0,L=O+js(C,I,U,w),{headerArray:M,headerView:H,rawLastModDate:P}=Xs({version:R,bitFlag:Js(o,d,u,y,k),compressionMethod:k,uncompressedSize:x,lastModDate:Y>r?Y:r>K?K:r,rawFilename:t,zip64CompressedSize:z,zip64UncompressedSize:b,extraFieldLength:L});let Z=q;const V=new p(Z+js(t)+L),j=Gs(V);return qs(j,0,N),Ys(V,M,4),Ys(V,t,Z),Z+=js(t),v&&Ys(V,T,Z),Z+=O,Ys(V,C,Z),Z+=js(C),Ys(V,I,Z),Z+=js(I),Ys(V,U,Z),Z+=js(U),Ys(V,w,Z),u&&(qs(j,18,0),qs(j,22,0)),{localHeaderArray:V,localHeaderView:j,headerArray:M,headerView:H,lastModDate:r,rawLastModDate:P,encrypted:y,compressed:D,version:R,compressionMethod:k,extraFieldExtendedTimestampFlag:W,rawExtraFieldZip64:T,localExtraFieldZip64Length:O,rawExtraFieldExtendedTimestamp:I,rawExtraFieldNTFS:U,rawExtraFieldAES:C,extraFieldLength:L}})(c=r.assign({},c,{rawFilename:b,rawComment:S,version:_,versionMadeBy:u,lastModDate:x,lastAccessDate:F,creationDate:R,rawExtraField:se,zip64:re,zip64UncompressedSize:fe,zip64CompressedSize:pe,zip64Offset:we,zip64DiskNumberStart:he,password:T,rawPassword:A,level:Q,useWebWorkers:H,encryptionStrength:v,extendedTimestamp:L,zipCrypto:O,bufferedWrite:P,keepOrder:M,useUnicodeFileNames:X,dataDescriptor:ee,dataDescriptorSignature:Z,signal:j,msDosCompatible:l,internalFileAttribute:k,internalFileAttributes:k,externalFileAttribute:m,externalFileAttributes:m,useCompressionStream:$,passThrough:D,encrypted:!!(T&&js(T)||A&&js(A))||D&&me,signature:c[Ir],compressionMethod:J,uncompressedSize:oe,offset:e.offset-le,diskNumberStart:de})),ye=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let s,n=new p,a=0,i=e?20:12;return r&&(i+=4),t&&(n=new p(i),s=Gs(n),r&&(a=4,qs(s,0,W))),{dataDescriptorArray:n,dataDescriptorView:s,dataDescriptorOffset:a}})(c),be=js(ge.localHeaderArray,ye.dataDescriptorArray);let ze;ie=be+ae,e.options[Gr]&&(ie+=ie+64),e.pendingEntriesSize+=ie;try{ze=await(async(e,s,n,i,o)=>{const{files:c,writer:l}=e,{keepOrder:u,dataDescriptor:w,signal:h}=o,{headerInfo:m}=i,g=e.options[Gr],b=t.from(c.values()).pop();let z,S,_,x,F,R,k,D={};c.set(s,D);try{let t;u&&(t=b&&b.lock,D.lock=new y(e=>_=e)),!(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&u)&&w||g?(R=l,await T()):(R=new E,R.size=0,z=!0,e.bufferedWrites++,await Pe(l)),await Pe(R);const{writable:S,diskOffset:v}=l;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);qs(Gs(t),0,I),await Ms(l,t),e.offset+=4}g&&((e,t)=>{const{headerInfo:r}=e;let{localHeaderArray:s,extraFieldLength:n}=r,a=Gs(s),i=64-(t+js(s))%64;4>i&&(i+=64);const o=new p(i),c=Gs(o);Vs(c,0,6534),Vs(c,2,i-2);const l=s;r.localHeaderArray=s=new p(js(l)+i),Ys(s,l),Ys(s,o,js(l)),a=Gs(s),Vs(a,28,n+i),e.metadataSize+=i})(i,e.offset-v);const{localHeaderView:U,localHeaderArray:N}=m;z||(await t,await A(S));const{diskNumber:W}=l;F=!0,D.diskNumberStart=W,z?k=new d(R.readable).blob():await Ms(R,N),D=await(async(e,t,{diskNumberStart:s,lock:n},i,o,c)=>{const{headerInfo:l,dataDescriptorInfo:d,metadataSize:u}=i,{headerArray:f,headerView:p,lastModDate:w,rawLastModDate:h,encrypted:m,compressed:g,version:y,compressionMethod:b,rawExtraFieldZip64:z,localExtraFieldZip64Length:S,rawExtraFieldExtendedTimestamp:_,extraFieldExtendedTimestampFlag:x,rawExtraFieldNTFS:E,rawExtraFieldAES:F}=l,{dataDescriptorArray:R}=d,{rawFilename:k,lastAccessDate:D,creationDate:T,password:A,rawPassword:v,level:C,zip64:U,zip64UncompressedSize:N,zip64CompressedSize:I,zip64Offset:W,zip64DiskNumberStart:O,zipCrypto:L,dataDescriptor:M,directory:H,executable:P,versionMadeBy:B,rawComment:Z,rawExtraField:V,useWebWorkers:q,onstart:K,onprogress:Y,onend:j,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:ee,externalFileAttributes:re,useCompressionStream:se,passThrough:ne}=c,ae={lock:n,versionMadeBy:B,zip64:U,directory:!!H,executable:!!P,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:Z,rawExtraFieldZip64:z,localExtraFieldZip64Length:S,rawExtraFieldExtendedTimestamp:_,rawExtraFieldNTFS:E,rawExtraFieldAES:F,rawExtraField:V,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:ee,externalFileAttributes:re,diskNumberStart:s};let{signature:ie,uncompressedSize:oe}=c,ce=0;ne||(oe=0);const{writable:le}=t;if(e){e.chunkSize=te(o);const r=e.readable,s=e.size,n={options:{codecType:Yt,level:C,rawPassword:v,password:A,encryptionStrength:J,zipCrypto:m&&L,passwordVerification:m&&L&&h>>8&255,signed:!ne,compressed:g&&!ne,encrypted:m&&!ne,useWebWorkers:q,useCompressionStream:se,transferStreams:!1},config:o,streamOptions:{signal:X,size:s,onstart:K,onprogress:Y,onend:j}};try{const e=await cr({readable:r,writable:le},n);ce=e.outputSize,t.size+=ce,ne||(oe=e.inputSize,ie=e.signature)}catch(e){throw e.outputSize!==G&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:n},{zip64:i,zipCrypto:o,dataDescriptor:c})=>{const{headerView:l,encrypted:d}=s,{dataDescriptorView:u,dataDescriptorOffset:f}=n;d&&!o||e===G||(qs(l,10,e),c&&qs(u,f,e)),i?c&&(Ks(u,f+4,a(t)),Ks(u,f+12,a(r))):(qs(l,14,t),qs(l,18,r),c&&(qs(u,f+4,t),qs(u,f+8,r)))})({signature:ie,compressedSize:ce,uncompressedSize:oe,headerInfo:l,dataDescriptorInfo:d},c),M&&await Ms(t,R),r.assign(ae,{uncompressedSize:oe,compressedSize:ce,lastModDate:w,rawLastModDate:h,creationDate:T,lastAccessDate:D,encrypted:m,zipCrypto:L,size:u+ce,compressionMethod:b,version:y,headerArray:f,headerView:p,signature:ie,extraFieldExtendedTimestampFlag:x,zip64UncompressedSize:N,zip64CompressedSize:I,zip64Offset:W,zip64DiskNumberStart:O}),ae})(n,R,D,i,e.config,o);const{zip64:O}=D;if(F=!1,c.set(s,D),D.filename=s,z){const[r]=await y.all([k,R.writable.getWriter().close(),t]);await T(),x=!0,D.diskNumberStart=l.diskNumber,D.offset=e.offset-l.diskOffset,O&&Ls(D),(({rawFilename:e,encrypted:t,zip64:r,localExtraFieldZip64Length:s,signature:n,compressedSize:i,uncompressedSize:o,offset:c,diskNumberStart:l,zip64UncompressedSize:d,zip64CompressedSize:u,zip64Offset:f,zip64DiskNumberStart:p},w,{dataDescriptor:h})=>{if(h||(t||qs(w,14,n),r||(qs(w,18,i),qs(w,22,o))),r&&s){let t=q+js(e)+4;d&&(Ks(w,t,a(o)),t+=8),u&&(Ks(w,t,a(i)),t+=8),f&&(Ks(w,t,a(c)),t+=8),p&&qs(w,t,l)}})(D,U,o),await A(S),await Ms(l,N),await r.stream().pipeTo(S,{preventClose:!0,preventAbort:!0,signal:h}),l.size+=R.size,x=!1}else D.offset=e.offset-v,O&&Ls(D);if(D.offset>C&&!O)throw new f(vs);return e.offset+=D.size,D}catch(t){if(z&&x||!z&&F){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}z?e.offset+=R.size:e.offset=R.size}throw c.delete(s),t}finally{z&&e.bufferedWrites--,_&&_(),S&&S()}async function T(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new y(t=>S=()=>{e.writerLocked=!1,t()}),await t}async function A(e){js(m.localHeaderArray)>l.availableSize&&(l.availableSize=0,await Ms(e,new p))}})(e,s,n,{headerInfo:ge,dataDescriptorInfo:ye,metadataSize:be},c)}finally{e.pendingEntriesSize-=ie}return r.assign(ze,{name:s,comment:z,extraField:ne}),new Lr(ze)})(c,e,s,n),l.add(h),await h}catch(t){throw c.filenames.delete(e),t}finally{l.delete(h);const e=Ws.shift();e?e():Is--}}remove(e){const{filenames:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==G){const{filename:s}=e;if(t.has(s)&&r.has(s))return t.delete(s),r.delete(s),!0}return!1}async close(e=new p,r={}){const{pendingAddFileCalls:s,writer:n}=this,{writable:o}=n;for(;s.size;)await y.allSettled(t.from(s));return await(async(e,r,s)=>{const{files:n,writer:o}=e,{diskOffset:c}=o;let{diskNumber:l}=o,d=0,u=0,w=e.offset-c,h=n.size;for(const[,e]of n){const{rawFilename:t,rawExtraFieldZip64:r,rawExtraFieldAES:s,rawComment:n,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:c,extraFieldExtendedTimestampFlag:l,lastModDate:d}=e;let f;if(c){f=new p(9);const e=Gs(f);Vs(e,0,B),Vs(e,2,5),Zs(e,4,l),qs(e,5,i.floor(d.getTime()/1e3))}else f=new p;e.rawExtraFieldExtendedTimestamp=f,u+=46+js(t,n,r,s,a,f,o)}const m=new p(u),g=Gs(m);await Pe(o);let y=0;for(const[e,r]of t.from(n.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:c,rawExtraFieldExtendedTimestamp:l,rawExtraFieldNTFS:u,rawExtraField:f,rawComment:p,versionMadeBy:w,headerArray:h,headerView:b,zip64:z,zip64UncompressedSize:S,zip64CompressedSize:_,zip64DiskNumberStart:x,zip64Offset:E,internalFileAttributes:F,externalFileAttributes:R,diskNumberStart:k,uncompressedSize:D,compressedSize:T}=r,A=js(i,c,l,u,f);qs(g,d,O),Vs(g,d+4,w),S||qs(b,18,D),_||qs(b,14,T),Ys(m,h,d+6);let v=d+q;if(Vs(g,v,A),v+=2,Vs(g,v,js(p)),v+=2,Vs(g,v,z&&x?U:k),v+=2,Vs(g,v,F),v+=2,R&&qs(g,v,R),v+=4,qs(g,v,z&&E?C:t),v+=4,Ys(m,a,v),v+=js(a),Ys(m,i,v),v+=js(i),Ys(m,c,v),v+=js(c),Ys(m,l,v),v+=js(l),Ys(m,u,v),v+=js(u),Ys(m,f,v),v+=js(f),Ys(m,p,v),d-y>o.availableSize&&(o.availableSize=0,await Ms(o,m.slice(y,d)),y=d),d=v,s.onprogress)try{await s.onprogress(e+1,n.size,new Lr(r))}catch(e){}}await Ms(o,y?m.slice(y):m);let b=o.diskNumber;const{availableSize:z}=o;P>z&&b++;let S=Ps(e,s,kr);if(w>C||u>C||h>U||b>U){if(!1===S)throw new f(vs);S=!0}const _=new p(S?98:P),x=Gs(_);d=0,S&&(qs(x,0,M),Ks(x,4,a(44)),Vs(x,12,45),Vs(x,14,45),qs(x,16,b),qs(x,20,l),Ks(x,24,a(h)),Ks(x,32,a(h)),Ks(x,40,a(u)),Ks(x,48,a(w)),qs(x,56,H),Ks(x,64,a(w)+a(u)),qs(x,72,b+1),Ps(e,s,Kr,!0)&&(b=U,l=U),h=U,w=C,u=C,d+=76),qs(x,d,L),Vs(x,d+4,b),Vs(x,d+6,l),Vs(x,d+8,h),Vs(x,d+10,h),qs(x,d+12,u),qs(x,d+16,w);const E=js(r);if(E){if(E>U)throw new f(Es);Vs(x,d+20,E)}await Ms(o,_),E&&await Ms(o,r)})(this,e,r),Ps(this,r,qr)||await o.getWriter().close(),n.getData?n.getData():o}}function Ls({compressedSize:e,uncompressedSize:t,offset:r,diskNumberStart:s,zip64UncompressedSize:n,zip64CompressedSize:i,zip64Offset:o,zip64DiskNumberStart:c,rawExtraFieldZip64:l}){const d=Gs(l);let u=4;n&&(Ks(d,u,a(t)),u+=8),i&&(Ks(d,u,a(e)),u+=8),o&&(Ks(d,u,a(r)),u+=8),c&&qs(d,u,s)}async function Ms(e,t){const{writable:r}=e,s=r.getWriter();try{await s.ready,e.size+=js(t),await s.write(t)}finally{s.releaseLock()}}function Hs(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function Ps(e,t,r,s){const n=t[r]===G?e.options[r]:t[r];return n===G?s:n}function Bs(e){return e+5*(i.floor(e/16383)+1)}function Zs(e,t,r){e.setUint8(t,r)}function Vs(e,t,r){e.setUint16(t,r,!0)}function qs(e,t,r){e.setUint32(t,r,!0)}function Ks(e,t,r){e.setBigUint64(t,r,!0)}function Ys(e,t,r){e.set(t,r)}function Gs(e){return new m(e.buffer)}function js(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Xs({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:s,compressedSize:n,lastModDate:a,rawFilename:i,zip64CompressedSize:o,zip64UncompressedSize:c,extraFieldLength:l}){const d=new p(26),u=Gs(d);Vs(u,0,e),Vs(u,2,t),Vs(u,4,r);const f=new h(1),w=Gs(f);Vs(w,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),Vs(w,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const m=f[0];return qs(u,6,m),(o||n!==G)&&qs(u,14,o?C:n),(c||s!==G)&&qs(u,18,c?C:s),Vs(u,22,js(i)),Vs(u,24,l),{headerArray:d,headerView:u,rawLastModDate:m}}function Js(e,t,r,s,n){let a=0;return t&&(a|=Z),r&&(a|=8),8!=n&&9!=n||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),s&&(a|=1),a}let Qs;try{Qs=void 0===S&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===S?location.href:v&&"SCRIPT"===v.tagName.toUpperCase()&&v.src||new u("zip-core.min.js",S.baseURI).href}catch(e){}re({baseURI:Qs,CompressionStreamZlib:class{constructor(e="deflate",t){return ce(!0,e,t)}},DecompressionStreamZlib:class{constructor(e="deflate",t){return ce(!1,e,t)}}}),e.BlobReader=Se,e.BlobWriter=_e,e.Data64URIReader=class extends be{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const s=e.indexOf(",")+1;r.assign(this,{dataURI:e,dataStart:s,size:i.floor(.75*(t-s))})}readUint8Array(e,t){const{dataStart:r,dataURI:s}=this,n=new p(t),a=4*i.floor(e/3),o=atob(s.substring(a+r,4*i.ceil((e+t)/3)+r)),c=e-3*i.floor(a/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)n[e-c]=o.charCodeAt(e),l++;return l<n.length?n.subarray(0,l):n}},e.Data64URIWriter=class extends ze{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r=0,n=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)n+=s.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=s.fromCharCode(e[r]);n.length&&(n.length>2?t.data+=x(n):t.pending+=n)}getData(){return this.data+x(this.pending)}},e.ERR_BAD_FORMAT=jr,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Qr,e.ERR_DUPLICATED_NAME=xs,e.ERR_ENCRYPTED=ts,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Jr,e.ERR_EOCDR_NOT_FOUND=Xr,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=es,e.ERR_HTTP_RANGE=fe,e.ERR_INVALID_COMMENT=Es,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ds,e.ERR_INVALID_ENTRY_COMMENT=Fs,e.ERR_INVALID_ENTRY_NAME=Rs,e.ERR_INVALID_EXTRAFIELD_DATA=As,e.ERR_INVALID_EXTRAFIELD_TYPE=Ts,e.ERR_INVALID_PASSWORD=$e,e.ERR_INVALID_SIGNATURE=et,e.ERR_INVALID_UNCOMPRESSED_SIZE=Mt,e.ERR_INVALID_VERSION=ks,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=$r,e.ERR_OVERLAPPING_ENTRY=as,e.ERR_SPLIT_ZIP_FILE=ns,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Cs,e.ERR_UNSUPPORTED_COMPRESSION=ss,e.ERR_UNSUPPORTED_ENCRYPTION=rs,e.ERR_UNSUPPORTED_FORMAT=vs,e.ERR_ZIP_NOT_EMPTY=Us,e.HttpRangeReader=class extends We{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=We,e.Reader=be,e.SplitDataReader=Oe,e.SplitDataWriter=Le,e.TextReader=class extends Se{constructor(e){super(new g([e],{type:"text/plain"}))}},e.TextWriter=class extends _e{constructor(e){super(e),r.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((n,a)=>{r.assign(t,{onload:({target:e})=>n(e.result),onerror:()=>a(t.error)}),t.readAsText(s,e)})}}},e.Uint8ArrayReader=class extends be{constructor(e){super(),e=new p(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends ze{init(e=0){r.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const r=t.array;t.array=new p(r.length+e.length),t.array.set(r)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=ze,e.ZipReader=ds,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:r}=new E,s=new ds(t,e).getEntriesGenerator();this.readable=new F({async pull(e){const{done:t,value:r}=await s.next();if(t)return e.close();const n={...r,readable:(()=>{const{readable:e,writable:t}=new E;if(r.getData)return r.getData(t),e})()};delete n.getData,e.enqueue(n)}}),this.writable=r}},e.ZipWriter=Os,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new E;this.readable=t,this.zipWriter=new Os(r,e)}transform(e){const{readable:t,writable:r}=new E({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:r}}writable(e){const{readable:t,writable:r}=new E;return this.zipWriter.add(e,t),r}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=re,e.getMimeType=()=>"application/octet-stream",e.resetWasmModule=de,e.terminateWorkers=async()=>{await y.allSettled(ar.map(e=>(lr(e),e.terminate()))),de()}});
@@ -2877,7 +2877,7 @@
2877
2877
  if (chunk && chunk.length) {
2878
2878
  controller.enqueue(chunk);
2879
2879
  codec.outputSize += chunk.length;
2880
- if (options.outputSize && codec.outputSize > options.outputSize) {
2880
+ if (options.outputSize !== UNDEFINED_VALUE && codec.outputSize > options.outputSize) {
2881
2881
  throw new Error(ERR_INVALID_UNCOMPRESSED_SIZE);
2882
2882
  }
2883
2883
  }
@@ -4020,7 +4020,7 @@
4020
4020
  encryptionStrength: extraFieldAES && extraFieldAES.strength,
4021
4021
  signed: getOptionValue$1(zipEntry, options, OPTION_CHECK_SIGNATURE) && !passThrough,
4022
4022
  passwordVerification: zipCrypto && (dataDescriptor ? ((rawLastModDate >>> 8) & 0xFF) : ((signature >>> 24) & 0xFF)),
4023
- outputSize: uncompressedSize,
4023
+ outputSize: passThrough ? compressedSize : uncompressedSize,
4024
4024
  signature,
4025
4025
  compressed: compressionMethod != 0 && !passThrough,
4026
4026
  encrypted: zipEntry.encrypted && !passThrough,