@onekeyfe/hd-web-sdk 0.1.54 → 0.1.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,6 +11,1023 @@
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
+ /***/ 3525:
15
+ /***/ ((__unused_webpack_module, exports) => {
16
+
17
+ "use strict";
18
+
19
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20
+ exports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = void 0;
21
+ function number(n) {
22
+ if (!Number.isSafeInteger(n) || n < 0)
23
+ throw new Error(`Wrong positive integer: ${n}`);
24
+ }
25
+ exports.number = number;
26
+ function bool(b) {
27
+ if (typeof b !== 'boolean')
28
+ throw new Error(`Expected boolean, not ${b}`);
29
+ }
30
+ exports.bool = bool;
31
+ function bytes(b, ...lengths) {
32
+ if (!(b instanceof Uint8Array))
33
+ throw new TypeError('Expected Uint8Array');
34
+ if (lengths.length > 0 && !lengths.includes(b.length))
35
+ throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);
36
+ }
37
+ exports.bytes = bytes;
38
+ function hash(hash) {
39
+ if (typeof hash !== 'function' || typeof hash.create !== 'function')
40
+ throw new Error('Hash should be wrapped by utils.wrapConstructor');
41
+ number(hash.outputLen);
42
+ number(hash.blockLen);
43
+ }
44
+ exports.hash = hash;
45
+ function exists(instance, checkFinished = true) {
46
+ if (instance.destroyed)
47
+ throw new Error('Hash instance has been destroyed');
48
+ if (checkFinished && instance.finished)
49
+ throw new Error('Hash#digest() has already been called');
50
+ }
51
+ exports.exists = exists;
52
+ function output(out, instance) {
53
+ bytes(out);
54
+ const min = instance.outputLen;
55
+ if (out.length < min) {
56
+ throw new Error(`digestInto() expects output buffer of length at least ${min}`);
57
+ }
58
+ }
59
+ exports.output = output;
60
+ const assert = {
61
+ number,
62
+ bool,
63
+ bytes,
64
+ hash,
65
+ exists,
66
+ output,
67
+ };
68
+ exports["default"] = assert;
69
+
70
+
71
+ /***/ }),
72
+
73
+ /***/ 2686:
74
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
75
+
76
+ "use strict";
77
+
78
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
79
+ exports.BLAKE2 = exports.SIGMA = void 0;
80
+ const _assert_js_1 = __webpack_require__(3525);
81
+ const utils_js_1 = __webpack_require__(64);
82
+ // prettier-ignore
83
+ exports.SIGMA = new Uint8Array([
84
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
85
+ 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,
86
+ 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4,
87
+ 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8,
88
+ 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13,
89
+ 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9,
90
+ 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11,
91
+ 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10,
92
+ 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5,
93
+ 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0,
94
+ // For BLAKE2b, the two extra permutations for rounds 10 and 11 are SIGMA[10..11] = SIGMA[0..1].
95
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
96
+ 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,
97
+ ]);
98
+ class BLAKE2 extends utils_js_1.Hash {
99
+ constructor(blockLen, outputLen, opts = {}, keyLen, saltLen, persLen) {
100
+ super();
101
+ this.blockLen = blockLen;
102
+ this.outputLen = outputLen;
103
+ this.length = 0;
104
+ this.pos = 0;
105
+ this.finished = false;
106
+ this.destroyed = false;
107
+ _assert_js_1.default.number(blockLen);
108
+ _assert_js_1.default.number(outputLen);
109
+ _assert_js_1.default.number(keyLen);
110
+ if (outputLen < 0 || outputLen > keyLen)
111
+ throw new Error('Blake2: outputLen bigger than keyLen');
112
+ if (opts.key !== undefined && (opts.key.length < 1 || opts.key.length > keyLen))
113
+ throw new Error(`Key should be up 1..${keyLen} byte long or undefined`);
114
+ if (opts.salt !== undefined && opts.salt.length !== saltLen)
115
+ throw new Error(`Salt should be ${saltLen} byte long or undefined`);
116
+ if (opts.personalization !== undefined && opts.personalization.length !== persLen)
117
+ throw new Error(`Personalization should be ${persLen} byte long or undefined`);
118
+ this.buffer32 = (0, utils_js_1.u32)((this.buffer = new Uint8Array(blockLen)));
119
+ }
120
+ update(data) {
121
+ _assert_js_1.default.exists(this);
122
+ // Main difference with other hashes: there is flag for last block,
123
+ // so we cannot process current block before we know that there
124
+ // is the next one. This significantly complicates logic and reduces ability
125
+ // to do zero-copy processing
126
+ const { blockLen, buffer, buffer32 } = this;
127
+ data = (0, utils_js_1.toBytes)(data);
128
+ const len = data.length;
129
+ for (let pos = 0; pos < len;) {
130
+ // If buffer is full and we still have input (don't process last block, same as blake2s)
131
+ if (this.pos === blockLen) {
132
+ this.compress(buffer32, 0, false);
133
+ this.pos = 0;
134
+ }
135
+ const take = Math.min(blockLen - this.pos, len - pos);
136
+ const dataOffset = data.byteOffset + pos;
137
+ // full block && aligned to 4 bytes && not last in input
138
+ if (take === blockLen && !(dataOffset % 4) && pos + take < len) {
139
+ const data32 = new Uint32Array(data.buffer, dataOffset, Math.floor((len - pos) / 4));
140
+ for (let pos32 = 0; pos + blockLen < len; pos32 += buffer32.length, pos += blockLen) {
141
+ this.length += blockLen;
142
+ this.compress(data32, pos32, false);
143
+ }
144
+ continue;
145
+ }
146
+ buffer.set(data.subarray(pos, pos + take), this.pos);
147
+ this.pos += take;
148
+ this.length += take;
149
+ pos += take;
150
+ }
151
+ return this;
152
+ }
153
+ digestInto(out) {
154
+ _assert_js_1.default.exists(this);
155
+ _assert_js_1.default.output(out, this);
156
+ const { pos, buffer32 } = this;
157
+ this.finished = true;
158
+ // Padding
159
+ this.buffer.subarray(pos).fill(0);
160
+ this.compress(buffer32, 0, true);
161
+ const out32 = (0, utils_js_1.u32)(out);
162
+ this.get().forEach((v, i) => (out32[i] = v));
163
+ }
164
+ digest() {
165
+ const { buffer, outputLen } = this;
166
+ this.digestInto(buffer);
167
+ const res = buffer.slice(0, outputLen);
168
+ this.destroy();
169
+ return res;
170
+ }
171
+ _cloneInto(to) {
172
+ const { buffer, length, finished, destroyed, outputLen, pos } = this;
173
+ to || (to = new this.constructor({ dkLen: outputLen }));
174
+ to.set(...this.get());
175
+ to.length = length;
176
+ to.finished = finished;
177
+ to.destroyed = destroyed;
178
+ to.outputLen = outputLen;
179
+ to.buffer.set(buffer);
180
+ to.pos = pos;
181
+ return to;
182
+ }
183
+ }
184
+ exports.BLAKE2 = BLAKE2;
185
+
186
+
187
+ /***/ }),
188
+
189
+ /***/ 9350:
190
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
191
+
192
+ "use strict";
193
+
194
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
195
+ exports.SHA2 = void 0;
196
+ const _assert_js_1 = __webpack_require__(3525);
197
+ const utils_js_1 = __webpack_require__(64);
198
+ // Polyfill for Safari 14
199
+ function setBigUint64(view, byteOffset, value, isLE) {
200
+ if (typeof view.setBigUint64 === 'function')
201
+ return view.setBigUint64(byteOffset, value, isLE);
202
+ const _32n = BigInt(32);
203
+ const _u32_max = BigInt(0xffffffff);
204
+ const wh = Number((value >> _32n) & _u32_max);
205
+ const wl = Number(value & _u32_max);
206
+ const h = isLE ? 4 : 0;
207
+ const l = isLE ? 0 : 4;
208
+ view.setUint32(byteOffset + h, wh, isLE);
209
+ view.setUint32(byteOffset + l, wl, isLE);
210
+ }
211
+ // Base SHA2 class (RFC 6234)
212
+ class SHA2 extends utils_js_1.Hash {
213
+ constructor(blockLen, outputLen, padOffset, isLE) {
214
+ super();
215
+ this.blockLen = blockLen;
216
+ this.outputLen = outputLen;
217
+ this.padOffset = padOffset;
218
+ this.isLE = isLE;
219
+ this.finished = false;
220
+ this.length = 0;
221
+ this.pos = 0;
222
+ this.destroyed = false;
223
+ this.buffer = new Uint8Array(blockLen);
224
+ this.view = (0, utils_js_1.createView)(this.buffer);
225
+ }
226
+ update(data) {
227
+ _assert_js_1.default.exists(this);
228
+ const { view, buffer, blockLen } = this;
229
+ data = (0, utils_js_1.toBytes)(data);
230
+ const len = data.length;
231
+ for (let pos = 0; pos < len;) {
232
+ const take = Math.min(blockLen - this.pos, len - pos);
233
+ // Fast path: we have at least one block in input, cast it to view and process
234
+ if (take === blockLen) {
235
+ const dataView = (0, utils_js_1.createView)(data);
236
+ for (; blockLen <= len - pos; pos += blockLen)
237
+ this.process(dataView, pos);
238
+ continue;
239
+ }
240
+ buffer.set(data.subarray(pos, pos + take), this.pos);
241
+ this.pos += take;
242
+ pos += take;
243
+ if (this.pos === blockLen) {
244
+ this.process(view, 0);
245
+ this.pos = 0;
246
+ }
247
+ }
248
+ this.length += data.length;
249
+ this.roundClean();
250
+ return this;
251
+ }
252
+ digestInto(out) {
253
+ _assert_js_1.default.exists(this);
254
+ _assert_js_1.default.output(out, this);
255
+ this.finished = true;
256
+ // Padding
257
+ // We can avoid allocation of buffer for padding completely if it
258
+ // was previously not allocated here. But it won't change performance.
259
+ const { buffer, view, blockLen, isLE } = this;
260
+ let { pos } = this;
261
+ // append the bit '1' to the message
262
+ buffer[pos++] = 0b10000000;
263
+ this.buffer.subarray(pos).fill(0);
264
+ // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again
265
+ if (this.padOffset > blockLen - pos) {
266
+ this.process(view, 0);
267
+ pos = 0;
268
+ }
269
+ // Pad until full block byte with zeros
270
+ for (let i = pos; i < blockLen; i++)
271
+ buffer[i] = 0;
272
+ // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that
273
+ // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.
274
+ // So we just write lowest 64 bits of that value.
275
+ setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);
276
+ this.process(view, 0);
277
+ const oview = (0, utils_js_1.createView)(out);
278
+ this.get().forEach((v, i) => oview.setUint32(4 * i, v, isLE));
279
+ }
280
+ digest() {
281
+ const { buffer, outputLen } = this;
282
+ this.digestInto(buffer);
283
+ const res = buffer.slice(0, outputLen);
284
+ this.destroy();
285
+ return res;
286
+ }
287
+ _cloneInto(to) {
288
+ to || (to = new this.constructor());
289
+ to.set(...this.get());
290
+ const { blockLen, buffer, length, finished, destroyed, pos } = this;
291
+ to.length = length;
292
+ to.pos = pos;
293
+ to.finished = finished;
294
+ to.destroyed = destroyed;
295
+ if (length % blockLen)
296
+ to.buffer.set(buffer);
297
+ return to;
298
+ }
299
+ }
300
+ exports.SHA2 = SHA2;
301
+
302
+
303
+ /***/ }),
304
+
305
+ /***/ 1655:
306
+ /***/ ((__unused_webpack_module, exports) => {
307
+
308
+ "use strict";
309
+
310
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
311
+ exports.add = exports.toBig = exports.split = exports.fromBig = void 0;
312
+ const U32_MASK64 = BigInt(2 ** 32 - 1);
313
+ const _32n = BigInt(32);
314
+ // We are not using BigUint64Array, because they are extremely slow as per 2022
315
+ function fromBig(n, le = false) {
316
+ if (le)
317
+ return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };
318
+ return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };
319
+ }
320
+ exports.fromBig = fromBig;
321
+ function split(lst, le = false) {
322
+ let Ah = new Uint32Array(lst.length);
323
+ let Al = new Uint32Array(lst.length);
324
+ for (let i = 0; i < lst.length; i++) {
325
+ const { h, l } = fromBig(lst[i], le);
326
+ [Ah[i], Al[i]] = [h, l];
327
+ }
328
+ return [Ah, Al];
329
+ }
330
+ exports.split = split;
331
+ const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);
332
+ exports.toBig = toBig;
333
+ // for Shift in [0, 32)
334
+ const shrSH = (h, l, s) => h >>> s;
335
+ const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
336
+ // Right rotate for Shift in [1, 32)
337
+ const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));
338
+ const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
339
+ // Right rotate for Shift in (32, 64), NOTE: 32 is special case.
340
+ const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));
341
+ const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));
342
+ // Right rotate for shift===32 (just swaps l&h)
343
+ const rotr32H = (h, l) => l;
344
+ const rotr32L = (h, l) => h;
345
+ // Left rotate for Shift in [1, 32)
346
+ const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));
347
+ const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));
348
+ // Left rotate for Shift in (32, 64), NOTE: 32 is special case.
349
+ const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));
350
+ const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));
351
+ // JS uses 32-bit signed integers for bitwise operations which means we cannot
352
+ // simple take carry out of low bit sum by shift, we need to use division.
353
+ // Removing "export" has 5% perf penalty -_-
354
+ function add(Ah, Al, Bh, Bl) {
355
+ const l = (Al >>> 0) + (Bl >>> 0);
356
+ return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };
357
+ }
358
+ exports.add = add;
359
+ // Addition with more than 2 elements
360
+ const add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
361
+ const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;
362
+ const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);
363
+ const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;
364
+ const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);
365
+ const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;
366
+ // prettier-ignore
367
+ const u64 = {
368
+ fromBig, split, toBig: exports.toBig,
369
+ shrSH, shrSL,
370
+ rotrSH, rotrSL, rotrBH, rotrBL,
371
+ rotr32H, rotr32L,
372
+ rotlSH, rotlSL, rotlBH, rotlBL,
373
+ add, add3L, add3H, add4L, add4H, add5H, add5L,
374
+ };
375
+ exports["default"] = u64;
376
+
377
+
378
+ /***/ }),
379
+
380
+ /***/ 9467:
381
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
382
+
383
+ "use strict";
384
+
385
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
386
+ exports.blake2s = exports.compress = exports.IV = void 0;
387
+ const _blake2_js_1 = __webpack_require__(2686);
388
+ const _u64_js_1 = __webpack_require__(1655);
389
+ const utils_js_1 = __webpack_require__(64);
390
+ // Initial state:
391
+ // first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19)
392
+ // same as SHA-256
393
+ // prettier-ignore
394
+ exports.IV = new Uint32Array([
395
+ 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
396
+ ]);
397
+ // Mixing function G splitted in two halfs
398
+ function G1(a, b, c, d, x) {
399
+ a = (a + b + x) | 0;
400
+ d = (0, utils_js_1.rotr)(d ^ a, 16);
401
+ c = (c + d) | 0;
402
+ b = (0, utils_js_1.rotr)(b ^ c, 12);
403
+ return { a, b, c, d };
404
+ }
405
+ function G2(a, b, c, d, x) {
406
+ a = (a + b + x) | 0;
407
+ d = (0, utils_js_1.rotr)(d ^ a, 8);
408
+ c = (c + d) | 0;
409
+ b = (0, utils_js_1.rotr)(b ^ c, 7);
410
+ return { a, b, c, d };
411
+ }
412
+ // prettier-ignore
413
+ function compress(s, offset, msg, rounds, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) {
414
+ let j = 0;
415
+ for (let i = 0; i < rounds; i++) {
416
+ ({ a: v0, b: v4, c: v8, d: v12 } = G1(v0, v4, v8, v12, msg[offset + s[j++]]));
417
+ ({ a: v0, b: v4, c: v8, d: v12 } = G2(v0, v4, v8, v12, msg[offset + s[j++]]));
418
+ ({ a: v1, b: v5, c: v9, d: v13 } = G1(v1, v5, v9, v13, msg[offset + s[j++]]));
419
+ ({ a: v1, b: v5, c: v9, d: v13 } = G2(v1, v5, v9, v13, msg[offset + s[j++]]));
420
+ ({ a: v2, b: v6, c: v10, d: v14 } = G1(v2, v6, v10, v14, msg[offset + s[j++]]));
421
+ ({ a: v2, b: v6, c: v10, d: v14 } = G2(v2, v6, v10, v14, msg[offset + s[j++]]));
422
+ ({ a: v3, b: v7, c: v11, d: v15 } = G1(v3, v7, v11, v15, msg[offset + s[j++]]));
423
+ ({ a: v3, b: v7, c: v11, d: v15 } = G2(v3, v7, v11, v15, msg[offset + s[j++]]));
424
+ ({ a: v0, b: v5, c: v10, d: v15 } = G1(v0, v5, v10, v15, msg[offset + s[j++]]));
425
+ ({ a: v0, b: v5, c: v10, d: v15 } = G2(v0, v5, v10, v15, msg[offset + s[j++]]));
426
+ ({ a: v1, b: v6, c: v11, d: v12 } = G1(v1, v6, v11, v12, msg[offset + s[j++]]));
427
+ ({ a: v1, b: v6, c: v11, d: v12 } = G2(v1, v6, v11, v12, msg[offset + s[j++]]));
428
+ ({ a: v2, b: v7, c: v8, d: v13 } = G1(v2, v7, v8, v13, msg[offset + s[j++]]));
429
+ ({ a: v2, b: v7, c: v8, d: v13 } = G2(v2, v7, v8, v13, msg[offset + s[j++]]));
430
+ ({ a: v3, b: v4, c: v9, d: v14 } = G1(v3, v4, v9, v14, msg[offset + s[j++]]));
431
+ ({ a: v3, b: v4, c: v9, d: v14 } = G2(v3, v4, v9, v14, msg[offset + s[j++]]));
432
+ }
433
+ return { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 };
434
+ }
435
+ exports.compress = compress;
436
+ class BLAKE2s extends _blake2_js_1.BLAKE2 {
437
+ constructor(opts = {}) {
438
+ super(64, opts.dkLen === undefined ? 32 : opts.dkLen, opts, 32, 8, 8);
439
+ // Internal state, same as SHA-256
440
+ this.v0 = exports.IV[0] | 0;
441
+ this.v1 = exports.IV[1] | 0;
442
+ this.v2 = exports.IV[2] | 0;
443
+ this.v3 = exports.IV[3] | 0;
444
+ this.v4 = exports.IV[4] | 0;
445
+ this.v5 = exports.IV[5] | 0;
446
+ this.v6 = exports.IV[6] | 0;
447
+ this.v7 = exports.IV[7] | 0;
448
+ const keyLength = opts.key ? opts.key.length : 0;
449
+ this.v0 ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24);
450
+ if (opts.salt) {
451
+ const salt = (0, utils_js_1.u32)((0, utils_js_1.toBytes)(opts.salt));
452
+ this.v4 ^= salt[0];
453
+ this.v5 ^= salt[1];
454
+ }
455
+ if (opts.personalization) {
456
+ const pers = (0, utils_js_1.u32)((0, utils_js_1.toBytes)(opts.personalization));
457
+ this.v6 ^= pers[0];
458
+ this.v7 ^= pers[1];
459
+ }
460
+ if (opts.key) {
461
+ // Pad to blockLen and update
462
+ const tmp = new Uint8Array(this.blockLen);
463
+ tmp.set((0, utils_js_1.toBytes)(opts.key));
464
+ this.update(tmp);
465
+ }
466
+ }
467
+ get() {
468
+ const { v0, v1, v2, v3, v4, v5, v6, v7 } = this;
469
+ return [v0, v1, v2, v3, v4, v5, v6, v7];
470
+ }
471
+ // prettier-ignore
472
+ set(v0, v1, v2, v3, v4, v5, v6, v7) {
473
+ this.v0 = v0 | 0;
474
+ this.v1 = v1 | 0;
475
+ this.v2 = v2 | 0;
476
+ this.v3 = v3 | 0;
477
+ this.v4 = v4 | 0;
478
+ this.v5 = v5 | 0;
479
+ this.v6 = v6 | 0;
480
+ this.v7 = v7 | 0;
481
+ }
482
+ compress(msg, offset, isLast) {
483
+ const { h, l } = _u64_js_1.default.fromBig(BigInt(this.length));
484
+ // prettier-ignore
485
+ const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(_blake2_js_1.SIGMA, offset, msg, 10, this.v0, this.v1, this.v2, this.v3, this.v4, this.v5, this.v6, this.v7, exports.IV[0], exports.IV[1], exports.IV[2], exports.IV[3], l ^ exports.IV[4], h ^ exports.IV[5], isLast ? ~exports.IV[6] : exports.IV[6], exports.IV[7]);
486
+ this.v0 ^= v0 ^ v8;
487
+ this.v1 ^= v1 ^ v9;
488
+ this.v2 ^= v2 ^ v10;
489
+ this.v3 ^= v3 ^ v11;
490
+ this.v4 ^= v4 ^ v12;
491
+ this.v5 ^= v5 ^ v13;
492
+ this.v6 ^= v6 ^ v14;
493
+ this.v7 ^= v7 ^ v15;
494
+ }
495
+ destroy() {
496
+ this.destroyed = true;
497
+ this.buffer32.fill(0);
498
+ this.set(0, 0, 0, 0, 0, 0, 0, 0);
499
+ }
500
+ }
501
+ /**
502
+ * BLAKE2s - optimized for 32-bit platforms. JS doesn't have uint64, so it's faster than BLAKE2b.
503
+ * @param msg - message that would be hashed
504
+ * @param opts - dkLen, key, salt, personalization
505
+ */
506
+ exports.blake2s = (0, utils_js_1.wrapConstructorWithOpts)((opts) => new BLAKE2s(opts));
507
+
508
+
509
+ /***/ }),
510
+
511
+ /***/ 4661:
512
+ /***/ ((__unused_webpack_module, exports) => {
513
+
514
+ "use strict";
515
+
516
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
517
+ exports.crypto = void 0;
518
+ exports.crypto = {
519
+ node: undefined,
520
+ web: typeof self === 'object' && 'crypto' in self ? self.crypto : undefined,
521
+ };
522
+
523
+
524
+ /***/ }),
525
+
526
+ /***/ 6053:
527
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
528
+
529
+ "use strict";
530
+
531
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
532
+ exports.sha256 = void 0;
533
+ const _sha2_js_1 = __webpack_require__(9350);
534
+ const utils_js_1 = __webpack_require__(64);
535
+ // Choice: a ? b : c
536
+ const Chi = (a, b, c) => (a & b) ^ (~a & c);
537
+ // Majority function, true if any two inpust is true
538
+ const Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);
539
+ // Round constants:
540
+ // first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)
541
+ // prettier-ignore
542
+ const SHA256_K = new Uint32Array([
543
+ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
544
+ 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
545
+ 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
546
+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
547
+ 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
548
+ 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
549
+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
550
+ 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
551
+ ]);
552
+ // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
553
+ // prettier-ignore
554
+ const IV = new Uint32Array([
555
+ 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
556
+ ]);
557
+ // Temporary buffer, not used to store anything between runs
558
+ // Named this way because it matches specification.
559
+ const SHA256_W = new Uint32Array(64);
560
+ class SHA256 extends _sha2_js_1.SHA2 {
561
+ constructor() {
562
+ super(64, 32, 8, false);
563
+ // We cannot use array here since array allows indexing by variable
564
+ // which means optimizer/compiler cannot use registers.
565
+ this.A = IV[0] | 0;
566
+ this.B = IV[1] | 0;
567
+ this.C = IV[2] | 0;
568
+ this.D = IV[3] | 0;
569
+ this.E = IV[4] | 0;
570
+ this.F = IV[5] | 0;
571
+ this.G = IV[6] | 0;
572
+ this.H = IV[7] | 0;
573
+ }
574
+ get() {
575
+ const { A, B, C, D, E, F, G, H } = this;
576
+ return [A, B, C, D, E, F, G, H];
577
+ }
578
+ // prettier-ignore
579
+ set(A, B, C, D, E, F, G, H) {
580
+ this.A = A | 0;
581
+ this.B = B | 0;
582
+ this.C = C | 0;
583
+ this.D = D | 0;
584
+ this.E = E | 0;
585
+ this.F = F | 0;
586
+ this.G = G | 0;
587
+ this.H = H | 0;
588
+ }
589
+ process(view, offset) {
590
+ // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array
591
+ for (let i = 0; i < 16; i++, offset += 4)
592
+ SHA256_W[i] = view.getUint32(offset, false);
593
+ for (let i = 16; i < 64; i++) {
594
+ const W15 = SHA256_W[i - 15];
595
+ const W2 = SHA256_W[i - 2];
596
+ const s0 = (0, utils_js_1.rotr)(W15, 7) ^ (0, utils_js_1.rotr)(W15, 18) ^ (W15 >>> 3);
597
+ const s1 = (0, utils_js_1.rotr)(W2, 17) ^ (0, utils_js_1.rotr)(W2, 19) ^ (W2 >>> 10);
598
+ SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;
599
+ }
600
+ // Compression function main loop, 64 rounds
601
+ let { A, B, C, D, E, F, G, H } = this;
602
+ for (let i = 0; i < 64; i++) {
603
+ const sigma1 = (0, utils_js_1.rotr)(E, 6) ^ (0, utils_js_1.rotr)(E, 11) ^ (0, utils_js_1.rotr)(E, 25);
604
+ const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;
605
+ const sigma0 = (0, utils_js_1.rotr)(A, 2) ^ (0, utils_js_1.rotr)(A, 13) ^ (0, utils_js_1.rotr)(A, 22);
606
+ const T2 = (sigma0 + Maj(A, B, C)) | 0;
607
+ H = G;
608
+ G = F;
609
+ F = E;
610
+ E = (D + T1) | 0;
611
+ D = C;
612
+ C = B;
613
+ B = A;
614
+ A = (T1 + T2) | 0;
615
+ }
616
+ // Add the compressed chunk to the current hash value
617
+ A = (A + this.A) | 0;
618
+ B = (B + this.B) | 0;
619
+ C = (C + this.C) | 0;
620
+ D = (D + this.D) | 0;
621
+ E = (E + this.E) | 0;
622
+ F = (F + this.F) | 0;
623
+ G = (G + this.G) | 0;
624
+ H = (H + this.H) | 0;
625
+ this.set(A, B, C, D, E, F, G, H);
626
+ }
627
+ roundClean() {
628
+ SHA256_W.fill(0);
629
+ }
630
+ destroy() {
631
+ this.set(0, 0, 0, 0, 0, 0, 0, 0);
632
+ this.buffer.fill(0);
633
+ }
634
+ }
635
+ /**
636
+ * SHA2-256 hash function
637
+ * @param message - data that would be hashed
638
+ */
639
+ exports.sha256 = (0, utils_js_1.wrapConstructor)(() => new SHA256());
640
+
641
+
642
+ /***/ }),
643
+
644
+ /***/ 125:
645
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
646
+
647
+ "use strict";
648
+
649
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
650
+ exports.shake256 = exports.shake128 = exports.keccak_512 = exports.keccak_384 = exports.keccak_256 = exports.keccak_224 = exports.sha3_512 = exports.sha3_384 = exports.sha3_256 = exports.sha3_224 = exports.Keccak = exports.keccakP = void 0;
651
+ const _assert_js_1 = __webpack_require__(3525);
652
+ const _u64_js_1 = __webpack_require__(1655);
653
+ const utils_js_1 = __webpack_require__(64);
654
+ // Various per round constants calculations
655
+ const [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];
656
+ const _0n = BigInt(0);
657
+ const _1n = BigInt(1);
658
+ const _2n = BigInt(2);
659
+ const _7n = BigInt(7);
660
+ const _256n = BigInt(256);
661
+ const _0x71n = BigInt(0x71);
662
+ for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {
663
+ // Pi
664
+ [x, y] = [y, (2 * x + 3 * y) % 5];
665
+ SHA3_PI.push(2 * (5 * y + x));
666
+ // Rotational
667
+ SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);
668
+ // Iota
669
+ let t = _0n;
670
+ for (let j = 0; j < 7; j++) {
671
+ R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;
672
+ if (R & _2n)
673
+ t ^= _1n << ((_1n << BigInt(j)) - _1n);
674
+ }
675
+ _SHA3_IOTA.push(t);
676
+ }
677
+ const [SHA3_IOTA_H, SHA3_IOTA_L] = _u64_js_1.default.split(_SHA3_IOTA, true);
678
+ // Left rotation (without 0, 32, 64)
679
+ const rotlH = (h, l, s) => s > 32 ? _u64_js_1.default.rotlBH(h, l, s) : _u64_js_1.default.rotlSH(h, l, s);
680
+ const rotlL = (h, l, s) => s > 32 ? _u64_js_1.default.rotlBL(h, l, s) : _u64_js_1.default.rotlSL(h, l, s);
681
+ // Same as keccakf1600, but allows to skip some rounds
682
+ function keccakP(s, rounds = 24) {
683
+ const B = new Uint32Array(5 * 2);
684
+ // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)
685
+ for (let round = 24 - rounds; round < 24; round++) {
686
+ // Theta θ
687
+ for (let x = 0; x < 10; x++)
688
+ B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];
689
+ for (let x = 0; x < 10; x += 2) {
690
+ const idx1 = (x + 8) % 10;
691
+ const idx0 = (x + 2) % 10;
692
+ const B0 = B[idx0];
693
+ const B1 = B[idx0 + 1];
694
+ const Th = rotlH(B0, B1, 1) ^ B[idx1];
695
+ const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
696
+ for (let y = 0; y < 50; y += 10) {
697
+ s[x + y] ^= Th;
698
+ s[x + y + 1] ^= Tl;
699
+ }
700
+ }
701
+ // Rho (ρ) and Pi (π)
702
+ let curH = s[2];
703
+ let curL = s[3];
704
+ for (let t = 0; t < 24; t++) {
705
+ const shift = SHA3_ROTL[t];
706
+ const Th = rotlH(curH, curL, shift);
707
+ const Tl = rotlL(curH, curL, shift);
708
+ const PI = SHA3_PI[t];
709
+ curH = s[PI];
710
+ curL = s[PI + 1];
711
+ s[PI] = Th;
712
+ s[PI + 1] = Tl;
713
+ }
714
+ // Chi (χ)
715
+ for (let y = 0; y < 50; y += 10) {
716
+ for (let x = 0; x < 10; x++)
717
+ B[x] = s[y + x];
718
+ for (let x = 0; x < 10; x++)
719
+ s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];
720
+ }
721
+ // Iota (ι)
722
+ s[0] ^= SHA3_IOTA_H[round];
723
+ s[1] ^= SHA3_IOTA_L[round];
724
+ }
725
+ B.fill(0);
726
+ }
727
+ exports.keccakP = keccakP;
728
+ class Keccak extends utils_js_1.Hash {
729
+ // NOTE: we accept arguments in bytes instead of bits here.
730
+ constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
731
+ super();
732
+ this.blockLen = blockLen;
733
+ this.suffix = suffix;
734
+ this.outputLen = outputLen;
735
+ this.enableXOF = enableXOF;
736
+ this.rounds = rounds;
737
+ this.pos = 0;
738
+ this.posOut = 0;
739
+ this.finished = false;
740
+ this.destroyed = false;
741
+ // Can be passed from user as dkLen
742
+ _assert_js_1.default.number(outputLen);
743
+ // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes
744
+ if (0 >= this.blockLen || this.blockLen >= 200)
745
+ throw new Error('Sha3 supports only keccak-f1600 function');
746
+ this.state = new Uint8Array(200);
747
+ this.state32 = (0, utils_js_1.u32)(this.state);
748
+ }
749
+ keccak() {
750
+ keccakP(this.state32, this.rounds);
751
+ this.posOut = 0;
752
+ this.pos = 0;
753
+ }
754
+ update(data) {
755
+ _assert_js_1.default.exists(this);
756
+ const { blockLen, state } = this;
757
+ data = (0, utils_js_1.toBytes)(data);
758
+ const len = data.length;
759
+ for (let pos = 0; pos < len;) {
760
+ const take = Math.min(blockLen - this.pos, len - pos);
761
+ for (let i = 0; i < take; i++)
762
+ state[this.pos++] ^= data[pos++];
763
+ if (this.pos === blockLen)
764
+ this.keccak();
765
+ }
766
+ return this;
767
+ }
768
+ finish() {
769
+ if (this.finished)
770
+ return;
771
+ this.finished = true;
772
+ const { state, suffix, pos, blockLen } = this;
773
+ // Do the padding
774
+ state[pos] ^= suffix;
775
+ if ((suffix & 0x80) !== 0 && pos === blockLen - 1)
776
+ this.keccak();
777
+ state[blockLen - 1] ^= 0x80;
778
+ this.keccak();
779
+ }
780
+ writeInto(out) {
781
+ _assert_js_1.default.exists(this, false);
782
+ _assert_js_1.default.bytes(out);
783
+ this.finish();
784
+ const bufferOut = this.state;
785
+ const { blockLen } = this;
786
+ for (let pos = 0, len = out.length; pos < len;) {
787
+ if (this.posOut >= blockLen)
788
+ this.keccak();
789
+ const take = Math.min(blockLen - this.posOut, len - pos);
790
+ out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
791
+ this.posOut += take;
792
+ pos += take;
793
+ }
794
+ return out;
795
+ }
796
+ xofInto(out) {
797
+ // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF
798
+ if (!this.enableXOF)
799
+ throw new Error('XOF is not possible for this instance');
800
+ return this.writeInto(out);
801
+ }
802
+ xof(bytes) {
803
+ _assert_js_1.default.number(bytes);
804
+ return this.xofInto(new Uint8Array(bytes));
805
+ }
806
+ digestInto(out) {
807
+ _assert_js_1.default.output(out, this);
808
+ if (this.finished)
809
+ throw new Error('digest() was already called');
810
+ this.writeInto(out);
811
+ this.destroy();
812
+ return out;
813
+ }
814
+ digest() {
815
+ return this.digestInto(new Uint8Array(this.outputLen));
816
+ }
817
+ destroy() {
818
+ this.destroyed = true;
819
+ this.state.fill(0);
820
+ }
821
+ _cloneInto(to) {
822
+ const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
823
+ to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));
824
+ to.state32.set(this.state32);
825
+ to.pos = this.pos;
826
+ to.posOut = this.posOut;
827
+ to.finished = this.finished;
828
+ to.rounds = rounds;
829
+ // Suffix can change in cSHAKE
830
+ to.suffix = suffix;
831
+ to.outputLen = outputLen;
832
+ to.enableXOF = enableXOF;
833
+ to.destroyed = this.destroyed;
834
+ return to;
835
+ }
836
+ }
837
+ exports.Keccak = Keccak;
838
+ const gen = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructor)(() => new Keccak(blockLen, suffix, outputLen));
839
+ exports.sha3_224 = gen(0x06, 144, 224 / 8);
840
+ /**
841
+ * SHA3-256 hash function
842
+ * @param message - that would be hashed
843
+ */
844
+ exports.sha3_256 = gen(0x06, 136, 256 / 8);
845
+ exports.sha3_384 = gen(0x06, 104, 384 / 8);
846
+ exports.sha3_512 = gen(0x06, 72, 512 / 8);
847
+ exports.keccak_224 = gen(0x01, 144, 224 / 8);
848
+ /**
849
+ * keccak-256 hash function. Different from SHA3-256.
850
+ * @param message - that would be hashed
851
+ */
852
+ exports.keccak_256 = gen(0x01, 136, 256 / 8);
853
+ exports.keccak_384 = gen(0x01, 104, 384 / 8);
854
+ exports.keccak_512 = gen(0x01, 72, 512 / 8);
855
+ const genShake = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructorWithOpts)((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));
856
+ exports.shake128 = genShake(0x1f, 168, 128 / 8);
857
+ exports.shake256 = genShake(0x1f, 136, 256 / 8);
858
+
859
+
860
+ /***/ }),
861
+
862
+ /***/ 64:
863
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
864
+
865
+ "use strict";
866
+
867
+ /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
868
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
869
+ exports.randomBytes = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.isLE = exports.rotr = exports.createView = exports.u32 = exports.u8 = void 0;
870
+ // The import here is via the package name. This is to ensure
871
+ // that exports mapping/resolution does fall into place.
872
+ const crypto_1 = __webpack_require__(4661);
873
+ // Cast array to different type
874
+ const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);
875
+ exports.u8 = u8;
876
+ const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
877
+ exports.u32 = u32;
878
+ // Cast array to view
879
+ const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
880
+ exports.createView = createView;
881
+ // The rotate right (circular right shift) operation for uint32
882
+ const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);
883
+ exports.rotr = rotr;
884
+ exports.isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;
885
+ // There is almost no big endian hardware, but js typed arrays uses platform specific endianness.
886
+ // So, just to be sure not to corrupt anything.
887
+ if (!exports.isLE)
888
+ throw new Error('Non little-endian hardware is not supported');
889
+ const hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));
890
+ /**
891
+ * @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef]))
892
+ */
893
+ function bytesToHex(uint8a) {
894
+ // pre-caching improves the speed 6x
895
+ if (!(uint8a instanceof Uint8Array))
896
+ throw new Error('Uint8Array expected');
897
+ let hex = '';
898
+ for (let i = 0; i < uint8a.length; i++) {
899
+ hex += hexes[uint8a[i]];
900
+ }
901
+ return hex;
902
+ }
903
+ exports.bytesToHex = bytesToHex;
904
+ /**
905
+ * @example hexToBytes('deadbeef')
906
+ */
907
+ function hexToBytes(hex) {
908
+ if (typeof hex !== 'string') {
909
+ throw new TypeError('hexToBytes: expected string, got ' + typeof hex);
910
+ }
911
+ if (hex.length % 2)
912
+ throw new Error('hexToBytes: received invalid unpadded hex');
913
+ const array = new Uint8Array(hex.length / 2);
914
+ for (let i = 0; i < array.length; i++) {
915
+ const j = i * 2;
916
+ const hexByte = hex.slice(j, j + 2);
917
+ const byte = Number.parseInt(hexByte, 16);
918
+ if (Number.isNaN(byte) || byte < 0)
919
+ throw new Error('Invalid byte sequence');
920
+ array[i] = byte;
921
+ }
922
+ return array;
923
+ }
924
+ exports.hexToBytes = hexToBytes;
925
+ // There is no setImmediate in browser and setTimeout is slow. However, call to async function will return Promise
926
+ // which will be fullfiled only on next scheduler queue processing step and this is exactly what we need.
927
+ const nextTick = async () => { };
928
+ exports.nextTick = nextTick;
929
+ // Returns control to thread each 'tick' ms to avoid blocking
930
+ async function asyncLoop(iters, tick, cb) {
931
+ let ts = Date.now();
932
+ for (let i = 0; i < iters; i++) {
933
+ cb(i);
934
+ // Date.now() is not monotonic, so in case if clock goes backwards we return return control too
935
+ const diff = Date.now() - ts;
936
+ if (diff >= 0 && diff < tick)
937
+ continue;
938
+ await (0, exports.nextTick)();
939
+ ts += diff;
940
+ }
941
+ }
942
+ exports.asyncLoop = asyncLoop;
943
+ function utf8ToBytes(str) {
944
+ if (typeof str !== 'string') {
945
+ throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);
946
+ }
947
+ return new TextEncoder().encode(str);
948
+ }
949
+ exports.utf8ToBytes = utf8ToBytes;
950
+ function toBytes(data) {
951
+ if (typeof data === 'string')
952
+ data = utf8ToBytes(data);
953
+ if (!(data instanceof Uint8Array))
954
+ throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);
955
+ return data;
956
+ }
957
+ exports.toBytes = toBytes;
958
+ /**
959
+ * Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`
960
+ * @example concatBytes(buf1, buf2)
961
+ */
962
+ function concatBytes(...arrays) {
963
+ if (!arrays.every((a) => a instanceof Uint8Array))
964
+ throw new Error('Uint8Array list expected');
965
+ if (arrays.length === 1)
966
+ return arrays[0];
967
+ const length = arrays.reduce((a, arr) => a + arr.length, 0);
968
+ const result = new Uint8Array(length);
969
+ for (let i = 0, pad = 0; i < arrays.length; i++) {
970
+ const arr = arrays[i];
971
+ result.set(arr, pad);
972
+ pad += arr.length;
973
+ }
974
+ return result;
975
+ }
976
+ exports.concatBytes = concatBytes;
977
+ // For runtime check if class implements interface
978
+ class Hash {
979
+ // Safe version that clones internal state
980
+ clone() {
981
+ return this._cloneInto();
982
+ }
983
+ }
984
+ exports.Hash = Hash;
985
+ // Check if object doens't have custom constructor (like Uint8Array/Array)
986
+ const isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;
987
+ function checkOpts(defaults, opts) {
988
+ if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))
989
+ throw new TypeError('Options should be object or undefined');
990
+ const merged = Object.assign(defaults, opts);
991
+ return merged;
992
+ }
993
+ exports.checkOpts = checkOpts;
994
+ function wrapConstructor(hashConstructor) {
995
+ const hashC = (message) => hashConstructor().update(toBytes(message)).digest();
996
+ const tmp = hashConstructor();
997
+ hashC.outputLen = tmp.outputLen;
998
+ hashC.blockLen = tmp.blockLen;
999
+ hashC.create = () => hashConstructor();
1000
+ return hashC;
1001
+ }
1002
+ exports.wrapConstructor = wrapConstructor;
1003
+ function wrapConstructorWithOpts(hashCons) {
1004
+ const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();
1005
+ const tmp = hashCons({});
1006
+ hashC.outputLen = tmp.outputLen;
1007
+ hashC.blockLen = tmp.blockLen;
1008
+ hashC.create = (opts) => hashCons(opts);
1009
+ return hashC;
1010
+ }
1011
+ exports.wrapConstructorWithOpts = wrapConstructorWithOpts;
1012
+ /**
1013
+ * Secure PRNG
1014
+ */
1015
+ function randomBytes(bytesLength = 32) {
1016
+ if (crypto_1.crypto.web) {
1017
+ return crypto_1.crypto.web.getRandomValues(new Uint8Array(bytesLength));
1018
+ }
1019
+ else if (crypto_1.crypto.node) {
1020
+ return new Uint8Array(crypto_1.crypto.node.randomBytes(bytesLength).buffer);
1021
+ }
1022
+ else {
1023
+ throw new Error("The environment doesn't have randomBytes function");
1024
+ }
1025
+ }
1026
+ exports.randomBytes = randomBytes;
1027
+
1028
+
1029
+ /***/ }),
1030
+
14
1031
  /***/ 7408:
15
1032
  /***/ ((module) => {
16
1033
 
@@ -4031,11 +5048,17 @@ var axios = __webpack_require__(9644);
4031
5048
 
4032
5049
  var BigNumber = __webpack_require__(6391);
4033
5050
 
4034
- var sha256 = __webpack_require__(1965);
5051
+ var utils = __webpack_require__(64);
5052
+
5053
+ var blake2s = __webpack_require__(9467);
5054
+
5055
+ var sha256 = __webpack_require__(6053);
5056
+
5057
+ var JSZip = __webpack_require__(1297);
4035
5058
 
4036
5059
  var hdTransport = __webpack_require__(7495);
4037
5060
 
4038
- var sha3 = __webpack_require__(3669);
5061
+ var sha3 = __webpack_require__(125);
4039
5062
 
4040
5063
  function _interopDefaultLegacy(e) {
4041
5064
  return e && typeof e === 'object' && 'default' in e ? e : {
@@ -4049,9 +5072,7 @@ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
4049
5072
 
4050
5073
  var BigNumber__default = /*#__PURE__*/_interopDefaultLegacy(BigNumber);
4051
5074
 
4052
- var sha256__default = /*#__PURE__*/_interopDefaultLegacy(sha256);
4053
-
4054
- var sha3__default = /*#__PURE__*/_interopDefaultLegacy(sha3);
5075
+ var JSZip__default = /*#__PURE__*/_interopDefaultLegacy(JSZip);
4055
5076
 
4056
5077
  const inject = ({
4057
5078
  call,
@@ -4086,11 +5107,6 @@ const inject = ({
4086
5107
  connectId,
4087
5108
  method: 'getFeatures'
4088
5109
  }),
4089
- batchGetPublicKey: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), {
4090
- connectId,
4091
- deviceId,
4092
- method: 'batchGetPublicKey'
4093
- })),
4094
5110
  checkFirmwareRelease: connectId => call({
4095
5111
  connectId,
4096
5112
  method: 'checkFirmwareRelease'
@@ -4142,6 +5158,10 @@ const inject = ({
4142
5158
  connectId,
4143
5159
  method: 'deviceUpdateReboot'
4144
5160
  }),
5161
+ deviceUploadResource: (connectId, params) => call(Object.assign(Object.assign({}, params), {
5162
+ connectId,
5163
+ method: 'deviceUploadResource'
5164
+ })),
4145
5165
  deviceSupportFeatures: connectId => call({
4146
5166
  connectId,
4147
5167
  method: 'deviceSupportFeatures'
@@ -4334,6 +5354,11 @@ const inject = ({
4334
5354
  deviceId,
4335
5355
  method: 'aptosGetAddress'
4336
5356
  })),
5357
+ aptosGetPublicKey: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), {
5358
+ connectId,
5359
+ deviceId,
5360
+ method: 'aptosGetPublicKey'
5361
+ })),
4337
5362
  aptosSignTransaction: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), {
4338
5363
  connectId,
4339
5364
  deviceId,
@@ -10167,7 +11192,7 @@ var nested = {
10167
11192
  }
10168
11193
  }
10169
11194
  },
10170
- BixinReboot: {
11195
+ DeviceBackToBoot: {
10171
11196
  fields: {}
10172
11197
  },
10173
11198
  BixinBackupRequest: {
@@ -10437,6 +11462,104 @@ var nested = {
10437
11462
  }
10438
11463
  }
10439
11464
  },
11465
+ ResourceUpload: {
11466
+ fields: {
11467
+ extension: {
11468
+ rule: "required",
11469
+ type: "string",
11470
+ id: 1
11471
+ },
11472
+ data_length: {
11473
+ rule: "required",
11474
+ type: "uint32",
11475
+ id: 2
11476
+ },
11477
+ res_type: {
11478
+ rule: "required",
11479
+ type: "ResourceType",
11480
+ id: 3
11481
+ },
11482
+ zoom_data_length: {
11483
+ rule: "required",
11484
+ type: "uint32",
11485
+ id: 5
11486
+ },
11487
+ nft_meta_data: {
11488
+ type: "bytes",
11489
+ id: 4
11490
+ }
11491
+ },
11492
+ nested: {
11493
+ ResourceType: {
11494
+ values: {
11495
+ WallPaper: 0,
11496
+ Nft: 1
11497
+ }
11498
+ }
11499
+ }
11500
+ },
11501
+ ZoomRequest: {
11502
+ fields: {
11503
+ offset: {
11504
+ type: "uint32",
11505
+ id: 1
11506
+ },
11507
+ data_length: {
11508
+ rule: "required",
11509
+ type: "uint32",
11510
+ id: 2
11511
+ }
11512
+ }
11513
+ },
11514
+ ResourceRequest: {
11515
+ fields: {
11516
+ offset: {
11517
+ type: "uint32",
11518
+ id: 1
11519
+ },
11520
+ data_length: {
11521
+ rule: "required",
11522
+ type: "uint32",
11523
+ id: 2
11524
+ }
11525
+ }
11526
+ },
11527
+ ResourceAck: {
11528
+ fields: {
11529
+ data_chunk: {
11530
+ rule: "required",
11531
+ type: "bytes",
11532
+ id: 1
11533
+ },
11534
+ hash: {
11535
+ type: "bytes",
11536
+ id: 2
11537
+ }
11538
+ }
11539
+ },
11540
+ ResourceUpdate: {
11541
+ fields: {
11542
+ file_name: {
11543
+ rule: "required",
11544
+ type: "string",
11545
+ id: 1
11546
+ },
11547
+ data_length: {
11548
+ rule: "required",
11549
+ type: "uint32",
11550
+ id: 2
11551
+ },
11552
+ initial_data_chunk: {
11553
+ rule: "required",
11554
+ type: "bytes",
11555
+ id: 3
11556
+ },
11557
+ hash: {
11558
+ type: "bytes",
11559
+ id: 4
11560
+ }
11561
+ }
11562
+ },
10440
11563
  NFTWriteInfo: {
10441
11564
  fields: {
10442
11565
  index: {
@@ -11433,6 +12556,7 @@ var nested = {
11433
12556
  }
11434
12557
  },
11435
12558
  raw_tx: {
12559
+ rule: "required",
11436
12560
  type: "bytes",
11437
12561
  id: 2
11438
12562
  }
@@ -13561,16 +14685,6 @@ var nested = {
13561
14685
  MessageType_StarcoinSignMessage: 10306,
13562
14686
  MessageType_StarcoinMessageSignature: 10307,
13563
14687
  MessageType_StarcoinVerifyMessage: 10308,
13564
- MessageType_ConfluxGetAddress: 10401,
13565
- MessageType_ConfluxAddress: 10402,
13566
- MessageType_ConfluxSignTx: 10403,
13567
- MessageType_ConfluxTxRequest: 10404,
13568
- MessageType_ConfluxTxAck: 10405,
13569
- MessageType_ConfluxSignMessage: 10406,
13570
- MessageType_ConfluxSignMessageCIP23: 10407,
13571
- MessageType_ConfluxMessageSignature: 10408,
13572
- MessageType_ConfluxVerifyMessage: 10409,
13573
- MessageType_ConfluxVerifyMessageCIP23: 10410,
13574
14688
  MessageType_AptosGetAddress: 10600,
13575
14689
  MessageType_AptosAddress: 10601,
13576
14690
  MessageType_AptosSignTx: 10602,
@@ -13581,7 +14695,6 @@ var nested = {
13581
14695
  MessageType_WebAuthnRemoveResidentCredential: 803,
13582
14696
  MessageType_BixinSeedOperate: 901,
13583
14697
  MessageType_BixinMessageSE: 902,
13584
- MessageType_BixinReboot: 903,
13585
14698
  MessageType_BixinOutMessageSE: 904,
13586
14699
  MessageType_BixinBackupRequest: 905,
13587
14700
  MessageType_BixinBackupAck: 906,
@@ -13598,6 +14711,14 @@ var nested = {
13598
14711
  MessageType_EthereumSignMessageEIP712: 10200,
13599
14712
  MessageType_GetPublicKeyMultiple: 10210,
13600
14713
  MessageType_PublicKeyMultiple: 10211,
14714
+ MessageType_ConfluxGetAddress: 10112,
14715
+ MessageType_ConfluxAddress: 10113,
14716
+ MessageType_ConfluxSignTx: 10114,
14717
+ MessageType_ConfluxTxRequest: 10115,
14718
+ MessageType_ConfluxTxAck: 10116,
14719
+ MessageType_ConfluxSignMessage: 10117,
14720
+ MessageType_ConfluxSignMessageCIP23: 10118,
14721
+ MessageType_ConfluxMessageSignature: 10119,
13601
14722
  MessageType_TronGetAddress: 10501,
13602
14723
  MessageType_TronAddress: 10502,
13603
14724
  MessageType_TronSignTx: 10503,
@@ -13608,6 +14729,7 @@ var nested = {
13608
14729
  MessageType_NearAddress: 10702,
13609
14730
  MessageType_NearSignTx: 10703,
13610
14731
  MessageType_NearSignedTx: 10704,
14732
+ MessageType_DeviceBackToBoot: 903,
13611
14733
  MessageType_DeviceInfoSettings: 10001,
13612
14734
  MessageType_GetDeviceInfo: 10002,
13613
14735
  MessageType_DeviceInfo: 10003,
@@ -13622,7 +14744,12 @@ var nested = {
13622
14744
  MessageType_SESignMessage: 10012,
13623
14745
  MessageType_SEMessageSignature: 10013,
13624
14746
  MessageType_NFTWriteInfo: 10014,
13625
- MessageType_NFTWriteData: 10015
14747
+ MessageType_NFTWriteData: 10015,
14748
+ MessageType_ResourceUpload: 10018,
14749
+ MessageType_ZoomRequest: 10019,
14750
+ MessageType_ResourceRequest: 10020,
14751
+ MessageType_ResourceAck: 10021,
14752
+ MessageType_ResourceUpdate: 10022
13626
14753
  }
13627
14754
  },
13628
14755
  google: {
@@ -14444,7 +15571,7 @@ const createLogMessage = (type, payload) => ({
14444
15571
  const MAX_ENTRIES = 500;
14445
15572
  let postMessage$1;
14446
15573
 
14447
- class Log$8 {
15574
+ class Log$9 {
14448
15575
  constructor(prefix, enabled) {
14449
15576
  this.prefix = prefix;
14450
15577
  this.enabled = enabled;
@@ -14513,7 +15640,7 @@ class Log$8 {
14513
15640
  const _logs = {};
14514
15641
 
14515
15642
  const initLog = (prefix, enabled) => {
14516
- const instance = new Log$8(prefix, !!enabled);
15643
+ const instance = new Log$9(prefix, !!enabled);
14517
15644
  _logs[prefix] = instance;
14518
15645
  return instance;
14519
15646
  };
@@ -14643,6 +15770,16 @@ const getReleaseChangelog = (releases, currentVersion) => {
14643
15770
  return newVersions.map(r => r.changelog);
14644
15771
  };
14645
15772
 
15773
+ const findLatestRelease = releases => {
15774
+ let leastRelease = releases[0];
15775
+ releases.forEach(release => {
15776
+ if (semver__default["default"].gt(release.version.join('.'), leastRelease.version.join('.'))) {
15777
+ leastRelease = release;
15778
+ }
15779
+ });
15780
+ return leastRelease;
15781
+ };
15782
+
14646
15783
  var _a;
14647
15784
 
14648
15785
  class DataManager {
@@ -14726,6 +15863,18 @@ DataManager.getFirmwareStatus = features => {
14726
15863
  return getReleaseStatus(targetDeviceConfigList, currentVersion);
14727
15864
  };
14728
15865
 
15866
+ DataManager.getSysResourcesLatestRelease = features => {
15867
+ var _b, _c, _d;
15868
+
15869
+ const deviceType = getDeviceType(features);
15870
+ const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
15871
+ if (deviceType !== 'pro' && deviceType !== 'touch') return undefined;
15872
+ const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
15873
+ const currentVersion = deviceFirmwareVersion.join('.');
15874
+ const targetDeviceConfig = targetDeviceConfigList.filter(item => semver__default["default"].gt(item.version.join('.'), currentVersion) && !!item.resource);
15875
+ return (_d = findLatestRelease(targetDeviceConfig)) === null || _d === void 0 ? void 0 : _d.resource;
15876
+ };
15877
+
14729
15878
  DataManager.getFirmwareChangelog = features => {
14730
15879
  var _b, _c;
14731
15880
 
@@ -14741,12 +15890,23 @@ DataManager.getFirmwareChangelog = features => {
14741
15890
  return getReleaseChangelog(targetDeviceConfigList, currentVersion);
14742
15891
  };
14743
15892
 
14744
- DataManager.getFirmwareLeatestRelease = features => {
15893
+ DataManager.getFirmwareLatestRelease = features => {
14745
15894
  var _b, _c;
14746
15895
 
14747
15896
  const deviceType = getDeviceType(features);
14748
15897
  const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
14749
- return targetDeviceConfigList[targetDeviceConfigList.length - 1];
15898
+ const target = findLatestRelease(targetDeviceConfigList);
15899
+ if (!target) return target;
15900
+
15901
+ if (!target.resource) {
15902
+ const resource = _a.getSysResourcesLatestRelease(features);
15903
+
15904
+ return Object.assign(Object.assign({}, target), {
15905
+ resource
15906
+ });
15907
+ }
15908
+
15909
+ return target;
14750
15910
  };
14751
15911
 
14752
15912
  DataManager.getBLEFirmwareStatus = features => {
@@ -14779,12 +15939,12 @@ DataManager.getBleFirmwareChangelog = features => {
14779
15939
  return getReleaseChangelog(targetDeviceConfigList, currentVersion);
14780
15940
  };
14781
15941
 
14782
- DataManager.getBleFirmwareLeatestRelease = features => {
15942
+ DataManager.getBleFirmwareLatestRelease = features => {
14783
15943
  var _b, _c;
14784
15944
 
14785
15945
  const deviceType = getDeviceType(features);
14786
15946
  const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.ble) !== null && _c !== void 0 ? _c : [];
14787
- return targetDeviceConfigList[targetDeviceConfigList.length - 1];
15947
+ return findLatestRelease(targetDeviceConfigList);
14788
15948
  };
14789
15949
 
14790
15950
  DataManager.getTransportStatus = localVersion => {
@@ -14934,7 +16094,7 @@ const createFirmwareMessage = (type, payload) => ({
14934
16094
  payload
14935
16095
  });
14936
16096
 
14937
- const Log$7 = getLogger(exports.d0.DevicePool);
16097
+ const Log$8 = getLogger(exports.d0.DevicePool);
14938
16098
 
14939
16099
  const getDiff = (current, descriptors) => {
14940
16100
  const connected = descriptors.filter(d => current.find(x => x.path === d.path) === undefined);
@@ -14987,7 +16147,7 @@ class DevicePool extends events.exports {
14987
16147
  var e_1, _a;
14988
16148
 
14989
16149
  return __awaiter(this, void 0, void 0, function* () {
14990
- Log$7.debug('get device list: connectId: ', connectId);
16150
+ Log$8.debug('get device list: connectId: ', connectId);
14991
16151
  const devices = {};
14992
16152
  const deviceList = [];
14993
16153
 
@@ -14998,7 +16158,7 @@ class DevicePool extends events.exports {
14998
16158
  const exist = descriptorList.find(d => d.path === device.originalDescriptor.path);
14999
16159
 
15000
16160
  if (exist) {
15001
- Log$7.debug('find existed Device: ', connectId);
16161
+ Log$8.debug('find existed Device: ', connectId);
15002
16162
  device.updateDescriptor(exist, true);
15003
16163
  devices[connectId] = device;
15004
16164
  deviceList.push(device);
@@ -15009,7 +16169,7 @@ class DevicePool extends events.exports {
15009
16169
  };
15010
16170
  }
15011
16171
 
15012
- Log$7.debug('found device in cache, but path is different: ', connectId);
16172
+ Log$8.debug('found device in cache, but path is different: ', connectId);
15013
16173
  }
15014
16174
  }
15015
16175
 
@@ -15055,8 +16215,8 @@ class DevicePool extends events.exports {
15055
16215
  }
15056
16216
 
15057
16217
  static clearDeviceCache(connectId) {
15058
- Log$7.debug('clear device pool cache: connectId', connectId);
15059
- Log$7.debug('clear device pool cache: ', this.devicesCache);
16218
+ Log$8.debug('clear device pool cache: connectId', connectId);
16219
+ Log$8.debug('clear device pool cache: ', this.devicesCache);
15060
16220
 
15061
16221
  if (connectId) {
15062
16222
  delete this.devicesCache[connectId];
@@ -15092,7 +16252,7 @@ class DevicePool extends events.exports {
15092
16252
  for (let i = this.connectedPool.length - 1; i >= 0; i--) {
15093
16253
  const descriptor = this.connectedPool[i];
15094
16254
  const device = yield this._createDevice(descriptor, initOptions);
15095
- Log$7.debug('emit DEVICE.CONNECT: ', device);
16255
+ Log$8.debug('emit DEVICE.CONNECT: ', device);
15096
16256
  this.emitter.emit(DEVICE.CONNECT, device);
15097
16257
  this.connectedPool.splice(i, 1);
15098
16258
  }
@@ -15133,7 +16293,7 @@ class DevicePool extends events.exports {
15133
16293
  return;
15134
16294
  }
15135
16295
 
15136
- Log$7.debug('emit DEVICE.CONNECT: ', device);
16296
+ Log$8.debug('emit DEVICE.CONNECT: ', device);
15137
16297
  this.emitter.emit(DEVICE.CONNECT, device);
15138
16298
  });
15139
16299
  diff.disconnected.forEach(d => {
@@ -15147,7 +16307,7 @@ class DevicePool extends events.exports {
15147
16307
  return;
15148
16308
  }
15149
16309
 
15150
- Log$7.debug('emit DEVICE.DISCONNECT: ', device);
16310
+ Log$8.debug('emit DEVICE.DISCONNECT: ', device);
15151
16311
  this.emitter.emit(DEVICE.DISCONNECT, device);
15152
16312
  });
15153
16313
  }
@@ -15194,13 +16354,13 @@ DevicePool.connectedPool = [];
15194
16354
  DevicePool.disconnectPool = [];
15195
16355
  DevicePool.devicesCache = {};
15196
16356
  DevicePool.emitter = new events.exports();
15197
- const Log$6 = getLogger(exports.d0.Transport);
16357
+ const Log$7 = getLogger(exports.d0.Transport);
15198
16358
  const BleLogger = getLogger(exports.d0.HdBleTransport);
15199
16359
  const HttpLogger = getLogger(exports.d0.HdTransportHttp);
15200
16360
 
15201
16361
  class TransportManager {
15202
16362
  static load() {
15203
- Log$6.debug('transport manager load');
16363
+ Log$7.debug('transport manager load');
15204
16364
  this.defaultMessages = DataManager.getProtobufMessages();
15205
16365
  this.currentMessages = this.defaultMessages;
15206
16366
  }
@@ -15209,24 +16369,24 @@ class TransportManager {
15209
16369
  return __awaiter(this, void 0, void 0, function* () {
15210
16370
  try {
15211
16371
  const env = DataManager.getSettings('env');
15212
- Log$6.debug('Initializing transports');
16372
+ Log$7.debug('Initializing transports');
15213
16373
 
15214
16374
  if (env === 'react-native') {
15215
16375
  if (!this.reactNativeInit) {
15216
16376
  yield this.transport.init(BleLogger, DevicePool.emitter);
15217
16377
  this.reactNativeInit = true;
15218
16378
  } else {
15219
- Log$6.debug('React Native Do Not Initializing transports');
16379
+ Log$7.debug('React Native Do Not Initializing transports');
15220
16380
  }
15221
16381
  } else {
15222
16382
  yield this.transport.init(HttpLogger);
15223
16383
  }
15224
16384
 
15225
- Log$6.debug('Configuring transports');
16385
+ Log$7.debug('Configuring transports');
15226
16386
  yield this.transport.configure(JSON.stringify(this.defaultMessages));
15227
- Log$6.debug('Configuring transports done');
16387
+ Log$7.debug('Configuring transports done');
15228
16388
  } catch (error) {
15229
- Log$6.debug('Initializing transports error: ', error);
16389
+ Log$7.debug('Initializing transports error: ', error);
15230
16390
 
15231
16391
  if (error.code === 'ECONNABORTED') {
15232
16392
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BridgeTimeoutError);
@@ -15265,7 +16425,7 @@ class TransportManager {
15265
16425
  this.transport = new TransportConstructor();
15266
16426
  }
15267
16427
 
15268
- Log$6.debug('set transport: ', this.transport);
16428
+ Log$7.debug('set transport: ', this.transport);
15269
16429
  }
15270
16430
 
15271
16431
  static getTransport() {
@@ -15292,7 +16452,7 @@ const assertType = (res, resType) => {
15292
16452
  }
15293
16453
  };
15294
16454
 
15295
- const Log$5 = getLogger(exports.d0.DeviceCommands);
16455
+ const Log$6 = getLogger(exports.d0.DeviceCommands);
15296
16456
 
15297
16457
  class DeviceCommands {
15298
16458
  constructor(device, mainId) {
@@ -15321,16 +16481,16 @@ class DeviceCommands {
15321
16481
  var _a, _b;
15322
16482
 
15323
16483
  return __awaiter(this, void 0, void 0, function* () {
15324
- Log$5.debug('[DeviceCommands] [call] Sending', type);
16484
+ Log$6.debug('[DeviceCommands] [call] Sending', type);
15325
16485
 
15326
16486
  try {
15327
16487
  const promise = this.transport.call(this.mainId, type, msg);
15328
16488
  this.callPromise = promise;
15329
16489
  const res = yield promise;
15330
- Log$5.debug('[DeviceCommands] [call] Received', res.type);
16490
+ Log$6.debug('[DeviceCommands] [call] Received', res.type);
15331
16491
  return res;
15332
16492
  } catch (error) {
15333
- Log$5.debug('[DeviceCommands] [call] Received error', error);
16493
+ Log$6.debug('[DeviceCommands] [call] Received error', error);
15334
16494
 
15335
16495
  if (((_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) === 'device disconnected during action') {
15336
16496
  return {
@@ -15355,7 +16515,7 @@ class DeviceCommands {
15355
16515
  try {
15356
16516
  assertType(response, resType);
15357
16517
  } catch (error) {
15358
- Log$5.debug('DeviceCommands typedcall error: ', error);
16518
+ Log$6.debug('DeviceCommands typedcall error: ', error);
15359
16519
 
15360
16520
  if (error instanceof hdShared.HardwareError) {
15361
16521
  if (error.errorCode === hdShared.HardwareErrorCode.ResponseUnexpectTypeError) {
@@ -15380,7 +16540,7 @@ class DeviceCommands {
15380
16540
  }
15381
16541
 
15382
16542
  _filterCommonTypes(res, callType) {
15383
- Log$5.debug('_filterCommonTypes: ', res);
16543
+ Log$6.debug('_filterCommonTypes: ', res);
15384
16544
 
15385
16545
  if (res.type === 'Failure') {
15386
16546
  const {
@@ -15506,7 +16666,7 @@ class DeviceCommands {
15506
16666
  }
15507
16667
  });
15508
16668
  } else {
15509
- Log$5.error('[DeviceCommands] [call] Passphrase callback not configured, cancelling request');
16669
+ Log$6.error('[DeviceCommands] [call] Passphrase callback not configured, cancelling request');
15510
16670
  reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, '_promptPassphrase: Passphrase callback not configured'));
15511
16671
  }
15512
16672
  });
@@ -15633,7 +16793,7 @@ const parseRunOptions = options => {
15633
16793
  return options;
15634
16794
  };
15635
16795
 
15636
- const Log$4 = getLogger(exports.d0.Device);
16796
+ const Log$5 = getLogger(exports.d0.Device);
15637
16797
  const deviceSessionCache = {};
15638
16798
 
15639
16799
  class Device extends events.exports {
@@ -15721,10 +16881,10 @@ class Device extends events.exports {
15721
16881
  if (env === 'react-native') {
15722
16882
  const res = yield (_a = this.deviceConnector) === null || _a === void 0 ? void 0 : _a.acquire(this.originalDescriptor.id);
15723
16883
  this.mainId = (_b = res.uuid) !== null && _b !== void 0 ? _b : '';
15724
- Log$4.debug('Expected uuid:', this.mainId);
16884
+ Log$5.debug('Expected uuid:', this.mainId);
15725
16885
  } else {
15726
16886
  this.mainId = yield (_c = this.deviceConnector) === null || _c === void 0 ? void 0 : _c.acquire(this.originalDescriptor.path, this.originalDescriptor.session);
15727
- Log$4.debug('Expected session id:', this.mainId);
16887
+ Log$5.debug('Expected session id:', this.mainId);
15728
16888
  }
15729
16889
 
15730
16890
  this.updateDescriptor({
@@ -15773,7 +16933,7 @@ class Device extends events.exports {
15773
16933
  session: null
15774
16934
  });
15775
16935
  } catch (err) {
15776
- Log$4.error('[Device] release error: ', err);
16936
+ Log$5.error('[Device] release error: ', err);
15777
16937
  } finally {
15778
16938
  this.needReloadDevice = true;
15779
16939
  }
@@ -15785,64 +16945,74 @@ class Device extends events.exports {
15785
16945
  return this.commands;
15786
16946
  }
15787
16947
 
16948
+ generateStateKey(deviceId, passphraseState) {
16949
+ if (passphraseState) {
16950
+ return `${deviceId}@${passphraseState}`;
16951
+ }
16952
+
16953
+ return deviceId;
16954
+ }
16955
+
15788
16956
  getInternalState(_deviceId) {
15789
16957
  var _a, _b;
15790
16958
 
15791
- Log$4.debug('getInternalState session param: ', `device_id: ${_deviceId}`, `features.device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
15792
- Log$4.debug('getInternalState session cache: ', deviceSessionCache);
16959
+ Log$5.debug('getInternalState session param: ', `device_id: ${_deviceId}`, `features.device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
16960
+ Log$5.debug('getInternalState session cache: ', deviceSessionCache);
15793
16961
  const deviceId = _deviceId || ((_b = this.features) === null || _b === void 0 ? void 0 : _b.device_id);
15794
16962
  if (!deviceId) return undefined;
15795
16963
  if (!this.passphraseState) return undefined;
15796
- const usePassKey = `${deviceId}@${this.passphraseState}`;
16964
+ const usePassKey = this.generateStateKey(deviceId, this.passphraseState);
16965
+ return deviceSessionCache[usePassKey];
16966
+ }
15797
16967
 
15798
- if (!deviceSessionCache[usePassKey]) {
15799
- const key = `${deviceId}`;
16968
+ tryFixInternalState(state, deviceId) {
16969
+ Log$5.debug('tryFixInternalState session param: ', `device_id: ${deviceId}`, `passphraseState: ${state}`);
16970
+ const key = `${deviceId}`;
16971
+ const session = deviceSessionCache[key];
15800
16972
 
15801
- if (deviceSessionCache[key]) {
15802
- deviceSessionCache[usePassKey] = deviceSessionCache[key];
15803
- }
16973
+ if (session) {
16974
+ deviceSessionCache[this.generateStateKey(deviceId, state)] = session;
16975
+ delete deviceSessionCache[key];
15804
16976
  }
15805
16977
 
15806
- return deviceSessionCache[usePassKey];
16978
+ Log$5.debug('tryFixInternalState session cache: ', deviceSessionCache);
15807
16979
  }
15808
16980
 
15809
16981
  setInternalState(state, initSession) {
15810
- var _a;
16982
+ var _a, _b;
15811
16983
 
15812
- Log$4.debug('setInternalState session param: ', `state: ${state}`, `initSession: ${initSession}`, `device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
16984
+ Log$5.debug('setInternalState session param: ', `state: ${state}`, `initSession: ${initSession}`, `device_id: ${(_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id}`, `passphraseState: ${this.passphraseState}`);
15813
16985
  if (!this.features) return;
15814
16986
  if (!this.passphraseState && !initSession) return;
15815
- let key = `${this.features.device_id}`;
15816
-
15817
- if (this.passphraseState) {
15818
- key += `@${this.passphraseState}`;
15819
- }
16987
+ const deviceId = (_b = this.features) === null || _b === void 0 ? void 0 : _b.device_id;
16988
+ if (!deviceId) return;
16989
+ const key = this.generateStateKey(deviceId, this.passphraseState);
15820
16990
 
15821
16991
  if (state) {
15822
16992
  deviceSessionCache[key] = state;
15823
16993
  }
15824
16994
 
15825
- Log$4.debug('setInternalState done session cache: ', deviceSessionCache);
16995
+ Log$5.debug('setInternalState done session cache: ', deviceSessionCache);
15826
16996
  }
15827
16997
 
15828
16998
  clearInternalState(_deviceId) {
15829
16999
  var _a;
15830
17000
 
15831
- Log$4.debug('clearInternalState param: ', _deviceId);
17001
+ Log$5.debug('clearInternalState param: ', _deviceId);
15832
17002
  const deviceId = _deviceId || ((_a = this.features) === null || _a === void 0 ? void 0 : _a.device_id);
15833
17003
  if (!deviceId) return;
15834
17004
  const key = `${deviceId}`;
15835
17005
  delete deviceSessionCache[key];
15836
17006
 
15837
17007
  if (this.passphraseState) {
15838
- const usePassKey = `${deviceId}@${this.passphraseState}`;
17008
+ const usePassKey = this.generateStateKey(deviceId, this.passphraseState);
15839
17009
  delete deviceSessionCache[usePassKey];
15840
17010
  }
15841
17011
  }
15842
17012
 
15843
17013
  initialize(options) {
15844
17014
  return __awaiter(this, void 0, void 0, function* () {
15845
- Log$4.debug('initialize param:', options);
17015
+ Log$5.debug('initialize param:', options);
15846
17016
  this.passphraseState = options === null || options === void 0 ? void 0 : options.passphraseState;
15847
17017
 
15848
17018
  if (options === null || options === void 0 ? void 0 : options.initSession) {
@@ -15856,7 +17026,7 @@ class Device extends events.exports {
15856
17026
  payload.session_id = internalState;
15857
17027
  }
15858
17028
 
15859
- Log$4.debug('initialize payload:', payload);
17029
+ Log$5.debug('initialize payload:', payload);
15860
17030
  const {
15861
17031
  message
15862
17032
  } = yield this.commands.typedCall('Initialize', 'Features', payload);
@@ -15923,7 +17093,7 @@ class Device extends events.exports {
15923
17093
  return __awaiter(this, void 0, void 0, function* () {
15924
17094
  if (this.runPromise) {
15925
17095
  yield this.interruptionFromOutside();
15926
- Log$4.debug('[Device] run error:', 'Device is running, but will cancel previous operate');
17096
+ Log$5.debug('[Device] run error:', 'Device is running, but will cancel previous operate');
15927
17097
  }
15928
17098
 
15929
17099
  options = parseRunOptions(options);
@@ -15976,7 +17146,7 @@ class Device extends events.exports {
15976
17146
  if (!this.keepSession && typeof options.keepSession !== 'boolean' || options.keepSession === false) {
15977
17147
  this.keepSession = false;
15978
17148
  yield this.release();
15979
- Log$4.debug('release device, mainId: ', this.mainId);
17149
+ Log$5.debug('release device, mainId: ', this.mainId);
15980
17150
  }
15981
17151
 
15982
17152
  if (this.runPromise) {
@@ -16159,7 +17329,7 @@ class DeviceList extends events.exports {
16159
17329
  const getFirmwareReleaseInfo = features => {
16160
17330
  const firmwareStatus = DataManager.getFirmwareStatus(features);
16161
17331
  const changelog = DataManager.getFirmwareChangelog(features);
16162
- const release = DataManager.getFirmwareLeatestRelease(features);
17332
+ const release = DataManager.getFirmwareLatestRelease(features);
16163
17333
  return {
16164
17334
  status: firmwareStatus,
16165
17335
  changelog,
@@ -16170,7 +17340,7 @@ const getFirmwareReleaseInfo = features => {
16170
17340
  const getBleFirmwareReleaseInfo = features => {
16171
17341
  const firmwareStatus = DataManager.getBLEFirmwareStatus(features);
16172
17342
  const changelog = DataManager.getBleFirmwareChangelog(features);
16173
- const release = DataManager.getBleFirmwareLeatestRelease(features);
17343
+ const release = DataManager.getBleFirmwareLatestRelease(features);
16174
17344
  return {
16175
17345
  status: firmwareStatus,
16176
17346
  changelog,
@@ -16178,7 +17348,7 @@ const getBleFirmwareReleaseInfo = features => {
16178
17348
  };
16179
17349
  };
16180
17350
 
16181
- const Log$3 = getLogger(exports.d0.Method);
17351
+ const Log$4 = getLogger(exports.d0.Method);
16182
17352
 
16183
17353
  class BaseMethod {
16184
17354
  constructor(message) {
@@ -16241,7 +17411,7 @@ class BaseMethod {
16241
17411
  }
16242
17412
 
16243
17413
  if (checkFlag && ((_c = this.device.features) === null || _c === void 0 ? void 0 : _c.safety_checks) === 'Strict') {
16244
- Log$3.debug('will change safety_checks level');
17414
+ Log$4.debug('will change safety_checks level');
16245
17415
  yield this.device.commands.typedCall('ApplySettings', 'Success', {
16246
17416
  safety_checks: 'PromptTemporarily'
16247
17417
  });
@@ -16326,6 +17496,10 @@ class GetPassphraseState extends BaseMethod {
16326
17496
  }
16327
17497
 
16328
17498
  if (features && features.passphrase_protection === true) {
17499
+ if (passphraseState && features.device_id) {
17500
+ this.device.tryFixInternalState(passphraseState, features.device_id);
17501
+ }
17502
+
16329
17503
  return Promise.resolve(passphraseState);
16330
17504
  }
16331
17505
 
@@ -16492,9 +17666,20 @@ const formatAnyHex = value => {
16492
17666
  return value;
16493
17667
  };
16494
17668
 
16495
- Array.from({
17669
+ const hexes = Array.from({
16496
17670
  length: 256
16497
- }, (v, i) => i.toString(16).padStart(2, '0'));
17671
+ }, (_, i) => i.toString(16).padStart(2, '0'));
17672
+
17673
+ function bytesToHex(uint8a) {
17674
+ if (!(uint8a instanceof Uint8Array)) throw new Error('Uint8Array expected');
17675
+ let hex = '';
17676
+
17677
+ for (let i = 0; i < uint8a.length; i++) {
17678
+ hex += hexes[uint8a[i]];
17679
+ }
17680
+
17681
+ return hex;
17682
+ }
16498
17683
 
16499
17684
  function hexToBytes(hex) {
16500
17685
  if (typeof hex !== 'string') {
@@ -16832,13 +18017,116 @@ class DeviceUpdateReboot extends BaseMethod {
16832
18017
 
16833
18018
  run() {
16834
18019
  return __awaiter(this, void 0, void 0, function* () {
16835
- const res = yield this.device.commands.typedCall('BixinReboot', 'Success');
18020
+ const res = yield this.device.commands.typedCall('DeviceBackToBoot', 'Success');
16836
18021
  return Promise.resolve(res.message);
16837
18022
  });
16838
18023
  }
16839
18024
 
16840
18025
  }
16841
18026
 
18027
+ class DeviceUploadResource extends BaseMethod {
18028
+ constructor() {
18029
+ super(...arguments);
18030
+ this.paramsData = {
18031
+ data: new Uint8Array(),
18032
+ thumbnailData: new Uint8Array()
18033
+ };
18034
+
18035
+ this.processResourceRequest = res => __awaiter(this, void 0, void 0, function* () {
18036
+ if (res.type === 'Success') {
18037
+ return res.message;
18038
+ }
18039
+
18040
+ const {
18041
+ offset,
18042
+ data_length
18043
+ } = res.message;
18044
+ const {
18045
+ data,
18046
+ thumbnailData
18047
+ } = this.paramsData;
18048
+
18049
+ if (offset === undefined) {
18050
+ throw new Error('offset is undefined');
18051
+ }
18052
+
18053
+ let payload;
18054
+
18055
+ if (res.type === 'ResourceRequest') {
18056
+ payload = new Uint8Array(data.slice(offset, Math.min(offset + data_length, data.byteLength)));
18057
+ } else {
18058
+ payload = new Uint8Array(thumbnailData.slice(offset, Math.min(offset + data_length, thumbnailData.byteLength)));
18059
+ }
18060
+
18061
+ const digest = blake2s.blake2s(payload);
18062
+ const resourceAckParams = {
18063
+ data_chunk: utils.bytesToHex(payload),
18064
+ hash: utils.bytesToHex(digest)
18065
+ };
18066
+ const response = yield this.device.commands.typedCall('ResourceAck', ['ResourceRequest', 'ZoomRequest', 'Success'], resourceAckParams);
18067
+ return this.processResourceRequest(response);
18068
+ });
18069
+ }
18070
+
18071
+ getVersionRange() {
18072
+ return {
18073
+ model_touch: {
18074
+ min: '3.2.0'
18075
+ }
18076
+ };
18077
+ }
18078
+
18079
+ init() {
18080
+ this.useDevicePassphraseState = false;
18081
+ validateParams(this.payload, [{
18082
+ name: 'suffix',
18083
+ type: 'string',
18084
+ required: true
18085
+ }, {
18086
+ name: 'dataHex',
18087
+ type: 'string',
18088
+ required: true
18089
+ }, {
18090
+ name: 'thumbnailDataHex',
18091
+ type: 'string',
18092
+ required: true
18093
+ }, {
18094
+ name: 'resType',
18095
+ type: 'number',
18096
+ required: true
18097
+ }, {
18098
+ name: 'nftMetaData',
18099
+ type: 'string'
18100
+ }]);
18101
+ const {
18102
+ suffix,
18103
+ dataHex,
18104
+ thumbnailDataHex,
18105
+ resType,
18106
+ nftMetaData
18107
+ } = this.payload;
18108
+ this.paramsData = {
18109
+ data: hexToBytes(dataHex),
18110
+ thumbnailData: hexToBytes(thumbnailDataHex)
18111
+ };
18112
+ this.params = {
18113
+ extension: suffix,
18114
+ data_length: this.paramsData.data.byteLength,
18115
+ zoom_data_length: this.paramsData.thumbnailData.byteLength,
18116
+ res_type: resType,
18117
+ nft_meta_data: nftMetaData
18118
+ };
18119
+ }
18120
+
18121
+ run() {
18122
+ return __awaiter(this, void 0, void 0, function* () {
18123
+ const res = yield this.device.commands.typedCall('ResourceUpload', ['ResourceRequest', 'ZoomRequest', 'Success'], this.params);
18124
+ return this.processResourceRequest(res);
18125
+ });
18126
+ }
18127
+
18128
+ }
18129
+
16842
18130
  class DeviceSupportFeatures extends BaseMethod {
16843
18131
  init() {
16844
18132
  this.useDevicePassphraseState = false;
@@ -16874,7 +18162,7 @@ class DeviceVerify extends BaseMethod {
16874
18162
 
16875
18163
  if (deviceType === 'classic') {
16876
18164
  const res = yield this.device.commands.typedCall('BixinVerifyDeviceRequest', 'BixinVerifyDeviceAck', Object.assign(Object.assign({}, this.params), {
16877
- data: sha256__default["default"].sha256(this.params.data)
18165
+ data: utils.bytesToHex(sha256.sha256(this.params.data))
16878
18166
  }));
16879
18167
  response = res.message;
16880
18168
  } else {
@@ -16941,20 +18229,36 @@ const getBinary = ({
16941
18229
  });
16942
18230
  });
16943
18231
 
18232
+ const getSysResourceBinary = url => __awaiter(void 0, void 0, void 0, function* () {
18233
+ let fw;
18234
+
18235
+ try {
18236
+ fw = yield httpRequest(url, 'binary');
18237
+ } catch (_b) {
18238
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'Method_FirmwareUpdate_DownloadFailed');
18239
+ }
18240
+
18241
+ return {
18242
+ binary: fw
18243
+ };
18244
+ });
18245
+
16944
18246
  const getInfo = ({
16945
18247
  features,
16946
18248
  updateType
16947
18249
  }) => {
16948
- var _a, _b, _c;
18250
+ var _a, _b;
16949
18251
 
16950
18252
  const deviceType = getDeviceType(features);
16951
18253
  const {
16952
18254
  deviceMap
16953
18255
  } = DataManager;
16954
- const releaseInfo = (_c = (_b = (_a = deviceMap === null || deviceMap === void 0 ? void 0 : deviceMap[deviceType]) === null || _a === void 0 ? void 0 : _a[updateType]) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : null;
16955
- return releaseInfo;
18256
+ const releaseInfo = (_b = (_a = deviceMap === null || deviceMap === void 0 ? void 0 : deviceMap[deviceType]) === null || _a === void 0 ? void 0 : _a[updateType]) !== null && _b !== void 0 ? _b : [];
18257
+ return findLatestRelease(releaseInfo);
16956
18258
  };
16957
18259
 
18260
+ const Log$3 = getLogger(exports.d0.Device);
18261
+
16958
18262
  const postConfirmationMessage = device => {
16959
18263
  var _a;
16960
18264
 
@@ -16981,6 +18285,12 @@ const postProgressTip = (device, message, postMessage) => {
16981
18285
  }));
16982
18286
  };
16983
18287
 
18288
+ const waitBleInstall = updateType => __awaiter(void 0, void 0, void 0, function* () {
18289
+ if (updateType === 'ble') {
18290
+ yield wait(10 * 1000);
18291
+ }
18292
+ });
18293
+
16984
18294
  const uploadFirmware = (updateType, typedCall, postMessage, device, {
16985
18295
  payload
16986
18296
  }) => __awaiter(void 0, void 0, void 0, function* () {
@@ -16999,6 +18309,7 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, {
16999
18309
  payload
17000
18310
  });
17001
18311
  postProgressMessage(device, 100, postMessage);
18312
+ yield waitBleInstall(updateType);
17002
18313
  return message;
17003
18314
  }
17004
18315
 
@@ -17026,12 +18337,80 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, {
17026
18337
  }
17027
18338
 
17028
18339
  postProgressMessage(device, 100, postMessage);
18340
+ yield waitBleInstall(updateType);
17029
18341
  return response.message;
17030
18342
  }
17031
18343
 
17032
18344
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'uploadFirmware: unknown major_version');
17033
18345
  });
17034
18346
 
18347
+ const processResourceRequest = (typedCall, res, data) => __awaiter(void 0, void 0, void 0, function* () {
18348
+ if (res.type === 'Success') {
18349
+ return res.message;
18350
+ }
18351
+
18352
+ const {
18353
+ offset,
18354
+ data_length
18355
+ } = res.message;
18356
+
18357
+ if (offset === undefined) {
18358
+ throw new Error('offset is undefined');
18359
+ }
18360
+
18361
+ const payload = new Uint8Array(data.slice(offset, Math.min(offset + data_length, data.byteLength)));
18362
+ const digest = blake2s.blake2s(payload);
18363
+ const resourceAckParams = {
18364
+ data_chunk: bytesToHex(payload),
18365
+ hash: bytesToHex(digest)
18366
+ };
18367
+ const response = yield typedCall('ResourceAck', ['ResourceRequest', 'Success'], Object.assign({}, resourceAckParams));
18368
+ return processResourceRequest(typedCall, response, data);
18369
+ });
18370
+
18371
+ const INIT_DATA_CHUNK_SIZE = 16 * 1024;
18372
+
18373
+ const updateResource = (typedCall, fileName, data) => __awaiter(void 0, void 0, void 0, function* () {
18374
+ const chunk = new Uint8Array(data.slice(0, Math.min(INIT_DATA_CHUNK_SIZE, data.byteLength)));
18375
+ const digest = blake2s.blake2s(chunk);
18376
+ const res = yield typedCall('ResourceUpdate', ['ResourceRequest', 'Success'], {
18377
+ file_name: fileName,
18378
+ data_length: data.byteLength,
18379
+ initial_data_chunk: bytesToHex(chunk),
18380
+ hash: bytesToHex(digest)
18381
+ });
18382
+ return processResourceRequest(typedCall, res, data);
18383
+ });
18384
+
18385
+ const updateResources = (typedCall, postMessage, device, source) => __awaiter(void 0, void 0, void 0, function* () {
18386
+ postProgressTip(device, 'UpdateSysResource', postMessage);
18387
+ const zipData = yield JSZip__default["default"].loadAsync(source);
18388
+ const files = Object.entries(zipData.files);
18389
+ let progress = 0;
18390
+ const stepProgress = 100 / files.length;
18391
+
18392
+ for (const [fileName, file] of files) {
18393
+ const name = fileName.split('/').pop();
18394
+
18395
+ if (!file.dir && fileName.indexOf('__MACOSX') === -1 && name) {
18396
+ const data = yield file.async('arraybuffer');
18397
+
18398
+ try {
18399
+ yield updateResource(typedCall, name, data);
18400
+ } catch (error) {
18401
+ Log$3.error(error);
18402
+ }
18403
+ }
18404
+
18405
+ progress += stepProgress;
18406
+ postProgressMessage(device, Math.floor(progress), postMessage);
18407
+ }
18408
+
18409
+ postProgressMessage(device, 100, postMessage);
18410
+ postProgressTip(device, 'UpdateSysResourceSuccess', postMessage);
18411
+ return true;
18412
+ });
18413
+
17035
18414
  class FirmwareUpdate$1 extends BaseMethod {
17036
18415
  init() {
17037
18416
  this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.INITIALIZE];
@@ -17184,6 +18563,21 @@ class FirmwareUpdate extends BaseMethod {
17184
18563
  }, 30000);
17185
18564
  }
17186
18565
 
18566
+ isEnteredManuallyBoot(features) {
18567
+ const deviceType = getDeviceType(features);
18568
+ const isMini = deviceType === 'mini';
18569
+ const isBoot183ClassicUpBle = this.params.updateType === 'firmware' && deviceType === 'classic' && features.bootloader_version === '1.8.3';
18570
+ return isMini || isBoot183ClassicUpBle;
18571
+ }
18572
+
18573
+ isSupportResourceUpdate(features, updateType) {
18574
+ if (updateType === 'firmware') return false;
18575
+ const deviceType = getDeviceType(features);
18576
+ const isTouchMode = deviceType === 'touch' || deviceType === 'pro';
18577
+ const currentVersion = getDeviceFirmwareVersion(features).join('.');
18578
+ return isTouchMode && semver__default["default"].gte(currentVersion, '3.2.0');
18579
+ }
18580
+
17187
18581
  run() {
17188
18582
  var _a, _b;
17189
18583
 
@@ -17197,17 +18591,32 @@ class FirmwareUpdate extends BaseMethod {
17197
18591
  commands
17198
18592
  } = device;
17199
18593
 
17200
- if (!(features === null || features === void 0 ? void 0 : features.bootloader_mode)) {
18594
+ if (!(features === null || features === void 0 ? void 0 : features.bootloader_mode) && features) {
17201
18595
  const uuid = getDeviceUUID(features);
17202
18596
  const deviceType = getDeviceType(features);
17203
18597
 
17204
- if (deviceType === 'mini') {
17205
- return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceUnexpectedBootloaderMode));
18598
+ if (this.isEnteredManuallyBoot(features)) {
18599
+ return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateManuallyEnterBoot));
18600
+ }
18601
+
18602
+ if (features && this.isSupportResourceUpdate(features, params.updateType)) {
18603
+ this.postTipMessage('CheckLatestUiResource');
18604
+ const resourceUrl = DataManager.getSysResourcesLatestRelease(features);
18605
+
18606
+ if (resourceUrl) {
18607
+ this.postTipMessage('DownloadLatestUiResource');
18608
+ const resource = yield getSysResourceBinary(resourceUrl);
18609
+ this.postTipMessage('DownloadLatestUiResourceSuccess');
18610
+
18611
+ if (resource) {
18612
+ yield updateResources(this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, resource.binary);
18613
+ }
18614
+ }
17206
18615
  }
17207
18616
 
17208
18617
  try {
17209
18618
  this.postTipMessage('AutoRebootToBootloader');
17210
- yield commands.typedCall('BixinReboot', 'Success');
18619
+ yield commands.typedCall('DeviceBackToBoot', 'Success');
17211
18620
  this.postTipMessage('GoToBootloaderSuccess');
17212
18621
  this.checkDeviceToBootloader();
17213
18622
 
@@ -17220,8 +18629,12 @@ class FirmwareUpdate extends BaseMethod {
17220
18629
  this.checkPromise = null;
17221
18630
  yield wait(1500);
17222
18631
  } catch (e) {
18632
+ if (e instanceof hdShared.HardwareError) {
18633
+ return Promise.reject(e);
18634
+ }
18635
+
17223
18636
  console.log('auto go to bootloader mode failed: ', e);
17224
- return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'go to bootloader mode failed'));
18637
+ return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateAutoEnterBootFailure));
17225
18638
  }
17226
18639
  }
17227
18640
 
@@ -17299,50 +18712,6 @@ class RequestWebUsbDevice extends BaseMethod {
17299
18712
 
17300
18713
  }
17301
18714
 
17302
- class BatchGetPublicKey extends BaseMethod {
17303
- init() {
17304
- this.checkDeviceId = true;
17305
- validateParams(this.payload, [{
17306
- name: 'paths',
17307
- type: 'array'
17308
- }, {
17309
- name: 'ecdsaCurveName',
17310
- type: 'string'
17311
- }]);
17312
- this.params = this.payload.paths.map(path => {
17313
- const addressN = validatePath(path, 1);
17314
- return {
17315
- address_n: addressN
17316
- };
17317
- });
17318
- }
17319
-
17320
- getVersionRange() {
17321
- return {
17322
- model_mini: {
17323
- min: '2.6.0'
17324
- }
17325
- };
17326
- }
17327
-
17328
- run() {
17329
- var _a;
17330
-
17331
- return __awaiter(this, void 0, void 0, function* () {
17332
- const res = yield this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
17333
- paths: this.params,
17334
- ecdsa_curve_name: (_a = this.payload.ecdsaCurveName) !== null && _a !== void 0 ? _a : 'secp256k1'
17335
- });
17336
- const result = res.message.public_keys.map((publicKey, index) => ({
17337
- path: serializedPath(this.params[index].address_n),
17338
- publicKey
17339
- }));
17340
- return Promise.resolve(result);
17341
- });
17342
- }
17343
-
17344
- }
17345
-
17346
18715
  class CipherKeyValue extends BaseMethod {
17347
18716
  constructor() {
17348
18717
  super(...arguments);
@@ -17437,6 +18806,10 @@ var bitcoin = [{
17437
18806
  name: "Axe",
17438
18807
  label: "AXE",
17439
18808
  slip44: 4242
18809
+ }, {
18810
+ name: "Bcash",
18811
+ label: "BCH",
18812
+ slip44: 145
17440
18813
  }, {
17441
18814
  name: "Bitcore",
17442
18815
  label: "BTX",
@@ -20867,10 +22240,6 @@ class NearSignTransaction extends BaseMethod {
20867
22240
 
20868
22241
  }
20869
22242
 
20870
- const {
20871
- sha3_256: sha3Hash
20872
- } = sha3__default["default"];
20873
-
20874
22243
  class AptosGetAddress extends BaseMethod {
20875
22244
  constructor() {
20876
22245
  super(...arguments);
@@ -20911,10 +22280,18 @@ class AptosGetAddress extends BaseMethod {
20911
22280
  }
20912
22281
 
20913
22282
  publicKeyToAddress(publicKey) {
20914
- const hash = sha3Hash.create();
22283
+ const hash = sha3.sha3_256.create();
20915
22284
  hash.update(hexToBytes(publicKey));
20916
- hash.update("\x00");
20917
- return hash.hex();
22285
+ hash.update('\x00');
22286
+ return `0x${utils.bytesToHex(hash.digest())}`;
22287
+ }
22288
+
22289
+ getVersionRange() {
22290
+ return {
22291
+ model_mini: {
22292
+ min: '2.6.0'
22293
+ }
22294
+ };
20918
22295
  }
20919
22296
 
20920
22297
  run() {
@@ -20944,7 +22321,7 @@ class AptosGetAddress extends BaseMethod {
20944
22321
  } = res.message;
20945
22322
  responses.push({
20946
22323
  path: serializedPath(param.address_n),
20947
- address
22324
+ address: address === null || address === void 0 ? void 0 : address.toLowerCase()
20948
22325
  });
20949
22326
  }
20950
22327
 
@@ -20954,6 +22331,69 @@ class AptosGetAddress extends BaseMethod {
20954
22331
 
20955
22332
  }
20956
22333
 
22334
+ class AptosGetPublicKey extends BaseMethod {
22335
+ constructor() {
22336
+ super(...arguments);
22337
+ this.hasBundle = false;
22338
+ }
22339
+
22340
+ init() {
22341
+ var _a;
22342
+
22343
+ this.checkDeviceId = true;
22344
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];
22345
+ this.hasBundle = !!((_a = this.payload) === null || _a === void 0 ? void 0 : _a.bundle);
22346
+ const payload = this.hasBundle ? this.payload : {
22347
+ bundle: [this.payload]
22348
+ };
22349
+ validateParams(payload, [{
22350
+ name: 'bundle',
22351
+ type: 'array'
22352
+ }]);
22353
+ this.params = [];
22354
+ payload.bundle.forEach(batch => {
22355
+ var _a;
22356
+
22357
+ const addressN = validatePath(batch.path, 3);
22358
+ validateParams(batch, [{
22359
+ name: 'path',
22360
+ required: true
22361
+ }, {
22362
+ name: 'showOnOneKey',
22363
+ type: 'boolean'
22364
+ }]);
22365
+ const showOnOneKey = (_a = batch.showOnOneKey) !== null && _a !== void 0 ? _a : true;
22366
+ this.params.push({
22367
+ address_n: addressN,
22368
+ show_display: showOnOneKey
22369
+ });
22370
+ });
22371
+ }
22372
+
22373
+ getVersionRange() {
22374
+ return {
22375
+ model_mini: {
22376
+ min: '2.6.0'
22377
+ }
22378
+ };
22379
+ }
22380
+
22381
+ run() {
22382
+ return __awaiter(this, void 0, void 0, function* () {
22383
+ const res = yield this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
22384
+ paths: this.params,
22385
+ ecdsa_curve_name: 'ed25519'
22386
+ });
22387
+ const responses = res.message.public_keys.map((publicKey, index) => ({
22388
+ path: serializedPath(this.params[index].address_n),
22389
+ publicKey
22390
+ }));
22391
+ return Promise.resolve(this.hasBundle ? responses : responses[0]);
22392
+ });
22393
+ }
22394
+
22395
+ }
22396
+
20957
22397
  class AptosSignTransaction extends BaseMethod {
20958
22398
  init() {
20959
22399
  this.checkDeviceId = true;
@@ -20980,7 +22420,7 @@ class AptosSignTransaction extends BaseMethod {
20980
22420
  getVersionRange() {
20981
22421
  return {
20982
22422
  model_mini: {
20983
- min: '2.4.0'
22423
+ min: '2.6.0'
20984
22424
  }
20985
22425
  };
20986
22426
  }
@@ -21012,13 +22452,13 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
21012
22452
  deviceReset: DeviceReset,
21013
22453
  deviceSettings: DeviceSettings,
21014
22454
  deviceUpdateReboot: DeviceUpdateReboot,
22455
+ deviceUploadResource: DeviceUploadResource,
21015
22456
  deviceSupportFeatures: DeviceSupportFeatures,
21016
22457
  deviceVerify: DeviceVerify,
21017
22458
  deviceWipe: DeviceWipe,
21018
22459
  firmwareUpdate: FirmwareUpdate$1,
21019
22460
  firmwareUpdateV2: FirmwareUpdate,
21020
22461
  requestWebUsbDevice: RequestWebUsbDevice,
21021
- batchGetPublicKey: BatchGetPublicKey,
21022
22462
  cipherKeyValue: CipherKeyValue,
21023
22463
  btcGetAddress: BTCGetAddress,
21024
22464
  btcGetPublicKey: BTCGetPublicKey,
@@ -21053,6 +22493,7 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
21053
22493
  nearGetAddress: NearGetAddress,
21054
22494
  nearSignTransaction: NearSignTransaction,
21055
22495
  aptosGetAddress: AptosGetAddress,
22496
+ aptosGetPublicKey: AptosGetPublicKey,
21056
22497
  aptosSignTransaction: AptosSignTransaction
21057
22498
  });
21058
22499
 
@@ -22764,6 +24205,13 @@ exports.WL_OperationType = void 0;
22764
24205
  WL_OperationType[WL_OperationType["WL_OperationType_Inquire"] = 2] = "WL_OperationType_Inquire";
22765
24206
  })(exports.WL_OperationType || (exports.WL_OperationType = {}));
22766
24207
 
24208
+ exports.ResourceType = void 0;
24209
+
24210
+ (function (ResourceType) {
24211
+ ResourceType[ResourceType["WallPaper"] = 0] = "WallPaper";
24212
+ ResourceType[ResourceType["Nft"] = 1] = "Nft";
24213
+ })(exports.ResourceType || (exports.ResourceType = {}));
24214
+
22767
24215
  exports.NEMMosaicLevy = void 0;
22768
24216
 
22769
24217
  (function (NEMMosaicLevy) {
@@ -22963,6 +24411,10 @@ var messages = /*#__PURE__*/Object.freeze({
22963
24411
  return exports.WL_OperationType;
22964
24412
  },
22965
24413
 
24414
+ get ResourceType() {
24415
+ return exports.ResourceType;
24416
+ },
24417
+
22966
24418
  get NEMMosaicLevy() {
22967
24419
  return exports.NEMMosaicLevy;
22968
24420
  },
@@ -23174,6 +24626,8 @@ const HardwareErrorCode = {
23174
24626
  CallMethodNeedUpgradeFirmware: 407,
23175
24627
  CallMethodDeprecated: 408,
23176
24628
  FirmwareUpdateLimitOneDevice: 409,
24629
+ FirmwareUpdateManuallyEnterBoot: 410,
24630
+ FirmwareUpdateAutoEnterBootFailure: 411,
23177
24631
  NetworkError: 500,
23178
24632
  TransportNotConfigured: 600,
23179
24633
  TransportCallInProgress: 601,
@@ -23235,6 +24689,8 @@ const HardwareErrorCodeMessage = {
23235
24689
  [HardwareErrorCode.CallMethodNeedUpgradeFirmware]: 'Call method need upgrade firmware',
23236
24690
  [HardwareErrorCode.CallMethodDeprecated]: 'Call method is deprecated',
23237
24691
  [HardwareErrorCode.FirmwareUpdateLimitOneDevice]: 'Only one device can be connected during firmware upgrade',
24692
+ [HardwareErrorCode.FirmwareUpdateManuallyEnterBoot]: 'You need to manually enter boot',
24693
+ [HardwareErrorCode.FirmwareUpdateAutoEnterBootFailure]: 'Description Failed to automatically enter boot',
23238
24694
  [HardwareErrorCode.NetworkError]: 'Network request error',
23239
24695
  [HardwareErrorCode.TransportNotConfigured]: 'Transport not configured',
23240
24696
  [HardwareErrorCode.TransportCallInProgress]: 'Transport call in progress',
@@ -34013,1193 +35469,22 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
34013
35469
 
34014
35470
  /***/ }),
34015
35471
 
34016
- /***/ 1965:
34017
- /***/ ((module, exports, __webpack_require__) => {
34018
-
34019
- var __WEBPACK_AMD_DEFINE_RESULT__;/**
34020
- * [js-sha256]{@link https://github.com/emn178/js-sha256}
34021
- *
34022
- * @version 0.9.0
34023
- * @author Chen, Yi-Cyuan [emn178@gmail.com]
34024
- * @copyright Chen, Yi-Cyuan 2014-2017
34025
- * @license MIT
34026
- */
34027
- /*jslint bitwise: true */
34028
- (function () {
34029
- 'use strict';
34030
-
34031
- var ERROR = 'input is invalid type';
34032
- var WINDOW = typeof window === 'object';
34033
- var root = WINDOW ? window : {};
34034
- if (root.JS_SHA256_NO_WINDOW) {
34035
- WINDOW = false;
34036
- }
34037
- var WEB_WORKER = !WINDOW && typeof self === 'object';
34038
- var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;
34039
- if (NODE_JS) {
34040
- root = __webpack_require__.g;
34041
- } else if (WEB_WORKER) {
34042
- root = self;
34043
- }
34044
- var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && "object" === 'object' && module.exports;
34045
- var AMD = true && __webpack_require__.amdO;
34046
- var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';
34047
- var HEX_CHARS = '0123456789abcdef'.split('');
34048
- var EXTRA = [-2147483648, 8388608, 32768, 128];
34049
- var SHIFT = [24, 16, 8, 0];
34050
- var K = [
34051
- 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
34052
- 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
34053
- 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
34054
- 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
34055
- 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
34056
- 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
34057
- 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
34058
- 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
34059
- ];
34060
- var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];
34061
-
34062
- var blocks = [];
34063
-
34064
- if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {
34065
- Array.isArray = function (obj) {
34066
- return Object.prototype.toString.call(obj) === '[object Array]';
34067
- };
34068
- }
34069
-
34070
- if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {
34071
- ArrayBuffer.isView = function (obj) {
34072
- return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;
34073
- };
34074
- }
34075
-
34076
- var createOutputMethod = function (outputType, is224) {
34077
- return function (message) {
34078
- return new Sha256(is224, true).update(message)[outputType]();
34079
- };
34080
- };
34081
-
34082
- var createMethod = function (is224) {
34083
- var method = createOutputMethod('hex', is224);
34084
- if (NODE_JS) {
34085
- method = nodeWrap(method, is224);
34086
- }
34087
- method.create = function () {
34088
- return new Sha256(is224);
34089
- };
34090
- method.update = function (message) {
34091
- return method.create().update(message);
34092
- };
34093
- for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
34094
- var type = OUTPUT_TYPES[i];
34095
- method[type] = createOutputMethod(type, is224);
34096
- }
34097
- return method;
34098
- };
34099
-
34100
- var nodeWrap = function (method, is224) {
34101
- var crypto = eval("require('crypto')");
34102
- var Buffer = eval("require('buffer').Buffer");
34103
- var algorithm = is224 ? 'sha224' : 'sha256';
34104
- var nodeMethod = function (message) {
34105
- if (typeof message === 'string') {
34106
- return crypto.createHash(algorithm).update(message, 'utf8').digest('hex');
34107
- } else {
34108
- if (message === null || message === undefined) {
34109
- throw new Error(ERROR);
34110
- } else if (message.constructor === ArrayBuffer) {
34111
- message = new Uint8Array(message);
34112
- }
34113
- }
34114
- if (Array.isArray(message) || ArrayBuffer.isView(message) ||
34115
- message.constructor === Buffer) {
34116
- return crypto.createHash(algorithm).update(new Buffer(message)).digest('hex');
34117
- } else {
34118
- return method(message);
34119
- }
34120
- };
34121
- return nodeMethod;
34122
- };
34123
-
34124
- var createHmacOutputMethod = function (outputType, is224) {
34125
- return function (key, message) {
34126
- return new HmacSha256(key, is224, true).update(message)[outputType]();
34127
- };
34128
- };
34129
-
34130
- var createHmacMethod = function (is224) {
34131
- var method = createHmacOutputMethod('hex', is224);
34132
- method.create = function (key) {
34133
- return new HmacSha256(key, is224);
34134
- };
34135
- method.update = function (key, message) {
34136
- return method.create(key).update(message);
34137
- };
34138
- for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
34139
- var type = OUTPUT_TYPES[i];
34140
- method[type] = createHmacOutputMethod(type, is224);
34141
- }
34142
- return method;
34143
- };
34144
-
34145
- function Sha256(is224, sharedMemory) {
34146
- if (sharedMemory) {
34147
- blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =
34148
- blocks[4] = blocks[5] = blocks[6] = blocks[7] =
34149
- blocks[8] = blocks[9] = blocks[10] = blocks[11] =
34150
- blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
34151
- this.blocks = blocks;
34152
- } else {
34153
- this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
34154
- }
34155
-
34156
- if (is224) {
34157
- this.h0 = 0xc1059ed8;
34158
- this.h1 = 0x367cd507;
34159
- this.h2 = 0x3070dd17;
34160
- this.h3 = 0xf70e5939;
34161
- this.h4 = 0xffc00b31;
34162
- this.h5 = 0x68581511;
34163
- this.h6 = 0x64f98fa7;
34164
- this.h7 = 0xbefa4fa4;
34165
- } else { // 256
34166
- this.h0 = 0x6a09e667;
34167
- this.h1 = 0xbb67ae85;
34168
- this.h2 = 0x3c6ef372;
34169
- this.h3 = 0xa54ff53a;
34170
- this.h4 = 0x510e527f;
34171
- this.h5 = 0x9b05688c;
34172
- this.h6 = 0x1f83d9ab;
34173
- this.h7 = 0x5be0cd19;
34174
- }
34175
-
34176
- this.block = this.start = this.bytes = this.hBytes = 0;
34177
- this.finalized = this.hashed = false;
34178
- this.first = true;
34179
- this.is224 = is224;
34180
- }
34181
-
34182
- Sha256.prototype.update = function (message) {
34183
- if (this.finalized) {
34184
- return;
34185
- }
34186
- var notString, type = typeof message;
34187
- if (type !== 'string') {
34188
- if (type === 'object') {
34189
- if (message === null) {
34190
- throw new Error(ERROR);
34191
- } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
34192
- message = new Uint8Array(message);
34193
- } else if (!Array.isArray(message)) {
34194
- if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {
34195
- throw new Error(ERROR);
34196
- }
34197
- }
34198
- } else {
34199
- throw new Error(ERROR);
34200
- }
34201
- notString = true;
34202
- }
34203
- var code, index = 0, i, length = message.length, blocks = this.blocks;
34204
-
34205
- while (index < length) {
34206
- if (this.hashed) {
34207
- this.hashed = false;
34208
- blocks[0] = this.block;
34209
- blocks[16] = blocks[1] = blocks[2] = blocks[3] =
34210
- blocks[4] = blocks[5] = blocks[6] = blocks[7] =
34211
- blocks[8] = blocks[9] = blocks[10] = blocks[11] =
34212
- blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
34213
- }
34214
-
34215
- if (notString) {
34216
- for (i = this.start; index < length && i < 64; ++index) {
34217
- blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];
34218
- }
34219
- } else {
34220
- for (i = this.start; index < length && i < 64; ++index) {
34221
- code = message.charCodeAt(index);
34222
- if (code < 0x80) {
34223
- blocks[i >> 2] |= code << SHIFT[i++ & 3];
34224
- } else if (code < 0x800) {
34225
- blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];
34226
- blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
34227
- } else if (code < 0xd800 || code >= 0xe000) {
34228
- blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];
34229
- blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
34230
- blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
34231
- } else {
34232
- code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
34233
- blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];
34234
- blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];
34235
- blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
34236
- blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
34237
- }
34238
- }
34239
- }
34240
-
34241
- this.lastByteIndex = i;
34242
- this.bytes += i - this.start;
34243
- if (i >= 64) {
34244
- this.block = blocks[16];
34245
- this.start = i - 64;
34246
- this.hash();
34247
- this.hashed = true;
34248
- } else {
34249
- this.start = i;
34250
- }
34251
- }
34252
- if (this.bytes > 4294967295) {
34253
- this.hBytes += this.bytes / 4294967296 << 0;
34254
- this.bytes = this.bytes % 4294967296;
34255
- }
34256
- return this;
34257
- };
34258
-
34259
- Sha256.prototype.finalize = function () {
34260
- if (this.finalized) {
34261
- return;
34262
- }
34263
- this.finalized = true;
34264
- var blocks = this.blocks, i = this.lastByteIndex;
34265
- blocks[16] = this.block;
34266
- blocks[i >> 2] |= EXTRA[i & 3];
34267
- this.block = blocks[16];
34268
- if (i >= 56) {
34269
- if (!this.hashed) {
34270
- this.hash();
34271
- }
34272
- blocks[0] = this.block;
34273
- blocks[16] = blocks[1] = blocks[2] = blocks[3] =
34274
- blocks[4] = blocks[5] = blocks[6] = blocks[7] =
34275
- blocks[8] = blocks[9] = blocks[10] = blocks[11] =
34276
- blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
34277
- }
34278
- blocks[14] = this.hBytes << 3 | this.bytes >>> 29;
34279
- blocks[15] = this.bytes << 3;
34280
- this.hash();
34281
- };
34282
-
34283
- Sha256.prototype.hash = function () {
34284
- var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6,
34285
- h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc;
34286
-
34287
- for (j = 16; j < 64; ++j) {
34288
- // rightrotate
34289
- t1 = blocks[j - 15];
34290
- s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);
34291
- t1 = blocks[j - 2];
34292
- s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);
34293
- blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;
34294
- }
34295
-
34296
- bc = b & c;
34297
- for (j = 0; j < 64; j += 4) {
34298
- if (this.first) {
34299
- if (this.is224) {
34300
- ab = 300032;
34301
- t1 = blocks[0] - 1413257819;
34302
- h = t1 - 150054599 << 0;
34303
- d = t1 + 24177077 << 0;
34304
- } else {
34305
- ab = 704751109;
34306
- t1 = blocks[0] - 210244248;
34307
- h = t1 - 1521486534 << 0;
34308
- d = t1 + 143694565 << 0;
34309
- }
34310
- this.first = false;
34311
- } else {
34312
- s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));
34313
- s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));
34314
- ab = a & b;
34315
- maj = ab ^ (a & c) ^ bc;
34316
- ch = (e & f) ^ (~e & g);
34317
- t1 = h + s1 + ch + K[j] + blocks[j];
34318
- t2 = s0 + maj;
34319
- h = d + t1 << 0;
34320
- d = t1 + t2 << 0;
34321
- }
34322
- s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));
34323
- s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));
34324
- da = d & a;
34325
- maj = da ^ (d & b) ^ ab;
34326
- ch = (h & e) ^ (~h & f);
34327
- t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];
34328
- t2 = s0 + maj;
34329
- g = c + t1 << 0;
34330
- c = t1 + t2 << 0;
34331
- s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));
34332
- s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));
34333
- cd = c & d;
34334
- maj = cd ^ (c & a) ^ da;
34335
- ch = (g & h) ^ (~g & e);
34336
- t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];
34337
- t2 = s0 + maj;
34338
- f = b + t1 << 0;
34339
- b = t1 + t2 << 0;
34340
- s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));
34341
- s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));
34342
- bc = b & c;
34343
- maj = bc ^ (b & d) ^ cd;
34344
- ch = (f & g) ^ (~f & h);
34345
- t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];
34346
- t2 = s0 + maj;
34347
- e = a + t1 << 0;
34348
- a = t1 + t2 << 0;
34349
- }
34350
-
34351
- this.h0 = this.h0 + a << 0;
34352
- this.h1 = this.h1 + b << 0;
34353
- this.h2 = this.h2 + c << 0;
34354
- this.h3 = this.h3 + d << 0;
34355
- this.h4 = this.h4 + e << 0;
34356
- this.h5 = this.h5 + f << 0;
34357
- this.h6 = this.h6 + g << 0;
34358
- this.h7 = this.h7 + h << 0;
34359
- };
34360
-
34361
- Sha256.prototype.hex = function () {
34362
- this.finalize();
34363
-
34364
- var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,
34365
- h6 = this.h6, h7 = this.h7;
34366
-
34367
- var hex = HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +
34368
- HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +
34369
- HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +
34370
- HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +
34371
- HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +
34372
- HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +
34373
- HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +
34374
- HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +
34375
- HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +
34376
- HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +
34377
- HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +
34378
- HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +
34379
- HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +
34380
- HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +
34381
- HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +
34382
- HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +
34383
- HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +
34384
- HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +
34385
- HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +
34386
- HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] +
34387
- HEX_CHARS[(h5 >> 28) & 0x0F] + HEX_CHARS[(h5 >> 24) & 0x0F] +
34388
- HEX_CHARS[(h5 >> 20) & 0x0F] + HEX_CHARS[(h5 >> 16) & 0x0F] +
34389
- HEX_CHARS[(h5 >> 12) & 0x0F] + HEX_CHARS[(h5 >> 8) & 0x0F] +
34390
- HEX_CHARS[(h5 >> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] +
34391
- HEX_CHARS[(h6 >> 28) & 0x0F] + HEX_CHARS[(h6 >> 24) & 0x0F] +
34392
- HEX_CHARS[(h6 >> 20) & 0x0F] + HEX_CHARS[(h6 >> 16) & 0x0F] +
34393
- HEX_CHARS[(h6 >> 12) & 0x0F] + HEX_CHARS[(h6 >> 8) & 0x0F] +
34394
- HEX_CHARS[(h6 >> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F];
34395
- if (!this.is224) {
34396
- hex += HEX_CHARS[(h7 >> 28) & 0x0F] + HEX_CHARS[(h7 >> 24) & 0x0F] +
34397
- HEX_CHARS[(h7 >> 20) & 0x0F] + HEX_CHARS[(h7 >> 16) & 0x0F] +
34398
- HEX_CHARS[(h7 >> 12) & 0x0F] + HEX_CHARS[(h7 >> 8) & 0x0F] +
34399
- HEX_CHARS[(h7 >> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F];
34400
- }
34401
- return hex;
34402
- };
34403
-
34404
- Sha256.prototype.toString = Sha256.prototype.hex;
34405
-
34406
- Sha256.prototype.digest = function () {
34407
- this.finalize();
34408
-
34409
- var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,
34410
- h6 = this.h6, h7 = this.h7;
34411
-
34412
- var arr = [
34413
- (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,
34414
- (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,
34415
- (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,
34416
- (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,
34417
- (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF,
34418
- (h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, h5 & 0xFF,
34419
- (h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, h6 & 0xFF
34420
- ];
34421
- if (!this.is224) {
34422
- arr.push((h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, h7 & 0xFF);
34423
- }
34424
- return arr;
34425
- };
34426
-
34427
- Sha256.prototype.array = Sha256.prototype.digest;
34428
-
34429
- Sha256.prototype.arrayBuffer = function () {
34430
- this.finalize();
34431
-
34432
- var buffer = new ArrayBuffer(this.is224 ? 28 : 32);
34433
- var dataView = new DataView(buffer);
34434
- dataView.setUint32(0, this.h0);
34435
- dataView.setUint32(4, this.h1);
34436
- dataView.setUint32(8, this.h2);
34437
- dataView.setUint32(12, this.h3);
34438
- dataView.setUint32(16, this.h4);
34439
- dataView.setUint32(20, this.h5);
34440
- dataView.setUint32(24, this.h6);
34441
- if (!this.is224) {
34442
- dataView.setUint32(28, this.h7);
34443
- }
34444
- return buffer;
34445
- };
34446
-
34447
- function HmacSha256(key, is224, sharedMemory) {
34448
- var i, type = typeof key;
34449
- if (type === 'string') {
34450
- var bytes = [], length = key.length, index = 0, code;
34451
- for (i = 0; i < length; ++i) {
34452
- code = key.charCodeAt(i);
34453
- if (code < 0x80) {
34454
- bytes[index++] = code;
34455
- } else if (code < 0x800) {
34456
- bytes[index++] = (0xc0 | (code >> 6));
34457
- bytes[index++] = (0x80 | (code & 0x3f));
34458
- } else if (code < 0xd800 || code >= 0xe000) {
34459
- bytes[index++] = (0xe0 | (code >> 12));
34460
- bytes[index++] = (0x80 | ((code >> 6) & 0x3f));
34461
- bytes[index++] = (0x80 | (code & 0x3f));
34462
- } else {
34463
- code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));
34464
- bytes[index++] = (0xf0 | (code >> 18));
34465
- bytes[index++] = (0x80 | ((code >> 12) & 0x3f));
34466
- bytes[index++] = (0x80 | ((code >> 6) & 0x3f));
34467
- bytes[index++] = (0x80 | (code & 0x3f));
34468
- }
34469
- }
34470
- key = bytes;
34471
- } else {
34472
- if (type === 'object') {
34473
- if (key === null) {
34474
- throw new Error(ERROR);
34475
- } else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {
34476
- key = new Uint8Array(key);
34477
- } else if (!Array.isArray(key)) {
34478
- if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {
34479
- throw new Error(ERROR);
34480
- }
34481
- }
34482
- } else {
34483
- throw new Error(ERROR);
34484
- }
34485
- }
34486
-
34487
- if (key.length > 64) {
34488
- key = (new Sha256(is224, true)).update(key).array();
34489
- }
34490
-
34491
- var oKeyPad = [], iKeyPad = [];
34492
- for (i = 0; i < 64; ++i) {
34493
- var b = key[i] || 0;
34494
- oKeyPad[i] = 0x5c ^ b;
34495
- iKeyPad[i] = 0x36 ^ b;
34496
- }
34497
-
34498
- Sha256.call(this, is224, sharedMemory);
34499
-
34500
- this.update(iKeyPad);
34501
- this.oKeyPad = oKeyPad;
34502
- this.inner = true;
34503
- this.sharedMemory = sharedMemory;
34504
- }
34505
- HmacSha256.prototype = new Sha256();
34506
-
34507
- HmacSha256.prototype.finalize = function () {
34508
- Sha256.prototype.finalize.call(this);
34509
- if (this.inner) {
34510
- this.inner = false;
34511
- var innerHash = this.array();
34512
- Sha256.call(this, this.is224, this.sharedMemory);
34513
- this.update(this.oKeyPad);
34514
- this.update(innerHash);
34515
- Sha256.prototype.finalize.call(this);
34516
- }
34517
- };
34518
-
34519
- var exports = createMethod();
34520
- exports.sha256 = exports;
34521
- exports.sha224 = createMethod(true);
34522
- exports.sha256.hmac = createHmacMethod();
34523
- exports.sha224.hmac = createHmacMethod(true);
34524
-
34525
- if (COMMON_JS) {
34526
- module.exports = exports;
34527
- } else {
34528
- root.sha256 = exports.sha256;
34529
- root.sha224 = exports.sha224;
34530
- if (AMD) {
34531
- !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
34532
- return exports;
34533
- }).call(exports, __webpack_require__, exports, module),
34534
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
34535
- }
34536
- }
34537
- })();
34538
-
34539
-
34540
- /***/ }),
34541
-
34542
- /***/ 3669:
34543
- /***/ ((module, exports, __webpack_require__) => {
34544
-
34545
- var __WEBPACK_AMD_DEFINE_RESULT__;/**
34546
- * [js-sha3]{@link https://github.com/emn178/js-sha3}
34547
- *
34548
- * @version 0.8.0
34549
- * @author Chen, Yi-Cyuan [emn178@gmail.com]
34550
- * @copyright Chen, Yi-Cyuan 2015-2018
34551
- * @license MIT
34552
- */
34553
- /*jslint bitwise: true */
34554
- (function () {
34555
- 'use strict';
34556
-
34557
- var INPUT_ERROR = 'input is invalid type';
34558
- var FINALIZE_ERROR = 'finalize already called';
34559
- var WINDOW = typeof window === 'object';
34560
- var root = WINDOW ? window : {};
34561
- if (root.JS_SHA3_NO_WINDOW) {
34562
- WINDOW = false;
34563
- }
34564
- var WEB_WORKER = !WINDOW && typeof self === 'object';
34565
- var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;
34566
- if (NODE_JS) {
34567
- root = __webpack_require__.g;
34568
- } else if (WEB_WORKER) {
34569
- root = self;
34570
- }
34571
- var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && "object" === 'object' && module.exports;
34572
- var AMD = true && __webpack_require__.amdO;
34573
- var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';
34574
- var HEX_CHARS = '0123456789abcdef'.split('');
34575
- var SHAKE_PADDING = [31, 7936, 2031616, 520093696];
34576
- var CSHAKE_PADDING = [4, 1024, 262144, 67108864];
34577
- var KECCAK_PADDING = [1, 256, 65536, 16777216];
34578
- var PADDING = [6, 1536, 393216, 100663296];
34579
- var SHIFT = [0, 8, 16, 24];
34580
- var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,
34581
- 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,
34582
- 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,
34583
- 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,
34584
- 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];
34585
- var BITS = [224, 256, 384, 512];
34586
- var SHAKE_BITS = [128, 256];
34587
- var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest'];
34588
- var CSHAKE_BYTEPAD = {
34589
- '128': 168,
34590
- '256': 136
34591
- };
34592
-
34593
- if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) {
34594
- Array.isArray = function (obj) {
34595
- return Object.prototype.toString.call(obj) === '[object Array]';
34596
- };
34597
- }
34598
-
34599
- if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {
34600
- ArrayBuffer.isView = function (obj) {
34601
- return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;
34602
- };
34603
- }
34604
-
34605
- var createOutputMethod = function (bits, padding, outputType) {
34606
- return function (message) {
34607
- return new Keccak(bits, padding, bits).update(message)[outputType]();
34608
- };
34609
- };
34610
-
34611
- var createShakeOutputMethod = function (bits, padding, outputType) {
34612
- return function (message, outputBits) {
34613
- return new Keccak(bits, padding, outputBits).update(message)[outputType]();
34614
- };
34615
- };
34616
-
34617
- var createCshakeOutputMethod = function (bits, padding, outputType) {
34618
- return function (message, outputBits, n, s) {
34619
- return methods['cshake' + bits].update(message, outputBits, n, s)[outputType]();
34620
- };
34621
- };
34622
-
34623
- var createKmacOutputMethod = function (bits, padding, outputType) {
34624
- return function (key, message, outputBits, s) {
34625
- return methods['kmac' + bits].update(key, message, outputBits, s)[outputType]();
34626
- };
34627
- };
34628
-
34629
- var createOutputMethods = function (method, createMethod, bits, padding) {
34630
- for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
34631
- var type = OUTPUT_TYPES[i];
34632
- method[type] = createMethod(bits, padding, type);
34633
- }
34634
- return method;
34635
- };
34636
-
34637
- var createMethod = function (bits, padding) {
34638
- var method = createOutputMethod(bits, padding, 'hex');
34639
- method.create = function () {
34640
- return new Keccak(bits, padding, bits);
34641
- };
34642
- method.update = function (message) {
34643
- return method.create().update(message);
34644
- };
34645
- return createOutputMethods(method, createOutputMethod, bits, padding);
34646
- };
34647
-
34648
- var createShakeMethod = function (bits, padding) {
34649
- var method = createShakeOutputMethod(bits, padding, 'hex');
34650
- method.create = function (outputBits) {
34651
- return new Keccak(bits, padding, outputBits);
34652
- };
34653
- method.update = function (message, outputBits) {
34654
- return method.create(outputBits).update(message);
34655
- };
34656
- return createOutputMethods(method, createShakeOutputMethod, bits, padding);
34657
- };
34658
-
34659
- var createCshakeMethod = function (bits, padding) {
34660
- var w = CSHAKE_BYTEPAD[bits];
34661
- var method = createCshakeOutputMethod(bits, padding, 'hex');
34662
- method.create = function (outputBits, n, s) {
34663
- if (!n && !s) {
34664
- return methods['shake' + bits].create(outputBits);
34665
- } else {
34666
- return new Keccak(bits, padding, outputBits).bytepad([n, s], w);
34667
- }
34668
- };
34669
- method.update = function (message, outputBits, n, s) {
34670
- return method.create(outputBits, n, s).update(message);
34671
- };
34672
- return createOutputMethods(method, createCshakeOutputMethod, bits, padding);
34673
- };
34674
-
34675
- var createKmacMethod = function (bits, padding) {
34676
- var w = CSHAKE_BYTEPAD[bits];
34677
- var method = createKmacOutputMethod(bits, padding, 'hex');
34678
- method.create = function (key, outputBits, s) {
34679
- return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w);
34680
- };
34681
- method.update = function (key, message, outputBits, s) {
34682
- return method.create(key, outputBits, s).update(message);
34683
- };
34684
- return createOutputMethods(method, createKmacOutputMethod, bits, padding);
34685
- };
34686
-
34687
- var algorithms = [
34688
- { name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod },
34689
- { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod },
34690
- { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod },
34691
- { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod },
34692
- { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }
34693
- ];
34694
-
34695
- var methods = {}, methodNames = [];
34696
-
34697
- for (var i = 0; i < algorithms.length; ++i) {
34698
- var algorithm = algorithms[i];
34699
- var bits = algorithm.bits;
34700
- for (var j = 0; j < bits.length; ++j) {
34701
- var methodName = algorithm.name + '_' + bits[j];
34702
- methodNames.push(methodName);
34703
- methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);
34704
- if (algorithm.name !== 'sha3') {
34705
- var newMethodName = algorithm.name + bits[j];
34706
- methodNames.push(newMethodName);
34707
- methods[newMethodName] = methods[methodName];
34708
- }
34709
- }
34710
- }
34711
-
34712
- function Keccak(bits, padding, outputBits) {
34713
- this.blocks = [];
34714
- this.s = [];
34715
- this.padding = padding;
34716
- this.outputBits = outputBits;
34717
- this.reset = true;
34718
- this.finalized = false;
34719
- this.block = 0;
34720
- this.start = 0;
34721
- this.blockCount = (1600 - (bits << 1)) >> 5;
34722
- this.byteCount = this.blockCount << 2;
34723
- this.outputBlocks = outputBits >> 5;
34724
- this.extraBytes = (outputBits & 31) >> 3;
34725
-
34726
- for (var i = 0; i < 50; ++i) {
34727
- this.s[i] = 0;
34728
- }
34729
- }
34730
-
34731
- Keccak.prototype.update = function (message) {
34732
- if (this.finalized) {
34733
- throw new Error(FINALIZE_ERROR);
34734
- }
34735
- var notString, type = typeof message;
34736
- if (type !== 'string') {
34737
- if (type === 'object') {
34738
- if (message === null) {
34739
- throw new Error(INPUT_ERROR);
34740
- } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
34741
- message = new Uint8Array(message);
34742
- } else if (!Array.isArray(message)) {
34743
- if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {
34744
- throw new Error(INPUT_ERROR);
34745
- }
34746
- }
34747
- } else {
34748
- throw new Error(INPUT_ERROR);
34749
- }
34750
- notString = true;
34751
- }
34752
- var blocks = this.blocks, byteCount = this.byteCount, length = message.length,
34753
- blockCount = this.blockCount, index = 0, s = this.s, i, code;
34754
-
34755
- while (index < length) {
34756
- if (this.reset) {
34757
- this.reset = false;
34758
- blocks[0] = this.block;
34759
- for (i = 1; i < blockCount + 1; ++i) {
34760
- blocks[i] = 0;
34761
- }
34762
- }
34763
- if (notString) {
34764
- for (i = this.start; index < length && i < byteCount; ++index) {
34765
- blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];
34766
- }
34767
- } else {
34768
- for (i = this.start; index < length && i < byteCount; ++index) {
34769
- code = message.charCodeAt(index);
34770
- if (code < 0x80) {
34771
- blocks[i >> 2] |= code << SHIFT[i++ & 3];
34772
- } else if (code < 0x800) {
34773
- blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];
34774
- blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
34775
- } else if (code < 0xd800 || code >= 0xe000) {
34776
- blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];
34777
- blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
34778
- blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
34779
- } else {
34780
- code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
34781
- blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];
34782
- blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];
34783
- blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
34784
- blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
34785
- }
34786
- }
34787
- }
34788
- this.lastByteIndex = i;
34789
- if (i >= byteCount) {
34790
- this.start = i - byteCount;
34791
- this.block = blocks[blockCount];
34792
- for (i = 0; i < blockCount; ++i) {
34793
- s[i] ^= blocks[i];
34794
- }
34795
- f(s);
34796
- this.reset = true;
34797
- } else {
34798
- this.start = i;
34799
- }
34800
- }
34801
- return this;
34802
- };
34803
-
34804
- Keccak.prototype.encode = function (x, right) {
34805
- var o = x & 255, n = 1;
34806
- var bytes = [o];
34807
- x = x >> 8;
34808
- o = x & 255;
34809
- while (o > 0) {
34810
- bytes.unshift(o);
34811
- x = x >> 8;
34812
- o = x & 255;
34813
- ++n;
34814
- }
34815
- if (right) {
34816
- bytes.push(n);
34817
- } else {
34818
- bytes.unshift(n);
34819
- }
34820
- this.update(bytes);
34821
- return bytes.length;
34822
- };
34823
-
34824
- Keccak.prototype.encodeString = function (str) {
34825
- var notString, type = typeof str;
34826
- if (type !== 'string') {
34827
- if (type === 'object') {
34828
- if (str === null) {
34829
- throw new Error(INPUT_ERROR);
34830
- } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) {
34831
- str = new Uint8Array(str);
34832
- } else if (!Array.isArray(str)) {
34833
- if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) {
34834
- throw new Error(INPUT_ERROR);
34835
- }
34836
- }
34837
- } else {
34838
- throw new Error(INPUT_ERROR);
34839
- }
34840
- notString = true;
34841
- }
34842
- var bytes = 0, length = str.length;
34843
- if (notString) {
34844
- bytes = length;
34845
- } else {
34846
- for (var i = 0; i < str.length; ++i) {
34847
- var code = str.charCodeAt(i);
34848
- if (code < 0x80) {
34849
- bytes += 1;
34850
- } else if (code < 0x800) {
34851
- bytes += 2;
34852
- } else if (code < 0xd800 || code >= 0xe000) {
34853
- bytes += 3;
34854
- } else {
34855
- code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));
34856
- bytes += 4;
34857
- }
34858
- }
34859
- }
34860
- bytes += this.encode(bytes * 8);
34861
- this.update(str);
34862
- return bytes;
34863
- };
34864
-
34865
- Keccak.prototype.bytepad = function (strs, w) {
34866
- var bytes = this.encode(w);
34867
- for (var i = 0; i < strs.length; ++i) {
34868
- bytes += this.encodeString(strs[i]);
34869
- }
34870
- var paddingBytes = w - bytes % w;
34871
- var zeros = [];
34872
- zeros.length = paddingBytes;
34873
- this.update(zeros);
34874
- return this;
34875
- };
34876
-
34877
- Keccak.prototype.finalize = function () {
34878
- if (this.finalized) {
34879
- return;
34880
- }
34881
- this.finalized = true;
34882
- var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;
34883
- blocks[i >> 2] |= this.padding[i & 3];
34884
- if (this.lastByteIndex === this.byteCount) {
34885
- blocks[0] = blocks[blockCount];
34886
- for (i = 1; i < blockCount + 1; ++i) {
34887
- blocks[i] = 0;
34888
- }
34889
- }
34890
- blocks[blockCount - 1] |= 0x80000000;
34891
- for (i = 0; i < blockCount; ++i) {
34892
- s[i] ^= blocks[i];
34893
- }
34894
- f(s);
34895
- };
34896
-
34897
- Keccak.prototype.toString = Keccak.prototype.hex = function () {
34898
- this.finalize();
34899
-
34900
- var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
34901
- extraBytes = this.extraBytes, i = 0, j = 0;
34902
- var hex = '', block;
34903
- while (j < outputBlocks) {
34904
- for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
34905
- block = s[i];
34906
- hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +
34907
- HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +
34908
- HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +
34909
- HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];
34910
- }
34911
- if (j % blockCount === 0) {
34912
- f(s);
34913
- i = 0;
34914
- }
34915
- }
34916
- if (extraBytes) {
34917
- block = s[i];
34918
- hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];
34919
- if (extraBytes > 1) {
34920
- hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];
34921
- }
34922
- if (extraBytes > 2) {
34923
- hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];
34924
- }
34925
- }
34926
- return hex;
34927
- };
34928
-
34929
- Keccak.prototype.arrayBuffer = function () {
34930
- this.finalize();
34931
-
34932
- var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
34933
- extraBytes = this.extraBytes, i = 0, j = 0;
34934
- var bytes = this.outputBits >> 3;
34935
- var buffer;
34936
- if (extraBytes) {
34937
- buffer = new ArrayBuffer((outputBlocks + 1) << 2);
34938
- } else {
34939
- buffer = new ArrayBuffer(bytes);
34940
- }
34941
- var array = new Uint32Array(buffer);
34942
- while (j < outputBlocks) {
34943
- for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
34944
- array[j] = s[i];
34945
- }
34946
- if (j % blockCount === 0) {
34947
- f(s);
34948
- }
34949
- }
34950
- if (extraBytes) {
34951
- array[i] = s[i];
34952
- buffer = buffer.slice(0, bytes);
34953
- }
34954
- return buffer;
34955
- };
34956
-
34957
- Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;
34958
-
34959
- Keccak.prototype.digest = Keccak.prototype.array = function () {
34960
- this.finalize();
34961
-
34962
- var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,
34963
- extraBytes = this.extraBytes, i = 0, j = 0;
34964
- var array = [], offset, block;
34965
- while (j < outputBlocks) {
34966
- for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {
34967
- offset = j << 2;
34968
- block = s[i];
34969
- array[offset] = block & 0xFF;
34970
- array[offset + 1] = (block >> 8) & 0xFF;
34971
- array[offset + 2] = (block >> 16) & 0xFF;
34972
- array[offset + 3] = (block >> 24) & 0xFF;
34973
- }
34974
- if (j % blockCount === 0) {
34975
- f(s);
34976
- }
34977
- }
34978
- if (extraBytes) {
34979
- offset = j << 2;
34980
- block = s[i];
34981
- array[offset] = block & 0xFF;
34982
- if (extraBytes > 1) {
34983
- array[offset + 1] = (block >> 8) & 0xFF;
34984
- }
34985
- if (extraBytes > 2) {
34986
- array[offset + 2] = (block >> 16) & 0xFF;
34987
- }
34988
- }
34989
- return array;
34990
- };
34991
-
34992
- function Kmac(bits, padding, outputBits) {
34993
- Keccak.call(this, bits, padding, outputBits);
34994
- }
35472
+ /***/ 1297:
35473
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
34995
35474
 
34996
- Kmac.prototype = new Keccak();
35475
+ /*!
34997
35476
 
34998
- Kmac.prototype.finalize = function () {
34999
- this.encode(this.outputBits, true);
35000
- return Keccak.prototype.finalize.call(this);
35001
- };
35477
+ JSZip v3.10.1 - A JavaScript class for generating and reading zip files
35478
+ <http://stuartk.com/jszip>
35002
35479
 
35003
- var f = function (s) {
35004
- var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9,
35005
- b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,
35006
- b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,
35007
- b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;
35008
- for (n = 0; n < 48; n += 2) {
35009
- c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];
35010
- c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];
35011
- c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];
35012
- c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];
35013
- c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];
35014
- c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];
35015
- c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];
35016
- c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];
35017
- c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];
35018
- c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];
35019
-
35020
- h = c8 ^ ((c2 << 1) | (c3 >>> 31));
35021
- l = c9 ^ ((c3 << 1) | (c2 >>> 31));
35022
- s[0] ^= h;
35023
- s[1] ^= l;
35024
- s[10] ^= h;
35025
- s[11] ^= l;
35026
- s[20] ^= h;
35027
- s[21] ^= l;
35028
- s[30] ^= h;
35029
- s[31] ^= l;
35030
- s[40] ^= h;
35031
- s[41] ^= l;
35032
- h = c0 ^ ((c4 << 1) | (c5 >>> 31));
35033
- l = c1 ^ ((c5 << 1) | (c4 >>> 31));
35034
- s[2] ^= h;
35035
- s[3] ^= l;
35036
- s[12] ^= h;
35037
- s[13] ^= l;
35038
- s[22] ^= h;
35039
- s[23] ^= l;
35040
- s[32] ^= h;
35041
- s[33] ^= l;
35042
- s[42] ^= h;
35043
- s[43] ^= l;
35044
- h = c2 ^ ((c6 << 1) | (c7 >>> 31));
35045
- l = c3 ^ ((c7 << 1) | (c6 >>> 31));
35046
- s[4] ^= h;
35047
- s[5] ^= l;
35048
- s[14] ^= h;
35049
- s[15] ^= l;
35050
- s[24] ^= h;
35051
- s[25] ^= l;
35052
- s[34] ^= h;
35053
- s[35] ^= l;
35054
- s[44] ^= h;
35055
- s[45] ^= l;
35056
- h = c4 ^ ((c8 << 1) | (c9 >>> 31));
35057
- l = c5 ^ ((c9 << 1) | (c8 >>> 31));
35058
- s[6] ^= h;
35059
- s[7] ^= l;
35060
- s[16] ^= h;
35061
- s[17] ^= l;
35062
- s[26] ^= h;
35063
- s[27] ^= l;
35064
- s[36] ^= h;
35065
- s[37] ^= l;
35066
- s[46] ^= h;
35067
- s[47] ^= l;
35068
- h = c6 ^ ((c0 << 1) | (c1 >>> 31));
35069
- l = c7 ^ ((c1 << 1) | (c0 >>> 31));
35070
- s[8] ^= h;
35071
- s[9] ^= l;
35072
- s[18] ^= h;
35073
- s[19] ^= l;
35074
- s[28] ^= h;
35075
- s[29] ^= l;
35076
- s[38] ^= h;
35077
- s[39] ^= l;
35078
- s[48] ^= h;
35079
- s[49] ^= l;
35080
-
35081
- b0 = s[0];
35082
- b1 = s[1];
35083
- b32 = (s[11] << 4) | (s[10] >>> 28);
35084
- b33 = (s[10] << 4) | (s[11] >>> 28);
35085
- b14 = (s[20] << 3) | (s[21] >>> 29);
35086
- b15 = (s[21] << 3) | (s[20] >>> 29);
35087
- b46 = (s[31] << 9) | (s[30] >>> 23);
35088
- b47 = (s[30] << 9) | (s[31] >>> 23);
35089
- b28 = (s[40] << 18) | (s[41] >>> 14);
35090
- b29 = (s[41] << 18) | (s[40] >>> 14);
35091
- b20 = (s[2] << 1) | (s[3] >>> 31);
35092
- b21 = (s[3] << 1) | (s[2] >>> 31);
35093
- b2 = (s[13] << 12) | (s[12] >>> 20);
35094
- b3 = (s[12] << 12) | (s[13] >>> 20);
35095
- b34 = (s[22] << 10) | (s[23] >>> 22);
35096
- b35 = (s[23] << 10) | (s[22] >>> 22);
35097
- b16 = (s[33] << 13) | (s[32] >>> 19);
35098
- b17 = (s[32] << 13) | (s[33] >>> 19);
35099
- b48 = (s[42] << 2) | (s[43] >>> 30);
35100
- b49 = (s[43] << 2) | (s[42] >>> 30);
35101
- b40 = (s[5] << 30) | (s[4] >>> 2);
35102
- b41 = (s[4] << 30) | (s[5] >>> 2);
35103
- b22 = (s[14] << 6) | (s[15] >>> 26);
35104
- b23 = (s[15] << 6) | (s[14] >>> 26);
35105
- b4 = (s[25] << 11) | (s[24] >>> 21);
35106
- b5 = (s[24] << 11) | (s[25] >>> 21);
35107
- b36 = (s[34] << 15) | (s[35] >>> 17);
35108
- b37 = (s[35] << 15) | (s[34] >>> 17);
35109
- b18 = (s[45] << 29) | (s[44] >>> 3);
35110
- b19 = (s[44] << 29) | (s[45] >>> 3);
35111
- b10 = (s[6] << 28) | (s[7] >>> 4);
35112
- b11 = (s[7] << 28) | (s[6] >>> 4);
35113
- b42 = (s[17] << 23) | (s[16] >>> 9);
35114
- b43 = (s[16] << 23) | (s[17] >>> 9);
35115
- b24 = (s[26] << 25) | (s[27] >>> 7);
35116
- b25 = (s[27] << 25) | (s[26] >>> 7);
35117
- b6 = (s[36] << 21) | (s[37] >>> 11);
35118
- b7 = (s[37] << 21) | (s[36] >>> 11);
35119
- b38 = (s[47] << 24) | (s[46] >>> 8);
35120
- b39 = (s[46] << 24) | (s[47] >>> 8);
35121
- b30 = (s[8] << 27) | (s[9] >>> 5);
35122
- b31 = (s[9] << 27) | (s[8] >>> 5);
35123
- b12 = (s[18] << 20) | (s[19] >>> 12);
35124
- b13 = (s[19] << 20) | (s[18] >>> 12);
35125
- b44 = (s[29] << 7) | (s[28] >>> 25);
35126
- b45 = (s[28] << 7) | (s[29] >>> 25);
35127
- b26 = (s[38] << 8) | (s[39] >>> 24);
35128
- b27 = (s[39] << 8) | (s[38] >>> 24);
35129
- b8 = (s[48] << 14) | (s[49] >>> 18);
35130
- b9 = (s[49] << 14) | (s[48] >>> 18);
35131
-
35132
- s[0] = b0 ^ (~b2 & b4);
35133
- s[1] = b1 ^ (~b3 & b5);
35134
- s[10] = b10 ^ (~b12 & b14);
35135
- s[11] = b11 ^ (~b13 & b15);
35136
- s[20] = b20 ^ (~b22 & b24);
35137
- s[21] = b21 ^ (~b23 & b25);
35138
- s[30] = b30 ^ (~b32 & b34);
35139
- s[31] = b31 ^ (~b33 & b35);
35140
- s[40] = b40 ^ (~b42 & b44);
35141
- s[41] = b41 ^ (~b43 & b45);
35142
- s[2] = b2 ^ (~b4 & b6);
35143
- s[3] = b3 ^ (~b5 & b7);
35144
- s[12] = b12 ^ (~b14 & b16);
35145
- s[13] = b13 ^ (~b15 & b17);
35146
- s[22] = b22 ^ (~b24 & b26);
35147
- s[23] = b23 ^ (~b25 & b27);
35148
- s[32] = b32 ^ (~b34 & b36);
35149
- s[33] = b33 ^ (~b35 & b37);
35150
- s[42] = b42 ^ (~b44 & b46);
35151
- s[43] = b43 ^ (~b45 & b47);
35152
- s[4] = b4 ^ (~b6 & b8);
35153
- s[5] = b5 ^ (~b7 & b9);
35154
- s[14] = b14 ^ (~b16 & b18);
35155
- s[15] = b15 ^ (~b17 & b19);
35156
- s[24] = b24 ^ (~b26 & b28);
35157
- s[25] = b25 ^ (~b27 & b29);
35158
- s[34] = b34 ^ (~b36 & b38);
35159
- s[35] = b35 ^ (~b37 & b39);
35160
- s[44] = b44 ^ (~b46 & b48);
35161
- s[45] = b45 ^ (~b47 & b49);
35162
- s[6] = b6 ^ (~b8 & b0);
35163
- s[7] = b7 ^ (~b9 & b1);
35164
- s[16] = b16 ^ (~b18 & b10);
35165
- s[17] = b17 ^ (~b19 & b11);
35166
- s[26] = b26 ^ (~b28 & b20);
35167
- s[27] = b27 ^ (~b29 & b21);
35168
- s[36] = b36 ^ (~b38 & b30);
35169
- s[37] = b37 ^ (~b39 & b31);
35170
- s[46] = b46 ^ (~b48 & b40);
35171
- s[47] = b47 ^ (~b49 & b41);
35172
- s[8] = b8 ^ (~b0 & b2);
35173
- s[9] = b9 ^ (~b1 & b3);
35174
- s[18] = b18 ^ (~b10 & b12);
35175
- s[19] = b19 ^ (~b11 & b13);
35176
- s[28] = b28 ^ (~b20 & b22);
35177
- s[29] = b29 ^ (~b21 & b23);
35178
- s[38] = b38 ^ (~b30 & b32);
35179
- s[39] = b39 ^ (~b31 & b33);
35180
- s[48] = b48 ^ (~b40 & b42);
35181
- s[49] = b49 ^ (~b41 & b43);
35182
-
35183
- s[0] ^= RC[n];
35184
- s[1] ^= RC[n + 1];
35185
- }
35186
- };
35480
+ (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
35481
+ Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
35187
35482
 
35188
- if (COMMON_JS) {
35189
- module.exports = methods;
35190
- } else {
35191
- for (i = 0; i < methodNames.length; ++i) {
35192
- root[methodNames[i]] = methods[methodNames[i]];
35193
- }
35194
- if (AMD) {
35195
- !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
35196
- return methods;
35197
- }).call(exports, __webpack_require__, exports, module),
35198
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
35199
- }
35200
- }
35201
- })();
35483
+ JSZip uses the library pako released under the MIT license :
35484
+ https://github.com/nodeca/pako/blob/main/LICENSE
35485
+ */
35202
35486
 
35487
+ !function(e){if(true)module.exports=e();else {}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=undefined;if(!e&&t)return require(r,!0);if(l)return l(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=undefined,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){"use strict";var d=e("./utils"),c=e("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c="string"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u="data:";if(e.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{"./support":30,"./utils":32}],2:[function(e,t,r){"use strict";var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),a=e("./stream/DataLengthProbe");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",t)},t.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){"use strict";var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){"use strict";var n=e("./utils");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),a=e("./stream/GenericWorker"),o=n?"uint8array":"array";function h(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h("Deflate",e)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){"use strict";function A(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),c=I.transformTo("string",O.utf8encode(h.name)),d=h.comment,p=I.transformTo("string",s(d)),m=I.transformTo("string",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(n,4)+f+b+p}}var I=e("../utils"),i=e("../stream/GenericWorker"),O=e("../utf8"),B=e("../crc32"),R=e("../signature");function s(e,t,r,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo("string",i(n));return R.CENTRAL_DIRECTORY_END+"\0\0\0\0"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){"use strict";var u=e("../compressions"),n=e("./ZipFileWorker");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+" is not a valid compression method !");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo("file",{name:e,dir:i,date:s,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.10.1",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){"use strict";var u=e("./utils"),i=e("./external"),n=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on("error",function(e){t(e)}).on("end",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):u.prepareContent("the loaded zip file",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){"use strict";var i=e("readable-stream").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on("error",function(e){n.emit("error",e)}).on("end",function(){n.push(null)})}e("../utils").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){"use strict";t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,r){"use strict";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a="string"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t="",s.compression="STORE",i="string");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e("./utf8"),u=e("./utils"),l=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),f=e("./defaults"),c=e("./compressedObject"),d=e("./zipObject"),o=e("./generate"),p=e("./nodejsUtils"),m=e("./nodejs/NodejsStreamInputAdapter"),_=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},g=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||("/"!==r.slice(-1)&&(r+="/"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=o.generateWorker(this,r,n)}catch(e){(t=new l("error")).error(e)}return new a(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){"use strict";t.exports=e("stream")},{stream:void 0}],17:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){"use strict";var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,r){"use strict";var n=e("./Uint8ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){"use strict";var n=e("./ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),a=e("./StringReader"),o=e("./NodeBufferReader"),h=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new o(e):i.uint8array?new h(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new a(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){"use strict";function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n},{}],29:[function(e,t,r){"use strict";var h=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),u=e("../base64"),n=e("../support"),a=e("../external"),o=null;if(n.nodestream)try{o=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on("data",function(e,t){n.push(e),o&&o(t)}).on("error",function(e){n=[],r(e)}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return h.newBlob(h.transformTo("arraybuffer",t),r);case"base64":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s("error"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return"data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=f},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e("readable-stream").Readable}catch(e){r.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,s){"use strict";for(var o=e("./utils"),h=e("./support"),r=e("./nodejsUtils"),n=e("./stream/GenericWorker"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,"utf-8 decode"),this.leftOver=null}function l(){n.call(this,"utf-8 encode")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?"uint8array":"array",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){"use strict";var o=e("./support"),h=e("./base64"),r=e("./nodejsUtils"),u=e("./external");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e("setimmediate"),a.newBlob=function(t,r){a.checkSupport("blob");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if("uint8array"===r?n=i.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||"",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split("/"),r=[],n=0;n<t.length;n++){var i=t[n];"."===i||""===i&&0!==n&&n!==t.length-1||(".."===i?r.pop():r.push(i))}return r.join("/")},a.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":o.nodebuffer&&r.isBuffer(e)?"nodebuffer":o.uint8array&&e instanceof Uint8Array?"uint8array":o.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(n)))&&"undefined"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?("arraybuffer"===t?e=a.transformTo("uint8array",e):"string"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error("Can't read the data of '"+r+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),a=e("./zipEntry"),o=e("./support");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),s=e("./utils"),i=e("./compressedObject"),a=e("./crc32"),o=e("./utf8"),h=e("./compressions"),u=e("./support");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){"use strict";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e("./stream/StreamHelper"),i=e("./stream/DataWorker"),a=e("./utf8"),o=e("./compressedObject"),h=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h("error")).error(e)}return new s(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,l,t){(function(t){"use strict";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,r){"use strict";var i=e("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],n=["PENDING"];function o(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError("Cannot resolve promise with itself")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});"error"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status="success"}catch(e){r.status="error",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if("function"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if("error"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){"use strict";var n={};(0,e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){"use strict";var a=e("./zlib/deflate"),o=e("./utils/common"),h=e("./utils/strings"),i=e("./zlib/messages"),s=e("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"==typeof t.dictionary?h.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,"string"==typeof e?i.input=h.string2buf(e):"[object ArrayBuffer]"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){"use strict";var c=e("./zlib/inflate"),d=e("./utils/common"),p=e("./utils/strings"),m=e("./zlib/constants"),n=e("./zlib/messages"),i=e("./zlib/zstream"),s=e("./zlib/gzheader"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof e?h.input=p.binstring2buf(e):"[object ArrayBuffer]"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){"use strict";var h=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{"./common":41}],43:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){"use strict";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){"use strict";var h,c=e("../utils/common"),u=e("./trees"),d=e("./adler32"),p=e("./crc32"),n=e("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){"use strict";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){"use strict";var I=e("../utils/common"),O=e("./adler32"),B=e("./crc32"),R=e("./inffast"),T=e("./inftrees"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){e.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg="incorrect data check",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){"use strict";var D=e("../utils/common"),F=[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,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[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,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{"../utils/common":41}],51:[function(e,t,r){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,r){"use strict";var i=e("../utils/common"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[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],k=[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],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,r){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){"use strict";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i="[object process]"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage("","*"),r.onmessage=t,e}}()?(a="setImmediate$"+Math.random()+"$",r.addEventListener?r.addEventListener("message",d,!1):r.attachEvent("onmessage",d),function(e){r.postMessage(a+e,"*")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(s=l.documentElement,function(e){var t=l.createElement("script");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&"string"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)});
35203
35488
 
35204
35489
  /***/ }),
35205
35490
 
@@ -46656,7 +46941,7 @@ try {
46656
46941
  /***/ ((module) => {
46657
46942
 
46658
46943
  "use strict";
46659
- module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.54","description":"> TODO: description","author":"OneKey","homepage":"https://github.com/OneKeyHQ/hardware-js-sdk#readme","license":"ISC","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/OneKeyHQ/hardware-js-sdk.git"},"publishConfig":{"access":"public"},"scripts":{"dev":"rimraf dist && rollup -c ../../build/rollup.config.js -w","build":"rimraf dist && rollup -c ../../build/rollup.config.js","lint":"eslint .","lint:fix":"eslint . --fix"},"bugs":{"url":"https://github.com/OneKeyHQ/hardware-js-sdk/issues"},"dependencies":{"@onekeyfe/hd-shared":"^0.1.54","@onekeyfe/hd-transport":"^0.1.54","axios":"^0.27.2","bignumber.js":"^9.0.2","js-sha256":"^0.9.0","js-sha3":"^0.8.0","parse-uri":"^1.0.7","semver":"^7.3.7"},"devDependencies":{"@types/parse-uri":"^1.0.0","@types/semver":"^7.3.9"}}');
46944
+ module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.55","description":"> TODO: description","author":"OneKey","homepage":"https://github.com/OneKeyHQ/hardware-js-sdk#readme","license":"ISC","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/OneKeyHQ/hardware-js-sdk.git"},"publishConfig":{"access":"public"},"scripts":{"dev":"rimraf dist && rollup -c ../../build/rollup.config.js -w","build":"rimraf dist && rollup -c ../../build/rollup.config.js","lint":"eslint .","lint:fix":"eslint . --fix"},"bugs":{"url":"https://github.com/OneKeyHQ/hardware-js-sdk/issues"},"dependencies":{"@onekeyfe/hd-shared":"^0.1.55","@onekeyfe/hd-transport":"^0.1.55","axios":"^0.27.2","bignumber.js":"^9.0.2","jszip":"^3.10.1","parse-uri":"^1.0.7","semver":"^7.3.7"},"peerDependencies":{"@noble/hashes":"^1.1.3"},"devDependencies":{"@noble/hashes":"^1.1.3","@types/parse-uri":"^1.0.0","@types/semver":"^7.3.9"}}');
46660
46945
 
46661
46946
  /***/ })
46662
46947
 
@@ -46687,11 +46972,6 @@ module.exports = JSON.parse('{"name":"@onekeyfe/hd-core","version":"0.1.54","des
46687
46972
  /******/ }
46688
46973
  /******/
46689
46974
  /************************************************************************/
46690
- /******/ /* webpack/runtime/amd options */
46691
- /******/ (() => {
46692
- /******/ __webpack_require__.amdO = {};
46693
- /******/ })();
46694
- /******/
46695
46975
  /******/ /* webpack/runtime/compat get default export */
46696
46976
  /******/ (() => {
46697
46977
  /******/ // getDefaultExport function for compatibility with non-harmony modules
@@ -49188,7 +49468,7 @@ const src_init = async settings => {
49188
49468
 
49189
49469
  try {
49190
49470
  await init({ ..._settings,
49191
- version: "0.1.54"
49471
+ version: "0.1.55"
49192
49472
  });
49193
49473
  return true;
49194
49474
  } catch (e) {