@ai-matrx/vault 0.1.39 → 0.1.41

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.
@@ -13,10 +13,10 @@ var __export = (target, all) => {
13
13
  __defProp(target, name, { get: all[name], enumerable: true });
14
14
  };
15
15
 
16
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/constants.js
17
- var MAX_32_BITS, MAX_16_BITS, MAX_8_BITS, COMPRESSION_METHOD_DEFLATE, COMPRESSION_METHOD_DEFLATE_64, COMPRESSION_METHOD_STORE, COMPRESSION_METHOD_AES, LOCAL_FILE_HEADER_SIGNATURE, SPLIT_ZIP_FILE_SIGNATURE, TEMPORARY_SPLIT_ZIP_FILE_SIGNATURE, DATA_DESCRIPTOR_RECORD_SIGNATURE, ARCHIVE_EXTRA_DATA_SIGNATURE, DIGITAL_SIGNATURE_RECORD_SIGNATURE, CENTRAL_FILE_HEADER_SIGNATURE, END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIGNATURE, CENTRAL_FILE_HEADER_LENGTH, END_OF_CENTRAL_DIR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_TOTAL_LENGTH, DATA_DESCRIPTOR_RECORD_LENGTH, DATA_DESCRIPTOR_RECORD_ZIP_64_LENGTH, DATA_DESCRIPTOR_RECORD_SIGNATURE_LENGTH, SPLIT_ZIP_FILE_SIGNATURE_LENGTH, EXTRAFIELD_TYPE_ZIP64, EXTRAFIELD_TYPE_AES, EXTRAFIELD_TYPE_NTFS, EXTRAFIELD_TYPE_NTFS_TAG1, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP, EXTRAFIELD_TYPE_UNICODE_PATH, EXTRAFIELD_TYPE_UNICODE_COMMENT, EXTRAFIELD_TYPE_USDZ, EXTRAFIELD_TYPE_INFOZIP, EXTRAFIELD_TYPE_UNIX, EXTRAFIELD_TYPE_UNIX_TYPE1, EXTRAFIELD_TYPE_PKWARE_UNIX, BITFLAG_ENCRYPTED, BITFLAG_LEVEL, BITFLAG_LEVEL_MAX_MASK, BITFLAG_LEVEL_FAST_MASK, BITFLAG_LEVEL_SUPER_FAST_MASK, BITFLAG_DATA_DESCRIPTOR, BITFLAG_COMPRESSED_PATCHED_DATA, BITFLAG_STRONG_ENCRYPTION, BITFLAG_LANG_ENCODING_FLAG, BITFLAG_MASKED_LOCAL_HEADERS, FILE_ATTR_MSDOS_DIR_MASK, FILE_ATTR_MSDOS_READONLY_MASK, FILE_ATTR_MSDOS_HIDDEN_MASK, FILE_ATTR_MSDOS_SYSTEM_MASK, FILE_ATTR_MSDOS_ARCHIVE_MASK, FILE_ATTR_UNIX_TYPE_MASK, FILE_ATTR_UNIX_TYPE_DIR, FILE_ATTR_UNIX_TYPE_SYMLINK, FILE_ATTR_UNIX_TYPE_FILE, FILE_ATTR_UNIX_EXECUTABLE_MASK, FILE_ATTR_UNIX_DEFAULT_MASK, FILE_ATTR_UNIX_SETUID_MASK, FILE_ATTR_UNIX_SETGID_MASK, FILE_ATTR_UNIX_STICKY_MASK, VERSION_STORE, VERSION_DEFLATE, VERSION_ZIP64, VERSION_AES, VERSION_MADE_BY_MSDOS, VERSION_MADE_BY_UNIX, DIRECTORY_SIGNATURE, HEADER_SIZE, HEADER_OFFSET_VERSION, HEADER_OFFSET_SIGNATURE, HEADER_OFFSET_COMPRESSED_SIZE, HEADER_OFFSET_UNCOMPRESSED_SIZE, HEADER_OFFSET_FILENAME_LENGTH, HEADER_OFFSET_EXTRAFIELD_LENGTH, LOCAL_HEADER_COMMON_OFFSET, MAX_DATE, MIN_DATE, UNDEFINED_VALUE, INFINITY_VALUE, UNDEFINED_TYPE, FUNCTION_TYPE, OBJECT_TYPE, STRING_TYPE, NUMBER_TYPE, BOOLEAN_TYPE, EMPTY_UINT8_ARRAY, SYMBOL_ASYNC_DISPOSE;
16
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/constants.js
17
+ var MAX_32_BITS, MAX_16_BITS, MAX_8_BITS, COMPRESSION_METHOD_DEFLATE, COMPRESSION_METHOD_DEFLATE_64, COMPRESSION_METHOD_STORE, COMPRESSION_METHOD_AES, LOCAL_FILE_HEADER_SIGNATURE, SPLIT_ZIP_FILE_SIGNATURE, TEMPORARY_SPLIT_ZIP_FILE_SIGNATURE, DATA_DESCRIPTOR_RECORD_SIGNATURE, ARCHIVE_EXTRA_DATA_SIGNATURE, DIGITAL_SIGNATURE_RECORD_SIGNATURE, CENTRAL_FILE_HEADER_SIGNATURE, END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIGNATURE, CENTRAL_FILE_HEADER_LENGTH, END_OF_CENTRAL_DIR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_TOTAL_LENGTH, DATA_DESCRIPTOR_RECORD_LENGTH, DATA_DESCRIPTOR_RECORD_ZIP_64_LENGTH, DATA_DESCRIPTOR_RECORD_SIGNATURE_LENGTH, SPLIT_ZIP_FILE_SIGNATURE_LENGTH, EXTRAFIELD_TYPE_ZIP64, EXTRAFIELD_TYPE_AES, EXTRAFIELD_TYPE_NTFS, EXTRAFIELD_TYPE_NTFS_TAG1, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP, EXTRAFIELD_TYPE_UNICODE_PATH, EXTRAFIELD_TYPE_UNICODE_COMMENT, EXTRAFIELD_TYPE_USDZ, EXTRAFIELD_TYPE_INFOZIP, EXTRAFIELD_TYPE_UNIX, EXTRAFIELD_TYPE_UNIX_TYPE1, EXTRAFIELD_TYPE_PKWARE_UNIX, BITFLAG_ENCRYPTED, BITFLAG_LEVEL, BITFLAG_LEVEL_MAX_MASK, BITFLAG_LEVEL_FAST_MASK, BITFLAG_LEVEL_SUPER_FAST_MASK, BITFLAG_DATA_DESCRIPTOR, BITFLAG_COMPRESSED_PATCHED_DATA, BITFLAG_STRONG_ENCRYPTION, BITFLAG_LANG_ENCODING_FLAG, BITFLAG_MASKED_LOCAL_HEADERS, FILE_ATTR_MSDOS_DIR_MASK, FILE_ATTR_MSDOS_READONLY_MASK, FILE_ATTR_MSDOS_HIDDEN_MASK, FILE_ATTR_MSDOS_SYSTEM_MASK, FILE_ATTR_MSDOS_ARCHIVE_MASK, FILE_ATTR_UNIX_TYPE_MASK, FILE_ATTR_UNIX_TYPE_DIR, FILE_ATTR_UNIX_TYPE_SYMLINK, FILE_ATTR_UNIX_TYPE_FILE, FILE_ATTR_UNIX_EXECUTABLE_MASK, FILE_ATTR_UNIX_DEFAULT_MASK, FILE_ATTR_UNIX_SETUID_MASK, FILE_ATTR_UNIX_SETGID_MASK, FILE_ATTR_UNIX_STICKY_MASK, VERSION_STORE, VERSION_DEFLATE, VERSION_ZIP64, VERSION_AES, VERSION_MADE_BY_MSDOS, VERSION_MADE_BY_UNIX, DIRECTORY_SIGNATURE, HEADER_SIZE, HEADER_OFFSET_VERSION, HEADER_OFFSET_SIGNATURE, HEADER_OFFSET_COMPRESSED_SIZE, HEADER_OFFSET_UNCOMPRESSED_SIZE, HEADER_OFFSET_FILENAME_LENGTH, HEADER_OFFSET_EXTRAFIELD_LENGTH, LOCAL_HEADER_COMMON_OFFSET, MAX_DATE, MIN_DATE, UNDEFINED_VALUE, INFINITY_VALUE, ERR_LOCAL_FILE_HEADER_NOT_FOUND, ERR_OVERLAPPING_ENTRY, ERR_EXTRAFIELD_ZIP64_NOT_FOUND, UNDEFINED_TYPE, FUNCTION_TYPE, OBJECT_TYPE, STRING_TYPE, NUMBER_TYPE, BOOLEAN_TYPE, EMPTY_UINT8_ARRAY, SYMBOL_ASYNC_DISPOSE;
18
18
  var init_constants = __esm({
19
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/constants.js"() {
19
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/constants.js"() {
20
20
  "use strict";
21
21
  MAX_32_BITS = 4294967295;
22
22
  MAX_16_BITS = 65535;
@@ -99,6 +99,9 @@ var init_constants = __esm({
99
99
  MIN_DATE = new Date(1980, 0, 1);
100
100
  UNDEFINED_VALUE = void 0;
101
101
  INFINITY_VALUE = Infinity;
102
+ ERR_LOCAL_FILE_HEADER_NOT_FOUND = "Local file header not found";
103
+ ERR_OVERLAPPING_ENTRY = "Overlapping entry found";
104
+ ERR_EXTRAFIELD_ZIP64_NOT_FOUND = "Zip64 extra field not found";
102
105
  UNDEFINED_TYPE = "undefined";
103
106
  FUNCTION_TYPE = "function";
104
107
  OBJECT_TYPE = "object";
@@ -110,13 +113,19 @@ var init_constants = __esm({
110
113
  }
111
114
  });
112
115
 
113
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/options.js
116
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/options.js
114
117
  function checkFunctionOption(value) {
115
118
  if (value && typeof value != FUNCTION_TYPE) {
116
119
  throw new Error(ERR_INVALID_FUNCTION_OPTION);
117
120
  }
118
121
  return value;
119
122
  }
123
+ function checkReaderOptionsObject(readerOptions) {
124
+ if (readerOptions && (typeof readerOptions != OBJECT_TYPE || Array.isArray(readerOptions))) {
125
+ throw new Error(ERR_INVALID_READER_OPTIONS);
126
+ }
127
+ return readerOptions;
128
+ }
120
129
  function checkSignalOption(signal) {
121
130
  if (signal && (typeof signal.addEventListener != FUNCTION_TYPE || typeof signal.aborted != BOOLEAN_TYPE)) {
122
131
  throw new Error(ERR_INVALID_SIGNAL);
@@ -152,9 +161,9 @@ function checkIntegerOption(value, maxValue, errorMessage) {
152
161
  function toNumber(value) {
153
162
  return typeof value == STRING_TYPE && value.trim() ? Number(value) : value;
154
163
  }
155
- var OPTION_FILENAME_ENCODING, OPTION_COMMENT_ENCODING, OPTION_DECODE_TEXT, OPTION_EXTRACT_PREPENDED_DATA, OPTION_EXTRACT_APPENDED_DATA, OPTION_PASSWORD, OPTION_RAW_PASSWORD, OPTION_PASS_THROUGH, OPTION_SIGNAL, OPTION_CHECK_PASSWORD_ONLY, OPTION_CHECK_OVERLAPPING_ENTRY_ONLY, OPTION_CHECK_OVERLAPPING_ENTRY, OPTION_CHECK_AMBIGUITY, OPTION_CHECK_LOCAL_DIRECTORY, OPTION_CHECK_LOCAL_FILENAME, OPTION_CHECK_SIGNATURE, OPTION_CHECK_CRC32, OPTION_CHECK_AUTHENTICATION_CODE, OPTION_USE_WEB_WORKERS, OPTION_USE_COMPRESSION_STREAM, OPTION_TRANSFER_STREAMS, OPTION_PREVENT_CLOSE, OPTION_ENCRYPTION_STRENGTH, OPTION_EXTENDED_TIMESTAMP, OPTION_NTFS_TIMESTAMP, OPTION_KEEP_ORDER, OPTION_LEVEL, OPTION_BUFFERED_WRITE, OPTION_CREATE_TEMP_STREAM, OPTION_DATA_DESCRIPTOR_SIGNATURE, OPTION_USE_UNICODE_FILE_NAMES, OPTION_DATA_DESCRIPTOR, OPTION_SUPPORT_ZIP64_SPLIT_FILE, OPTION_ENCODE_TEXT, OPTION_OFFSET, OPTION_USDZ, OPTION_UNIX_EXTRA_FIELD_TYPE, OPTION_LOCAL_EXTRA_FIELD, OPTION_CENTRAL_EXTRA_FIELD, OPTION_STRICTNESS, OPTION_FILENAME_VALIDATION, OPTION_NORMALIZE_FILENAME, OPTION_MAX_APPENDED_DATA_SIZE, OPTION_DECRYPT_CENTRAL_DIRECTORY, OPTION_SIGN_CENTRAL_DIRECTORY, OPTION_ENTRY, TEXT_TYPE_FILENAME, TEXT_TYPE_COMMENT, STRICTNESS_STRICT, STRICTNESS_BALANCED, STRICTNESS_TOLERANT, PASS_THROUGH_COMPRESSED, ERR_INVALID_FUNCTION_OPTION, ERR_INVALID_SIGNAL, ERR_INVALID_PASSWORD_TYPE, ERR_INVALID_PASS_THROUGH_VALUE, ERR_ABORTED, ABORT_ERROR_NAME;
164
+ var OPTION_FILENAME_ENCODING, OPTION_COMMENT_ENCODING, OPTION_DECODE_TEXT, OPTION_EXTRACT_PREPENDED_DATA, OPTION_EXTRACT_APPENDED_DATA, OPTION_PASSWORD, OPTION_RAW_PASSWORD, OPTION_PASS_THROUGH, OPTION_SIGNAL, OPTION_CHECK_PASSWORD_ONLY, OPTION_CHECK_OVERLAPPING_ENTRY_ONLY, OPTION_CHECK_OVERLAPPING_ENTRY, OPTION_CHECK_AMBIGUITY, OPTION_CHECK_LOCAL_DIRECTORY, OPTION_CHECK_LOCAL_FILENAME, OPTION_CHECK_SIGNATURE, OPTION_CHECK_CRC32, OPTION_CHECK_AUTHENTICATION_CODE, OPTION_USE_WEB_WORKERS, OPTION_USE_COMPRESSION_STREAM, OPTION_PREVENT_CLOSE, OPTION_ENCRYPTION_STRENGTH, OPTION_EXTENDED_TIMESTAMP, OPTION_NTFS_TIMESTAMP, OPTION_KEEP_ORDER, OPTION_LEVEL, OPTION_BUFFERED_WRITE, OPTION_CREATE_TEMP_STREAM, OPTION_DATA_DESCRIPTOR_SIGNATURE, OPTION_USE_UNICODE_FILE_NAMES, OPTION_DATA_DESCRIPTOR, OPTION_SUPPORT_ZIP64_SPLIT_FILE, OPTION_ENCODE_TEXT, OPTION_OFFSET, OPTION_USDZ, OPTION_UNIX_EXTRA_FIELD_TYPE, OPTION_LOCAL_EXTRA_FIELD, OPTION_CENTRAL_EXTRA_FIELD, OPTION_STRICTNESS, OPTION_FILENAME_VALIDATION, OPTION_NORMALIZE_FILENAME, OPTION_MAX_APPENDED_DATA_SIZE, OPTION_DECRYPT_CENTRAL_DIRECTORY, OPTION_SIGN_CENTRAL_DIRECTORY, OPTION_ENTRY, TEXT_TYPE_FILENAME, TEXT_TYPE_COMMENT, STRICTNESS_STRICT, STRICTNESS_BALANCED, STRICTNESS_TOLERANT, PASS_THROUGH_COMPRESSED, ERR_INVALID_FUNCTION_OPTION, ERR_INVALID_SIGNAL, ERR_INVALID_PASSWORD_TYPE, ERR_INVALID_PASS_THROUGH_VALUE, ERR_INVALID_READER_OPTIONS, ERR_ABORTED, ABORT_ERROR_NAME;
156
165
  var init_options = __esm({
157
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/options.js"() {
166
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/options.js"() {
158
167
  "use strict";
159
168
  init_constants();
160
169
  OPTION_FILENAME_ENCODING = "filenameEncoding";
@@ -177,7 +186,6 @@ var init_options = __esm({
177
186
  OPTION_CHECK_AUTHENTICATION_CODE = "checkAuthenticationCode";
178
187
  OPTION_USE_WEB_WORKERS = "useWebWorkers";
179
188
  OPTION_USE_COMPRESSION_STREAM = "useCompressionStream";
180
- OPTION_TRANSFER_STREAMS = "transferStreams";
181
189
  OPTION_PREVENT_CLOSE = "preventClose";
182
190
  OPTION_ENCRYPTION_STRENGTH = "encryptionStrength";
183
191
  OPTION_EXTENDED_TIMESTAMP = "extendedTimestamp";
@@ -213,12 +221,13 @@ var init_options = __esm({
213
221
  ERR_INVALID_SIGNAL = "Invalid signal (must be an AbortSignal instance)";
214
222
  ERR_INVALID_PASSWORD_TYPE = "Invalid password (password must be a string, rawPassword must be a Uint8Array)";
215
223
  ERR_INVALID_PASS_THROUGH_VALUE = "Invalid passThrough option (must be a boolean or 'compressed')";
224
+ ERR_INVALID_READER_OPTIONS = "Invalid readerOptions (must be an object)";
216
225
  ERR_ABORTED = "The operation was aborted";
217
226
  ABORT_ERROR_NAME = "AbortError";
218
227
  }
219
228
  });
220
229
 
221
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/configuration.js
230
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/configuration.js
222
231
  function getConfiguration() {
223
232
  return config2;
224
233
  }
@@ -280,11 +289,11 @@ function setDefaultConfiguration(configuration) {
280
289
  }
281
290
  var DEFAULT_CHUNK_SIZE, MINIMUM_CHUNK_SIZE, MINIMUM_PROPERTY_VALUE, ERR_INVALID_MAX_WORKERS, ERR_INVALID_BASE_URI, ERR_INVALID_URI, maxWorkers, DEFAULT_CONFIGURATION, PROPERTY_NAME_MAX_WORKERS, PROPERTY_NAME_BASE_URI, URI_PROPERTY_NAMES, BOOLEAN_PROPERTY_NAMES, NUMBER_PROPERTY_NAMES, FUNCTION_PROPERTY_NAMES, CONFIGURABLE_PROPERTY_NAMES, config2;
282
291
  var init_configuration = __esm({
283
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/configuration.js"() {
292
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/configuration.js"() {
284
293
  "use strict";
285
294
  init_constants();
286
295
  init_options();
287
- DEFAULT_CHUNK_SIZE = 64 * 1024;
296
+ DEFAULT_CHUNK_SIZE = 256 * 1024;
288
297
  MINIMUM_CHUNK_SIZE = 64;
289
298
  MINIMUM_PROPERTY_VALUE = 1;
290
299
  ERR_INVALID_MAX_WORKERS = "Invalid maxWorkers (must be an integer greater than 0)";
@@ -307,7 +316,6 @@ var init_configuration = __esm({
307
316
  workerStartupTimeout: 5e3,
308
317
  useWebWorkers: true,
309
318
  useCompressionStream: true,
310
- transferStreams: true,
311
319
  CompressionStream: typeof CompressionStream != UNDEFINED_TYPE && CompressionStream,
312
320
  DecompressionStream: typeof DecompressionStream != UNDEFINED_TYPE && DecompressionStream
313
321
  };
@@ -319,8 +327,7 @@ var init_configuration = __esm({
319
327
  ];
320
328
  BOOLEAN_PROPERTY_NAMES = [
321
329
  "useCompressionStream",
322
- "useWebWorkers",
323
- "transferStreams"
330
+ "useWebWorkers"
324
331
  ];
325
332
  NUMBER_PROPERTY_NAMES = [
326
333
  "chunkSize",
@@ -347,7 +354,7 @@ var init_configuration = __esm({
347
354
  }
348
355
  });
349
356
 
350
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/array.js
357
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/array.js
351
358
  function concat(first, second) {
352
359
  const result = new Uint8Array(first.length + second.length);
353
360
  result.set(first);
@@ -361,25 +368,25 @@ function getDataView(array) {
361
368
  return new DataView(array.buffer, array.byteOffset, array.byteLength);
362
369
  }
363
370
  var init_array = __esm({
364
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/array.js"() {
371
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/array.js"() {
365
372
  "use strict";
366
373
  }
367
374
  });
368
375
 
369
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/error.js
376
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/error.js
370
377
  function isErrorObject(error) {
371
378
  return Boolean(error) && typeof error == "object";
372
379
  }
373
380
  var init_error = __esm({
374
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/error.js"() {
381
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/error.js"() {
375
382
  "use strict";
376
383
  }
377
384
  });
378
385
 
379
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/codecs/crc32.js
386
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codecs/crc32.js
380
387
  var T, T0, T1, T2, T3, T4, T5, T6, T7, Crc32;
381
388
  var init_crc32 = __esm({
382
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/codecs/crc32.js"() {
389
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codecs/crc32.js"() {
383
390
  "use strict";
384
391
  T = [[], [], [], [], [], [], [], []];
385
392
  for (let n3 = 0; n3 < 256; n3++) {
@@ -425,10 +432,10 @@ var init_crc32 = __esm({
425
432
  }
426
433
  });
427
434
 
428
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/crc32-stream.js
435
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/crc32-stream.js
429
436
  var Crc32Stream;
430
437
  var init_crc32_stream = __esm({
431
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/crc32-stream.js"() {
438
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/crc32-stream.js"() {
432
439
  "use strict";
433
440
  init_crc32();
434
441
  Crc32Stream = class extends TransformStream {
@@ -453,7 +460,7 @@ var init_crc32_stream = __esm({
453
460
  }
454
461
  });
455
462
 
456
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/encode-text.js
463
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/encode-text.js
457
464
  function encodeText(value) {
458
465
  if (typeof TextEncoder == UNDEFINED_TYPE) {
459
466
  value = unescape(encodeURIComponent(value));
@@ -467,13 +474,13 @@ function encodeText(value) {
467
474
  }
468
475
  }
469
476
  var init_encode_text = __esm({
470
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/encode-text.js"() {
477
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/encode-text.js"() {
471
478
  "use strict";
472
479
  init_constants();
473
480
  }
474
481
  });
475
482
 
476
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/codecs/aes-hmac-sha1.js
483
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codecs/aes-hmac-sha1.js
477
484
  function createEngine(key, authenticationKey) {
478
485
  initTables();
479
486
  const roundKeys = new Int32Array(ROUND_KEYS_LENGTH);
@@ -897,7 +904,7 @@ function multiplyByTwo(value) {
897
904
  }
898
905
  var BLOCK_LENGTH, ROUND_KEYS_LENGTH, SHA1_BLOCK_LENGTH, SHA1_DIGEST_LENGTH, SHA1_SCHEDULE_LENGTH, SHA1_LENGTH_OFFSET, SHA1_PADDING, SHA1_ZERO, SHA1_INITIAL_STATE, HMAC_INNER_PADDING, HMAC_OUTER_PADDING, S_BOX, T02, T12, T22, T32, tablesInitialized;
899
906
  var init_aes_hmac_sha1 = __esm({
900
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/codecs/aes-hmac-sha1.js"() {
907
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codecs/aes-hmac-sha1.js"() {
901
908
  "use strict";
902
909
  BLOCK_LENGTH = 16;
903
910
  ROUND_KEYS_LENGTH = 60;
@@ -919,7 +926,7 @@ var init_aes_hmac_sha1 = __esm({
919
926
  }
920
927
  });
921
928
 
922
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/common-crypto.js
929
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/common-crypto.js
923
930
  function getRandomValues(array) {
924
931
  if (GET_RANDOM_VALUES_SUPPORTED) {
925
932
  return crypto.getRandomValues(array);
@@ -929,7 +936,7 @@ function getRandomValues(array) {
929
936
  }
930
937
  var GET_RANDOM_VALUES_SUPPORTED, ERR_INVALID_PASSWORD, ERR_INVALID_AUTHENTICATION_CODE, ERR_ABORT_CHECK_PASSWORD, ERR_UNSUPPORTED_CRYPTO_API;
931
938
  var init_common_crypto = __esm({
932
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/common-crypto.js"() {
939
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/common-crypto.js"() {
933
940
  "use strict";
934
941
  init_constants();
935
942
  GET_RANDOM_VALUES_SUPPORTED = typeof crypto != UNDEFINED_TYPE && typeof crypto.getRandomValues == FUNCTION_TYPE;
@@ -940,7 +947,7 @@ var init_common_crypto = __esm({
940
947
  }
941
948
  });
942
949
 
943
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/aes-crypto-stream.js
950
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/aes-crypto-stream.js
944
951
  function setAESEngine(createEngineFunction) {
945
952
  createEngine2 = createEngineFunction || createEngine;
946
953
  }
@@ -1062,7 +1069,7 @@ function subarray(array, begin, end) {
1062
1069
  }
1063
1070
  var BLOCK_LENGTH2, RAW_FORMAT, PBKDF2_ALGORITHM, HASH_ALGORITHM, HASH_FUNCTION, PBKDF2_ITERATIONS, BASE_KEY_ALGORITHM, DERIVED_BITS_ALGORITHM, DERIVED_BITS_USAGE, SALT_LENGTH, KEY_LENGTH, AUTHENTICATION_CODE_LENGTH, PASSWORD_VERIFICATION_LENGTH, CRYPTO_API_SUPPORTED, subtle, SUBTLE_API_SUPPORTED, DERIVE_BITS_SUPPORTED, createEngine2, AESDecryptionStream, AESEncryptionStream;
1064
1071
  var init_aes_crypto_stream = __esm({
1065
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/aes-crypto-stream.js"() {
1072
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/aes-crypto-stream.js"() {
1066
1073
  "use strict";
1067
1074
  init_constants();
1068
1075
  init_encode_text();
@@ -1201,7 +1208,7 @@ var init_aes_crypto_stream = __esm({
1201
1208
  }
1202
1209
  });
1203
1210
 
1204
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/zip-crypto-stream.js
1211
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zip-crypto-stream.js
1205
1212
  function initZipCrypto(zipCrypto, password, rawPassword, passwordVerification) {
1206
1213
  Object.assign(zipCrypto, {
1207
1214
  password,
@@ -1264,7 +1271,7 @@ function getInt32(number) {
1264
1271
  }
1265
1272
  var HEADER_LENGTH, ZipCryptoDecryptionStream, ZipCryptoEncryptionStream;
1266
1273
  var init_zip_crypto_stream = __esm({
1267
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/zip-crypto-stream.js"() {
1274
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zip-crypto-stream.js"() {
1268
1275
  "use strict";
1269
1276
  init_crc32();
1270
1277
  init_common_crypto();
@@ -1324,7 +1331,7 @@ var init_zip_crypto_stream = __esm({
1324
1331
  }
1325
1332
  });
1326
1333
 
1327
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/compatible-streams.js
1334
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/compatible-streams.js
1328
1335
  function toCompatibleReadable(readable) {
1329
1336
  if (readable instanceof ReadableStream) {
1330
1337
  return readable;
@@ -1384,13 +1391,13 @@ function toCompatibleWritable(writable) {
1384
1391
  });
1385
1392
  }
1386
1393
  var init_compatible_streams = __esm({
1387
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/compatible-streams.js"() {
1394
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/compatible-streams.js"() {
1388
1395
  "use strict";
1389
1396
  init_constants();
1390
1397
  }
1391
1398
  });
1392
1399
 
1393
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/codec-registry.js
1400
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-registry.js
1394
1401
  function getRegisteredCodec(compressionMethod) {
1395
1402
  return registeredCodecs.get(compressionMethod);
1396
1403
  }
@@ -1415,7 +1422,7 @@ async function ensureCodecStreams(format, codecURI) {
1415
1422
  }
1416
1423
  var ERR_INVALID_CODEC_MODULE, ERR_UNSUPPORTED_COMPRESSION, registeredCodecs, codecStreams;
1417
1424
  var init_codec_registry = __esm({
1418
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/codec-registry.js"() {
1425
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-registry.js"() {
1419
1426
  "use strict";
1420
1427
  init_constants();
1421
1428
  ERR_INVALID_CODEC_MODULE = "Invalid codec module";
@@ -1425,7 +1432,7 @@ var init_codec_registry = __esm({
1425
1432
  }
1426
1433
  });
1427
1434
 
1428
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/zip-entry-stream.js
1435
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zip-entry-stream.js
1429
1436
  function pipeThroughGzipDecompressionStream(readable, gzipStream, outputSize, crc32, sourceErrors) {
1430
1437
  const writer = gzipStream.writable.getWriter();
1431
1438
  const reader = gzipStream.readable.getReader();
@@ -1686,7 +1693,7 @@ function mapInflateStreamError(readable, sourceErrors) {
1686
1693
  }
1687
1694
  var ERR_INVALID_UNCOMPRESSED_SIZE, ERR_INVALID_COMPRESSED_DATA, ERR_CODEC_OUT_OF_MEMORY, ERR_INVALID_CRC32, Z_MEM_ERROR_CODE, FORMAT_DEFLATE_RAW, FORMAT_DEFLATE64_RAW, FORMAT_GZIP, GZIP_HEADER_LENGTH, GZIP_TRAILER_LENGTH, GZIP_HEADER_BYTES, DeflateStream, GzipToRawDeflateStream, InflateStream, formatSupportByStream;
1688
1695
  var init_zip_entry_stream = __esm({
1689
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/zip-entry-stream.js"() {
1696
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zip-entry-stream.js"() {
1690
1697
  "use strict";
1691
1698
  init_crc32();
1692
1699
  init_crc32_stream();
@@ -1872,14 +1879,14 @@ var init_zip_entry_stream = __esm({
1872
1879
  }
1873
1880
  });
1874
1881
 
1875
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/codec-stream.js
1882
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codec-stream.js
1876
1883
  var DEFAULT_CHUNK_SIZE2, MESSAGE_EVENT_TYPE, MESSAGE_START, MESSAGE_PULL, MESSAGE_DATA, MESSAGE_ACK_DATA, MESSAGE_CLOSE, CODEC_DEFLATE, CODEC_INFLATE, CodecStream, ChunkStream;
1877
1884
  var init_codec_stream = __esm({
1878
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/codec-stream.js"() {
1885
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codec-stream.js"() {
1879
1886
  "use strict";
1880
1887
  init_constants();
1881
1888
  init_zip_entry_stream();
1882
- DEFAULT_CHUNK_SIZE2 = 64 * 1024;
1889
+ DEFAULT_CHUNK_SIZE2 = 256 * 1024;
1883
1890
  MESSAGE_EVENT_TYPE = "message";
1884
1891
  MESSAGE_START = "start";
1885
1892
  MESSAGE_PULL = "pull";
@@ -2001,7 +2008,7 @@ var init_codec_stream = __esm({
2001
2008
  }
2002
2009
  });
2003
2010
 
2004
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/codec-worker.js
2011
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-worker.js
2005
2012
  function configureWorker({ initModule: initModuleFunction }) {
2006
2013
  initModule = initModuleFunction;
2007
2014
  }
@@ -2105,7 +2112,7 @@ async function runWorker({ options, readable, writable, onTaskFinished, workerOp
2105
2112
  }
2106
2113
  var ERR_WORKER_STARTUP_TIMEOUT, webWorkerSupported, createWorkerFailed, webWorkerBackend, initModule, CodecWorker, ProgressWatcherStream;
2107
2114
  var init_codec_worker = __esm({
2108
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/codec-worker.js"() {
2115
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-worker.js"() {
2109
2116
  "use strict";
2110
2117
  init_constants();
2111
2118
  init_configuration();
@@ -2116,7 +2123,7 @@ var init_codec_worker = __esm({
2116
2123
  };
2117
2124
  CodecWorker = class {
2118
2125
  constructor(workerData, { readable, writable }, workerOptions, onTaskFinished) {
2119
- const { options, config: config3, streamOptions, useWebWorkers, transferStreams, workerURI } = workerOptions;
2126
+ const { options, config: config3, streamOptions, useWebWorkers, workerURI } = workerOptions;
2120
2127
  let { createWorker } = workerOptions;
2121
2128
  const { signal } = streamOptions;
2122
2129
  if (createWorkerFailed) {
@@ -2131,7 +2138,6 @@ var init_codec_worker = __esm({
2131
2138
  workerOptions,
2132
2139
  workerURI,
2133
2140
  createWorker,
2134
- transferStreams,
2135
2141
  terminate() {
2136
2142
  return new Promise((resolve) => {
2137
2143
  const { worker, busy } = workerData;
@@ -2199,10 +2205,10 @@ var init_codec_worker = __esm({
2199
2205
  }
2200
2206
  });
2201
2207
 
2202
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/codec-pool.js
2208
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-pool.js
2203
2209
  async function runWorker2(stream, workerOptions) {
2204
2210
  const { options, config: config3 } = workerOptions;
2205
- const { transferStreams, useWebWorkers, useCompressionStream, compressed, checkCrc32, computeCrc32, encrypted, format, codecURI } = options;
2211
+ const { useWebWorkers, useCompressionStream, compressed, checkCrc32, computeCrc32, encrypted, format, codecURI } = options;
2206
2212
  const { workerURI, createWorker, maxWorkers: maxWorkers2 } = config3;
2207
2213
  if (format) {
2208
2214
  if (codecURI) {
@@ -2210,7 +2216,6 @@ async function runWorker2(stream, workerOptions) {
2210
2216
  }
2211
2217
  await ensureCodecStreams(format, options.codecURI);
2212
2218
  }
2213
- workerOptions.transferStreams = !format && (transferStreams || transferStreams === UNDEFINED_VALUE && config3.transferStreams);
2214
2219
  const streamCopy = !compressed && !checkCrc32 && !computeCrc32 && !encrypted;
2215
2220
  const workerSupported = format === UNDEFINED_VALUE || Boolean(options.codecURI);
2216
2221
  workerOptions.useWebWorkers = !streamCopy && workerSupported && (useWebWorkers || useWebWorkers === UNDEFINED_VALUE && config3.useWebWorkers);
@@ -2318,7 +2323,7 @@ function clearTerminateTimeout(workerData) {
2318
2323
  }
2319
2324
  var pool, pendingRequests, starvationTimeout, starvationDelay, indexWorker;
2320
2325
  var init_codec_pool = __esm({
2321
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/codec-pool.js"() {
2326
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-pool.js"() {
2322
2327
  "use strict";
2323
2328
  init_constants();
2324
2329
  init_codec_stream();
@@ -2330,7 +2335,7 @@ var init_codec_pool = __esm({
2330
2335
  }
2331
2336
  });
2332
2337
 
2333
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/decode-cp437.js
2338
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/decode-cp437.js
2334
2339
  function decodeCP437(stringValue) {
2335
2340
  let result = "";
2336
2341
  for (let indexCharacter = 0; indexCharacter < stringValue.length; indexCharacter++) {
@@ -2340,13 +2345,13 @@ function decodeCP437(stringValue) {
2340
2345
  }
2341
2346
  var CP437;
2342
2347
  var init_decode_cp437 = __esm({
2343
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/decode-cp437.js"() {
2348
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/decode-cp437.js"() {
2344
2349
  "use strict";
2345
2350
  CP437 = "\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0".split("");
2346
2351
  }
2347
2352
  });
2348
2353
 
2349
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/decode-text.js
2354
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/decode-text.js
2350
2355
  function decodeText(value, encoding) {
2351
2356
  return decode(value, encoding, true);
2352
2357
  }
@@ -2370,13 +2375,13 @@ function decode(value, encoding, ignoreBOM) {
2370
2375
  }
2371
2376
  }
2372
2377
  var init_decode_text = __esm({
2373
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/decode-text.js"() {
2378
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/decode-text.js"() {
2374
2379
  "use strict";
2375
2380
  init_decode_cp437();
2376
2381
  }
2377
2382
  });
2378
2383
 
2379
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/io.js
2384
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/io.js
2380
2385
  function probeBlobSliceReliability() {
2381
2386
  blobSliceProbe = (async () => {
2382
2387
  try {
@@ -2427,7 +2432,7 @@ function createReadable(reader, options) {
2427
2432
  }
2428
2433
  var ERR_ITERATOR_COMPLETED_TOO_SOON, ERR_WRITER_SIZE_NOT_WRITABLE, DEFAULT_BUFFER_SIZE, DEFAULT_MAXIMUM_RANGE_SIZE, END_OF_CENTRAL_DIR_SEARCH_LENGTH, PROPERTY_NAME_WRITABLE, DISK_BOUNDARY, Stream, Reader, blobSliceReliable, blobSliceProbe, BlobReader, SplitDataReader, SplitDataWriter, GenericReader, GenericWriter;
2429
2434
  var init_io = __esm({
2430
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/io.js"() {
2435
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/io.js"() {
2431
2436
  "use strict";
2432
2437
  init_constants();
2433
2438
  init_configuration();
@@ -2687,7 +2692,7 @@ var init_io = __esm({
2687
2692
  }
2688
2693
  });
2689
2694
 
2690
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/warnings.js
2695
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/warnings.js
2691
2696
  function addWarning(warnings, reason, filename) {
2692
2697
  if (!warnings.some((warning) => warning.reason == reason)) {
2693
2698
  const warning = { reason };
@@ -2698,13 +2703,13 @@ function addWarning(warnings, reason, filename) {
2698
2703
  }
2699
2704
  }
2700
2705
  var init_warnings = __esm({
2701
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/warnings.js"() {
2706
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/warnings.js"() {
2702
2707
  "use strict";
2703
2708
  init_constants();
2704
2709
  }
2705
2710
  });
2706
2711
 
2707
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/zip-entry.js
2712
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-entry.js
2708
2713
  function getUserExtraField(extraField) {
2709
2714
  if (extraField) {
2710
2715
  const userExtraField = /* @__PURE__ */ new Map();
@@ -2723,7 +2728,7 @@ function getEncryptionOverhead(encrypted, zipCrypto, encryptionStrength) {
2723
2728
  }
2724
2729
  var PROPERTY_NAME_FILENAME, PROPERTY_NAME_RAW_FILENAME, PROPERTY_NAME_COMMENT, PROPERTY_NAME_RAW_COMMENT, PROPERTY_NAME_UNCOMPRESSED_SIZE, PROPERTY_NAME_COMPRESSED_SIZE, PROPERTY_NAME_OFFSET, PROPERTY_NAME_DISK_NUMBER_START, PROPERTY_NAME_LAST_MODIFICATION_DATE, PROPERTY_NAME_RAW_LAST_MODIFICATION_DATE, PROPERTY_NAME_LAST_ACCESS_DATE, PROPERTY_NAME_RAW_LAST_ACCESS_DATE, PROPERTY_NAME_CREATION_DATE, PROPERTY_NAME_RAW_CREATION_DATE, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTES, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES, PROPERTY_NAME_MSDOS_ATTRIBUTES_RAW, PROPERTY_NAME_MSDOS_ATTRIBUTES, PROPERTY_NAME_MS_DOS_COMPATIBLE, PROPERTY_NAME_ZIP64, PROPERTY_NAME_ENCRYPTED, PROPERTY_NAME_VERSION, PROPERTY_NAME_VERSION_MADE_BY, PROPERTY_NAME_ZIPCRYPTO, PROPERTY_NAME_DIRECTORY, PROPERTY_NAME_EXECUTABLE, PROPERTY_NAME_SYMLINK, PROPERTY_NAME_COMPRESSION_METHOD, PROPERTY_NAME_SIGNATURE, PROPERTY_NAME_CRC32, PROPERTY_NAME_EXTRA_FIELD, PROPERTY_NAME_EXTRA_FIELD_INFOZIP, PROPERTY_NAME_EXTRA_FIELD_UNIX, PROPERTY_NAME_EXTRA_FIELD_UNIX_TYPE1, PROPERTY_NAME_EXTRA_FIELD_PKWARE_UNIX, PROPERTY_NAME_UID, PROPERTY_NAME_GID, PROPERTY_NAME_UNIX_MODE, PROPERTY_NAME_SETUID, PROPERTY_NAME_SETGID, PROPERTY_NAME_STICKY, PROPERTY_NAME_BITFLAG, PROPERTY_NAME_RAW_BITFLAG, PROPERTY_NAME_FILENAME_LENGTH, PROPERTY_NAME_EXTRA_FIELD_LENGTH, PROPERTY_NAME_UNIX_EXTERNAL_UPPER, PROPERTY_NAME_FILENAME_UTF8, PROPERTY_NAME_COMMENT_UTF8, PROPERTY_NAME_RAW_EXTRA_FIELD, PROPERTY_NAME_EXTRA_FIELD_ZIP64, PROPERTY_NAME_EXTRA_FIELD_UNICODE_PATH, PROPERTY_NAME_EXTRA_FIELD_UNICODE_COMMENT, PROPERTY_NAME_EXTRA_FIELD_AES, PROPERTY_NAME_EXTRA_FIELD_NTFS, PROPERTY_NAME_EXTRA_FIELD_EXTENDED_TIMESTAMP, PROPERTY_NAME_EXTRA_FIELD_USDZ, PROPERTY_NAMES, Entry, INTERPRETED_EXTRA_FIELD_TYPES;
2725
2730
  var init_zip_entry = __esm({
2726
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/zip-entry.js"() {
2731
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-entry.js"() {
2727
2732
  "use strict";
2728
2733
  init_constants();
2729
2734
  PROPERTY_NAME_FILENAME = "filename";
@@ -2861,7 +2866,7 @@ var init_zip_entry = __esm({
2861
2866
  }
2862
2867
  });
2863
2868
 
2864
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/zip-reader.js
2869
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-reader.js
2865
2870
  var zip_reader_exports = {};
2866
2871
  __export(zip_reader_exports, {
2867
2872
  ERR_AMBIGUOUS_ARCHIVE: () => ERR_AMBIGUOUS_ARCHIVE,
@@ -2894,11 +2899,13 @@ __export(zip_reader_exports, {
2894
2899
  WARNING_COMPRESSED_PATCHED_DATA: () => WARNING_COMPRESSED_PATCHED_DATA,
2895
2900
  WARNING_DUPLICATE_FILENAME: () => WARNING_DUPLICATE_FILENAME,
2896
2901
  WARNING_MALFORMED_EXTRA_FIELD: () => WARNING_MALFORMED_EXTRA_FIELD,
2902
+ WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET: () => WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET,
2897
2903
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG: () => WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG,
2898
2904
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD: () => WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,
2899
2905
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES: () => WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,
2900
2906
  WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME: () => WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME,
2901
2907
  WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY: () => WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,
2908
+ WARNING_MISSING_ZIP64_EXTRA_FIELD: () => WARNING_MISSING_ZIP64_EXTRA_FIELD,
2902
2909
  WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY: () => WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY,
2903
2910
  WARNING_PREPENDED_CENTRAL_DIRECTORY: () => WARNING_PREPENDED_CENTRAL_DIRECTORY,
2904
2911
  WARNING_PREPENDED_DATA: () => WARNING_PREPENDED_DATA,
@@ -2909,6 +2916,7 @@ __export(zip_reader_exports, {
2909
2916
  WARNING_WRAPPED_ENTRIES_COUNT: () => WARNING_WRAPPED_ENTRIES_COUNT,
2910
2917
  ZipReader: () => ZipReader,
2911
2918
  ZipReaderStream: () => ZipReaderStream,
2919
+ getEntryDataDescriptorLength: () => getEntryDataDescriptorLength,
2912
2920
  isZipFile: () => isZipFile
2913
2921
  });
2914
2922
  function createEntryStream(entry, pendingEntries2) {
@@ -2972,13 +2980,7 @@ async function isZipFile(reader, options = {}) {
2972
2980
  return reader.size - appendedDataOffset <= maxAppendedDataSize;
2973
2981
  }
2974
2982
  function detectEncryptedCentralDirectory(directoryView) {
2975
- const maxOffset = Math.min(directoryView.byteLength, 1024) - 3;
2976
- for (let offset = 0; offset < maxOffset; offset++) {
2977
- if (getUint32(directoryView, offset) == ARCHIVE_EXTRA_DATA_SIGNATURE) {
2978
- return true;
2979
- }
2980
- }
2981
- return false;
2983
+ return directoryView.byteLength >= 4 && getUint32(directoryView, 0) == ARCHIVE_EXTRA_DATA_SIGNATURE;
2982
2984
  }
2983
2985
  function getWrappedFilesLength(directoryView, directoryArray, offset) {
2984
2986
  let wrappedFilesLength = 0;
@@ -2988,6 +2990,79 @@ function getWrappedFilesLength(directoryView, directoryArray, offset) {
2988
2990
  }
2989
2991
  return wrappedFilesLength % (MAX_16_BITS + 1) ? 0 : wrappedFilesLength;
2990
2992
  }
2993
+ function pointsAtDirectory(reader, offset) {
2994
+ return startsWithSignature(reader, offset, CENTRAL_FILE_HEADER_SIGNATURE);
2995
+ }
2996
+ async function startsWithSignature(reader, offset, signature) {
2997
+ if (offset < 0 || offset + 4 > reader.size) {
2998
+ return false;
2999
+ }
3000
+ const signatureArray = await readUint8Array(reader, offset, 4);
3001
+ return getUint32(getDataView(signatureArray), 0) == signature;
3002
+ }
3003
+ async function findDigitalSignatureRecordOffset(reader, endOffset) {
3004
+ const startOffset = Math.max(0, endOffset - (6 + MAX_16_BITS));
3005
+ const tailArray = await readUint8Array(reader, startOffset, endOffset - startOffset);
3006
+ const tailView = getDataView(tailArray);
3007
+ for (let indexByte = tailArray.length - 6; indexByte >= 0; indexByte--) {
3008
+ if (getUint32(tailView, indexByte) == DIGITAL_SIGNATURE_RECORD_SIGNATURE && indexByte + 6 + getUint16(tailView, indexByte + 4) == tailArray.length) {
3009
+ return startOffset + indexByte;
3010
+ }
3011
+ }
3012
+ }
3013
+ async function findZip64EndOfDirectoryOffset(reader, endOffset) {
3014
+ const startOffset = Math.max(0, endOffset - (ZIP64_END_OF_CENTRAL_DIR_LENGTH + MAX_16_BITS));
3015
+ const tailArray = await readUint8Array(reader, startOffset, endOffset - startOffset);
3016
+ const tailView = getDataView(tailArray);
3017
+ for (let indexByte = tailArray.length - ZIP64_END_OF_CENTRAL_DIR_LENGTH; indexByte >= 0; indexByte--) {
3018
+ if (getUint32(tailView, indexByte) == ZIP64_END_OF_CENTRAL_DIR_SIGNATURE && indexByte + 12 + Number(tailView.getBigUint64(indexByte + 4, true)) == tailArray.length) {
3019
+ return startOffset + indexByte;
3020
+ }
3021
+ }
3022
+ }
3023
+ async function probeLocalHeaders(reader, directoryArray, directoryView, offsetDelta) {
3024
+ let result = { localHeaderFound: false, shiftedLocalHeaderFound: false };
3025
+ let recordOffset = 0;
3026
+ while (recordOffset + CENTRAL_FILE_HEADER_LENGTH <= directoryArray.length && getUint32(directoryView, recordOffset) == CENTRAL_FILE_HEADER_SIGNATURE) {
3027
+ const localHeaderOffset = getLocalHeaderOffset(directoryArray, directoryView, recordOffset);
3028
+ if (localHeaderOffset !== UNDEFINED_VALUE) {
3029
+ const localHeaderFound = await startsWithSignature(reader, localHeaderOffset, LOCAL_FILE_HEADER_SIGNATURE);
3030
+ const shiftedLocalHeaderFound = await startsWithSignature(reader, localHeaderOffset + offsetDelta, LOCAL_FILE_HEADER_SIGNATURE);
3031
+ if (!recordOffset) {
3032
+ result = { localHeaderFound, shiftedLocalHeaderFound };
3033
+ }
3034
+ if (localHeaderFound != shiftedLocalHeaderFound) {
3035
+ return { localHeaderFound, shiftedLocalHeaderFound };
3036
+ }
3037
+ }
3038
+ recordOffset += CENTRAL_FILE_HEADER_LENGTH + getUint16(directoryView, recordOffset + 28) + getUint16(directoryView, recordOffset + 30) + getUint16(directoryView, recordOffset + 32);
3039
+ }
3040
+ return result;
3041
+ }
3042
+ function getLocalHeaderOffset(directoryArray, directoryView, recordOffset) {
3043
+ const localHeaderOffset = getUint32(directoryView, recordOffset + 42);
3044
+ if (localHeaderOffset != MAX_32_BITS) {
3045
+ return localHeaderOffset;
3046
+ }
3047
+ let offsetExtraField = recordOffset + CENTRAL_FILE_HEADER_LENGTH + getUint16(directoryView, recordOffset + 28);
3048
+ const endExtraField = Math.min(offsetExtraField + getUint16(directoryView, recordOffset + 30), directoryArray.length);
3049
+ while (offsetExtraField + 4 <= endExtraField) {
3050
+ const type = getUint16(directoryView, offsetExtraField);
3051
+ const size = getUint16(directoryView, offsetExtraField + 2);
3052
+ if (type == EXTRAFIELD_TYPE_ZIP64) {
3053
+ let offsetValue = offsetExtraField + 4;
3054
+ if (getUint32(directoryView, recordOffset + 24) == MAX_32_BITS) {
3055
+ offsetValue += 8;
3056
+ }
3057
+ if (getUint32(directoryView, recordOffset + 20) == MAX_32_BITS) {
3058
+ offsetValue += 8;
3059
+ }
3060
+ return offsetValue + 8 <= endExtraField ? getBigUint64(directoryView, offsetValue) : UNDEFINED_VALUE;
3061
+ }
3062
+ offsetExtraField += 4 + size;
3063
+ }
3064
+ return UNDEFINED_VALUE;
3065
+ }
2991
3066
  function readDigitalSignature(signatureRecordArray) {
2992
3067
  if (signatureRecordArray.length >= 6) {
2993
3068
  const signatureRecordView = getDataView(signatureRecordArray);
@@ -3069,6 +3144,7 @@ function readCommonFooter(fileEntry, directory, dataView, offset, localDirectory
3069
3144
  uncompressedSize: getUint32(dataView, offset + HEADER_OFFSET_UNCOMPRESSED_SIZE)
3070
3145
  });
3071
3146
  const extraFieldZip64 = extraField.get(EXTRAFIELD_TYPE_ZIP64);
3147
+ let extraFieldZip64Missing;
3072
3148
  if (extraFieldZip64) {
3073
3149
  if (!readExtraFieldZip64(extraFieldZip64, directory, localDirectory)) {
3074
3150
  malformedExtraField = true;
@@ -3078,7 +3154,7 @@ function readCommonFooter(fileEntry, directory, dataView, offset, localDirectory
3078
3154
  if (localDirectory) {
3079
3155
  malformedExtraField = true;
3080
3156
  } else {
3081
- throw new Error(ERR_EXTRAFIELD_ZIP64_NOT_FOUND);
3157
+ extraFieldZip64Missing = true;
3082
3158
  }
3083
3159
  }
3084
3160
  const extraFieldUnicodePath = extraField.get(EXTRAFIELD_TYPE_UNICODE_PATH);
@@ -3111,33 +3187,34 @@ function readCommonFooter(fileEntry, directory, dataView, offset, localDirectory
3111
3187
  readExtraFieldUnixDates(extraFieldUnixType1, directory);
3112
3188
  directory.extraFieldUnixType1 = extraFieldUnixType1;
3113
3189
  }
3190
+ const extraFieldExtendedTimestamp = extraField.get(EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP);
3191
+ if (extraFieldExtendedTimestamp) {
3192
+ readExtraFieldExtendedTimestamp(extraFieldExtendedTimestamp, directory, localDirectory);
3193
+ directory.extraFieldExtendedTimestamp = extraFieldExtendedTimestamp;
3194
+ }
3114
3195
  const extraFieldNTFS = extraField.get(EXTRAFIELD_TYPE_NTFS);
3115
3196
  if (extraFieldNTFS) {
3116
3197
  readExtraFieldNTFS(extraFieldNTFS, directory);
3117
3198
  directory.extraFieldNTFS = extraFieldNTFS;
3118
3199
  }
3119
- const extraFieldUnix = extraField.get(EXTRAFIELD_TYPE_UNIX);
3200
+ const extraFieldInfoZip = extraField.get(EXTRAFIELD_TYPE_INFOZIP);
3120
3201
  let unixIdsRead;
3202
+ if (extraFieldInfoZip) {
3203
+ unixIdsRead = readExtraFieldUnix(extraFieldInfoZip, directory, true);
3204
+ directory.extraFieldInfoZip = extraFieldInfoZip;
3205
+ }
3206
+ const extraFieldUnix = extraField.get(EXTRAFIELD_TYPE_UNIX);
3121
3207
  if (extraFieldUnix) {
3122
- unixIdsRead = readExtraFieldUnix(extraFieldUnix, directory, false);
3208
+ readExtraFieldUnix(extraFieldUnix, unixIdsRead ? {} : directory, false);
3123
3209
  directory.extraFieldUnix = extraFieldUnix;
3124
3210
  }
3125
- if (!unixIdsRead) {
3126
- const extraFieldInfoZip = extraField.get(EXTRAFIELD_TYPE_INFOZIP);
3127
- if (extraFieldInfoZip) {
3128
- readExtraFieldUnix(extraFieldInfoZip, directory, true);
3129
- directory.extraFieldInfoZip = extraFieldInfoZip;
3130
- }
3131
- }
3132
- const extraFieldExtendedTimestamp = extraField.get(EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP);
3133
- if (extraFieldExtendedTimestamp) {
3134
- readExtraFieldExtendedTimestamp(extraFieldExtendedTimestamp, directory, localDirectory);
3135
- directory.extraFieldExtendedTimestamp = extraFieldExtendedTimestamp;
3136
- }
3137
3211
  const extraFieldUSDZ = extraField.get(EXTRAFIELD_TYPE_USDZ);
3138
3212
  if (extraFieldUSDZ) {
3139
3213
  directory.extraFieldUSDZ = extraFieldUSDZ;
3140
3214
  }
3215
+ if (extraFieldZip64Missing) {
3216
+ throw new Error(ERR_EXTRAFIELD_ZIP64_NOT_FOUND);
3217
+ }
3141
3218
  return malformedExtraField;
3142
3219
  }
3143
3220
  function readExtraFieldZip64(extraFieldZip64, directory, localDirectory) {
@@ -3341,10 +3418,7 @@ async function detectOverlappingEntry({
3341
3418
  let dataDescriptorLength = 0;
3342
3419
  if (dataDescriptor) {
3343
3420
  const zip64 = Boolean(extraFieldZip64);
3344
- const dataDescriptorArray = await readUint8Array(reader, dataOffset + compressedSize, DATA_DESCRIPTOR_RECORD_ZIP_64_LENGTH + DATA_DESCRIPTOR_RECORD_SIGNATURE_LENGTH);
3345
- const dataDescriptorView = getDataView(dataDescriptorArray);
3346
- const candidates = [[zip64, true], [zip64, false], [!zip64, true], [!zip64, false]].map(([zip64Layout, signature]) => readDataDescriptor(dataDescriptorView, zip64Layout, signature)).filter((candidate) => candidate && candidate.compressedSize == compressedSize && candidate.uncompressedSize == uncompressedSize);
3347
- const localDataDescriptor = candidates.find((candidate) => candidate.crc32 == crc32) || candidates[0] || readDataDescriptor(dataDescriptorView, zip64, true) || readDataDescriptor(dataDescriptorView, zip64, false);
3421
+ const localDataDescriptor = await readLocalDataDescriptor(reader, dataOffset + compressedSize, { crc32, compressedSize, uncompressedSize, zip64 });
3348
3422
  if (localDataDescriptor) {
3349
3423
  fileEntry.localDirectory.dataDescriptor = localDataDescriptor;
3350
3424
  dataDescriptorLength = getDataDescriptorLength(localDataDescriptor.zip64, localDataDescriptor.signature);
@@ -3410,6 +3484,20 @@ function mergeRanges(sortedRanges, pendingRanges) {
3410
3484
  }
3411
3485
  return mergedRanges;
3412
3486
  }
3487
+ async function readLocalDataDescriptor(reader, offset, { crc32, compressedSize, uncompressedSize, zip64 }) {
3488
+ const maxLength = DATA_DESCRIPTOR_RECORD_ZIP_64_LENGTH + DATA_DESCRIPTOR_RECORD_SIGNATURE_LENGTH;
3489
+ const length = Math.min(maxLength, Math.max(0, reader.size - offset));
3490
+ const dataDescriptorArray = length ? await readUint8Array(reader, offset, length) : EMPTY_UINT8_ARRAY;
3491
+ const dataDescriptorView = getDataView(dataDescriptorArray);
3492
+ const candidates = [[zip64, true], [zip64, false], [!zip64, true], [!zip64, false]].map(([zip64Layout, signature]) => readDataDescriptor(dataDescriptorView, zip64Layout, signature)).filter((candidate) => candidate && candidate.compressedSize == compressedSize && candidate.uncompressedSize == uncompressedSize);
3493
+ return candidates.find((candidate) => candidate.crc32 == crc32) || candidates[0] || readDataDescriptor(dataDescriptorView, zip64, true) || readDataDescriptor(dataDescriptorView, zip64, false);
3494
+ }
3495
+ async function getEntryDataDescriptorLength(reader, offset, { crc32, compressedSize, uncompressedSize, extraFieldZip64 }) {
3496
+ const dataDescriptor = await readLocalDataDescriptor(reader, offset, { crc32, compressedSize, uncompressedSize, zip64: Boolean(extraFieldZip64) });
3497
+ if (dataDescriptor && dataDescriptor.compressedSize == compressedSize && dataDescriptor.uncompressedSize == uncompressedSize) {
3498
+ return getDataDescriptorLength(dataDescriptor.zip64, dataDescriptor.signature);
3499
+ }
3500
+ }
3413
3501
  function readDataDescriptor(dataDescriptorView, zip64, signature) {
3414
3502
  const offset = signature ? DATA_DESCRIPTOR_RECORD_SIGNATURE_LENGTH : 0;
3415
3503
  if (dataDescriptorView.byteLength < getDataDescriptorLength(zip64, signature) || signature && getUint32(dataDescriptorView, 0) != DATA_DESCRIPTOR_RECORD_SIGNATURE) {
@@ -3638,6 +3726,13 @@ function validateLocalDirectory(zipEntry, localDirectory, rawLocalFilename, chec
3638
3726
  reportAmbiguity(reject, warnings, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES);
3639
3727
  }
3640
3728
  }
3729
+ function validateDataDescriptor(zipEntry, localDirectory, warnings) {
3730
+ const { dataDescriptor } = localDirectory;
3731
+ const maskedLocalDirectory = zipEntry.decryptedDirectory && (localDirectory.rawBitFlag & BITFLAG_MASKED_LOCAL_HEADERS) == BITFLAG_MASKED_LOCAL_HEADERS;
3732
+ if (dataDescriptor && !maskedLocalDirectory && (zipEntry.crc32 !== UNDEFINED_VALUE && dataDescriptor.crc32 != zipEntry.crc32 || dataDescriptor.compressedSize != zipEntry.compressedSize || dataDescriptor.uncompressedSize != zipEntry.uncompressedSize)) {
3733
+ reportAmbiguity(!warnings, warnings, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES);
3734
+ }
3735
+ }
3641
3736
  function reportAmbiguity(reject, warnings, reason) {
3642
3737
  if (reject) {
3643
3738
  throwAmbiguousArchive(reason);
@@ -3680,9 +3775,9 @@ function getBigUint64(view, offset) {
3680
3775
  }
3681
3776
  return Number(value);
3682
3777
  }
3683
- var ERR_BAD_FORMAT, ERR_EOCDR_NOT_FOUND, ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND, ERR_CENTRAL_DIRECTORY_NOT_FOUND, ERR_LOCAL_FILE_HEADER_NOT_FOUND, ERR_EXTRAFIELD_ZIP64_NOT_FOUND, ERR_ENCRYPTED, ERR_UNSUPPORTED_ENCRYPTION, ERR_SPLIT_ZIP_FILE, ERR_OVERLAPPING_ENTRY, ERR_ENTRY_DATA_OUT_OF_BOUNDS, ERR_AMBIGUOUS_ARCHIVE, ERR_ENCRYPTED_CENTRAL_DIRECTORY, ERR_UNSAFE_FILENAME, ERR_INVALID_STRICTNESS, ERR_INVALID_FILENAME_VALIDATION, ERR_INVALID_MAX_APPENDED_DATA_SIZE, ERR_UNSUPPORTED_UINT64, WARNING_UNSORTED_CENTRAL_DIRECTORY, WARNING_UNKNOWN_VERSION, WARNING_COMPRESSED_PATCHED_DATA, WARNING_MALFORMED_EXTRA_FIELD, WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA, WARNING_WRAPPED_ENTRIES_COUNT, WARNING_APPENDED_DATA, WARNING_PREPENDED_DATA, WARNING_PREPENDED_CENTRAL_DIRECTORY, WARNING_TRAILING_CENTRAL_DIRECTORY_DATA, WARNING_DUPLICATE_FILENAME, WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY, WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY, WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME, WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG, WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES, MAX_KNOWN_VERSION, DRIVE_LETTER_REGEXP, PARENT_DIRECTORY_REGEXP, CHARSET_UTF8, PROPERTY_NAME_UTF8_SUFFIX, CHARSET_CP437, BITFLAG_AMBIGUITY_MASK, VENDOR_VERSION_AE_1, ZIP64_PROPERTIES, ZIP64_EXTRACTION, MAX_SAFE_UINT64, MAX_END_OF_CENTRAL_DIR_PROBES, MAX_DEFLATE_EXPANSION_RATIO, CENTRAL_DIRECTORY_UNREACHABLE, CENTRAL_DIRECTORY_PLAUSIBLE, CENTRAL_DIRECTORY_REACHABLE, ZipReader, ZipReaderStream, ZipEntry;
3778
+ var ERR_BAD_FORMAT, ERR_EOCDR_NOT_FOUND, ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND, ERR_CENTRAL_DIRECTORY_NOT_FOUND, ERR_ENCRYPTED, ERR_UNSUPPORTED_ENCRYPTION, ERR_SPLIT_ZIP_FILE, ERR_ENTRY_DATA_OUT_OF_BOUNDS, ERR_AMBIGUOUS_ARCHIVE, ERR_ENCRYPTED_CENTRAL_DIRECTORY, ERR_UNSAFE_FILENAME, ERR_INVALID_STRICTNESS, ERR_INVALID_FILENAME_VALIDATION, ERR_INVALID_MAX_APPENDED_DATA_SIZE, ERR_UNSUPPORTED_UINT64, WARNING_UNSORTED_CENTRAL_DIRECTORY, WARNING_UNKNOWN_VERSION, WARNING_COMPRESSED_PATCHED_DATA, WARNING_MALFORMED_EXTRA_FIELD, WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA, WARNING_WRAPPED_ENTRIES_COUNT, WARNING_APPENDED_DATA, WARNING_PREPENDED_DATA, WARNING_PREPENDED_CENTRAL_DIRECTORY, WARNING_TRAILING_CENTRAL_DIRECTORY_DATA, WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET, WARNING_MISSING_ZIP64_EXTRA_FIELD, WARNING_DUPLICATE_FILENAME, WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY, WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY, WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME, WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG, WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES, MAX_KNOWN_VERSION, DRIVE_LETTER_REGEXP, PARENT_DIRECTORY_REGEXP, CHARSET_UTF8, PROPERTY_NAME_UTF8_SUFFIX, CHARSET_CP437, BITFLAG_AMBIGUITY_MASK, VENDOR_VERSION_AE_1, ZIP64_PROPERTIES, ZIP64_EXTRACTION, MAX_SAFE_UINT64, MAX_END_OF_CENTRAL_DIR_PROBES, MAX_DEFLATE_EXPANSION_RATIO, CENTRAL_DIRECTORY_UNREACHABLE, CENTRAL_DIRECTORY_PLAUSIBLE, CENTRAL_DIRECTORY_REACHABLE, ZipReader, ZipReaderStream, ZipEntry;
3684
3779
  var init_zip_reader = __esm({
3685
- "../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/zip-reader.js"() {
3780
+ "../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-reader.js"() {
3686
3781
  "use strict";
3687
3782
  init_constants();
3688
3783
  init_configuration();
@@ -3701,12 +3796,9 @@ var init_zip_reader = __esm({
3701
3796
  ERR_EOCDR_NOT_FOUND = "End of central directory not found";
3702
3797
  ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND = "End of Zip64 central directory locator not found";
3703
3798
  ERR_CENTRAL_DIRECTORY_NOT_FOUND = "Central directory header not found";
3704
- ERR_LOCAL_FILE_HEADER_NOT_FOUND = "Local file header not found";
3705
- ERR_EXTRAFIELD_ZIP64_NOT_FOUND = "Zip64 extra field not found";
3706
3799
  ERR_ENCRYPTED = "File contains encrypted entry";
3707
3800
  ERR_UNSUPPORTED_ENCRYPTION = "Encryption method not supported";
3708
3801
  ERR_SPLIT_ZIP_FILE = "Split zip file";
3709
- ERR_OVERLAPPING_ENTRY = "Overlapping entry found";
3710
3802
  ERR_ENTRY_DATA_OUT_OF_BOUNDS = "Entry data out of bounds";
3711
3803
  ERR_AMBIGUOUS_ARCHIVE = "Ambiguous archive";
3712
3804
  ERR_ENCRYPTED_CENTRAL_DIRECTORY = "Encrypted central directory is not supported";
@@ -3725,6 +3817,8 @@ var init_zip_reader = __esm({
3725
3817
  WARNING_PREPENDED_DATA = "prepended data";
3726
3818
  WARNING_PREPENDED_CENTRAL_DIRECTORY = "prepended central directory";
3727
3819
  WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = "trailing central directory data";
3820
+ WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET = "mismatched central directory offset";
3821
+ WARNING_MISSING_ZIP64_EXTRA_FIELD = "missing zip64 extra field";
3728
3822
  WARNING_DUPLICATE_FILENAME = "duplicate filename";
3729
3823
  WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = "mismatched zip64 end of central directory record";
3730
3824
  WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY = "multiple end of central directory records";
@@ -3766,8 +3860,9 @@ var init_zip_reader = __esm({
3766
3860
  constructor(reader, options = {}) {
3767
3861
  Object.assign(this, {
3768
3862
  reader: new GenericReader(reader),
3769
- options,
3770
- readRanges: { indexes: /* @__PURE__ */ new Set(), sortedRanges: [], pendingRanges: [] }
3863
+ options: options || {},
3864
+ readRanges: { indexes: /* @__PURE__ */ new Set(), sortedRanges: [], pendingRanges: [] },
3865
+ entriesMissingZip64ExtraField: /* @__PURE__ */ new WeakSet()
3771
3866
  });
3772
3867
  }
3773
3868
  async *getEntriesGenerator(options = {}) {
@@ -3834,15 +3929,21 @@ var init_zip_reader = __esm({
3834
3929
  directoryDataOffset = getDiskOffset(reader, getUint32(endOfDirectoryLocatorView, 4)) + getBigUint64(endOfDirectoryLocatorView, 8);
3835
3930
  let endOfDirectoryArray = await readUint8Array(reader, directoryDataOffset, ZIP64_END_OF_CENTRAL_DIR_LENGTH);
3836
3931
  let endOfDirectoryView2 = getDataView(endOfDirectoryArray);
3837
- const expectedDirectoryDataOffset = endOfDirectoryInfo.offset - ZIP64_END_OF_CENTRAL_DIR_LOCATOR_LENGTH - ZIP64_END_OF_CENTRAL_DIR_LENGTH;
3838
- if ((endOfDirectoryArray.length < ZIP64_END_OF_CENTRAL_DIR_LENGTH || getUint32(endOfDirectoryView2, 0) != ZIP64_END_OF_CENTRAL_DIR_SIGNATURE) && directoryDataOffset != expectedDirectoryDataOffset && expectedDirectoryDataOffset >= 0) {
3839
- const originalDirectoryDataOffset = directoryDataOffset;
3840
- directoryDataOffset = expectedDirectoryDataOffset;
3841
- if (directoryDataOffset > originalDirectoryDataOffset) {
3842
- prependedDataLength = directoryDataOffset - originalDirectoryDataOffset;
3932
+ if (endOfDirectoryArray.length < ZIP64_END_OF_CENTRAL_DIR_LENGTH || getUint32(endOfDirectoryView2, 0) != ZIP64_END_OF_CENTRAL_DIR_SIGNATURE) {
3933
+ const locatorOffset = endOfDirectoryInfo.offset - ZIP64_END_OF_CENTRAL_DIR_LOCATOR_LENGTH;
3934
+ let expectedDirectoryDataOffset = locatorOffset - ZIP64_END_OF_CENTRAL_DIR_LENGTH;
3935
+ if (!await startsWithSignature(reader, expectedDirectoryDataOffset, ZIP64_END_OF_CENTRAL_DIR_SIGNATURE)) {
3936
+ expectedDirectoryDataOffset = await findZip64EndOfDirectoryOffset(reader, locatorOffset);
3937
+ }
3938
+ if (expectedDirectoryDataOffset !== UNDEFINED_VALUE && expectedDirectoryDataOffset >= 0 && directoryDataOffset != expectedDirectoryDataOffset) {
3939
+ const originalDirectoryDataOffset = directoryDataOffset;
3940
+ directoryDataOffset = expectedDirectoryDataOffset;
3941
+ if (directoryDataOffset > originalDirectoryDataOffset) {
3942
+ prependedDataLength = directoryDataOffset - originalDirectoryDataOffset;
3943
+ }
3944
+ endOfDirectoryArray = await readUint8Array(reader, directoryDataOffset, ZIP64_END_OF_CENTRAL_DIR_LENGTH);
3945
+ endOfDirectoryView2 = getDataView(endOfDirectoryArray);
3843
3946
  }
3844
- endOfDirectoryArray = await readUint8Array(reader, directoryDataOffset, ZIP64_END_OF_CENTRAL_DIR_LENGTH);
3845
- endOfDirectoryView2 = getDataView(endOfDirectoryArray);
3846
3947
  }
3847
3948
  if (endOfDirectoryArray.length < ZIP64_END_OF_CENTRAL_DIR_LENGTH || getUint32(endOfDirectoryView2, 0) != ZIP64_END_OF_CENTRAL_DIR_SIGNATURE) {
3848
3949
  throw new Error(ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND);
@@ -3881,14 +3982,12 @@ var init_zip_reader = __esm({
3881
3982
  reportAmbiguity(checkAmbiguity, warnings, WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY);
3882
3983
  }
3883
3984
  directoryDataOffset = getDiskOffset(reader, diskNumber) + getBigUint64(endOfDirectoryView2, 48) + prependedDataLength;
3985
+ } else if (directoryDataOffset == MAX_32_BITS || directoryDataLength == MAX_32_BITS || diskNumber == MAX_16_BITS) {
3986
+ throw new Error(ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND);
3884
3987
  }
3885
3988
  }
3886
3989
  let declaredDirectoryDataLength = directoryDataLength;
3887
3990
  const centralDirectoryEndOffset = endOfDirectoryInfo.offset - (zip64EndOfDirectory ? zip64EndOfDirectoryLength + ZIP64_END_OF_CENTRAL_DIR_LOCATOR_LENGTH : 0);
3888
- if (directoryDataOffset >= reader.size) {
3889
- prependedDataLength = reader.size - directoryDataOffset - directoryDataLength - END_OF_CENTRAL_DIR_LENGTH;
3890
- directoryDataOffset = reader.size - directoryDataLength - END_OF_CENTRAL_DIR_LENGTH;
3891
- }
3892
3991
  if (expectedLastDiskNumber != lastDiskNumber) {
3893
3992
  throw new Error(ERR_SPLIT_ZIP_FILE);
3894
3993
  }
@@ -3896,31 +3995,54 @@ var init_zip_reader = __esm({
3896
3995
  throw new Error(ERR_BAD_FORMAT);
3897
3996
  }
3898
3997
  let offset = 0;
3899
- let directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
3998
+ let directoryArray = directoryDataOffset < reader.size ? await readUint8Array(reader, directoryDataOffset, directoryDataLength) : EMPTY_UINT8_ARRAY;
3900
3999
  let directoryView = getDataView(directoryArray);
3901
4000
  if (directoryDataLength) {
3902
- if (directoryArray.length < 4) {
3903
- throw new Error(ERR_BAD_FORMAT);
3904
- }
3905
- const expectedDirectoryDataOffset = centralDirectoryEndOffset - directoryDataLength;
4001
+ let expectedDirectoryDataOffset = centralDirectoryEndOffset - directoryDataLength;
3906
4002
  if (directoryDataOffset != expectedDirectoryDataOffset && diskNumber == lastDiskNumber) {
3907
- const storedPointsAtDirectory = getUint32(directoryView, offset) == CENTRAL_FILE_HEADER_SIGNATURE || Boolean(directoryEncryptionInfo && directoryEncryptionInfo.compressedSize) || detectEncryptedCentralDirectory(directoryView);
4003
+ const storedPointsAtDirectory = directoryArray.length >= 4 && (getUint32(directoryView, offset) == CENTRAL_FILE_HEADER_SIGNATURE || Boolean(directoryEncryptionInfo && directoryEncryptionInfo.compressedSize) || detectEncryptedCentralDirectory(directoryView));
4004
+ if (!storedPointsAtDirectory && expectedDirectoryDataOffset < 0) {
4005
+ throw new Error(ERR_BAD_FORMAT);
4006
+ }
3908
4007
  let reconcile = !storedPointsAtDirectory;
3909
- if (!reconcile && expectedDirectoryDataOffset >= 0 && expectedDirectoryDataOffset + 4 <= reader.size) {
3910
- const expectedSignatureArray = await readUint8Array(reader, expectedDirectoryDataOffset, 4);
3911
- reconcile = getUint32(getDataView(expectedSignatureArray), 0) == CENTRAL_FILE_HEADER_SIGNATURE;
4008
+ if (expectedDirectoryDataOffset >= 0 && expectedDirectoryDataOffset + 4 <= reader.size) {
4009
+ let expectedPointsAtDirectory = await pointsAtDirectory(reader, expectedDirectoryDataOffset);
4010
+ if (!expectedPointsAtDirectory) {
4011
+ const signatureRecordOffset = await findDigitalSignatureRecordOffset(reader, centralDirectoryEndOffset);
4012
+ const signedDirectoryDataOffset = signatureRecordOffset - directoryDataLength;
4013
+ if (signatureRecordOffset !== UNDEFINED_VALUE && signedDirectoryDataOffset >= 0 && await pointsAtDirectory(reader, signedDirectoryDataOffset)) {
4014
+ expectedDirectoryDataOffset = signedDirectoryDataOffset;
4015
+ expectedPointsAtDirectory = true;
4016
+ }
4017
+ }
4018
+ if (storedPointsAtDirectory) {
4019
+ reconcile = expectedPointsAtDirectory;
4020
+ }
3912
4021
  }
3913
- if (reconcile) {
4022
+ if (reconcile && expectedDirectoryDataOffset != directoryDataOffset) {
3914
4023
  const originalDirectoryDataOffset = directoryDataOffset;
3915
4024
  directoryDataOffset = expectedDirectoryDataOffset;
3916
- if (directoryDataOffset > originalDirectoryDataOffset) {
3917
- prependedDataLength += directoryDataOffset - originalDirectoryDataOffset;
3918
- prependedCentralDirectory = storedPointsAtDirectory;
3919
- }
3920
4025
  directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
3921
4026
  directoryView = getDataView(directoryArray);
4027
+ const offsetDelta = directoryDataOffset - originalDirectoryDataOffset;
4028
+ const { localHeaderFound, shiftedLocalHeaderFound } = await probeLocalHeaders(reader, directoryArray, directoryView, offsetDelta);
4029
+ if (offsetDelta > 0 && !(localHeaderFound && !shiftedLocalHeaderFound)) {
4030
+ prependedDataLength += offsetDelta;
4031
+ prependedCentralDirectory = storedPointsAtDirectory;
4032
+ } else {
4033
+ reportAmbiguity(checkAmbiguity, warnings, WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET);
4034
+ if (offsetDelta < 0 && !localHeaderFound && shiftedLocalHeaderFound) {
4035
+ prependedDataLength += offsetDelta;
4036
+ }
4037
+ }
3922
4038
  }
3923
4039
  }
4040
+ if (directoryArray.length < 4) {
4041
+ throw new Error(ERR_BAD_FORMAT);
4042
+ }
4043
+ } else if (!filesLength && directoryDataOffset < centralDirectoryEndOffset && diskNumber == lastDiskNumber) {
4044
+ prependedDataLength += centralDirectoryEndOffset - directoryDataOffset;
4045
+ directoryDataOffset = centralDirectoryEndOffset;
3924
4046
  }
3925
4047
  const expectedDirectoryDataLength = centralDirectoryEndOffset - directoryDataOffset;
3926
4048
  if (directoryDataLength != expectedDirectoryDataLength && expectedDirectoryDataLength >= 0 && diskNumber == lastDiskNumber) {
@@ -3951,7 +4073,7 @@ var init_zip_reader = __esm({
3951
4073
  const commentEncoding = getOptionValue(zipReader, options, OPTION_COMMENT_ENCODING);
3952
4074
  const filenames = /* @__PURE__ */ new Set();
3953
4075
  let duplicateFilename;
3954
- let previousEntryPosition = -1;
4076
+ let previousEntryPosition = -Infinity;
3955
4077
  const recoverWrappedFilesLength = !checkAmbiguity && !zip64EndOfDirectory;
3956
4078
  if (!filesLength && recoverWrappedFilesLength) {
3957
4079
  filesLength = getWrappedFilesLength(directoryView, directoryArray, offset);
@@ -3959,8 +4081,10 @@ var init_zip_reader = __esm({
3959
4081
  addWarning(warnings, WARNING_WRAPPED_ENTRIES_COUNT);
3960
4082
  }
3961
4083
  }
4084
+ const entryOptions = Object.assign({}, zipReader.options, options, { [OPTION_STRICTNESS]: strictness });
4085
+ delete entryOptions[OPTION_CHECK_AMBIGUITY];
3962
4086
  for (let indexFile = 0; indexFile < filesLength; indexFile++) {
3963
- const fileEntry = new ZipEntry(reader, zipReader.options);
4087
+ const fileEntry = new ZipEntry(reader, entryOptions);
3964
4088
  if (offset + CENTRAL_FILE_HEADER_LENGTH > directoryArray.length || getUint32(directoryView, offset) != CENTRAL_FILE_HEADER_SIGNATURE) {
3965
4089
  if (indexFile == 0 && !decryptedDirectory && (zip64EndOfDirectoryVersion2 || detectEncryptedCentralDirectory(directoryView))) {
3966
4090
  throw new Error(ERR_ENCRYPTED_CENTRAL_DIRECTORY);
@@ -3999,17 +4123,6 @@ var init_zip_reader = __esm({
3999
4123
  if (filename === UNDEFINED_VALUE) {
4000
4124
  filename = decodeText(rawFilename, rawFilenameEncoding);
4001
4125
  }
4002
- if (normalizeFilename) {
4003
- const normalizedFilename = normalizeFilename(filename);
4004
- if (normalizedFilename !== UNDEFINED_VALUE) {
4005
- filename = normalizedFilename;
4006
- }
4007
- }
4008
- if (isUnsafeFilename(filename, filenameValidation)) {
4009
- const error = new Error(ERR_UNSAFE_FILENAME);
4010
- error.filename = filename;
4011
- throw error;
4012
- }
4013
4126
  let comment = decode2(rawComment, rawCommentEncoding, TEXT_TYPE_COMMENT);
4014
4127
  if (comment === UNDEFINED_VALUE) {
4015
4128
  comment = decodeText(rawComment, rawCommentEncoding);
@@ -4037,16 +4150,42 @@ var init_zip_reader = __esm({
4037
4150
  filename,
4038
4151
  comment
4039
4152
  });
4040
- if (readCommonFooter(fileEntry, fileEntry, directoryView, offset + 6)) {
4153
+ let malformedExtraField;
4154
+ try {
4155
+ malformedExtraField = readCommonFooter(fileEntry, fileEntry, directoryView, offset + 6);
4156
+ } catch (error) {
4157
+ if (checkAmbiguity || error.message != ERR_EXTRAFIELD_ZIP64_NOT_FOUND) {
4158
+ throw error;
4159
+ }
4160
+ fileEntry.zip64ExtraFieldMissing = true;
4161
+ addWarning(warnings, WARNING_MISSING_ZIP64_EXTRA_FIELD, fileEntry.filename);
4162
+ }
4163
+ filename = fileEntry.filename;
4164
+ if (normalizeFilename) {
4165
+ const normalizedFilename = normalizeFilename(filename);
4166
+ if (normalizedFilename !== UNDEFINED_VALUE) {
4167
+ filename = fileEntry.filename = normalizedFilename;
4168
+ }
4169
+ }
4170
+ if (isUnsafeFilename(filename, filenameValidation)) {
4171
+ const error = new Error(ERR_UNSAFE_FILENAME);
4172
+ error.filename = filename;
4173
+ throw error;
4174
+ }
4175
+ if (malformedExtraField) {
4041
4176
  addWarning(warnings, WARNING_MALFORMED_EXTRA_FIELD, filename);
4042
4177
  }
4043
- fileEntry.offset += prependedDataLength;
4044
- const entryPosition = getDiskOffset(reader, fileEntry.diskNumberStart) + fileEntry.offset;
4045
- startOffset = Math.min(entryPosition, startOffset);
4046
- if (entryPosition < previousEntryPosition) {
4047
- addWarning(warnings, WARNING_UNSORTED_CENTRAL_DIRECTORY, filename);
4178
+ if (fileEntry.zip64ExtraFieldMissing && fileEntry.offset == MAX_32_BITS) {
4179
+ startOffset = 0;
4180
+ } else {
4181
+ fileEntry.offset += prependedDataLength;
4182
+ const entryPosition = getDiskOffset(reader, fileEntry.diskNumberStart) + fileEntry.offset;
4183
+ startOffset = Math.min(entryPosition, startOffset);
4184
+ if (entryPosition < previousEntryPosition) {
4185
+ addWarning(warnings, WARNING_UNSORTED_CENTRAL_DIRECTORY, filename);
4186
+ }
4187
+ previousEntryPosition = entryPosition;
4048
4188
  }
4049
- previousEntryPosition = entryPosition;
4050
4189
  if ((fileEntry.version & MAX_8_BITS) > MAX_KNOWN_VERSION) {
4051
4190
  addWarning(warnings, WARNING_UNKNOWN_VERSION, filename);
4052
4191
  }
@@ -4066,9 +4205,10 @@ var init_zip_reader = __esm({
4066
4205
  const sticky = Boolean(fileEntry.unixMode & FILE_ATTR_UNIX_STICKY_MASK);
4067
4206
  const unixType = fileEntry.unixMode === UNDEFINED_VALUE ? unixExternalUpper : fileEntry.unixMode;
4068
4207
  const symlink = (unixType & FILE_ATTR_UNIX_TYPE_MASK) == FILE_ATTR_UNIX_TYPE_SYMLINK;
4069
- const executable = !symlink && (fileEntry.unixMode !== UNDEFINED_VALUE ? (fileEntry.unixMode & FILE_ATTR_UNIX_EXECUTABLE_MASK) != 0 : unixCompatible && (unixExternalUpper & FILE_ATTR_UNIX_EXECUTABLE_MASK) != 0);
4070
4208
  const modeIsDir = fileEntry.unixMode !== UNDEFINED_VALUE && (fileEntry.unixMode & FILE_ATTR_UNIX_TYPE_MASK) == FILE_ATTR_UNIX_TYPE_DIR;
4071
4209
  const upperIsDir = (unixExternalUpper & FILE_ATTR_UNIX_TYPE_MASK) == FILE_ATTR_UNIX_TYPE_DIR;
4210
+ const directory = modeIsDir || upperIsDir || msDosCompatible && msdosAttributes.directory || fileEntry.filename.endsWith(DIRECTORY_SIGNATURE);
4211
+ const executable = !symlink && !directory && (fileEntry.unixMode !== UNDEFINED_VALUE ? (fileEntry.unixMode & FILE_ATTR_UNIX_EXECUTABLE_MASK) != 0 : unixCompatible && (unixExternalUpper & FILE_ATTR_UNIX_EXECUTABLE_MASK) != 0);
4072
4212
  Object.assign(fileEntry, {
4073
4213
  setuid,
4074
4214
  setgid,
@@ -4076,11 +4216,14 @@ var init_zip_reader = __esm({
4076
4216
  symlink,
4077
4217
  unixExternalUpper,
4078
4218
  executable,
4079
- directory: modeIsDir || upperIsDir || msDosCompatible && msdosAttributes.directory || fileEntry.filename.endsWith(DIRECTORY_SIGNATURE),
4219
+ directory,
4080
4220
  zipCrypto: fileEntry.encrypted && !fileEntry.extraFieldAES
4081
4221
  });
4082
4222
  const entry = new Entry(fileEntry);
4083
- entry.getData = (writer, options2) => fileEntry.getData(writer, entry, zipReader.readRanges, options2);
4223
+ if (fileEntry.zip64ExtraFieldMissing) {
4224
+ zipReader.entriesMissingZip64ExtraField.add(entry);
4225
+ }
4226
+ entry.getData = (writer, options2) => fileEntry.getData(writer, entry, zipReader, options2);
4084
4227
  entry.arrayBuffer = async (options2) => {
4085
4228
  const writer = new TransformStream();
4086
4229
  const arrayBufferPromise = streamToBlob(writer.readable).then((blob) => blob.arrayBuffer());
@@ -4089,7 +4232,7 @@ var init_zip_reader = __esm({
4089
4232
  await fileEntry.getData(
4090
4233
  writer,
4091
4234
  entry,
4092
- zipReader.readRanges,
4235
+ zipReader,
4093
4236
  Object.assign({}, options2, { preventClose: false })
4094
4237
  );
4095
4238
  return arrayBufferPromise;
@@ -4133,10 +4276,10 @@ var init_zip_reader = __esm({
4133
4276
  const extractPrependedData = getOptionValue(zipReader, options, OPTION_EXTRACT_PREPENDED_DATA);
4134
4277
  const extractAppendedData = getOptionValue(zipReader, options, OPTION_EXTRACT_APPENDED_DATA);
4135
4278
  const splitZipSignatureLength = (checkAmbiguity || extractPrependedData) && filesLength && startOffset == SPLIT_ZIP_FILE_SIGNATURE_LENGTH && await startsWithSplitZipMarker(reader) ? SPLIT_ZIP_FILE_SIGNATURE_LENGTH : 0;
4136
- if (checkAmbiguity && (prependedDataLength || filesLength && startOffset > splitZipSignatureLength)) {
4279
+ if (checkAmbiguity && (prependedDataLength > 0 || filesLength && startOffset > splitZipSignatureLength)) {
4137
4280
  throwAmbiguousArchive(WARNING_PREPENDED_DATA);
4138
4281
  }
4139
- if (prependedDataLength || filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH) {
4282
+ if (prependedDataLength > 0 || filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH) {
4140
4283
  addWarning(warnings, WARNING_PREPENDED_DATA);
4141
4284
  }
4142
4285
  if (prependedCentralDirectory) {
@@ -4220,8 +4363,12 @@ var init_zip_reader = __esm({
4220
4363
  options
4221
4364
  });
4222
4365
  }
4223
- async getData(writer, fileEntry, readRanges, options = {}) {
4366
+ async getData(writer, fileEntry, zipReader, options = {}) {
4224
4367
  const zipEntry = this;
4368
+ const { readRanges, directoryOffset } = zipReader;
4369
+ if (zipEntry.zip64ExtraFieldMissing) {
4370
+ throw new Error(ERR_EXTRAFIELD_ZIP64_NOT_FOUND);
4371
+ }
4225
4372
  const config3 = getConfiguration();
4226
4373
  const {
4227
4374
  reader,
@@ -4292,10 +4439,10 @@ var init_zip_reader = __esm({
4292
4439
  }
4293
4440
  validateLocalDirectory(zipEntry, localDirectory, rawLocalFilename, checkLocalFilename, checkLocalDirectory ? UNDEFINED_VALUE : warnings);
4294
4441
  const { lastAccessDate, creationDate, uid, gid } = localDirectory;
4295
- if (lastAccessDate) {
4442
+ if (lastAccessDate && fileEntry.lastAccessDate === UNDEFINED_VALUE) {
4296
4443
  fileEntry.lastAccessDate = lastAccessDate;
4297
4444
  }
4298
- if (creationDate) {
4445
+ if (creationDate && fileEntry.creationDate === UNDEFINED_VALUE) {
4299
4446
  fileEntry.creationDate = creationDate;
4300
4447
  }
4301
4448
  if (uid !== UNDEFINED_VALUE && fileEntry.uid === UNDEFINED_VALUE) {
@@ -4324,7 +4471,7 @@ var init_zip_reader = __esm({
4324
4471
  throw new Error(ERR_ENCRYPTED);
4325
4472
  }
4326
4473
  }
4327
- if (dataOffset + compressedSize > reader.size) {
4474
+ if (dataOffset + compressedSize > Math.min(reader.size, directoryOffset)) {
4328
4475
  throw new Error(ERR_ENTRY_DATA_OUT_OF_BOUNDS);
4329
4476
  }
4330
4477
  const size = compressedSize;
@@ -4361,7 +4508,6 @@ var init_zip_reader = __esm({
4361
4508
  encrypted,
4362
4509
  useWebWorkers: getOptionValue(zipEntry, options, OPTION_USE_WEB_WORKERS),
4363
4510
  useCompressionStream,
4364
- transferStreams: getOptionValue(zipEntry, options, OPTION_TRANSFER_STREAMS),
4365
4511
  deflate64,
4366
4512
  format: registeredCodec ? registeredCodec.format : UNDEFINED_VALUE,
4367
4513
  codecURI: registeredCodec ? registeredCodec.codecURI : UNDEFINED_VALUE,
@@ -4386,6 +4532,7 @@ var init_zip_reader = __esm({
4386
4532
  extraFieldZip64: extraFieldZip64 || localDirectory.extraFieldZip64,
4387
4533
  readRanges
4388
4534
  });
4535
+ validateDataDescriptor(zipEntry, localDirectory, checkLocalDirectory ? UNDEFINED_VALUE : warnings);
4389
4536
  }
4390
4537
  let writable, abortError, aborted;
4391
4538
  try {
@@ -4405,10 +4552,7 @@ var init_zip_reader = __esm({
4405
4552
  writer.size += writtenSize;
4406
4553
  }
4407
4554
  } catch (error) {
4408
- const { outputSize: failedOutputSize } = workerOptions;
4409
- if (failedOutputSize !== UNDEFINED_VALUE) {
4410
- writer.size += failedOutputSize;
4411
- } else if (isErrorObject(error) && error.outputSize !== UNDEFINED_VALUE) {
4555
+ if (isErrorObject(error) && error.outputSize !== UNDEFINED_VALUE) {
4412
4556
  writer.size += error.outputSize;
4413
4557
  }
4414
4558
  if (!checkPasswordOnly || !isErrorObject(error) || error.message != ERR_ABORT_CHECK_PASSWORD) {
@@ -5274,16 +5418,16 @@ function parseOnePuxData(exportAttributesText, exportDataText, limits) {
5274
5418
  return records;
5275
5419
  }
5276
5420
 
5277
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/zip-fs-wasm.js
5421
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-fs-wasm.js
5278
5422
  init_configuration();
5279
5423
 
5280
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/web-worker-inline-wasm.js
5424
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/web-worker-inline-wasm.js
5281
5425
  var t = new Uint8Array(288);
5282
5426
  t.fill(8, 0, 144), t.fill(9, 144, 256), t.fill(7, 256, 280), t.fill(8, 280, 288), new Uint8Array(30).fill(5);
5283
5427
  var n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
5284
5428
  var e = (t3) => t3({ workerURI: (t4) => {
5285
5429
  const e3 = "text/javascript";
5286
- let r2 = '!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const{Array:t,Object:n,Number:e,Math:o,Error:r,Uint8Array:c,Uint16Array:s,Uint32Array:a,Int32Array:i,Map:f,DataView:u,Promise:w,TextEncoder:l,crypto:d,postMessage:p,TransformStream:h,ReadableStream:y,WritableStream:m,CompressionStream:S,DecompressionStream:g}=self,v=void 0,b="undefined",k="function",z=new c,C=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let n=t;for(let t=0;t<8;t++)n=1&n?n>>>1^3988292384:n>>>1;C[0][t]=n}for(let t=0;t<256;t++)for(let n=1;n<8;n++){const e=C[n-1][t];C[n][t]=e>>>8^C[0][255&e]}const[I,M,A,E,R,x,P,D]=C;class F{constructor(t){this.o=t||-1}append(t){let n=0|this.o;const e=0|t.length;let o=0;if(e>=8&&t.buffer){const r=new u(t.buffer,t.byteOffset,e),c=e-8;for(;o<=c;o+=8){const t=n^r.getInt32(o,!0),e=r.getInt32(o+4,!0);n=D[255&t]^P[t>>>8&255]^x[t>>>16&255]^R[t>>>24&255]^E[255&e]^A[e>>>8&255]^M[e>>>16&255]^I[e>>>24&255]}}for(;o<e;o++)n=n>>>8^I[255&(n^t[o])];this.o=n}get(){return~this.o}}class U extends h{constructor(){let t;const n=new F;super({transform(t,e){n.append(t),e.enqueue(t)},flush(){const e=new c(4);new u(e.buffer).setUint32(0,n.get()),t.value=e}}),t=this}}function B(t,n){const e=new c(t.length+n.length);return e.set(t),e.set(n,t.length),e}function W(t){return new u(t.buffer,t.byteOffset,t.byteLength)}const O=64,V=20,K=new c([128]),T=new c(1),_=new i([1732584193,4023233417,2562383102,271733878,3285377520]),j=new c(256),H=new i(256),L=new i(256),Z=new i(256),N=new i(256);let q=!1;function G(t,n){!function(){if(!q){let t=1,n=1;do{t=255&(t^t<<1^(128&t?27:0)),n=255&(n^n<<1),n=255&(n^n<<2),n=255&(n^n<<4),128&n&&(n^=9),j[t]=255&(n^(n<<1|n>>7)^(n<<2|n>>6)^(n<<3|n>>5)^(n<<4|n>>4)^99)}while(1!=t);j[0]=99;for(let t=0;t<256;t++){const n=j[t],e=Y(n),o=e<<24|n<<16|n<<8|e^n;H[t]=o,L[t]=o>>>8|o<<24,Z[t]=o>>>16|o<<16,N[t]=o>>>24|o<<8}q=!0}}();const e=new i(60),o=function(t,n){const e=t.length>>2,o=e+6,r=4*(o+1);let c=1;for(let o=0;o<e;o++)n[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let t=e;t<r;t++){let o=n[t-1];t%e==0?(o=Q(o<<8|o>>>24)^c<<24,c=Y(c)):e>6&&t%e==4&&(o=Q(o)),n[t]=n[t-e]^o}return o}(t,e),r=new i(4),c=J(n);let s=0,a=0,f=0,w=0;return{process(t,n){n&&c.update(t,0,t.length),function(t){const n=new u(t.buffer,t.byteOffset,t.byteLength),e=t.length;let o=0;for(;o+16<=e;o+=16)l(),n.setInt32(o,n.getInt32(o)^r[0]),n.setInt32(o+4,n.getInt32(o+4)^r[1]),n.setInt32(o+8,n.getInt32(o+8)^r[2]),n.setInt32(o+12,n.getInt32(o+12)^r[3]);if(o<e){l();for(let n=0;o<e;o++,n++)t[o]^=r[n>>2]>>>24-8*(3&n)}}(t),n||c.update(t,0,t.length)},digest:()=>c.digest()};function l(){s=s+1|0,s||(a=a+1|0,a||(f=f+1|0,f||(w=w+1|0)));let t=X(s)^e[0],n=X(a)^e[1],c=X(f)^e[2],i=X(w)^e[3],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[4],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[5],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[6],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[7];t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[8],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[9],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[10],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[11],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[12],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[13],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[14],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[15],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[16],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[17],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[18],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[19],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[20],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[21],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[22],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[23],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[24],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[25],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[26],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[27],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[28],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[29],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[30],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[31],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[32],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[33],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[34],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[35],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[36],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[37],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[38],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[39];let h=40;o>10&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[40],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[41],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[42],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[43],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[44],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[45],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[46],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[47],h=48),o>12&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[48],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[49],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[50],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[51],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[52],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[53],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[54],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[55],h=56),r[0]=(j[u>>>24]<<24|j[l>>>16&255]<<16|j[d>>>8&255]<<8|j[255&p])^e[h],r[1]=(j[l>>>24]<<24|j[d>>>16&255]<<16|j[p>>>8&255]<<8|j[255&u])^e[h+1],r[2]=(j[d>>>24]<<24|j[p>>>16&255]<<16|j[u>>>8&255]<<8|j[255&l])^e[h+2],r[3]=(j[p>>>24]<<24|j[u>>>16&255]<<16|j[l>>>8&255]<<8|j[255&d])^e[h+3]}}function J(t){const n=function(){const t=new i(_),n=new i(16),e=new c(O),r=new u(e.buffer),s=new c(8);let a=0,f=0;return{update:w,digest:function(){const n=8*f,e=o.floor(n/4294967296),r=n>>>0;for(w(K,0,1);56!=a;)w(T,0,1);s[0]=e>>>24,s[1]=e>>>16,s[2]=e>>>8,s[3]=e,s[4]=r>>>24,s[5]=r>>>16,s[6]=r>>>8,s[7]=r,w(s,0,8);const i=new c(V),l=new u(i.buffer);for(let n=0;n<t.length;n++)l.setInt32(4*n,t[n]);return t.set(_),a=0,f=0,i}};function w(t,n,o){const c=n+o;if(f+=o,a){for(;n<c&&a<O;)e[a++]=t[n++];a==O&&(l(r,0),a=0)}if(n+O<=c){const e=new u(t.buffer,t.byteOffset,t.byteLength);for(;n+O<=c;n+=O)l(e,n)}for(;n<c;)e[a++]=t[n++]}function l(e,o){for(let t=0;t<16;t++)n[t]=e.getInt32(o+4*t);let r,c=t[0],s=t[1],a=t[2],i=t[3],f=t[4];for(let t=0;t<15;t+=5)f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[t]|0,s=s<<30|s>>>2,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+n[t+1]|0,c=c<<30|c>>>2,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+n[t+2]|0,f=f<<30|f>>>2,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+n[t+3]|0,i=i<<30|i>>>2,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+n[t+4]|0,a=a<<30|a>>>2;f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[15]|0,s=s<<30|s>>>2,r=n[13]^n[8]^n[2]^n[0],r=r<<1|r>>>31,n[0]=r,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+r|0,c=c<<30|c>>>2,r=n[14]^n[9]^n[3]^n[1],r=r<<1|r>>>31,n[1]=r,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+r|0,f=f<<30|f>>>2,r=n[15]^n[10]^n[4]^n[2],r=r<<1|r>>>31,n[2]=r,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+r|0,i=i<<30|i>>>2,r=n[0]^n[11]^n[5]^n[3],r=r<<1|r>>>31,n[3]=r,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+r|0,a=a<<30|a>>>2;for(let t=20;t<40;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+1859775393+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+1859775393+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+1859775393+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+1859775393+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+1859775393+r|0,a=a<<30|a>>>2;for(let t=40;t<60;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s&a|(s|a)&i)+f+2400959708+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c&s|(c|s)&a)+i+2400959708+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f&c|(f|c)&s)+a+2400959708+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i&f|(i|f)&c)+s+2400959708+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a&i|(a|i)&f)+c+2400959708+r|0,a=a<<30|a>>>2;for(let t=60;t<80;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+3395469782+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+3395469782+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+3395469782+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+3395469782+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+3395469782+r|0,a=a<<30|a>>>2;t[0]=t[0]+c|0,t[1]=t[1]+s|0,t[2]=t[2]+a|0,t[3]=t[3]+i|0,t[4]=t[4]+f|0}}(),e=new c(O),r=new c(O);t.length>O&&(n.update(t,0,t.length),t=n.digest());for(let n=0;n<O;n++){const o=n<t.length?t[n]:0;e[n]=54^o,r[n]=92^o}return n.update(e,0,O),{update(t,e,o){n.update(t,e,o)},digest(){const t=n.digest();n.update(r,0,O),n.update(t,0,V);const o=n.digest();return n.update(e,0,O),o}}}function Q(t){return j[t>>>24]<<24|j[t>>>16&255]<<16|j[t>>>8&255]<<8|j[255&t]}function X(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function Y(t){return 255&(t<<1^27*(t>>7))}const $=typeof d!=b&&typeof d.getRandomValues==k,tt="Invalid password",nt="zipjs-abort-check-password";function et(t){if($)return d.getRandomValues(t);throw new r("Crypto API not supported")}const ot={name:"PBKDF2"},rt=n.assign({hash:{name:"HMAC"}},ot),ct=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ot),st=["deriveBits"],at=[8,12,16],it=[16,24,32],ft=10,ut=typeof d!=b,wt=ut&&d.subtle;let lt=ut&&typeof wt!=b&&typeof wt.importKey==k&&typeof wt.deriveBits==k,dt=G;class pt extends h{constructor({password:t,rawPassword:n,encryptionStrength:e,checkPasswordOnly:o,checkAuthenticationCode:s=!0}){const a={};super({start(){yt(a,t,n,e)},async transform(t,n){const{password:e,strength:s,l:i,ready:f}=a;if(e?(await async function(t,n,e,o){const c=await vt(t,n,e,kt(o,0,at[n])),s=kt(o,at[n]);if(c[0]!=s[0]||c[1]!=s[1])throw gt(t),new r(tt)}(a,s,e,kt(t,0,at[s]+2)),t=kt(t,at[s]+2),o?(gt(a),n.error(new r(nt))):i()):await f,a.h)return;const u=new c(t.length-ft-(t.length-ft)%16);n.enqueue(St(a,t,u,0,ft,!0))},async flush(t){const{m:n,S:e,ready:o}=a;if(n){if(await o,a.h)return;const i=kt(e,e.length-ft),f=new c(kt(e,0,e.length-ft));n.process(f,!0);const u=n.digest();let w=e.length<ft?1:0;for(let t=0;t<ft;t++)w|=u[t]^i[t];if(w&&s)return void t.error(new r("Invalid authentication code"));t.enqueue(f)}}}),mt(this,a)}}class ht extends h{constructor({password:t,rawPassword:n,encryptionStrength:e}){const o={};super({start(){yt(o,t,n,e)},async transform(t,n){const{password:e,strength:r,l:s,ready:a}=o;let i=z;if(e?(i=await async function(t,n,e){const o=et(new c(at[n]));return B(o,await vt(t,n,e,o))}(o,r,e),s()):await a,o.h)return;const f=new c(i.length+t.length-t.length%16);f.set(i,0),n.enqueue(St(o,t,f,i.length,0,!1))},async flush(t){const{m:n,S:e,ready:r}=o;if(n){if(await r,o.h)return;const s=new c(e);n.process(s,!1);const a=kt(n.digest(),0,ft);t.enqueue(B(s,a))}}}),mt(this,o)}}function yt(t,e,o,r){n.assign(t,{ready:new w(n=>t.l=n),password:bt(e,o),strength:r-1,S:z,h:!1})}function mt(t,e){const o=t.readable.getReader(),r=new y({async pull(t){try{const{value:n,done:e}=await o.read();e?t.close():t.enqueue(n)}catch(t){throw gt(e),o.cancel(t).catch(()=>{}),t}},cancel:t=>(gt(e),o.cancel(t))});n.defineProperty(t,"readable",{get:()=>r})}function St(t,n,e,o,r,s){const{m:a,S:i}=t;i.length&&(n=B(i,n));const f=n.length-r,u=f-f%16;if(e=function(t,n){if(n&&n>t.length){const e=t;(t=new c(n)).set(e,0)}return t}(e,o+u),u){const t=kt(e,o,o+u);t.set(kt(n,0,u)),a.process(t,s)}return t.S=kt(n,u),e}function gt(t){const{m:n}=t;t.h=!0,n&&n.dispose&&n.dispose()}async function vt(t,e,r,s){t.password=null;const a=it[e],i=await async function(t,e,r){if(lt)try{const o=await wt.importKey("raw",t,rt,!1,st);return new c(await wt.deriveBits(n.assign({salt:e},ct),o,8*r))}catch{lt=!1}return function(t,n,e,r){const s=J(t),a=new c(r),i=new c(n.length+4),f=new u(i.buffer);i.set(n);for(let t=1,e=0;e<r;t++,e+=V){f.setUint32(n.length,t),s.update(i,0,i.length);let c=s.digest();const u=c.slice();for(let t=1;t<1e3;t++){s.update(c,0,V),c=s.digest();for(let t=0;t<V;t++)u[t]^=c[t]}a.set(u.subarray(0,o.min(V,r-e)),e)}return a}(t,e,0,r)}(r,s,2*a+2);return t.m=dt(kt(i,0,a),kt(i,a,2*a)),t.h&&gt(t),kt(i,2*a)}function bt(t,n){return n===v?function(t){if(typeof l==b){t=unescape(encodeURIComponent(t));const n=new c(t.length);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e);return n}return(new l).encode(t)}(t):n}function kt(t,n,e){return t.subarray(n,e)}class zt extends h{constructor({password:t,rawPassword:n,passwordVerification:e,checkPasswordOnly:o}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;if(e.password||e.rawPassword){const n=Mt(e,t.subarray(0,12));if(e.password=e.rawPassword=null,0!=(n[11]^e.passwordVerification))throw new r(tt);t=t.subarray(12)}o?n.error(new r(nt)):n.enqueue(Mt(e,t))}})}}class Ct extends h{constructor({password:t,rawPassword:n,passwordVerification:e}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;let o,r;if(e.password||e.rawPassword){e.password=e.rawPassword=null;const n=et(new c(12));n[11]=e.passwordVerification,o=new c(t.length+n.length),o.set(At(e,n),0),r=12}else o=new c(t.length),r=0;o.set(At(e,t),r),n.enqueue(o)}})}}function It(t,e,o,r){n.assign(t,{password:e,rawPassword:o,passwordVerification:r}),function(t,e,o){const r=[305419896,591751049,878082192];if(n.assign(t,{v:r,C:new F(r[0]),I:new F(r[2])}),o)for(let n=0;n<o.length;n++)Et(t,o[n]);else for(let n=0;n<e.length;n++)Et(t,e.charCodeAt(n))}(t,e,o)}function Mt(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,e[o]);return e}function At(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,n[o]);return e}function Et(t,n){let[,e]=t.v;t.C.append([n]);const r=~t.C.get();e=Pt(o.imul(Pt(e+xt(r)),134775813)+1),t.I.append([e>>>24]);const c=~t.I.get();t.v=[r,e,c]}function Rt(t){const n=2|t.v[2];return xt(o.imul(n,1^n)>>>8)}function xt(t){return 255&t}function Pt(t){return 4294967295&t}function Dt(t){if(t instanceof y)return t;const n=t.getReader();return new y({async pull(t){try{const{value:e,done:o}=await n.read();o?t.close():t.enqueue(e)}catch(t){throw n.cancel(t).catch(()=>{}),t}},cancel:t=>n.cancel(t)})}function Ft(t){return Boolean(t)&&"object"==typeof t}const Ut=new f;function Bt(t){return Ut.get(t)}const Wt="Invalid uncompressed size",Ot="Codec out of memory",Vt="Invalid CRC32",Kt="deflate-raw",Tt="gzip",_t=[31,139,8];class jt extends h{constructor(t,{chunkSize:n,CompressionStreamFallback:e,CompressionStream:o}){super({});const{compressed:r,encrypted:c,useCompressionStream:s,zipCrypto:a,computeCrc32:i,level:f,deflate64:w,format:l,compressionMethod:d,inputSize:p}=t,h=this;let y,m,S,g=super.readable;const v=l&&Bt(l),b=Gt(s,o,e),k=i&&r&&!w&&!v&&(!c||a)&&Boolean(b);if(c&&!a||!i||k||(y=new U,g=Qt(g,y)),r)if(v)g=Xt(g,qt(v.CompressionStream,l,{level:f,chunkSize:n,compressionMethod:d,uncompressedSize:p}));else if(k)S=new Ht,g=Xt(g,new b(Tt,{level:f,chunkSize:n})),g=Qt(g,S);else try{g=Jt(g,s,{level:f,chunkSize:n},o,e)}catch(t){if(!s&&e)throw en(t);let n;try{n=new o(Tt)}catch{throw en(t)}g=Xt(g,n),g=Qt(g,new Ht)}c&&(a?g=Qt(g,new Ct(t)):(m=new ht(t),g=Qt(g,m))),Nt(h,g,()=>{c&&!a||!i||(h.crc32=k?S.crc32:new u(y.value.buffer).getUint32(0))})}}class Ht extends h{constructor(){let t,n=10,e=new c(0);super({transform(t,r){if(n){const e=o.min(n,t.length);if(n-=e,!(t=t.subarray(e)).length)return}const c=e.length+t.length;if(c<=8)return void(e=B(e,t));const s=c-8,a=o.min(s,e.length);r.enqueue(B(e.subarray(0,a),t.subarray(0,s-a))),e=B(e.subarray(a),t.subarray(s-a))},flush(){const n=W(e);t.crc32=n.getUint32(0,!0),t.uncompressedSize=n.getUint32(4,!0)}}),t=this}}class Lt extends h{constructor(t,{chunkSize:n,DecompressionStreamFallback:e,DecompressionStream:o}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:f,compressed:l,useCompressionStream:d,deflate64:p,format:h,compressionMethod:m,rawBitFlag:S,outputSize:g}=t;let b,k,z,C=super.readable;if(a&&(s?C=Qt(C,new zt(t)):(k=new pt(t),C=Qt(C,k))),l){const t=new Set,s=h&&Bt(h);let a;if(s)C=Xt(C,qt(s.DecompressionStream,h,{chunkSize:n,compressionMethod:m,rawBitFlag:S,uncompressedSize:g}),t);else{const r=Gt(d,o,e);if(i&&!p&&f!==v&&g!==v&&r)try{a=new r(Tt,{chunkSize:n})}catch{a=v}if(!a)try{C=Jt(C,d,{chunkSize:n,deflate64:p},o,e,t)}catch(t){if(p||g===v||!d&&e)throw en(t);try{a=new o(Tt)}catch{throw en(t)}}}a?(z=!0,C=function(t,n,e,o,s){const a=n.writable.getWriter(),i=n.readable.getReader(),f=o===v?new F:v;let u,l,d=0,p=!1,h=!1;const m=new y({start(t){l=t},pull(){b()},cancel:t=>(h=!0,b(),i.cancel(t))});return async function(){const n=t.getReader();try{const t=new c(10);for(t.set(_t),await a.write(t);;){await g(),await a.ready;const{value:t,done:e}=await tn(n,s);if(e)break;await a.write(t)}f&&await a.write(new c(0));const r=new c(8),i=W(r);i.setUint32(0,f?f.get():o,!0),i.setUint32(4,e,!0),p=!0,await a.write(r),await a.close()}catch(t){await Yt(a,t),await $t(n,t)}}(),async function(){try{for(;;){const{value:t,done:n}=await S();if(n)break;if(d+=t.length,d>e)throw new r(Wt);f&&f.append(t),l.enqueue(t)}h||(h=!0,l.close())}catch(t){!function(t){h||(h=!0,l.error(t),b())}(t),await $t(i,t)}}(),m;function S(){return i.read().catch(t=>{if(p){if(!f)throw rn(t,Vt);if(d!=e)throw rn(t,Wt);return{done:!0}}throw nn(t,s)})}function g(){if(!h&&l.desiredSize<=0)return new w(t=>u=t)}function b(){if(u){const t=u;u=v,t()}}}(C,a,g,f,t)):C=function(t,n){const e=t.getReader();return new y({async pull(t){try{const{value:n,done:o}=await e.read();o?t.close():t.enqueue(n)}catch(t){throw await $t(e,t),nn(t,n)}},cancel:t=>e.cancel(t)})}(C,t)}i&&!z&&(b=new U,C=Qt(C,b)),Nt(this,C,()=>{if(b){const t=new u(b.value.buffer).getUint32(0,!1);if(f!=t)throw new r(Vt)}})}}const Zt=new f;function Nt(t,e,o){e=Qt(e,new h({flush:o})),n.defineProperty(t,"readable",{get:()=>e})}function qt(t,n,e){if(!t)throw new r("Compression method not supported");return new t(n,e)}function Gt(t,n,e){return t&&n?n:e&&e.requiresModule?e:void 0}function Jt(t,n,e,o,r,c){const s=n&&o?o:r||o,a=e.deflate64?"deflate64-raw":Kt;let i;try{i=new s(a,e)}catch(t){if(!n||!r||s==r)throw t;i=new r(a,e)}return Xt(t,i,c)}function Qt(t,n){return Dt(t).pipeThrough(n)}function Xt(t,n,e){const o=n.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await o.ready;const t=await tn(r,e);if(t.done){await o.close();break}await o.write(t.value)}}catch(t){await Yt(o,t),await $t(r,t)}}(),n.readable}async function Yt(t,n){try{await t.abort(n)}catch{}}async function $t(t,n){try{await t.cancel(n)}catch{}}function tn(t,n){const e=t.read();return n?e.catch(t=>{throw n.add(t),t}):e}function nn(t,n){return n.has(t)?t:rn(t,on(t)?Ot:"Invalid compressed data")}function en(t){return on(t)?rn(t,Ot):t}function on(t){return Ft(t)&&"Z_MEM_ERROR"==t.code}function rn(t,n){const e=new r(n);return e.cause=t,e}const cn="data",sn="deflate";class an extends h{constructor(t,e){super({});const o=this,{codecType:c}=t;let s;c.startsWith(sn)?s=jt:c.startsWith("inflate")&&(s=Lt),o.outputSize=0;let a=0;const i=new s(t,e),f=super.readable,u=new h({transform(t,n){t&&t.length&&(a+=t.length,n.enqueue(t))},flush(){n.assign(o,{inputSize:a})}}),w=new h({transform(n,e){if(n&&n.length&&(e.enqueue(n),o.outputSize+=n.length,t.outputSize!==v&&o.outputSize>t.outputSize))throw new r(Wt)},flush(){const{crc32:t}=i;n.assign(o,{crc32:t,inputSize:a})}});n.defineProperty(o,"readable",{get:()=>f.pipeThrough(u).pipeThrough(i).pipeThrough(w)})}}class fn extends h{constructor(t){const o=[];let r=0,s=0;function a(){const n=new c(t);let e=0;for(;e<t;){const r=o[0],c=t-e;r.length<=c?(n.set(r,e),e+=r.length,o.shift()):(n.set(r.subarray(0,c),e),o[0]=r.subarray(c),e+=c)}return r-=t,n}(!e.isFinite(t)||t<1)&&(t=65536),super({transform(n,e){for(o.push(n),r+=n.length;r>t;)s+=t,e.enqueue(a())},flush(t){r&&(s+=r,t.enqueue(function(t,n){const e=new c(n);let o=0;for(const n of t)e.set(n,o),o+=n.length;return e}(o,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let un=2;try{typeof navigator!=b&&navigator.hardwareConcurrency&&(un=navigator.hardwareConcurrency)}catch{}const wn=new f,ln=new f,dn=function(){try{return structuredClone(new r)instanceof r}catch{return!1}}();let pn=0;async function hn(t){let n,c,s;try{const{options:a,config:i}=t;if(a.format)try{await async function(t,n){!Ut.has(t)&&n&&function(t,n){const{CompressionStream:e,DecompressionStream:o}=n;if(typeof e!=k&&typeof o!=k)throw new r("Invalid codec module");Ut.set(t,{CompressionStream:e,DecompressionStream:o})}(t,await(import(n)))}(a.format,a.codecURI)}catch(t){if(Ft(t))try{t.codecImportFailed=!0}catch{}throw t}if(i.CompressionStream=self.CompressionStream,i.DecompressionStream=self.DecompressionStream,a.compressed&&!a.format)if(a.useCompressionStream){if(!function(t,n){if(!t)return!1;let e=Zt.get(t);e||(e=new f,Zt.set(t,e));let o=e.get(n);if(o===v){try{new t(n),o=!0}catch{o=!1}e.set(n,o)}return o}(a.codecType.startsWith(sn)?i.CompressionStream:i.DecompressionStream,Kt))try{await self.initModule(t.config)}catch{}}else try{await self.initModule(t.config)}catch{a.useCompressionStream=!0}if(a.encrypted&&!a.zipCrypto)try{await self.initModule(t.config)}catch{}!i.CompressionStreamFallback&&i.CompressionStreamZlib&&(i.CompressionStreamFallback=i.CompressionStreamZlib),!i.DecompressionStreamFallback&&i.DecompressionStreamZlib&&(i.DecompressionStreamFallback=i.DecompressionStreamZlib);const u={highWaterMark:1},l=t.readable?Dt(t.readable):new y({async pull(t){const n=new w(t=>wn.set(pn,t));yn({type:"pull",messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER;const{value:o,done:r}=await n;t.enqueue(o),r&&t.close()}},u);s=t.writable?function(t){if(t instanceof m)return t;const n=t.getWriter();return new m({write:t=>n.write(t),close:()=>n.close(),abort:t=>n.abort(t)})}(t.writable):new m({async write(t){let n;const o=new w(t=>n=t);ln.set(pn,n),yn({type:cn,value:t,messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER,await o}},u),n=new an(a,i),c=new fn(function(t){return r="string"==typeof(n=r=t.chunkSize)&&n.trim()?e(n):n,e.isInteger(r)&&r>=1?o.max(r,64):65536;var n,r}(i)),await l.pipeThrough(n).pipeThrough(c).pipeTo(s,{preventClose:!0,preventAbort:!0}),await s.getWriter().close();const{crc32:d,inputSize:p,outputSize:h}=n;yn({type:"close",result:{crc32:d,inputSize:p,outputSize:h}})}catch(t){const n=c?c.outputSize:0;if(Ft(t))try{t.outputSize=n}catch{}if(s&&!s.locked)try{await s.getWriter().close()}catch{}mn(t,n)}}function yn(t){const{value:n}=t;if(n)if(n.length)try{t.value=(e=n,e.byteOffset||e.byteLength!=e.buffer.byteLength?new c(e):e).buffer,p(t,[t.value])}catch{p(t)}else p(t);else p(t);var e}function mn(t,n){const{message:e,stack:o,code:c,name:s,outputSize:a,cause:i,codecImportFailed:f}=function(t=new r("Unknown error")){return Ft(t)?t:new r(String(t))}(t),u={message:e,stack:o,code:c,name:s,outputSize:a===v?n:a};if(Ft(i)&&(u.cause={name:i.name,message:i.message,code:i.code}),f&&(u.codecImportFailed=!0),dn)try{return void p({error:u,errorValue:{value:t}})}catch{}p({error:u})}addEventListener("message",({data:t})=>{const{type:n,messageId:e,value:o,done:r}=t;try{if("start"==n&&hn(t),n==cn){const t=wn.get(e);wn.delete(e),t({value:o||new c,done:r})}if("ack"==n){const t=ln.get(e);ln.delete(e),t()}}catch(t){mn(t)}}),p({type:"ready"});const Sn="deflate",gn="deflate-raw",vn="deflate64-raw",bn="gzip",kn=[Sn,gn,bn],zn=[Sn,gn,bn,vn];let Cn,In,Mn,An,En;function Rn(t,n){return-4===n&&(t.code="Z_MEM_ERROR"),t}function xn(t,n,e={}){if(!(t?kn:zn).includes(n))throw new TypeError("Unsupported format: "+n);if(!Cn){const t=new r("WASM module not loaded");throw t.cause=En,t}const s="number"==typeof e.level?e.level:-1,a="number"==typeof e.outBuffer?e.outBuffer:65536,i="number"==typeof e.inBufferSize?e.inBufferSize:65536,f={M:0,in:0,inBufferSize:0,A:0,R:!1};let u,l,d,p,h=!0,S=!1;return function(){try{let e;if(f.M=In(a),f.in=In(i),f.inBufferSize=i,!f.M||!f.in)throw Rn(new r("allocation failed"),-4);if(t?(f.P=Cn.deflate_process,f.D=Cn.deflate_last_consumed,f.F=Cn.deflate_end,f.A=Cn.deflate_new(),e=n===bn?Cn.deflate_init_gzip(f.A,s):n===gn?Cn.deflate_init_raw(f.A,s):Cn.deflate_init(f.A,s)):n===vn?(f.P=Cn.inflate9_process,f.D=Cn.inflate9_last_consumed,f.F=Cn.inflate9_end,f.A=Cn.inflate9_new(),e=Cn.inflate9_init_raw(f.A)):(f.P=Cn.inflate_process,f.D=Cn.inflate_last_consumed,f.F=Cn.inflate_end,f.A=Cn.inflate_new(),e=n===gn?Cn.inflate_init_raw(f.A):n===bn?Cn.inflate_init_gzip(f.A):Cn.inflate_init(f.A)),0!==e)throw Rn(new r("init failed:"+e),e)}catch(t){throw b(f),t}}(),{readable:new y({start(t){u=t},pull(){h=!1,v()},cancel(t){S=!0,p=t,b(f),l.error(t),v()}},{highWaterMark:0}),writable:new m({start(t){l=t},async write(t){if(h&&await new w(t=>d=t),S)throw p;try{!function(t){const n=new c(An.buffer),e=f.P,s=f.D,i=f.M;let u=0;for(;u<t.length;){if(f.R)throw new r("trailing data after the end of the stream");const c=o.min(t.length-u,32768);if((!f.in||f.inBufferSize<c)&&(f.in&&Mn&&(Mn(f.in),f.in=0),f.in=In(c),f.inBufferSize=c,!f.in))throw Rn(new r("allocation failed"),-4);n.set(t.subarray(u,u+c),f.in);const w=e(f.A,f.in,c,i,a,0),l=w>>24&255,d=128&l?l-256:l;if(d<0)throw Rn(new r("process error:"+d),d);const p=16777215&w;p&&g(n.slice(i,i+p));const h=s(f.A);if(1===l)f.R=!0;else if(0===h&&0===p)break;u+=h}}(t)}catch(t){throw b(f),u.error(t),t}},close(){if(S)return;try{!function(){const t=new c(An.buffer),n=f.P,e=f.M;for(;;){const o=n(f.A,0,0,e,a,4),c=o>>24&255,s=128&c?c-256:c;if(s<0)throw Rn(new r("process error:"+s),s);const i=16777215&o;if(i&&g(t.slice(e,e+i)),1===c||0===i)break}}()}catch(t){throw b(f),u.error(t),t}const t=b(f);if(0!==t){const n=Rn(new r("end error:"+t),t);throw u.error(n),n}u.close()},abort(t){b(f),u.error(t)}},{highWaterMark:1})};function g(t){h=!0,u.enqueue(t)}function v(){if(d){const t=d;d=null,t()}}function b(t){let n=0;return t.A&&t.F&&(n=t.F(t.A)),t.A=0,t.in&&Mn&&Mn(t.in),t.in=0,t.M&&Mn&&Mn(t.M),t.M=0,n}}class Pn{constructor(t=Sn,n){return xn(!0,t,n)}}class Dn{constructor(t=Sn,n){return xn(!1,t,n)}}Pn.requiresModule=!0,Dn.requiresModule=!0,Pn.supportedFormats=kn,Dn.supportedFormats=zn;const Fn=65536;let Un,Bn;function Wn(t){return new c(t.memory.buffer)}let On=!1;!function(t={}){const{init:n,U:e}=t,o=t.CompressionStreamFallback||t.CompressionStreamZlib,r=t.DecompressionStreamFallback||t.DecompressionStreamZlib;e&&(dt=e||G),self.initModule=async t=>{n&&await n(t),o&&(t.CompressionStreamFallback=o),r&&(t.DecompressionStreamFallback=r)}}({CompressionStreamFallback:Pn,DecompressionStreamFallback:Dn,U:function(t,n){const e=Un;let o=e?function(t,n,e){Bn||(Bn=t.malloc(Fn));const o=Bn?t.aes_hmac_new():0;if(o){const r=Wn(t);if(r.set(n,Bn),r.set(e,Bn+n.length),t.aes_hmac_init(o,Bn,n.length,Bn+n.length,e.length))return t.aes_hmac_end(o,0),0}return o}(e,t,n):0;if(!o)return G(t,n);const r=Bn;return{process(t,n){for(let c=0;c<t.length;c+=Fn){const s=t.subarray(c,c+Fn),a=Wn(e);a.set(s,r),e.aes_hmac_process(o,r,s.length,n?1:0),s.set(a.subarray(r,r+s.length))}},digest:()=>(e.aes_hmac_end(o,r),o=0,Wn(e).slice(r,r+20)),dispose(){o&&(e.aes_hmac_end(o,0),o=0)}}},init:t=>async function(t,{baseURI:n}){if(!On)try{await async function(t,n){let e,o;try{try{o=new URL(t,n)}catch{}const r=await fetch(o);e=await r.arrayBuffer()}catch(n){if(!t.startsWith("data:application/wasm;base64,"))throw n;e=function(t){const n=t.split(",")[1],e=atob(n),o=e.length,r=new c(o);for(let t=0;t<o;++t)r[t]=e.charCodeAt(t);return r.buffer}(t)}const s=await WebAssembly.instantiate(e);var a;(function(t){if(Cn=t,({malloc:In,free:Mn,memory:An}=Cn),"function"!=typeof In||"function"!=typeof Mn||!An)throw Cn=In=Mn=An=null,new r("Invalid WASM module")})(s.instance.exports),typeof(a=s.instance.exports).aes_hmac_new==k&&(Un=a,Bn=0)}(t,n),On=!0}catch(t){throw function(t){En=t}(t),t}}(t.wasmURI,t)})});\n';
5430
+ let r2 = '!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const{Array:t,Object:n,Number:e,Math:o,Error:r,Uint8Array:c,Uint16Array:s,Uint32Array:a,Int32Array:i,Map:f,DataView:u,Promise:w,TextEncoder:l,crypto:d,postMessage:p,TransformStream:h,ReadableStream:y,WritableStream:m,CompressionStream:S,DecompressionStream:g}=self,v=void 0,b="undefined",k="function",z=new c,C=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let n=t;for(let t=0;t<8;t++)n=1&n?n>>>1^3988292384:n>>>1;C[0][t]=n}for(let t=0;t<256;t++)for(let n=1;n<8;n++){const e=C[n-1][t];C[n][t]=e>>>8^C[0][255&e]}const[I,M,A,E,R,x,P,D]=C;class F{constructor(t){this.o=t||-1}append(t){let n=0|this.o;const e=0|t.length;let o=0;if(e>=8&&t.buffer){const r=new u(t.buffer,t.byteOffset,e),c=e-8;for(;o<=c;o+=8){const t=n^r.getInt32(o,!0),e=r.getInt32(o+4,!0);n=D[255&t]^P[t>>>8&255]^x[t>>>16&255]^R[t>>>24&255]^E[255&e]^A[e>>>8&255]^M[e>>>16&255]^I[e>>>24&255]}}for(;o<e;o++)n=n>>>8^I[255&(n^t[o])];this.o=n}get(){return~this.o}}class U extends h{constructor(){let t;const n=new F;super({transform(t,e){n.append(t),e.enqueue(t)},flush(){const e=new c(4);new u(e.buffer).setUint32(0,n.get()),t.value=e}}),t=this}}function B(t,n){const e=new c(t.length+n.length);return e.set(t),e.set(n,t.length),e}function W(t){return new u(t.buffer,t.byteOffset,t.byteLength)}const O=64,V=20,K=new c([128]),T=new c(1),_=new i([1732584193,4023233417,2562383102,271733878,3285377520]),j=new c(256),H=new i(256),L=new i(256),Z=new i(256),N=new i(256);let q=!1;function G(t,n){!function(){if(!q){let t=1,n=1;do{t=255&(t^t<<1^(128&t?27:0)),n=255&(n^n<<1),n=255&(n^n<<2),n=255&(n^n<<4),128&n&&(n^=9),j[t]=255&(n^(n<<1|n>>7)^(n<<2|n>>6)^(n<<3|n>>5)^(n<<4|n>>4)^99)}while(1!=t);j[0]=99;for(let t=0;t<256;t++){const n=j[t],e=Y(n),o=e<<24|n<<16|n<<8|e^n;H[t]=o,L[t]=o>>>8|o<<24,Z[t]=o>>>16|o<<16,N[t]=o>>>24|o<<8}q=!0}}();const e=new i(60),o=function(t,n){const e=t.length>>2,o=e+6,r=4*(o+1);let c=1;for(let o=0;o<e;o++)n[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let t=e;t<r;t++){let o=n[t-1];t%e==0?(o=Q(o<<8|o>>>24)^c<<24,c=Y(c)):e>6&&t%e==4&&(o=Q(o)),n[t]=n[t-e]^o}return o}(t,e),r=new i(4),c=J(n);let s=0,a=0,f=0,w=0;return{process(t,n){n&&c.update(t,0,t.length),function(t){const n=new u(t.buffer,t.byteOffset,t.byteLength),e=t.length;let o=0;for(;o+16<=e;o+=16)l(),n.setInt32(o,n.getInt32(o)^r[0]),n.setInt32(o+4,n.getInt32(o+4)^r[1]),n.setInt32(o+8,n.getInt32(o+8)^r[2]),n.setInt32(o+12,n.getInt32(o+12)^r[3]);if(o<e){l();for(let n=0;o<e;o++,n++)t[o]^=r[n>>2]>>>24-8*(3&n)}}(t),n||c.update(t,0,t.length)},digest:()=>c.digest()};function l(){s=s+1|0,s||(a=a+1|0,a||(f=f+1|0,f||(w=w+1|0)));let t=X(s)^e[0],n=X(a)^e[1],c=X(f)^e[2],i=X(w)^e[3],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[4],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[5],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[6],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[7];t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[8],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[9],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[10],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[11],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[12],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[13],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[14],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[15],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[16],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[17],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[18],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[19],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[20],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[21],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[22],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[23],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[24],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[25],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[26],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[27],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[28],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[29],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[30],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[31],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[32],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[33],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[34],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[35],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[36],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[37],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[38],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[39];let h=40;o>10&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[40],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[41],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[42],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[43],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[44],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[45],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[46],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[47],h=48),o>12&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[48],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[49],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[50],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[51],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[52],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[53],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[54],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[55],h=56),r[0]=(j[u>>>24]<<24|j[l>>>16&255]<<16|j[d>>>8&255]<<8|j[255&p])^e[h],r[1]=(j[l>>>24]<<24|j[d>>>16&255]<<16|j[p>>>8&255]<<8|j[255&u])^e[h+1],r[2]=(j[d>>>24]<<24|j[p>>>16&255]<<16|j[u>>>8&255]<<8|j[255&l])^e[h+2],r[3]=(j[p>>>24]<<24|j[u>>>16&255]<<16|j[l>>>8&255]<<8|j[255&d])^e[h+3]}}function J(t){const n=function(){const t=new i(_),n=new i(16),e=new c(O),r=new u(e.buffer),s=new c(8);let a=0,f=0;return{update:w,digest:function(){const n=8*f,e=o.floor(n/4294967296),r=n>>>0;for(w(K,0,1);56!=a;)w(T,0,1);s[0]=e>>>24,s[1]=e>>>16,s[2]=e>>>8,s[3]=e,s[4]=r>>>24,s[5]=r>>>16,s[6]=r>>>8,s[7]=r,w(s,0,8);const i=new c(V),l=new u(i.buffer);for(let n=0;n<t.length;n++)l.setInt32(4*n,t[n]);return t.set(_),a=0,f=0,i}};function w(t,n,o){const c=n+o;if(f+=o,a){for(;n<c&&a<O;)e[a++]=t[n++];a==O&&(l(r,0),a=0)}if(n+O<=c){const e=new u(t.buffer,t.byteOffset,t.byteLength);for(;n+O<=c;n+=O)l(e,n)}for(;n<c;)e[a++]=t[n++]}function l(e,o){for(let t=0;t<16;t++)n[t]=e.getInt32(o+4*t);let r,c=t[0],s=t[1],a=t[2],i=t[3],f=t[4];for(let t=0;t<15;t+=5)f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[t]|0,s=s<<30|s>>>2,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+n[t+1]|0,c=c<<30|c>>>2,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+n[t+2]|0,f=f<<30|f>>>2,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+n[t+3]|0,i=i<<30|i>>>2,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+n[t+4]|0,a=a<<30|a>>>2;f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[15]|0,s=s<<30|s>>>2,r=n[13]^n[8]^n[2]^n[0],r=r<<1|r>>>31,n[0]=r,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+r|0,c=c<<30|c>>>2,r=n[14]^n[9]^n[3]^n[1],r=r<<1|r>>>31,n[1]=r,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+r|0,f=f<<30|f>>>2,r=n[15]^n[10]^n[4]^n[2],r=r<<1|r>>>31,n[2]=r,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+r|0,i=i<<30|i>>>2,r=n[0]^n[11]^n[5]^n[3],r=r<<1|r>>>31,n[3]=r,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+r|0,a=a<<30|a>>>2;for(let t=20;t<40;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+1859775393+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+1859775393+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+1859775393+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+1859775393+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+1859775393+r|0,a=a<<30|a>>>2;for(let t=40;t<60;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s&a|(s|a)&i)+f+2400959708+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c&s|(c|s)&a)+i+2400959708+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f&c|(f|c)&s)+a+2400959708+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i&f|(i|f)&c)+s+2400959708+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a&i|(a|i)&f)+c+2400959708+r|0,a=a<<30|a>>>2;for(let t=60;t<80;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+3395469782+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+3395469782+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+3395469782+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+3395469782+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+3395469782+r|0,a=a<<30|a>>>2;t[0]=t[0]+c|0,t[1]=t[1]+s|0,t[2]=t[2]+a|0,t[3]=t[3]+i|0,t[4]=t[4]+f|0}}(),e=new c(O),r=new c(O);t.length>O&&(n.update(t,0,t.length),t=n.digest());for(let n=0;n<O;n++){const o=n<t.length?t[n]:0;e[n]=54^o,r[n]=92^o}return n.update(e,0,O),{update(t,e,o){n.update(t,e,o)},digest(){const t=n.digest();n.update(r,0,O),n.update(t,0,V);const o=n.digest();return n.update(e,0,O),o}}}function Q(t){return j[t>>>24]<<24|j[t>>>16&255]<<16|j[t>>>8&255]<<8|j[255&t]}function X(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function Y(t){return 255&(t<<1^27*(t>>7))}const $=typeof d!=b&&typeof d.getRandomValues==k,tt="Invalid password",nt="zipjs-abort-check-password";function et(t){if($)return d.getRandomValues(t);throw new r("Crypto API not supported")}const ot={name:"PBKDF2"},rt=n.assign({hash:{name:"HMAC"}},ot),ct=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ot),st=["deriveBits"],at=[8,12,16],it=[16,24,32],ft=10,ut=typeof d!=b,wt=ut&&d.subtle;let lt=ut&&typeof wt!=b&&typeof wt.importKey==k&&typeof wt.deriveBits==k,dt=G;class pt extends h{constructor({password:t,rawPassword:n,encryptionStrength:e,checkPasswordOnly:o,checkAuthenticationCode:s=!0}){const a={};super({start(){yt(a,t,n,e)},async transform(t,n){const{password:e,strength:s,l:i,ready:f}=a;if(e?(await async function(t,n,e,o){const c=await vt(t,n,e,kt(o,0,at[n])),s=kt(o,at[n]);if(c[0]!=s[0]||c[1]!=s[1])throw gt(t),new r(tt)}(a,s,e,kt(t,0,at[s]+2)),t=kt(t,at[s]+2),o?(gt(a),n.error(new r(nt))):i()):await f,a.h)return;const u=new c(t.length-ft-(t.length-ft)%16);n.enqueue(St(a,t,u,0,ft,!0))},async flush(t){const{m:n,S:e,ready:o}=a;if(n){if(await o,a.h)return;const i=kt(e,e.length-ft),f=new c(kt(e,0,e.length-ft));n.process(f,!0);const u=n.digest();let w=e.length<ft?1:0;for(let t=0;t<ft;t++)w|=u[t]^i[t];if(w&&s)return void t.error(new r("Invalid authentication code"));t.enqueue(f)}}}),mt(this,a)}}class ht extends h{constructor({password:t,rawPassword:n,encryptionStrength:e}){const o={};super({start(){yt(o,t,n,e)},async transform(t,n){const{password:e,strength:r,l:s,ready:a}=o;let i=z;if(e?(i=await async function(t,n,e){const o=et(new c(at[n]));return B(o,await vt(t,n,e,o))}(o,r,e),s()):await a,o.h)return;const f=new c(i.length+t.length-t.length%16);f.set(i,0),n.enqueue(St(o,t,f,i.length,0,!1))},async flush(t){const{m:n,S:e,ready:r}=o;if(n){if(await r,o.h)return;const s=new c(e);n.process(s,!1);const a=kt(n.digest(),0,ft);t.enqueue(B(s,a))}}}),mt(this,o)}}function yt(t,e,o,r){n.assign(t,{ready:new w(n=>t.l=n),password:bt(e,o),strength:r-1,S:z,h:!1})}function mt(t,e){const o=t.readable.getReader(),r=new y({async pull(t){try{const{value:n,done:e}=await o.read();e?t.close():t.enqueue(n)}catch(t){throw gt(e),o.cancel(t).catch(()=>{}),t}},cancel:t=>(gt(e),o.cancel(t))});n.defineProperty(t,"readable",{get:()=>r})}function St(t,n,e,o,r,s){const{m:a,S:i}=t;i.length&&(n=B(i,n));const f=n.length-r,u=f-f%16;if(e=function(t,n){if(n&&n>t.length){const e=t;(t=new c(n)).set(e,0)}return t}(e,o+u),u){const t=kt(e,o,o+u);t.set(kt(n,0,u)),a.process(t,s)}return t.S=kt(n,u),e}function gt(t){const{m:n}=t;t.h=!0,n&&n.dispose&&n.dispose()}async function vt(t,e,r,s){t.password=null;const a=it[e],i=await async function(t,e,r){if(lt)try{const o=await wt.importKey("raw",t,rt,!1,st);return new c(await wt.deriveBits(n.assign({salt:e},ct),o,8*r))}catch{lt=!1}return function(t,n,e,r){const s=J(t),a=new c(r),i=new c(n.length+4),f=new u(i.buffer);i.set(n);for(let t=1,e=0;e<r;t++,e+=V){f.setUint32(n.length,t),s.update(i,0,i.length);let c=s.digest();const u=c.slice();for(let t=1;t<1e3;t++){s.update(c,0,V),c=s.digest();for(let t=0;t<V;t++)u[t]^=c[t]}a.set(u.subarray(0,o.min(V,r-e)),e)}return a}(t,e,0,r)}(r,s,2*a+2);return t.m=dt(kt(i,0,a),kt(i,a,2*a)),t.h&&gt(t),kt(i,2*a)}function bt(t,n){return n===v?function(t){if(typeof l==b){t=unescape(encodeURIComponent(t));const n=new c(t.length);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e);return n}return(new l).encode(t)}(t):n}function kt(t,n,e){return t.subarray(n,e)}class zt extends h{constructor({password:t,rawPassword:n,passwordVerification:e,checkPasswordOnly:o}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;if(e.password||e.rawPassword){const n=Mt(e,t.subarray(0,12));if(e.password=e.rawPassword=null,0!=(n[11]^e.passwordVerification))throw new r(tt);t=t.subarray(12)}o?n.error(new r(nt)):n.enqueue(Mt(e,t))}})}}class Ct extends h{constructor({password:t,rawPassword:n,passwordVerification:e}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;let o,r;if(e.password||e.rawPassword){e.password=e.rawPassword=null;const n=et(new c(12));n[11]=e.passwordVerification,o=new c(t.length+n.length),o.set(At(e,n),0),r=12}else o=new c(t.length),r=0;o.set(At(e,t),r),n.enqueue(o)}})}}function It(t,e,o,r){n.assign(t,{password:e,rawPassword:o,passwordVerification:r}),function(t,e,o){const r=[305419896,591751049,878082192];if(n.assign(t,{v:r,C:new F(r[0]),I:new F(r[2])}),o)for(let n=0;n<o.length;n++)Et(t,o[n]);else for(let n=0;n<e.length;n++)Et(t,e.charCodeAt(n))}(t,e,o)}function Mt(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,e[o]);return e}function At(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,n[o]);return e}function Et(t,n){let[,e]=t.v;t.C.append([n]);const r=~t.C.get();e=Pt(o.imul(Pt(e+xt(r)),134775813)+1),t.I.append([e>>>24]);const c=~t.I.get();t.v=[r,e,c]}function Rt(t){const n=2|t.v[2];return xt(o.imul(n,1^n)>>>8)}function xt(t){return 255&t}function Pt(t){return 4294967295&t}function Dt(t){return Boolean(t)&&"object"==typeof t}const Ft=new f;function Ut(t){return Ft.get(t)}const Bt="Invalid uncompressed size",Wt="Codec out of memory",Ot="Invalid CRC32",Vt="deflate-raw",Kt="gzip",Tt=[31,139,8];class _t extends h{constructor(t,{chunkSize:n,CompressionStreamFallback:e,CompressionStream:o}){super({});const{compressed:r,encrypted:c,useCompressionStream:s,zipCrypto:a,computeCrc32:i,level:f,deflate64:w,format:l,compressionMethod:d,inputSize:p}=t,h=this;let y,m,S,g=super.readable;const v=l&&Ut(l),b=qt(s,o,e),k=i&&r&&!w&&!v&&(!c||a)&&Boolean(b);if(c&&!a||!i||k||(y=new U,g=Jt(g,y)),r)if(v)g=Qt(g,Nt(v.CompressionStream,l,{level:f,chunkSize:n,compressionMethod:d,uncompressedSize:p}));else if(k)S=new jt,g=Qt(g,new b(Kt,{level:f,chunkSize:n})),g=Jt(g,S);else try{g=Gt(g,s,{level:f,chunkSize:n},o,e)}catch(t){if(!s&&e)throw nn(t);let n;try{n=new o(Kt)}catch{throw nn(t)}g=Qt(g,n),g=Jt(g,new jt)}c&&(a?g=Jt(g,new Ct(t)):(m=new ht(t),g=Jt(g,m))),Zt(h,g,()=>{c&&!a||!i||(h.crc32=k?S.crc32:new u(y.value.buffer).getUint32(0))})}}class jt extends h{constructor(){let t,n=10,e=new c(0);super({transform(t,r){if(n){const e=o.min(n,t.length);if(n-=e,!(t=t.subarray(e)).length)return}const c=e.length+t.length;if(c<=8)return void(e=B(e,t));const s=c-8,a=o.min(s,e.length);r.enqueue(B(e.subarray(0,a),t.subarray(0,s-a))),e=B(e.subarray(a),t.subarray(s-a))},flush(){const n=W(e);t.crc32=n.getUint32(0,!0),t.uncompressedSize=n.getUint32(4,!0)}}),t=this}}class Ht extends h{constructor(t,{chunkSize:n,DecompressionStreamFallback:e,DecompressionStream:o}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:f,compressed:l,useCompressionStream:d,deflate64:p,format:h,compressionMethod:m,rawBitFlag:S,outputSize:g}=t;let b,k,z,C=super.readable;if(a&&(s?C=Jt(C,new zt(t)):(k=new pt(t),C=Jt(C,k))),l){const t=new Set,s=h&&Ut(h);let a;if(s)C=Qt(C,Nt(s.DecompressionStream,h,{chunkSize:n,compressionMethod:m,rawBitFlag:S,uncompressedSize:g}),t);else{const r=qt(d,o,e);if(i&&!p&&f!==v&&g!==v&&r)try{a=new r(Kt,{chunkSize:n})}catch{a=v}if(!a)try{C=Gt(C,d,{chunkSize:n,deflate64:p},o,e,t)}catch(t){if(p||g===v||!d&&e)throw nn(t);try{a=new o(Kt)}catch{throw nn(t)}}}a?(z=!0,C=function(t,n,e,o,s){const a=n.writable.getWriter(),i=n.readable.getReader(),f=o===v?new F:v;let u,l,d=0,p=!1,h=!1;const m=new y({start(t){l=t},pull(){b()},cancel:t=>(h=!0,b(),i.cancel(t))});return async function(){const n=t.getReader();try{const t=new c(10);for(t.set(Tt),await a.write(t);;){await g(),await a.ready;const{value:t,done:e}=await $t(n,s);if(e)break;await a.write(t)}f&&await a.write(new c(0));const r=new c(8),i=W(r);i.setUint32(0,f?f.get():o,!0),i.setUint32(4,e,!0),p=!0,await a.write(r),await a.close()}catch(t){await Xt(a,t),await Yt(n,t)}}(),async function(){try{for(;;){const{value:t,done:n}=await S();if(n)break;if(d+=t.length,d>e)throw new r(Bt);f&&f.append(t),l.enqueue(t)}h||(h=!0,l.close())}catch(t){!function(t){h||(h=!0,l.error(t),b())}(t),await Yt(i,t)}}(),m;function S(){return i.read().catch(t=>{if(p){if(!f)throw on(t,Ot);if(d!=e)throw on(t,Bt);return{done:!0}}throw tn(t,s)})}function g(){if(!h&&l.desiredSize<=0)return new w(t=>u=t)}function b(){if(u){const t=u;u=v,t()}}}(C,a,g,f,t)):C=function(t,n){const e=t.getReader();return new y({async pull(t){try{const{value:n,done:o}=await e.read();o?t.close():t.enqueue(n)}catch(t){throw await Yt(e,t),tn(t,n)}},cancel:t=>e.cancel(t)})}(C,t)}i&&!z&&(b=new U,C=Jt(C,b)),Zt(this,C,()=>{if(b){const t=new u(b.value.buffer).getUint32(0,!1);if(f!=t)throw new r(Ot)}})}}const Lt=new f;function Zt(t,e,o){e=Jt(e,new h({flush:o})),n.defineProperty(t,"readable",{get:()=>e})}function Nt(t,n,e){if(!t)throw new r("Compression method not supported");return new t(n,e)}function qt(t,n,e){return t&&n?n:e&&e.requiresModule?e:void 0}function Gt(t,n,e,o,r,c){const s=n&&o?o:r||o,a=e.deflate64?"deflate64-raw":Vt;let i;try{i=new s(a,e)}catch(t){if(!n||!r||s==r)throw t;i=new r(a,e)}return Qt(t,i,c)}function Jt(t,n){return function(t){if(t instanceof y)return t;const n=t.getReader();return new y({async pull(t){try{const{value:e,done:o}=await n.read();o?t.close():t.enqueue(e)}catch(t){throw n.cancel(t).catch(()=>{}),t}},cancel:t=>n.cancel(t)})}(t).pipeThrough(n)}function Qt(t,n,e){const o=n.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await o.ready;const t=await $t(r,e);if(t.done){await o.close();break}await o.write(t.value)}}catch(t){await Xt(o,t),await Yt(r,t)}}(),n.readable}async function Xt(t,n){try{await t.abort(n)}catch{}}async function Yt(t,n){try{await t.cancel(n)}catch{}}function $t(t,n){const e=t.read();return n?e.catch(t=>{throw n.add(t),t}):e}function tn(t,n){return n.has(t)?t:on(t,en(t)?Wt:"Invalid compressed data")}function nn(t){return en(t)?on(t,Wt):t}function en(t){return Dt(t)&&"Z_MEM_ERROR"==t.code}function on(t,n){const e=new r(n);return e.cause=t,e}const rn="data",cn="deflate";class sn extends h{constructor(t,e){super({});const o=this,{codecType:c}=t;let s;c.startsWith(cn)?s=_t:c.startsWith("inflate")&&(s=Ht),o.outputSize=0;let a=0;const i=new s(t,e),f=super.readable,u=new h({transform(t,n){t&&t.length&&(a+=t.length,n.enqueue(t))},flush(){n.assign(o,{inputSize:a})}}),w=new h({transform(n,e){if(n&&n.length&&(e.enqueue(n),o.outputSize+=n.length,t.outputSize!==v&&o.outputSize>t.outputSize))throw new r(Bt)},flush(){const{crc32:t}=i;n.assign(o,{crc32:t,inputSize:a})}});n.defineProperty(o,"readable",{get:()=>f.pipeThrough(u).pipeThrough(i).pipeThrough(w)})}}class an extends h{constructor(t){const o=[];let r=0,s=0;function a(){const n=new c(t);let e=0;for(;e<t;){const r=o[0],c=t-e;r.length<=c?(n.set(r,e),e+=r.length,o.shift()):(n.set(r.subarray(0,c),e),o[0]=r.subarray(c),e+=c)}return r-=t,n}(!e.isFinite(t)||t<1)&&(t=262144),super({transform(n,e){for(o.push(n),r+=n.length;r>t;)s+=t,e.enqueue(a())},flush(t){r&&(s+=r,t.enqueue(function(t,n){const e=new c(n);let o=0;for(const n of t)e.set(n,o),o+=n.length;return e}(o,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let fn=2;try{typeof navigator!=b&&navigator.hardwareConcurrency&&(fn=navigator.hardwareConcurrency)}catch{}const un=new f,wn=new f,ln=function(){try{return structuredClone(new r)instanceof r}catch{return!1}}();let dn=0;async function pn(t){let n,c,s;try{const{options:a,config:i}=t;if(a.format)try{await async function(t,n){!Ft.has(t)&&n&&function(t,n){const{CompressionStream:e,DecompressionStream:o}=n;if(typeof e!=k&&typeof o!=k)throw new r("Invalid codec module");Ft.set(t,{CompressionStream:e,DecompressionStream:o})}(t,await(import(n)))}(a.format,a.codecURI)}catch(t){if(Dt(t))try{t.codecImportFailed=!0}catch{}throw t}if(i.CompressionStream=self.CompressionStream,i.DecompressionStream=self.DecompressionStream,a.compressed&&!a.format)if(a.useCompressionStream){if(!function(t,n){if(!t)return!1;let e=Lt.get(t);e||(e=new f,Lt.set(t,e));let o=e.get(n);if(o===v){try{new t(n),o=!0}catch{o=!1}e.set(n,o)}return o}(a.codecType.startsWith(cn)?i.CompressionStream:i.DecompressionStream,Vt))try{await self.initModule(t.config)}catch{}}else try{await self.initModule(t.config)}catch{a.useCompressionStream=!0}if(a.encrypted&&!a.zipCrypto)try{await self.initModule(t.config)}catch{}!i.CompressionStreamFallback&&i.CompressionStreamZlib&&(i.CompressionStreamFallback=i.CompressionStreamZlib),!i.DecompressionStreamFallback&&i.DecompressionStreamZlib&&(i.DecompressionStreamFallback=i.DecompressionStreamZlib);const u={highWaterMark:1},l=new y({async pull(t){const n=new w(t=>un.set(dn,t));hn({type:"pull",messageId:dn}),dn=(dn+1)%e.MAX_SAFE_INTEGER;const{value:o,done:r}=await n;t.enqueue(o),r&&t.close()}},u);s=new m({async write(t){let n;const o=new w(t=>n=t);wn.set(dn,n),hn({type:rn,value:t,messageId:dn}),dn=(dn+1)%e.MAX_SAFE_INTEGER,await o}},u),n=new sn(a,i),c=new an(function(t){return r="string"==typeof(n=r=t.chunkSize)&&n.trim()?e(n):n,e.isInteger(r)&&r>=1?o.max(r,64):262144;var n,r}(i)),await l.pipeThrough(n).pipeThrough(c).pipeTo(s,{preventClose:!0,preventAbort:!0}),await s.getWriter().close();const{crc32:d,inputSize:p,outputSize:h}=n;hn({type:"close",result:{crc32:d,inputSize:p,outputSize:h}})}catch(t){const n=c?c.outputSize:0;if(Dt(t))try{t.outputSize=n}catch{}if(s&&!s.locked)try{await s.getWriter().close()}catch{}yn(t,n)}}function hn(t){const{value:n}=t;if(n)if(n.length)try{t.value=(e=n,e.byteOffset||e.byteLength!=e.buffer.byteLength?new c(e):e).buffer,p(t,[t.value])}catch{p(t)}else p(t);else p(t);var e}function yn(t,n){const{message:e,stack:o,code:c,name:s,outputSize:a,cause:i,codecImportFailed:f}=function(t=new r("Unknown error")){return Dt(t)?t:new r(String(t))}(t),u={message:e,stack:o,code:c,name:s,outputSize:a===v?n:a};if(Dt(i)&&(u.cause={name:i.name,message:i.message,code:i.code}),f&&(u.codecImportFailed=!0),ln)try{return void p({error:u,errorValue:{value:t}})}catch{}p({error:u})}addEventListener("message",({data:t})=>{const{type:n,messageId:e,value:o,done:r}=t;try{if("start"==n&&pn(t),n==rn){const t=un.get(e);un.delete(e),t({value:o||new c,done:r})}if("ack"==n){const t=wn.get(e);wn.delete(e),t()}}catch(t){yn(t)}}),p({type:"ready"});const mn="deflate",Sn="deflate-raw",gn="deflate64-raw",vn="gzip",bn=[mn,Sn,vn],kn=[mn,Sn,vn,gn];let zn,Cn,In,Mn,An;function En(t,n){return-4===n&&(t.code="Z_MEM_ERROR"),t}function Rn(t,n,e={}){if(!(t?bn:kn).includes(n))throw new TypeError("Unsupported format: "+n);if(!zn){const t=new r("WASM module not loaded");throw t.cause=An,t}const s="number"==typeof e.level?e.level:-1,a="number"==typeof e.outBuffer?e.outBuffer:65536,i="number"==typeof e.inBufferSize?e.inBufferSize:65536,f={M:0,in:0,inBufferSize:0,A:0,R:!1};let u,l,d,p,h=!0,S=!1;return function(){try{let e;if(f.M=Cn(a),f.in=Cn(i),f.inBufferSize=i,!f.M||!f.in)throw En(new r("allocation failed"),-4);if(t?(f.P=zn.deflate_process,f.D=zn.deflate_last_consumed,f.F=zn.deflate_end,f.A=zn.deflate_new(),e=n===vn?zn.deflate_init_gzip(f.A,s):n===Sn?zn.deflate_init_raw(f.A,s):zn.deflate_init(f.A,s)):n===gn?(f.P=zn.inflate9_process,f.D=zn.inflate9_last_consumed,f.F=zn.inflate9_end,f.A=zn.inflate9_new(),e=zn.inflate9_init_raw(f.A)):(f.P=zn.inflate_process,f.D=zn.inflate_last_consumed,f.F=zn.inflate_end,f.A=zn.inflate_new(),e=n===Sn?zn.inflate_init_raw(f.A):n===vn?zn.inflate_init_gzip(f.A):zn.inflate_init(f.A)),0!==e)throw En(new r("init failed:"+e),e)}catch(t){throw b(f),t}}(),{readable:new y({start(t){u=t},pull(){h=!1,v()},cancel(t){S=!0,p=t,b(f),l.error(t),v()}},{highWaterMark:0}),writable:new m({start(t){l=t},async write(t){if(h&&await new w(t=>d=t),S)throw p;try{!function(t){const n=new c(Mn.buffer),e=f.P,s=f.D,i=f.M;let u=0;for(;u<t.length;){if(f.R)throw new r("trailing data after the end of the stream");const c=o.min(t.length-u,32768);if((!f.in||f.inBufferSize<c)&&(f.in&&In&&(In(f.in),f.in=0),f.in=Cn(c),f.inBufferSize=c,!f.in))throw En(new r("allocation failed"),-4);n.set(t.subarray(u,u+c),f.in);const w=e(f.A,f.in,c,i,a,0),l=w>>24&255,d=128&l?l-256:l;if(d<0)throw En(new r("process error:"+d),d);const p=16777215&w;p&&g(n.slice(i,i+p));const h=s(f.A);if(1===l)f.R=!0;else if(0===h&&0===p)break;u+=h}}(t)}catch(t){throw b(f),u.error(t),t}},close(){if(S)return;try{!function(){const t=new c(Mn.buffer),n=f.P,e=f.M;for(;;){const o=n(f.A,0,0,e,a,4),c=o>>24&255,s=128&c?c-256:c;if(s<0)throw En(new r("process error:"+s),s);const i=16777215&o;if(i&&g(t.slice(e,e+i)),1===c||0===i)break}}()}catch(t){throw b(f),u.error(t),t}const t=b(f);if(0!==t){const n=En(new r("end error:"+t),t);throw u.error(n),n}u.close()},abort(t){b(f),u.error(t)}},{highWaterMark:1})};function g(t){h=!0,u.enqueue(t)}function v(){if(d){const t=d;d=null,t()}}function b(t){let n=0;return t.A&&t.F&&(n=t.F(t.A)),t.A=0,t.in&&In&&In(t.in),t.in=0,t.M&&In&&In(t.M),t.M=0,n}}class xn{constructor(t=mn,n){return Rn(!0,t,n)}}class Pn{constructor(t=mn,n){return Rn(!1,t,n)}}xn.requiresModule=!0,Pn.requiresModule=!0,xn.supportedFormats=bn,Pn.supportedFormats=kn;const Dn=65536;let Fn,Un;function Bn(t){return new c(t.memory.buffer)}let Wn=!1;!function(t={}){const{init:n,U:e}=t,o=t.CompressionStreamFallback||t.CompressionStreamZlib,r=t.DecompressionStreamFallback||t.DecompressionStreamZlib;e&&(dt=e||G),self.initModule=async t=>{n&&await n(t),o&&(t.CompressionStreamFallback=o),r&&(t.DecompressionStreamFallback=r)}}({CompressionStreamFallback:xn,DecompressionStreamFallback:Pn,U:function(t,n){const e=Fn;let o=e?function(t,n,e){Un||(Un=t.malloc(Dn));const o=Un?t.aes_hmac_new():0;if(o){const r=Bn(t);if(r.set(n,Un),r.set(e,Un+n.length),t.aes_hmac_init(o,Un,n.length,Un+n.length,e.length))return t.aes_hmac_end(o,0),0}return o}(e,t,n):0;if(!o)return G(t,n);const r=Un;return{process(t,n){for(let c=0;c<t.length;c+=Dn){const s=t.subarray(c,c+Dn),a=Bn(e);a.set(s,r),e.aes_hmac_process(o,r,s.length,n?1:0),s.set(a.subarray(r,r+s.length))}},digest:()=>(e.aes_hmac_end(o,r),o=0,Bn(e).slice(r,r+20)),dispose(){o&&(e.aes_hmac_end(o,0),o=0)}}},init:t=>async function(t,{baseURI:n}){if(!Wn)try{await async function(t,n){let e,o;try{try{o=new URL(t,n)}catch{}const r=await fetch(o);e=await r.arrayBuffer()}catch(n){if(!t.startsWith("data:application/wasm;base64,"))throw n;e=function(t){const n=t.split(",")[1],e=atob(n),o=e.length,r=new c(o);for(let t=0;t<o;++t)r[t]=e.charCodeAt(t);return r.buffer}(t)}const s=await WebAssembly.instantiate(e);var a;(function(t){if(zn=t,({malloc:Cn,free:In,memory:Mn}=zn),"function"!=typeof Cn||"function"!=typeof In||!Mn)throw zn=Cn=In=Mn=null,new r("Invalid WASM module")})(s.instance.exports),typeof(a=s.instance.exports).aes_hmac_new==k&&(Fn=a,Un=0)}(t,n),Wn=!0}catch(t){throw function(t){An=t}(t),t}}(t.wasmURI,t)})});\n';
5287
5431
  if ("string" == typeof r2 && (r2 = new TextEncoder().encode(r2)), t4) {
5288
5432
  const t5 = new Blob([r2], { type: e3 });
5289
5433
  return URL.createObjectURL(t5);
@@ -5308,10 +5452,10 @@ var e = (t3) => t3({ workerURI: (t4) => {
5308
5452
  })(r2);
5309
5453
  } });
5310
5454
 
5311
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/zip-core-base.js
5455
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-core-base.js
5312
5456
  init_configuration();
5313
5457
 
5314
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/codec-worker-web.js
5458
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-worker-web.js
5315
5459
  init_constants();
5316
5460
  init_array();
5317
5461
  init_error();
@@ -5324,11 +5468,6 @@ var ABORT_EVENT_TYPE = "abort";
5324
5468
  var webWorkerSource;
5325
5469
  var webWorkerURI;
5326
5470
  var webWorkerOptions;
5327
- var transferStreamsSupported = true;
5328
- try {
5329
- transferStreamsSupported = typeof structuredClone == FUNCTION_TYPE && structuredClone(new DOMException("", "AbortError")).code !== UNDEFINED_VALUE;
5330
- } catch {
5331
- }
5332
5471
  setWebWorkerBackend(createWebWorkerInterface);
5333
5472
  function createWebWorkerInterface(workerData, config3) {
5334
5473
  const { baseURI, chunkSize, workerStartupTimeout } = config3;
@@ -5409,14 +5548,11 @@ async function runWebWorker(workerData, config3) {
5409
5548
  });
5410
5549
  const { readable, options } = workerData;
5411
5550
  const { writable, closed, abortPipe } = watchClosedStream(workerData.writable, workerData);
5412
- let streamsTransferred;
5413
5551
  try {
5414
- streamsTransferred = sendMessage({
5552
+ sendMessage({
5415
5553
  type: MESSAGE_START,
5416
5554
  options,
5417
- config: config3,
5418
- readable,
5419
- writable
5555
+ config: config3
5420
5556
  }, workerData);
5421
5557
  } catch (error) {
5422
5558
  abortPipe();
@@ -5427,12 +5563,10 @@ async function runWebWorker(workerData, config3) {
5427
5563
  workerData.onTaskFinished();
5428
5564
  throw error;
5429
5565
  }
5430
- if (!streamsTransferred) {
5431
- Object.assign(workerData, {
5432
- reader: readable.getReader(),
5433
- writer: writable.getWriter()
5434
- });
5435
- }
5566
+ Object.assign(workerData, {
5567
+ reader: readable.getReader(),
5568
+ writer: writable.getWriter()
5569
+ });
5436
5570
  const { workerStartupTimeout } = config3;
5437
5571
  if (!workerData.workerAlive && Number.isFinite(workerStartupTimeout) && workerStartupTimeout >= 0) {
5438
5572
  workerData.startupTimeout = setTimeout(() => onStartupTimeout(workerData), workerStartupTimeout);
@@ -5462,7 +5596,7 @@ async function runWebWorker(workerData, config3) {
5462
5596
  throw reportedError;
5463
5597
  }
5464
5598
  async function closeWritable() {
5465
- if (!streamsTransferred && !writable.locked) {
5599
+ if (!writable.locked) {
5466
5600
  try {
5467
5601
  await writable.getWriter().close();
5468
5602
  } catch {
@@ -5642,31 +5776,14 @@ function onWorkerError(event, workerData) {
5642
5776
  }
5643
5777
  }
5644
5778
  }
5645
- function sendMessage(message, { worker, writer, transferStreams, workerAlive }) {
5779
+ function sendMessage(message, { worker, writer }) {
5646
5780
  try {
5647
- const { value, readable, writable } = message;
5648
- const transferables = [];
5781
+ const { value } = message;
5649
5782
  if (value) {
5650
5783
  message.value = toExactUint8Array(value);
5651
- transferables.push(message.value.buffer);
5652
- }
5653
- if (transferStreams && transferStreamsSupported && workerAlive) {
5654
- if (readable) {
5655
- transferables.push(readable);
5656
- }
5657
- if (writable) {
5658
- transferables.push(writable);
5659
- }
5660
- } else {
5661
- message.readable = message.writable = null;
5662
- }
5663
- if (transferables.length) {
5664
5784
  try {
5665
- worker.postMessage(message, transferables);
5666
- return true;
5785
+ worker.postMessage(message, [message.value.buffer]);
5667
5786
  } catch {
5668
- transferStreamsSupported = false;
5669
- message.readable = message.writable = null;
5670
5787
  worker.postMessage(message);
5671
5788
  }
5672
5789
  } else {
@@ -5771,10 +5888,10 @@ function getResponseError(errorData, errorValue) {
5771
5888
  return responseError;
5772
5889
  }
5773
5890
 
5774
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/zip-core-reader.js
5891
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-core-reader.js
5775
5892
  init_zip_reader();
5776
5893
 
5777
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/zip-writer.js
5894
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-writer.js
5778
5895
  init_constants();
5779
5896
  init_configuration();
5780
5897
  init_codec_registry();
@@ -5823,6 +5940,7 @@ var ERR_INVALID_UNIX_ID_SIZE = "uid/gid must be 0..65535 for unixExtraFieldType
5823
5940
  var ERR_INVALID_MSDOS_ATTRIBUTES = "Invalid msdosAttributesRaw (must be integer 0..255)";
5824
5941
  var ERR_INVALID_MSDOS_DATA = "Invalid msdosAttributes (must be an object with boolean flags)";
5825
5942
  var ERR_INVALID_LEVEL = "Invalid level (must be integer 0..9)";
5943
+ var ERR_INVALID_UNCOMPRESSED_SIZE_OPTION = "Invalid uncompressedSize option (must be a non-negative integer)";
5826
5944
  var ERR_INVALID_SIGNATURE_DATA = "Signature data exceeds 64KB";
5827
5945
  var ERR_INVALID_ENTRY = "Invalid entry option (must be an entry returned by ZipReader#getEntries())";
5828
5946
  var ERR_ZIP_CRYPTO_LAST_MOD_DATE = "The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set";
@@ -5869,128 +5987,8 @@ var ZipWriter = class {
5869
5987
  prependZip(reader) {
5870
5988
  return watchPromiseError(this, prependZipEntries(this, reader));
5871
5989
  }
5872
- appendZip(reader) {
5873
- return watchPromiseError(this, this.appendZipEntries(reader));
5874
- }
5875
- async appendZipEntries(reader) {
5876
- const zipWriter = this;
5877
- const { pendingAddFileCalls, filenames, fileEntries } = zipWriter;
5878
- while (pendingAddFileCalls.size) {
5879
- await Promise.allSettled(Array.from(pendingAddFileCalls));
5880
- }
5881
- let resolveAppendZip;
5882
- const promiseAppendZip = new Promise((resolve) => resolveAppendZip = resolve);
5883
- pendingAddFileCalls.add(promiseAppendZip);
5884
- const appendedFilenames = [];
5885
- let releaseLockWriter;
5886
- try {
5887
- reader = new GenericReader(reader);
5888
- await initStream(reader);
5889
- if (reader.size === UNDEFINED_VALUE || !reader.readUint8Array) {
5890
- reader = new BlobReader(await streamToBlob(reader.readable));
5891
- await initStream(reader);
5892
- }
5893
- const { ZipReader: ZipReader2 } = await Promise.resolve().then(() => (init_zip_reader(), zip_reader_exports));
5894
- const zipReader = new ZipReader2(reader);
5895
- const entries = await zipReader.getEntries();
5896
- await zipReader.close();
5897
- await initStream(zipWriter.writer);
5898
- const { directoryOffset } = zipReader;
5899
- entries.forEach(({ filename }) => {
5900
- if (filenames.has(filename)) {
5901
- throw new Error(ERR_DUPLICATED_NAME);
5902
- }
5903
- filenames.add(filename);
5904
- appendedFilenames.push(filename);
5905
- });
5906
- zipWriter.writerLocked = true;
5907
- const { lockWriter } = zipWriter;
5908
- zipWriter.lockWriter = new Promise((resolve) => releaseLockWriter = () => {
5909
- zipWriter.writerLocked = false;
5910
- resolve();
5911
- });
5912
- await lockWriter;
5913
- if (zipWriter.addSplitZipSignature) {
5914
- delete zipWriter.addSplitZipSignature;
5915
- if (!await startsWithSplitZipSignature2(reader)) {
5916
- await writeData(zipWriter.writer, getSplitZipSignatureArray());
5917
- zipWriter.offset += SPLIT_ZIP_FILE_SIGNATURE_LENGTH;
5918
- }
5919
- }
5920
- const entryPositions = await copyZipData(zipWriter, reader, entries, directoryOffset);
5921
- entries.forEach((entry) => {
5922
- const {
5923
- version,
5924
- rawLastModDate,
5925
- rawFilename,
5926
- bitFlag,
5927
- encrypted,
5928
- uncompressedSize,
5929
- compressedSize,
5930
- extraFieldZip64
5931
- } = entry;
5932
- let {
5933
- compressionMethod,
5934
- rawExtraField
5935
- } = entry;
5936
- const { level, languageEncodingFlag, dataDescriptor } = bitFlag;
5937
- rawExtraField = removeExtraFieldZip64(rawExtraField || EMPTY_UINT8_ARRAY);
5938
- if (entry.extraFieldAES) {
5939
- compressionMethod = COMPRESSION_METHOD_AES;
5940
- }
5941
- const extraFieldLength = getLength(rawExtraField);
5942
- const zip64UncompressedSize = Boolean(extraFieldZip64) && extraFieldZip64.uncompressedSize !== UNDEFINED_VALUE;
5943
- const zip64CompressedSize = Boolean(extraFieldZip64) && extraFieldZip64.compressedSize !== UNDEFINED_VALUE;
5944
- const bitFlagValue = getBitFlag(level, languageEncodingFlag, dataDescriptor, encrypted, compressionMethod) & ~BITFLAG_LEVEL | level << 1;
5945
- const {
5946
- headerArray,
5947
- headerView
5948
- } = getHeaderArrayData({
5949
- version,
5950
- bitFlag: bitFlagValue,
5951
- compressionMethod,
5952
- uncompressedSize,
5953
- compressedSize,
5954
- rawLastModDate,
5955
- rawFilename,
5956
- zip64CompressedSize,
5957
- zip64UncompressedSize,
5958
- extraFieldLength
5959
- });
5960
- const { crc32 } = entry;
5961
- if (crc32 !== UNDEFINED_VALUE) {
5962
- setUint32(headerView, HEADER_OFFSET_SIGNATURE, crc32);
5963
- }
5964
- const { offset, diskNumberStart } = entryPositions.get(entry);
5965
- Object.assign(entry, {
5966
- zip64Enabled: true,
5967
- zip64UncompressedSize,
5968
- zip64CompressedSize,
5969
- offset,
5970
- diskNumberStart,
5971
- zip64DiskNumberStart: false,
5972
- rawExtraFieldZip64: EMPTY_UINT8_ARRAY,
5973
- rawExtraFieldAES: EMPTY_UINT8_ARRAY,
5974
- rawExtraFieldExtendedTimestamp: EMPTY_UINT8_ARRAY,
5975
- rawExtraFieldNTFS: EMPTY_UINT8_ARRAY,
5976
- rawExtraFieldUnix: EMPTY_UINT8_ARRAY,
5977
- rawExtraField,
5978
- rawCentralExtraField: EMPTY_UINT8_ARRAY,
5979
- headerArray,
5980
- headerView
5981
- });
5982
- fileEntries.set(entry.filename, entry);
5983
- });
5984
- } catch (error) {
5985
- appendedFilenames.forEach((filename) => filenames.delete(filename));
5986
- throw error;
5987
- } finally {
5988
- resolveAppendZip();
5989
- pendingAddFileCalls.delete(promiseAppendZip);
5990
- if (releaseLockWriter) {
5991
- releaseLockWriter();
5992
- }
5993
- }
5990
+ appendZip(reader, options = {}) {
5991
+ return watchPromiseError(this, appendZipEntries(this, reader, options));
5994
5992
  }
5995
5993
  add(name = "", reader, options = {}) {
5996
5994
  const zipWriter = this;
@@ -6080,11 +6078,147 @@ function watchPromiseError(zipWriter, promise) {
6080
6078
  zipWriter.pendingErrors.push(watcher);
6081
6079
  return watchedPromise;
6082
6080
  }
6081
+ async function appendZipEntries(zipWriter, reader, options = {}) {
6082
+ const { pendingAddFileCalls, filenames, fileEntries } = zipWriter;
6083
+ const filter = checkFunctionOption(options.filter);
6084
+ const readerOptions = checkReaderOptionsObject(options.readerOptions);
6085
+ while (pendingAddFileCalls.size) {
6086
+ await Promise.allSettled(Array.from(pendingAddFileCalls));
6087
+ }
6088
+ let resolveAppendZip;
6089
+ const promiseAppendZip = new Promise((resolve) => resolveAppendZip = resolve);
6090
+ pendingAddFileCalls.add(promiseAppendZip);
6091
+ const appendedFilenames = [];
6092
+ let releaseLockWriter;
6093
+ try {
6094
+ reader = new GenericReader(reader);
6095
+ await initStream(reader);
6096
+ if (reader.size === UNDEFINED_VALUE || !reader.readUint8Array) {
6097
+ reader = new BlobReader(await streamToBlob(reader.readable));
6098
+ await initStream(reader);
6099
+ }
6100
+ const { ZipReader: ZipReader2, getEntryDataDescriptorLength: getEntryDataDescriptorLength2 } = await Promise.resolve().then(() => (init_zip_reader(), zip_reader_exports));
6101
+ const zipReader = new ZipReader2(reader, readerOptions);
6102
+ const keptEntries = [];
6103
+ let entries;
6104
+ try {
6105
+ entries = await zipReader.getEntries();
6106
+ for (const entry of entries) {
6107
+ if (!filter || await filter(entry, getExistingEntry(fileEntries, entry.filename))) {
6108
+ keptEntries.push(entry);
6109
+ }
6110
+ }
6111
+ } finally {
6112
+ await zipReader.close();
6113
+ }
6114
+ await initStream(zipWriter.writer);
6115
+ const { directoryOffset, entriesMissingZip64ExtraField } = zipReader;
6116
+ keptEntries.forEach((entry) => {
6117
+ const { filename } = entry;
6118
+ if (entriesMissingZip64ExtraField.has(entry)) {
6119
+ throw new Error(ERR_EXTRAFIELD_ZIP64_NOT_FOUND);
6120
+ }
6121
+ if (filenames.has(filename)) {
6122
+ throw new Error(ERR_DUPLICATED_NAME);
6123
+ }
6124
+ filenames.add(filename);
6125
+ appendedFilenames.push(filename);
6126
+ });
6127
+ zipWriter.writerLocked = true;
6128
+ const { lockWriter } = zipWriter;
6129
+ zipWriter.lockWriter = new Promise((resolve) => releaseLockWriter = () => {
6130
+ zipWriter.writerLocked = false;
6131
+ resolve();
6132
+ });
6133
+ await lockWriter;
6134
+ if (zipWriter.addSplitZipSignature) {
6135
+ delete zipWriter.addSplitZipSignature;
6136
+ if (filter || !await startsWithSplitZipSignature2(reader)) {
6137
+ await writeData(zipWriter.writer, getSplitZipSignatureArray());
6138
+ zipWriter.offset += SPLIT_ZIP_FILE_SIGNATURE_LENGTH;
6139
+ }
6140
+ }
6141
+ const entryPositions = await copyZipData(zipWriter, reader, entries, keptEntries, directoryOffset, Boolean(filter), getEntryDataDescriptorLength2);
6142
+ keptEntries.forEach((entry) => {
6143
+ const {
6144
+ version,
6145
+ rawLastModDate,
6146
+ rawFilename,
6147
+ rawBitFlag,
6148
+ uncompressedSize,
6149
+ compressedSize,
6150
+ extraFieldZip64
6151
+ } = entry;
6152
+ let {
6153
+ compressionMethod,
6154
+ rawExtraField
6155
+ } = entry;
6156
+ rawExtraField = removeExtraFieldZip64(rawExtraField || EMPTY_UINT8_ARRAY);
6157
+ if (entry.extraFieldAES) {
6158
+ compressionMethod = COMPRESSION_METHOD_AES;
6159
+ }
6160
+ const extraFieldLength = getLength(rawExtraField);
6161
+ const zip64UncompressedSize = Boolean(extraFieldZip64) && extraFieldZip64.uncompressedSize !== UNDEFINED_VALUE;
6162
+ const zip64CompressedSize = Boolean(extraFieldZip64) && extraFieldZip64.compressedSize !== UNDEFINED_VALUE;
6163
+ const {
6164
+ headerArray,
6165
+ headerView
6166
+ } = getHeaderArrayData({
6167
+ version,
6168
+ bitFlag: rawBitFlag,
6169
+ compressionMethod,
6170
+ uncompressedSize,
6171
+ compressedSize,
6172
+ rawLastModDate,
6173
+ rawFilename,
6174
+ zip64CompressedSize,
6175
+ zip64UncompressedSize,
6176
+ extraFieldLength
6177
+ });
6178
+ const { crc32 } = entry;
6179
+ if (crc32 !== UNDEFINED_VALUE) {
6180
+ setUint32(headerView, HEADER_OFFSET_SIGNATURE, crc32);
6181
+ }
6182
+ const { offset, diskNumberStart } = entryPositions.get(entry);
6183
+ fileEntries.set(entry.filename, Object.assign({}, entry, {
6184
+ zip64Enabled: true,
6185
+ zip64UncompressedSize,
6186
+ zip64CompressedSize,
6187
+ offset,
6188
+ diskNumberStart,
6189
+ zip64DiskNumberStart: false,
6190
+ rawExtraFieldZip64: EMPTY_UINT8_ARRAY,
6191
+ rawExtraFieldAES: EMPTY_UINT8_ARRAY,
6192
+ rawExtraFieldExtendedTimestamp: EMPTY_UINT8_ARRAY,
6193
+ rawExtraFieldNTFS: EMPTY_UINT8_ARRAY,
6194
+ rawExtraFieldUnix: EMPTY_UINT8_ARRAY,
6195
+ rawCentralExtraFieldUnix: EMPTY_UINT8_ARRAY,
6196
+ rawExtraField,
6197
+ rawCentralExtraField: EMPTY_UINT8_ARRAY,
6198
+ headerArray,
6199
+ headerView
6200
+ }));
6201
+ });
6202
+ } catch (error) {
6203
+ appendedFilenames.forEach((filename) => filenames.delete(filename));
6204
+ throw error;
6205
+ } finally {
6206
+ resolveAppendZip();
6207
+ pendingAddFileCalls.delete(promiseAppendZip);
6208
+ if (releaseLockWriter) {
6209
+ releaseLockWriter();
6210
+ }
6211
+ }
6212
+ }
6213
+ function getExistingEntry(fileEntries, filename) {
6214
+ const fileEntry = fileEntries.get(filename);
6215
+ return fileEntry ? new Entry(fileEntry) : UNDEFINED_VALUE;
6216
+ }
6083
6217
  async function prependZipEntries(zipWriter, reader) {
6084
6218
  if (zipWriter.filenames.size) {
6085
6219
  throw new Error(ERR_ZIP_NOT_EMPTY);
6086
6220
  }
6087
- await zipWriter.appendZipEntries(reader);
6221
+ await appendZipEntries(zipWriter, reader);
6088
6222
  }
6089
6223
  async function addFileEntry(zipWriter, name, reader, options) {
6090
6224
  options = Object.assign({}, options);
@@ -6442,7 +6576,6 @@ function resolveMetadata(zipWriter, name, options) {
6442
6576
  const ntfsTimestamp = getOptionValue2(zipWriter, options, OPTION_NTFS_TIMESTAMP);
6443
6577
  const keepOrder = getOptionValue2(zipWriter, options, OPTION_KEEP_ORDER, true);
6444
6578
  const useWebWorkers = getOptionValue2(zipWriter, options, OPTION_USE_WEB_WORKERS);
6445
- const transferStreams = getOptionValue2(zipWriter, options, OPTION_TRANSFER_STREAMS);
6446
6579
  const bufferedWrite = getOptionValue2(zipWriter, options, OPTION_BUFFERED_WRITE);
6447
6580
  const createTempStream = getFunctionOptionValue2(zipWriter, options, OPTION_CREATE_TEMP_STREAM);
6448
6581
  const dataDescriptorSignature = getOptionValue2(zipWriter, options, OPTION_DATA_DESCRIPTOR_SIGNATURE, true);
@@ -6511,7 +6644,6 @@ function resolveMetadata(zipWriter, name, options) {
6511
6644
  ntfsTimestamp,
6512
6645
  keepOrder,
6513
6646
  useWebWorkers,
6514
- transferStreams,
6515
6647
  bufferedWrite,
6516
6648
  createTempStream,
6517
6649
  dataDescriptorSignature,
@@ -6568,7 +6700,7 @@ async function resolveSizes(zipWriter, reader, { resolvedOptions: metadata }, op
6568
6700
  if (reader) {
6569
6701
  reader = new GenericReader(reader);
6570
6702
  await initStream(reader);
6571
- if (!reader.readable && !reader.readUint8Array) {
6703
+ if (!reader.readUint8Array && !reader.readable) {
6572
6704
  throw new Error(ERR_INVALID_READER);
6573
6705
  }
6574
6706
  ({ size: contentSize } = reader);
@@ -6581,8 +6713,10 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
6581
6713
  let maximumCompressedSize = 0;
6582
6714
  let uncompressedSize = 0;
6583
6715
  let unknownSize = false;
6716
+ const uncompressedSizeOption = toNumber(options[PROPERTY_NAME_UNCOMPRESSED_SIZE]);
6717
+ checkIntegerOption(uncompressedSizeOption, Number.MAX_SAFE_INTEGER, ERR_INVALID_UNCOMPRESSED_SIZE_OPTION);
6584
6718
  if (passThroughCompression && hasContent) {
6585
- uncompressedSize = options[PROPERTY_NAME_UNCOMPRESSED_SIZE];
6719
+ uncompressedSize = uncompressedSizeOption;
6586
6720
  if (uncompressedSize === UNDEFINED_VALUE) {
6587
6721
  throw new Error(ERR_UNDEFINED_UNCOMPRESSED_SIZE);
6588
6722
  }
@@ -6603,14 +6737,14 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
6603
6737
  const encryptionOverhead = getEncryptionOverhead(encryptedEntry, zipCrypto, encryptionStrength);
6604
6738
  if (hasContent) {
6605
6739
  if (!passThroughCompression) {
6606
- if (contentSize === UNDEFINED_VALUE) {
6607
- dataDescriptor = true;
6740
+ const expectedSize = contentSize === UNDEFINED_VALUE ? uncompressedSizeOption : contentSize;
6741
+ if (expectedSize === UNDEFINED_VALUE) {
6608
6742
  if (zip64 || zip64 === UNDEFINED_VALUE) {
6609
6743
  zip64 = unknownSize = true;
6610
6744
  maximumCompressedSize = MAX_32_BITS + 1;
6611
6745
  }
6612
6746
  } else {
6613
- options.uncompressedSize = uncompressedSize = contentSize;
6747
+ options.uncompressedSize = uncompressedSize = expectedSize;
6614
6748
  maximumCompressedSize = (isCompressed(compressionMethod, level) ? getMaximumCompressedSize(uncompressedSize) : uncompressedSize) + encryptionOverhead;
6615
6749
  }
6616
6750
  } else {
@@ -6619,7 +6753,9 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
6619
6753
  }
6620
6754
  }
6621
6755
  const emptyEntry = !encryptedEntry && (!hasContent || contentSize === 0 && !passThroughCompression) && !isCompressed(compressionMethod, level);
6622
- if (emptyEntry && getOptionValue2(zipWriter, options, OPTION_DATA_DESCRIPTOR) === UNDEFINED_VALUE) {
6756
+ const crc32Provided = options.crc32 !== UNDEFINED_VALUE || options[PROPERTY_NAME_SIGNATURE] !== UNDEFINED_VALUE;
6757
+ const completeHeader = passThroughCompression && hasContent && contentSize !== UNDEFINED_VALUE && !(encryptedEntry && zipCrypto) && (crc32Provided || encryptedEntry && !zipCrypto);
6758
+ if ((emptyEntry || completeHeader) && getOptionValue2(zipWriter, options, OPTION_DATA_DESCRIPTOR) === UNDEFINED_VALUE) {
6623
6759
  dataDescriptor = false;
6624
6760
  }
6625
6761
  const zip64UncompressedSize = zip64Enabled || unknownSize || uncompressedSize >= MAX_32_BITS;
@@ -6637,6 +6773,8 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
6637
6773
  resolvedOptions: {
6638
6774
  dataDescriptor,
6639
6775
  emptyEntry,
6776
+ completeHeader,
6777
+ knownCompressedSize: completeHeader ? maximumCompressedSize : UNDEFINED_VALUE,
6640
6778
  zip64,
6641
6779
  zip64Enabled,
6642
6780
  unknownSize,
@@ -6658,6 +6796,7 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
6658
6796
  keepOrder,
6659
6797
  dataDescriptor,
6660
6798
  emptyEntry,
6799
+ completeHeader,
6661
6800
  signal
6662
6801
  } = options;
6663
6802
  const {
@@ -6679,7 +6818,7 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
6679
6818
  const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
6680
6819
  fileEntries.set(name, fileEntry);
6681
6820
  try {
6682
- if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || zipWriter.directWrites || !dataDescriptor && !emptyEntry) {
6821
+ if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || zipWriter.directWrites || !dataDescriptor && !emptyEntry && !completeHeader) {
6683
6822
  bufferedWrite = true;
6684
6823
  zipWriter.bufferedWrites++;
6685
6824
  if (options.createTempStream) {
@@ -6822,6 +6961,7 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
6822
6961
  extraFieldExtendedTimestampTime,
6823
6962
  rawExtraFieldNTFS,
6824
6963
  rawExtraFieldUnix,
6964
+ rawCentralExtraFieldUnix,
6825
6965
  rawExtraFieldAES
6826
6966
  } = headerInfo;
6827
6967
  const { dataDescriptorArray } = dataDescriptorInfo;
@@ -6846,7 +6986,6 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
6846
6986
  rawExtraField,
6847
6987
  rawCentralExtraField,
6848
6988
  useWebWorkers,
6849
- transferStreams,
6850
6989
  onstart,
6851
6990
  onprogress,
6852
6991
  onend,
@@ -6888,6 +7027,7 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
6888
7027
  rawExtraFieldExtendedTimestamp,
6889
7028
  rawExtraFieldNTFS,
6890
7029
  rawExtraFieldUnix,
7030
+ rawCentralExtraFieldUnix,
6891
7031
  rawExtraFieldAES,
6892
7032
  rawExtraField,
6893
7033
  rawCentralExtraField,
@@ -6934,7 +7074,6 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
6934
7074
  encrypted: encrypted && !passThroughEncryption,
6935
7075
  useWebWorkers,
6936
7076
  useCompressionStream,
6937
- transferStreams,
6938
7077
  format,
6939
7078
  codecURI,
6940
7079
  compressionMethod
@@ -7022,10 +7161,12 @@ function getHeaderInfo(options) {
7022
7161
  zip64UncompressedSize,
7023
7162
  zip64CompressedSize,
7024
7163
  uncompressedSize,
7164
+ knownCompressedSize,
7025
7165
  unknownSize,
7026
7166
  crc32
7027
7167
  } = options;
7028
7168
  let { version, compressionMethod } = options;
7169
+ const compressedSize = dataDescriptor ? UNDEFINED_VALUE : knownCompressedSize;
7029
7170
  const compressed = !directory && isCompressed(compressionMethod, level);
7030
7171
  let rawLocalExtraFieldZip64;
7031
7172
  const uncompressedFile = passThroughCompression || !compressed;
@@ -7041,7 +7182,7 @@ function getHeaderInfo(options) {
7041
7182
  extraFieldZip64.writeUint64(uncompressedSize);
7042
7183
  if (uncompressedFile) {
7043
7184
  const encryptionOverhead = getEncryptionOverhead(encrypted, zipCrypto, encryptionStrength);
7044
- extraFieldZip64.writeUint64(passThroughCompression ? 0 : uncompressedSize + encryptionOverhead);
7185
+ extraFieldZip64.writeUint64(passThroughCompression ? compressedSize === UNDEFINED_VALUE ? 0 : compressedSize : uncompressedSize + encryptionOverhead);
7045
7186
  }
7046
7187
  }
7047
7188
  } else {
@@ -7107,6 +7248,7 @@ function getHeaderInfo(options) {
7107
7248
  rawExtraFieldNTFS = rawExtraFieldExtendedTimestamp = EMPTY_UINT8_ARRAY;
7108
7249
  }
7109
7250
  let rawExtraFieldUnix;
7251
+ let rawCentralExtraFieldUnix;
7110
7252
  try {
7111
7253
  const { uid, gid, unixExtraFieldType } = options;
7112
7254
  if (unixExtraFieldType == INFOZIP_EXTRA_FIELD_TYPE && (uid !== UNDEFINED_VALUE || gid !== UNDEFINED_VALUE)) {
@@ -7121,7 +7263,7 @@ function getHeaderInfo(options) {
7121
7263
  extraFieldUnix.writeBytes(uidBytes);
7122
7264
  extraFieldUnix.writeUint8(gidBytes.length);
7123
7265
  extraFieldUnix.writeBytes(gidBytes);
7124
- rawExtraFieldUnix = extraFieldUnix.array;
7266
+ rawExtraFieldUnix = rawCentralExtraFieldUnix = extraFieldUnix.array;
7125
7267
  } else if (unixExtraFieldType == UNIX_EXTRA_FIELD_TYPE && (uid !== UNDEFINED_VALUE || gid !== UNDEFINED_VALUE)) {
7126
7268
  const extraFieldUnix = createRecordWriter(8);
7127
7269
  extraFieldUnix.writeUint16(EXTRAFIELD_TYPE_UNIX);
@@ -7129,11 +7271,15 @@ function getHeaderInfo(options) {
7129
7271
  extraFieldUnix.writeUint16((uid === UNDEFINED_VALUE ? 0 : uid) & MAX_16_BITS);
7130
7272
  extraFieldUnix.writeUint16((gid === UNDEFINED_VALUE ? 0 : gid) & MAX_16_BITS);
7131
7273
  rawExtraFieldUnix = extraFieldUnix.array;
7274
+ const centralExtraFieldUnix = createRecordWriter(4);
7275
+ centralExtraFieldUnix.writeUint16(EXTRAFIELD_TYPE_UNIX);
7276
+ centralExtraFieldUnix.writeUint16(0);
7277
+ rawCentralExtraFieldUnix = centralExtraFieldUnix.array;
7132
7278
  } else {
7133
- rawExtraFieldUnix = EMPTY_UINT8_ARRAY;
7279
+ rawExtraFieldUnix = rawCentralExtraFieldUnix = EMPTY_UINT8_ARRAY;
7134
7280
  }
7135
7281
  } catch {
7136
- rawExtraFieldUnix = EMPTY_UINT8_ARRAY;
7282
+ rawExtraFieldUnix = rawCentralExtraFieldUnix = EMPTY_UINT8_ARRAY;
7137
7283
  }
7138
7284
  if (compressionMethod === UNDEFINED_VALUE) {
7139
7285
  compressionMethod = compressed ? COMPRESSION_METHOD_DEFLATE : COMPRESSION_METHOD_STORE;
@@ -7174,6 +7320,7 @@ function getHeaderInfo(options) {
7174
7320
  bitFlag: getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted, compressionMethod),
7175
7321
  compressionMethod,
7176
7322
  uncompressedSize,
7323
+ compressedSize,
7177
7324
  lastModDate: clampedLastModDate,
7178
7325
  rawLastModDate: rawLastModDateOption,
7179
7326
  rawFilename,
@@ -7181,6 +7328,9 @@ function getHeaderInfo(options) {
7181
7328
  zip64UncompressedSize,
7182
7329
  extraFieldLength
7183
7330
  });
7331
+ if (compressedSize !== UNDEFINED_VALUE && passThroughCompression && crc32 !== UNDEFINED_VALUE) {
7332
+ setUint32(headerView, HEADER_OFFSET_SIGNATURE, crc32);
7333
+ }
7184
7334
  const localHeader = createRecordWriter(HEADER_SIZE + getLength(rawFilename) + extraFieldLength);
7185
7335
  const localHeaderArray = localHeader.array;
7186
7336
  const localHeaderView = getDataView(localHeaderArray);
@@ -7223,6 +7373,7 @@ function getHeaderInfo(options) {
7223
7373
  rawExtraFieldExtendedTimestamp,
7224
7374
  rawExtraFieldNTFS,
7225
7375
  rawExtraFieldUnix,
7376
+ rawCentralExtraFieldUnix,
7226
7377
  rawExtraFieldAES,
7227
7378
  extraFieldLength
7228
7379
  };
@@ -7389,7 +7540,7 @@ function createDirectoryRecords(files) {
7389
7540
  rawExtraFieldAES,
7390
7541
  rawComment,
7391
7542
  rawExtraFieldNTFS,
7392
- rawExtraFieldUnix,
7543
+ rawCentralExtraFieldUnix,
7393
7544
  rawExtraField,
7394
7545
  rawCentralExtraField,
7395
7546
  extraFieldExtendedTimestampFlag,
@@ -7451,7 +7602,7 @@ function createDirectoryRecords(files) {
7451
7602
  rawExtraFieldZip64,
7452
7603
  rawExtraFieldAES,
7453
7604
  rawExtraFieldNTFS,
7454
- rawExtraFieldUnix,
7605
+ rawCentralExtraFieldUnix,
7455
7606
  rawExtraFieldTimestamp,
7456
7607
  rawExtraField,
7457
7608
  rawCentralExtraField
@@ -7480,7 +7631,7 @@ async function writeDirectoryRecords(zipWriter, directoryDataLength, options) {
7480
7631
  rawExtraFieldAES,
7481
7632
  rawExtraFieldExtendedTimestamp,
7482
7633
  rawExtraFieldNTFS,
7483
- rawExtraFieldUnix,
7634
+ rawCentralExtraFieldUnix,
7484
7635
  rawExtraField,
7485
7636
  rawCentralExtraField,
7486
7637
  rawComment,
@@ -7497,7 +7648,7 @@ async function writeDirectoryRecords(zipWriter, directoryDataLength, options) {
7497
7648
  uncompressedSize,
7498
7649
  compressedSize
7499
7650
  } = fileEntry;
7500
- const extraFieldLength = getLength(rawExtraFieldZip64, rawExtraFieldAES, rawExtraFieldExtendedTimestamp, rawExtraFieldNTFS, rawExtraFieldUnix, rawExtraField, rawCentralExtraField);
7651
+ const extraFieldLength = getLength(rawExtraFieldZip64, rawExtraFieldAES, rawExtraFieldExtendedTimestamp, rawExtraFieldNTFS, rawCentralExtraFieldUnix, rawExtraField, rawCentralExtraField);
7501
7652
  const directoryRecordLength = CENTRAL_FILE_HEADER_LENGTH + getLength(rawFilename, rawComment) + extraFieldLength;
7502
7653
  if (exceedsAvailableSize(writer, offset + directoryRecordLength - directoryDiskOffset)) {
7503
7654
  await writeData(writer, directoryArray.slice(directoryDiskOffset, offset));
@@ -7533,7 +7684,7 @@ async function writeDirectoryRecords(zipWriter, directoryDataLength, options) {
7533
7684
  directoryRecord.writeBytes(rawExtraFieldAES);
7534
7685
  directoryRecord.writeBytes(rawExtraFieldExtendedTimestamp);
7535
7686
  directoryRecord.writeBytes(rawExtraFieldNTFS);
7536
- directoryRecord.writeBytes(rawExtraFieldUnix);
7687
+ directoryRecord.writeBytes(rawCentralExtraFieldUnix);
7537
7688
  directoryRecord.writeBytes(rawExtraField);
7538
7689
  directoryRecord.writeBytes(rawCentralExtraField);
7539
7690
  directoryRecord.writeBytes(rawComment);
@@ -7707,25 +7858,62 @@ function removeExtraFieldZip64(rawExtraField) {
7707
7858
  }
7708
7859
  return rawExtraField;
7709
7860
  }
7710
- async function copyZipData(zipWriter, reader, entries, directoryOffset) {
7861
+ async function copyZipData(zipWriter, reader, entries, keptEntries, directoryOffset, compact, getEntryDataDescriptorLength2) {
7711
7862
  const { writer } = zipWriter;
7712
7863
  const entryPositions = /* @__PURE__ */ new Map();
7713
- if (writer.closeDisk) {
7864
+ if (writer.closeDisk || compact) {
7714
7865
  const sortedEntries = Array.from(entries).sort((firstEntry, secondEntry) => getSourceOffset(reader, firstEntry) - getSourceOffset(reader, secondEntry));
7715
- let copiedLength = 0;
7716
- for (const entry of sortedEntries) {
7717
- const sourceOffset = getSourceOffset(reader, entry);
7718
- await copyData(zipWriter, reader, copiedLength, sourceOffset - copiedLength);
7719
- if (exceedsAvailableSize(writer, await getLocalHeaderLength(reader, sourceOffset))) {
7720
- await writer.closeDisk();
7721
- }
7722
- entryPositions.set(entry, {
7723
- offset: getSegmentOffset(zipWriter, writer),
7724
- diskNumberStart: getDiskNumber(writer)
7725
- });
7726
- copiedLength = sourceOffset;
7866
+ const regionEnds = getRegionEnds(reader, sortedEntries, directoryOffset);
7867
+ const keptEntrySet = new Set(keptEntries);
7868
+ const localHeaderLengths = /* @__PURE__ */ new Map();
7869
+ for (let indexEntry = 0; indexEntry < sortedEntries.length; indexEntry++) {
7870
+ const entry = sortedEntries[indexEntry];
7871
+ if (keptEntrySet.has(entry)) {
7872
+ const sourceOffset = getSourceOffset(reader, entry);
7873
+ const localHeaderLength = await getLocalHeaderLength(reader, sourceOffset);
7874
+ if (localHeaderLength === UNDEFINED_VALUE) {
7875
+ throw new Error(ERR_LOCAL_FILE_HEADER_NOT_FOUND);
7876
+ }
7877
+ let entryEnd = sourceOffset + localHeaderLength + entry.compressedSize;
7878
+ if (entry.bitFlag.dataDescriptor) {
7879
+ const dataDescriptorLength = await getEntryDataDescriptorLength2(reader, entryEnd, entry);
7880
+ entryEnd = dataDescriptorLength === UNDEFINED_VALUE ? Math.max(entryEnd, regionEnds[indexEntry]) : entryEnd + dataDescriptorLength;
7881
+ }
7882
+ if (entryEnd > regionEnds[indexEntry]) {
7883
+ throw new Error(ERR_OVERLAPPING_ENTRY);
7884
+ }
7885
+ regionEnds[indexEntry] = entryEnd;
7886
+ localHeaderLengths.set(entry, localHeaderLength);
7887
+ }
7888
+ }
7889
+ let copiedOffset = 0;
7890
+ let lastPosition;
7891
+ for (let indexEntry = 0; indexEntry < sortedEntries.length; indexEntry++) {
7892
+ const entry = sortedEntries[indexEntry];
7893
+ if (keptEntrySet.has(entry)) {
7894
+ const sourceOffset = getSourceOffset(reader, entry);
7895
+ if (sourceOffset < copiedOffset) {
7896
+ entryPositions.set(entry, lastPosition);
7897
+ } else {
7898
+ if (!compact) {
7899
+ await copyData(zipWriter, reader, copiedOffset, sourceOffset - copiedOffset);
7900
+ }
7901
+ if (writer.closeDisk && exceedsAvailableSize(writer, localHeaderLengths.get(entry))) {
7902
+ await writer.closeDisk();
7903
+ }
7904
+ lastPosition = {
7905
+ offset: getSegmentOffset(zipWriter, writer),
7906
+ diskNumberStart: getDiskNumber(writer)
7907
+ };
7908
+ entryPositions.set(entry, lastPosition);
7909
+ await copyData(zipWriter, reader, sourceOffset, regionEnds[indexEntry] - sourceOffset);
7910
+ copiedOffset = regionEnds[indexEntry];
7911
+ }
7912
+ }
7913
+ }
7914
+ if (!compact) {
7915
+ await copyData(zipWriter, reader, copiedOffset, directoryOffset - copiedOffset);
7727
7916
  }
7728
- await copyData(zipWriter, reader, copiedLength, directoryOffset - copiedLength);
7729
7917
  } else {
7730
7918
  const baseOffset = zipWriter.offset;
7731
7919
  await copyData(zipWriter, reader, 0, directoryOffset);
@@ -7736,6 +7924,19 @@ async function copyZipData(zipWriter, reader, entries, directoryOffset) {
7736
7924
  }
7737
7925
  return entryPositions;
7738
7926
  }
7927
+ function getRegionEnds(reader, sortedEntries, directoryOffset) {
7928
+ const regionEnds = new Array(sortedEntries.length);
7929
+ let regionEnd = directoryOffset;
7930
+ for (let indexEntry = sortedEntries.length - 1; indexEntry >= 0; indexEntry--) {
7931
+ const sourceOffset = getSourceOffset(reader, sortedEntries[indexEntry]);
7932
+ const nextEntry = sortedEntries[indexEntry + 1];
7933
+ if (nextEntry && getSourceOffset(reader, nextEntry) > sourceOffset) {
7934
+ regionEnd = Math.min(getSourceOffset(reader, nextEntry), directoryOffset);
7935
+ }
7936
+ regionEnds[indexEntry] = regionEnd;
7937
+ }
7938
+ return regionEnds;
7939
+ }
7739
7940
  async function copyData(zipWriter, reader, offset, size) {
7740
7941
  if (size > 0) {
7741
7942
  const { writer } = zipWriter;
@@ -7743,10 +7944,12 @@ async function copyData(zipWriter, reader, offset, size) {
7743
7944
  try {
7744
7945
  await flushBufferedData(createReadable(reader, { offset, size }), writer, UNDEFINED_VALUE, (chunkLength) => copiedLength += chunkLength);
7745
7946
  } catch (error) {
7746
- zipWriter.hasCorruptedEntries = true;
7747
- try {
7748
- error.corruptedEntry = true;
7749
- } catch {
7947
+ if (copiedLength) {
7948
+ zipWriter.hasCorruptedEntries = true;
7949
+ try {
7950
+ error.corruptedEntry = true;
7951
+ } catch {
7952
+ }
7750
7953
  }
7751
7954
  throw error;
7752
7955
  } finally {
@@ -7756,11 +7959,14 @@ async function copyData(zipWriter, reader, offset, size) {
7756
7959
  }
7757
7960
  }
7758
7961
  async function getLocalHeaderLength(reader, offset) {
7759
- const headerArray = await readUint8Array(reader, offset, HEADER_SIZE);
7962
+ const headerArray = offset >= 0 && offset + HEADER_SIZE <= reader.size ? await readUint8Array(reader, offset, HEADER_SIZE) : EMPTY_UINT8_ARRAY;
7760
7963
  if (getLength(headerArray) < HEADER_SIZE) {
7761
- return HEADER_SIZE;
7964
+ return UNDEFINED_VALUE;
7762
7965
  }
7763
7966
  const headerView = getDataView(headerArray);
7967
+ if (getUint322(headerView, 0) != LOCAL_FILE_HEADER_SIGNATURE) {
7968
+ return UNDEFINED_VALUE;
7969
+ }
7764
7970
  return HEADER_SIZE + getUint162(headerView, HEADER_OFFSET_FILENAME_LENGTH + LOCAL_HEADER_COMMON_OFFSET) + getUint162(headerView, HEADER_OFFSET_EXTRAFIELD_LENGTH + LOCAL_HEADER_COMMON_OFFSET);
7765
7971
  }
7766
7972
  function getSourceOffset(reader, { offset, diskNumberStart }) {
@@ -7942,39 +8148,39 @@ function getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted, compr
7942
8148
  return bitFlag;
7943
8149
  }
7944
8150
 
7945
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/zip-core-base.js
8151
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-core-base.js
7946
8152
  init_io();
7947
8153
  init_options();
7948
8154
  init_configuration();
7949
8155
  init_codec_registry();
7950
8156
 
7951
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/compression-methods.js
8157
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/compression-methods.js
7952
8158
  init_constants();
7953
8159
  init_configuration();
7954
8160
  init_codec_registry();
7955
8161
  init_zip_entry_stream();
7956
8162
 
7957
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/opfs-temp-stream.js
8163
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/opfs-temp-stream.js
7958
8164
  var DEFAULT_THRESHOLD = 1024 * 1024;
7959
8165
 
7960
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/blob-temp-stream.js
8166
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/blob-temp-stream.js
7961
8167
  init_compatible_streams();
7962
8168
  var DEFAULT_THRESHOLD2 = 1024 * 1024;
7963
8169
 
7964
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/util/sync-access-handle-temp-stream.js
8170
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/sync-access-handle-temp-stream.js
7965
8171
  var DEFAULT_THRESHOLD3 = 1024 * 1024;
7966
8172
  var READ_CHUNK_SIZE = 512 * 1024;
7967
8173
 
7968
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/zip-core-base.js
8174
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-core-base.js
7969
8175
  try {
7970
8176
  setDefaultConfiguration({ baseURI: import.meta.url });
7971
8177
  } catch {
7972
8178
  }
7973
8179
 
7974
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/zip-module-wasm.js
8180
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-module-wasm.js
7975
8181
  init_configuration();
7976
8182
 
7977
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/zlib-streams-inline.js
8183
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zlib-streams-inline.js
7978
8184
  var n2 = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258];
7979
8185
  var t2 = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0];
7980
8186
  var r = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577];
@@ -8099,14 +8305,14 @@ function s(s2) {
8099
8305
  })("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")))), X) });
8100
8306
  }
8101
8307
 
8102
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/zip-module-wasm-base.js
8308
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-module-wasm-base.js
8103
8309
  init_constants();
8104
8310
  init_configuration();
8105
8311
  init_codec_worker();
8106
8312
  init_codec_pool();
8107
8313
  init_aes_crypto_stream();
8108
8314
 
8109
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/zlib-wasm/zlib-streams.js
8315
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zlib-wasm/zlib-streams.js
8110
8316
  var FORMAT_DEFLATE = "deflate";
8111
8317
  var FORMAT_DEFLATE_RAW2 = "deflate-raw";
8112
8318
  var FORMAT_DEFLATE64_RAW2 = "deflate64-raw";
@@ -8369,7 +8575,7 @@ DecompressionStreamZlib.requiresModule = true;
8369
8575
  CompressionStreamZlib.supportedFormats = COMPRESSION_FORMATS;
8370
8576
  DecompressionStreamZlib.supportedFormats = DECOMPRESSION_FORMATS;
8371
8577
 
8372
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/zlib-wasm/aes-hmac-sha1-wasm.js
8578
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zlib-wasm/aes-hmac-sha1-wasm.js
8373
8579
  init_constants();
8374
8580
  init_aes_hmac_sha1();
8375
8581
  var BUFFER_LENGTH = 64 * 1024;
@@ -8432,7 +8638,7 @@ function getHeap(exports) {
8432
8638
  return new Uint8Array(exports.memory.buffer);
8433
8639
  }
8434
8640
 
8435
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/streams/zlib-wasm/zlib-streams-loader.js
8641
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zlib-wasm/zlib-streams-loader.js
8436
8642
  var initializedModule = false;
8437
8643
  async function initModule2(wasmURI, { baseURI }) {
8438
8644
  if (!initializedModule) {
@@ -8476,7 +8682,7 @@ function arrayBufferFromDataURI(dataURI) {
8476
8682
  return bytes2.buffer;
8477
8683
  }
8478
8684
 
8479
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/zip-module-wasm-base.js
8685
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-module-wasm-base.js
8480
8686
  var modulePromise;
8481
8687
  setAESEngine(createEngine3);
8482
8688
  configureWorker({
@@ -8499,10 +8705,10 @@ setDefaultConfiguration({
8499
8705
  DecompressionStreamFallback: DecompressionStreamZlib
8500
8706
  });
8501
8707
 
8502
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/zip-module-wasm.js
8708
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-module-wasm.js
8503
8709
  s(setDefaultConfiguration);
8504
8710
 
8505
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/core/zip-fs.js
8711
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-fs.js
8506
8712
  init_io();
8507
8713
  init_zip_reader();
8508
8714
  init_zip_entry();
@@ -8514,7 +8720,7 @@ init_compatible_streams();
8514
8720
  init_error();
8515
8721
  var EMPTY_RAW_PASSWORD = new Uint8Array(0);
8516
8722
 
8517
- // ../../node_modules/.pnpm/@zip.js+zip.js@2.18.2/node_modules/@zip.js/zip.js/lib/zip-fs-wasm.js
8723
+ // ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-fs-wasm.js
8518
8724
  e(setDefaultConfiguration);
8519
8725
 
8520
8726
  // src/io/bounded-zip.ts