| 389 | var et = /*#__PURE__*/ new u8(0); |
| 390 | // compresses data into a raw DEFLATE buffer |
| 391 | var dflt = function (dat, lvl, plvl, pre, post, st) { |
| 392 | var s = st.z || dat.length; |
| 393 | var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post); |
| 394 | // writing to this writes to the output buffer |
| 395 | var w = o.subarray(pre, o.length - post); |
| 396 | var lst = st.l; |
| 397 | var pos = (st.r || 0) & 7; |
| 398 | if (lvl) { |
| 399 | if (pos) w[0] = st.r >> 3; |
| 400 | var opt = deo[lvl - 1]; |
| 401 | var n = opt >> 13, |
| 402 | c = opt & 8191; |
| 403 | var msk_1 = (1 << plvl) - 1; |
| 404 | // prev 2-byte val map curr 2-byte val map |
| 405 | var prev = st.p || new u16(32768), |
| 406 | head = st.h || new u16(msk_1 + 1); |
| 407 | var bs1_1 = Math.ceil(plvl / 3), |
| 408 | bs2_1 = 2 * bs1_1; |
| 409 | var hsh = function (i) { |
| 410 | return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; |
| 411 | }; |
| 412 | // 24576 is an arbitrary number of maximum symbols per block |
| 413 | // 424 buffer for last block |
| 414 | var syms = new i32(25000); |
| 415 | // length/literal freq distance freq |
| 416 | var lf = new u16(288), |
| 417 | df = new u16(32); |
| 418 | // l/lcnt exbits index l/lind waitdx blkpos |
| 419 | var lc_1 = 0, |
| 420 | eb = 0, |
| 421 | i = st.i || 0, |
| 422 | li = 0, |
| 423 | wi = st.w || 0, |
| 424 | bs = 0; |
| 425 | for (; i + 2 < s; ++i) { |
| 426 | // hash value |
| 427 | var hv = hsh(i); |
| 428 | // index mod 32768 previous index mod |
| 429 | var imod = i & 32767, |
| 430 | pimod = head[hv]; |
| 431 | prev[imod] = pimod; |
| 432 | head[hv] = imod; |
| 433 | // We always should modify head and prev, but only add symbols if |
| 434 | // this data is not yet processed ("wait" for wait index) |
| 435 | if (wi <= i) { |
| 436 | // bytes remaining |
| 437 | var rem = s - i; |
| 438 | if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) { |
| 439 | pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos); |
| 440 | ((li = lc_1 = eb = 0), (bs = i)); |
| 441 | for (var j = 0; j < 286; ++j) lf[j] = 0; |
| 442 | for (var j = 0; j < 30; ++j) df[j] = 0; |
| 443 | } |
| 444 | // len dist chain |
| 445 | var l = 2, |
| 446 | d = 0, |
| 447 | ch_1 = c, |
| 448 | dif = (imod - pimod) & 32767; |