@babylonjs/inspector 9.9.0 → 9.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/lib/browser-CANgtOiM.js +1277 -0
  2. package/lib/browser-CANgtOiM.js.map +1 -0
  3. package/lib/components/properties/audio/audioV2Properties.d.ts +93 -0
  4. package/lib/components/properties/audio/audioV2SpatialProperties.d.ts +12 -0
  5. package/lib/components/properties/materials/materialTextureDebugPropertyLine.d.ts +18 -0
  6. package/lib/{extensionsListService-DTrjNf_v.js → extensionsListService-j6viqje8.js} +13 -2
  7. package/lib/{extensionsListService-DTrjNf_v.js.map → extensionsListService-j6viqje8.js.map} +1 -1
  8. package/lib/{index-PYblOaAV.js → index--oJsOVVX.js} +2775 -384
  9. package/lib/index--oJsOVVX.js.map +1 -0
  10. package/lib/index.js +12 -1
  11. package/lib/index.js.map +1 -1
  12. package/lib/projects/overrideEntry.d.ts +36 -0
  13. package/lib/projects/overrideManager.d.ts +176 -0
  14. package/lib/projects/projectFile.d.ts +143 -0
  15. package/lib/{quickCreateToolsService-8d6rBO-A.js → quickCreateToolsService-eZ4MCuJ2.js} +13 -2
  16. package/lib/{quickCreateToolsService-8d6rBO-A.js.map → quickCreateToolsService-eZ4MCuJ2.js.map} +1 -1
  17. package/lib/{reflectorService-B7LcD1Sn.js → reflectorService-2dP-GJrK.js} +13 -2
  18. package/lib/{reflectorService-B7LcD1Sn.js.map → reflectorService-2dP-GJrK.js.map} +1 -1
  19. package/lib/services/gizmoService.d.ts +9 -0
  20. package/lib/services/overrideCaptureService.d.ts +16 -0
  21. package/lib/services/panes/{smartAssetsService.d.ts → babylonProjectAuthoringService.d.ts} +4 -2
  22. package/lib/services/panes/properties/audioPropertiesService.d.ts +2 -1
  23. package/lib/services/panes/scene/audioV2ExplorerService.d.ts +6 -0
  24. package/lib/services/panes/scene/defaultSectionsMetadata.d.ts +2 -1
  25. package/package.json +1 -1
  26. package/lib/index-PYblOaAV.js.map +0 -1
  27. package/lib/services/panes/tools/smartAssetToolsService.d.ts +0 -10
@@ -0,0 +1,1277 @@
1
+ // DEFLATE is a complex format; to read this code, you should probably check the RFC first:
2
+ // https://tools.ietf.org/html/rfc1951
3
+ // You may also wish to take a look at the guide I made about this program:
4
+ // https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad
5
+ // Some of the following code is similar to that of UZIP.js:
6
+ // https://github.com/photopea/UZIP.js
7
+ // However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.
8
+ // Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint
9
+ // is better for memory in most engines (I *think*).
10
+ var ch2 = {};
11
+ var wk = (function (c, id, msg, transfer, cb) {
12
+ var w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([
13
+ c + ';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'
14
+ ], { type: 'text/javascript' }))));
15
+ w.onmessage = function (e) {
16
+ var d = e.data, ed = d.$e$;
17
+ if (ed) {
18
+ var err = new Error(ed[0]);
19
+ err['code'] = ed[1];
20
+ err.stack = ed[2];
21
+ cb(err, null);
22
+ }
23
+ else
24
+ cb(null, d);
25
+ };
26
+ w.postMessage(msg, transfer);
27
+ return w;
28
+ });
29
+
30
+ // aliases for shorter compressed code (most minifers don't do this)
31
+ var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;
32
+ // fixed length extra bits
33
+ var fleb = new u8([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, /* unused */ 0, 0, /* impossible */ 0]);
34
+ // fixed distance extra bits
35
+ var fdeb = new u8([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, /* unused */ 0, 0]);
36
+ // code length index map
37
+ var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
38
+ // get base, reverse index map from extra bits
39
+ var freb = function (eb, start) {
40
+ var b = new u16(31);
41
+ for (var i = 0; i < 31; ++i) {
42
+ b[i] = start += 1 << eb[i - 1];
43
+ }
44
+ // numbers here are at max 18 bits
45
+ var r = new i32(b[30]);
46
+ for (var i = 1; i < 30; ++i) {
47
+ for (var j = b[i]; j < b[i + 1]; ++j) {
48
+ r[j] = ((j - b[i]) << 5) | i;
49
+ }
50
+ }
51
+ return { b: b, r: r };
52
+ };
53
+ var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;
54
+ // we can ignore the fact that the other numbers are wrong; they never happen anyway
55
+ fl[28] = 258, revfl[258] = 28;
56
+ var _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r;
57
+ // map of value to reverse (assuming 16 bits)
58
+ var rev = new u16(32768);
59
+ for (var i = 0; i < 32768; ++i) {
60
+ // reverse table algorithm from SO
61
+ var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);
62
+ x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);
63
+ x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);
64
+ rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;
65
+ }
66
+ // create huffman tree from u8 "map": index -> code length for code index
67
+ // mb (max bits) must be at most 15
68
+ // TODO: optimize/split up?
69
+ var hMap = (function (cd, mb, r) {
70
+ var s = cd.length;
71
+ // index
72
+ var i = 0;
73
+ // u16 "map": index -> # of codes with bit length = index
74
+ var l = new u16(mb);
75
+ // length of cd must be 288 (total # of codes)
76
+ for (; i < s; ++i) {
77
+ if (cd[i])
78
+ ++l[cd[i] - 1];
79
+ }
80
+ // u16 "map": index -> minimum code for bit length = index
81
+ var le = new u16(mb);
82
+ for (i = 1; i < mb; ++i) {
83
+ le[i] = (le[i - 1] + l[i - 1]) << 1;
84
+ }
85
+ var co;
86
+ if (r) {
87
+ // u16 "map": index -> number of actual bits, symbol for code
88
+ co = new u16(1 << mb);
89
+ // bits to remove for reverser
90
+ var rvb = 15 - mb;
91
+ for (i = 0; i < s; ++i) {
92
+ // ignore 0 lengths
93
+ if (cd[i]) {
94
+ // num encoding both symbol and bits read
95
+ var sv = (i << 4) | cd[i];
96
+ // free bits
97
+ var r_1 = mb - cd[i];
98
+ // start value
99
+ var v = le[cd[i] - 1]++ << r_1;
100
+ // m is end value
101
+ for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {
102
+ // every 16 bit value starting with the code yields the same result
103
+ co[rev[v] >> rvb] = sv;
104
+ }
105
+ }
106
+ }
107
+ }
108
+ else {
109
+ co = new u16(s);
110
+ for (i = 0; i < s; ++i) {
111
+ if (cd[i]) {
112
+ co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);
113
+ }
114
+ }
115
+ }
116
+ return co;
117
+ });
118
+ // fixed length tree
119
+ var flt = new u8(288);
120
+ for (var i = 0; i < 144; ++i)
121
+ flt[i] = 8;
122
+ for (var i = 144; i < 256; ++i)
123
+ flt[i] = 9;
124
+ for (var i = 256; i < 280; ++i)
125
+ flt[i] = 7;
126
+ for (var i = 280; i < 288; ++i)
127
+ flt[i] = 8;
128
+ // fixed distance tree
129
+ var fdt = new u8(32);
130
+ for (var i = 0; i < 32; ++i)
131
+ fdt[i] = 5;
132
+ // fixed length map
133
+ var flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);
134
+ // fixed distance map
135
+ var fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);
136
+ // find max of array
137
+ var max = function (a) {
138
+ var m = a[0];
139
+ for (var i = 1; i < a.length; ++i) {
140
+ if (a[i] > m)
141
+ m = a[i];
142
+ }
143
+ return m;
144
+ };
145
+ // read d, starting at bit p and mask with m
146
+ var bits = function (d, p, m) {
147
+ var o = (p / 8) | 0;
148
+ return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;
149
+ };
150
+ // read d, starting at bit p continuing for at least 16 bits
151
+ var bits16 = function (d, p) {
152
+ var o = (p / 8) | 0;
153
+ return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));
154
+ };
155
+ // get end of byte
156
+ var shft = function (p) { return ((p + 7) / 8) | 0; };
157
+ // typed array slice - allows garbage collector to free original reference,
158
+ // while being more compatible than .slice
159
+ var slc = function (v, s, e) {
160
+ if (s == null || s < 0)
161
+ s = 0;
162
+ if (e == null || e > v.length)
163
+ e = v.length;
164
+ // can't use .constructor in case user-supplied
165
+ return new u8(v.subarray(s, e));
166
+ };
167
+ // error codes
168
+ var ec = [
169
+ 'unexpected EOF',
170
+ 'invalid block type',
171
+ 'invalid length/literal',
172
+ 'invalid distance',
173
+ 'stream finished',
174
+ 'no stream handler',
175
+ , // determined by compression function
176
+ 'no callback',
177
+ 'invalid UTF-8 data',
178
+ 'extra field too long',
179
+ 'date not in range 1980-2099',
180
+ 'filename too long',
181
+ 'stream finishing',
182
+ 'invalid zip data'
183
+ // determined by unknown compression method
184
+ ];
185
+ var err = function (ind, msg, nt) {
186
+ var e = new Error(msg || ec[ind]);
187
+ e.code = ind;
188
+ if (Error.captureStackTrace)
189
+ Error.captureStackTrace(e, err);
190
+ if (!nt)
191
+ throw e;
192
+ return e;
193
+ };
194
+ // expands raw DEFLATE data
195
+ var inflt = function (dat, st, buf, dict) {
196
+ // source length dict length
197
+ var sl = dat.length, dl = dict ? dict.length : 0;
198
+ if (!sl || st.f && !st.l)
199
+ return buf || new u8(0);
200
+ var noBuf = !buf;
201
+ // have to estimate size
202
+ var resize = noBuf || st.i != 2;
203
+ // no state
204
+ var noSt = st.i;
205
+ // Assumes roughly 33% compression ratio average
206
+ if (noBuf)
207
+ buf = new u8(sl * 3);
208
+ // ensure buffer can fit at least l elements
209
+ var cbuf = function (l) {
210
+ var bl = buf.length;
211
+ // need to increase size to fit
212
+ if (l > bl) {
213
+ // Double or set to necessary, whichever is greater
214
+ var nbuf = new u8(Math.max(bl * 2, l));
215
+ nbuf.set(buf);
216
+ buf = nbuf;
217
+ }
218
+ };
219
+ // last chunk bitpos bytes
220
+ var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
221
+ // total bits
222
+ var tbts = sl * 8;
223
+ do {
224
+ if (!lm) {
225
+ // BFINAL - this is only 1 when last chunk is next
226
+ final = bits(dat, pos, 1);
227
+ // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman
228
+ var type = bits(dat, pos + 1, 3);
229
+ pos += 3;
230
+ if (!type) {
231
+ // go to end of byte boundary
232
+ var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;
233
+ if (t > sl) {
234
+ if (noSt)
235
+ err(0);
236
+ break;
237
+ }
238
+ // ensure size
239
+ if (resize)
240
+ cbuf(bt + l);
241
+ // Copy over uncompressed data
242
+ buf.set(dat.subarray(s, t), bt);
243
+ // Get new bitpos, update byte count
244
+ st.b = bt += l, st.p = pos = t * 8, st.f = final;
245
+ continue;
246
+ }
247
+ else if (type == 1)
248
+ lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
249
+ else if (type == 2) {
250
+ // literal lengths
251
+ var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
252
+ var tl = hLit + bits(dat, pos + 5, 31) + 1;
253
+ pos += 14;
254
+ // length+distance tree
255
+ var ldt = new u8(tl);
256
+ // code length tree
257
+ var clt = new u8(19);
258
+ for (var i = 0; i < hcLen; ++i) {
259
+ // use index map to get real code
260
+ clt[clim[i]] = bits(dat, pos + i * 3, 7);
261
+ }
262
+ pos += hcLen * 3;
263
+ // code lengths bits
264
+ var clb = max(clt), clbmsk = (1 << clb) - 1;
265
+ // code lengths map
266
+ var clm = hMap(clt, clb, 1);
267
+ for (var i = 0; i < tl;) {
268
+ var r = clm[bits(dat, pos, clbmsk)];
269
+ // bits read
270
+ pos += r & 15;
271
+ // symbol
272
+ var s = r >> 4;
273
+ // code length to copy
274
+ if (s < 16) {
275
+ ldt[i++] = s;
276
+ }
277
+ else {
278
+ // copy count
279
+ var c = 0, n = 0;
280
+ if (s == 16)
281
+ n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];
282
+ else if (s == 17)
283
+ n = 3 + bits(dat, pos, 7), pos += 3;
284
+ else if (s == 18)
285
+ n = 11 + bits(dat, pos, 127), pos += 7;
286
+ while (n--)
287
+ ldt[i++] = c;
288
+ }
289
+ }
290
+ // length tree distance tree
291
+ var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
292
+ // max length bits
293
+ lbt = max(lt);
294
+ // max dist bits
295
+ dbt = max(dt);
296
+ lm = hMap(lt, lbt, 1);
297
+ dm = hMap(dt, dbt, 1);
298
+ }
299
+ else
300
+ err(1);
301
+ if (pos > tbts) {
302
+ if (noSt)
303
+ err(0);
304
+ break;
305
+ }
306
+ }
307
+ // Make sure the buffer can hold this + the largest possible addition
308
+ // Maximum chunk size (practically, theoretically infinite) is 2^17
309
+ if (resize)
310
+ cbuf(bt + 131072);
311
+ var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
312
+ var lpos = pos;
313
+ for (;; lpos = pos) {
314
+ // bits read, code
315
+ var c = lm[bits16(dat, pos) & lms], sym = c >> 4;
316
+ pos += c & 15;
317
+ if (pos > tbts) {
318
+ if (noSt)
319
+ err(0);
320
+ break;
321
+ }
322
+ if (!c)
323
+ err(2);
324
+ if (sym < 256)
325
+ buf[bt++] = sym;
326
+ else if (sym == 256) {
327
+ lpos = pos, lm = null;
328
+ break;
329
+ }
330
+ else {
331
+ var add = sym - 254;
332
+ // no extra bits needed if less
333
+ if (sym > 264) {
334
+ // index
335
+ var i = sym - 257, b = fleb[i];
336
+ add = bits(dat, pos, (1 << b) - 1) + fl[i];
337
+ pos += b;
338
+ }
339
+ // dist
340
+ var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;
341
+ if (!d)
342
+ err(3);
343
+ pos += d & 15;
344
+ var dt = fd[dsym];
345
+ if (dsym > 3) {
346
+ var b = fdeb[dsym];
347
+ dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
348
+ }
349
+ if (pos > tbts) {
350
+ if (noSt)
351
+ err(0);
352
+ break;
353
+ }
354
+ if (resize)
355
+ cbuf(bt + 131072);
356
+ var end = bt + add;
357
+ if (bt < dt) {
358
+ var shift = dl - dt, dend = Math.min(dt, end);
359
+ if (shift + bt < 0)
360
+ err(3);
361
+ for (; bt < dend; ++bt)
362
+ buf[bt] = dict[shift + bt];
363
+ }
364
+ for (; bt < end; ++bt)
365
+ buf[bt] = buf[bt - dt];
366
+ }
367
+ }
368
+ st.l = lm, st.p = lpos, st.b = bt, st.f = final;
369
+ if (lm)
370
+ final = 1, st.m = lbt, st.d = dm, st.n = dbt;
371
+ } while (!final);
372
+ // don't reallocate for streams or user buffers
373
+ return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);
374
+ };
375
+ // starting at p, write the minimum number of bits that can hold v to d
376
+ var wbits = function (d, p, v) {
377
+ v <<= p & 7;
378
+ var o = (p / 8) | 0;
379
+ d[o] |= v;
380
+ d[o + 1] |= v >> 8;
381
+ };
382
+ // starting at p, write the minimum number of bits (>8) that can hold v to d
383
+ var wbits16 = function (d, p, v) {
384
+ v <<= p & 7;
385
+ var o = (p / 8) | 0;
386
+ d[o] |= v;
387
+ d[o + 1] |= v >> 8;
388
+ d[o + 2] |= v >> 16;
389
+ };
390
+ // creates code lengths from a frequency table
391
+ var hTree = function (d, mb) {
392
+ // Need extra info to make a tree
393
+ var t = [];
394
+ for (var i = 0; i < d.length; ++i) {
395
+ if (d[i])
396
+ t.push({ s: i, f: d[i] });
397
+ }
398
+ var s = t.length;
399
+ var t2 = t.slice();
400
+ if (!s)
401
+ return { t: et, l: 0 };
402
+ if (s == 1) {
403
+ var v = new u8(t[0].s + 1);
404
+ v[t[0].s] = 1;
405
+ return { t: v, l: 1 };
406
+ }
407
+ t.sort(function (a, b) { return a.f - b.f; });
408
+ // after i2 reaches last ind, will be stopped
409
+ // freq must be greater than largest possible number of symbols
410
+ t.push({ s: -1, f: 25001 });
411
+ var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;
412
+ t[0] = { s: -1, f: l.f + r.f, l: l, r: r };
413
+ // efficient algorithm from UZIP.js
414
+ // i0 is lookbehind, i2 is lookahead - after processing two low-freq
415
+ // symbols that combined have high freq, will start processing i2 (high-freq,
416
+ // non-composite) symbols instead
417
+ // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/
418
+ while (i1 != s - 1) {
419
+ l = t[t[i0].f < t[i2].f ? i0++ : i2++];
420
+ r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];
421
+ t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };
422
+ }
423
+ var maxSym = t2[0].s;
424
+ for (var i = 1; i < s; ++i) {
425
+ if (t2[i].s > maxSym)
426
+ maxSym = t2[i].s;
427
+ }
428
+ // code lengths
429
+ var tr = new u16(maxSym + 1);
430
+ // max bits in tree
431
+ var mbt = ln(t[i1 - 1], tr, 0);
432
+ if (mbt > mb) {
433
+ // more algorithms from UZIP.js
434
+ // TODO: find out how this code works (debt)
435
+ // ind debt
436
+ var i = 0, dt = 0;
437
+ // left cost
438
+ var lft = mbt - mb, cst = 1 << lft;
439
+ t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });
440
+ for (; i < s; ++i) {
441
+ var i2_1 = t2[i].s;
442
+ if (tr[i2_1] > mb) {
443
+ dt += cst - (1 << (mbt - tr[i2_1]));
444
+ tr[i2_1] = mb;
445
+ }
446
+ else
447
+ break;
448
+ }
449
+ dt >>= lft;
450
+ while (dt > 0) {
451
+ var i2_2 = t2[i].s;
452
+ if (tr[i2_2] < mb)
453
+ dt -= 1 << (mb - tr[i2_2]++ - 1);
454
+ else
455
+ ++i;
456
+ }
457
+ for (; i >= 0 && dt; --i) {
458
+ var i2_3 = t2[i].s;
459
+ if (tr[i2_3] == mb) {
460
+ --tr[i2_3];
461
+ ++dt;
462
+ }
463
+ }
464
+ mbt = mb;
465
+ }
466
+ return { t: new u8(tr), l: mbt };
467
+ };
468
+ // get the max length and assign length codes
469
+ var ln = function (n, l, d) {
470
+ return n.s == -1
471
+ ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))
472
+ : (l[n.s] = d);
473
+ };
474
+ // length codes generation
475
+ var lc = function (c) {
476
+ var s = c.length;
477
+ // Note that the semicolon was intentional
478
+ while (s && !c[--s])
479
+ ;
480
+ var cl = new u16(++s);
481
+ // ind num streak
482
+ var cli = 0, cln = c[0], cls = 1;
483
+ var w = function (v) { cl[cli++] = v; };
484
+ for (var i = 1; i <= s; ++i) {
485
+ if (c[i] == cln && i != s)
486
+ ++cls;
487
+ else {
488
+ if (!cln && cls > 2) {
489
+ for (; cls > 138; cls -= 138)
490
+ w(32754);
491
+ if (cls > 2) {
492
+ w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);
493
+ cls = 0;
494
+ }
495
+ }
496
+ else if (cls > 3) {
497
+ w(cln), --cls;
498
+ for (; cls > 6; cls -= 6)
499
+ w(8304);
500
+ if (cls > 2)
501
+ w(((cls - 3) << 5) | 8208), cls = 0;
502
+ }
503
+ while (cls--)
504
+ w(cln);
505
+ cls = 1;
506
+ cln = c[i];
507
+ }
508
+ }
509
+ return { c: cl.subarray(0, cli), n: s };
510
+ };
511
+ // calculate the length of output from tree, code lengths
512
+ var clen = function (cf, cl) {
513
+ var l = 0;
514
+ for (var i = 0; i < cl.length; ++i)
515
+ l += cf[i] * cl[i];
516
+ return l;
517
+ };
518
+ // writes a fixed block
519
+ // returns the new bit pos
520
+ var wfblk = function (out, pos, dat) {
521
+ // no need to write 00 as type: TypedArray defaults to 0
522
+ var s = dat.length;
523
+ var o = shft(pos + 2);
524
+ out[o] = s & 255;
525
+ out[o + 1] = s >> 8;
526
+ out[o + 2] = out[o] ^ 255;
527
+ out[o + 3] = out[o + 1] ^ 255;
528
+ for (var i = 0; i < s; ++i)
529
+ out[o + i + 4] = dat[i];
530
+ return (o + 4 + s) * 8;
531
+ };
532
+ // writes a block
533
+ var wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
534
+ wbits(out, p++, final);
535
+ ++lf[256];
536
+ var _a = hTree(lf, 15), dlt = _a.t, mlb = _a.l;
537
+ var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l;
538
+ var _c = lc(dlt), lclt = _c.c, nlc = _c.n;
539
+ var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;
540
+ var lcfreq = new u16(19);
541
+ for (var i = 0; i < lclt.length; ++i)
542
+ ++lcfreq[lclt[i] & 31];
543
+ for (var i = 0; i < lcdt.length; ++i)
544
+ ++lcfreq[lcdt[i] & 31];
545
+ var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l;
546
+ var nlcc = 19;
547
+ for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)
548
+ ;
549
+ var flen = (bl + 5) << 3;
550
+ var ftlen = clen(lf, flt) + clen(df, fdt) + eb;
551
+ var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18];
552
+ if (bs >= 0 && flen <= ftlen && flen <= dtlen)
553
+ return wfblk(out, p, dat.subarray(bs, bs + bl));
554
+ var lm, ll, dm, dl;
555
+ wbits(out, p, 1 + (dtlen < ftlen)), p += 2;
556
+ if (dtlen < ftlen) {
557
+ lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;
558
+ var llm = hMap(lct, mlcb, 0);
559
+ wbits(out, p, nlc - 257);
560
+ wbits(out, p + 5, ndc - 1);
561
+ wbits(out, p + 10, nlcc - 4);
562
+ p += 14;
563
+ for (var i = 0; i < nlcc; ++i)
564
+ wbits(out, p + 3 * i, lct[clim[i]]);
565
+ p += 3 * nlcc;
566
+ var lcts = [lclt, lcdt];
567
+ for (var it = 0; it < 2; ++it) {
568
+ var clct = lcts[it];
569
+ for (var i = 0; i < clct.length; ++i) {
570
+ var len = clct[i] & 31;
571
+ wbits(out, p, llm[len]), p += lct[len];
572
+ if (len > 15)
573
+ wbits(out, p, (clct[i] >> 5) & 127), p += clct[i] >> 12;
574
+ }
575
+ }
576
+ }
577
+ else {
578
+ lm = flm, ll = flt, dm = fdm, dl = fdt;
579
+ }
580
+ for (var i = 0; i < li; ++i) {
581
+ var sym = syms[i];
582
+ if (sym > 255) {
583
+ var len = (sym >> 18) & 31;
584
+ wbits16(out, p, lm[len + 257]), p += ll[len + 257];
585
+ if (len > 7)
586
+ wbits(out, p, (sym >> 23) & 31), p += fleb[len];
587
+ var dst = sym & 31;
588
+ wbits16(out, p, dm[dst]), p += dl[dst];
589
+ if (dst > 3)
590
+ wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst];
591
+ }
592
+ else {
593
+ wbits16(out, p, lm[sym]), p += ll[sym];
594
+ }
595
+ }
596
+ wbits16(out, p, lm[256]);
597
+ return p + ll[256];
598
+ };
599
+ // deflate options (nice << 13) | chain
600
+ var deo = /*#__PURE__*/ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);
601
+ // empty
602
+ var et = /*#__PURE__*/ new u8(0);
603
+ // compresses data into a raw DEFLATE buffer
604
+ var dflt = function (dat, lvl, plvl, pre, post, st) {
605
+ var s = st.z || dat.length;
606
+ var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post);
607
+ // writing to this writes to the output buffer
608
+ var w = o.subarray(pre, o.length - post);
609
+ var lst = st.l;
610
+ var pos = (st.r || 0) & 7;
611
+ if (lvl) {
612
+ if (pos)
613
+ w[0] = st.r >> 3;
614
+ var opt = deo[lvl - 1];
615
+ var n = opt >> 13, c = opt & 8191;
616
+ var msk_1 = (1 << plvl) - 1;
617
+ // prev 2-byte val map curr 2-byte val map
618
+ var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1);
619
+ var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;
620
+ var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };
621
+ // 24576 is an arbitrary number of maximum symbols per block
622
+ // 424 buffer for last block
623
+ var syms = new i32(25000);
624
+ // length/literal freq distance freq
625
+ var lf = new u16(288), df = new u16(32);
626
+ // l/lcnt exbits index l/lind waitdx blkpos
627
+ var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0;
628
+ for (; i + 2 < s; ++i) {
629
+ // hash value
630
+ var hv = hsh(i);
631
+ // index mod 32768 previous index mod
632
+ var imod = i & 32767, pimod = head[hv];
633
+ prev[imod] = pimod;
634
+ head[hv] = imod;
635
+ // We always should modify head and prev, but only add symbols if
636
+ // this data is not yet processed ("wait" for wait index)
637
+ if (wi <= i) {
638
+ // bytes remaining
639
+ var rem = s - i;
640
+ if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) {
641
+ pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);
642
+ li = lc_1 = eb = 0, bs = i;
643
+ for (var j = 0; j < 286; ++j)
644
+ lf[j] = 0;
645
+ for (var j = 0; j < 30; ++j)
646
+ df[j] = 0;
647
+ }
648
+ // len dist chain
649
+ var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;
650
+ if (rem > 2 && hv == hsh(i - dif)) {
651
+ var maxn = Math.min(n, rem) - 1;
652
+ var maxd = Math.min(32767, i);
653
+ // max possible length
654
+ // not capped at dif because decompressors implement "rolling" index population
655
+ var ml = Math.min(258, rem);
656
+ while (dif <= maxd && --ch_1 && imod != pimod) {
657
+ if (dat[i + l] == dat[i + l - dif]) {
658
+ var nl = 0;
659
+ for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)
660
+ ;
661
+ if (nl > l) {
662
+ l = nl, d = dif;
663
+ // break out early when we reach "nice" (we are satisfied enough)
664
+ if (nl > maxn)
665
+ break;
666
+ // now, find the rarest 2-byte sequence within this
667
+ // length of literals and search for that instead.
668
+ // Much faster than just using the start
669
+ var mmd = Math.min(dif, nl - 2);
670
+ var md = 0;
671
+ for (var j = 0; j < mmd; ++j) {
672
+ var ti = i - dif + j & 32767;
673
+ var pti = prev[ti];
674
+ var cd = ti - pti & 32767;
675
+ if (cd > md)
676
+ md = cd, pimod = ti;
677
+ }
678
+ }
679
+ }
680
+ // check the previous match
681
+ imod = pimod, pimod = prev[imod];
682
+ dif += imod - pimod & 32767;
683
+ }
684
+ }
685
+ // d will be nonzero only when a match was found
686
+ if (d) {
687
+ // store both dist and len data in one int32
688
+ // Make sure this is recognized as a len/dist with 28th bit (2^28)
689
+ syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];
690
+ var lin = revfl[l] & 31, din = revfd[d] & 31;
691
+ eb += fleb[lin] + fdeb[din];
692
+ ++lf[257 + lin];
693
+ ++df[din];
694
+ wi = i + l;
695
+ ++lc_1;
696
+ }
697
+ else {
698
+ syms[li++] = dat[i];
699
+ ++lf[dat[i]];
700
+ }
701
+ }
702
+ }
703
+ for (i = Math.max(i, wi); i < s; ++i) {
704
+ syms[li++] = dat[i];
705
+ ++lf[dat[i]];
706
+ }
707
+ pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);
708
+ if (!lst) {
709
+ st.r = (pos & 7) | w[(pos / 8) | 0] << 3;
710
+ // shft(pos) now 1 less if pos & 7 != 0
711
+ pos -= 7;
712
+ st.h = head, st.p = prev, st.i = i, st.w = wi;
713
+ }
714
+ }
715
+ else {
716
+ for (var i = st.w || 0; i < s + lst; i += 65535) {
717
+ // end
718
+ var e = i + 65535;
719
+ if (e >= s) {
720
+ // write final block
721
+ w[(pos / 8) | 0] = lst;
722
+ e = s;
723
+ }
724
+ pos = wfblk(w, pos + 1, dat.subarray(i, e));
725
+ }
726
+ st.i = s;
727
+ }
728
+ return slc(o, 0, pre + shft(pos) + post);
729
+ };
730
+ // CRC32 table
731
+ var crct = /*#__PURE__*/ (function () {
732
+ var t = new Int32Array(256);
733
+ for (var i = 0; i < 256; ++i) {
734
+ var c = i, k = 9;
735
+ while (--k)
736
+ c = ((c & 1) && -306674912) ^ (c >>> 1);
737
+ t[i] = c;
738
+ }
739
+ return t;
740
+ })();
741
+ // CRC32
742
+ var crc = function () {
743
+ var c = -1;
744
+ return {
745
+ p: function (d) {
746
+ // closures have awful performance
747
+ var cr = c;
748
+ for (var i = 0; i < d.length; ++i)
749
+ cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);
750
+ c = cr;
751
+ },
752
+ d: function () { return ~c; }
753
+ };
754
+ };
755
+ // deflate with opts
756
+ var dopt = function (dat, opt, pre, post, st) {
757
+ if (!st) {
758
+ st = { l: 1 };
759
+ if (opt.dictionary) {
760
+ var dict = opt.dictionary.subarray(-32768);
761
+ var newDat = new u8(dict.length + dat.length);
762
+ newDat.set(dict);
763
+ newDat.set(dat, dict.length);
764
+ dat = newDat;
765
+ st.w = dict.length;
766
+ }
767
+ }
768
+ return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? (st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20) : (12 + opt.mem), pre, post, st);
769
+ };
770
+ // Walmart object spread
771
+ var mrg = function (a, b) {
772
+ var o = {};
773
+ for (var k in a)
774
+ o[k] = a[k];
775
+ for (var k in b)
776
+ o[k] = b[k];
777
+ return o;
778
+ };
779
+ // worker clone
780
+ // This is possibly the craziest part of the entire codebase, despite how simple it may seem.
781
+ // The only parameter to this function is a closure that returns an array of variables outside of the function scope.
782
+ // We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.
783
+ // We will return an object mapping of true variable name to value (basically, the current scope as a JS object).
784
+ // The reason we can't just use the original variable names is minifiers mangling the toplevel scope.
785
+ // This took me three weeks to figure out how to do.
786
+ var wcln = function (fn, fnStr, td) {
787
+ var dt = fn();
788
+ var st = fn.toString();
789
+ var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\s+/g, '').split(',');
790
+ for (var i = 0; i < dt.length; ++i) {
791
+ var v = dt[i], k = ks[i];
792
+ if (typeof v == 'function') {
793
+ fnStr += ';' + k + '=';
794
+ var st_1 = v.toString();
795
+ if (v.prototype) {
796
+ // for global objects
797
+ if (st_1.indexOf('[native code]') != -1) {
798
+ var spInd = st_1.indexOf(' ', 8) + 1;
799
+ fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));
800
+ }
801
+ else {
802
+ fnStr += st_1;
803
+ for (var t in v.prototype)
804
+ fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();
805
+ }
806
+ }
807
+ else
808
+ fnStr += st_1;
809
+ }
810
+ else
811
+ td[k] = v;
812
+ }
813
+ return fnStr;
814
+ };
815
+ var ch = [];
816
+ // clone bufs
817
+ var cbfs = function (v) {
818
+ var tl = [];
819
+ for (var k in v) {
820
+ if (v[k].buffer) {
821
+ tl.push((v[k] = new v[k].constructor(v[k])).buffer);
822
+ }
823
+ }
824
+ return tl;
825
+ };
826
+ // use a worker to execute code
827
+ var wrkr = function (fns, init, id, cb) {
828
+ if (!ch[id]) {
829
+ var fnStr = '', td_1 = {}, m = fns.length - 1;
830
+ for (var i = 0; i < m; ++i)
831
+ fnStr = wcln(fns[i], fnStr, td_1);
832
+ ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 };
833
+ }
834
+ var td = mrg({}, ch[id].e);
835
+ return wk(ch[id].c + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);
836
+ };
837
+ // base async inflate fn
838
+ var bInflt = function () { return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; };
839
+ var bDflt = function () { return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };
840
+ // post buf
841
+ var pbf = function (msg) { return postMessage(msg, [msg.buffer]); };
842
+ // get opts
843
+ var gopt = function (o) { return o && {
844
+ out: o.size && new u8(o.size),
845
+ dictionary: o.dictionary
846
+ }; };
847
+ // async helper
848
+ var cbify = function (dat, opts, fns, init, id, cb) {
849
+ var w = wrkr(fns, init, id, function (err, dat) {
850
+ w.terminate();
851
+ cb(err, dat);
852
+ });
853
+ w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []);
854
+ return function () { w.terminate(); };
855
+ };
856
+ // read 2 bytes
857
+ var b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };
858
+ // read 4 bytes
859
+ var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };
860
+ // read 8 bytes
861
+ var b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };
862
+ // write bytes
863
+ var wbytes = function (d, b, v) {
864
+ for (; v; ++b)
865
+ d[b] = v, v >>>= 8;
866
+ };
867
+ function deflate(data, opts, cb) {
868
+ if (!cb)
869
+ cb = opts, opts = {};
870
+ if (typeof cb != 'function')
871
+ err(7);
872
+ return cbify(data, opts, [
873
+ bDflt,
874
+ ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);
875
+ }
876
+ /**
877
+ * Compresses data with DEFLATE without any wrapper
878
+ * @param data The data to compress
879
+ * @param opts The compression options
880
+ * @returns The deflated version of the data
881
+ */
882
+ function deflateSync(data, opts) {
883
+ return dopt(data, opts || {}, 0, 0);
884
+ }
885
+ function inflate(data, opts, cb) {
886
+ if (!cb)
887
+ cb = opts, opts = {};
888
+ if (typeof cb != 'function')
889
+ err(7);
890
+ return cbify(data, opts, [
891
+ bInflt
892
+ ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb);
893
+ }
894
+ function inflateSync(data, opts) {
895
+ return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);
896
+ }
897
+ // flatten a directory structure
898
+ var fltn = function (d, p, t, o) {
899
+ for (var k in d) {
900
+ var val = d[k], n = p + k, op = o;
901
+ if (Array.isArray(val))
902
+ op = mrg(o, val[1]), val = val[0];
903
+ if (ArrayBuffer.isView(val))
904
+ t[n] = [val, op];
905
+ else {
906
+ t[n += '/'] = [new u8(0), op];
907
+ fltn(val, n, t, o);
908
+ }
909
+ }
910
+ };
911
+ // text encoder
912
+ var te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder();
913
+ // text decoder
914
+ var td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();
915
+ // text decoder stream
916
+ var tds = 0;
917
+ try {
918
+ td.decode(et, { stream: true });
919
+ tds = 1;
920
+ }
921
+ catch (e) { }
922
+ // decode UTF8
923
+ var dutf8 = function (d) {
924
+ for (var r = '', i = 0;;) {
925
+ var c = d[i++];
926
+ var eb = (c > 127) + (c > 223) + (c > 239);
927
+ if (i + eb > d.length)
928
+ return { s: r, r: slc(d, i - 1) };
929
+ if (!eb)
930
+ r += String.fromCharCode(c);
931
+ else if (eb == 3) {
932
+ c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,
933
+ r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));
934
+ }
935
+ else if (eb & 1)
936
+ r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));
937
+ else
938
+ r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));
939
+ }
940
+ };
941
+ /**
942
+ * Converts a string into a Uint8Array for use with compression/decompression methods
943
+ * @param str The string to encode
944
+ * @param latin1 Whether or not to interpret the data as Latin-1. This should
945
+ * not need to be true unless decoding a binary string.
946
+ * @returns The string encoded in UTF-8/Latin-1 binary
947
+ */
948
+ function strToU8(str, latin1) {
949
+ if (latin1) {
950
+ var ar_1 = new u8(str.length);
951
+ for (var i = 0; i < str.length; ++i)
952
+ ar_1[i] = str.charCodeAt(i);
953
+ return ar_1;
954
+ }
955
+ if (te)
956
+ return te.encode(str);
957
+ var l = str.length;
958
+ var ar = new u8(str.length + (str.length >> 1));
959
+ var ai = 0;
960
+ var w = function (v) { ar[ai++] = v; };
961
+ for (var i = 0; i < l; ++i) {
962
+ if (ai + 5 > ar.length) {
963
+ var n = new u8(ai + 8 + ((l - i) << 1));
964
+ n.set(ar);
965
+ ar = n;
966
+ }
967
+ var c = str.charCodeAt(i);
968
+ if (c < 128 || latin1)
969
+ w(c);
970
+ else if (c < 2048)
971
+ w(192 | (c >> 6)), w(128 | (c & 63));
972
+ else if (c > 55295 && c < 57344)
973
+ c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),
974
+ w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));
975
+ else
976
+ w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));
977
+ }
978
+ return slc(ar, 0, ai);
979
+ }
980
+ /**
981
+ * Converts a Uint8Array to a string
982
+ * @param dat The data to decode to string
983
+ * @param latin1 Whether or not to interpret the data as Latin-1. This should
984
+ * not need to be true unless encoding to binary string.
985
+ * @returns The original UTF-8/Latin-1 string
986
+ */
987
+ function strFromU8(dat, latin1) {
988
+ if (latin1) {
989
+ var r = '';
990
+ for (var i = 0; i < dat.length; i += 16384)
991
+ r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));
992
+ return r;
993
+ }
994
+ else if (td) {
995
+ return td.decode(dat);
996
+ }
997
+ else {
998
+ var _a = dutf8(dat), s = _a.s, r = _a.r;
999
+ if (r.length)
1000
+ err(8);
1001
+ return s;
1002
+ }
1003
+ }
1004
+ // skip local zip header
1005
+ var slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };
1006
+ // read zip header
1007
+ var zh = function (d, b, z) {
1008
+ var fnl = b2(d, b + 28), efl = b2(d, b + 30), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl;
1009
+ var _a = z64hs(d, es, efl, z, b4(d, b + 20), b4(d, b + 24), b4(d, b + 42)), sc = _a[0], su = _a[1], off = _a[2];
1010
+ return [b2(d, b + 10), sc, su, fn, es + efl + b2(d, b + 32), off];
1011
+ };
1012
+ // read zip64 header sizes
1013
+ var z64hs = function (d, b, l, z, sc, su, off) {
1014
+ var nsc = sc == 4294967295, nsu = su == 4294967295, noff = off == 4294967295, e = b + l;
1015
+ var nf = nsc + nsu + noff;
1016
+ if (z && nf) {
1017
+ for (; b + 4 < e; b += 4 + b2(d, b + 2)) {
1018
+ if (b2(d, b) == 1) {
1019
+ return [
1020
+ nsc ? b8(d, b + 4 + 8 * nsu) : sc,
1021
+ nsu ? b8(d, b + 4) : su,
1022
+ noff ? b8(d, b + 4 + 8 * (nsu + nsc)) : off,
1023
+ 1
1024
+ ];
1025
+ }
1026
+ }
1027
+ // z == 2 for unknown whether or not zip64
1028
+ if (z < 2)
1029
+ err(13);
1030
+ }
1031
+ return [sc, su, off, 0];
1032
+ };
1033
+ // extra field length
1034
+ var exfl = function (ex) {
1035
+ var le = 0;
1036
+ if (ex) {
1037
+ for (var k in ex) {
1038
+ var l = ex[k].length;
1039
+ if (l > 65535)
1040
+ err(9);
1041
+ le += l + 4;
1042
+ }
1043
+ }
1044
+ return le;
1045
+ };
1046
+ // write zip header
1047
+ var wzh = function (d, b, f, fn, u, c, ce, co) {
1048
+ var fl = fn.length, ex = f.extra, col = co && co.length;
1049
+ var exl = exfl(ex);
1050
+ wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;
1051
+ if (ce != null)
1052
+ d[b++] = 20, d[b++] = f.os;
1053
+ d[b] = 20, b += 2; // spec compliance? what's that?
1054
+ d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8;
1055
+ d[b++] = f.compression & 255, d[b++] = f.compression >> 8;
1056
+ var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980;
1057
+ if (y < 0 || y > 119)
1058
+ err(10);
1059
+ wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4;
1060
+ if (c != -1) {
1061
+ wbytes(d, b, f.crc);
1062
+ wbytes(d, b + 4, c < 0 ? -c - 2 : c);
1063
+ wbytes(d, b + 8, f.size);
1064
+ }
1065
+ wbytes(d, b + 12, fl);
1066
+ wbytes(d, b + 14, exl), b += 16;
1067
+ if (ce != null) {
1068
+ wbytes(d, b, col);
1069
+ wbytes(d, b + 6, f.attrs);
1070
+ wbytes(d, b + 10, ce), b += 14;
1071
+ }
1072
+ d.set(fn, b);
1073
+ b += fl;
1074
+ if (exl) {
1075
+ for (var k in ex) {
1076
+ var exf = ex[k], l = exf.length;
1077
+ wbytes(d, b, +k);
1078
+ wbytes(d, b + 2, l);
1079
+ d.set(exf, b + 4), b += 4 + l;
1080
+ }
1081
+ }
1082
+ if (col)
1083
+ d.set(co, b), b += col;
1084
+ return b;
1085
+ };
1086
+ // write zip footer (end of central directory)
1087
+ var wzf = function (o, b, c, d, e) {
1088
+ wbytes(o, b, 0x6054B50); // skip disk
1089
+ wbytes(o, b + 8, c);
1090
+ wbytes(o, b + 10, c);
1091
+ wbytes(o, b + 12, d);
1092
+ wbytes(o, b + 16, e);
1093
+ };
1094
+ function zip(data, opts, cb) {
1095
+ if (!cb)
1096
+ cb = opts, opts = {};
1097
+ if (typeof cb != 'function')
1098
+ err(7);
1099
+ var r = {};
1100
+ fltn(data, '', r, opts);
1101
+ var k = Object.keys(r);
1102
+ var lft = k.length, o = 0, tot = 0;
1103
+ var slft = lft, files = new Array(lft);
1104
+ var term = [];
1105
+ var tAll = function () {
1106
+ for (var i = 0; i < term.length; ++i)
1107
+ term[i]();
1108
+ };
1109
+ var cbd = function (a, b) {
1110
+ mt(function () { cb(a, b); });
1111
+ };
1112
+ mt(function () { cbd = cb; });
1113
+ var cbf = function () {
1114
+ var out = new u8(tot + 22), oe = o, cdl = tot - o;
1115
+ tot = 0;
1116
+ for (var i = 0; i < slft; ++i) {
1117
+ var f = files[i];
1118
+ try {
1119
+ var l = f.c.length;
1120
+ wzh(out, tot, f, f.f, f.u, l);
1121
+ var badd = 30 + f.f.length + exfl(f.extra);
1122
+ var loc = tot + badd;
1123
+ out.set(f.c, loc);
1124
+ wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l;
1125
+ }
1126
+ catch (e) {
1127
+ return cbd(e, null);
1128
+ }
1129
+ }
1130
+ wzf(out, o, files.length, cdl, oe);
1131
+ cbd(null, out);
1132
+ };
1133
+ if (!lft)
1134
+ cbf();
1135
+ var _loop_1 = function (i) {
1136
+ var fn = k[i];
1137
+ var _a = r[fn], file = _a[0], p = _a[1];
1138
+ var c = crc(), size = file.length;
1139
+ c.p(file);
1140
+ var f = strToU8(fn), s = f.length;
1141
+ var com = p.comment, m = com && strToU8(com), ms = m && m.length;
1142
+ var exl = exfl(p.extra);
1143
+ var compression = p.level == 0 ? 0 : 8;
1144
+ var cbl = function (e, d) {
1145
+ if (e) {
1146
+ tAll();
1147
+ cbd(e, null);
1148
+ }
1149
+ else {
1150
+ var l = d.length;
1151
+ files[i] = mrg(p, {
1152
+ size: size,
1153
+ crc: c.d(),
1154
+ c: d,
1155
+ f: f,
1156
+ m: m,
1157
+ u: s != fn.length || (m && (com.length != ms)),
1158
+ compression: compression
1159
+ });
1160
+ o += 30 + s + exl + l;
1161
+ tot += 76 + 2 * (s + exl) + (ms || 0) + l;
1162
+ if (!--lft)
1163
+ cbf();
1164
+ }
1165
+ };
1166
+ if (s > 65535)
1167
+ cbl(err(11, 0, 1), null);
1168
+ if (!compression)
1169
+ cbl(null, file);
1170
+ else if (size < 160000) {
1171
+ try {
1172
+ cbl(null, deflateSync(file, p));
1173
+ }
1174
+ catch (e) {
1175
+ cbl(e, null);
1176
+ }
1177
+ }
1178
+ else
1179
+ term.push(deflate(file, p, cbl));
1180
+ };
1181
+ // Cannot use lft because it can decrease
1182
+ for (var i = 0; i < slft; ++i) {
1183
+ _loop_1(i);
1184
+ }
1185
+ return tAll;
1186
+ }
1187
+ var mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); };
1188
+ function unzip(data, opts, cb) {
1189
+ if (!cb)
1190
+ cb = opts, opts = {};
1191
+ if (typeof cb != 'function')
1192
+ err(7);
1193
+ var term = [];
1194
+ var tAll = function () {
1195
+ for (var i = 0; i < term.length; ++i)
1196
+ term[i]();
1197
+ };
1198
+ var files = {};
1199
+ var cbd = function (a, b) {
1200
+ mt(function () { cb(a, b); });
1201
+ };
1202
+ mt(function () { cbd = cb; });
1203
+ var e = data.length - 22;
1204
+ for (; b4(data, e) != 0x6054B50; --e) {
1205
+ if (!e || data.length - e > 65558) {
1206
+ cbd(err(13, 0, 1), null);
1207
+ return tAll;
1208
+ }
1209
+ }
1210
+ var lft = b2(data, e + 8);
1211
+ if (lft) {
1212
+ var c = lft;
1213
+ var o = b4(data, e + 16);
1214
+ var z = b4(data, e - 20) == 0x7064B50;
1215
+ if (z) {
1216
+ var ze = b4(data, e - 12);
1217
+ z = b4(data, ze) == 0x6064B50;
1218
+ if (z) {
1219
+ c = lft = b4(data, ze + 32);
1220
+ o = b4(data, ze + 48);
1221
+ }
1222
+ }
1223
+ var fltr = opts && opts.filter;
1224
+ var _loop_3 = function (i) {
1225
+ var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);
1226
+ o = no;
1227
+ var cbl = function (e, d) {
1228
+ if (e) {
1229
+ tAll();
1230
+ cbd(e, null);
1231
+ }
1232
+ else {
1233
+ if (d)
1234
+ files[fn] = d;
1235
+ if (!--lft)
1236
+ cbd(null, files);
1237
+ }
1238
+ };
1239
+ if (!fltr || fltr({
1240
+ name: fn,
1241
+ size: sc,
1242
+ originalSize: su,
1243
+ compression: c_1
1244
+ })) {
1245
+ if (!c_1)
1246
+ cbl(null, slc(data, b, b + sc));
1247
+ else if (c_1 == 8) {
1248
+ var infl = data.subarray(b, b + sc);
1249
+ // Synchronously decompress under 512KB, or barely-compressed data
1250
+ if (su < 524288 || sc > 0.8 * su) {
1251
+ try {
1252
+ cbl(null, inflateSync(infl, { out: new u8(su) }));
1253
+ }
1254
+ catch (e) {
1255
+ cbl(e, null);
1256
+ }
1257
+ }
1258
+ else
1259
+ term.push(inflate(infl, { size: su }, cbl));
1260
+ }
1261
+ else
1262
+ cbl(err(14, 'unknown compression type ' + c_1, 1), null);
1263
+ }
1264
+ else
1265
+ cbl(null, null);
1266
+ };
1267
+ for (var i = 0; i < c; ++i) {
1268
+ _loop_3(i);
1269
+ }
1270
+ }
1271
+ else
1272
+ cbd(null, {});
1273
+ return tAll;
1274
+ }
1275
+
1276
+ export { deflate, deflateSync, inflate, inflateSync, strFromU8, strToU8, unzip, zip };
1277
+ //# sourceMappingURL=browser-CANgtOiM.js.map