single-file-core 1.6.22 → 1.6.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/index.js +27 -4
- package/core/lib/processor-helper-common.js +49 -10
- package/core/lib/processor-helper-inline.js +2 -2
- package/core/lib/processor-helper.js +3 -3
- package/modules/css-fonts-minifier.js +65 -47
- package/modules/css-media-query-utils.js +44 -44
- package/modules/css-medias-alt-minifier.js +3 -0
- package/modules/css-nested-rules.js +44 -0
- package/modules/css-rules-minifier.js +1 -2
- package/modules/css-scope-prelude-parser.js +61 -61
- package/modules/css-selector-sanitizer.js +79 -79
- package/modules/css-specificity.js +138 -110
- package/modules/html-minifier.js +1 -1
- package/package.json +1 -1
- package/processors/compression/compression-display.js +5 -2
- package/processors/compression/compression.js +5 -0
- package/processors/hooks/content/content-hooks-frames-web.js +25 -12
- package/vendor/zip/zip.js +31 -15
- package/vendor/zip/zip.min.js +1 -1
|
@@ -988,9 +988,14 @@ async function getContent() {
|
|
|
988
988
|
}
|
|
989
989
|
let storedDirectoryOffset = view.getUint32(endOfDirectoryOffset + 16, true);
|
|
990
990
|
let directoryOffset = endOfDirectoryOffset - view.getUint32(endOfDirectoryOffset + 12, true);
|
|
991
|
+
let signature = 0x02014b50;
|
|
991
992
|
if (locatorOffset >= 0 && view.getUint32(locatorOffset, true) == 0x07064b50) {
|
|
992
993
|
storedDirectoryOffset = view.getUint32(locatorOffset + 8, true) + view.getUint32(locatorOffset + 12, true) * 0x100000000;
|
|
993
994
|
directoryOffset = locatorOffset - 56;
|
|
995
|
+
signature = 0x06064b50;
|
|
996
|
+
}
|
|
997
|
+
if (directoryOffset < 0 || view.getUint32(directoryOffset, true) != signature) {
|
|
998
|
+
return 0;
|
|
994
999
|
}
|
|
995
1000
|
return Math.max(0, storedDirectoryOffset - directoryOffset);
|
|
996
1001
|
}
|
|
@@ -57,12 +57,26 @@
|
|
|
57
57
|
display: "font-display",
|
|
58
58
|
featureSettings: "font-feature-settings",
|
|
59
59
|
lineGapOverride: "line-gap-override",
|
|
60
|
+
sizeAdjust: "size-adjust",
|
|
60
61
|
stretch: "font-stretch",
|
|
61
62
|
style: "font-style",
|
|
62
63
|
unicodeRange: "unicode-range",
|
|
63
64
|
variationSettings: "font-variation-settings",
|
|
64
65
|
weight: "font-weight"
|
|
65
66
|
};
|
|
67
|
+
const FONT_FACE_DEFAULT_VALUES = {
|
|
68
|
+
ascentOverride: "normal",
|
|
69
|
+
descentOverride: "normal",
|
|
70
|
+
display: "auto",
|
|
71
|
+
featureSettings: "normal",
|
|
72
|
+
lineGapOverride: "normal",
|
|
73
|
+
sizeAdjust: "100%",
|
|
74
|
+
stretch: "normal",
|
|
75
|
+
style: "normal",
|
|
76
|
+
unicodeRange: "u+0-10ffff",
|
|
77
|
+
variationSettings: "normal",
|
|
78
|
+
weight: "normal"
|
|
79
|
+
};
|
|
66
80
|
|
|
67
81
|
const fetch = globalThis.fetch.bind(globalThis);
|
|
68
82
|
const CustomEvent = globalThis.CustomEvent;
|
|
@@ -411,8 +425,9 @@
|
|
|
411
425
|
if (!new.target) {
|
|
412
426
|
return origFontFace();
|
|
413
427
|
}
|
|
414
|
-
|
|
415
|
-
|
|
428
|
+
const fontFace = new origFontFace(family, source, ...args);
|
|
429
|
+
getDetailObject(fontFace, source).then(detail => document.dispatchEvent(new CustomEvent(NEW_FONT_FACE_EVENT, { detail })));
|
|
430
|
+
return fontFace;
|
|
416
431
|
} catch (error) {
|
|
417
432
|
error.stack = error.message + "\n" + " \n" + error.stack.trim().split("\n").slice(-1).join("\n");
|
|
418
433
|
throw error;
|
|
@@ -424,7 +439,7 @@
|
|
|
424
439
|
const deleteFont = document.fonts.delete;
|
|
425
440
|
document.fonts.delete = function (fontFace) {
|
|
426
441
|
try {
|
|
427
|
-
getDetailObject(fontFace
|
|
442
|
+
getDetailObject(fontFace).then(detail => document.dispatchEvent(new CustomEvent(DELETE_FONT_EVENT, { detail })));
|
|
428
443
|
return deleteFont.call(document.fonts, fontFace);
|
|
429
444
|
} catch (error) {
|
|
430
445
|
error.stack = error.message + "\n" + " \n" + error.stack.trim().split("\n").slice(-1).join("\n");
|
|
@@ -605,17 +620,15 @@
|
|
|
605
620
|
event.currentTarget.removeEventListener(GET_ADOPTED_STYLESHEETS_REQUEST_EVENT, getAdoptedStylesheetsListener, { capture: true });
|
|
606
621
|
}
|
|
607
622
|
|
|
608
|
-
async function getDetailObject(
|
|
623
|
+
async function getDetailObject(fontFace, src) {
|
|
609
624
|
const detail = {};
|
|
610
|
-
|
|
625
|
+
Object.keys(FONT_STYLE_PROPERTIES).forEach(descriptor => {
|
|
626
|
+
const value = fontFace[descriptor];
|
|
627
|
+
if (typeof value == "string" && value && value.toLowerCase() != FONT_FACE_DEFAULT_VALUES[descriptor]) {
|
|
628
|
+
detail[FONT_STYLE_PROPERTIES[descriptor]] = value;
|
|
629
|
+
}
|
|
630
|
+
});
|
|
611
631
|
detail.src = src;
|
|
612
|
-
if (descriptors) {
|
|
613
|
-
Object.keys(descriptors).forEach(descriptor => {
|
|
614
|
-
if (FONT_STYLE_PROPERTIES[descriptor]) {
|
|
615
|
-
detail[FONT_STYLE_PROPERTIES[descriptor]] = descriptors[descriptor];
|
|
616
|
-
}
|
|
617
|
-
});
|
|
618
|
-
}
|
|
619
632
|
if (detail.src instanceof ArrayBuffer) {
|
|
620
633
|
const bytes = new Uint8Array(detail.src);
|
|
621
634
|
let content = "";
|
package/vendor/zip/zip.js
CHANGED
|
@@ -5000,11 +5000,8 @@ class ZipReader {
|
|
|
5000
5000
|
directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
|
|
5001
5001
|
directoryView = getDataView(directoryArray);
|
|
5002
5002
|
const offsetDelta = directoryDataOffset - originalDirectoryDataOffset;
|
|
5003
|
-
const
|
|
5004
|
-
|
|
5005
|
-
await startsWithSignature(reader, localHeaderOffset, LOCAL_FILE_HEADER_SIGNATURE);
|
|
5006
|
-
const shiftedLocalHeaderFound = localHeaderOffset !== UNDEFINED_VALUE &&
|
|
5007
|
-
await startsWithSignature(reader, localHeaderOffset + offsetDelta, LOCAL_FILE_HEADER_SIGNATURE);
|
|
5003
|
+
const { localHeaderFound, shiftedLocalHeaderFound } =
|
|
5004
|
+
await probeLocalHeaders(reader, directoryArray, directoryView, offsetDelta);
|
|
5008
5005
|
if (offsetDelta > 0 && !(localHeaderFound && !shiftedLocalHeaderFound)) {
|
|
5009
5006
|
prependedDataLength += offsetDelta;
|
|
5010
5007
|
prependedCentralDirectory = storedPointsAtDirectory;
|
|
@@ -5055,7 +5052,7 @@ class ZipReader {
|
|
|
5055
5052
|
const commentEncoding = getOptionValue$1(zipReader, options, OPTION_COMMENT_ENCODING);
|
|
5056
5053
|
const filenames = new Set();
|
|
5057
5054
|
let duplicateFilename;
|
|
5058
|
-
let previousEntryPosition = -
|
|
5055
|
+
let previousEntryPosition = -Infinity;
|
|
5059
5056
|
const recoverWrappedFilesLength = !checkAmbiguity && !zip64EndOfDirectory;
|
|
5060
5057
|
if (!filesLength && recoverWrappedFilesLength) {
|
|
5061
5058
|
filesLength = getWrappedFilesLength(directoryView, directoryArray, offset);
|
|
@@ -5691,25 +5688,44 @@ async function findZip64EndOfDirectoryOffset(reader, endOffset) {
|
|
|
5691
5688
|
}
|
|
5692
5689
|
}
|
|
5693
5690
|
|
|
5694
|
-
function
|
|
5695
|
-
|
|
5696
|
-
|
|
5691
|
+
async function probeLocalHeaders(reader, directoryArray, directoryView, offsetDelta) {
|
|
5692
|
+
let result = { localHeaderFound: false, shiftedLocalHeaderFound: false };
|
|
5693
|
+
let recordOffset = 0;
|
|
5694
|
+
while (recordOffset + CENTRAL_FILE_HEADER_LENGTH <= directoryArray.length &&
|
|
5695
|
+
getUint32$1(directoryView, recordOffset) == CENTRAL_FILE_HEADER_SIGNATURE) {
|
|
5696
|
+
const localHeaderOffset = getLocalHeaderOffset(directoryArray, directoryView, recordOffset);
|
|
5697
|
+
if (localHeaderOffset !== UNDEFINED_VALUE) {
|
|
5698
|
+
const localHeaderFound = await startsWithSignature(reader, localHeaderOffset, LOCAL_FILE_HEADER_SIGNATURE);
|
|
5699
|
+
const shiftedLocalHeaderFound = await startsWithSignature(reader, localHeaderOffset + offsetDelta, LOCAL_FILE_HEADER_SIGNATURE);
|
|
5700
|
+
if (!recordOffset) {
|
|
5701
|
+
result = { localHeaderFound, shiftedLocalHeaderFound };
|
|
5702
|
+
}
|
|
5703
|
+
if (localHeaderFound != shiftedLocalHeaderFound) {
|
|
5704
|
+
return { localHeaderFound, shiftedLocalHeaderFound };
|
|
5705
|
+
}
|
|
5706
|
+
}
|
|
5707
|
+
recordOffset += CENTRAL_FILE_HEADER_LENGTH + getUint16$1(directoryView, recordOffset + 28) +
|
|
5708
|
+
getUint16$1(directoryView, recordOffset + 30) + getUint16$1(directoryView, recordOffset + 32);
|
|
5697
5709
|
}
|
|
5698
|
-
|
|
5710
|
+
return result;
|
|
5711
|
+
}
|
|
5712
|
+
|
|
5713
|
+
function getLocalHeaderOffset(directoryArray, directoryView, recordOffset) {
|
|
5714
|
+
const localHeaderOffset = getUint32$1(directoryView, recordOffset + 42);
|
|
5699
5715
|
if (localHeaderOffset != MAX_32_BITS) {
|
|
5700
5716
|
return localHeaderOffset;
|
|
5701
5717
|
}
|
|
5702
|
-
let offsetExtraField = CENTRAL_FILE_HEADER_LENGTH + getUint16$1(directoryView, 28);
|
|
5703
|
-
const endExtraField = Math.min(offsetExtraField + getUint16$1(directoryView, 30), directoryArray.length);
|
|
5718
|
+
let offsetExtraField = recordOffset + CENTRAL_FILE_HEADER_LENGTH + getUint16$1(directoryView, recordOffset + 28);
|
|
5719
|
+
const endExtraField = Math.min(offsetExtraField + getUint16$1(directoryView, recordOffset + 30), directoryArray.length);
|
|
5704
5720
|
while (offsetExtraField + 4 <= endExtraField) {
|
|
5705
5721
|
const type = getUint16$1(directoryView, offsetExtraField);
|
|
5706
5722
|
const size = getUint16$1(directoryView, offsetExtraField + 2);
|
|
5707
5723
|
if (type == EXTRAFIELD_TYPE_ZIP64) {
|
|
5708
5724
|
let offsetValue = offsetExtraField + 4;
|
|
5709
|
-
if (getUint32$1(directoryView, 24) == MAX_32_BITS) {
|
|
5725
|
+
if (getUint32$1(directoryView, recordOffset + 24) == MAX_32_BITS) {
|
|
5710
5726
|
offsetValue += 8;
|
|
5711
5727
|
}
|
|
5712
|
-
if (getUint32$1(directoryView, 20) == MAX_32_BITS) {
|
|
5728
|
+
if (getUint32$1(directoryView, recordOffset + 20) == MAX_32_BITS) {
|
|
5713
5729
|
offsetValue += 8;
|
|
5714
5730
|
}
|
|
5715
5731
|
return offsetValue + 8 <= endExtraField ? getBigUint64(directoryView, offsetValue) : UNDEFINED_VALUE;
|
|
@@ -9123,7 +9139,7 @@ function formatSupported(StreamClass, format) {
|
|
|
9123
9139
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
9124
9140
|
*/
|
|
9125
9141
|
|
|
9126
|
-
const VERSION = "2.
|
|
9142
|
+
const VERSION = "2.23.0";
|
|
9127
9143
|
|
|
9128
9144
|
/*
|
|
9129
9145
|
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
package/vendor/zip/zip.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
((t,e)=>{"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})})(this,function(t){"use strict";const{Array:e,Object:n,String:r,Number:o,BigInt:s,Math:a,Date:i,Map:c,Set:u,Response:f,URL:w,Error:l,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:b,TextDecoder:v,crypto:S,btoa:k,TransformStream:z,ReadableStream:x,WritableStream:R,CompressionStream:D,DecompressionStream:C,navigator:A,Worker:F,setTimeout:I,clearTimeout:E}="undefined"!=typeof globalThis?globalThis:self,U=4294967295,T=65535,M=255,O=67324752,W=134695760,L=W,P=84233040,H=33639248,B=101075792,Z=117853008,V=46,q=22,N=20,j=56,K=8192,_=61440,G=new i(1980,0,1),X=void 0,$="Zip64 extra field not found",J="undefined",Q="function",Y="string",tt="boolean",et=new d,nt=Symbol.asyncDispose||Symbol(),rt="checkAmbiguity",ot="strictness",st="strict",at="balanced",it="tolerant";function ct(t){if(t&&typeof t!=Q)throw new l("Invalid option (must be a function)");return t}function ut(t){if(t&&t.aborted)throw t.reason===X?new DOMException("The operation was aborted","AbortError"):t.reason}function ft(t){return typeof t==Y&&t.trim()?o(t):t}const wt=262144;let lt=2;try{typeof A!=J&&A.hardwareConcurrency&&(lt=A.hardwareConcurrency)}catch{}const dt={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:wt,maxWorkers:lt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof D!=J&&D,DecompressionStream:typeof C!=J&&C},pt="maxWorkers",ht="baseURI",mt=["wasmURI","workerURI"],yt=["chunkSize",pt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],gt=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],bt=[ht,...mt,"useCompressionStream","useWebWorkers",...yt,...gt],vt={...dt};function St(){return vt}function kt(t){return zt(t.chunkSize)}function zt(t){return t=ft(t),o.isInteger(t)&&t>=1?a.max(t,64):wt}function xt(t){const e={};for(const n of bt){const r=t[n];r!==X&&(e[n]=Rt(n,r))}return e}function Rt(t,e){if(yt.includes(t)){if(e=ft(e),t==pt&&(!o.isInteger(e)||1>e))throw new l("Invalid maxWorkers (must be an integer greater than 0)")}else if(gt.includes(t))ct(e);else if(t==ht){if(e&&typeof e!=Y)throw new l("Invalid baseURI (must be a string)")}else if(mt.includes(t)&&e&&typeof e!=Y&&typeof e!=Q)throw new l("Invalid URI (must be a string or a function returning a string)");return e}function Dt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===X&&r===X)return t;const o=n.assign({},t);return o.CompressionStreamFallback===X&&(o.CompressionStreamFallback=e),o.DecompressionStreamFallback===X&&(o.DecompressionStreamFallback=r),o}var Ct=d,At=p,Ft=Int32Array,It=new Ct([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Et=new Ct([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ut=new Ct([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Tt=(t,e)=>{for(var n=new At(31),r=0;31>r;++r)n[r]=e+=1<<t[r-1];var o=new Ft(n[30]);for(r=1;30>r;++r)for(var s=n[r];s<n[r+1];++s)o[s]=s-n[r]<<5|r;return{b:n,r:o}},Mt=Tt(It,2),Ot=Mt.b,Wt=Mt.r;Ot[28]=258,Wt[258]=28;for(var Lt=Tt(Et,0).b,Pt=new At(32768),Ht=0;32768>Ht;++Ht){var Bt=(43690&Ht)>>1|(21845&Ht)<<1;Bt=(61680&(Bt=(52428&Bt)>>2|(13107&Bt)<<2))>>4|(3855&Bt)<<4,Pt[Ht]=((65280&Bt)>>8|(255&Bt)<<8)>>1}var Zt=(t,e,n)=>{for(var r=t.length,o=0,s=new At(e);r>o;++o)t[o]&&++s[t[o]-1];var a,i=new At(e);for(o=1;e>o;++o)i[o]=i[o-1]+s[o-1]<<1;if(n){a=new At(1<<e);var c=15-e;for(o=0;r>o;++o)if(t[o])for(var u=o<<4|t[o],f=e-t[o],w=i[t[o]-1]++<<f,l=w|(1<<f)-1;l>=w;++w)a[Pt[w]>>c]=u}else for(a=new At(r),o=0;r>o;++o)t[o]&&(a[o]=Pt[i[t[o]-1]++]>>15-t[o]);return a},Vt=new Ct(288);for(Ht=0;144>Ht;++Ht)Vt[Ht]=8;for(Ht=144;256>Ht;++Ht)Vt[Ht]=9;for(Ht=256;280>Ht;++Ht)Vt[Ht]=7;for(Ht=280;288>Ht;++Ht)Vt[Ht]=8;var qt=new Ct(32);for(Ht=0;32>Ht;++Ht)qt[Ht]=5;var Nt=Zt(Vt,9,1),jt=Zt(qt,5,1),Kt=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},_t=(t,e,n)=>{var r=e/8|0;return(t[r]|t[r+1]<<8)>>(7&e)&n},Gt=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},Xt=t=>(t+7)/8|0,$t=(t,e,n)=>((null==e||0>e)&&(e=0),(null==n||n>t.length)&&(n=t.length),new Ct(t.subarray(e,n))),Jt=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Qt=(t,e,n)=>{var r=new l(e||Jt[t]);if(r.code=t,l.captureStackTrace&&l.captureStackTrace(r,Qt),!n)throw r;return r},Yt=(t,e,n,r)=>{var o=t.length,s=r?r.length:0;if(!o||e.f&&!e.o)return n||new Ct(0);var i=!n,c=i||2!=e.i,u=e.i;i&&(n=new Ct(3*o));var f=t=>{var e=n.length;if(t>e){var r=new Ct(a.max(2*e,t));r.set(n),n=r}},w=e.f||0,l=e.p||0,d=e.b||0,p=e.o,h=e.d,m=e.l,y=e.n,g=8*o;do{if(!p){w=_t(t,l,1);var b=_t(t,l+1,3);if(l+=3,!b){var v=t[(E=Xt(l)+4)-4]|t[E-3]<<8,S=E+v;if(S>o){u&&Qt(0);break}c&&f(d+v),n.set(t.subarray(E,S),d),e.b=d+=v,e.p=l=8*S,e.f=w;continue}if(1==b)p=Nt,h=jt,m=9,y=5;else if(2==b){var k=_t(t,l,31)+257,z=_t(t,l+10,15)+4,x=k+_t(t,l+5,31)+1;l+=14;for(var R=new Ct(x),D=new Ct(19),C=0;z>C;++C)D[Ut[C]]=_t(t,l+3*C,7);l+=3*z;var A=Kt(D),F=(1<<A)-1,I=Zt(D,A,1);for(C=0;x>C;){var E,U=I[_t(t,l,F)];if(l+=15&U,16>(E=U>>4))R[C++]=E;else{var T=0,M=0;for(16==E?(M=3+_t(t,l,3),l+=2,T=R[C-1]):17==E?(M=3+_t(t,l,7),l+=3):18==E&&(M=11+_t(t,l,127),l+=7);M--;)R[C++]=T}}var O=R.subarray(0,k),W=R.subarray(k);m=Kt(O),y=Kt(W),p=Zt(O,m,1),h=Zt(W,y,1)}else Qt(1);if(l>g){u&&Qt(0);break}}c&&f(d+131072);for(var L=(1<<m)-1,P=(1<<y)-1,H=l;;H=l){var B=(T=p[Gt(t,l)&L])>>4;if((l+=15&T)>g){u&&Qt(0);break}if(T||Qt(2),256>B)n[d++]=B;else{if(256==B){H=l,p=null;break}var Z=B-254;if(B>264){var V=It[C=B-257];Z=_t(t,l,(1<<V)-1)+Ot[C],l+=V}var q=h[Gt(t,l)&P],N=q>>4;if(q||Qt(3),l+=15&q,W=Lt[N],N>3&&(V=Et[N],W+=Gt(t,l)&(1<<V)-1,l+=V),l>g){u&&Qt(0);break}c&&f(d+131072);var j=d+Z;if(W>d){var K=s-W,_=a.min(W,j);for(0>K+d&&Qt(3);_>d;++d)n[d]=r[K+d]}for(;j>d;++d)n[d]=n[d-W]}}e.o=p,e.p=H,e.b=d,e.f=w,p&&(w=1,e.l=m,e.d=h,e.n=y)}while(!w);return d!=n.length&&i?$t(n,0,d):n.subarray(0,d)},te=new Ct(0),ee=function(){function t(t,e){"function"==typeof t&&(e=t,t={}),this.h=e;var n=t&&t.m&&t.m.subarray(-32768);this.s={i:0,b:n?n.length:0},this.v=new Ct(32768),this.p=new Ct(0),n&&this.v.set(n)}return t.prototype.e=function(t){if(this.h||Qt(5),this.d&&Qt(4),this.p.length){if(t.length){var e=new Ct(this.p.length+t.length);e.set(this.p),e.set(t,this.p.length),this.p=e}}else this.p=t},t.prototype.c=function(t){this.s.i=+(this.d=t||!1);var e=this.s.b,n=Yt(this.p,this.s,this.v);this.h($t(n,e,this.s.b),this.d),this.v=$t(n,this.s.b-32768),this.s.b=this.v.length,this.p=$t(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(t,e){this.e(t),this.c(e)},t}(),ne=void 0!==v&&new v;try{ne.decode(te,{stream:!0})}catch(t){}class re extends z{constructor(t){super({start(e){t.h=t=>{t.length&&e.enqueue(t)}},transform(e){t.push(e)},flush(){t.push(new d(0),!0)}})}}const oe="Compression method not supported",se=new c,ae=new c;function ie(t){return ae.get(t)}const ce=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;ce[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const n=ce[e-1][t];ce[e][t]=n>>>8^ce[0][255&n]}const[ue,fe,we,le,de,pe,he,me]=ce;class ye{constructor(t){this.S=t||-1}append(t){let e=0|this.S;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const o=new m(t.buffer,t.byteOffset,n),s=n-8;for(;s>=r;r+=8){const t=e^o.getInt32(r,!0),n=o.getInt32(r+4,!0);e=me[255&t]^he[t>>>8&255]^pe[t>>>16&255]^de[t>>>24&255]^le[255&n]^we[n>>>8&255]^fe[n>>>16&255]^ue[n>>>24&255]}}for(;n>r;r++)e=e>>>8^ue[255&(e^t[r])];this.S=e}get(){return~this.S}}class ge extends z{constructor(){let t;const e=new ye;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function be(t,e){const n=new d(t.length+e.length);return n.set(t),n.set(e,t.length),n}function ve(t){return new m(t.buffer,t.byteOffset,t.byteLength)}const Se=64,ke=20,ze=new d([128]),xe=new d(1),Re=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),De=new d(256),Ce=new Int32Array(256),Ae=new Int32Array(256),Fe=new Int32Array(256),Ie=new Int32Array(256);let Ee=!1;function Ue(t){const e=(()=>{const t=new Int32Array(Re),e=new Int32Array(16),n=new d(Se),r=new m(n.buffer),o=new d(8);let s=0,i=0;return{update:c,digest:()=>{const e=8*i,n=a.floor(e/4294967296),r=e>>>0;for(c(ze,0,1);56!=s;)c(xe,0,1);o[0]=n>>>24,o[1]=n>>>16,o[2]=n>>>8,o[3]=n,o[4]=r>>>24,o[5]=r>>>16,o[6]=r>>>8,o[7]=r,c(o,0,8);const u=new d(ke),f=new m(u.buffer);for(let e=0;e<t.length;e++)f.setInt32(4*e,t[e]);return t.set(Re),s=0,i=0,u}};function c(t,e,o){const a=e+o;if(i+=o,s){for(;a>e&&Se>s;)n[s++]=t[e++];s==Se&&(u(r,0),s=0)}if(a>=e+Se){const n=new m(t.buffer,t.byteOffset,t.byteLength);for(;a>=e+Se;e+=Se)u(n,e)}for(;a>e;)n[s++]=t[e++]}function u(n,r){for(let t=0;16>t;t++)e[t]=n.getInt32(r+4*t);let o,s=t[0],a=t[1],i=t[2],c=t[3],u=t[4];for(let t=0;15>t;t+=5)u=(s<<5|s>>>27)+((i^c)&a^c)+u+1518500249+e[t]|0,a=a<<30|a>>>2,c=(u<<5|u>>>27)+((a^i)&s^i)+c+1518500249+e[t+1]|0,s=s<<30|s>>>2,i=(c<<5|c>>>27)+((s^a)&u^a)+i+1518500249+e[t+2]|0,u=u<<30|u>>>2,a=(i<<5|i>>>27)+((u^s)&c^s)+a+1518500249+e[t+3]|0,c=c<<30|c>>>2,s=(a<<5|a>>>27)+((c^u)&i^u)+s+1518500249+e[t+4]|0,i=i<<30|i>>>2;u=(s<<5|s>>>27)+((i^c)&a^c)+u+1518500249+e[15]|0,a=a<<30|a>>>2,o=e[13]^e[8]^e[2]^e[0],o=o<<1|o>>>31,e[0]=o,c=(u<<5|u>>>27)+((a^i)&s^i)+c+1518500249+o|0,s=s<<30|s>>>2,o=e[14]^e[9]^e[3]^e[1],o=o<<1|o>>>31,e[1]=o,i=(c<<5|c>>>27)+((s^a)&u^a)+i+1518500249+o|0,u=u<<30|u>>>2,o=e[15]^e[10]^e[4]^e[2],o=o<<1|o>>>31,e[2]=o,a=(i<<5|i>>>27)+((u^s)&c^s)+a+1518500249+o|0,c=c<<30|c>>>2,o=e[0]^e[11]^e[5]^e[3],o=o<<1|o>>>31,e[3]=o,s=(a<<5|a>>>27)+((c^u)&i^u)+s+1518500249+o|0,i=i<<30|i>>>2;for(let t=20;40>t;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,u=(s<<5|s>>>27)+(a^i^c)+u+1859775393+o|0,a=a<<30|a>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(u<<5|u>>>27)+(s^a^i)+c+1859775393+o|0,s=s<<30|s>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,i=(c<<5|c>>>27)+(u^s^a)+i+1859775393+o|0,u=u<<30|u>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,a=(i<<5|i>>>27)+(c^u^s)+a+1859775393+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,s=(a<<5|a>>>27)+(i^c^u)+s+1859775393+o|0,i=i<<30|i>>>2;for(let t=40;60>t;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,u=(s<<5|s>>>27)+(a&i|(a|i)&c)+u+2400959708+o|0,a=a<<30|a>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(u<<5|u>>>27)+(s&a|(s|a)&i)+c+2400959708+o|0,s=s<<30|s>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,i=(c<<5|c>>>27)+(u&s|(u|s)&a)+i+2400959708+o|0,u=u<<30|u>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,a=(i<<5|i>>>27)+(c&u|(c|u)&s)+a+2400959708+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,s=(a<<5|a>>>27)+(i&c|(i|c)&u)+s+2400959708+o|0,i=i<<30|i>>>2;for(let t=60;80>t;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,u=(s<<5|s>>>27)+(a^i^c)+u+3395469782+o|0,a=a<<30|a>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(u<<5|u>>>27)+(s^a^i)+c+3395469782+o|0,s=s<<30|s>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,i=(c<<5|c>>>27)+(u^s^a)+i+3395469782+o|0,u=u<<30|u>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,a=(i<<5|i>>>27)+(c^u^s)+a+3395469782+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,s=(a<<5|a>>>27)+(i^c^u)+s+3395469782+o|0,i=i<<30|i>>>2;t[0]=t[0]+s|0,t[1]=t[1]+a|0,t[2]=t[2]+i|0,t[3]=t[3]+c|0,t[4]=t[4]+u|0}})(),n=new d(Se),r=new d(Se);t.length>Se&&(e.update(t,0,t.length),t=e.digest());for(let e=0;Se>e;e++){const o=e<t.length?t[e]:0;n[e]=54^o,r[e]=92^o}return e.update(n,0,Se),{update(t,n,r){e.update(t,n,r)},digest(){const t=e.digest();e.update(r,0,Se),e.update(t,0,ke);const o=e.digest();return e.update(n,0,Se),o}}}function Te(t){return De[t>>>24]<<24|De[t>>>16&255]<<16|De[t>>>8&255]<<8|De[255&t]}function Me(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function Oe(t){return 255&(t<<1^27*(t>>7))}const We=typeof S!=J&&typeof S.getRandomValues==Q,Le="Invalid password",Pe="zipjs-abort-check-password";function He(t){if(We)return S.getRandomValues(t);throw new l("Crypto API not supported")}const Be={name:"PBKDF2"},Ze=n.assign({hash:{name:"HMAC"}},Be),Ve=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Be),qe=["deriveBits"],Ne=[8,12,16],je=[16,24,32],Ke=10,_e=typeof S!=J,Ge=_e&&S.subtle;let Xe=_e&&typeof Ge!=J&&typeof Ge.importKey==Q&&typeof Ge.deriveBits==Q;class $e extends z{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){const s={};super({start(){Qe(s,t,e,n)},async transform(t,e){const{password:n,strength:o,R:a,ready:i}=s;if(n?(await(async(t,e,n,r)=>{const o=await nn(t,e,n,on(r,0,Ne[e])),s=on(r,Ne[e]);if(o[0]!=s[0]||o[1]!=s[1])throw en(t),new l(Le)})(s,o,n,on(t,0,Ne[o]+2)),t=on(t,Ne[o]+2),r?(en(s),e.error(new l(Pe))):a()):await i,s.D)return;const c=new d(t.length-Ke-(t.length-Ke)%16);e.enqueue(tn(s,t,c,0,Ke,!0))},async flush(t){const{C:e,A:n,ready:r}=s;if(e){if(await r,s.D)return;const a=on(n,n.length-Ke),i=new d(on(n,0,n.length-Ke));e.process(i,!0);const c=e.digest();let u=n.length<Ke?1:0;for(let t=0;Ke>t;t++)u|=c[t]^a[t];if(u&&o)return void t.error(new l("Invalid authentication code"));t.enqueue(i)}}}),Ye(this,s)}}class Je extends z{constructor({password:t,rawPassword:e,encryptionStrength:n}){const r={};super({start(){Qe(r,t,e,n)},async transform(t,e){const{password:n,strength:o,R:s,ready:a}=r;let i=et;if(n?(i=await(async(t,e,n)=>{const r=He(new d(Ne[e]));return be(r,await nn(t,e,n,r))})(r,o,n),s()):await a,r.D)return;const c=new d(i.length+t.length-t.length%16);c.set(i,0),e.enqueue(tn(r,t,c,i.length,0,!1))},async flush(t){const{C:e,A:n,ready:o}=r;if(e){if(await o,r.D)return;const s=new d(n);e.process(s,!1);const a=on(e.digest(),0,Ke);t.enqueue(be(s,a))}}}),Ye(this,r)}}function Qe(t,e,r,o){n.assign(t,{ready:new g(e=>t.R=e),password:rn(e,r),strength:o-1,A:et,D:!1})}function Ye(t,e){const r=t.readable.getReader(),o=new x({async pull(t){try{const{value:e,done:n}=await r.read();n?t.close():t.enqueue(e)}catch(t){throw en(e),r.cancel(t).catch(()=>{}),t}},cancel:t=>(en(e),r.cancel(t))});n.defineProperty(t,"readable",{get:()=>o})}function tn(t,e,n,r,o,s){const{C:a,A:i}=t;i.length&&(e=be(i,e));const c=e.length-o,u=c-c%16;if(n=((t,e)=>{if(e&&e>t.length){const n=t;(t=new d(e)).set(n,0)}return t})(n,r+u),u){const t=on(n,r,r+u);t.set(on(e,0,u)),a.process(t,s)}return t.A=on(e,u),n}function en(t){const{C:e}=t;t.D=!0,e&&e.dispose&&e.dispose()}async function nn(t,e,r,o){t.password=null;const s=je[e],i=await(async(t,e,r)=>{if(Xe)try{const o=await Ge.importKey("raw",t,Ze,!1,qe);return new d(await Ge.deriveBits(n.assign({salt:e},Ve),o,8*r))}catch{Xe=!1}return((t,e,n,r)=>{const o=Ue(t),s=new d(r),i=new d(e.length+4),c=new m(i.buffer);i.set(e);for(let t=1,n=0;r>n;t++,n+=ke){c.setUint32(e.length,t),o.update(i,0,i.length);let u=o.digest();const f=u.slice();for(let t=1;1e3>t;t++){o.update(u,0,ke),u=o.digest();for(let t=0;ke>t;t++)f[t]^=u[t]}s.set(f.subarray(0,a.min(ke,r-n)),n)}return s})(t,e,0,r)})(r,o,2*s+2);return t.C=((t,e)=>{(()=>{if(!Ee){let t=1,e=1;do{t=255&(t^t<<1^(128&t?27:0)),e=255&(e^e<<1),e=255&(e^e<<2),e=255&(e^e<<4),128&e&&(e^=9),De[t]=255&(e^(e<<1|e>>7)^(e<<2|e>>6)^(e<<3|e>>5)^(e<<4|e>>4)^99)}while(1!=t);De[0]=99;for(let t=0;256>t;t++){const e=De[t],n=Oe(e),r=n<<24|e<<16|e<<8|n^e;Ce[t]=r,Ae[t]=r>>>8|r<<24,Fe[t]=r>>>16|r<<16,Ie[t]=r>>>24|r<<8}Ee=!0}})();const n=new Int32Array(60),r=((t,e)=>{const n=t.length>>2,r=n+6,o=4*(r+1);let s=1;for(let r=0;n>r;r++)e[r]=t[4*r]<<24|t[4*r+1]<<16|t[4*r+2]<<8|t[4*r+3];for(let t=n;o>t;t++){let r=e[t-1];t%n==0?(r=Te(r<<8|r>>>24)^s<<24,s=Oe(s)):n>6&&t%n==4&&(r=Te(r)),e[t]=e[t-n]^r}return r})(t,n),o=new Int32Array(4),s=Ue(e);let a=0,i=0,c=0,u=0;return{process(t,e){e&&s.update(t,0,t.length),(t=>{const e=new m(t.buffer,t.byteOffset,t.byteLength),n=t.length;let r=0;for(;n>=r+16;r+=16)f(),e.setInt32(r,e.getInt32(r)^o[0]),e.setInt32(r+4,e.getInt32(r+4)^o[1]),e.setInt32(r+8,e.getInt32(r+8)^o[2]),e.setInt32(r+12,e.getInt32(r+12)^o[3]);if(n>r){f();for(let e=0;n>r;r++,e++)t[r]^=o[e>>2]>>>24-8*(3&e)}})(t),e||s.update(t,0,t.length)},digest:()=>s.digest()};function f(){a=a+1|0,a||(i=i+1|0,i||(c=c+1|0,c||(u=u+1|0)));let t=Me(a)^n[0],e=Me(i)^n[1],s=Me(c)^n[2],f=Me(u)^n[3],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[4],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[5],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[6],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[7];t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[8],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[9],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[10],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[11],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[12],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[13],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[14],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[15],t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[16],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[17],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[18],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[19],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[20],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[21],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[22],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[23],t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[24],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[25],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[26],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[27],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[28],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[29],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[30],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[31],t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[32],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[33],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[34],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[35],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[36],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[37],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[38],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[39];let h=40;r>10&&(t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[40],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[41],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[42],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[43],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[44],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[45],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[46],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[47],h=48),r>12&&(t=Ce[w>>>24]^Ae[l>>>16&255]^Fe[d>>>8&255]^Ie[255&p]^n[48],e=Ce[l>>>24]^Ae[d>>>16&255]^Fe[p>>>8&255]^Ie[255&w]^n[49],s=Ce[d>>>24]^Ae[p>>>16&255]^Fe[w>>>8&255]^Ie[255&l]^n[50],f=Ce[p>>>24]^Ae[w>>>16&255]^Fe[l>>>8&255]^Ie[255&d]^n[51],w=Ce[t>>>24]^Ae[e>>>16&255]^Fe[s>>>8&255]^Ie[255&f]^n[52],l=Ce[e>>>24]^Ae[s>>>16&255]^Fe[f>>>8&255]^Ie[255&t]^n[53],d=Ce[s>>>24]^Ae[f>>>16&255]^Fe[t>>>8&255]^Ie[255&e]^n[54],p=Ce[f>>>24]^Ae[t>>>16&255]^Fe[e>>>8&255]^Ie[255&s]^n[55],h=56),o[0]=(De[w>>>24]<<24|De[l>>>16&255]<<16|De[d>>>8&255]<<8|De[255&p])^n[h],o[1]=(De[l>>>24]<<24|De[d>>>16&255]<<16|De[p>>>8&255]<<8|De[255&w])^n[h+1],o[2]=(De[d>>>24]<<24|De[p>>>16&255]<<16|De[w>>>8&255]<<8|De[255&l])^n[h+2],o[3]=(De[p>>>24]<<24|De[w>>>16&255]<<16|De[l>>>8&255]<<8|De[255&d])^n[h+3]}})(on(i,0,s),on(i,s,2*s)),t.D&&en(t),on(i,2*s)}function rn(t,e){return e===X?(t=>{if(typeof b==J){const e=new d((t=unescape(encodeURIComponent(t))).length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new b).encode(t)})(t):e}function on(t,e,n){return t.subarray(e,n)}class sn extends z{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){cn(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=un(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new l(Le);t=t.subarray(12)}r?e.error(new l(Pe)):e.enqueue(un(n,t))}})}}class an extends z{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){cn(this,t,e,n)},transform(t,e){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=He(new d(12));e[11]=n.passwordVerification,r=new d(t.length+e.length),r.set(fn(n,e),0),o=12}else r=new d(t.length),o=0;r.set(fn(n,t),o),e.enqueue(r)}})}}function cn(t,e,r,o){n.assign(t,{password:e,rawPassword:r,passwordVerification:o}),((t,e,r)=>{const o=[305419896,591751049,878082192];if(n.assign(t,{F:o,I:new ye(o[0]),U:new ye(o[2])}),r)for(let e=0;e<r.length;e++)wn(t,r[e]);else for(let n=0;n<e.length;n++)wn(t,e.charCodeAt(n))})(t,e,r)}function un(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=ln(t)^e[r],wn(t,n[r]);return n}function fn(t,e){const n=new d(e.length);for(let r=0;r<e.length;r++)n[r]=ln(t)^e[r],wn(t,e[r]);return n}function wn(t,e){let[,n]=t.F;t.I.append([e]);const r=~t.I.get();n=pn(a.imul(pn(n+dn(r)),134775813)+1),t.U.append([n>>>24]);const o=~t.U.get();t.F=[r,n,o]}function ln(t){const e=2|t.F[2];return dn(a.imul(e,1^e)>>>8)}function dn(t){return 255&t}function pn(t){return 4294967295&t}function hn(t){if(t instanceof x)return t;const e=t.getReader();return new x({async pull(t){try{const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)}catch(t){throw e.cancel(t).catch(()=>{}),t}},cancel:t=>e.cancel(t)})}function mn(t,e){t=hn(t);const n=e?{type:e}:{};if(typeof y.prototype.stream!=Q||new y([]).stream()instanceof x)return new f(t).blob().then(t=>e?new y([t],n):t);const r=[];return t.pipeTo(new R({write(t){r.push(t)}})).then(()=>new y(r,n))}function yn(t){if(t instanceof R)return t;const e=t.getWriter();return new R({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}function gn(t){return!!t&&"object"==typeof t}const bn="Invalid uncompressed size",vn="Codec out of memory",Sn="Invalid CRC32",kn="deflate-raw",zn="gzip",xn=[31,139,8];class Rn extends z{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:s,useCompressionStream:a,zipCrypto:i,computeCrc32:c,level:u,deflate64:f,format:w,compressionMethod:l,inputSize:d}=t,p=this;let h,y,g,b=super.readable;const v=w&&ie(w),S=En(a,r,n),k=c&&o&&!f&&!v&&(!s||i)&&!!S;if(s&&!i||!c||k||(h=new ge,b=Tn(b,h)),o)if(v)b=Mn(b,In(v.CompressionStream,w,{level:u,chunkSize:e,compressionMethod:l,uncompressedSize:d}));else if(k)g=new Dn,b=Mn(b,new S(zn,{level:u,chunkSize:e})),b=Tn(b,g);else try{b=Un(b,a,{level:u,chunkSize:e},r,n)}catch(t){if(!a&&n)throw Hn(t);let e;try{e=new r(zn)}catch{throw Hn(t)}b=Mn(b,e),b=Tn(b,new Dn)}s&&(i?b=Tn(b,new an(t)):(y=new Je(t),b=Tn(b,y))),Fn(p,b,()=>{s&&!i||!c||(p.crc32=k?g.crc32:new m(h.value.buffer).getUint32(0))})}}class Dn extends z{constructor(){let t,e=10,n=new d(0);super({transform(t,r){if(e){const n=a.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const o=n.length+t.length;if(8>=o)return void(n=be(n,t));const s=o-8,i=a.min(s,n.length);r.enqueue(be(n.subarray(0,i),t.subarray(0,s-i))),n=be(n.subarray(i),t.subarray(s-i))},flush(){const e=ve(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Cn extends z{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:s,checkCrc32:a,crc32:i,compressed:c,useCompressionStream:f,deflate64:w,format:p,compressionMethod:h,rawBitFlag:y,outputSize:b}=t;let v,S,k,z=super.readable;if(s&&(o?z=Tn(z,new sn(t)):(S=new $e(t),z=Tn(z,S))),c){const t=new u,o=p&&ie(p);let s;if(o)z=Mn(z,In(o.DecompressionStream,p,{chunkSize:e,compressionMethod:h,rawBitFlag:y,uncompressedSize:b}),t);else{const o=En(f,r,n);if(a&&!w&&i!==X&&b!==X&&o)try{s=new o(zn,{chunkSize:e})}catch{s=X}if(!s)try{z=Un(z,f,{chunkSize:e,deflate64:w},r,n,t)}catch(t){if(w||b===X||!f&&n)throw Hn(t);try{s=new r(zn)}catch{throw Hn(t)}}}s?(k=!0,z=((t,e,n,r,o)=>{const s=e.writable.getWriter(),a=e.readable.getReader(),i=r===X?new ye:X;let c,u,f=0,w=!1,p=!1;const h=new x({start(t){u=t},pull(){b()},cancel:t=>(p=!0,b(),a.cancel(t))});return(async()=>{const e=t.getReader();try{const t=new d(10);for(t.set(xn),await s.write(t);;){await y(),await s.ready;const{value:t,done:n}=await Ln(e,o);if(n)break;await s.write(t)}i&&await s.write(new d(0));const a=new d(8),c=ve(a);c.setUint32(0,i?i.get():r,!0),c.setUint32(4,n,!0),w=!0,await s.write(a),await s.close()}catch(t){await On(s,t),await Wn(e,t)}})(),(async()=>{try{for(;;){const{value:t,done:e}=await m();if(e)break;if(f+=t.length,f>n)throw new l(bn);i&&i.append(t),u.enqueue(t)}p||(p=!0,u.close())}catch(t){(t=>{p||(p=!0,u.error(t),b())})(t),await Wn(a,t)}})(),h;function m(){return a.read().catch(t=>{if(w){if(!i)throw Zn(t,Sn);if(f!=n)throw Zn(t,bn);return{done:!0}}throw Pn(t,o)})}function y(){if(!p&&0>=u.desiredSize)return new g(t=>c=t)}function b(){if(c){const t=c;c=X,t()}}})(z,s,b,i,t)):z=((t,e)=>{const n=t.getReader();return new x({async pull(t){try{const{value:e,done:r}=await n.read();r?t.close():t.enqueue(e)}catch(t){throw await Wn(n,t),Pn(t,e)}},cancel:t=>n.cancel(t)})})(z,t)}a&&!k&&(v=new ge,z=Tn(z,v)),Fn(this,z,()=>{if(v){const t=new m(v.value.buffer).getUint32(0,!1);if(i!=t)throw new l(Sn)}})}}const An=new c;function Fn(t,e,r){e=Tn(e,new z({flush:r})),n.defineProperty(t,"readable",{get:()=>e})}function In(t,e,n){if(!t)throw new l(oe);return new t(e,n)}function En(t,e,n){return t&&e?e:n&&n.requiresModule?n:void 0}function Un(t,e,n,r,o,s){const a=e&&r?r:o||r,i=n.deflate64?"deflate64-raw":kn;let c;try{c=new a(i,n)}catch(t){if(!e||!o||a==o)throw t;c=new o(i,n)}return Mn(t,c,s)}function Tn(t,e){return hn(t).pipeThrough(e)}function Mn(t,e,n){const r=e.writable.getWriter(),o=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await Ln(o,n);if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await On(r,t),await Wn(o,t)}})(),e.readable}async function On(t,e){try{await t.abort(e)}catch{}}async function Wn(t,e){try{await t.cancel(e)}catch{}}function Ln(t,e){const n=t.read();return e?n.catch(t=>{throw e.add(t),t}):n}function Pn(t,e){return e.has(t)?t:Zn(t,Bn(t)?vn:"Invalid compressed data")}function Hn(t){return Bn(t)?Zn(t,vn):t}function Bn(t){return gn(t)&&"Z_MEM_ERROR"==t.code}function Zn(t,e){const n=new l(e);return n.cause=t,n}const Vn="deflate",qn="inflate";class Nn extends z{constructor(t,e){super({});const r=this,{codecType:o}=t;let s;o.startsWith(Vn)?s=Rn:o.startsWith(qn)&&(s=Cn),r.outputSize=0;let a=0;const i=new s(t,e),c=super.readable,u=new z({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){n.assign(r,{inputSize:a})}}),f=new z({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==X&&r.outputSize>t.outputSize))throw new l(bn)},flush(){const{crc32:t}=i;n.assign(r,{crc32:t,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(i).pipeThrough(f)})}}class jn extends z{constructor(t){const e=[];let r=0,s=0;function a(){const n=new d(t);let o=0;for(;t>o;){const r=e[0],s=t-o;r.length>s?(n.set(r.subarray(0,s),o),e[0]=r.subarray(s),o+=s):(n.set(r,o),o+=r.length,e.shift())}return r-=t,n}o.isFinite(t)&&t>=1||(t=262144),super({transform(n,o){for(e.push(n),r+=n.length;r>t;)s+=t,o.enqueue(a())},flush(t){r&&(s+=r,t.enqueue(((t,e)=>{const n=new d(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n})(e,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let Kn=()=>{};class _n{constructor(t,{readable:e,writable:r},o,s){const{options:a,config:i,T:u,useWebWorkers:f,workerURI:w}=o;let{createWorker:l}=o;const{signal:d}=u;return n.assign(t,{M:!0,O:(t.O||0)+1,readable:e.pipeThrough(new jn(kt(i))).pipeThrough(new Gn(u),{signal:d}),writable:r,options:n.assign({},a),W:o,workerURI:w,createWorker:l,terminate:()=>new g(e=>{const{L:n,M:r}=t;r?(t.P=t.P||[],t.P.push(e)):(n&&(n.terminate(),t.L=null),e()),t.H=null}),B(){if(t.M){const{P:e,L:n}=t;e&&(t.P=null,n&&(t.Z=!0,n.terminate())),t.M=!1;const r=s(t);e&&e.forEach(t=>t(r))}}}),((t,e)=>({run:()=>(async({options:t,readable:e,writable:n,B:r,W:o},s)=>{let a,i,u;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Vn),n=e?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=e?s.CompressionStream:s.DecompressionStream;t.useCompressionStream?n&&n.requiresModule&&!((t,e)=>{if(!t)return!1;let n=An.get(t);n||(n=new c,An.set(t,n));let r=n.get(e);if(r===X){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r})(r,kn)&&await f():await f()||n&&!n.requiresModule||(t.useCompressionStream=!0)}t.encrypted&&!t.zipCrypto&&await f(),a=new Nn(t,s),i=new jn(kt(s));const{signal:r}=o.T;await e.pipeThrough(a).pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0,signal:r});const{crc32:u,inputSize:w,outputSize:l}=a;return{crc32:u,inputSize:w,outputSize:l}}catch(t){if(a){const e=i?i.outputSize:0;if(o.outputSize=e,gn(t))try{t.outputSize=e}catch{}}throw t}finally{r()}function f(){return u||(u=(async()=>{if(Kn)try{return await void 0,!0}catch{}return!1})()),u}})(t,e)}))(t,i)}}class Gn extends z{constructor({onstart:t,onprogress:e,size:n,onend:r}){let o=0;super({async start(){t&&await Xn(t,n)},async transform(t,r){o+=t.length,e&&await Xn(e,o,n),r.enqueue(t)},async flush(){r&&await Xn(r,o)}})}}async function Xn(t,...e){try{await t(...e)}catch{}}let $n=[];const Jn=[];let Qn,Yn,tr=0;function er(){!Qn&&Jn.length&&o.isFinite(Yn)&&Yn>=0&&(Qn=I(rr,Yn))}function nr(){Qn&&(E(Qn),Qn=null)}function rr(){if(Qn=null,Jn.length){const[{resolve:t,stream:e,W:n}]=Jn.splice(0,1);t(new _n({},e,or(n),sr)),er()}}function or(t){return n.assign({},t,{useWebWorkers:!1,workerURI:X,createWorker:X})}function sr(){nr(),er()}function ar(t){const{V:e}=t;e&&(E(e),t.V=null)}const ir="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function cr(t,e){return fr(t,e,!0)}function ur(t){if(!t.some(t=>t>127))return!1;try{return new v("utf-8",{fatal:!0}).decode(t),!0}catch{return!1}}function fr(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?(t=>{let e="";for(let n=0;n<t.length;n++)e+=ir[t[n]];return e})(t):new v(e,{ignoreBOM:n}).decode(t)}const wr="HTTP error ",lr="HTTP Range not supported",dr="HTTP resource changed",pr="Content-Range",hr="Range",mr="GET",yr="bytes",gr=16777216,br="writable",vr=Symbol();class Sr{constructor(){this.size=0}init(){this.initialized=!0}}class kr extends Sr{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=kt(St())}={}){const r=this;let o=0;return n=zt(n),new x({async pull(s){const i=e===X?n:a.min(n,e-o),c=await Yr(r,t+o,i);c.length&&(s.enqueue(c),o+=c.length),(e!==X&&o>=e||!c.length&&i)&&s.close()}})}}class zr extends Sr{constructor(){super();const t=this,e=new R({write(e){if(!t.initialized)throw new l("Writer not initialized");return t.writeUint8Array((n=e).byteOffset||n.byteLength!=n.buffer.byteLength?new d(n):n);var n}});n.defineProperty(t,br,{get:()=>e})}writeUint8Array(){}}let xr,Rr;class Dr extends kr{constructor(t){super(),n.assign(this,{N:t,size:t.size}),Rr||(Rr=(async()=>{try{const t=new y([new d(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();xr=1==e}catch{xr=!1}})())}createReadable(t){const{N:e,size:n}=this,{offset:r=0,size:o=n-r}=t||{};if(typeof e.stream==Q){if(!r&&o>=n)return hn(e.stream());if(xr)return hn(e.slice(r,r+o).stream())}return super.createReadable(t)}async readUint8Array(t,e){const n=this,r=t+e,o=t||r<n.size?n.N.slice(t,r):n.N;let s=await o.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,r)),new d(s)}}class Cr extends Sr{constructor(t){super();const e=this,r=new z;n.defineProperty(e,br,{get:()=>r.writable}),e.contentType=t,e.j=mn(r.readable,t),e.j.catch(()=>{})}getData(){return this.j}}class Ar extends kr{constructor(t,e){super(),Ir(this,t,e)}async init(){await Er(this,Nr,Br),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:o,K:s}=e;if((n||r)&&o!==X){const{offset:n=0,size:r=o-n}=t||{},i=s&&n>=o-s.length;if(r>0&&o>n&&!i)return((t,e,n)=>{let r,o=e,s=0,i=n;return new x({start:()=>c(),async pull(t){r||await c();const{value:e,done:n}=await r.read();if(n)throw new l(lr);const o=e.length>s?e.subarray(0,s):e;s-=o.length,i-=o.length,o.length&&t.enqueue(o),s||(await(async()=>{const t=r;r=X,await t.cancel()})(),i||t.close())},cancel:t=>r&&r.cancel(t)});async function c(){const e=a.min(t.maximumRangeSize,i),n=await Nr(mr,t,Pr(t,o,e));if(206!=n.status)throw new l(lr);const c=Tr(n);if(c!==X&&c!=o)throw new l(lr);Lr(t,n),Wr(t,n),o+=e,s=e,r=n.body.getReader()}})(e,n,a.min(r,o-n))}return super.createReadable(t)}readUint8Array(t,e){return Ur(this,t,e,Nr,Br)}}class Fr extends kr{constructor(t,e){super(),Ir(this,t,e)}async init(){await Er(this,jr,Zr),super.init()}readUint8Array(t,e){return Ur(this,t,e,jr,Zr)}}function Ir(t,e,r){const{preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:u=gr,fetch:f}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(t,{url:e,options:r,preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c,maximumRangeSize:u,fetch:f})}async function Er(t,e,n){const{url:r,preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=St(),{protocol:n}=new w(t,e);return"http:"==n||"https:"==n})(r)&&(s||a)&&(typeof o==J||o)){const r=await e(mr,t,Pr(t,i?-65557:void 0)),o=r.headers.get("Accept-Ranges");if(!(a||o&&o.toLowerCase()==yr))throw new l(lr);{let o;i&&206==r.status&&(o=new d(await r.arrayBuffer())),Wr(t,r);const s=Mr(r);s===X?await qr(t,e,n):t.size=s,o&&o.length&&Tr(r)===t.size-o.length&&(t.K=o)}}else await qr(t,e,n)}async function Ur(t,e,n,r,o){const{useRangeHeader:s,forceRangeRequests:a,K:i,size:c,options:u}=t;if(s||a){if(c>e&&0!==n){if(e+n>c&&(n=c-e),i&&e>=c-i.length){const t=e-(c-i.length);return i.slice(t,t+n)}const o=await r(mr,t,Pr(t,e,n));if(206!=o.status)throw new l(lr);const s=Tr(o);if(s!==X&&s!=e)throw new l(lr);Lr(t,o),Wr(t,o);const a=new d(await o.arrayBuffer());if(a.length!=n)throw new l(lr);return a}return et}{const{data:r}=t;return r||await o(t,u),t.data.subarray(e,e+n)}}function Tr(t){const e=t.headers.get(pr);if(e){const t=o(e.trim().split(/[\s-]+/)[1]);if(!o.isNaN(t))return t}}function Mr(t){const e=t.headers.get(pr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=o(t);if(!o.isNaN(e))return e}}}function Or({headers:t}){return{_:t.get("Etag")||X,lastModified:t.get("Last-Modified")||X}}function Wr(t,e){const{checkResourceChanges:n,G:r}=t;n&&!r&&206==e.status&&(t.G=Or(e))}function Lr(t,e){const{checkResourceChanges:r,G:o,size:s}=t;if(r){const t=Mr(e);if(t!==X&&s!==X&&t!=s)throw new l(dr);if(o){const t=Or(e);if(n.entries(o).some(([e,n])=>n!==X&&t[e]!==X&&n!=t[e]))throw new l(dr)}}}function Pr(t,e=0,r=1){return n.assign({},Hr(t),{[hr]:yr+"="+(0>e?e:e+"-"+(e+r-1))})}function Hr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?n.fromEntries(e):e}async function Br(t){await Vr(t,Nr)}async function Zr(t){await Vr(t,jr)}async function Vr(t,e){const n=await e(mr,t,Hr(t));t.data=new d(await n.arrayBuffer()),t.size=t.data.length}async function qr(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,Hr(t)),s=r.headers.get("Content-Length");s&&!r.headers.get("Content-Encoding")?t.size=o(s):await n(t,t.options)}}async function Nr(t,{fetch:e=fetch,options:r,url:o},s){const a=await e(o,n.assign({},r,{method:t,headers:s}));if(200>a.status||a.status>299)throw 416==a.status?new l(lr):new l(wr+(a.statusText||a.status));return a}function jr(t,{url:e},r){return new g((o,s)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(200>a.status||a.status>299)s(416==a.status?new l(lr):new l(wr+(a.statusText||a.status)));else{const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),o({status:a.status,arrayBuffer:()=>a.response,headers:new c(t)})}},!1),a.addEventListener("error",t=>s(t.detail?t.detail.error:new l("Network error")),!1),a.open(t,e),r)for(const t of n.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class Kr extends kr{constructor(t,e={}){super(),n.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Fr(t,e):new Ar(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class _r extends kr{constructor(t){super(),this.X=t}async init(){const t=this;t.$=0;const e=t.X=await g.all(t.X.map(Qr));t.J=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}Y(t){const{J:e,size:n}=this,r=e[t];return r===X?n:r}async readUint8Array(t,e){const n=this,{X:r}=this;let o,s=0,i=t;for(;r[s]&&i>=r[s].size;)i-=r[s].size,s++;const c=r[s];if(c){const r=c.size;if(i+e>r){const s=r-i;o=be(await Yr(c,i,s),await n.readUint8Array(t+s,e-s))}else o=await Yr(c,i,e)}else o=et;return n.$=a.max(s,n.$),o}}class Gr extends Sr{constructor(t,e=4294967295){super();const r=this;let o,s,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new R({async write(e){if(e===vr)return void(a&&await u());const{availableSize:n}=r;if(a)e.length<n?await c(e):(await c(e.subarray(0,n)),await u(),e.length>n&&await this.write(e.subarray(n)));else{const{value:n,done:i}=await t.next();if(i&&!n)throw new l("Writer iterator completed too soon");o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await Jr(o),s=n.writable,a=s.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await f())},async abort(t){a&&await a.abort(t)}});async function c(t){const e=t.length;e&&(await a.ready,await a.write(t),o.size+=e,r.availableSize-=e)}async function u(){await f(),r.diskOffset+=o.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function f(){await a.close()}n.defineProperty(r,br,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(vr)}finally{t.releaseLock()}}}class Xr{constructor(t){return e.isArray(t)&&(t=new _r(t)),(t instanceof x||typeof t.getReader==Q)&&(t={readable:hn(t)}),t}}class $r{constructor(t){t.writable===X&&typeof t.next==Q&&(t=new Gr(t)),(t instanceof R||typeof t.getWriter==Q)&&(t={writable:yn(t)});try{t.size=t.size===X?0:t.size}catch{throw new l("Invalid writer (size must be writable)")}return t}}async function Jr(t,e){if(!t.init||t.initialized)return g.resolve();await t.init(e)}async function Qr(t){return t=new Xr(t),await Jr(t),t.size!==X&&t.readUint8Array||(t=new Dr(await mn(t.readable)),await Jr(t)),t}function Yr(t,e,n){return t.readUint8Array(e,n)}function to(t,e,n){if(!t.some(t=>t.reason==e)){const r={reason:e};n!==X&&(r.filename=n),t.push(r)}}const eo="filename",no="rawFilename",ro="comment",oo="rawComment",so="uncompressedSize",ao="compressedSize",io="offset",co="diskNumberStart",uo="lastModDate",fo="rawLastModDate",wo="lastAccessDate",lo="rawLastAccessDate",po="creationDate",ho="rawCreationDate",mo=[eo,no,so,ao,uo,fo,ro,oo,wo,lo,po,ho,io,co,"internalFileAttributes","externalFileAttributes","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","symlink","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class yo{constructor(t){mo.forEach(e=>this[e]=t[e])}}const go="File format is not recognized",bo="End of Zip64 central directory locator not found",vo="Encryption method not supported",So="Split zip file",ko="malformed extra field",zo="wrapped entries count",xo="appended data",Ro="prepended data",Do="mismatched zip64 end of central directory record",Co="mismatched local file header (crc32 or sizes)",Ao=/^[a-zA-Z]:/,Fo=/(^|[\\/])\.\.([\\/]|$)/,Io="utf-8",Eo="cp437",Uo=[[so,U],[ao,U],[io,U],[co,T]],To={[T]:{et:ps,bytes:4},[U]:{et:hs,bytes:8}},Mo=s(o.MAX_SAFE_INTEGER);class Oo{constructor(t,e){n.assign(this,{reader:t,options:e})}async getData(t,e,r,s={}){const i=this,{nt:c,directoryOffset:u}=r;if(i.ot)throw new l($);const f=St(),{reader:p,index:h,offset:m,diskNumberStart:y,extraFieldAES:b,extraFieldZip64:v,compressionMethod:S,bitFlag:k,rawBitFlag:z,crc32:x,rawLastModDate:D,uncompressedSize:C,compressedSize:A}=i,{dataDescriptor:F}=k,E=e.localDirectory={},U=e.warnings=[],T=$o(p,y)+m,W=await Yr(p,T,30),L=ve(W);let P=cs(i,s,"password"),H=cs(i,s,"rawPassword");const B=(t=>{if(t!==X&&typeof t!=tt&&"compressed"!==t)throw new l("Invalid passThrough option (must be a boolean or 'compressed')");return t})(cs(i,s,"passThrough")),Z=!!B,V=!0===B;if(((t,e)=>{if(t&&typeof t!=Y||e&&!(e instanceof d))throw new l("Invalid password (password must be a string, rawPassword must be a Uint8Array)")})(P,H),P=P&&P.length?P:X,H=H&&H.length?H:X,b&&99!=b.originalCompressionMethod)throw new l(oe);if(30>W.length||ps(L,0)!=O)throw new l("Local file header not found");Zo(E,L,4);const{extraFieldLength:q,filenameLength:N}=E,j=E.dataOffset=T+30+N+q,_=cs(i,s,"checkLocalDirectory"),G=Yo(s,i.options),J=((t,e)=>t===X?e!=it:!!t)(_,G),nt=cs(i,s,"checkLocalFilename"),rt=((t,e)=>t===X?e==st:!!t)(nt===X?_:nt,G);let ot=et;if(rt&&(N||q)){const t=await Yr(p,T+30,N+q);ot=t.subarray(0,N),E.rawExtraField=t.subarray(N)}else E.rawExtraField=q?await Yr(p,T+30+N,q):et;rt&&(E.rawFilename=ot),Vo(i,E,L,4,!0)&&to(U,ko),((t,e,n,r,o)=>{const{rawFilename:s}=t,a=!o,i=t.st&&(e.rawBitFlag&K)==K;!r||i||n.length==s.length&&!n.some((t,e)=>t!=s[e])||as(a,o,"mismatched local file header (filename)"),(2121&e.rawBitFlag)!=(2121&t.rawBitFlag)&&as(a,o,"mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&as(a,o,"mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||i||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||as(a,o,Co)})(i,E,ot,rt,J?X:U);const{lastAccessDate:at,creationDate:ct,uid:ft,gid:wt}=E;at&&e.lastAccessDate===X&&(e.lastAccessDate=at),ct&&e.creationDate===X&&(e.creationDate=ct),ft!==X&&e.uid===X&&(e.uid=ft),wt!==X&&e.gid===X&&(e.gid=wt);const lt=cs(i,s,"checkPasswordOnly"),dt=i.encrypted&&(!V||lt),pt=dt&&!b;if(V||(e.zipCrypto=pt),dt&&!(64&~i.rawBitFlag))throw new l(vo);const ht=Z?X:(t=>se.get(t))(S);if(0!=S&&8!=S&&9!=S&&!ht&&!Z)throw new l(oe);if(dt){if(!pt&&(1>b.strength||b.strength>3))throw new l(vo);if(!P&&!H)throw new l("File contains encrypted entry")}if(j+A>a.min(p.size,u))throw new l("Entry data out of bounds");const mt=A,yt=(t=>{if(t&&(typeof t.addEventListener!=Q||typeof t.aborted!=tt))throw new l("Invalid signal (must be an AbortSignal instance)");return t||X})(cs(i,s,"signal"));ut(yt);let gt=cs(i,s,"checkOverlappingEntry");const bt=cs(i,s,"checkOverlappingEntryOnly");bt&&(gt=!0);const{onstart:vt,onprogress:kt,onend:zt}=s,xt=0!=S&&!Z,Rt=Z?A-((t,e,n)=>t?e?12:16+4*n:0)(dt,pt,b&&b.strength):C,Dt=9==S;let Ct=cs(i,s,"useCompressionStream");Dt&&(Ct=!1);const At=cs(i,s,"checkCrc32"),Ft=(At===X?cs(i,s,"checkSignature"):At)&&!Z&&(!dt||pt||b&&1==b.vendorVersion),It={options:{codecType:qn,password:P,rawPassword:H,zipCrypto:pt,encryptionStrength:b&&b.strength,checkCrc32:Ft,checkAuthenticationCode:cs(i,s,"checkAuthenticationCode"),passwordVerification:pt&&(F?D>>>8&M:x>>>24&M),outputSize:Rt,crc32:x,compressed:xt,encrypted:dt,useWebWorkers:cs(i,s,"useWebWorkers"),useCompressionStream:Ct,deflate64:Dt,format:ht?ht.format:X,codecURI:ht?ht.codecURI:X,compressionMethod:S,rawBitFlag:z,checkPasswordOnly:lt},config:f,T:{signal:yt,size:mt,onstart:vt,onprogress:kt,onend:zt}};let Et,Ut,Tt;gt&&(await(async({reader:t,it:e,index:n,offset:r,crc32:o,compressedSize:s,uncompressedSize:i,dataOffset:c,dataDescriptor:u,extraFieldZip64:f,nt:w})=>{let d=0;if(u){const n=!!f,r=await(async(t,e,{crc32:n,compressedSize:r,uncompressedSize:o,zip64:s})=>{const i=a.min(24,a.max(0,t.size-e)),c=ve(i?await Yr(t,e,i):et),u=[[s,!0],[s,!1],[!s,!0],[!s,!1]].map(([t,e])=>Go(c,t,e)).filter(t=>t&&t.compressedSize==r&&t.uncompressedSize==o);return u.find(t=>t.crc32==n)||u[0]||Go(c,s,!0)||Go(c,s,!1)})(t,c+s,{crc32:o,compressedSize:s,uncompressedSize:i,zip64:n});r?(e.localDirectory.dataDescriptor=r,d=Xo(r.zip64,r.signature)):d=Xo(n,!1)}const p={start:r,end:c+s+d,it:e},{ct:h,ut:m,ft:y}=w;if(!h.has(n)){const t=((t,e)=>{let n=0,r=t.length;for(;r>n;){const o=n+r>>>1;t[o].start<e.start?n=o+1:r=o}const o=t[n-1],s=t[n];return o&&_o(e,o)?o:s&&_o(e,s)?s:void 0})(m,p)||y.find(t=>_o(p,t));if(t){const e=new l("Overlapping entry found");throw e.overlappingEntry=t.it,e}h.add(n),y.push(p),y.length*y.length>m.length&&(y.sort((t,e)=>t.start-e.start),w.ut=((t,e)=>{const n=[];let r=0,o=0;for(;r<t.length||o<e.length;)o==e.length||r<t.length&&t[r].start<e[o].start?n.push(t[r++]):n.push(e[o++]);return n})(m,y),y.length=0)}})({reader:p,it:e,index:h,offset:T,crc32:x,compressedSize:A,uncompressedSize:C,dataOffset:j,dataDescriptor:F||E.bitFlag.dataDescriptor,extraFieldZip64:v||E.extraFieldZip64,nt:c}),((t,e,n)=>{const{dataDescriptor:r}=e,o=t.st&&(e.rawBitFlag&K)==K;r&&!o&&(t.crc32!==X&&r.crc32!=t.crc32||r.compressedSize!=t.compressedSize||r.uncompressedSize!=t.uncompressedSize)&&as(!n,n,Co)})(i,E,J?X:U));try{if(!bt){lt&&(t=new R),t=new $r(t),await Jr(t,((t,e,n)=>a.min(t,n?1032*e:e))(Rt,A,xt)),({writable:Et}=t);const e=hn(p.createReadable({offset:j,size:mt})),{outputSize:r}=await async function(t,e){const{options:n,config:r}=e,{useWebWorkers:s,useCompressionStream:a,compressed:i,checkCrc32:c,computeCrc32:u,encrypted:f,format:d,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;d&&(p&&(n.codecURI=((t,e)=>{try{return new w(t,e).toString()}catch{return t}})(p,r.baseURI)),await(async(t,e)=>{!ae.has(t)&&e&&((t,e)=>{const{CompressionStream:n,DecompressionStream:r}=e;if(typeof n!=Q&&typeof r!=Q)throw new l("Invalid codec module");ae.set(t,{CompressionStream:n,DecompressionStream:r})})(t,await(import(e)))})(d,n.codecURI));const b=!(i||c||u||f),v=d===X||!!n.codecURI;return e.useWebWorkers=!b&&v&&(s||s===X&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&h?h:X,e.createWorker=e.useWebWorkers&&m?m:X,n.useCompressionStream=a||a===X&&r.useCompressionStream,(await(async()=>{const n=$n.find(t=>!t.M);if(n)return ar(n),new _n(n,t,e,S);if($n.length<y){const n={wt:tr};return tr++,$n.push(n),new _n(n,t,e,S)}return new g(n=>{Jn.push({resolve:n,stream:t,W:e}),Yn=r.workerStarvationTimeout,er()})})()).run();function S(t){if(nr(),t.Z)return t.Z=!1,(()=>{const t=Jn.splice(0).map(({resolve:t,stream:e,W:n})=>new g(r=>{t(new _n({},e,or(n),()=>{sr(),r()}))}));return nr(),g.all(t)})();if(Jn.length){const[{resolve:e,stream:n,W:r}]=Jn.splice(0,1);e(new _n(t,n,r,S)),er()}else t.L?(ar(t),((t,e)=>{const{config:n}=e,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(t.V=I(async()=>{$n=$n.filter(e=>e!=t);try{await t.terminate()}catch{}},r))})(t,e)):$n=$n.filter(e=>e!=t)}}({readable:e,writable:Et},It);if(ut(yt),r!=Rt)throw n.assign(new l(bn),{outputSize:r});t.size+=r}}catch(e){if(gn(e)&&e.outputSize!==X&&(t.size+=e.outputSize),!lt||!gn(e)||e.message!=Pe)throw Ut=e,Tt=!0,e}finally{const e=!(t=>!(!t||!t.getData))(t)&&cs(i,s,"preventClose");if(!e&&Et&&!Et.locked){const t=Et.getWriter();if(Tt)try{await t.abort(Ut)}catch{}else await t.close()}}return lt||bt?X:t.getData?t.getData():Et}}function Wo(t){return t.byteLength>=4&&134630224==ps(t,0)}function Lo(t,e,n){let r=0;for(;n+V<=e.length&&ps(t,n)==H;)n+=V+ds(t,n+28)+ds(t,n+30)+ds(t,n+32),r++;return r%65536?0:r}function Po(t,e){return Ho(t,e,H)}async function Ho(t,e,n){return e>=0&&e+4<=t.size&&ps(ve(await Yr(t,e,4)),0)==n}function Bo(t){if(t.length>=6){const e=ve(t);if(ps(e,0)==P){const n=ds(e,4);if(6+n<=t.length)return new d(t.subarray(6,6+n))}}}function Zo(t,e,r){const o=t.rawBitFlag=ds(e,r+2),s=!(1&~o),a=ps(e,r+6);n.assign(t,{encrypted:s,version:ds(e,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:!(2048&~o)},rawLastModDate:a,lastModDate:fs(a),filenameLength:ds(e,r+22),extraFieldLength:ds(e,r+24)})}function Vo(t,e,r,o,s){const{rawExtraField:a}=e,u=e.extraField=new c,f=ve(a);let w=0,d=!1;try{for(;w<a.length;){const t=ds(f,w),e=ds(f,w+2);u.set(t,{type:t,data:a.slice(w+4,w+4+e)}),w+=4+e}}catch{d=!0}w>a.length&&(d=!0);const p=ds(r,o+4);n.assign(e,{signature:ps(r,o+10),crc32:ps(r,o+10),compressedSize:ps(r,o+14),uncompressedSize:ps(r,o+18)});const h=u.get(1);let m;h?(((t,e,n)=>{e.zip64=!0;const r=ve(t.data),o=Uo.filter(([t,n])=>e[t]==n),s=o.reduce((t,[,e])=>t+To[e].bytes,0);if(t.data.length<s){if(n)return!1;throw new l($)}const a=[];try{for(let t=0,e=0;t<o.length;t++){const[,n]=o[t],s=To[n];a.push(s.et(r,e)),e+=s.bytes}}catch(t){if(n)return!1;throw t}return o.forEach(([n],r)=>{e[n]=t[n]=a[r]}),!0})(h,e,s)||(d=!0),e.extraFieldZip64=h):Uo.some(([t,n])=>e[t]==n)&&(s?d=!0:m=!0);const y=u.get(28789);y&&(qo(y,eo,no,e,t),e.extraFieldUnicodePath=y);const g=u.get(25461);g&&(qo(g,ro,oo,e,t),e.extraFieldUnicodeComment=g);const b=u.get(39169);!b||99!=p&&!e.encrypted||7>b.data.length?(b&&(d=!0),e.compressionMethod=p):(((t,e,r)=>{const o=ve(t.data),s=ls(o,4);n.assign(t,{vendorVersion:ls(o,0),vendorId:ls(o,2),strength:s,originalCompressionMethod:r,compressionMethod:ds(o,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=X)})(b,e,p),e.extraFieldAES=b);const v=u.get(13);v&&(No(v,e),e.extraFieldPkwareUnix=v);const S=u.get(22613);S&&(No(S,e),e.extraFieldUnixType1=S);const k=u.get(21589);k&&(((t,e,n)=>{if(!t.data.length)return;const r=ve(t.data),o=ls(r,0),s=[],a=[];n?(1&~o||(s.push(uo),a.push(fo)),2&~o||(s.push(wo),a.push(lo)),4&~o||(s.push(po),a.push(ho))):5>t.data.length||(s.push(uo),a.push(fo));let c=1;s.forEach((n,o)=>{if(t.data.length>=c+4){const s=ps(r,c);e[n]=t[n]=new i(1e3*(0|s));const u=a[o];t[u]=s}c+=4})})(k,e,s),e.extraFieldExtendedTimestamp=k);const z=u.get(10);z&&(((t,e)=>{const r=ve(t.data);let o,s=4;try{for(;s<t.data.length&&!o;){const e=ds(r,s),n=ds(r,s+2);1==e&&(o=t.data.slice(s+4,s+4+n)),s+=4+n}}catch{}if(o&&24==o.length){const r=ve(o),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);n.assign(t,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:i});const c={lastModDate:ws(s),lastAccessDate:ws(a),creationDate:ws(i)};n.assign(t,c),n.assign(e,c,{rawLastAccessDate:a,rawCreationDate:i})}})(z,e),e.extraFieldNTFS=z);const x=u.get(30837);let R;x&&(R=jo(x,e,!0),e.extraFieldInfoZip=x);const D=u.get(30805);D&&(jo(D,R?{}:e,!1),e.extraFieldUnix=D);const C=u.get(6534);if(C&&(e.extraFieldUSDZ=C),m)throw new l($);return d}function qo(t,e,r,o,s){if(5>t.data.length)return void(t.valid=!1);const a=ve(t.data),i=new ye;i.append(s[r]);const c=ve(new d(4));c.setUint32(0,i.get(),!0);const u=ps(a,1),f=ls(a,0);n.assign(t,{version:f,[e]:cr(t.data.subarray(5)),valid:1==f&&!s.bitFlag.languageEncodingFlag&&u==ps(c,0)}),t.valid&&(o[e]=t[e],o[e+"UTF8"]=!0)}function No(t,e){if(8>t.data.length)return;const r=ve(t.data),o={lastAccessDate:new i(1e3*(0|ps(r,0))),lastModDate:new i(1e3*(0|ps(r,4)))};12>t.data.length||(o.uid=ds(r,8),o.gid=ds(r,10)),n.assign(t,o),n.assign(e,o)}function jo(t,e,r){try{const o=ve(t.data);let s,a;if(r){let e=0;const r=ls(o,e++),i=ls(o,e++);s=Ko(t.data.subarray(e,e+i)),e+=i;const c=ls(o,e++);a=Ko(t.data.subarray(e,e+c)),n.assign(t,{version:r,uid:s,gid:a})}else 4>t.data.length||(s=ds(o,0),a=ds(o,2),n.assign(t,{uid:s,gid:a}));return s!==X&&(e.uid=s),a!==X&&(e.gid=a),s!==X||a!==X}catch{}}function Ko(t){const e=new d(4);return e.set(t,0),new m(e.buffer,e.byteOffset,4).getUint32(0,!0)}function _o(t,e){return t.start<e.end&&e.start<t.end}function Go(t,e,n){const r=n?4:0;if(t.byteLength<Xo(e,n)||n&&ps(t,0)!=L)return X;const o=ps(t,r);let s,a;try{e?(s=hs(t,r+4),a=hs(t,r+12)):(s=ps(t,r+4),a=ps(t,r+8))}catch{return X}return{signature:n,zip64:e,crc32:o,compressedSize:s,uncompressedSize:a}}function Xo(t,e){return(t?20:12)+(e?4:0)}function $o(t,e){return t.Y?t.Y(e):0}async function Jo(t){return ps(ve(await Yr(t,0,4)))}function Qo(t){return t===st||t===at||t===it}function Yo(t,e){return ts(t,ts(e,at))}function ts(t,e){const n=t[ot];if(n!==X){if(!Qo(n))throw new l("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}const r=t[rt];return r===X?e:r?st:e==it?it:at}function es(t,e){if(e==it)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(Fo.test(t)||t.startsWith("/")||t.startsWith("\\")||Ao.test(t))||e==st&&(n.includes(".")||n.includes("")||t.includes("\0"))}async function*ns(t,e){const n=t.size-e,r=await Yr(t,n,e),o=ve(r);for(let t=r.length-q;t>=0;t--)101010256==ps(o,t)&&(yield[o,n,r,t,n+t])}function rs(t,e,n){return{offset:n,buffer:new d(t.subarray(e,e+q)).buffer}}async function os(t,e,n,r,o,s,a){const i=ds(e,r+10),c=ps(e,r+12),u=ps(e,r+16);if(i==T||c==U||u==U)return await ss(t,e,n,o-N,s,a)==Z?2:0;if(!i&&!c)return 1;const f=ds(e,r+6);for(const r of[o-c,$o(t,f)+u])if(await ss(t,e,n,r,s,a)==H)return 2;return 0}async function ss(t,e,n,r,o,s){return 0>r||r+4>o?X:n>r?s.lt>0?(s.lt--,ps(ve(await Yr(t,r,4)),0)):X:ps(e,r-n)}function as(t,e,n){t?is(n):to(e,n)}function is(t){const e=new l("Ambiguous archive");throw e.reason=t,e}function cs(t,e,n){return e[n]===X?t.options[n]:e[n]}function us(t,e,n){return ct(cs(t,e,n))}function fs(t){const e=(4294901760&t)>>16,n=t&T,r=new i(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return G>r?G:r}function ws(t){return new i(o(t/s(1e4)-s(116444736e5)))}function ls(t,e){return t.getUint8(e)}function ds(t,e){return t.getUint16(e,!0)}function ps(t,e){return t.getUint32(e,!0)}function hs(t,e){const n=t.getBigUint64(e,!0);if(n>Mo)throw new l("64-bit value exceeds Number.MAX_SAFE_INTEGER");return o(n)}(t=>{const e=xt(Dt(t));n.assign(dt,e),n.assign(vt,e)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends re{constructor(t){(t=>{if("deflate-raw"!=t)throw new TypeError("Unsupported compression format: "+t)})(t),super(new ee)}}}),t.BlobReader=Dr,t.BlobWriter=Cr,t.Data64URIWriter=class extends zr{constructor(t){super(),n.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",ht:""})}writeUint8Array(t){const e=this;let n,o=e.ht;const s=e.ht.length;for(e.ht="",n=0;n<3*a.floor((s+t.length)/3)-s;n++)o+=r.fromCharCode(t[n]);for(;n<t.length;n++)e.ht+=r.fromCharCode(t[n]);o.length>2?e.data+=k(o):e.ht=o+e.ht}getData(){return this.data+k(this.ht)}},t.HttpRangeReader=class extends Kr{constructor(t,e={}){super(t,n.assign({},e,{useRangeHeader:!0}))}},t.TextWriter=class extends Cr{constructor(t){super(),n.assign(this,{encoding:t,yt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,yt:e}=this,n=await super.getData();return n.text&&e?n.text():((t,e)=>fr(t,e,!1))(new d(await n.arrayBuffer()),t)}},t.ZipReader=class{constructor(t,e={}){n.assign(this,{reader:new Xr(t),options:e||{},nt:{ct:new u,ut:[],ft:[]},gt:new WeakSet})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;if(await Jr(r),r.size!==X&&r.readUint8Array||(r=new Dr(await mn(r.readable)),await Jr(r)),r.size<q)throw new l(go);const s=e.warnings=[],i=Yo(t,e.options),c=i==st,f=i!=it,w=((t,e)=>{if(t!==X){const e=ft(t);if("number"!=typeof e||o.isNaN(e)||0>e)throw new l("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return e}return e==st?0:e==it?1/0:T})(cs(e,t,"maxAppendedDataSize"),i),p=((t,e)=>{if(t===X)return e;if(!Qo(t))throw new l("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return t})(cs(e,t,"filenameValidation"),i),h=cs(e,t,"normalizeFilename"),{bt:m,vt:y}=await(async(t,e,n)=>{const{size:r}=t,o=a.min(r,65557),s={lt:64};let i,c,u=0;for await(const[n,a,f,w,l]of ns(t,o)){const o=ds(n,w+20);if(l+q+o==r){const o=await os(t,n,a,w,l,r,s);if(2==o){if(i||(i=rs(f,w,l)),u++,!e||u>1)break}else 1!=o||c||(c=rs(f,w,l))}}return i||(i=c),i||(i=await(async(t,e,n)=>{const{size:r}=t,o=a.min(r,e==1/0?r:65557+e);let s,i;for await(const[e,a,c,u,f]of ns(t,o)){const o=rs(c,u,f);s||(s=o);const w=await os(t,e,a,u,f,r,n);if(2==w)return o;1!=w||i||(i=o)}return i||s})(t,n,s)),{bt:i,vt:u}})(r,f,w);if(!m)throw await(async t=>await Jo(t)==W)(r)?new l(So):new l("End of central directory not found");f&&y>1&&is("multiple end of central directory records");const g=ve(m);let b=ps(g,12),v=ps(g,16);const S=m.offset,k=ds(g,20),x=S+q+k,R=r.size-x;R>w&&is(xo),R>0&&to(s,xo);let D=ds(g,4);const C=r.$||0;let A,F,I,E,L,K=ds(g,6),G=ds(g,10),J=0,Q=j;const Y=v==U||b==U||G==T||K==T;if(v!=U&&K!=T&&(v+=$o(r,K)),Y){const t=m.offset<N?et:await Yr(r,m.offset-N,N),e=ve(t);if(t.length==N&&ps(e,0)==Z){v=$o(r,ps(e,4))+hs(e,8);let t=await Yr(r,v,j),i=ve(t);if(t.length<j||ps(i,0)!=B){const e=m.offset-N;let n=e-j;if(await Ho(r,n,B)||(n=await(async(t,e)=>{const n=a.max(0,e-65591),r=await Yr(t,n,e-n),s=ve(r);for(let t=r.length-j;t>=0;t--)if(ps(s,t)==B&&t+12+o(s.getBigUint64(t+4,!0))==r.length)return n+t})(r,e)),n!==X&&n>=0&&v!=n){const e=v;v=n,v>e&&(J=v-e),t=await Yr(r,v,j),i=ve(t)}}if(t.length<j||ps(i,0)!=B)throw new l(bo);if(I=!0,E=hs(i,4)>44,E){const t=a.min(hs(i,4)-44,r.size-v-j);t>0&&(Q+=t,L=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=ve(t),o=ds(r,26);n.assign(e,{compressionMethod:ds(r,0),compressedSize:hs(r,2),uncompressedSize:hs(r,10),encryptionAlgorithm:ds(r,18),bitLength:ds(r,20),flags:ds(r,22),hashAlgorithm:ds(r,24),hashData:t.subarray(28,28+o)})}return e})(await Yr(r,v+j,t)))}D==T?D=ps(i,16):D!=ps(i,16)&&as(c,s,Do),K==T?K=ps(i,20):K!=ps(i,20)&&as(c,s,Do),G==T?G=hs(i,32):G!=hs(i,32)&&as(c,s,Do),b==U?b=hs(i,40):b!=hs(i,40)&&as(c,s,Do),v=$o(r,K)+hs(i,48)+J}else if(v==U||b==U||K==T)throw new l(bo)}let tt=b;const nt=m.offset-(I?Q+N:0);if(C!=D)throw new l(So);if(0>v)throw new l(go);let at=0,ct=v<r.size?await Yr(r,v,b):et,ut=ve(ct);if(b){let t=nt-b;if(v!=t&&K==D){const e=ct.length>=4&&(ps(ut,at)==H||!(!L||!L.compressedSize)||Wo(ut));if(!e&&0>t)throw new l(go);let n=!e;if(t>=0&&t+4<=r.size){let o=await Po(r,t);if(!o){const e=await(async(t,e)=>{const n=a.max(0,e-65541),r=await Yr(t,n,e-n),o=ve(r);for(let t=r.length-6;t>=0;t--)if(ps(o,t)==P&&t+6+ds(o,t+4)==r.length)return n+t})(r,nt),n=e-b;e!==X&&n>=0&&await Po(r,n)&&(t=n,o=!0)}e&&(n=o)}if(n&&t!=v){const n=v;v=t,ct=await Yr(r,v,b),ut=ve(ct);const o=v-n,i=((t,e)=>{if(t.length<V)return X;const n=ps(e,42);if(n!=U)return n;let r=V+ds(e,28);const o=a.min(r+ds(e,30),t.length);for(;o>=r+4;){const t=ds(e,r),n=ds(e,r+2);if(1==t){let t=r+4;return ps(e,24)==U&&(t+=8),ps(e,20)==U&&(t+=8),t+8>o?X:hs(e,t)}r+=4+n}return X})(ct,ut),u=i!==X&&await Ho(r,i,O),f=i!==X&&await Ho(r,i+o,O);0>=o||u&&!f?(as(c,s,"mismatched central directory offset"),0>o&&!u&&f&&(J+=o)):(J+=o,A=e)}}if(4>ct.length)throw new l(go)}else!G&&nt>v&&K==D&&(J+=nt-v,v=nt);const wt=nt-v;if(b==wt||0>wt||K!=D||(b=wt,ct=await Yr(r,v,b),ut=ve(ct)),0>v||v>=r.size)throw new l(go);e.directoryOffset=v,e.directoryLength=tt;const lt=us(e,t,"decryptCentralDirectory");let dt,pt;if(lt&&G&&ct.length>=4&&ps(ut,0)!=H&&(E||Wo(ut))){const t=((t,e,n)=>{const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&n>=r?r:n})(L,tt,ct.length);pt=ct.subarray(t),ct=await lt(ct.subarray(0,t),L),ut=ve(ct),tt=ct.length,dt=!0}!L||dt||ct.length>=4&&ps(ut,0)!=H||to(s,"unknown zip64 extensible data"),F=v;const ht=cs(e,t,"filenameEncoding"),mt=cs(e,t,"commentEncoding"),yt=new u;let gt,bt=-1;const vt=!c&&!I;!G&&vt&&(G=Lo(ut,ct,at),G&&to(s,zo));const St=n.assign({},e.options,t,{[ot]:i});delete St[rt];for(let o=0;G>o;o++){const i=new Oo(r,St);if(at+V>ct.length||ps(ut,at)!=H){if(0==o&&!dt&&(E||Wo(ut)))throw new l("Encrypted central directory is not supported");throw new l("Central directory header not found")}Zo(i,ut,at+6);const u=!!i.bitFlag.languageEncodingFlag,f=at+V,w=f+i.filenameLength+i.extraFieldLength,m=ds(ut,at+4),y=!(m>>8),g=m>>8==3,b=ds(ut,at+32),v=w+b,S=new d(ct.subarray(f,v)),k=S.subarray(0,i.filenameLength),x=S.subarray(i.filenameLength+i.extraFieldLength),R=u||!ht&&ur(k),D=u||!mt&&ur(x),C=ps(ut,at+38),A=C&M,I={readOnly:!!(1&A),hidden:!!(2&A),system:!!(4&A),directory:!!(16&A),archive:!!(32&A)},O=ps(ut,at+42),W=us(e,t,"decodeText")||cr,L=R?Io:ht||Eo,P=D?Io:mt||Eo;let B=W(k,L,"filename");B===X&&(B=cr(k,L));let Z,q=W(x,P,"comment");q===X&&(q=cr(x,P)),n.assign(i,{index:o,st:dt,versionMadeBy:m,msDosCompatible:y,zip64:!1,compressedSize:0,uncompressedSize:0,St:b,offset:O,diskNumberStart:ds(ut,at+34),internalFileAttributes:ds(ut,at+36),externalFileAttributes:C,msdosAttributesRaw:A,msdosAttributes:I,rawFilename:k,filenameUTF8:R,commentUTF8:D,rawExtraField:S.subarray(i.filenameLength,i.filenameLength+i.extraFieldLength),rawComment:x,filename:B,comment:q});try{Z=Vo(i,i,ut,at+6)}catch(t){if(c||t.message!=$)throw t;i.ot=!0,to(s,"missing zip64 extra field",i.filename)}if(B=i.filename,h){const t=h(B);t!==X&&(B=i.filename=t)}if(es(B,p)){const t=new l("Unsafe filename");throw t.filename=B,t}if(Z&&to(s,ko,B),i.ot&&i.offset==U)F=0;else{i.offset+=J;const t=$o(r,i.diskNumberStart)+i.offset;F=a.min(t,F),bt>t&&to(s,"unsorted central directory",B),bt=t}(i.version&M)>63&&to(s,"unknown version needed to extract",B),32&~i.rawBitFlag||to(s,"compressed patched data",B),yt.has(i.filename)&&(gt=!0),yt.add(i.filename);const N=i.externalFileAttributes>>16&T;i.unixMode===X&&16877&N&&(i.unixMode=N);const j=!!(2048&i.unixMode),K=!!(1024&i.unixMode),Q=!!(512&i.unixMode),Y=40960==((i.unixMode===X?N:i.unixMode)&_),tt=i.unixMode!==X&&16384==(i.unixMode&_)||16384==(N&_)||y&&I.directory||i.filename.endsWith("/"),et=!Y&&!tt&&(i.unixMode!==X?!!(73&i.unixMode):g&&!!(73&N));n.assign(i,{setuid:j,setgid:K,sticky:Q,symlink:Y,unixExternalUpper:N,executable:et,directory:tt,zipCrypto:i.encrypted&&!i.extraFieldAES});const nt=new yo(i);if(i.ot&&e.gt.add(nt),nt.getData=(t,n)=>i.getData(t,nt,e,n),nt.arrayBuffer=async t=>{const r=new z,o=mn(r.readable).then(t=>t.arrayBuffer());return o.catch(()=>{}),await i.getData(r,nt,e,n.assign({},t,{preventClose:!1})),o},at=v,o==G-1&&vt){const t=Lo(ut,ct,at);t&&(G+=t,to(s,zo))}const{onprogress:rt}=t;if(rt)try{await rt(o+1,G,new yo(i))}catch{}yield nt}let kt=at,zt=Bo(ct.subarray(at))||(dt?Bo(pt):X);if(!zt&&!dt){const t=v+at,e=a.min(nt-t,65541);6>e||(zt=Bo(await Yr(r,t,e)))}zt&&(e.digitalSignature=zt,kt=at+6+zt.length),(at!=tt&&kt!=tt||!dt&&at!=b&&kt!=b)&&as(c,s,"trailing central directory data"),gt&&as(c,s,"duplicate filename");const xt=cs(e,t,"extractPrependedData"),Rt=cs(e,t,"extractAppendedData"),Dt=(c||xt)&&G&&4==F&&await(async t=>{const e=await Jo(t);return e==W||808471376==e})(r)?4:0;return c&&(J>0||G&&F>Dt)&&is(Ro),(J>0||G&&F>4)&&to(s,Ro),A&&to(s,"prepended central directory"),xt&&(e.prependedData=F>Dt?await Yr(r,Dt,F-Dt):et),e.comment=k?await Yr(r,S+q,k):et,Rt&&(e.appendedData=x<r.size?await Yr(r,x,r.size-x):et),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[nt](){return this.close()}},t.configure=t=>{n.assign(vt,xt(Dt(t)))},t.inflateRaw=(t,e)=>Yt(t,{i:2},e&&e.kt,e&&e.m)});
|
|
1
|
+
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:o,BigInt:s,Math:a,Date:i,Map:c,Set:u,Response:f,URL:w,Error:l,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:b,TextDecoder:v,crypto:S,btoa:k,TransformStream:z,ReadableStream:x,WritableStream:R,CompressionStream:F,DecompressionStream:D,navigator:C,Worker:A,setTimeout:I,clearTimeout:E}="undefined"!=typeof globalThis?globalThis:self,U=4294967295,T=65535,M=255,O=67324752,W=134695760,L=W,H=84233040,P=33639248,B=101075792,Z=117853008,V=46,q=22,N=20,j=56,K=8192,_=61440,G=new i(1980,0,1),X=void 0,$="Zip64 extra field not found",J="undefined",Q="function",Y="string",ee="boolean",te=new d,ne=Symbol.asyncDispose||Symbol(),re="checkAmbiguity",oe="strictness",se="strict",ae="balanced",ie="tolerant";function ce(e){if(e&&typeof e!=Q)throw new l("Invalid option (must be a function)");return e}function ue(e){if(e&&e.aborted)throw e.reason===X?new DOMException("The operation was aborted","AbortError"):e.reason}function fe(e){return typeof e==Y&&e.trim()?o(e):e}const we=262144;let le=2;try{typeof C!=J&&C.hardwareConcurrency&&(le=C.hardwareConcurrency)}catch{}const de={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:we,maxWorkers:le,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof F!=J&&F,DecompressionStream:typeof D!=J&&D},pe="maxWorkers",he="baseURI",me=["wasmURI","workerURI"],ye=["chunkSize",pe,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],ge=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],be=[he,...me,"useCompressionStream","useWebWorkers",...ye,...ge],ve={...de};function Se(){return ve}function ke(e){return ze(e.chunkSize)}function ze(e){return e=fe(e),o.isInteger(e)&&e>=1?a.max(e,64):we}function xe(e){const t={};for(const n of be){const r=e[n];r!==X&&(t[n]=Re(n,r))}return t}function Re(e,t){if(ye.includes(e)){if(t=fe(t),e==pe&&(!o.isInteger(t)||1>t))throw new l("Invalid maxWorkers (must be an integer greater than 0)")}else if(ge.includes(e))ce(t);else if(e==he){if(t&&typeof t!=Y)throw new l("Invalid baseURI (must be a string)")}else if(me.includes(e)&&t&&typeof t!=Y&&typeof t!=Q)throw new l("Invalid URI (must be a string or a function returning a string)");return t}function Fe(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===X&&r===X)return e;const o=n.assign({},e);return o.CompressionStreamFallback===X&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===X&&(o.DecompressionStreamFallback=r),o}var De=d,Ce=p,Ae=Int32Array,Ie=new De([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ee=new De([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ue=new De([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Te=(e,t)=>{for(var n=new Ce(31),r=0;31>r;++r)n[r]=t+=1<<e[r-1];var o=new Ae(n[30]);for(r=1;30>r;++r)for(var s=n[r];s<n[r+1];++s)o[s]=s-n[r]<<5|r;return{b:n,r:o}},Me=Te(Ie,2),Oe=Me.b,We=Me.r;Oe[28]=258,We[258]=28;for(var Le=Te(Ee,0).b,He=new Ce(32768),Pe=0;32768>Pe;++Pe){var Be=(43690&Pe)>>1|(21845&Pe)<<1;Be=(61680&(Be=(52428&Be)>>2|(13107&Be)<<2))>>4|(3855&Be)<<4,He[Pe]=((65280&Be)>>8|(255&Be)<<8)>>1}var Ze=(e,t,n)=>{for(var r=e.length,o=0,s=new Ce(t);r>o;++o)e[o]&&++s[e[o]-1];var a,i=new Ce(t);for(o=1;t>o;++o)i[o]=i[o-1]+s[o-1]<<1;if(n){a=new Ce(1<<t);var c=15-t;for(o=0;r>o;++o)if(e[o])for(var u=o<<4|e[o],f=t-e[o],w=i[e[o]-1]++<<f,l=w|(1<<f)-1;l>=w;++w)a[He[w]>>c]=u}else for(a=new Ce(r),o=0;r>o;++o)e[o]&&(a[o]=He[i[e[o]-1]++]>>15-e[o]);return a},Ve=new De(288);for(Pe=0;144>Pe;++Pe)Ve[Pe]=8;for(Pe=144;256>Pe;++Pe)Ve[Pe]=9;for(Pe=256;280>Pe;++Pe)Ve[Pe]=7;for(Pe=280;288>Pe;++Pe)Ve[Pe]=8;var qe=new De(32);for(Pe=0;32>Pe;++Pe)qe[Pe]=5;var Ne=Ze(Ve,9,1),je=Ze(qe,5,1),Ke=e=>{for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},_e=(e,t,n)=>{var r=t/8|0;return(e[r]|e[r+1]<<8)>>(7&t)&n},Ge=(e,t)=>{var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},Xe=e=>(e+7)/8|0,$e=(e,t,n)=>((null==t||0>t)&&(t=0),(null==n||n>e.length)&&(n=e.length),new De(e.subarray(t,n))),Je=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Qe=(e,t,n)=>{var r=new l(t||Je[e]);if(r.code=e,l.captureStackTrace&&l.captureStackTrace(r,Qe),!n)throw r;return r},Ye=(e,t,n,r)=>{var o=e.length,s=r?r.length:0;if(!o||t.f&&!t.o)return n||new De(0);var i=!n,c=i||2!=t.i,u=t.i;i&&(n=new De(3*o));var f=e=>{var t=n.length;if(e>t){var r=new De(a.max(2*t,e));r.set(n),n=r}},w=t.f||0,l=t.p||0,d=t.b||0,p=t.o,h=t.d,m=t.l,y=t.n,g=8*o;do{if(!p){w=_e(e,l,1);var b=_e(e,l+1,3);if(l+=3,!b){var v=e[(E=Xe(l)+4)-4]|e[E-3]<<8,S=E+v;if(S>o){u&&Qe(0);break}c&&f(d+v),n.set(e.subarray(E,S),d),t.b=d+=v,t.p=l=8*S,t.f=w;continue}if(1==b)p=Ne,h=je,m=9,y=5;else if(2==b){var k=_e(e,l,31)+257,z=_e(e,l+10,15)+4,x=k+_e(e,l+5,31)+1;l+=14;for(var R=new De(x),F=new De(19),D=0;z>D;++D)F[Ue[D]]=_e(e,l+3*D,7);l+=3*z;var C=Ke(F),A=(1<<C)-1,I=Ze(F,C,1);for(D=0;x>D;){var E,U=I[_e(e,l,A)];if(l+=15&U,16>(E=U>>4))R[D++]=E;else{var T=0,M=0;for(16==E?(M=3+_e(e,l,3),l+=2,T=R[D-1]):17==E?(M=3+_e(e,l,7),l+=3):18==E&&(M=11+_e(e,l,127),l+=7);M--;)R[D++]=T}}var O=R.subarray(0,k),W=R.subarray(k);m=Ke(O),y=Ke(W),p=Ze(O,m,1),h=Ze(W,y,1)}else Qe(1);if(l>g){u&&Qe(0);break}}c&&f(d+131072);for(var L=(1<<m)-1,H=(1<<y)-1,P=l;;P=l){var B=(T=p[Ge(e,l)&L])>>4;if((l+=15&T)>g){u&&Qe(0);break}if(T||Qe(2),256>B)n[d++]=B;else{if(256==B){P=l,p=null;break}var Z=B-254;if(B>264){var V=Ie[D=B-257];Z=_e(e,l,(1<<V)-1)+Oe[D],l+=V}var q=h[Ge(e,l)&H],N=q>>4;if(q||Qe(3),l+=15&q,W=Le[N],N>3&&(V=Ee[N],W+=Ge(e,l)&(1<<V)-1,l+=V),l>g){u&&Qe(0);break}c&&f(d+131072);var j=d+Z;if(W>d){var K=s-W,_=a.min(W,j);for(0>K+d&&Qe(3);_>d;++d)n[d]=r[K+d]}for(;j>d;++d)n[d]=n[d-W]}}t.o=p,t.p=P,t.b=d,t.f=w,p&&(w=1,t.l=m,t.d=h,t.n=y)}while(!w);return d!=n.length&&i?$e(n,0,d):n.subarray(0,d)},et=new De(0),tt=function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.h=t;var n=e&&e.m&&e.m.subarray(-32768);this.s={i:0,b:n?n.length:0},this.v=new De(32768),this.p=new De(0),n&&this.v.set(n)}return e.prototype.e=function(e){if(this.h||Qe(5),this.d&&Qe(4),this.p.length){if(e.length){var t=new De(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=Ye(this.p,this.s,this.v);this.h($e(n,t,this.s.b),this.d),this.v=$e(n,this.s.b-32768),this.s.b=this.v.length,this.p=$e(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),nt=void 0!==v&&new v;try{nt.decode(et,{stream:!0})}catch(e){}class rt extends z{constructor(e){super({start(t){e.h=e=>{e.length&&t.enqueue(e)}},transform(t){e.push(t)},flush(){e.push(new d(0),!0)}})}}const ot="Compression method not supported",st=new c,at=new c;function it(e){return at.get(e)}const ct=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;ct[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const n=ct[t-1][e];ct[t][e]=n>>>8^ct[0][255&n]}const[ut,ft,wt,lt,dt,pt,ht,mt]=ct;class yt{constructor(e){this.S=e||-1}append(e){let t=0|this.S;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const o=new m(e.buffer,e.byteOffset,n),s=n-8;for(;s>=r;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=mt[255&e]^ht[e>>>8&255]^pt[e>>>16&255]^dt[e>>>24&255]^lt[255&n]^wt[n>>>8&255]^ft[n>>>16&255]^ut[n>>>24&255]}}for(;n>r;r++)t=t>>>8^ut[255&(t^e[r])];this.S=t}get(){return~this.S}}class gt extends z{constructor(){let e;const t=new yt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function bt(e,t){const n=new d(e.length+t.length);return n.set(e),n.set(t,e.length),n}function vt(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const St=64,kt=20,zt=new d([128]),xt=new d(1),Rt=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Ft=new d(256),Dt=new Int32Array(256),Ct=new Int32Array(256),At=new Int32Array(256),It=new Int32Array(256);let Et=!1;function Ut(e){const t=(()=>{const e=new Int32Array(Rt),t=new Int32Array(16),n=new d(St),r=new m(n.buffer),o=new d(8);let s=0,i=0;return{update:c,digest:()=>{const t=8*i,n=a.floor(t/4294967296),r=t>>>0;for(c(zt,0,1);56!=s;)c(xt,0,1);o[0]=n>>>24,o[1]=n>>>16,o[2]=n>>>8,o[3]=n,o[4]=r>>>24,o[5]=r>>>16,o[6]=r>>>8,o[7]=r,c(o,0,8);const u=new d(kt),f=new m(u.buffer);for(let t=0;t<e.length;t++)f.setInt32(4*t,e[t]);return e.set(Rt),s=0,i=0,u}};function c(e,t,o){const a=t+o;if(i+=o,s){for(;a>t&&St>s;)n[s++]=e[t++];s==St&&(u(r,0),s=0)}if(a>=t+St){const n=new m(e.buffer,e.byteOffset,e.byteLength);for(;a>=t+St;t+=St)u(n,t)}for(;a>t;)n[s++]=e[t++]}function u(n,r){for(let e=0;16>e;e++)t[e]=n.getInt32(r+4*e);let o,s=e[0],a=e[1],i=e[2],c=e[3],u=e[4];for(let e=0;15>e;e+=5)u=(s<<5|s>>>27)+((i^c)&a^c)+u+1518500249+t[e]|0,a=a<<30|a>>>2,c=(u<<5|u>>>27)+((a^i)&s^i)+c+1518500249+t[e+1]|0,s=s<<30|s>>>2,i=(c<<5|c>>>27)+((s^a)&u^a)+i+1518500249+t[e+2]|0,u=u<<30|u>>>2,a=(i<<5|i>>>27)+((u^s)&c^s)+a+1518500249+t[e+3]|0,c=c<<30|c>>>2,s=(a<<5|a>>>27)+((c^u)&i^u)+s+1518500249+t[e+4]|0,i=i<<30|i>>>2;u=(s<<5|s>>>27)+((i^c)&a^c)+u+1518500249+t[15]|0,a=a<<30|a>>>2,o=t[13]^t[8]^t[2]^t[0],o=o<<1|o>>>31,t[0]=o,c=(u<<5|u>>>27)+((a^i)&s^i)+c+1518500249+o|0,s=s<<30|s>>>2,o=t[14]^t[9]^t[3]^t[1],o=o<<1|o>>>31,t[1]=o,i=(c<<5|c>>>27)+((s^a)&u^a)+i+1518500249+o|0,u=u<<30|u>>>2,o=t[15]^t[10]^t[4]^t[2],o=o<<1|o>>>31,t[2]=o,a=(i<<5|i>>>27)+((u^s)&c^s)+a+1518500249+o|0,c=c<<30|c>>>2,o=t[0]^t[11]^t[5]^t[3],o=o<<1|o>>>31,t[3]=o,s=(a<<5|a>>>27)+((c^u)&i^u)+s+1518500249+o|0,i=i<<30|i>>>2;for(let e=20;40>e;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(s<<5|s>>>27)+(a^i^c)+u+1859775393+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(s^a^i)+c+1859775393+o|0,s=s<<30|s>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,i=(c<<5|c>>>27)+(u^s^a)+i+1859775393+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(i<<5|i>>>27)+(c^u^s)+a+1859775393+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,s=(a<<5|a>>>27)+(i^c^u)+s+1859775393+o|0,i=i<<30|i>>>2;for(let e=40;60>e;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(s<<5|s>>>27)+(a&i|(a|i)&c)+u+2400959708+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(s&a|(s|a)&i)+c+2400959708+o|0,s=s<<30|s>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,i=(c<<5|c>>>27)+(u&s|(u|s)&a)+i+2400959708+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(i<<5|i>>>27)+(c&u|(c|u)&s)+a+2400959708+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,s=(a<<5|a>>>27)+(i&c|(i|c)&u)+s+2400959708+o|0,i=i<<30|i>>>2;for(let e=60;80>e;e+=5)o=t[e-3&15]^t[e-8&15]^t[e-14&15]^t[15&e],o=o<<1|o>>>31,t[15&e]=o,u=(s<<5|s>>>27)+(a^i^c)+u+3395469782+o|0,a=a<<30|a>>>2,o=t[e-2&15]^t[e-7&15]^t[e-13&15]^t[e+1&15],o=o<<1|o>>>31,t[e+1&15]=o,c=(u<<5|u>>>27)+(s^a^i)+c+3395469782+o|0,s=s<<30|s>>>2,o=t[e-1&15]^t[e-6&15]^t[e-12&15]^t[e+2&15],o=o<<1|o>>>31,t[e+2&15]=o,i=(c<<5|c>>>27)+(u^s^a)+i+3395469782+o|0,u=u<<30|u>>>2,o=t[15&e]^t[e-5&15]^t[e-11&15]^t[e+3&15],o=o<<1|o>>>31,t[e+3&15]=o,a=(i<<5|i>>>27)+(c^u^s)+a+3395469782+o|0,c=c<<30|c>>>2,o=t[e+1&15]^t[e-4&15]^t[e-10&15]^t[e+4&15],o=o<<1|o>>>31,t[e+4&15]=o,s=(a<<5|a>>>27)+(i^c^u)+s+3395469782+o|0,i=i<<30|i>>>2;e[0]=e[0]+s|0,e[1]=e[1]+a|0,e[2]=e[2]+i|0,e[3]=e[3]+c|0,e[4]=e[4]+u|0}})(),n=new d(St),r=new d(St);e.length>St&&(t.update(e,0,e.length),e=t.digest());for(let t=0;St>t;t++){const o=t<e.length?e[t]:0;n[t]=54^o,r[t]=92^o}return t.update(n,0,St),{update(e,n,r){t.update(e,n,r)},digest(){const e=t.digest();t.update(r,0,St),t.update(e,0,kt);const o=t.digest();return t.update(n,0,St),o}}}function Tt(e){return Ft[e>>>24]<<24|Ft[e>>>16&255]<<16|Ft[e>>>8&255]<<8|Ft[255&e]}function Mt(e){return e<<24|(65280&e)<<8|e>>>8&65280|e>>>24}function Ot(e){return 255&(e<<1^27*(e>>7))}const Wt=typeof S!=J&&typeof S.getRandomValues==Q,Lt="Invalid password",Ht="zipjs-abort-check-password";function Pt(e){if(Wt)return S.getRandomValues(e);throw new l("Crypto API not supported")}const Bt={name:"PBKDF2"},Zt=n.assign({hash:{name:"HMAC"}},Bt),Vt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Bt),qt=["deriveBits"],Nt=[8,12,16],jt=[16,24,32],Kt=10,_t=typeof S!=J,Gt=_t&&S.subtle;let Xt=_t&&typeof Gt!=J&&typeof Gt.importKey==Q&&typeof Gt.deriveBits==Q;class $t extends z{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){const s={};super({start(){Qt(s,e,t,n)},async transform(e,t){const{password:n,strength:o,R:a,ready:i}=s;if(n?(await(async(e,t,n,r)=>{const o=await nn(e,t,n,on(r,0,Nt[t])),s=on(r,Nt[t]);if(o[0]!=s[0]||o[1]!=s[1])throw tn(e),new l(Lt)})(s,o,n,on(e,0,Nt[o]+2)),e=on(e,Nt[o]+2),r?(tn(s),t.error(new l(Ht))):a()):await i,s.F)return;const c=new d(e.length-Kt-(e.length-Kt)%16);t.enqueue(en(s,e,c,0,Kt,!0))},async flush(e){const{D:t,C:n,ready:r}=s;if(t){if(await r,s.F)return;const a=on(n,n.length-Kt),i=new d(on(n,0,n.length-Kt));t.process(i,!0);const c=t.digest();let u=n.length<Kt?1:0;for(let e=0;Kt>e;e++)u|=c[e]^a[e];if(u&&o)return void e.error(new l("Invalid authentication code"));e.enqueue(i)}}}),Yt(this,s)}}class Jt extends z{constructor({password:e,rawPassword:t,encryptionStrength:n}){const r={};super({start(){Qt(r,e,t,n)},async transform(e,t){const{password:n,strength:o,R:s,ready:a}=r;let i=te;if(n?(i=await(async(e,t,n)=>{const r=Pt(new d(Nt[t]));return bt(r,await nn(e,t,n,r))})(r,o,n),s()):await a,r.F)return;const c=new d(i.length+e.length-e.length%16);c.set(i,0),t.enqueue(en(r,e,c,i.length,0,!1))},async flush(e){const{D:t,C:n,ready:o}=r;if(t){if(await o,r.F)return;const s=new d(n);t.process(s,!1);const a=on(t.digest(),0,Kt);e.enqueue(bt(s,a))}}}),Yt(this,r)}}function Qt(e,t,r,o){n.assign(e,{ready:new g(t=>e.R=t),password:rn(t,r),strength:o-1,C:te,F:!1})}function Yt(e,t){const r=e.readable.getReader(),o=new x({async pull(e){try{const{value:t,done:n}=await r.read();n?e.close():e.enqueue(t)}catch(e){throw tn(t),r.cancel(e).catch(()=>{}),e}},cancel:e=>(tn(t),r.cancel(e))});n.defineProperty(e,"readable",{get:()=>o})}function en(e,t,n,r,o,s){const{D:a,C:i}=e;i.length&&(t=bt(i,t));const c=t.length-o,u=c-c%16;if(n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e})(n,r+u),u){const e=on(n,r,r+u);e.set(on(t,0,u)),a.process(e,s)}return e.C=on(t,u),n}function tn(e){const{D:t}=e;e.F=!0,t&&t.dispose&&t.dispose()}async function nn(e,t,r,o){e.password=null;const s=jt[t],i=await(async(e,t,r)=>{if(Xt)try{const o=await Gt.importKey("raw",e,Zt,!1,qt);return new d(await Gt.deriveBits(n.assign({salt:t},Vt),o,8*r))}catch{Xt=!1}return((e,t,n,r)=>{const o=Ut(e),s=new d(r),i=new d(t.length+4),c=new m(i.buffer);i.set(t);for(let e=1,n=0;r>n;e++,n+=kt){c.setUint32(t.length,e),o.update(i,0,i.length);let u=o.digest();const f=u.slice();for(let e=1;1e3>e;e++){o.update(u,0,kt),u=o.digest();for(let e=0;kt>e;e++)f[e]^=u[e]}s.set(f.subarray(0,a.min(kt,r-n)),n)}return s})(e,t,0,r)})(r,o,2*s+2);return e.D=((e,t)=>{(()=>{if(!Et){let e=1,t=1;do{e=255&(e^e<<1^(128&e?27:0)),t=255&(t^t<<1),t=255&(t^t<<2),t=255&(t^t<<4),128&t&&(t^=9),Ft[e]=255&(t^(t<<1|t>>7)^(t<<2|t>>6)^(t<<3|t>>5)^(t<<4|t>>4)^99)}while(1!=e);Ft[0]=99;for(let e=0;256>e;e++){const t=Ft[e],n=Ot(t),r=n<<24|t<<16|t<<8|n^t;Dt[e]=r,Ct[e]=r>>>8|r<<24,At[e]=r>>>16|r<<16,It[e]=r>>>24|r<<8}Et=!0}})();const n=new Int32Array(60),r=((e,t)=>{const n=e.length>>2,r=n+6,o=4*(r+1);let s=1;for(let r=0;n>r;r++)t[r]=e[4*r]<<24|e[4*r+1]<<16|e[4*r+2]<<8|e[4*r+3];for(let e=n;o>e;e++){let r=t[e-1];e%n==0?(r=Tt(r<<8|r>>>24)^s<<24,s=Ot(s)):n>6&&e%n==4&&(r=Tt(r)),t[e]=t[e-n]^r}return r})(e,n),o=new Int32Array(4),s=Ut(t);let a=0,i=0,c=0,u=0;return{process(e,t){t&&s.update(e,0,e.length),(e=>{const t=new m(e.buffer,e.byteOffset,e.byteLength),n=e.length;let r=0;for(;n>=r+16;r+=16)f(),t.setInt32(r,t.getInt32(r)^o[0]),t.setInt32(r+4,t.getInt32(r+4)^o[1]),t.setInt32(r+8,t.getInt32(r+8)^o[2]),t.setInt32(r+12,t.getInt32(r+12)^o[3]);if(n>r){f();for(let t=0;n>r;r++,t++)e[r]^=o[t>>2]>>>24-8*(3&t)}})(e),t||s.update(e,0,e.length)},digest:()=>s.digest()};function f(){a=a+1|0,a||(i=i+1|0,i||(c=c+1|0,c||(u=u+1|0)));let e=Mt(a)^n[0],t=Mt(i)^n[1],s=Mt(c)^n[2],f=Mt(u)^n[3],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[4],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[5],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[6],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[7];e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[8],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[9],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[10],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[11],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[12],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[13],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[14],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[15],e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[16],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[17],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[18],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[19],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[20],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[21],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[22],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[23],e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[24],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[25],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[26],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[27],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[28],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[29],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[30],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[31],e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[32],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[33],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[34],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[35],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[36],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[37],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[38],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[39];let h=40;r>10&&(e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[40],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[41],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[42],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[43],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[44],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[45],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[46],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[47],h=48),r>12&&(e=Dt[w>>>24]^Ct[l>>>16&255]^At[d>>>8&255]^It[255&p]^n[48],t=Dt[l>>>24]^Ct[d>>>16&255]^At[p>>>8&255]^It[255&w]^n[49],s=Dt[d>>>24]^Ct[p>>>16&255]^At[w>>>8&255]^It[255&l]^n[50],f=Dt[p>>>24]^Ct[w>>>16&255]^At[l>>>8&255]^It[255&d]^n[51],w=Dt[e>>>24]^Ct[t>>>16&255]^At[s>>>8&255]^It[255&f]^n[52],l=Dt[t>>>24]^Ct[s>>>16&255]^At[f>>>8&255]^It[255&e]^n[53],d=Dt[s>>>24]^Ct[f>>>16&255]^At[e>>>8&255]^It[255&t]^n[54],p=Dt[f>>>24]^Ct[e>>>16&255]^At[t>>>8&255]^It[255&s]^n[55],h=56),o[0]=(Ft[w>>>24]<<24|Ft[l>>>16&255]<<16|Ft[d>>>8&255]<<8|Ft[255&p])^n[h],o[1]=(Ft[l>>>24]<<24|Ft[d>>>16&255]<<16|Ft[p>>>8&255]<<8|Ft[255&w])^n[h+1],o[2]=(Ft[d>>>24]<<24|Ft[p>>>16&255]<<16|Ft[w>>>8&255]<<8|Ft[255&l])^n[h+2],o[3]=(Ft[p>>>24]<<24|Ft[w>>>16&255]<<16|Ft[l>>>8&255]<<8|Ft[255&d])^n[h+3]}})(on(i,0,s),on(i,s,2*s)),e.F&&tn(e),on(i,2*s)}function rn(e,t){return t===X?(e=>{if(typeof b==J){const t=new d((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new b).encode(e)})(e):t}function on(e,t,n){return e.subarray(t,n)}class sn extends z{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){cn(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=un(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new l(Lt);e=e.subarray(12)}r?t.error(new l(Ht)):t.enqueue(un(n,e))}})}}class an extends z{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){cn(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=Pt(new d(12));t[11]=n.passwordVerification,r=new d(e.length+t.length),r.set(fn(n,t),0),o=12}else r=new d(e.length),o=0;r.set(fn(n,e),o),t.enqueue(r)}})}}function cn(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),((e,t,r)=>{const o=[305419896,591751049,878082192];if(n.assign(e,{A:o,I:new yt(o[0]),U:new yt(o[2])}),r)for(let t=0;t<r.length;t++)wn(e,r[t]);else for(let n=0;n<t.length;n++)wn(e,t.charCodeAt(n))})(e,t,r)}function un(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=ln(e)^t[r],wn(e,n[r]);return n}function fn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=ln(e)^t[r],wn(e,t[r]);return n}function wn(e,t){let[,n]=e.A;e.I.append([t]);const r=~e.I.get();n=pn(a.imul(pn(n+dn(r)),134775813)+1),e.U.append([n>>>24]);const o=~e.U.get();e.A=[r,n,o]}function ln(e){const t=2|e.A[2];return dn(a.imul(t,1^t)>>>8)}function dn(e){return 255&e}function pn(e){return 4294967295&e}function hn(e){if(e instanceof x)return e;const t=e.getReader();return new x({async pull(e){try{const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)}catch(e){throw t.cancel(e).catch(()=>{}),e}},cancel:e=>t.cancel(e)})}function mn(e,t){e=hn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=Q||new y([]).stream()instanceof x)return new f(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new R({write(e){r.push(e)}})).then(()=>new y(r,n))}function yn(e){if(e instanceof R)return e;const t=e.getWriter();return new R({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}function gn(e){return!!e&&"object"==typeof e}const bn="Invalid uncompressed size",vn="Codec out of memory",Sn="Invalid CRC32",kn="deflate-raw",zn="gzip",xn=[31,139,8];class Rn extends z{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:s,useCompressionStream:a,zipCrypto:i,computeCrc32:c,level:u,deflate64:f,format:w,compressionMethod:l,inputSize:d}=e,p=this;let h,y,g,b=super.readable;const v=w&&it(w),S=En(a,r,n),k=c&&o&&!f&&!v&&(!s||i)&&!!S;if(s&&!i||!c||k||(h=new gt,b=Tn(b,h)),o)if(v)b=Mn(b,In(v.CompressionStream,w,{level:u,chunkSize:t,compressionMethod:l,uncompressedSize:d}));else if(k)g=new Fn,b=Mn(b,new S(zn,{level:u,chunkSize:t})),b=Tn(b,g);else try{b=Un(b,a,{level:u,chunkSize:t},r,n)}catch(e){if(!a&&n)throw Pn(e);let t;try{t=new r(zn)}catch{throw Pn(e)}b=Mn(b,t),b=Tn(b,new Fn)}s&&(i?b=Tn(b,new an(e)):(y=new Jt(e),b=Tn(b,y))),An(p,b,()=>{s&&!i||!c||(p.crc32=k?g.crc32:new m(h.value.buffer).getUint32(0))})}}class Fn extends z{constructor(){let e,t=10,n=new d(0);super({transform(e,r){if(t){const n=a.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(8>=o)return void(n=bt(n,e));const s=o-8,i=a.min(s,n.length);r.enqueue(bt(n.subarray(0,i),e.subarray(0,s-i))),n=bt(n.subarray(i),e.subarray(s-i))},flush(){const t=vt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Dn extends z{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:s,checkCrc32:a,crc32:i,compressed:c,useCompressionStream:f,deflate64:w,format:p,compressionMethod:h,rawBitFlag:y,outputSize:b}=e;let v,S,k,z=super.readable;if(s&&(o?z=Tn(z,new sn(e)):(S=new $t(e),z=Tn(z,S))),c){const e=new u,o=p&&it(p);let s;if(o)z=Mn(z,In(o.DecompressionStream,p,{chunkSize:t,compressionMethod:h,rawBitFlag:y,uncompressedSize:b}),e);else{const o=En(f,r,n);if(a&&!w&&i!==X&&b!==X&&o)try{s=new o(zn,{chunkSize:t})}catch{s=X}if(!s)try{z=Un(z,f,{chunkSize:t,deflate64:w},r,n,e)}catch(e){if(w||b===X||!f&&n)throw Pn(e);try{s=new r(zn)}catch{throw Pn(e)}}}s?(k=!0,z=((e,t,n,r,o)=>{const s=t.writable.getWriter(),a=t.readable.getReader(),i=r===X?new yt:X;let c,u,f=0,w=!1,p=!1;const h=new x({start(e){u=e},pull(){b()},cancel:e=>(p=!0,b(),a.cancel(e))});return(async()=>{const t=e.getReader();try{const e=new d(10);for(e.set(xn),await s.write(e);;){await y(),await s.ready;const{value:e,done:n}=await Ln(t,o);if(n)break;await s.write(e)}i&&await s.write(new d(0));const a=new d(8),c=vt(a);c.setUint32(0,i?i.get():r,!0),c.setUint32(4,n,!0),w=!0,await s.write(a),await s.close()}catch(e){await On(s,e),await Wn(t,e)}})(),(async()=>{try{for(;;){const{value:e,done:t}=await m();if(t)break;if(f+=e.length,f>n)throw new l(bn);i&&i.append(e),u.enqueue(e)}p||(p=!0,u.close())}catch(e){(e=>{p||(p=!0,u.error(e),b())})(e),await Wn(a,e)}})(),h;function m(){return a.read().catch(e=>{if(w){if(!i)throw Zn(e,Sn);if(f!=n)throw Zn(e,bn);return{done:!0}}throw Hn(e,o)})}function y(){if(!p&&0>=u.desiredSize)return new g(e=>c=e)}function b(){if(c){const e=c;c=X,e()}}})(z,s,b,i,e)):z=((e,t)=>{const n=e.getReader();return new x({async pull(e){try{const{value:t,done:r}=await n.read();r?e.close():e.enqueue(t)}catch(e){throw await Wn(n,e),Hn(e,t)}},cancel:e=>n.cancel(e)})})(z,e)}a&&!k&&(v=new gt,z=Tn(z,v)),An(this,z,()=>{if(v){const e=new m(v.value.buffer).getUint32(0,!1);if(i!=e)throw new l(Sn)}})}}const Cn=new c;function An(e,t,r){t=Tn(t,new z({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function In(e,t,n){if(!e)throw new l(ot);return new e(t,n)}function En(e,t,n){return e&&t?t:n&&n.requiresModule?n:void 0}function Un(e,t,n,r,o,s){const a=t&&r?r:o||r,i=n.deflate64?"deflate64-raw":kn;let c;try{c=new a(i,n)}catch(e){if(!t||!o||a==o)throw e;c=new o(i,n)}return Mn(e,c,s)}function Tn(e,t){return hn(e).pipeThrough(t)}function Mn(e,t,n){const r=t.writable.getWriter(),o=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await Ln(o,n);if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await On(r,e),await Wn(o,e)}})(),t.readable}async function On(e,t){try{await e.abort(t)}catch{}}async function Wn(e,t){try{await e.cancel(t)}catch{}}function Ln(e,t){const n=e.read();return t?n.catch(e=>{throw t.add(e),e}):n}function Hn(e,t){return t.has(e)?e:Zn(e,Bn(e)?vn:"Invalid compressed data")}function Pn(e){return Bn(e)?Zn(e,vn):e}function Bn(e){return gn(e)&&"Z_MEM_ERROR"==e.code}function Zn(e,t){const n=new l(t);return n.cause=e,n}const Vn="deflate",qn="inflate";class Nn extends z{constructor(e,t){super({});const r=this,{codecType:o}=e;let s;o.startsWith(Vn)?s=Rn:o.startsWith(qn)&&(s=Dn),r.outputSize=0;let a=0;const i=new s(e,t),c=super.readable,u=new z({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:a})}}),f=new z({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==X&&r.outputSize>e.outputSize))throw new l(bn)},flush(){const{crc32:e}=i;n.assign(r,{crc32:e,inputSize:a})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(i).pipeThrough(f)})}}class jn extends z{constructor(e){const t=[];let r=0,s=0;function a(){const n=new d(e);let o=0;for(;e>o;){const r=t[0],s=e-o;r.length>s?(n.set(r.subarray(0,s),o),t[0]=r.subarray(s),o+=s):(n.set(r,o),o+=r.length,t.shift())}return r-=e,n}o.isFinite(e)&&e>=1||(e=262144),super({transform(n,o){for(t.push(n),r+=n.length;r>e;)s+=e,o.enqueue(a())},flush(e){r&&(s+=r,e.enqueue(((e,t)=>{const n=new d(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n})(t,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let Kn=()=>{};class _n{constructor(e,{readable:t,writable:r},o,s){const{options:a,config:i,T:u,useWebWorkers:f,workerURI:w}=o;let{createWorker:l}=o;const{signal:d}=u;return n.assign(e,{M:!0,O:(e.O||0)+1,readable:t.pipeThrough(new jn(ke(i))).pipeThrough(new Gn(u),{signal:d}),writable:r,options:n.assign({},a),W:o,workerURI:w,createWorker:l,terminate:()=>new g(t=>{const{L:n,M:r}=e;r?(e.H=e.H||[],e.H.push(t)):(n&&(n.terminate(),e.L=null),t()),e.P=null}),B(){if(e.M){const{H:t,L:n}=e;t&&(e.H=null,n&&(e.Z=!0,n.terminate())),e.M=!1;const r=s(e);t&&t.forEach(e=>e(r))}}}),((e,t)=>({run:()=>(async({options:e,readable:t,writable:n,B:r,W:o},s)=>{let a,i,u;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Vn),n=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=t?s.CompressionStream:s.DecompressionStream;e.useCompressionStream?n&&n.requiresModule&&!((e,t)=>{if(!e)return!1;let n=Cn.get(e);n||(n=new c,Cn.set(e,n));let r=n.get(t);if(r===X){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r})(r,kn)&&await f():await f()||n&&!n.requiresModule||(e.useCompressionStream=!0)}e.encrypted&&!e.zipCrypto&&await f(),a=new Nn(e,s),i=new jn(ke(s));const{signal:r}=o.T;await t.pipeThrough(a).pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0,signal:r});const{crc32:u,inputSize:w,outputSize:l}=a;return{crc32:u,inputSize:w,outputSize:l}}catch(e){if(a){const t=i?i.outputSize:0;if(o.outputSize=t,gn(e))try{e.outputSize=t}catch{}}throw e}finally{r()}function f(){return u||(u=(async()=>{if(Kn)try{return await void 0,!0}catch{}return!1})()),u}})(e,t)}))(e,i)}}class Gn extends z{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await Xn(e,n)},async transform(e,r){o+=e.length,t&&await Xn(t,o,n),r.enqueue(e)},async flush(){r&&await Xn(r,o)}})}}async function Xn(e,...t){try{await e(...t)}catch{}}let $n=[];const Jn=[];let Qn,Yn,er=0;function tr(){!Qn&&Jn.length&&o.isFinite(Yn)&&Yn>=0&&(Qn=I(rr,Yn))}function nr(){Qn&&(E(Qn),Qn=null)}function rr(){if(Qn=null,Jn.length){const[{resolve:e,stream:t,W:n}]=Jn.splice(0,1);e(new _n({},t,or(n),sr)),tr()}}function or(e){return n.assign({},e,{useWebWorkers:!1,workerURI:X,createWorker:X})}function sr(){nr(),tr()}function ar(e){const{V:t}=e;t&&(E(t),e.V=null)}const ir="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function cr(e,t){return fr(e,t,!0)}function ur(e){if(!e.some(e=>e>127))return!1;try{return new v("utf-8",{fatal:!0}).decode(e),!0}catch{return!1}}function fr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?(e=>{let t="";for(let n=0;n<e.length;n++)t+=ir[e[n]];return t})(e):new v(t,{ignoreBOM:n}).decode(e)}const wr="HTTP error ",lr="HTTP Range not supported",dr="HTTP resource changed",pr="Content-Range",hr="Range",mr="GET",yr="bytes",gr=16777216,br="writable",vr=Symbol();class Sr{constructor(){this.size=0}init(){this.initialized=!0}}class kr extends Sr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=ke(Se())}={}){const r=this;let o=0;return n=ze(n),new x({async pull(s){const i=t===X?n:a.min(n,t-o),c=await Yr(r,e+o,i);c.length&&(s.enqueue(c),o+=c.length),(t!==X&&o>=t||!c.length&&i)&&s.close()}})}}class zr extends Sr{constructor(){super();const e=this,t=new R({write(t){if(!e.initialized)throw new l("Writer not initialized");return e.writeUint8Array((n=t).byteOffset||n.byteLength!=n.buffer.byteLength?new d(n):n);var n}});n.defineProperty(e,br,{get:()=>t})}writeUint8Array(){}}let xr,Rr;class Fr extends kr{constructor(e){super(),n.assign(this,{N:e,size:e.size}),Rr||(Rr=(async()=>{try{const e=new y([new d(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();xr=1==t}catch{xr=!1}})())}createReadable(e){const{N:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};if(typeof t.stream==Q){if(!r&&o>=n)return hn(t.stream());if(xr)return hn(t.slice(r,r+o).stream())}return super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=e||r<n.size?n.N.slice(e,r):n.N;let s=await o.arrayBuffer();return s.byteLength>t&&(s=s.slice(e,r)),new d(s)}}class Dr extends Sr{constructor(e){super();const t=this,r=new z;n.defineProperty(t,br,{get:()=>r.writable}),t.contentType=e,t.j=mn(r.readable,e),t.j.catch(()=>{})}getData(){return this.j}}class Cr extends kr{constructor(e,t){super(),Ir(this,e,t)}async init(){await Er(this,Nr,Br),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:o,K:s}=t;if((n||r)&&o!==X){const{offset:n=0,size:r=o-n}=e||{},i=s&&n>=o-s.length;if(r>0&&o>n&&!i)return((e,t,n)=>{let r,o=t,s=0,i=n;return new x({start:()=>c(),async pull(e){r||await c();const{value:t,done:n}=await r.read();if(n)throw new l(lr);const o=t.length>s?t.subarray(0,s):t;s-=o.length,i-=o.length,o.length&&e.enqueue(o),s||(await(async()=>{const e=r;r=X,await e.cancel()})(),i||e.close())},cancel:e=>r&&r.cancel(e)});async function c(){const t=a.min(e.maximumRangeSize,i),n=await Nr(mr,e,Hr(e,o,t));if(206!=n.status)throw new l(lr);const c=Tr(n);if(c!==X&&c!=o)throw new l(lr);Lr(e,n),Wr(e,n),o+=t,s=t,r=n.body.getReader()}})(t,n,a.min(r,o-n))}return super.createReadable(e)}readUint8Array(e,t){return Ur(this,e,t,Nr,Br)}}class Ar extends kr{constructor(e,t){super(),Ir(this,e,t)}async init(){await Er(this,jr,Zr),super.init()}readUint8Array(e,t){return Ur(this,e,t,jr,Zr)}}function Ir(e,t,r){const{preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:u=gr,fetch:f}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:c,maximumRangeSize:u,fetch:f})}async function Er(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:s,forceRangeRequests:a,combineSizeEocd:i}=e;if((e=>{const{baseURI:t}=Se(),{protocol:n}=new w(e,t);return"http:"==n||"https:"==n})(r)&&(s||a)&&(typeof o==J||o)){const r=await t(mr,e,Hr(e,i?-65557:void 0)),o=r.headers.get("Accept-Ranges");if(!(a||o&&o.toLowerCase()==yr))throw new l(lr);{let o;i&&206==r.status&&(o=new d(await r.arrayBuffer())),Wr(e,r);const s=Mr(r);s===X?await qr(e,t,n):e.size=s,o&&o.length&&Tr(r)===e.size-o.length&&(e.K=o)}}else await qr(e,t,n)}async function Ur(e,t,n,r,o){const{useRangeHeader:s,forceRangeRequests:a,K:i,size:c,options:u}=e;if(s||a){if(c>t&&0!==n){if(t+n>c&&(n=c-t),i&&t>=c-i.length){const e=t-(c-i.length);return i.slice(e,e+n)}const o=await r(mr,e,Hr(e,t,n));if(206!=o.status)throw new l(lr);const s=Tr(o);if(s!==X&&s!=t)throw new l(lr);Lr(e,o),Wr(e,o);const a=new d(await o.arrayBuffer());if(a.length!=n)throw new l(lr);return a}return te}{const{data:r}=e;return r||await o(e,u),e.data.subarray(t,t+n)}}function Tr(e){const t=e.headers.get(pr);if(t){const e=o(t.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e))return e}}function Mr(e){const t=e.headers.get(pr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function Or({headers:e}){return{_:e.get("Etag")||X,lastModified:e.get("Last-Modified")||X}}function Wr(e,t){const{checkResourceChanges:n,G:r}=e;n&&!r&&206==t.status&&(e.G=Or(t))}function Lr(e,t){const{checkResourceChanges:r,G:o,size:s}=e;if(r){const e=Mr(t);if(e!==X&&s!==X&&e!=s)throw new l(dr);if(o){const e=Or(t);if(n.entries(o).some(([t,n])=>n!==X&&e[t]!==X&&n!=e[t]))throw new l(dr)}}}function Hr(e,t=0,r=1){return n.assign({},Pr(e),{[hr]:yr+"="+(0>t?t:t+"-"+(t+r-1))})}function Pr({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function Br(e){await Vr(e,Nr)}async function Zr(e){await Vr(e,jr)}async function Vr(e,t){const n=await t(mr,e,Pr(e));e.data=new d(await n.arrayBuffer()),e.size=e.data.length}async function qr(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,Pr(e)),s=r.headers.get("Content-Length");s&&!r.headers.get("Content-Encoding")?e.size=o(s):await n(e,e.options)}}async function Nr(e,{fetch:t=fetch,options:r,url:o},s){const a=await t(o,n.assign({},r,{method:e,headers:s}));if(200>a.status||a.status>299)throw 416==a.status?new l(lr):new l(wr+(a.statusText||a.status));return a}function jr(e,{url:t},r){return new g((o,s)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(200>a.status||a.status>299)s(416==a.status?new l(lr):new l(wr+(a.statusText||a.status)));else{const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),o({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}},!1),a.addEventListener("error",e=>s(e.detail?e.detail.error:new l("Network error")),!1),a.open(e,t),r)for(const e of n.entries(r))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class Kr extends kr{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Ar(e,t):new Cr(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class _r extends kr{constructor(e){super(),this.X=e}async init(){const e=this;e.$=0;const t=e.X=await g.all(e.X.map(Qr));e.J=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Y(e){const{J:t,size:n}=this,r=t[e];return r===X?n:r}async readUint8Array(e,t){const n=this,{X:r}=this;let o,s=0,i=e;for(;r[s]&&i>=r[s].size;)i-=r[s].size,s++;const c=r[s];if(c){const r=c.size;if(i+t>r){const s=r-i;o=bt(await Yr(c,i,s),await n.readUint8Array(e+s,t-s))}else o=await Yr(c,i,t)}else o=te;return n.$=a.max(s,n.$),o}}class Gr extends Sr{constructor(e,t=4294967295){super();const r=this;let o,s,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const i=new R({async write(t){if(t===vr)return void(a&&await u());const{availableSize:n}=r;if(a)t.length<n?await c(t):(await c(t.subarray(0,n)),await u(),t.length>n&&await this.write(t.subarray(n)));else{const{value:n,done:i}=await e.next();if(i&&!n)throw new l("Writer iterator completed too soon");o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await Jr(o),s=n.writable,a=s.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await f())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),o.size+=t,r.availableSize-=t)}async function u(){await f(),r.diskOffset+=o.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function f(){await a.close()}n.defineProperty(r,br,{get:()=>i})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(vr)}finally{e.releaseLock()}}}class Xr{constructor(e){return t.isArray(e)&&(e=new _r(e)),(e instanceof x||typeof e.getReader==Q)&&(e={readable:hn(e)}),e}}class $r{constructor(e){e.writable===X&&typeof e.next==Q&&(e=new Gr(e)),(e instanceof R||typeof e.getWriter==Q)&&(e={writable:yn(e)});try{e.size=e.size===X?0:e.size}catch{throw new l("Invalid writer (size must be writable)")}return e}}async function Jr(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}async function Qr(e){return e=new Xr(e),await Jr(e),e.size!==X&&e.readUint8Array||(e=new Fr(await mn(e.readable)),await Jr(e)),e}function Yr(e,t,n){return e.readUint8Array(t,n)}function eo(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==X&&(r.filename=n),e.push(r)}}const to="filename",no="rawFilename",ro="comment",oo="rawComment",so="uncompressedSize",ao="compressedSize",io="offset",co="diskNumberStart",uo="lastModDate",fo="rawLastModDate",wo="lastAccessDate",lo="rawLastAccessDate",po="creationDate",ho="rawCreationDate",mo=[to,no,so,ao,uo,fo,ro,oo,wo,lo,po,ho,io,co,"internalFileAttributes","externalFileAttributes","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","symlink","compressionMethod","signature","crc32","extraField","extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid","unixMode","unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class yo{constructor(e){mo.forEach(t=>this[t]=e[t])}}const go="File format is not recognized",bo="End of Zip64 central directory locator not found",vo="Encryption method not supported",So="Split zip file",ko="malformed extra field",zo="wrapped entries count",xo="appended data",Ro="prepended data",Fo="mismatched zip64 end of central directory record",Do="mismatched local file header (crc32 or sizes)",Co=/^[a-zA-Z]:/,Ao=/(^|[\\/])\.\.([\\/]|$)/,Io="utf-8",Eo="cp437",Uo=[[so,U],[ao,U],[io,U],[co,T]],To={[T]:{ee:hs,bytes:4},[U]:{ee:ms,bytes:8}},Mo=s(o.MAX_SAFE_INTEGER);class Oo{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,r,s={}){const i=this,{te:c,directoryOffset:u}=r;if(i.ne)throw new l($);const f=Se(),{reader:p,index:h,offset:m,diskNumberStart:y,extraFieldAES:b,extraFieldZip64:v,compressionMethod:S,bitFlag:k,rawBitFlag:z,crc32:x,rawLastModDate:F,uncompressedSize:D,compressedSize:C}=i,{dataDescriptor:A}=k,E=t.localDirectory={},U=t.warnings=[],T=Jo(p,y)+m,W=await Yr(p,T,30),L=vt(W);let H=us(i,s,"password"),P=us(i,s,"rawPassword");const B=(e=>{if(e!==X&&typeof e!=ee&&"compressed"!==e)throw new l("Invalid passThrough option (must be a boolean or 'compressed')");return e})(us(i,s,"passThrough")),Z=!!B,V=!0===B;if(((e,t)=>{if(e&&typeof e!=Y||t&&!(t instanceof d))throw new l("Invalid password (password must be a string, rawPassword must be a Uint8Array)")})(H,P),H=H&&H.length?H:X,P=P&&P.length?P:X,b&&99!=b.originalCompressionMethod)throw new l(ot);if(30>W.length||hs(L,0)!=O)throw new l("Local file header not found");Vo(E,L,4);const{extraFieldLength:q,filenameLength:N}=E,j=E.dataOffset=T+30+N+q,_=us(i,s,"checkLocalDirectory"),G=es(s,i.options),J=((e,t)=>e===X?t!=ie:!!e)(_,G),ne=us(i,s,"checkLocalFilename"),re=((e,t)=>e===X?t==se:!!e)(ne===X?_:ne,G);let oe=te;if(re&&(N||q)){const e=await Yr(p,T+30,N+q);oe=e.subarray(0,N),E.rawExtraField=e.subarray(N)}else E.rawExtraField=q?await Yr(p,T+30+N,q):te;re&&(E.rawFilename=oe),qo(i,E,L,4,!0)&&eo(U,ko),((e,t,n,r,o)=>{const{rawFilename:s}=e,a=!o,i=e.re&&(t.rawBitFlag&K)==K;!r||i||n.length==s.length&&!n.some((e,t)=>e!=s[t])||is(a,o,"mismatched local file header (filename)"),(2121&t.rawBitFlag)!=(2121&e.rawBitFlag)&&is(a,o,"mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&is(a,o,"mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||i||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||is(a,o,Do)})(i,E,oe,re,J?X:U);const{lastAccessDate:ae,creationDate:ce,uid:fe,gid:we}=E;ae&&t.lastAccessDate===X&&(t.lastAccessDate=ae),ce&&t.creationDate===X&&(t.creationDate=ce),fe!==X&&t.uid===X&&(t.uid=fe),we!==X&&t.gid===X&&(t.gid=we);const le=us(i,s,"checkPasswordOnly"),de=i.encrypted&&(!V||le),pe=de&&!b;if(V||(t.zipCrypto=pe),de&&!(64&~i.rawBitFlag))throw new l(vo);const he=Z?X:(e=>st.get(e))(S);if(0!=S&&8!=S&&9!=S&&!he&&!Z)throw new l(ot);if(de){if(!pe&&(1>b.strength||b.strength>3))throw new l(vo);if(!H&&!P)throw new l("File contains encrypted entry")}if(j+C>a.min(p.size,u))throw new l("Entry data out of bounds");const me=C,ye=(e=>{if(e&&(typeof e.addEventListener!=Q||typeof e.aborted!=ee))throw new l("Invalid signal (must be an AbortSignal instance)");return e||X})(us(i,s,"signal"));ue(ye);let ge=us(i,s,"checkOverlappingEntry");const be=us(i,s,"checkOverlappingEntryOnly");be&&(ge=!0);const{onstart:ve,onprogress:ke,onend:ze}=s,xe=0!=S&&!Z,Re=Z?C-((e,t,n)=>e?t?12:16+4*n:0)(de,pe,b&&b.strength):D,Fe=9==S;let De=us(i,s,"useCompressionStream");Fe&&(De=!1);const Ce=us(i,s,"checkCrc32"),Ae=(Ce===X?us(i,s,"checkSignature"):Ce)&&!Z&&(!de||pe||b&&1==b.vendorVersion),Ie={options:{codecType:qn,password:H,rawPassword:P,zipCrypto:pe,encryptionStrength:b&&b.strength,checkCrc32:Ae,checkAuthenticationCode:us(i,s,"checkAuthenticationCode"),passwordVerification:pe&&(A?F>>>8&M:x>>>24&M),outputSize:Re,crc32:x,compressed:xe,encrypted:de,useWebWorkers:us(i,s,"useWebWorkers"),useCompressionStream:De,deflate64:Fe,format:he?he.format:X,codecURI:he?he.codecURI:X,compressionMethod:S,rawBitFlag:z,checkPasswordOnly:le},config:f,T:{signal:ye,size:me,onstart:ve,onprogress:ke,onend:ze}};let Ee,Ue,Te;ge&&(await(async({reader:e,oe:t,index:n,offset:r,crc32:o,compressedSize:s,uncompressedSize:i,dataOffset:c,dataDescriptor:u,extraFieldZip64:f,te:w})=>{let d=0;if(u){const n=!!f,r=await(async(e,t,{crc32:n,compressedSize:r,uncompressedSize:o,zip64:s})=>{const i=a.min(24,a.max(0,e.size-t)),c=vt(i?await Yr(e,t,i):te),u=[[s,!0],[s,!1],[!s,!0],[!s,!1]].map(([e,t])=>Xo(c,e,t)).filter(e=>e&&e.compressedSize==r&&e.uncompressedSize==o);return u.find(e=>e.crc32==n)||u[0]||Xo(c,s,!0)||Xo(c,s,!1)})(e,c+s,{crc32:o,compressedSize:s,uncompressedSize:i,zip64:n});r?(t.localDirectory.dataDescriptor=r,d=$o(r.zip64,r.signature)):d=$o(n,!1)}const p={start:r,end:c+s+d,oe:t},{se:h,ae:m,ie:y}=w;if(!h.has(n)){const e=((e,t)=>{let n=0,r=e.length;for(;r>n;){const o=n+r>>>1;e[o].start<t.start?n=o+1:r=o}const o=e[n-1],s=e[n];return o&&Go(t,o)?o:s&&Go(t,s)?s:void 0})(m,p)||y.find(e=>Go(p,e));if(e){const t=new l("Overlapping entry found");throw t.overlappingEntry=e.oe,t}h.add(n),y.push(p),y.length*y.length>m.length&&(y.sort((e,t)=>e.start-t.start),w.ae=((e,t)=>{const n=[];let r=0,o=0;for(;r<e.length||o<t.length;)o==t.length||r<e.length&&e[r].start<t[o].start?n.push(e[r++]):n.push(t[o++]);return n})(m,y),y.length=0)}})({reader:p,oe:t,index:h,offset:T,crc32:x,compressedSize:C,uncompressedSize:D,dataOffset:j,dataDescriptor:A||E.bitFlag.dataDescriptor,extraFieldZip64:v||E.extraFieldZip64,te:c}),((e,t,n)=>{const{dataDescriptor:r}=t,o=e.re&&(t.rawBitFlag&K)==K;r&&!o&&(e.crc32!==X&&r.crc32!=e.crc32||r.compressedSize!=e.compressedSize||r.uncompressedSize!=e.uncompressedSize)&&is(!n,n,Do)})(i,E,J?X:U));try{if(!be){le&&(e=new R),e=new $r(e),await Jr(e,((e,t,n)=>a.min(e,n?1032*t:t))(Re,C,xe)),({writable:Ee}=e);const t=hn(p.createReadable({offset:j,size:me})),{outputSize:r}=await async function(e,t){const{options:n,config:r}=t,{useWebWorkers:s,useCompressionStream:a,compressed:i,checkCrc32:c,computeCrc32:u,encrypted:f,format:d,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;d&&(p&&(n.codecURI=((e,t)=>{try{return new w(e,t).toString()}catch{return e}})(p,r.baseURI)),await(async(e,t)=>{!at.has(e)&&t&&((e,t)=>{const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=Q&&typeof r!=Q)throw new l("Invalid codec module");at.set(e,{CompressionStream:n,DecompressionStream:r})})(e,await(import(t)))})(d,n.codecURI));const b=!(i||c||u||f),v=d===X||!!n.codecURI;return t.useWebWorkers=!b&&v&&(s||s===X&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:X,t.createWorker=t.useWebWorkers&&m?m:X,n.useCompressionStream=a||a===X&&r.useCompressionStream,(await(async()=>{const n=$n.find(e=>!e.M);if(n)return ar(n),new _n(n,e,t,S);if($n.length<y){const n={ce:er};return er++,$n.push(n),new _n(n,e,t,S)}return new g(n=>{Jn.push({resolve:n,stream:e,W:t}),Yn=r.workerStarvationTimeout,tr()})})()).run();function S(e){if(nr(),e.Z)return e.Z=!1,(()=>{const e=Jn.splice(0).map(({resolve:e,stream:t,W:n})=>new g(r=>{e(new _n({},t,or(n),()=>{sr(),r()}))}));return nr(),g.all(e)})();if(Jn.length){const[{resolve:t,stream:n,W:r}]=Jn.splice(0,1);t(new _n(e,n,r,S)),tr()}else e.L?(ar(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.V=I(async()=>{$n=$n.filter(t=>t!=e);try{await e.terminate()}catch{}},r))})(e,t)):$n=$n.filter(t=>t!=e)}}({readable:t,writable:Ee},Ie);if(ue(ye),r!=Re)throw n.assign(new l(bn),{outputSize:r});e.size+=r}}catch(t){if(gn(t)&&t.outputSize!==X&&(e.size+=t.outputSize),!le||!gn(t)||t.message!=Ht)throw Ue=t,Te=!0,t}finally{const t=!(e=>!(!e||!e.getData))(e)&&us(i,s,"preventClose");if(!t&&Ee&&!Ee.locked){const e=Ee.getWriter();if(Te)try{await e.abort(Ue)}catch{}else await e.close()}}return le||be?X:e.getData?e.getData():Ee}}function Wo(e){return e.byteLength>=4&&134630224==hs(e,0)}function Lo(e,t,n){let r=0;for(;n+V<=t.length&&hs(e,n)==P;)n+=V+ps(e,n+28)+ps(e,n+30)+ps(e,n+32),r++;return r%65536?0:r}function Ho(e,t){return Po(e,t,P)}async function Po(e,t,n){return t>=0&&t+4<=e.size&&hs(vt(await Yr(e,t,4)),0)==n}function Bo(e,t,n){const r=hs(t,n+42);if(r!=U)return r;let o=n+V+ps(t,n+28);const s=a.min(o+ps(t,n+30),e.length);for(;s>=o+4;){const e=ps(t,o),r=ps(t,o+2);if(1==e){let e=o+4;return hs(t,n+24)==U&&(e+=8),hs(t,n+20)==U&&(e+=8),e+8>s?X:ms(t,e)}o+=4+r}return X}function Zo(e){if(e.length>=6){const t=vt(e);if(hs(t,0)==H){const n=ps(t,4);if(6+n<=e.length)return new d(e.subarray(6,6+n))}}}function Vo(e,t,r){const o=e.rawBitFlag=ps(t,r+2),s=!(1&~o),a=hs(t,r+6);n.assign(e,{encrypted:s,version:ps(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:!(2048&~o)},rawLastModDate:a,lastModDate:ws(a),filenameLength:ps(t,r+22),extraFieldLength:ps(t,r+24)})}function qo(e,t,r,o,s){const{rawExtraField:a}=t,u=t.extraField=new c,f=vt(a);let w=0,d=!1;try{for(;w<a.length;){const e=ps(f,w),t=ps(f,w+2);u.set(e,{type:e,data:a.slice(w+4,w+4+t)}),w+=4+t}}catch{d=!0}w>a.length&&(d=!0);const p=ps(r,o+4);n.assign(t,{signature:hs(r,o+10),crc32:hs(r,o+10),compressedSize:hs(r,o+14),uncompressedSize:hs(r,o+18)});const h=u.get(1);let m;h?(((e,t,n)=>{t.zip64=!0;const r=vt(e.data),o=Uo.filter(([e,n])=>t[e]==n),s=o.reduce((e,[,t])=>e+To[t].bytes,0);if(e.data.length<s){if(n)return!1;throw new l($)}const a=[];try{for(let e=0,t=0;e<o.length;e++){const[,n]=o[e],s=To[n];a.push(s.ee(r,t)),t+=s.bytes}}catch(e){if(n)return!1;throw e}return o.forEach(([n],r)=>{t[n]=e[n]=a[r]}),!0})(h,t,s)||(d=!0),t.extraFieldZip64=h):Uo.some(([e,n])=>t[e]==n)&&(s?d=!0:m=!0);const y=u.get(28789);y&&(No(y,to,no,t,e),t.extraFieldUnicodePath=y);const g=u.get(25461);g&&(No(g,ro,oo,t,e),t.extraFieldUnicodeComment=g);const b=u.get(39169);!b||99!=p&&!t.encrypted||7>b.data.length?(b&&(d=!0),t.compressionMethod=p):(((e,t,r)=>{const o=vt(e.data),s=ds(o,4);n.assign(e,{vendorVersion:ds(o,0),vendorId:ds(o,2),strength:s,originalCompressionMethod:r,compressionMethod:ps(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=X)})(b,t,p),t.extraFieldAES=b);const v=u.get(13);v&&(jo(v,t),t.extraFieldPkwareUnix=v);const S=u.get(22613);S&&(jo(S,t),t.extraFieldUnixType1=S);const k=u.get(21589);k&&(((e,t,n)=>{if(!e.data.length)return;const r=vt(e.data),o=ds(r,0),s=[],a=[];n?(1&~o||(s.push(uo),a.push(fo)),2&~o||(s.push(wo),a.push(lo)),4&~o||(s.push(po),a.push(ho))):5>e.data.length||(s.push(uo),a.push(fo));let c=1;s.forEach((n,o)=>{if(e.data.length>=c+4){const s=hs(r,c);t[n]=e[n]=new i(1e3*(0|s));const u=a[o];e[u]=s}c+=4})})(k,t,s),t.extraFieldExtendedTimestamp=k);const z=u.get(10);z&&(((e,t)=>{const r=vt(e.data);let o,s=4;try{for(;s<e.data.length&&!o;){const t=ps(r,s),n=ps(r,s+2);1==t&&(o=e.data.slice(s+4,s+4+n)),s+=4+n}}catch{}if(o&&24==o.length){const r=vt(o),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:i});const c={lastModDate:ls(s),lastAccessDate:ls(a),creationDate:ls(i)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:a,rawCreationDate:i})}})(z,t),t.extraFieldNTFS=z);const x=u.get(30837);let R;x&&(R=Ko(x,t,!0),t.extraFieldInfoZip=x);const F=u.get(30805);F&&(Ko(F,R?{}:t,!1),t.extraFieldUnix=F);const D=u.get(6534);if(D&&(t.extraFieldUSDZ=D),m)throw new l($);return d}function No(e,t,r,o,s){if(5>e.data.length)return void(e.valid=!1);const a=vt(e.data),i=new yt;i.append(s[r]);const c=vt(new d(4));c.setUint32(0,i.get(),!0);const u=hs(a,1),f=ds(a,0);n.assign(e,{version:f,[t]:cr(e.data.subarray(5)),valid:1==f&&!s.bitFlag.languageEncodingFlag&&u==hs(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function jo(e,t){if(8>e.data.length)return;const r=vt(e.data),o={lastAccessDate:new i(1e3*(0|hs(r,0))),lastModDate:new i(1e3*(0|hs(r,4)))};12>e.data.length||(o.uid=ps(r,8),o.gid=ps(r,10)),n.assign(e,o),n.assign(t,o)}function Ko(e,t,r){try{const o=vt(e.data);let s,a;if(r){let t=0;const r=ds(o,t++),i=ds(o,t++);s=_o(e.data.subarray(t,t+i)),t+=i;const c=ds(o,t++);a=_o(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:s,gid:a})}else 4>e.data.length||(s=ps(o,0),a=ps(o,2),n.assign(e,{uid:s,gid:a}));return s!==X&&(t.uid=s),a!==X&&(t.gid=a),s!==X||a!==X}catch{}}function _o(e){const t=new d(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Go(e,t){return e.start<t.end&&t.start<e.end}function Xo(e,t,n){const r=n?4:0;if(e.byteLength<$o(t,n)||n&&hs(e,0)!=L)return X;const o=hs(e,r);let s,a;try{t?(s=ms(e,r+4),a=ms(e,r+12)):(s=hs(e,r+4),a=hs(e,r+8))}catch{return X}return{signature:n,zip64:t,crc32:o,compressedSize:s,uncompressedSize:a}}function $o(e,t){return(e?20:12)+(t?4:0)}function Jo(e,t){return e.Y?e.Y(t):0}async function Qo(e){return hs(vt(await Yr(e,0,4)))}function Yo(e){return e===se||e===ae||e===ie}function es(e,t){return ts(e,ts(t,ae))}function ts(e,t){const n=e[oe];if(n!==X){if(!Yo(n))throw new l("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}const r=e[re];return r===X?t:r?se:t==ie?ie:ae}function ns(e,t){if(t==ie)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(Ao.test(e)||e.startsWith("/")||e.startsWith("\\")||Co.test(e))||t==se&&(n.includes(".")||n.includes("")||e.includes("\0"))}async function*rs(e,t){const n=e.size-t,r=await Yr(e,n,t),o=vt(r);for(let e=r.length-q;e>=0;e--)101010256==hs(o,e)&&(yield[o,n,r,e,n+e])}function os(e,t,n){return{offset:n,buffer:new d(e.subarray(t,t+q)).buffer}}async function ss(e,t,n,r,o,s,a){const i=ps(t,r+10),c=hs(t,r+12),u=hs(t,r+16);if(i==T||c==U||u==U)return await as(e,t,n,o-N,s,a)==Z?2:0;if(!i&&!c)return 1;const f=ps(t,r+6);for(const r of[o-c,Jo(e,f)+u])if(await as(e,t,n,r,s,a)==P)return 2;return 0}async function as(e,t,n,r,o,s){return 0>r||r+4>o?X:n>r?s.ue>0?(s.ue--,hs(vt(await Yr(e,r,4)),0)):X:hs(t,r-n)}function is(e,t,n){e?cs(n):eo(t,n)}function cs(e){const t=new l("Ambiguous archive");throw t.reason=e,t}function us(e,t,n){return t[n]===X?e.options[n]:t[n]}function fs(e,t,n){return ce(us(e,t,n))}function ws(e){const t=(4294901760&e)>>16,n=e&T,r=new i(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return G>r?G:r}function ls(e){return new i(o(e/s(1e4)-s(116444736e5)))}function ds(e,t){return e.getUint8(t)}function ps(e,t){return e.getUint16(t,!0)}function hs(e,t){return e.getUint32(t,!0)}function ms(e,t){const n=e.getBigUint64(t,!0);if(n>Mo)throw new l("64-bit value exceeds Number.MAX_SAFE_INTEGER");return o(n)}(e=>{const t=xe(Fe(e));n.assign(de,t),n.assign(ve,t)})({workerURI:null,wasmURI:null,DecompressionStreamFallback:class extends rt{constructor(e){(e=>{if("deflate-raw"!=e)throw new TypeError("Unsupported compression format: "+e)})(e),super(new tt)}}}),e.BlobReader=Fr,e.BlobWriter=Dr,e.Data64URIWriter=class extends zr{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",fe:""})}writeUint8Array(e){const t=this;let n,o=t.fe;const s=t.fe.length;for(t.fe="",n=0;n<3*a.floor((s+e.length)/3)-s;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.fe+=r.fromCharCode(e[n]);o.length>2?t.data+=k(o):t.fe=o+t.fe}getData(){return this.data+k(this.fe)}},e.HttpRangeReader=class extends Kr{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.TextWriter=class extends Dr{constructor(e){super(),n.assign(this,{encoding:e,we:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,we:t}=this,n=await super.getData();return n.text&&t?n.text():((e,t)=>fr(e,t,!1))(new d(await n.arrayBuffer()),e)}},e.ZipReader=class{constructor(e,t={}){n.assign(this,{reader:new Xr(e),options:t||{},te:{se:new u,ae:[],ie:[]},le:new WeakSet})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await Jr(r),r.size!==X&&r.readUint8Array||(r=new Fr(await mn(r.readable)),await Jr(r)),r.size<q)throw new l(go);const s=t.warnings=[],i=es(e,t.options),c=i==se,f=i!=ie,w=((e,t)=>{if(e!==X){const t=fe(e);if("number"!=typeof t||o.isNaN(t)||0>t)throw new l("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return t}return t==se?0:t==ie?1/0:T})(us(t,e,"maxAppendedDataSize"),i),p=((e,t)=>{if(e===X)return t;if(!Yo(e))throw new l("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return e})(us(t,e,"filenameValidation"),i),h=us(t,e,"normalizeFilename"),{de:m,pe:y}=await(async(e,t,n)=>{const{size:r}=e,o=a.min(r,65557),s={ue:64};let i,c,u=0;for await(const[n,a,f,w,l]of rs(e,o)){const o=ps(n,w+20);if(l+q+o==r){const o=await ss(e,n,a,w,l,r,s);if(2==o){if(i||(i=os(f,w,l)),u++,!t||u>1)break}else 1!=o||c||(c=os(f,w,l))}}return i||(i=c),i||(i=await(async(e,t,n)=>{const{size:r}=e,o=a.min(r,t==1/0?r:65557+t);let s,i;for await(const[t,a,c,u,f]of rs(e,o)){const o=os(c,u,f);s||(s=o);const w=await ss(e,t,a,u,f,r,n);if(2==w)return o;1!=w||i||(i=o)}return i||s})(e,n,s)),{de:i,pe:u}})(r,f,w);if(!m)throw await(async e=>await Qo(e)==W)(r)?new l(So):new l("End of central directory not found");f&&y>1&&cs("multiple end of central directory records");const g=vt(m);let b=hs(g,12),v=hs(g,16);const S=m.offset,k=ps(g,20),x=S+q+k,R=r.size-x;R>w&&cs(xo),R>0&&eo(s,xo);let F=ps(g,4);const D=r.$||0;let C,A,I,E,L,K=ps(g,6),G=ps(g,10),J=0,Q=j;const Y=v==U||b==U||G==T||K==T;if(v!=U&&K!=T&&(v+=Jo(r,K)),Y){const e=m.offset<N?te:await Yr(r,m.offset-N,N),t=vt(e);if(e.length==N&&hs(t,0)==Z){v=Jo(r,hs(t,4))+ms(t,8);let e=await Yr(r,v,j),i=vt(e);if(e.length<j||hs(i,0)!=B){const t=m.offset-N;let n=t-j;if(await Po(r,n,B)||(n=await(async(e,t)=>{const n=a.max(0,t-65591),r=await Yr(e,n,t-n),s=vt(r);for(let e=r.length-j;e>=0;e--)if(hs(s,e)==B&&e+12+o(s.getBigUint64(e+4,!0))==r.length)return n+e})(r,t)),n!==X&&n>=0&&v!=n){const t=v;v=n,v>t&&(J=v-t),e=await Yr(r,v,j),i=vt(e)}}if(e.length<j||hs(i,0)!=B)throw new l(bo);if(I=!0,E=ms(i,4)>44,E){const e=a.min(ms(i,4)-44,r.size-v-j);e>0&&(Q+=e,L=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const r=vt(e),o=ps(r,26);n.assign(t,{compressionMethod:ps(r,0),compressedSize:ms(r,2),uncompressedSize:ms(r,10),encryptionAlgorithm:ps(r,18),bitLength:ps(r,20),flags:ps(r,22),hashAlgorithm:ps(r,24),hashData:e.subarray(28,28+o)})}return t})(await Yr(r,v+j,e)))}F==T?F=hs(i,16):F!=hs(i,16)&&is(c,s,Fo),K==T?K=hs(i,20):K!=hs(i,20)&&is(c,s,Fo),G==T?G=ms(i,32):G!=ms(i,32)&&is(c,s,Fo),b==U?b=ms(i,40):b!=ms(i,40)&&is(c,s,Fo),v=Jo(r,K)+ms(i,48)+J}else if(v==U||b==U||K==T)throw new l(bo)}let ee=b;const ne=m.offset-(I?Q+N:0);if(D!=F)throw new l(So);if(0>v)throw new l(go);let ae=0,ce=v<r.size?await Yr(r,v,b):te,ue=vt(ce);if(b){let e=ne-b;if(v!=e&&K==F){const t=ce.length>=4&&(hs(ue,ae)==P||!(!L||!L.compressedSize)||Wo(ue));if(!t&&0>e)throw new l(go);let n=!t;if(e>=0&&e+4<=r.size){let o=await Ho(r,e);if(!o){const t=await(async(e,t)=>{const n=a.max(0,t-65541),r=await Yr(e,n,t-n),o=vt(r);for(let e=r.length-6;e>=0;e--)if(hs(o,e)==H&&e+6+ps(o,e+4)==r.length)return n+e})(r,ne),n=t-b;t!==X&&n>=0&&await Ho(r,n)&&(e=n,o=!0)}t&&(n=o)}if(n&&e!=v){const n=v;v=e,ce=await Yr(r,v,b),ue=vt(ce);const o=v-n,{he:a,me:i}=await(async(e,t,n,r)=>{let o={he:!1,me:!1},s=0;for(;s+V<=t.length&&hs(n,s)==P;){const a=Bo(t,n,s);if(a!==X){const t=await Po(e,a,O),n=await Po(e,a+r,O);if(s||(o={he:t,me:n}),t!=n)return{he:t,me:n}}s+=V+ps(n,s+28)+ps(n,s+30)+ps(n,s+32)}return o})(r,ce,ue,o);0>=o||a&&!i?(is(c,s,"mismatched central directory offset"),0>o&&!a&&i&&(J+=o)):(J+=o,C=t)}}if(4>ce.length)throw new l(go)}else!G&&ne>v&&K==F&&(J+=ne-v,v=ne);const we=ne-v;if(b==we||0>we||K!=F||(b=we,ce=await Yr(r,v,b),ue=vt(ce)),0>v||v>=r.size)throw new l(go);t.directoryOffset=v,t.directoryLength=ee;const le=fs(t,e,"decryptCentralDirectory");let de,pe;if(le&&G&&ce.length>=4&&hs(ue,0)!=P&&(E||Wo(ue))){const e=((e,t,n)=>{const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&n>=r?r:n})(L,ee,ce.length);pe=ce.subarray(e),ce=await le(ce.subarray(0,e),L),ue=vt(ce),ee=ce.length,de=!0}!L||de||ce.length>=4&&hs(ue,0)!=P||eo(s,"unknown zip64 extensible data"),A=v;const he=us(t,e,"filenameEncoding"),me=us(t,e,"commentEncoding"),ye=new u;let ge,be=-1/0;const ve=!c&&!I;!G&&ve&&(G=Lo(ue,ce,ae),G&&eo(s,zo));const Se=n.assign({},t.options,e,{[oe]:i});delete Se[re];for(let o=0;G>o;o++){const i=new Oo(r,Se);if(ae+V>ce.length||hs(ue,ae)!=P){if(0==o&&!de&&(E||Wo(ue)))throw new l("Encrypted central directory is not supported");throw new l("Central directory header not found")}Vo(i,ue,ae+6);const u=!!i.bitFlag.languageEncodingFlag,f=ae+V,w=f+i.filenameLength+i.extraFieldLength,m=ps(ue,ae+4),y=!(m>>8),g=m>>8==3,b=ps(ue,ae+32),v=w+b,S=new d(ce.subarray(f,v)),k=S.subarray(0,i.filenameLength),x=S.subarray(i.filenameLength+i.extraFieldLength),R=u||!he&&ur(k),F=u||!me&&ur(x),D=hs(ue,ae+38),C=D&M,I={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},O=hs(ue,ae+42),W=fs(t,e,"decodeText")||cr,L=R?Io:he||Eo,H=F?Io:me||Eo;let B=W(k,L,"filename");B===X&&(B=cr(k,L));let Z,q=W(x,H,"comment");q===X&&(q=cr(x,H)),n.assign(i,{index:o,re:de,versionMadeBy:m,msDosCompatible:y,zip64:!1,compressedSize:0,uncompressedSize:0,ye:b,offset:O,diskNumberStart:ps(ue,ae+34),internalFileAttributes:ps(ue,ae+36),externalFileAttributes:D,msdosAttributesRaw:C,msdosAttributes:I,rawFilename:k,filenameUTF8:R,commentUTF8:F,rawExtraField:S.subarray(i.filenameLength,i.filenameLength+i.extraFieldLength),rawComment:x,filename:B,comment:q});try{Z=qo(i,i,ue,ae+6)}catch(e){if(c||e.message!=$)throw e;i.ne=!0,eo(s,"missing zip64 extra field",i.filename)}if(B=i.filename,h){const e=h(B);e!==X&&(B=i.filename=e)}if(ns(B,p)){const e=new l("Unsafe filename");throw e.filename=B,e}if(Z&&eo(s,ko,B),i.ne&&i.offset==U)A=0;else{i.offset+=J;const e=Jo(r,i.diskNumberStart)+i.offset;A=a.min(e,A),be>e&&eo(s,"unsorted central directory",B),be=e}(i.version&M)>63&&eo(s,"unknown version needed to extract",B),32&~i.rawBitFlag||eo(s,"compressed patched data",B),ye.has(i.filename)&&(ge=!0),ye.add(i.filename);const N=i.externalFileAttributes>>16&T;i.unixMode===X&&16877&N&&(i.unixMode=N);const j=!!(2048&i.unixMode),K=!!(1024&i.unixMode),Q=!!(512&i.unixMode),Y=40960==((i.unixMode===X?N:i.unixMode)&_),ee=i.unixMode!==X&&16384==(i.unixMode&_)||16384==(N&_)||y&&I.directory||i.filename.endsWith("/"),te=!Y&&!ee&&(i.unixMode!==X?!!(73&i.unixMode):g&&!!(73&N));n.assign(i,{setuid:j,setgid:K,sticky:Q,symlink:Y,unixExternalUpper:N,executable:te,directory:ee,zipCrypto:i.encrypted&&!i.extraFieldAES});const ne=new yo(i);if(i.ne&&t.le.add(ne),ne.getData=(e,n)=>i.getData(e,ne,t,n),ne.arrayBuffer=async e=>{const r=new z,o=mn(r.readable).then(e=>e.arrayBuffer());return o.catch(()=>{}),await i.getData(r,ne,t,n.assign({},e,{preventClose:!1})),o},ae=v,o==G-1&&ve){const e=Lo(ue,ce,ae);e&&(G+=e,eo(s,zo))}const{onprogress:re}=e;if(re)try{await re(o+1,G,new yo(i))}catch{}yield ne}let ke=ae,ze=Zo(ce.subarray(ae))||(de?Zo(pe):X);if(!ze&&!de){const e=v+ae,t=a.min(ne-e,65541);6>t||(ze=Zo(await Yr(r,e,t)))}ze&&(t.digitalSignature=ze,ke=ae+6+ze.length),(ae!=ee&&ke!=ee||!de&&ae!=b&&ke!=b)&&is(c,s,"trailing central directory data"),ge&&is(c,s,"duplicate filename");const xe=us(t,e,"extractPrependedData"),Re=us(t,e,"extractAppendedData"),Fe=(c||xe)&&G&&4==A&&await(async e=>{const t=await Qo(e);return t==W||808471376==t})(r)?4:0;return c&&(J>0||G&&A>Fe)&&cs(Ro),(J>0||G&&A>4)&&eo(s,Ro),C&&eo(s,"prepended central directory"),xe&&(t.prependedData=A>Fe?await Yr(r,Fe,A-Fe):te),t.comment=k?await Yr(r,S+q,k):te,Re&&(t.appendedData=x<r.size?await Yr(r,x,r.size-x):te),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}[ne](){return this.close()}},e.configure=e=>{n.assign(ve,xe(Fe(e)))},e.inflateRaw=(e,t)=>Ye(e,{i:2},t&&t.ge,t&&t.m)});
|