@zip.js/zip.js 2.8.35 → 2.8.37

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.
Files changed (40) hide show
  1. package/deno.json +3 -2
  2. package/dist/zip-core.js +246 -55
  3. package/dist/zip-core.min.js +1 -1
  4. package/dist/zip-fs-core.js +198 -55
  5. package/dist/zip-fs-core.min.js +1 -1
  6. package/dist/zip-fs-native.js +249 -58
  7. package/dist/zip-fs-native.min.js +1 -1
  8. package/dist/zip-fs.js +247 -56
  9. package/dist/zip-fs.min.js +1 -1
  10. package/dist/zip-legacy.js +248 -57
  11. package/dist/zip-legacy.min.js +1 -1
  12. package/dist/zip-native.js +249 -58
  13. package/dist/zip-native.min.js +1 -1
  14. package/dist/zip-web-worker-native.js +1 -1
  15. package/dist/zip-web-worker.js +1 -1
  16. package/dist/zip.js +247 -56
  17. package/dist/zip.min.js +1 -1
  18. package/index-native.cjs +249 -58
  19. package/index-native.min.js +1 -1
  20. package/index.cjs +247 -56
  21. package/index.d.cts +112 -2
  22. package/index.d.ts +112 -2
  23. package/index.min.js +1 -1
  24. package/lib/core/codec-pool.js +19 -3
  25. package/lib/core/codec-registry.js +116 -0
  26. package/lib/core/constants.js +1 -1
  27. package/lib/core/io.js +47 -26
  28. package/lib/core/options.js +2 -0
  29. package/lib/core/streams/codec-stream.js +1 -1
  30. package/lib/core/streams/zip-entry-stream.js +22 -5
  31. package/lib/core/streams/zlib-js/zlib-streams.min.js +1 -1
  32. package/lib/core/web-worker-base.js +5 -1
  33. package/lib/core/web-worker-inline-native.js +1 -1
  34. package/lib/core/web-worker-inline-wasm.js +1 -1
  35. package/lib/core/zip-reader.js +6 -2
  36. package/lib/core/zip-writer.js +53 -18
  37. package/lib/zip-core-base.js +7 -0
  38. package/lib/zip-core-writer.js +1 -0
  39. package/package.json +1 -1
  40. package/worker-message-property-names.js +1 -1
package/index-native.cjs CHANGED
@@ -98,7 +98,7 @@ const HEADER_OFFSET_COMPRESSED_SIZE = 14;
98
98
  const HEADER_OFFSET_UNCOMPRESSED_SIZE = 18;
99
99
  const LOCAL_HEADER_COMMON_OFFSET = 4;
100
100
 
101
- const MAX_DATE = new Date(2107, 11, 31);
101
+ const MAX_DATE = new Date(2107, 11, 31, 23, 59, 58);
102
102
  const MIN_DATE = new Date(1980, 0, 1);
103
103
 
104
104
  const UNDEFINED_VALUE = undefined;
@@ -214,7 +214,104 @@ function resetConfiguration() {
214
214
  Object.assign(config, DEFAULT_CONFIGURATION);
215
215
  }
216
216
 
217
- const n=[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],e=[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],t=[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],f=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],o=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],r=new Uint8Array(288);r.fill(8,0,144),r.fill(9,144,256),r.fill(7,256,280),r.fill(8,280,288);const b=new Uint8Array(30).fill(5);function l(n){const e=new Uint16Array(16);for(const t of n)e[t]++;e[0]=0;const t=new Uint16Array(17);for(let n=1;15>=n;n++)t[n+1]=t[n]+e[n];const f=new Uint16Array(n.length);for(let e=0;e<n.length;e++)n[e]&&(f[t[n[e]]++]=e);return {o:e,symbols:f}}const c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function i(i){i({workerURI:i=>{const v="text/javascript",z=(c=>{let i=0,v=0,z=0,K=new Uint8Array(1024),u=0,j=0;for(;!j;){j=T(1);const n=T(2);if(0==n)s();else if(1==n)x(l(r),l(b));else {if(2!=n)throw Error("invalid deflate block type");x(...D());}}return K.subarray(0,u);function m(){if(i>=c.length)throw Error("unexpected end of deflate data");return c[i++]}function T(n){for(;n>z;)v|=m()<<z,z+=8;const e=v&(1<<n)-1;return v>>>=n,z-=n,e}function s(){v=0,z=0;const n=m()|m()<<8;i+=2,w(u+n);for(let e=0;n>e;e++)K[u++]=m();}function x(o,r){let b=F(o);for(;256!=b;){if(256>b)w(u+1),K[u++]=b;else {const o=b-257,l=n[o]+T(e[o]),c=F(r),i=t[c]+T(f[c]);w(u+l);const v=u-i;for(let n=0;l>n;n++)K[u++]=K[v+n];}b=F(o);}}function D(){const n=T(5)+257,e=T(5)+1,t=T(4)+4,f=new Uint8Array(19);for(let n=0;t>n;n++)f[o[n]]=T(3);const r=l(f),b=new Uint8Array(n+e);let c=0;for(;c<b.length;){const n=F(r);if(16>n)b[c++]=n;else if(16==n){const n=b[c-1];let e=T(2)+3;for(;e--;)b[c++]=n;}else c+=17==n?T(3)+3:T(7)+11;}return [l(b.subarray(0,n)),l(b.subarray(n))]}function F(n){const{o:e,symbols:t}=n;let f=0,o=0,r=0;for(let n=1;15>=n;n++){f|=T(1);const b=e[n];if(b>f-o)return t[r+(f-o)];r+=b,o=o+b<<1,f<<=1;}throw Error("invalid huffman code")}function w(n){if(K.length<n){let e=2*K.length;for(;n>e;)e*=2;const t=new Uint8Array(e);t.set(K.subarray(0,u)),K=t;}}})((n=>{const e=(n=(n+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,t=[];for(let f=0;e>f;f+=4){const e=c.indexOf(n[f])<<18|c.indexOf(n[f+1])<<12|(63&c.indexOf(n[f+2]))<<6|63&c.indexOf(n[f+3]);t.push(e>>16&255),"="!==n[f+2]&&t.push(e>>8&255),"="!==n[f+3]&&t.push(255&e);}return new Uint8Array(t)})("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"));if(i){const n=new Blob([z],{type:v});return URL.createObjectURL(n)}return "data:"+v+";base64,"+(n=>{let e="";const t=n.length;let f=0;for(;t>f+2;f+=3){const t=n[f]<<16|n[f+1]<<8|n[f+2];e+=c[t>>18&63]+c[t>>12&63]+c[t>>6&63]+c[63&t];}const o=t-f;if(1===o){const t=n[f]<<16;e+=c[t>>18&63]+c[t>>12&63]+"==";}else if(2===o){const t=n[f]<<16|n[f+1]<<8;e+=c[t>>18&63]+c[t>>12&63]+c[t>>6&63]+"=";}return e})(z)}});}
217
+ const r=[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],o=[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],t=[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],e=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],n=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],f=new Uint8Array(288);f.fill(8,0,144),f.fill(9,144,256),f.fill(7,256,280),f.fill(8,280,288);const l=new Uint8Array(30).fill(5);function W$1(r){const o=new Uint16Array(16);for(const t of r)o[t]++;o[0]=0;const t=new Uint16Array(17);for(let r=1;15>=r;r++)t[r+1]=t[r]+o[r];const e=new Uint16Array(r.length);for(let o=0;o<r.length;o++)r[o]&&(e[t[r[o]]++]=o);return {o:o,symbols:e}}const s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function N(N){N({workerURI:N=>{const i="text/javascript",H=(s=>{let N=0,i=0,H=0,k=new Uint8Array(1024),v=0,j=0;for(;!j;){j=x(1);const r=x(2);if(0==r)C();else if(1==r)g(W$1(f),W$1(l));else {if(2!=r)throw Error("invalid deflate block type");g(...a());}}return k.subarray(0,v);function T(){if(N>=s.length)throw Error("unexpected end of deflate data");return s[N++]}function x(r){for(;r>H;)i|=T()<<H,H+=8;const o=i&(1<<r)-1;return i>>>=r,H-=r,o}function C(){i=0,H=0;const r=T()|T()<<8;N+=2,u(v+r);for(let o=0;r>o;o++)k[v++]=T();}function g(n,f){let l=q(n);for(;256!=l;){if(256>l)u(v+1),k[v++]=l;else {const n=l-257,W=r[n]+x(o[n]),s=q(f),N=t[s]+x(e[s]);u(v+W);const i=v-N;for(let r=0;W>r;r++)k[v++]=k[i+r];}l=q(n);}}function a(){const r=x(5)+257,o=x(5)+1,t=x(4)+4,e=new Uint8Array(19);for(let r=0;t>r;r++)e[n[r]]=x(3);const f=W$1(e),l=new Uint8Array(r+o);let s=0;for(;s<l.length;){const r=q(f);if(16>r)l[s++]=r;else if(16==r){const r=l[s-1];let o=x(2)+3;for(;o--;)l[s++]=r;}else s+=17==r?x(3)+3:x(7)+11;}return [W$1(l.subarray(0,r)),W$1(l.subarray(r))]}function q(r){const{o:o,symbols:t}=r;let e=0,n=0,f=0;for(let r=1;15>=r;r++){e|=x(1);const l=o[r];if(l>e-n)return t[f+(e-n)];f+=l,n=n+l<<1,e<<=1;}throw Error("invalid huffman code")}function u(r){if(k.length<r){let o=2*k.length;for(;r>o;)o*=2;const t=new Uint8Array(o);t.set(k.subarray(0,v)),k=t;}}})((r=>{const o=(r=(r+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,t=[];for(let e=0;o>e;e+=4){const o=s.indexOf(r[e])<<18|s.indexOf(r[e+1])<<12|(63&s.indexOf(r[e+2]))<<6|63&s.indexOf(r[e+3]);t.push(o>>16&255),"="!==r[e+2]&&t.push(o>>8&255),"="!==r[e+3]&&t.push(255&o);}return new Uint8Array(t)})("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"));if(N){const r=new Blob([H],{type:i});return URL.createObjectURL(r)}return "data:"+i+";base64,"+(r=>{let o="";const t=r.length;let e=0;for(;t>e+2;e+=3){const t=r[e]<<16|r[e+1]<<8|r[e+2];o+=s[t>>18&63]+s[t>>12&63]+s[t>>6&63]+s[63&t];}const n=t-e;if(1===n){const t=r[e]<<16;o+=s[t>>18&63]+s[t>>12&63]+"==";}else if(2===n){const t=r[e]<<16|r[e+1]<<8;o+=s[t>>18&63]+s[t>>12&63]+s[t>>6&63]+"=";}return o})(H)}});}
218
+
219
+ /*
220
+ Copyright (c) 2025 Gildas Lormeau. All rights reserved.
221
+
222
+ Redistribution and use in source and binary forms, with or without
223
+ modification, are permitted provided that the following conditions are met:
224
+
225
+ 1. Redistributions of source code must retain the above copyright notice,
226
+ this list of conditions and the following disclaimer.
227
+
228
+ 2. Redistributions in binary form must reproduce the above copyright
229
+ notice, this list of conditions and the following disclaimer in
230
+ the documentation and/or other materials provided with the distribution.
231
+
232
+ 3. The names of the authors may not be used to endorse or promote products
233
+ derived from this software without specific prior written permission.
234
+
235
+ THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
236
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
237
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
238
+ INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
239
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
240
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
241
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
242
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
243
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
244
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
245
+ */
246
+
247
+
248
+ const ERR_INVALID_CODEC_DEFINITION = "Invalid codec definition";
249
+ const ERR_RESERVED_COMPRESSION_METHOD = "Reserved compression method";
250
+ const ERR_INVALID_CODEC_MODULE = "Invalid codec module";
251
+
252
+ const STRING_TYPE = "string";
253
+ const RESERVED_COMPRESSION_METHODS = [
254
+ COMPRESSION_METHOD_STORE,
255
+ COMPRESSION_METHOD_DEFLATE,
256
+ COMPRESSION_METHOD_DEFLATE_64,
257
+ COMPRESSION_METHOD_AES
258
+ ];
259
+
260
+ const registeredCodecs = new Map();
261
+ const codecStreams = new Map();
262
+
263
+ function registerCodec(codec = {}) {
264
+ const { compressionMethod, format, codecURI, CompressionStream, DecompressionStream, versionNeeded } = codec;
265
+ if (!Number.isInteger(compressionMethod) || compressionMethod < 0 || compressionMethod > MAX_16_BITS ||
266
+ typeof format != STRING_TYPE || !format.length) {
267
+ throw new Error(ERR_INVALID_CODEC_DEFINITION);
268
+ }
269
+ if (RESERVED_COMPRESSION_METHODS.includes(compressionMethod)) {
270
+ throw new Error(ERR_RESERVED_COMPRESSION_METHOD);
271
+ }
272
+ const hasStreams = typeof CompressionStream == FUNCTION_TYPE || typeof DecompressionStream == FUNCTION_TYPE;
273
+ if (!hasStreams && (typeof codecURI != STRING_TYPE || !codecURI.length)) {
274
+ throw new Error(ERR_INVALID_CODEC_DEFINITION);
275
+ }
276
+ registeredCodecs.set(compressionMethod, { compressionMethod, format, codecURI, versionNeeded });
277
+ if (hasStreams) {
278
+ setCodecStreams(format, { CompressionStream, DecompressionStream });
279
+ }
280
+ }
281
+
282
+ function unregisterCodec(compressionMethod) {
283
+ const codec = registeredCodecs.get(compressionMethod);
284
+ if (codec) {
285
+ registeredCodecs.delete(compressionMethod);
286
+ let formatUsed;
287
+ registeredCodecs.forEach(otherCodec => formatUsed = formatUsed || otherCodec.format == codec.format);
288
+ if (!formatUsed) {
289
+ codecStreams.delete(codec.format);
290
+ }
291
+ }
292
+ }
293
+
294
+ function getRegisteredCodec(compressionMethod) {
295
+ return registeredCodecs.get(compressionMethod);
296
+ }
297
+
298
+ function getCodecStreams(format) {
299
+ return codecStreams.get(format);
300
+ }
301
+
302
+ function setCodecStreams(format, streams) {
303
+ const { CompressionStream, DecompressionStream } = streams;
304
+ if (typeof CompressionStream != FUNCTION_TYPE && typeof DecompressionStream != FUNCTION_TYPE) {
305
+ throw new Error(ERR_INVALID_CODEC_MODULE);
306
+ }
307
+ codecStreams.set(format, { CompressionStream, DecompressionStream });
308
+ }
309
+
310
+ async function ensureCodecStreams(format, codecURI) {
311
+ if (!codecStreams.has(format) && codecURI) {
312
+ setCodecStreams(format, await import(codecURI));
313
+ }
314
+ }
218
315
 
219
316
  /*
220
317
  Copyright (c) 2022 Gildas Lormeau. All rights reserved.
@@ -1752,6 +1849,7 @@ function getInt32(number) {
1752
1849
 
1753
1850
  const ERR_INVALID_UNCOMPRESSED_SIZE = "Invalid uncompressed size";
1754
1851
  const ERR_INVALID_COMPRESSED_DATA = "Invalid compressed data";
1852
+ const ERR_UNSUPPORTED_COMPRESSION$2 = "Compression method not supported";
1755
1853
  const FORMAT_DEFLATE_RAW = "deflate-raw";
1756
1854
  const FORMAT_DEFLATE64_RAW = "deflate64-raw";
1757
1855
  const FORMAT_GZIP = "gzip";
@@ -1762,18 +1860,21 @@ class DeflateStream extends TransformStream {
1762
1860
 
1763
1861
  constructor(options, { chunkSize, CompressionStreamZlib, CompressionStream }) {
1764
1862
  super({});
1765
- const { compressed, encrypted, useCompressionStream, zipCrypto, signed, level, deflate64 } = options;
1863
+ const { compressed, encrypted, useCompressionStream, zipCrypto, signed, level, deflate64, format } = options;
1766
1864
  const stream = this;
1767
1865
  let crc32Stream, encryptionStream, gzipCrc32Stream;
1768
1866
  let readable = super.readable;
1769
- const useGzipCrc32 = signed && compressed && !deflate64 && (!encrypted || zipCrypto) &&
1867
+ const codecStreams = format && getCodecStreams(format);
1868
+ const useGzipCrc32 = signed && compressed && !deflate64 && !codecStreams && (!encrypted || zipCrypto) &&
1770
1869
  Boolean(useCompressionStream && CompressionStream);
1771
1870
  if ((!encrypted || zipCrypto) && signed && !useGzipCrc32) {
1772
1871
  crc32Stream = new Crc32Stream();
1773
1872
  readable = pipeThrough(readable, crc32Stream);
1774
1873
  }
1775
1874
  if (compressed) {
1776
- if (useGzipCrc32) {
1875
+ if (codecStreams) {
1876
+ readable = pipeThroughBackpressured(readable, createCodecStream(codecStreams.CompressionStream, format, { level, chunkSize }));
1877
+ } else if (useGzipCrc32) {
1777
1878
  gzipCrc32Stream = new GzipToRawDeflateStream();
1778
1879
  readable = pipeThroughBackpressured(readable, new CompressionStream(FORMAT_GZIP));
1779
1880
  readable = pipeThrough(readable, gzipCrc32Stream);
@@ -1847,7 +1948,7 @@ class InflateStream extends TransformStream {
1847
1948
 
1848
1949
  constructor(options, { chunkSize, DecompressionStreamZlib, DecompressionStream }) {
1849
1950
  super({});
1850
- const { zipCrypto, encrypted, signed, signature, compressed, useCompressionStream, deflate64 } = options;
1951
+ const { zipCrypto, encrypted, signed, signature, compressed, useCompressionStream, deflate64, format } = options;
1851
1952
  let crc32Stream, decryptionStream;
1852
1953
  let readable = super.readable;
1853
1954
  if (encrypted) {
@@ -1859,7 +1960,12 @@ class InflateStream extends TransformStream {
1859
1960
  }
1860
1961
  }
1861
1962
  if (compressed) {
1862
- readable = pipeThroughCommpressionStream(readable, useCompressionStream, { chunkSize, deflate64 }, DecompressionStream, DecompressionStreamZlib, DecompressionStream);
1963
+ const codecStreams = format && getCodecStreams(format);
1964
+ if (codecStreams) {
1965
+ readable = pipeThroughBackpressured(readable, createCodecStream(codecStreams.DecompressionStream, format, { chunkSize }));
1966
+ } else {
1967
+ readable = pipeThroughCommpressionStream(readable, useCompressionStream, { chunkSize, deflate64 }, DecompressionStream, DecompressionStreamZlib, DecompressionStream);
1968
+ }
1863
1969
  readable = mapInflateStreamError(readable);
1864
1970
  }
1865
1971
  if ((!encrypted || zipCrypto) && signed) {
@@ -1886,6 +1992,13 @@ function setReadable(stream, readable, flush) {
1886
1992
  });
1887
1993
  }
1888
1994
 
1995
+ function createCodecStream(CodecStreamClass, format, options) {
1996
+ if (!CodecStreamClass) {
1997
+ throw new Error(ERR_UNSUPPORTED_COMPRESSION$2);
1998
+ }
1999
+ return new CodecStreamClass(format, options);
2000
+ }
2001
+
1889
2002
  function pipeThroughCommpressionStream(readable, useCompressionStream, options, CompressionStreamNative, CompressionStreamZlib, CompressionStream) {
1890
2003
  const Stream = useCompressionStream && CompressionStreamNative ? CompressionStreamNative : CompressionStreamZlib || CompressionStream;
1891
2004
  const format = options.deflate64 ? FORMAT_DEFLATE64_RAW : FORMAT_DEFLATE_RAW;
@@ -2079,7 +2192,7 @@ class ChunkStream extends TransformStream {
2079
2192
  constructor(chunkSize) {
2080
2193
  const pendingChunks = [];
2081
2194
  let pendingLength = 0;
2082
- if (!(chunkSize >= 1)) {
2195
+ if (!Number.isFinite(chunkSize) || chunkSize < 1) {
2083
2196
  chunkSize = DEFAULT_CHUNK_SIZE;
2084
2197
  }
2085
2198
  super({
@@ -2630,11 +2743,18 @@ let indexWorker = 0;
2630
2743
 
2631
2744
  async function runWorker(stream, workerOptions) {
2632
2745
  const { options, config } = workerOptions;
2633
- const { transferStreams, useWebWorkers, useCompressionStream, compressed, signed, encrypted } = options;
2746
+ const { transferStreams, useWebWorkers, useCompressionStream, compressed, signed, encrypted, format, codecURI } = options;
2634
2747
  const { workerURI, maxWorkers } = config;
2748
+ if (format) {
2749
+ if (codecURI) {
2750
+ options.codecURI = resolveCodecURI(codecURI, config.baseURI);
2751
+ }
2752
+ await ensureCodecStreams(format, options.codecURI);
2753
+ }
2635
2754
  workerOptions.transferStreams = transferStreams || (transferStreams === UNDEFINED_VALUE && config.transferStreams);
2636
2755
  const streamCopy = !compressed && !signed && !encrypted;
2637
- workerOptions.useWebWorkers = !streamCopy && (useWebWorkers || (useWebWorkers === UNDEFINED_VALUE && config.useWebWorkers));
2756
+ const workerSupported = format === UNDEFINED_VALUE || Boolean(options.codecURI);
2757
+ workerOptions.useWebWorkers = !streamCopy && workerSupported && (useWebWorkers || (useWebWorkers === UNDEFINED_VALUE && config.useWebWorkers));
2638
2758
  workerOptions.workerURI = workerOptions.useWebWorkers && workerURI ? workerURI : UNDEFINED_VALUE;
2639
2759
  options.useCompressionStream = useCompressionStream || (useCompressionStream === UNDEFINED_VALUE && config.useCompressionStream);
2640
2760
  return (await getWorker()).run();
@@ -2674,6 +2794,14 @@ async function runWorker(stream, workerOptions) {
2674
2794
  }
2675
2795
  }
2676
2796
 
2797
+ function resolveCodecURI(codecURI, baseURI) {
2798
+ try {
2799
+ return new URL(codecURI, baseURI).toString();
2800
+ } catch {
2801
+ return codecURI;
2802
+ }
2803
+ }
2804
+
2677
2805
  function armStarvationTimeout() {
2678
2806
  if (!starvationTimeout && pendingRequests.length && Number.isFinite(starvationDelay) && starvationDelay >= 0) {
2679
2807
  starvationTimeout = setTimeout(onWorkerStarvation, starvationDelay);
@@ -2784,6 +2912,7 @@ const HTTP_METHOD_HEAD = "HEAD";
2784
2912
  const HTTP_METHOD_GET = "GET";
2785
2913
  const HTTP_RANGE_UNIT = "bytes";
2786
2914
  const DEFAULT_BUFFER_SIZE = 256 * 1024;
2915
+ const DEFAULT_MAXIMUM_RANGE_SIZE = 16 * 1024 * 1024;
2787
2916
 
2788
2917
  const PROPERTY_NAME_WRITABLE = "writable";
2789
2918
  const DISK_BOUNDARY = Symbol();
@@ -3096,6 +3225,7 @@ function createHttpReader(httpReader, url, options) {
3096
3225
  forceRangeRequests,
3097
3226
  combineSizeEocd,
3098
3227
  checkResourceChanges = true,
3228
+ maximumRangeSize = DEFAULT_MAXIMUM_RANGE_SIZE,
3099
3229
  fetch
3100
3230
  } = options;
3101
3231
  options = Object.assign({}, options);
@@ -3104,6 +3234,7 @@ function createHttpReader(httpReader, url, options) {
3104
3234
  delete options.forceRangeRequests;
3105
3235
  delete options.combineSizeEocd;
3106
3236
  delete options.checkResourceChanges;
3237
+ delete options.maximumRangeSize;
3107
3238
  delete options.useXHR;
3108
3239
  delete options.fetch;
3109
3240
  Object.assign(httpReader, {
@@ -3114,6 +3245,7 @@ function createHttpReader(httpReader, url, options) {
3114
3245
  forceRangeRequests,
3115
3246
  combineSizeEocd,
3116
3247
  checkResourceChanges,
3248
+ maximumRangeSize,
3117
3249
  fetch
3118
3250
  });
3119
3251
  }
@@ -3199,40 +3331,31 @@ async function readUint8ArrayHttpReader(httpReader, index, length, sendRequest,
3199
3331
 
3200
3332
  function createRangeReadable(httpReader, offset, size) {
3201
3333
  let bodyReader;
3334
+ let windowOffset = offset;
3335
+ let windowRemainingLength = 0;
3202
3336
  let remainingLength = size;
3203
3337
  return new ReadableStream({
3204
- async start() {
3205
- const response = await sendFetchRequest(HTTP_METHOD_GET, httpReader, getRangeHeaders(httpReader, offset, size));
3206
- if (response.status != 206) {
3207
- throw new Error(ERR_HTTP_RANGE);
3208
- }
3209
- const contentRangeHeader = response.headers.get(HTTP_HEADER_CONTENT_RANGE);
3210
- if (contentRangeHeader) {
3211
- const rangeStart = Number(contentRangeHeader.trim().split(/[\s-]+/)[1]);
3212
- if (!Number.isNaN(rangeStart) && rangeStart != offset) {
3213
- throw new Error(ERR_HTTP_RANGE);
3214
- }
3215
- }
3216
- checkResourceValidators(httpReader, response);
3217
- setResourceValidators(httpReader, response);
3218
- bodyReader = response.body.getReader();
3338
+ start() {
3339
+ return openWindow();
3219
3340
  },
3220
3341
  async pull(controller) {
3342
+ if (!bodyReader) {
3343
+ await openWindow();
3344
+ }
3221
3345
  const { value, done } = await bodyReader.read();
3222
3346
  if (done) {
3223
- if (remainingLength) {
3224
- throw new Error(ERR_HTTP_RANGE);
3225
- }
3226
- controller.close();
3227
- } else {
3228
- const chunk = value.length > remainingLength ? value.subarray(0, remainingLength) : value;
3229
- remainingLength -= chunk.length;
3230
- if (chunk.length) {
3231
- controller.enqueue(chunk);
3232
- }
3347
+ throw new Error(ERR_HTTP_RANGE);
3348
+ }
3349
+ const chunk = value.length > windowRemainingLength ? value.subarray(0, windowRemainingLength) : value;
3350
+ windowRemainingLength -= chunk.length;
3351
+ remainingLength -= chunk.length;
3352
+ if (chunk.length) {
3353
+ controller.enqueue(chunk);
3354
+ }
3355
+ if (!windowRemainingLength) {
3356
+ await closeWindow();
3233
3357
  if (!remainingLength) {
3234
3358
  controller.close();
3235
- await bodyReader.cancel();
3236
3359
  }
3237
3360
  }
3238
3361
  },
@@ -3240,6 +3363,32 @@ function createRangeReadable(httpReader, offset, size) {
3240
3363
  return bodyReader && bodyReader.cancel(reason);
3241
3364
  }
3242
3365
  });
3366
+
3367
+ async function openWindow() {
3368
+ const windowLength = Math.min(httpReader.maximumRangeSize, remainingLength);
3369
+ const response = await sendFetchRequest(HTTP_METHOD_GET, httpReader, getRangeHeaders(httpReader, windowOffset, windowLength));
3370
+ if (response.status != 206) {
3371
+ throw new Error(ERR_HTTP_RANGE);
3372
+ }
3373
+ const contentRangeHeader = response.headers.get(HTTP_HEADER_CONTENT_RANGE);
3374
+ if (contentRangeHeader) {
3375
+ const rangeStart = Number(contentRangeHeader.trim().split(/[\s-]+/)[1]);
3376
+ if (!Number.isNaN(rangeStart) && rangeStart != windowOffset) {
3377
+ throw new Error(ERR_HTTP_RANGE);
3378
+ }
3379
+ }
3380
+ checkResourceValidators(httpReader, response);
3381
+ setResourceValidators(httpReader, response);
3382
+ windowOffset += windowLength;
3383
+ windowRemainingLength = windowLength;
3384
+ bodyReader = response.body.getReader();
3385
+ }
3386
+
3387
+ async function closeWindow() {
3388
+ const currentBodyReader = bodyReader;
3389
+ bodyReader = UNDEFINED_VALUE;
3390
+ await currentBodyReader.cancel();
3391
+ }
3243
3392
  }
3244
3393
 
3245
3394
  function getContentRangeSize(response) {
@@ -3936,6 +4085,7 @@ const OPTION_TRANSFER_STREAMS = "transferStreams";
3936
4085
  const OPTION_PREVENT_CLOSE = "preventClose";
3937
4086
  const OPTION_ENCRYPTION_STRENGTH = "encryptionStrength";
3938
4087
  const OPTION_EXTENDED_TIMESTAMP = "extendedTimestamp";
4088
+ const OPTION_NTFS_TIMESTAMP = "ntfsTimestamp";
3939
4089
  const OPTION_KEEP_ORDER = "keepOrder";
3940
4090
  const OPTION_LEVEL = "level";
3941
4091
  const OPTION_BUFFERED_WRITE = "bufferedWrite";
@@ -4407,7 +4557,8 @@ let ZipEntry$1 = class ZipEntry {
4407
4557
  throw new Error(ERR_UNSUPPORTED_COMPRESSION$1);
4408
4558
  }
4409
4559
  }
4410
- if ((compressionMethod != COMPRESSION_METHOD_STORE && compressionMethod != COMPRESSION_METHOD_DEFLATE && compressionMethod != COMPRESSION_METHOD_DEFLATE_64) && !passThrough) {
4560
+ const registeredCodec = passThrough ? UNDEFINED_VALUE : getRegisteredCodec(compressionMethod);
4561
+ if ((compressionMethod != COMPRESSION_METHOD_STORE && compressionMethod != COMPRESSION_METHOD_DEFLATE && compressionMethod != COMPRESSION_METHOD_DEFLATE_64 && !registeredCodec) && !passThrough) {
4411
4562
  throw new Error(ERR_UNSUPPORTED_COMPRESSION$1);
4412
4563
  }
4413
4564
  if (dataArray.length < HEADER_SIZE || getUint32(dataView, 0) != LOCAL_FILE_HEADER_SIGNATURE) {
@@ -4446,7 +4597,7 @@ let ZipEntry$1 = class ZipEntry {
4446
4597
  fileEntry.zipCrypto = zipCrypto;
4447
4598
  }
4448
4599
  if (encrypted) {
4449
- if (!zipCrypto && extraFieldAES.strength === UNDEFINED_VALUE) {
4600
+ if (!zipCrypto && (extraFieldAES.strength < 1 || extraFieldAES.strength > 3)) {
4450
4601
  throw new Error(ERR_UNSUPPORTED_ENCRYPTION);
4451
4602
  } else if (!password && !rawPassword) {
4452
4603
  throw new Error(ERR_ENCRYPTED);
@@ -4485,6 +4636,8 @@ let ZipEntry$1 = class ZipEntry {
4485
4636
  useCompressionStream,
4486
4637
  transferStreams: getOptionValue$1(zipEntry, options, OPTION_TRANSFER_STREAMS),
4487
4638
  deflate64,
4639
+ format: registeredCodec ? registeredCodec.format : UNDEFINED_VALUE,
4640
+ codecURI: registeredCodec ? registeredCodec.codecURI : UNDEFINED_VALUE,
4488
4641
  checkPasswordOnly
4489
4642
  },
4490
4643
  config,
@@ -5102,6 +5255,7 @@ const ERR_INVALID_ENTRY_COMMENT = "File entry comment exceeds 64KB";
5102
5255
  const ERR_INVALID_ENTRY_NAME = "File entry name exceeds 64KB";
5103
5256
  const ERR_INVALID_VERSION = "Version exceeds 65535";
5104
5257
  const ERR_INVALID_ENCRYPTION_STRENGTH = "The strength must equal 1, 2, or 3";
5258
+ const ERR_UNSUPPORTED_ENCRYPTION_USDZ = "Encryption is not supported in USDZ files";
5105
5259
  const ERR_INVALID_EXTRAFIELD_TYPE = "Extra field type exceeds 65535";
5106
5260
  const ERR_INVALID_EXTRAFIELD_DATA = "Extra field data exceeds 64KB";
5107
5261
  const ERR_UNSUPPORTED_COMPRESSION = "Compression method not supported";
@@ -5566,6 +5720,7 @@ function resolveMetadata(zipWriter, name, options) {
5566
5720
  const encryptionStrength = getOptionValue(zipWriter, options, OPTION_ENCRYPTION_STRENGTH, 3);
5567
5721
  const zipCrypto = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIPCRYPTO);
5568
5722
  const extendedTimestamp = getOptionValue(zipWriter, options, OPTION_EXTENDED_TIMESTAMP, true);
5723
+ const ntfsTimestamp = getOptionValue(zipWriter, options, OPTION_NTFS_TIMESTAMP);
5569
5724
  const keepOrder = getOptionValue(zipWriter, options, OPTION_KEEP_ORDER, true);
5570
5725
  const useWebWorkers = getOptionValue(zipWriter, options, OPTION_USE_WEB_WORKERS);
5571
5726
  const transferStreams = getOptionValue(zipWriter, options, OPTION_TRANSFER_STREAMS);
@@ -5575,11 +5730,20 @@ function resolveMetadata(zipWriter, name, options) {
5575
5730
  const signal = getOptionValue(zipWriter, options, OPTION_SIGNAL);
5576
5731
  const useUnicodeFileNames = getOptionValue(zipWriter, options, OPTION_USE_UNICODE_FILE_NAMES, true);
5577
5732
  const compressionMethod = getOptionValue(zipWriter, options, PROPERTY_NAME_COMPRESSION_METHOD);
5733
+ const registeredCodec = passThrough || compressionMethod === UNDEFINED_VALUE ? UNDEFINED_VALUE : getRegisteredCodec(compressionMethod);
5578
5734
  if (!passThrough && compressionMethod !== UNDEFINED_VALUE &&
5579
- compressionMethod !== COMPRESSION_METHOD_STORE && compressionMethod !== COMPRESSION_METHOD_DEFLATE) {
5735
+ compressionMethod !== COMPRESSION_METHOD_STORE && compressionMethod !== COMPRESSION_METHOD_DEFLATE && !registeredCodec) {
5580
5736
  throw new Error(ERR_UNSUPPORTED_COMPRESSION);
5581
5737
  }
5582
5738
  let level = getOptionValue(zipWriter, options, OPTION_LEVEL);
5739
+ if (zipWriter.options[OPTION_USDZ]) {
5740
+ if (password !== UNDEFINED_VALUE || rawPassword !== UNDEFINED_VALUE) {
5741
+ throw new Error(ERR_UNSUPPORTED_ENCRYPTION_USDZ);
5742
+ }
5743
+ if (level === UNDEFINED_VALUE && compressionMethod === UNDEFINED_VALUE) {
5744
+ level = 0;
5745
+ }
5746
+ }
5583
5747
  let useCompressionStream = getOptionValue(zipWriter, options, OPTION_USE_COMPRESSION_STREAM);
5584
5748
  let dataDescriptor = getOptionValue(zipWriter, options, OPTION_DATA_DESCRIPTOR);
5585
5749
  if (bufferedWrite && dataDescriptor === UNDEFINED_VALUE) {
@@ -5591,7 +5755,7 @@ function resolveMetadata(zipWriter, name, options) {
5591
5755
  if (level !== UNDEFINED_VALUE && level != 6) {
5592
5756
  useCompressionStream = false;
5593
5757
  }
5594
- if (!useCompressionStream && (zipWriter.config.CompressionStream === UNDEFINED_VALUE && zipWriter.config.CompressionStreamZlib === UNDEFINED_VALUE)) {
5758
+ if (!useCompressionStream && !registeredCodec && (zipWriter.config.CompressionStream === UNDEFINED_VALUE && zipWriter.config.CompressionStreamZlib === UNDEFINED_VALUE)) {
5595
5759
  level = 0;
5596
5760
  }
5597
5761
  const zip64 = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIP64);
@@ -5635,6 +5799,7 @@ function resolveMetadata(zipWriter, name, options) {
5635
5799
  encryptionStrength,
5636
5800
  zipCrypto,
5637
5801
  extendedTimestamp,
5802
+ ntfsTimestamp,
5638
5803
  keepOrder,
5639
5804
  useWebWorkers,
5640
5805
  transferStreams,
@@ -5644,6 +5809,9 @@ function resolveMetadata(zipWriter, name, options) {
5644
5809
  signal,
5645
5810
  useUnicodeFileNames,
5646
5811
  compressionMethod,
5812
+ format: registeredCodec ? registeredCodec.format : UNDEFINED_VALUE,
5813
+ codecURI: registeredCodec ? registeredCodec.codecURI : UNDEFINED_VALUE,
5814
+ codecVersionNeeded: registeredCodec ? registeredCodec.versionNeeded : UNDEFINED_VALUE,
5647
5815
  level,
5648
5816
  useCompressionStream,
5649
5817
  dataDescriptor,
@@ -5940,7 +6108,9 @@ async function createFileEntry(reader, writer, { diskNumberStart, lock }, entryI
5940
6108
  msdosAttributesRaw,
5941
6109
  msdosAttributes,
5942
6110
  useCompressionStream,
5943
- passThrough
6111
+ passThrough,
6112
+ format,
6113
+ codecURI
5944
6114
  } = options;
5945
6115
  const fileEntry = {
5946
6116
  lock,
@@ -6000,7 +6170,9 @@ async function createFileEntry(reader, writer, { diskNumberStart, lock }, entryI
6000
6170
  encrypted: encrypted && !passThrough,
6001
6171
  useWebWorkers,
6002
6172
  useCompressionStream,
6003
- transferStreams
6173
+ transferStreams,
6174
+ format,
6175
+ codecURI
6004
6176
  },
6005
6177
  config,
6006
6178
  streamOptions: { signal, size, onstart, onprogress, onend }
@@ -6072,6 +6244,7 @@ function getHeaderInfo(options) {
6072
6244
  rawExtraField,
6073
6245
  encryptionStrength,
6074
6246
  extendedTimestamp,
6247
+ ntfsTimestamp,
6075
6248
  passThrough,
6076
6249
  encrypted,
6077
6250
  zip64UncompressedSize,
@@ -6117,7 +6290,8 @@ function getHeaderInfo(options) {
6117
6290
  let extraFieldExtendedTimestampFlag;
6118
6291
  if (extendedTimestamp) {
6119
6292
  const lastModTimeUnix = getTimeUnix(lastModDate);
6120
- if (inUnixTimeRange(lastModTimeUnix)) {
6293
+ const lastModTimeUnixInRange = inUnixTimeRange(lastModTimeUnix);
6294
+ if (lastModTimeUnixInRange) {
6121
6295
  const extraFieldTimestampLength = 9 + (lastAccessDate ? 4 : 0) + (creationDate ? 4 : 0);
6122
6296
  const extraFieldTimestamp = createRecordWriter(extraFieldTimestampLength);
6123
6297
  extraFieldExtendedTimestampFlag = 0x1 + (lastAccessDate ? 0x2 : 0) + (creationDate ? 0x4 : 0);
@@ -6135,19 +6309,26 @@ function getHeaderInfo(options) {
6135
6309
  } else {
6136
6310
  rawExtraFieldExtendedTimestamp = EMPTY_UINT8_ARRAY;
6137
6311
  }
6138
- try {
6139
- const lastModTimeNTFS = getTimeNTFS(lastModDate);
6140
- const extraFieldNTFS = createRecordWriter(36);
6141
- extraFieldNTFS.uint16(EXTRAFIELD_TYPE_NTFS);
6142
- extraFieldNTFS.uint16(32);
6143
- extraFieldNTFS.skip(4);
6144
- extraFieldNTFS.uint16(EXTRAFIELD_TYPE_NTFS_TAG1);
6145
- extraFieldNTFS.uint16(24);
6146
- extraFieldNTFS.uint64(lastModTimeNTFS);
6147
- extraFieldNTFS.uint64(getTimeNTFS(lastAccessDate) || lastModTimeNTFS);
6148
- extraFieldNTFS.uint64(getTimeNTFS(creationDate) || lastModTimeNTFS);
6149
- rawExtraFieldNTFS = extraFieldNTFS.array;
6150
- } catch {
6312
+ const writeExtraFieldNTFS = ntfsTimestamp === UNDEFINED_VALUE ?
6313
+ !lastModTimeUnixInRange || Boolean(lastAccessDate || creationDate) :
6314
+ ntfsTimestamp;
6315
+ if (writeExtraFieldNTFS) {
6316
+ try {
6317
+ const lastModTimeNTFS = getTimeNTFS(lastModDate);
6318
+ const extraFieldNTFS = createRecordWriter(36);
6319
+ extraFieldNTFS.uint16(EXTRAFIELD_TYPE_NTFS);
6320
+ extraFieldNTFS.uint16(32);
6321
+ extraFieldNTFS.skip(4);
6322
+ extraFieldNTFS.uint16(EXTRAFIELD_TYPE_NTFS_TAG1);
6323
+ extraFieldNTFS.uint16(24);
6324
+ extraFieldNTFS.uint64(lastModTimeNTFS);
6325
+ extraFieldNTFS.uint64(getTimeNTFS(lastAccessDate) || lastModTimeNTFS);
6326
+ extraFieldNTFS.uint64(getTimeNTFS(creationDate) || lastModTimeNTFS);
6327
+ rawExtraFieldNTFS = extraFieldNTFS.array;
6328
+ } catch {
6329
+ rawExtraFieldNTFS = EMPTY_UINT8_ARRAY;
6330
+ }
6331
+ } else {
6151
6332
  rawExtraFieldNTFS = EMPTY_UINT8_ARRAY;
6152
6333
  }
6153
6334
  } else {
@@ -6185,6 +6366,10 @@ function getHeaderInfo(options) {
6185
6366
  if (compressionMethod === UNDEFINED_VALUE) {
6186
6367
  compressionMethod = compressed ? COMPRESSION_METHOD_DEFLATE : COMPRESSION_METHOD_STORE;
6187
6368
  }
6369
+ const { codecVersionNeeded } = options;
6370
+ if (compressed && codecVersionNeeded !== UNDEFINED_VALUE) {
6371
+ version = version > codecVersionNeeded ? version : codecVersionNeeded;
6372
+ }
6188
6373
  if (zip64) {
6189
6374
  version = version > VERSION_ZIP64 ? version : VERSION_ZIP64;
6190
6375
  }
@@ -7296,7 +7481,7 @@ try {
7296
7481
  // ignored
7297
7482
  }
7298
7483
 
7299
- var{Uint8Array:x,Uint16Array:g,Int32Array:R,TransformStream:H,Math:z,Error:L,Array:k}=globalThis,pe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Z=new x(0),qe=new g(0),de=[];for(let e=0;e<6;e++)de.push(e,0==e?8:4);de.push(0,1);var Se=[];for(let e=0;e<14;e++)Se.push(e,0==e?4:2);var Ee=new g([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),ge=new g([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function M(e,t,n,r,i){if(0==i)return;let f=e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength),_=n instanceof x?n.subarray(r,r+i):new x(n.buffer,n.byteOffset+r,i);f.set(_,t);}function Ve(e,t,n){0!=n&&(e instanceof x?e:new x(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+n);}function je(){return {next_in:Z,next_in_index:0,avail_in:0,total_in:0,next_out:Z,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Je(e,t){let n=1<<t;return {o:e,u:new x(n),h:n,v:t,k:0,m:0,T:0,p:0}}function te(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];for(let e=0;e<i;e++)t.push(r);}return new g(t)}var ne=class{constructor(e,t){this.M=e,this.C=t,this.Z=0;}},re=class{constructor(e,t,n,r,i){this.W=e,this.q=t,this.S=n,this.L=r,this.$=i;}};function D_(e){return Q_[e<-6||e>2?9:2-e]||""}function we(e,t){try{e.msg=D_(t);}catch(n){e.msg="zlib error "+String(t)+" ("+n+")";}return t}function $e(e,t){let n=e>>>0,r=0;for(let e=0;e<t;e++)r=r<<1|1&n,n>>>=1;return r}function T(e,t){e.D[e.A++]=t;}function Ae(e,t){T(e,255&t),T(e,t>>>8&255);}function e_(e,t,n){let r=255&n,i=65535&t,f=e.I+e.H;return e.D[f]=255&i,e.D[f+1]=i>>>8&255,e.D[f+2]=r,e.H+=3,i=i-1&65535,e.N[__[r]+ie+1].j++,e.U[y_(i)].j++,e.H==e.R}function De(e,t){let n=255&t,r=e.I+e.H;return e.D[r]=0,e.D[r+1]=0,e.D[r+2]=n,e.H+=3,e.N[n].j++,e.H==e.R}function ye(e){return e.h-ae}function y_(e){return e<256?A_[e]:A_[256+(e>>7)]}function v_(e){let t=Ce+7,n=1<<t,r=(1<<t)-1,i=z.floor((t+v-1)/v),f=1<<8+Ce;return {...Je(e,15),o:e,Y:42,P:0,B:void 0,F:32767,G:t,O:n,V:r,X:i,J:new g(32768),K:new g(n),ee:f,D:new x(32768),te:0,ne:32768,A:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,he:0,de:0,we:0,be:0,ve:0,ke:0,ge:0,me:0,xe:0,Te:0,ye:new R(2*Te+1),pe:new x(2*Te+1),ze:new g(be+1),H:0,R:0,Me:Z,I:0,Ce:0,Ze:0,We:8,qe:32768,Se:0,Le:0,$e:0,N:new k(fe).fill(0).map(()=>Q()),U:new k(2*me+1).fill(0).map(()=>Q()),De:new k(2*oe+1).fill(0).map(()=>Q()),Ae:w_(),Ie:w_(),He:w_()}}function I_(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1],f=Q();f.Qe=r,f.je=i,t.push(f);}return t}function Q(){return {j:0,Qe:0,Ne:0,je:0}}function w_(){return new ne([],dn(null,Z,0,0,0))}function dn(e,t,n,r,i){return new re(e,t,n,r,i)}function $_(){let e=new k(288).fill(0);for(let t=0;t<=143;t++)e[t]=8;for(let t=144;t<=255;t++)e[t]=9;for(let t=256;t<=279;t++)e[t]=7;for(let t=280;t<=287;t++)e[t]=8;return e}function k_(e){let{code:t,length:n}=mn(e),r=new g(2*e.length),i=0;for(let f=0;f<e.length;f++){let e=n[f]||0,_=t[f]||0;r[i++]=e?$e(_,e):0,r[i++]=e;}return new g(r)}function et(e,t,n){let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,f=e[n]+i-1;f>r&&(r=f);}r<n&&(r=n);let i=new x(r+1);for(let n=0;n<=r;n++)for(let r=0;r<e.length;r++){let f=t[r]?1<<t[r]:1,_=e[r];if(n>=_&&n<=_+f-1){i[n]=r;break}}let f=0;for(let n=0;n<e.length-1;n++){let r=t[n]?1<<t[n]:1,i=e[n]+r-1;i>f&&(f=i);}return i[f]=e.length-1,i}function _t(e,t){let n=0;for(let r=0;r<e.length;r++){let i=t[r]?1<<t[r]:1,f=e[r]+i-1;f>n&&(n=f);}let r=new x(n+1);for(let i=0;i<=n;i++)for(let n=0;n<e.length;n++){let f=t[n]?1<<t[n]:1,_=e[n];if(i>=_&&i<=_+f-1){r[i]=n;break}}return r}function tt(e){let t=new x(512),n=e.length-1;for(let r=0;r<256;r++)t[r]=r<=n?e[r]:e[n];for(let r=256;r<=n;r++){let n=r>>7;t[256+(n>255?255:n)]=e[r];}for(let e=257;e<512;e++)0==t[e]&&(t[e]=t[e-1]);return t}function mn(e){let t=z.max(...e),n=new k(t+1).fill(0);for(let t of e)t>0&&n[t]++;let r=new k(e.length).fill(0),i=new k(t+1).fill(0),f=0;for(let e=1;e<=t;e++)f=f+n[e-1]<<1,i[e]=f;for(let t=0;t<e.length;t++){let n=e[t];0!=n&&(r[t]=i[n]++);}return {code:r,length:e}}var Ce=8,v=3,ee=258,ae=ee+v+1,nt=4096,Ue=16,He=ee,bn=29,ie=256,Te=ie+1+bn,me=30,oe=19,fe=2*Te+1,be=15,rt=9,at=255,it=32,ot=4,ve=256,t_=16,n_=17,r_=18,ft=0,N_=1,lt=2,$=-1,Q_=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],a_=te(de),i_=te(Se),Be=new g(19);Be[16]=2,Be[17]=3,Be[18]=7;var hn=k_($_()),sn=k_(new k(30).fill(5)),Fe=I_(hn),R_=I_(sn),__=et(ge,a_,ee),A_=tt(_t(Ee,i_));function he(e,t,n){if(void 0===t||void 0===n)return 1;let r=65535&e,i=e>>>16&65535,f=0;for(;n>0;){let e=n>2e3?2e3:n;n-=e;do{r=r+t[f++]|0,i=i+r|0;}while(--e);r%=65521,i%=65521;}return (i<<16|r)>>>0}var Ze=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?3988292384^t>>>1:t>>>1;Ze[0][e]=t;}for(let e=0;e<256;e++)for(let t=1;t<8;t++){let n=Ze[t-1][e];Ze[t][e]=n>>>8^Ze[0][255&n];}var[ut,xn,pn,Sn,En,gn,Tn,wn]=Ze;function W(e=0,t,n){if(!t)return 0;void 0===n&&(n=t.length);let r=0|~e,i=0;if((n=z.min(n,t.length))>=8){let e=new DataView(t.buffer,t.byteOffset,n),f=n-8;for(;i<=f;i+=8){let t=r^e.getInt32(i,true),n=e.getInt32(i+4,true);r=wn[255&t]^Tn[t>>>8&255]^gn[t>>>16&255]^En[t>>>24&255]^Sn[255&n]^pn[n>>>8&255]^xn[n>>>16&255]^ut[n>>>24&255];}}for(;i<n;i++)r=r>>>8^ut[255&(r^t[i])];return (4294967295^r)>>>0}function xt(e){16==e.p?(Ae(e,e.T),e.T=0,e.p=0):e.p>=8&&(T(e,e.T),e.T>>=8,e.p-=8);}function pt(e){e.p>8?Ae(e,e.T):e.p>0&&T(e,e.T),e.Ce=1+(e.p-1&7),e.T=0,e.p=0;}function An(e,t,n){let r,i,f=[],_=0;for(r=1;r<=be;r++)_=_+n[r-1]<<1,f[r]=_;for(i=0;i<=t;i++){let t=e[i].je;0!=t&&(e[i].Qe=$e(f[t]++,t));}}function C(e,t,n){e.p>Ue-n?(e.T=65535&(e.T|t<<e.p),Ae(e,e.T),e.T=t>>Ue-e.p&65535,e.p+=n-Ue):(e.T=65535&(e.T|t<<e.p),e.p+=n);}function St(e){for(let t=0;t<e.N.length;t++)e.N[t].j=0;for(let t=0;t<e.U.length;t++)e.U[t].j=0;for(let t=0;t<e.De.length;t++)e.De[t].j=0;e.N[ve].j=1,e.ie=e.fe=0,e.H=e._e=0;}function Et(e){if(e.N&&e.N.length>=fe)for(let t=0;t<fe;t++)e.N[t]=Q();else {e.N=[];for(let t=0;t<fe;t++)e.N.push(Q());}if(e.U&&e.U.length>=2*me+1)for(let t=0;t<2*me+1;t++)e.U[t]=Q();else {e.U=[];for(let t=0;t<2*me+1;t++)e.U.push(Q());}if(e.De&&e.De.length>=2*oe+1)for(let t=0;t<2*oe+1;t++)e.De[t]=Q();else {e.De=[];for(let t=0;t<2*oe+1;t++)e.De.push(Q());}e.Ae=new ne(e.N,new re(Fe,a_,ie+1,Te,be)),e.Ie=new ne(e.U,new re(R_,i_,0,me,be)),e.He=new ne(e.De,new re(null,Be,0,oe,7)),e.T=0,e.p=0,e.Ce=0,St(e);}var se=1;function Dn(e,t,n){return n=e.ye[se],e.ye[se]=e.ye[e.Le--],z_(e,t,se),n}function mt(e,t,n,r){return e[t].j<e[n].j||e[t].j==e[n].j&&r[t]<=r[n]}function z_(e,t,n){let r=e.ye[n],i=n<<1;for(;i<=e.Le&&(i<e.Le&&mt(t,e.ye[i+1],e.ye[i],e.pe)&&i++,!mt(t,r,e.ye[i],e.pe));)e.ye[n]=e.ye[i],n=i,i<<=1;e.ye[n]=r;}function yn(e,t){let n,r,i,f,_,l,o=t.M,u=t.Z,a=t.C.W,c=t.C.q,s=t.C.S,h=t.C.$,d=0;for(f=0;f<=be;f++)e.ze[f]=0;for(o[e.ye[e.$e]].je=0,n=e.$e+1;n<fe;n++)r=e.ye[n],f=o[o[r].Ne].je+1,f>h&&(f=h,d++),o[r].je=f,!(r>u)&&(e.ze[f]++,_=0,r>=s&&(_=c[r-s]),l=o[r].j,e.ie+=l*(f+_),a&&(e.fe+=l*(a[r].je+_)));if(0!=d){do{for(f=h-1;0==e.ze[f];)f--;e.ze[f]--,e.ze[f+1]+=2,e.ze[h]--,d-=2;}while(d>0);for(f=h;0!=f;f--)for(r=e.ze[f];0!=r;)i=e.ye[--n],!(i>u)&&(o[i].je!=f&&(e.ie+=(f-o[i].je)*o[i].j,o[i].je=f),r--);}}function L_(e,t){let n,r,i,f=t.M,_=t.C.W,l=t.C.L,o=-1;for(e.Le=0,e.$e=fe,n=0;n<l;n++)0!=f[n].j?(e.ye[++e.Le]=o=n,e.pe[n]=0):f[n].je=0;for(;e.Le<2;)i=e.ye[++e.Le]=o<2?++o:0,f[i].j=1,e.pe[i]=0,e.ie--,_&&(e.fe-=_[i].je);for(t.Z=o,n=z.floor(e.Le/2);n>=1;n--)z_(e,f,n);i=l;do{n=Dn(e,f,n),r=e.ye[se],e.ye[--e.$e]=n,e.ye[--e.$e]=r,f[i].j=f[n].j+f[r].j,e.pe[i]=(e.pe[n]>=e.pe[r]?e.pe[n]:e.pe[r])+1,f[n].Ne=f[r].Ne=i,e.ye[se]=i++,z_(e,f,se);}while(e.Le>=2);e.ye[--e.$e]=e.ye[se],yn(e,t),An(f,t.Z,e.ze);}function bt(e,t,n){let r,i,f=-1,_=t[0].je,l=0,o=7,u=4;for(0==_&&(o=138,u=3),t[n+1].je=65535,r=0;r<=n;r++)i=_,_=t[r+1].je,!(++l<o&&i==_)&&(l<u?e.De[i].j+=l:0!=i?(i!=f&&e.De[i].j++,e.De[t_].j++):l<=10?e.De[n_].j++:e.De[r_].j++,l=0,f=i,0==_?(o=138,u=3):i==_?(o=6,u=3):(o=7,u=4));}function ht(e,t,n){let r,i=-1,f=t[0].je,_=0,l=7,o=4;0==f&&(l=138,o=3);for(let u=0;u<=n;u++)if(r=f,f=t[u+1].je,!(++_<l&&r==f)){if(_<o)do{C(e,e.De[r].Qe,e.De[r].je);}while(0!=--_);else 0!=r?(r!=i&&(C(e,e.De[r].Qe,e.De[r].je),_--),C(e,e.De[t_].Qe,e.De[t_].je),C(e,_-3,2)):_<=10?(C(e,e.De[n_].Qe,e.De[n_].je),C(e,_-3,3)):(C(e,e.De[r_].Qe,e.De[r_].je),C(e,_-11,7));_=0,i=r,0==f?(l=138,o=3):r==f?(l=6,o=3):(l=7,o=4);}}function vn(e){let t;for(bt(e,e.N,e.Ae.Z),bt(e,e.U,e.Ie.Z),L_(e,e.He),t=oe-1;t>=3&&0==e.De[pe[t]].je;t--);return e.ie+=3*(t+1)+5+5+4,t}function In(e,t,n,r){let i;for(C(e,t-257,5),C(e,n-1,5),C(e,r-4,4),i=0;i<r;i++)C(e,e.De[pe[i]].je,3);ht(e,e.N,t-1),ht(e,e.U,n-1);}function Pe(e,t,n,r,i=0){C(e,(ft<<1)+r,3),pt(e),Ae(e,n),Ae(e,~n),n&&t&&M(e.D,e.A,t,i,n),e.A+=n;}function gt(e){xt(e);}function Tt(e){C(e,N_<<1,3),C(e,Fe[ve].Qe,Fe[ve].je),xt(e);}function st(e,t,n){let r,i,f,_,l=0;if(0!=e.H)do{r=255&e.Me[l],r+=(255&e.Me[l+1])<<8,i=e.Me[l+2],l+=3,0==r?C(e,t[i].Qe,t[i].je):(f=__[i],C(e,t[f+ie+1].Qe,t[f+ie+1].je),_=a_[f],0!=_&&(i-=ge[f],C(e,i,_)),r--,f=y_(r),C(e,n[f].Qe,n[f].je),_=i_[f],0!=_&&(r-=Ee[f],C(e,r,_)));}while(l<e.H);C(e,t[ve].Qe,t[ve].je);}function kn(e){let t,n=4093624447;for(t=0;t<=31;t++,n>>=1)if(1&n&&0!=e.N[t].j)return 0;if(0!=e.N[9].j||0!=e.N[10].j||0!=e.N[13].j)return 1;for(t=32;t<ie;t++)if(0!=e.N[t].j)return 1;return 0}function wt(e,t,n,r,i=0){let f,_,l=0;e.ve>0?(2==e.o.t&&(e.o.t=kn(e)),L_(e,e.Ae),L_(e,e.Ie),l=vn(e),f=e.ie+3+7>>3,_=e.fe+3+7>>3,(_<=f||4==e.ke)&&(f=_)):f=_=n+5,n+4<=f&&t?Pe(e,t,n,r,i):_==f?(C(e,(N_<<1)+r,3),st(e,Fe,R_)):(C(e,(lt<<1)+r,3),In(e,e.Ae.Z+1,e.Ie.Z+1,l+1),st(e,e.N,e.U)),St(e),r&&pt(e);}function vt(){let e=je();return e.l=v_(e),e}var Ye=[{Ue:Lt,Re:0,Ye:0,Ee:0,Pe:0},{Ue:U_,Re:4,Ye:4,Ee:8,Pe:4},{Ue:U_,Re:4,Ye:5,Ee:16,Pe:8},{Ue:U_,Re:4,Ye:6,Ee:32,Pe:32},{Ue:Ne,Re:4,Ye:4,Ee:16,Pe:16},{Ue:Ne,Re:8,Ye:16,Ee:32,Pe:32},{Ue:Ne,Re:8,Ye:16,Ee:128,Pe:128},{Ue:Ne,Re:8,Ye:32,Ee:128,Pe:256},{Ue:Ne,Re:32,Ye:128,Ee:258,Pe:1024},{Ue:Ne,Re:32,Ye:258,Ee:258,Pe:4096}];function At(e){return 2*e-(e>4?9:0)}function l_(e,t,n){return ((t<<e.X^n)&e.V)>>>0}function u_(e,t){e.be=l_(e,e.be,e.u[t+(v-1)]);let n=e.J[t&e.F]=e.K[e.be];return e.K[e.be]=t,n}function It(e){e.K[e.O-1]=0,Ve(e.K,0,(e.O-1)*e.K.BYTES_PER_ELEMENT);}function Un(e){let t,n,r=e.h;for(t=e.O;t>0;)t--,n=e.K[t],e.K[t]=n>=r?n-r:0;for(t=r;t>0;)t--,n=e.J[t],e.J[t]=n>=r?n-r:0;}function H_(e,t,n,r){let i=e.avail_in;return i>r&&(i=r),0==i?0:(e.avail_in-=i,M(t,n,e.next_in,e.next_in_index,i),1==e.l.P?e.i=he(e.i,new x(t.buffer,t.byteOffset+n,i),i):2==e.l.P&&(e.i=W(e.i,new x(t.buffer,t.byteOffset+n,i),i)),e.next_in_index+=i,e.total_in+=i,i)}function c_(e){let t,n,r=e.h;do{if(n=e.qe-e.ce-e.ae,0==n&&0==e.ae&&0==e.ce?n=r:-1==n&&n--,e.ae>=r+ye(e)&&(M(e.u,0,e.u,r,r-n),e.Se-=r,e.ae-=r,e.ue-=r,e.le>e.ae&&(e.le=e.ae),Un(e),n+=r),0==e.o.avail_in)break;if(t=H_(e.o,e.u,e.ae+e.ce,n),e.ce+=t,e.ce+e.le>=v){let t=e.ae-e.le;for(e.be=e.u[t],e.be=l_(e,e.be,e.u[t+1]);e.le&&(e.be=l_(e,e.be,e.u[t+v-1]),e.J[t&e.F]=e.K[e.be],e.K[e.be]=t,t++,e.le--,!(e.ce+e.le<v)););}}while(e.ce<ae&&0!=e.o.avail_in);if(e.k<e.qe){let t,n=e.ae+e.ce;e.k<n?(t=e.qe-n,t>He&&(t=He),Ve(e.u,n,t),e.k=n+t):e.k<n+He&&(t=n+He-e.k,t>e.qe-e.k&&(t=e.qe-e.k),Ve(e.u,e.k,t),e.k+=t);}}function kt(e,t,n=8,r=15,i=Ce,f=0){let _=1;if(!e)return -2;if(e.msg="",-1==t&&(t=6),r<0){if(_=0,r<-15)return -2;r=-r;}else r>15&&(_=2,r-=16);if(i<1||i>rt||8!=n||r<8||r>15||t<0||t>9||f<0||f>4||8==r&&1!=_)return -2;8==r&&(r=9);let l=v_(e);return l?(e.l=l,l.o=e,l.Y=42,l.P=_,l.B=void 0,l.v=r,l.h=1<<l.v,l.F=l.h-1,l.G=i+7,l.O=1<<l.G,l.V=l.O-1,l.X=(l.G+v-1)/v,l.u=new x(2*l.h),l.J=new g(l.h),l.K=new g(l.O),l.k=0,l.ee=1<<i+6,l.D=new x(l.ee*ot),l.ne=4*l.ee,l.u&&l.J&&l.K&&l.D?(l.Me=l.D.subarray(l.ee),l.I=l.te+l.ee,l.R=3*(l.ee-1),l.ve=t,l.ke=f,l.We=n,Fn(e)):(l.Y=666,e.msg=D_(-4),P_(e),-4)):-4}function Z_(e){if(null==e)return true;let t=e.l;return !t||t.o!=e||42!=t.Y&&57!=t.Y&&69!=t.Y&&73!=t.Y&&91!=t.Y&&103!=t.Y&&113!=t.Y&&666!=t.Y}function Hn(e){let t;return Z_(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e.l,t.A=0,t.re=t.te,t.P<0&&(t.P=-t.P),t.Y=2==t.P?57:42,e.i=2==t.P?W(0):he(0),t.oe=-2,Et(t),0)}function Bn(e){e.qe=2*e.h,It(e),e.Te=Ye[e.ve].Ye,e.ge=Ye[e.ve].Re,e.me=Ye[e.ve].Ee,e.xe=Ye[e.ve].Pe,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.he=v-1,e.we=0,e.be=0;}function Fn(e){let t=Hn(e);return 0==t&&Bn(e.l),t}function Me(e,t){T(e,t>>8),T(e,255&t);}function q(e){let t,n=e.l;gt(n),t=n.A,t>e.avail_out&&(t=e.avail_out),0!=t&&(M(e.next_out,e.next_out_index,n.D,n.re,t),e.next_out_index+=t,n.re+=t,e.total_out+=t,e.avail_out-=t,n.A-=t,0==n.A&&(n.re=n.te));}function Ie(e,t){let n=e.l;n.B&&n.B.Be&&(e.i=W(e.i,new x(n.D.buffer,n.te+t,n.A-t),n.A-t));}function Nt(e,t){let n,r=e.l;if(Z_(e)||t>5||t<0)return we(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==r.Y&&4!=t)return we(e,-2);if(0==e.avail_out)return we(e,-5);if(n=r.oe,r.oe=t,0!=r.A){if(q(e),0==e.avail_out)return r.oe=$,0}else if(0==e.avail_in&&At(t)<=At(n)&&4!=t)return we(e,-5);if(666==r.Y&&0!=e.avail_in)return we(e,-5);if(42==r.Y&&0==r.P&&(r.Y=113),42==r.Y){let t,n=8+(r.v-8<<4)<<8;if(t=r.ke>=2||r.ve<2?0:r.ve<6?1:6==r.ve?2:3,n|=t<<6,0!=r.ae&&(n|=it),n+=31-n%31,Me(r,n),0!=r.ae&&(Me(r,e.i>>16),Me(r,65535&e.i)),e.i=1,r.Y=113,q(e),0!=r.A)return r.oe=$,0}if(57==r.Y)if(e.i=W(0),T(r,31),T(r,139),T(r,8),r.B)T(r,(r.B.Fe?1:0)+(r.B.Be?2:0)+(null==r.B.Ge?0:4)+(null==r.B.Oe?0:8)+(null==r.B.Ve?0:16)),T(r,255&r.B.Xe),T(r,r.B.Xe>>>8&255),T(r,r.B.Xe>>>16&255),T(r,r.B.Xe>>>24&255),T(r,9==r.ve?2:r.ke>=2||r.ve<2?4:0),T(r,255&r.B.Je),null!=r.B.Ge&&(T(r,255&r.B.Ke),T(r,r.B.Ke>>>8&255)),r.B.Be&&(e.i=W(e.i,r.D,r.A)),r.Ze=0,r.Y=69;else if(T(r,0),T(r,0),T(r,0),T(r,0),T(r,0),T(r,9==r.ve?2:r.ke>=2||r.ve<2?4:0),T(r,at),r.Y=113,q(e),0!=r.A)return r.oe=$,0;if(69==r.Y){if(r.B&&null!=r.B.Ge){let t=r.A,n=(65535&r.B.Ke)-r.Ze;for(;r.A+n>r.ne;){let i=r.ne-r.A;if(M(r.D,r.A,r.B.Ge,r.Ze,i),r.A=r.ne,Ie(e,t),r.Ze+=i,q(e),0!=r.A)return r.oe=$,0;t=0,n-=i;}M(r.D,r.A,r.B.Ge,r.Ze,n),r.A+=n,Ie(e,t),r.Ze=0;}r.Y=73;}if(73==r.Y){if(r.B&&r.B.Oe&&r.B.Oe.length){let t,n=r.A;do{if(r.A==r.ne){if(Ie(e,n),q(e),0!=r.A)return r.oe=$,0;n=0;}t=r.B.Oe[r.Ze++],T(r,t);}while(0!=t);Ie(e,n),r.Ze=0;}r.Y=91;}if(91==r.Y){if(r.B&&r.B.Ve&&r.B.Ve.length){let t,n=r.A;do{if(r.A==r.ne){if(Ie(e,n),q(e),0!=r.A)return r.oe=$,0;n=0;}t=r.B.Ve[r.Ze++],T(r,t);}while(0!=t);Ie(e,n);}r.Y=103;}if(103==r.Y){if(r.B&&r.B.Be){if(r.A+2>r.ne&&(q(e),0!=r.A))return r.oe=$,0;T(r,255&e.i),T(r,e.i>>>8&255),e.i=W(0);}if(r.Y=113,q(e),0!=r.A)return r.oe=$,0}if(0!=e.avail_in||0!=r.ce||0!=t&&666!=r.Y){let n=0==r.ve?Lt(r,t):2==r.ke?Pn(r,t):3==r.ke?Zn(r,t):Ye[r.ve].Ue(r,t);if((2==n||3==n)&&(r.Y=666),0==n||2==n)return 0==e.avail_out&&(r.oe=$),0;if(1==n&&(1==t?Tt(r):5!=t&&(Pe(r,null,0,0),3==t&&(It(r),0==r.ce&&(r.ae=0,r.ue=0,r.le=0))),q(e),0==e.avail_out))return r.oe=$,0}return 4!=t?0:r.P<=0?1:(2==r.P?(T(r,255&e.i),T(r,e.i>>>8&255),T(r,e.i>>>16&255),T(r,e.i>>>24&255),T(r,255&e.total_in),T(r,e.total_in>>>8&255),T(r,e.total_in>>>16&255),T(r,e.total_in>>>24&255)):(Me(r,e.i>>>16&65535),Me(r,65535&e.i)),q(e),r.P>0&&(r.P=-r.P),0!=r.A?0:1)}function P_(e){if(Z_(e))return -2;let t=e.l,n=t.Y;return t.u=Z,t.J=qe,t.K=qe,t.D=Z,t.Me=Z,t.ye=new R(0),t.pe=Z,t.ze=qe,t.N.length=0,t.U.length=0,t.De.length=0,t.B=void 0,t.te=0,t.re=0,t.I=0,113==n?-3:0}function Rt(e,t){let n,r,i=e.xe,f=e.ae,_=e.he,l=e.me,o=e.ae>ye(e)?e.ae-ye(e):0,u=e.J,a=e.F,c=e.u,s=e.ce,h=ee<s?ee:s,d=c[f],w=c[f+1],b=c[f+_-1],v=c[f+_];_>=e.ge&&(i>>=2),l>s&&(l=s);do{if(n=t,c[n+_]!=v||c[n+_-1]!=b||c[n]!=d||c[n+1]!=w)continue;let i=2;for(;i<h&&c[f+i]==c[n+i];)i++;if(r=i,r>_){if(e.Se=t,_=r,r>=l)break;b=c[f+_-1],v=c[f+_];}}while((t=u[t&a])>o&&0!=--i);return _<=s?_:s}function zt(e,t){wt(e,e.u,e.ae-e.ue,t,e.ue),e.ue=e.ae,q(e.o);}function j(e,t){return zt(e,t?1:0),0==e.o.avail_out?t?2:0:null}var Dt=65535;function ke(e,t){return e<t?e:t}function Lt(e,t){let n,r,i,f=ke(e.ne-5,e.h),_=0,l=e.o.avail_in;do{if(n=Dt,i=e.p+42>>3,e.o.avail_out<i||(i=e.o.avail_out-i,r=e.ae-e.ue,n>r+e.o.avail_in&&(n=r+e.o.avail_in),n>i&&(n=i),n<f&&(0==n&&4!=t||0==t||n!=r+e.o.avail_in)))break;_=4==t&&n==r+e.o.avail_in?1:0,Pe(e,null,0,_),e.D[e.A-4]=n,e.D[e.A-3]=n>>8,e.D[e.A-2]=~n,e.D[e.A-1]=~n>>8,q(e.o),r&&(r>n&&(r=n),M(e.o.next_out,e.o.next_out_index,e.u,e.ue,r),e.o.next_out_index+=r,e.o.avail_out-=r,e.o.total_out+=r,e.ue+=r,n-=r),n&&(H_(e.o,e.o.next_out,e.o.next_out_index,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n);}while(0==_);if(l-=e.o.avail_in,l){if(l>=e.h){e._e=2;let t=e.o.next_in_index-e.h;M(e.u,0,e.o.next_in,t,e.h),e.ae=e.h,e.le=e.ae;}else e.qe-e.ae<=l&&(e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,e.le>e.ae&&(e.le=e.ae)),M(e.u,e.ae,e.o.next_in,e.o.next_in_index-l,l),e.ae+=l,e.le+=ke(l,e.h-e.le);e.ue=e.ae;}return e.k<e.ae&&(e.k=e.ae),_?(e.Ce=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ae==e.ue?1:(i=e.qe-e.ae,e.o.avail_in>i&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,i+=e.h,e.le>e.ae&&(e.le=e.ae)),i>e.o.avail_in&&(i=e.o.avail_in),i&&(H_(e.o,e.u,e.ae,i),e.ae+=i,e.le+=ke(i,e.h-e.le)),e.k<e.ae&&(e.k=e.ae),i=e.p+42>>3,i=ke(e.ne-i,Dt),f=ke(i,e.h),r=e.ae-e.ue,(r>=f||(r||4==t)&&0!=t&&0==e.o.avail_in&&r<=i)&&(n=ke(r,i),_=4==t&&0==e.o.avail_in&&n==r?1:0,Pe(e,e.u,n,_,e.ue),e.ue+=n,q(e.o)),_&&(e.Ce=8),_?2:0)}function U_(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=v&&(n=u_(e,e.ae)),0!=n&&e.ae-n<=ye(e)&&(e.se=Rt(e,n)),e.se>=v)if(e.ae,e.Se,e.se,r=e_(e,e.ae-e.Se,e.se-v),e.ce-=e.se,e.se<=e.Te&&e.ce>=v){e.se--;do{e.ae++,n=u_(e,e.ae);}while(0!=--e.se);e.ae++;}else e.ae+=e.se,e.se=0,e.be=e.u[e.ae],e.be=l_(e,e.be,e.u[e.ae+1]);else r=De(e,e.u[e.ae]),e.ce--,e.ae++;if(r){let t=j(e,false);if(null!=t)return t}}if(e.le=e.ae<v-1?e.ae:v-1,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Ne(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=v&&(n=u_(e,e.ae)),e.he=e.se,e.de=e.Se,e.se=v-1,0!=n&&e.he<e.Te&&e.ae-n<=ye(e)&&(e.se=Rt(e,n),e.se<=5&&(1==e.ke||e.se==v&&e.ae-e.Se>nt)&&(e.se=v-1)),e.he>=v&&e.se<=e.he){let t=e.ae+e.ce-v;e.ae,e.de,e.he,r=e_(e,e.ae-1-e.de,e.he-v),e.ce-=e.he-1,e.he-=2;do{++e.ae<=t&&(n=u_(e,e.ae));}while(0!=--e.he);if(e.we=0,e.se=v-1,e.ae++,r){let t=j(e,false);if(null!=t)return t}}else if(e.we){if(r=De(e,e.u[e.ae-1]),r&&zt(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--;}if(e.we&&(r=De(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<v-1?e.ae:v-1,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Zn(e,t){let n,r,i,f;for(;;){if(e.ce<=ee){if(c_(e),e.ce<=ee&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=v&&e.ae>0&&(i=e.ae-1,r=e.u[i],r==++i&&r==++i&&r==++i)){f=e.ae+ee;do{}while(r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&i<f);e.se=ee-(f-i),e.se>e.ce&&(e.se=e.ce);}if(e.se>=v?(e.ae,e.ae,e.se,n=e_(e,1,e.se-v),e.ce-=e.se,e.ae+=e.se,e.se=0):(n=De(e,e.u[e.ae]),e.ce--,e.ae++),n){let t=j(e,false);if(null!=t)return t}}if(e.le=0,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Pn(e,t){let n=false;for(;;){if(0==e.ce&&(c_(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,n=De(e,e.u[e.ae]),e.ce--,e.ae++,n){let t=j(e,false);if(null!=t)return t}}if(e.le=0,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}var ue=852,d_=592,m_=594,Ot=Ee.map(e=>e+1),Ct=ge.subarray(0,-1).map(e=>e+3),Mn=[16,1,73,1,200,1],Yn=[144,1,72,1,78,1],Ut=Se.map(qt),Ht=Se.map(Vt);Ut.push(64,2),Ht.push(142,2);var Bt=de.slice(0,-2).map(qt),Ft=de.slice(0,-2).map(Vt);Bt.push(...Mn),Ft.push(...Yn);var Zt=new g([...Ct,258,0,0]),Pt=new g([...Ct,3,0,0]),Mt=te(Bt),Yt=te(Ft),Xt=new g([...Ot,0,0]),Wt=new g([...Ot,32769,49153]),Gt=te(Ut),Kt=te(Ht);function qt(e,t){return t%2?e:e+16}function Vt(e,t){return t%2?e:e+128}function Jt(e,t){let n,r=e.l,i=e.next_in_index,f=e.next_out_index,_=e.next_in,l=e.next_out,o=r.u,u=r.T>>>0,a=r.p>>>0,c=r.et,s=r.tt,h=(1<<r.nt)-1,d=(1<<r.rt)-1,w=r.h>>>0,b=r.k>>>0,v=r.m>>>0,k=r.it,g=f-(t-e.avail_out),m=f+(e.avail_out-257),x=i+(e.avail_in-5),T=0,y=0,p=0,z=0;e:do{for(;a<15;){if(!(i<_.length))break e;u+=_[i++]<<a,a+=8;}n=c[u&h];t:for(;;){if(p=n>>>16&255,u>>>=p,a-=p,p=n>>>24,0==p){l[f++]=65535&n;break}if(16&p){if(T=65535&n,p&=15,p){for(;a<p;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}T+=u&(1<<p)-1,u>>>=p,a-=p;}for(;a<15;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}n=s[u&d];n:for(;;){if(p=n>>>16&255,u>>>=p,a-=p,p=n>>>24,16&p){if(y=65535&n,p&=15,p){for(;a<p;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}y+=u&(1<<p)-1,u>>>=p,a-=p;}let t=T,c=f-g;if(y>c){let n=y-c;if(n>b&&k){e.msg="invalid distance too far back",r.ft=16209;break e}if(0==v){if(z=w-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let e=0;e<n;++e)l[f++]=o[z++];t-=n,z=f-y;}else if(v<n){z=w+v-n;let e=n-v;if(!(e<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let t=0;t<e;++t)l[f++]=o[z++];if(t-=e,z=0,v<t){for(let e=0;e<v;++e)l[f++]=o[z++];t-=v,z=f-y;}}else {if(z=v-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let e=0;e<n;++e)l[f++]=o[z++];t-=n,z=f-y;}for(;t>2;)l[f++]=l[z++],l[f++]=l[z++],l[f++]=l[z++],t-=3;t&&(l[f++]=l[z++],t>1&&(l[f++]=l[z++]));}else {for(z=f-y;t>2;)l[f++]=l[z++],l[f++]=l[z++],l[f++]=l[z++],t-=3;t&&(l[f++]=l[z++],t>1&&(l[f++]=l[z++]));}break}if(64&p){e.msg="invalid distance code",r.ft=16209;break e}n=s[(65535&n)+(u&(1<<p)-1)];continue n}break}if(64&p){if(32&p){r.ft=16191;break e}e.msg="invalid literal/length code",r.ft=16209;break e}n=c[(65535&n)+(u&(1<<p)-1)];continue t}}while(i<x&&f<m);let M=a>>3;i-=M,a-=M<<3,u&=(1<<a)-1,e.next_in_index=i,e.next_out_index=f,e.avail_in=i<x?x-i+5:5-(i-x),e.avail_out=f<m?m-f+257:257-(f-m),r.T=u>>>0,r.p=a>>>0;}var Xn=new R(0);function M_(e,t){let n=Xn,r=t?ue+m_:ue+d_;return {...Je(e,0),o:e,ft:16180,_t:false,P:0,lt:false,ot:0,ut:0,ct:0,st:0,u:Z,ht:0,dt:0,Ge:0,et:n,tt:n,nt:0,rt:0,wt:0,bt:0,vt:0,kt:0,gt:n,xt:new g(320),Tt:new g(288),yt:new R(r),zt:0,it:true,Mt:0,Ct:0,Zt:t}}function We(e,t,n){return e<<24|t<<16|n}function b_(e=0,t=0,n=0){return We(e,t,n)}function h_(e=1){return We(64,e,0)}function Qt(e=0){return We(96,e,0)}function Y_(e){return (255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Le=15,Gn={Zt:false,Wt:Zt,qt:Mt,St:Xt,Lt:Gt,$t:20,Dt:257,At:0,It:d_,Ht:false,Qt:true},Kn={Zt:true,Wt:Pt,qt:Yt,St:Wt,Lt:Kt,$t:19,Dt:256,At:-1,It:m_,Ht:true,Qt:false};function Oe(e,t,n,r,i,f,_,l){let o,u,a,c,s,h,d,w,b,v,k,m,x,T,y,p,z,M,C,Z=new g(Le+1),W=new g(Le+1),q=l?Kn:Gn;for(o=0;o<=Le;o++)Z[o]=0;for(u=0;u<n;u++)Z[t[u]]++;for(s=i.jt,c=Le;c>=1&&0==Z[c];c--);if(s>c&&(s=c),0==c)return q.Qt?(y=h_(1),r.jt[0]=y,r.jt[1]=y,i.jt=1,0):-1;for(a=1;a<c&&0==Z[a];a++);for(s<a&&(s=a),w=1,o=1;o<=Le;o++)if(w<<=1,w-=Z[o],w<0)return -1;if(w>0&&(0==e||1!=c))return -1;for(W[1]=0,o=1;o<Le;o++)W[o+1]=W[o]+Z[o];for(u=0;u<n;u++)0!=t[u]&&(f[W[t[u]]++]=u);switch(e){case 0:z=M=f,C=q.$t;break;case 1:z=q.Wt,M=q.qt,C=q.Dt;break;default:z=q.St,M=q.Lt,C=q.At;}if(v=0,u=0,o=a,p=_.jt,h=s,d=0,x=-1,b=1<<s,T=b-1,1==e&&(q.Ht?b>=ue:b>ue)||2==e&&(q.Ht?b>=q.It:b>q.It))return 1;for(;;){y=qn(f,u,o,d,e,z,M,C,q.Zt),k=1<<o-d,m=1<<h,a=m;do{m-=k;let e=(v>>d)+m;r.jt[p+e]=y;}while(0!=m);for(k=1<<o-1;v&k;)k>>=1;if(0!=k?(v&=k-1,v+=k):v=0,u++,0==--Z[o]){if(o==c)break;o=t[f[u]];}if(o>s&&(v&T)!=x){for(0==d&&(d=s),p+=1<<h,h=o-d,w=1<<h;h+d<c&&(w-=Z[h+d],!(w<=0));)h++,w<<=1;if(b+=1<<h,1==e&&(q.Ht?b>=ue:b>ue)||2==e&&(q.Ht?b>=q.It:b>q.It))return 1;x=v&T,r.jt[_.jt+x]=We(h,s,p-_.jt);}}if(0!=v)for(y=h_(o-d);0!=v;){for(0!=d&&(v&T)!=x&&(d=0,o=s,p=_.jt,h=s,y=h_(o)),r.jt[p+(v>>d)]=y,k=1<<o-1;v&k;)k>>=1;0!=k?(v&=k-1,v+=k):v=0;}return _.jt+=b,i.jt=s,0}function qn(e,t,n,r,i,f,_,l,o){let u;if(o?e[t]<l:e[t]+1<l)u=b_(0,n-r,e[t]);else if(o?e[t]>l:e[t]>=l)if(o&&1==i){let i=e[t]-257;u=b_(_[i],n-r,f[i]);}else {let i=o?e[t]:e[t]-l;u=b_(_[i],n-r,f[i]);}else u=Qt(n-r);return u}var p_=new R(0),Qn={Nt:true,Ut:new R(544),Rt:p_,Yt:p_},$n={Nt:true,Ut:new R(544),Rt:p_,Yt:p_};function $t(){let e=je();return e.l=M_(e,false),e}function Ge(e){let t;return !(e&&(t=e.l,!(!t||t.o!=e||t.Zt&&(t.ft<16191||t.ft>16209)||!t.Zt&&(t.ft<16180||t.ft>16211))))}function er(e){let t;return Ge(e)?-2:(t=e.l,e.total_in=e.total_out=t.st=0,e.msg="",t.P&&(e.i=1&t.P),t.ft=t.Zt?16191:16180,t._t=false,t.lt=false,t.ot=-1,t.ut=t.Zt?65536:32768,delete t.B,t.T=0,t.p=0,t.et=t.yt,t.tt=t.yt,t.gt=t.yt,t.it=true,t.Mt=-1,0)}function _r(e){let t;return Ge(e)?-2:(t=e.l,t.h=0,t.k=0,t.m=0,er(e))}function tr(e,t){let n,r;if(Ge(e))return -2;if(r=e.l,t<0){if(t<-16)return -2;n=0,r.Zt=-16==t,t=-t;}else n=5+(t>>4),r.Zt=false,t<48&&(t&=15);let i=r.Zt?16:15;return t&&(t<8||t>i)?-2:(r.u.length>0&&r.v!=t&&(r.u=Z),r.P=n,r.v=t,_r(e))}function en(e,t){let n,r;if(!e)return -2;e.msg="";let i=-16==t;return r=M_(e,i),e.l=r,r.o=e,r.ft=i?16191:16180,n=tr(e,t),n}function nr(e){let t=e.Zt?$n:Qn,n={jt:0};if(t.Nt){let r,i,f;for(r=0;r<144;)e.xt[r++]=8;for(;r<256;)e.xt[r++]=9;for(;r<280;)e.xt[r++]=7;for(;r<288;)e.xt[r++]=8;t.Ut.fill(0),f=t.Ut,t.Rt=f,i=9;let _={jt:f},l={jt:i},o={jt:0};for(Oe(1,e.xt,288,_,l,e.Tt,o,e.Zt),f=_.jt,i=l.jt,e.zt=o.jt,r=0;r<32;)e.xt[r++]=5;i=5;let u=o.jt,a={jt:f},c={jt:i};n.jt=u,Oe(2,e.xt,32,a,c,e.Tt,n,e.Zt),t.Yt=f.slice(u),t.Nt=false;}e.et=t.Rt,e.nt=9,e.tt=t.Yt,e.rt=5,e.zt=n.jt;}function rr(e,t,n){let r=e.l;if(!(r.u&&0!=r.u.length||(r.u=new x(1<<r.v),r.u)))return 1;if(0==r.h&&(r.h=1<<r.v,r.m=0,r.k=0),n>=r.h)M(r.u,0,t,t.length-r.h,r.h),r.m=0,r.k=r.h;else {let e=r.h-r.m;e>n&&(e=n),M(r.u,r.m,t,t.length-n,e),(n-=e)?(M(r.u,0,t,t.length-n,n),r.m=n,r.k=r.h):(r.m+=e,r.m==r.h&&(r.m=0),r.k<r.h&&(r.k+=e));}return 0}var S_=class extends L{constructor(){super("Need more input");}};function _n(e,t){let n,r,i,f,_,l,o,u,a,c,s,h,d,w,b,v,k,g=new x(4);if(Ge(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return -2;l=0,u=0,o=0,a=0,r=Z,i=0,f=Z,_=0,n=e.l,16191==n.ft&&(n.ft=16192),z(),c=l,s=o,k=0;try{for(;;)switch(n.ft){case 16180:if(0==n.P){n.ft=16192;break}if(L(16),2&n.P&&35615==u){0==n.v&&(n.v=15),n.ct=W(0),n.ct=y(n.ct,u),q(),n.ft=16181;break}if(n.B&&(n.B.Et=-1),!(1&n.P)||(($(8)<<8)+(u>>8))%31){e.msg="incorrect header check",n.ft=16209;break}if(8!=$(4)){e.msg="unknown compression method",n.ft=16209;break}if(D(4),v=$(4)+8,0==n.v&&(n.v=v),v>15||v>n.v){e.msg="invalid window size",n.ft=16209;break}n.ut=1<<v,n.ot=0,e.i=n.ct=he(0),n.ft=512&u?16189:16191,q();break;case 16181:if(L(16),n.ot=u,8!=(255&n.ot)){e.msg="unknown compression method",n.ft=16209;break}if(57344&n.ot){e.msg="unknown header flags set",n.ft=16209;break}n.B&&(n.B.Fe=u>>8&1),512&n.ot&&4&n.P&&(n.ct=y(n.ct,u)),q(),n.ft=16182;case 16182:L(32),n.B&&(n.B.Xe=u),512&n.ot&&4&n.P&&(n.ct=p(n.ct,u)),q(),n.ft=16183;case 16183:L(16),n.B&&(n.B.Pt=255&u,n.B.Je=u>>8),512&n.ot&&4&n.P&&(n.ct=y(n.ct,u)),q(),n.ft=16184;case 16184:1024&n.ot?(L(16),n.ht=u,n.B&&(n.B.Ke=u),512&n.ot&&4&n.P&&(n.ct=y(n.ct,u)),q()):n.B&&(n.B.Ge=Z),n.ft=16185;case 16185:if(1024&n.ot&&(h=n.ht,h>l&&(h=l),h&&(n.B&&n.B.Ge&&n.B.Bt&&(v=n.B.Ke-n.ht)<n.B.Bt&&M(n.B.Ge,v,r,i,h),512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,n.ht-=h),n.ht))return m();n.ht=0,n.ft=16186;case 16186:if(2048&n.ot){if(0==l)return m();h=0;do{v=r[i+h++],n.B&&n.B.Ft&&n.ht<n.B.Ft&&(n.B.Oe[n.ht++]=v);}while(v&&h<l);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,v)return m()}else n.B&&(n.B.Oe=Z);n.ht=0,n.ft=16187;case 16187:if(4096&n.ot){if(0==l)return m();h=0;do{v=r[i+h++],n.B&&n.B.Gt&&n.ht<n.B.Gt&&(n.B.Ve[n.ht++]=v);}while(v&&h<l);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,v)return m()}else n.B&&(n.B.Ve=Z);n.ft=16188;case 16188:if(512&n.ot){if(L(16),4&n.P&&u!=(65535&n.ct)){e.msg="header crc mismatch",n.ft=16209;break}q();}n.B&&(n.B.Be=n.ot>>9&1,n.B.Et=1),e.i=n.ct=W(0),n.ft=16191;break;case 16189:L(32),e.i=n.ct=Y_(u),q(),n.ft=16190;case 16190:if(!n.lt)return C(),2;e.i=n.ct=he(0),n.ft=16191;case 16191:if(5==t||6==t)return m();case 16192:if(n._t){A(),n.ft=16206;break}switch(L(3),n._t=!!$(1),D(1),$(2)){case 0:n.ft=16193;break;case 1:if(nr(n),n.ft=16199,6==t)return D(2),m();break;case 2:n.ft=16196;break;case 3:e.msg="invalid block type",n.ft=16209;}D(2);break;case 16193:if(A(),L(32),(65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",n.ft=16209;break}if(n.ht=65535&u,q(),n.ft=16194,6==t)return m();case 16194:n.ft=16195;case 16195:if(h=n.ht,h){if(h>l&&(h=l),h>o&&(h=o),0==h)return m();M(f,_,r,i,h),l-=h,i+=h,o-=h,_+=h,n.ht-=h;break}n.ft=16191;break;case 16196:if(L(14),n.bt=$(5)+257,D(5),n.vt=$(5)+1,D(5),n.wt=$(4)+4,D(4),n.bt>286||!n.Zt&&n.vt>30){e.msg=n.Zt?"too many length":"too many length or distance symbols",n.ft=16209;break}n.kt=0,n.ft=16197;case 16197:for(;n.kt<n.wt;)L(3),n.xt[pe[n.kt++]]=$(3),D(3);for(;n.kt<19;)n.xt[pe[n.kt++]]=0;n.gt=n.yt,n.et=n.tt=n.gt,n.nt=7;let c={jt:n.gt},g={jt:n.nt},x={jt:0};if(k=Oe(0,n.xt,19,c,g,n.Tt,x,n.Zt),n.gt=c.jt,n.nt=g.jt,k){e.msg="invalid code lengths set",n.ft=16209;break}n.kt=0,n.ft=16198;case 16198:for(;n.kt<n.bt+n.vt;){for(;w=n.et[$(n.nt)],!((w>>>16&255)<=a);)S();if((65535&w)<16)D(w>>>16&255),n.xt[n.kt++]=65535&w;else {if(16==(65535&w)){if(L(2+(w>>>16&255)),D(w>>>16&255),0==n.kt){e.msg="invalid bit length repeat",n.ft=16209;break}v=n.xt[n.kt-1],h=3+$(2),D(2);}else 17==(65535&w)?(L(3+(w>>>16&255)),D(w>>>16&255),v=0,h=3+$(3),D(3)):(L(7+(w>>>16&255)),D(w>>>16&255),v=0,h=11+$(7),D(7));if(n.kt+h>n.bt+n.vt){e.msg="invalid bit length repeat",n.ft=16209;break}for(;h--;)n.xt[n.kt++]=v;}}if(16209==n.ft)break;if(0==n.xt[256]){e.msg="invalid code -- missing end-of-block",n.ft=16209;break}n.gt=n.yt,n.nt=9;let I={jt:n.gt},H={jt:n.nt},Q={jt:0};k=Oe(1,n.xt,n.bt,I,H,n.Tt,Q,n.Zt),n.gt=I.jt,n.nt=H.jt;let j=Q.jt;if(n.et=n.gt.slice(0,j),k){e.msg="invalid literal/lengths set",n.ft=16209;break}n.rt=6;let N=n.xt.subarray(n.bt,n.bt+n.vt),U={jt:n.gt},R={jt:n.rt},Y={jt:j};if(k=Oe(2,N,n.vt,U,R,n.Tt,Y,n.Zt),n.gt=U.jt,n.rt=R.jt,n.tt=n.gt.slice(j),k){e.msg="invalid distances set",n.ft=16209;break}if(n.ft=16199,6==t)return m();case 16199:n.ft=16200;case 16200:if(!n.Zt&&l>=6&&o>=258){C(),Jt(e,s),z(),16191==n.ft&&(n.Mt=-1);break}for(n.Mt=0;w=n.et[$(n.nt)],!((w>>>16&255)<=a);)S();if(w>>>24&&!(w>>>24&240)){for(b=w;w=n.et[(65535&b)+($((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=a);)S();D(b>>>16&255),n.Mt+=b>>>16&255;}if(D(w>>>16&255),n.Mt+=w>>>16&255,n.ht=65535&w,!(w>>>24)){n.ft=16205;break}if(w>>>24&32){n.Mt=-1,n.ft=16191;break}if(w>>>24&64){e.msg="invalid literal/length code",n.ft=16209;break}n.Ge=w>>>24&(n.Zt?31:15),n.ft=16201;case 16201:n.Ge&&(L(n.Ge),n.ht+=$(n.Ge),D(n.Ge),n.Mt+=n.Ge),n.Ct=n.ht,n.ft=16202;case 16202:for(;w=n.tt[$(n.rt)],!((w>>>16&255)<=a);)S();if(!(w>>>24&240)){for(b=w;w=n.tt[(65535&b)+($((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=a);)S();D(b>>>16&255),n.Mt+=b>>>16&255;}if(D(w>>>16&255),n.Mt+=w>>>16&255,w>>>24&64){e.msg="invalid distance code",n.ft=16209;break}n.dt=65535&w,n.Ge=w>>>24&15,n.ft=16203;case 16203:n.Ge&&(L(n.Ge),n.dt+=$(n.Ge),D(n.Ge),n.Mt+=n.Ge),n.ft=16204;case 16204:if(0==o)return m();if(h=s-o,n.dt>h){if(h=n.dt-h,h>n.k&&n.it){e.msg="invalid distance too far back",n.ft=16209;break}h>n.m?(h-=n.m,d=n.h-h):d=n.m-h,h>n.ht&&(h=n.ht),h>o&&(h=o);for(let e=0;e<h;++e)f[_]=255&n.u[d],++_,++d;}else {d=_-n.dt,h=n.ht,h>o&&(h=o);for(let e=0;e<h;++e)f[_]=f[d],++_,++d;}h>o&&(h=o),o-=h,n.ht-=h,0==n.ht&&(n.ft=16200);break;case 16205:if(0==o)return m();f[_++]=n.ht,o--,n.ft=16200;break;case 16206:if(n.P){if(L(32),s-=o,e.total_out+=s,n.st+=s,4&n.P&&s){let t=f.subarray(_-s,_);e.i=n.ct=T(n.ct,t,s);}if(s=o,4&n.P&&(n.ot?u:Y_(u)>>>0)!=n.ct){e.msg="incorrect data check",n.ft=16209;break}q();}n.ft=16207;case 16207:if(n.P&&n.ot){if(L(32),4&n.P&&u!=(4294967295&n.st)){e.msg="incorrect length check",n.ft=16209;break}q();}n.ft=16208;case 16208:return k=1,m();case 16209:return k=-3,m();case 16210:return -4;default:return -2}}catch(e){if(e instanceof S_)return m();throw e}function m(){if(C(),n.h||s!=e.avail_out&&n.ft<16209&&(n.Zt?n.ft<16208:n.ft<16206)||4!=t){let t=s-e.avail_out;if(rr(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return n.ft=16210,-4}return c-=e.avail_in,s-=e.avail_out,e.total_in+=c,e.total_out+=s,n.st+=s,4&n.P&&s&&(e.i=n.ct=T(n.ct,e.next_out.subarray(e.next_out_index-s,e.next_out_index),s)),e.t=n.p+(n._t?64:0)+(16191==n.ft?128:0)+(16199==n.ft||16194==n.ft?256:0),(0==c&&0==s&&0==k||4==t&&0==k)&&(k=-5),k}function T(e,t,r){return n.ot?W(e,t,r):he(e,t,r)}function y(e,t){return g[0]=255&t,g[1]=t>>>8&255,W(e,g,2)>>>0}function p(e,t){return g[0]=255&t,g[1]=t>>>8&255,g[2]=t>>>16&255,g[3]=t>>>24&255,W(e,g,4)>>>0}function z(){f=e.next_out,_=e.next_out_index,o=e.avail_out,r=e.next_in,i=e.next_in_index,l=e.avail_in,u=n.T,a=n.p;}function C(){e.next_out=f,e.next_out_index=_,e.avail_out=o,e.next_in=r,e.next_in_index=i,e.avail_in=l,n.T=u,n.p=a;}function q(){u=0,a=0;}function S(){if(0==l)throw new S_;l--,u+=(255&r[i])<<a,i++,u>>>=0,a+=8;}function L(e){for(;a<e;)S();}function $(e){return u&(1<<e)-1}function D(e){u>>>=e,a-=e;}function A(){u>>>=7&a,a-=7&a;}}function tn(e){return Ge(e)?-2:0}var X_=65536,ar=32768,W_=class{constructor(e=16,t=X_){this.Ot=[],this.Vt=e;for(let n=0;n<z.min(e,4);n++)this.Ot.push(new x(t));}acquire(e=X_){for(let t=this.Ot.length-1;t>=0;t--){let n=this.Ot[t];if(n.length>=e)return this.Ot.splice(t,1),n}return new x(e)}release(e){this.Ot.length<this.Vt&&this.Ot.push(e);}};function nn(e){let t=new W_(32,X_),n=null;function r(e){try{t.release(e);}catch{}}return new H({start(){},transform(i,f){if(!n){let t=e.Xt(),r=e.Jt(t);if(0!=r&&0!=r)throw new L("init failed: "+r);n={o:t};}let _=n.o,l=0;for(;l<i.length;){let n=z.min(i.length-l,ar),o=i.subarray(l,l+n);for(_.next_in=o,_.next_in_index=0,_.avail_in=o.length;_.avail_in>0;){let n=t.acquire(),i=false;try{_.next_out=n,_.next_out_index=0,_.avail_out=n.length;let r=e.Kt(_,0),l=n.length-_.avail_out;if(l>0){let e=!1,r={en:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n));}};i=!0,f.enqueue(r);}if(0!=r&&1!=r)throw new L("process error: "+r)}finally{i||r(n);}}l+=n;}},flush(i){if(!n)return;let f=n.o;for(;;){let n=t.acquire(),_=false;try{f.next_out=n,f.next_out_index=0,f.avail_out=n.length;let r=e.Kt(f,4),l=n.length-f.avail_out;if(l>0){let e=!1,r={en:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n));}};_=!0,i.enqueue(r);}if(1==r)break;if(0!=r)throw new L("finalization error: "+r)}finally{_||r(n);}}let _=e.tn(f);if(0!=_&&0!=_)throw new L("end failed: "+_)}})}function rn(){return new H({start(){},transform(e,t){try{t.enqueue(e.en.slice(0));}finally{e.release();}},flush(){}})}function ir(e="deflate",t){let n="gzip"==e?31:"deflate-raw"==e?-15:15,r=t&&"number"==typeof t.level?t.level:-1;return nn({Xt:()=>vt(),Jt:e=>kt(e,r,8,n,8,0),Kt:Nt,tn:P_})}function or(e="deflate"){let t="gzip"==e?31:"deflate-raw"==e?-15:"deflate64-raw"==e?-16:15;return nn({Xt:()=>$t(),Jt:e=>en(e,t),Kt:_n,tn:tn})}var E_=class{constructor(e="deflate",t){let n=ir(e,t);this.writable=n.writable,this.readable=n.readable.pipeThrough(rn());}},g_=class{constructor(e="deflate"){let t=or(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(rn());}};
7484
+ var{Uint8Array:p,Uint16Array:g,Int32Array:R,TransformStream:H,Math:z,Error:L,Array:k}=globalThis,pe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Z=new p(0),qe=new g(0),de=[];for(let e=0;e<6;e++)de.push(e,0==e?8:4);de.push(0,1);var Se=[];for(let e=0;e<14;e++)Se.push(e,0==e?4:2);var Ee=new g([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),ge=new g([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function M(e,t,n,r,i){if(0==i)return;let f=e instanceof p?e:new p(e.buffer,e.byteOffset,e.byteLength),_=n instanceof p?n.subarray(r,r+i):new p(n.buffer,n.byteOffset+r,i);f.set(_,t);}function Ve(e,t,n){0!=n&&(e instanceof p?e:new p(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+n);}function je(){return {next_in:Z,next_in_index:0,avail_in:0,total_in:0,next_out:Z,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function Je(e,t){let n=1<<t;return {o:e,u:new p(n),h:n,v:t,k:0,m:0,p:0,T:0}}function te(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];for(let e=0;e<i;e++)t.push(r);}return new g(t)}var ne=class{constructor(e,t){this.M=e,this.C=t,this.Z=0;}},re=class{constructor(e,t,n,r,i){this.W=e,this.q=t,this.S=n,this.L=r,this.$=i;}};function D_(e){return Q_[e<-6||e>2?9:2-e]||""}function we(e,t){try{e.msg=D_(t);}catch(n){e.msg="zlib error "+String(t)+" ("+n+")";}return t}function $e(e,t){let n=e>>>0,r=0;for(let e=0;e<t;e++)r=r<<1|1&n,n>>>=1;return r}function T(e,t){e.D[e.A++]=t;}function Ae(e,t){T(e,255&t),T(e,t>>>8&255);}function e_(e,t,n){let r=255&n,i=65535&t,f=e.I+e.H;return e.D[f]=255&i,e.D[f+1]=i>>>8&255,e.D[f+2]=r,e.H+=3,i=i-1&65535,e.N[__[r]+ie+1].j++,e.U[y_(i)].j++,e.H==e.R}function De(e,t){let n=255&t,r=e.I+e.H;return e.D[r]=0,e.D[r+1]=0,e.D[r+2]=n,e.H+=3,e.N[n].j++,e.H==e.R}function ye(e){return e.h-ae}function y_(e){return e<256?A_[e]:A_[256+(e>>7)]}function v_(e){let t=Ce+7,n=1<<t,r=(1<<t)-1,i=z.floor((t+v-1)/v),f=1<<8+Ce;return {...Je(e,15),o:e,Y:42,P:0,B:void 0,F:32767,G:t,O:n,V:r,X:i,J:new g(32768),K:new g(n),ee:f,D:new p(32768),te:0,ne:32768,A:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,he:0,de:0,we:0,be:0,ve:0,ke:0,ge:0,me:0,pe:0,xe:0,Te:new R(2*Te+1),ye:new p(2*Te+1),ze:new g(be+1),H:0,R:0,Me:Z,I:0,Ce:0,Ze:0,We:8,qe:32768,Se:0,Le:0,$e:0,N:new k(fe).fill(0).map(()=>Q()),U:new k(2*me+1).fill(0).map(()=>Q()),De:new k(2*oe+1).fill(0).map(()=>Q()),Ae:w_(),Ie:w_(),He:w_()}}function I_(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1],f=Q();f.Qe=r,f.je=i,t.push(f);}return t}function Q(){return {j:0,Qe:0,Ne:0,je:0}}function w_(){return new ne([],dn(null,Z,0,0,0))}function dn(e,t,n,r,i){return new re(e,t,n,r,i)}function $_(){let e=new k(288).fill(0);for(let t=0;t<=143;t++)e[t]=8;for(let t=144;t<=255;t++)e[t]=9;for(let t=256;t<=279;t++)e[t]=7;for(let t=280;t<=287;t++)e[t]=8;return e}function k_(e){let{code:t,length:n}=mn(e),r=new g(2*e.length),i=0;for(let f=0;f<e.length;f++){let e=n[f]||0,_=t[f]||0;r[i++]=e?$e(_,e):0,r[i++]=e;}return new g(r)}function et(e,t,n){let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,f=e[n]+i-1;f>r&&(r=f);}r<n&&(r=n);let i=new p(r+1);for(let n=0;n<=r;n++)for(let r=0;r<e.length;r++){let f=t[r]?1<<t[r]:1,_=e[r];if(n>=_&&n<=_+f-1){i[n]=r;break}}let f=0;for(let n=0;n<e.length-1;n++){let r=t[n]?1<<t[n]:1,i=e[n]+r-1;i>f&&(f=i);}return i[f]=e.length-1,i}function _t(e,t){let n=0;for(let r=0;r<e.length;r++){let i=t[r]?1<<t[r]:1,f=e[r]+i-1;f>n&&(n=f);}let r=new p(n+1);for(let i=0;i<=n;i++)for(let n=0;n<e.length;n++){let f=t[n]?1<<t[n]:1,_=e[n];if(i>=_&&i<=_+f-1){r[i]=n;break}}return r}function tt(e){let t=new p(512),n=e.length-1;for(let r=0;r<256;r++)t[r]=r<=n?e[r]:e[n];for(let r=256;r<=n;r++){let n=r>>7;t[256+(n>255?255:n)]=e[r];}for(let e=257;e<512;e++)0==t[e]&&(t[e]=t[e-1]);return t}function mn(e){let t=z.max(...e),n=new k(t+1).fill(0);for(let t of e)t>0&&n[t]++;let r=new k(e.length).fill(0),i=new k(t+1).fill(0),f=0;for(let e=1;e<=t;e++)f=f+n[e-1]<<1,i[e]=f;for(let t=0;t<e.length;t++){let n=e[t];0!=n&&(r[t]=i[n]++);}return {code:r,length:e}}var Ce=8,v=3,ee=258,ae=ee+v+1,nt=4096,Ue=16,He=ee,bn=29,ie=256,Te=ie+1+bn,me=30,oe=19,fe=2*Te+1,be=15,rt=9,at=255,it=32,ot=4,ve=256,t_=16,n_=17,r_=18,ft=0,N_=1,lt=2,$=-1,Q_=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],a_=te(de),i_=te(Se),Be=new g(19);Be[16]=2,Be[17]=3,Be[18]=7;var hn=k_($_()),sn=k_(new k(30).fill(5)),Fe=I_(hn),R_=I_(sn),__=et(ge,a_,ee),A_=tt(_t(Ee,i_));function he(e,t,n){if(void 0===t||void 0===n)return 1;let r=65535&e,i=e>>>16&65535,f=0;for(;n>0;){let e=n>2e3?2e3:n;n-=e;do{r=r+t[f++]|0,i=i+r|0;}while(--e);r%=65521,i%=65521;}return (i<<16|r)>>>0}var Ze=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?3988292384^t>>>1:t>>>1;Ze[0][e]=t;}for(let e=0;e<256;e++)for(let t=1;t<8;t++){let n=Ze[t-1][e];Ze[t][e]=n>>>8^Ze[0][255&n];}var[ut,xn,pn,Sn,En,gn,Tn,wn]=Ze;function W(e=0,t,n){if(!t)return 0;void 0===n&&(n=t.length);let r=0|~e,i=0;if((n=z.min(n,t.length))>=8){let e=new DataView(t.buffer,t.byteOffset,n),f=n-8;for(;i<=f;i+=8){let t=r^e.getInt32(i,true),n=e.getInt32(i+4,true);r=wn[255&t]^Tn[t>>>8&255]^gn[t>>>16&255]^En[t>>>24&255]^Sn[255&n]^pn[n>>>8&255]^xn[n>>>16&255]^ut[n>>>24&255];}}for(;i<n;i++)r=r>>>8^ut[255&(r^t[i])];return (4294967295^r)>>>0}function xt(e){16==e.T?(Ae(e,e.p),e.p=0,e.T=0):e.T>=8&&(T(e,e.p),e.p>>=8,e.T-=8);}function pt(e){e.T>8?Ae(e,e.p):e.T>0&&T(e,e.p),e.Ce=1+(e.T-1&7),e.p=0,e.T=0;}function An(e,t,n){let r,i,f=[],_=0;for(r=1;r<=be;r++)_=_+n[r-1]<<1,f[r]=_;for(i=0;i<=t;i++){let t=e[i].je;0!=t&&(e[i].Qe=$e(f[t]++,t));}}function C(e,t,n){e.T>Ue-n?(e.p=65535&(e.p|t<<e.T),Ae(e,e.p),e.p=t>>Ue-e.T&65535,e.T+=n-Ue):(e.p=65535&(e.p|t<<e.T),e.T+=n);}function St(e){for(let t=0;t<e.N.length;t++)e.N[t].j=0;for(let t=0;t<e.U.length;t++)e.U[t].j=0;for(let t=0;t<e.De.length;t++)e.De[t].j=0;e.N[ve].j=1,e.ie=e.fe=0,e.H=e._e=0;}function Et(e){if(e.N&&e.N.length>=fe)for(let t=0;t<fe;t++)e.N[t]=Q();else {e.N=[];for(let t=0;t<fe;t++)e.N.push(Q());}if(e.U&&e.U.length>=2*me+1)for(let t=0;t<2*me+1;t++)e.U[t]=Q();else {e.U=[];for(let t=0;t<2*me+1;t++)e.U.push(Q());}if(e.De&&e.De.length>=2*oe+1)for(let t=0;t<2*oe+1;t++)e.De[t]=Q();else {e.De=[];for(let t=0;t<2*oe+1;t++)e.De.push(Q());}e.Ae=new ne(e.N,new re(Fe,a_,ie+1,Te,be)),e.Ie=new ne(e.U,new re(R_,i_,0,me,be)),e.He=new ne(e.De,new re(null,Be,0,oe,7)),e.p=0,e.T=0,e.Ce=0,St(e);}var se=1;function Dn(e,t,n){return n=e.Te[se],e.Te[se]=e.Te[e.Le--],z_(e,t,se),n}function mt(e,t,n,r){return e[t].j<e[n].j||e[t].j==e[n].j&&r[t]<=r[n]}function z_(e,t,n){let r=e.Te[n],i=n<<1;for(;i<=e.Le&&(i<e.Le&&mt(t,e.Te[i+1],e.Te[i],e.ye)&&i++,!mt(t,r,e.Te[i],e.ye));)e.Te[n]=e.Te[i],n=i,i<<=1;e.Te[n]=r;}function yn(e,t){let n,r,i,f,_,l,o=t.M,u=t.Z,a=t.C.W,c=t.C.q,s=t.C.S,h=t.C.$,d=0;for(f=0;f<=be;f++)e.ze[f]=0;for(o[e.Te[e.$e]].je=0,n=e.$e+1;n<fe;n++)r=e.Te[n],f=o[o[r].Ne].je+1,f>h&&(f=h,d++),o[r].je=f,!(r>u)&&(e.ze[f]++,_=0,r>=s&&(_=c[r-s]),l=o[r].j,e.ie+=l*(f+_),a&&(e.fe+=l*(a[r].je+_)));if(0!=d){do{for(f=h-1;0==e.ze[f];)f--;e.ze[f]--,e.ze[f+1]+=2,e.ze[h]--,d-=2;}while(d>0);for(f=h;0!=f;f--)for(r=e.ze[f];0!=r;)i=e.Te[--n],!(i>u)&&(o[i].je!=f&&(e.ie+=(f-o[i].je)*o[i].j,o[i].je=f),r--);}}function L_(e,t){let n,r,i,f=t.M,_=t.C.W,l=t.C.L,o=-1;for(e.Le=0,e.$e=fe,n=0;n<l;n++)0!=f[n].j?(e.Te[++e.Le]=o=n,e.ye[n]=0):f[n].je=0;for(;e.Le<2;)i=e.Te[++e.Le]=o<2?++o:0,f[i].j=1,e.ye[i]=0,e.ie--,_&&(e.fe-=_[i].je);for(t.Z=o,n=z.floor(e.Le/2);n>=1;n--)z_(e,f,n);i=l;do{n=Dn(e,f,n),r=e.Te[se],e.Te[--e.$e]=n,e.Te[--e.$e]=r,f[i].j=f[n].j+f[r].j,e.ye[i]=(e.ye[n]>=e.ye[r]?e.ye[n]:e.ye[r])+1,f[n].Ne=f[r].Ne=i,e.Te[se]=i++,z_(e,f,se);}while(e.Le>=2);e.Te[--e.$e]=e.Te[se],yn(e,t),An(f,t.Z,e.ze);}function bt(e,t,n){let r,i,f=-1,_=t[0].je,l=0,o=7,u=4;for(0==_&&(o=138,u=3),t[n+1].je=65535,r=0;r<=n;r++)i=_,_=t[r+1].je,!(++l<o&&i==_)&&(l<u?e.De[i].j+=l:0!=i?(i!=f&&e.De[i].j++,e.De[t_].j++):l<=10?e.De[n_].j++:e.De[r_].j++,l=0,f=i,0==_?(o=138,u=3):i==_?(o=6,u=3):(o=7,u=4));}function ht(e,t,n){let r,i=-1,f=t[0].je,_=0,l=7,o=4;0==f&&(l=138,o=3);for(let u=0;u<=n;u++)if(r=f,f=t[u+1].je,!(++_<l&&r==f)){if(_<o)do{C(e,e.De[r].Qe,e.De[r].je);}while(0!=--_);else 0!=r?(r!=i&&(C(e,e.De[r].Qe,e.De[r].je),_--),C(e,e.De[t_].Qe,e.De[t_].je),C(e,_-3,2)):_<=10?(C(e,e.De[n_].Qe,e.De[n_].je),C(e,_-3,3)):(C(e,e.De[r_].Qe,e.De[r_].je),C(e,_-11,7));_=0,i=r,0==f?(l=138,o=3):r==f?(l=6,o=3):(l=7,o=4);}}function vn(e){let t;for(bt(e,e.N,e.Ae.Z),bt(e,e.U,e.Ie.Z),L_(e,e.He),t=oe-1;t>=3&&0==e.De[pe[t]].je;t--);return e.ie+=3*(t+1)+5+5+4,t}function In(e,t,n,r){let i;for(C(e,t-257,5),C(e,n-1,5),C(e,r-4,4),i=0;i<r;i++)C(e,e.De[pe[i]].je,3);ht(e,e.N,t-1),ht(e,e.U,n-1);}function Pe(e,t,n,r,i=0){C(e,(ft<<1)+r,3),pt(e),Ae(e,n),Ae(e,~n),n&&t&&M(e.D,e.A,t,i,n),e.A+=n;}function gt(e){xt(e);}function Tt(e){C(e,N_<<1,3),C(e,Fe[ve].Qe,Fe[ve].je),xt(e);}function st(e,t,n){let r,i,f,_,l=0;if(0!=e.H)do{r=255&e.Me[l],r+=(255&e.Me[l+1])<<8,i=e.Me[l+2],l+=3,0==r?C(e,t[i].Qe,t[i].je):(f=__[i],C(e,t[f+ie+1].Qe,t[f+ie+1].je),_=a_[f],0!=_&&(i-=ge[f],C(e,i,_)),r--,f=y_(r),C(e,n[f].Qe,n[f].je),_=i_[f],0!=_&&(r-=Ee[f],C(e,r,_)));}while(l<e.H);C(e,t[ve].Qe,t[ve].je);}function kn(e){let t,n=4093624447;for(t=0;t<=31;t++,n>>=1)if(1&n&&0!=e.N[t].j)return 0;if(0!=e.N[9].j||0!=e.N[10].j||0!=e.N[13].j)return 1;for(t=32;t<ie;t++)if(0!=e.N[t].j)return 1;return 0}function wt(e,t,n,r,i=0){let f,_,l=0;e.ve>0?(2==e.o.t&&(e.o.t=kn(e)),L_(e,e.Ae),L_(e,e.Ie),l=vn(e),f=e.ie+3+7>>3,_=e.fe+3+7>>3,(_<=f||4==e.ke)&&(f=_)):f=_=n+5,n+4<=f&&t?Pe(e,t,n,r,i):_==f?(C(e,(N_<<1)+r,3),st(e,Fe,R_)):(C(e,(lt<<1)+r,3),In(e,e.Ae.Z+1,e.Ie.Z+1,l+1),st(e,e.N,e.U)),St(e),r&&pt(e);}function vt(){let e=je();return e.l=v_(e),e}var Ye=[{Ue:Lt,Re:0,Ye:0,Ee:0,Pe:0},{Ue:U_,Re:4,Ye:4,Ee:8,Pe:4},{Ue:U_,Re:4,Ye:5,Ee:16,Pe:8},{Ue:U_,Re:4,Ye:6,Ee:32,Pe:32},{Ue:Ne,Re:4,Ye:4,Ee:16,Pe:16},{Ue:Ne,Re:8,Ye:16,Ee:32,Pe:32},{Ue:Ne,Re:8,Ye:16,Ee:128,Pe:128},{Ue:Ne,Re:8,Ye:32,Ee:128,Pe:256},{Ue:Ne,Re:32,Ye:128,Ee:258,Pe:1024},{Ue:Ne,Re:32,Ye:258,Ee:258,Pe:4096}];function At(e){return 2*e-(e>4?9:0)}function l_(e,t,n){return ((t<<e.X^n)&e.V)>>>0}function u_(e,t){e.be=l_(e,e.be,e.u[t+(v-1)]);let n=e.J[t&e.F]=e.K[e.be];return e.K[e.be]=t,n}function It(e){e.K[e.O-1]=0,Ve(e.K,0,(e.O-1)*e.K.BYTES_PER_ELEMENT);}function Un(e){let t,n,r=e.h;for(t=e.O;t>0;)t--,n=e.K[t],e.K[t]=n>=r?n-r:0;for(t=r;t>0;)t--,n=e.J[t],e.J[t]=n>=r?n-r:0;}function H_(e,t,n,r){let i=e.avail_in;return i>r&&(i=r),0==i?0:(e.avail_in-=i,M(t,n,e.next_in,e.next_in_index,i),1==e.l.P?e.i=he(e.i,new p(t.buffer,t.byteOffset+n,i),i):2==e.l.P&&(e.i=W(e.i,new p(t.buffer,t.byteOffset+n,i),i)),e.next_in_index+=i,e.total_in+=i,i)}function c_(e){let t,n,r=e.h;do{if(n=e.qe-e.ce-e.ae,0==n&&0==e.ae&&0==e.ce?n=r:-1==n&&n--,e.ae>=r+ye(e)&&(M(e.u,0,e.u,r,r-n),e.Se-=r,e.ae-=r,e.ue-=r,e.le>e.ae&&(e.le=e.ae),Un(e),n+=r),0==e.o.avail_in)break;if(t=H_(e.o,e.u,e.ae+e.ce,n),e.ce+=t,e.ce+e.le>=v){let t=e.ae-e.le;for(e.be=e.u[t],e.be=l_(e,e.be,e.u[t+1]);e.le&&(e.be=l_(e,e.be,e.u[t+v-1]),e.J[t&e.F]=e.K[e.be],e.K[e.be]=t,t++,e.le--,!(e.ce+e.le<v)););}}while(e.ce<ae&&0!=e.o.avail_in);if(e.k<e.qe){let t,n=e.ae+e.ce;e.k<n?(t=e.qe-n,t>He&&(t=He),Ve(e.u,n,t),e.k=n+t):e.k<n+He&&(t=n+He-e.k,t>e.qe-e.k&&(t=e.qe-e.k),Ve(e.u,e.k,t),e.k+=t);}}function kt(e,t,n=8,r=15,i=Ce,f=0){let _=1;if(!e)return -2;if(e.msg="",-1==t&&(t=6),r<0){if(_=0,r<-15)return -2;r=-r;}else r>15&&(_=2,r-=16);if(i<1||i>rt||8!=n||r<8||r>15||t<0||t>9||f<0||f>4||8==r&&1!=_)return -2;8==r&&(r=9);let l=v_(e);return l?(e.l=l,l.o=e,l.Y=42,l.P=_,l.B=void 0,l.v=r,l.h=1<<l.v,l.F=l.h-1,l.G=i+7,l.O=1<<l.G,l.V=l.O-1,l.X=(l.G+v-1)/v,l.u=new p(2*l.h),l.J=new g(l.h),l.K=new g(l.O),l.k=0,l.ee=1<<i+6,l.D=new p(l.ee*ot),l.ne=4*l.ee,l.u&&l.J&&l.K&&l.D?(l.Me=l.D.subarray(l.ee),l.I=l.te+l.ee,l.R=3*(l.ee-1),l.ve=t,l.ke=f,l.We=n,Fn(e)):(l.Y=666,e.msg=D_(-4),P_(e),-4)):-4}function Z_(e){if(null==e)return true;let t=e.l;return !t||t.o!=e||42!=t.Y&&57!=t.Y&&69!=t.Y&&73!=t.Y&&91!=t.Y&&103!=t.Y&&113!=t.Y&&666!=t.Y}function Hn(e){let t;return Z_(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,t=e.l,t.A=0,t.re=t.te,t.P<0&&(t.P=-t.P),t.Y=2==t.P?57:42,e.i=2==t.P?W(0):he(0),t.oe=-2,Et(t),0)}function Bn(e){e.qe=2*e.h,It(e),e.xe=Ye[e.ve].Ye,e.ge=Ye[e.ve].Re,e.me=Ye[e.ve].Ee,e.pe=Ye[e.ve].Pe,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.he=v-1,e.we=0,e.be=0;}function Fn(e){let t=Hn(e);return 0==t&&Bn(e.l),t}function Me(e,t){T(e,t>>8),T(e,255&t);}function q(e){let t,n=e.l;gt(n),t=n.A,t>e.avail_out&&(t=e.avail_out),0!=t&&(M(e.next_out,e.next_out_index,n.D,n.re,t),e.next_out_index+=t,n.re+=t,e.total_out+=t,e.avail_out-=t,n.A-=t,0==n.A&&(n.re=n.te));}function Ie(e,t){let n=e.l;n.B&&n.B.Be&&(e.i=W(e.i,new p(n.D.buffer,n.te+t,n.A-t),n.A-t));}function Nt(e,t){let n,r=e.l;if(Z_(e)||t>5||t<0)return we(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==r.Y&&4!=t)return we(e,-2);if(0==e.avail_out)return we(e,-5);if(n=r.oe,r.oe=t,0!=r.A){if(q(e),0==e.avail_out)return r.oe=$,0}else if(0==e.avail_in&&At(t)<=At(n)&&4!=t)return we(e,-5);if(666==r.Y&&0!=e.avail_in)return we(e,-5);if(42==r.Y&&0==r.P&&(r.Y=113),42==r.Y){let t,n=8+(r.v-8<<4)<<8;if(t=r.ke>=2||r.ve<2?0:r.ve<6?1:6==r.ve?2:3,n|=t<<6,0!=r.ae&&(n|=it),n+=31-n%31,Me(r,n),0!=r.ae&&(Me(r,e.i>>16),Me(r,65535&e.i)),e.i=1,r.Y=113,q(e),0!=r.A)return r.oe=$,0}if(57==r.Y)if(e.i=W(0),T(r,31),T(r,139),T(r,8),r.B)T(r,(r.B.Fe?1:0)+(r.B.Be?2:0)+(null==r.B.Ge?0:4)+(null==r.B.Oe?0:8)+(null==r.B.Ve?0:16)),T(r,255&r.B.Xe),T(r,r.B.Xe>>>8&255),T(r,r.B.Xe>>>16&255),T(r,r.B.Xe>>>24&255),T(r,9==r.ve?2:r.ke>=2||r.ve<2?4:0),T(r,255&r.B.Je),null!=r.B.Ge&&(T(r,255&r.B.Ke),T(r,r.B.Ke>>>8&255)),r.B.Be&&(e.i=W(e.i,r.D,r.A)),r.Ze=0,r.Y=69;else if(T(r,0),T(r,0),T(r,0),T(r,0),T(r,0),T(r,9==r.ve?2:r.ke>=2||r.ve<2?4:0),T(r,at),r.Y=113,q(e),0!=r.A)return r.oe=$,0;if(69==r.Y){if(r.B&&null!=r.B.Ge){let t=r.A,n=(65535&r.B.Ke)-r.Ze;for(;r.A+n>r.ne;){let i=r.ne-r.A;if(M(r.D,r.A,r.B.Ge,r.Ze,i),r.A=r.ne,Ie(e,t),r.Ze+=i,q(e),0!=r.A)return r.oe=$,0;t=0,n-=i;}M(r.D,r.A,r.B.Ge,r.Ze,n),r.A+=n,Ie(e,t),r.Ze=0;}r.Y=73;}if(73==r.Y){if(r.B&&r.B.Oe&&r.B.Oe.length){let t,n=r.A;do{if(r.A==r.ne){if(Ie(e,n),q(e),0!=r.A)return r.oe=$,0;n=0;}t=r.B.Oe[r.Ze++],T(r,t);}while(0!=t);Ie(e,n),r.Ze=0;}r.Y=91;}if(91==r.Y){if(r.B&&r.B.Ve&&r.B.Ve.length){let t,n=r.A;do{if(r.A==r.ne){if(Ie(e,n),q(e),0!=r.A)return r.oe=$,0;n=0;}t=r.B.Ve[r.Ze++],T(r,t);}while(0!=t);Ie(e,n);}r.Y=103;}if(103==r.Y){if(r.B&&r.B.Be){if(r.A+2>r.ne&&(q(e),0!=r.A))return r.oe=$,0;T(r,255&e.i),T(r,e.i>>>8&255),e.i=W(0);}if(r.Y=113,q(e),0!=r.A)return r.oe=$,0}if(0!=e.avail_in||0!=r.ce||0!=t&&666!=r.Y){let n=0==r.ve?Lt(r,t):2==r.ke?Pn(r,t):3==r.ke?Zn(r,t):Ye[r.ve].Ue(r,t);if((2==n||3==n)&&(r.Y=666),0==n||2==n)return 0==e.avail_out&&(r.oe=$),0;if(1==n&&(1==t?Tt(r):5!=t&&(Pe(r,null,0,0),3==t&&(It(r),0==r.ce&&(r.ae=0,r.ue=0,r.le=0))),q(e),0==e.avail_out))return r.oe=$,0}return 4!=t?0:r.P<=0?1:(2==r.P?(T(r,255&e.i),T(r,e.i>>>8&255),T(r,e.i>>>16&255),T(r,e.i>>>24&255),T(r,255&e.total_in),T(r,e.total_in>>>8&255),T(r,e.total_in>>>16&255),T(r,e.total_in>>>24&255)):(Me(r,e.i>>>16&65535),Me(r,65535&e.i)),q(e),r.P>0&&(r.P=-r.P),0!=r.A?0:1)}function P_(e){if(Z_(e))return -2;let t=e.l,n=t.Y;return t.u=Z,t.J=qe,t.K=qe,t.D=Z,t.Me=Z,t.Te=new R(0),t.ye=Z,t.ze=qe,t.N.length=0,t.U.length=0,t.De.length=0,t.B=void 0,t.te=0,t.re=0,t.I=0,113==n?-3:0}function Rt(e,t){let n,r,i=e.pe,f=e.ae,_=e.he,l=e.me,o=e.ae>ye(e)?e.ae-ye(e):0,u=e.J,a=e.F,c=e.u,s=e.ce,h=ee<s?ee:s,d=c[f],w=c[f+1],b=c[f+_-1],v=c[f+_];_>=e.ge&&(i>>=2),l>s&&(l=s);do{if(n=t,c[n+_]!=v||c[n+_-1]!=b||c[n]!=d||c[n+1]!=w)continue;let i=2;for(;i<h&&c[f+i]==c[n+i];)i++;if(r=i,r>_){if(e.Se=t,_=r,r>=l)break;b=c[f+_-1],v=c[f+_];}}while((t=u[t&a])>o&&0!=--i);return _<=s?_:s}function zt(e,t){wt(e,e.u,e.ae-e.ue,t,e.ue),e.ue=e.ae,q(e.o);}function j(e,t){return zt(e,t?1:0),0==e.o.avail_out?t?2:0:null}var Dt=65535;function ke(e,t){return e<t?e:t}function Lt(e,t){let n,r,i,f=ke(e.ne-5,e.h),_=0,l=e.o.avail_in;do{if(n=Dt,i=e.T+42>>3,e.o.avail_out<i||(i=e.o.avail_out-i,r=e.ae-e.ue,n>r+e.o.avail_in&&(n=r+e.o.avail_in),n>i&&(n=i),n<f&&(0==n&&4!=t||0==t||n!=r+e.o.avail_in)))break;_=4==t&&n==r+e.o.avail_in?1:0,Pe(e,null,0,_),e.D[e.A-4]=n,e.D[e.A-3]=n>>8,e.D[e.A-2]=~n,e.D[e.A-1]=~n>>8,q(e.o),r&&(r>n&&(r=n),M(e.o.next_out,e.o.next_out_index,e.u,e.ue,r),e.o.next_out_index+=r,e.o.avail_out-=r,e.o.total_out+=r,e.ue+=r,n-=r),n&&(H_(e.o,e.o.next_out,e.o.next_out_index,n),e.o.next_out_index+=n,e.o.avail_out-=n,e.o.total_out+=n);}while(0==_);if(l-=e.o.avail_in,l){if(l>=e.h){e._e=2;let t=e.o.next_in_index-e.h;M(e.u,0,e.o.next_in,t,e.h),e.ae=e.h,e.le=e.ae;}else e.qe-e.ae<=l&&(e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,e.le>e.ae&&(e.le=e.ae)),M(e.u,e.ae,e.o.next_in,e.o.next_in_index-l,l),e.ae+=l,e.le+=ke(l,e.h-e.le);e.ue=e.ae;}return e.k<e.ae&&(e.k=e.ae),_?(e.Ce=8,3):0!=t&&4!=t&&0==e.o.avail_in&&e.ae==e.ue?1:(i=e.qe-e.ae,e.o.avail_in>i&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,M(e.u,0,e.u,e.h,e.ae),e._e<2&&e._e++,i+=e.h,e.le>e.ae&&(e.le=e.ae)),i>e.o.avail_in&&(i=e.o.avail_in),i&&(H_(e.o,e.u,e.ae,i),e.ae+=i,e.le+=ke(i,e.h-e.le)),e.k<e.ae&&(e.k=e.ae),i=e.T+42>>3,i=ke(e.ne-i,Dt),f=ke(i,e.h),r=e.ae-e.ue,(r>=f||(r||4==t)&&0!=t&&0==e.o.avail_in&&r<=i)&&(n=ke(r,i),_=4==t&&0==e.o.avail_in&&n==r?1:0,Pe(e,e.u,n,_,e.ue),e.ue+=n,q(e.o)),_&&(e.Ce=8),_?2:0)}function U_(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=v&&(n=u_(e,e.ae)),0!=n&&e.ae-n<=ye(e)&&(e.se=Rt(e,n)),e.se>=v)if(e.ae,e.Se,e.se,r=e_(e,e.ae-e.Se,e.se-v),e.ce-=e.se,e.se<=e.xe&&e.ce>=v){e.se--;do{e.ae++,n=u_(e,e.ae);}while(0!=--e.se);e.ae++;}else e.ae+=e.se,e.se=0,e.be=e.u[e.ae],e.be=l_(e,e.be,e.u[e.ae+1]);else r=De(e,e.u[e.ae]),e.ce--,e.ae++;if(r){let t=j(e,false);if(null!=t)return t}}if(e.le=e.ae<v-1?e.ae:v-1,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Ne(e,t){let n,r=false;for(;;){if(e.ce<ae){if(c_(e),e.ce<ae&&0==t)return 0;if(0==e.ce)break}if(n=0,e.ce>=v&&(n=u_(e,e.ae)),e.he=e.se,e.de=e.Se,e.se=v-1,0!=n&&e.he<e.xe&&e.ae-n<=ye(e)&&(e.se=Rt(e,n),e.se<=5&&(1==e.ke||e.se==v&&e.ae-e.Se>nt)&&(e.se=v-1)),e.he>=v&&e.se<=e.he){let t=e.ae+e.ce-v;e.ae,e.de,e.he,r=e_(e,e.ae-1-e.de,e.he-v),e.ce-=e.he-1,e.he-=2;do{++e.ae<=t&&(n=u_(e,e.ae));}while(0!=--e.he);if(e.we=0,e.se=v-1,e.ae++,r){let t=j(e,false);if(null!=t)return t}}else if(e.we){if(r=De(e,e.u[e.ae-1]),r&&zt(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--;}if(e.we&&(r=De(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<v-1?e.ae:v-1,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Zn(e,t){let n,r,i,f;for(;;){if(e.ce<=ee){if(c_(e),e.ce<=ee&&0==t)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=v&&e.ae>0&&(i=e.ae-1,r=e.u[i],r==++i&&r==++i&&r==++i)){f=e.ae+ee;do{}while(r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&r==++i&&i<f);e.se=ee-(f-i),e.se>e.ce&&(e.se=e.ce);}if(e.se>=v?(e.ae,e.ae,e.se,n=e_(e,1,e.se-v),e.ce-=e.se,e.ae+=e.se,e.se=0):(n=De(e,e.u[e.ae]),e.ce--,e.ae++),n){let t=j(e,false);if(null!=t)return t}}if(e.le=0,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}function Pn(e,t){let n=false;for(;;){if(0==e.ce&&(c_(e),0==e.ce)){if(0==t)return 0;break}if(e.se=0,n=De(e,e.u[e.ae]),e.ce--,e.ae++,n){let t=j(e,false);if(null!=t)return t}}if(e.le=0,4==t){return j(e,true)??3}if(e.H){let t=j(e,false);if(null!=t)return t}return 1}var ue=852,d_=592,m_=594,Ot=Ee.map(e=>e+1),Ct=ge.subarray(0,-1).map(e=>e+3),Mn=[16,1,73,1,200,1],Yn=[144,1,72,1,78,1],Ut=Se.map(qt),Ht=Se.map(Vt);Ut.push(64,2),Ht.push(142,2);var Bt=de.slice(0,-2).map(qt),Ft=de.slice(0,-2).map(Vt);Bt.push(...Mn),Ft.push(...Yn);var Zt=new g([...Ct,258,0,0]),Pt=new g([...Ct,3,0,0]),Mt=te(Bt),Yt=te(Ft),Xt=new g([...Ot,0,0]),Wt=new g([...Ot,32769,49153]),Gt=te(Ut),Kt=te(Ht);function qt(e,t){return t%2?e:e+16}function Vt(e,t){return t%2?e:e+128}function Jt(e,t){let n,r=e.l,i=e.next_in_index,f=e.next_out_index,_=e.next_in,l=e.next_out,o=r.u,u=r.p>>>0,a=r.T>>>0,c=r.et,s=r.tt,h=(1<<r.nt)-1,d=(1<<r.rt)-1,w=r.h>>>0,b=r.k>>>0,v=r.m>>>0,k=r.it,g=f-(t-e.avail_out),m=f+(e.avail_out-257),p=i+(e.avail_in-5),x=0,T=0,y=0,z=0;e:do{for(;a<15;){if(!(i<_.length))break e;u+=_[i++]<<a,a+=8;}n=c[u&h];t:for(;;){if(y=n>>>16&255,u>>>=y,a-=y,y=n>>>24,0==y){l[f++]=65535&n;break}if(16&y){if(x=65535&n,y&=15,y){for(;a<y;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}x+=u&(1<<y)-1,u>>>=y,a-=y;}for(;a<15;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}n=s[u&d];n:for(;;){if(y=n>>>16&255,u>>>=y,a-=y,y=n>>>24,16&y){if(T=65535&n,y&=15,y){for(;a<y;){if(!(i<_.length)){r.ft=16200;break e}u+=_[i++]<<a,a+=8;}T+=u&(1<<y)-1,u>>>=y,a-=y;}let t=x,c=f-g;if(T>c){let n=T-c;if(n>b&&k){e.msg="invalid distance too far back",r.ft=16209;break e}if(0==v){if(z=w-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let e=0;e<n;++e)l[f++]=o[z++];t-=n,z=f-T;}else if(v<n){z=w+v-n;let e=n-v;if(!(e<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let t=0;t<e;++t)l[f++]=o[z++];if(t-=e,z=0,v<t){for(let e=0;e<v;++e)l[f++]=o[z++];t-=v,z=f-T;}}else {if(z=v-n,!(n<t)){for(let e=0;e<t;++e)l[f++]=o[z++];continue e}for(let e=0;e<n;++e)l[f++]=o[z++];t-=n,z=f-T;}for(;t>2;)l[f++]=l[z++],l[f++]=l[z++],l[f++]=l[z++],t-=3;t&&(l[f++]=l[z++],t>1&&(l[f++]=l[z++]));}else {for(z=f-T;t>2;)l[f++]=l[z++],l[f++]=l[z++],l[f++]=l[z++],t-=3;t&&(l[f++]=l[z++],t>1&&(l[f++]=l[z++]));}break}if(64&y){e.msg="invalid distance code",r.ft=16209;break e}n=s[(65535&n)+(u&(1<<y)-1)];continue n}break}if(64&y){if(32&y){r.ft=16191;break e}e.msg="invalid literal/length code",r.ft=16209;break e}n=c[(65535&n)+(u&(1<<y)-1)];continue t}}while(i<p&&f<m);let M=a>>3;i-=M,a-=M<<3,u&=(1<<a)-1,e.next_in_index=i,e.next_out_index=f,e.avail_in=i<p?p-i+5:5-(i-p),e.avail_out=f<m?m-f+257:257-(f-m),r.p=u>>>0,r.T=a>>>0;}var Xn=new R(0);function M_(e,t){let n=Xn,r=t?ue+m_:ue+d_;return {...Je(e,0),o:e,ft:16180,_t:false,P:0,lt:false,ot:0,ut:0,ct:0,st:0,u:Z,ht:0,dt:0,Ge:0,et:n,tt:n,nt:0,rt:0,wt:0,bt:0,vt:0,kt:0,gt:n,xt:new g(320),Tt:new g(288),yt:new R(r),zt:0,it:true,Mt:0,Ct:0,Zt:t}}function We(e,t,n){return e<<24|t<<16|n}function b_(e=0,t=0,n=0){return We(e,t,n)}function h_(e=1){return We(64,e,0)}function Qt(e=0){return We(96,e,0)}function Y_(e){return (255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Le=15,Gn={Zt:false,Wt:Zt,qt:Mt,St:Xt,Lt:Gt,$t:20,Dt:257,At:0,It:d_,Ht:false,Qt:true},Kn={Zt:true,Wt:Pt,qt:Yt,St:Wt,Lt:Kt,$t:19,Dt:256,At:-1,It:m_,Ht:true,Qt:false};function Oe(e,t,n,r,i,f,_,l){let o,u,a,c,s,h,d,w,b,v,k,m,p,x,T,y,z,M,C,Z=new g(Le+1),W=new g(Le+1),q=l?Kn:Gn;for(o=0;o<=Le;o++)Z[o]=0;for(u=0;u<n;u++)Z[t[u]]++;for(s=i.jt,c=Le;c>=1&&0==Z[c];c--);if(s>c&&(s=c),0==c)return q.Qt?(T=h_(1),r.jt[0]=T,r.jt[1]=T,i.jt=1,0):-1;for(a=1;a<c&&0==Z[a];a++);for(s<a&&(s=a),w=1,o=1;o<=Le;o++)if(w<<=1,w-=Z[o],w<0)return -1;if(w>0&&(0==e||1!=c))return -1;for(W[1]=0,o=1;o<Le;o++)W[o+1]=W[o]+Z[o];for(u=0;u<n;u++)0!=t[u]&&(f[W[t[u]]++]=u);switch(e){case 0:z=M=f,C=q.$t;break;case 1:z=q.Wt,M=q.qt,C=q.Dt;break;default:z=q.St,M=q.Lt,C=q.At;}if(v=0,u=0,o=a,y=_.jt,h=s,d=0,p=-1,b=1<<s,x=b-1,1==e&&(q.Ht?b>=ue:b>ue)||2==e&&(q.Ht?b>=q.It:b>q.It))return 1;for(;;){T=qn(f,u,o,d,e,z,M,C,q.Zt),k=1<<o-d,m=1<<h,a=m;do{m-=k;let e=(v>>d)+m;r.jt[y+e]=T;}while(0!=m);for(k=1<<o-1;v&k;)k>>=1;if(0!=k?(v&=k-1,v+=k):v=0,u++,0==--Z[o]){if(o==c)break;o=t[f[u]];}if(o>s&&(v&x)!=p){for(0==d&&(d=s),y+=1<<h,h=o-d,w=1<<h;h+d<c&&(w-=Z[h+d],!(w<=0));)h++,w<<=1;if(b+=1<<h,1==e&&(q.Ht?b>=ue:b>ue)||2==e&&(q.Ht?b>=q.It:b>q.It))return 1;p=v&x,r.jt[_.jt+p]=We(h,s,y-_.jt);}}if(0!=v)for(T=h_(o-d);0!=v;){for(0!=d&&(v&x)!=p&&(d=0,o=s,y=_.jt,h=s,T=h_(o)),r.jt[y+(v>>d)]=T,k=1<<o-1;v&k;)k>>=1;0!=k?(v&=k-1,v+=k):v=0;}return _.jt+=b,i.jt=s,0}function qn(e,t,n,r,i,f,_,l,o){let u;if(o?e[t]<l:e[t]+1<l)u=b_(0,n-r,e[t]);else if(o?e[t]>l:e[t]>=l)if(o&&1==i){let i=e[t]-257;u=b_(_[i],n-r,f[i]);}else {let i=o?e[t]:e[t]-l;u=b_(_[i],n-r,f[i]);}else u=Qt(n-r);return u}var p_=new R(0),Qn={Nt:true,Ut:new R(544),Rt:p_,Yt:p_},$n={Nt:true,Ut:new R(544),Rt:p_,Yt:p_};function $t(){let e=je();return e.l=M_(e,false),e}function Ge(e){let t;return !(e&&(t=e.l,!(!t||t.o!=e||t.Zt&&(t.ft<16191||t.ft>16209)||!t.Zt&&(t.ft<16180||t.ft>16211))))}function er(e){let t;return Ge(e)?-2:(t=e.l,e.total_in=e.total_out=t.st=0,e.msg="",t.P&&(e.i=1&t.P),t.ft=t.Zt?16191:16180,t._t=false,t.lt=false,t.ot=-1,t.ut=t.Zt?65536:32768,delete t.B,t.p=0,t.T=0,t.et=t.yt,t.tt=t.yt,t.gt=t.yt,t.it=true,t.Mt=-1,0)}function _r(e){let t;return Ge(e)?-2:(t=e.l,t.h=0,t.k=0,t.m=0,er(e))}function tr(e,t){let n,r;if(Ge(e))return -2;if(r=e.l,t<0){if(t<-16)return -2;n=0,r.Zt=-16==t,t=-t;}else n=5+(t>>4),r.Zt=false,t<48&&(t&=15);let i=r.Zt?16:15;return t&&(t<8||t>i)?-2:(r.u.length>0&&r.v!=t&&(r.u=Z),r.P=n,r.v=t,_r(e))}function en(e,t){let n,r;if(!e)return -2;e.msg="";let i=-16==t;return r=M_(e,i),e.l=r,r.o=e,r.ft=i?16191:16180,n=tr(e,t),n}function nr(e){let t=e.Zt?$n:Qn,n={jt:0};if(t.Nt){let r,i,f;for(r=0;r<144;)e.xt[r++]=8;for(;r<256;)e.xt[r++]=9;for(;r<280;)e.xt[r++]=7;for(;r<288;)e.xt[r++]=8;t.Ut.fill(0),f=t.Ut,t.Rt=f,i=9;let _={jt:f},l={jt:i},o={jt:0};for(Oe(1,e.xt,288,_,l,e.Tt,o,e.Zt),f=_.jt,i=l.jt,e.zt=o.jt,r=0;r<32;)e.xt[r++]=5;i=5;let u=o.jt,a={jt:f},c={jt:i};n.jt=u,Oe(2,e.xt,32,a,c,e.Tt,n,e.Zt),t.Yt=f.slice(u),t.Nt=false;}e.et=t.Rt,e.nt=9,e.tt=t.Yt,e.rt=5,e.zt=n.jt;}function rr(e,t,n){let r=e.l;if(!(r.u&&0!=r.u.length||(r.u=new p(1<<r.v),r.u)))return 1;if(0==r.h&&(r.h=1<<r.v,r.m=0,r.k=0),n>=r.h)M(r.u,0,t,t.length-r.h,r.h),r.m=0,r.k=r.h;else {let e=r.h-r.m;e>n&&(e=n),M(r.u,r.m,t,t.length-n,e),(n-=e)?(M(r.u,0,t,t.length-n,n),r.m=n,r.k=r.h):(r.m+=e,r.m==r.h&&(r.m=0),r.k<r.h&&(r.k+=e));}return 0}var S_=class extends L{constructor(){super("Need more input");}};function _n(e,t){let n,r,i,f,_,l,o,u,a,c,s,h,d,w,b,v,k,g=new p(4);if(Ge(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return -2;l=0,u=0,o=0,a=0,r=Z,i=0,f=Z,_=0,n=e.l,16191==n.ft&&(n.ft=16192),z(),c=l,s=o,k=0;try{for(;;)switch(n.ft){case 16180:if(0==n.P){n.ft=16192;break}if(L(16),2&n.P&&35615==u){0==n.v&&(n.v=15),n.ct=W(0),n.ct=T(n.ct,u),q(),n.ft=16181;break}if(n.B&&(n.B.Et=-1),!(1&n.P)||(($(8)<<8)+(u>>8))%31){e.msg="incorrect header check",n.ft=16209;break}if(8!=$(4)){e.msg="unknown compression method",n.ft=16209;break}if(D(4),v=$(4)+8,0==n.v&&(n.v=v),v>15||v>n.v){e.msg="invalid window size",n.ft=16209;break}n.ut=1<<v,n.ot=0,e.i=n.ct=he(0),n.ft=512&u?16189:16191,q();break;case 16181:if(L(16),n.ot=u,8!=(255&n.ot)){e.msg="unknown compression method",n.ft=16209;break}if(57344&n.ot){e.msg="unknown header flags set",n.ft=16209;break}n.B&&(n.B.Fe=u>>8&1),512&n.ot&&4&n.P&&(n.ct=T(n.ct,u)),q(),n.ft=16182;case 16182:L(32),n.B&&(n.B.Xe=u),512&n.ot&&4&n.P&&(n.ct=y(n.ct,u)),q(),n.ft=16183;case 16183:L(16),n.B&&(n.B.Pt=255&u,n.B.Je=u>>8),512&n.ot&&4&n.P&&(n.ct=T(n.ct,u)),q(),n.ft=16184;case 16184:1024&n.ot?(L(16),n.ht=u,n.B&&(n.B.Ke=u),512&n.ot&&4&n.P&&(n.ct=T(n.ct,u)),q()):n.B&&(n.B.Ge=Z),n.ft=16185;case 16185:if(1024&n.ot&&(h=n.ht,h>l&&(h=l),h&&(n.B&&n.B.Ge&&n.B.Bt&&(v=n.B.Ke-n.ht)<n.B.Bt&&M(n.B.Ge,v,r,i,h),512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,n.ht-=h),n.ht))return m();n.ht=0,n.ft=16186;case 16186:if(2048&n.ot){if(0==l)return m();h=0;do{v=r[i+h++],n.B&&n.B.Ft&&n.ht<n.B.Ft&&(n.B.Oe[n.ht++]=v);}while(v&&h<l);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,v)return m()}else n.B&&(n.B.Oe=Z);n.ht=0,n.ft=16187;case 16187:if(4096&n.ot){if(0==l)return m();h=0;do{v=r[i+h++],n.B&&n.B.Gt&&n.ht<n.B.Gt&&(n.B.Ve[n.ht++]=v);}while(v&&h<l);if(512&n.ot&&4&n.P&&(n.ct=W(n.ct,r.subarray(i,i+h),h)),l-=h,i+=h,v)return m()}else n.B&&(n.B.Ve=Z);n.ft=16188;case 16188:if(512&n.ot){if(L(16),4&n.P&&u!=(65535&n.ct)){e.msg="header crc mismatch",n.ft=16209;break}q();}n.B&&(n.B.Be=n.ot>>9&1,n.B.Et=1),e.i=n.ct=W(0),n.ft=16191;break;case 16189:L(32),e.i=n.ct=Y_(u),q(),n.ft=16190;case 16190:if(!n.lt)return C(),2;e.i=n.ct=he(0),n.ft=16191;case 16191:if(5==t||6==t)return m();case 16192:if(n._t){A(),n.ft=16206;break}switch(L(3),n._t=!!$(1),D(1),$(2)){case 0:n.ft=16193;break;case 1:if(nr(n),n.ft=16199,6==t)return D(2),m();break;case 2:n.ft=16196;break;case 3:e.msg="invalid block type",n.ft=16209;}D(2);break;case 16193:if(A(),L(32),(65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",n.ft=16209;break}if(n.ht=65535&u,q(),n.ft=16194,6==t)return m();case 16194:n.ft=16195;case 16195:if(h=n.ht,h){if(h>l&&(h=l),h>o&&(h=o),0==h)return m();M(f,_,r,i,h),l-=h,i+=h,o-=h,_+=h,n.ht-=h;break}n.ft=16191;break;case 16196:if(L(14),n.bt=$(5)+257,D(5),n.vt=$(5)+1,D(5),n.wt=$(4)+4,D(4),n.bt>286||!n.Zt&&n.vt>30){e.msg=n.Zt?"too many length":"too many length or distance symbols",n.ft=16209;break}n.kt=0,n.ft=16197;case 16197:for(;n.kt<n.wt;)L(3),n.xt[pe[n.kt++]]=$(3),D(3);for(;n.kt<19;)n.xt[pe[n.kt++]]=0;n.gt=n.yt,n.et=n.tt=n.gt,n.nt=7;let c={jt:n.gt},g={jt:n.nt},p={jt:0};if(k=Oe(0,n.xt,19,c,g,n.Tt,p,n.Zt),n.gt=c.jt,n.nt=g.jt,k){e.msg="invalid code lengths set",n.ft=16209;break}n.kt=0,n.ft=16198;case 16198:for(;n.kt<n.bt+n.vt;){for(;w=n.et[$(n.nt)],!((w>>>16&255)<=a);)S();if((65535&w)<16)D(w>>>16&255),n.xt[n.kt++]=65535&w;else {if(16==(65535&w)){if(L(2+(w>>>16&255)),D(w>>>16&255),0==n.kt){e.msg="invalid bit length repeat",n.ft=16209;break}v=n.xt[n.kt-1],h=3+$(2),D(2);}else 17==(65535&w)?(L(3+(w>>>16&255)),D(w>>>16&255),v=0,h=3+$(3),D(3)):(L(7+(w>>>16&255)),D(w>>>16&255),v=0,h=11+$(7),D(7));if(n.kt+h>n.bt+n.vt){e.msg="invalid bit length repeat",n.ft=16209;break}for(;h--;)n.xt[n.kt++]=v;}}if(16209==n.ft)break;if(0==n.xt[256]){e.msg="invalid code -- missing end-of-block",n.ft=16209;break}n.gt=n.yt,n.nt=9;let I={jt:n.gt},H={jt:n.nt},Q={jt:0};k=Oe(1,n.xt,n.bt,I,H,n.Tt,Q,n.Zt),n.gt=I.jt,n.nt=H.jt;let j=Q.jt;if(n.et=n.gt.slice(0,j),k){e.msg="invalid literal/lengths set",n.ft=16209;break}n.rt=6;let N=n.xt.subarray(n.bt,n.bt+n.vt),U={jt:n.gt},R={jt:n.rt},Y={jt:j};if(k=Oe(2,N,n.vt,U,R,n.Tt,Y,n.Zt),n.gt=U.jt,n.rt=R.jt,n.tt=n.gt.slice(j),k){e.msg="invalid distances set",n.ft=16209;break}if(n.ft=16199,6==t)return m();case 16199:n.ft=16200;case 16200:if(!n.Zt&&l>=6&&o>=258){C(),Jt(e,s),z(),16191==n.ft&&(n.Mt=-1);break}for(n.Mt=0;w=n.et[$(n.nt)],!((w>>>16&255)<=a);)S();if(w>>>24&&!(w>>>24&240)){for(b=w;w=n.et[(65535&b)+($((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=a);)S();D(b>>>16&255),n.Mt+=b>>>16&255;}if(D(w>>>16&255),n.Mt+=w>>>16&255,n.ht=65535&w,!(w>>>24)){n.ft=16205;break}if(w>>>24&32){n.Mt=-1,n.ft=16191;break}if(w>>>24&64){e.msg="invalid literal/length code",n.ft=16209;break}n.Ge=w>>>24&(n.Zt?31:15),n.ft=16201;case 16201:n.Ge&&(L(n.Ge),n.ht+=$(n.Ge),D(n.Ge),n.Mt+=n.Ge),n.Ct=n.ht,n.ft=16202;case 16202:for(;w=n.tt[$(n.rt)],!((w>>>16&255)<=a);)S();if(!(w>>>24&240)){for(b=w;w=n.tt[(65535&b)+($((b>>>16&255)+(b>>>24))>>(b>>>16&255))],!((b>>>16&255)+(w>>>16&255)<=a);)S();D(b>>>16&255),n.Mt+=b>>>16&255;}if(D(w>>>16&255),n.Mt+=w>>>16&255,w>>>24&64){e.msg="invalid distance code",n.ft=16209;break}n.dt=65535&w,n.Ge=w>>>24&15,n.ft=16203;case 16203:n.Ge&&(L(n.Ge),n.dt+=$(n.Ge),D(n.Ge),n.Mt+=n.Ge),n.ft=16204;case 16204:if(0==o)return m();if(h=s-o,n.dt>h){if(h=n.dt-h,h>n.k&&n.it){e.msg="invalid distance too far back",n.ft=16209;break}h>n.m?(h-=n.m,d=n.h-h):d=n.m-h,h>n.ht&&(h=n.ht),h>o&&(h=o);for(let e=0;e<h;++e)f[_]=255&n.u[d],++_,++d;}else {d=_-n.dt,h=n.ht,h>o&&(h=o);for(let e=0;e<h;++e)f[_]=f[d],++_,++d;}h>o&&(h=o),o-=h,n.ht-=h,0==n.ht&&(n.ft=16200);break;case 16205:if(0==o)return m();f[_++]=n.ht,o--,n.ft=16200;break;case 16206:if(n.P){if(L(32),s-=o,e.total_out+=s,n.st+=s,4&n.P&&s){let t=f.subarray(_-s,_);e.i=n.ct=x(n.ct,t,s);}if(s=o,4&n.P&&(n.ot?u:Y_(u)>>>0)!=n.ct){e.msg="incorrect data check",n.ft=16209;break}q();}n.ft=16207;case 16207:if(n.P&&n.ot){if(L(32),4&n.P&&u!=(4294967295&n.st)){e.msg="incorrect length check",n.ft=16209;break}q();}n.ft=16208;case 16208:return k=1,m();case 16209:return k=-3,m();case 16210:return -4;default:return -2}}catch(e){if(e instanceof S_)return m();throw e}function m(){if(C(),n.h||s!=e.avail_out&&n.ft<16209&&(n.Zt?n.ft<16208:n.ft<16206)||4!=t){let t=s-e.avail_out;if(rr(e,e.next_out.subarray(e.next_out_index-t,e.next_out_index),t))return n.ft=16210,-4}return c-=e.avail_in,s-=e.avail_out,e.total_in+=c,e.total_out+=s,n.st+=s,4&n.P&&s&&(e.i=n.ct=x(n.ct,e.next_out.subarray(e.next_out_index-s,e.next_out_index),s)),e.t=n.T+(n._t?64:0)+(16191==n.ft?128:0)+(16199==n.ft||16194==n.ft?256:0),(0==c&&0==s&&0==k||4==t&&0==k)&&(k=-5),k}function x(e,t,r){return n.ot?W(e,t,r):he(e,t,r)}function T(e,t){return g[0]=255&t,g[1]=t>>>8&255,W(e,g,2)>>>0}function y(e,t){return g[0]=255&t,g[1]=t>>>8&255,g[2]=t>>>16&255,g[3]=t>>>24&255,W(e,g,4)>>>0}function z(){f=e.next_out,_=e.next_out_index,o=e.avail_out,r=e.next_in,i=e.next_in_index,l=e.avail_in,u=n.p,a=n.T;}function C(){e.next_out=f,e.next_out_index=_,e.avail_out=o,e.next_in=r,e.next_in_index=i,e.avail_in=l,n.p=u,n.T=a;}function q(){u=0,a=0;}function S(){if(0==l)throw new S_;l--,u+=(255&r[i])<<a,i++,u>>>=0,a+=8;}function L(e){for(;a<e;)S();}function $(e){return u&(1<<e)-1}function D(e){u>>>=e,a-=e;}function A(){u>>>=7&a,a-=7&a;}}function tn(e){return Ge(e)?-2:0}var X_=65536,ar=32768,W_=class{constructor(e=16,t=X_){this.Ot=[],this.Vt=e;for(let n=0;n<z.min(e,4);n++)this.Ot.push(new p(t));}acquire(e=X_){for(let t=this.Ot.length-1;t>=0;t--){let n=this.Ot[t];if(n.length>=e)return this.Ot.splice(t,1),n}return new p(e)}release(e){this.Ot.length<this.Vt&&this.Ot.push(e);}};function nn(e){let t=new W_(32,X_),n=null;function r(){let t=e.Xt(),n=e.Jt(t);if(0!=n&&0!=n)throw new L("init failed: "+n);return {o:t}}function i(e){try{t.release(e);}catch{}}return new H({start(){},transform(f,_){n||(n=r());let l=n.o;if(n.Kt)return;let o=0;for(;o<f.length;){let r=z.min(f.length-o,ar),u=f.subarray(o,o+r);for(l.next_in=u,l.next_in_index=0,l.avail_in=u.length;l.avail_in>0;){let r=t.acquire(),f=false;try{l.next_out=r,l.next_out_index=0,l.avail_out=r.length;let i=e.en(l,0),o=r.length-l.avail_out;if(o>0){let e=!1,n={tn:r.subarray(0,o),release:()=>{e||(e=!0,t.release(r));}};f=!0,_.enqueue(n);}if(1==i){n.Kt=!0;break}if(0!=i)throw new L("process error: "+i)}finally{f||i(r);}}if(n.Kt)break;o+=r;}},flush(f){if(n&&n.Kt)return;n||(n=r());let _=n.o;for(;;){let n=t.acquire(),r=false;try{_.next_out=n,_.next_out_index=0,_.avail_out=n.length;let i=e.en(_,4),l=n.length-_.avail_out;if(l>0){let e=!1,i={tn:n.subarray(0,l),release:()=>{e||(e=!0,t.release(n));}};r=!0,f.enqueue(i);}if(1==i)break;if(0!=i)throw new L("finalization error: "+i)}finally{r||i(n);}}let l=e.nn(_);if(0!=l&&0!=l)throw new L("end failed: "+l)}})}function rn(){return new H({start(){},transform(e,t){try{t.enqueue(e.tn.slice(0));}finally{e.release();}},flush(){}})}function ir(e="deflate",t){let n="gzip"==e?31:"deflate-raw"==e?-15:15,r=t&&"number"==typeof t.level?t.level:-1;return nn({Xt:()=>vt(),Jt:e=>kt(e,r,8,n,8,0),en:Nt,nn:P_})}function or(e="deflate"){let t="gzip"==e?31:"deflate-raw"==e?-15:"deflate64-raw"==e?-16:15;return nn({Xt:()=>$t(),Jt:e=>en(e,t),en:_n,nn:tn})}var E_=class{constructor(e="deflate",t){let n=ir(e,t);this.writable=n.writable,this.readable=n.readable.pipeThrough(rn());}},g_=class{constructor(e="deflate"){let t=or(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(rn());}};
7300
7485
 
7301
7486
  /*
7302
7487
  Copyright (c) 2025 Gildas Lormeau. All rights reserved.
@@ -10016,7 +10201,7 @@ function getMimeTypes() {
10016
10201
  */
10017
10202
 
10018
10203
 
10019
- i(setDefaultConfiguration);
10204
+ N(setDefaultConfiguration);
10020
10205
 
10021
10206
  exports.BlobReader = BlobReader;
10022
10207
  exports.BlobWriter = BlobWriter;
@@ -10032,6 +10217,8 @@ exports.ERR_EOCDR_NOT_FOUND = ERR_EOCDR_NOT_FOUND;
10032
10217
  exports.ERR_EXTRAFIELD_ZIP64_NOT_FOUND = ERR_EXTRAFIELD_ZIP64_NOT_FOUND;
10033
10218
  exports.ERR_HTTP_RANGE = ERR_HTTP_RANGE;
10034
10219
  exports.ERR_HTTP_RESOURCE_CHANGED = ERR_HTTP_RESOURCE_CHANGED;
10220
+ exports.ERR_INVALID_CODEC_DEFINITION = ERR_INVALID_CODEC_DEFINITION;
10221
+ exports.ERR_INVALID_CODEC_MODULE = ERR_INVALID_CODEC_MODULE;
10035
10222
  exports.ERR_INVALID_COMMENT = ERR_INVALID_COMMENT;
10036
10223
  exports.ERR_INVALID_COMPRESSED_DATA = ERR_INVALID_COMPRESSED_DATA;
10037
10224
  exports.ERR_INVALID_ENCRYPTION_STRENGTH = ERR_INVALID_ENCRYPTION_STRENGTH;
@@ -10046,11 +10233,13 @@ exports.ERR_INVALID_VERSION = ERR_INVALID_VERSION;
10046
10233
  exports.ERR_ITERATOR_COMPLETED_TOO_SOON = ERR_ITERATOR_COMPLETED_TOO_SOON;
10047
10234
  exports.ERR_LOCAL_FILE_HEADER_NOT_FOUND = ERR_LOCAL_FILE_HEADER_NOT_FOUND;
10048
10235
  exports.ERR_OVERLAPPING_ENTRY = ERR_OVERLAPPING_ENTRY;
10236
+ exports.ERR_RESERVED_COMPRESSION_METHOD = ERR_RESERVED_COMPRESSION_METHOD;
10049
10237
  exports.ERR_SPLIT_ZIP_FILE = ERR_SPLIT_ZIP_FILE;
10050
10238
  exports.ERR_UNDEFINED_READER = ERR_UNDEFINED_READER;
10051
10239
  exports.ERR_UNDEFINED_UNCOMPRESSED_SIZE = ERR_UNDEFINED_UNCOMPRESSED_SIZE;
10052
10240
  exports.ERR_UNSUPPORTED_COMPRESSION = ERR_UNSUPPORTED_COMPRESSION$1;
10053
10241
  exports.ERR_UNSUPPORTED_ENCRYPTION = ERR_UNSUPPORTED_ENCRYPTION;
10242
+ exports.ERR_UNSUPPORTED_ENCRYPTION_USDZ = ERR_UNSUPPORTED_ENCRYPTION_USDZ;
10054
10243
  exports.ERR_UNSUPPORTED_FORMAT = ERR_UNSUPPORTED_FORMAT;
10055
10244
  exports.ERR_WRITER_NOT_INITIALIZED = ERR_WRITER_NOT_INITIALIZED;
10056
10245
  exports.ERR_ZIP_NOT_EMPTY = ERR_ZIP_NOT_EMPTY;
@@ -10074,5 +10263,7 @@ exports.createOPFSTempStream = createOPFSTempStream;
10074
10263
  exports.createSyncAccessHandleTempStream = createSyncAccessHandleTempStream;
10075
10264
  exports.fs = fs;
10076
10265
  exports.getMimeType = getMimeType;
10266
+ exports.registerCodec = registerCodec;
10077
10267
  exports.resetConfiguration = resetConfiguration;
10078
10268
  exports.terminateWorkers = terminateWorkers;
10269
+ exports.unregisterCodec = unregisterCodec;