| 550 | }; |
| 551 | // Adler32 |
| 552 | var adler = function () { |
| 553 | var a = 1, |
| 554 | b = 0; |
| 555 | return { |
| 556 | p: function (d) { |
| 557 | // closures have awful performance |
| 558 | var n = a, |
| 559 | m = b; |
| 560 | var l = d.length | 0; |
| 561 | for (var i = 0; i != l; ) { |
| 562 | var e = Math.min(i + 2655, l); |
| 563 | for (; i < e; ++i) m += n += d[i]; |
| 564 | ((n = (n & 65535) + 15 * (n >> 16)), (m = (m & 65535) + 15 * (m >> 16))); |
| 565 | } |
| 566 | ((a = n), (b = m)); |
| 567 | }, |
| 568 | d: function () { |
| 569 | ((a %= 65521), (b %= 65521)); |
| 570 | return ((a & 255) << 24) | ((a & 0xff00) << 8) | ((b & 255) << 8) | (b >> 8); |
| 571 | }, |
| 572 | }; |
| 573 | }; |
| 574 | // deflate with opts |
| 575 | var dopt = function (dat, opt, pre, post, st) { |
| 576 | if (!st) { |