@zip.js/zip.js 2.8.54 → 2.8.55

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/dist/zip-core.js CHANGED
@@ -85,6 +85,7 @@
85
85
  const BITFLAG_DATA_DESCRIPTOR = 0b1000;
86
86
  const BITFLAG_STRONG_ENCRYPTION = 0b1000000;
87
87
  const BITFLAG_LANG_ENCODING_FLAG = 0b100000000000;
88
+ const BITFLAG_MASKED_LOCAL_HEADERS = 0b10000000000000;
88
89
  const FILE_ATTR_MSDOS_DIR_MASK = 0b10000;
89
90
  const FILE_ATTR_MSDOS_READONLY_MASK = 0x01;
90
91
  const FILE_ATTR_MSDOS_HIDDEN_MASK = 0x02;
@@ -4777,6 +4778,7 @@
4777
4778
  let startOffset;
4778
4779
  let zip64EndOfDirectory;
4779
4780
  let zip64EndOfDirectoryVersion2;
4781
+ let zip64EndOfDirectoryLength = ZIP64_END_OF_CENTRAL_DIR_LENGTH;
4780
4782
  let directoryEncryptionInfo;
4781
4783
  const requiresZip64 = directoryDataOffset == MAX_32_BITS || directoryDataLength == MAX_32_BITS || filesLength == MAX_16_BITS || diskNumber == MAX_16_BITS;
4782
4784
  if (directoryDataOffset != MAX_32_BITS && diskNumber != MAX_16_BITS) {
@@ -4813,6 +4815,7 @@
4813
4815
  Number(getBigUint64(endOfDirectoryView, 4)) - (ZIP64_END_OF_CENTRAL_DIR_LENGTH - 12),
4814
4816
  reader.size - directoryDataOffset - ZIP64_END_OF_CENTRAL_DIR_LENGTH);
4815
4817
  if (extensibleDataLength > 0) {
4818
+ zip64EndOfDirectoryLength += extensibleDataLength;
4816
4819
  const rawExtensibleData = await readUint8Array(reader, directoryDataOffset + ZIP64_END_OF_CENTRAL_DIR_LENGTH, extensibleDataLength);
4817
4820
  directoryEncryptionInfo = getDirectoryEncryptionInfo(rawExtensibleData);
4818
4821
  }
@@ -4842,7 +4845,7 @@
4842
4845
  }
4843
4846
  let declaredDirectoryDataLength = directoryDataLength;
4844
4847
  const centralDirectoryEndOffset = endOfDirectoryInfo.offset -
4845
- (zip64EndOfDirectory ? ZIP64_END_OF_CENTRAL_DIR_LENGTH + ZIP64_END_OF_CENTRAL_DIR_LOCATOR_LENGTH : 0);
4848
+ (zip64EndOfDirectory ? zip64EndOfDirectoryLength + ZIP64_END_OF_CENTRAL_DIR_LOCATOR_LENGTH : 0);
4846
4849
  if (directoryDataOffset >= reader.size) {
4847
4850
  prependedDataLength = reader.size - directoryDataOffset - directoryDataLength - END_OF_CENTRAL_DIR_LENGTH;
4848
4851
  directoryDataOffset = reader.size - directoryDataLength - END_OF_CENTRAL_DIR_LENGTH;
@@ -4862,7 +4865,9 @@
4862
4865
  }
4863
4866
  const expectedDirectoryDataOffset = centralDirectoryEndOffset - directoryDataLength;
4864
4867
  if (directoryDataOffset != expectedDirectoryDataOffset && diskNumber == lastDiskNumber) {
4865
- const storedPointsAtDirectory = getUint32$1(directoryView, offset) == CENTRAL_FILE_HEADER_SIGNATURE;
4868
+ const storedPointsAtDirectory = getUint32$1(directoryView, offset) == CENTRAL_FILE_HEADER_SIGNATURE ||
4869
+ Boolean(directoryEncryptionInfo && directoryEncryptionInfo.compressedSize) ||
4870
+ detectEncryptedCentralDirectory(directoryView);
4866
4871
  let reconcile = !storedPointsAtDirectory;
4867
4872
  if (!reconcile && expectedDirectoryDataOffset >= 0 && expectedDirectoryDataOffset + 4 <= reader.size) {
4868
4873
  const expectedSignatureArray = await readUint8Array(reader, expectedDirectoryDataOffset, 4);
@@ -4891,11 +4896,13 @@
4891
4896
  zipReader.directoryOffset = directoryDataOffset;
4892
4897
  zipReader.directoryLength = declaredDirectoryDataLength;
4893
4898
  const decryptCentralDirectory = getFunctionOptionValue$1(zipReader, options, OPTION_DECRYPT_CENTRAL_DIRECTORY);
4894
- let decryptedDirectory;
4899
+ let decryptedDirectory, dataAfterEncryptedDirectory;
4895
4900
  if (decryptCentralDirectory && filesLength && directoryArray.length >= 4 &&
4896
4901
  getUint32$1(directoryView, 0) != CENTRAL_FILE_HEADER_SIGNATURE &&
4897
4902
  (zip64EndOfDirectoryVersion2 || detectEncryptedCentralDirectory(directoryView))) {
4898
- directoryArray = await decryptCentralDirectory(directoryArray, directoryEncryptionInfo);
4903
+ const encryptedDirectoryDataLength = getEncryptedDirectoryDataLength(directoryEncryptionInfo, declaredDirectoryDataLength, directoryArray.length);
4904
+ dataAfterEncryptedDirectory = directoryArray.subarray(encryptedDirectoryDataLength);
4905
+ directoryArray = await decryptCentralDirectory(directoryArray.subarray(0, encryptedDirectoryDataLength), directoryEncryptionInfo);
4899
4906
  directoryView = getDataView(directoryArray);
4900
4907
  declaredDirectoryDataLength = directoryArray.length;
4901
4908
  decryptedDirectory = true;
@@ -4961,6 +4968,7 @@
4961
4968
  }
4962
4969
  Object.assign(fileEntry, {
4963
4970
  index: indexFile,
4971
+ decryptedDirectory,
4964
4972
  versionMadeBy,
4965
4973
  msDosCompatible,
4966
4974
  zip64: false,
@@ -5037,12 +5045,11 @@
5037
5045
  yield entry;
5038
5046
  }
5039
5047
  let offsetAfterSignature = offset;
5040
- if (offset + 6 <= directoryArray.length && getUint32$1(directoryView, offset) == DIGITAL_SIGNATURE_RECORD_SIGNATURE) {
5041
- const signatureDataLength = getUint16$1(directoryView, offset + 4);
5042
- if (offset + 6 + signatureDataLength <= directoryArray.length) {
5043
- zipReader.digitalSignature = directoryArray.subarray(offset + 6, offset + 6 + signatureDataLength);
5044
- offsetAfterSignature = offset + 6 + signatureDataLength;
5045
- }
5048
+ const digitalSignature = readDigitalSignature(directoryArray.subarray(offset)) ||
5049
+ (decryptedDirectory ? readDigitalSignature(dataAfterEncryptedDirectory) : UNDEFINED_VALUE);
5050
+ if (digitalSignature) {
5051
+ zipReader.digitalSignature = digitalSignature;
5052
+ offsetAfterSignature = offset + 6 + digitalSignature.length;
5046
5053
  }
5047
5054
  if (checkAmbiguity && offset != declaredDirectoryDataLength && offsetAfterSignature != declaredDirectoryDataLength) {
5048
5055
  throwAmbiguousArchive("trailing central directory data");
@@ -5351,6 +5358,27 @@
5351
5358
  return false;
5352
5359
  }
5353
5360
 
5361
+ function readDigitalSignature(signatureRecordArray) {
5362
+ if (signatureRecordArray.length >= 6) {
5363
+ const signatureRecordView = getDataView(signatureRecordArray);
5364
+ if (getUint32$1(signatureRecordView, 0) == DIGITAL_SIGNATURE_RECORD_SIGNATURE) {
5365
+ const signatureDataLength = getUint16$1(signatureRecordView, 4);
5366
+ if (6 + signatureDataLength <= signatureRecordArray.length) {
5367
+ return signatureRecordArray.subarray(6, 6 + signatureDataLength);
5368
+ }
5369
+ }
5370
+ }
5371
+ }
5372
+
5373
+ function getEncryptedDirectoryDataLength(directoryEncryptionInfo, declaredDirectoryDataLength, directoryDataLength) {
5374
+ const encryptedDirectoryDataLength = directoryEncryptionInfo && directoryEncryptionInfo.compressedSize ?
5375
+ directoryEncryptionInfo.compressedSize :
5376
+ declaredDirectoryDataLength;
5377
+ return encryptedDirectoryDataLength > 0 && encryptedDirectoryDataLength <= directoryDataLength ?
5378
+ encryptedDirectoryDataLength :
5379
+ directoryDataLength;
5380
+ }
5381
+
5354
5382
  function getDirectoryEncryptionInfo(rawExtensibleData) {
5355
5383
  const directoryEncryptionInfo = { rawExtensibleData };
5356
5384
  if (rawExtensibleData.length >= 28) {
@@ -5935,7 +5963,9 @@
5935
5963
 
5936
5964
  function validateLocalDirectory(zipEntry, localDirectory, rawLocalFilename, checkLocalFilename) {
5937
5965
  const { rawFilename } = zipEntry;
5938
- if (checkLocalFilename &&
5966
+ const maskedLocalDirectory = zipEntry.decryptedDirectory &&
5967
+ (localDirectory.rawBitFlag & BITFLAG_MASKED_LOCAL_HEADERS) == BITFLAG_MASKED_LOCAL_HEADERS;
5968
+ if (checkLocalFilename && !maskedLocalDirectory &&
5939
5969
  (rawLocalFilename.length != rawFilename.length ||
5940
5970
  rawLocalFilename.some((byteValue, indexByte) => byteValue != rawFilename[indexByte]))) {
5941
5971
  throwAmbiguousArchive("mismatched local file header (filename)");
@@ -5946,7 +5976,7 @@
5946
5976
  if (localDirectory.compressionMethod != zipEntry.compressionMethod) {
5947
5977
  throwAmbiguousArchive("mismatched local file header (compression method)");
5948
5978
  }
5949
- if (!localDirectory.bitFlag.dataDescriptor &&
5979
+ if (!localDirectory.bitFlag.dataDescriptor && !maskedLocalDirectory &&
5950
5980
  (localDirectory.crc32 || localDirectory.compressedSize || localDirectory.uncompressedSize) &&
5951
5981
  (localDirectory.crc32 != zipEntry.crc32 ||
5952
5982
  localDirectory.compressedSize != zipEntry.compressedSize ||
@@ -6077,6 +6107,7 @@
6077
6107
  const MAX_NTFS_TIME = BigInt("0x7fffffffffffffff");
6078
6108
  const ERR_UNSUPPORTED_FORMAT = "Zip64 is not supported (set the 'zip64' option to 'true')";
6079
6109
  const ERR_UNDEFINED_UNCOMPRESSED_SIZE = "Undefined uncompressed size";
6110
+ const ERR_UNDEFINED_COMPRESSION_METHOD = "Undefined compression method";
6080
6111
  const ERR_UNDETERMINED_SIZE = "Undetermined size";
6081
6112
  const ERR_UNDEFINED_READER = "Undefined reader";
6082
6113
  const ERR_ZIP_NOT_EMPTY = "Zip file not empty";
@@ -6604,6 +6635,9 @@
6604
6635
  level = 0;
6605
6636
  }
6606
6637
  }
6638
+ if (passThrough) {
6639
+ level = UNDEFINED_VALUE;
6640
+ }
6607
6641
  let useCompressionStream = getOptionValue(zipWriter, options, OPTION_USE_COMPRESSION_STREAM);
6608
6642
  let dataDescriptor = getOptionValue(zipWriter, options, OPTION_DATA_DESCRIPTOR);
6609
6643
  if (bufferedWrite && dataDescriptor === UNDEFINED_VALUE) {
@@ -6715,6 +6749,9 @@
6715
6749
  if (uncompressedSize === UNDEFINED_VALUE) {
6716
6750
  throw new Error(ERR_UNDEFINED_UNCOMPRESSED_SIZE);
6717
6751
  }
6752
+ if (compressionMethod === UNDEFINED_VALUE) {
6753
+ throw new Error(ERR_UNDEFINED_COMPRESSION_METHOD);
6754
+ }
6718
6755
  }
6719
6756
  const zip64Enabled = zip64 === true;
6720
6757
  const encrypted = getOptionValue(zipWriter, options, PROPERTY_NAME_ENCRYPTED);
@@ -8575,6 +8612,7 @@
8575
8612
  exports.ERR_OVERLAPPING_ENTRY = ERR_OVERLAPPING_ENTRY;
8576
8613
  exports.ERR_RESERVED_COMPRESSION_METHOD = ERR_RESERVED_COMPRESSION_METHOD;
8577
8614
  exports.ERR_SPLIT_ZIP_FILE = ERR_SPLIT_ZIP_FILE;
8615
+ exports.ERR_UNDEFINED_COMPRESSION_METHOD = ERR_UNDEFINED_COMPRESSION_METHOD;
8578
8616
  exports.ERR_UNDEFINED_READER = ERR_UNDEFINED_READER;
8579
8617
  exports.ERR_UNDEFINED_UNCOMPRESSED_SIZE = ERR_UNDEFINED_UNCOMPRESSED_SIZE;
8580
8618
  exports.ERR_UNDETERMINED_SIZE = ERR_UNDETERMINED_SIZE;
@@ -1 +1 @@
1
- ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:u,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:S,TextEncoder:g,TextDecoder:b,document:x,crypto:z,btoa:F,TransformStream:E,ReadableStream:R,WritableStream:D,CompressionStream:k,DecompressionStream:A,navigator:v,Worker:T,Symbol:C,setTimeout:I,clearTimeout:U,structuredClone:_}="undefined"!=typeof globalThis?globalThis:this||self;var O=void 0!==x?x.currentScript:null;const M=4294967295,N=65535,L=255,W=67324752,P=134695760,V=P,Z=84233040,B=33639248,H=101010256,j=101075792,q=117853008,K=22,Y=20,G=56,X=21589,J=2048,Q=61440,$=16384,ee=2048,te=1024,ne="/",re=30,se=new o(2107,11,31,23,59,58),ae=new o(1980,0,1),ie=void 0,oe=1/0,ce="undefined",le="function",de="string",ue=new f,we="password",fe="rawPassword",pe="passThrough",he="signal",me="useWebWorkers",ye="useCompressionStream",Se="transferStreams",ge="preventClose",be="offset",xe="usdz",ze="filename",Fe="comment",Ee="strict",Re="balanced",De="tolerant",ke="Invalid option (must be a function)",Ae="Invalid signal (must be an AbortSignal instance)",ve="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Te(e){if(e&&typeof e!=le)throw new w(ke);return e}function Ce(e){if(e&&(typeof e.addEventListener!=le||"boolean"!=typeof e.aborted))throw new w(Ae);return e||ie}function Ie(e,t){if(e&&typeof e!=de||t&&!(t instanceof f))throw new w(ve)}function Ue(e){return typeof e==de&&e.trim()?s(e):e}const _e="Invalid maxWorkers (must be an integer greater than 0)";let Oe=2;try{typeof v!=ce&&v.hardwareConcurrency&&(Oe=v.hardwareConcurrency)}catch{}const Me={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Oe,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof k!=ce&&k,DecompressionStream:typeof A!=ce&&A},Ne="maxWorkers",Le=["chunkSize",Ne,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],We=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Pe=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Le,...We],Ve={...Me};function Ze(){return Ve}function Be(e){return He(e.chunkSize)}function He(e){return e=Ue(e),s.isInteger(e)&&e>=1?i.max(e,64):65536}function je(e){const t={};for(const n of Pe){const r=e[n];r!==ie&&(t[n]=qe(n,r))}return t}function qe(e,t){if(Le.includes(e)){if(t=Ue(t),e==Ne&&(!s.isInteger(t)||1>t))throw new w(_e)}else We.includes(e)&&Te(t);return t}function Ke(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ie&&r===ie)return e;const s=n.assign({},e);return s.CompressionStreamFallback===ie&&(s.CompressionStreamFallback=t),s.DecompressionStreamFallback===ie&&(s.DecompressionStreamFallback=r),s}function Ye(e,t){const n=new f(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Ge(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function Xe(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const Je=[[],[],[],[],[],[],[],[]];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;Je[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const n=Je[t-1][e];Je[t][e]=n>>>8^Je[0][255&n]}const[Qe,$e,et,tt,nt,rt,st,at]=Je;class it{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,n),a=n-8;for(;a>=r;r+=8){const e=t^s.getInt32(r,!0),n=s.getInt32(r+4,!0);t=at[255&e]^st[e>>>8&255]^rt[e>>>16&255]^nt[e>>>24&255]^tt[255&n]^et[n>>>8&255]^$e[n>>>16&255]^Qe[n>>>24&255]}}for(;n>r;r++)t=t>>>8^Qe[255&(t^e[r])];this.o=t}get(){return~this.o}}class ot extends E{constructor(){let e;const t=new it;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new f(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function ct(e){if(typeof g==ce){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new g).encode(e)}const lt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=lt.l(n);return 32===r?e.concat(t):lt.h(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+lt.l(n)},m(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=lt.S(t,e[n-1]&2147483648>>t-1,1)),e},S:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,l:e=>i.round(e/1099511627776)||32,h(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=lt.l(s);return r.push(lt.S(t+a&31,t+a>32?n:r.pop(),1)),r}},dt={bytes:{F(e){const t=lt.bitLength(e)/8,n=new f(t);let r;for(let s=0;t>s;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},R(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(lt.S(8*(3&n),r)),t}}},ut=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.A=[1518500249,1859775393,2400959708,3395469782],e?(t.v=e.v.slice(0),t.T=e.T.slice(0),t.C=e.C):t.reset()}reset(){const e=this;return e.v=e.D.slice(0),e.T=[],e.C=0,e}update(e){const t=this;"string"==typeof e&&(e=dt.I.R(e));const n=t.T=lt.concat(t.T,e),r=t.C,s=t.C=r+lt.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const a=new h(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);s>=e;e+=t.blockSize)t.U(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),t}_(){const e=this;let t=e.T;const n=e.v;t=lt.concat(t,[lt.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.C/4294967296)),t.push(0|e.C);t.length;)e.U(t.splice(0,16));return e.reset(),n}O(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}M(e,t){return t<<e|t>>>32-e}U(e){const n=this,r=n.v,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],d=r[4];for(let e=0;79>=e;e++){16>e||(s[e]=n.M(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n.M(5,a)+n.O(e,o,c,l)+d+s[e]+n.A[i.floor(e/20)]|0;d=l,l=c,c=n.M(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+d|0}},wt={importKey:e=>new wt.N(dt.bytes.R(e)),L(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),u=new m(d);let f=0;const p=lt;for(t=dt.bytes.R(t),l=1;(s||1)>f;l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;n>o;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;(s||1)>f&&o<a.length;o++)u.setInt32(f,a[o]),f+=4}return d.slice(0,r/8)},N:class{constructor(e){const t=this,n=t.W=ut,r=[[],[]];t.P=[new n,new n];const s=t.P[0].blockSize/32;e.length>s&&(e=(new n).update(e)._());for(let t=0;s>t;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.P[0].update(r[0]),t.P[1].update(r[1]),t.V=new n(t.P[0])}reset(){const e=this;e.V=new e.W(e.P[0]),e.Z=!1}update(e){this.Z=!0,this.V.update(e)}digest(){const e=this,t=e.V._(),n=new e.W(e.P[1]).update(t)._();return e.reset(),n}encrypt(e){if(this.Z)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},ft=typeof z!=ce&&typeof z.getRandomValues==le,pt="Invalid password",ht="Invalid signature",mt=ht,yt="zipjs-abort-check-password",St="Crypto API not supported";function gt(e){if(ft)return z.getRandomValues(e);throw new w(St)}const bt=16,xt={name:"PBKDF2"},zt=n.assign({hash:{name:"HMAC"}},xt),Ft=n.assign({iterations:1e3,hash:{name:"SHA-1"}},xt),Et=["deriveBits"],Rt=[8,12,16],Dt=[16,24,32],kt=10,At=[0,0,0,0],vt=typeof z!=ce,Tt=vt&&z.subtle,Ct=vt&&typeof Tt!=ce,It=dt.bytes,Ut=class{constructor(e){const t=this;t.B=[[[],[],[],[],[]],[[],[],[],[],[]]],t.B[0][0][0]||t.H();const n=t.B[0][4],r=t.B[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.A=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.j(e,0)}decrypt(e){return this.j(e,1)}H(){const e=this.B[0],t=this.B[1],n=e[4],r=t[4],s=[],a=[];let i,o,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!n[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[d]=a,r[a]=d,l=s[c=s[o=s[d]]];let u=16843009*l^65537*c^257*o^16843008*d,w=257*s[a]^16843008*a;for(let n=0;4>n;n++)e[n][d]=w=w<<24^w>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}j(e,t){if(4!==e.length)throw new w("invalid aes block size");const n=this.A[t],r=n.length/4-2,s=[0,0,0,0],a=this.B[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,p,h=e[0]^n[0],m=e[t?3:1]^n[1],y=e[2]^n[2],S=e[t?1:3]^n[3],g=4;for(let e=0;r>e;e++)u=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&S]^n[g],f=i[m>>>24]^o[y>>16&255]^c[S>>8&255]^l[255&h]^n[g+1],p=i[y>>>24]^o[S>>16&255]^c[h>>8&255]^l[255&m]^n[g+2],S=i[S>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^n[g+3],g+=4,h=u,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[y>>8&255]<<8^d[255&S]^n[g++],u=h,h=m,m=y,y=S,S=u;return s}},_t=class{constructor(e,t){this.K=e,this.Y=t,this.G=t}reset(){this.G=this.Y}update(e){return this.X(this.K,e,this.G)}J(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}$(e){0===(e[0]=this.J(e[0]))&&(e[1]=this.J(e[1]))}X(e,t,n){let r;if(!(r=t.length))return[];const s=lt.bitLength(t);for(let s=0;r>s;s+=4){this.$(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return lt.m(t,s)}},Ot=wt.N;let Mt=vt&&Ct&&typeof Tt.importKey==le,Nt=vt&&Ct&&typeof Tt.deriveBits==le;class Lt extends E{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){Pt(this,e,t,n)},async transform(e,t){const n=this,{password:s,strength:a,ee:i,ready:o}=n;s?(await(async(e,t,n,r)=>{const s=await Zt(e,t,n,Ht(r,0,Rt[t])),a=Ht(r,Rt[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new w(pt)})(n,a,s,Ht(e,0,Rt[a]+2)),e=Ht(e,Rt[a]+2),r?t.error(new w(yt)):i()):await o;const c=new f(e.length-kt-(e.length-kt)%bt);t.enqueue(Vt(n,e,c,0,kt,!0))},async flush(e){const{te:t,ne:n,re:r,ready:a}=this;if(n&&t){await a;const i=Ht(r,0,r.length-kt),o=Ht(r,r.length-kt);let c=ue;if(i.length){const e=qt(It,i);n.update(e);const r=t.update(e);c=jt(It,r)}const l=Ht(jt(It,n.digest()),0,kt);let d=r.length<kt?1:0;for(let e=0;kt>e;e++)d|=l[e]^o[e];if(d&&s)throw new w(mt);e.enqueue(c)}}})}}class Wt extends E{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){Pt(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:s,ee:a,ready:i}=n;let o=ue;r?(o=await(async(e,t,n)=>{const r=gt(new f(Rt[t]));return Ye(r,await Zt(e,t,n,r))})(n,s,r),a()):await i;const c=new f(o.length+e.length-e.length%bt);c.set(o,0),t.enqueue(Vt(n,e,c,o.length,0))},async flush(e){const{te:t,ne:n,re:r,ready:s}=this;if(n&&t){await s;let a=ue;if(r.length){const e=t.update(qt(It,r));n.update(e),a=jt(It,e)}const i=jt(It,n.digest()).slice(0,kt);e.enqueue(Ye(a,i))}}})}}function Pt(e,t,r,s){n.assign(e,{ready:new S(t=>e.ee=t),password:Bt(t,r),strength:s-1,re:ue})}function Vt(e,t,n,r,s,a){const{te:i,ne:o,re:c}=e;c.length&&(t=Ye(c,t));const l=t.length-s;let d;for(n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new f(t)).set(n,0)}return e})(n,r+(l-l%bt)),d=0;l-bt>=d;d+=bt){const e=qt(It,Ht(t,d,d+bt));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(jt(It,s),d+r)}return e.re=Ht(t,d),n}async function Zt(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!Mt)return wt.importKey(t);try{return await Tt.importKey("raw",t,n,!1,s)}catch{return Mt=!1,wt.importKey(t)}})(0,s,zt,0,Et),o=await(async(e,t,n)=>{if(!Nt)return wt.L(t,e.salt,Ft.iterations,n);try{return await Tt.deriveBits(e,t,n)}catch{return Nt=!1,wt.L(t,e.salt,Ft.iterations,n)}})(n.assign({salt:a},Ft),i,8*(2*Dt[r]+2)),c=new f(o),l=qt(It,Ht(c,0,Dt[r])),d=qt(It,Ht(c,Dt[r],2*Dt[r])),u=Ht(c,2*Dt[r]);return n.assign(e,{keys:{key:l,se:d,passwordVerification:u},te:new _t(new Ut(l),t.from(At)),ne:new Ot(d)}),u}function Bt(e,t){return t===ie?ct(e):t}function Ht(e,t,n){return e.subarray(t,n)}function jt(e,t){return e.F(t)}function qt(e,t){return e.R(t)}class Kt extends E{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){Gt(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=Xt(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new w(pt);e=e.subarray(12)}r?t.error(new w(yt)):t.enqueue(Xt(n,e))}})}}class Yt extends E{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){Gt(this,e,t,n)},transform(e,t){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=gt(new f(12));t[11]=n.passwordVerification,r=new f(e.length+t.length),r.set(Jt(n,t),0),s=12}else r=new f(e.length),s=0;r.set(Jt(n,e),s),t.enqueue(r)}})}}function Gt(e,t,r,s){n.assign(e,{password:t,rawPassword:r,passwordVerification:s}),((e,t,r)=>{const s=[305419896,591751049,878082192];if(n.assign(e,{keys:s,ae:new it(s[0]),ie:new it(s[2])}),r)for(let t=0;t<r.length;t++)Qt(e,r[t]);else for(let n=0;n<t.length;n++)Qt(e,t.charCodeAt(n))})(e,t,r)}function Xt(e,t){const n=new f(t.length);for(let r=0;r<t.length;r++)n[r]=$t(e)^t[r],Qt(e,n[r]);return n}function Jt(e,t){const n=new f(t.length);for(let r=0;r<t.length;r++)n[r]=$t(e)^t[r],Qt(e,t[r]);return n}function Qt(e,t){let[,n]=e.keys;e.ae.append([t]);const r=~e.ae.get();n=tn(i.imul(tn(n+en(r)),134775813)+1),e.ie.append([n>>>24]);const s=~e.ie.get();e.keys=[r,n,s]}function $t(e){const t=2|e.keys[2];return en(i.imul(t,1^t)>>>8)}function en(e){return 255&e}function tn(e){return 4294967295&e}function nn(e){if(e instanceof R)return e;const t=e.getReader();return new R({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function rn(e,t){e=nn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof R)return new d(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,n))}function sn(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const an="Invalid codec definition",on="Reserved compression method",cn="Invalid codec module",ln=[0,8,9,99],dn=new c,un=new c;function wn(e){return dn.get(e)}function fn(e){return un.get(e)}function pn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=le&&typeof r!=le)throw new w(cn);un.set(e,{CompressionStream:n,DecompressionStream:r})}const hn="Invalid uncompressed size",mn="Invalid compressed data",yn=ht,Sn="deflate-raw",gn="gzip",bn=[31,139,8];class xn extends E{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:d,format:u,compressionMethod:w}=e,f=this;let p,h,y,S=super.readable;const g=u&&fn(u),b=c&&s&&!d&&!g&&(!a||o)&&!(!i||!r);if(a&&!o||!c||b||(p=new ot,S=Tn(S,p)),s)if(g)S=Cn(S,An(g.CompressionStream,u,{level:l,chunkSize:t,compressionMethod:w}));else if(b)y=new zn,S=Cn(S,new r(gn)),S=Tn(S,y);else try{S=vn(S,i,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(gn)}catch{throw e}S=Cn(S,t),S=Tn(S,new zn)}a&&(o?S=Tn(S,new Yt(e)):(h=new Wt(e),S=Tn(S,h))),kn(f,S,()=>{a&&!o||!c||(f.crc32=b?y.crc32:new m(p.value.buffer).getUint32(0))})}}class zn extends E{constructor(){let e,t=10,n=new f(0);super({transform(e,r){if(t){const n=i.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const s=n.length+e.length;if(8>=s)return void(n=Ye(n,e));const a=s-8,o=i.min(a,n.length);r.enqueue(Ye(n.subarray(0,o),e.subarray(0,a-o))),n=Ye(n.subarray(o),e.subarray(a-o))},flush(){const t=Xe(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Fn extends E{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let g,b,x=super.readable;if(a&&(s?x=Tn(x,new Kt(e)):(b=new Lt(e),x=Tn(x,b))),c){const e=u&&fn(u);if(e)x=Cn(x,An(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{x=vn(x,l,{chunkSize:t,deflate64:d},r,n)}catch(e){if(d||y===ie)throw e;let t;try{t=new r(gn)}catch{throw e}x=((e,t,n)=>{const r=new it;let s,a,i,o=0,c=!1;const l=new S((e,t)=>{a=e,i=t});l.catch(()=>{}),n||a();const d=new E({start(e){const t=new f(10);t.set(bn),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new f(8),s=Xe(t);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),e.enqueue(t)},cancel(e){i(e)}}),u=new E({transform(e,t){r.append(e),o+=e.length,n>o?c&&p():a(),t.enqueue(e)},cancel(e){i(e)}});return e=Tn(e,d),Tn(e=Cn(e,t),u);function p(){h(),s=I(()=>i(new w(hn)),5e3)}function h(){U(s)}})(x,t,y)}x=(e=>{const t=e.getReader();return new R({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(mn);throw t.cause=e,t}const{value:r,done:s}=n;s?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})})(x)}i&&(g=new ot,x=Tn(x,g)),kn(this,x,()=>{if(i){const e=new m(g.value.buffer);if(o!=e.getUint32(0,!1))throw new w(yn)}})}}const En=new c;function Rn(e,t){if(!e)return!1;let n=En.get(e);n||(n=new c,En.set(e,n));let r=n.get(t);if(r===ie){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function Dn(e){return Rn(e,Sn)}function kn(e,t,r){t=Tn(t,new E({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function An(e,t,n){if(!e)throw new w("Compression method not supported");return new e(t,n)}function vn(e,t,n,r,s){const a=t&&r?r:s||r,i=n.deflate64?"deflate64-raw":Sn;let o;try{o=new a(i,n)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,n)}return Cn(e,o)}function Tn(e,t){return nn(e).pipeThrough(t)}function Cn(e,t){const n=t.writable.getWriter(),r=e.getReader();return(async()=>{try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(n,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(r,e)}})(),t.readable}const In="data",Un="deflate",_n="inflate";class On extends E{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith(Un)?a=xn:s.startsWith(_n)&&(a=Fn),r.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:i})}}),d=new E({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ie&&r.outputSize>e.outputSize))throw new w(hn)},flush(){const{crc32:e}=o;n.assign(r,{crc32:e,inputSize:i})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class Mn extends E{constructor(e){const t=[];let n=0;function r(){const r=new f(e);let s=0;for(;e>s;){const n=t[0],a=e-s;n.length>a?(r.set(n.subarray(0,a),s),t[0]=n.subarray(a),s+=a):(r.set(n,s),s+=n.length,t.shift())}return n-=e,r}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,a){for(t.push(s),n+=s.length;n>e;)a.enqueue(r())},flush(e){n&&e.enqueue(((e,t)=>{const n=new f(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n})(t,n))}})}}const Nn="Worker startup timeout";let Ln,Wn,Pn;function Vn(e){e.createWorker?Wn=!0:Ln=!1}class Zn{constructor(e,{readable:t,writable:r},{options:s,config:a,oe:i,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:d},u){const{signal:w}=i;return Wn&&(d=ie),n.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new Mn(Be(a))).pipeThrough(new Bn(i),{signal:w}),writable:r,options:n.assign({},s),workerURI:l,createWorker:d,transferStreams:c,terminate:()=>new S(t=>{const{de:n,ce:r}=e;n?(r?e.ue=t:(n.terminate(),t()),e.we=null):t()}),fe(){if(e.ce){const{ue:t}=e;t&&(e.ue=null,e.pe=!0,e.de.terminate(),t()),e.ce=!1,u(e)}}}),Ln===ie&&(Ln=typeof T!=ce),(o&&Pn&&(Ln&&l||d)?Pn:jn)(e,a)}}class Bn extends E{constructor({onstart:e,onprogress:t,size:n,onend:r}){let s=0;super({async start(){e&&await Hn(e,n)},async transform(e,r){s+=e.length,t&&await Hn(t,s,n),r.enqueue(e)},async flush(){r&&await Hn(r,s)}})}}async function Hn(e,...t){try{await e(...t)}catch{}}function jn(e,t){return{run:()=>qn(e,t)}}async function qn({options:e,readable:t,writable:n,fe:r},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Un),n=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(n&&n.he&&!Dn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.he||(e.useCompressionStream=!0)}}a=new On(e,s),await t.pipeThrough(a).pipeThrough(new Mn(Be(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:i,outputSize:o}=a;return{crc32:r,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{r()}}const Kn={type:"module"},Yn="error";let Gn,Xn,Jn,Qn=!0;try{Qn=typeof _==le&&_(new DOMException("","AbortError")).code!==ie}catch{}var $n;function er(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function tr(e){const{de:t}=e;if(t)try{t.terminate()}catch{}e.we=null}function nr(e,t,r,s,a=!0){const{createWorker:i}=r;let o,c,l;if(i)o=i();else if(Xn===ie||Gn!==e){const n=typeof e==le;c=n?e(a):e;const i=c.startsWith("data:"),d=c.startsWith("blob:");if(i||d){s===ie&&(s=!1),s&&(l=Kn);try{o=new T(c,l)}catch(a){if(d)try{u.revokeObjectURL(c)}catch{}if(n&&d)return nr(e,t,r,s,!1);if(s)throw a;return nr(e,t,r,!0,!1)}}else{s===ie&&(s=!0),s&&(l=Kn);try{c=new u(c,t)}catch{}try{o=new T(c,l)}catch(n){if(s)return nr(e,t,r,!1,a);throw n}}Gn=e,Xn=c,Jn=l}else o=new T(Xn,Jn);return o.addEventListener("message",e=>{r.me=!0,rr(r),(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,ye:d,Se:u,fe:p,le:h}=t,m=()=>t.le!=h;try{if(o){const{message:e,stack:t,code:r,name:s,outputSize:a,cause:i,codecImportFailed:c}=o,l=new w(e);n.assign(l,{stack:t,code:r,name:s,outputSize:a}),i&&(l.cause=n.assign(new w(i.message),{name:i.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==r){const{value:e,done:n}=await c.read();m()||ar({type:In,value:e,done:n,messageId:a},t)}r==In&&(await l.ready,await l.write(new f(s)),m()||ar({type:"ack",messageId:a},t)),"close"==r&&y(null,i)}}catch(o){m()||(tr(t),y(o))}function y(e,t){m()||(e?u(e):d(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}})(e,r)}),o.addEventListener(Yn,e=>sr(e,r)),o.addEventListener("messageerror",e=>sr(e,r)),o}function rr(e){const{ge:t}=e;t&&(U(t),e.ge=null)}function sr(e,t){e.preventDefault&&e.preventDefault(),rr(t);const{me:r,Se:s,writer:a,fe:i}=t;tr(t),r||(t.de=null);let o=e.error||new w(e.message||Yn);r||(o=n.assign(new w(o.message||Yn),{be:!0}),t.xe=o),s&&(s(o),a&&a.releaseLock(),r&&i())}function ar(e,{de:t,writer:n,transferStreams:r,me:s}){try{const{value:n,readable:a,writable:i}=e,o=[];if(n&&(e.value=Ge(n),o.push(e.value.buffer)),r&&Qn&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Qn=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}$n=(e,t)=>{const{baseURI:r,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.we){let c;typeof o==le&&(o=o());try{c=nr(e.workerURI,r,e)}catch{return Vn(e),jn(e,t)}n.assign(e,{de:c,me:!1,pe:!1,xe:null,we:{run:async()=>{try{return await(async(e,t)=>{if(!e.de){const{xe:t}=e;e.xe=null;const n=t||new w(Nn);throw n.be=!0,n}let r,a;const i=new S((e,t)=>{r=e,a=t});n.assign(e,{reader:null,writer:null,ye:r,Se:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:d,ze:u}=(e=>{const t=new AbortController,{writable:n,readable:r}=new E,s=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:n,closed:s,ze:()=>t.abort()}})(e.writable);let f;try{f=ar({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){u();try{await d}catch{}throw e.fe(),t}f||n.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;e.me||!s.isFinite(p)||0>p||(e.ge=I(()=>(e=>{if(e.ge=null,e.me)return;const{Se:t,writer:n}=e;if(tr(e),e.de=null,t){const e=new w(Nn);e.be=!0,t(e),n&&n.releaseLock()}})(e),p));try{const e=await i;return await h(),await d,e}catch(e){await h(),u();try{await d}catch{}throw e}async function h(){if(!f&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:r,workerStartupTimeout:i})}catch(n){if(n&&n.be)return Vn(e),er(e),qn(e,t);if(n&&n.codecImportFailed){if(e.reader)return er(e),qn(e,t);e.fe()}throw n}}}})}return e.we},Pn=$n;let ir=[];const or=[];let cr,lr,dr=0;async function ur(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:d,encrypted:w,format:f,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;f&&(p&&(n.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(p,r.baseURI)),await(async(e,t)=>{!un.has(e)&&t&&pn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(f,n.codecURI)),t.transferStreams=!f&&(a||a===ie&&r.transferStreams);const g=!(c||l||d||w),b=f===ie||!!n.codecURI;return t.useWebWorkers=!g&&b&&(i||i===ie&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:ie,t.createWorker=t.useWebWorkers&&m?m:ie,n.useCompressionStream=o||o===ie&&r.useCompressionStream,(await(async()=>{const n=ir.find(e=>!e.ce);if(n)return mr(n),new Zn(n,e,t,x);if(ir.length<y){const n={Fe:dr};return dr++,ir.push(n),new Zn(n,e,t,x)}return new S(n=>{or.push({resolve:n,stream:e,Ee:t}),lr=r.workerStarvationTimeout,wr()})})()).run();function x(e){if(fr(),or.length){const[{resolve:t,stream:n,Ee:r}]=or.splice(0,1);t(new Zn(e,n,r,x)),wr()}else e.de?(mr(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.pe?e.pe=!1:e.Re=I(async()=>{ir=ir.filter(t=>t!=e);try{await e.terminate()}catch{}},r))})(e,t)):ir=ir.filter(t=>t!=e)}}function wr(){!cr&&or.length&&s.isFinite(lr)&&lr>=0&&(cr=I(pr,lr))}function fr(){cr&&(U(cr),cr=null)}function pr(){if(cr=null,or.length){const[{resolve:e,stream:t,Ee:r}]=or.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:ie,createWorker:ie});e(new Zn({},t,s,hr)),wr()}}function hr(){fr(),wr()}function mr(e){const{Re:t}=e;t&&(U(t),e.Re=null)}const yr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Sr(e,t){return gr(e,t,!0)}function gr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=yr[e[n]];return t}})(e):new b(t,{ignoreBOM:n}).decode(e)}const br="HTTP error ",xr="HTTP Range not supported",zr="HTTP resource changed",Fr="Writer iterator completed too soon",Er="Writer not initialized",Rr="Content-Range",Dr="Range",kr="GET",Ar="bytes",vr=16777216,Tr="writable",Cr=C();class Ir{constructor(){this.size=0}init(){this.initialized=!0}}class Ur extends Ir{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Be(Ze())}={}){const r=this;let s=0;return n=He(n),new R({async pull(a){const o=t===ie?n:i.min(n,t-s),c=await ds(r,e+s,o);c.length&&a.enqueue(c),s+n>=t||!c.length&&o?a.close():s+=n}})}}class _r extends Ir{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w(Er);return e.writeUint8Array(Ge(t))}});n.defineProperty(e,Tr,{get:()=>t})}writeUint8Array(){}}let Or,Mr;class Nr extends Ur{constructor(e){super(),n.assign(this,{De:e,size:e.size}),Mr||(Mr=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Or=1==t}catch{Or=!1}})())}createReadable(e){const{De:t,size:n}=this,{offset:r=0,size:s=n-r}=e||{};return r||n>s?Or?nn(t.slice(r,r+s).stream()):super.createReadable(e):nn(t.stream())}async readUint8Array(e,t){const n=this,r=e+t,s=e||r<n.size?n.De.slice(e,r):n.De;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new f(a)}}class Lr extends Ir{constructor(e){super();const t=this,r=new E;n.defineProperty(t,Tr,{get:()=>r.writable}),t.contentType=e,t.ke=rn(r.readable,e),t.ke.catch(()=>{})}getData(){return this.ke}}class Wr extends Ur{constructor(e,t){super(),Vr(this,e,t)}async init(){await Zr(this,es,Xr),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:a}=t;if((n||r)&&a!==ie){const{offset:n=0,size:r=a-n}=e||{};if(r>0&&a>n)return((e,t,n)=>{let r,a=t,o=0,c=n;return new R({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new w(xr);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=r;r=ie,await e.cancel()})(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=i.min(e.maximumRangeSize,c),n=await es(kr,e,Yr(e,a,t));if(206!=n.status)throw new w(xr);const l=n.headers.get(Rr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new w(xr)}Kr(e,n),qr(e,n),a+=t,o=t,r=n.body.getReader()}})(t,n,i.min(r,a-n))}return super.createReadable(e)}readUint8Array(e,t){return Br(this,e,t,es,Xr)}}class Pr extends Ur{constructor(e,t){super(),Vr(this,e,t)}async init(){await Zr(this,ts,Jr),super.init()}readUint8Array(e,t){return Br(this,e,t,ts,Jr)}}function Vr(e,t,r){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=vr,fetch:d}=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:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function Zr(e,t,n){const{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=Ze(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n})(r)&&(a||i)&&(typeof s==ce||s)){const r=await t(kr,e,Yr(e,o?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Ar))throw new w(xr);{if(o){const t=new f(await r.arrayBuffer());206==r.status&&t.length==K&&(e.Ae=t)}qr(e,r);const s=Hr(r);s===ie?await $r(e,t,n):e.size=s}}else await $r(e,t,n)}async function Br(e,t,n,r,a){const{useRangeHeader:i,forceRangeRequests:o,Ae:c,size:l,options:d}=e;if(i||o){if(c&&t==l-K&&n==K)return c;if(l>t&&0!==n){t+n>l&&(n=l-t);const a=await r(kr,e,Yr(e,t,n));if(206!=a.status)throw new w(xr);const i=a.headers.get(Rr);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(xr)}Kr(e,a),qr(e,a);const o=new f(await a.arrayBuffer());if(o.length!=n)throw new w(xr);return o}return ue}{const{data:r}=e;return r||await a(e,d),e.data.subarray(t,t+n)}}function Hr(e){const t=e.headers.get(Rr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function jr({headers:e}){return{ve:e.get("Etag")||ie,lastModified:e.get("Last-Modified")||ie}}function qr(e,t){const{checkResourceChanges:n,Te:r}=e;n&&!r&&206==t.status&&(e.Te=jr(t))}function Kr(e,t){const{checkResourceChanges:r,Te:s,size:a}=e;if(r){const e=Hr(t);if(e!==ie&&a!==ie&&e!=a)throw new w(zr);if(s){const e=jr(t);if(n.entries(s).some(([t,n])=>n!==ie&&e[t]!==ie&&n!=e[t]))throw new w(zr)}}}function Yr(e,t=0,r=1){return n.assign({},Gr(e),{[Dr]:Ar+"="+(0>t?t:t+"-"+(t+r-1))})}function Gr({options:e}){const{headers:t}=e;if(t)return C.iterator in t?n.fromEntries(t):t}async function Xr(e){await Qr(e,es)}async function Jr(e){await Qr(e,ts)}async function Qr(e,t){const n=await t(kr,e,Gr(e));e.data=new f(await n.arrayBuffer()),e.size=e.data.length}async function $r(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,Gr(e)),a=r.headers.get("Content-Length");a&&!r.headers.get("Content-Encoding")?e.size=s(a):await n(e,e.options)}}async function es(e,{fetch:t=fetch,options:r,url:s},a){const i=await t(s,n.assign({},r,{method:e,headers:a}));if(400>i.status)return i;throw 416==i.status?new w(xr):new w(br+(i.statusText||i.status))}function ts(e,{url:t},r){return new S((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new w(xr):new w(br+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new w("Network error")),!1),i.open(e,t),r)for(const e of n.entries(r))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class ns extends Ur{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Pr(e,t):new Wr(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 rs extends Ur{constructor(e){super(),this.Ce=e}async init(){const e=this;e.Ie=0;const t=e.Ce=await S.all(e.Ce.map(ls));e.Ue=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}_e(e){const{Ue:t,size:n}=this,r=t[e];return r===ie?n:r}async readUint8Array(e,t){const n=this,{Ce:r}=this;let s,a=0,o=e;for(;r[a]&&o>=r[a].size;)o-=r[a].size,a++;const c=r[a];if(c){const r=c.size;if(o+t>r){const a=r-o;s=Ye(await ds(c,o,a),await n.readUint8Array(e+a,t-a))}else s=await ds(c,o,t)}else s=ue;return n.Ie=i.max(a,n.Ie),s}}class ss extends Ir{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Cr)return void(i&&await l());const{availableSize:n}=r;if(i)t.length<n?await c(t):(await c(t.subarray(0,n)),await l(),t.length>n&&await this.write(t.subarray(n)));else{const{value:n,done:o}=await e.next();if(o&&!n)throw new w(Fr);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await cs(s),a=n.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await d())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,r.availableSize-=t)}async function l(){await d(),r.diskOffset+=s.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function d(){await i.close()}n.defineProperty(r,Tr,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Cr)}finally{e.releaseLock()}}}class as{constructor(e){return t.isArray(e)&&(e=new rs(e)),(e instanceof R||typeof e.getReader==le)&&(e={readable:nn(e)}),e}}class is{constructor(e){return e.writable===ie&&typeof e.next==le&&(e=new ss(e)),(e instanceof D||typeof e.getWriter==le)&&(e={writable:sn(e)}),e.size===ie&&(e.size=0),e}}function os(e){return!(!e||!e.getData)}async function cs(e,t){if(!e.init||e.initialized)return S.resolve();await e.init(t)}async function ls(e){return e=new as(e),await cs(e),e.size!==ie&&e.readUint8Array||(e=new Nr(await rn(e.readable)),await cs(e)),e}function ds(e,t,n){return e.readUint8Array(t,n)}function us(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Ur.prototype.createReadable.call(e,t):e.readable}const ws="filename",fs="rawFilename",ps="comment",hs="rawComment",ms="uncompressedSize",ys="compressedSize",Ss="offset",gs="diskNumberStart",bs="lastModDate",xs="rawLastModDate",zs="lastAccessDate",Fs="rawLastAccessDate",Es="creationDate",Rs="rawCreationDate",Ds="internalFileAttributes",ks="externalFileAttributes",As="internalFileAttribute",vs="externalFileAttribute",Ts="msdosAttributesRaw",Cs="msdosAttributes",Is="msDosCompatible",Us="zip64",_s="encrypted",Os="version",Ms="versionMadeBy",Ns="zipCrypto",Ls="directory",Ws="executable",Ps="compressionMethod",Vs="signature",Zs="extraField",Bs="unixMode",Hs="setuid",js="setgid",qs="sticky",Ks=[ws,fs,ms,ys,bs,xs,ps,hs,zs,Fs,Es,Rs,Ss,gs,Ds,ks,As,vs,Ts,Cs,Is,Us,_s,Os,Ms,Ns,Ls,Ws,"symlink",Ps,Vs,"crc32",Zs,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Bs,"unixExternalUpper",Hs,js,qs,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Ys{constructor(e){Ks.forEach(t=>this[t]=e[t])}}const Gs="File format is not recognized",Xs="End of central directory not found",Js="End of Zip64 central directory locator not found",Qs="Central directory header not found",$s="Local file header not found",ea="Zip64 extra field not found",ta="File contains encrypted entry",na="Encryption method not supported",ra="Compression method not supported",sa="Split zip file",aa="Overlapping entry found",ia="Entry data out of bounds",oa="Ambiguous archive",ca="Encrypted central directory is not supported",la="Unsafe filename",da="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ua="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",wa="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",fa=/^[a-zA-Z]:/,pa="utf-8",ha="cp437",ma=[[ms,M],[ys,M],[Ss,M],[gs,N]],ya={[N]:{Oe:qa,bytes:4},[M]:{Oe:Ka,bytes:8}};class Sa{constructor(e,t={}){n.assign(this,{reader:new as(e),options:t,Me:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await cs(r),r.size!==ie&&r.readUint8Array||(r=new Nr(await rn(r.readable)),await cs(r)),r.size<K)throw new w(Gs);const a=Ia(e,t.options),o=a==Ee,c=a!=De,d=((e,t)=>{if(e!==ie){const t=Ue(e);if("number"!=typeof t||s.isNaN(t)||0>t)throw new w(wa);return t}return t==Ee?0:t==De?1/0:N})(Pa(t,e,"maxAppendedDataSize"),a),u=((e,t)=>{if(e===ie)return t;if(!Ca(e))throw new w(ua);return e})(Pa(t,e,"filenameValidation"),a),f=Pa(t,e,"normalizeFilename"),{Ne:p,Le:h}=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,65557),a={count:64};let o,c,l=0;for await(const[n,i,d,u,w]of Oa(e,s)){const s=ja(n,u+20);if(w+K+s==r){const s=await Na(e,n,i,u,w,r,a);if(2==s){if(o||(o=Ma(d,u,w)),l++,!t||l>1)break}else 1!=s||c||(c=Ma(d,u,w))}}return o||(o=c),o||(o=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,t==1/0?r:65557+t);let a,o;for await(const[t,i,c,l,d]of Oa(e,s)){const s=Ma(c,l,d);a||(a=s);const u=await Na(e,t,i,l,d,r,n);if(2==u)return s;1!=u||o||(o=s)}return o||a})(e,n,a)),{Ne:o,Le:l}})(r,c,d);if(!p)throw await(async e=>await Ta(e)==P)(r)?new w(sa):new w(Xs);c&&h>1&&Wa("multiple end of central directory records");const m=Xe(p);let y=qa(m,12),S=qa(m,16);const g=p.offset,b=ja(m,20),x=g+K+b;r.size-x>d&&Wa("appended data");let z=ja(m,4);const F=r.Ie||0;let R,D,k,A,v=ja(m,6),T=ja(m,10),C=0;const I=S==M||y==M||T==N||v==N;if(S!=M&&v!=N&&(S+=va(r,v)),I){const e=p.offset<Y?ue:await ds(r,p.offset-Y,Y),t=Xe(e);if(e.length==Y&&qa(t,0)==q){S=va(r,qa(t,4))+Ka(t,8);let e=await ds(r,S,G),a=Xe(e);const c=p.offset-Y-G;if((e.length<G||qa(a,0)!=j)&&S!=c&&c>=0){const t=S;S=c,S>t&&(C=S-t),e=await ds(r,S,G),a=Xe(e)}if(e.length<G||qa(a,0)!=j)throw new w(Js);if(D=!0,k=Ka(a,4)>44,k){const e=i.min(s(Ka(a,4))-44,r.size-S-G);e>0&&(A=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const r=Xe(e),a=ja(r,26);n.assign(t,{compressionMethod:ja(r,0),compressedSize:s(Ka(r,2)),uncompressedSize:s(Ka(r,10)),encryptionAlgorithm:ja(r,18),bitLength:ja(r,20),flags:ja(r,22),hashAlgorithm:ja(r,24),hashData:e.subarray(28,28+a)})}return t})(await ds(r,S+G,e)))}z==N?z=qa(a,16):o&&z!=qa(a,16)&&Wa("mismatched zip64 end of central directory record"),v==N?v=qa(a,20):o&&v!=qa(a,20)&&Wa("mismatched zip64 end of central directory record"),T==N?T=Ka(a,32):o&&T!=Ka(a,32)&&Wa("mismatched zip64 end of central directory record"),y==M?y=Ka(a,40):o&&y!=Ka(a,40)&&Wa("mismatched zip64 end of central directory record"),S=va(r,v)+Ka(a,48)+C}}let U=y;const _=p.offset-(D?76:0);if(S<r.size||(C=r.size-S-y-K,S=r.size-y-K),F!=z)throw new w(sa);if(0>S)throw new w(Gs);let O=0,W=await ds(r,S,y),V=Xe(W);if(y){if(4>W.length)throw new w(Gs);const e=_-y;if(S!=e&&v==z){let t=!(qa(V,O)==B);if(t||0>e||e+4>r.size||(t=qa(Xe(await ds(r,e,4)),0)==B),t){const t=S;S=e,S>t&&(C+=S-t),W=await ds(r,S,y),V=Xe(W)}}}const H=_-S;if(y==H||0>H||v!=z||(y=H,W=await ds(r,S,y),V=Xe(W)),0>S||S>=r.size)throw new w(Gs);t.directoryOffset=S,t.directoryLength=U;const X=Va(t,e,"decryptCentralDirectory");let J;X&&T&&W.length>=4&&qa(V,0)!=B&&(k||xa(V))&&(W=await X(W,A),V=Xe(W),U=W.length,J=!0),R=S;const re=Pa(t,e,"filenameEncoding"),se=Pa(t,e,"commentEncoding"),ae=o?new l:ie;let oe;for(let s=0;T>s;s++){const a=new ba(r,t.options);if(O+46>W.length||qa(V,O)!=B){if(0==s&&!J&&(k||xa(V)))throw new w(ca);throw new w(Qs)}za(a,V,O+6);const c=!!a.bitFlag.languageEncodingFlag,l=O+46,d=l+a.filenameLength,p=d+a.extraFieldLength,h=ja(V,O+4),m=!(h>>8),y=h>>8==3,S=W.subarray(l,d),g=ja(V,O+32),b=p+g,x=W.subarray(p,b),z=c,F=c,D=qa(V,O+38),A=D&L,v={readOnly:!!(1&A),hidden:!!(2&A),system:!!(4&A),directory:!!(16&A),archive:!!(32&A)},I=qa(V,O+42),U=Va(t,e,"decodeText")||Sr,_=z?pa:re||ha,M=F?pa:se||ha;let P=U(S,_,ze);if(P===ie&&(P=Sr(S,_)),f){const e=f(P);e!==ie&&(P=e)}if(_a(P,u)){const e=new w(la);throw e.filename=P,e}let Z=U(x,M,Fe);Z===ie&&(Z=Sr(x,M)),n.assign(a,{index:s,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,We:g,offset:I,diskNumberStart:ja(V,O+34),internalFileAttributes:ja(V,O+36),externalFileAttributes:D,msdosAttributesRaw:A,msdosAttributes:v,rawFilename:S,filenameUTF8:z,commentUTF8:F,rawExtraField:W.subarray(d,p),rawComment:x,filename:P,comment:Z}),Fa(a,a,V,O+6),a.offset+=C,R=i.min(va(r,a.diskNumberStart)+a.offset,R),o&&(ae.has(a.filename)&&(oe=!0),ae.add(a.filename));const H=a.externalFileAttributes>>16&N;a.unixMode===ie&&16877&H&&(a.unixMode=H);const j=!!(a.unixMode&ee),q=!!(a.unixMode&te),K=!!(512&a.unixMode),Y=40960==((a.unixMode===ie?H:a.unixMode)&Q),G=!Y&&(a.unixMode!==ie?!!(73&a.unixMode):y&&!!(73&H)),X=a.unixMode!==ie&&(a.unixMode&Q)==$,ce=(H&Q)==$;n.assign(a,{setuid:j,setgid:q,sticky:K,symlink:Y,unixExternalUpper:H,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:G,directory:X||ce||m&&v.directory||a.filename.endsWith(ne)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const le=new Ys(a);le.getData=(e,n)=>a.getData(e,le,t.Me,n),le.arrayBuffer=async e=>{const n=new E,r=rn(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,le,t.Me,e),r},O=b;const{onprogress:de}=e;if(de)try{await de(s+1,T,new Ys(a))}catch{}yield le}let ce=O;if(O+6<=W.length&&qa(V,O)==Z){const e=ja(V,O+4);O+6+e>W.length||(t.digitalSignature=W.subarray(O+6,O+6+e),ce=O+6+e)}o&&O!=U&&ce!=U&&Wa("trailing central directory data"),oe&&Wa("duplicate filename");const le=Pa(t,e,"extractPrependedData"),de=Pa(t,e,"extractAppendedData"),we=(o||le)&&T&&4==R&&await(async e=>{const t=await Ta(e);return t==P||808471376==t})(r)?4:0;return o&&(C||T&&R>we)&&Wa("prepended data"),le&&(t.prependedData=R>we?await ds(r,we,R-we):ue),t.comment=b?await ds(r,g+K,b):ue,de&&(t.appendedData=x<r.size?await ds(r,x,r.size-x):ue),!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()}}class ga{constructor(e={}){const{readable:t,writable:n}=new E,r=new Sa(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const s={...n,readable:(()=>{const{readable:e,writable:t}=new E;if(n.getData)return(async()=>{try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=n}}class ba{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const s=this,a=Ze(),{reader:o,index:c,offset:l,diskNumberStart:d,extraFieldAES:u,extraFieldZip64:f,compressionMethod:p,bitFlag:h,rawBitFlag:m,crc32:y,rawLastModDate:S,uncompressedSize:g,compressedSize:b}=s,{dataDescriptor:x}=h,z=t.localDirectory={},F=va(o,d)+l,E=await ds(o,F,re),R=Xe(E);let k=Pa(s,r,we),A=Pa(s,r,fe);const v=Pa(s,r,pe);if(Ie(k,A),k=k&&k.length&&k,A=A&&A.length&&A,u&&99!=u.originalCompressionMethod)throw new w(ra);if(E.length<re||qa(R,0)!=W)throw new w($s);za(z,R,4);const{extraFieldLength:T,filenameLength:C}=z,I=Pa(s,r,"checkLocalDirectory"),U=Ia(r,s.options),_=((e,t)=>e===ie?t!=De:!!e)(I,U),O=((e,t)=>e===ie?t==Ee:!!e)(I,U);let M=ue;if(O&&(C||T)){const e=await ds(o,F+re,C+T);M=e.subarray(0,C),z.rawExtraField=e.subarray(C)}else z.rawExtraField=T?await ds(o,F+re+C,T):ue;O&&(z.rawFilename=M),Fa(s,z,R,4,!0),_&&((e,t,n,r)=>{const{rawFilename:s}=e;r&&(n.length!=s.length||n.some((e,t)=>e!=s[t]))&&Wa("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Wa("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Wa("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Wa("mismatched local file header (crc32 or sizes)")})(s,z,M,O);const{lastAccessDate:N,creationDate:P,uid:Z,gid:B}=z;N&&(t.lastAccessDate=N),P&&(t.creationDate=P),Z!==ie&&t.uid===ie&&(t.uid=Z),B!==ie&&t.gid===ie&&(t.gid=B);const H=s.encrypted&&z.encrypted&&!v,j=H&&!u;if(v||(t.zipCrypto=j),H&&!(64&~z.rawBitFlag))throw new w(na);const q=v?ie:wn(p);if(0!=p&&8!=p&&9!=p&&!q&&!v)throw new w(ra);if(H){if(!j&&(1>u.strength||u.strength>3))throw new w(na);if(!k&&!A)throw new w(ta)}const K=F+re+C+T;if(K+b>o.size)throw new w(ia);const Y=b,G=nn(o.createReadable({offset:K,size:Y})),X=Ce(Pa(s,r,he)),J=Pa(s,r,"checkPasswordOnly");let Q=Pa(s,r,"checkOverlappingEntry");const $=Pa(s,r,"checkOverlappingEntryOnly");$&&(Q=!0);const{onstart:ee,onprogress:te,onend:ne}=r,se=0!=p&&!v,ae=v?b:g,oe=9==p;let ce=Pa(s,r,ye);oe&&(ce=!1);const le=Pa(s,r,"checkCrc32"),de=(le===ie?Pa(s,r,"checkSignature"):le)&&!v&&(!H||j||u&&1==u.vendorVersion),be={options:{codecType:_n,password:k,rawPassword:A,zipCrypto:j,encryptionStrength:u&&u.strength,checkCrc32:de,checkAuthenticationCode:Pa(s,r,"checkAuthenticationCode"),passwordVerification:j&&(x?S>>>8&L:y>>>24&L),outputSize:ae,crc32:y,compressed:se,encrypted:H,useWebWorkers:Pa(s,r,me),useCompressionStream:ce,transferStreams:Pa(s,r,Se),deflate64:oe,format:q?q.format:ie,codecURI:q?q.codecURI:ie,compressionMethod:p,rawBitFlag:m,checkPasswordOnly:J},config:a,oe:{signal:X,size:Y,onstart:ee,onprogress:te,onend:ne}};let xe,ze;Q&&await(async({reader:e,Pe:t,index:n,offset:r,crc32:s,compressedSize:a,uncompressedSize:i,Ve:o,dataDescriptor:c,extraFieldZip64:l,Me:d})=>{let u=0;if(c&&(u=l?20:12),u){const n=await ds(e,o+a,u+4),r=Xe(n);let c=n.length==u+4&&qa(r,0)==V;if(c){const e=Aa(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==s)&&e.compressedSize==a&&e.uncompressedSize==i?u+=4:c=!1}if(n.length>=u){const e=Aa(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const f={start:r,end:o+a+u,Pe:t};for(const[e,t]of d)if(e!=n&&f.start<t.end&&t.start<f.end){const e=new w(aa);throw e.overlappingEntry=t.Pe,e}d.set(n,f)})({reader:o,Pe:t,index:c,offset:F,crc32:y,compressedSize:b,uncompressedSize:g,Ve:K,dataDescriptor:x||z.bitFlag.dataDescriptor,extraFieldZip64:f||z.extraFieldZip64,Me:n});try{if(!$){J&&(e=new D),e=new is(e),await cs(e,((e,t,n)=>i.min(e,n?1032*t:t))(ae,b,se)),({writable:xe}=e);const{outputSize:t}=await ur({readable:G,writable:xe},be);if(e.size+=t,t!=ae)throw new w(hn)}}catch(t){if(t.outputSize!==ie&&(e.size+=t.outputSize),!J||t.message!=yt)throw ze=t,t}finally{if((os(e)||!Pa(s,r,ge))&&xe&&!xe.locked){const e=xe.getWriter();if(ze)try{await e.abort(ze)}catch{}else await e.close()}}return J||$?ie:e.getData?e.getData():xe}}function xa(e){const t=i.min(e.byteLength,1024)-3;for(let n=0;t>n;n++)if(134630224==qa(e,n))return!0;return!1}function za(e,t,r){const s=e.rawBitFlag=ja(t,r+2),a=!(1&~s),i=qa(t,r+6);n.assign(e,{encrypted:a,version:ja(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&J)==J},rawLastModDate:i,lastModDate:Za(i),filenameLength:ja(t,r+22),extraFieldLength:ja(t,r+24)})}function Fa(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Xe(i);let u=0;try{for(;u<i.length;){const e=ja(d,u),t=ja(d,u+2);l.set(e,{type:e,data:i.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=ja(r,s+4);n.assign(t,{signature:qa(r,s+10),crc32:qa(r,s+10),compressedSize:qa(r,s+14),uncompressedSize:qa(r,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const n=Xe(e.data),r=ma.filter(([e,n])=>t[e]==n),s=r.reduce((e,[,t])=>e+ya[t].bytes,0);if(e.data.length<s)throw new w(ea);for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s],c=ya[o];t[i]=e[i]=c.Oe(n,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(Ea(h,ws,fs,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(Ea(m,ps,hs,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,r)=>{const s=Xe(e.data),a=Ha(s,4);n.assign(e,{vendorVersion:Ha(s,0),vendorId:Ha(s,2),strength:a,originalCompressionMethod:r,compressionMethod:ja(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ie)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const S=l.get(13);S&&(Ra(S,t),t.extraFieldPkwareUnix=S);const g=l.get(22613);g&&(Ra(g,t),t.extraFieldUnixType1=g);const b=l.get(10);b&&(((e,t)=>{const r=Xe(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=ja(r,a),n=ja(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch{}if(s&&24==s.length){const r=Xe(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:Ba(a),lastAccessDate:Ba(i),creationDate:Ba(o)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:i,rawCreationDate:o})}})(b,t),t.extraFieldNTFS=b);const x=l.get(30805);let z;if(x&&(z=Da(x,t,!1),t.extraFieldUnix=x),!z){const e=l.get(30837);e&&(Da(e,t,!0),t.extraFieldInfoZip=e)}const F=l.get(X);F&&(((e,t,n)=>{if(!e.data.length)return;const r=Xe(e.data),s=Ha(r,0),a=[],i=[];n?(1&~s||(a.push(bs),i.push(xs)),2&~s||(a.push(zs),i.push(Fs)),4&~s||(a.push(Es),i.push(Rs))):5>e.data.length||(a.push(bs),i.push(xs));let c=1;a.forEach((n,s)=>{if(e.data.length>=c+4){const a=qa(r,c);t[n]=e[n]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(F,t,a),t.extraFieldExtendedTimestamp=F);const E=l.get(6534);E&&(t.extraFieldUSDZ=E)}function Ea(e,t,r,s,a){if(5>e.data.length)return void(e.valid=!1);const i=Xe(e.data),o=new it;o.append(a[r]);const c=Xe(new f(4));c.setUint32(0,o.get(),!0);const l=qa(i,1);n.assign(e,{version:Ha(i,0),[t]:Sr(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==qa(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Ra(e,t){if(8>e.data.length)return;const r=Xe(e.data),s={lastAccessDate:new o(1e3*(0|qa(r,0))),lastModDate:new o(1e3*(0|qa(r,4)))};12>e.data.length||(s.uid=ja(r,8),s.gid=ja(r,10)),n.assign(e,s),n.assign(t,s)}function Da(e,t,r){try{const s=Xe(e.data);let a,i;if(r){let t=0;const r=Ha(s,t++),o=Ha(s,t++);a=ka(e.data.subarray(t,t+o)),t+=o;const c=Ha(s,t++);i=ka(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:a,gid:i})}else 4>e.data.length||(a=ja(s,0),i=ja(s,2),n.assign(e,{uid:a,gid:i}));return a!==ie&&(t.uid=a),i!==ie&&(t.gid=i),a!==ie||i!==ie}catch{}}function ka(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Aa(e,t,n){const r=qa(e,t);let s,a;return n?(s=Ka(e,t+4),a=Ka(e,t+12)):(s=qa(e,t+4),a=qa(e,t+8)),{crc32:r,compressedSize:s,uncompressedSize:a}}function va(e,t){return e._e?e._e(t):0}async function Ta(e){return qa(Xe(await ds(e,0,4)))}function Ca(e){return e===Ee||e===Re||e===De}function Ia(e,t){return Ua(e,Ua(t,Re))}function Ua(e,t){const n=e.strictness;if(n!==ie){if(!Ca(n))throw new w(da);return n}const r=e.checkAmbiguity;return r===ie?t:r?Ee:t==De?De:Re}function _a(e,t){if(t==De)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||fa.test(e))||t==Ee&&(n.includes(".")||n.includes(""))}async function*Oa(e,t){const n=e.size-t,r=await ds(e,n,t),s=Xe(r);for(let e=r.length-K;e>=0;e--)qa(s,e)==H&&(yield[s,n,r,e,n+e])}function Ma(e,t,n){return{offset:n,buffer:e.slice(t,t+K).buffer}}async function Na(e,t,n,r,s,a,i){const o=ja(t,r+10),c=qa(t,r+12),l=qa(t,r+16);if(o==N||c==M||l==M)return await La(e,t,n,s-Y,a,i)==q?2:0;if(!o&&!c)return 1;const d=ja(t,r+6);for(const r of[s-c,va(e,d)+l])if(await La(e,t,n,r,a,i)==B)return 2;return 0}async function La(e,t,n,r,s,a){return 0>r||r+4>s?ie:n>r?a.count>0?(a.count--,qa(Xe(await ds(e,r,4)),0)):ie:qa(t,r-n)}function Wa(e){const t=new w(oa);throw t.reason=e,t}function Pa(e,t,n){return t[n]===ie?e.options[n]:t[n]}function Va(e,t,n){return Te(Pa(e,t,n))}function Za(e){const t=(4294901760&e)>>16,n=e&N;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function Ba(e){return new o(s(e/a(1e4)-a(116444736e5)))}function Ha(e,t){return e.getUint8(t)}function ja(e,t){return e.getUint16(t,!0)}function qa(e,t){return e.getUint32(t,!0)}function Ka(e,t){return s(e.getBigUint64(t,!0))}var Ya=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:oa,ERR_BAD_FORMAT:Gs,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Qs,ERR_ENCRYPTED:ta,ERR_ENCRYPTED_CENTRAL_DIRECTORY:ca,ERR_ENTRY_DATA_OUT_OF_BOUNDS:ia,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Js,ERR_EOCDR_NOT_FOUND:Xs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:ea,ERR_INVALID_AUTHENTICATION_CODE:mt,ERR_INVALID_COMPRESSED_DATA:mn,ERR_INVALID_CRC32:yn,ERR_INVALID_FILENAME_VALIDATION:ua,ERR_INVALID_MAX_APPENDED_DATA_SIZE:wa,ERR_INVALID_PASSWORD:pt,ERR_INVALID_SIGNATURE:ht,ERR_INVALID_STRICTNESS:da,ERR_INVALID_UNCOMPRESSED_SIZE:hn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:$s,ERR_OVERLAPPING_ENTRY:aa,ERR_SPLIT_ZIP_FILE:sa,ERR_UNSAFE_FILENAME:la,ERR_UNSUPPORTED_COMPRESSION:ra,ERR_UNSUPPORTED_ENCRYPTION:na,ERR_WORKER_STARTUP_TIMEOUT:Nn,ZipReader:Sa,ZipReaderStream:ga});const Ga="File already exists",Xa="Zip file comment exceeds 64KB",Ja="Invalid zip file comment (must be a Uint8Array)",Qa="File entry comment exceeds 64KB",$a="Invalid file entry comment (must be a string)",ei="Invalid date (must be a valid Date instance)",ti="File entry name exceeds 64KB",ni="Version exceeds 65535",ri="The strength must equal 1, 2, or 3",si="Encryption is not supported in USDZ files",ai="Encryption is not supported when the 'passThrough' option is set",ii="Invalid extra field (must be a Map)",oi="Invalid extra field type (must be integer 0..65535)",ci="Invalid extra field data (must be a Uint8Array)",li="Extra field data exceeds 64KB",di=-2147483648,ui=2147483647,wi=a(0),fi=a("0x7fffffffffffffff"),pi="Zip64 is not supported (set the 'zip64' option to 'true')",hi="Undefined uncompressed size",mi="Undefined reader",yi="Zip file not empty",Si="Invalid uid (must be integer 0..2^32-1)",gi="Invalid gid (must be integer 0..2^32-1)",bi="Invalid UNIX mode (must be integer 0..65535)",xi="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",zi="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Fi="Invalid msdosAttributesRaw (must be integer 0..255)",Ei="Invalid msdosAttributes (must be an object with boolean flags)",Ri="Invalid level (must be integer 0..9)",Di="Signature data exceeds 64KB",ki=new f([7,0,2,0,65,69,3,0,0]),Ai="infozip",vi="unix";let Ti=0;const Ci=[];class Ii{constructor(e,t={}){e=new is(e);const{availableSize:r=oe,maxSize:s=oe}=e,a=r>0&&r!==oe&&s>0&&s!==oe;n.assign(this,{writer:e,Ze:a,options:t,Be:new c,He:new l,offset:t[be]===ie?e.size||e.writable.size||0:t[be],je:t[be]===ie?0:t[be]-(e.size||e.writable.size||0),qe:new l,Ke:0,Ye:ie})}async prependZip(e){if(this.He.size)throw new w(yi);e=new as(e),await cs(e),e.size!==ie&&e.readUint8Array||(e=new Nr(await rn(e.readable)),await cs(e));const{ZipReader:r}=await S.resolve().then(()=>Ya),s=new r(e),a=await s.getEntries();await s.close(),await cs(this.writer);const{directoryOffset:i}=s;let o=0;this.Ze&&(delete this.Ze,await(async e=>Xe(await ds(e,0,4)).getUint32(0,!0)==P)(e)||(await qi(this.writer,ji()),o=4,this.offset+=o));const d=await(async(e,n,r,s,a)=>{const{writer:i}=e,o=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>Hi(n,e)-Hi(n,t));let c=0;for(const t of a){const r=Hi(n,t);await Zi(e,n,c,r-c),Pi(i,await Bi(n,r))&&await i.closeDisk(),o.set(t,{offset:Vi(e,i),diskNumberStart:Li(i)}),c=r}await Zi(e,n,c,s-c)}else await Zi(e,n,0,s),r.forEach(e=>o.set(e,{offset:a+Hi(n,e),diskNumberStart:0}));return o})(this,e,a,i,o);this.He=new l(a.map(e=>e.filename)),this.Be=new c(a.map(e=>{const{version:t,rawLastModDate:r,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:u,zip64:w}=e;let{compressionMethod:f,Ge:p,Xe:h,Je:m,Qe:y,$e:S,rawExtraField:g}=e;const{level:b,languageEncodingFlag:x,dataDescriptor:z}=o;p=p||ue,h=h||ue,m=m||ue,y=y||ue,S=S||ue,g=g||ue,e.extraFieldAES&&(f=99);const F=uo(p,h,m,y,S,g),E=w&&l>=M,R=w&&u>=M,D=-7&fo(b,x,z,c,f)|b<<1,{et:k,nt:A}=wo({version:t,bitFlag:D,compressionMethod:f,uncompressedSize:l,compressedSize:u,rawLastModDate:r,rawFilename:i,st:R,it:E,extraFieldLength:F}),{crc32:v}=e;v!==ie&&oo(A,10,v);const{offset:T,diskNumberStart:C}=d.get(e);return n.assign(e,{it:E,st:R,offset:T,diskNumberStart:C,ot:!1,Ge:p,Xe:h,Je:m,Qe:y,$e:S,rawExtraField:g,extendedTimestamp:m.length>0||y.length>0,ct:1+(s?2:0)+(a?4:0),et:k,nt:A}),[e.filename,e]}))}async add(e="",r,c={}){const l=this;c=n.assign({},c);const{qe:d}=l;let u,p;Ti<Ze().maxWorkers?Ti++:await new S(e=>Ci.push(e));try{if(e=e.trim(),Ji(l,c,Ls)&&!e.endsWith(ne)&&(e+=ne),l.He.has(e))throw new w(Ga);return l.He.add(e),p=!0,u=(async(e,r,c,l)=>{const d=((e,n,r)=>{n=n.trim();let a=Ji(e,r,Is),i=Ji(e,r,Ms,a?20:768);const o=Ji(e,r,Ws),c=no(e,r,"uid"),l=no(e,r,"gid");let d=no(e,r,Bs),u=Ji(e,r,"unixExtraFieldType"),f=Ji(e,r,Hs),p=Ji(e,r,js),h=Ji(e,r,qs);if(c!==ie&&(!s.isInteger(c)||0>c||c>M))throw new w(Si);if(l!==ie&&(!s.isInteger(l)||0>l||l>M))throw new w(gi);if(d!==ie&&(!s.isInteger(d)||0>d||d>N))throw new w(bi);if(u!==ie&&u!==Ai&&u!==vi)throw new w(xi);if(u===vi&&(c!==ie&&c>N||l!==ie&&l>N))throw new w(zi);u!==ie||c===ie&&l===ie||(u=Ai);let m=no(e,r,Ts),y=Ji(e,r,Cs);const S=m!==ie||y!==ie;if(c!==ie||l!==ie||d!==ie||u||o?(a=!1,i=i&L|768):S&&(a=!0,i&=L),m!==ie&&(!s.isInteger(m)||0>m||m>L))throw new w(Fi);if(y&&("object"!=typeof y||t.isArray(y)))throw new w(Ei);if(i>N)throw new w(ni);let g=eo(e,r,ks,vs);const b=g!==ie;b||(g=0),!r[Ls]&&n.endsWith(ne)&&(r[Ls]=!0);const x=Ji(e,r,Ls);if(x?(n.endsWith(ne)||(n+=ne),b||(g=16,a||(g|=16877<<16))):a||b||(g=o?493<<16:27525120),!a){const e=d!==ie||!!(f||p||h);d=d===ie?g>>16&N:d&N,f?d|=ee:f=!!(d&ee),p?d|=te:p=!!(d&te),h?d|=512:h=!!(512&d),b&&!e||(x?d=-61441&d|$:d&Q||(d|=32768),g=(d&N)<<16|g&N)}return({msdosAttributesRaw:m,msdosAttributes:y}=((e,t)=>{if(e!==ie)e&=L;else if(t!==ie){const{readOnly:n,hidden:r,system:s,directory:a,archive:i}=t;let o=0;n&&(o|=1),r&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&L}return t===ie&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(m,y)),S&&(g=g&M|m&L),{name:n,lt:{versionMadeBy:i,msDosCompatible:!!a,externalFileAttributes:g,unixExternalUpper:g>>16&N,uid:c,gid:l,unixMode:d,unixExtraFieldType:u,symlink:d!==ie&&40960==(d&Q),setuid:f,setgid:p,sticky:h,msdosAttributesRaw:m,msdosAttributes:y}}})(e,r,l);({name:r}=d);const u=((e,t,n)=>{const r=$i(e,n,"encodeText")||ct;let a=r(t,ze);if(a===ie&&(a=ct(t)),uo(a)>N)throw new w(ti);const i=n[ps]||"";if(typeof i!=de)throw new w($a);let c=r(i,Fe);if(c===ie&&(c=ct(i)),uo(c)>N)throw new w(Qa);const l=Ji(e,n,Os,20);if(l>N)throw new w(ni);const d=Qi(e,n,bs,new o),u=Qi(e,n,zs),f=Qi(e,n,Es),p=eo(e,n,Ds,As,0),h=Ji(e,n,pe),m=Ji(e,n,we),y=Ji(e,n,fe);Ie(m,y);const S=no(e,n,"encryptionStrength",3),g=Ji(e,n,Ns),b=Ji(e,n,"extendedTimestamp",!0),x=Ji(e,n,"ntfsTimestamp"),z=Ji(e,n,"keepOrder",!0),F=Ji(e,n,me),E=Ji(e,n,Se),R=Ji(e,n,"bufferedWrite"),D=$i(e,n,"createTempStream"),k=Ji(e,n,"dataDescriptorSignature",!0),A=Ce(Ji(e,n,he)),v=Ji(e,n,"useUnicodeFileNames",!0),T=Ji(e,n,Ps),C=h||T===ie?ie:wn(T);if(!h&&T!==ie&&0!==T&&8!==T&&!C)throw new w("Compression method not supported");let I=no(e,n,"level");if(I!==ie&&(!s.isInteger(I)||0>I||I>9))throw new w(Ri);if(e.options[xe]){if(m!==ie||y!==ie)throw new w(si);I===ie&&T===ie&&(I=0)}let U=Ji(e,n,ye),_=Ji(e,n,"dataDescriptor");R&&_===ie&&(_=!1),(_===ie||g)&&(_=!0),I!==ie&&6!=I&&(U=!1);const O=Ji(e,n,Us);if(!(g||m===ie&&y===ie||s.isInteger(S)&&S>=1&&3>=S))throw new w(ri);const M=_i(n[Zs]),L=_i(n.localExtraField);return{comment:i,lt:{rawFilename:a,rawComment:c,version:l,lastModDate:d,lastAccessDate:u,creationDate:f,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:S,zipCrypto:g,extendedTimestamp:b,ntfsTimestamp:x,keepOrder:z,useWebWorkers:F,transferStreams:E,bufferedWrite:R,createTempStream:D,dataDescriptorSignature:k,signal:A,useUnicodeFileNames:v,compressionMethod:T,format:C?C.format:ie,codecURI:C?C.codecURI:ie,ut:C?C.versionNeeded:ie,level:I,useCompressionStream:U,dataDescriptor:_,zip64:O,rawExtraField:M,wt:L}}})(e,r,l),{comment:p}=u,h=l[Zs];let m;e.Be.set(r,ie);try{const{lt:t}=u;0==t.level||t.compressionMethod!==ie||t.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.he)return!0;if(Dn(t)||Rn(t,gn))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1})(Ze())||(t.level=0);const s=await(async(e,t,{lt:r},s)=>{if(r.passThrough&&!t&&!Ji(e,s,Ls))throw new w(mi);let a;return t&&(t=new as(t),await cs(t),({size:a}=t)),n.assign({reader:t},((e,t,n,r,s)=>{const{passThrough:a,zipCrypto:i,password:o,rawPassword:c,encryptionStrength:l}=r;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:p}=r,h=0,m=0;if(a&&t&&(m=s[ms],m===ie))throw new w(hi);const y=!0===u,S=Ji(e,s,_s);if(t&&a&&!S&&uo(o,c))throw new w(ai);const g=t&&(!!(o&&uo(o)||c&&uo(c))||a&&S);t||(f=0,p=0);const b=g?i?12:16+4*l:0;t&&(a?(s.uncompressedSize=m,h=n===ie?ro(m)+b:n):n===ie?(d=!0,(u||u===ie)&&(u=!0,m=h=4294967296)):(s.uncompressedSize=m=n,h=(so(p,f)?ro(m):m)+b));const x=y||m>=M,z=y||h>=M;if(x||z){if(!1===u)throw new w(pi);u=!0}return u=u||!1,{ft:h,lt:{dataDescriptor:d,zip64:u,it:x,st:z,uncompressedSize:m,level:f,compressionMethod:p,encrypted:g}}})(e,!!t,a,r,s))})(e,c,u,l);({reader:c}=s);const p=Wi(e.writer),h=Li(e.writer),y=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:p,wt:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:S,passThrough:g,encrypted:b,it:x,st:z,uncompressedSize:F,crc32:E}=e;let{version:R,compressionMethod:D}=e;const k=!f&&so(D,a);let A;const v=g||!k,T=c&&(e.bufferedWrite||!u||!x&&!z||v),C=T||c&&u&&(x||z);if(c&&(x||z)){const e=20,t=Ni(e);if(t.ht(1),t.ht(e-4),A=t.yt,T&&(t.St(F),v)){const e=b?l?12:16+4*m:0;t.St(g?0:F+e)}}else A=ue;let I,U,_,O,M;if(b&&!l){const e=Ni(uo(ki)+2);e.ht(39169),e.gt(ki),I=e.yt,I[8]=m}else I=ue;if(y){const e=Yi(n),t=Gi(e);if(t){const t=9+(r?4:0)+(s?4:0),n=Ni(t);O=1+(r?2:0)+(s?4:0),n.ht(X),n.ht(t-4),n.bt(O),n.xt(e),r&&n.xt(Xi(Yi(r))),s&&n.xt(Xi(Yi(s))),_=n.yt}else _=ue;if(S===ie?!t||r||s:S)try{const e=Ki(n),t=Ni(36);t.ht(10),t.ht(32),t.zt(4),t.ht(1),t.ht(24),t.St(e),t.St(r?Ki(r):e),t.St(s?Ki(s):e),U=t.yt}catch{U=ue}else U=ue}else U=_=ue;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=Ai||t===ie&&n===ie)if(r!=vi||t===ie&&n===ie)M=ue;else{const e=Ni(8);e.ht(30805),e.ht(4),e.ht((t===ie?0:t)&N),e.ht((n===ie?0:n)&N),M=e.yt}else{const e=Mi(t),r=Mi(n),s=3+e.length+r.length,a=Ni(4+s);a.ht(30837),a.ht(s),a.bt(1),a.bt(e.length),a.gt(e),a.bt(r.length),a.gt(r),M=a.yt}}catch{M=ue}D===ie&&(D=k?8:0);const{ut:L}=e;k&&L!==ie&&(R=R>L?R:L),c&&(R=R>45?R:45),b&&!l&&(R=R>51?R:51,g&&E!==ie&&(I[4]=1),I[9]=D,D=99);const P=C?uo(A):0,V=P+uo(I,_,U,M,p,h);if(V>N)throw new w(li);const Z=new o(2e3*i.ceil(i.floor(n.getTime()/1e3)/2)),{et:B,nt:H,rawLastModDate:j}=wo({version:R,bitFlag:fo(a,d,u,b,D),compressionMethod:D,uncompressedSize:F,lastModDate:ae>Z?ae:Z>se?se:Z,rawFilename:t,st:z,it:x,extraFieldLength:V}),q=Ni(re+uo(t)+V),K=q.yt,Y=Xe(K);return q.xt(W),q.gt(B),q.gt(t),C&&q.gt(A),q.gt(I),q.gt(_),q.gt(U),q.gt(M),q.gt(p),q.gt(h),u&&(z||oo(Y,18,0),x||oo(Y,22,0)),{Ft:K,Et:Y,et:B,nt:H,lastModDate:n,rawLastModDate:j,encrypted:b,compressed:k,version:R,compressionMethod:D,ct:O,Ge:ue,Rt:P,Je:_,Qe:U,$e:M,Xe:I,extraFieldLength:V}})(l=n.assign({},l,d.lt,u.lt,s.lt,{signature:l[Vs],crc32:l.crc32===ie?l[Vs]:l.crc32,offset:e.offset-p,diskNumberStart:h})),g=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let r,s=ue,a=0,i=e?20:12;return n&&(i+=4),t&&(s=new f(i),r=Xe(s),n&&(a=4,oo(r,0,V))),{Dt:s,kt:r,At:a}})(l),b=uo(y.Ft,g.Dt);m=await(async(e,t,r,s,i)=>{const{Be:o,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:u}=i,{vt:f}=s,p=e.options[xe],h=e.Ye;let m,y,g,b,x,z,F,R={},k=0;o.set(t,R),e.Ye=R;try{let y;l&&(y=h&&h.Tt,R.Tt=new S(e=>g=e)),i.bufferedWrite||!l||e.Ct||e.Ke||!d?(m=!0,e.Ke++,F=i.createTempStream?await i.createTempStream():new E(ie,ie,{highWaterMark:oe}),F.size=0,await cs(c)):(F=c,await A()),await cs(F);const T=Wi(c);e.Ze&&(delete e.Ze,await qi(c,ji()),e.offset+=4),p&&!m&&Oi(s,e.offset-T);const{Ft:C}=f;m||(await y,await v());const I=Li(c),U=Vi(e,c);if(R.diskNumberStart=I,m||(x=!0,z=c.size,await qi(F,C)),R=await(async(e,t,{diskNumberStart:r,Tt:s},i,o,c)=>{const{vt:l,It:d,Ut:u}=i,{et:f,nt:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:S,version:g,compressionMethod:b,Ge:x,Rt:z,Je:F,ct:E,Qe:R,$e:D,Xe:k}=l,{Dt:A}=d,{rawFilename:v,lastAccessDate:T,creationDate:C,password:I,rawPassword:U,level:_,zip64:O,it:N,st:W,zipCrypto:P,dataDescriptor:V,directory:Z,executable:B,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,uid:se,gid:ae,unixMode:oe,symlink:ce,setuid:le,setgid:de,sticky:ue,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:pe,useCompressionStream:he,passThrough:me,format:ye,codecURI:Se}=c,ge={Tt:s,versionMadeBy:H,zip64:O,directory:!!Z,executable:!!B,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:j,Ge:x,Rt:z,Je:F,Qe:R,$e:D,Xe:k,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,diskNumberStart:r,uid:se,gid:ae,unixMode:oe,symlink:!!ce,setuid:le,setgid:de,sticky:ue,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:pe};let{crc32:be,uncompressedSize:xe}=c,ze=0;me||(xe=0);const{writable:Fe}=t;if(e){const n=nn(us(e)),r=e.size,s={options:{codecType:Un,level:_,rawPassword:U,password:I,encryptionStrength:$,zipCrypto:y&&P,passwordVerification:y&&P&&m>>8&L,computeCrc32:!me,compressed:S&&!me,encrypted:y&&!me,useWebWorkers:K,useCompressionStream:he,transferStreams:Y,format:ye,codecURI:Se,compressionMethod:b},config:o,oe:{signal:Q,size:r,onstart:G,onprogress:X,onend:J}};try{const e=await ur({readable:n,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,me||(xe=e.inputSize,y&&!P||(be=e.crc32)),!W&&ze>=M||!N&&xe>=M)throw new w(pi)}catch(e){throw e.outputSize!==ie&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:n,vt:r,It:s},{zip64:i,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{nt:d,encrypted:u}=r,{kt:w,At:f}=s;u&&!o&&!c||e===ie||(oo(d,10,e),l&&oo(w,f,e)),i?l&&(co(w,f+4,a(t)),co(w,f+12,a(n))):(oo(d,14,t),oo(d,18,n),l&&(oo(w,f+4,t),oo(w,f+8,n)))})({crc32:be,compressedSize:ze,uncompressedSize:xe,vt:l,It:d},c),V&&await qi(t,A),n.assign(ge,{uncompressedSize:xe,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:C,lastAccessDate:T,encrypted:!!y,zipCrypto:!!P,size:u+ze,compressionMethod:b,version:g,et:f,nt:p,signature:be,crc32:!y||P||me?be:ie,ct:E,it:N,st:W}),ge})(r,F,R,s,Ze(),i),m||(x=!1),o.set(t,R),R.filename=t,m){if(await S.all([F.writable.getWriter().close(),y]),await A(),b=!0,z=c.size,await v(),R.diskNumberStart=Li(c),R.offset=Vi(e,c),p){const t=s.Ut;Oi(s,e.offset-Wi(c)),R.size+=s.Ut-t}(({rawFilename:e,encrypted:t,zip64:n,Rt:r,crc32:s,compressedSize:i,uncompressedSize:o,it:c,st:l},d,{dataDescriptor:u,passThrough:w})=>{if(u||((!t||w&&s!==ie)&&oo(d,14,s),l||oo(d,18,i),c||oo(d,22,o)),n&&r){const t=re+uo(e)+4;co(d,t,a(o)),co(d,t+8,a(i))}})(R,f.Et,i),await qi(c,f.Ft),await(async(e,t,n)=>{const r=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await r.ready,await r.write(e),t=uo(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{r.releaseLock()}})(F.readable,c,u),c.size+=F.size,b=!1}else R.diskNumberStart=I,R.offset=U;return e.offset+=R.size,R}catch(n){if(b||x){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-z,m&&(e.offset+=k)}throw o.delete(t),n}finally{if(m&&e.Ke--,g&&g(),y&&y(),m&&F&&F.dispose)try{await F.dispose()}catch{}}async function A(){e.Ct=!0;const{_t:t}=e;e._t=new S(t=>y=()=>{e.Ct=!1,t()}),await t}async function v(){Pi(c,uo(f.Ft))&&await c.closeDisk()}})(e,r,c,{vt:y,It:g,Ut:b},l)}catch(t){throw e.Be.delete(r),t}return n.assign(m,{name:r,comment:p,extraField:h,[As]:m.internalFileAttributes,[vs]:m.externalFileAttributes}),new Ys(m)})(l,e,r,c),d.add(u),await u}catch(t){throw p&&l.He.delete(e),t}finally{d.delete(u);const e=Ci.shift();e?e():Ti--}}remove(e){const{He:t,Be:n}=this;if(typeof e==de&&(e=n.get(e)),e&&e.filename!==ie){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=ue,n={}){const{qe:r,writer:s}=this,{writable:i}=s;if(!(e instanceof f))throw new w(Ja);if(uo(e)>N)throw new w(Xa);for(;r.size;)await S.allSettled(t.from(r));return await(async(e,n,r)=>{const s=(e=>{let t=0;for(const[,n]of e){const{rawFilename:e,Xe:r,rawComment:s,Qe:a,$e:i,rawExtraField:o,extendedTimestamp:c,ct:l,lastModDate:d,it:u,st:f,uncompressedSize:p,compressedSize:h}=n,m=n.offset>=M,y=n.diskNumberStart>=N;let S,g;if(m||y||u||f){const e=4+(u?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Ni(e);t.ht(1),t.ht(e-4),u&&t.St(p),f&&t.St(h),m&&t.St(n.offset),y&&t.xt(n.diskNumberStart),S=t.yt}else S=ue;n.Ge=S,n.Ot=m,n.ot=y;const b=Yi(d);if(c&&Gi(b)){const e=Ni(9);e.ht(X),e.ht(5),e.bt(l),e.xt(b),g=e.yt}else g=ue;n.Je=g;const x=uo(S,r,a,i,g,o);if(x>N)throw new w(li);t+=46+uo(e,s)+x}return t})(e.Be),{Mt:i,Nt:o}=await(async(e,n,r)=>{const{Be:s,writer:a}=e,i=new f(n);await cs(a);let o=0,c=0,l=Li(a),d=Wi(a);for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Ge:w,Xe:f,Je:p,Qe:h,$e:m,rawExtraField:y,rawComment:S,versionMadeBy:g,et:b,nt:x,it:z,st:F,ot:E,Ot:R,internalFileAttributes:D,externalFileAttributes:k,diskNumberStart:A,uncompressedSize:v,compressedSize:T}=n,C=uo(w,f,p,h,m,y),I=46+uo(u,S)+C;Pi(a,o+I-c)&&(await qi(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=Li(a),d=Wi(a)),z||oo(x,18,v),F||oo(x,14,T),(R||E)&&45>n.version&&io(x,0,45);const U=Ni(I);if(U.xt(B),U.ht(g),U.gt(b.subarray(0,24)),U.ht(C),U.ht(uo(S)),U.ht(E?N:A),U.ht(D),U.xt(k),U.xt(R?M:t),U.gt(u),U.gt(w),U.gt(f),U.gt(p),U.gt(h),U.gt(m),U.gt(y),U.gt(S),lo(i,U.yt,o),o+=I,r.onprogress)try{await r.onprogress(e+1,s.size,new Ys(n))}catch{}}return await qi(a,c?i.slice(c):i),{Mt:{diskNumber:l,diskOffset:d},Nt:i}})(e,s,r),c=await(async(e,t,n)=>{const r=$i(e,n,"signCentralDirectory");if(r){const n=await r(t),s=uo(n);if(s>N)throw new w(Di);const a=Ni(6+s);return a.xt(Z),a.ht(s),a.gt(n),await qi(e.writer,a.yt),6+s}return 0})(e,o,r);await(async(e,t,n,r)=>{const{writer:s}=e,{Mt:i,Lt:o}=r;let{Wt:c}=r,l=e.Be.size,d=i.diskNumber,u=Vi(e,i),f=Li(s);Pi(s,K)&&f++;let p=Ji(e,n,Us);if(!(M>u&&M>c&&N>l&&N>f)){if(!1===p)throw new w(pi);p=!0}const h=uo(t);if(h>N)throw new w(Xa);const m=Ni(p?98:K);Pi(s,uo(m.yt)+h)&&await s.closeDisk(),f=Li(s),p&&(m.xt(j),m.St(44),m.ht(45),m.ht(45),m.xt(f),m.xt(d),m.St(l),m.St(l),m.St(c),m.St(u),m.xt(q),m.xt(f),m.St(a(Vi(e,s))+a(c)+a(o)),m.xt(f+1),Ji(e,n,"supportZip64SplitFile",!0)&&(f=N,d=N),l=N,u=M,c=M),m.xt(H),m.ht(f),m.ht(d),m.ht(l),m.ht(l),m.xt(c),m.xt(u),m.ht(h),await qi(s,m.yt),h&&await qi(s,t)})(e,n,r,{Mt:i,Wt:s,Lt:c})})(this,e,n),!os(s)&&Ji(this,n,ge)||await i.getWriter().close(),s.getData?s.getData():i}}function Ui(e,t,n){e.qe.add(t),t.catch(e=>{try{n(e)}catch{}})}function _i(e){if(!e)return ue;if(!(e instanceof c))throw new w(ii);let t=0,n=0;e.forEach((e,n)=>{if(!s.isInteger(n)||0>n||n>N)throw new w(oi);if(!(e instanceof f))throw new w(ci);if(uo(e)>N)throw new w(li);t+=4+uo(e)});const r=new f(t),a=Xe(r);return e.forEach((e,t)=>{io(a,n,t),io(a,n+2,uo(e)),lo(r,e,n+4),n+=4+uo(e)}),r}function Oi(e,t){const{vt:n}=e;let{Ft:r,extraFieldLength:s}=n,a=64-(t+uo(r))%64;4>a&&(a+=64);const i=new f(a),o=Xe(i);io(o,0,6534),io(o,2,a-4);const c=r;n.Ft=r=new f(uo(c)+a),lo(r,c),lo(r,i,uo(c));const l=Xe(r);io(l,28,s+a),n.Et=l,e.Ut+=a}function Mi(e){if(e===ie)return ue;{const t=new f(4);Xe(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}}function Ni(e){const t=new f(e),n=Xe(t);let r=0;return{yt:t,bt:e=>{((e,t,n)=>{e.setUint8(t,n)})(n,r,e),r+=1},ht:e=>{io(n,r,e),r+=2},xt:e=>{oo(n,r,e),r+=4},St:e=>{co(n,r,a(e)),r+=8},gt:e=>{lo(t,e,r),r+=uo(e)},zt:e=>r+=e}}function Li(e){const{diskNumber:t=0}=e;return t}function Wi(e){const{diskOffset:t=0}=e;return t}function Pi(e,t){const{availableSize:n=oe}=e;return t>n}function Vi(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.je:0)}async function Zi(e,t,n,r){if(r>0){const{writer:s}=e;await us(t,{offset:n,size:r}).pipeTo(s.writable,{preventClose:!0,preventAbort:!0}),s.size+=r,e.offset+=r}}async function Bi(e,t){const n=await ds(e,t,re);if(uo(n)<re)return re;const r=Xe(n);return re+ao(r,26)+ao(r,28)}function Hi(e,{offset:t,diskNumberStart:n}){return t+(e._e?e._e(n):0)}function ji(){const e=new f(4);return oo(Xe(e),0,P),e}async function qi(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=uo(t),await r.write(t)}finally{r.releaseLock()}}function Ki(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return wi>t?wi:t>fi?fi:t}}function Yi(e){return i.floor(e.getTime()/1e3)}function Gi(e){return e>=di&&ui>=e}function Xi(e){return i.min(ui,i.max(di,e))}function Ji(e,t,n,r){const s=t[n]===ie?e.options[n]:t[n];return s===ie?r:s}function Qi(e,t,n,r){const a=Ji(e,t,n,r);if(null===a)return r;if(a!==ie&&(typeof a.getTime!=le||s.isNaN(a.getTime())))throw new w(ei);return a}function $i(e,t,n){return Te(Ji(e,t,n))}function eo(e,t,n,r,s){const a=to(t,n,r),i=a===ie?to(e.options,n,r):a;return i===ie?s:i}function to(e,t,n){return e[t]===ie?e[n]:e[t]}function no(e,t,n,r){return Ue(Ji(e,t,n,r))}function ro(e){return e+5*(i.floor(e/16383)+1)}function so(e,t){return e===ie?t===ie||t>0:0!==e}function ao(e,t){return e.getUint16(t,!0)}function io(e,t,n){e.setUint16(t,n,!0)}function oo(e,t,n){e.setUint32(t,n,!0)}function co(e,t,n){e.setBigUint64(t,n,!0)}function lo(e,t,n){e.set(t,n)}function uo(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function wo({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,st:c,it:l,extraFieldLength:d}){const u=Ni(26),w=u.yt,f=Xe(w);if(u.ht(e),u.ht(t),u.ht(n),i===ie){const e=new h(1),t=Xe(e);io(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),io(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return u.xt(i),u.zt(4),c||s!==ie?u.xt(c?M:s):u.zt(4),l||r!==ie?u.xt(l?M:r):u.zt(4),u.ht(uo(o)),u.ht(d),{et:w,nt:f,rawLastModDate:i}}function fo(e,t,n,r,s){let a=0;return t&&(a|=J),n&&(a|=8),8!=s&&9!=s||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),r&&(a|=1),a}const po=1048576,ho=".zip.js-temp",mo=1048576,yo=1048576,So=".zip.js-temp",go="createSyncAccessHandle is only available in dedicated workers";try{(e=>{const t=je(Ke(e));n.assign(Me,t),n.assign(Ve,t)})({baseURI:void 0===x&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===x?location.href:O&&"SCRIPT"===O.tagName.toUpperCase()&&O.src||new u("zip-core.min.js",x.baseURI).href})}catch{}e.BlobReader=Nr,e.BlobWriter=Lr,e.Data64URIReader=class extends Ur{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Pt:e,Vt:r,size:i.floor(.75*(t-r))})}readUint8Array(e,t){const{Vt:n,Pt:r}=this,s=new f(t),a=4*i.floor(e/3),o=atob(r.substring(a+n,4*i.ceil((e+t)/3)+n)),c=e-3*i.floor(a/4);let l=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends _r{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",Zt:""})}writeUint8Array(e){const t=this;let n,s=t.Zt;const a=t.Zt.length;for(t.Zt="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.Zt+=r.fromCharCode(e[n]);s.length>2?t.data+=F(s):t.Zt=s+t.Zt}getData(){return this.data+F(this.Zt)}},e.ERR_AMBIGUOUS_ARCHIVE=oa,e.ERR_BAD_FORMAT=Gs,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Qs,e.ERR_DUPLICATED_NAME=Ga,e.ERR_ENCRYPTED=ta,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=ca,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=ia,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Js,e.ERR_EOCDR_NOT_FOUND=Xs,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=ea,e.ERR_HTTP_RANGE=xr,e.ERR_HTTP_RESOURCE_CHANGED=zr,e.ERR_INVALID_AUTHENTICATION_CODE=mt,e.ERR_INVALID_CODEC_DEFINITION=an,e.ERR_INVALID_CODEC_MODULE=cn,e.ERR_INVALID_COMMENT=Xa,e.ERR_INVALID_COMMENT_TYPE=Ja,e.ERR_INVALID_COMPRESSED_DATA=mn,e.ERR_INVALID_CRC32=yn,e.ERR_INVALID_DATE=ei,e.ERR_INVALID_ENCRYPTION_STRENGTH=ri,e.ERR_INVALID_ENTRY_COMMENT=Qa,e.ERR_INVALID_ENTRY_COMMENT_TYPE=$a,e.ERR_INVALID_ENTRY_NAME=ti,e.ERR_INVALID_EXTRAFIELD=ii,e.ERR_INVALID_EXTRAFIELD_DATA=li,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=ci,e.ERR_INVALID_EXTRAFIELD_TYPE=oi,e.ERR_INVALID_FILENAME_VALIDATION=ua,e.ERR_INVALID_FUNCTION_OPTION=ke,e.ERR_INVALID_GID=gi,e.ERR_INVALID_LEVEL=Ri,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=wa,e.ERR_INVALID_MAX_WORKERS=_e,e.ERR_INVALID_MSDOS_ATTRIBUTES=Fi,e.ERR_INVALID_MSDOS_DATA=Ei,e.ERR_INVALID_PASSWORD=pt,e.ERR_INVALID_PASSWORD_TYPE=ve,e.ERR_INVALID_SIGNAL=Ae,e.ERR_INVALID_SIGNATURE=ht,e.ERR_INVALID_SIGNATURE_DATA=Di,e.ERR_INVALID_STRICTNESS=da,e.ERR_INVALID_UID=Si,e.ERR_INVALID_UNCOMPRESSED_SIZE=hn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=xi,e.ERR_INVALID_UNIX_ID_SIZE=zi,e.ERR_INVALID_UNIX_MODE=bi,e.ERR_INVALID_VERSION=ni,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Fr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=$s,e.ERR_OVERLAPPING_ENTRY=aa,e.ERR_RESERVED_COMPRESSION_METHOD=on,e.ERR_SPLIT_ZIP_FILE=sa,e.ERR_UNDEFINED_READER=mi,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=hi,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=la,e.ERR_UNSUPPORTED_COMPRESSION=ra,e.ERR_UNSUPPORTED_CONTEXT=go,e.ERR_UNSUPPORTED_CRYPTO_API=St,e.ERR_UNSUPPORTED_ENCRYPTION=na,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=ai,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=si,e.ERR_UNSUPPORTED_FORMAT=pi,e.ERR_WORKER_STARTUP_TIMEOUT=Nn,e.ERR_WRITER_NOT_INITIALIZED=Er,e.ERR_ZIP_NOT_EMPTY=yi,e.HttpRangeReader=class extends ns{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=ns,e.Reader=Ur,e.SplitDataReader=rs,e.SplitDataWriter=ss,e.TextReader=class extends Nr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Lr{constructor(e){super(),n.assign(this,{encoding:e,Bt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Bt:t}=this,n=await super.getData();return n.text&&t?n.text():((e,t)=>gr(e,t,!1))(new f(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Ur{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{yt:e,size:e.length})}readUint8Array(e,t){return this.yt.slice(e,e+t)}},e.Uint8ArrayWriter=class extends _r{constructor(e){super(),this.Ht=e||262144}init(e=0){n.assign(this,{offset:0,yt:new f(e>0?e:this.Ht)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.yt.length){let e=t.yt.length?2*t.yt.length:t.Ht;for(;n>e;)e*=2;const r=t.yt;t.yt=new f(e),t.yt.set(r)}t.yt.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.yt.length?this.yt:this.yt.slice(0,this.offset)}},e.Writer=_r,e.ZipReader=Sa,e.ZipReaderStream=ga,e.ZipWriter=Ii,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new E;this.readable=t,this.zipWriter=new Ii(n,e),this.qe=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:s}=new E({start(e){n=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Ui(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:n,writable:r}=new E({start(e){t=e}});return Ui(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){return await S.all(t.from(this.qe)),this.zipWriter.close(e,n)}},e.configure=e=>{n.assign(Ve,je(Ke(e)))},e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=mo}=e;return()=>{const e=[];let n,r,s,a=0,i=!1;const o=new D({async write(s){i?await n.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new E;r=rn(t.readable),n=t.writable.getWriter(),i=!0;for(const t of e)await n.write(t);e.length=0})())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:o,readable:new R({async pull(t){if(i){if(!s){const e=await r;s=e.stream().getReader()}const{value:e,done:n}=await s.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:n=po,directoryName:r=ho,getDirectory:s=()=>v.storage.getDirectory()}=e;let a;function i(){return a||(a=S.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,s,a,o,c=0,l=!1;const d=new D({async write(o){l?await a.write(o):(e.push(o),c+=o.length,c>n&&await(async()=>{const n=await i();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new f(16)),e=>e.toString(16).padStart(2,"0")).join(""),s=await n.getFileHandle(r,{create:!0}),a=(await s.createWritable()).getWriter(),l=!0;for(const t of e)await a.write(t);e.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:d,readable:new R({async pull(t){if(l){if(!o){const e=await s.getFile();o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else u<e.length?t.enqueue(e[u++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const e=await i();await e.removeEntry(r)}catch{}s=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:n=yo,directoryName:r=So,getDirectory:s}=e;if(!(s||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new w(go);const a=s||(()=>v.storage.getDirectory());let o;function c(){return o||(o=S.resolve(a()).then(e=>e.getDirectoryHandle(r,{create:!0}))),o}return()=>{const e=[];let r,s,a=0,o=!1,l=0,d=0;const u=new D({async write(i){o?(s.write(i,{at:l}),l+=i.length):(e.push(i),a+=i.length,a>n&&await(async()=>{const n=await c();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new f(16)),e=>e.toString(16).padStart(2,"0")).join("");const a=await n.getFileHandle(r,{create:!0});s=await a.createSyncAccessHandle(),o=!0;for(const t of e)s.write(t,{at:l}),l+=t.length;e.length=0})())},close(){s&&s.flush()}});let w=0;return{writable:u,readable:new R({pull(t){if(o){const e=l-d;if(0>=e)return void t.close();const n=new f(i.min(524288,e)),r=s.read(n,{at:d});r?(d+=r,t.enqueue(n.subarray(0,r))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(s){try{s.close()}catch{}s=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:n,codecURI:r,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||0>t||t>N||typeof n!=de||!n.length)throw new w(an);if(ln.includes(t))throw new w(on);const c=typeof a==le||typeof i==le;if(!(c||typeof r==de&&r.length))throw new w(an);dn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:o}),c&&pn(n,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of Pe)delete Ve[e];n.assign(Ve,Me)},e.terminateWorkers=async()=>{await S.allSettled(ir.map(e=>(mr(e),e.terminate()))),Ln=ie,Wn=!1},e.unregisterCodec=e=>{const t=dn.get(e);if(t){let n;dn.delete(e),dn.forEach(e=>n=n||e.format==t.format),n||un.delete(t.format)}}});
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:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:d,URL:u,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:S,TextEncoder:g,TextDecoder:b,document:x,crypto:z,btoa:F,TransformStream:E,ReadableStream:R,WritableStream:D,CompressionStream:k,DecompressionStream:A,navigator:v,Worker:T,Symbol:C,setTimeout:I,clearTimeout:U,structuredClone:_}="undefined"!=typeof globalThis?globalThis:this||self;var O=void 0!==x?x.currentScript:null;const M=4294967295,N=65535,L=255,W=67324752,P=134695760,V=P,Z=84233040,B=33639248,H=101010256,j=101075792,q=117853008,K=22,Y=20,G=56,X=21589,J=2048,Q=61440,$=16384,ee=2048,te=1024,ne="/",re=30,se=new o(2107,11,31,23,59,58),ae=new o(1980,0,1),ie=void 0,oe=1/0,ce="undefined",le="function",de="string",ue=new f,we="password",fe="rawPassword",pe="passThrough",he="signal",me="useWebWorkers",ye="useCompressionStream",Se="transferStreams",ge="preventClose",be="offset",xe="usdz",ze="filename",Fe="comment",Ee="strict",Re="balanced",De="tolerant",ke="Invalid option (must be a function)",Ae="Invalid signal (must be an AbortSignal instance)",ve="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Te(e){if(e&&typeof e!=le)throw new w(ke);return e}function Ce(e){if(e&&(typeof e.addEventListener!=le||"boolean"!=typeof e.aborted))throw new w(Ae);return e||ie}function Ie(e,t){if(e&&typeof e!=de||t&&!(t instanceof f))throw new w(ve)}function Ue(e){return typeof e==de&&e.trim()?s(e):e}const _e="Invalid maxWorkers (must be an integer greater than 0)";let Oe=2;try{typeof v!=ce&&v.hardwareConcurrency&&(Oe=v.hardwareConcurrency)}catch{}const Me={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Oe,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof k!=ce&&k,DecompressionStream:typeof A!=ce&&A},Ne="maxWorkers",Le=["chunkSize",Ne,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],We=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Pe=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Le,...We],Ve={...Me};function Ze(){return Ve}function Be(e){return He(e.chunkSize)}function He(e){return e=Ue(e),s.isInteger(e)&&e>=1?i.max(e,64):65536}function je(e){const t={};for(const n of Pe){const r=e[n];r!==ie&&(t[n]=qe(n,r))}return t}function qe(e,t){if(Le.includes(e)){if(t=Ue(t),e==Ne&&(!s.isInteger(t)||t<1))throw new w(_e)}else We.includes(e)&&Te(t);return t}function Ke(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ie&&r===ie)return e;const s=n.assign({},e);return s.CompressionStreamFallback===ie&&(s.CompressionStreamFallback=t),s.DecompressionStreamFallback===ie&&(s.DecompressionStreamFallback=r),s}function Ye(e,t){const n=new f(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Ge(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function Xe(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const Je=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;Je[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=Je[t-1][e];Je[t][e]=n>>>8^Je[0][255&n]}const[Qe,$e,et,tt,nt,rt,st,at]=Je;class it{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,n),a=n-8;for(;r<=a;r+=8){const e=t^s.getInt32(r,!0),n=s.getInt32(r+4,!0);t=at[255&e]^st[e>>>8&255]^rt[e>>>16&255]^nt[e>>>24&255]^tt[255&n]^et[n>>>8&255]^$e[n>>>16&255]^Qe[n>>>24&255]}}for(;r<n;r++)t=t>>>8^Qe[255&(t^e[r])];this.o=t}get(){return~this.o}}class ot extends E{constructor(){let e;const t=new it;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new f(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function ct(e){if(typeof g==ce){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new g).encode(e)}const lt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=lt.l(n);return 32===r?e.concat(t):lt.h(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+lt.l(n)},m(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=lt.S(t,e[n-1]&2147483648>>t-1,1)),e},S:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,l:e=>i.round(e/1099511627776)||32,h(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=lt.l(s);return r.push(lt.S(t+a&31,t+a>32?n:r.pop(),1)),r}},dt={bytes:{F(e){const t=lt.bitLength(e)/8,n=new f(t);let r;for(let s=0;s<t;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},R(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(lt.S(8*(3&n),r)),t}}},ut=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.A=[1518500249,1859775393,2400959708,3395469782],e?(t.v=e.v.slice(0),t.T=e.T.slice(0),t.C=e.C):t.reset()}reset(){const e=this;return e.v=e.D.slice(0),e.T=[],e.C=0,e}update(e){const t=this;"string"==typeof e&&(e=dt.I.R(e));const n=t.T=lt.concat(t.T,e),r=t.C,s=t.C=r+lt.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const a=new h(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=s;e+=t.blockSize)t.U(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),t}_(){const e=this;let t=e.T;const n=e.v;t=lt.concat(t,[lt.S(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.C/4294967296)),t.push(0|e.C);t.length;)e.U(t.splice(0,16));return e.reset(),n}O(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0}M(e,t){return t<<e|t>>>32-e}U(e){const n=this,r=n.v,s=t(80);for(let t=0;t<16;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],d=r[4];for(let e=0;e<=79;e++){e>=16&&(s[e]=n.M(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n.M(5,a)+n.O(e,o,c,l)+d+s[e]+n.A[i.floor(e/20)]|0;d=l,l=c,c=n.M(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+d|0}},wt={importKey:e=>new wt.N(dt.bytes.R(e)),L(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const d=new ArrayBuffer(s),u=new m(d);let f=0;const p=lt;for(t=dt.bytes.R(t),l=1;f<(s||1);l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;o<n;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;f<(s||1)&&o<a.length;o++)u.setInt32(f,a[o]),f+=4}return d.slice(0,r/8)},N:class{constructor(e){const t=this,n=t.W=ut,r=[[],[]];t.P=[new n,new n];const s=t.P[0].blockSize/32;e.length>s&&(e=(new n).update(e)._());for(let t=0;t<s;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.P[0].update(r[0]),t.P[1].update(r[1]),t.V=new n(t.P[0])}reset(){const e=this;e.V=new e.W(e.P[0]),e.Z=!1}update(e){this.Z=!0,this.V.update(e)}digest(){const e=this,t=e.V._(),n=new e.W(e.P[1]).update(t)._();return e.reset(),n}encrypt(e){if(this.Z)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},ft=typeof z!=ce&&typeof z.getRandomValues==le,pt="Invalid password",ht="Invalid signature",mt=ht,yt="zipjs-abort-check-password",St="Crypto API not supported";function gt(e){if(ft)return z.getRandomValues(e);throw new w(St)}const bt=16,xt={name:"PBKDF2"},zt=n.assign({hash:{name:"HMAC"}},xt),Ft=n.assign({iterations:1e3,hash:{name:"SHA-1"}},xt),Et=["deriveBits"],Rt=[8,12,16],Dt=[16,24,32],kt=10,At=[0,0,0,0],vt=typeof z!=ce,Tt=vt&&z.subtle,Ct=vt&&typeof Tt!=ce,It=dt.bytes,Ut=class{constructor(e){const t=this;t.B=[[[],[],[],[],[]],[[],[],[],[],[]]],t.B[0][0][0]||t.H();const n=t.B[0][4],r=t.B[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.A=[i=e.slice(0),o=[]],a=s;a<4*s+28;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=a<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.j(e,0)}decrypt(e){return this.j(e,1)}H(){const e=this.B[0],t=this.B[1],n=e[4],r=t[4],s=[],a=[];let i,o,c,l;for(let e=0;e<256;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!n[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[d]=a,r[a]=d,l=s[c=s[o=s[d]]];let u=16843009*l^65537*c^257*o^16843008*d,w=257*s[a]^16843008*a;for(let n=0;n<4;n++)e[n][d]=w=w<<24^w>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}j(e,t){if(4!==e.length)throw new w("invalid aes block size");const n=this.A[t],r=n.length/4-2,s=[0,0,0,0],a=this.B[t],i=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,p,h=e[0]^n[0],m=e[t?3:1]^n[1],y=e[2]^n[2],S=e[t?1:3]^n[3],g=4;for(let e=0;e<r;e++)u=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&S]^n[g],f=i[m>>>24]^o[y>>16&255]^c[S>>8&255]^l[255&h]^n[g+1],p=i[y>>>24]^o[S>>16&255]^c[h>>8&255]^l[255&m]^n[g+2],S=i[S>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^n[g+3],g+=4,h=u,m=f,y=p;for(let e=0;e<4;e++)s[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[y>>8&255]<<8^d[255&S]^n[g++],u=h,h=m,m=y,y=S,S=u;return s}},_t=class{constructor(e,t){this.K=e,this.Y=t,this.G=t}reset(){this.G=this.Y}update(e){return this.X(this.K,e,this.G)}J(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}$(e){0===(e[0]=this.J(e[0]))&&(e[1]=this.J(e[1]))}X(e,t,n){let r;if(!(r=t.length))return[];const s=lt.bitLength(t);for(let s=0;s<r;s+=4){this.$(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return lt.m(t,s)}},Ot=wt.N;let Mt=vt&&Ct&&typeof Tt.importKey==le,Nt=vt&&Ct&&typeof Tt.deriveBits==le;class Lt extends E{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){Pt(this,e,t,n)},async transform(e,t){const n=this,{password:s,strength:a,ee:i,ready:o}=n;s?(await(async(e,t,n,r)=>{const s=await Zt(e,t,n,Ht(r,0,Rt[t])),a=Ht(r,Rt[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new w(pt)})(n,a,s,Ht(e,0,Rt[a]+2)),e=Ht(e,Rt[a]+2),r?t.error(new w(yt)):i()):await o;const c=new f(e.length-kt-(e.length-kt)%bt);t.enqueue(Vt(n,e,c,0,kt,!0))},async flush(e){const{te:t,ne:n,re:r,ready:a}=this;if(n&&t){await a;const i=Ht(r,0,r.length-kt),o=Ht(r,r.length-kt);let c=ue;if(i.length){const e=qt(It,i);n.update(e);const r=t.update(e);c=jt(It,r)}const l=Ht(jt(It,n.digest()),0,kt);let d=r.length<kt?1:0;for(let e=0;e<kt;e++)d|=l[e]^o[e];if(d&&s)throw new w(mt);e.enqueue(c)}}})}}class Wt extends E{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){Pt(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:s,ee:a,ready:i}=n;let o=ue;r?(o=await(async(e,t,n)=>{const r=gt(new f(Rt[t]));return Ye(r,await Zt(e,t,n,r))})(n,s,r),a()):await i;const c=new f(o.length+e.length-e.length%bt);c.set(o,0),t.enqueue(Vt(n,e,c,o.length,0))},async flush(e){const{te:t,ne:n,re:r,ready:s}=this;if(n&&t){await s;let a=ue;if(r.length){const e=t.update(qt(It,r));n.update(e),a=jt(It,e)}const i=jt(It,n.digest()).slice(0,kt);e.enqueue(Ye(a,i))}}})}}function Pt(e,t,r,s){n.assign(e,{ready:new S(t=>e.ee=t),password:Bt(t,r),strength:s-1,re:ue})}function Vt(e,t,n,r,s,a){const{te:i,ne:o,re:c}=e;c.length&&(t=Ye(c,t));const l=t.length-s;let d;for(n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new f(t)).set(n,0)}return e})(n,r+(l-l%bt)),d=0;d<=l-bt;d+=bt){const e=qt(It,Ht(t,d,d+bt));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(jt(It,s),d+r)}return e.re=Ht(t,d),n}async function Zt(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!Mt)return wt.importKey(t);try{return await Tt.importKey("raw",t,n,!1,s)}catch{return Mt=!1,wt.importKey(t)}})(0,s,zt,0,Et),o=await(async(e,t,n)=>{if(!Nt)return wt.L(t,e.salt,Ft.iterations,n);try{return await Tt.deriveBits(e,t,n)}catch{return Nt=!1,wt.L(t,e.salt,Ft.iterations,n)}})(n.assign({salt:a},Ft),i,8*(2*Dt[r]+2)),c=new f(o),l=qt(It,Ht(c,0,Dt[r])),d=qt(It,Ht(c,Dt[r],2*Dt[r])),u=Ht(c,2*Dt[r]);return n.assign(e,{keys:{key:l,se:d,passwordVerification:u},te:new _t(new Ut(l),t.from(At)),ne:new Ot(d)}),u}function Bt(e,t){return t===ie?ct(e):t}function Ht(e,t,n){return e.subarray(t,n)}function jt(e,t){return e.F(t)}function qt(e,t){return e.R(t)}class Kt extends E{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){Gt(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=Xt(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new w(pt);e=e.subarray(12)}r?t.error(new w(yt)):t.enqueue(Xt(n,e))}})}}class Yt extends E{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){Gt(this,e,t,n)},transform(e,t){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=gt(new f(12));t[11]=n.passwordVerification,r=new f(e.length+t.length),r.set(Jt(n,t),0),s=12}else r=new f(e.length),s=0;r.set(Jt(n,e),s),t.enqueue(r)}})}}function Gt(e,t,r,s){n.assign(e,{password:t,rawPassword:r,passwordVerification:s}),((e,t,r)=>{const s=[305419896,591751049,878082192];if(n.assign(e,{keys:s,ae:new it(s[0]),ie:new it(s[2])}),r)for(let t=0;t<r.length;t++)Qt(e,r[t]);else for(let n=0;n<t.length;n++)Qt(e,t.charCodeAt(n))})(e,t,r)}function Xt(e,t){const n=new f(t.length);for(let r=0;r<t.length;r++)n[r]=$t(e)^t[r],Qt(e,n[r]);return n}function Jt(e,t){const n=new f(t.length);for(let r=0;r<t.length;r++)n[r]=$t(e)^t[r],Qt(e,t[r]);return n}function Qt(e,t){let[,n]=e.keys;e.ae.append([t]);const r=~e.ae.get();n=tn(i.imul(tn(n+en(r)),134775813)+1),e.ie.append([n>>>24]);const s=~e.ie.get();e.keys=[r,n,s]}function $t(e){const t=2|e.keys[2];return en(i.imul(t,1^t)>>>8)}function en(e){return 255&e}function tn(e){return 4294967295&e}function nn(e){if(e instanceof R)return e;const t=e.getReader();return new R({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function rn(e,t){e=nn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof R)return new d(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,n))}function sn(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const an="Invalid codec definition",on="Reserved compression method",cn="Invalid codec module",ln=[0,8,9,99],dn=new c,un=new c;function wn(e){return dn.get(e)}function fn(e){return un.get(e)}function pn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=le&&typeof r!=le)throw new w(cn);un.set(e,{CompressionStream:n,DecompressionStream:r})}const hn="Invalid uncompressed size",mn="Invalid compressed data",yn=ht,Sn="deflate-raw",gn="gzip",bn=[31,139,8];class xn extends E{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:d,format:u,compressionMethod:w}=e,f=this;let p,h,y,S=super.readable;const g=u&&fn(u),b=c&&s&&!d&&!g&&(!a||o)&&!(!i||!r);if(a&&!o||!c||b||(p=new ot,S=Tn(S,p)),s)if(g)S=Cn(S,An(g.CompressionStream,u,{level:l,chunkSize:t,compressionMethod:w}));else if(b)y=new zn,S=Cn(S,new r(gn)),S=Tn(S,y);else try{S=vn(S,i,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(gn)}catch{throw e}S=Cn(S,t),S=Tn(S,new zn)}a&&(o?S=Tn(S,new Yt(e)):(h=new Wt(e),S=Tn(S,h))),kn(f,S,()=>{a&&!o||!c||(f.crc32=b?y.crc32:new m(p.value.buffer).getUint32(0))})}}class zn extends E{constructor(){let e,t=10,n=new f(0);super({transform(e,r){if(t){const n=i.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const s=n.length+e.length;if(s<=8)return void(n=Ye(n,e));const a=s-8,o=i.min(a,n.length);r.enqueue(Ye(n.subarray(0,o),e.subarray(0,a-o))),n=Ye(n.subarray(o),e.subarray(a-o))},flush(){const t=Xe(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Fn extends E{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let g,b,x=super.readable;if(a&&(s?x=Tn(x,new Kt(e)):(b=new Lt(e),x=Tn(x,b))),c){const e=u&&fn(u);if(e)x=Cn(x,An(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{x=vn(x,l,{chunkSize:t,deflate64:d},r,n)}catch(e){if(d||y===ie)throw e;let t;try{t=new r(gn)}catch{throw e}x=((e,t,n)=>{const r=new it;let s,a,i,o=0,c=!1;const l=new S((e,t)=>{a=e,i=t});l.catch(()=>{}),n||a();const d=new E({start(e){const t=new f(10);t.set(bn),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new f(8),s=Xe(t);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),e.enqueue(t)},cancel(e){i(e)}}),u=new E({transform(e,t){r.append(e),o+=e.length,o>=n?a():c&&p(),t.enqueue(e)},cancel(e){i(e)}});return e=Tn(e,d),Tn(e=Cn(e,t),u);function p(){h(),s=I(()=>i(new w(hn)),5e3)}function h(){U(s)}})(x,t,y)}x=(e=>{const t=e.getReader();return new R({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(mn);throw t.cause=e,t}const{value:r,done:s}=n;s?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})})(x)}i&&(g=new ot,x=Tn(x,g)),kn(this,x,()=>{if(i){const e=new m(g.value.buffer);if(o!=e.getUint32(0,!1))throw new w(yn)}})}}const En=new c;function Rn(e,t){if(!e)return!1;let n=En.get(e);n||(n=new c,En.set(e,n));let r=n.get(t);if(r===ie){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function Dn(e){return Rn(e,Sn)}function kn(e,t,r){t=Tn(t,new E({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function An(e,t,n){if(!e)throw new w("Compression method not supported");return new e(t,n)}function vn(e,t,n,r,s){const a=t&&r?r:s||r,i=n.deflate64?"deflate64-raw":Sn;let o;try{o=new a(i,n)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,n)}return Cn(e,o)}function Tn(e,t){return nn(e).pipeThrough(t)}function Cn(e,t){const n=t.writable.getWriter(),r=e.getReader();return(async()=>{try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(n,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(r,e)}})(),t.readable}const In="data",Un="deflate",_n="inflate";class On extends E{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith(Un)?a=xn:s.startsWith(_n)&&(a=Fn),r.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new E({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:i})}}),d=new E({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ie&&r.outputSize>e.outputSize))throw new w(hn)},flush(){const{crc32:e}=o;n.assign(r,{crc32:e,inputSize:i})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(d)})}}class Mn extends E{constructor(e){const t=[];let n=0;function r(){const r=new f(e);let s=0;for(;s<e;){const n=t[0],a=e-s;n.length<=a?(r.set(n,s),s+=n.length,t.shift()):(r.set(n.subarray(0,a),s),t[0]=n.subarray(a),s+=a)}return n-=e,r}(!s.isFinite(e)||e<1)&&(e=65536),super({transform(s,a){for(t.push(s),n+=s.length;n>e;)a.enqueue(r())},flush(e){n&&e.enqueue(((e,t)=>{const n=new f(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n})(t,n))}})}}const Nn="Worker startup timeout";let Ln,Wn,Pn;function Vn(e){e.createWorker?Wn=!0:Ln=!1}class Zn{constructor(e,{readable:t,writable:r},{options:s,config:a,oe:i,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:d},u){const{signal:w}=i;return Wn&&(d=ie),n.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new Mn(Be(a))).pipeThrough(new Bn(i),{signal:w}),writable:r,options:n.assign({},s),workerURI:l,createWorker:d,transferStreams:c,terminate:()=>new S(t=>{const{de:n,ce:r}=e;n?(r?e.ue=t:(n.terminate(),t()),e.we=null):t()}),fe(){if(e.ce){const{ue:t}=e;t&&(e.ue=null,e.pe=!0,e.de.terminate(),t()),e.ce=!1,u(e)}}}),Ln===ie&&(Ln=typeof T!=ce),(o&&Pn&&(Ln&&l||d)?Pn:jn)(e,a)}}class Bn extends E{constructor({onstart:e,onprogress:t,size:n,onend:r}){let s=0;super({async start(){e&&await Hn(e,n)},async transform(e,r){s+=e.length,t&&await Hn(t,s,n),r.enqueue(e)},async flush(){r&&await Hn(r,s)}})}}async function Hn(e,...t){try{await e(...t)}catch{}}function jn(e,t){return{run:()=>qn(e,t)}}async function qn({options:e,readable:t,writable:n,fe:r},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Un),n=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(n&&n.he&&!Dn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.he||(e.useCompressionStream=!0)}}a=new On(e,s),await t.pipeThrough(a).pipeThrough(new Mn(Be(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:i,outputSize:o}=a;return{crc32:r,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{r()}}const Kn={type:"module"},Yn="error";let Gn,Xn,Jn,Qn=!0;try{Qn=typeof _==le&&_(new DOMException("","AbortError")).code!==ie}catch{}var $n;function er(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function tr(e){const{de:t}=e;if(t)try{t.terminate()}catch{}e.we=null}function nr(e,t,r,s,a=!0){const{createWorker:i}=r;let o,c,l;if(i)o=i();else if(Xn===ie||Gn!==e){const n=typeof e==le;c=n?e(a):e;const i=c.startsWith("data:"),d=c.startsWith("blob:");if(i||d){s===ie&&(s=!1),s&&(l=Kn);try{o=new T(c,l)}catch(a){if(d)try{u.revokeObjectURL(c)}catch{}if(n&&d)return nr(e,t,r,s,!1);if(s)throw a;return nr(e,t,r,!0,!1)}}else{s===ie&&(s=!0),s&&(l=Kn);try{c=new u(c,t)}catch{}try{o=new T(c,l)}catch(n){if(s)return nr(e,t,r,!1,a);throw n}}Gn=e,Xn=c,Jn=l}else o=new T(Xn,Jn);return o.addEventListener("message",e=>{r.me=!0,rr(r),(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,ye:d,Se:u,fe:p,le:h}=t,m=()=>t.le!=h;try{if(o){const{message:e,stack:t,code:r,name:s,outputSize:a,cause:i,codecImportFailed:c}=o,l=new w(e);n.assign(l,{stack:t,code:r,name:s,outputSize:a}),i&&(l.cause=n.assign(new w(i.message),{name:i.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==r){const{value:e,done:n}=await c.read();m()||ar({type:In,value:e,done:n,messageId:a},t)}r==In&&(await l.ready,await l.write(new f(s)),m()||ar({type:"ack",messageId:a},t)),"close"==r&&y(null,i)}}catch(o){m()||(tr(t),y(o))}function y(e,t){m()||(e?u(e):d(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}})(e,r)}),o.addEventListener(Yn,e=>sr(e,r)),o.addEventListener("messageerror",e=>sr(e,r)),o}function rr(e){const{ge:t}=e;t&&(U(t),e.ge=null)}function sr(e,t){e.preventDefault&&e.preventDefault(),rr(t);const{me:r,Se:s,writer:a,fe:i}=t;tr(t),r||(t.de=null);let o=e.error||new w(e.message||Yn);r||(o=n.assign(new w(o.message||Yn),{be:!0}),t.xe=o),s&&(s(o),a&&a.releaseLock(),r&&i())}function ar(e,{de:t,writer:n,transferStreams:r,me:s}){try{const{value:n,readable:a,writable:i}=e,o=[];if(n&&(e.value=Ge(n),o.push(e.value.buffer)),r&&Qn&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Qn=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}$n=(e,t)=>{const{baseURI:r,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.we){let c;typeof o==le&&(o=o());try{c=nr(e.workerURI,r,e)}catch{return Vn(e),jn(e,t)}n.assign(e,{de:c,me:!1,pe:!1,xe:null,we:{run:async()=>{try{return await(async(e,t)=>{if(!e.de){const{xe:t}=e;e.xe=null;const n=t||new w(Nn);throw n.be=!0,n}let r,a;const i=new S((e,t)=>{r=e,a=t});n.assign(e,{reader:null,writer:null,ye:r,Se:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:d,ze:u}=(e=>{const t=new AbortController,{writable:n,readable:r}=new E,s=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:n,closed:s,ze:()=>t.abort()}})(e.writable);let f;try{f=ar({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){u();try{await d}catch{}throw e.fe(),t}f||n.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;!e.me&&s.isFinite(p)&&p>=0&&(e.ge=I(()=>(e=>{if(e.ge=null,e.me)return;const{Se:t,writer:n}=e;if(tr(e),e.de=null,t){const e=new w(Nn);e.be=!0,t(e),n&&n.releaseLock()}})(e),p));try{const e=await i;return await h(),await d,e}catch(e){await h(),u();try{await d}catch{}throw e}async function h(){if(!f&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:r,workerStartupTimeout:i})}catch(n){if(n&&n.be)return Vn(e),er(e),qn(e,t);if(n&&n.codecImportFailed){if(e.reader)return er(e),qn(e,t);e.fe()}throw n}}}})}return e.we},Pn=$n;let ir=[];const or=[];let cr,lr,dr=0;async function ur(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:d,encrypted:w,format:f,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;f&&(p&&(n.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(p,r.baseURI)),await(async(e,t)=>{!un.has(e)&&t&&pn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(f,n.codecURI)),t.transferStreams=!f&&(a||a===ie&&r.transferStreams);const g=!(c||l||d||w),b=f===ie||!!n.codecURI;return t.useWebWorkers=!g&&b&&(i||i===ie&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:ie,t.createWorker=t.useWebWorkers&&m?m:ie,n.useCompressionStream=o||o===ie&&r.useCompressionStream,(await(async()=>{const n=ir.find(e=>!e.ce);if(n)return mr(n),new Zn(n,e,t,x);if(ir.length<y){const n={Fe:dr};return dr++,ir.push(n),new Zn(n,e,t,x)}return new S(n=>{or.push({resolve:n,stream:e,Ee:t}),lr=r.workerStarvationTimeout,wr()})})()).run();function x(e){if(fr(),or.length){const[{resolve:t,stream:n,Ee:r}]=or.splice(0,1);t(new Zn(e,n,r,x)),wr()}else e.de?(mr(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.pe?e.pe=!1:e.Re=I(async()=>{ir=ir.filter(t=>t!=e);try{await e.terminate()}catch{}},r))})(e,t)):ir=ir.filter(t=>t!=e)}}function wr(){!cr&&or.length&&s.isFinite(lr)&&lr>=0&&(cr=I(pr,lr))}function fr(){cr&&(U(cr),cr=null)}function pr(){if(cr=null,or.length){const[{resolve:e,stream:t,Ee:r}]=or.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:ie,createWorker:ie});e(new Zn({},t,s,hr)),wr()}}function hr(){fr(),wr()}function mr(e){const{Re:t}=e;t&&(U(t),e.Re=null)}const yr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Sr(e,t){return gr(e,t,!0)}function gr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=yr[e[n]];return t}})(e):new b(t,{ignoreBOM:n}).decode(e)}const br="HTTP error ",xr="HTTP Range not supported",zr="HTTP resource changed",Fr="Writer iterator completed too soon",Er="Writer not initialized",Rr="Content-Range",Dr="Range",kr="GET",Ar="bytes",vr=16777216,Tr="writable",Cr=C();class Ir{constructor(){this.size=0}init(){this.initialized=!0}}class Ur extends Ir{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Be(Ze())}={}){const r=this;let s=0;return n=He(n),new R({async pull(a){const o=t===ie?n:i.min(n,t-s),c=await ds(r,e+s,o);c.length&&a.enqueue(c),s+n>=t||!c.length&&o?a.close():s+=n}})}}class _r extends Ir{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w(Er);return e.writeUint8Array(Ge(t))}});n.defineProperty(e,Tr,{get:()=>t})}writeUint8Array(){}}let Or,Mr;class Nr extends Ur{constructor(e){super(),n.assign(this,{De:e,size:e.size}),Mr||(Mr=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Or=1==t}catch{Or=!1}})())}createReadable(e){const{De:t,size:n}=this,{offset:r=0,size:s=n-r}=e||{};return!r&&s>=n?nn(t.stream()):Or?nn(t.slice(r,r+s).stream()):super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,s=!e&&r>=n.size?n.De:n.De.slice(e,r);let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new f(a)}}class Lr extends Ir{constructor(e){super();const t=this,r=new E;n.defineProperty(t,Tr,{get:()=>r.writable}),t.contentType=e,t.ke=rn(r.readable,e),t.ke.catch(()=>{})}getData(){return this.ke}}class Wr extends Ur{constructor(e,t){super(),Vr(this,e,t)}async init(){await Zr(this,es,Xr),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:a}=t;if((n||r)&&a!==ie){const{offset:n=0,size:r=a-n}=e||{};if(r>0&&n<a)return((e,t,n)=>{let r,a=t,o=0,c=n;return new R({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new w(xr);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=r;r=ie,await e.cancel()})(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=i.min(e.maximumRangeSize,c),n=await es(kr,e,Yr(e,a,t));if(206!=n.status)throw new w(xr);const l=n.headers.get(Rr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new w(xr)}Kr(e,n),qr(e,n),a+=t,o=t,r=n.body.getReader()}})(t,n,i.min(r,a-n))}return super.createReadable(e)}readUint8Array(e,t){return Br(this,e,t,es,Xr)}}class Pr extends Ur{constructor(e,t){super(),Vr(this,e,t)}async init(){await Zr(this,ts,Jr),super.init()}readUint8Array(e,t){return Br(this,e,t,ts,Jr)}}function Vr(e,t,r){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=vr,fetch:d}=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:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function Zr(e,t,n){const{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=Ze(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n})(r)&&(a||i)&&(typeof s==ce||s)){const r=await t(kr,e,Yr(e,o?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Ar))throw new w(xr);{if(o){const t=new f(await r.arrayBuffer());206==r.status&&t.length==K&&(e.Ae=t)}qr(e,r);const s=Hr(r);s===ie?await $r(e,t,n):e.size=s}}else await $r(e,t,n)}async function Br(e,t,n,r,a){const{useRangeHeader:i,forceRangeRequests:o,Ae:c,size:l,options:d}=e;if(i||o){if(c&&t==l-K&&n==K)return c;if(t>=l||0===n)return ue;{t+n>l&&(n=l-t);const a=await r(kr,e,Yr(e,t,n));if(206!=a.status)throw new w(xr);const i=a.headers.get(Rr);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(xr)}Kr(e,a),qr(e,a);const o=new f(await a.arrayBuffer());if(o.length!=n)throw new w(xr);return o}}{const{data:r}=e;return r||await a(e,d),e.data.subarray(t,t+n)}}function Hr(e){const t=e.headers.get(Rr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function jr({headers:e}){return{ve:e.get("Etag")||ie,lastModified:e.get("Last-Modified")||ie}}function qr(e,t){const{checkResourceChanges:n,Te:r}=e;n&&!r&&206==t.status&&(e.Te=jr(t))}function Kr(e,t){const{checkResourceChanges:r,Te:s,size:a}=e;if(r){const e=Hr(t);if(e!==ie&&a!==ie&&e!=a)throw new w(zr);if(s){const e=jr(t);if(n.entries(s).some(([t,n])=>n!==ie&&e[t]!==ie&&n!=e[t]))throw new w(zr)}}}function Yr(e,t=0,r=1){return n.assign({},Gr(e),{[Dr]:Ar+"="+(t<0?t:t+"-"+(t+r-1))})}function Gr({options:e}){const{headers:t}=e;if(t)return C.iterator in t?n.fromEntries(t):t}async function Xr(e){await Qr(e,es)}async function Jr(e){await Qr(e,ts)}async function Qr(e,t){const n=await t(kr,e,Gr(e));e.data=new f(await n.arrayBuffer()),e.size=e.data.length}async function $r(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,Gr(e)),a=r.headers.get("Content-Length");a&&!r.headers.get("Content-Encoding")?e.size=s(a):await n(e,e.options)}}async function es(e,{fetch:t=fetch,options:r,url:s},a){const i=await t(s,n.assign({},r,{method:e,headers:a}));if(i.status<400)return i;throw 416==i.status?new w(xr):new w(br+(i.statusText||i.status))}function ts(e,{url:t},r){return new S((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new w(xr):new w(br+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new w("Network error")),!1),i.open(e,t),r)for(const e of n.entries(r))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class ns extends Ur{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Pr(e,t):new Wr(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 rs extends Ur{constructor(e){super(),this.Ce=e}async init(){const e=this;e.Ie=0;const t=e.Ce=await S.all(e.Ce.map(ls));e.Ue=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}_e(e){const{Ue:t,size:n}=this,r=t[e];return r===ie?n:r}async readUint8Array(e,t){const n=this,{Ce:r}=this;let s,a=0,o=e;for(;r[a]&&o>=r[a].size;)o-=r[a].size,a++;const c=r[a];if(c){const r=c.size;if(o+t<=r)s=await ds(c,o,t);else{const a=r-o;s=Ye(await ds(c,o,a),await n.readUint8Array(e+a,t-a))}}else s=ue;return n.Ie=i.max(a,n.Ie),s}}class ss extends Ir{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Cr)return void(i&&await l());const{availableSize:n}=r;if(i)t.length>=n?(await c(t.subarray(0,n)),await l(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:o}=await e.next();if(o&&!n)throw new w(Fr);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await cs(s),a=n.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await d())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,r.availableSize-=t)}async function l(){await d(),r.diskOffset+=s.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function d(){await i.close()}n.defineProperty(r,Tr,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Cr)}finally{e.releaseLock()}}}class as{constructor(e){return t.isArray(e)&&(e=new rs(e)),(e instanceof R||typeof e.getReader==le)&&(e={readable:nn(e)}),e}}class is{constructor(e){return e.writable===ie&&typeof e.next==le&&(e=new ss(e)),(e instanceof D||typeof e.getWriter==le)&&(e={writable:sn(e)}),e.size===ie&&(e.size=0),e}}function os(e){return!(!e||!e.getData)}async function cs(e,t){if(!e.init||e.initialized)return S.resolve();await e.init(t)}async function ls(e){return e=new as(e),await cs(e),e.size!==ie&&e.readUint8Array||(e=new Nr(await rn(e.readable)),await cs(e)),e}function ds(e,t,n){return e.readUint8Array(t,n)}function us(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Ur.prototype.createReadable.call(e,t):e.readable}const ws="filename",fs="rawFilename",ps="comment",hs="rawComment",ms="uncompressedSize",ys="compressedSize",Ss="offset",gs="diskNumberStart",bs="lastModDate",xs="rawLastModDate",zs="lastAccessDate",Fs="rawLastAccessDate",Es="creationDate",Rs="rawCreationDate",Ds="internalFileAttributes",ks="externalFileAttributes",As="internalFileAttribute",vs="externalFileAttribute",Ts="msdosAttributesRaw",Cs="msdosAttributes",Is="msDosCompatible",Us="zip64",_s="encrypted",Os="version",Ms="versionMadeBy",Ns="zipCrypto",Ls="directory",Ws="executable",Ps="compressionMethod",Vs="signature",Zs="extraField",Bs="unixMode",Hs="setuid",js="setgid",qs="sticky",Ks=[ws,fs,ms,ys,bs,xs,ps,hs,zs,Fs,Es,Rs,Ss,gs,Ds,ks,As,vs,Ts,Cs,Is,Us,_s,Os,Ms,Ns,Ls,Ws,"symlink",Ps,Vs,"crc32",Zs,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Bs,"unixExternalUpper",Hs,js,qs,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Ys{constructor(e){Ks.forEach(t=>this[t]=e[t])}}const Gs="File format is not recognized",Xs="End of central directory not found",Js="End of Zip64 central directory locator not found",Qs="Central directory header not found",$s="Local file header not found",ea="Zip64 extra field not found",ta="File contains encrypted entry",na="Encryption method not supported",ra="Compression method not supported",sa="Split zip file",aa="Overlapping entry found",ia="Entry data out of bounds",oa="Ambiguous archive",ca="Encrypted central directory is not supported",la="Unsafe filename",da="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ua="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",wa="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",fa=/^[a-zA-Z]:/,pa="utf-8",ha="cp437",ma=[[ms,M],[ys,M],[Ss,M],[gs,N]],ya={[N]:{Oe:Ka,bytes:4},[M]:{Oe:Ya,bytes:8}};class Sa{constructor(e,t={}){n.assign(this,{reader:new as(e),options:t,Me:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await cs(r),r.size!==ie&&r.readUint8Array||(r=new Nr(await rn(r.readable)),await cs(r)),r.size<K)throw new w(Gs);const a=Ua(e,t.options),o=a==Ee,c=a!=De,d=((e,t)=>{if(e!==ie){const t=Ue(e);if("number"!=typeof t||s.isNaN(t)||t<0)throw new w(wa);return t}return t==Ee?0:t==De?1/0:N})(Va(t,e,"maxAppendedDataSize"),a),u=((e,t)=>{if(e===ie)return t;if(!Ia(e))throw new w(ua);return e})(Va(t,e,"filenameValidation"),a),f=Va(t,e,"normalizeFilename"),{Ne:p,Le:h}=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,65557),a={count:64};let o,c,l=0;for await(const[n,i,d,u,w]of Ma(e,s)){const s=qa(n,u+20);if(w+K+s==r){const s=await La(e,n,i,u,w,r,a);if(2==s){if(o||(o=Na(d,u,w)),l++,!t||l>1)break}else 1!=s||c||(c=Na(d,u,w))}}return o||(o=c),o||(o=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,t==1/0?r:65557+t);let a,o;for await(const[t,i,c,l,d]of Ma(e,s)){const s=Na(c,l,d);a||(a=s);const u=await La(e,t,i,l,d,r,n);if(2==u)return s;1!=u||o||(o=s)}return o||a})(e,n,a)),{Ne:o,Le:l}})(r,c,d);if(!p)throw await(async e=>await Ca(e)==P)(r)?new w(sa):new w(Xs);c&&h>1&&Pa("multiple end of central directory records");const m=Xe(p);let y=Ka(m,12),S=Ka(m,16);const g=p.offset,b=qa(m,20),x=g+K+b;r.size-x>d&&Pa("appended data");let z=qa(m,4);const F=r.Ie||0;let R,D,k,A,v=qa(m,6),T=qa(m,10),C=0,I=G;const U=S==M||y==M||T==N||v==N;if(S!=M&&v!=N&&(S+=Ta(r,v)),U){const e=p.offset>=Y?await ds(r,p.offset-Y,Y):ue,t=Xe(e);if(e.length==Y&&Ka(t,0)==q){S=Ta(r,Ka(t,4))+Ya(t,8);let e=await ds(r,S,G),a=Xe(e);const c=p.offset-Y-G;if((e.length<G||Ka(a,0)!=j)&&S!=c&&c>=0){const t=S;S=c,S>t&&(C=S-t),e=await ds(r,S,G),a=Xe(e)}if(e.length<G||Ka(a,0)!=j)throw new w(Js);if(D=!0,k=Ya(a,4)>44,k){const e=i.min(s(Ya(a,4))-44,r.size-S-G);e>0&&(I+=e,A=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const r=Xe(e),a=qa(r,26);n.assign(t,{compressionMethod:qa(r,0),compressedSize:s(Ya(r,2)),uncompressedSize:s(Ya(r,10)),encryptionAlgorithm:qa(r,18),bitLength:qa(r,20),flags:qa(r,22),hashAlgorithm:qa(r,24),hashData:e.subarray(28,28+a)})}return t})(await ds(r,S+G,e)))}z==N?z=Ka(a,16):o&&z!=Ka(a,16)&&Pa("mismatched zip64 end of central directory record"),v==N?v=Ka(a,20):o&&v!=Ka(a,20)&&Pa("mismatched zip64 end of central directory record"),T==N?T=Ya(a,32):o&&T!=Ya(a,32)&&Pa("mismatched zip64 end of central directory record"),y==M?y=Ya(a,40):o&&y!=Ya(a,40)&&Pa("mismatched zip64 end of central directory record"),S=Ta(r,v)+Ya(a,48)+C}}let _=y;const O=p.offset-(D?I+Y:0);if(S>=r.size&&(C=r.size-S-y-K,S=r.size-y-K),F!=z)throw new w(sa);if(S<0)throw new w(Gs);let W=0,V=await ds(r,S,y),Z=Xe(V);if(y){if(V.length<4)throw new w(Gs);const e=O-y;if(S!=e&&v==z){let t=!(Ka(Z,W)==B||A&&A.compressedSize||xa(Z));if(!t&&e>=0&&e+4<=r.size&&(t=Ka(Xe(await ds(r,e,4)),0)==B),t){const t=S;S=e,S>t&&(C+=S-t),V=await ds(r,S,y),Z=Xe(V)}}}const H=O-S;if(y!=H&&H>=0&&v==z&&(y=H,V=await ds(r,S,y),Z=Xe(V)),S<0||S>=r.size)throw new w(Gs);t.directoryOffset=S,t.directoryLength=_;const X=Za(t,e,"decryptCentralDirectory");let J,re;if(X&&T&&V.length>=4&&Ka(Z,0)!=B&&(k||xa(Z))){const e=((e,t,n)=>{const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n})(A,_,V.length);re=V.subarray(e),V=await X(V.subarray(0,e),A),Z=Xe(V),_=V.length,J=!0}R=S;const se=Va(t,e,"filenameEncoding"),ae=Va(t,e,"commentEncoding"),oe=o?new l:ie;let ce;for(let s=0;s<T;s++){const a=new ba(r,t.options);if(W+46>V.length||Ka(Z,W)!=B){if(0==s&&!J&&(k||xa(Z)))throw new w(ca);throw new w(Qs)}Fa(a,Z,W+6);const c=!!a.bitFlag.languageEncodingFlag,l=W+46,d=l+a.filenameLength,p=d+a.extraFieldLength,h=qa(Z,W+4),m=!(h>>8),y=h>>8==3,S=V.subarray(l,d),g=qa(Z,W+32),b=p+g,x=V.subarray(p,b),z=c,F=c,D=Ka(Z,W+38),A=D&L,v={readOnly:!!(1&A),hidden:!!(2&A),system:!!(4&A),directory:!!(16&A),archive:!!(32&A)},I=Ka(Z,W+42),U=Za(t,e,"decodeText")||Sr,_=z?pa:se||ha,O=F?pa:ae||ha;let M=U(S,_,ze);if(M===ie&&(M=Sr(S,_)),f){const e=f(M);e!==ie&&(M=e)}if(Oa(M,u)){const e=new w(la);throw e.filename=M,e}let P=U(x,O,Fe);P===ie&&(P=Sr(x,O)),n.assign(a,{index:s,We:J,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Pe:g,offset:I,diskNumberStart:qa(Z,W+34),internalFileAttributes:qa(Z,W+36),externalFileAttributes:D,msdosAttributesRaw:A,msdosAttributes:v,rawFilename:S,filenameUTF8:z,commentUTF8:F,rawExtraField:V.subarray(d,p),rawComment:x,filename:M,comment:P}),Ea(a,a,Z,W+6),a.offset+=C,R=i.min(Ta(r,a.diskNumberStart)+a.offset,R),o&&(oe.has(a.filename)&&(ce=!0),oe.add(a.filename));const H=a.externalFileAttributes>>16&N;a.unixMode===ie&&16877&H&&(a.unixMode=H);const j=!!(a.unixMode&ee),q=!!(a.unixMode&te),K=!!(512&a.unixMode),Y=40960==((a.unixMode===ie?H:a.unixMode)&Q),G=!Y&&(a.unixMode!==ie?!!(73&a.unixMode):y&&!!(73&H)),X=a.unixMode!==ie&&(a.unixMode&Q)==$,re=(H&Q)==$;n.assign(a,{setuid:j,setgid:q,sticky:K,symlink:Y,unixExternalUpper:H,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:G,directory:X||re||m&&v.directory||a.filename.endsWith(ne)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const le=new Ys(a);le.getData=(e,n)=>a.getData(e,le,t.Me,n),le.arrayBuffer=async e=>{const n=new E,r=rn(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,le,t.Me,e),r},W=b;const{onprogress:de}=e;if(de)try{await de(s+1,T,new Ys(a))}catch{}yield le}let le=W;const de=za(V.subarray(W))||(J?za(re):ie);de&&(t.digitalSignature=de,le=W+6+de.length),o&&W!=_&&le!=_&&Pa("trailing central directory data"),ce&&Pa("duplicate filename");const we=Va(t,e,"extractPrependedData"),fe=Va(t,e,"extractAppendedData"),pe=(o||we)&&T&&4==R&&await(async e=>{const t=await Ca(e);return t==P||808471376==t})(r)?4:0;return o&&(C||T&&R>pe)&&Pa("prepended data"),we&&(t.prependedData=R>pe?await ds(r,pe,R-pe):ue),t.comment=b?await ds(r,g+K,b):ue,fe&&(t.appendedData=x<r.size?await ds(r,x,r.size-x):ue),!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()}}class ga{constructor(e={}){const{readable:t,writable:n}=new E,r=new Sa(t,e).getEntriesGenerator();this.readable=new R({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const s={...n,readable:(()=>{const{readable:e,writable:t}=new E;if(n.getData)return(async()=>{try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=n}}class ba{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const s=this,a=Ze(),{reader:o,index:c,offset:l,diskNumberStart:d,extraFieldAES:u,extraFieldZip64:f,compressionMethod:p,bitFlag:h,rawBitFlag:m,crc32:y,rawLastModDate:S,uncompressedSize:g,compressedSize:b}=s,{dataDescriptor:x}=h,z=t.localDirectory={},F=Ta(o,d)+l,E=await ds(o,F,re),R=Xe(E);let k=Va(s,r,we),A=Va(s,r,fe);const v=Va(s,r,pe);if(Ie(k,A),k=k&&k.length&&k,A=A&&A.length&&A,u&&99!=u.originalCompressionMethod)throw new w(ra);if(E.length<re||Ka(R,0)!=W)throw new w($s);Fa(z,R,4);const{extraFieldLength:T,filenameLength:C}=z,I=Va(s,r,"checkLocalDirectory"),U=Ua(r,s.options),_=((e,t)=>e===ie?t!=De:!!e)(I,U),O=((e,t)=>e===ie?t==Ee:!!e)(I,U);let M=ue;if(O&&(C||T)){const e=await ds(o,F+re,C+T);M=e.subarray(0,C),z.rawExtraField=e.subarray(C)}else z.rawExtraField=T?await ds(o,F+re+C,T):ue;O&&(z.rawFilename=M),Ea(s,z,R,4,!0),_&&((e,t,n,r)=>{const{rawFilename:s}=e,a=e.We&&!(8192&~t.rawBitFlag);!r||a||n.length==s.length&&!n.some((e,t)=>e!=s[t])||Pa("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Pa("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Pa("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Pa("mismatched local file header (crc32 or sizes)")})(s,z,M,O);const{lastAccessDate:N,creationDate:P,uid:Z,gid:B}=z;N&&(t.lastAccessDate=N),P&&(t.creationDate=P),Z!==ie&&t.uid===ie&&(t.uid=Z),B!==ie&&t.gid===ie&&(t.gid=B);const H=s.encrypted&&z.encrypted&&!v,j=H&&!u;if(v||(t.zipCrypto=j),H&&!(64&~z.rawBitFlag))throw new w(na);const q=v?ie:wn(p);if(0!=p&&8!=p&&9!=p&&!q&&!v)throw new w(ra);if(H){if(!j&&(u.strength<1||u.strength>3))throw new w(na);if(!k&&!A)throw new w(ta)}const K=F+re+C+T;if(K+b>o.size)throw new w(ia);const Y=b,G=nn(o.createReadable({offset:K,size:Y})),X=Ce(Va(s,r,he)),J=Va(s,r,"checkPasswordOnly");let Q=Va(s,r,"checkOverlappingEntry");const $=Va(s,r,"checkOverlappingEntryOnly");$&&(Q=!0);const{onstart:ee,onprogress:te,onend:ne}=r,se=0!=p&&!v,ae=v?b:g,oe=9==p;let ce=Va(s,r,ye);oe&&(ce=!1);const le=Va(s,r,"checkCrc32"),de=(le===ie?Va(s,r,"checkSignature"):le)&&!v&&(!H||j||u&&1==u.vendorVersion),be={options:{codecType:_n,password:k,rawPassword:A,zipCrypto:j,encryptionStrength:u&&u.strength,checkCrc32:de,checkAuthenticationCode:Va(s,r,"checkAuthenticationCode"),passwordVerification:j&&(x?S>>>8&L:y>>>24&L),outputSize:ae,crc32:y,compressed:se,encrypted:H,useWebWorkers:Va(s,r,me),useCompressionStream:ce,transferStreams:Va(s,r,Se),deflate64:oe,format:q?q.format:ie,codecURI:q?q.codecURI:ie,compressionMethod:p,rawBitFlag:m,checkPasswordOnly:J},config:a,oe:{signal:X,size:Y,onstart:ee,onprogress:te,onend:ne}};let xe,ze;Q&&await(async({reader:e,Ve:t,index:n,offset:r,crc32:s,compressedSize:a,uncompressedSize:i,Ze:o,dataDescriptor:c,extraFieldZip64:l,Me:d})=>{let u=0;if(c&&(u=l?20:12),u){const n=await ds(e,o+a,u+4),r=Xe(n);let c=n.length==u+4&&Ka(r,0)==V;if(c){const e=va(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==s)&&e.compressedSize==a&&e.uncompressedSize==i?u+=4:c=!1}if(n.length>=u){const e=va(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const f={start:r,end:o+a+u,Ve:t};for(const[e,t]of d)if(e!=n&&f.start<t.end&&t.start<f.end){const e=new w(aa);throw e.overlappingEntry=t.Ve,e}d.set(n,f)})({reader:o,Ve:t,index:c,offset:F,crc32:y,compressedSize:b,uncompressedSize:g,Ze:K,dataDescriptor:x||z.bitFlag.dataDescriptor,extraFieldZip64:f||z.extraFieldZip64,Me:n});try{if(!$){J&&(e=new D),e=new is(e),await cs(e,((e,t,n)=>i.min(e,n?1032*t:t))(ae,b,se)),({writable:xe}=e);const{outputSize:t}=await ur({readable:G,writable:xe},be);if(e.size+=t,t!=ae)throw new w(hn)}}catch(t){if(t.outputSize!==ie&&(e.size+=t.outputSize),!J||t.message!=yt)throw ze=t,t}finally{if((os(e)||!Va(s,r,ge))&&xe&&!xe.locked){const e=xe.getWriter();if(ze)try{await e.abort(ze)}catch{}else await e.close()}}return J||$?ie:e.getData?e.getData():xe}}function xa(e){const t=i.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==Ka(e,n))return!0;return!1}function za(e){if(e.length>=6){const t=Xe(e);if(Ka(t,0)==Z){const n=qa(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function Fa(e,t,r){const s=e.rawBitFlag=qa(t,r+2),a=!(1&~s),i=Ka(t,r+6);n.assign(e,{encrypted:a,version:qa(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&J)==J},rawLastModDate:i,lastModDate:Ba(i),filenameLength:qa(t,r+22),extraFieldLength:qa(t,r+24)})}function Ea(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,d=Xe(i);let u=0;try{for(;u<i.length;){const e=qa(d,u),t=qa(d,u+2);l.set(e,{type:e,data:i.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=qa(r,s+4);n.assign(t,{signature:Ka(r,s+10),crc32:Ka(r,s+10),compressedSize:Ka(r,s+14),uncompressedSize:Ka(r,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const n=Xe(e.data),r=ma.filter(([e,n])=>t[e]==n),s=r.reduce((e,[,t])=>e+ya[t].bytes,0);if(e.data.length<s)throw new w(ea);for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s],c=ya[o];t[i]=e[i]=c.Oe(n,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(Ra(h,ws,fs,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(Ra(m,ps,hs,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,r)=>{const s=Xe(e.data),a=ja(s,4);n.assign(e,{vendorVersion:ja(s,0),vendorId:ja(s,2),strength:a,originalCompressionMethod:r,compressionMethod:qa(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ie)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const S=l.get(13);S&&(Da(S,t),t.extraFieldPkwareUnix=S);const g=l.get(22613);g&&(Da(g,t),t.extraFieldUnixType1=g);const b=l.get(10);b&&(((e,t)=>{const r=Xe(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=qa(r,a),n=qa(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch{}if(s&&24==s.length){const r=Xe(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:Ha(a),lastAccessDate:Ha(i),creationDate:Ha(o)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:i,rawCreationDate:o})}})(b,t),t.extraFieldNTFS=b);const x=l.get(30805);let z;if(x&&(z=ka(x,t,!1),t.extraFieldUnix=x),!z){const e=l.get(30837);e&&(ka(e,t,!0),t.extraFieldInfoZip=e)}const F=l.get(X);F&&(((e,t,n)=>{if(!e.data.length)return;const r=Xe(e.data),s=ja(r,0),a=[],i=[];n?(1&~s||(a.push(bs),i.push(xs)),2&~s||(a.push(zs),i.push(Fs)),4&~s||(a.push(Es),i.push(Rs))):e.data.length>=5&&(a.push(bs),i.push(xs));let c=1;a.forEach((n,s)=>{if(e.data.length>=c+4){const a=Ka(r,c);t[n]=e[n]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(F,t,a),t.extraFieldExtendedTimestamp=F);const E=l.get(6534);E&&(t.extraFieldUSDZ=E)}function Ra(e,t,r,s,a){if(e.data.length<5)return void(e.valid=!1);const i=Xe(e.data),o=new it;o.append(a[r]);const c=Xe(new f(4));c.setUint32(0,o.get(),!0);const l=Ka(i,1);n.assign(e,{version:ja(i,0),[t]:Sr(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==Ka(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Da(e,t){if(e.data.length<8)return;const r=Xe(e.data),s={lastAccessDate:new o(1e3*(0|Ka(r,0))),lastModDate:new o(1e3*(0|Ka(r,4)))};e.data.length>=12&&(s.uid=qa(r,8),s.gid=qa(r,10)),n.assign(e,s),n.assign(t,s)}function ka(e,t,r){try{const s=Xe(e.data);let a,i;if(r){let t=0;const r=ja(s,t++),o=ja(s,t++);a=Aa(e.data.subarray(t,t+o)),t+=o;const c=ja(s,t++);i=Aa(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:a,gid:i})}else e.data.length>=4&&(a=qa(s,0),i=qa(s,2),n.assign(e,{uid:a,gid:i}));return a!==ie&&(t.uid=a),i!==ie&&(t.gid=i),a!==ie||i!==ie}catch{}}function Aa(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function va(e,t,n){const r=Ka(e,t);let s,a;return n?(s=Ya(e,t+4),a=Ya(e,t+12)):(s=Ka(e,t+4),a=Ka(e,t+8)),{crc32:r,compressedSize:s,uncompressedSize:a}}function Ta(e,t){return e._e?e._e(t):0}async function Ca(e){return Ka(Xe(await ds(e,0,4)))}function Ia(e){return e===Ee||e===Re||e===De}function Ua(e,t){return _a(e,_a(t,Re))}function _a(e,t){const n=e.strictness;if(n!==ie){if(!Ia(n))throw new w(da);return n}const r=e.checkAmbiguity;return r===ie?t:r?Ee:t==De?De:Re}function Oa(e,t){if(t==De)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||fa.test(e))||t==Ee&&(n.includes(".")||n.includes(""))}async function*Ma(e,t){const n=e.size-t,r=await ds(e,n,t),s=Xe(r);for(let e=r.length-K;e>=0;e--)Ka(s,e)==H&&(yield[s,n,r,e,n+e])}function Na(e,t,n){return{offset:n,buffer:e.slice(t,t+K).buffer}}async function La(e,t,n,r,s,a,i){const o=qa(t,r+10),c=Ka(t,r+12),l=Ka(t,r+16);if(o==N||c==M||l==M)return await Wa(e,t,n,s-Y,a,i)==q?2:0;if(!o&&!c)return 1;const d=qa(t,r+6);for(const r of[s-c,Ta(e,d)+l])if(await Wa(e,t,n,r,a,i)==B)return 2;return 0}async function Wa(e,t,n,r,s,a){return r<0||r+4>s?ie:r>=n?Ka(t,r-n):a.count>0?(a.count--,Ka(Xe(await ds(e,r,4)),0)):ie}function Pa(e){const t=new w(oa);throw t.reason=e,t}function Va(e,t,n){return t[n]===ie?e.options[n]:t[n]}function Za(e,t,n){return Te(Va(e,t,n))}function Ba(e){const t=(4294901760&e)>>16,n=e&N;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function Ha(e){return new o(s(e/a(1e4)-a(116444736e5)))}function ja(e,t){return e.getUint8(t)}function qa(e,t){return e.getUint16(t,!0)}function Ka(e,t){return e.getUint32(t,!0)}function Ya(e,t){return s(e.getBigUint64(t,!0))}var Ga=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:oa,ERR_BAD_FORMAT:Gs,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Qs,ERR_ENCRYPTED:ta,ERR_ENCRYPTED_CENTRAL_DIRECTORY:ca,ERR_ENTRY_DATA_OUT_OF_BOUNDS:ia,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Js,ERR_EOCDR_NOT_FOUND:Xs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:ea,ERR_INVALID_AUTHENTICATION_CODE:mt,ERR_INVALID_COMPRESSED_DATA:mn,ERR_INVALID_CRC32:yn,ERR_INVALID_FILENAME_VALIDATION:ua,ERR_INVALID_MAX_APPENDED_DATA_SIZE:wa,ERR_INVALID_PASSWORD:pt,ERR_INVALID_SIGNATURE:ht,ERR_INVALID_STRICTNESS:da,ERR_INVALID_UNCOMPRESSED_SIZE:hn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:$s,ERR_OVERLAPPING_ENTRY:aa,ERR_SPLIT_ZIP_FILE:sa,ERR_UNSAFE_FILENAME:la,ERR_UNSUPPORTED_COMPRESSION:ra,ERR_UNSUPPORTED_ENCRYPTION:na,ERR_WORKER_STARTUP_TIMEOUT:Nn,ZipReader:Sa,ZipReaderStream:ga});const Xa="File already exists",Ja="Zip file comment exceeds 64KB",Qa="Invalid zip file comment (must be a Uint8Array)",$a="File entry comment exceeds 64KB",ei="Invalid file entry comment (must be a string)",ti="Invalid date (must be a valid Date instance)",ni="File entry name exceeds 64KB",ri="Version exceeds 65535",si="The strength must equal 1, 2, or 3",ai="Encryption is not supported in USDZ files",ii="Encryption is not supported when the 'passThrough' option is set",oi="Invalid extra field (must be a Map)",ci="Invalid extra field type (must be integer 0..65535)",li="Invalid extra field data (must be a Uint8Array)",di="Extra field data exceeds 64KB",ui=-2147483648,wi=2147483647,fi=a(0),pi=a("0x7fffffffffffffff"),hi="Zip64 is not supported (set the 'zip64' option to 'true')",mi="Undefined uncompressed size",yi="Undefined compression method",Si="Undefined reader",gi="Zip file not empty",bi="Invalid uid (must be integer 0..2^32-1)",xi="Invalid gid (must be integer 0..2^32-1)",zi="Invalid UNIX mode (must be integer 0..65535)",Fi="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ei="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Ri="Invalid msdosAttributesRaw (must be integer 0..255)",Di="Invalid msdosAttributes (must be an object with boolean flags)",ki="Invalid level (must be integer 0..9)",Ai="Signature data exceeds 64KB",vi=new f([7,0,2,0,65,69,3,0,0]),Ti="infozip",Ci="unix";let Ii=0;const Ui=[];class _i{constructor(e,t={}){e=new is(e);const{availableSize:r=oe,maxSize:s=oe}=e,a=r>0&&r!==oe&&s>0&&s!==oe;n.assign(this,{writer:e,Be:a,options:t,He:new c,je:new l,offset:t[be]===ie?e.size||e.writable.size||0:t[be],qe:t[be]===ie?0:t[be]-(e.size||e.writable.size||0),Ke:new l,Ye:0,Ge:ie})}async prependZip(e){if(this.je.size)throw new w(gi);e=new as(e),await cs(e),e.size!==ie&&e.readUint8Array||(e=new Nr(await rn(e.readable)),await cs(e));const{ZipReader:r}=await S.resolve().then(()=>Ga),s=new r(e),a=await s.getEntries();await s.close(),await cs(this.writer);const{directoryOffset:i}=s;let o=0;this.Be&&(delete this.Be,await(async e=>Xe(await ds(e,0,4)).getUint32(0,!0)==P)(e)||(await Yi(this.writer,Ki()),o=4,this.offset+=o));const d=await(async(e,n,r,s,a)=>{const{writer:i}=e,o=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>qi(n,e)-qi(n,t));let c=0;for(const t of a){const r=qi(n,t);await Hi(e,n,c,r-c),Zi(i,await ji(n,r))&&await i.closeDisk(),o.set(t,{offset:Bi(e,i),diskNumberStart:Pi(i)}),c=r}await Hi(e,n,c,s-c)}else await Hi(e,n,0,s),r.forEach(e=>o.set(e,{offset:a+qi(n,e),diskNumberStart:0}));return o})(this,e,a,i,o);this.je=new l(a.map(e=>e.filename)),this.He=new c(a.map(e=>{const{version:t,rawLastModDate:r,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:u,zip64:w}=e;let{compressionMethod:f,Xe:p,Je:h,Qe:m,$e:y,et:S,rawExtraField:g}=e;const{level:b,languageEncodingFlag:x,dataDescriptor:z}=o;p=p||ue,h=h||ue,m=m||ue,y=y||ue,S=S||ue,g=g||ue,e.extraFieldAES&&(f=99);const F=fo(p,h,m,y,S,g),E=w&&l>=M,R=w&&u>=M,D=-7&ho(b,x,z,c,f)|b<<1,{nt:k,st:A}=po({version:t,bitFlag:D,compressionMethod:f,uncompressedSize:l,compressedSize:u,rawLastModDate:r,rawFilename:i,it:R,ot:E,extraFieldLength:F}),{crc32:v}=e;v!==ie&&lo(A,10,v);const{offset:T,diskNumberStart:C}=d.get(e);return n.assign(e,{ot:E,it:R,offset:T,diskNumberStart:C,ct:!1,Xe:p,Je:h,Qe:m,$e:y,et:S,rawExtraField:g,extendedTimestamp:m.length>0||y.length>0,lt:1+(s?2:0)+(a?4:0),nt:k,st:A}),[e.filename,e]}))}async add(e="",r,c={}){const l=this;c=n.assign({},c);const{Ke:d}=l;let u,p;Ii<Ze().maxWorkers?Ii++:await new S(e=>Ui.push(e));try{if(e=e.trim(),$i(l,c,Ls)&&!e.endsWith(ne)&&(e+=ne),l.je.has(e))throw new w(Xa);return l.je.add(e),p=!0,u=(async(e,r,c,l)=>{const d=((e,n,r)=>{n=n.trim();let a=$i(e,r,Is),i=$i(e,r,Ms,a?20:768);const o=$i(e,r,Ws),c=so(e,r,"uid"),l=so(e,r,"gid");let d=so(e,r,Bs),u=$i(e,r,"unixExtraFieldType"),f=$i(e,r,Hs),p=$i(e,r,js),h=$i(e,r,qs);if(c!==ie&&(!s.isInteger(c)||c<0||c>M))throw new w(bi);if(l!==ie&&(!s.isInteger(l)||l<0||l>M))throw new w(xi);if(d!==ie&&(!s.isInteger(d)||d<0||d>N))throw new w(zi);if(u!==ie&&u!==Ti&&u!==Ci)throw new w(Fi);if(u===Ci&&(c!==ie&&c>N||l!==ie&&l>N))throw new w(Ei);u!==ie||c===ie&&l===ie||(u=Ti);let m=so(e,r,Ts),y=$i(e,r,Cs);const S=m!==ie||y!==ie;if(c!==ie||l!==ie||d!==ie||u||o?(a=!1,i=i&L|768):S&&(a=!0,i&=L),m!==ie&&(!s.isInteger(m)||m<0||m>L))throw new w(Ri);if(y&&("object"!=typeof y||t.isArray(y)))throw new w(Di);if(i>N)throw new w(ri);let g=no(e,r,ks,vs);const b=g!==ie;b||(g=0),!r[Ls]&&n.endsWith(ne)&&(r[Ls]=!0);const x=$i(e,r,Ls);if(x?(n.endsWith(ne)||(n+=ne),b||(g=16,a||(g|=16877<<16))):a||b||(g=o?493<<16:27525120),!a){const e=d!==ie||!!(f||p||h);d=d===ie?g>>16&N:d&N,f?d|=ee:f=!!(d&ee),p?d|=te:p=!!(d&te),h?d|=512:h=!!(512&d),b&&!e||(x?d=-61441&d|$:d&Q||(d|=32768),g=(d&N)<<16|g&N)}return({msdosAttributesRaw:m,msdosAttributes:y}=((e,t)=>{if(e!==ie)e&=L;else if(t!==ie){const{readOnly:n,hidden:r,system:s,directory:a,archive:i}=t;let o=0;n&&(o|=1),r&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&L}return t===ie&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(m,y)),S&&(g=g&M|m&L),{name:n,ut:{versionMadeBy:i,msDosCompatible:!!a,externalFileAttributes:g,unixExternalUpper:g>>16&N,uid:c,gid:l,unixMode:d,unixExtraFieldType:u,symlink:d!==ie&&40960==(d&Q),setuid:f,setgid:p,sticky:h,msdosAttributesRaw:m,msdosAttributes:y}}})(e,r,l);({name:r}=d);const u=((e,t,n)=>{const r=to(e,n,"encodeText")||ct;let a=r(t,ze);if(a===ie&&(a=ct(t)),fo(a)>N)throw new w(ni);const i=n[ps]||"";if(typeof i!=de)throw new w(ei);let c=r(i,Fe);if(c===ie&&(c=ct(i)),fo(c)>N)throw new w($a);const l=$i(e,n,Os,20);if(l>N)throw new w(ri);const d=eo(e,n,bs,new o),u=eo(e,n,zs),f=eo(e,n,Es),p=no(e,n,Ds,As,0),h=$i(e,n,pe),m=$i(e,n,we),y=$i(e,n,fe);Ie(m,y);const S=so(e,n,"encryptionStrength",3),g=$i(e,n,Ns),b=$i(e,n,"extendedTimestamp",!0),x=$i(e,n,"ntfsTimestamp"),z=$i(e,n,"keepOrder",!0),F=$i(e,n,me),E=$i(e,n,Se),R=$i(e,n,"bufferedWrite"),D=to(e,n,"createTempStream"),k=$i(e,n,"dataDescriptorSignature",!0),A=Ce($i(e,n,he)),v=$i(e,n,"useUnicodeFileNames",!0),T=$i(e,n,Ps),C=h||T===ie?ie:wn(T);if(!h&&T!==ie&&0!==T&&8!==T&&!C)throw new w("Compression method not supported");let I=so(e,n,"level");if(I!==ie&&(!s.isInteger(I)||I<0||I>9))throw new w(ki);if(e.options[xe]){if(m!==ie||y!==ie)throw new w(ai);I===ie&&T===ie&&(I=0)}h&&(I=ie);let U=$i(e,n,ye),_=$i(e,n,"dataDescriptor");R&&_===ie&&(_=!1),(_===ie||g)&&(_=!0),I!==ie&&6!=I&&(U=!1);const O=$i(e,n,Us);if(!(g||m===ie&&y===ie||s.isInteger(S)&&S>=1&&S<=3))throw new w(si);const M=Mi(n[Zs]),L=Mi(n.localExtraField);return{comment:i,ut:{rawFilename:a,rawComment:c,version:l,lastModDate:d,lastAccessDate:u,creationDate:f,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:S,zipCrypto:g,extendedTimestamp:b,ntfsTimestamp:x,keepOrder:z,useWebWorkers:F,transferStreams:E,bufferedWrite:R,createTempStream:D,dataDescriptorSignature:k,signal:A,useUnicodeFileNames:v,compressionMethod:T,format:C?C.format:ie,codecURI:C?C.codecURI:ie,wt:C?C.versionNeeded:ie,level:I,useCompressionStream:U,dataDescriptor:_,zip64:O,rawExtraField:M,ft:L}}})(e,r,l),{comment:p}=u,h=l[Zs];let m;e.He.set(r,ie);try{const{ut:t}=u;0==t.level||t.compressionMethod!==ie||t.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.he)return!0;if(Dn(t)||Rn(t,gn))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1})(Ze())||(t.level=0);const s=await(async(e,t,{ut:r},s)=>{if(r.passThrough&&!t&&!$i(e,s,Ls))throw new w(Si);let a;return t&&(t=new as(t),await cs(t),({size:a}=t)),n.assign({reader:t},((e,t,n,r,s)=>{const{passThrough:a,zipCrypto:i,password:o,rawPassword:c,encryptionStrength:l}=r;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:p}=r,h=0,m=0;if(a&&t){if(m=s[ms],m===ie)throw new w(mi);if(p===ie)throw new w(yi)}const y=!0===u,S=$i(e,s,_s);if(t&&a&&!S&&fo(o,c))throw new w(ii);const g=t&&(!!(o&&fo(o)||c&&fo(c))||a&&S);t||(f=0,p=0);const b=g?i?12:16+4*l:0;t&&(a?(s.uncompressedSize=m,h=n===ie?ao(m)+b:n):n===ie?(d=!0,(u||u===ie)&&(u=!0,m=h=4294967296)):(s.uncompressedSize=m=n,h=(io(p,f)?ao(m):m)+b));const x=y||m>=M,z=y||h>=M;if(x||z){if(!1===u)throw new w(hi);u=!0}return u=u||!1,{ht:h,ut:{dataDescriptor:d,zip64:u,ot:x,it:z,uncompressedSize:m,level:f,compressionMethod:p,encrypted:g}}})(e,!!t,a,r,s))})(e,c,u,l);({reader:c}=s);const p=Vi(e.writer),h=Pi(e.writer),y=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:p,ft:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:S,passThrough:g,encrypted:b,ot:x,it:z,uncompressedSize:F,crc32:E}=e;let{version:R,compressionMethod:D}=e;const k=!f&&io(D,a);let A;const v=g||!k,T=c&&(e.bufferedWrite||!u||!x&&!z||v),C=T||c&&u&&(x||z);if(c&&(x||z)){const e=20,t=Wi(e);if(t.yt(1),t.yt(e-4),A=t.St,T&&(t.gt(F),v)){const e=b?l?12:16+4*m:0;t.gt(g?0:F+e)}}else A=ue;let I,U,_,O,M;if(b&&!l){const e=Wi(fo(vi)+2);e.yt(39169),e.bt(vi),I=e.St,I[8]=m}else I=ue;if(y){const e=Xi(n),t=Ji(e);if(t){const t=9+(r?4:0)+(s?4:0),n=Wi(t);O=1+(r?2:0)+(s?4:0),n.yt(X),n.yt(t-4),n.xt(O),n.zt(e),r&&n.zt(Qi(Xi(r))),s&&n.zt(Qi(Xi(s))),_=n.St}else _=ue;if(S===ie?!t||r||s:S)try{const e=Gi(n),t=Wi(36);t.yt(10),t.yt(32),t.Ft(4),t.yt(1),t.yt(24),t.gt(e),t.gt(r?Gi(r):e),t.gt(s?Gi(s):e),U=t.St}catch{U=ue}else U=ue}else U=_=ue;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=Ti||t===ie&&n===ie)if(r!=Ci||t===ie&&n===ie)M=ue;else{const e=Wi(8);e.yt(30805),e.yt(4),e.yt((t===ie?0:t)&N),e.yt((n===ie?0:n)&N),M=e.St}else{const e=Li(t),r=Li(n),s=3+e.length+r.length,a=Wi(4+s);a.yt(30837),a.yt(s),a.xt(1),a.xt(e.length),a.bt(e),a.xt(r.length),a.bt(r),M=a.St}}catch{M=ue}D===ie&&(D=k?8:0);const{wt:L}=e;k&&L!==ie&&(R=R>L?R:L),c&&(R=R>45?R:45),b&&!l&&(R=R>51?R:51,g&&E!==ie&&(I[4]=1),I[9]=D,D=99);const P=C?fo(A):0,V=P+fo(I,_,U,M,p,h);if(V>N)throw new w(di);const Z=new o(2e3*i.ceil(i.floor(n.getTime()/1e3)/2)),{nt:B,st:H,rawLastModDate:j}=po({version:R,bitFlag:ho(a,d,u,b,D),compressionMethod:D,uncompressedSize:F,lastModDate:Z<ae?ae:Z>se?se:Z,rawFilename:t,it:z,ot:x,extraFieldLength:V}),q=Wi(re+fo(t)+V),K=q.St,Y=Xe(K);return q.zt(W),q.bt(B),q.bt(t),C&&q.bt(A),q.bt(I),q.bt(_),q.bt(U),q.bt(M),q.bt(p),q.bt(h),u&&(z||lo(Y,18,0),x||lo(Y,22,0)),{Et:K,Rt:Y,nt:B,st:H,lastModDate:n,rawLastModDate:j,encrypted:b,compressed:k,version:R,compressionMethod:D,lt:O,Xe:ue,Dt:P,Qe:_,$e:U,et:M,Je:I,extraFieldLength:V}})(l=n.assign({},l,d.ut,u.ut,s.ut,{signature:l[Vs],crc32:l.crc32===ie?l[Vs]:l.crc32,offset:e.offset-p,diskNumberStart:h})),g=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let r,s=ue,a=0,i=e?20:12;return n&&(i+=4),t&&(s=new f(i),r=Xe(s),n&&(a=4,lo(r,0,V))),{kt:s,At:r,vt:a}})(l),b=fo(y.Et,g.kt);m=await(async(e,t,r,s,i)=>{const{He:o,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:u}=i,{Tt:f}=s,p=e.options[xe],h=e.Ge;let m,y,g,b,x,z,F,R={},k=0;o.set(t,R),e.Ge=R;try{let y;l&&(y=h&&h.Ct,R.Ct=new S(e=>g=e)),i.bufferedWrite||!l||e.It||e.Ye||!d?(m=!0,e.Ye++,F=i.createTempStream?await i.createTempStream():new E(ie,ie,{highWaterMark:oe}),F.size=0,await cs(c)):(F=c,await A()),await cs(F);const T=Vi(c);e.Be&&(delete e.Be,await Yi(c,Ki()),e.offset+=4),p&&!m&&Ni(s,e.offset-T);const{Et:C}=f;m||(await y,await v());const I=Pi(c),U=Bi(e,c);if(R.diskNumberStart=I,m||(x=!0,z=c.size,await Yi(F,C)),R=await(async(e,t,{diskNumberStart:r,Ct:s},i,o,c)=>{const{Tt:l,Ut:d,_t:u}=i,{nt:f,st:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:S,version:g,compressionMethod:b,Xe:x,Dt:z,Qe:F,lt:E,$e:R,et:D,Je:k}=l,{kt:A}=d,{rawFilename:v,lastAccessDate:T,creationDate:C,password:I,rawPassword:U,level:_,zip64:O,ot:N,it:W,zipCrypto:P,dataDescriptor:V,directory:Z,executable:B,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,uid:se,gid:ae,unixMode:oe,symlink:ce,setuid:le,setgid:de,sticky:ue,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:pe,useCompressionStream:he,passThrough:me,format:ye,codecURI:Se}=c,ge={Ct:s,versionMadeBy:H,zip64:O,directory:!!Z,executable:!!B,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:j,Xe:x,Dt:z,Qe:F,$e:R,et:D,Je:k,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,diskNumberStart:r,uid:se,gid:ae,unixMode:oe,symlink:!!ce,setuid:le,setgid:de,sticky:ue,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:pe};let{crc32:be,uncompressedSize:xe}=c,ze=0;me||(xe=0);const{writable:Fe}=t;if(e){const n=nn(us(e)),r=e.size,s={options:{codecType:Un,level:_,rawPassword:U,password:I,encryptionStrength:$,zipCrypto:y&&P,passwordVerification:y&&P&&m>>8&L,computeCrc32:!me,compressed:S&&!me,encrypted:y&&!me,useWebWorkers:K,useCompressionStream:he,transferStreams:Y,format:ye,codecURI:Se,compressionMethod:b},config:o,oe:{signal:Q,size:r,onstart:G,onprogress:X,onend:J}};try{const e=await ur({readable:n,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,me||(xe=e.inputSize,y&&!P||(be=e.crc32)),!W&&ze>=M||!N&&xe>=M)throw new w(hi)}catch(e){throw e.outputSize!==ie&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:n,Tt:r,Ut:s},{zip64:i,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{st:d,encrypted:u}=r,{At:w,vt:f}=s;u&&!o&&!c||e===ie||(lo(d,10,e),l&&lo(w,f,e)),i?l&&(uo(w,f+4,a(t)),uo(w,f+12,a(n))):(lo(d,14,t),lo(d,18,n),l&&(lo(w,f+4,t),lo(w,f+8,n)))})({crc32:be,compressedSize:ze,uncompressedSize:xe,Tt:l,Ut:d},c),V&&await Yi(t,A),n.assign(ge,{uncompressedSize:xe,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:C,lastAccessDate:T,encrypted:!!y,zipCrypto:!!P,size:u+ze,compressionMethod:b,version:g,nt:f,st:p,signature:be,crc32:!y||P||me?be:ie,lt:E,ot:N,it:W}),ge})(r,F,R,s,Ze(),i),m||(x=!1),o.set(t,R),R.filename=t,m){if(await S.all([F.writable.getWriter().close(),y]),await A(),b=!0,z=c.size,await v(),R.diskNumberStart=Pi(c),R.offset=Bi(e,c),p){const t=s._t;Ni(s,e.offset-Vi(c)),R.size+=s._t-t}(({rawFilename:e,encrypted:t,zip64:n,Dt:r,crc32:s,compressedSize:i,uncompressedSize:o,ot:c,it:l},d,{dataDescriptor:u,passThrough:w})=>{if(u||((!t||w&&s!==ie)&&lo(d,14,s),l||lo(d,18,i),c||lo(d,22,o)),n&&r){const t=re+fo(e)+4;uo(d,t,a(o)),uo(d,t+8,a(i))}})(R,f.Rt,i),await Yi(c,f.Et),await(async(e,t,n)=>{const r=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await r.ready,await r.write(e),t=fo(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{r.releaseLock()}})(F.readable,c,u),c.size+=F.size,b=!1}else R.diskNumberStart=I,R.offset=U;return e.offset+=R.size,R}catch(n){if(b||x){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-z,m&&(e.offset+=k)}throw o.delete(t),n}finally{if(m&&e.Ye--,g&&g(),y&&y(),m&&F&&F.dispose)try{await F.dispose()}catch{}}async function A(){e.It=!0;const{Ot:t}=e;e.Ot=new S(t=>y=()=>{e.It=!1,t()}),await t}async function v(){Zi(c,fo(f.Et))&&await c.closeDisk()}})(e,r,c,{Tt:y,Ut:g,_t:b},l)}catch(t){throw e.He.delete(r),t}return n.assign(m,{name:r,comment:p,extraField:h,[As]:m.internalFileAttributes,[vs]:m.externalFileAttributes}),new Ys(m)})(l,e,r,c),d.add(u),await u}catch(t){throw p&&l.je.delete(e),t}finally{d.delete(u);const e=Ui.shift();e?e():Ii--}}remove(e){const{je:t,He:n}=this;if(typeof e==de&&(e=n.get(e)),e&&e.filename!==ie){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=ue,n={}){const{Ke:r,writer:s}=this,{writable:i}=s;if(!(e instanceof f))throw new w(Qa);if(fo(e)>N)throw new w(Ja);for(;r.size;)await S.allSettled(t.from(r));return await(async(e,n,r)=>{const s=(e=>{let t=0;for(const[,n]of e){const{rawFilename:e,Je:r,rawComment:s,$e:a,et:i,rawExtraField:o,extendedTimestamp:c,lt:l,lastModDate:d,ot:u,it:f,uncompressedSize:p,compressedSize:h}=n,m=n.offset>=M,y=n.diskNumberStart>=N;let S,g;if(m||y||u||f){const e=4+(u?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Wi(e);t.yt(1),t.yt(e-4),u&&t.gt(p),f&&t.gt(h),m&&t.gt(n.offset),y&&t.zt(n.diskNumberStart),S=t.St}else S=ue;n.Xe=S,n.Mt=m,n.ct=y;const b=Xi(d);if(c&&Ji(b)){const e=Wi(9);e.yt(X),e.yt(5),e.xt(l),e.zt(b),g=e.St}else g=ue;n.Qe=g;const x=fo(S,r,a,i,g,o);if(x>N)throw new w(di);t+=46+fo(e,s)+x}return t})(e.He),{Nt:i,Lt:o}=await(async(e,n,r)=>{const{He:s,writer:a}=e,i=new f(n);await cs(a);let o=0,c=0,l=Pi(a),d=Vi(a);for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Xe:w,Je:f,Qe:p,$e:h,et:m,rawExtraField:y,rawComment:S,versionMadeBy:g,nt:b,st:x,ot:z,it:F,ct:E,Mt:R,internalFileAttributes:D,externalFileAttributes:k,diskNumberStart:A,uncompressedSize:v,compressedSize:T}=n,C=fo(w,f,p,h,m,y),I=46+fo(u,S)+C;Zi(a,o+I-c)&&(await Yi(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=Pi(a),d=Vi(a)),z||lo(x,18,v),F||lo(x,14,T),(R||E)&&n.version<45&&co(x,0,45);const U=Wi(I);if(U.zt(B),U.yt(g),U.bt(b.subarray(0,24)),U.yt(C),U.yt(fo(S)),U.yt(E?N:A),U.yt(D),U.zt(k),U.zt(R?M:t),U.bt(u),U.bt(w),U.bt(f),U.bt(p),U.bt(h),U.bt(m),U.bt(y),U.bt(S),wo(i,U.St,o),o+=I,r.onprogress)try{await r.onprogress(e+1,s.size,new Ys(n))}catch{}}return await Yi(a,c?i.slice(c):i),{Nt:{diskNumber:l,diskOffset:d},Lt:i}})(e,s,r),c=await(async(e,t,n)=>{const r=to(e,n,"signCentralDirectory");if(r){const n=await r(t),s=fo(n);if(s>N)throw new w(Ai);const a=Wi(6+s);return a.zt(Z),a.yt(s),a.bt(n),await Yi(e.writer,a.St),6+s}return 0})(e,o,r);await(async(e,t,n,r)=>{const{writer:s}=e,{Nt:i,Wt:o}=r;let{Pt:c}=r,l=e.He.size,d=i.diskNumber,u=Bi(e,i),f=Pi(s);Zi(s,K)&&f++;let p=$i(e,n,Us);if(u>=M||c>=M||l>=N||f>=N){if(!1===p)throw new w(hi);p=!0}const h=fo(t);if(h>N)throw new w(Ja);const m=Wi(p?98:K);Zi(s,fo(m.St)+h)&&await s.closeDisk(),f=Pi(s),p&&(m.zt(j),m.gt(44),m.yt(45),m.yt(45),m.zt(f),m.zt(d),m.gt(l),m.gt(l),m.gt(c),m.gt(u),m.zt(q),m.zt(f),m.gt(a(Bi(e,s))+a(c)+a(o)),m.zt(f+1),$i(e,n,"supportZip64SplitFile",!0)&&(f=N,d=N),l=N,u=M,c=M),m.zt(H),m.yt(f),m.yt(d),m.yt(l),m.yt(l),m.zt(c),m.zt(u),m.yt(h),await Yi(s,m.St),h&&await Yi(s,t)})(e,n,r,{Nt:i,Pt:s,Wt:c})})(this,e,n),!os(s)&&$i(this,n,ge)||await i.getWriter().close(),s.getData?s.getData():i}}function Oi(e,t,n){e.Ke.add(t),t.catch(e=>{try{n(e)}catch{}})}function Mi(e){if(!e)return ue;if(!(e instanceof c))throw new w(oi);let t=0,n=0;e.forEach((e,n)=>{if(!s.isInteger(n)||n<0||n>N)throw new w(ci);if(!(e instanceof f))throw new w(li);if(fo(e)>N)throw new w(di);t+=4+fo(e)});const r=new f(t),a=Xe(r);return e.forEach((e,t)=>{co(a,n,t),co(a,n+2,fo(e)),wo(r,e,n+4),n+=4+fo(e)}),r}function Ni(e,t){const{Tt:n}=e;let{Et:r,extraFieldLength:s}=n,a=64-(t+fo(r))%64;a<4&&(a+=64);const i=new f(a),o=Xe(i);co(o,0,6534),co(o,2,a-4);const c=r;n.Et=r=new f(fo(c)+a),wo(r,c),wo(r,i,fo(c));const l=Xe(r);co(l,28,s+a),n.Rt=l,e._t+=a}function Li(e){if(e===ie)return ue;{const t=new f(4);Xe(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}}function Wi(e){const t=new f(e),n=Xe(t);let r=0;return{St:t,xt:e=>{((e,t,n)=>{e.setUint8(t,n)})(n,r,e),r+=1},yt:e=>{co(n,r,e),r+=2},zt:e=>{lo(n,r,e),r+=4},gt:e=>{uo(n,r,a(e)),r+=8},bt:e=>{wo(t,e,r),r+=fo(e)},Ft:e=>r+=e}}function Pi(e){const{diskNumber:t=0}=e;return t}function Vi(e){const{diskOffset:t=0}=e;return t}function Zi(e,t){const{availableSize:n=oe}=e;return t>n}function Bi(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.qe:0)}async function Hi(e,t,n,r){if(r>0){const{writer:s}=e;await us(t,{offset:n,size:r}).pipeTo(s.writable,{preventClose:!0,preventAbort:!0}),s.size+=r,e.offset+=r}}async function ji(e,t){const n=await ds(e,t,re);if(fo(n)<re)return re;const r=Xe(n);return re+oo(r,26)+oo(r,28)}function qi(e,{offset:t,diskNumberStart:n}){return t+(e._e?e._e(n):0)}function Ki(){const e=new f(4);return lo(Xe(e),0,P),e}async function Yi(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=fo(t),await r.write(t)}finally{r.releaseLock()}}function Gi(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return t<fi?fi:t>pi?pi:t}}function Xi(e){return i.floor(e.getTime()/1e3)}function Ji(e){return e>=ui&&e<=wi}function Qi(e){return i.min(wi,i.max(ui,e))}function $i(e,t,n,r){const s=t[n]===ie?e.options[n]:t[n];return s===ie?r:s}function eo(e,t,n,r){const a=$i(e,t,n,r);if(null===a)return r;if(a!==ie&&(typeof a.getTime!=le||s.isNaN(a.getTime())))throw new w(ti);return a}function to(e,t,n){return Te($i(e,t,n))}function no(e,t,n,r,s){const a=ro(t,n,r),i=a===ie?ro(e.options,n,r):a;return i===ie?s:i}function ro(e,t,n){return e[t]===ie?e[n]:e[t]}function so(e,t,n,r){return Ue($i(e,t,n,r))}function ao(e){return e+5*(i.floor(e/16383)+1)}function io(e,t){return e===ie?t===ie||t>0:0!==e}function oo(e,t){return e.getUint16(t,!0)}function co(e,t,n){e.setUint16(t,n,!0)}function lo(e,t,n){e.setUint32(t,n,!0)}function uo(e,t,n){e.setBigUint64(t,n,!0)}function wo(e,t,n){e.set(t,n)}function fo(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function po({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,it:c,ot:l,extraFieldLength:d}){const u=Wi(26),w=u.St,f=Xe(w);if(u.yt(e),u.yt(t),u.yt(n),i===ie){const e=new h(1),t=Xe(e);co(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),co(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return u.zt(i),u.Ft(4),c||s!==ie?u.zt(c?M:s):u.Ft(4),l||r!==ie?u.zt(l?M:r):u.Ft(4),u.yt(fo(o)),u.yt(d),{nt:w,st:f,rawLastModDate:i}}function ho(e,t,n,r,s){let a=0;return t&&(a|=J),n&&(a|=8),8!=s&&9!=s||(e>=0&&e<=3&&(a|=6),e>3&&e<=5&&(a|=4),9==e&&(a|=2)),r&&(a|=1),a}const mo=1048576,yo=".zip.js-temp",So=1048576,go=1048576,bo=".zip.js-temp",xo="createSyncAccessHandle is only available in dedicated workers";try{(e=>{const t=je(Ke(e));n.assign(Me,t),n.assign(Ve,t)})({baseURI:void 0===x&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===x?location.href:O&&"SCRIPT"===O.tagName.toUpperCase()&&O.src||new u("zip-core.min.js",x.baseURI).href})}catch{}e.BlobReader=Nr,e.BlobWriter=Lr,e.Data64URIReader=class extends Ur{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Vt:e,Zt:r,size:i.floor(.75*(t-r))})}readUint8Array(e,t){const{Zt:n,Vt:r}=this,s=new f(t),a=4*i.floor(e/3),o=atob(r.substring(a+n,4*i.ceil((e+t)/3)+n)),c=e-3*i.floor(a/4);let l=0;for(let e=c;e<c+t&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends _r{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",Bt:""})}writeUint8Array(e){const t=this;let n,s=t.Bt;const a=t.Bt.length;for(t.Bt="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.Bt+=r.fromCharCode(e[n]);s.length>2?t.data+=F(s):t.Bt=s+t.Bt}getData(){return this.data+F(this.Bt)}},e.ERR_AMBIGUOUS_ARCHIVE=oa,e.ERR_BAD_FORMAT=Gs,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Qs,e.ERR_DUPLICATED_NAME=Xa,e.ERR_ENCRYPTED=ta,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=ca,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=ia,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Js,e.ERR_EOCDR_NOT_FOUND=Xs,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=ea,e.ERR_HTTP_RANGE=xr,e.ERR_HTTP_RESOURCE_CHANGED=zr,e.ERR_INVALID_AUTHENTICATION_CODE=mt,e.ERR_INVALID_CODEC_DEFINITION=an,e.ERR_INVALID_CODEC_MODULE=cn,e.ERR_INVALID_COMMENT=Ja,e.ERR_INVALID_COMMENT_TYPE=Qa,e.ERR_INVALID_COMPRESSED_DATA=mn,e.ERR_INVALID_CRC32=yn,e.ERR_INVALID_DATE=ti,e.ERR_INVALID_ENCRYPTION_STRENGTH=si,e.ERR_INVALID_ENTRY_COMMENT=$a,e.ERR_INVALID_ENTRY_COMMENT_TYPE=ei,e.ERR_INVALID_ENTRY_NAME=ni,e.ERR_INVALID_EXTRAFIELD=oi,e.ERR_INVALID_EXTRAFIELD_DATA=di,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=li,e.ERR_INVALID_EXTRAFIELD_TYPE=ci,e.ERR_INVALID_FILENAME_VALIDATION=ua,e.ERR_INVALID_FUNCTION_OPTION=ke,e.ERR_INVALID_GID=xi,e.ERR_INVALID_LEVEL=ki,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=wa,e.ERR_INVALID_MAX_WORKERS=_e,e.ERR_INVALID_MSDOS_ATTRIBUTES=Ri,e.ERR_INVALID_MSDOS_DATA=Di,e.ERR_INVALID_PASSWORD=pt,e.ERR_INVALID_PASSWORD_TYPE=ve,e.ERR_INVALID_SIGNAL=Ae,e.ERR_INVALID_SIGNATURE=ht,e.ERR_INVALID_SIGNATURE_DATA=Ai,e.ERR_INVALID_STRICTNESS=da,e.ERR_INVALID_UID=bi,e.ERR_INVALID_UNCOMPRESSED_SIZE=hn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Fi,e.ERR_INVALID_UNIX_ID_SIZE=Ei,e.ERR_INVALID_UNIX_MODE=zi,e.ERR_INVALID_VERSION=ri,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Fr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=$s,e.ERR_OVERLAPPING_ENTRY=aa,e.ERR_RESERVED_COMPRESSION_METHOD=on,e.ERR_SPLIT_ZIP_FILE=sa,e.ERR_UNDEFINED_COMPRESSION_METHOD=yi,e.ERR_UNDEFINED_READER=Si,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=mi,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=la,e.ERR_UNSUPPORTED_COMPRESSION=ra,e.ERR_UNSUPPORTED_CONTEXT=xo,e.ERR_UNSUPPORTED_CRYPTO_API=St,e.ERR_UNSUPPORTED_ENCRYPTION=na,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=ii,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=ai,e.ERR_UNSUPPORTED_FORMAT=hi,e.ERR_WORKER_STARTUP_TIMEOUT=Nn,e.ERR_WRITER_NOT_INITIALIZED=Er,e.ERR_ZIP_NOT_EMPTY=gi,e.HttpRangeReader=class extends ns{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=ns,e.Reader=Ur,e.SplitDataReader=rs,e.SplitDataWriter=ss,e.TextReader=class extends Nr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Lr{constructor(e){super(),n.assign(this,{encoding:e,Ht:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Ht:t}=this,n=await super.getData();return n.text&&t?n.text():((e,t)=>gr(e,t,!1))(new f(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Ur{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{St:e,size:e.length})}readUint8Array(e,t){return this.St.slice(e,e+t)}},e.Uint8ArrayWriter=class extends _r{constructor(e){super(),this.jt=e||262144}init(e=0){n.assign(this,{offset:0,St:new f(e>0?e:this.jt)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.St.length){let e=t.St.length?2*t.St.length:t.jt;for(;e<n;)e*=2;const r=t.St;t.St=new f(e),t.St.set(r)}t.St.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.St.length?this.St:this.St.slice(0,this.offset)}},e.Writer=_r,e.ZipReader=Sa,e.ZipReaderStream=ga,e.ZipWriter=_i,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new E;this.readable=t,this.zipWriter=new _i(n,e),this.Ke=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:s}=new E({start(e){n=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Oi(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:n,writable:r}=new E({start(e){t=e}});return Oi(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){return await S.all(t.from(this.Ke)),this.zipWriter.close(e,n)}},e.configure=e=>{n.assign(Ve,je(Ke(e)))},e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=So}=e;return()=>{const e=[];let n,r,s,a=0,i=!1;const o=new D({async write(s){i?await n.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new E;r=rn(t.readable),n=t.writable.getWriter(),i=!0;for(const t of e)await n.write(t);e.length=0})())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:o,readable:new R({async pull(t){if(i){if(!s){const e=await r;s=e.stream().getReader()}const{value:e,done:n}=await s.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:n=mo,directoryName:r=yo,getDirectory:s=()=>v.storage.getDirectory()}=e;let a;function i(){return a||(a=S.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,s,a,o,c=0,l=!1;const d=new D({async write(o){l?await a.write(o):(e.push(o),c+=o.length,c>n&&await(async()=>{const n=await i();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new f(16)),e=>e.toString(16).padStart(2,"0")).join(""),s=await n.getFileHandle(r,{create:!0}),a=(await s.createWritable()).getWriter(),l=!0;for(const t of e)await a.write(t);e.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:d,readable:new R({async pull(t){if(l){if(!o){const e=await s.getFile();o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else u<e.length?t.enqueue(e[u++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const e=await i();await e.removeEntry(r)}catch{}s=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:n=go,directoryName:r=bo,getDirectory:s}=e;if(!(s||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new w(xo);const a=s||(()=>v.storage.getDirectory());let o;function c(){return o||(o=S.resolve(a()).then(e=>e.getDirectoryHandle(r,{create:!0}))),o}return()=>{const e=[];let r,s,a=0,o=!1,l=0,d=0;const u=new D({async write(i){o?(s.write(i,{at:l}),l+=i.length):(e.push(i),a+=i.length,a>n&&await(async()=>{const n=await c();r=z.randomUUID?z.randomUUID():t.from(z.getRandomValues(new f(16)),e=>e.toString(16).padStart(2,"0")).join("");const a=await n.getFileHandle(r,{create:!0});s=await a.createSyncAccessHandle(),o=!0;for(const t of e)s.write(t,{at:l}),l+=t.length;e.length=0})())},close(){s&&s.flush()}});let w=0;return{writable:u,readable:new R({pull(t){if(o){const e=l-d;if(e<=0)return void t.close();const n=new f(i.min(524288,e)),r=s.read(n,{at:d});r?(d+=r,t.enqueue(n.subarray(0,r))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(s){try{s.close()}catch{}s=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:n,codecURI:r,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||t<0||t>N||typeof n!=de||!n.length)throw new w(an);if(ln.includes(t))throw new w(on);const c=typeof a==le||typeof i==le;if(!(c||typeof r==de&&r.length))throw new w(an);dn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:o}),c&&pn(n,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of Pe)delete Ve[e];n.assign(Ve,Me)},e.terminateWorkers=async()=>{await S.allSettled(ir.map(e=>(mr(e),e.terminate()))),Ln=ie,Wn=!1},e.unregisterCodec=e=>{const t=dn.get(e);if(t){let n;dn.delete(e),dn.forEach(e=>n=n||e.format==t.format),n||un.delete(t.format)}}});