vue-book-reader
Version:
<div align="center"> <img width=250 src="https://raw.githubusercontent.com/jinhuan138/vue--book-reader/master/public/logo.png" /> <h1>VueReader</h1> </div>
846 lines (845 loc) • 84.7 kB
JavaScript
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const e = -2, t = -3, n = -5, i = [0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535], r = [96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8, 115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, 192, 80, 7, 10, 0, 8, 96, 0, 8, 32, 0, 9, 160, 0, 8, 0, 0, 8, 128, 0, 8, 64, 0, 9, 224, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 144, 83, 7, 59, 0, 8, 120, 0, 8, 56, 0, 9, 208, 81, 7, 17, 0, 8, 104, 0, 8, 40, 0, 9, 176, 0, 8, 8, 0, 8, 136, 0, 8, 72, 0, 9, 240, 80, 7, 4, 0, 8, 84, 0, 8, 20, 85, 8, 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 200, 81, 7, 13, 0, 8, 100, 0, 8, 36, 0, 9, 168, 0, 8, 4, 0, 8, 132, 0, 8, 68, 0, 9, 232, 80, 7, 8, 0, 8, 92, 0, 8, 28, 0, 9, 152, 84, 7, 83, 0, 8, 124, 0, 8, 60, 0, 9, 216, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 184, 0, 8, 12, 0, 8, 140, 0, 8, 76, 0, 9, 248, 80, 7, 3, 0, 8, 82, 0, 8, 18, 85, 8, 163, 83, 7, 35, 0, 8, 114, 0, 8, 50, 0, 9, 196, 81, 7, 11, 0, 8, 98, 0, 8, 34, 0, 9, 164, 0, 8, 2, 0, 8, 130, 0, 8, 66, 0, 9, 228, 80, 7, 7, 0, 8, 90, 0, 8, 26, 0, 9, 148, 84, 7, 67, 0, 8, 122, 0, 8, 58, 0, 9, 212, 82, 7, 19, 0, 8, 106, 0, 8, 42, 0, 9, 180, 0, 8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 244, 80, 7, 5, 0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8, 54, 0, 9, 204, 81, 7, 15, 0, 8, 102, 0, 8, 38, 0, 9, 172, 0, 8, 6, 0, 8, 134, 0, 8, 70, 0, 9, 236, 80, 7, 9, 0, 8, 94, 0, 8, 30, 0, 9, 156, 84, 7, 99, 0, 8, 126, 0, 8, 62, 0, 9, 220, 82, 7, 27, 0, 8, 110, 0, 8, 46, 0, 9, 188, 0, 8, 14, 0, 8, 142, 0, 8, 78, 0, 9, 252, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0, 8, 113, 0, 8, 49, 0, 9, 194, 80, 7, 10, 0, 8, 97, 0, 8, 33, 0, 9, 162, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9, 226, 80, 7, 6, 0, 8, 89, 0, 8, 25, 0, 9, 146, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 210, 81, 7, 17, 0, 8, 105, 0, 8, 41, 0, 9, 178, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 242, 80, 7, 4, 0, 8, 85, 0, 8, 21, 80, 8, 258, 83, 7, 43, 0, 8, 117, 0, 8, 53, 0, 9, 202, 81, 7, 13, 0, 8, 101, 0, 8, 37, 0, 9, 170, 0, 8, 5, 0, 8, 133, 0, 8, 69, 0, 9, 234, 80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 154, 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 218, 82, 7, 23, 0, 8, 109, 0, 8, 45, 0, 9, 186, 0, 8, 13, 0, 8, 141, 0, 8, 77, 0, 9, 250, 80, 7, 3, 0, 8, 83, 0, 8, 19, 85, 8, 195, 83, 7, 35, 0, 8, 115, 0, 8, 51, 0, 9, 198, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, 166, 0, 8, 3, 0, 8, 131, 0, 8, 67, 0, 9, 230, 80, 7, 7, 0, 8, 91, 0, 8, 27, 0, 9, 150, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 214, 82, 7, 19, 0, 8, 107, 0, 8, 43, 0, 9, 182, 0, 8, 11, 0, 8, 139, 0, 8, 75, 0, 9, 246, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8, 0, 83, 7, 51, 0, 8, 119, 0, 8, 55, 0, 9, 206, 81, 7, 15, 0, 8, 103, 0, 8, 39, 0, 9, 174, 0, 8, 7, 0, 8, 135, 0, 8, 71, 0, 9, 238, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 158, 84, 7, 99, 0, 8, 127, 0, 8, 63, 0, 9, 222, 82, 7, 27, 0, 8, 111, 0, 8, 47, 0, 9, 190, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 254, 96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8, 115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, 193, 80, 7, 10, 0, 8, 96, 0, 8, 32, 0, 9, 161, 0, 8, 0, 0, 8, 128, 0, 8, 64, 0, 9, 225, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 145, 83, 7, 59, 0, 8, 120, 0, 8, 56, 0, 9, 209, 81, 7, 17, 0, 8, 104, 0, 8, 40, 0, 9, 177, 0, 8, 8, 0, 8, 136, 0, 8, 72, 0, 9, 241, 80, 7, 4, 0, 8, 84, 0, 8, 20, 85, 8, 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 201, 81, 7, 13, 0, 8, 100, 0, 8, 36, 0, 9, 169, 0, 8, 4, 0, 8, 132, 0, 8, 68, 0, 9, 233, 80, 7, 8, 0, 8, 92, 0, 8, 28, 0, 9, 153, 84, 7, 83, 0, 8, 124, 0, 8, 60, 0, 9, 217, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 185, 0, 8, 12, 0, 8, 140, 0, 8, 76, 0, 9, 249, 80, 7, 3, 0, 8, 82, 0, 8, 18, 85, 8, 163, 83, 7, 35, 0, 8, 114, 0, 8, 50, 0, 9, 197, 81, 7, 11, 0, 8, 98, 0, 8, 34, 0, 9, 165, 0, 8, 2, 0, 8, 130, 0, 8, 66, 0, 9, 229, 80, 7, 7, 0, 8, 90, 0, 8, 26, 0, 9, 149, 84, 7, 67, 0, 8, 122, 0, 8, 58, 0, 9, 213, 82, 7, 19, 0, 8, 106, 0, 8, 42, 0, 9, 181, 0, 8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 245, 80, 7, 5, 0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8, 54, 0, 9, 205, 81, 7, 15, 0, 8, 102, 0, 8, 38, 0, 9, 173, 0, 8, 6, 0, 8, 134, 0, 8, 70, 0, 9, 237, 80, 7, 9, 0, 8, 94, 0, 8, 30, 0, 9, 157, 84, 7, 99, 0, 8, 126, 0, 8, 62, 0, 9, 221, 82, 7, 27, 0, 8, 110, 0, 8, 46, 0, 9, 189, 0, 8, 14, 0, 8, 142, 0, 8, 78, 0, 9, 253, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0, 8, 113, 0, 8, 49, 0, 9, 195, 80, 7, 10, 0, 8, 97, 0, 8, 33, 0, 9, 163, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9, 227, 80, 7, 6, 0, 8, 89, 0, 8, 25, 0, 9, 147, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 211, 81, 7, 17, 0, 8, 105, 0, 8, 41, 0, 9, 179, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 243, 80, 7, 4, 0, 8, 85, 0, 8, 21, 80, 8, 258, 83, 7, 43, 0, 8, 117, 0, 8, 53, 0, 9, 203, 81, 7, 13, 0, 8, 101, 0, 8, 37, 0, 9, 171, 0, 8, 5, 0, 8, 133, 0, 8, 69, 0, 9, 235, 80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 155, 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 219, 82, 7, 23, 0, 8, 109, 0, 8, 45, 0, 9, 187, 0, 8, 13, 0, 8, 141, 0, 8, 77, 0, 9, 251, 80, 7, 3, 0, 8, 83, 0, 8, 19, 85, 8, 195, 83, 7, 35, 0, 8, 115, 0, 8, 51, 0, 9, 199, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, 167, 0, 8, 3, 0, 8, 131, 0, 8, 67, 0, 9, 231, 80, 7, 7, 0, 8, 91, 0, 8, 27, 0, 9, 151, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 215, 82, 7, 19, 0, 8, 107, 0, 8, 43, 0, 9, 183, 0, 8, 11, 0, 8, 139, 0, 8, 75, 0, 9, 247, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8, 0, 83, 7, 51, 0, 8, 119, 0, 8, 55, 0, 9, 207, 81, 7, 15, 0, 8, 103, 0, 8, 39, 0, 9, 175, 0, 8, 7, 0, 8, 135, 0, 8, 71, 0, 9, 239, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 159, 84, 7, 99, 0, 8, 127, 0, 8, 63, 0, 9, 223, 82, 7, 27, 0, 8, 111, 0, 8, 47, 0, 9, 191, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 255], a = [80, 5, 1, 87, 5, 257, 83, 5, 17, 91, 5, 4097, 81, 5, 5, 89, 5, 1025, 85, 5, 65, 93, 5, 16385, 80, 5, 3, 88, 5, 513, 84, 5, 33, 92, 5, 8193, 82, 5, 9, 90, 5, 2049, 86, 5, 129, 192, 5, 24577, 80, 5, 2, 87, 5, 385, 83, 5, 25, 91, 5, 6145, 81, 5, 7, 89, 5, 1537, 85, 5, 97, 93, 5, 24577, 80, 5, 4, 88, 5, 769, 84, 5, 49, 92, 5, 12289, 82, 5, 13, 90, 5, 3073, 86, 5, 193, 192, 5, 24577], s = [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], o = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 112, 112], l = [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], c = [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], u = 15;
function d() {
let e2, i2, r2, a2, d2, f2;
function h2(e3, i3, s2, o2, l2, c2, h3, w3, _2, b2, p2) {
let m2, g2, y2, x2, k2, v2, S2, z2, A2, U2, D2, E2, T2, F2, O2;
U2 = 0, k2 = s2;
do {
r2[e3[i3 + U2]]++, U2++, k2--;
} while (0 !== k2);
if (r2[0] == s2)
return h3[0] = -1, w3[0] = 0, 0;
for (z2 = w3[0], v2 = 1; v2 <= u && 0 === r2[v2]; v2++)
;
for (S2 = v2, z2 < v2 && (z2 = v2), k2 = u; 0 !== k2 && 0 === r2[k2]; k2--)
;
for (y2 = k2, z2 > k2 && (z2 = k2), w3[0] = z2, F2 = 1 << v2; v2 < k2; v2++, F2 <<= 1)
if ((F2 -= r2[v2]) < 0)
return t;
if ((F2 -= r2[k2]) < 0)
return t;
for (r2[k2] += F2, f2[1] = v2 = 0, U2 = 1, T2 = 2; 0 != --k2; )
f2[T2] = v2 += r2[U2], T2++, U2++;
k2 = 0, U2 = 0;
do {
0 !== (v2 = e3[i3 + U2]) && (p2[f2[v2]++] = k2), U2++;
} while (++k2 < s2);
for (s2 = f2[y2], f2[0] = k2 = 0, U2 = 0, x2 = -1, E2 = -z2, d2[0] = 0, D2 = 0, O2 = 0; S2 <= y2; S2++)
for (m2 = r2[S2]; 0 != m2--; ) {
for (; S2 > E2 + z2; ) {
if (x2++, E2 += z2, O2 = y2 - E2, O2 = O2 > z2 ? z2 : O2, (g2 = 1 << (v2 = S2 - E2)) > m2 + 1 && (g2 -= m2 + 1, T2 = S2, v2 < O2))
for (; ++v2 < O2 && !((g2 <<= 1) <= r2[++T2]); )
g2 -= r2[T2];
if (O2 = 1 << v2, b2[0] + O2 > 1440)
return t;
d2[x2] = D2 = b2[0], b2[0] += O2, 0 !== x2 ? (f2[x2] = k2, a2[0] = v2, a2[1] = z2, v2 = k2 >>> E2 - z2, a2[2] = D2 - d2[x2 - 1] - v2, _2.set(a2, 3 * (d2[x2 - 1] + v2))) : h3[0] = D2;
}
for (a2[1] = S2 - E2, U2 >= s2 ? a2[0] = 192 : p2[U2] < o2 ? (a2[0] = p2[U2] < 256 ? 0 : 96, a2[2] = p2[U2++]) : (a2[0] = c2[p2[U2] - o2] + 16 + 64, a2[2] = l2[p2[U2++] - o2]), g2 = 1 << S2 - E2, v2 = k2 >>> E2; v2 < O2; v2 += g2)
_2.set(a2, 3 * (D2 + v2));
for (v2 = 1 << S2 - 1; k2 & v2; v2 >>>= 1)
k2 ^= v2;
for (k2 ^= v2, A2 = (1 << E2) - 1; (k2 & A2) != f2[x2]; )
x2--, E2 -= z2, A2 = (1 << E2) - 1;
}
return 0 !== F2 && 1 != y2 ? n : 0;
}
function w2(t2) {
let n2;
for (e2 || (e2 = [], i2 = [], r2 = new Int32Array(16), a2 = [], d2 = new Int32Array(u), f2 = new Int32Array(16)), i2.length < t2 && (i2 = []), n2 = 0; n2 < t2; n2++)
i2[n2] = 0;
for (n2 = 0; n2 < 16; n2++)
r2[n2] = 0;
for (n2 = 0; n2 < 3; n2++)
a2[n2] = 0;
d2.set(r2.subarray(0, u), 0), f2.set(r2.subarray(0, 16), 0);
}
this.inflate_trees_bits = function(r3, a3, s2, o2, l2) {
let c2;
return w2(19), e2[0] = 0, c2 = h2(r3, 0, 19, 19, null, null, s2, a3, o2, e2, i2), c2 == t ? l2.msg = "oversubscribed dynamic bit lengths tree" : c2 != n && 0 !== a3[0] || (l2.msg = "incomplete dynamic bit lengths tree", c2 = t), c2;
}, this.inflate_trees_dynamic = function(r3, a3, u2, d3, f3, _2, b2, p2, m2) {
let g2;
return w2(288), e2[0] = 0, g2 = h2(u2, 0, r3, 257, s, o, _2, d3, p2, e2, i2), 0 != g2 || 0 === d3[0] ? (g2 == t ? m2.msg = "oversubscribed literal/length tree" : -4 != g2 && (m2.msg = "incomplete literal/length tree", g2 = t), g2) : (w2(288), g2 = h2(u2, r3, a3, 0, l, c, b2, f3, p2, e2, i2), 0 != g2 || 0 === f3[0] && r3 > 257 ? (g2 == t ? m2.msg = "oversubscribed distance tree" : g2 == n ? (m2.msg = "incomplete distance tree", g2 = t) : -4 != g2 && (m2.msg = "empty distance tree with lengths", g2 = t), g2) : 0);
};
}
d.inflate_trees_fixed = function(e2, t2, n2, i2) {
return e2[0] = 9, t2[0] = 5, n2[0] = r, i2[0] = a, 0;
};
function f() {
const n2 = this;
let r2, a2, s2, o2, l2 = 0, c2 = 0, u2 = 0, d2 = 0, f2 = 0, h2 = 0, w2 = 0, _2 = 0, b2 = 0, p2 = 0;
function m2(e2, n3, r3, a3, s3, o3, l3, c3) {
let u3, d3, f3, h3, w3, _3, b3, p3, m3, g2, y2, x2, k2, v2, S2, z2;
b3 = c3.next_in_index, p3 = c3.avail_in, w3 = l3.bitb, _3 = l3.bitk, m3 = l3.write, g2 = m3 < l3.read ? l3.read - m3 - 1 : l3.end - m3, y2 = i[e2], x2 = i[n3];
do {
for (; _3 < 20; )
p3--, w3 |= (255 & c3.read_byte(b3++)) << _3, _3 += 8;
if (u3 = w3 & y2, d3 = r3, f3 = a3, z2 = 3 * (f3 + u3), 0 !== (h3 = d3[z2]))
for (; ; ) {
if (w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], 16 & h3) {
for (h3 &= 15, k2 = d3[z2 + 2] + (w3 & i[h3]), w3 >>= h3, _3 -= h3; _3 < 15; )
p3--, w3 |= (255 & c3.read_byte(b3++)) << _3, _3 += 8;
for (u3 = w3 & x2, d3 = s3, f3 = o3, z2 = 3 * (f3 + u3), h3 = d3[z2]; ; ) {
if (w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], 16 & h3) {
for (h3 &= 15; _3 < h3; )
p3--, w3 |= (255 & c3.read_byte(b3++)) << _3, _3 += 8;
if (v2 = d3[z2 + 2] + (w3 & i[h3]), w3 >>= h3, _3 -= h3, g2 -= k2, m3 >= v2)
S2 = m3 - v2, m3 - S2 > 0 && 2 > m3 - S2 ? (l3.win[m3++] = l3.win[S2++], l3.win[m3++] = l3.win[S2++], k2 -= 2) : (l3.win.set(l3.win.subarray(S2, S2 + 2), m3), m3 += 2, S2 += 2, k2 -= 2);
else {
S2 = m3 - v2;
do {
S2 += l3.end;
} while (S2 < 0);
if (h3 = l3.end - S2, k2 > h3) {
if (k2 -= h3, m3 - S2 > 0 && h3 > m3 - S2)
do {
l3.win[m3++] = l3.win[S2++];
} while (0 != --h3);
else
l3.win.set(l3.win.subarray(S2, S2 + h3), m3), m3 += h3, S2 += h3, h3 = 0;
S2 = 0;
}
}
if (m3 - S2 > 0 && k2 > m3 - S2)
do {
l3.win[m3++] = l3.win[S2++];
} while (0 != --k2);
else
l3.win.set(l3.win.subarray(S2, S2 + k2), m3), m3 += k2, S2 += k2, k2 = 0;
break;
}
if (64 & h3)
return c3.msg = "invalid distance code", k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, t;
u3 += d3[z2 + 2], u3 += w3 & i[h3], z2 = 3 * (f3 + u3), h3 = d3[z2];
}
break;
}
if (64 & h3)
return 32 & h3 ? (k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, 1) : (c3.msg = "invalid literal/length code", k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, t);
if (u3 += d3[z2 + 2], u3 += w3 & i[h3], z2 = 3 * (f3 + u3), 0 === (h3 = d3[z2])) {
w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], l3.win[m3++] = d3[z2 + 2], g2--;
break;
}
}
else
w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], l3.win[m3++] = d3[z2 + 2], g2--;
} while (g2 >= 258 && p3 >= 10);
return k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, 0;
}
n2.init = function(e2, t2, n3, i2, l3, c3) {
r2 = 0, w2 = e2, _2 = t2, s2 = n3, b2 = i2, o2 = l3, p2 = c3, a2 = null;
}, n2.proc = function(n3, g2, y2) {
let x2, k2, v2, S2, z2, A2, U2, D2 = 0, E2 = 0, T2 = 0;
for (T2 = g2.next_in_index, S2 = g2.avail_in, D2 = n3.bitb, E2 = n3.bitk, z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2; ; )
switch (r2) {
case 0:
if (A2 >= 258 && S2 >= 10 && (n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, y2 = m2(w2, _2, s2, b2, o2, p2, n3, g2), T2 = g2.next_in_index, S2 = g2.avail_in, D2 = n3.bitb, E2 = n3.bitk, z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, 0 != y2)) {
r2 = 1 == y2 ? 7 : 9;
break;
}
u2 = w2, a2 = s2, c2 = b2, r2 = 1;
case 1:
for (x2 = u2; E2 < x2; ) {
if (0 === S2)
return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
}
if (k2 = 3 * (c2 + (D2 & i[x2])), D2 >>>= a2[k2 + 1], E2 -= a2[k2 + 1], v2 = a2[k2], 0 === v2) {
d2 = a2[k2 + 2], r2 = 6;
break;
}
if (16 & v2) {
f2 = 15 & v2, l2 = a2[k2 + 2], r2 = 2;
break;
}
if (!(64 & v2)) {
u2 = v2, c2 = k2 / 3 + a2[k2 + 2];
break;
}
if (32 & v2) {
r2 = 7;
break;
}
return r2 = 9, g2.msg = "invalid literal/length code", y2 = t, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
case 2:
for (x2 = f2; E2 < x2; ) {
if (0 === S2)
return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
}
l2 += D2 & i[x2], D2 >>= x2, E2 -= x2, u2 = _2, a2 = o2, c2 = p2, r2 = 3;
case 3:
for (x2 = u2; E2 < x2; ) {
if (0 === S2)
return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
}
if (k2 = 3 * (c2 + (D2 & i[x2])), D2 >>= a2[k2 + 1], E2 -= a2[k2 + 1], v2 = a2[k2], 16 & v2) {
f2 = 15 & v2, h2 = a2[k2 + 2], r2 = 4;
break;
}
if (!(64 & v2)) {
u2 = v2, c2 = k2 / 3 + a2[k2 + 2];
break;
}
return r2 = 9, g2.msg = "invalid distance code", y2 = t, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
case 4:
for (x2 = f2; E2 < x2; ) {
if (0 === S2)
return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
}
h2 += D2 & i[x2], D2 >>= x2, E2 -= x2, r2 = 5;
case 5:
for (U2 = z2 - h2; U2 < 0; )
U2 += n3.end;
for (; 0 !== l2; ) {
if (0 === A2 && (z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2 && (n3.write = z2, y2 = n3.inflate_flush(g2, y2), z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2)))
return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
n3.win[z2++] = n3.win[U2++], A2--, U2 == n3.end && (U2 = 0), l2--;
}
r2 = 0;
break;
case 6:
if (0 === A2 && (z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2 && (n3.write = z2, y2 = n3.inflate_flush(g2, y2), z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2)))
return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
y2 = 0, n3.win[z2++] = d2, A2--, r2 = 0;
break;
case 7:
if (E2 > 7 && (E2 -= 8, S2++, T2--), n3.write = z2, y2 = n3.inflate_flush(g2, y2), z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, n3.read != n3.write)
return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
r2 = 8;
case 8:
return y2 = 1, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
case 9:
return y2 = t, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
default:
return y2 = e, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
}
}, n2.free = function() {
};
}
const h = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
function w(r2, a2) {
const s2 = this;
let o2, l2 = 0, c2 = 0, u2 = 0, w2 = 0;
const _2 = [0], b2 = [0], p2 = new f();
let m2 = 0, g2 = new Int32Array(4320);
const y2 = new d();
s2.bitk = 0, s2.bitb = 0, s2.win = new Uint8Array(a2), s2.end = a2, s2.read = 0, s2.write = 0, s2.reset = function(e2, t2) {
t2 && (t2[0] = 0), 6 == l2 && p2.free(e2), l2 = 0, s2.bitk = 0, s2.bitb = 0, s2.read = s2.write = 0;
}, s2.reset(r2, null), s2.inflate_flush = function(e2, t2) {
let i2, r3, a3;
return r3 = e2.next_out_index, a3 = s2.read, i2 = (a3 <= s2.write ? s2.write : s2.end) - a3, i2 > e2.avail_out && (i2 = e2.avail_out), 0 !== i2 && t2 == n && (t2 = 0), e2.avail_out -= i2, e2.total_out += i2, e2.next_out.set(s2.win.subarray(a3, a3 + i2), r3), r3 += i2, a3 += i2, a3 == s2.end && (a3 = 0, s2.write == s2.end && (s2.write = 0), i2 = s2.write - a3, i2 > e2.avail_out && (i2 = e2.avail_out), 0 !== i2 && t2 == n && (t2 = 0), e2.avail_out -= i2, e2.total_out += i2, e2.next_out.set(s2.win.subarray(a3, a3 + i2), r3), r3 += i2, a3 += i2), e2.next_out_index = r3, s2.read = a3, t2;
}, s2.proc = function(n2, r3) {
let a3, f2, x2, k2, v2, S2, z2, A2;
for (k2 = n2.next_in_index, v2 = n2.avail_in, f2 = s2.bitb, x2 = s2.bitk, S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2; ; ) {
let U2, D2, E2, T2, F2, O2, C2, W2;
switch (l2) {
case 0:
for (; x2 < 3; ) {
if (0 === v2)
return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
}
switch (a3 = 7 & f2, m2 = 1 & a3, a3 >>> 1) {
case 0:
f2 >>>= 3, x2 -= 3, a3 = 7 & x2, f2 >>>= a3, x2 -= a3, l2 = 1;
break;
case 1:
U2 = [], D2 = [], E2 = [[]], T2 = [[]], d.inflate_trees_fixed(U2, D2, E2, T2), p2.init(U2[0], D2[0], E2[0], 0, T2[0], 0), f2 >>>= 3, x2 -= 3, l2 = 6;
break;
case 2:
f2 >>>= 3, x2 -= 3, l2 = 3;
break;
case 3:
return f2 >>>= 3, x2 -= 3, l2 = 9, n2.msg = "invalid block type", r3 = t, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
}
break;
case 1:
for (; x2 < 32; ) {
if (0 === v2)
return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
}
if ((~f2 >>> 16 & 65535) != (65535 & f2))
return l2 = 9, n2.msg = "invalid stored block lengths", r3 = t, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
c2 = 65535 & f2, f2 = x2 = 0, l2 = 0 !== c2 ? 2 : 0 !== m2 ? 7 : 0;
break;
case 2:
if (0 === v2)
return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
if (0 === z2 && (S2 == s2.end && 0 !== s2.read && (S2 = 0, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2), 0 === z2 && (s2.write = S2, r3 = s2.inflate_flush(n2, r3), S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2, S2 == s2.end && 0 !== s2.read && (S2 = 0, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2), 0 === z2)))
return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
if (r3 = 0, a3 = c2, a3 > v2 && (a3 = v2), a3 > z2 && (a3 = z2), s2.win.set(n2.read_buf(k2, a3), S2), k2 += a3, v2 -= a3, S2 += a3, z2 -= a3, 0 != (c2 -= a3))
break;
l2 = 0 !== m2 ? 7 : 0;
break;
case 3:
for (; x2 < 14; ) {
if (0 === v2)
return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
}
if (u2 = a3 = 16383 & f2, (31 & a3) > 29 || (a3 >> 5 & 31) > 29)
return l2 = 9, n2.msg = "too many length or distance symbols", r3 = t, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
if (a3 = 258 + (31 & a3) + (a3 >> 5 & 31), !o2 || o2.length < a3)
o2 = [];
else
for (A2 = 0; A2 < a3; A2++)
o2[A2] = 0;
f2 >>>= 14, x2 -= 14, w2 = 0, l2 = 4;
case 4:
for (; w2 < 4 + (u2 >>> 10); ) {
for (; x2 < 3; ) {
if (0 === v2)
return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
}
o2[h[w2++]] = 7 & f2, f2 >>>= 3, x2 -= 3;
}
for (; w2 < 19; )
o2[h[w2++]] = 0;
if (_2[0] = 7, a3 = y2.inflate_trees_bits(o2, _2, b2, g2, n2), 0 != a3)
return (r3 = a3) == t && (o2 = null, l2 = 9), s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
w2 = 0, l2 = 5;
case 5:
for (; a3 = u2, !(w2 >= 258 + (31 & a3) + (a3 >> 5 & 31)); ) {
let e2, c3;
for (a3 = _2[0]; x2 < a3; ) {
if (0 === v2)
return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
}
if (a3 = g2[3 * (b2[0] + (f2 & i[a3])) + 1], c3 = g2[3 * (b2[0] + (f2 & i[a3])) + 2], c3 < 16)
f2 >>>= a3, x2 -= a3, o2[w2++] = c3;
else {
for (A2 = 18 == c3 ? 7 : c3 - 14, e2 = 18 == c3 ? 11 : 3; x2 < a3 + A2; ) {
if (0 === v2)
return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
}
if (f2 >>>= a3, x2 -= a3, e2 += f2 & i[A2], f2 >>>= A2, x2 -= A2, A2 = w2, a3 = u2, A2 + e2 > 258 + (31 & a3) + (a3 >> 5 & 31) || 16 == c3 && A2 < 1)
return o2 = null, l2 = 9, n2.msg = "invalid bit length repeat", r3 = t, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
c3 = 16 == c3 ? o2[A2 - 1] : 0;
do {
o2[A2++] = c3;
} while (0 != --e2);
w2 = A2;
}
}
if (b2[0] = -1, F2 = [], O2 = [], C2 = [], W2 = [], F2[0] = 9, O2[0] = 6, a3 = u2, a3 = y2.inflate_trees_dynamic(257 + (31 & a3), 1 + (a3 >> 5 & 31), o2, F2, O2, C2, W2, g2, n2), 0 != a3)
return a3 == t && (o2 = null, l2 = 9), r3 = a3, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
p2.init(F2[0], O2[0], g2, C2[0], g2, W2[0]), l2 = 6;
case 6:
if (s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, 1 != (r3 = p2.proc(s2, n2, r3)))
return s2.inflate_flush(n2, r3);
if (r3 = 0, p2.free(n2), k2 = n2.next_in_index, v2 = n2.avail_in, f2 = s2.bitb, x2 = s2.bitk, S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2, 0 === m2) {
l2 = 0;
break;
}
l2 = 7;
case 7:
if (s2.write = S2, r3 = s2.inflate_flush(n2, r3), S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2, s2.read != s2.write)
return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
l2 = 8;
case 8:
return r3 = 1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
case 9:
return r3 = t, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
default:
return r3 = e, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
}
}
}, s2.free = function(e2) {
s2.reset(e2, null), s2.win = null, g2 = null;
}, s2.set_dictionary = function(e2, t2, n2) {
s2.win.set(e2.subarray(t2, t2 + n2), 0), s2.read = s2.write = n2;
}, s2.sync_point = function() {
return 1 == l2 ? 1 : 0;
};
}
const _ = 13, b = [0, 0, 255, 255];
function p() {
const i2 = this;
function r2(t2) {
return t2 && t2.istate ? (t2.total_in = t2.total_out = 0, t2.msg = null, t2.istate.mode = 7, t2.istate.blocks.reset(t2, null), 0) : e;
}
i2.mode = 0, i2.method = 0, i2.was = [0], i2.need = 0, i2.marker = 0, i2.wbits = 0, i2.inflateEnd = function(e2) {
return i2.blocks && i2.blocks.free(e2), i2.blocks = null, 0;
}, i2.inflateInit = function(t2, n2) {
return t2.msg = null, i2.blocks = null, n2 < 8 || n2 > 15 ? (i2.inflateEnd(t2), e) : (i2.wbits = n2, t2.istate.blocks = new w(t2, 1 << n2), r2(t2), 0);
}, i2.inflate = function(i3, r3) {
let a2, s2;
if (!i3 || !i3.istate || !i3.next_in)
return e;
const o2 = i3.istate;
for (r3 = 4 == r3 ? n : 0, a2 = n; ; )
switch (o2.mode) {
case 0:
if (0 === i3.avail_in)
return a2;
if (a2 = r3, i3.avail_in--, i3.total_in++, 8 != (15 & (o2.method = i3.read_byte(i3.next_in_index++)))) {
o2.mode = _, i3.msg = "unknown compression method", o2.marker = 5;
break;
}
if (8 + (o2.method >> 4) > o2.wbits) {
o2.mode = _, i3.msg = "invalid win size", o2.marker = 5;
break;
}
o2.mode = 1;
case 1:
if (0 === i3.avail_in)
return a2;
if (a2 = r3, i3.avail_in--, i3.total_in++, s2 = 255 & i3.read_byte(i3.next_in_index++), ((o2.method << 8) + s2) % 31 != 0) {
o2.mode = _, i3.msg = "incorrect header check", o2.marker = 5;
break;
}
if (!(32 & s2)) {
o2.mode = 7;
break;
}
o2.mode = 2;
case 2:
if (0 === i3.avail_in)
return a2;
a2 = r3, i3.avail_in--, i3.total_in++, o2.need = (255 & i3.read_byte(i3.next_in_index++)) << 24 & 4278190080, o2.mode = 3;
case 3:
if (0 === i3.avail_in)
return a2;
a2 = r3, i3.avail_in--, i3.total_in++, o2.need += (255 & i3.read_byte(i3.next_in_index++)) << 16 & 16711680, o2.mode = 4;
case 4:
if (0 === i3.avail_in)
return a2;
a2 = r3, i3.avail_in--, i3.total_in++, o2.need += (255 & i3.read_byte(i3.next_in_index++)) << 8 & 65280, o2.mode = 5;
case 5:
return 0 === i3.avail_in ? a2 : (a2 = r3, i3.avail_in--, i3.total_in++, o2.need += 255 & i3.read_byte(i3.next_in_index++), o2.mode = 6, 2);
case 6:
return o2.mode = _, i3.msg = "need dictionary", o2.marker = 0, e;
case 7:
if (a2 = o2.blocks.proc(i3, a2), a2 == t) {
o2.mode = _, o2.marker = 0;
break;
}
if (0 == a2 && (a2 = r3), 1 != a2)
return a2;
a2 = r3, o2.blocks.reset(i3, o2.was), o2.mode = 12;
case 12:
return i3.avail_in = 0, 1;
case _:
return t;
default:
return e;
}
}, i2.inflateSetDictionary = function(t2, n2, i3) {
let r3 = 0, a2 = i3;
if (!t2 || !t2.istate || 6 != t2.istate.mode)
return e;
const s2 = t2.istate;
return a2 >= 1 << s2.wbits && (a2 = (1 << s2.wbits) - 1, r3 = i3 - a2), s2.blocks.set_dictionary(n2, r3, a2), s2.mode = 7, 0;
}, i2.inflateSync = function(i3) {
let a2, s2, o2, l2, c2;
if (!i3 || !i3.istate)
return e;
const u2 = i3.istate;
if (u2.mode != _ && (u2.mode = _, u2.marker = 0), 0 === (a2 = i3.avail_in))
return n;
for (s2 = i3.next_in_index, o2 = u2.marker; 0 !== a2 && o2 < 4; )
i3.read_byte(s2) == b[o2] ? o2++ : o2 = 0 !== i3.read_byte(s2) ? 0 : 4 - o2, s2++, a2--;
return i3.total_in += s2 - i3.next_in_index, i3.next_in_index = s2, i3.avail_in = a2, u2.marker = o2, 4 != o2 ? t : (l2 = i3.total_in, c2 = i3.total_out, r2(i3), i3.total_in = l2, i3.total_out = c2, u2.mode = 7, 0);
}, i2.inflateSyncPoint = function(t2) {
return t2 && t2.istate && t2.istate.blocks ? t2.istate.blocks.sync_point() : e;
};
}
function m() {
}
m.prototype = { inflateInit(e2) {
const t2 = this;
return t2.istate = new p(), e2 || (e2 = 15), t2.istate.inflateInit(t2, e2);
}, inflate(t2) {
const n2 = this;
return n2.istate ? n2.istate.inflate(n2, t2) : e;
}, inflateEnd() {
const t2 = this;
if (!t2.istate)
return e;
const n2 = t2.istate.inflateEnd(t2);
return t2.istate = null, n2;
}, inflateSync() {
const t2 = this;
return t2.istate ? t2.istate.inflateSync(t2) : e;
}, inflateSetDictionary(t2, n2) {
const i2 = this;
return i2.istate ? i2.istate.inflateSetDictionary(i2, t2, n2) : e;
}, read_byte(e2) {
return this.next_in[e2];
}, read_buf(e2, t2) {
return this.next_in.subarray(e2, e2 + t2);
} };
const g = 4294967295, y = 65535, x = 33639248, k = 101075792, v = 22, S = void 0, z = "undefined", A = "function";
class U {
constructor(e2) {
return class extends TransformStream {
constructor(t2, n2) {
const i2 = new e2(n2);
super({ transform(e3, t3) {
t3.enqueue(i2.append(e3));
}, flush(e3) {
const t3 = i2.flush();
t3 && e3.enqueue(t3);
} });
}
};
}
}
let D = 2;
try {
typeof navigator != z && navigator.hardwareConcurrency && (D = navigator.hardwareConcurrency);
} catch (e2) {
}
const E = { chunkSize: 524288, maxWorkers: D, terminateWorkerTimeout: 5e3, useWebWorkers: true, useCompressionStream: true, workerScripts: S, CompressionStreamNative: typeof CompressionStream != z && CompressionStream, DecompressionStreamNative: typeof DecompressionStream != z && DecompressionStream }, T = Object.assign({}, E);
function F(e2) {
const { baseURL: t2, chunkSize: n2, maxWorkers: i2, terminateWorkerTimeout: r2, useCompressionStream: a2, useWebWorkers: s2, Deflate: o2, Inflate: l2, CompressionStream: c2, DecompressionStream: u2, workerScripts: d2 } = e2;
if (O("baseURL", t2), O("chunkSize", n2), O("maxWorkers", i2), O("terminateWorkerTimeout", r2), O("useCompressionStream", a2), O("useWebWorkers", s2), o2 && (T.CompressionStream = new U(o2)), l2 && (T.DecompressionStream = new U(l2)), O("CompressionStream", c2), O("DecompressionStream", u2), d2 !== S) {
const { deflate: e3, inflate: t3 } = d2;
if ((e3 || t3) && (T.workerScripts || (T.workerScripts = {})), e3) {
if (!Array.isArray(e3))
throw new Error("workerScripts.deflate must be an array");
T.workerScripts.deflate = e3;
}
if (t3) {
if (!Array.isArray(t3))
throw new Error("workerScripts.inflate must be an array");
T.workerScripts.inflate = t3;
}
}
}
function O(e2, t2) {
t2 !== S && (T[e2] = t2);
}
const C = [];
for (let e2 = 0; e2 < 256; e2++) {
let t2 = e2;
for (let e3 = 0; e3 < 8; e3++)
1 & t2 ? t2 = t2 >>> 1 ^ 3988292384 : t2 >>>= 1;
C[e2] = t2;
}
class W {
constructor(e2) {
this.crc = e2 || -1;
}
append(e2) {
let t2 = 0 | this.crc;
for (let n2 = 0, i2 = 0 | e2.length; n2 < i2; n2++)
t2 = t2 >>> 8 ^ C[255 & (t2 ^ e2[n2])];
this.crc = t2;
}
get() {
return ~this.crc;
}
}
class j extends TransformStream {
constructor() {
let e2;
const t2 = new W();
super({ transform(e3, n2) {
t2.append(e3), n2.enqueue(e3);
}, flush() {
const n2 = new Uint8Array(4);
new DataView(n2.buffer).setUint32(0, t2.get()), e2.value = n2;
} }), e2 = this;
}
}
const M = { concat(e2, t2) {
if (0 === e2.length || 0 === t2.length)
return e2.concat(t2);
const n2 = e2[e2.length - 1], i2 = M.getPartial(n2);
return 32 === i2 ? e2.concat(t2) : M._shiftRight(t2, i2, 0 | n2, e2.slice(0, e2.length - 1));
}, bitLength(e2) {
const t2 = e2.length;
if (0 === t2)
return 0;
const n2 = e2[t2 - 1];
return 32 * (t2 - 1) + M.getPartial(n2);
}, clamp(e2, t2) {
if (32 * e2.length < t2)
return e2;
const n2 = (e2 = e2.slice(0, Math.ceil(t2 / 32))).length;
return t2 &= 31, n2 > 0 && t2 && (e2[n2 - 1] = M.partial(t2, e2[n2 - 1] & 2147483648 >> t2 - 1, 1)), e2;
}, partial: (e2, t2, n2) => 32 === e2 ? t2 : (n2 ? 0 | t2 : t2 << 32 - e2) + 1099511627776 * e2, getPartial: (e2) => Math.round(e2 / 1099511627776) || 32, _shiftRight(e2, t2, n2, i2) {
for (void 0 === i2 && (i2 = []); t2 >= 32; t2 -= 32)
i2.push(n2), n2 = 0;
if (0 === t2)
return i2.concat(e2);
for (let r3 = 0; r3 < e2.length; r3++)
i2.push(n2 | e2[r3] >>> t2), n2 = e2[r3] << 32 - t2;
const r2 = e2.length ? e2[e2.length - 1] : 0, a2 = M.getPartial(r2);
return i2.push(M.partial(t2 + a2 & 31, t2 + a2 > 32 ? n2 : i2.pop(), 1)), i2;
} }, L = { bytes: { fromBits(e2) {
const t2 = M.bitLength(e2) / 8, n2 = new Uint8Array(t2);
let i2;
for (let r2 = 0; r2 < t2; r2++)
3 & r2 || (i2 = e2[r2 / 4]), n2[r2] = i2 >>> 24, i2 <<= 8;
return n2;
}, toBits(e2) {
const t2 = [];
let n2, i2 = 0;
for (n2 = 0; n2 < e2.length; n2++)
i2 = i2 << 8 | e2[n2], 3 & ~n2 || (t2.push(i2), i2 = 0);
return 3 & n2 && t2.push(M.partial(8 * (3 & n2), i2)), t2;
} } }, P = { sha1: class {
constructor(e2) {
const t2 = this;
t2.blockSize = 512, t2._init = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], t2._key = [1518500249, 1859775393, 2400959708, 3395469782], e2 ? (t2._h = e2._h.slice(0), t2._buffer = e2._buffer.slice(0), t2._length = e2._length) : t2.reset();
}
reset() {
const e2 = this;
return e2._h = e2._init.slice(0), e2._buffer = [], e2._length = 0, e2;
}
update(e2) {
const t2 = this;
"string" == typeof e2 && (e2 = L.utf8String.toBits(e2));
const n2 = t2._buffer = M.concat(t2._buffer, e2), i2 = t2._length, r2 = t2._length = i2 + M.bitLength(e2);
if (r2 > 9007199254740991)
throw new Error("Cannot hash more than 2^53 - 1 bits");
const a2 = new Uint32Array(n2);
let s2 = 0;
for (let e3 = t2.blockSize + i2 - (t2.blockSize + i2 & t2.blockSize - 1); e3 <= r2; e3 += t2.blockSize)
t2._block(a2.subarray(16 * s2, 16 * (s2 + 1))), s2 += 1;
return n2.splice(0, 16 * s2), t2;
}
finalize() {
const e2 = this;
let t2 = e2._buffer;
const n2 = e2._h;
t2 = M.concat(t2, [M.partial(1, 1)]);
for (let e3 = t2.length + 2; 15 & e3; e3++)
t2.push(0);
for (t2.push(Math.floor(e2._length / 4294967296)), t2.push(0 | e2._length); t2.length; )
e2._block(t2.splice(0, 16));
return e2.reset(), n2;
}
_f(e2, t2, n2, i2) {
return e2 <= 19 ? t2 & n2 | ~t2 & i2 : e2 <= 39 ? t2 ^ n2 ^ i2 : e2 <= 59 ? t2 & n2 | t2 & i2 | n2 & i2 : e2 <= 79 ? t2 ^ n2 ^ i2 : void 0;
}
_S(e2, t2) {
return t2 << e2 | t2 >>> 32 - e2;
}
_block(e2) {
const t2 = this, n2 = t2._h, i2 = Array(80);
for (let t3 = 0; t3 < 16; t3++)
i2[t3] = e2[t3];
let r2 = n2[0], a2 = n2[1], s2 = n2[2], o2 = n2[3], l2 = n2[4];
for (let e3 = 0; e3 <= 79; e3++) {
e3 >= 16 && (i2[e3] = t2._S(1, i2[e3 - 3] ^ i2[e3 - 8] ^ i2[e3 - 14] ^ i2[e3 - 16]));
const n3 = t2._S(5, r2) + t2._f(e3, a2, s2, o2) + l2 + i2[e3] + t2._key[Math.floor(e3 / 20)] | 0;
l2 = o2, o2 = s2, s2 = t2._S(30, a2), a2 = r2, r2 = n3;
}
n2[0] = n2[0] + r2 | 0, n2[1] = n2[1] + a2 | 0, n2[2] = n2[2] + s2 | 0, n2[3] = n2[3] + o2 | 0, n2[4] = n2[4] + l2 | 0;
}
} }, R = { aes: class {
constructor(e2) {
const t2 = this;
t2._tables = [[[], [], [], [], []], [[], [], [], [], []]], t2._tables[0][0][0] || t2._precompute();
const n2 = t2._tables[0][4], i2 = t2._tables[1], r2 = e2.length;
let a2, s2, o2, l2 = 1;
if (4 !== r2 && 6 !== r2 && 8 !== r2)
throw new Error("invalid aes key size");
for (t2._key = [s2 = e2.slice(0), o2 = []], a2 = r2; a2 < 4 * r2 + 28; a2++) {
let e3 = s2[a2 - 1];
(a2 % r2 == 0 || 8 === r2 && a2 % r2 == 4) && (e3 = n2[e3 >>> 24] << 24 ^ n2[e3 >> 16 & 255] << 16 ^ n2[e3 >> 8 & 255] << 8 ^ n2[255 & e3], a2 % r2 == 0 && (e3 = e3 << 8 ^ e3 >>> 24 ^ l2 << 24, l2 = l2 << 1 ^ 283 * (l2 >> 7))), s2[a2] = s2[a2 - r2] ^ e3;
}
for (let e3 = 0; a2; e3++, a2--) {
const t3 = s2[3 & e3 ? a2 : a2 - 4];
o2[e3] = a2 <= 4 || e3 < 4 ? t3 : i2[0][n2[t3 >>> 24]] ^ i2[1][n2[t3 >> 16 & 255]] ^ i2[2][n2[t3 >> 8 & 255]] ^ i2[3][n2[255 & t3]];
}
}
encrypt(e2) {
return this._crypt(e2, 0);
}
decrypt(e2) {
return this._crypt(e2, 1);
}
_precompute() {
const e2 = this._tables[0], t2 = this._tables[1], n2 = e2[4], i2 = t2[4], r2 = [], a2 = [];
let s2, o2, l2, c2;
for (let e3 = 0; e3 < 256; e3++)
a2[(r2[e3] = e3 << 1 ^ 283 * (e3 >> 7)) ^ e3] = e3;
for (let u2 = s2 = 0; !n2[u2]; u2 ^= o2 || 1, s2 = a2[s2] || 1) {
let a3 = s2 ^ s2 << 1 ^ s2 << 2 ^ s2 << 3 ^ s2 << 4;
a3 = a3 >> 8 ^ 255 & a3 ^ 99, n2[u2] = a3, i2[a3] = u2, c2 = r2[l2 = r2[o2 = r2[u2]]];
let d2 = 16843009 * c2 ^ 65537 * l2 ^ 257 * o2 ^ 16843008 * u2, f2 = 257 * r2[a3] ^ 16843008 * a3;
for (let n3 = 0; n3 < 4; n3++)
e2[n3][u2] = f2 = f2 << 24 ^ f2 >>> 8, t2[n3][a3] = d2 = d2 << 24 ^ d2 >>> 8;
}
for (let n3 = 0; n3 < 5; n3++)
e2[n3] = e2[n3].slice(0), t2[n3] = t2[n3].slice(0);
}
_crypt(e2, t2) {
if (4 !== e2.length)
throw new Error("invalid aes block size");
const n2 = this._key[t2], i2 = n2.length / 4 - 2, r2 = [0, 0, 0, 0], a2 = this._tables[t2], s2 = a2[0], o2 = a2[1], l2 = a2[2], c2 = a2[3], u2 = a2[4];
let d2, f2, h2, w2 = e2[0] ^ n2[0], _2 = e2[t2 ? 3 : 1] ^ n2[1], b2 = e2[2] ^ n2[2], p2 = e2[t2 ? 1 : 3] ^ n2[3], m2 = 4;
for (let e3 = 0; e3 < i2; e3++)
d2 = s2[w2 >>> 24] ^ o2[_2 >> 16 & 255] ^ l2[b2 >> 8 & 255] ^ c2[255 & p2] ^ n2[m2], f2 = s2[_2 >>> 24] ^ o2[b2 >> 16 & 255] ^ l2[p2 >> 8 & 255] ^ c2[255 & w2] ^ n2[m2 + 1], h2 = s2[b2 >>> 24] ^ o2[p2 >> 16 & 255] ^ l2[w2 >> 8 & 255] ^ c2[255 & _2] ^ n2[m2 + 2], p2 = s2[p2 >>> 24] ^ o2[w2 >> 16 & 255] ^ l2[_2 >> 8 & 255] ^ c2[255 & b2] ^ n2[m2 + 3], m2 += 4, w2 = d2, _2 = f2, b2 = h2;
for (let e3 = 0; e3 < 4; e3++)
r2[t2 ? 3 & -e3 : e3] = u2[w2 >>> 24] << 24 ^ u2[_2 >> 16 & 255] << 16 ^ u2[b2 >> 8 & 255] << 8 ^ u2[255 & p2] ^ n2[m2++], d2 = w2, w2 = _2, _2 = b2, b2 = p2, p2 = d2;
return r2;
}
} }, B = { getRandomValues(e2) {
const t2 = new Uint32Array(e2.buffer), n2 = (e3) => {
let t3 = 987654321;
const n3 = 4294967295;
return function() {
t3 = 36969 * (65535 & t3) + (t3 >> 16) & n3;
return (((t3 << 16) + (e3 = 18e3 * (65535 & e3) + (e3 >> 16) & n3) & n3) / 4294967296 + 0.5) * (Math.random() > 0.5 ? 1 : -1);
};
};
for (let i2, r2 = 0; r2 < e2.length; r2 += 4) {
const e3 = n2(4294967296 * (i2 || Math.random()));
i2 = 987654071 * e3(), t2[r2 / 4] = 4294967296 * e3() | 0;
}
return e2;
} }, I = { ctrGladman: class {
constructor(e2, t2) {
this._prf = e2, this._initIv = t2, this._iv = t2;
}
reset() {
this._iv = this._initIv;
}
update(e2) {
return this.calculate(this._prf, e2, this._iv);
}
incWord(e2) {
if (255 & ~(e2 >> 24))
e2 += 1 << 24;
else {
let t2 = e2 >> 16 & 255, n2 = e2 >> 8 & 255, i2 = 255 & e2;
255 === t2 ? (t2 = 0, 255 === n2 ? (n2 = 0, 255 === i2 ? i2 = 0 : ++i2) : ++n2) : ++t2, e2 = 0, e2 += t2 << 16, e2 += n2 << 8, e2 += i2;
}
return e2;
}
incCounter(e2) {
0 === (e2[0] = this.incWord(e2[0])) && (e2[1] = this.incWord(e2[1]));
}
calculate(e2, t2, n2) {
let i2;
if (!(i2 = t2.length))
return [];
const r2 = M.bitLength(t2);
for (let r3 = 0; r3 < i2; r3 += 4) {
this.incCounter(n2);
const i3 = e2.encrypt(n2);
t2[r3] ^= i3[0], t2[r3 + 1] ^= i3[1], t2[r3 + 2] ^= i3[2], t2[r3 + 3] ^= i3[3];
}
return M.clamp(t2, r2);
}
} }, N = { importKey: (e2) => new N.hmacSha1(L.bytes.toBits(e2)), pbkdf2(e2, t2, n2, i2) {
if (n2 = n2 || 1e4, i2 < 0 || n2 < 0)
throw new Error("invalid params to pbkdf2");
const r2 = 1 + (i2 >> 5) << 2;
let a2, s2, o2, l2, c2;
const u2 = new ArrayBuffer(r2), d2 = new DataView(u2);
let f2 = 0;
const h2 = M;
for (t2 = L.bytes.toBits(t2), c2 = 1; f2 < (r2 || 1); c2++) {
for (a2 = s2 = e2.encrypt(h2.concat(t2, [c2])), o2 = 1; o2 < n2; o2++)
for (s2 = e2.encrypt(s2), l2 = 0; l2 < s2.length; l2++)
a2[l2] ^= s2[l2];
for (o2 = 0; f2 < (r2 || 1) && o2 < a2.length; o2++)
d2.setInt32(f2, a2[o2]), f2 += 4;
}
return u2.slice(0, i2 / 8);
}, hmacSha1: class {
constructor(e2) {
const t2 = this, n2 = t2._hash = P.sha1, i2 = [[], []];
t2._baseHash = [new n2(), new n2()];
const r2 = t2._baseHash[0].blockSize / 32;
e2.length > r2 && (e2 = new n2().update(e2).finalize());
for (let t3 = 0; t3 < r2; t3++)
i2[0][t3] = 909522486 ^ e2[t3], i2[1][t3] = 1549556828 ^ e2[t3];
t2._baseHash[0].update(i2[0]), t2._baseHash[1].update(i2[1]), t2._resultHash = new n2(t2._baseHash[0]);
}
reset() {
const e2 = this;
e2._resultHash = new e2._hash(e2._baseHash[0]), e2._updated = false;
}
update(e2) {
this._updated = true, this._resultHash.update(e2);
}
digest() {
const e2 = this, t2 = e2._resultHash.finalize(), n2 = new e2._hash(e2._baseHash[1]).update(t2).finalize();
return e2.reset(), n2;
}
encrypt(e2) {
if (this._updated)
throw new Error("encrypt on already updated hmac called!");
return this.update(e2), this.digest(e2);
}
} }, V = typeof crypto != z && typeof crypto.getRandomValues == A, q = "Invalid password", H = "Invalid signature", K = "zipjs-abort-check-password";
function Z(e2) {
return V ? crypto.getRandomValues(e2) : B.getRandomValues(e2);
}
const G = 16, J = { name: "PBKDF2" }, Q = Object.assign({ hash: { name: "HMAC" } }, J), X = Object.assign({ iterations: 1e3, hash: { name: "SHA-1" } }, J), Y = ["deriveBits"], $ = [8, 12, 16], ee = [16, 24, 32], te = 10, ne = [0, 0, 0, 0], ie = typeof crypto != z, re = ie && crypto.subtle, ae = ie && typeof re != z, se = L.bytes, oe = R.aes, le = I.ctrGladman, ce = N.hmacSha1;
let ue = ie && ae && typeof re.importKey == A, de = ie && ae && typeof re.deriveBits == A;
class fe extends TransformStream {
constructor({ password: e2, rawPassword: t2, signed: n2, encryptionStrength: i2, checkPasswordOnly: r2 }) {
super({ start() {
Object.assign(this, { ready: new Promise((e3) => this.resolveReady = e3), password: be(e2, t2), signed: n2, strength: i2 - 1, pending: new Uint8Array() });
}, async transform(e3, t3) {
const n3 = this, { password: i3, strength: a2, resolveReady: s2, ready: o2 } = n3;
i3 ? (await async function(e4, t4, n4, i4) {
const r3 = await _e(e4, t4, n4, me(i4, 0, $[t4])), a3 = me(i4, $[t4]);
if (r3[0] != a3[0] || r3[1] != a3[1])
throw new Error(q);
}(n3, a2, i3, me(e3, 0, $[a2] + 2)), e3 = me(e3, $[a2] + 2), r2 ? t3.error(new Error(K)) : s2()) : await o2;
const l2 = new Uint8Array(e3.length - te - (e3.length - te) % G);
t3.enqueue(we(n3, e3, l2, 0, te, true));
}, async flush(e3) {
const { signed: t3, ctr: n3, hmac: i3, pending: r3, ready: a2 } = this;
if (i3 && n3) {
await a2;
const s2 = me(r3, 0, r3.length - te), o2 = me(r3, r3.length - te);
let l2 = new Uint8Array();
if (s2.length) {
const e4 = ye(se, s2);
i3.update(e4);
const t4 = n3.update(e4);
l2 = ge(se, t4);
}
if (t3) {
const e4 = me(ge(se, i3.digest()), 0, te);
for (let t4 = 0; t4 < te; t4++)
if (e4[t4] != o2[t4])
throw new Error(H);
}
e3.enqueue(l2);
}
} });
}
}
class he extends TransformStream {
constructor({ password: e2, rawPassword: t2, encryptionStrength: n2 }) {
let i2;
super({ start() {
Object.assign(this, { ready: new Promise((e3) => this.resolveReady = e3), password: be(e2, t2), strength: n2 - 1, pending: new Uint8Array() });
}, async transform(e3, t3) {
const n3 = this, { password: i3, strength: r2, resolveReady: a2, ready: s2 } = n3;
let o2 = new Uint8Array();
i3 ? (o2 = await async function(e4, t4, n4) {
const i4 = Z(new Uint8Array($[t4])), r3 = await _e(e4, t4, n4, i4);
return pe(i4, r3);
}(n3, r2, i3), a2()) : await s2;
const l2 = new Uint8Array(o2.length + e3.length - e3.length % G);
l2.set(o2, 0), t3.enqueue(we(n3, e3, l2, o2.length, 0));
}, async flush(e3) {
const { ctr: t3, hmac: n3, pending: r2, ready: a2 } = this;
if (n3 && t3) {
await a2;
let s2 = new Uint8Array();
if (r2.length) {
const e4 = t3.update(ye(se, r2));
n3.update(e4), s2 = ge(se, e4);
}
i2.signature = ge(se, n3.digest()).slice(0, te), e3.enqueue(pe(s2, i2.signature));