UNPKG

can-can-word-bug

Version:

can-can-word-bug 是一个 TS 编写的工具库

7,297 lines 256 kB
import { g as Es } from "../_commonjsHelpers-BkfeUUK-.js";
const Rt = 15, Sn = 30, An = 19, Ss = 29, Xt = 256, Mn = Xt + 1 + Ss, ti = 2 * Mn + 1, bt = 256, As = 7, ni = 16, ii = 17, ai = 18, ln = 8 * 2, $t = -1, Ts = 1, Lt = 2, Rs = 0, ut = 0, si = 1, Ds = 3, Se = 4, Ue = 0, na = 1, jt = 2, Pe = -2, Cs = -3, ft = -5;
function nn(t) {
  return an(t.map(([n, e]) => new Array(n).fill(e, 0, n)));
}
function an(t) {
  return t.reduce((n, e) => n.concat(Array.isArray(e) ? an(e) : e), []);
}
const ri = [0, 1, 2, 3].concat(...nn([
  [2, 4],
  [2, 5],
  [4, 6],
  [4, 7],
  [8, 8],
  [8, 9],
  [16, 10],
  [16, 11],
  [32, 12],
  [32, 13],
  [64, 14],
  [64, 15],
  [2, 0],
  [1, 16],
  [1, 17],
  [2, 18],
  [2, 19],
  [4, 20],
  [4, 21],
  [8, 22],
  [8, 23],
  [16, 24],
  [16, 25],
  [32, 26],
  [32, 27],
  [64, 28],
  [64, 29]
]));
function ie() {
  const t = this;
  function n(a) {
    const s = t.dyn_tree, r = t.stat_desc.static_tree, l = t.stat_desc.extra_bits, o = t.stat_desc.extra_base, x = t.stat_desc.max_length;
    let f, u, m, g, R, p, c = 0;
    for (g = 0; g <= Rt; g++)
      a.bl_count[g] = 0;
    for (s[a.heap[a.heap_max] * 2 + 1] = 0, f = a.heap_max + 1; f < ti; f++)
      u = a.heap[f], g = s[s[u * 2 + 1] * 2 + 1] + 1, g > x && (g = x, c++), s[u * 2 + 1] = g, !(u > t.max_code) && (a.bl_count[g]++, R = 0, u >= o && (R = l[u - o]), p = s[u * 2], a.opt_len += p * (g + R), r && (a.static_len += p * (r[u * 2 + 1] + R)));
    if (c !== 0) {
      do {
        for (g = x - 1; a.bl_count[g] === 0; )
          g--;
        a.bl_count[g]--, a.bl_count[g + 1] += 2, a.bl_count[x]--, c -= 2;
      } while (c > 0);
      for (g = x; g !== 0; g--)
        for (u = a.bl_count[g]; u !== 0; )
          m = a.heap[--f], !(m > t.max_code) && (s[m * 2 + 1] != g && (a.opt_len += (g - s[m * 2 + 1]) * s[m * 2], s[m * 2 + 1] = g), u--);
    }
  }
  function e(a, s) {
    let r = 0;
    do
      r |= a & 1, a >>>= 1, r <<= 1;
    while (--s > 0);
    return r >>> 1;
  }
  function i(a, s, r) {
    const l = [];
    let o = 0, x, f, u;
    for (x = 1; x <= Rt; x++)
      l[x] = o = o + r[x - 1] << 1;
    for (f = 0; f <= s; f++)
      u = a[f * 2 + 1], u !== 0 && (a[f * 2] = e(l[u]++, u));
  }
  t.build_tree = function(a) {
    const s = t.dyn_tree, r = t.stat_desc.static_tree, l = t.stat_desc.elems;
    let o, x, f = -1, u;
    for (a.heap_len = 0, a.heap_max = ti, o = 0; o < l; o++)
      s[o * 2] !== 0 ? (a.heap[++a.heap_len] = f = o, a.depth[o] = 0) : s[o * 2 + 1] = 0;
    for (; a.heap_len < 2; )
      u = a.heap[++a.heap_len] = f < 2 ? ++f : 0, s[u * 2] = 1, a.depth[u] = 0, a.opt_len--, r && (a.static_len -= r[u * 2 + 1]);
    for (t.max_code = f, o = Math.floor(a.heap_len / 2); o >= 1; o--)
      a.pqdownheap(s, o);
    u = l;
    do
      o = a.heap[1], a.heap[1] = a.heap[a.heap_len--], a.pqdownheap(s, 1), x = a.heap[1], a.heap[--a.heap_max] = o, a.heap[--a.heap_max] = x, s[u * 2] = s[o * 2] + s[x * 2], a.depth[u] = Math.max(a.depth[o], a.depth[x]) + 1, s[o * 2 + 1] = s[x * 2 + 1] = u, a.heap[1] = u++, a.pqdownheap(s, 1);
    while (a.heap_len >= 2);
    a.heap[--a.heap_max] = a.heap[1], n(a), i(s, t.max_code, a.bl_count);
  };
}
ie._length_code = [0, 1, 2, 3, 4, 5, 6, 7].concat(...nn([
  [2, 8],
  [2, 9],
  [2, 10],
  [2, 11],
  [4, 12],
  [4, 13],
  [4, 14],
  [4, 15],
  [8, 16],
  [8, 17],
  [8, 18],
  [8, 19],
  [16, 20],
  [16, 21],
  [16, 22],
  [16, 23],
  [32, 24],
  [32, 25],
  [32, 26],
  [31, 27],
  [1, 28]
]));
ie.base_length = [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 0];
ie.base_dist = [
  0,
  1,
  2,
  3,
  4,
  6,
  8,
  12,
  16,
  24,
  32,
  48,
  64,
  96,
  128,
  192,
  256,
  384,
  512,
  768,
  1024,
  1536,
  2048,
  3072,
  4096,
  6144,
  8192,
  12288,
  16384,
  24576
];
ie.d_code = function(t) {
  return t < 256 ? ri[t] : ri[256 + (t >>> 7)];
};
ie.extra_lbits = [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];
ie.extra_dbits = [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];
ie.extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7];
ie.bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
function he(t, n, e, i, a) {
  const s = this;
  s.static_tree = t, s.extra_bits = n, s.extra_base = e, s.elems = i, s.max_length = a;
}
const Fs = [
  12,
  140,
  76,
  204,
  44,
  172,
  108,
  236,
  28,
  156,
  92,
  220,
  60,
  188,
  124,
  252,
  2,
  130,
  66,
  194,
  34,
  162,
  98,
  226,
  18,
  146,
  82,
  210,
  50,
  178,
  114,
  242,
  10,
  138,
  74,
  202,
  42,
  170,
  106,
  234,
  26,
  154,
  90,
  218,
  58,
  186,
  122,
  250,
  6,
  134,
  70,
  198,
  38,
  166,
  102,
  230,
  22,
  150,
  86,
  214,
  54,
  182,
  118,
  246,
  14,
  142,
  78,
  206,
  46,
  174,
  110,
  238,
  30,
  158,
  94,
  222,
  62,
  190,
  126,
  254,
  1,
  129,
  65,
  193,
  33,
  161,
  97,
  225,
  17,
  145,
  81,
  209,
  49,
  177,
  113,
  241,
  9,
  137,
  73,
  201,
  41,
  169,
  105,
  233,
  25,
  153,
  89,
  217,
  57,
  185,
  121,
  249,
  5,
  133,
  69,
  197,
  37,
  165,
  101,
  229,
  21,
  149,
  85,
  213,
  53,
  181,
  117,
  245,
  13,
  141,
  77,
  205,
  45,
  173,
  109,
  237,
  29,
  157,
  93,
  221,
  61,
  189,
  125,
  253,
  19,
  275,
  147,
  403,
  83,
  339,
  211,
  467,
  51,
  307,
  179,
  435,
  115,
  371,
  243,
  499,
  11,
  267,
  139,
  395,
  75,
  331,
  203,
  459,
  43,
  299,
  171,
  427,
  107,
  363,
  235,
  491,
  27,
  283,
  155,
  411,
  91,
  347,
  219,
  475,
  59,
  315,
  187,
  443,
  123,
  379,
  251,
  507,
  7,
  263,
  135,
  391,
  71,
  327,
  199,
  455,
  39,
  295,
  167,
  423,
  103,
  359,
  231,
  487,
  23,
  279,
  151,
  407,
  87,
  343,
  215,
  471,
  55,
  311,
  183,
  439,
  119,
  375,
  247,
  503,
  15,
  271,
  143,
  399,
  79,
  335,
  207,
  463,
  47,
  303,
  175,
  431,
  111,
  367,
  239,
  495,
  31,
  287,
  159,
  415,
  95,
  351,
  223,
  479,
  63,
  319,
  191,
  447,
  127,
  383,
  255,
  511,
  0,
  64,
  32,
  96,
  16,
  80,
  48,
  112,
  8,
  72,
  40,
  104,
  24,
  88,
  56,
  120,
  4,
  68,
  36,
  100,
  20,
  84,
  52,
  116,
  3,
  131,
  67,
  195,
  35,
  163,
  99,
  227
], Is = nn([[144, 8], [112, 9], [24, 7], [8, 8]]);
he.static_ltree = an(Fs.map((t, n) => [t, Is[n]]));
const Os = [0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, 6, 22, 14, 30, 1, 17, 9, 25, 5, 21, 13, 29, 3, 19, 11, 27, 7, 23], Ls = nn([[30, 5]]);
he.static_dtree = an(Os.map((t, n) => [t, Ls[n]]));
he.static_l_desc = new he(he.static_ltree, ie.extra_lbits, Xt + 1, Mn, Rt);
he.static_d_desc = new he(he.static_dtree, ie.extra_dbits, 0, Sn, Rt);
he.static_bl_desc = new he(null, ie.extra_blbits, 0, An, As);
const js = 9, Ns = 8;
function qe(t, n, e, i, a) {
  const s = this;
  s.good_length = t, s.max_lazy = n, s.nice_length = e, s.max_chain = i, s.func = a;
}
const ia = 0, Ht = 1, lt = 2, Ne = [
  new qe(0, 0, 0, 0, ia),
  new qe(4, 4, 8, 4, Ht),
  new qe(4, 5, 16, 8, Ht),
  new qe(4, 6, 32, 32, Ht),
  new qe(4, 4, 16, 16, lt),
  new qe(8, 16, 32, 32, lt),
  new qe(8, 16, 128, 128, lt),
  new qe(8, 32, 128, 256, lt),
  new qe(32, 128, 258, 1024, lt),
  new qe(32, 258, 258, 4096, lt)
], Nt = [
  "need dictionary",
  // Z_NEED_DICT
  // 2
  "stream end",
  // Z_STREAM_END 1
  "",
  // Z_OK 0
  "",
  // Z_ERRNO (-1)
  "stream error",
  // Z_STREAM_ERROR (-2)
  "data error",
  // Z_DATA_ERROR (-3)
  "",
  // Z_MEM_ERROR (-4)
  "buffer error",
  // Z_BUF_ERROR (-5)
  "",
  // Z_VERSION_ERROR (-6)
  ""
], Ce = 0, Ut = 1, _t = 2, Pt = 3, Us = 32, dn = 42, Mt = 113, yt = 666, pn = 8, Ps = 0, fn = 1, Ms = 2, se = 3, Zt = 258, Re = Zt + se + 1;
function oi(t, n, e, i) {
  const a = t[n * 2], s = t[e * 2];
  return a < s || a == s && i[n] <= i[e];
}
function qs() {
  const t = this;
  let n, e, i, a, s, r, l, o, x, f, u, m, g, R, p, c, d, v, h, E, w, b, _, y, T, S, k, L, C, U, O, j, z;
  const q = new ie(), ee = new ie(), P = new ie();
  t.depth = [];
  let te, M, B, fe, H, X;
  t.bl_count = [], t.heap = [], O = [], j = [], z = [];
  function oe() {
    x = 2 * s, u[g - 1] = 0;
    for (let A = 0; A < g - 1; A++)
      u[A] = 0;
    S = Ne[k].max_lazy, C = Ne[k].good_length, U = Ne[k].nice_length, T = Ne[k].max_chain, w = 0, d = 0, _ = 0, v = y = se - 1, E = 0, m = 0;
  }
  function ne() {
    let A;
    for (A = 0; A < Mn; A++)
      O[A * 2] = 0;
    for (A = 0; A < Sn; A++)
      j[A * 2] = 0;
    for (A = 0; A < An; A++)
      z[A * 2] = 0;
    O[bt * 2] = 1, t.opt_len = t.static_len = 0, M = B = 0;
  }
  function G() {
    q.dyn_tree = O, q.stat_desc = he.static_l_desc, ee.dyn_tree = j, ee.stat_desc = he.static_d_desc, P.dyn_tree = z, P.stat_desc = he.static_bl_desc, H = 0, X = 0, fe = 8, ne();
  }
  t.pqdownheap = function(A, F) {
    const D = t.heap, I = D[F];
    let N = F << 1;
    for (; N <= t.heap_len && (N < t.heap_len && oi(A, D[N + 1], D[N], t.depth) && N++, !oi(A, I, D[N], t.depth)); )
      D[F] = D[N], F = N, N <<= 1;
    D[F] = I;
  };
  function Ie(A, F) {
    let D = -1, I, N = A[0 * 2 + 1], W = 0, $ = 7, ye = 4;
    N === 0 && ($ = 138, ye = 3), A[(F + 1) * 2 + 1] = 65535;
    for (let je = 0; je <= F; je++)
      I = N, N = A[(je + 1) * 2 + 1], !(++W < $ && I == N) && (W < ye ? z[I * 2] += W : I !== 0 ? (I != D && z[I * 2]++, z[ni * 2]++) : W <= 10 ? z[ii * 2]++ : z[ai * 2]++, W = 0, D = I, N === 0 ? ($ = 138, ye = 3) : I == N ? ($ = 6, ye = 3) : ($ = 7, ye = 4));
  }
  function it() {
    let A;
    for (Ie(O, q.max_code), Ie(j, ee.max_code), P.build_tree(t), A = An - 1; A >= 3 && z[ie.bl_order[A] * 2 + 1] === 0; A--)
      ;
    return t.opt_len += 3 * (A + 1) + 5 + 5 + 4, A;
  }
  function we(A) {
    t.pending_buf[t.pending++] = A;
  }
  function Te(A) {
    we(A & 255), we(A >>> 8 & 255);
  }
  function He(A) {
    we(A >> 8 & 255), we(A & 255 & 255);
  }
  function ce(A, F) {
    let D;
    const I = F;
    X > ln - I ? (D = A, H |= D << X & 65535, Te(H), H = D >>> ln - X, X += I - ln) : (H |= A << X & 65535, X += I);
  }
  function ue(A, F) {
    const D = A * 2;
    ce(F[D] & 65535, F[D + 1] & 65535);
  }
  function Ze(A, F) {
    let D, I = -1, N, W = A[0 * 2 + 1], $ = 0, ye = 7, je = 4;
    for (W === 0 && (ye = 138, je = 3), D = 0; D <= F; D++)
      if (N = W, W = A[(D + 1) * 2 + 1], !(++$ < ye && N == W)) {
        if ($ < je)
          do
            ue(N, z);
          while (--$ !== 0);
        else N !== 0 ? (N != I && (ue(N, z), $--), ue(ni, z), ce($ - 3, 2)) : $ <= 10 ? (ue(ii, z), ce($ - 3, 3)) : (ue(ai, z), ce($ - 11, 7));
        $ = 0, I = N, W === 0 ? (ye = 138, je = 3) : N == W ? (ye = 6, je = 3) : (ye = 7, je = 4);
      }
  }
  function at(A, F, D) {
    let I;
    for (ce(A - 257, 5), ce(F - 1, 5), ce(D - 4, 4), I = 0; I < D; I++)
      ce(z[ie.bl_order[I] * 2 + 1], 3);
    Ze(O, A - 1), Ze(j, F - 1);
  }
  function Oe() {
    X == 16 ? (Te(H), H = 0, X = 0) : X >= 8 && (we(H & 255), H >>>= 8, X -= 8);
  }
  function Ve() {
    ce(fn << 1, 3), ue(bt, he.static_ltree), Oe(), 1 + fe + 10 - X < 9 && (ce(fn << 1, 3), ue(bt, he.static_ltree), Oe()), fe = 7;
  }
  function be(A, F) {
    let D, I, N;
    if (t.dist_buf[M] = A, t.lc_buf[M] = F & 255, M++, A === 0 ? O[F * 2]++ : (B++, A--, O[(ie._length_code[F] + Xt + 1) * 2]++, j[ie.d_code(A) * 2]++), !(M & 8191) && k > 2) {
      for (D = M * 8, I = w - d, N = 0; N < Sn; N++)
        D += j[N * 2] * (5 + ie.extra_dbits[N]);
      if (D >>>= 3, B < Math.floor(M / 2) && D < Math.floor(I / 2))
        return !0;
    }
    return M == te - 1;
  }
  function Le(A, F) {
    let D, I, N = 0, W, $;
    if (M !== 0)
      do
        D = t.dist_buf[N], I = t.lc_buf[N], N++, D === 0 ? ue(I, A) : (W = ie._length_code[I], ue(W + Xt + 1, A), $ = ie.extra_lbits[W], $ !== 0 && (I -= ie.base_length[W], ce(I, $)), D--, W = ie.d_code(D), ue(W, F), $ = ie.extra_dbits[W], $ !== 0 && (D -= ie.base_dist[W], ce(D, $)));
      while (N < M);
    ue(bt, A), fe = A[bt * 2 + 1];
  }
  function st() {
    X > 8 ? Te(H) : X > 0 && we(H & 255), H = 0, X = 0;
  }
  function rt(A, F, D) {
    st(), fe = 8, Te(F), Te(~F), t.pending_buf.set(o.subarray(A, A + F), t.pending), t.pending += F;
  }
  function wt(A, F, D) {
    ce((Ps << 1) + (D ? 1 : 0), 3), rt(A, F);
  }
  function on(A, F, D) {
    let I, N, W = 0;
    k > 0 ? (q.build_tree(t), ee.build_tree(t), W = it(), I = t.opt_len + 3 + 7 >>> 3, N = t.static_len + 3 + 7 >>> 3, N <= I && (I = N)) : I = N = F + 5, F + 4 <= I && A != -1 ? wt(A, F, D) : N == I ? (ce((fn << 1) + (D ? 1 : 0), 3), Le(he.static_ltree, he.static_dtree)) : (ce((Ms << 1) + (D ? 1 : 0), 3), at(q.max_code + 1, ee.max_code + 1, W + 1), Le(O, j)), ne(), D && st();
  }
  function Me(A) {
    on(d >= 0 ? d : -1, w - d, A), d = w, n.flush_pending();
  }
  function ot() {
    let A, F, D, I;
    do {
      if (I = x - _ - w, I === 0 && w === 0 && _ === 0)
        I = s;
      else if (I == -1)
        I--;
      else if (w >= s + s - Re) {
        o.set(o.subarray(s, s + s), 0), b -= s, w -= s, d -= s, A = g, D = A;
        do
          F = u[--D] & 65535, u[D] = F >= s ? F - s : 0;
        while (--A !== 0);
        A = s, D = A;
        do
          F = f[--D] & 65535, f[D] = F >= s ? F - s : 0;
        while (--A !== 0);
        I += s;
      }
      if (n.avail_in === 0)
        return;
      A = n.read_buf(o, w + _, I), _ += A, _ >= se && (m = o[w] & 255, m = (m << c ^ o[w + 1] & 255) & p);
    } while (_ < Re && n.avail_in !== 0);
  }
  function bs(A) {
    let F = 65535, D;
    for (F > i - 5 && (F = i - 5); ; ) {
      if (_ <= 1) {
        if (ot(), _ === 0 && A == ut)
          return Ce;
        if (_ === 0)
          break;
      }
      if (w += _, _ = 0, D = d + F, (w === 0 || w >= D) && (_ = w - D, w = D, Me(!1), n.avail_out === 0) || w - d >= s - Re && (Me(!1), n.avail_out === 0))
        return Ce;
    }
    return Me(A == Se), n.avail_out === 0 ? A == Se ? _t : Ce : A == Se ? Pt : Ut;
  }
  function Jn(A) {
    let F = T, D = w, I, N, W = y;
    const $ = w > s - Re ? w - (s - Re) : 0;
    let ye = U;
    const je = l, cn = w + Zt;
    let Qn = o[D + W - 1], ei = o[D + W];
    y >= C && (F >>= 2), ye > _ && (ye = _);
    do
      if (I = A, !(o[I + W] != ei || o[I + W - 1] != Qn || o[I] != o[D] || o[++I] != o[D + 1])) {
        D += 2, I++;
        do
          ;
        while (o[++D] == o[++I] && o[++D] == o[++I] && o[++D] == o[++I] && o[++D] == o[++I] && o[++D] == o[++I] && o[++D] == o[++I] && o[++D] == o[++I] && o[++D] == o[++I] && D < cn);
        if (N = Zt - (cn - D), D = cn - Zt, N > W) {
          if (b = A, W = N, N >= ye)
            break;
          Qn = o[D + W - 1], ei = o[D + W];
        }
      }
    while ((A = f[A & je] & 65535) > $ && --F !== 0);
    return W <= _ ? W : _;
  }
  function _s(A) {
    let F = 0, D;
    for (; ; ) {
      if (_ < Re) {
        if (ot(), _ < Re && A == ut)
          return Ce;
        if (_ === 0)
          break;
      }
      if (_ >= se && (m = (m << c ^ o[w + (se - 1)] & 255) & p, F = u[m] & 65535, f[w & l] = u[m], u[m] = w), F !== 0 && (w - F & 65535) <= s - Re && L != Lt && (v = Jn(F)), v >= se)
        if (D = be(w - b, v - se), _ -= v, v <= S && _ >= se) {
          v--;
          do
            w++, m = (m << c ^ o[w + (se - 1)] & 255) & p, F = u[m] & 65535, f[w & l] = u[m], u[m] = w;
          while (--v !== 0);
          w++;
        } else
          w += v, v = 0, m = o[w] & 255, m = (m << c ^ o[w + 1] & 255) & p;
      else
        D = be(0, o[w] & 255), _--, w++;
      if (D && (Me(!1), n.avail_out === 0))
        return Ce;
    }
    return Me(A == Se), n.avail_out === 0 ? A == Se ? _t : Ce : A == Se ? Pt : Ut;
  }
  function ys(A) {
    let F = 0, D, I;
    for (; ; ) {
      if (_ < Re) {
        if (ot(), _ < Re && A == ut)
          return Ce;
        if (_ === 0)
          break;
      }
      if (_ >= se && (m = (m << c ^ o[w + (se - 1)] & 255) & p, F = u[m] & 65535, f[w & l] = u[m], u[m] = w), y = v, h = b, v = se - 1, F !== 0 && y < S && (w - F & 65535) <= s - Re && (L != Lt && (v = Jn(F)), v <= 5 && (L == Ts || v == se && w - b > 4096) && (v = se - 1)), y >= se && v <= y) {
        I = w + _ - se, D = be(w - 1 - h, y - se), _ -= y - 1, y -= 2;
        do
          ++w <= I && (m = (m << c ^ o[w + (se - 1)] & 255) & p, F = u[m] & 65535, f[w & l] = u[m], u[m] = w);
        while (--y !== 0);
        if (E = 0, v = se - 1, w++, D && (Me(!1), n.avail_out === 0))
          return Ce;
      } else if (E !== 0) {
        if (D = be(0, o[w - 1] & 255), D && Me(!1), w++, _--, n.avail_out === 0)
          return Ce;
      } else
        E = 1, w++, _--;
    }
    return E !== 0 && (D = be(0, o[w - 1] & 255), E = 0), Me(A == Se), n.avail_out === 0 ? A == Se ? _t : Ce : A == Se ? Pt : Ut;
  }
  function ks(A) {
    return A.total_in = A.total_out = 0, A.msg = null, t.pending = 0, t.pending_out = 0, e = Mt, a = ut, G(), oe(), Ue;
  }
  t.deflateInit = function(A, F, D, I, N, W) {
    return I || (I = pn), N || (N = Ns), W || (W = Rs), A.msg = null, F == $t && (F = 6), N < 1 || N > js || I != pn || D < 9 || D > 15 || F < 0 || F > 9 || W < 0 || W > Lt ? Pe : (A.dstate = t, r = D, s = 1 << r, l = s - 1, R = N + 7, g = 1 << R, p = g - 1, c = Math.floor((R + se - 1) / se), o = new Uint8Array(s * 2), f = [], u = [], te = 1 << N + 6, t.pending_buf = new Uint8Array(te * 4), i = te * 4, t.dist_buf = new Uint16Array(te), t.lc_buf = new Uint8Array(te), k = F, L = W, ks(A));
  }, t.deflateEnd = function() {
    return e != dn && e != Mt && e != yt ? Pe : (t.lc_buf = null, t.dist_buf = null, t.pending_buf = null, u = null, f = null, o = null, t.dstate = null, e == Mt ? Cs : Ue);
  }, t.deflateParams = function(A, F, D) {
    let I = Ue;
    return F == $t && (F = 6), F < 0 || F > 9 || D < 0 || D > Lt ? Pe : (Ne[k].func != Ne[F].func && A.total_in !== 0 && (I = A.deflate(si)), k != F && (k = F, S = Ne[k].max_lazy, C = Ne[k].good_length, U = Ne[k].nice_length, T = Ne[k].max_chain), L = D, I);
  }, t.deflateSetDictionary = function(A, F, D) {
    let I = D, N, W = 0;
    if (!F || e != dn)
      return Pe;
    if (I < se)
      return Ue;
    for (I > s - Re && (I = s - Re, W = D - I), o.set(F.subarray(W, W + I), 0), w = I, d = I, m = o[0] & 255, m = (m << c ^ o[1] & 255) & p, N = 0; N <= I - se; N++)
      m = (m << c ^ o[N + (se - 1)] & 255) & p, f[N & l] = u[m], u[m] = N;
    return Ue;
  }, t.deflate = function(A, F) {
    let D, I, N, W, $;
    if (F > Se || F < 0)
      return Pe;
    if (!A.next_out || !A.next_in && A.avail_in !== 0 || e == yt && F != Se)
      return A.msg = Nt[jt - Pe], Pe;
    if (A.avail_out === 0)
      return A.msg = Nt[jt - ft], ft;
    if (n = A, W = a, a = F, e == dn && (I = pn + (r - 8 << 4) << 8, N = (k - 1 & 255) >> 1, N > 3 && (N = 3), I |= N << 6, w !== 0 && (I |= Us), I += 31 - I % 31, e = Mt, He(I)), t.pending !== 0) {
      if (n.flush_pending(), n.avail_out === 0)
        return a = -1, Ue;
    } else if (n.avail_in === 0 && F <= W && F != Se)
      return n.msg = Nt[jt - ft], ft;
    if (e == yt && n.avail_in !== 0)
      return A.msg = Nt[jt - ft], ft;
    if (n.avail_in !== 0 || _ !== 0 || F != ut && e != yt) {
      switch ($ = -1, Ne[k].func) {
        case ia:
          $ = bs(F);
          break;
        case Ht:
          $ = _s(F);
          break;
        case lt:
          $ = ys(F);
          break;
      }
      if (($ == _t || $ == Pt) && (e = yt), $ == Ce || $ == _t)
        return n.avail_out === 0 && (a = -1), Ue;
      if ($ == Ut) {
        if (F == si)
          Ve();
        else if (wt(0, 0, !1), F == Ds)
          for (D = 0; D < g; D++)
            u[D] = 0;
        if (n.flush_pending(), n.avail_out === 0)
          return a = -1, Ue;
      }
    }
    return F != Se ? Ue : na;
  };
}
function aa() {
  const t = this;
  t.next_in_index = 0, t.next_out_index = 0, t.avail_in = 0, t.total_in = 0, t.avail_out = 0, t.total_out = 0;
}
aa.prototype = {
  deflateInit(t, n) {
    const e = this;
    return e.dstate = new qs(), n || (n = Rt), e.dstate.deflateInit(e, t, n);
  },
  deflate(t) {
    const n = this;
    return n.dstate ? n.dstate.deflate(n, t) : Pe;
  },
  deflateEnd() {
    const t = this;
    if (!t.dstate)
      return Pe;
    const n = t.dstate.deflateEnd();
    return t.dstate = null, n;
  },
  deflateParams(t, n) {
    const e = this;
    return e.dstate ? e.dstate.deflateParams(e, t, n) : Pe;
  },
  deflateSetDictionary(t, n) {
    const e = this;
    return e.dstate ? e.dstate.deflateSetDictionary(e, t, n) : Pe;
  },
  // Read a new buffer from the current input stream, update the
  // total number of bytes read. All deflate() input goes through
  // this function so some applications may wish to modify it to avoid
  // allocating a large strm->next_in buffer and copying from it.
  // (See also flush_pending()).
  read_buf(t, n, e) {
    const i = this;
    let a = i.avail_in;
    return a > e && (a = e), a === 0 ? 0 : (i.avail_in -= a, t.set(i.next_in.subarray(i.next_in_index, i.next_in_index + a), n), i.next_in_index += a, i.total_in += a, a);
  },
  // Flush as much pending output as possible. All deflate() output goes
  // through this function so some applications may wish to modify it
  // to avoid allocating a large strm->next_out buffer and copying into it.
  // (See also read_buf()).
  flush_pending() {
    const t = this;
    let n = t.dstate.pending;
    n > t.avail_out && (n = t.avail_out), n !== 0 && (t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out, t.dstate.pending_out + n), t.next_out_index), t.next_out_index += n, t.dstate.pending_out += n, t.total_out += n, t.avail_out -= n, t.dstate.pending -= n, t.dstate.pending === 0 && (t.dstate.pending_out = 0));
  }
};
function zs(t) {
  const n = this, e = new aa(), i = Bs(t && t.chunkSize ? t.chunkSize : 64 * 1024), a = ut, s = new Uint8Array(i);
  let r = t ? t.level : $t;
  typeof r > "u" && (r = $t), e.deflateInit(r), e.next_out = s, n.append = function(l, o) {
    let x, f, u = 0, m = 0, g = 0;
    const R = [];
    if (l.length) {
      e.next_in_index = 0, e.next_in = l, e.avail_in = l.length;
      do {
        if (e.next_out_index = 0, e.avail_out = i, x = e.deflate(a), x != Ue)
          throw new Error("deflating: " + e.msg);
        e.next_out_index && (e.next_out_index == i ? R.push(new Uint8Array(s)) : R.push(s.subarray(0, e.next_out_index))), g += e.next_out_index, o && e.next_in_index > 0 && e.next_in_index != u && (o(e.next_in_index), u = e.next_in_index);
      } while (e.avail_in > 0 || e.avail_out === 0);
      return R.length > 1 ? (f = new Uint8Array(g), R.forEach(function(p) {
        f.set(p, m), m += p.length;
      })) : f = R[0] ? new Uint8Array(R[0]) : new Uint8Array(), f;
    }
  }, n.flush = function() {
    let l, o, x = 0, f = 0;
    const u = [];
    do {
      if (e.next_out_index = 0, e.avail_out = i, l = e.deflate(Se), l != na && l != Ue)
        throw new Error("deflating: " + e.msg);
      i - e.avail_out > 0 && u.push(s.slice(0, e.next_out_index)), f += e.next_out_index;
    } while (e.avail_in > 0 || e.avail_out === 0);
    return e.deflateEnd(), o = new Uint8Array(f), u.forEach(function(m) {
      o.set(m, x), x += m.length;
    }), o;
  };
}
function Bs(t) {
  return t + 5 * (Math.floor(t / 16383) + 1);
}
const Ws = 15, Q = 0, Ge = 1, Hs = 2, Ae = -2, ae = -3, ci = -4, Ke = -5, De = [
  0,
  1,
  3,
  7,
  15,
  31,
  63,
  127,
  255,
  511,
  1023,
  2047,
  4095,
  8191,
  16383,
  32767,
  65535
], sa = 1440, Zs = 0, Vs = 4, Ys = 9, Gs = 5, Ks = [
  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
], Xs = [
  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 = [
  // Copy lengths for literal codes 257..285
  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
], Js = [
  // Extra bits for literal codes 257..285
  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
  // 112==invalid
], Qs = [
  // Copy offsets for distance codes 0..29
  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
], er = [
  // Extra bits for distance codes
  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
], Xe = 15;
function Tn() {
  const t = this;
  let n, e, i, a, s, r;
  function l(x, f, u, m, g, R, p, c, d, v, h) {
    let E, w, b, _, y, T, S, k, L, C, U, O, j, z, q;
    C = 0, y = u;
    do
      i[x[f + C]]++, C++, y--;
    while (y !== 0);
    if (i[0] == u)
      return p[0] = -1, c[0] = 0, Q;
    for (k = c[0], T = 1; T <= Xe && i[T] === 0; T++)
      ;
    for (S = T, k < T && (k = T), y = Xe; y !== 0 && i[y] === 0; y--)
      ;
    for (b = y, k > y && (k = y), c[0] = k, z = 1 << T; T < y; T++, z <<= 1)
      if ((z -= i[T]) < 0)
        return ae;
    if ((z -= i[y]) < 0)
      return ae;
    for (i[y] += z, r[1] = T = 0, C = 1, j = 2; --y !== 0; )
      r[j] = T += i[C], j++, C++;
    y = 0, C = 0;
    do
      (T = x[f + C]) !== 0 && (h[r[T]++] = y), C++;
    while (++y < u);
    for (u = r[b], r[0] = y = 0, C = 0, _ = -1, O = -k, s[0] = 0, U = 0, q = 0; S <= b; S++)
      for (E = i[S]; E-- !== 0; ) {
        for (; S > O + k; ) {
          if (_++, O += k, q = b - O, q = q > k ? k : q, (w = 1 << (T = S - O)) > E + 1 && (w -= E + 1, j = S, T < q))
            for (; ++T < q && !((w <<= 1) <= i[++j]); )
              w -= i[j];
          if (q = 1 << T, v[0] + q > sa)
            return ae;
          s[_] = U = /* hp+ */
          v[0], v[0] += q, _ !== 0 ? (r[_] = y, a[0] = /* (byte) */
          T, a[1] = /* (byte) */
          k, T = y >>> O - k, a[2] = /* (int) */
          U - s[_ - 1] - T, d.set(a, (s[_ - 1] + T) * 3)) : p[0] = U;
        }
        for (a[1] = /* (byte) */
        S - O, C >= u ? a[0] = 192 : h[C] < m ? (a[0] = /* (byte) */
        h[C] < 256 ? 0 : 96, a[2] = h[C++]) : (a[0] = /* (byte) */
        R[h[C] - m] + 16 + 64, a[2] = g[h[C++] - m]), w = 1 << S - O, T = y >>> O; T < q; T += w)
          d.set(a, (U + T) * 3);
        for (T = 1 << S - 1; y & T; T >>>= 1)
          y ^= T;
        for (y ^= T, L = (1 << O) - 1; (y & L) != r[_]; )
          _--, O -= k, L = (1 << O) - 1;
      }
    return z !== 0 && b != 1 ? Ke : Q;
  }
  function o(x) {
    let f;
    for (n || (n = [], e = [], i = new Int32Array(Xe + 1), a = [], s = new Int32Array(Xe), r = new Int32Array(Xe + 1)), e.length < x && (e = []), f = 0; f < x; f++)
      e[f] = 0;
    for (f = 0; f < Xe + 1; f++)
      i[f] = 0;
    for (f = 0; f < 3; f++)
      a[f] = 0;
    s.set(i.subarray(0, Xe), 0), r.set(i.subarray(0, Xe + 1), 0);
  }
  t.inflate_trees_bits = function(x, f, u, m, g) {
    let R;
    return o(19), n[0] = 0, R = l(x, 0, 19, 19, null, null, u, f, m, n, e), R == ae ? g.msg = "oversubscribed dynamic bit lengths tree" : (R == Ke || f[0] === 0) && (g.msg = "incomplete dynamic bit lengths tree", R = ae), R;
  }, t.inflate_trees_dynamic = function(x, f, u, m, g, R, p, c, d) {
    let v;
    return o(288), n[0] = 0, v = l(u, 0, x, 257, $s, Js, R, m, c, n, e), v != Q || m[0] === 0 ? (v == ae ? d.msg = "oversubscribed literal/length tree" : v != ci && (d.msg = "incomplete literal/length tree", v = ae), v) : (o(288), v = l(u, x, f, 0, Qs, er, p, g, c, n, e), v != Q || g[0] === 0 && x > 257 ? (v == ae ? d.msg = "oversubscribed distance tree" : v == Ke ? (d.msg = "incomplete distance tree", v = ae) : v != ci && (d.msg = "empty distance tree with lengths", v = ae), v) : Q);
  };
}
Tn.inflate_trees_fixed = function(t, n, e, i) {
  return t[0] = Ys, n[0] = Gs, e[0] = Ks, i[0] = Xs, Q;
};
const qt = 0, li = 1, di = 2, pi = 3, fi = 4, mi = 5, ui = 6, mn = 7, xi = 8, zt = 9;
function tr() {
  const t = this;
  let n, e = 0, i, a = 0, s = 0, r = 0, l = 0, o = 0, x = 0, f = 0, u, m = 0, g, R = 0;
  function p(c, d, v, h, E, w, b, _) {
    let y, T, S, k, L, C, U, O, j, z, q, ee, P, te, M, B;
    U = _.next_in_index, O = _.avail_in, L = b.bitb, C = b.bitk, j = b.write, z = j < b.read ? b.read - j - 1 : b.end - j, q = De[c], ee = De[d];
    do {
      for (; C < 20; )
        O--, L |= (_.read_byte(U++) & 255) << C, C += 8;
      if (y = L & q, T = v, S = h, B = (S + y) * 3, (k = T[B]) === 0) {
        L >>= T[B + 1], C -= T[B + 1], b.win[j++] = /* (byte) */
        T[B + 2], z--;
        continue;
      }
      do {
        if (L >>= T[B + 1], C -= T[B + 1], k & 16) {
          for (k &= 15, P = T[B + 2] + /* (int) */
          (L & De[k]), L >>= k, C -= k; C < 15; )
            O--, L |= (_.read_byte(U++) & 255) << C, C += 8;
          y = L & ee, T = E, S = w, B = (S + y) * 3, k = T[B];
          do
            if (L >>= T[B + 1], C -= T[B + 1], k & 16) {
              for (k &= 15; C < k; )
                O--, L |= (_.read_byte(U++) & 255) << C, C += 8;
              if (te = T[B + 2] + (L & De[k]), L >>= k, C -= k, z -= P, j >= te)
                M = j - te, j - M > 0 && 2 > j - M ? (b.win[j++] = b.win[M++], b.win[j++] = b.win[M++], P -= 2) : (b.win.set(b.win.subarray(M, M + 2), j), j += 2, M += 2, P -= 2);
              else {
                M = j - te;
                do
                  M += b.end;
                while (M < 0);
                if (k = b.end - M, P > k) {
                  if (P -= k, j - M > 0 && k > j - M)
                    do
                      b.win[j++] = b.win[M++];
                    while (--k !== 0);
                  else
                    b.win.set(b.win.subarray(M, M + k), j), j += k, M += k, k = 0;
                  M = 0;
                }
              }
              if (j - M > 0 && P > j - M)
                do
                  b.win[j++] = b.win[M++];
                while (--P !== 0);
              else
                b.win.set(b.win.subarray(M, M + P), j), j += P, M += P, P = 0;
              break;
            } else if (!(k & 64))
              y += T[B + 2], y += L & De[k], B = (S + y) * 3, k = T[B];
            else
              return _.msg = "invalid distance code", P = _.avail_in - O, P = C >> 3 < P ? C >> 3 : P, O += P, U -= P, C -= P << 3, b.bitb = L, b.bitk = C, _.avail_in = O, _.total_in += U - _.next_in_index, _.next_in_index = U, b.write = j, ae;
          while (!0);
          break;
        }
        if (k & 64)
          return k & 32 ? (P = _.avail_in - O, P = C >> 3 < P ? C >> 3 : P, O += P, U -= P, C -= P << 3, b.bitb = L, b.bitk = C, _.avail_in = O, _.total_in += U - _.next_in_index, _.next_in_index = U, b.write = j, Ge) : (_.msg = "invalid literal/length code", P = _.avail_in - O, P = C >> 3 < P ? C >> 3 : P, O += P, U -= P, C -= P << 3, b.bitb = L, b.bitk = C, _.avail_in = O, _.total_in += U - _.next_in_index, _.next_in_index = U, b.write = j, ae);
        if (y += T[B + 2], y += L & De[k], B = (S + y) * 3, (k = T[B]) === 0) {
          L >>= T[B + 1], C -= T[B + 1], b.win[j++] = /* (byte) */
          T[B + 2], z--;
          break;
        }
      } while (!0);
    } while (z >= 258 && O >= 10);
    return P = _.avail_in - O, P = C >> 3 < P ? C >> 3 : P, O += P, U -= P, C -= P << 3, b.bitb = L, b.bitk = C, _.avail_in = O, _.total_in += U - _.next_in_index, _.next_in_index = U, b.write = j, Q;
  }
  t.init = function(c, d, v, h, E, w) {
    n = qt, x = /* (byte) */
    c, f = /* (byte) */
    d, u = v, m = h, g = E, R = w, i = null;
  }, t.proc = function(c, d, v) {
    let h, E, w, b = 0, _ = 0, y = 0, T, S, k, L;
    for (y = d.next_in_index, T = d.avail_in, b = c.bitb, _ = c.bitk, S = c.write, k = S < c.read ? c.read - S - 1 : c.end - S; ; )
      switch (n) {
        case qt:
          if (k >= 258 && T >= 10 && (c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, v = p(x, f, u, m, g, R, c, d), y = d.next_in_index, T = d.avail_in, b = c.bitb, _ = c.bitk, S = c.write, k = S < c.read ? c.read - S - 1 : c.end - S, v != Q)) {
            n = v == Ge ? mn : zt;
            break;
          }
          s = x, i = u, a = m, n = li;
        case li:
          for (h = s; _ < h; ) {
            if (T !== 0)
              v = Q;
            else
              return c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
            T--, b |= (d.read_byte(y++) & 255) << _, _ += 8;
          }
          if (E = (a + (b & De[h])) * 3, b >>>= i[E + 1], _ -= i[E + 1], w = i[E], w === 0) {
            r = i[E + 2], n = ui;
            break;
          }
          if (w & 16) {
            l = w & 15, e = i[E + 2], n = di;
            break;
          }
          if (!(w & 64)) {
            s = w, a = E / 3 + i[E + 2];
            break;
          }
          if (w & 32) {
            n = mn;
            break;
          }
          return n = zt, d.msg = "invalid literal/length code", v = ae, c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
        case di:
          for (h = l; _ < h; ) {
            if (T !== 0)
              v = Q;
            else
              return c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
            T--, b |= (d.read_byte(y++) & 255) << _, _ += 8;
          }
          e += b & De[h], b >>= h, _ -= h, s = f, i = g, a = R, n = pi;
        case pi:
          for (h = s; _ < h; ) {
            if (T !== 0)
              v = Q;
            else
              return c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
            T--, b |= (d.read_byte(y++) & 255) << _, _ += 8;
          }
          if (E = (a + (b & De[h])) * 3, b >>= i[E + 1], _ -= i[E + 1], w = i[E], w & 16) {
            l = w & 15, o = i[E + 2], n = fi;
            break;
          }
          if (!(w & 64)) {
            s = w, a = E / 3 + i[E + 2];
            break;
          }
          return n = zt, d.msg = "invalid distance code", v = ae, c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
        case fi:
          for (h = l; _ < h; ) {
            if (T !== 0)
              v = Q;
            else
              return c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
            T--, b |= (d.read_byte(y++) & 255) << _, _ += 8;
          }
          o += b & De[h], b >>= h, _ -= h, n = mi;
        case mi:
          for (L = S - o; L < 0; )
            L += c.end;
          for (; e !== 0; ) {
            if (k === 0 && (S == c.end && c.read !== 0 && (S = 0, k = S < c.read ? c.read - S - 1 : c.end - S), k === 0 && (c.write = S, v = c.inflate_flush(d, v), S = c.write, k = S < c.read ? c.read - S - 1 : c.end - S, S == c.end && c.read !== 0 && (S = 0, k = S < c.read ? c.read - S - 1 : c.end - S), k === 0)))
              return c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
            c.win[S++] = c.win[L++], k--, L == c.end && (L = 0), e--;
          }
          n = qt;
          break;
        case ui:
          if (k === 0 && (S == c.end && c.read !== 0 && (S = 0, k = S < c.read ? c.read - S - 1 : c.end - S), k === 0 && (c.write = S, v = c.inflate_flush(d, v), S = c.write, k = S < c.read ? c.read - S - 1 : c.end - S, S == c.end && c.read !== 0 && (S = 0, k = S < c.read ? c.read - S - 1 : c.end - S), k === 0)))
            return c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
          v = Q, c.win[S++] = /* (byte) */
          r, k--, n = qt;
          break;
        case mn:
          if (_ > 7 && (_ -= 8, T++, y--), c.write = S, v = c.inflate_flush(d, v), S = c.write, k = S < c.read ? c.read - S - 1 : c.end - S, c.read != c.write)
            return c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
          n = xi;
        case xi:
          return v = Ge, c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
        case zt:
          return v = ae, c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
        default:
          return v = Ae, c.bitb = b, c.bitk = _, d.avail_in = T, d.total_in += y - d.next_in_index, d.next_in_index = y, c.write = S, c.inflate_flush(d, v);
      }
  }, t.free = function() {
  };
}
const vi = [
  // Order of the bit length code lengths
  16,
  17,
  18,
  0,
  8,
  7,
  9,
  6,
  10,
  5,
  11,
  4,
  12,
  3,
  13,
  2,
  14,
  1,
  15
], mt = 0, un = 1, hi = 2, gi = 3, wi = 4, bi = 5, Bt = 6, Wt = 7, _i = 8, ct = 9;
function nr(t, n) {
  const e = this;
  let i = mt, a = 0, s = 0, r = 0, l;
  const o = [0], x = [0], f = new tr();
  let u = 0, m = new Int32Array(sa * 3);
  const g = 0, R = new Tn();
  e.bitk = 0, e.bitb = 0, e.win = new Uint8Array(n), e.end = n, e.read = 0, e.write = 0, e.reset = function(p, c) {
    c && (c[0] = g), i == Bt && f.free(p), i = mt, e.bitk = 0, e.bitb = 0, e.read = e.write = 0;
  }, e.reset(t, null), e.inflate_flush = function(p, c) {
    let d, v, h;
    return v = p.next_out_index, h = e.read, d = /* (int) */
    (h <= e.write ? e.write : e.end) - h, d > p.avail_out && (d = p.avail_out), d !== 0 && c == Ke && (c = Q), p.avail_out -= d, p.total_out += d, p.next_out.set(e.win.subarray(h, h + d), v), v += d, h += d, h == e.end && (h = 0, e.write == e.end && (e.write = 0), d = e.write - h, d > p.avail_out && (d = p.avail_out), d !== 0 && c == Ke && (c = Q), p.avail_out -= d, p.total_out += d, p.next_out.set(e.win.subarray(h, h + d), v), v += d, h += d), p.next_out_index = v, e.read = h, c;
  }, e.proc = function(p, c) {
    let d, v, h, E, w, b, _, y;
    for (E = p.next_in_index, w = p.avail_in, v = e.bitb, h = e.bitk, b = e.write, _ = /* (int) */
    b < e.read ? e.read - b - 1 : e.end - b; ; ) {
      let T, S, k, L, C, U, O, j;
      switch (i) {
        case mt:
          for (; h < 3; ) {
            if (w !== 0)
              c = Q;
            else
              return e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
            w--, v |= (p.read_byte(E++) & 255) << h, h += 8;
          }
          switch (d = /* (int) */
          v & 7, u = d & 1, d >>> 1) {
            case 0:
              v >>>= 3, h -= 3, d = h & 7, v >>>= d, h -= d, i = un;
              break;
            case 1:
              T = [], S = [], k = [[]], L = [[]], Tn.inflate_trees_fixed(T, S, k, L), f.init(T[0], S[0], k[0], 0, L[0], 0), v >>>= 3, h -= 3, i = Bt;
              break;
            case 2:
              v >>>= 3, h -= 3, i = gi;
              break;
            case 3:
              return v >>>= 3, h -= 3, i = ct, p.msg = "invalid block type", c = ae, e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
          }
          break;
        case un:
          for (; h < 32; ) {
            if (w !== 0)
              c = Q;
            else
              return e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
            w--, v |= (p.read_byte(E++) & 255) << h, h += 8;
          }
          if ((~v >>> 16 & 65535) != (v & 65535))
            return i = ct, p.msg = "invalid stored block lengths", c = ae, e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
          a = v & 65535, v = h = 0, i = a !== 0 ? hi : u !== 0 ? Wt : mt;
          break;
        case hi:
          if (w === 0 || _ === 0 && (b == e.end && e.read !== 0 && (b = 0, _ = /* (int) */
          b < e.read ? e.read - b - 1 : e.end - b), _ === 0 && (e.write = b, c = e.inflate_flush(p, c), b = e.write, _ = /* (int) */
          b < e.read ? e.read - b - 1 : e.end - b, b == e.end && e.read !== 0 && (b = 0, _ = /* (int) */
          b < e.read ? e.read - b - 1 : e.end - b), _ === 0)))
            return e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
          if (c = Q, d = a, d > w && (d = w), d > _ && (d = _), e.win.set(p.read_buf(E, d), b), E += d, w -= d, b += d, _ -= d, (a -= d) !== 0)
            break;
          i = u !== 0 ? Wt : mt;
          break;
        case gi:
          for (; h < 14; ) {
            if (w !== 0)
              c = Q;
            else
              return e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
            w--, v |= (p.read_byte(E++) & 255) << h, h += 8;
          }
          if (s = d = v & 16383, (d & 31) > 29 || (d >> 5 & 31) > 29)
            return i = ct, p.msg = "too many length or distance symbols", c = ae, e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
          if (d = 258 + (d & 31) + (d >> 5 & 31), !l || l.length < d)
            l = [];
          else
            for (y = 0; y < d; y++)
              l[y] = 0;
          v >>>= 14, h -= 14, r = 0, i = wi;
        case wi:
          for (; r < 4 + (s >>> 10); ) {
            for (; h < 3; ) {
              if (w !== 0)
                c = Q;
              else
                return e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
              w--, v |= (p.read_byte(E++) & 255) << h, h += 8;
            }
            l[vi[r++]] = v & 7, v >>>= 3, h -= 3;
          }
          for (; r < 19; )
            l[vi[r++]] = 0;
          if (o[0] = 7, d = R.inflate_trees_bits(l, o, x, m, p), d != Q)
            return c = d, c == ae && (l = null, i = ct), e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
          r = 0, i = bi;
        case bi:
          for (; d = s, !(r >= 258 + (d & 31) + (d >> 5 & 31)); ) {
            let z, q;
            for (d = o[0]; h < d; ) {
              if (w !== 0)
                c = Q;
              else
                return e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
              w--, v |= (p.read_byte(E++) & 255) << h, h += 8;
            }
            if (d = m[(x[0] + (v & De[d])) * 3 + 1], q = m[(x[0] + (v & De[d])) * 3 + 2], q < 16)
              v >>>= d, h -= d, l[r++] = q;
            else {
              for (y = q == 18 ? 7 : q - 14, z = q == 18 ? 11 : 3; h < d + y; ) {
                if (w !== 0)
                  c = Q;
                else
                  return e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
                w--, v |= (p.read_byte(E++) & 255) << h, h += 8;
              }
              if (v >>>= d, h -= d, z += v & De[y], v >>>= y, h -= y, y = r, d = s, y + z > 258 + (d & 31) + (d >> 5 & 31) || q == 16 && y < 1)
                return l = null, i = ct, p.msg = "invalid bit length repeat", c = ae, e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
              q = q == 16 ? l[y - 1] : 0;
              do
                l[y++] = q;
              while (--z !== 0);
              r = y;
            }
          }
          if (x[0] = -1, C = [], U = [], O = [], j = [], C[0] = 9, U[0] = 6, d = s, d = R.inflate_trees_dynamic(257 + (d & 31), 1 + (d >> 5 & 31), l, C, U, O, j, m, p), d != Q)
            return d == ae && (l = null, i = ct), c = d, e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
          f.init(C[0], U[0], m, O[0], m, j[0]), i = Bt;
        case Bt:
          if (e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, (c = f.proc(e, p, c)) != Ge)
            return e.inflate_flush(p, c);
          if (c = Q, f.free(p), E = p.next_in_index, w = p.avail_in, v = e.bitb, h = e.bitk, b = e.write, _ = /* (int) */
          b < e.read ? e.read - b - 1 : e.end - b, u === 0) {
            i = mt;
            break;
          }
          i = Wt;
        case Wt:
          if (e.write = b, c = e.inflate_flush(p, c), b = e.write, _ = /* (int) */
          b < e.read ? e.read - b - 1 : e.end - b, e.read != e.write)
            return e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
          i = _i;
        case _i:
          return c = Ge, e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
        case ct:
          return c = ae, e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
        default:
          return c = Ae, e.bitb = v, e.bitk = h, p.avail_in = w, p.total_in += E - p.next_in_index, p.next_in_index = E, e.write = b, e.inflate_flush(p, c);
      }
    }
  }, e.free = function(p) {
    e.reset(p, null), e.win = null, m = null;
  }, e.set_dictionary = function(p, c, d) {
    e.win.set(p.subarray(c, c + d), 0), e.read = e.write = d;
  }, e.sync_point = function() {
    return i == un ? 1 : 0;
  };
}
const ir = 32, ar = 8, sr = 0, yi = 1, ki = 2, Ei = 3, Si = 4, Ai = 5, xn = 6, kt = 7, Ti = 12, $e = 13, rr = [0, 0, 255, 255];
function or() {
  const t = this;
  t.mode = 0, t.method = 0, t.was = [0], t.need = 0, t.marker = 0, t.wbits = 0;
  function n(e) {
    return !e || !e.istate ? Ae : (e.total_in = e.total_out = 0, e.msg = null, e.istate.mode = kt, e.istate.blocks.reset(e, null), Q);
  }
  t.inflateEnd = function(e) {
    return t.blocks && t.blocks.free(e), t.blocks = null, Q;
  }, t.inflateInit = function(e, i) {
    return e.msg = null, t.blocks = null, i < 8 || i > 15 ? (t.inflateEnd(e), Ae) : (t.wbits = i, e.istate.blocks = new nr(e, 1 << i), n(e), Q);
  }, t.inflate = function(e, i) {
    let a, s;
    if (!e || !e.istate || !e.next_in)
      return Ae;
    const r = e.istate;
    for (i = i == Vs ? Ke : Q, a = Ke; ; )
      switch (r.mode) {
        case sr:
          if (e.avail_in === 0)
            return a;
          if (a = i, e.avail_in--, e.total_in++, ((r.method = e.read_byte(e.next_in_index++)) & 15) != ar) {
            r.mode = $e, e.msg = "unknown compression method", r.marker = 5;
            break;
          }
          if ((r.method >> 4) + 8 > r.wbits) {
            r.mode = $e, e.msg = "invalid win size", r.marker = 5;
            break;
          }
          r.mode = yi;
        case yi:
          if (e.avail_in === 0)
            return a;
          if (a = i, e.avail_in--, e.total_in++, s = e.read_byte(e.next_in_index++) & 255, ((r.method << 8) + s) % 31 !== 0) {
            r.mode = $e, e.msg = "incorrect header check", r.marker = 5;
            break;
          }
          if (!(s & ir)) {
            r.mode = kt;
            break;
          }
          r.mode = ki;
        case ki:
          if (e.avail_in === 0)
            return a;
          a = i, e.avail_in--, e.total_in++, r.need = (e.read_byte(e.next_in_index++) & 255) << 24 & 4278190080, r.mode = Ei;
        case Ei:
          if (e.avail_in === 0)
            return a;
          a = i, e.avail_in--, e.total_in++, r.need += (e.read_byte(e.next_in_index++) & 255) << 16 & 16711680, r.mode = Si;
        case Si:
          if (e.avail_in === 0)
            return a;
          a = i, e.avail_in--, e.total_in++, r.need += (e.read_byte(e.next_in_index++) & 255) << 8 & 65280, r.mode = Ai;
        case Ai:
          return e.avail_in === 0 ? a : (a = i, e.avail_in--, e.total_in++, r.need += e.read_byte(e.next_in_index++) & 255, r.mode = xn, Hs);
        case xn:
          return r.mode = $e, e.msg = "need dictionary", r.marker = 0, Ae;
        case kt:
          if (a = r.blocks.proc(e, a), a == ae) {
            r.mode = $e, r.marker = 0;
            break;
          }
          if (a == Q && (a = i), a != Ge)
            return a;
          a = i, r.blocks.reset(e, r.was), r.mode = Ti;
        case Ti:
          return e.avail_in = 0, Ge;
        case $e:
          return ae;
        default:
          return Ae;
      }
  }, t.inflateSetDictionary = function(e, i, a) {
    let s = 0, r = a;
    if (!e || !e.istate || e.istate.mode != xn)
      return Ae;
    const l = e.istate;
    return r >= 1 << l.wbits && (r = (1 << l.wbits) - 1, s = a - r), l.blocks.set_dictionary(i, s, r), l.mode = kt, Q;
  }, t.inflateSync = function(e) {
    let i, a, s, r, l;
    if (!e || !e.istate)
      return Ae;
    const o = e.istate;
    if (o.mode != $e && (o.mode = $e, o.marker = 0), (i = e.avail_in) === 0)
      return Ke;
    for (a = e.next_in_index, s = o.marker; i !== 0 && s < 4; )
      e.read_byte(a) == rr[s] ? s++ : e.read_byte(a) !== 0 ? s = 0 : s = 4 - s, a++, i--;
    return e.total_in += a - e.next_in_index, e.next_in_index = a, e.avail_in = i, o.marker = s, s != 4 ? ae : (r = e.total_in, l = e.total_out, n(e), e.total_in = r, e.total_out = l, o.mode = kt, Q);
  }, t.inflateSyncPoint = function(e) {
    return !e || !e.istate || !e.istate.blocks ? Ae : e.istate.blocks.sync_point();
  };
}
function ra() {
}
ra.prototype = {
  inflateInit(t) {
    const n = this;
    return n.istate = new or(), t || (t = Ws), n.istate.inflateInit(n, t);
  },
  inflate(t) {
    const n = this;
    return n.istate ? n.istate.inflate(n, t) : Ae;
  },
  inflateEnd() {
    const t = this;
    if (!t.istate)
      return Ae;
    const n = t.istate.inflateEnd(t);
    return t.istate = null, n;
  },
  inflateSync() {
    const t = this;
    return t.istate ? t.istate.inflateSync(t) : Ae;
  },
  inflateSetDictionary(t, n) {
    const e = this;
    return e.istate ? e.istate.inflateSetDictionary(e, t, n) : Ae;
  },
  read_byte(t) {
    return this.next_in[t];
  },
  read_buf(t, n) {
    return this.next_in.subarray(t, t + n);
  }
};
function cr(t) {
  const n = this, e = new ra(), i = t && t.chunkSize ? Math.floor(t.chunkSize * 2) : 128 * 1024, a = Zs, s = new Uint8Array(i);
  let r = !1;
  e.inflateInit(), e.next_out = s, n.append = function(l, o) {
    const x = [];
    let f, u, m = 0, g = 0, R = 0;
    if (l.length !== 0) {
      e.next_in_index = 0, e.next_in = l, e.avail_in = l.length;
      do {
        if (e.next_out_index = 0, e.avail_out = i, e.avail_in === 0 && !r && (e.next_in_index = 0, r = !0), f = e.inflate(a), r && f === Ke) {
          if (e.avail_in !== 0)
            throw new Error("inflating: bad input");
        } else if (f !== Q && f !== Ge)
          throw new Error("inflating: " + e.msg);
        if ((r || f === Ge) && e.avail_in === l.length)
          throw new Error("inflating: bad input");
        e.next_out_index && (e.next_out_index === i ? x.push(new Uint8Array(s)) : x.push(s.subarray(0, e.next_out_index))), R += e.next_out_index, o && e.next_in_index > 0 && e.next_in_index != m && (o(e.next_in_index), m = e.next_in_index);
      } while (e.avail_in > 0 || e.avail_out === 0);
      return x.length > 1 ? (u = new Uint8Array(R), x.forEach(function(p) {
        u.set(p, g), g += p.length;
      })) : u = x[0] ? new Uint8Array(x[0]) : new Uint8Array(), u;
    }
  }, n.flush = function() {
    e.inflateEnd();
  };
}
const re = 4294967295, le = 65535, oa = 8, ca = 0, la = 99, da = 67324752, qn = 134695760, lr = qn, Rn = 33639248, pa = 101010256, Dn = 101075792, fa = 117853008, Ye = 22, St = 20, At = 56, dr = Ye + St + At, ma = 1, ua = 39169, xa = 10, va = 1, zn = 21589, pr = 28789, fr = 25461, ha = 6534, Cn = 1, mr = 6, Fn = 8, In = 2048, On = 16, ur = 61440, ga = 16384, Ln = 73, vn = 420, xr = 20, Ri = 45, Di = 51, Tt = "/", gt = 26, Ci = new Date(2107, 11, 31), Fi = new Date(1980, 0, 1), Z = void 0, tt = "undefined", It = "function";
class Ii {
  constructor(n) {
    return class extends TransformStream {
      constructor(e, i) {
        const a = new n(i);
        super({
          transform(s, r) {
            r.enqueue(a.append(s));
          },
          flush(s) {
            const r = a.flush();
            r && s.enqueue(r);
          }
        });
      }
    };
  }
}
const vr = 64;
let wa = 2;
try {
  typeof navigator != tt && navigator.hardwareConcurrency && (wa = navigator.hardwareConcurrency);
} catch {
}
const hr = {
  chunkSize: 512 * 1024,
  maxWorkers: wa,
  terminateWorkerTimeout: 5e3,
  useWebWorkers: !0,
  useCompressionStream: !0,
  workerScripts: Z,
  CompressionStreamNative: typeof CompressionStream != tt && CompressionStream,
  DecompressionStreamNative: typeof DecompressionStream != tt && DecompressionStream
}, et = Object.assign({}, hr);
function ba() {
  return et;
}
function _a(t) {
  return Math.max(t.chunkSize, vr);
}
function Bn(t) {
  const {
    baseURL: n,
    chunkSize: e,
    maxWorkers: i,
    terminateWorkerTimeout: a,
    useCompressionStream: s,
    useWebWorkers: r,
    Deflate: l,
    Inflate: o,
    CompressionStream: x,
    DecompressionStream: f,
    workerScripts: u
  } = t;
  if (Je("baseURL", n), Je("chunkSize", e), Je("maxWorkers", i), Je("terminateWorkerTimeout", a), Je("useCompressionStream", s), Je("useWebWorkers", r), l && (et.CompressionStream = new Ii(l)), o && (et.DecompressionStream = new Ii(o)), Je("CompressionStream", x), Je("DecompressionStream", f), u !== Z) {
    const { deflate: m, inflate: g } = u;
    if ((m || g) && (et.workerScripts || (et.workerScripts = {})), m) {
      if (!Array.isArray(m))
        throw new Error("workerScripts.deflate must be an array");
      et.workerScripts.deflate = m;
    }
    if (g) {
      if (!Array.isArray(g))
        throw new Error("workerScripts.inflate must be an array");
      et.workerScripts.inflate = g;
    }
  }
}
function Je(t, n) {
  n !== Z && (et[t] = n);
}
const hn = {
  application: {
    "andrew-inset": "ez",
    annodex: "anx",
    "atom+xml": "atom",
    "atomcat+xml": "atomcat",
    "atomserv+xml": "atomsrv",
    bbolin: "lin",
    "cu-seeme": "cu",
    "davmount+xml": "davmount",
    dsptype: "tsp",
    ecmascript: [
      "es",
      "ecma"
    ],
    futuresplash: "spl",
    hta: "hta",
    "java-archive": "jar",
    "java-serialized-object": "ser",
    "java-vm": "class",
    m3g: "m3g",
    "mac-binhex40": "hqx",
    mathematica: [
      "nb",
      "ma",
      "mb"
    ],
    msaccess: "mdb",
    msword: [
      "doc",
      "dot",
      "wiz"
    ],
    mxf: "mxf",
    oda: "oda",
    ogg: "ogx",
    pdf: "pdf",
    "pgp-keys": "key",
    "pgp-signature": [
      "asc",
      "sig"
    ],
    "pics-rules": "prf",
    postscript: [
      "ps",
      "ai",
      "eps",
      "epsi",
      "epsf",
      "eps2",
      "eps3"
    ],
    rar: "rar",
    "rdf+xml": "rdf",
    "rss+xml": "rss",
    rtf: "rtf",
    "xhtml+xml": [
      "xhtml",
      "xht"
    ],
    xml: [
      "xml",
      "xsl",
      "xsd",
      "xpdl"
    ],
    "xspf+xml": "xspf",
    zip: "zip",
    "vnd.android.package-archive": "apk",
    "vnd.cinderella": "cdy",
    "vnd.google-earth.kml+xml": "kml",
    "vnd.google-earth.kmz": "kmz",
    "vnd.mozilla.xul+xml": "xul",
    "vnd.ms-excel": [
      "xls",
      "xlb",
      "xlt",
      "xlm",
      "xla",
      "xlc",
      "xlw"
    ],
    "vnd.ms-pki.seccat": "cat",
    "vnd.ms-pki.stl": "stl",
    "vnd.ms-powerpoint": [
      "ppt",
      "pps",
      "pot",
      "ppa",
      "pwz"
    ],
    "vnd.oasis.opendocument.chart": "odc",
    "vnd.oasis.opendocument.database": "odb",
    "vnd.oasis.opendocument.formula": "odf",
    "vnd.oasis.opendocument.graphics": "odg",
    "vnd.oasis.opendocument.graphics-template": "otg",
    "vnd.oasis.opendocument.image": "odi",
    "vnd.oasis.opendocument.presentation": "odp",
    "vnd.oasis.opendocument.presentation-template": "otp",
    "vnd.oasis.opendocument.spreadsheet": "ods",
    "vnd.oasis.opendocument.spreadsheet-template": "ots",
    "vnd.oasis.opendocument.text": "odt",
    "vnd.oasis.opendocument.text-master": [
      "odm",
      "otm"
    ],
    "vnd.oasis.opendocument.text-template": "ott",
    "vnd.oasis.opendocument.text-web": "oth",
    "vnd.openxmlformats-officedocument.spreadsheetml.sheet": "xlsx",
    "vnd.openxmlformats-officedocument.spreadsheetml.template": "xltx",
    "vnd.openxmlformats-officedocument.presentationml.presentation": "pptx",
    "vnd.openxmlformats-officedocument.presentationml.slideshow": "ppsx",
    "vnd.openxmlformats-officedocument.presentationml.template": "potx",
    "vnd.openxmlformats-officedocument.wordprocessingml.document": "docx",
    "vnd.openxmlformats-officedocument.wordprocessingml.template": "dotx",
    "vnd.smaf": "mmf",
    "vnd.stardivision.calc": "sdc",
    "vnd.stardivision.chart": "sds",
    "vnd.stardivision.draw": "sda",
    "vnd.stardivision.impress": "sdd",
    "vnd.stardivision.math": [
      "sdf",
      "smf"
    ],
    "vnd.stardivision.writer": [
      "sdw",
      "vor"
    ],
    "vnd.stardivision.writer-global": "sgl",
    "vnd.sun.xml.calc": "sxc",
    "vnd.sun.xml.calc.template": "stc",
    "vnd.sun.xml.draw": "sxd",
    "vnd.sun.xml.draw.template": "std",
    "vnd.sun.xml.impress": "sxi",
    "vnd.sun.xml.impress.template": "sti",
    "vnd.sun.xml.math": "sxm",
    "vnd.sun.xml.writer": "sxw",
    "vnd.sun.xml.writer.global": "sxg",
    "vnd.sun.xml.writer.template": "stw",
    "vnd.symbian.install": [
      "sis",
      "sisx"
    ],
    "vnd.visio": [
      "vsd",
      "vst",
      "vss",
      "vsw",
      "vsdx",
      "vssx",
      "vstx",
      "vssm",
      "vstm"
    ],
    "vnd.wap.wbxml": "wbxml",
    "vnd.wap.wmlc": "wmlc",
    "vnd.wap.wmlscriptc": "wmlsc",
    "vnd.wordperfect": "wpd",
    "vnd.wordperfect5.1": "wp5",
    "x-123": "wk",
    "x-7z-compressed": "7z",
    "x-abiword": "abw",
    "x-apple-diskimage": "dmg",
    "x-bcpio": "bcpio",
    "x-bittorrent": "torrent",
    "x-cbr": [
      "cbr",
      "cba",
      "cbt",
      "cb7"
    ],
    "x-cbz": "cbz",
    "x-cdf": [
      "cdf",
      "cda"
    ],
    "x-cdlink": "vcd",
    "x-chess-pgn": "pgn",
    "x-cpio": "cpio",
    "x-csh": "csh",
    "x-director": [
      "dir",
      "dxr",
      "cst",
      "cct",
      "cxt",
      "w3d",
      "fgd",
      "swa"
    ],
    "x-dms": "dms",
    "x-doom": "wad",
    "x-dvi": "dvi",
    "x-httpd-eruby": "rhtml",
    "x-font": "pcf.Z",
    "x-freemind": "mm",
    "x-gnumeric": "gnumeric",
    "x-go-sgf": "sgf",
    "x-graphing-calculator": "gcf",
    "x-gtar": [
      "gtar",
      "taz"
    ],
    "x-hdf": "hdf",
    "x-httpd-php": [
      "phtml",
      "pht",
      "php"
    ],
    "x-httpd-php-source": "phps",
    "x-httpd-php3": "php3",
    "x-httpd-php3-preprocessed": "php3p",
    "x-httpd-php4": "php4",
    "x-httpd-php5": "php5",
    "x-ica": "ica",
    "x-info": "info",
    "x-internet-signup": [
      "ins",
      "isp"
    ],
    "x-iphone": "iii",
    "x-iso9660-image": "iso",
    "x-java-jnlp-file": "jnlp",
    "x-jmol": "jmz",
    "x-killustrator": "kil",
    "x-latex": "latex",
    "x-lyx": "lyx",
    "x-lzx": "lzx",
    "x-maker": [
      "frm",
      "fb",
      "fbdoc"
    ],
    "x-ms-wmd": "wmd",
    "x-msdos-program": [
      "com",
      "exe",
      "bat",
      "dll"
    ],
    "x-netcdf": [
      "nc"
    ],
    "x-ns-proxy-autoconfig": [
      "pac",
      "dat"
    ],
    "x-nwc": "nwc",
    "x-object": "o",
    "x-oz-application": "oza",
    "x-pkcs7-certreqresp": "p7r",
    "x-python-code": [
      "pyc",
      "pyo"
    ],
    "x-qgis": [
      "qgs",
      "shp",
      "shx"
    ],
    "x-quicktimeplayer": "qtl",
    "x-redhat-package-manager": [
      "rpm",
      "rpa"
    ],
    "x-ruby": "rb",
    "x-sh": "sh",
    "x-shar": "shar",
    "x-shockwave-flash": [
      "swf",
      "swfl"
    ],
    "x-silverlight": "scr",
    "x-stuffit": "sit",
    "x-sv4cpio": "sv4cpio",
    "x-sv4crc": "sv4crc",
    "x-tar": "tar",
    "x-tex-gf": "gf",
    "x-tex-pk": "pk",
    "x-texinfo": [
      "texinfo",
      "texi"
    ],
    "x-trash": [
      "~",
      "%",
      "bak",
      "old",
      "sik"
    ],
    "x-ustar": "ustar",
    "x-wais-source": "src",
    "x-wingz": "wz",
    "x-x509-ca-cert": [
      "crt",
      "der",
      "cer"
    ],
    "x-xcf": "xcf",
    "x-xfig": "fig",
    "x-xpinstall": "xpi",
    applixware: "aw",
    "atomsvc+xml": "atomsvc",
    "ccxml+xml": "ccxml",
    "cdmi-capability": "cdmia",
    "cdmi-container": "cdmic",
    "cdmi-domain": "cdmid",
    "cdmi-object": "cdmio",
    "cdmi-queue": "cdmiq",
    "docbook+xml": "dbk",
    "dssc+der": "dssc",
    "dssc+xml": "xdssc",
    "emma+xml": "emma",
    "epub+zip": "epub",
    exi: "exi",
    "font-tdpfr": "pfr",
    "gml+xml": "gml",
    "gpx+xml": "gpx",
    gxf: "gxf",
    hyperstudio: "stk",
    "inkml+xml": [
      "ink",
      "inkml"
    ],
    ipfix: "ipfix",
    "jsonml+json": "jsonml",
    "lost+xml": "lostxml",
    "mads+xml": "mads",
    marc: "mrc",
    "marcxml+xml": "mrcx",
    "mathml+xml": [
      "mathml",
      "mml"
    ],
    mbox: "mbox",
    "mediaservercontrol+xml": "mscml",
    "metalink+xml": "metalink",
    "metalink4+xml": "meta4",
    "mets+xml": "mets",
    "mods+xml": "mods",
    mp21: [
      "m21",
      "mp21"
    ],
    mp4: "mp4s",
    "oebps-package+xml": "opf",
    "omdoc+xml": "omdoc",
    onenote: [
      "onetoc",
      "onetoc2",
      "onetmp",
      "onepkg"
    ],
    oxps: "oxps",
    "patch-ops-error+xml": "xer",
    "pgp-encrypted": "pgp",
    pkcs10: "p10",
    "pkcs7-mime": [
      "p7m",
      "p7c"
    ],
    "pkcs7-signature": "p7s",
    pkcs8: "p8",
    "pkix-attr-cert": "ac",
    "pkix-crl": "crl",
    "pkix-pkipath": "pkipath",
    pkixcmp: "pki",
    "pls+xml": "pls",
    "prs.cww": "cww",
    "pskc+xml": "pskcxml",
    "reginfo+xml": "rif",
    "relax-ng-compact-syntax": "rnc",
    "resource-lists+xml": "rl",
    "resource-lists-diff+xml": "rld",
    "rls-services+xml": "rs",
    "rpki-ghostbusters": "gbr",
    "rpki-manifest": "mft",
    "rpki-roa": "roa",
    "rsd+xml": "rsd",
    "sbml+xml": "sbml",
    "scvp-cv-request": "scq",
    "scvp-cv-response": "scs",
    "scvp-vp-request": "spq",
    "scvp-vp-response": "spp",
    sdp: "sdp",
    "set-payment-initiation": "setpay",
    "set-registration-initiation": "setreg",
    "shf+xml": "shf",
    "sparql-query": "rq",
    "sparql-results+xml": "srx",
    srgs: "gram",
    "srgs+xml": "grxml",
    "sru+xml": "sru",
    "ssdl+xml": "ssdl",
    "ssml+xml": "ssml",
    "tei+xml": [
      "tei",
      "teicorpus"
    ],
    "thraud+xml": "tfi",
    "timestamped-data": "tsd",
    "vnd.3gpp.pic-bw-large": "plb",
    "vnd.3gpp.pic-bw-small": "psb",
    "vnd.3gpp.pic-bw-var": "pvb",
    "vnd.3gpp2.tcap": "tcap",
    "vnd.3m.post-it-notes": "pwn",
    "vnd.accpac.simply.aso": "aso",
    "vnd.accpac.simply.imp": "imp",
    "vnd.acucobol": "acu",
    "vnd.acucorp": [
      "atc",
      "acutc"
    ],
    "vnd.adobe.air-application-installer-package+zip": "air",
    "vnd.adobe.formscentral.fcdt": "fcdt",
    "vnd.adobe.fxp": [
      "fxp",
      "fxpl"
    ],
    "vnd.adobe.xdp+xml": "xdp",
    "vnd.adobe.xfdf": "xfdf",
    "vnd.ahead.space": "ahead",
    "vnd.airzip.filesecure.azf": "azf",
    "vnd.airzip.filesecure.azs": "azs",
    "vnd.amazon.ebook": "azw",
    "vnd.americandynamics.acc": "acc",
    "vnd.amiga.ami": "ami",
    "vnd.anser-web-certificate-issue-initiation": "cii",
    "vnd.anser-web-funds-transfer-initiation": "fti",
    "vnd.antix.game-component": "atx",
    "vnd.apple.installer+xml": "mpkg",
    "vnd.apple.mpegurl": "m3u8",
    "vnd.aristanetworks.swi": "swi",
    "vnd.astraea-software.iota": "iota",
    "vnd.audiograph": "aep",
    "vnd.blueice.multipass": "mpm",
    "vnd.bmi": "bmi",
    "vnd.businessobjects": "rep",
    "vnd.chemdraw+xml": "cdxml",
    "vnd.chipnuts.karaoke-mmd": "mmd",
    "vnd.claymore": "cla",
    "vnd.cloanto.rp9": "rp9",
    "vnd.clonk.c4group": [
      "c4g",
      "c4d",
      "c4f",
      "c4p",
      "c4u"
    ],
    "vnd.cluetrust.cartomobile-config": "c11amc",
    "vnd.cluetrust.cartomobile-config-pkg": "c11amz",
    "vnd.commonspace": "csp",
    "vnd.contact.cmsg": "cdbcmsg",
    "vnd.cosmocaller": "cmc",
    "vnd.crick.clicker": "clkx",
    "vnd.crick.clicker.keyboard": "clkk",
    "vnd.crick.clicker.palette": "clkp",
    "vnd.crick.clicker.template": "clkt",
    "vnd.crick.clicker.wordbank": "clkw",
    "vnd.criticaltools.wbs+xml": "wbs",
    "vnd.ctc-posml": "pml",
    "vnd.cups-ppd": "ppd",
    "vnd.curl.car": "car",
    "vnd.curl.pcurl": "pcurl",
    "vnd.dart": "dart",
    "vnd.data-vision.rdz": "rdz",
    "vnd.dece.data": [
      "uvf",
      "uvvf",
      "uvd",
      "uvvd"
    ],
    "vnd.dece.ttml+xml": [
      "uvt",
      "uvvt"
    ],
    "vnd.dece.unspecified": [
      "uvx",
      "uvvx"
    ],
    "vnd.dece.zip": [
      "uvz",
      "uvvz"
    ],
    "vnd.denovo.fcselayout-link": "fe_launch",
    "vnd.dna": "dna",
    "vnd.dolby.mlp": "mlp",
    "vnd.dpgraph": "dpg",
    "vnd.dreamfactory": "dfac",
    "vnd.ds-keypoint": "kpxx",
    "vnd.dvb.ait": "ait",
    "vnd.dvb.service": "svc",
    "vnd.dynageo": "geo",
    "vnd.ecowin.chart": "mag",
    "vnd.enliven": "nml",
    "vnd.epson.esf": "esf",
    "vnd.epson.msf": "msf",
    "vnd.epson.quickanime": "qam",
    "vnd.epson.salt": "slt",
    "vnd.epson.ssf": "ssf",
    "vnd.eszigno3+xml": [
      "es3",
      "et3"
    ],
    "vnd.ezpix-album": "ez2",
    "vnd.ezpix-package": "ez3",
    "vnd.fdf": "fdf",
    "vnd.fdsn.mseed": "mseed",
    "vnd.fdsn.seed": [
      "seed",
      "dataless"
    ],
    "vnd.flographit": "gph",
    "vnd.fluxtime.clip": "ftc",
    "vnd.framemaker": [
      "fm",
      "frame",
      "maker",
      "book"
    ],
    "vnd.frogans.fnc": "fnc",
    "vnd.frogans.ltf": "ltf",
    "vnd.fsc.weblaunch": "fsc",
    "vnd.fujitsu.oasys": "oas",
    "vnd.fujitsu.oasys2": "oa2",
    "vnd.fujitsu.oasys3": "oa3",
    "vnd.fujitsu.oasysgp": "fg5",
    "vnd.fujitsu.oasysprs": "bh2",
    "vnd.fujixerox.ddd": "ddd",
    "vnd.fujixerox.docuworks": "xdw",
    "vnd.fujixerox.docuworks.binder": "xbd",
    "vnd.fuzzysheet": "fzs",
    "vnd.genomatix.tuxedo": "txd",
    "vnd.geogebra.file": "ggb",
    "vnd.geogebra.tool": "ggt",
    "vnd.geometry-explorer": [
      "gex",
      "gre"
    ],
    "vnd.geonext": "gxt",
    "vnd.geoplan": "g2w",
    "vnd.geospace": "g3w",
    "vnd.gmx": "gmx",
    "vnd.grafeq": [
      "gqf",
      "gqs"
    ],
    "vnd.groove-account": "gac",
    "vnd.groove-help": "ghf",
    "vnd.groove-identity-message": "gim",
    "vnd.groove-injector": "grv",
    "vnd.groove-tool-message": "gtm",
    "vnd.groove-tool-template": "tpl",
    "vnd.groove-vcard": "vcg",
    "vnd.hal+xml": "hal",
    "vnd.handheld-entertainment+xml": "zmm",
    "vnd.hbci": "hbci",
    "vnd.hhe.lesson-player": "les",
    "vnd.hp-hpgl": "hpgl",
    "vnd.hp-hpid": "hpid",
    "vnd.hp-hps": "hps",
    "vnd.hp-jlyt": "jlt",
    "vnd.hp-pcl": "pcl",
    "vnd.hp-pclxl": "pclxl",
    "vnd.hydrostatix.sof-data": "sfd-hdstx",
    "vnd.ibm.minipay": "mpy",
    "vnd.ibm.modcap": [
      "afp",
      "listafp",
      "list3820"
    ],
    "vnd.ibm.rights-management": "irm",
    "vnd.ibm.secure-container": "sc",
    "vnd.iccprofile": [
      "icc",
      "icm"
    ],
    "vnd.igloader": "igl",
    "vnd.immervision-ivp": "ivp",
    "vnd.immervision-ivu": "ivu",
    "vnd.insors.igm": "igm",
    "vnd.intercon.formnet": [
      "xpw",
      "xpx"
    ],
    "vnd.intergeo": "i2g",
    "vnd.intu.qbo": "qbo",
    "vnd.intu.qfx": "qfx",
    "vnd.ipunplugged.rcprofile": "rcprofile",
    "vnd.irepository.package+xml": "irp",
    "vnd.is-xpr": "xpr",
    "vnd.isac.fcs": "fcs",
    "vnd.jam": "jam",
    "vnd.jcp.javame.midlet-rms": "rms",
    "vnd.jisp": "jisp",
    "vnd.joost.joda-archive": "joda",
    "vnd.kahootz": [
      "ktz",
      "ktr"
    ],
    "vnd.kde.karbon": "karbon",
    "vnd.kde.kchart": "chrt",
    "vnd.kde.kformula": "kfo",
    "vnd.kde.kivio": "flw",
    "vnd.kde.kontour": "kon",
    "vnd.kde.kpresenter": [
      "kpr",
      "kpt"
    ],
    "vnd.kde.kspread": "ksp",
    "vnd.kde.kword": [
      "kwd",
      "kwt"
    ],
    "vnd.kenameaapp": "htke",
    "vnd.kidspiration": "kia",
    "vnd.kinar": [
      "kne",
      "knp"
    ],
    "vnd.koan": [
      "skp",
      "skd",
      "skt",
      "skm"
    ],
    "vnd.kodak-descriptor": "sse",
    "vnd.las.las+xml": "lasxml",
    "vnd.llamagraphics.life-balance.desktop": "lbd",
    "vnd.llamagraphics.life-balance.exchange+xml": "lbe",
    "vnd.lotus-1-2-3": "123",
    "vnd.lotus-approach": "apr",
    "vnd.lotus-freelance": "pre",
    "vnd.lotus-notes": "nsf",
    "vnd.lotus-organizer": "org",
    "vnd.lotus-screencam": "scm",
    "vnd.lotus-wordpro": "lwp",
    "vnd.macports.portpkg": "portpkg",
    "vnd.mcd": "mcd",
    "vnd.medcalcdata": "mc1",
    "vnd.mediastation.cdkey": "cdkey",
    "vnd.mfer": "mwf",
    "vnd.mfmp": "mfm",
    "vnd.micrografx.flo": "flo",
    "vnd.micrografx.igx": "igx",
    "vnd.mif": "mif",
    "vnd.mobius.daf": "daf",
    "vnd.mobius.dis": "dis",
    "vnd.mobius.mbk": "mbk",
    "vnd.mobius.mqy": "mqy",
    "vnd.mobius.msl": "msl",
    "vnd.mobius.plc": "plc",
    "vnd.mobius.txf": "txf",
    "vnd.mophun.application": "mpn",
    "vnd.mophun.certificate": "mpc",
    "vnd.ms-artgalry": "cil",
    "vnd.ms-cab-compressed": "cab",
    "vnd.ms-excel.addin.macroenabled.12": "xlam",
    "vnd.ms-excel.sheet.binary.macroenabled.12": "xlsb",
    "vnd.ms-excel.sheet.macroenabled.12": "xlsm",
    "vnd.ms-excel.template.macroenabled.12": "xltm",
    "vnd.ms-fontobject": "eot",
    "vnd.ms-htmlhelp": "chm",
    "vnd.ms-ims": "ims",
    "vnd.ms-lrm": "lrm",
    "vnd.ms-officetheme": "thmx",
    "vnd.ms-powerpoint.addin.macroenabled.12": "ppam",
    "vnd.ms-powerpoint.presentation.macroenabled.12": "pptm",
    "vnd.ms-powerpoint.slide.macroenabled.12": "sldm",
    "vnd.ms-powerpoint.slideshow.macroenabled.12": "ppsm",
    "vnd.ms-powerpoint.template.macroenabled.12": "potm",
    "vnd.ms-project": [
      "mpp",
      "mpt"
    ],
    "vnd.ms-word.document.macroenabled.12": "docm",
    "vnd.ms-word.template.macroenabled.12": "dotm",
    "vnd.ms-works": [
      "wps",
      "wks",
      "wcm",
      "wdb"
    ],
    "vnd.ms-wpl": "wpl",
    "vnd.ms-xpsdocument": "xps",
    "vnd.mseq": "mseq",
    "vnd.musician": "mus",
    "vnd.muvee.style": "msty",
    "vnd.mynfc": "taglet",
    "vnd.neurolanguage.nlu": "nlu",
    "vnd.nitf": [
      "ntf",
      "nitf"
    ],
    "vnd.noblenet-directory": "nnd",
    "vnd.noblenet-sealer": "nns",
    "vnd.noblenet-web": "nnw",
    "vnd.nokia.n-gage.data": "ngdat",
    "vnd.nokia.n-gage.symbian.install": "n-gage",
    "vnd.nokia.radio-preset": "rpst",
    "vnd.nokia.radio-presets": "rpss",
    "vnd.novadigm.edm": "edm",
    "vnd.novadigm.edx": "edx",
    "vnd.novadigm.ext": "ext",
    "vnd.oasis.opendocument.chart-template": "otc",
    "vnd.oasis.opendocument.formula-template": "odft",
    "vnd.oasis.opendocument.image-template": "oti",
    "vnd.olpc-sugar": "xo",
    "vnd.oma.dd2+xml": "dd2",
    "vnd.openofficeorg.extension": "oxt",
    "vnd.openxmlformats-officedocument.presentationml.slide": "sldx",
    "vnd.osgeo.mapguide.package": "mgp",
    "vnd.osgi.dp": "dp",
    "vnd.osgi.subsystem": "esa",
    "vnd.palm": [
      "pdb",
      "pqa",
      "oprc"
    ],
    "vnd.pawaafile": "paw",
    "vnd.pg.format": "str",
    "vnd.pg.osasli": "ei6",
    "vnd.picsel": "efif",
    "vnd.pmi.widget": "wg",
    "vnd.pocketlearn": "plf",
    "vnd.powerbuilder6": "pbd",
    "vnd.previewsystems.box": "box",
    "vnd.proteus.magazine": "mgz",
    "vnd.publishare-delta-tree": "qps",
    "vnd.pvi.ptid1": "ptid",
    "vnd.quark.quarkxpress": [
      "qxd",
      "qxt",
      "qwd",
      "qwt",
      "qxl",
      "qxb"
    ],
    "vnd.realvnc.bed": "bed",
    "vnd.recordare.musicxml": "mxl",
    "vnd.recordare.musicxml+xml": "musicxml",
    "vnd.rig.cryptonote": "cryptonote",
    "vnd.rn-realmedia": "rm",
    "vnd.rn-realmedia-vbr": "rmvb",
    "vnd.route66.link66+xml": "link66",
    "vnd.sailingtracker.track": "st",
    "vnd.seemail": "see",
    "vnd.sema": "sema",
    "vnd.semd": "semd",
    "vnd.semf": "semf",
    "vnd.shana.informed.formdata": "ifm",
    "vnd.shana.informed.formtemplate": "itp",
    "vnd.shana.informed.interchange": "iif",
    "vnd.shana.informed.package": "ipk",
    "vnd.simtech-mindmapper": [
      "twd",
      "twds"
    ],
    "vnd.smart.teacher": "teacher",
    "vnd.solent.sdkm+xml": [
      "sdkm",
      "sdkd"
    ],
    "vnd.spotfire.dxp": "dxp",
    "vnd.spotfire.sfs": "sfs",
    "vnd.stepmania.package": "smzip",
    "vnd.stepmania.stepchart": "sm",
    "vnd.sus-calendar": [
      "sus",
      "susp"
    ],
    "vnd.svd": "svd",
    "vnd.syncml+xml": "xsm",
    "vnd.syncml.dm+wbxml": "bdm",
    "vnd.syncml.dm+xml": "xdm",
    "vnd.tao.intent-module-archive": "tao",
    "vnd.tcpdump.pcap": [
      "pcap",
      "cap",
      "dmp"
    ],
    "vnd.tmobile-livetv": "tmo",
    "vnd.trid.tpt": "tpt",
    "vnd.triscape.mxs": "mxs",
    "vnd.trueapp": "tra",
    "vnd.ufdl": [
      "ufd",
      "ufdl"
    ],
    "vnd.uiq.theme": "utz",
    "vnd.umajin": "umj",
    "vnd.unity": "unityweb",
    "vnd.uoml+xml": "uoml",
    "vnd.vcx": "vcx",
    "vnd.visionary": "vis",
    "vnd.vsf": "vsf",
    "vnd.webturbo": "wtb",
    "vnd.wolfram.player": "nbp",
    "vnd.wqd": "wqd",
    "vnd.wt.stf": "stf",
    "vnd.xara": "xar",
    "vnd.xfdl": "xfdl",
    "vnd.yamaha.hv-dic": "hvd",
    "vnd.yamaha.hv-script": "hvs",
    "vnd.yamaha.hv-voice": "hvp",
    "vnd.yamaha.openscoreformat": "osf",
    "vnd.yamaha.openscoreformat.osfpvg+xml": "osfpvg",
    "vnd.yamaha.smaf-audio": "saf",
    "vnd.yamaha.smaf-phrase": "spf",
    "vnd.yellowriver-custom-menu": "cmp",
    "vnd.zul": [
      "zir",
      "zirz"
    ],
    "vnd.zzazz.deck+xml": "zaz",
    "voicexml+xml": "vxml",
    widget: "wgt",
    winhlp: "hlp",
    "wsdl+xml": "wsdl",
    "wspolicy+xml": "wspolicy",
    "x-ace-compressed": "ace",
    "x-authorware-bin": [
      "aab",
      "x32",
      "u32",
      "vox"
    ],
    "x-authorware-map": "aam",
    "x-authorware-seg": "aas",
    "x-blorb": [
      "blb",
      "blorb"
    ],
    "x-bzip": "bz",
    "x-bzip2": [
      "bz2",
      "boz"
    ],
    "x-cfs-compressed": "cfs",
    "x-chat": "chat",
    "x-conference": "nsc",
    "x-dgc-compressed": "dgc",
    "x-dtbncx+xml": "ncx",
    "x-dtbook+xml": "dtb",
    "x-dtbresource+xml": "res",
    "x-eva": "eva",
    "x-font-bdf": "bdf",
    "x-font-ghostscript": "gsf",
    "x-font-linux-psf": "psf",
    "x-font-pcf": "pcf",
    "x-font-snf": "snf",
    "x-font-ttf": [
      "ttf",
      "ttc"
    ],
    "x-font-type1": [
      "pfa",
      "pfb",
      "pfm",
      "afm"
    ],
    "x-freearc": "arc",
    "x-gca-compressed": "gca",
    "x-glulx": "ulx",
    "x-gramps-xml": "gramps",
    "x-install-instructions": "install",
    "x-lzh-compressed": [
      "lzh",
      "lha"
    ],
    "x-mie": "mie",
    "x-mobipocket-ebook": [
      "prc",
      "mobi"
    ],
    "x-ms-application": "application",
    "x-ms-shortcut": "lnk",
    "x-ms-xbap": "xbap",
    "x-msbinder": "obd",
    "x-mscardfile": "crd",
    "x-msclip": "clp",
    "application/x-ms-installer": "msi",
    "x-msmediaview": [
      "mvb",
      "m13",
      "m14"
    ],
    "x-msmetafile": [
      "wmf",
      "wmz",
      "emf",
      "emz"
    ],
    "x-msmoney": "mny",
    "x-mspublisher": "pub",
    "x-msschedule": "scd",
    "x-msterminal": "trm",
    "x-mswrite": "wri",
    "x-nzb": "nzb",
    "x-pkcs12": [
      "p12",
      "pfx"
    ],
    "x-pkcs7-certificates": [
      "p7b",
      "spc"
    ],
    "x-research-info-systems": "ris",
    "x-silverlight-app": "xap",
    "x-sql": "sql",
    "x-stuffitx": "sitx",
    "x-subrip": "srt",
    "x-t3vm-image": "t3",
    "x-tex-tfm": "tfm",
    "x-tgif": "obj",
    "x-xliff+xml": "xlf",
    "x-xz": "xz",
    "x-zmachine": [
      "z1",
      "z2",
      "z3",
      "z4",
      "z5",
      "z6",
      "z7",
      "z8"
    ],
    "xaml+xml": "xaml",
    "xcap-diff+xml": "xdf",
    "xenc+xml": "xenc",
    "xml-dtd": "dtd",
    "xop+xml": "xop",
    "xproc+xml": "xpl",
    "xslt+xml": "xslt",
    "xv+xml": [
      "mxml",
      "xhvml",
      "xvml",
      "xvm"
    ],
    yang: "yang",
    "yin+xml": "yin",
    envoy: "evy",
    fractals: "fif",
    "internet-property-stream": "acx",
    olescript: "axs",
    "vnd.ms-outlook": "msg",
    "vnd.ms-pkicertstore": "sst",
    "x-compress": "z",
    "x-perfmon": [
      "pma",
      "pmc",
      "pmr",
      "pmw"
    ],
    "ynd.ms-pkipko": "pko",
    gzip: [
      "gz",
      "tgz"
    ],
    "smil+xml": [
      "smi",
      "smil"
    ],
    "vnd.debian.binary-package": [
      "deb",
      "udeb"
    ],
    "vnd.hzn-3d-crossword": "x3d",
    "vnd.sqlite3": [
      "db",
      "sqlite",
      "sqlite3",
      "db-wal",
      "sqlite-wal",
      "db-shm",
      "sqlite-shm"
    ],
    "vnd.wap.sic": "sic",
    "vnd.wap.slc": "slc",
    "x-krita": [
      "kra",
      "krz"
    ],
    "x-perl": [
      "pm",
      "pl"
    ],
    yaml: [
      "yaml",
      "yml"
    ]
  },
  audio: {
    amr: "amr",
    "amr-wb": "awb",
    annodex: "axa",
    basic: [
      "au",
      "snd"
    ],
    flac: "flac",
    midi: [
      "mid",
      "midi",
      "kar",
      "rmi"
    ],
    mpeg: [
      "mpga",
      "mpega",
      "mp3",
      "m4a",
      "mp2a",
      "m2a",
      "m3a"
    ],
    mpegurl: "m3u",
    ogg: [
      "oga",
      "ogg",
      "spx"
    ],
    "prs.sid": "sid",
    "x-aiff": "aifc",
    "x-gsm": "gsm",
    "x-ms-wma": "wma",
    "x-ms-wax": "wax",
    "x-pn-realaudio": "ram",
    "x-realaudio": "ra",
    "x-sd2": "sd2",
    adpcm: "adp",
    mp4: "mp4a",
    s3m: "s3m",
    silk: "sil",
    "vnd.dece.audio": [
      "uva",
      "uvva"
    ],
    "vnd.digital-winds": "eol",
    "vnd.dra": "dra",
    "vnd.dts": "dts",
    "vnd.dts.hd": "dtshd",
    "vnd.lucent.voice": "lvp",
    "vnd.ms-playready.media.pya": "pya",
    "vnd.nuera.ecelp4800": "ecelp4800",
    "vnd.nuera.ecelp7470": "ecelp7470",
    "vnd.nuera.ecelp9600": "ecelp9600",
    "vnd.rip": "rip",
    webm: "weba",
    "x-caf": "caf",
    "x-matroska": "mka",
    "x-pn-realaudio-plugin": "rmp",
    xm: "xm",
    aac: "aac",
    aiff: [
      "aiff",
      "aif",
      "aff"
    ],
    opus: "opus",
    wav: "wav"
  },
  chemical: {
    "x-alchemy": "alc",
    "x-cache": [
      "cac",
      "cache"
    ],
    "x-cache-csf": "csf",
    "x-cactvs-binary": [
      "cbin",
      "cascii",
      "ctab"
    ],
    "x-cdx": "cdx",
    "x-chem3d": "c3d",
    "x-cif": "cif",
    "x-cmdf": "cmdf",
    "x-cml": "cml",
    "x-compass": "cpa",
    "x-crossfire": "bsd",
    "x-csml": [
      "csml",
      "csm"
    ],
    "x-ctx": "ctx",
    "x-cxf": [
      "cxf",
      "cef"
    ],
    "x-embl-dl-nucleotide": [
      "emb",
      "embl"
    ],
    "x-gamess-input": [
      "inp",
      "gam",
      "gamin"
    ],
    "x-gaussian-checkpoint": [
      "fch",
      "fchk"
    ],
    "x-gaussian-cube": "cub",
    "x-gaussian-input": [
      "gau",
      "gjc",
      "gjf"
    ],
    "x-gaussian-log": "gal",
    "x-gcg8-sequence": "gcg",
    "x-genbank": "gen",
    "x-hin": "hin",
    "x-isostar": [
      "istr",
      "ist"
    ],
    "x-jcamp-dx": [
      "jdx",
      "dx"
    ],
    "x-kinemage": "kin",
    "x-macmolecule": "mcm",
    "x-macromodel-input": "mmod",
    "x-mdl-molfile": "mol",
    "x-mdl-rdfile": "rd",
    "x-mdl-rxnfile": "rxn",
    "x-mdl-sdfile": "sd",
    "x-mdl-tgf": "tgf",
    "x-mmcif": "mcif",
    "x-mol2": "mol2",
    "x-molconn-Z": "b",
    "x-mopac-graph": "gpt",
    "x-mopac-input": [
      "mop",
      "mopcrt",
      "zmt"
    ],
    "x-mopac-out": "moo",
    "x-ncbi-asn1": "asn",
    "x-ncbi-asn1-ascii": [
      "prt",
      "ent"
    ],
    "x-ncbi-asn1-binary": "val",
    "x-rosdal": "ros",
    "x-swissprot": "sw",
    "x-vamas-iso14976": "vms",
    "x-vmd": "vmd",
    "x-xtel": "xtel",
    "x-xyz": "xyz"
  },
  font: {
    otf: "otf",
    woff: "woff",
    woff2: "woff2"
  },
  image: {
    gif: "gif",
    ief: "ief",
    jpeg: [
      "jpeg",
      "jpg",
      "jpe",
      "jfif",
      "jfif-tbnl",
      "jif"
    ],
    pcx: "pcx",
    png: "png",
    "svg+xml": [
      "svg",
      "svgz"
    ],
    tiff: [
      "tiff",
      "tif"
    ],
    "vnd.djvu": [
      "djvu",
      "djv"
    ],
    "vnd.wap.wbmp": "wbmp",
    "x-canon-cr2": "cr2",
    "x-canon-crw": "crw",
    "x-cmu-raster": "ras",
    "x-coreldraw": "cdr",
    "x-coreldrawpattern": "pat",
    "x-coreldrawtemplate": "cdt",
    "x-corelphotopaint": "cpt",
    "x-epson-erf": "erf",
    "x-icon": "ico",
    "x-jg": "art",
    "x-jng": "jng",
    "x-nikon-nef": "nef",
    "x-olympus-orf": "orf",
    "x-portable-anymap": "pnm",
    "x-portable-bitmap": "pbm",
    "x-portable-graymap": "pgm",
    "x-portable-pixmap": "ppm",
    "x-rgb": "rgb",
    "x-xbitmap": "xbm",
    "x-xpixmap": "xpm",
    "x-xwindowdump": "xwd",
    bmp: "bmp",
    cgm: "cgm",
    g3fax: "g3",
    ktx: "ktx",
    "prs.btif": "btif",
    sgi: "sgi",
    "vnd.dece.graphic": [
      "uvi",
      "uvvi",
      "uvg",
      "uvvg"
    ],
    "vnd.dwg": "dwg",
    "vnd.dxf": "dxf",
    "vnd.fastbidsheet": "fbs",
    "vnd.fpx": "fpx",
    "vnd.fst": "fst",
    "vnd.fujixerox.edmics-mmr": "mmr",
    "vnd.fujixerox.edmics-rlc": "rlc",
    "vnd.ms-modi": "mdi",
    "vnd.ms-photo": "wdp",
    "vnd.net-fpx": "npx",
    "vnd.xiff": "xif",
    webp: "webp",
    "x-3ds": "3ds",
    "x-cmx": "cmx",
    "x-freehand": [
      "fh",
      "fhc",
      "fh4",
      "fh5",
      "fh7"
    ],
    "x-pict": [
      "pic",
      "pct"
    ],
    "x-tga": "tga",
    "cis-cod": "cod",
    avif: "avifs",
    heic: [
      "heif",
      "heic"
    ],
    pjpeg: [
      "pjpg"
    ],
    "vnd.adobe.photoshop": "psd",
    "x-adobe-dng": "dng",
    "x-fuji-raf": "raf",
    "x-icns": "icns",
    "x-kodak-dcr": "dcr",
    "x-kodak-k25": "k25",
    "x-kodak-kdc": "kdc",
    "x-minolta-mrw": "mrw",
    "x-panasonic-raw": [
      "raw",
      "rw2",
      "rwl"
    ],
    "x-pentax-pef": [
      "pef",
      "ptx"
    ],
    "x-sigma-x3f": "x3f",
    "x-sony-arw": "arw",
    "x-sony-sr2": "sr2",
    "x-sony-srf": "srf"
  },
  message: {
    rfc822: [
      "eml",
      "mime",
      "mht",
      "mhtml",
      "nws"
    ]
  },
  model: {
    iges: [
      "igs",
      "iges"
    ],
    mesh: [
      "msh",
      "mesh",
      "silo"
    ],
    vrml: [
      "wrl",
      "vrml"
    ],
    "x3d+vrml": [
      "x3dv",
      "x3dvz"
    ],
    "x3d+xml": "x3dz",
    "x3d+binary": [
      "x3db",
      "x3dbz"
    ],
    "vnd.collada+xml": "dae",
    "vnd.dwf": "dwf",
    "vnd.gdl": "gdl",
    "vnd.gtw": "gtw",
    "vnd.mts": "mts",
    "vnd.usdz+zip": "usdz",
    "vnd.vtu": "vtu"
  },
  text: {
    "cache-manifest": [
      "manifest",
      "appcache"
    ],
    calendar: [
      "ics",
      "icz",
      "ifb"
    ],
    css: "css",
    csv: "csv",
    h323: "323",
    html: [
      "html",
      "htm",
      "shtml",
      "stm"
    ],
    iuls: "uls",
    plain: [
      "txt",
      "text",
      "brf",
      "conf",
      "def",
      "list",
      "log",
      "in",
      "bas",
      "diff",
      "ksh"
    ],
    richtext: "rtx",
    scriptlet: [
      "sct",
      "wsc"
    ],
    texmacs: "tm",
    "tab-separated-values": "tsv",
    "vnd.sun.j2me.app-descriptor": "jad",
    "vnd.wap.wml": "wml",
    "vnd.wap.wmlscript": "wmls",
    "x-bibtex": "bib",
    "x-boo": "boo",
    "x-c++hdr": [
      "h++",
      "hpp",
      "hxx",
      "hh"
    ],
    "x-c++src": [
      "c++",
      "cpp",
      "cxx",
      "cc"
    ],
    "x-component": "htc",
    "x-dsrc": "d",
    "x-diff": "patch",
    "x-haskell": "hs",
    "x-java": "java",
    "x-literate-haskell": "lhs",
    "x-moc": "moc",
    "x-pascal": [
      "p",
      "pas",
      "pp",
      "inc"
    ],
    "x-pcs-gcd": "gcd",
    "x-python": "py",
    "x-scala": "scala",
    "x-setext": "etx",
    "x-tcl": [
      "tcl",
      "tk"
    ],
    "x-tex": [
      "tex",
      "ltx",
      "sty",
      "cls"
    ],
    "x-vcalendar": "vcs",
    "x-vcard": "vcf",
    n3: "n3",
    "prs.lines.tag": "dsc",
    sgml: [
      "sgml",
      "sgm"
    ],
    troff: [
      "t",
      "tr",
      "roff",
      "man",
      "me",
      "ms"
    ],
    turtle: "ttl",
    "uri-list": [
      "uri",
      "uris",
      "urls"
    ],
    vcard: "vcard",
    "vnd.curl": "curl",
    "vnd.curl.dcurl": "dcurl",
    "vnd.curl.scurl": "scurl",
    "vnd.curl.mcurl": "mcurl",
    "vnd.dvb.subtitle": "sub",
    "vnd.fly": "fly",
    "vnd.fmi.flexstor": "flx",
    "vnd.graphviz": "gv",
    "vnd.in3d.3dml": "3dml",
    "vnd.in3d.spot": "spot",
    "x-asm": [
      "s",
      "asm"
    ],
    "x-c": [
      "c",
      "h",
      "dic"
    ],
    "x-fortran": [
      "f",
      "for",
      "f77",
      "f90"
    ],
    "x-opml": "opml",
    "x-nfo": "nfo",
    "x-sfv": "sfv",
    "x-uuencode": "uu",
    webviewhtml: "htt",
    javascript: "js",
    json: "json",
    markdown: [
      "md",
      "markdown",
      "mdown",
      "markdn"
    ],
    "vnd.wap.si": "si",
    "vnd.wap.sl": "sl"
  },
  video: {
    avif: "avif",
    "3gpp": "3gp",
    annodex: "axv",
    dl: "dl",
    dv: [
      "dif",
      "dv"
    ],
    fli: "fli",
    gl: "gl",
    mpeg: [
      "mpeg",
      "mpg",
      "mpe",
      "m1v",
      "m2v",
      "mp2",
      "mpa",
      "mpv2"
    ],
    mp4: [
      "mp4",
      "mp4v",
      "mpg4"
    ],
    quicktime: [
      "qt",
      "mov"
    ],
    ogg: "ogv",
    "vnd.mpegurl": [
      "mxu",
      "m4u"
    ],
    "x-flv": "flv",
    "x-la-asf": [
      "lsf",
      "lsx"
    ],
    "x-mng": "mng",
    "x-ms-asf": [
      "asf",
      "asx",
      "asr"
    ],
    "x-ms-wm": "wm",
    "x-ms-wmv": "wmv",
    "x-ms-wmx": "wmx",
    "x-ms-wvx": "wvx",
    "x-msvideo": "avi",
    "x-sgi-movie": "movie",
    "x-matroska": [
      "mpv",
      "mkv",
      "mk3d",
      "mks"
    ],
    "3gpp2": "3g2",
    h261: "h261",
    h263: "h263",
    h264: "h264",
    jpeg: "jpgv",
    jpm: [
      "jpm",
      "jpgm"
    ],
    mj2: [
      "mj2",
      "mjp2"
    ],
    "vnd.dece.hd": [
      "uvh",
      "uvvh"
    ],
    "vnd.dece.mobile": [
      "uvm",
      "uvvm"
    ],
    "vnd.dece.pd": [
      "uvp",
      "uvvp"
    ],
    "vnd.dece.sd": [
      "uvs",
      "uvvs"
    ],
    "vnd.dece.video": [
      "uvv",
      "uvvv"
    ],
    "vnd.dvb.file": "dvb",
    "vnd.fvt": "fvt",
    "vnd.ms-playready.media.pyv": "pyv",
    "vnd.uvvu.mp4": [
      "uvu",
      "uvvu"
    ],
    "vnd.vivo": "viv",
    webm: "webm",
    "x-f4v": "f4v",
    "x-m4v": "m4v",
    "x-ms-vob": "vob",
    "x-smv": "smv",
    mp2t: "ts"
  },
  "x-conference": {
    "x-cooltalk": "ice"
  },
  "x-world": {
    "x-vrml": [
      "vrm",
      "flr",
      "wrz",
      "xaf",
      "xof"
    ]
  }
};
(() => {
  const t = {};
  for (const n of Object.keys(hn))
    for (const e of Object.keys(hn[n])) {
      const i = hn[n][e];
      if (typeof i == "string")
        t[i] = n + "/" + e;
      else
        for (let a = 0; a < i.length; a++)
          t[i[a]] = n + "/" + e;
    }
  return t;
})();
const ya = [];
for (let t = 0; t < 256; t++) {
  let n = t;
  for (let e = 0; e < 8; e++)
    n & 1 ? n = n >>> 1 ^ 3988292384 : n = n >>> 1;
  ya[t] = n;
}
class Jt {
  constructor(n) {
    this.crc = n || -1;
  }
  append(n) {
    let e = this.crc | 0;
    for (let i = 0, a = n.length | 0; i < a; i++)
      e = e >>> 8 ^ ya[(e ^ n[i]) & 255];
    this.crc = e;
  }
  get() {
    return ~this.crc;
  }
}
class ka extends TransformStream {
  constructor() {
    let n;
    const e = new Jt();
    super({
      transform(i, a) {
        e.append(i), a.enqueue(i);
      },
      flush() {
        const i = new Uint8Array(4);
        new DataView(i.buffer).setUint32(0, e.get()), n.value = i;
      }
    }), n = this;
  }
}
function Vt(t) {
  if (typeof TextEncoder == tt) {
    t = unescape(encodeURIComponent(t));
    const n = new Uint8Array(t.length);
    for (let e = 0; e < n.length; e++)
      n[e] = t.charCodeAt(e);
    return n;
  } else
    return new TextEncoder().encode(t);
}
const Ee = {
  /**
   * Concatenate two bit arrays.
   * @param {bitArray} a1 The first array.
   * @param {bitArray} a2 The second array.
   * @return {bitArray} The concatenation of a1 and a2.
   */
  concat(t, n) {
    if (t.length === 0 || n.length === 0)
      return t.concat(n);
    const e = t[t.length - 1], i = Ee.getPartial(e);
    return i === 32 ? t.concat(n) : Ee._shiftRight(n, i, e | 0, t.slice(0, t.length - 1));
  },
  /**
   * Find the length of an array of bits.
   * @param {bitArray} a The array.
   * @return {Number} The length of a, in bits.
   */
  bitLength(t) {
    const n = t.length;
    if (n === 0)
      return 0;
    const e = t[n - 1];
    return (n - 1) * 32 + Ee.getPartial(e);
  },
  /**
   * Truncate an array.
   * @param {bitArray} a The array.
   * @param {Number} len The length to truncate to, in bits.
   * @return {bitArray} A new array, truncated to len bits.
   */
  clamp(t, n) {
    if (t.length * 32 < n)
      return t;
    t = t.slice(0, Math.ceil(n / 32));
    const e = t.length;
    return n = n & 31, e > 0 && n && (t[e - 1] = Ee.partial(n, t[e - 1] & 2147483648 >> n - 1, 1)), t;
  },
  /**
   * Make a partial word for a bit array.
   * @param {Number} len The number of bits in the word.
   * @param {Number} x The bits.
   * @param {Number} [_end=0] Pass 1 if x has already been shifted to the high side.
   * @return {Number} The partial word.
   */
  partial(t, n, e) {
    return t === 32 ? n : (e ? n | 0 : n << 32 - t) + t * 1099511627776;
  },
  /**
   * Get the number of bits used by a partial word.
   * @param {Number} x The partial word.
   * @return {Number} The number of bits used by the partial word.
   */
  getPartial(t) {
    return Math.round(t / 1099511627776) || 32;
  },
  /** Shift an array right.
   * @param {bitArray} a The array to shift.
   * @param {Number} shift The number of bits to shift.
   * @param {Number} [carry=0] A byte to carry in
   * @param {bitArray} [out=[]] An array to prepend to the output.
   * @private
   */
  _shiftRight(t, n, e, i) {
    for (i === void 0 && (i = []); n >= 32; n -= 32)
      i.push(e), e = 0;
    if (n === 0)
      return i.concat(t);
    for (let r = 0; r < t.length; r++)
      i.push(e | t[r] >>> n), e = t[r] << 32 - n;
    const a = t.length ? t[t.length - 1] : 0, s = Ee.getPartial(a);
    return i.push(Ee.partial(n + s & 31, n + s > 32 ? e : i.pop(), 1)), i;
  }
}, Qt = {
  bytes: {
    /** Convert from a bitArray to an array of bytes. */
    fromBits(t) {
      const e = Ee.bitLength(t) / 8, i = new Uint8Array(e);
      let a;
      for (let s = 0; s < e; s++)
        s & 3 || (a = t[s / 4]), i[s] = a >>> 24, a <<= 8;
      return i;
    },
    /** Convert from an array of bytes to a bitArray. */
    toBits(t) {
      const n = [];
      let e, i = 0;
      for (e = 0; e < t.length; e++)
        i = i << 8 | t[e], (e & 3) === 3 && (n.push(i), i = 0);
      return e & 3 && n.push(Ee.partial(8 * (e & 3), i)), n;
    }
  }
}, Ea = {};
Ea.sha1 = class {
  constructor(t) {
    const n = this;
    n.blockSize = 512, n._init = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], n._key = [1518500249, 1859775393, 2400959708, 3395469782], t ? (n._h = t._h.slice(0), n._buffer = t._buffer.slice(0), n._length = t._length) : n.reset();
  }
  /**
   * Reset the hash state.
   * @return this
   */
  reset() {
    const t = this;
    return t._h = t._init.slice(0), t._buffer = [], t._length = 0, t;
  }
  /**
   * Input several words to the hash.
   * @param {bitArray|String} data the data to hash.
   * @return this
   */
  update(t) {
    const n = this;
    typeof t == "string" && (t = Qt.utf8String.toBits(t));
    const e = n._buffer = Ee.concat(n._buffer, t), i = n._length, a = n._length = i + Ee.bitLength(t);
    if (a > 9007199254740991)
      throw new Error("Cannot hash more than 2^53 - 1 bits");
    const s = new Uint32Array(e);
    let r = 0;
    for (let l = n.blockSize + i - (n.blockSize + i & n.blockSize - 1); l <= a; l += n.blockSize)
      n._block(s.subarray(16 * r, 16 * (r + 1))), r += 1;
    return e.splice(0, 16 * r), n;
  }
  /**
   * Complete hashing and output the hash value.
   * @return {bitArray} The hash value, an array of 5 big-endian words. TODO
   */
  finalize() {
    const t = this;
    let n = t._buffer;
    const e = t._h;
    n = Ee.concat(n, [Ee.partial(1, 1)]);
    for (let i = n.length + 2; i & 15; i++)
      n.push(0);
    for (n.push(Math.floor(t._length / 4294967296)), n.push(t._length | 0); n.length; )
      t._block(n.splice(0, 16));
    return t.reset(), e;
  }
  /**
   * The SHA-1 logical functions f(0), f(1), ..., f(79).
   * @private
   */
  _f(t, n, e, i) {
    if (t <= 19)
      return n & e | ~n & i;
    if (t <= 39)
      return n ^ e ^ i;
    if (t <= 59)
      return n & e | n & i | e & i;
    if (t <= 79)
      return n ^ e ^ i;
  }
  /**
   * Circular left-shift operator.
   * @private
   */
  _S(t, n) {
    return n << t | n >>> 32 - t;
  }
  /**
   * Perform one cycle of SHA-1.
   * @param {Uint32Array|bitArray} words one block of words.
   * @private
   */
  _block(t) {
    const n = this, e = n._h, i = Array(80);
    for (let x = 0; x < 16; x++)
      i[x] = t[x];
    let a = e[0], s = e[1], r = e[2], l = e[3], o = e[4];
    for (let x = 0; x <= 79; x++) {
      x >= 16 && (i[x] = n._S(1, i[x - 3] ^ i[x - 8] ^ i[x - 14] ^ i[x - 16]));
      const f = n._S(5, a) + n._f(x, s, r, l) + o + i[x] + n._key[Math.floor(x / 20)] | 0;
      o = l, l = r, r = n._S(30, s), s = a, a = f;
    }
    e[0] = e[0] + a | 0, e[1] = e[1] + s | 0, e[2] = e[2] + r | 0, e[3] = e[3] + l | 0, e[4] = e[4] + o | 0;
  }
};
const Sa = {};
Sa.aes = class {
  constructor(t) {
    const n = this;
    n._tables = [[[], [], [], [], []], [[], [], [], [], []]], n._tables[0][0][0] || n._precompute();
    const e = n._tables[0][4], i = n._tables[1], a = t.length;
    let s, r, l, o = 1;
    if (a !== 4 && a !== 6 && a !== 8)
      throw new Error("invalid aes key size");
    for (n._key = [r = t.slice(0), l = []], s = a; s < 4 * a + 28; s++) {
      let x = r[s - 1];
      (s % a === 0 || a === 8 && s % a === 4) && (x = e[x >>> 24] << 24 ^ e[x >> 16 & 255] << 16 ^ e[x >> 8 & 255] << 8 ^ e[x & 255], s % a === 0 && (x = x << 8 ^ x >>> 24 ^ o << 24, o = o << 1 ^ (o >> 7) * 283)), r[s] = r[s - a] ^ x;
    }
    for (let x = 0; s; x++, s--) {
      const f = r[x & 3 ? s : s - 4];
      s <= 4 || x < 4 ? l[x] = f : l[x] = i[0][e[f >>> 24]] ^ i[1][e[f >> 16 & 255]] ^ i[2][e[f >> 8 & 255]] ^ i[3][e[f & 255]];
    }
  }
  // public
  /* Something like this might appear here eventually
  name: "AES",
  blockSize: 4,
  keySizes: [4,6,8],
  */
  /**
   * Encrypt an array of 4 big-endian words.
   * @param {Array} data The plaintext.
   * @return {Array} The ciphertext.
   */
  encrypt(t) {
    return this._crypt(t, 0);
  }
  /**
   * Decrypt an array of 4 big-endian words.
   * @param {Array} data The ciphertext.
   * @return {Array} The plaintext.
   */
  decrypt(t) {
    return this._crypt(t, 1);
  }
  /**
   * Expand the S-box tables.
   *
   * @private
   */
  _precompute() {
    const t = this._tables[0], n = this._tables[1], e = t[4], i = n[4], a = [], s = [];
    let r, l, o, x;
    for (let f = 0; f < 256; f++)
      s[(a[f] = f << 1 ^ (f >> 7) * 283) ^ f] = f;
    for (let f = r = 0; !e[f]; f ^= l || 1, r = s[r] || 1) {
      let u = r ^ r << 1 ^ r << 2 ^ r << 3 ^ r << 4;
      u = u >> 8 ^ u & 255 ^ 99, e[f] = u, i[u] = f, x = a[o = a[l = a[f]]];
      let m = x * 16843009 ^ o * 65537 ^ l * 257 ^ f * 16843008, g = a[u] * 257 ^ u * 16843008;
      for (let R = 0; R < 4; R++)
        t[R][f] = g = g << 24 ^ g >>> 8, n[R][u] = m = m << 24 ^ m >>> 8;
    }
    for (let f = 0; f < 5; f++)
      t[f] = t[f].slice(0), n[f] = n[f].slice(0);
  }
  /**
   * Encryption and decryption core.
   * @param {Array} input Four words to be encrypted or decrypted.
   * @param dir The direction, 0 for encrypt and 1 for decrypt.
   * @return {Array} The four encrypted or decrypted words.
   * @private
   */
  _crypt(t, n) {
    if (t.length !== 4)
      throw new Error("invalid aes block size");
    const e = this._key[n], i = e.length / 4 - 2, a = [0, 0, 0, 0], s = this._tables[n], r = s[0], l = s[1], o = s[2], x = s[3], f = s[4];
    let u = t[0] ^ e[0], m = t[n ? 3 : 1] ^ e[1], g = t[2] ^ e[2], R = t[n ? 1 : 3] ^ e[3], p = 4, c, d, v;
    for (let h = 0; h < i; h++)
      c = r[u >>> 24] ^ l[m >> 16 & 255] ^ o[g >> 8 & 255] ^ x[R & 255] ^ e[p], d = r[m >>> 24] ^ l[g >> 16 & 255] ^ o[R >> 8 & 255] ^ x[u & 255] ^ e[p + 1], v = r[g >>> 24] ^ l[R >> 16 & 255] ^ o[u >> 8 & 255] ^ x[m & 255] ^ e[p + 2], R = r[R >>> 24] ^ l[u >> 16 & 255] ^ o[m >> 8 & 255] ^ x[g & 255] ^ e[p + 3], p += 4, u = c, m = d, g = v;
    for (let h = 0; h < 4; h++)
      a[n ? 3 & -h : h] = f[u >>> 24] << 24 ^ f[m >> 16 & 255] << 16 ^ f[g >> 8 & 255] << 8 ^ f[R & 255] ^ e[p++], c = u, u = m, m = g, g = R, R = c;
    return a;
  }
};
const gr = {
  /** 
   * Generate random words with pure js, cryptographically not as strong & safe as native implementation.
   * @param {TypedArray} typedArray The array to fill.
   * @return {TypedArray} The random values.
   */
  getRandomValues(t) {
    const n = new Uint32Array(t.buffer), e = (i) => {
      let a = 987654321;
      const s = 4294967295;
      return function() {
        return a = 36969 * (a & 65535) + (a >> 16) & s, i = 18e3 * (i & 65535) + (i >> 16) & s, (((a << 16) + i & s) / 4294967296 + 0.5) * (Math.random() > 0.5 ? 1 : -1);
      };
    };
    for (let i = 0, a; i < t.length; i += 4) {
      const s = e((a || Math.random()) * 4294967296);
      a = s() * 987654071, n[i / 4] = s() * 4294967296 | 0;
    }
    return t;
  }
}, Aa = {};
Aa.ctrGladman = class {
  constructor(t, n) {
    this._prf = t, this._initIv = n, this._iv = n;
  }
  reset() {
    this._iv = this._initIv;
  }
  /** Input some data to calculate.
   * @param {bitArray} data the data to process, it must be intergral multiple of 128 bits unless it's the last.
   */
  update(t) {
    return this.calculate(this._prf, t, this._iv);
  }
  incWord(t) {
    if ((t >> 24 & 255) === 255) {
      let n = t >> 16 & 255, e = t >> 8 & 255, i = t & 255;
      n === 255 ? (n = 0, e === 255 ? (e = 0, i === 255 ? i = 0 : ++i) : ++e) : ++n, t = 0, t += n << 16, t += e << 8, t += i;
    } else
      t += 1 << 24;
    return t;
  }
  incCounter(t) {
    (t[0] = this.incWord(t[0])) === 0 && (t[1] = this.incWord(t[1]));
  }
  calculate(t, n, e) {
    let i;
    if (!(i = n.length))
      return [];
    const a = Ee.bitLength(n);
    for (let s = 0; s < i; s += 4) {
      this.incCounter(e);
      const r = t.encrypt(e);
      n[s] ^= r[0], n[s + 1] ^= r[1], n[s + 2] ^= r[2], n[s + 3] ^= r[3];
    }
    return Ee.clamp(n, a);
  }
};
const pt = {
  importKey(t) {
    return new pt.hmacSha1(Qt.bytes.toBits(t));
  },
  pbkdf2(t, n, e, i) {
    if (e = e || 1e4, i < 0 || e < 0)
      throw new Error("invalid params to pbkdf2");
    const a = (i >> 5) + 1 << 2;
    let s, r, l, o, x;
    const f = new ArrayBuffer(a), u = new DataView(f);
    let m = 0;
    const g = Ee;
    for (n = Qt.bytes.toBits(n), x = 1; m < (a || 1); x++) {
      for (s = r = t.encrypt(g.concat(n, [x])), l = 1; l < e; l++)
        for (r = t.encrypt(r), o = 0; o < r.length; o++)
          s[o] ^= r[o];
      for (l = 0; m < (a || 1) && l < s.length; l++)
        u.setInt32(m, s[l]), m += 4;
    }
    return f.slice(0, i / 8);
  }
};
pt.hmacSha1 = class {
  constructor(t) {
    const n = this, e = n._hash = Ea.sha1, i = [[], []];
    n._baseHash = [new e(), new e()];
    const a = n._baseHash[0].blockSize / 32;
    t.length > a && (t = new e().update(t).finalize());
    for (let s = 0; s < a; s++)
      i[0][s] = t[s] ^ 909522486, i[1][s] = t[s] ^ 1549556828;
    n._baseHash[0].update(i[0]), n._baseHash[1].update(i[1]), n._resultHash = new e(n._baseHash[0]);
  }
  reset() {
    const t = this;
    t._resultHash = new t._hash(t._baseHash[0]), t._updated = !1;
  }
  update(t) {
    const n = this;
    n._updated = !0, n._resultHash.update(t);
  }
  digest() {
    const t = this, n = t._resultHash.finalize(), e = new t._hash(t._baseHash[1]).update(n).finalize();
    return t.reset(), e;
  }
  encrypt(t) {
    if (this._updated)
      throw new Error("encrypt on already updated hmac called!");
    return this.update(t), this.digest(t);
  }
};
const wr = typeof crypto != tt && typeof crypto.getRandomValues == It, Ta = "Invalid password", Ra = "Invalid signature", Wn = "zipjs-abort-check-password";
function Da(t) {
  return wr ? crypto.getRandomValues(t) : gr.getRandomValues(t);
}
const xt = 16, br = "raw", Ca = { name: "PBKDF2" }, _r = { name: "HMAC" }, yr = "SHA-1", kr = Object.assign({ hash: _r }, Ca), jn = Object.assign({ iterations: 1e3, hash: { name: yr } }, Ca), Er = ["deriveBits"], Dt = [8, 12, 16], Et = [16, 24, 32], Qe = 10, Sr = [0, 0, 0, 0], sn = typeof crypto != tt, Ot = sn && crypto.subtle, Fa = sn && typeof Ot != tt, Be = Qt.bytes, Ar = Sa.aes, Tr = Aa.ctrGladman, Rr = pt.hmacSha1;
let Oi = sn && Fa && typeof Ot.importKey == It, Li = sn && Fa && typeof Ot.deriveBits == It;
class Dr extends TransformStream {
  constructor({ password: n, rawPassword: e, signed: i, encryptionStrength: a, checkPasswordOnly: s }) {
    super({
      start() {
        Object.assign(this, {
          ready: new Promise((r) => this.resolveReady = r),
          password: La(n, e),
          signed: i,
          strength: a - 1,
          pending: new Uint8Array()
        });
      },
      async transform(r, l) {
        const o = this, {
          password: x,
          strength: f,
          resolveReady: u,
          ready: m
        } = o;
        x ? (await Fr(o, f, x, Fe(r, 0, Dt[f] + 2)), r = Fe(r, Dt[f] + 2), s ? l.error(new Error(Wn)) : u()) : await m;
        const g = new Uint8Array(r.length - Qe - (r.length - Qe) % xt);
        l.enqueue(Ia(o, r, g, 0, Qe, !0));
      },
      async flush(r) {
        const {
          signed: l,
          ctr: o,
          hmac: x,
          pending: f,
          ready: u
        } = this;
        if (x && o) {
          await u;
          const m = Fe(f, 0, f.length - Qe), g = Fe(f, f.length - Qe);
          let R = new Uint8Array();
          if (m.length) {
            const p = Ft(Be, m);
            x.update(p);
            const c = o.update(p);
            R = Ct(Be, c);
          }
          if (l) {
            const p = Fe(Ct(Be, x.digest()), 0, Qe);
            for (let c = 0; c < Qe; c++)
              if (p[c] != g[c])
                throw new Error(Ra);
          }
          r.enqueue(R);
        }
      }
    });
  }
}
class Cr extends TransformStream {
  constructor({ password: n, rawPassword: e, encryptionStrength: i }) {
    let a;
    super({
      start() {
        Object.assign(this, {
          ready: new Promise((s) => this.resolveReady = s),
          password: La(n, e),
          strength: i - 1,
          pending: new Uint8Array()
        });
      },
      async transform(s, r) {
        const l = this, {
          password: o,
          strength: x,
          resolveReady: f,
          ready: u
        } = l;
        let m = new Uint8Array();
        o ? (m = await Ir(l, x, o), f()) : await u;
        const g = new Uint8Array(m.length + s.length - s.length % xt);
        g.set(m, 0), r.enqueue(Ia(l, s, g, m.length, 0));
      },
      async flush(s) {
        const {
          ctr: r,
          hmac: l,
          pending: o,
          ready: x
        } = this;
        if (l && r) {
          await x;
          let f = new Uint8Array();
          if (o.length) {
            const u = r.update(Ft(Be, o));
            l.update(u), f = Ct(Be, u);
          }
          a.signature = Ct(Be, l.digest()).slice(0, Qe), s.enqueue(Hn(f, a.signature));
        }
      }
    }), a = this;
  }
}
function Ia(t, n, e, i, a, s) {
  const {
    ctr: r,
    hmac: l,
    pending: o
  } = t, x = n.length - a;
  o.length && (n = Hn(o, n), e = jr(e, x - x % xt));
  let f;
  for (f = 0; f <= x - xt; f += xt) {
    const u = Ft(Be, Fe(n, f, f + xt));
    s && l.update(u);
    const m = r.update(u);
    s || l.update(m), e.set(Ct(Be, m), f + i);
  }
  return t.pending = Fe(n, f), e;
}
async function Fr(t, n, e, i) {
  const a = await Oa(t, n, e, Fe(i, 0, Dt[n])), s = Fe(i, Dt[n]);
  if (a[0] != s[0] || a[1] != s[1])
    throw new Error(Ta);
}
async function Ir(t, n, e) {
  const i = Da(new Uint8Array(Dt[n])), a = await Oa(t, n, e, i);
  return Hn(i, a);
}
async function Oa(t, n, e, i) {
  t.password = null;
  const a = await Or(br, e, kr, !1, Er), s = await Lr(Object.assign({ salt: i }, jn), a, 8 * (Et[n] * 2 + 2)), r = new Uint8Array(s), l = Ft(Be, Fe(r, 0, Et[n])), o = Ft(Be, Fe(r, Et[n], Et[n] * 2)), x = Fe(r, Et[n] * 2);
  return Object.assign(t, {
    keys: {
      key: l,
      authentication: o,
      passwordVerification: x
    },
    ctr: new Tr(new Ar(l), Array.from(Sr)),
    hmac: new Rr(o)
  }), x;
}
async function Or(t, n, e, i, a) {
  if (Oi)
    try {
      return await Ot.importKey(t, n, e, i, a);
    } catch {
      return Oi = !1, pt.importKey(n);
    }
  else
    return pt.importKey(n);
}
async function Lr(t, n, e) {
  if (Li)
    try {
      return await Ot.deriveBits(t, n, e);
    } catch {
      return Li = !1, pt.pbkdf2(n, t.salt, jn.iterations, e);
    }
  else
    return pt.pbkdf2(n, t.salt, jn.iterations, e);
}
function La(t, n) {
  return n === Z ? Vt(t) : n;
}
function Hn(t, n) {
  let e = t;
  return t.length + n.length && (e = new Uint8Array(t.length + n.length), e.set(t, 0), e.set(n, t.length)), e;
}
function jr(t, n) {
  if (n && n > t.length) {
    const e = t;
    t = new Uint8Array(n), t.set(e, 0);
  }
  return t;
}
function Fe(t, n, e) {
  return t.subarray(n, e);
}
function Ct(t, n) {
  return t.fromBits(n);
}
function Ft(t, n) {
  return t.toBits(n);
}
const vt = 12;
class Nr extends TransformStream {
  constructor({ password: n, passwordVerification: e, checkPasswordOnly: i }) {
    super({
      start() {
        Object.assign(this, {
          password: n,
          passwordVerification: e
        }), ja(this, n);
      },
      transform(a, s) {
        const r = this;
        if (r.password) {
          const l = ji(r, a.subarray(0, vt));
          if (r.password = null, l[vt - 1] != r.passwordVerification)
            throw new Error(Ta);
          a = a.subarray(vt);
        }
        i ? s.error(new Error(Wn)) : s.enqueue(ji(r, a));
      }
    });
  }
}
class Ur extends TransformStream {
  constructor({ password: n, passwordVerification: e }) {
    super({
      start() {
        Object.assign(this, {
          password: n,
          passwordVerification: e
        }), ja(this, n);
      },
      transform(i, a) {
        const s = this;
        let r, l;
        if (s.password) {
          s.password = null;
          const o = Da(new Uint8Array(vt));
          o[vt - 1] = s.passwordVerification, r = new Uint8Array(i.length + o.length), r.set(Ni(s, o), 0), l = vt;
        } else
          r = new Uint8Array(i.length), l = 0;
        r.set(Ni(s, i), l), a.enqueue(r);
      }
    });
  }
}
function ji(t, n) {
  const e = new Uint8Array(n.length);
  for (let i = 0; i < n.length; i++)
    e[i] = Na(t) ^ n[i], Zn(t, e[i]);
  return e;
}
function Ni(t, n) {
  const e = new Uint8Array(n.length);
  for (let i = 0; i < n.length; i++)
    e[i] = Na(t) ^ n[i], Zn(t, n[i]);
  return e;
}
function ja(t, n) {
  const e = [305419896, 591751049, 878082192];
  Object.assign(t, {
    keys: e,
    crcKey0: new Jt(e[0]),
    crcKey2: new Jt(e[2])
  });
  for (let i = 0; i < n.length; i++)
    Zn(t, n.charCodeAt(i));
}
function Zn(t, n) {
  let [e, i, a] = t.keys;
  t.crcKey0.append([n]), e = ~t.crcKey0.get(), i = Ui(Math.imul(Ui(i + Ua(e)), 134775813) + 1), t.crcKey2.append([i >>> 24]), a = ~t.crcKey2.get(), t.keys = [e, i, a];
}
function Na(t) {
  const n = t.keys[2] | 2;
  return Ua(Math.imul(n, n ^ 1) >>> 8);
}
function Ua(t) {
  return t & 255;
}
function Ui(t) {
  return t & 4294967295;
}
const Pi = "deflate-raw";
class Pr extends TransformStream {
  constructor(n, { chunkSize: e, CompressionStream: i, CompressionStreamNative: a }) {
    super({});
    const { compressed: s, encrypted: r, useCompressionStream: l, zipCrypto: o, signed: x, level: f } = n, u = this;
    let m, g, R = Pa(super.readable);
    (!r || o) && x && (m = new ka(), R = We(R, m)), s && (R = qa(R, l, { level: f, chunkSize: e }, a, i)), r && (o ? R = We(R, new Ur(n)) : (g = new Cr(n), R = We(R, g))), Ma(u, R, () => {
      let p;
      r && !o && (p = g.signature), (!r || o) && x && (p = new DataView(m.value.buffer).getUint32(0)), u.signature = p;
    });
  }
}
class Mr extends TransformStream {
  constructor(n, { chunkSize: e, DecompressionStream: i, DecompressionStreamNative: a }) {
    super({});
    const { zipCrypto: s, encrypted: r, signed: l, signature: o, compressed: x, useCompressionStream: f } = n;
    let u, m, g = Pa(super.readable);
    r && (s ? g = We(g, new Nr(n)) : (m = new Dr(n), g = We(g, m))), x && (g = qa(g, f, { chunkSize: e }, a, i)), (!r || s) && l && (u = new ka(), g = We(g, u)), Ma(this, g, () => {
      if ((!r || s) && l) {
        const R = new DataView(u.value.buffer);
        if (o != R.getUint32(0, !1))
          throw new Error(Ra);
      }
    });
  }
}
function Pa(t) {
  return We(t, new TransformStream({
    transform(n, e) {
      n && n.length && e.enqueue(n);
    }
  }));
}
function Ma(t, n, e) {
  n = We(n, new TransformStream({ flush: e })), Object.defineProperty(t, "readable", {
    get() {
      return n;
    }
  });
}
function qa(t, n, e, i, a) {
  try {
    const s = n && i ? i : a;
    t = We(t, new s(Pi, e));
  } catch {
    if (n)
      try {
        t = We(t, new a(Pi, e));
      } catch {
        return t;
      }
    else
      return t;
  }
  return t;
}
function We(t, n) {
  return t.pipeThrough(n);
}
const qr = "message", zr = "start", Br = "pull", Mi = "data", Wr = "ack", qi = "close", za = "deflate", Ba = "inflate";
class Hr extends TransformStream {
  constructor(n, e) {
    super({});
    const i = this, { codecType: a } = n;
    let s;
    a.startsWith(za) ? s = Pr : a.startsWith(Ba) && (s = Mr);
    let r = 0, l = 0;
    const o = new s(n, e), x = super.readable, f = new TransformStream({
      transform(m, g) {
        m && m.length && (l += m.length, g.enqueue(m));
      },
      flush() {
        Object.assign(i, {
          inputSize: l
        });
      }
    }), u = new TransformStream({
      transform(m, g) {
        m && m.length && (r += m.length, g.enqueue(m));
      },
      flush() {
        const { signature: m } = o;
        Object.assign(i, {
          signature: m,
          outputSize: r,
          inputSize: l
        });
      }
    });
    Object.defineProperty(i, "readable", {
      get() {
        return x.pipeThrough(f).pipeThrough(o).pipeThrough(u);
      }
    });
  }
}
class Zr extends TransformStream {
  constructor(n) {
    let e;
    super({
      transform: i,
      flush(a) {
        e && e.length && a.enqueue(e);
      }
    });
    function i(a, s) {
      if (e) {
        const r = new Uint8Array(e.length + a.length);
        r.set(e), r.set(a, e.length), a = r, e = null;
      }
      a.length > n ? (s.enqueue(a.slice(0, n)), i(a.slice(n), s)) : e = a;
    }
  }
}
let Wa = typeof Worker != tt;
class gn {
  constructor(n, { readable: e, writable: i }, { options: a, config: s, streamOptions: r, useWebWorkers: l, transferStreams: o, scripts: x }, f) {
    const { signal: u } = r;
    return Object.assign(n, {
      busy: !0,
      readable: e.pipeThrough(new Zr(s.chunkSize)).pipeThrough(new Vr(e, r), { signal: u }),
      writable: i,
      options: Object.assign({}, a),
      scripts: x,
      transferStreams: o,
      terminate() {
        return new Promise((m) => {
          const { worker: g, busy: R } = n;
          g ? (R ? n.resolveTerminated = m : (g.terminate(), m()), n.interface = null) : m();
        });
      },
      onTaskFinished() {
        const { resolveTerminated: m } = n;
        m && (n.resolveTerminated = null, n.terminated = !0, n.worker.terminate(), m()), n.busy = !1, f(n);
      }
    }), (l && Wa ? Yr : Ha)(n, s);
  }
}
class Vr extends TransformStream {
  constructor(n, { onstart: e, onprogress: i, size: a, onend: s }) {
    let r = 0;
    super({
      async start() {
        e && await wn(e, a);
      },
      async transform(l, o) {
        r += l.length, i && await wn(i, r, a), o.enqueue(l);
      },
      async flush() {
        n.size = r, s && await wn(s, r);
      }
    });
  }
}
async function wn(t, ...n) {
  try {
    await t(...n);
  } catch {
  }
}
function Ha(t, n) {
  return {
    run: () => Gr(t, n)
  };
}
function Yr(t, n) {
  const { baseURL: e, chunkSize: i } = n;
  if (!t.interface) {
    let a;
    try {
      a = $r(t.scripts[0], e, t);
    } catch {
      return Wa = !1, Ha(t, n);
    }
    Object.assign(t, {
      worker: a,
      interface: {
        run: () => Kr(t, { chunkSize: i })
      }
    });
  }
  return t.interface;
}
async function Gr({ options: t, readable: n, writable: e, onTaskFinished: i }, a) {
  try {
    const s = new Hr(t, a);
    await n.pipeThrough(s).pipeTo(e, { preventClose: !0, preventAbort: !0 });
    const {
      signature: r,
      inputSize: l,
      outputSize: o
    } = s;
    return {
      signature: r,
      inputSize: l,
      outputSize: o
    };
  } finally {
    i();
  }
}
async function Kr(t, n) {
  let e, i;
  const a = new Promise((m, g) => {
    e = m, i = g;
  });
  Object.assign(t, {
    reader: null,
    writer: null,
    resolveResult: e,
    rejectResult: i,
    result: a
  });
  const { readable: s, options: r, scripts: l } = t, { writable: o, closed: x } = Xr(t.writable), f = Yt({
    type: zr,
    scripts: l.slice(1),
    options: r,
    config: n,
    readable: s,
    writable: o
  }, t);
  f || Object.assign(t, {
    reader: s.getReader(),
    writer: o.getWriter()
  });
  const u = await a;
  return f || await o.getWriter().close(), await x, u;
}
function Xr(t) {
  let n;
  const e = new Promise((a) => n = a);
  return { writable: new WritableStream({
    async write(a) {
      const s = t.getWriter();
      await s.ready, await s.write(a), s.releaseLock();
    },
    close() {
      n();
    },
    abort(a) {
      return t.getWriter().abort(a);
    }
  }), closed: e };
}
let zi = !0, Bi = !0;
function $r(t, n, e) {
  const i = { type: "module" };
  let a, s;
  typeof t == It && (t = t());
  try {
    a = new URL(t, n);
  } catch {
    a = t;
  }
  if (zi)
    try {
      s = new Worker(a);
    } catch {
      zi = !1, s = new Worker(a, i);
    }
  else
    s = new Worker(a, i);
  return s.addEventListener(qr, (r) => Jr(r, e)), s;
}
function Yt(t, { worker: n, writer: e, onTaskFinished: i, transferStreams: a }) {
  try {
    const { value: s, readable: r, writable: l } = t, o = [];
    if (s && (s.byteLength < s.buffer.byteLength ? t.value = s.buffer.slice(0, s.byteLength) : t.value = s.buffer, o.push(t.value)), a && Bi ? (r && o.push(r), l && o.push(l)) : t.readable = t.writable = null, o.length)
      try {
        return n.postMessage(t, o), !0;
      } catch {
        Bi = !1, t.readable = t.writable = null, n.postMessage(t);
      }
    else
      n.postMessage(t);
  } catch (s) {
    throw e && e.releaseLock(), i(), s;
  }
}
async function Jr({ data: t }, n) {
  const { type: e, value: i, messageId: a, result: s, error: r } = t, { reader: l, writer: o, resolveResult: x, rejectResult: f, onTaskFinished: u } = n;
  try {
    if (r) {
      const { message: g, stack: R, code: p, name: c } = r, d = new Error(g);
      Object.assign(d, { stack: R, code: p, name: c }), m(d);
    } else {
      if (e == Br) {
        const { value: g, done: R } = await l.read();
        Yt({ type: Mi, value: g, done: R, messageId: a }, n);
      }
      e == Mi && (await o.ready, await o.write(new Uint8Array(i)), Yt({ type: Wr, messageId: a }, n)), e == qi && m(null, s);
    }
  } catch (g) {
    Yt({ type: qi, messageId: a }, n), m(g);
  }
  function m(g, R) {
    g ? f(g) : x(R), o && o.releaseLock(), u();
  }
}
let dt = [];
const bn = [];
let Wi = 0;
async function Za(t, n) {
  const { options: e, config: i } = n, { transferStreams: a, useWebWorkers: s, useCompressionStream: r, codecType: l, compressed: o, signed: x, encrypted: f } = e, { workerScripts: u, maxWorkers: m } = i;
  n.transferStreams = a || a === Z;
  const g = !o && !x && !f && !n.transferStreams;
  return n.useWebWorkers = !g && (s || s === Z && i.useWebWorkers), n.scripts = n.useWebWorkers && u ? u[l] : [], e.useCompressionStream = r || r === Z && i.useCompressionStream, (await R()).run();
  async function R() {
    const c = dt.find((d) => !d.busy);
    if (c)
      return Hi(c), new gn(c, t, n, p);
    if (dt.length < m) {
      const d = { indexWorker: Wi };
      return Wi++, dt.push(d), new gn(d, t, n, p);
    } else
      return new Promise((d) => bn.push({ resolve: d, stream: t, workerOptions: n }));
  }
  function p(c) {
    if (bn.length) {
      const [{ resolve: d, stream: v, workerOptions: h }] = bn.splice(0, 1);
      d(new gn(c, v, h, p));
    } else c.worker ? (Hi(c), Qr(c, n)) : dt = dt.filter((d) => d != c);
  }
}
function Qr(t, n) {
  const { config: e } = n, { terminateWorkerTimeout: i } = e;
  Number.isFinite(i) && i >= 0 && (t.terminated ? t.terminated = !1 : t.terminateTimeout = setTimeout(async () => {
    dt = dt.filter((a) => a != t);
    try {
      await t.terminate();
    } catch {
    }
  }, i));
}
function Hi(t) {
  const { terminateTimeout: n } = t;
  n && (clearTimeout(n), t.terminateTimeout = null);
}
function eo(t, n = {}) {
  const e = `const{Array:e,Object:t,Number:n,Math:r,Error:s,Uint8Array:i,Uint16Array:o,Uint32Array:c,Int32Array:f,Map:a,DataView:l,Promise:u,TextEncoder:w,crypto:h,postMessage:d,TransformStream:p,ReadableStream:y,WritableStream:m,CompressionStream:b,DecompressionStream:g}=self,k=void 0,v="undefined",S="function";class z{constructor(e){return class extends p{constructor(t,n){const r=new e(n);super({transform(e,t){t.enqueue(r.append(e))},flush(e){const t=r.flush();t&&e.enqueue(t)}})}}}}const C=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;C[e]=t}class x{constructor(e){this.t=e||-1}append(e){let t=0|this.t;for(let n=0,r=0|e.length;r>n;n++)t=t>>>8^C[255&(t^e[n])];this.t=t}get(){return~this.t}}class A extends p{constructor(){let e;const t=new x;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new i(4);new l(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const _={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=_.i(n);return 32===r?e.concat(t):_.o(t,r,0|n,e.slice(0,e.length-1))},l(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+_.i(n)},u(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,r.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=_.h(t,e[n-1]&2147483648>>t-1,1)),e},h:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,i:e=>r.round(e/1099511627776)||32,o(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=_.i(s);return r.push(_.h(t+i&31,t+i>32?n:r.pop(),1)),r}},I={bytes:{p(e){const t=_.l(e)/8,n=new i(t);let r;for(let s=0;t>s;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},m(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(_.h(8*(3&n),r)),t}}},P=class{constructor(e){const t=this;t.blockSize=512,t.k=[1732584193,4023233417,2562383102,271733878,3285377520],t.v=[1518500249,1859775393,2400959708,3395469782],e?(t.S=e.S.slice(0),t.C=e.C.slice(0),t.A=e.A):t.reset()}reset(){const e=this;return e.S=e.k.slice(0),e.C=[],e.A=0,e}update(e){const t=this;"string"==typeof e&&(e=I._.m(e));const n=t.C=_.concat(t.C,e),r=t.A,i=t.A=r+_.l(e);if(i>9007199254740991)throw new s("Cannot hash more than 2^53 - 1 bits");const o=new c(n);let f=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);i>=e;e+=t.blockSize)t.I(o.subarray(16*f,16*(f+1))),f+=1;return n.splice(0,16*f),t}P(){const e=this;let t=e.C;const n=e.S;t=_.concat(t,[_.h(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(r.floor(e.A/4294967296)),t.push(0|e.A);t.length;)e.I(t.splice(0,16));return e.reset(),n}D(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}V(e,t){return t<<e|t>>>32-e}I(t){const n=this,s=n.S,i=e(80);for(let e=0;16>e;e++)i[e]=t[e];let o=s[0],c=s[1],f=s[2],a=s[3],l=s[4];for(let e=0;79>=e;e++){16>e||(i[e]=n.V(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const t=n.V(5,o)+n.D(e,c,f,a)+l+i[e]+n.v[r.floor(e/20)]|0;l=a,a=f,f=n.V(30,c),c=o,o=t}s[0]=s[0]+o|0,s[1]=s[1]+c|0,s[2]=s[2]+f|0,s[3]=s[3]+a|0,s[4]=s[4]+l|0}},D={getRandomValues(e){const t=new c(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(r.random()>.5?1:-1))};for(let s,i=0;i<e.length;i+=4){const e=n(4294967296*(s||r.random()));s=987654071*e(),t[i/4]=4294967296*e()|0}return e}},V={importKey:e=>new V.R(I.bytes.m(e)),B(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new s("invalid params to pbkdf2");const i=1+(r>>5)<<2;let o,c,f,a,u;const w=new ArrayBuffer(i),h=new l(w);let d=0;const p=_;for(t=I.bytes.m(t),u=1;(i||1)>d;u++){for(o=c=e.encrypt(p.concat(t,[u])),f=1;n>f;f++)for(c=e.encrypt(c),a=0;a<c.length;a++)o[a]^=c[a];for(f=0;(i||1)>d&&f<o.length;f++)h.setInt32(d,o[f]),d+=4}return w.slice(0,r/8)},R:class{constructor(e){const t=this,n=t.M=P,r=[[],[]];t.U=[new n,new n];const s=t.U[0].blockSize/32;e.length>s&&(e=(new n).update(e).P());for(let t=0;s>t;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.U[0].update(r[0]),t.U[1].update(r[1]),t.K=new n(t.U[0])}reset(){const e=this;e.K=new e.M(e.U[0]),e.N=!1}update(e){this.N=!0,this.K.update(e)}digest(){const e=this,t=e.K.P(),n=new e.M(e.U[1]).update(t).P();return e.reset(),n}encrypt(e){if(this.N)throw new s("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},R=typeof h!=v&&typeof h.getRandomValues==S,B="Invalid password",E="Invalid signature",M="zipjs-abort-check-password";function U(e){return R?h.getRandomValues(e):D.getRandomValues(e)}const K=16,N={name:"PBKDF2"},O=t.assign({hash:{name:"HMAC"}},N),T=t.assign({iterations:1e3,hash:{name:"SHA-1"}},N),W=["deriveBits"],j=[8,12,16],H=[16,24,32],L=10,F=[0,0,0,0],q=typeof h!=v,G=q&&h.subtle,J=q&&typeof G!=v,Q=I.bytes,X=class{constructor(e){const t=this;t.O=[[[],[],[],[],[]],[[],[],[],[],[]]],t.O[0][0][0]||t.T();const n=t.O[0][4],r=t.O[1],i=e.length;let o,c,f,a=1;if(4!==i&&6!==i&&8!==i)throw new s("invalid aes key size");for(t.v=[c=e.slice(0),f=[]],o=i;4*i+28>o;o++){let e=c[o-1];(o%i===0||8===i&&o%i===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],o%i===0&&(e=e<<8^e>>>24^a<<24,a=a<<1^283*(a>>7))),c[o]=c[o-i]^e}for(let e=0;o;e++,o--){const t=c[3&e?o:o-4];f[e]=4>=o||4>e?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.W(e,0)}decrypt(e){return this.W(e,1)}T(){const e=this.O[0],t=this.O[1],n=e[4],r=t[4],s=[],i=[];let o,c,f,a;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=o=0;!n[l];l^=c||1,o=i[o]||1){let i=o^o<<1^o<<2^o<<3^o<<4;i=i>>8^255&i^99,n[l]=i,r[i]=l,a=s[f=s[c=s[l]]];let u=16843009*a^65537*f^257*c^16843008*l,w=257*s[i]^16843008*i;for(let n=0;4>n;n++)e[n][l]=w=w<<24^w>>>8,t[n][i]=u=u<<24^u>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}W(e,t){if(4!==e.length)throw new s("invalid aes block size");const n=this.v[t],r=n.length/4-2,i=[0,0,0,0],o=this.O[t],c=o[0],f=o[1],a=o[2],l=o[3],u=o[4];let w,h,d,p=e[0]^n[0],y=e[t?3:1]^n[1],m=e[2]^n[2],b=e[t?1:3]^n[3],g=4;for(let e=0;r>e;e++)w=c[p>>>24]^f[y>>16&255]^a[m>>8&255]^l[255&b]^n[g],h=c[y>>>24]^f[m>>16&255]^a[b>>8&255]^l[255&p]^n[g+1],d=c[m>>>24]^f[b>>16&255]^a[p>>8&255]^l[255&y]^n[g+2],b=c[b>>>24]^f[p>>16&255]^a[y>>8&255]^l[255&m]^n[g+3],g+=4,p=w,y=h,m=d;for(let e=0;4>e;e++)i[t?3&-e:e]=u[p>>>24]<<24^u[y>>16&255]<<16^u[m>>8&255]<<8^u[255&b]^n[g++],w=p,p=y,y=m,m=b,b=w;return i}},Y=class{constructor(e,t){this.j=e,this.H=t,this.L=t}reset(){this.L=this.H}update(e){return this.F(this.j,e,this.L)}q(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}G(e){0===(e[0]=this.q(e[0]))&&(e[1]=this.q(e[1]))}F(e,t,n){let r;if(!(r=t.length))return[];const s=_.l(t);for(let s=0;r>s;s+=4){this.G(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return _.u(t,s)}},Z=V.R;let $=q&&J&&typeof G.importKey==S,ee=q&&J&&typeof G.deriveBits==S;class te extends p{constructor({password:e,rawPassword:n,signed:r,encryptionStrength:o,checkPasswordOnly:c}){super({start(){t.assign(this,{ready:new u(e=>this.J=e),password:ie(e,n),signed:r,X:o-1,pending:new i})},async transform(e,t){const n=this,{password:r,X:o,J:f,ready:a}=n;r?(await(async(e,t,n,r)=>{const i=await se(e,t,n,ce(r,0,j[t])),o=ce(r,j[t]);if(i[0]!=o[0]||i[1]!=o[1])throw new s(B)})(n,o,r,ce(e,0,j[o]+2)),e=ce(e,j[o]+2),c?t.error(new s(M)):f()):await a;const l=new i(e.length-L-(e.length-L)%K);t.enqueue(re(n,e,l,0,L,!0))},async flush(e){const{signed:t,Y:n,Z:r,pending:o,ready:c}=this;if(r&&n){await c;const f=ce(o,0,o.length-L),a=ce(o,o.length-L);let l=new i;if(f.length){const e=ae(Q,f);r.update(e);const t=n.update(e);l=fe(Q,t)}if(t){const e=ce(fe(Q,r.digest()),0,L);for(let t=0;L>t;t++)if(e[t]!=a[t])throw new s(E)}e.enqueue(l)}}})}}class ne extends p{constructor({password:e,rawPassword:n,encryptionStrength:r}){let s;super({start(){t.assign(this,{ready:new u(e=>this.J=e),password:ie(e,n),X:r-1,pending:new i})},async transform(e,t){const n=this,{password:r,X:s,J:o,ready:c}=n;let f=new i;r?(f=await(async(e,t,n)=>{const r=U(new i(j[t]));return oe(r,await se(e,t,n,r))})(n,s,r),o()):await c;const a=new i(f.length+e.length-e.length%K);a.set(f,0),t.enqueue(re(n,e,a,f.length,0))},async flush(e){const{Y:t,Z:n,pending:r,ready:o}=this;if(n&&t){await o;let c=new i;if(r.length){const e=t.update(ae(Q,r));n.update(e),c=fe(Q,e)}s.signature=fe(Q,n.digest()).slice(0,L),e.enqueue(oe(c,s.signature))}}}),s=this}}function re(e,t,n,r,s,o){const{Y:c,Z:f,pending:a}=e,l=t.length-s;let u;for(a.length&&(t=oe(a,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new i(t)).set(n,0)}return e})(n,l-l%K)),u=0;l-K>=u;u+=K){const e=ae(Q,ce(t,u,u+K));o&&f.update(e);const s=c.update(e);o||f.update(s),n.set(fe(Q,s),u+r)}return e.pending=ce(t,u),n}async function se(n,r,s,o){n.password=null;const c=await(async(e,t,n,r,s)=>{if(!$)return V.importKey(t);try{return await G.importKey("raw",t,n,!1,s)}catch(e){return $=!1,V.importKey(t)}})(0,s,O,0,W),f=await(async(e,t,n)=>{if(!ee)return V.B(t,e.salt,T.iterations,n);try{return await G.deriveBits(e,t,n)}catch(r){return ee=!1,V.B(t,e.salt,T.iterations,n)}})(t.assign({salt:o},T),c,8*(2*H[r]+2)),a=new i(f),l=ae(Q,ce(a,0,H[r])),u=ae(Q,ce(a,H[r],2*H[r])),w=ce(a,2*H[r]);return t.assign(n,{keys:{key:l,$:u,passwordVerification:w},Y:new Y(new X(l),e.from(F)),Z:new Z(u)}),w}function ie(e,t){return t===k?(e=>{if(typeof w==v){const t=new i((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new w).encode(e)})(e):t}function oe(e,t){let n=e;return e.length+t.length&&(n=new i(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function ce(e,t,n){return e.subarray(t,n)}function fe(e,t){return e.p(t)}function ae(e,t){return e.m(t)}class le extends p{constructor({password:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;if(n.password){const t=we(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new s(B);e=e.subarray(12)}r?t.error(new s(M)):t.enqueue(we(n,e))}})}}class ue extends p{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),de(this,e)},transform(e,t){const n=this;let r,s;if(n.password){n.password=null;const t=U(new i(12));t[11]=n.passwordVerification,r=new i(e.length+t.length),r.set(he(n,t),0),s=12}else r=new i(e.length),s=0;r.set(he(n,e),s),t.enqueue(r)}})}}function we(e,t){const n=new i(t.length);for(let r=0;r<t.length;r++)n[r]=ye(e)^t[r],pe(e,n[r]);return n}function he(e,t){const n=new i(t.length);for(let r=0;r<t.length;r++)n[r]=ye(e)^t[r],pe(e,t[r]);return n}function de(e,n){const r=[305419896,591751049,878082192];t.assign(e,{keys:r,ee:new x(r[0]),te:new x(r[2])});for(let t=0;t<n.length;t++)pe(e,n.charCodeAt(t))}function pe(e,t){let[n,s,i]=e.keys;e.ee.append([t]),n=~e.ee.get(),s=be(r.imul(be(s+me(n)),134775813)+1),e.te.append([s>>>24]),i=~e.te.get(),e.keys=[n,s,i]}function ye(e){const t=2|e.keys[2];return me(r.imul(t,1^t)>>>8)}function me(e){return 255&e}function be(e){return 4294967295&e}const ge="deflate-raw";class ke extends p{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:i,useCompressionStream:o,zipCrypto:c,signed:f,level:a}=e,u=this;let w,h,d=Se(super.readable);i&&!c||!f||(w=new A,d=xe(d,w)),s&&(d=Ce(d,o,{level:a,chunkSize:t},r,n)),i&&(c?d=xe(d,new ue(e)):(h=new ne(e),d=xe(d,h))),ze(u,d,()=>{let e;i&&!c&&(e=h.signature),i&&!c||!f||(e=new l(w.value.buffer).getUint32(0)),u.signature=e})}}class ve extends p{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:i,encrypted:o,signed:c,signature:f,compressed:a,useCompressionStream:u}=e;let w,h,d=Se(super.readable);o&&(i?d=xe(d,new le(e)):(h=new te(e),d=xe(d,h))),a&&(d=Ce(d,u,{chunkSize:t},r,n)),o&&!i||!c||(w=new A,d=xe(d,w)),ze(this,d,()=>{if((!o||i)&&c){const e=new l(w.value.buffer);if(f!=e.getUint32(0,!1))throw new s(E)}})}}function Se(e){return xe(e,new p({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ze(e,n,r){n=xe(n,new p({flush:r})),t.defineProperty(e,"readable",{get:()=>n})}function Ce(e,t,n,r,s){try{e=xe(e,new(t&&r?r:s)(ge,n))}catch(r){if(!t)return e;try{e=xe(e,new s(ge,n))}catch(t){return e}}return e}function xe(e,t){return e.pipeThrough(t)}const Ae="data",_e="close";class Ie extends p{constructor(e,n){super({});const r=this,{codecType:s}=e;let i;s.startsWith("deflate")?i=ke:s.startsWith("inflate")&&(i=ve);let o=0,c=0;const f=new i(e,n),a=super.readable,l=new p({transform(e,t){e&&e.length&&(c+=e.length,t.enqueue(e))},flush(){t.assign(r,{inputSize:c})}}),u=new p({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){const{signature:e}=f;t.assign(r,{signature:e,outputSize:o,inputSize:c})}});t.defineProperty(r,"readable",{get:()=>a.pipeThrough(l).pipeThrough(f).pipeThrough(u)})}}class Pe extends p{constructor(e){let t;super({transform:function n(r,s){if(t){const e=new i(t.length+r.length);e.set(t),e.set(r,t.length),r=e,t=null}r.length>e?(s.enqueue(r.slice(0,e)),n(r.slice(e),s)):t=r},flush(e){t&&t.length&&e.enqueue(t)}})}}const De=new a,Ve=new a;let Re,Be=0,Ee=!0;async function Me(e){try{const{options:t,scripts:r,config:s}=e;if(r&&r.length)try{Ee?importScripts.apply(k,r):await Ue(r)}catch(e){Ee=!1,await Ue(r)}self.initCodec&&self.initCodec(),s.CompressionStreamNative=self.CompressionStream,s.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(s.CompressionStream=new z(self.Deflate)),self.Inflate&&(s.DecompressionStream=new z(self.Inflate));const i={highWaterMark:1},o=e.readable||new y({async pull(e){const t=new u(e=>De.set(Be,e));Ke({type:"pull",messageId:Be}),Be=(Be+1)%n.MAX_SAFE_INTEGER;const{value:r,done:s}=await t;e.enqueue(r),s&&e.close()}},i),c=e.writable||new m({async write(e){let t;const r=new u(e=>t=e);Ve.set(Be,t),Ke({type:Ae,value:e,messageId:Be}),Be=(Be+1)%n.MAX_SAFE_INTEGER,await r}},i),f=new Ie(t,s);Re=new AbortController;const{signal:a}=Re;await o.pipeThrough(f).pipeThrough(new Pe(s.chunkSize)).pipeTo(c,{signal:a,preventClose:!0,preventAbort:!0}),await c.getWriter().close();const{signature:l,inputSize:w,outputSize:h}=f;Ke({type:_e,result:{signature:l,inputSize:w,outputSize:h}})}catch(e){Ne(e)}}async function Ue(e){for(const t of e)await import(t)}function Ke(e){let{value:t}=e;if(t)if(t.length)try{t=new i(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function Ne(e=new s("Unknown error")){const{message:t,stack:n,code:r,name:i}=e;d({error:{message:t,stack:n,code:r,name:i}})}addEventListener("message",({data:e})=>{const{type:t,messageId:n,value:r,done:s}=e;try{if("start"==t&&Me(e),t==Ae){const e=De.get(n);De.delete(n),e({value:new i(r),done:s})}if("ack"==t){const e=Ve.get(n);Ve.delete(n),e()}t==_e&&Re.abort()}catch(e){Ne(e)}});const Oe=-2;function Te(t){return We(t.map(([t,n])=>new e(t).fill(n,0,t)))}function We(t){return t.reduce((t,n)=>t.concat(e.isArray(n)?We(n):n),[])}const je=[0,1,2,3].concat(...Te([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function He(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.ne=n=>{const s=e.re,i=e.ie.se,o=e.ie.oe;let c,f,a,l=-1;for(n.ce=0,n.fe=573,c=0;o>c;c++)0!==s[2*c]?(n.ae[++n.ce]=l=c,n.le[c]=0):s[2*c+1]=0;for(;2>n.ce;)a=n.ae[++n.ce]=2>l?++l:0,s[2*a]=1,n.le[a]=0,n.ue--,i&&(n.we-=i[2*a+1]);for(e.he=l,c=r.floor(n.ce/2);c>=1;c--)n.de(s,c);a=o;do{c=n.ae[1],n.ae[1]=n.ae[n.ce--],n.de(s,1),f=n.ae[1],n.ae[--n.fe]=c,n.ae[--n.fe]=f,s[2*a]=s[2*c]+s[2*f],n.le[a]=r.max(n.le[c],n.le[f])+1,s[2*c+1]=s[2*f+1]=a,n.ae[1]=a++,n.de(s,1)}while(n.ce>=2);n.ae[--n.fe]=n.ae[1],(t=>{const n=e.re,r=e.ie.se,s=e.ie.pe,i=e.ie.ye,o=e.ie.me;let c,f,a,l,u,w,h=0;for(l=0;15>=l;l++)t.be[l]=0;for(n[2*t.ae[t.fe]+1]=0,c=t.fe+1;573>c;c++)f=t.ae[c],l=n[2*n[2*f+1]+1]+1,l>o&&(l=o,h++),n[2*f+1]=l,f>e.he||(t.be[l]++,u=0,i>f||(u=s[f-i]),w=n[2*f],t.ue+=w*(l+u),r&&(t.we+=w*(r[2*f+1]+u)));if(0!==h){do{for(l=o-1;0===t.be[l];)l--;t.be[l]--,t.be[l+1]+=2,t.be[o]--,h-=2}while(h>0);for(l=o;0!==l;l--)for(f=t.be[l];0!==f;)a=t.ae[--c],a>e.he||(n[2*a+1]!=l&&(t.ue+=(l-n[2*a+1])*n[2*a],n[2*a+1]=l),f--)}})(n),((e,n,r)=>{const s=[];let i,o,c,f=0;for(i=1;15>=i;i++)s[i]=f=f+r[i-1]<<1;for(o=0;n>=o;o++)c=e[2*o+1],0!==c&&(e[2*o]=t(s[c]++,c))})(s,e.he,n.be)}}function Le(e,t,n,r,s){const i=this;i.se=e,i.pe=t,i.ye=n,i.oe=r,i.me=s}He.ge=[0,1,2,3,4,5,6,7].concat(...Te([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),He.ke=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],He.ve=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],He.Se=e=>256>e?je[e]:je[256+(e>>>7)],He.ze=[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],He.Ce=[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],He.xe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],He.Ae=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const Fe=Te([[144,8],[112,9],[24,7],[8,8]]);Le._e=We([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map((e,t)=>[e,Fe[t]]));const qe=Te([[30,5]]);function Ge(e,t,n,r,s){const i=this;i.Ie=e,i.Pe=t,i.De=n,i.Ve=r,i.Re=s}Le.Be=We([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map((e,t)=>[e,qe[t]])),Le.Ee=new Le(Le._e,He.ze,257,286,15),Le.Me=new Le(Le.Be,He.Ce,0,30,15),Le.Ue=new Le(null,He.xe,0,19,7);const Je=[new Ge(0,0,0,0,0),new Ge(4,4,8,4,1),new Ge(4,5,16,8,1),new Ge(4,6,32,32,1),new Ge(4,4,16,16,2),new Ge(8,16,32,32,2),new Ge(8,16,128,128,2),new Ge(8,32,128,256,2),new Ge(32,128,258,1024,2),new Ge(32,258,258,4096,2)],Qe=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],Xe=113,Ye=666,Ze=262;function $e(e,t,n,r){const s=e[2*t],i=e[2*n];return i>s||s==i&&r[t]<=r[n]}function et(){const e=this;let t,n,s,c,f,a,l,u,w,h,d,p,y,m,b,g,k,v,S,z,C,x,A,_,I,P,D,V,R,B,E,M,U;const K=new He,N=new He,O=new He;let T,W,j,H,L,F;function q(){let t;for(t=0;286>t;t++)E[2*t]=0;for(t=0;30>t;t++)M[2*t]=0;for(t=0;19>t;t++)U[2*t]=0;E[512]=1,e.ue=e.we=0,W=j=0}function G(e,t){let n,r=-1,s=e[1],i=0,o=7,c=4;0===s&&(o=138,c=3),e[2*(t+1)+1]=65535;for(let f=0;t>=f;f++)n=s,s=e[2*(f+1)+1],++i<o&&n==s||(c>i?U[2*n]+=i:0!==n?(n!=r&&U[2*n]++,U[32]++):i>10?U[36]++:U[34]++,i=0,r=n,0===s?(o=138,c=3):n==s?(o=6,c=3):(o=7,c=4))}function J(t){e.Ke[e.pending++]=t}function Q(e){J(255&e),J(e>>>8&255)}function X(e,t){let n;const r=t;F>16-r?(n=e,L|=n<<F&65535,Q(L),L=n>>>16-F,F+=r-16):(L|=e<<F&65535,F+=r)}function Y(e,t){const n=2*e;X(65535&t[n],65535&t[n+1])}function Z(e,t){let n,r,s=-1,i=e[1],o=0,c=7,f=4;for(0===i&&(c=138,f=3),n=0;t>=n;n++)if(r=i,i=e[2*(n+1)+1],++o>=c||r!=i){if(f>o)do{Y(r,U)}while(0!==--o);else 0!==r?(r!=s&&(Y(r,U),o--),Y(16,U),X(o-3,2)):o>10?(Y(18,U),X(o-11,7)):(Y(17,U),X(o-3,3));o=0,s=r,0===i?(c=138,f=3):r==i?(c=6,f=3):(c=7,f=4)}}function $(){16==F?(Q(L),L=0,F=0):8>F||(J(255&L),L>>>=8,F-=8)}function ee(t,n){let s,i,o;if(e.Ne[W]=t,e.Oe[W]=255&n,W++,0===t?E[2*n]++:(j++,t--,E[2*(He.ge[n]+256+1)]++,M[2*He.Se(t)]++),!(8191&W)&&D>2){for(s=8*W,i=C-k,o=0;30>o;o++)s+=M[2*o]*(5+He.Ce[o]);if(s>>>=3,j<r.floor(W/2)&&s<r.floor(i/2))return!0}return W==T-1}function te(t,n){let r,s,i,o,c=0;if(0!==W)do{r=e.Ne[c],s=e.Oe[c],c++,0===r?Y(s,t):(i=He.ge[s],Y(i+256+1,t),o=He.ze[i],0!==o&&(s-=He.ke[i],X(s,o)),r--,i=He.Se(r),Y(i,n),o=He.Ce[i],0!==o&&(r-=He.ve[i],X(r,o)))}while(W>c);Y(256,t),H=t[513]}function ne(){F>8?Q(L):F>0&&J(255&L),L=0,F=0}function re(t,n,r){X(0+(r?1:0),3),((t,n)=>{ne(),H=8,Q(n),Q(~n),e.Ke.set(u.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function se(n){((t,n,r)=>{let s,i,o=0;D>0?(K.ne(e),N.ne(e),o=(()=>{let t;for(G(E,K.he),G(M,N.he),O.ne(e),t=18;t>=3&&0===U[2*He.Ae[t]+1];t--);return e.ue+=14+3*(t+1),t})(),s=e.ue+3+7>>>3,i=e.we+3+7>>>3,i>s||(s=i)):s=i=n+5,n+4>s||-1==t?i==s?(X(2+(r?1:0),3),te(Le._e,Le.Be)):(X(4+(r?1:0),3),((e,t,n)=>{let r;for(X(e-257,5),X(t-1,5),X(n-4,4),r=0;n>r;r++)X(U[2*He.Ae[r]+1],3);Z(E,e-1),Z(M,t-1)})(K.he+1,N.he+1,o+1),te(E,M)):re(t,n,r),q(),r&&ne()})(0>k?-1:k,C-k,n),k=C,t.Te()}function ie(){let e,n,r,s;do{if(s=w-A-C,0===s&&0===C&&0===A)s=f;else if(-1==s)s--;else if(C>=f+f-Ze){u.set(u.subarray(f,f+f),0),x-=f,C-=f,k-=f,e=y,r=e;do{n=65535&d[--r],d[r]=f>n?0:n-f}while(0!==--e);e=f,r=e;do{n=65535&h[--r],h[r]=f>n?0:n-f}while(0!==--e);s+=f}if(0===t.We)return;e=t.je(u,C+A,s),A+=e,3>A||(p=255&u[C],p=(p<<g^255&u[C+1])&b)}while(Ze>A&&0!==t.We)}function oe(e){let t,n,r=I,s=C,i=_;const o=C>f-Ze?C-(f-Ze):0;let c=B;const a=l,w=C+258;let d=u[s+i-1],p=u[s+i];R>_||(r>>=2),c>A&&(c=A);do{if(t=e,u[t+i]==p&&u[t+i-1]==d&&u[t]==u[s]&&u[++t]==u[s+1]){s+=2,t++;do{}while(u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&w>s);if(n=258-(w-s),s=w-258,n>i){if(x=e,i=n,n>=c)break;d=u[s+i-1],p=u[s+i]}}}while((e=65535&h[e&a])>o&&0!==--r);return i>A?A:i}e.le=[],e.be=[],e.ae=[],E=[],M=[],U=[],e.de=(t,n)=>{const r=e.ae,s=r[n];let i=n<<1;for(;i<=e.ce&&(i<e.ce&&$e(t,r[i+1],r[i],e.le)&&i++,!$e(t,s,r[i],e.le));)r[n]=r[i],n=i,i<<=1;r[n]=s},e.He=(t,S,x,W,j,G)=>(W||(W=8),j||(j=8),G||(G=0),t.Le=null,-1==S&&(S=6),1>j||j>9||8!=W||9>x||x>15||0>S||S>9||0>G||G>2?Oe:(t.Fe=e,a=x,f=1<<a,l=f-1,m=j+7,y=1<<m,b=y-1,g=r.floor((m+3-1)/3),u=new i(2*f),h=[],d=[],T=1<<j+6,e.Ke=new i(4*T),s=4*T,e.Ne=new o(T),e.Oe=new i(T),D=S,V=G,(t=>(t.qe=t.Ge=0,t.Le=null,e.pending=0,e.Je=0,n=Xe,c=0,K.re=E,K.ie=Le.Ee,N.re=M,N.ie=Le.Me,O.re=U,O.ie=Le.Ue,L=0,F=0,H=8,q(),(()=>{w=2*f,d[y-1]=0;for(let e=0;y-1>e;e++)d[e]=0;P=Je[D].Pe,R=Je[D].Ie,B=Je[D].De,I=Je[D].Ve,C=0,k=0,A=0,v=_=2,z=0,p=0})(),0))(t))),e.Qe=()=>42!=n&&n!=Xe&&n!=Ye?Oe:(e.Oe=null,e.Ne=null,e.Ke=null,d=null,h=null,u=null,e.Fe=null,n==Xe?-3:0),e.Xe=(e,t,n)=>{let r=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?Oe:(Je[D].Re!=Je[t].Re&&0!==e.qe&&(r=e.Ye(1)),D!=t&&(D=t,P=Je[D].Pe,R=Je[D].Ie,B=Je[D].De,I=Je[D].Ve),V=n,r)},e.Ze=(e,t,r)=>{let s,i=r,o=0;if(!t||42!=n)return Oe;if(3>i)return 0;for(i>f-Ze&&(i=f-Ze,o=r-i),u.set(t.subarray(o,o+i),0),C=i,k=i,p=255&u[0],p=(p<<g^255&u[1])&b,s=0;i-3>=s;s++)p=(p<<g^255&u[s+2])&b,h[s&l]=d[p],d[p]=s;return 0},e.Ye=(r,i)=>{let o,w,m,I,R;if(i>4||0>i)return Oe;if(!r.$e||!r.et&&0!==r.We||n==Ye&&4!=i)return r.Le=Qe[4],Oe;if(0===r.tt)return r.Le=Qe[7],-5;var B;if(t=r,I=c,c=i,42==n&&(w=8+(a-8<<4)<<8,m=(D-1&255)>>1,m>3&&(m=3),w|=m<<6,0!==C&&(w|=32),w+=31-w%31,n=Xe,J((B=w)>>8&255),J(255&B)),0!==e.pending){if(t.Te(),0===t.tt)return c=-1,0}else if(0===t.We&&I>=i&&4!=i)return t.Le=Qe[7],-5;if(n==Ye&&0!==t.We)return r.Le=Qe[7],-5;if(0!==t.We||0!==A||0!=i&&n!=Ye){switch(R=-1,Je[D].Re){case 0:R=(e=>{let n,r=65535;for(r>s-5&&(r=s-5);;){if(1>=A){if(ie(),0===A&&0==e)return 0;if(0===A)break}if(C+=A,A=0,n=k+r,(0===C||C>=n)&&(A=C-n,C=n,se(!1),0===t.tt))return 0;if(C-k>=f-Ze&&(se(!1),0===t.tt))return 0}return se(4==e),0===t.tt?4==e?2:0:4==e?3:1})(i);break;case 1:R=(e=>{let n,r=0;for(;;){if(Ze>A){if(ie(),Ze>A&&0==e)return 0;if(0===A)break}if(3>A||(p=(p<<g^255&u[C+2])&b,r=65535&d[p],h[C&l]=d[p],d[p]=C),0===r||(C-r&65535)>f-Ze||2!=V&&(v=oe(r)),3>v)n=ee(0,255&u[C]),A--,C++;else if(n=ee(C-x,v-3),A-=v,v>P||3>A)C+=v,v=0,p=255&u[C],p=(p<<g^255&u[C+1])&b;else{v--;do{C++,p=(p<<g^255&u[C+2])&b,r=65535&d[p],h[C&l]=d[p],d[p]=C}while(0!==--v);C++}if(n&&(se(!1),0===t.tt))return 0}return se(4==e),0===t.tt?4==e?2:0:4==e?3:1})(i);break;case 2:R=(e=>{let n,r,s=0;for(;;){if(Ze>A){if(ie(),Ze>A&&0==e)return 0;if(0===A)break}if(3>A||(p=(p<<g^255&u[C+2])&b,s=65535&d[p],h[C&l]=d[p],d[p]=C),_=v,S=x,v=2,0!==s&&P>_&&f-Ze>=(C-s&65535)&&(2!=V&&(v=oe(s)),5>=v&&(1==V||3==v&&C-x>4096)&&(v=2)),3>_||v>_)if(0!==z){if(n=ee(0,255&u[C-1]),n&&se(!1),C++,A--,0===t.tt)return 0}else z=1,C++,A--;else{r=C+A-3,n=ee(C-1-S,_-3),A-=_-1,_-=2;do{++C>r||(p=(p<<g^255&u[C+2])&b,s=65535&d[p],h[C&l]=d[p],d[p]=C)}while(0!==--_);if(z=0,v=2,C++,n&&(se(!1),0===t.tt))return 0}}return 0!==z&&(n=ee(0,255&u[C-1]),z=0),se(4==e),0===t.tt?4==e?2:0:4==e?3:1})(i)}if(2!=R&&3!=R||(n=Ye),0==R||2==R)return 0===t.tt&&(c=-1),0;if(1==R){if(1==i)X(2,3),Y(256,Le._e),$(),9>1+H+10-F&&(X(2,3),Y(256,Le._e),$()),H=7;else if(re(0,0,!1),3==i)for(o=0;y>o;o++)d[o]=0;if(t.Te(),0===t.tt)return c=-1,0}}return 4!=i?0:1}}function tt(){const e=this;e.nt=0,e.rt=0,e.We=0,e.qe=0,e.tt=0,e.Ge=0}function nt(e){const t=new tt,n=(o=e&&e.chunkSize?e.chunkSize:65536)+5*(r.floor(o/16383)+1);var o;const c=new i(n);let f=e?e.level:-1;void 0===f&&(f=-1),t.He(f),t.$e=c,this.append=(e,r)=>{let o,f,a=0,l=0,u=0;const w=[];if(e.length){t.nt=0,t.et=e,t.We=e.length;do{if(t.rt=0,t.tt=n,o=t.Ye(0),0!=o)throw new s("deflating: "+t.Le);t.rt&&(t.rt==n?w.push(new i(c)):w.push(c.subarray(0,t.rt))),u+=t.rt,r&&t.nt>0&&t.nt!=a&&(r(t.nt),a=t.nt)}while(t.We>0||0===t.tt);return w.length>1?(f=new i(u),w.forEach(e=>{f.set(e,l),l+=e.length})):f=w[0]?new i(w[0]):new i,f}},this.flush=()=>{let e,r,o=0,f=0;const a=[];do{if(t.rt=0,t.tt=n,e=t.Ye(4),1!=e&&0!=e)throw new s("deflating: "+t.Le);n-t.tt>0&&a.push(c.slice(0,t.rt)),f+=t.rt}while(t.We>0||0===t.tt);return t.Qe(),r=new i(f),a.forEach(e=>{r.set(e,o),o+=e.length}),r}}tt.prototype={He(e,t){const n=this;return n.Fe=new et,t||(t=15),n.Fe.He(n,e,t)},Ye(e){const t=this;return t.Fe?t.Fe.Ye(t,e):Oe},Qe(){const e=this;if(!e.Fe)return Oe;const t=e.Fe.Qe();return e.Fe=null,t},Xe(e,t){const n=this;return n.Fe?n.Fe.Xe(n,e,t):Oe},Ze(e,t){const n=this;return n.Fe?n.Fe.Ze(n,e,t):Oe},je(e,t,n){const r=this;let s=r.We;return s>n&&(s=n),0===s?0:(r.We-=s,e.set(r.et.subarray(r.nt,r.nt+s),t),r.nt+=s,r.qe+=s,s)},Te(){const e=this;let t=e.Fe.pending;t>e.tt&&(t=e.tt),0!==t&&(e.$e.set(e.Fe.Ke.subarray(e.Fe.Je,e.Fe.Je+t),e.rt),e.rt+=t,e.Fe.Je+=t,e.Ge+=t,e.tt-=t,e.Fe.pending-=t,0===e.Fe.pending&&(e.Fe.Je=0))}};const rt=-2,st=-3,it=-5,ot=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],ct=[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],ft=[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],at=[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],lt=[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],ut=[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],wt=[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];function ht(){let e,t,n,r,s,i;function o(e,t,o,c,f,a,l,u,w,h,d){let p,y,m,b,g,k,v,S,z,C,x,A,_,I,P;C=0,g=o;do{n[e[t+C]]++,C++,g--}while(0!==g);if(n[0]==o)return l[0]=-1,u[0]=0,0;for(S=u[0],k=1;15>=k&&0===n[k];k++);for(v=k,k>S&&(S=k),g=15;0!==g&&0===n[g];g--);for(m=g,S>g&&(S=g),u[0]=S,I=1<<k;g>k;k++,I<<=1)if(0>(I-=n[k]))return st;if(0>(I-=n[g]))return st;for(n[g]+=I,i[1]=k=0,C=1,_=2;0!==--g;)i[_]=k+=n[C],_++,C++;g=0,C=0;do{0!==(k=e[t+C])&&(d[i[k]++]=g),C++}while(++g<o);for(o=i[m],i[0]=g=0,C=0,b=-1,A=-S,s[0]=0,x=0,P=0;m>=v;v++)for(p=n[v];0!==p--;){for(;v>A+S;){if(b++,A+=S,P=m-A,P=P>S?S:P,(y=1<<(k=v-A))>p+1&&(y-=p+1,_=v,P>k))for(;++k<P&&(y<<=1)>n[++_];)y-=n[_];if(P=1<<k,h[0]+P>1440)return st;s[b]=x=h[0],h[0]+=P,0!==b?(i[b]=g,r[0]=k,r[1]=S,k=g>>>A-S,r[2]=x-s[b-1]-k,w.set(r,3*(s[b-1]+k))):l[0]=x}for(r[1]=v-A,o>C?d[C]<c?(r[0]=256>d[C]?0:96,r[2]=d[C++]):(r[0]=a[d[C]-c]+16+64,r[2]=f[d[C++]-c]):r[0]=192,y=1<<v-A,k=g>>>A;P>k;k+=y)w.set(r,3*(x+k));for(k=1<<v-1;0!==(g&k);k>>>=1)g^=k;for(g^=k,z=(1<<A)-1;(g&z)!=i[b];)b--,A-=S,z=(1<<A)-1}return 0!==I&&1!=m?it:0}function c(o){let c;for(e||(e=[],t=[],n=new f(16),r=[],s=new f(15),i=new f(16)),t.length<o&&(t=[]),c=0;o>c;c++)t[c]=0;for(c=0;16>c;c++)n[c]=0;for(c=0;3>c;c++)r[c]=0;s.set(n.subarray(0,15),0),i.set(n.subarray(0,16),0)}this.st=(n,r,s,i,f)=>{let a;return c(19),e[0]=0,a=o(n,0,19,19,null,null,s,r,i,e,t),a==st?f.Le="oversubscribed dynamic bit lengths tree":a!=it&&0!==r[0]||(f.Le="incomplete dynamic bit lengths tree",a=st),a},this.it=(n,r,s,i,f,a,l,u,w)=>{let h;return c(288),e[0]=0,h=o(s,0,n,257,at,lt,a,i,u,e,t),0!=h||0===i[0]?(h==st?w.Le="oversubscribed literal/length tree":-4!=h&&(w.Le="incomplete literal/length tree",h=st),h):(c(288),h=o(s,n,r,0,ut,wt,l,f,u,e,t),0!=h||0===f[0]&&n>257?(h==st?w.Le="oversubscribed distance tree":h==it?(w.Le="incomplete distance tree",h=st):-4!=h&&(w.Le="empty distance tree with lengths",h=st),h):0)}}function dt(){const e=this;let t,n,r,s,i=0,o=0,c=0,f=0,a=0,l=0,u=0,w=0,h=0,d=0;function p(e,t,n,r,s,i,o,c){let f,a,l,u,w,h,d,p,y,m,b,g,k,v,S,z;d=c.nt,p=c.We,w=o.ot,h=o.ct,y=o.write,m=y<o.read?o.read-y-1:o.end-y,b=ot[e],g=ot[t];do{for(;20>h;)p--,w|=(255&c.ft(d++))<<h,h+=8;if(f=w&b,a=n,l=r,z=3*(l+f),0!==(u=a[z]))for(;;){if(w>>=a[z+1],h-=a[z+1],16&u){for(u&=15,k=a[z+2]+(w&ot[u]),w>>=u,h-=u;15>h;)p--,w|=(255&c.ft(d++))<<h,h+=8;for(f=w&g,a=s,l=i,z=3*(l+f),u=a[z];;){if(w>>=a[z+1],h-=a[z+1],16&u){for(u&=15;u>h;)p--,w|=(255&c.ft(d++))<<h,h+=8;if(v=a[z+2]+(w&ot[u]),w>>=u,h-=u,m-=k,v>y){S=y-v;do{S+=o.end}while(0>S);if(u=o.end-S,k>u){if(k-=u,y-S>0&&u>y-S)do{o.lt[y++]=o.lt[S++]}while(0!==--u);else o.lt.set(o.lt.subarray(S,S+u),y),y+=u,S+=u,u=0;S=0}}else S=y-v,y-S>0&&2>y-S?(o.lt[y++]=o.lt[S++],o.lt[y++]=o.lt[S++],k-=2):(o.lt.set(o.lt.subarray(S,S+2),y),y+=2,S+=2,k-=2);if(y-S>0&&k>y-S)do{o.lt[y++]=o.lt[S++]}while(0!==--k);else o.lt.set(o.lt.subarray(S,S+k),y),y+=k,S+=k,k=0;break}if(64&u)return c.Le="invalid distance code",k=c.We-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.We=p,c.qe+=d-c.nt,c.nt=d,o.write=y,st;f+=a[z+2],f+=w&ot[u],z=3*(l+f),u=a[z]}break}if(64&u)return 32&u?(k=c.We-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.We=p,c.qe+=d-c.nt,c.nt=d,o.write=y,1):(c.Le="invalid literal/length code",k=c.We-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.We=p,c.qe+=d-c.nt,c.nt=d,o.write=y,st);if(f+=a[z+2],f+=w&ot[u],z=3*(l+f),0===(u=a[z])){w>>=a[z+1],h-=a[z+1],o.lt[y++]=a[z+2],m--;break}}else w>>=a[z+1],h-=a[z+1],o.lt[y++]=a[z+2],m--}while(m>=258&&p>=10);return k=c.We-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ot=w,o.ct=h,c.We=p,c.qe+=d-c.nt,c.nt=d,o.write=y,0}e.init=(e,i,o,c,f,a)=>{t=0,u=e,w=i,r=o,h=c,s=f,d=a,n=null},e.ut=(e,y,m)=>{let b,g,k,v,S,z,C,x=0,A=0,_=0;for(_=y.nt,v=y.We,x=e.ot,A=e.ct,S=e.write,z=S<e.read?e.read-S-1:e.end-S;;)switch(t){case 0:if(z>=258&&v>=10&&(e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,m=p(u,w,r,h,s,d,e,y),_=y.nt,v=y.We,x=e.ot,A=e.ct,S=e.write,z=S<e.read?e.read-S-1:e.end-S,0!=m)){t=1==m?7:9;break}c=u,n=r,o=h,t=1;case 1:for(b=c;b>A;){if(0===v)return e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);m=0,v--,x|=(255&y.ft(_++))<<A,A+=8}if(g=3*(o+(x&ot[b])),x>>>=n[g+1],A-=n[g+1],k=n[g],0===k){f=n[g+2],t=6;break}if(16&k){a=15&k,i=n[g+2],t=2;break}if(!(64&k)){c=k,o=g/3+n[g+2];break}if(32&k){t=7;break}return t=9,y.Le="invalid literal/length code",m=st,e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);case 2:for(b=a;b>A;){if(0===v)return e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);m=0,v--,x|=(255&y.ft(_++))<<A,A+=8}i+=x&ot[b],x>>=b,A-=b,c=w,n=s,o=d,t=3;case 3:for(b=c;b>A;){if(0===v)return e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);m=0,v--,x|=(255&y.ft(_++))<<A,A+=8}if(g=3*(o+(x&ot[b])),x>>=n[g+1],A-=n[g+1],k=n[g],16&k){a=15&k,l=n[g+2],t=4;break}if(!(64&k)){c=k,o=g/3+n[g+2];break}return t=9,y.Le="invalid distance code",m=st,e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);case 4:for(b=a;b>A;){if(0===v)return e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);m=0,v--,x|=(255&y.ft(_++))<<A,A+=8}l+=x&ot[b],x>>=b,A-=b,t=5;case 5:for(C=S-l;0>C;)C+=e.end;for(;0!==i;){if(0===z&&(S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z&&(e.write=S,m=e.wt(y,m),S=e.write,z=S<e.read?e.read-S-1:e.end-S,S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z)))return e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);e.lt[S++]=e.lt[C++],z--,C==e.end&&(C=0),i--}t=0;break;case 6:if(0===z&&(S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z&&(e.write=S,m=e.wt(y,m),S=e.write,z=S<e.read?e.read-S-1:e.end-S,S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z)))return e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);m=0,e.lt[S++]=f,z--,t=0;break;case 7:if(A>7&&(A-=8,v++,_--),e.write=S,m=e.wt(y,m),S=e.write,z=S<e.read?e.read-S-1:e.end-S,e.read!=e.write)return e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);t=8;case 8:return m=1,e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);case 9:return m=st,e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m);default:return m=rt,e.ot=x,e.ct=A,y.We=v,y.qe+=_-y.nt,y.nt=_,e.write=S,e.wt(y,m)}},e.ht=()=>{}}ht.dt=(e,t,n,r)=>(e[0]=9,t[0]=5,n[0]=ct,r[0]=ft,0);const pt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function yt(e,t){const n=this;let r,s=0,o=0,c=0,a=0;const l=[0],u=[0],w=new dt;let h=0,d=new f(4320);const p=new ht;n.ct=0,n.ot=0,n.lt=new i(t),n.end=t,n.read=0,n.write=0,n.reset=(e,t)=>{t&&(t[0]=0),6==s&&w.ht(e),s=0,n.ct=0,n.ot=0,n.read=n.write=0},n.reset(e,null),n.wt=(e,t)=>{let r,s,i;return s=e.rt,i=n.read,r=(i>n.write?n.end:n.write)-i,r>e.tt&&(r=e.tt),0!==r&&t==it&&(t=0),e.tt-=r,e.Ge+=r,e.$e.set(n.lt.subarray(i,i+r),s),s+=r,i+=r,i==n.end&&(i=0,n.write==n.end&&(n.write=0),r=n.write-i,r>e.tt&&(r=e.tt),0!==r&&t==it&&(t=0),e.tt-=r,e.Ge+=r,e.$e.set(n.lt.subarray(i,i+r),s),s+=r,i+=r),e.rt=s,n.read=i,t},n.ut=(e,t)=>{let i,f,y,m,b,g,k,v;for(m=e.nt,b=e.We,f=n.ot,y=n.ct,g=n.write,k=g<n.read?n.read-g-1:n.end-g;;){let S,z,C,x,A,_,I,P;switch(s){case 0:for(;3>y;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<<y,y+=8}switch(i=7&f,h=1&i,i>>>1){case 0:f>>>=3,y-=3,i=7&y,f>>>=i,y-=i,s=1;break;case 1:S=[],z=[],C=[[]],x=[[]],ht.dt(S,z,C,x),w.init(S[0],z[0],C[0],0,x[0],0),f>>>=3,y-=3,s=6;break;case 2:f>>>=3,y-=3,s=3;break;case 3:return f>>>=3,y-=3,s=9,e.Le="invalid block type",t=st,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t)}break;case 1:for(;32>y;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<<y,y+=8}if((~f>>>16&65535)!=(65535&f))return s=9,e.Le="invalid stored block lengths",t=st,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);o=65535&f,f=y=0,s=0!==o?2:0!==h?7:0;break;case 2:if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);if(0===k&&(g==n.end&&0!==n.read&&(g=0,k=g<n.read?n.read-g-1:n.end-g),0===k&&(n.write=g,t=n.wt(e,t),g=n.write,k=g<n.read?n.read-g-1:n.end-g,g==n.end&&0!==n.read&&(g=0,k=g<n.read?n.read-g-1:n.end-g),0===k)))return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);if(t=0,i=o,i>b&&(i=b),i>k&&(i=k),n.lt.set(e.je(m,i),g),m+=i,b-=i,g+=i,k-=i,0!==(o-=i))break;s=0!==h?7:0;break;case 3:for(;14>y;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<<y,y+=8}if(c=i=16383&f,(31&i)>29||(i>>5&31)>29)return s=9,e.Le="too many length or distance symbols",t=st,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);if(i=258+(31&i)+(i>>5&31),!r||r.length<i)r=[];else for(v=0;i>v;v++)r[v]=0;f>>>=14,y-=14,a=0,s=4;case 4:for(;4+(c>>>10)>a;){for(;3>y;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<<y,y+=8}r[pt[a++]]=7&f,f>>>=3,y-=3}for(;19>a;)r[pt[a++]]=0;if(l[0]=7,i=p.st(r,l,u,d,e),0!=i)return(t=i)==st&&(r=null,s=9),n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);a=0,s=5;case 5:for(;i=c,258+(31&i)+(i>>5&31)>a;){let o,w;for(i=l[0];i>y;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<<y,y+=8}if(i=d[3*(u[0]+(f&ot[i]))+1],w=d[3*(u[0]+(f&ot[i]))+2],16>w)f>>>=i,y-=i,r[a++]=w;else{for(v=18==w?7:w-14,o=18==w?11:3;i+v>y;){if(0===b)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);t=0,b--,f|=(255&e.ft(m++))<<y,y+=8}if(f>>>=i,y-=i,o+=f&ot[v],f>>>=v,y-=v,v=a,i=c,v+o>258+(31&i)+(i>>5&31)||16==w&&1>v)return r=null,s=9,e.Le="invalid bit length repeat",t=st,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);w=16==w?r[v-1]:0;do{r[v++]=w}while(0!==--o);a=v}}if(u[0]=-1,A=[],_=[],I=[],P=[],A[0]=9,_[0]=6,i=c,i=p.it(257+(31&i),1+(i>>5&31),r,A,_,I,P,d,e),0!=i)return i==st&&(r=null,s=9),t=i,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);w.init(A[0],_[0],d,I[0],d,P[0]),s=6;case 6:if(n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,1!=(t=w.ut(n,e,t)))return n.wt(e,t);if(t=0,w.ht(e),m=e.nt,b=e.We,f=n.ot,y=n.ct,g=n.write,k=g<n.read?n.read-g-1:n.end-g,0===h){s=0;break}s=7;case 7:if(n.write=g,t=n.wt(e,t),g=n.write,k=g<n.read?n.read-g-1:n.end-g,n.read!=n.write)return n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);s=8;case 8:return t=1,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);case 9:return t=st,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t);default:return t=rt,n.ot=f,n.ct=y,e.We=b,e.qe+=m-e.nt,e.nt=m,n.write=g,n.wt(e,t)}}},n.ht=e=>{n.reset(e,null),n.lt=null,d=null},n.yt=(e,t,r)=>{n.lt.set(e.subarray(t,t+r),0),n.read=n.write=r},n.bt=()=>1==s?1:0}const mt=13,bt=[0,0,255,255];function gt(){const e=this;function t(e){return e&&e.gt?(e.qe=e.Ge=0,e.Le=null,e.gt.mode=7,e.gt.kt.reset(e,null),0):rt}e.mode=0,e.method=0,e.vt=[0],e.St=0,e.marker=0,e.zt=0,e.Ct=t=>(e.kt&&e.kt.ht(t),e.kt=null,0),e.xt=(n,r)=>(n.Le=null,e.kt=null,8>r||r>15?(e.Ct(n),rt):(e.zt=r,n.gt.kt=new yt(n,1<<r),t(n),0)),e.At=(e,t)=>{let n,r;if(!e||!e.gt||!e.et)return rt;const s=e.gt;for(t=4==t?it:0,n=it;;)switch(s.mode){case 0:if(0===e.We)return n;if(n=t,e.We--,e.qe++,8!=(15&(s.method=e.ft(e.nt++)))){s.mode=mt,e.Le="unknown compression method",s.marker=5;break}if(8+(s.method>>4)>s.zt){s.mode=mt,e.Le="invalid win size",s.marker=5;break}s.mode=1;case 1:if(0===e.We)return n;if(n=t,e.We--,e.qe++,r=255&e.ft(e.nt++),((s.method<<8)+r)%31!=0){s.mode=mt,e.Le="incorrect header check",s.marker=5;break}if(!(32&r)){s.mode=7;break}s.mode=2;case 2:if(0===e.We)return n;n=t,e.We--,e.qe++,s.St=(255&e.ft(e.nt++))<<24&4278190080,s.mode=3;case 3:if(0===e.We)return n;n=t,e.We--,e.qe++,s.St+=(255&e.ft(e.nt++))<<16&16711680,s.mode=4;case 4:if(0===e.We)return n;n=t,e.We--,e.qe++,s.St+=(255&e.ft(e.nt++))<<8&65280,s.mode=5;case 5:return 0===e.We?n:(n=t,e.We--,e.qe++,s.St+=255&e.ft(e.nt++),s.mode=6,2);case 6:return s.mode=mt,e.Le="need dictionary",s.marker=0,rt;case 7:if(n=s.kt.ut(e,n),n==st){s.mode=mt,s.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,s.kt.reset(e,s.vt),s.mode=12;case 12:return e.We=0,1;case mt:return st;default:return rt}},e._t=(e,t,n)=>{let r=0,s=n;if(!e||!e.gt||6!=e.gt.mode)return rt;const i=e.gt;return s<1<<i.zt||(s=(1<<i.zt)-1,r=n-s),i.kt.yt(t,r,s),i.mode=7,0},e.It=e=>{let n,r,s,i,o;if(!e||!e.gt)return rt;const c=e.gt;if(c.mode!=mt&&(c.mode=mt,c.marker=0),0===(n=e.We))return it;for(r=e.nt,s=c.marker;0!==n&&4>s;)e.ft(r)==bt[s]?s++:s=0!==e.ft(r)?0:4-s,r++,n--;return e.qe+=r-e.nt,e.nt=r,e.We=n,c.marker=s,4!=s?st:(i=e.qe,o=e.Ge,t(e),e.qe=i,e.Ge=o,c.mode=7,0)},e.Pt=e=>e&&e.gt&&e.gt.kt?e.gt.kt.bt():rt}function kt(){}function vt(e){const t=new kt,n=e&&e.chunkSize?r.floor(2*e.chunkSize):131072,o=new i(n);let c=!1;t.xt(),t.$e=o,this.append=(e,r)=>{const f=[];let a,l,u=0,w=0,h=0;if(0!==e.length){t.nt=0,t.et=e,t.We=e.length;do{if(t.rt=0,t.tt=n,0!==t.We||c||(t.nt=0,c=!0),a=t.At(0),c&&a===it){if(0!==t.We)throw new s("inflating: bad input")}else if(0!==a&&1!==a)throw new s("inflating: "+t.Le);if((c||1===a)&&t.We===e.length)throw new s("inflating: bad input");t.rt&&(t.rt===n?f.push(new i(o)):f.push(o.subarray(0,t.rt))),h+=t.rt,r&&t.nt>0&&t.nt!=u&&(r(t.nt),u=t.nt)}while(t.We>0||0===t.tt);return f.length>1?(l=new i(h),f.forEach(e=>{l.set(e,w),w+=e.length})):l=f[0]?new i(f[0]):new i,l}},this.flush=()=>{t.Ct()}}kt.prototype={xt(e){const t=this;return t.gt=new gt,e||(e=15),t.gt.xt(t,e)},At(e){const t=this;return t.gt?t.gt.At(t,e):rt},Ct(){const e=this;if(!e.gt)return rt;const t=e.gt.Ct(e);return e.gt=null,t},It(){const e=this;return e.gt?e.gt.It(e):rt},_t(e,t){const n=this;return n.gt?n.gt._t(n,e,t):rt},ft(e){return this.et[e]},je(e,t){return this.et.subarray(e,e+t)}},self.initCodec=()=>{self.Deflate=nt,self.Inflate=vt};
`, i = () => n.useDataURI ? "data:text/javascript," + encodeURIComponent(e) : URL.createObjectURL(new Blob([e], { type: "text/javascript" }));
  t({ workerScripts: { inflate: [i], deflate: [i] } });
}
const to = "Writer iterator completed too soon", no = "Content-Type", io = 64 * 1024, Va = "writable";
class Vn {
  constructor() {
    this.size = 0;
  }
  init() {
    this.initialized = !0;
  }
}
class Ya extends Vn {
  get readable() {
    const n = this, { chunkSize: e = io } = n, i = new ReadableStream({
      start() {
        this.chunkOffset = 0;
      },
      async pull(a) {
        const { offset: s = 0, size: r, diskNumberStart: l } = i, { chunkOffset: o } = this, x = r === Z ? e : Math.min(e, r - o), f = await _e(n, s + o, x, l);
        a.enqueue(f), o + e > r || r === Z && !f.length && x ? a.close() : this.chunkOffset += e;
      }
    });
    return i;
  }
}
class Ga extends Ya {
  constructor(n) {
    super(), Object.assign(this, {
      blob: n,
      size: n.size
    });
  }
  async readUint8Array(n, e) {
    const i = this, a = n + e;
    let r = await (n || a < i.size ? i.blob.slice(n, a) : i.blob).arrayBuffer();
    return r.byteLength > e && (r = r.slice(n, a)), new Uint8Array(r);
  }
}
class ao extends Vn {
  constructor(n) {
    super();
    const e = this, i = new TransformStream(), a = [];
    n && a.push([no, n]), Object.defineProperty(e, Va, {
      get() {
        return i.writable;
      }
    }), e.blob = new Response(i.readable, { headers: a }).blob();
  }
  getData() {
    return this.blob;
  }
}
class so extends Ya {
  constructor(n) {
    super(), this.readers = n;
  }
  async init() {
    const n = this, { readers: e } = n;
    n.lastDiskNumber = 0, n.lastDiskOffset = 0, await Promise.all(e.map(async (i, a) => {
      await i.init(), a != e.length - 1 && (n.lastDiskOffset += i.size), n.size += i.size;
    })), super.init();
  }
  async readUint8Array(n, e, i = 0) {
    const a = this, { readers: s } = this;
    let r, l = i;
    l == -1 && (l = s.length - 1);
    let o = n;
    for (; o >= s[l].size; )
      o -= s[l].size, l++;
    const x = s[l], f = x.size;
    if (o + e <= f)
      r = await _e(x, o, e);
    else {
      const u = f - o;
      r = new Uint8Array(e), r.set(await _e(x, o, u)), r.set(await a.readUint8Array(n + u, e - u, i), u);
    }
    return a.lastDiskNumber = Math.max(l, a.lastDiskNumber), r;
  }
}
class Zi extends Vn {
  constructor(n, e = 4294967295) {
    super();
    const i = this;
    Object.assign(i, {
      diskNumber: 0,
      diskOffset: 0,
      size: 0,
      maxSize: e,
      availableSize: e
    });
    let a, s, r;
    const l = new WritableStream({
      async write(f) {
        const { availableSize: u } = i;
        if (r)
          f.length >= u ? (await o(f.slice(0, u)), await x(), i.diskOffset += a.size, i.diskNumber++, r = null, await this.write(f.slice(u))) : await o(f);
        else {
          const { value: m, done: g } = await n.next();
          if (g && !m)
            throw new Error(to);
          a = m, a.size = 0, a.maxSize && (i.maxSize = a.maxSize), i.availableSize = i.maxSize, await nt(a), s = m.writable, r = s.getWriter(), await this.write(f);
        }
      },
      async close() {
        await r.ready, await x();
      }
    });
    Object.defineProperty(i, Va, {
      get() {
        return l;
      }
    });
    async function o(f) {
      const u = f.length;
      u && (await r.ready, await r.write(f), a.size += u, i.size += u, i.availableSize -= u);
    }
    async function x() {
      s.size = a.size, await r.close();
    }
  }
}
async function nt(t, n) {
  if (t.init && !t.initialized)
    await t.init(n);
  else
    return Promise.resolve();
}
function Yn(t) {
  return Array.isArray(t) && (t = new so(t)), t instanceof ReadableStream && (t = {
    readable: t
  }), t;
}
function Ka(t) {
  t.writable === Z && typeof t.next == It && (t = new Zi(t)), t instanceof WritableStream && (t = {
    writable: t
  });
  const { writable: n } = t;
  return n.size === Z && (n.size = 0), t instanceof Zi || Object.assign(t, {
    diskNumber: 0,
    diskOffset: 0,
    availableSize: 1 / 0,
    maxSize: 1 / 0
  }), t;
}
function _e(t, n, e, i) {
  return t.readUint8Array(n, e, i);
}
const Xa = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""), ro = Xa.length == 256;
function oo(t) {
  if (ro) {
    let n = "";
    for (let e = 0; e < t.length; e++)
      n += Xa[t[e]];
    return n;
  } else
    return new TextDecoder().decode(t);
}
function Gt(t, n) {
  return n && n.trim().toLowerCase() == "cp437" ? oo(t) : new TextDecoder(n).decode(t);
}
const $a = "filename", Ja = "rawFilename", Qa = "comment", es = "rawComment", ts = "uncompressedSize", ns = "compressedSize", is = "offset", Nn = "diskNumberStart", en = "lastModDate", Un = "rawLastModDate", Gn = "lastAccessDate", co = "rawLastAccessDate", Kn = "creationDate", lo = "rawCreationDate", as = "internalFileAttribute", ss = "internalFileAttributes", rs = "externalFileAttribute", os = "externalFileAttributes", cs = "msDosCompatible", Xn = "zip64", ls = "encrypted", ds = "version", ps = "versionMadeBy", fs = "zipCrypto", ms = "directory", us = "executable", po = [
  $a,
  Ja,
  ns,
  ts,
  en,
  Un,
  Qa,
  es,
  Gn,
  Kn,
  is,
  Nn,
  Nn,
  as,
  ss,
  rs,
  os,
  cs,
  Xn,
  ls,
  ds,
  ps,
  fs,
  ms,
  us,
  "bitFlag",
  "signature",
  "filenameUTF8",
  "commentUTF8",
  "compressionMethod",
  "extraField",
  "rawExtraField",
  "extraFieldZip64",
  "extraFieldUnicodePath",
  "extraFieldUnicodeComment",
  "extraFieldAES",
  "extraFieldNTFS",
  "extraFieldExtendedTimestamp"
];
class tn {
  constructor(n) {
    po.forEach((e) => this[e] = n[e]);
  }
}
const _n = "File format is not recognized", fo = "End of central directory not found", mo = "End of Zip64 central directory locator not found", uo = "Central directory header not found", xo = "Local file header not found", vo = "Zip64 extra field not found", ho = "File contains encrypted entry", go = "Encryption method not supported", Vi = "Compression method not supported", Yi = "Split zip file", Gi = "utf-8", Ki = "cp437", wo = [
  [ts, re],
  [ns, re],
  [is, re],
  [Nn, le]
], bo = {
  [le]: {
    getValue: de,
    bytes: 4
  },
  [re]: {
    getValue: Kt,
    bytes: 8
  }
};
class _o {
  constructor(n, e = {}) {
    Object.assign(this, {
      reader: Yn(n),
      options: e,
      config: ba()
    });
  }
  async *getEntriesGenerator(n = {}) {
    const e = this;
    let { reader: i } = e;
    const { config: a } = e;
    if (await nt(i), (i.size === Z || !i.readUint8Array) && (i = new Ga(await new Response(i.readable).blob()), await nt(i)), i.size < Ye)
      throw new Error(_n);
    i.chunkSize = _a(a);
    const s = await To(i, pa, i.size, Ye, le * 16);
    if (!s) {
      const S = await _e(i, 0, 4), k = ve(S);
      throw de(k) == qn ? new Error(Yi) : new Error(fo);
    }
    const r = ve(s);
    let l = de(r, 12), o = de(r, 16);
    const x = s.offset, f = xe(r, 20), u = x + Ye + f;
    let m = xe(r, 4);
    const g = i.lastDiskNumber || 0;
    let R = xe(r, 6), p = xe(r, 8), c = 0, d = 0;
    if (o == re || l == re || p == le || R == le) {
      const S = await _e(i, s.offset - St, St), k = ve(S);
      if (de(k, 0) == fa) {
        o = Kt(k, 8);
        let L = await _e(i, o, At, -1), C = ve(L);
        const U = s.offset - St - At;
        if (de(C, 0) != Dn && o != U) {
          const O = o;
          o = U, c = o - O, L = await _e(i, o, At, -1), C = ve(L);
        }
        if (de(C, 0) != Dn)
          throw new Error(mo);
        m == le && (m = de(C, 16)), R == le && (R = de(C, 20)), p == le && (p = Kt(C, 32)), l == re && (l = Kt(C, 40)), o -= l;
      }
    }
    if (o >= i.size && (c = i.size - o - l - Ye, o = i.size - l - Ye), g != m)
      throw new Error(Yi);
    if (o < 0)
      throw new Error(_n);
    let v = 0, h = await _e(i, o, l, R), E = ve(h);
    if (l) {
      const S = s.offset - l;
      if (de(E, v) != Rn && o != S) {
        const k = o;
        o = S, c += o - k, h = await _e(i, o, l, R), E = ve(h);
      }
    }
    const w = s.offset - o - (i.lastDiskOffset || 0);
    if (l != w && w >= 0 && (l = w, h = await _e(i, o, l, R), E = ve(h)), o < 0 || o >= i.size)
      throw new Error(_n);
    const b = ke(e, n, "filenameEncoding"), _ = ke(e, n, "commentEncoding");
    for (let S = 0; S < p; S++) {
      const k = new yo(i, a, e.options);
      if (de(E, v) != Rn)
        throw new Error(uo);
      xs(k, E, v + 6);
      const L = !!k.bitFlag.languageEncodingFlag, C = v + 46, U = C + k.filenameLength, O = U + k.extraFieldLength, j = xe(E, v + 4), z = j >> 8 == 0, q = j >> 8 == 3, ee = h.subarray(C, U), P = xe(E, v + 32), te = O + P, M = h.subarray(O, te), B = L, fe = L, H = de(E, v + 38), X = z && (ht(E, v + 38) & On) == On || q && (H >> 16 & ur) == ga || ee.length && ee[ee.length - 1] == Tt.charCodeAt(0), oe = q && (H >> 16 & Ln) != 0, ne = de(E, v + 42) + c;
      Object.assign(k, {
        versionMadeBy: j,
        msDosCompatible: z,
        compressedSize: 0,
        uncompressedSize: 0,
        commentLength: P,
        directory: X,
        offset: ne,
        diskNumberStart: xe(E, v + 34),
        internalFileAttributes: xe(E, v + 36),
        externalFileAttributes: H,
        rawFilename: ee,
        filenameUTF8: B,
        commentUTF8: fe,
        rawExtraField: h.subarray(U, O),
        executable: oe
      }), k.internalFileAttribute = k.internalFileAttributes, k.externalFileAttribute = k.externalFileAttributes;
      const G = ke(e, n, "decodeText") || Gt, Ie = B ? Gi : b || Ki, it = fe ? Gi : _ || Ki;
      let we = G(ee, Ie);
      we === Z && (we = Gt(ee, Ie));
      let Te = G(M, it);
      Te === Z && (Te = Gt(M, it)), Object.assign(k, {
        rawComment: M,
        filename: we,
        comment: Te,
        directory: X || we.endsWith(Tt)
      }), d = Math.max(ne, d), vs(k, k, E, v + 6), k.zipCrypto = k.encrypted && !k.extraFieldAES;
      const He = new tn(k);
      He.getData = (ue, Ze) => k.getData(ue, He, Ze), v = te;
      const { onprogress: ce } = n;
      if (ce)
        try {
          await ce(S + 1, p, new tn(k));
        } catch {
        }
      yield He;
    }
    const y = ke(e, n, "extractPrependedData"), T = ke(e, n, "extractAppendedData");
    return y && (e.prependedData = d > 0 ? await _e(i, 0, d) : new Uint8Array()), e.comment = f ? await _e(i, x + Ye, f) : new Uint8Array(), T && (e.appendedData = u < i.size ? await _e(i, u, i.size - u) : new Uint8Array()), !0;
  }
  async getEntries(n = {}) {
    const e = [];
    for await (const i of this.getEntriesGenerator(n))
      e.push(i);
    return e;
  }
  async close() {
  }
}
class yo {
  constructor(n, e, i) {
    Object.assign(this, {
      reader: n,
      config: e,
      options: i
    });
  }
  async getData(n, e, i = {}) {
    const a = this, {
      reader: s,
      offset: r,
      diskNumberStart: l,
      extraFieldAES: o,
      compressionMethod: x,
      config: f,
      bitFlag: u,
      signature: m,
      rawLastModDate: g,
      uncompressedSize: R,
      compressedSize: p
    } = a, c = e.localDirectory = {}, d = gt + 4, v = await _e(s, r, d + 4, l), h = ve(v);
    let E = ke(a, i, "password"), w = ke(a, i, "rawPassword");
    const b = ke(a, i, "passThrough");
    if (E = E && E.length && E, w = w && w.length && w, o && o.originalCompressionMethod != la)
      throw new Error(Vi);
    if (x != ca && x != oa && !b)
      throw new Error(Vi);
    if (de(h, 0) != da)
      throw new Error(xo);
    xs(c, h, 4), c.rawExtraField = c.extraFieldLength ? await _e(s, r + d + c.filenameLength, c.extraFieldLength, l) : new Uint8Array(), vs(a, c, h, 4, !0), Object.assign(e, {
      lastAccessDate: c.lastAccessDate,
      creationDate: c.creationDate
    });
    const _ = a.encrypted && c.encrypted && !b, y = _ && !o;
    if (b || (e.zipCrypto = y), _) {
      if (!y && o.strength === Z)
        throw new Error(go);
      if (!E && !w)
        throw new Error(ho);
    }
    const T = r + d + c.filenameLength + c.extraFieldLength, S = p, k = s.readable;
    Object.assign(k, {
      diskNumberStart: l,
      offset: T,
      size: S
    });
    const L = ke(a, i, "signal"), C = ke(a, i, "checkPasswordOnly");
    C && (n = new WritableStream()), n = Ka(n), await nt(n, b ? p : R);
    const { writable: U } = n, { onstart: O, onprogress: j, onend: z } = i, q = {
      options: {
        codecType: Ba,
        password: E,
        rawPassword: w,
        zipCrypto: y,
        encryptionStrength: o && o.strength,
        signed: ke(a, i, "checkSignature") && !b,
        passwordVerification: y && (u.dataDescriptor ? g >>> 8 & 255 : m >>> 24 & 255),
        signature: m,
        compressed: x != 0 && !b,
        encrypted: a.encrypted && !b,
        useWebWorkers: ke(a, i, "useWebWorkers"),
        useCompressionStream: ke(a, i, "useCompressionStream"),
        transferStreams: ke(a, i, "transferStreams"),
        checkPasswordOnly: C
      },
      config: f,
      streamOptions: { signal: L, size: S, onstart: O, onprogress: j, onend: z }
    };
    let ee = 0;
    try {
      ({ outputSize: ee } = await Za({ readable: k, writable: U }, q));
    } catch (P) {
      if (!C || P.message != Wn)
        throw P;
    } finally {
      const P = ke(a, i, "preventClose");
      U.size += ee, !P && !U.locked && await U.getWriter().close();
    }
    return C ? Z : n.getData ? n.getData() : U;
  }
}
function xs(t, n, e) {
  const i = t.rawBitFlag = xe(n, e + 2), a = (i & Cn) == Cn, s = de(n, e + 6);
  Object.assign(t, {
    encrypted: a,
    version: xe(n, e),
    bitFlag: {
      level: (i & mr) >> 1,
      dataDescriptor: (i & Fn) == Fn,
      languageEncodingFlag: (i & In) == In
    },
    rawLastModDate: s,
    lastModDate: Ro(s),
    filenameLength: xe(n, e + 22),
    extraFieldLength: xe(n, e + 24)
  });
}
function vs(t, n, e, i, a) {
  const { rawExtraField: s } = n, r = n.extraField = /* @__PURE__ */ new Map(), l = ve(new Uint8Array(s));
  let o = 0;
  try {
    for (; o < s.length; ) {
      const d = xe(l, o), v = xe(l, o + 2);
      r.set(d, {
        type: d,
        data: s.slice(o + 4, o + 4 + v)
      }), o += 4 + v;
    }
  } catch {
  }
  const x = xe(e, i + 4);
  Object.assign(n, {
    signature: de(e, i + 10),
    uncompressedSize: de(e, i + 18),
    compressedSize: de(e, i + 14)
  });
  const f = r.get(ma);
  f && (ko(f, n), n.extraFieldZip64 = f);
  const u = r.get(pr);
  u && (Xi(u, $a, Ja, n, t), n.extraFieldUnicodePath = u);
  const m = r.get(fr);
  m && (Xi(m, Qa, es, n, t), n.extraFieldUnicodeComment = m);
  const g = r.get(ua);
  g ? (Eo(g, n, x), n.extraFieldAES = g) : n.compressionMethod = x;
  const R = r.get(xa);
  R && (So(R, n), n.extraFieldNTFS = R);
  const p = r.get(zn);
  p && (Ao(p, n, a), n.extraFieldExtendedTimestamp = p);
  const c = r.get(ha);
  c && (n.extraFieldUSDZ = c);
}
function ko(t, n) {
  n.zip64 = !0;
  const e = ve(t.data), i = wo.filter(([a, s]) => n[a] == s);
  for (let a = 0, s = 0; a < i.length; a++) {
    const [r, l] = i[a];
    if (n[r] == l) {
      const o = bo[l];
      n[r] = t[r] = o.getValue(e, s), s += o.bytes;
    } else if (t[r])
      throw new Error(vo);
  }
}
function Xi(t, n, e, i, a) {
  const s = ve(t.data), r = new Jt();
  r.append(a[e]);
  const l = ve(new Uint8Array(4));
  l.setUint32(0, r.get(), !0);
  const o = de(s, 1);
  Object.assign(t, {
    version: ht(s, 0),
    [n]: Gt(t.data.subarray(5)),
    valid: !a.bitFlag.languageEncodingFlag && o == de(l, 0)
  }), t.valid && (i[n] = t[n], i[n + "UTF8"] = !0);
}
function Eo(t, n, e) {
  const i = ve(t.data), a = ht(i, 4);
  Object.assign(t, {
    vendorVersion: ht(i, 0),
    vendorId: ht(i, 2),
    strength: a,
    originalCompressionMethod: e,
    compressionMethod: xe(i, 5)
  }), n.compressionMethod = t.compressionMethod;
}
function So(t, n) {
  const e = ve(t.data);
  let i = 4, a;
  try {
    for (; i < t.data.length && !a; ) {
      const s = xe(e, i), r = xe(e, i + 2);
      s == va && (a = t.data.slice(i + 4, i + 4 + r)), i += 4 + r;
    }
  } catch {
  }
  try {
    if (a && a.length == 24) {
      const s = ve(a), r = s.getBigUint64(0, !0), l = s.getBigUint64(8, !0), o = s.getBigUint64(16, !0);
      Object.assign(t, {
        rawLastModDate: r,
        rawLastAccessDate: l,
        rawCreationDate: o
      });
      const x = yn(r), f = yn(l), u = yn(o), m = { lastModDate: x, lastAccessDate: f, creationDate: u };
      Object.assign(t, m), Object.assign(n, m);
    }
  } catch {
  }
}
function Ao(t, n, e) {
  const i = ve(t.data), a = ht(i, 0), s = [], r = [];
  e ? ((a & 1) == 1 && (s.push(en), r.push(Un)), (a & 2) == 2 && (s.push(Gn), r.push(co)), (a & 4) == 4 && (s.push(Kn), r.push(lo))) : t.data.length >= 5 && (s.push(en), r.push(Un));
  let l = 1;
  s.forEach((o, x) => {
    if (t.data.length >= l + 4) {
      const f = de(i, l);
      n[o] = t[o] = new Date(f * 1e3);
      const u = r[x];
      t[u] = f;
    }
    l += 4;
  });
}
async function To(t, n, e, i, a) {
  const s = new Uint8Array(4), r = ve(s);
  Do(r, 0, n);
  const l = i + a;
  return await o(i) || await o(Math.min(l, e));
  async function o(x) {
    const f = e - x, u = await _e(t, f, x);
    for (let m = u.length - i; m >= 0; m--)
      if (u[m] == s[0] && u[m + 1] == s[1] && u[m + 2] == s[2] && u[m + 3] == s[3])
        return {
          offset: f + m,
          buffer: u.slice(m, m + i).buffer
        };
  }
}
function ke(t, n, e) {
  return n[e] === Z ? t.options[e] : n[e];
}
function Ro(t) {
  const n = (t & 4294901760) >> 16, e = t & 65535;
  try {
    return new Date(1980 + ((n & 65024) >> 9), ((n & 480) >> 5) - 1, n & 31, (e & 63488) >> 11, (e & 2016) >> 5, (e & 31) * 2, 0);
  } catch {
  }
}
function yn(t) {
  return new Date(Number(t / BigInt(1e4) - BigInt(116444736e5)));
}
function ht(t, n) {
  return t.getUint8(n);
}
function xe(t, n) {
  return t.getUint16(n, !0);
}
function de(t, n) {
  return t.getUint32(n, !0);
}
function Kt(t, n) {
  return Number(t.getBigUint64(n, !0));
}
function Do(t, n, e) {
  t.setUint32(n, e, !0);
}
function ve(t) {
  return new DataView(t.buffer);
}
const Co = "File already exists", Fo = "Zip file comment exceeds 64KB", Io = "File entry comment exceeds 64KB", Oo = "File entry name exceeds 64KB", $i = "Version exceeds 65535", Lo = "The strength must equal 1, 2, or 3", jo = "Extra field type exceeds 65535", No = "Extra field data exceeds 64KB", $n = "Zip64 is not supported (make sure 'keepOrder' is set to 'true')", Uo = "Undefined uncompressed size", Po = "Zip file not empty", Ji = new Uint8Array([7, 0, 2, 0, 65, 69, 3, 0, 0]);
let kn = 0;
const Qi = [];
class Mo {
  constructor(n, e = {}) {
    n = Ka(n);
    const i = n.availableSize !== Z && n.availableSize > 0 && n.availableSize !== 1 / 0 && n.maxSize !== Z && n.maxSize > 0 && n.maxSize !== 1 / 0;
    Object.assign(this, {
      writer: n,
      addSplitZipSignature: i,
      options: e,
      config: ba(),
      files: /* @__PURE__ */ new Map(),
      filenames: /* @__PURE__ */ new Set(),
      offset: e.offset === Z ? n.writable.size : e.offset,
      pendingEntriesSize: 0,
      pendingAddFileCalls: /* @__PURE__ */ new Set(),
      bufferedWrites: 0
    });
  }
  async prependZip(n) {
    if (this.filenames.size)
      throw new Error(Po);
    ({ reader: n } = Yn(n));
    const [e, i] = n.readable.tee(), a = new _o(new ReadableStream({
      async start(r) {
        const l = e.getReader();
        await o();
        async function o() {
          const { done: x, value: f } = await l.read();
          x ? r.close() : (r.enqueue(f), await o());
        }
      }
    })), s = await a.getEntries();
    await a.close(), await i.pipeTo(this.writer.writable, { preventClose: !0, preventAbort: !0 }), this.writer.writable.size = this.offset = n.size, this.filenames = new Set(s.map((r) => r.filename)), this.files = new Map(s.map((r) => {
      const {
        version: l,
        compressionMethod: o,
        lastModDate: x,
        lastAccessDate: f,
        creationDate: u,
        rawFilename: m,
        bitFlag: g,
        encrypted: R,
        uncompressedSize: p,
        compressedSize: c,
        diskOffset: d,
        diskNumber: v,
        zip64: h
      } = r;
      let {
        rawExtraFieldZip64: E,
        rawExtraFieldAES: w,
        rawExtraFieldExtendedTimestamp: b,
        rawExtraFieldNTFS: _,
        rawExtraField: y
      } = r;
      const { level: T, languageEncodingFlag: S, dataDescriptor: k } = g;
      E = E || new Uint8Array(), w = w || new Uint8Array(), b = b || new Uint8Array(), _ = _ || new Uint8Array(), y = y || new Uint8Array();
      const L = Y(E, w, b, _, y), C = h && p > re, U = h && c > re, {
        headerArray: O,
        headerView: j
      } = hs({
        version: l,
        bitflag: gs(T, S, k, R),
        compressionMethod: o,
        uncompressedSize: p,
        compressedSize: c,
        lastModDate: x,
        rawFilename: m,
        zip64CompressedSize: U,
        zip64UncompressedSize: C,
        extraFieldLength: L
      });
      return Object.assign(r, {
        zip64UncompressedSize: C,
        zip64CompressedSize: U,
        zip64Offset: h && this.offset - d > re,
        zip64DiskNumberStart: h && v > le,
        rawExtraFieldZip64: E,
        rawExtraFieldAES: w,
        rawExtraFieldExtendedTimestamp: b,
        rawExtraFieldNTFS: _,
        rawExtraField: y,
        extendedTimestamp: b.length > 0 || _.length > 0,
        extraFieldExtendedTimestampFlag: 1 + (f ? 2 : 0) + (u ? 4 : 0),
        headerArray: O,
        headerView: j
      }), [r.filename, r];
    }));
  }
  async add(n = "", e, i = {}) {
    const a = this, {
      pendingAddFileCalls: s,
      config: r
    } = a;
    kn < r.maxWorkers ? kn++ : await new Promise((o) => Qi.push(o));
    let l;
    try {
      if (n = n.trim(), a.filenames.has(n))
        throw new Error(Co);
      return a.filenames.add(n), l = qo(a, n, e, i), s.add(l), await l;
    } catch (o) {
      throw a.filenames.delete(n), o;
    } finally {
      s.delete(l);
      const o = Qi.shift();
      o ? o() : kn--;
    }
  }
  remove(n) {
    const { filenames: e, files: i } = this;
    if (typeof n == "string" && (n = i.get(n)), n && n.filename !== Z) {
      const { filename: a } = n;
      if (e.has(a) && i.has(a))
        return e.delete(a), i.delete(a), !0;
    }
    return !1;
  }
  async close(n = new Uint8Array(), e = {}) {
    const i = this, { pendingAddFileCalls: a, writer: s } = this, { writable: r } = s;
    for (; a.size; )
      await Promise.allSettled(Array.from(a));
    return await Go(this, n, e), K(i, e, "preventClose") || await r.getWriter().close(), s.getData ? s.getData() : r;
  }
}
async function qo(t, n, e, i) {
  n = n.trim();
  const a = K(t, i, cs), s = K(t, i, ps, a ? 20 : 768), r = K(t, i, us);
  if (s > le)
    throw new Error($i);
  let l = K(t, i, os, 0);
  l === 0 && (l = K(t, i, rs, 0)), !i.directory && n.endsWith(Tt) && (i.directory = !0), K(t, i, ms) ? (n.endsWith(Tt) || (n += Tt), l === 0 && (l = On, a || (l |= (ga | Ln | vn) << 16))) : !a && l === 0 && (r ? l = (Ln | vn) << 16 : l = vn << 16);
  const x = K(t, i, "encodeText", Vt);
  let f = x(n);
  if (f === Z && (f = Vt(n)), Y(f) > le)
    throw new Error(Oo);
  const u = i.comment || "";
  let m = x(u);
  if (m === Z && (m = Vt(u)), Y(m) > le)
    throw new Error(Io);
  const g = K(t, i, ds, xr);
  if (g > le)
    throw new Error($i);
  const R = K(t, i, en, /* @__PURE__ */ new Date()), p = K(t, i, Gn), c = K(t, i, Kn);
  let d = K(t, i, ss, 0);
  d === 0 && (d = K(t, i, as, 0));
  const v = K(t, i, "passThrough");
  let h, E;
  v || (h = K(t, i, "password"), E = K(t, i, "rawPassword"));
  const w = K(t, i, "encryptionStrength", 3), b = K(t, i, fs), _ = K(t, i, "extendedTimestamp", !0), y = K(t, i, "keepOrder", !0), T = K(t, i, "level"), S = K(t, i, "useWebWorkers"), k = K(t, i, "bufferedWrite"), L = K(t, i, "dataDescriptorSignature", !1), C = K(t, i, "signal"), U = K(t, i, "useUnicodeFileNames", !0), O = K(t, i, "useCompressionStream"), j = K(t, i, "compressionMethod");
  let z = K(t, i, "dataDescriptor");
  k && z === Z && (z = !1), (z === Z || b) && (z = !0);
  let q = K(t, i, Xn);
  if (!b && (h !== Z || E !== Z) && !(w >= 1 && w <= 3))
    throw new Error(Lo);
  let ee = new Uint8Array();
  const { extraField: P } = i;
  if (P) {
    let Oe = 0, Ve = 0;
    P.forEach((be) => Oe += 4 + Y(be)), ee = new Uint8Array(Oe), P.forEach((be, Le) => {
      if (Le > le)
        throw new Error(jo);
      if (Y(be) > le)
        throw new Error(No);
      pe(ee, new Uint16Array([Le]), Ve), pe(ee, new Uint16Array([Y(be)]), Ve + 2), pe(ee, be, Ve + 4), Ve += 4 + Y(be);
    });
  }
  let te = 0, M = 0, B = 0;
  if (v && ({ uncompressedSize: B } = i, B === Z))
    throw new Error(Uo);
  const fe = q === !0;
  e && (e = Yn(e), await nt(e), v ? (i.uncompressedSize = B, te = ta(B)) : e.size === Z ? (z = !0, (q || q === Z) && (q = !0, B = te = re + 1)) : (i.uncompressedSize = B = e.size, te = ta(B)));
  const { diskOffset: H, diskNumber: X, maxSize: oe } = t.writer, ne = fe || B > re, G = fe || te > re, Ie = fe || t.offset + t.pendingEntriesSize - H > re, we = K(t, i, "supportZip64SplitFile", !0) && fe || X + Math.ceil(t.pendingEntriesSize / oe) > le;
  if (Ie || ne || G || we) {
    if (q === !1 || !y)
      throw new Error($n);
    q = !0;
  }
  q = q || !1;
  const Te = K(t, i, ls), { signature: He } = i;
  i = Object.assign({}, i, {
    rawFilename: f,
    rawComment: m,
    version: g,
    versionMadeBy: s,
    lastModDate: R,
    lastAccessDate: p,
    creationDate: c,
    rawExtraField: ee,
    zip64: q,
    zip64UncompressedSize: ne,
    zip64CompressedSize: G,
    zip64Offset: Ie,
    zip64DiskNumberStart: we,
    password: h,
    rawPassword: E,
    level: !O && t.config.CompressionStream === Z && t.config.CompressionStreamNative === Z ? 0 : T,
    useWebWorkers: S,
    encryptionStrength: w,
    extendedTimestamp: _,
    zipCrypto: b,
    bufferedWrite: k,
    keepOrder: y,
    useUnicodeFileNames: U,
    dataDescriptor: z,
    dataDescriptorSignature: L,
    signal: C,
    msDosCompatible: a,
    internalFileAttribute: d,
    internalFileAttributes: d,
    externalFileAttribute: l,
    externalFileAttributes: l,
    useCompressionStream: O,
    passThrough: v,
    encrypted: !!(h && Y(h) || E && Y(E)) || v && Te,
    signature: He,
    compressionMethod: j,
    uncompressedSize: B,
    offset: t.offset - H,
    diskNumberStart: X
  });
  const ce = Wo(i), ue = Zo(i), Ze = Y(ce.localHeaderArray, ue.dataDescriptorArray);
  M = Ze + te, t.options.usdz && (M += M + 64), t.pendingEntriesSize += M;
  let at;
  try {
    at = await zo(t, n, e, { headerInfo: ce, dataDescriptorInfo: ue, metadataSize: Ze }, i);
  } finally {
    t.pendingEntriesSize -= M;
  }
  return Object.assign(at, { name: n, comment: u, extraField: P }), new tn(at);
}
async function zo(t, n, e, i, a) {
  const {
    files: s,
    writer: r
  } = t, {
    keepOrder: l,
    dataDescriptor: o,
    signal: x
  } = a, {
    headerInfo: f
  } = i, { usdz: u } = t.options, m = Array.from(s.values()).pop();
  let g = {}, R, p, c, d, v, h, E;
  s.set(n, g);
  try {
    let y;
    l && (y = m && m.lock, w()), (a.bufferedWrite || t.writerLocked || t.bufferedWrites && l || !o) && !u ? (h = new TransformStream(), E = new Response(h.readable).blob(), h.writable.size = 0, R = !0, t.bufferedWrites++, await nt(r)) : (h = r, await b()), await nt(h);
    const { writable: T } = r;
    let { diskOffset: S } = r;
    if (t.addSplitZipSignature) {
      delete t.addSplitZipSignature;
      const L = new Uint8Array(4), C = ge(L);
      V(C, 0, qn), await ze(T, L), t.offset += 4;
    }
    u && Ho(i, t.offset - S), R || (await y, await _(T));
    const { diskNumber: k } = r;
    if (v = !0, g.diskNumberStart = k, g = await Bo(e, h, g, i, t.config, a), v = !1, s.set(n, g), g.filename = n, R) {
      await h.writable.getWriter().close();
      let L = await E;
      await y, await b(), d = !0, g.diskNumberStart = r.diskNumber, S = r.diskOffset, g.offset = t.offset - S, g.zip64 && ea(g), (g.zip64 || !o) && (L = await Yo(g, L, T, a)), await _(T), await L.stream().pipeTo(T, { preventClose: !0, preventAbort: !0, signal: x }), T.size += L.size, d = !1;
    } else
      g.offset = t.offset - S, g.zip64 && ea(g);
    if (g.offset > re && !g.zip64)
      throw new Error($n);
    return t.offset += g.size, g;
  } catch (y) {
    if (R && d || !R && v) {
      if (t.hasCorruptedEntries = !0, y)
        try {
          y.corruptedEntry = !0;
        } catch {
        }
      R ? t.offset += h.writable.size : t.offset = h.writable.size;
    }
    throw s.delete(n), y;
  } finally {
    R && t.bufferedWrites--, c && c(), p && p();
  }
  function w() {
    g.lock = new Promise((y) => c = y);
  }
  async function b() {
    t.writerLocked = !0;
    const { lockWriter: y } = t;
    t.lockWriter = new Promise((T) => p = () => {
      t.writerLocked = !1, T();
    }), await y;
  }
  async function _(y) {
    Y(f.localHeaderArray) > r.availableSize && (r.availableSize = 0, await ze(y, new Uint8Array()));
  }
}
async function Bo(t, n, { diskNumberStart: e, lock: i }, a, s, r) {
  const {
    headerInfo: l,
    dataDescriptorInfo: o,
    metadataSize: x
  } = a, {
    localHeaderArray: f,
    headerArray: u,
    headerView: m,
    lastModDate: g,
    rawLastModDate: R,
    encrypted: p,
    compressed: c,
    version: d,
    compressionMethod: v,
    rawExtraFieldZip64: h,
    localExtraFieldZip64Length: E,
    rawExtraFieldExtendedTimestamp: w,
    extraFieldExtendedTimestampFlag: b,
    rawExtraFieldNTFS: _,
    rawExtraFieldAES: y
  } = l, { dataDescriptorArray: T } = o, {
    rawFilename: S,
    lastAccessDate: k,
    creationDate: L,
    password: C,
    rawPassword: U,
    level: O,
    zip64: j,
    zip64UncompressedSize: z,
    zip64CompressedSize: q,
    zip64Offset: ee,
    zip64DiskNumberStart: P,
    zipCrypto: te,
    dataDescriptor: M,
    directory: B,
    executable: fe,
    versionMadeBy: H,
    rawComment: X,
    rawExtraField: oe,
    useWebWorkers: ne,
    onstart: G,
    onprogress: Ie,
    onend: it,
    signal: we,
    encryptionStrength: Te,
    extendedTimestamp: He,
    msDosCompatible: ce,
    internalFileAttributes: ue,
    externalFileAttributes: Ze,
    useCompressionStream: at,
    passThrough: Oe
  } = r, Ve = {
    lock: i,
    versionMadeBy: H,
    zip64: j,
    directory: !!B,
    executable: !!fe,
    filenameUTF8: !0,
    rawFilename: S,
    commentUTF8: !0,
    rawComment: X,
    rawExtraFieldZip64: h,
    localExtraFieldZip64Length: E,
    rawExtraFieldExtendedTimestamp: w,
    rawExtraFieldNTFS: _,
    rawExtraFieldAES: y,
    rawExtraField: oe,
    extendedTimestamp: He,
    msDosCompatible: ce,
    internalFileAttributes: ue,
    externalFileAttributes: Ze,
    diskNumberStart: e
  };
  let {
    signature: be,
    uncompressedSize: Le
  } = r, st = 0;
  Oe || (Le = 0);
  const { writable: rt } = n;
  if (t) {
    t.chunkSize = _a(s), await ze(rt, f);
    const wt = t.readable, on = wt.size = t.size, Me = {
      options: {
        codecType: za,
        level: O,
        rawPassword: U,
        password: C,
        encryptionStrength: Te,
        zipCrypto: p && te,
        passwordVerification: p && te && R >> 8 & 255,
        signed: !Oe,
        compressed: c && !Oe,
        encrypted: p && !Oe,
        useWebWorkers: ne,
        useCompressionStream: at,
        transferStreams: !1
      },
      config: s,
      streamOptions: { signal: we, size: on, onstart: G, onprogress: Ie, onend: it }
    }, ot = await Za({ readable: wt, writable: rt }, Me);
    st = ot.outputSize, Oe || (Le = ot.inputSize, be = ot.signature), rt.size += Le;
  } else
    await ze(rt, f);
  return Vo({
    signature: be,
    compressedSize: st,
    uncompressedSize: Le,
    headerInfo: l,
    dataDescriptorInfo: o
  }, r), M && await ze(rt, T), Object.assign(Ve, {
    uncompressedSize: Le,
    compressedSize: st,
    lastModDate: g,
    rawLastModDate: R,
    creationDate: L,
    lastAccessDate: k,
    encrypted: p,
    zipCrypto: te,
    size: x + st,
    compressionMethod: v,
    version: d,
    headerArray: u,
    headerView: m,
    signature: be,
    extraFieldExtendedTimestampFlag: b,
    zip64UncompressedSize: z,
    zip64CompressedSize: q,
    zip64Offset: ee,
    zip64DiskNumberStart: P
  }), Ve;
}
function Wo(t) {
  const {
    rawFilename: n,
    lastModDate: e,
    lastAccessDate: i,
    creationDate: a,
    level: s,
    zip64: r,
    zipCrypto: l,
    useUnicodeFileNames: o,
    dataDescriptor: x,
    directory: f,
    rawExtraField: u,
    encryptionStrength: m,
    extendedTimestamp: g,
    passThrough: R,
    encrypted: p,
    zip64UncompressedSize: c,
    zip64CompressedSize: d,
    zip64Offset: v,
    zip64DiskNumberStart: h,
    uncompressedSize: E,
    offset: w,
    diskNumberStart: b
  } = t;
  let { version: _, compressionMethod: y } = t;
  const T = !f && (s > 0 || s === Z && y !== 0);
  let S;
  const k = R || !T, L = r && (t.bufferedWrite || !c && !d || k);
  if (r) {
    let H = 4;
    c && (H += 8), d && (H += 8), v && (H += 8), h && (H += 4), S = new Uint8Array(H);
    const X = ge(S);
    if (J(X, 0, ma), J(X, 2, Y(S) - 4), L) {
      const oe = ge(S);
      let ne = 4;
      c && (me(oe, ne, BigInt(E)), ne += 8), d && k && (me(oe, ne, BigInt(E)), ne += 8), v && (me(oe, ne, BigInt(w)), ne += 8), h && (V(oe, ne, b), ne += 4);
    }
  } else
    S = new Uint8Array();
  let C;
  if (p && !l) {
    C = new Uint8Array(Y(Ji) + 2);
    const H = ge(C);
    J(H, 0, ua), pe(C, Ji, 2), Pn(H, 8, m);
  } else
    C = new Uint8Array();
  let U, O, j;
  if (g) {
    O = new Uint8Array(9 + (i ? 4 : 0) + (a ? 4 : 0));
    const H = ge(O);
    J(H, 0, zn), J(H, 2, Y(O) - 4), j = 1 + (i ? 2 : 0) + (a ? 4 : 0), Pn(H, 4, j);
    let X = 5;
    V(H, X, Math.floor(e.getTime() / 1e3)), X += 4, i && (V(H, X, Math.floor(i.getTime() / 1e3)), X += 4), a && V(H, X, Math.floor(a.getTime() / 1e3));
    try {
      U = new Uint8Array(36);
      const oe = ge(U), ne = En(e);
      J(oe, 0, xa), J(oe, 2, 32), J(oe, 8, va), J(oe, 10, 24), me(oe, 12, ne), me(oe, 20, En(i) || ne), me(oe, 28, En(a) || ne);
    } catch {
      U = new Uint8Array();
    }
  } else
    U = O = new Uint8Array();
  y === Z && (y = T ? oa : ca), r && (_ = _ > Ri ? _ : Ri), p && !l && (_ = _ > Di ? _ : Di, C[9] = y, y = la);
  const z = L ? Y(S) : 0, q = z + Y(C, O, U, u), {
    headerArray: ee,
    headerView: P,
    rawLastModDate: te
  } = hs({
    version: _,
    bitflag: gs(s, o, x, p),
    compressionMethod: y,
    uncompressedSize: E,
    lastModDate: e < Fi ? Fi : e > Ci ? Ci : e,
    rawFilename: n,
    zip64CompressedSize: d,
    zip64UncompressedSize: c,
    extraFieldLength: q
  });
  let M = gt + 4;
  const B = new Uint8Array(M + Y(n) + q), fe = ge(B);
  return V(fe, 0, da), pe(B, ee, 4), pe(B, n, M), M += Y(n), L && pe(B, S, M), M += z, pe(B, C, M), M += Y(C), pe(B, O, M), M += Y(O), pe(B, U, M), M += Y(U), pe(B, u, M), {
    localHeaderArray: B,
    headerArray: ee,
    headerView: P,
    lastModDate: e,
    rawLastModDate: te,
    encrypted: p,
    compressed: T,
    version: _,
    compressionMethod: y,
    extraFieldExtendedTimestampFlag: j,
    rawExtraFieldZip64: S,
    localExtraFieldZip64Length: z,
    rawExtraFieldExtendedTimestamp: O,
    rawExtraFieldNTFS: U,
    rawExtraFieldAES: C,
    extraFieldLength: q
  };
}
function Ho(t, n) {
  const { headerInfo: e } = t;
  let { localHeaderArray: i, extraFieldLength: a } = e, s = ge(i), r = 64 - (n + Y(i)) % 64;
  r < 4 && (r += 64);
  const l = new Uint8Array(r), o = ge(l);
  J(o, 0, ha), J(o, 2, r - 2);
  const x = i;
  e.localHeaderArray = i = new Uint8Array(Y(x) + r), pe(i, x), pe(i, l, Y(x)), s = ge(i), J(s, 28, a + r), t.metadataSize += r;
}
function Zo(t) {
  const {
    zip64: n,
    dataDescriptor: e,
    dataDescriptorSignature: i
  } = t;
  let a = new Uint8Array(), s, r = 0;
  return e && (a = new Uint8Array(n ? i ? 24 : 20 : i ? 16 : 12), s = ge(a), i && (r = 4, V(s, 0, lr))), {
    dataDescriptorArray: a,
    dataDescriptorView: s,
    dataDescriptorOffset: r
  };
}
function Vo(t, n) {
  const {
    signature: e,
    compressedSize: i,
    uncompressedSize: a,
    headerInfo: s,
    dataDescriptorInfo: r
  } = t, {
    headerView: l,
    encrypted: o
  } = s, {
    dataDescriptorView: x,
    dataDescriptorOffset: f
  } = r, {
    zip64: u,
    zipCrypto: m,
    dataDescriptor: g
  } = n;
  (!o || m) && e !== Z && (V(l, 10, e), g && V(x, f, e)), u ? g && (me(x, f + 4, BigInt(i)), me(x, f + 12, BigInt(a))) : (V(l, 14, i), V(l, 18, a), g && (V(x, f + 4, i), V(x, f + 8, a)));
}
async function Yo(t, n, e, { zipCrypto: i, dataDescriptor: a }) {
  const {
    zip64: s,
    rawFilename: r,
    localExtraFieldZip64Length: l,
    signature: o,
    encrypted: x,
    zip64UncompressedSize: f,
    zip64CompressedSize: u,
    zip64Offset: m,
    zip64DiskNumberStart: g,
    uncompressedSize: R,
    compressedSize: p,
    offset: c,
    diskNumberStart: d
  } = t;
  let v, h = gt + 4 + Y(r);
  const E = s && l ? h + l : gt;
  v = await n.slice(0, E).arrayBuffer(), v.byteLength != E && (v = v.slice(0, E));
  const w = new DataView(v);
  return a || ((!x || i) && V(w, 14, o), s || (V(w, 18, p), V(w, 22, R))), s && (V(w, 18, re), V(w, 22, re), l && (h += 4, f && (me(w, h, BigInt(R)), h += 8), u && (me(w, h, BigInt(p)), h += 8), m && (me(w, h, BigInt(c)), h += 8), g && V(w, h, d))), await ze(e, new Uint8Array(v)), n.slice(v.byteLength);
}
function ea(t) {
  const n = ge(t.rawExtraFieldZip64);
  let e = 4;
  t.zip64UncompressedSize && (me(n, e, BigInt(t.uncompressedSize)), e += 8), t.zip64CompressedSize && (me(n, e, BigInt(t.compressedSize)), e += 8), t.zip64Offset && (me(n, e, BigInt(t.offset)), e += 8), t.zip64DiskNumberStart && V(n, e, t.diskNumberStart);
}
async function Go(t, n, e) {
  const { files: i, writer: a } = t, { diskOffset: s, writable: r } = a;
  let { diskNumber: l } = a, o = 0, x = 0, f = t.offset - s, u = i.size;
  for (const [, w] of i) {
    const {
      rawFilename: b,
      rawExtraFieldZip64: _,
      rawExtraFieldAES: y,
      rawComment: T,
      rawExtraFieldNTFS: S,
      rawExtraField: k,
      extendedTimestamp: L,
      extraFieldExtendedTimestampFlag: C,
      lastModDate: U
    } = w;
    let O;
    if (L) {
      O = new Uint8Array(9);
      const j = ge(O);
      J(j, 0, zn), J(j, 2, 5), Pn(j, 4, C), V(j, 5, Math.floor(U.getTime() / 1e3));
    } else
      O = new Uint8Array();
    w.rawExtraFieldExtendedTimestamp = O, x += 46 + Y(
      b,
      T,
      _,
      y,
      S,
      O,
      k
    );
  }
  const m = new Uint8Array(x), g = ge(m);
  await nt(a);
  let R = 0;
  for (const [w, b] of Array.from(i.values()).entries()) {
    const {
      offset: _,
      rawFilename: y,
      rawExtraFieldZip64: T,
      rawExtraFieldAES: S,
      rawExtraFieldExtendedTimestamp: k,
      rawExtraFieldNTFS: L,
      rawExtraField: C,
      rawComment: U,
      versionMadeBy: O,
      headerArray: j,
      headerView: z,
      zip64: q,
      zip64UncompressedSize: ee,
      zip64CompressedSize: P,
      zip64DiskNumberStart: te,
      zip64Offset: M,
      internalFileAttributes: B,
      externalFileAttributes: fe,
      diskNumberStart: H,
      uncompressedSize: X,
      compressedSize: oe
    } = b, ne = Y(T, S, k, L, C);
    V(g, o, Rn), J(g, o + 4, O), ee || V(z, 18, X), P || V(z, 14, oe), pe(m, j, o + 6);
    let G = o + gt + 4;
    if (J(g, G, ne), G += 2, J(g, G, Y(U)), G += 2, J(g, G, q && te ? le : H), G += 2, J(g, G, B), G += 2, fe && V(g, G, fe), G += 4, V(g, G, q && M ? re : _), G += 4, pe(m, y, G), G += Y(y), pe(m, T, G), G += Y(T), pe(m, S, G), G += Y(S), pe(m, k, G), G += Y(k), pe(m, L, G), G += Y(L), pe(m, C, G), G += Y(C), pe(m, U, G), o - R > a.availableSize && (a.availableSize = 0, await ze(r, m.slice(R, o)), R = o), o = G, e.onprogress)
      try {
        await e.onprogress(w + 1, i.size, new tn(b));
      } catch {
      }
  }
  await ze(r, R ? m.slice(R) : m);
  let p = a.diskNumber;
  const { availableSize: c } = a;
  c < Ye && p++;
  let d = K(t, e, Xn);
  if (f > re || x > re || u > le || p > le) {
    if (d === !1)
      throw new Error($n);
    d = !0;
  }
  const v = new Uint8Array(d ? dr : Ye), h = ge(v);
  o = 0, d && (V(h, 0, Dn), me(h, 4, BigInt(44)), J(h, 12, 45), J(h, 14, 45), V(h, 16, p), V(h, 20, l), me(h, 24, BigInt(u)), me(h, 32, BigInt(u)), me(h, 40, BigInt(x)), me(h, 48, BigInt(f)), V(h, 56, fa), me(h, 64, BigInt(f) + BigInt(x)), V(h, 72, p + 1), K(t, e, "supportZip64SplitFile", !0) && (p = le, l = le), u = le, f = re, x = re, o += At + St), V(h, o, pa), J(h, o + 4, p), J(h, o + 6, l), J(h, o + 8, u), J(h, o + 10, u), V(h, o + 12, x), V(h, o + 16, f);
  const E = Y(n);
  if (E)
    if (E <= le)
      J(h, o + 20, E);
    else
      throw new Error(Fo);
  await ze(r, v), E && await ze(r, n);
}
async function ze(t, n) {
  const e = t.getWriter();
  try {
    await e.ready, t.size += Y(n), await e.write(n);
  } finally {
    e.releaseLock();
  }
}
function En(t) {
  if (t)
    return (BigInt(t.getTime()) + BigInt(116444736e5)) * BigInt(1e4);
}
function K(t, n, e, i) {
  const a = n[e] === Z ? t.options[e] : n[e];
  return a === Z ? i : a;
}
function ta(t) {
  return t + 5 * (Math.floor(t / 16383) + 1);
}
function Pn(t, n, e) {
  t.setUint8(n, e);
}
function J(t, n, e) {
  t.setUint16(n, e, !0);
}
function V(t, n, e) {
  t.setUint32(n, e, !0);
}
function me(t, n, e) {
  t.setBigUint64(n, e, !0);
}
function pe(t, n, e) {
  t.set(n, e);
}
function ge(t) {
  return new DataView(t.buffer);
}
function Y(...t) {
  let n = 0;
  return t.forEach((e) => e && (n += e.length)), n;
}
function hs({
  version: t,
  bitflag: n,
  compressionMethod: e,
  uncompressedSize: i,
  compressedSize: a,
  lastModDate: s,
  rawFilename: r,
  zip64CompressedSize: l,
  zip64UncompressedSize: o,
  extraFieldLength: x
}) {
  const f = new Uint8Array(gt), u = ge(f);
  J(u, 0, t), J(u, 2, n), J(u, 4, e);
  const m = new Uint32Array(1), g = ge(m);
  J(g, 0, (s.getHours() << 6 | s.getMinutes()) << 5 | s.getSeconds() / 2), J(g, 2, (s.getFullYear() - 1980 << 4 | s.getMonth() + 1) << 5 | s.getDate());
  const R = m[0];
  return V(u, 6, R), (l || a !== Z) && V(u, 14, l ? re : a), (o || i !== Z) && V(u, 18, o ? re : i), J(u, 22, Y(r)), J(u, 24, x), {
    headerArray: f,
    headerView: u,
    rawLastModDate: R
  };
}
function gs(t, n, e, i) {
  let a = 0;
  return n && (a = a | In), e && (a = a | Fn), t >= 1 && t < 3 && (a = a | 6), t >= 3 && t < 5 && (a = a | 1), t === 9 && (a = a | 2), i && (a = a | Cn), a;
}
let ws;
try {
  ws = import.meta.url;
} catch {
}
Bn({ baseURL: ws });
eo(Bn);
Bn({ Deflate: zs, Inflate: cr });
function rn() {
  this._types = /* @__PURE__ */ Object.create(null), this._extensions = /* @__PURE__ */ Object.create(null);
  for (let t = 0; t < arguments.length; t++)
    this.define(arguments[t]);
  this.define = this.define.bind(this), this.getType = this.getType.bind(this), this.getExtension = this.getExtension.bind(this);
}
rn.prototype.define = function(t, n) {
  for (let e in t) {
    let i = t[e].map(function(a) {
      return a.toLowerCase();
    });
    e = e.toLowerCase();
    for (let a = 0; a < i.length; a++) {
      const s = i[a];
      if (s[0] !== "*") {
        if (!n && s in this._types)
          throw new Error(
            'Attempt to change mapping for "' + s + '" extension from "' + this._types[s] + '" to "' + e + '". Pass `force=true` to allow this, otherwise remove "' + s + '" from the list of extensions for "' + e + '".'
          );
        this._types[s] = e;
      }
    }
    if (n || !this._extensions[e]) {
      const a = i[0];
      this._extensions[e] = a[0] !== "*" ? a : a.substr(1);
    }
  }
};
rn.prototype.getType = function(t) {
  t = String(t);
  let n = t.replace(/^.*[/\\]/, "").toLowerCase(), e = n.replace(/^.*\./, "").toLowerCase(), i = n.length < t.length;
  return (e.length < n.length - 1 || !i) && this._types[e] || null;
};
rn.prototype.getExtension = function(t) {
  return t = /^\s*([^;\s]*)/.test(t) && RegExp.$1, t && this._extensions[t.toLowerCase()] || null;
};
var Ko = rn, Xo = { "application/andrew-inset": ["ez"], "application/applixware": ["aw"], "application/atom+xml": ["atom"], "application/atomcat+xml": ["atomcat"], "application/atomdeleted+xml": ["atomdeleted"], "application/atomsvc+xml": ["atomsvc"], "application/atsc-dwd+xml": ["dwd"], "application/atsc-held+xml": ["held"], "application/atsc-rsat+xml": ["rsat"], "application/bdoc": ["bdoc"], "application/calendar+xml": ["xcs"], "application/ccxml+xml": ["ccxml"], "application/cdfx+xml": ["cdfx"], "application/cdmi-capability": ["cdmia"], "application/cdmi-container": ["cdmic"], "application/cdmi-domain": ["cdmid"], "application/cdmi-object": ["cdmio"], "application/cdmi-queue": ["cdmiq"], "application/cu-seeme": ["cu"], "application/dash+xml": ["mpd"], "application/davmount+xml": ["davmount"], "application/docbook+xml": ["dbk"], "application/dssc+der": ["dssc"], "application/dssc+xml": ["xdssc"], "application/ecmascript": ["es", "ecma"], "application/emma+xml": ["emma"], "application/emotionml+xml": ["emotionml"], "application/epub+zip": ["epub"], "application/exi": ["exi"], "application/express": ["exp"], "application/fdt+xml": ["fdt"], "application/font-tdpfr": ["pfr"], "application/geo+json": ["geojson"], "application/gml+xml": ["gml"], "application/gpx+xml": ["gpx"], "application/gxf": ["gxf"], "application/gzip": ["gz"], "application/hjson": ["hjson"], "application/hyperstudio": ["stk"], "application/inkml+xml": ["ink", "inkml"], "application/ipfix": ["ipfix"], "application/its+xml": ["its"], "application/java-archive": ["jar", "war", "ear"], "application/java-serialized-object": ["ser"], "application/java-vm": ["class"], "application/javascript": ["js", "mjs"], "application/json": ["json", "map"], "application/json5": ["json5"], "application/jsonml+json": ["jsonml"], "application/ld+json": ["jsonld"], "application/lgr+xml": ["lgr"], "application/lost+xml": ["lostxml"], "application/mac-binhex40": ["hqx"], "application/mac-compactpro": ["cpt"], "application/mads+xml": ["mads"], "application/manifest+json": ["webmanifest"], "application/marc": ["mrc"], "application/marcxml+xml": ["mrcx"], "application/mathematica": ["ma", "nb", "mb"], "application/mathml+xml": ["mathml"], "application/mbox": ["mbox"], "application/mediaservercontrol+xml": ["mscml"], "application/metalink+xml": ["metalink"], "application/metalink4+xml": ["meta4"], "application/mets+xml": ["mets"], "application/mmt-aei+xml": ["maei"], "application/mmt-usd+xml": ["musd"], "application/mods+xml": ["mods"], "application/mp21": ["m21", "mp21"], "application/mp4": ["mp4s", "m4p"], "application/msword": ["doc", "dot"], "application/mxf": ["mxf"], "application/n-quads": ["nq"], "application/n-triples": ["nt"], "application/node": ["cjs"], "application/octet-stream": ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"], "application/oda": ["oda"], "application/oebps-package+xml": ["opf"], "application/ogg": ["ogx"], "application/omdoc+xml": ["omdoc"], "application/onenote": ["onetoc", "onetoc2", "onetmp", "onepkg"], "application/oxps": ["oxps"], "application/p2p-overlay+xml": ["relo"], "application/patch-ops-error+xml": ["xer"], "application/pdf": ["pdf"], "application/pgp-encrypted": ["pgp"], "application/pgp-signature": ["asc", "sig"], "application/pics-rules": ["prf"], "application/pkcs10": ["p10"], "application/pkcs7-mime": ["p7m", "p7c"], "application/pkcs7-signature": ["p7s"], "application/pkcs8": ["p8"], "application/pkix-attr-cert": ["ac"], "application/pkix-cert": ["cer"], "application/pkix-crl": ["crl"], "application/pkix-pkipath": ["pkipath"], "application/pkixcmp": ["pki"], "application/pls+xml": ["pls"], "application/postscript": ["ai", "eps", "ps"], "application/provenance+xml": ["provx"], "application/pskc+xml": ["pskcxml"], "application/raml+yaml": ["raml"], "application/rdf+xml": ["rdf", "owl"], "application/reginfo+xml": ["rif"], "application/relax-ng-compact-syntax": ["rnc"], "application/resource-lists+xml": ["rl"], "application/resource-lists-diff+xml": ["rld"], "application/rls-services+xml": ["rs"], "application/route-apd+xml": ["rapd"], "application/route-s-tsid+xml": ["sls"], "application/route-usd+xml": ["rusd"], "application/rpki-ghostbusters": ["gbr"], "application/rpki-manifest": ["mft"], "application/rpki-roa": ["roa"], "application/rsd+xml": ["rsd"], "application/rss+xml": ["rss"], "application/rtf": ["rtf"], "application/sbml+xml": ["sbml"], "application/scvp-cv-request": ["scq"], "application/scvp-cv-response": ["scs"], "application/scvp-vp-request": ["spq"], "application/scvp-vp-response": ["spp"], "application/sdp": ["sdp"], "application/senml+xml": ["senmlx"], "application/sensml+xml": ["sensmlx"], "application/set-payment-initiation": ["setpay"], "application/set-registration-initiation": ["setreg"], "application/shf+xml": ["shf"], "application/sieve": ["siv", "sieve"], "application/smil+xml": ["smi", "smil"], "application/sparql-query": ["rq"], "application/sparql-results+xml": ["srx"], "application/srgs": ["gram"], "application/srgs+xml": ["grxml"], "application/sru+xml": ["sru"], "application/ssdl+xml": ["ssdl"], "application/ssml+xml": ["ssml"], "application/swid+xml": ["swidtag"], "application/tei+xml": ["tei", "teicorpus"], "application/thraud+xml": ["tfi"], "application/timestamped-data": ["tsd"], "application/toml": ["toml"], "application/trig": ["trig"], "application/ttml+xml": ["ttml"], "application/ubjson": ["ubj"], "application/urc-ressheet+xml": ["rsheet"], "application/urc-targetdesc+xml": ["td"], "application/voicexml+xml": ["vxml"], "application/wasm": ["wasm"], "application/widget": ["wgt"], "application/winhlp": ["hlp"], "application/wsdl+xml": ["wsdl"], "application/wspolicy+xml": ["wspolicy"], "application/xaml+xml": ["xaml"], "application/xcap-att+xml": ["xav"], "application/xcap-caps+xml": ["xca"], "application/xcap-diff+xml": ["xdf"], "application/xcap-el+xml": ["xel"], "application/xcap-ns+xml": ["xns"], "application/xenc+xml": ["xenc"], "application/xhtml+xml": ["xhtml", "xht"], "application/xliff+xml": ["xlf"], "application/xml": ["xml", "xsl", "xsd", "rng"], "application/xml-dtd": ["dtd"], "application/xop+xml": ["xop"], "application/xproc+xml": ["xpl"], "application/xslt+xml": ["*xsl", "xslt"], "application/xspf+xml": ["xspf"], "application/xv+xml": ["mxml", "xhvml", "xvml", "xvm"], "application/yang": ["yang"], "application/yin+xml": ["yin"], "application/zip": ["zip"], "audio/3gpp": ["*3gpp"], "audio/adpcm": ["adp"], "audio/amr": ["amr"], "audio/basic": ["au", "snd"], "audio/midi": ["mid", "midi", "kar", "rmi"], "audio/mobile-xmf": ["mxmf"], "audio/mp3": ["*mp3"], "audio/mp4": ["m4a", "mp4a"], "audio/mpeg": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"], "audio/ogg": ["oga", "ogg", "spx", "opus"], "audio/s3m": ["s3m"], "audio/silk": ["sil"], "audio/wav": ["wav"], "audio/wave": ["*wav"], "audio/webm": ["weba"], "audio/xm": ["xm"], "font/collection": ["ttc"], "font/otf": ["otf"], "font/ttf": ["ttf"], "font/woff": ["woff"], "font/woff2": ["woff2"], "image/aces": ["exr"], "image/apng": ["apng"], "image/avif": ["avif"], "image/bmp": ["bmp"], "image/cgm": ["cgm"], "image/dicom-rle": ["drle"], "image/emf": ["emf"], "image/fits": ["fits"], "image/g3fax": ["g3"], "image/gif": ["gif"], "image/heic": ["heic"], "image/heic-sequence": ["heics"], "image/heif": ["heif"], "image/heif-sequence": ["heifs"], "image/hej2k": ["hej2"], "image/hsj2": ["hsj2"], "image/ief": ["ief"], "image/jls": ["jls"], "image/jp2": ["jp2", "jpg2"], "image/jpeg": ["jpeg", "jpg", "jpe"], "image/jph": ["jph"], "image/jphc": ["jhc"], "image/jpm": ["jpm"], "image/jpx": ["jpx", "jpf"], "image/jxr": ["jxr"], "image/jxra": ["jxra"], "image/jxrs": ["jxrs"], "image/jxs": ["jxs"], "image/jxsc": ["jxsc"], "image/jxsi": ["jxsi"], "image/jxss": ["jxss"], "image/ktx": ["ktx"], "image/ktx2": ["ktx2"], "image/png": ["png"], "image/sgi": ["sgi"], "image/svg+xml": ["svg", "svgz"], "image/t38": ["t38"], "image/tiff": ["tif", "tiff"], "image/tiff-fx": ["tfx"], "image/webp": ["webp"], "image/wmf": ["wmf"], "message/disposition-notification": ["disposition-notification"], "message/global": ["u8msg"], "message/global-delivery-status": ["u8dsn"], "message/global-disposition-notification": ["u8mdn"], "message/global-headers": ["u8hdr"], "message/rfc822": ["eml", "mime"], "model/3mf": ["3mf"], "model/gltf+json": ["gltf"], "model/gltf-binary": ["glb"], "model/iges": ["igs", "iges"], "model/mesh": ["msh", "mesh", "silo"], "model/mtl": ["mtl"], "model/obj": ["obj"], "model/step+xml": ["stpx"], "model/step+zip": ["stpz"], "model/step-xml+zip": ["stpxz"], "model/stl": ["stl"], "model/vrml": ["wrl", "vrml"], "model/x3d+binary": ["*x3db", "x3dbz"], "model/x3d+fastinfoset": ["x3db"], "model/x3d+vrml": ["*x3dv", "x3dvz"], "model/x3d+xml": ["x3d", "x3dz"], "model/x3d-vrml": ["x3dv"], "text/cache-manifest": ["appcache", "manifest"], "text/calendar": ["ics", "ifb"], "text/coffeescript": ["coffee", "litcoffee"], "text/css": ["css"], "text/csv": ["csv"], "text/html": ["html", "htm", "shtml"], "text/jade": ["jade"], "text/jsx": ["jsx"], "text/less": ["less"], "text/markdown": ["markdown", "md"], "text/mathml": ["mml"], "text/mdx": ["mdx"], "text/n3": ["n3"], "text/plain": ["txt", "text", "conf", "def", "list", "log", "in", "ini"], "text/richtext": ["rtx"], "text/rtf": ["*rtf"], "text/sgml": ["sgml", "sgm"], "text/shex": ["shex"], "text/slim": ["slim", "slm"], "text/spdx": ["spdx"], "text/stylus": ["stylus", "styl"], "text/tab-separated-values": ["tsv"], "text/troff": ["t", "tr", "roff", "man", "me", "ms"], "text/turtle": ["ttl"], "text/uri-list": ["uri", "uris", "urls"], "text/vcard": ["vcard"], "text/vtt": ["vtt"], "text/xml": ["*xml"], "text/yaml": ["yaml", "yml"], "video/3gpp": ["3gp", "3gpp"], "video/3gpp2": ["3g2"], "video/h261": ["h261"], "video/h263": ["h263"], "video/h264": ["h264"], "video/iso.segment": ["m4s"], "video/jpeg": ["jpgv"], "video/jpm": ["*jpm", "jpgm"], "video/mj2": ["mj2", "mjp2"], "video/mp2t": ["ts"], "video/mp4": ["mp4", "mp4v", "mpg4"], "video/mpeg": ["mpeg", "mpg", "mpe", "m1v", "m2v"], "video/ogg": ["ogv"], "video/quicktime": ["qt", "mov"], "video/webm": ["webm"] }, $o = { "application/prs.cww": ["cww"], "application/vnd.1000minds.decision-model+xml": ["1km"], "application/vnd.3gpp.pic-bw-large": ["plb"], "application/vnd.3gpp.pic-bw-small": ["psb"], "application/vnd.3gpp.pic-bw-var": ["pvb"], "application/vnd.3gpp2.tcap": ["tcap"], "application/vnd.3m.post-it-notes": ["pwn"], "application/vnd.accpac.simply.aso": ["aso"], "application/vnd.accpac.simply.imp": ["imp"], "application/vnd.acucobol": ["acu"], "application/vnd.acucorp": ["atc", "acutc"], "application/vnd.adobe.air-application-installer-package+zip": ["air"], "application/vnd.adobe.formscentral.fcdt": ["fcdt"], "application/vnd.adobe.fxp": ["fxp", "fxpl"], "application/vnd.adobe.xdp+xml": ["xdp"], "application/vnd.adobe.xfdf": ["xfdf"], "application/vnd.ahead.space": ["ahead"], "application/vnd.airzip.filesecure.azf": ["azf"], "application/vnd.airzip.filesecure.azs": ["azs"], "application/vnd.amazon.ebook": ["azw"], "application/vnd.americandynamics.acc": ["acc"], "application/vnd.amiga.ami": ["ami"], "application/vnd.android.package-archive": ["apk"], "application/vnd.anser-web-certificate-issue-initiation": ["cii"], "application/vnd.anser-web-funds-transfer-initiation": ["fti"], "application/vnd.antix.game-component": ["atx"], "application/vnd.apple.installer+xml": ["mpkg"], "application/vnd.apple.keynote": ["key"], "application/vnd.apple.mpegurl": ["m3u8"], "application/vnd.apple.numbers": ["numbers"], "application/vnd.apple.pages": ["pages"], "application/vnd.apple.pkpass": ["pkpass"], "application/vnd.aristanetworks.swi": ["swi"], "application/vnd.astraea-software.iota": ["iota"], "application/vnd.audiograph": ["aep"], "application/vnd.balsamiq.bmml+xml": ["bmml"], "application/vnd.blueice.multipass": ["mpm"], "application/vnd.bmi": ["bmi"], "application/vnd.businessobjects": ["rep"], "application/vnd.chemdraw+xml": ["cdxml"], "application/vnd.chipnuts.karaoke-mmd": ["mmd"], "application/vnd.cinderella": ["cdy"], "application/vnd.citationstyles.style+xml": ["csl"], "application/vnd.claymore": ["cla"], "application/vnd.cloanto.rp9": ["rp9"], "application/vnd.clonk.c4group": ["c4g", "c4d", "c4f", "c4p", "c4u"], "application/vnd.cluetrust.cartomobile-config": ["c11amc"], "application/vnd.cluetrust.cartomobile-config-pkg": ["c11amz"], "application/vnd.commonspace": ["csp"], "application/vnd.contact.cmsg": ["cdbcmsg"], "application/vnd.cosmocaller": ["cmc"], "application/vnd.crick.clicker": ["clkx"], "application/vnd.crick.clicker.keyboard": ["clkk"], "application/vnd.crick.clicker.palette": ["clkp"], "application/vnd.crick.clicker.template": ["clkt"], "application/vnd.crick.clicker.wordbank": ["clkw"], "application/vnd.criticaltools.wbs+xml": ["wbs"], "application/vnd.ctc-posml": ["pml"], "application/vnd.cups-ppd": ["ppd"], "application/vnd.curl.car": ["car"], "application/vnd.curl.pcurl": ["pcurl"], "application/vnd.dart": ["dart"], "application/vnd.data-vision.rdz": ["rdz"], "application/vnd.dbf": ["dbf"], "application/vnd.dece.data": ["uvf", "uvvf", "uvd", "uvvd"], "application/vnd.dece.ttml+xml": ["uvt", "uvvt"], "application/vnd.dece.unspecified": ["uvx", "uvvx"], "application/vnd.dece.zip": ["uvz", "uvvz"], "application/vnd.denovo.fcselayout-link": ["fe_launch"], "application/vnd.dna": ["dna"], "application/vnd.dolby.mlp": ["mlp"], "application/vnd.dpgraph": ["dpg"], "application/vnd.dreamfactory": ["dfac"], "application/vnd.ds-keypoint": ["kpxx"], "application/vnd.dvb.ait": ["ait"], "application/vnd.dvb.service": ["svc"], "application/vnd.dynageo": ["geo"], "application/vnd.ecowin.chart": ["mag"], "application/vnd.enliven": ["nml"], "application/vnd.epson.esf": ["esf"], "application/vnd.epson.msf": ["msf"], "application/vnd.epson.quickanime": ["qam"], "application/vnd.epson.salt": ["slt"], "application/vnd.epson.ssf": ["ssf"], "application/vnd.eszigno3+xml": ["es3", "et3"], "application/vnd.ezpix-album": ["ez2"], "application/vnd.ezpix-package": ["ez3"], "application/vnd.fdf": ["fdf"], "application/vnd.fdsn.mseed": ["mseed"], "application/vnd.fdsn.seed": ["seed", "dataless"], "application/vnd.flographit": ["gph"], "application/vnd.fluxtime.clip": ["ftc"], "application/vnd.framemaker": ["fm", "frame", "maker", "book"], "application/vnd.frogans.fnc": ["fnc"], "application/vnd.frogans.ltf": ["ltf"], "application/vnd.fsc.weblaunch": ["fsc"], "application/vnd.fujitsu.oasys": ["oas"], "application/vnd.fujitsu.oasys2": ["oa2"], "application/vnd.fujitsu.oasys3": ["oa3"], "application/vnd.fujitsu.oasysgp": ["fg5"], "application/vnd.fujitsu.oasysprs": ["bh2"], "application/vnd.fujixerox.ddd": ["ddd"], "application/vnd.fujixerox.docuworks": ["xdw"], "application/vnd.fujixerox.docuworks.binder": ["xbd"], "application/vnd.fuzzysheet": ["fzs"], "application/vnd.genomatix.tuxedo": ["txd"], "application/vnd.geogebra.file": ["ggb"], "application/vnd.geogebra.tool": ["ggt"], "application/vnd.geometry-explorer": ["gex", "gre"], "application/vnd.geonext": ["gxt"], "application/vnd.geoplan": ["g2w"], "application/vnd.geospace": ["g3w"], "application/vnd.gmx": ["gmx"], "application/vnd.google-apps.document": ["gdoc"], "application/vnd.google-apps.presentation": ["gslides"], "application/vnd.google-apps.spreadsheet": ["gsheet"], "application/vnd.google-earth.kml+xml": ["kml"], "application/vnd.google-earth.kmz": ["kmz"], "application/vnd.grafeq": ["gqf", "gqs"], "application/vnd.groove-account": ["gac"], "application/vnd.groove-help": ["ghf"], "application/vnd.groove-identity-message": ["gim"], "application/vnd.groove-injector": ["grv"], "application/vnd.groove-tool-message": ["gtm"], "application/vnd.groove-tool-template": ["tpl"], "application/vnd.groove-vcard": ["vcg"], "application/vnd.hal+xml": ["hal"], "application/vnd.handheld-entertainment+xml": ["zmm"], "application/vnd.hbci": ["hbci"], "application/vnd.hhe.lesson-player": ["les"], "application/vnd.hp-hpgl": ["hpgl"], "application/vnd.hp-hpid": ["hpid"], "application/vnd.hp-hps": ["hps"], "application/vnd.hp-jlyt": ["jlt"], "application/vnd.hp-pcl": ["pcl"], "application/vnd.hp-pclxl": ["pclxl"], "application/vnd.hydrostatix.sof-data": ["sfd-hdstx"], "application/vnd.ibm.minipay": ["mpy"], "application/vnd.ibm.modcap": ["afp", "listafp", "list3820"], "application/vnd.ibm.rights-management": ["irm"], "application/vnd.ibm.secure-container": ["sc"], "application/vnd.iccprofile": ["icc", "icm"], "application/vnd.igloader": ["igl"], "application/vnd.immervision-ivp": ["ivp"], "application/vnd.immervision-ivu": ["ivu"], "application/vnd.insors.igm": ["igm"], "application/vnd.intercon.formnet": ["xpw", "xpx"], "application/vnd.intergeo": ["i2g"], "application/vnd.intu.qbo": ["qbo"], "application/vnd.intu.qfx": ["qfx"], "application/vnd.ipunplugged.rcprofile": ["rcprofile"], "application/vnd.irepository.package+xml": ["irp"], "application/vnd.is-xpr": ["xpr"], "application/vnd.isac.fcs": ["fcs"], "application/vnd.jam": ["jam"], "application/vnd.jcp.javame.midlet-rms": ["rms"], "application/vnd.jisp": ["jisp"], "application/vnd.joost.joda-archive": ["joda"], "application/vnd.kahootz": ["ktz", "ktr"], "application/vnd.kde.karbon": ["karbon"], "application/vnd.kde.kchart": ["chrt"], "application/vnd.kde.kformula": ["kfo"], "application/vnd.kde.kivio": ["flw"], "application/vnd.kde.kontour": ["kon"], "application/vnd.kde.kpresenter": ["kpr", "kpt"], "application/vnd.kde.kspread": ["ksp"], "application/vnd.kde.kword": ["kwd", "kwt"], "application/vnd.kenameaapp": ["htke"], "application/vnd.kidspiration": ["kia"], "application/vnd.kinar": ["kne", "knp"], "application/vnd.koan": ["skp", "skd", "skt", "skm"], "application/vnd.kodak-descriptor": ["sse"], "application/vnd.las.las+xml": ["lasxml"], "application/vnd.llamagraphics.life-balance.desktop": ["lbd"], "application/vnd.llamagraphics.life-balance.exchange+xml": ["lbe"], "application/vnd.lotus-1-2-3": ["123"], "application/vnd.lotus-approach": ["apr"], "application/vnd.lotus-freelance": ["pre"], "application/vnd.lotus-notes": ["nsf"], "application/vnd.lotus-organizer": ["org"], "application/vnd.lotus-screencam": ["scm"], "application/vnd.lotus-wordpro": ["lwp"], "application/vnd.macports.portpkg": ["portpkg"], "application/vnd.mapbox-vector-tile": ["mvt"], "application/vnd.mcd": ["mcd"], "application/vnd.medcalcdata": ["mc1"], "application/vnd.mediastation.cdkey": ["cdkey"], "application/vnd.mfer": ["mwf"], "application/vnd.mfmp": ["mfm"], "application/vnd.micrografx.flo": ["flo"], "application/vnd.micrografx.igx": ["igx"], "application/vnd.mif": ["mif"], "application/vnd.mobius.daf": ["daf"], "application/vnd.mobius.dis": ["dis"], "application/vnd.mobius.mbk": ["mbk"], "application/vnd.mobius.mqy": ["mqy"], "application/vnd.mobius.msl": ["msl"], "application/vnd.mobius.plc": ["plc"], "application/vnd.mobius.txf": ["txf"], "application/vnd.mophun.application": ["mpn"], "application/vnd.mophun.certificate": ["mpc"], "application/vnd.mozilla.xul+xml": ["xul"], "application/vnd.ms-artgalry": ["cil"], "application/vnd.ms-cab-compressed": ["cab"], "application/vnd.ms-excel": ["xls", "xlm", "xla", "xlc", "xlt", "xlw"], "application/vnd.ms-excel.addin.macroenabled.12": ["xlam"], "application/vnd.ms-excel.sheet.binary.macroenabled.12": ["xlsb"], "application/vnd.ms-excel.sheet.macroenabled.12": ["xlsm"], "application/vnd.ms-excel.template.macroenabled.12": ["xltm"], "application/vnd.ms-fontobject": ["eot"], "application/vnd.ms-htmlhelp": ["chm"], "application/vnd.ms-ims": ["ims"], "application/vnd.ms-lrm": ["lrm"], "application/vnd.ms-officetheme": ["thmx"], "application/vnd.ms-outlook": ["msg"], "application/vnd.ms-pki.seccat": ["cat"], "application/vnd.ms-pki.stl": ["*stl"], "application/vnd.ms-powerpoint": ["ppt", "pps", "pot"], "application/vnd.ms-powerpoint.addin.macroenabled.12": ["ppam"], "application/vnd.ms-powerpoint.presentation.macroenabled.12": ["pptm"], "application/vnd.ms-powerpoint.slide.macroenabled.12": ["sldm"], "application/vnd.ms-powerpoint.slideshow.macroenabled.12": ["ppsm"], "application/vnd.ms-powerpoint.template.macroenabled.12": ["potm"], "application/vnd.ms-project": ["mpp", "mpt"], "application/vnd.ms-word.document.macroenabled.12": ["docm"], "application/vnd.ms-word.template.macroenabled.12": ["dotm"], "application/vnd.ms-works": ["wps", "wks", "wcm", "wdb"], "application/vnd.ms-wpl": ["wpl"], "application/vnd.ms-xpsdocument": ["xps"], "application/vnd.mseq": ["mseq"], "application/vnd.musician": ["mus"], "application/vnd.muvee.style": ["msty"], "application/vnd.mynfc": ["taglet"], "application/vnd.neurolanguage.nlu": ["nlu"], "application/vnd.nitf": ["ntf", "nitf"], "application/vnd.noblenet-directory": ["nnd"], "application/vnd.noblenet-sealer": ["nns"], "application/vnd.noblenet-web": ["nnw"], "application/vnd.nokia.n-gage.ac+xml": ["*ac"], "application/vnd.nokia.n-gage.data": ["ngdat"], "application/vnd.nokia.n-gage.symbian.install": ["n-gage"], "application/vnd.nokia.radio-preset": ["rpst"], "application/vnd.nokia.radio-presets": ["rpss"], "application/vnd.novadigm.edm": ["edm"], "application/vnd.novadigm.edx": ["edx"], "application/vnd.novadigm.ext": ["ext"], "application/vnd.oasis.opendocument.chart": ["odc"], "application/vnd.oasis.opendocument.chart-template": ["otc"], "application/vnd.oasis.opendocument.database": ["odb"], "application/vnd.oasis.opendocument.formula": ["odf"], "application/vnd.oasis.opendocument.formula-template": ["odft"], "application/vnd.oasis.opendocument.graphics": ["odg"], "application/vnd.oasis.opendocument.graphics-template": ["otg"], "application/vnd.oasis.opendocument.image": ["odi"], "application/vnd.oasis.opendocument.image-template": ["oti"], "application/vnd.oasis.opendocument.presentation": ["odp"], "application/vnd.oasis.opendocument.presentation-template": ["otp"], "application/vnd.oasis.opendocument.spreadsheet": ["ods"], "application/vnd.oasis.opendocument.spreadsheet-template": ["ots"], "application/vnd.oasis.opendocument.text": ["odt"], "application/vnd.oasis.opendocument.text-master": ["odm"], "application/vnd.oasis.opendocument.text-template": ["ott"], "application/vnd.oasis.opendocument.text-web": ["oth"], "application/vnd.olpc-sugar": ["xo"], "application/vnd.oma.dd2+xml": ["dd2"], "application/vnd.openblox.game+xml": ["obgx"], "application/vnd.openofficeorg.extension": ["oxt"], "application/vnd.openstreetmap.data+xml": ["osm"], "application/vnd.openxmlformats-officedocument.presentationml.presentation": ["pptx"], "application/vnd.openxmlformats-officedocument.presentationml.slide": ["sldx"], "application/vnd.openxmlformats-officedocument.presentationml.slideshow": ["ppsx"], "application/vnd.openxmlformats-officedocument.presentationml.template": ["potx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ["xlsx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.template": ["xltx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.document": ["docx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.template": ["dotx"], "application/vnd.osgeo.mapguide.package": ["mgp"], "application/vnd.osgi.dp": ["dp"], "application/vnd.osgi.subsystem": ["esa"], "application/vnd.palm": ["pdb", "pqa", "oprc"], "application/vnd.pawaafile": ["paw"], "application/vnd.pg.format": ["str"], "application/vnd.pg.osasli": ["ei6"], "application/vnd.picsel": ["efif"], "application/vnd.pmi.widget": ["wg"], "application/vnd.pocketlearn": ["plf"], "application/vnd.powerbuilder6": ["pbd"], "application/vnd.previewsystems.box": ["box"], "application/vnd.proteus.magazine": ["mgz"], "application/vnd.publishare-delta-tree": ["qps"], "application/vnd.pvi.ptid1": ["ptid"], "application/vnd.quark.quarkxpress": ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"], "application/vnd.rar": ["rar"], "application/vnd.realvnc.bed": ["bed"], "application/vnd.recordare.musicxml": ["mxl"], "application/vnd.recordare.musicxml+xml": ["musicxml"], "application/vnd.rig.cryptonote": ["cryptonote"], "application/vnd.rim.cod": ["cod"], "application/vnd.rn-realmedia": ["rm"], "application/vnd.rn-realmedia-vbr": ["rmvb"], "application/vnd.route66.link66+xml": ["link66"], "application/vnd.sailingtracker.track": ["st"], "application/vnd.seemail": ["see"], "application/vnd.sema": ["sema"], "application/vnd.semd": ["semd"], "application/vnd.semf": ["semf"], "application/vnd.shana.informed.formdata": ["ifm"], "application/vnd.shana.informed.formtemplate": ["itp"], "application/vnd.shana.informed.interchange": ["iif"], "application/vnd.shana.informed.package": ["ipk"], "application/vnd.simtech-mindmapper": ["twd", "twds"], "application/vnd.smaf": ["mmf"], "application/vnd.smart.teacher": ["teacher"], "application/vnd.software602.filler.form+xml": ["fo"], "application/vnd.solent.sdkm+xml": ["sdkm", "sdkd"], "application/vnd.spotfire.dxp": ["dxp"], "application/vnd.spotfire.sfs": ["sfs"], "application/vnd.stardivision.calc": ["sdc"], "application/vnd.stardivision.draw": ["sda"], "application/vnd.stardivision.impress": ["sdd"], "application/vnd.stardivision.math": ["smf"], "application/vnd.stardivision.writer": ["sdw", "vor"], "application/vnd.stardivision.writer-global": ["sgl"], "application/vnd.stepmania.package": ["smzip"], "application/vnd.stepmania.stepchart": ["sm"], "application/vnd.sun.wadl+xml": ["wadl"], "application/vnd.sun.xml.calc": ["sxc"], "application/vnd.sun.xml.calc.template": ["stc"], "application/vnd.sun.xml.draw": ["sxd"], "application/vnd.sun.xml.draw.template": ["std"], "application/vnd.sun.xml.impress": ["sxi"], "application/vnd.sun.xml.impress.template": ["sti"], "application/vnd.sun.xml.math": ["sxm"], "application/vnd.sun.xml.writer": ["sxw"], "application/vnd.sun.xml.writer.global": ["sxg"], "application/vnd.sun.xml.writer.template": ["stw"], "application/vnd.sus-calendar": ["sus", "susp"], "application/vnd.svd": ["svd"], "application/vnd.symbian.install": ["sis", "sisx"], "application/vnd.syncml+xml": ["xsm"], "application/vnd.syncml.dm+wbxml": ["bdm"], "application/vnd.syncml.dm+xml": ["xdm"], "application/vnd.syncml.dmddf+xml": ["ddf"], "application/vnd.tao.intent-module-archive": ["tao"], "application/vnd.tcpdump.pcap": ["pcap", "cap", "dmp"], "application/vnd.tmobile-livetv": ["tmo"], "application/vnd.trid.tpt": ["tpt"], "application/vnd.triscape.mxs": ["mxs"], "application/vnd.trueapp": ["tra"], "application/vnd.ufdl": ["ufd", "ufdl"], "application/vnd.uiq.theme": ["utz"], "application/vnd.umajin": ["umj"], "application/vnd.unity": ["unityweb"], "application/vnd.uoml+xml": ["uoml"], "application/vnd.vcx": ["vcx"], "application/vnd.visio": ["vsd", "vst", "vss", "vsw"], "application/vnd.visionary": ["vis"], "application/vnd.vsf": ["vsf"], "application/vnd.wap.wbxml": ["wbxml"], "application/vnd.wap.wmlc": ["wmlc"], "application/vnd.wap.wmlscriptc": ["wmlsc"], "application/vnd.webturbo": ["wtb"], "application/vnd.wolfram.player": ["nbp"], "application/vnd.wordperfect": ["wpd"], "application/vnd.wqd": ["wqd"], "application/vnd.wt.stf": ["stf"], "application/vnd.xara": ["xar"], "application/vnd.xfdl": ["xfdl"], "application/vnd.yamaha.hv-dic": ["hvd"], "application/vnd.yamaha.hv-script": ["hvs"], "application/vnd.yamaha.hv-voice": ["hvp"], "application/vnd.yamaha.openscoreformat": ["osf"], "application/vnd.yamaha.openscoreformat.osfpvg+xml": ["osfpvg"], "application/vnd.yamaha.smaf-audio": ["saf"], "application/vnd.yamaha.smaf-phrase": ["spf"], "application/vnd.yellowriver-custom-menu": ["cmp"], "application/vnd.zul": ["zir", "zirz"], "application/vnd.zzazz.deck+xml": ["zaz"], "application/x-7z-compressed": ["7z"], "application/x-abiword": ["abw"], "application/x-ace-compressed": ["ace"], "application/x-apple-diskimage": ["*dmg"], "application/x-arj": ["arj"], "application/x-authorware-bin": ["aab", "x32", "u32", "vox"], "application/x-authorware-map": ["aam"], "application/x-authorware-seg": ["aas"], "application/x-bcpio": ["bcpio"], "application/x-bdoc": ["*bdoc"], "application/x-bittorrent": ["torrent"], "application/x-blorb": ["blb", "blorb"], "application/x-bzip": ["bz"], "application/x-bzip2": ["bz2", "boz"], "application/x-cbr": ["cbr", "cba", "cbt", "cbz", "cb7"], "application/x-cdlink": ["vcd"], "application/x-cfs-compressed": ["cfs"], "application/x-chat": ["chat"], "application/x-chess-pgn": ["pgn"], "application/x-chrome-extension": ["crx"], "application/x-cocoa": ["cco"], "application/x-conference": ["nsc"], "application/x-cpio": ["cpio"], "application/x-csh": ["csh"], "application/x-debian-package": ["*deb", "udeb"], "application/x-dgc-compressed": ["dgc"], "application/x-director": ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"], "application/x-doom": ["wad"], "application/x-dtbncx+xml": ["ncx"], "application/x-dtbook+xml": ["dtb"], "application/x-dtbresource+xml": ["res"], "application/x-dvi": ["dvi"], "application/x-envoy": ["evy"], "application/x-eva": ["eva"], "application/x-font-bdf": ["bdf"], "application/x-font-ghostscript": ["gsf"], "application/x-font-linux-psf": ["psf"], "application/x-font-pcf": ["pcf"], "application/x-font-snf": ["snf"], "application/x-font-type1": ["pfa", "pfb", "pfm", "afm"], "application/x-freearc": ["arc"], "application/x-futuresplash": ["spl"], "application/x-gca-compressed": ["gca"], "application/x-glulx": ["ulx"], "application/x-gnumeric": ["gnumeric"], "application/x-gramps-xml": ["gramps"], "application/x-gtar": ["gtar"], "application/x-hdf": ["hdf"], "application/x-httpd-php": ["php"], "application/x-install-instructions": ["install"], "application/x-iso9660-image": ["*iso"], "application/x-iwork-keynote-sffkey": ["*key"], "application/x-iwork-numbers-sffnumbers": ["*numbers"], "application/x-iwork-pages-sffpages": ["*pages"], "application/x-java-archive-diff": ["jardiff"], "application/x-java-jnlp-file": ["jnlp"], "application/x-keepass2": ["kdbx"], "application/x-latex": ["latex"], "application/x-lua-bytecode": ["luac"], "application/x-lzh-compressed": ["lzh", "lha"], "application/x-makeself": ["run"], "application/x-mie": ["mie"], "application/x-mobipocket-ebook": ["prc", "mobi"], "application/x-ms-application": ["application"], "application/x-ms-shortcut": ["lnk"], "application/x-ms-wmd": ["wmd"], "application/x-ms-wmz": ["wmz"], "application/x-ms-xbap": ["xbap"], "application/x-msaccess": ["mdb"], "application/x-msbinder": ["obd"], "application/x-mscardfile": ["crd"], "application/x-msclip": ["clp"], "application/x-msdos-program": ["*exe"], "application/x-msdownload": ["*exe", "*dll", "com", "bat", "*msi"], "application/x-msmediaview": ["mvb", "m13", "m14"], "application/x-msmetafile": ["*wmf", "*wmz", "*emf", "emz"], "application/x-msmoney": ["mny"], "application/x-mspublisher": ["pub"], "application/x-msschedule": ["scd"], "application/x-msterminal": ["trm"], "application/x-mswrite": ["wri"], "application/x-netcdf": ["nc", "cdf"], "application/x-ns-proxy-autoconfig": ["pac"], "application/x-nzb": ["nzb"], "application/x-perl": ["pl", "pm"], "application/x-pilot": ["*prc", "*pdb"], "application/x-pkcs12": ["p12", "pfx"], "application/x-pkcs7-certificates": ["p7b", "spc"], "application/x-pkcs7-certreqresp": ["p7r"], "application/x-rar-compressed": ["*rar"], "application/x-redhat-package-manager": ["rpm"], "application/x-research-info-systems": ["ris"], "application/x-sea": ["sea"], "application/x-sh": ["sh"], "application/x-shar": ["shar"], "application/x-shockwave-flash": ["swf"], "application/x-silverlight-app": ["xap"], "application/x-sql": ["sql"], "application/x-stuffit": ["sit"], "application/x-stuffitx": ["sitx"], "application/x-subrip": ["srt"], "application/x-sv4cpio": ["sv4cpio"], "application/x-sv4crc": ["sv4crc"], "application/x-t3vm-image": ["t3"], "application/x-tads": ["gam"], "application/x-tar": ["tar"], "application/x-tcl": ["tcl", "tk"], "application/x-tex": ["tex"], "application/x-tex-tfm": ["tfm"], "application/x-texinfo": ["texinfo", "texi"], "application/x-tgif": ["*obj"], "application/x-ustar": ["ustar"], "application/x-virtualbox-hdd": ["hdd"], "application/x-virtualbox-ova": ["ova"], "application/x-virtualbox-ovf": ["ovf"], "application/x-virtualbox-vbox": ["vbox"], "application/x-virtualbox-vbox-extpack": ["vbox-extpack"], "application/x-virtualbox-vdi": ["vdi"], "application/x-virtualbox-vhd": ["vhd"], "application/x-virtualbox-vmdk": ["vmdk"], "application/x-wais-source": ["src"], "application/x-web-app-manifest+json": ["webapp"], "application/x-x509-ca-cert": ["der", "crt", "pem"], "application/x-xfig": ["fig"], "application/x-xliff+xml": ["*xlf"], "application/x-xpinstall": ["xpi"], "application/x-xz": ["xz"], "application/x-zmachine": ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"], "audio/vnd.dece.audio": ["uva", "uvva"], "audio/vnd.digital-winds": ["eol"], "audio/vnd.dra": ["dra"], "audio/vnd.dts": ["dts"], "audio/vnd.dts.hd": ["dtshd"], "audio/vnd.lucent.voice": ["lvp"], "audio/vnd.ms-playready.media.pya": ["pya"], "audio/vnd.nuera.ecelp4800": ["ecelp4800"], "audio/vnd.nuera.ecelp7470": ["ecelp7470"], "audio/vnd.nuera.ecelp9600": ["ecelp9600"], "audio/vnd.rip": ["rip"], "audio/x-aac": ["aac"], "audio/x-aiff": ["aif", "aiff", "aifc"], "audio/x-caf": ["caf"], "audio/x-flac": ["flac"], "audio/x-m4a": ["*m4a"], "audio/x-matroska": ["mka"], "audio/x-mpegurl": ["m3u"], "audio/x-ms-wax": ["wax"], "audio/x-ms-wma": ["wma"], "audio/x-pn-realaudio": ["ram", "ra"], "audio/x-pn-realaudio-plugin": ["rmp"], "audio/x-realaudio": ["*ra"], "audio/x-wav": ["*wav"], "chemical/x-cdx": ["cdx"], "chemical/x-cif": ["cif"], "chemical/x-cmdf": ["cmdf"], "chemical/x-cml": ["cml"], "chemical/x-csml": ["csml"], "chemical/x-xyz": ["xyz"], "image/prs.btif": ["btif"], "image/prs.pti": ["pti"], "image/vnd.adobe.photoshop": ["psd"], "image/vnd.airzip.accelerator.azv": ["azv"], "image/vnd.dece.graphic": ["uvi", "uvvi", "uvg", "uvvg"], "image/vnd.djvu": ["djvu", "djv"], "image/vnd.dvb.subtitle": ["*sub"], "image/vnd.dwg": ["dwg"], "image/vnd.dxf": ["dxf"], "image/vnd.fastbidsheet": ["fbs"], "image/vnd.fpx": ["fpx"], "image/vnd.fst": ["fst"], "image/vnd.fujixerox.edmics-mmr": ["mmr"], "image/vnd.fujixerox.edmics-rlc": ["rlc"], "image/vnd.microsoft.icon": ["ico"], "image/vnd.ms-dds": ["dds"], "image/vnd.ms-modi": ["mdi"], "image/vnd.ms-photo": ["wdp"], "image/vnd.net-fpx": ["npx"], "image/vnd.pco.b16": ["b16"], "image/vnd.tencent.tap": ["tap"], "image/vnd.valve.source.texture": ["vtf"], "image/vnd.wap.wbmp": ["wbmp"], "image/vnd.xiff": ["xif"], "image/vnd.zbrush.pcx": ["pcx"], "image/x-3ds": ["3ds"], "image/x-cmu-raster": ["ras"], "image/x-cmx": ["cmx"], "image/x-freehand": ["fh", "fhc", "fh4", "fh5", "fh7"], "image/x-icon": ["*ico"], "image/x-jng": ["jng"], "image/x-mrsid-image": ["sid"], "image/x-ms-bmp": ["*bmp"], "image/x-pcx": ["*pcx"], "image/x-pict": ["pic", "pct"], "image/x-portable-anymap": ["pnm"], "image/x-portable-bitmap": ["pbm"], "image/x-portable-graymap": ["pgm"], "image/x-portable-pixmap": ["ppm"], "image/x-rgb": ["rgb"], "image/x-tga": ["tga"], "image/x-xbitmap": ["xbm"], "image/x-xpixmap": ["xpm"], "image/x-xwindowdump": ["xwd"], "message/vnd.wfa.wsc": ["wsc"], "model/vnd.collada+xml": ["dae"], "model/vnd.dwf": ["dwf"], "model/vnd.gdl": ["gdl"], "model/vnd.gtw": ["gtw"], "model/vnd.mts": ["mts"], "model/vnd.opengex": ["ogex"], "model/vnd.parasolid.transmit.binary": ["x_b"], "model/vnd.parasolid.transmit.text": ["x_t"], "model/vnd.sap.vds": ["vds"], "model/vnd.usdz+zip": ["usdz"], "model/vnd.valve.source.compiled-map": ["bsp"], "model/vnd.vtu": ["vtu"], "text/prs.lines.tag": ["dsc"], "text/vnd.curl": ["curl"], "text/vnd.curl.dcurl": ["dcurl"], "text/vnd.curl.mcurl": ["mcurl"], "text/vnd.curl.scurl": ["scurl"], "text/vnd.dvb.subtitle": ["sub"], "text/vnd.fly": ["fly"], "text/vnd.fmi.flexstor": ["flx"], "text/vnd.graphviz": ["gv"], "text/vnd.in3d.3dml": ["3dml"], "text/vnd.in3d.spot": ["spot"], "text/vnd.sun.j2me.app-descriptor": ["jad"], "text/vnd.wap.wml": ["wml"], "text/vnd.wap.wmlscript": ["wmls"], "text/x-asm": ["s", "asm"], "text/x-c": ["c", "cc", "cxx", "cpp", "h", "hh", "dic"], "text/x-component": ["htc"], "text/x-fortran": ["f", "for", "f77", "f90"], "text/x-handlebars-template": ["hbs"], "text/x-java-source": ["java"], "text/x-lua": ["lua"], "text/x-markdown": ["mkd"], "text/x-nfo": ["nfo"], "text/x-opml": ["opml"], "text/x-org": ["*org"], "text/x-pascal": ["p", "pas"], "text/x-processing": ["pde"], "text/x-sass": ["sass"], "text/x-scss": ["scss"], "text/x-setext": ["etx"], "text/x-sfv": ["sfv"], "text/x-suse-ymp": ["ymp"], "text/x-uuencode": ["uu"], "text/x-vcalendar": ["vcs"], "text/x-vcard": ["vcf"], "video/vnd.dece.hd": ["uvh", "uvvh"], "video/vnd.dece.mobile": ["uvm", "uvvm"], "video/vnd.dece.pd": ["uvp", "uvvp"], "video/vnd.dece.sd": ["uvs", "uvvs"], "video/vnd.dece.video": ["uvv", "uvvv"], "video/vnd.dvb.file": ["dvb"], "video/vnd.fvt": ["fvt"], "video/vnd.mpegurl": ["mxu", "m4u"], "video/vnd.ms-playready.media.pyv": ["pyv"], "video/vnd.uvvu.mp4": ["uvu", "uvvu"], "video/vnd.vivo": ["viv"], "video/x-f4v": ["f4v"], "video/x-fli": ["fli"], "video/x-flv": ["flv"], "video/x-m4v": ["m4v"], "video/x-matroska": ["mkv", "mk3d", "mks"], "video/x-mng": ["mng"], "video/x-ms-asf": ["asf", "asx"], "video/x-ms-vob": ["vob"], "video/x-ms-wm": ["wm"], "video/x-ms-wmv": ["wmv"], "video/x-ms-wmx": ["wmx"], "video/x-ms-wvx": ["wvx"], "video/x-msvideo": ["avi"], "video/x-sgi-movie": ["movie"], "video/x-smv": ["smv"], "x-conference/x-cooltalk": ["ice"] };
let Jo = Ko;
var Qo = new Jo(Xo, $o);
const ec = /* @__PURE__ */ Es(Qo), nc = async (t, n) => {
  const e = new ao(ec.getType("zip")), i = new Mo(e, n);
  t instanceof File && (t = [t]);
  for (const a of t) {
    const s = new Ga(a);
    i.add(a.name, s);
  }
  return i.close(), await e.getData();
};
export {
  nc as default
};