vue-book-reader 1.2.5 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,8 +3,9 @@
3
3
  })(this, (function(exports2, vue) {
4
4
  "use strict";
5
5
  var __vite_style__ = document.createElement("style");
6
- __vite_style__.textContent = "\n.reader[data-v-cbfdb46e] {\r\n position: absolute;\r\n inset: 50px 50px 20px;\n}\n.viewHolder[data-v-cbfdb46e] {\r\n height: 100%;\r\n width: 100%;\r\n position: relative;\n}\n#viewer[data-v-cbfdb46e] {\r\n height: 100%;\n}\r\n\r\n/* ↓ */\n.tocAreaButton .expansion[data-v-56e71b55]::before {\r\n transform: rotate(-45deg) translateX(2.5px);\n}\n.tocAreaButton .expansion[data-v-56e71b55]::after {\r\n transform: rotate(45deg) translateX(-2.5px);\n}\r\n\r\n/* ↑ */\n.tocAreaButton .open[data-v-56e71b55]::before {\r\n transform: rotate(45deg) translateX(2.5px);\n}\n.tocAreaButton .open[data-v-56e71b55]::after {\r\n transform: rotate(-45deg) translateX(-2.5px);\n}\n.tocAreaButton[data-v-56e71b55] {\r\n user-select: none;\r\n appearance: none;\r\n background: none;\r\n border: none;\r\n display: block;\r\n font-family: sans-serif;\r\n width: 100%;\r\n font-size: 0.9em;\r\n text-align: left;\r\n padding: 0.9em 1em;\r\n border-bottom: 1px solid #ddd;\r\n color: #aaa;\r\n box-sizing: border-box;\r\n outline: none;\r\n cursor: pointer;\r\n position: relative;\n}\n.tocAreaButton[data-v-56e71b55]:hover {\r\n background: rgba(0, 0, 0, 0.05);\n}\n.tocAreaButton[data-v-56e71b55]:active {\r\n background: rgba(0, 0, 0, 0.1);\n}\n.active[data-v-56e71b55] {\r\n color: #1565c0;\r\n border-bottom: 2px solid #1565c0;\n}\r\n\r\n/* 二级目录 */\n.tocAreaButton .expansion[data-v-56e71b55] {\r\n cursor: pointer;\r\n transform: translateY(-50%);\r\n top: 50%;\r\n right: 12px;\r\n position: absolute;\r\n width: 10px;\r\n background-color: #a2a5b4;\r\n transition:\r\n transform 0.3s ease-in-out,\r\n top 0.3s ease-in-out;\n}\n.tocAreaButton .expansion[data-v-56e71b55]::after,\r\n.tocAreaButton .expansion[data-v-56e71b55]::before {\r\n content: '';\r\n position: absolute;\r\n width: 6px;\r\n height: 2px;\r\n background-color: currentcolor;\r\n border-radius: 2px;\r\n transition:\r\n transform 0.3s ease-in-out,\r\n top 0.3s ease-in-out;\n}\r\n\r\n/* container */\n.container[data-v-ce33d15c] {\r\n overflow: hidden;\r\n position: relative;\r\n height: 100%;\n}\n.containerExpanded[data-v-ce33d15c] {\r\n transform: translateX(256px);\n}\n.readerArea[data-v-ce33d15c] {\r\n position: relative;\r\n z-index: 1;\r\n height: 100%;\r\n width: 100%;\r\n background-color: #fff;\r\n transition: all 0.3s ease;\n}\n.container .titleArea[data-v-ce33d15c] {\r\n position: absolute;\r\n top: 20px;\r\n left: 50px;\r\n right: 50px;\r\n text-align: center;\r\n color: #999;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\r\n\r\n/* toc */\n.tocBackground[data-v-ce33d15c] {\r\n position: absolute;\r\n left: 256px;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n z-index: 1;\n}\n.tocArea[data-v-ce33d15c] {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n z-index: 0;\r\n width: 256px;\r\n overflow-y: auto;\r\n -webkit-overflow-scrolling: touch;\r\n background: #f2f2f2;\r\n padding: 10px 0;\n}\r\n\r\n/* 滚动条 */\n.tocArea[data-v-ce33d15c]::-webkit-scrollbar {\r\n width: 5px;\r\n height: 5px;\n}\n.tocArea[data-v-ce33d15c]::-webkit-scrollbar-thumb:vertical {\r\n height: 5px;\r\n background-color: rgba(0, 0, 0, 0.1);\r\n border-radius: 0.5rem;\n}\r\n\r\n/* tocButton */\n.tocButton[data-v-ce33d15c] {\r\n background: none;\r\n border: none;\r\n width: 32px;\r\n height: 32px;\r\n position: absolute;\r\n top: 10px;\r\n left: 10px;\r\n border-radius: 2px;\r\n outline: none;\r\n cursor: pointer;\n}\n.tocButtonBar[data-v-ce33d15c] {\r\n position: absolute;\r\n width: 60%;\r\n background: #ccc;\r\n height: 2px;\r\n left: 50%;\r\n margin: -1px -30%;\r\n top: 50%;\r\n transition: all 0.5s ease;\n}\n.tocButtonExpanded[data-v-ce33d15c] {\r\n background: #f2f2f2;\n}\r\n\r\n/* 翻页 */\n.arrow[data-v-ce33d15c] {\r\n outline: none;\r\n border: none;\r\n background: none;\r\n position: absolute;\r\n top: 50%;\r\n margin-top: -32px;\r\n font-size: 64px;\r\n padding: 0 10px;\r\n color: #e2e2e2;\r\n font-family: arial, sans-serif;\r\n cursor: pointer;\r\n user-select: none;\r\n appearance: none;\r\n font-weight: normal;\n}\n.arrow[data-v-ce33d15c]:hover {\r\n color: #777;\n}\n.arrow[data-v-ce33d15c]:disabled {\r\n cursor: not-allowed;\r\n color: #e2e2e2;\n}\n.prev[data-v-ce33d15c] {\r\n left: 1px;\n}\n.next[data-v-ce33d15c] {\r\n right: 1px;\n}\r\n\r\n/* loading */\n.loadingView[data-v-ce33d15c] {\r\n position: absolute;\r\n top: 50%;\r\n left: 10%;\r\n right: 10%;\r\n color: #ccc;\r\n text-align: center;\r\n margin-top: -0.5em;\n}\r\n\r\n/* errorView */\n.errorView[data-v-ce33d15c] {\r\n position: absolute;\r\n top: 50%;\r\n left: 10%;\r\n right: 10%;\r\n color: #c00;\r\n text-align: center;\r\n margin-top: -0.5em;\n}\r\n/*$vite$:1*/";
6
+ __vite_style__.textContent = "\n.reader[data-v-0c743b16] {\r\n position: absolute;\r\n inset: 50px 50px 20px;\n}\n.viewHolder[data-v-0c743b16] {\r\n height: 100%;\r\n width: 100%;\r\n position: relative;\n}\n#viewer[data-v-0c743b16] {\r\n height: 100%;\n}\r\n\r\n/* ↓ */\n.tocAreaButton .expansion[data-v-56e71b55]::before {\r\n transform: rotate(-45deg) translateX(2.5px);\n}\n.tocAreaButton .expansion[data-v-56e71b55]::after {\r\n transform: rotate(45deg) translateX(-2.5px);\n}\r\n\r\n/* ↑ */\n.tocAreaButton .open[data-v-56e71b55]::before {\r\n transform: rotate(45deg) translateX(2.5px);\n}\n.tocAreaButton .open[data-v-56e71b55]::after {\r\n transform: rotate(-45deg) translateX(-2.5px);\n}\n.tocAreaButton[data-v-56e71b55] {\r\n user-select: none;\r\n appearance: none;\r\n background: none;\r\n border: none;\r\n display: block;\r\n font-family: sans-serif;\r\n width: 100%;\r\n font-size: 0.9em;\r\n text-align: left;\r\n padding: 0.9em 1em;\r\n border-bottom: 1px solid #ddd;\r\n color: #aaa;\r\n box-sizing: border-box;\r\n outline: none;\r\n cursor: pointer;\r\n position: relative;\n}\n.tocAreaButton[data-v-56e71b55]:hover {\r\n background: rgba(0, 0, 0, 0.05);\n}\n.tocAreaButton[data-v-56e71b55]:active {\r\n background: rgba(0, 0, 0, 0.1);\n}\n.active[data-v-56e71b55] {\r\n color: #1565c0;\r\n border-bottom: 2px solid #1565c0;\n}\r\n\r\n/* 二级目录 */\n.tocAreaButton .expansion[data-v-56e71b55] {\r\n cursor: pointer;\r\n transform: translateY(-50%);\r\n top: 50%;\r\n right: 12px;\r\n position: absolute;\r\n width: 10px;\r\n background-color: #a2a5b4;\r\n transition:\r\n transform 0.3s ease-in-out,\r\n top 0.3s ease-in-out;\n}\n.tocAreaButton .expansion[data-v-56e71b55]::after,\r\n.tocAreaButton .expansion[data-v-56e71b55]::before {\r\n content: '';\r\n position: absolute;\r\n width: 6px;\r\n height: 2px;\r\n background-color: currentcolor;\r\n border-radius: 2px;\r\n transition:\r\n transform 0.3s ease-in-out,\r\n top 0.3s ease-in-out;\n}\r\n\r\n/* container */\n.container[data-v-ce33d15c] {\r\n overflow: hidden;\r\n position: relative;\r\n height: 100%;\n}\n.containerExpanded[data-v-ce33d15c] {\r\n transform: translateX(256px);\n}\n.readerArea[data-v-ce33d15c] {\r\n position: relative;\r\n z-index: 1;\r\n height: 100%;\r\n width: 100%;\r\n background-color: #fff;\r\n transition: all 0.3s ease;\n}\n.container .titleArea[data-v-ce33d15c] {\r\n position: absolute;\r\n top: 20px;\r\n left: 50px;\r\n right: 50px;\r\n text-align: center;\r\n color: #999;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\r\n\r\n/* toc */\n.tocBackground[data-v-ce33d15c] {\r\n position: absolute;\r\n left: 256px;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n z-index: 1;\n}\n.tocArea[data-v-ce33d15c] {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n z-index: 0;\r\n width: 256px;\r\n overflow-y: auto;\r\n -webkit-overflow-scrolling: touch;\r\n background: #f2f2f2;\r\n padding: 10px 0;\n}\r\n\r\n/* 滚动条 */\n.tocArea[data-v-ce33d15c]::-webkit-scrollbar {\r\n width: 5px;\r\n height: 5px;\n}\n.tocArea[data-v-ce33d15c]::-webkit-scrollbar-thumb:vertical {\r\n height: 5px;\r\n background-color: rgba(0, 0, 0, 0.1);\r\n border-radius: 0.5rem;\n}\r\n\r\n/* tocButton */\n.tocButton[data-v-ce33d15c] {\r\n background: none;\r\n border: none;\r\n width: 32px;\r\n height: 32px;\r\n position: absolute;\r\n top: 10px;\r\n left: 10px;\r\n border-radius: 2px;\r\n outline: none;\r\n cursor: pointer;\n}\n.tocButtonBar[data-v-ce33d15c] {\r\n position: absolute;\r\n width: 60%;\r\n background: #ccc;\r\n height: 2px;\r\n left: 50%;\r\n margin: -1px -30%;\r\n top: 50%;\r\n transition: all 0.5s ease;\n}\n.tocButtonExpanded[data-v-ce33d15c] {\r\n background: #f2f2f2;\n}\r\n\r\n/* 翻页 */\n.arrow[data-v-ce33d15c] {\r\n outline: none;\r\n border: none;\r\n background: none;\r\n position: absolute;\r\n top: 50%;\r\n margin-top: -32px;\r\n font-size: 64px;\r\n padding: 0 10px;\r\n color: #e2e2e2;\r\n font-family: arial, sans-serif;\r\n cursor: pointer;\r\n user-select: none;\r\n appearance: none;\r\n font-weight: normal;\n}\n.arrow[data-v-ce33d15c]:hover {\r\n color: #777;\n}\n.arrow[data-v-ce33d15c]:disabled {\r\n cursor: not-allowed;\r\n color: #e2e2e2;\n}\n.prev[data-v-ce33d15c] {\r\n left: 1px;\n}\n.next[data-v-ce33d15c] {\r\n right: 1px;\n}\r\n\r\n/* loading */\n.loadingView[data-v-ce33d15c] {\r\n position: absolute;\r\n top: 50%;\r\n left: 10%;\r\n right: 10%;\r\n color: #ccc;\r\n text-align: center;\r\n margin-top: -0.5em;\n}\r\n\r\n/* errorView */\n.errorView[data-v-ce33d15c] {\r\n position: absolute;\r\n top: 50%;\r\n left: 10%;\r\n right: 10%;\r\n color: #c00;\r\n text-align: center;\r\n margin-top: -0.5em;\n}\r\n/*$vite$:1*/";
7
7
  document.head.appendChild(__vite_style__);
8
+ var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
8
9
  function keyListener(el, fn) {
9
10
  el.addEventListener(
10
11
  "keyup",
@@ -1619,6 +1620,9 @@
1619
1620
  location: {
1620
1621
  type: [String, Number]
1621
1622
  },
1623
+ initOption: {
1624
+ type: Object
1625
+ },
1622
1626
  tocChanged: Function,
1623
1627
  getRendition: Function
1624
1628
  },
@@ -1636,8 +1640,8 @@
1636
1640
  };
1637
1641
  }
1638
1642
  const props = __props;
1639
- const { tocChanged, getRendition } = props;
1640
- const { url, location } = vue.toRefs(props);
1643
+ const { tocChanged, getRendition, initOption } = props;
1644
+ const { url, location: location2 } = vue.toRefs(props);
1641
1645
  const emit = __emit;
1642
1646
  let view$1 = null;
1643
1647
  const viewer = vue.ref(null);
@@ -1654,20 +1658,20 @@
1654
1658
  }
1655
1659
  await view$1.open(url.value);
1656
1660
  getRendition && getRendition(view$1);
1657
- initReader();
1661
+ await initReader();
1658
1662
  }
1659
1663
  } catch (error) {
1660
1664
  console.error("Error opening book:", error);
1661
1665
  isError.value = true;
1662
1666
  }
1663
1667
  };
1664
- const initReader = () => {
1668
+ const initReader = async () => {
1665
1669
  isLoaded.value = true;
1666
1670
  const { book } = view$1;
1667
1671
  registerEvents();
1668
1672
  tocChanged && tocChanged(book.toc);
1669
- if (location && location.value) {
1670
- view$1 == null ? void 0 : view$1.goTo(location.value);
1673
+ if (initOption) {
1674
+ await view$1.init(initOption);
1671
1675
  } else {
1672
1676
  view$1.renderer.next();
1673
1677
  }
@@ -1734,7 +1738,7 @@
1734
1738
  }
1735
1739
  return target;
1736
1740
  };
1737
- const BookView = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-cbfdb46e"]]);
1741
+ const BookView = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-0c743b16"]]);
1738
1742
  const _hoisted_1$1 = ["onClick"];
1739
1743
  const _hoisted_2$1 = { key: 0 };
1740
1744
  const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
@@ -2127,7 +2131,9 @@
2127
2131
  }
2128
2132
  };
2129
2133
  const nodeToParts = (node, offset, filter2) => {
2130
- const { parentNode, id } = node;
2134
+ let { id, parentNode } = node;
2135
+ while (filter2)
2136
+ parentNode = parentNode.parentNode;
2131
2137
  const indexed = indexChildNodes(parentNode, filter2);
2132
2138
  const index = indexed.findIndex((x2) => Array.isArray(x2) ? x2.some((x3) => x3 === node) : x2 === node);
2133
2139
  const chunk = indexed[index];
@@ -2496,7 +2502,7 @@
2496
2502
  const walker = document.createTreeWalker(root, filter$1, { acceptNode: filterFunc || acceptNode });
2497
2503
  const walk = x2.commonAncestorContainer ? walkRange : walkDocument;
2498
2504
  const nodes = walk(x2, walker);
2499
- const strs = nodes.map((node) => node.nodeValue);
2505
+ const strs = nodes.map((node) => node.nodeValue ?? "");
2500
2506
  const makeRange2 = (startIndex, startOffset, endIndex, endOffset) => {
2501
2507
  const range = document.createRange();
2502
2508
  range.setStart(nodes[startIndex], startOffset);
@@ -2703,6 +2709,8 @@
2703
2709
  #tocProgress;
2704
2710
  #pageProgress;
2705
2711
  #searchResults = /* @__PURE__ */ new Map();
2712
+ #searchDraw;
2713
+ #searchDrawOptions;
2706
2714
  #cursorAutohider = new CursorAutohider(this, () => this.hasAttribute("autohide-cursor"));
2707
2715
  isFixedLayout = false;
2708
2716
  lastLocation;
@@ -2805,6 +2813,17 @@
2805
2813
  await this.next();
2806
2814
  }
2807
2815
  }
2816
+ getLabelByFraction(fraction) {
2817
+ if (!this.#sectionProgress || !this.#tocProgress) return null;
2818
+ try {
2819
+ const [index] = this.#sectionProgress.getSection(fraction);
2820
+ if (index == null) return null;
2821
+ const tocItem = this.#tocProgress.getProgress(index, null);
2822
+ return (tocItem == null ? void 0 : tocItem.label) || null;
2823
+ } catch (e2) {
2824
+ return null;
2825
+ }
2826
+ }
2808
2827
  #emit(name, detail, cancelable) {
2809
2828
  return this.dispatchEvent(new CustomEvent(name, { detail, cancelable }));
2810
2829
  }
@@ -2856,7 +2875,7 @@
2856
2875
  return;
2857
2876
  }
2858
2877
  const range = doc ? anchor2(doc) : anchor2;
2859
- overlayer.add(value, range, Overlayer.outline);
2878
+ overlayer.add(value, range, this.#searchDraw, this.#searchDrawOptions);
2860
2879
  }
2861
2880
  return;
2862
2881
  }
@@ -3017,6 +3036,8 @@
3017
3036
  async *search(opts) {
3018
3037
  var _a;
3019
3038
  this.clearSearch();
3039
+ this.#searchDraw = opts.draw ?? Overlayer.outline;
3040
+ this.#searchDrawOptions = opts.drawOptions;
3020
3041
  const { searchMatcher: searchMatcher2 } = await Promise.resolve().then(() => search$1);
3021
3042
  const { query, index } = opts;
3022
3043
  const matcher = searchMatcher2(
@@ -3071,511 +3092,81 @@
3071
3092
  View: View$1,
3072
3093
  makeBook
3073
3094
  }, Symbol.toStringTag, { value: "Module" }));
3074
- const e$1 = -2, t$1 = -3, n$1 = -5, i$1 = [0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535], r$1 = [96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8, 115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, 192, 80, 7, 10, 0, 8, 96, 0, 8, 32, 0, 9, 160, 0, 8, 0, 0, 8, 128, 0, 8, 64, 0, 9, 224, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 144, 83, 7, 59, 0, 8, 120, 0, 8, 56, 0, 9, 208, 81, 7, 17, 0, 8, 104, 0, 8, 40, 0, 9, 176, 0, 8, 8, 0, 8, 136, 0, 8, 72, 0, 9, 240, 80, 7, 4, 0, 8, 84, 0, 8, 20, 85, 8, 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 200, 81, 7, 13, 0, 8, 100, 0, 8, 36, 0, 9, 168, 0, 8, 4, 0, 8, 132, 0, 8, 68, 0, 9, 232, 80, 7, 8, 0, 8, 92, 0, 8, 28, 0, 9, 152, 84, 7, 83, 0, 8, 124, 0, 8, 60, 0, 9, 216, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 184, 0, 8, 12, 0, 8, 140, 0, 8, 76, 0, 9, 248, 80, 7, 3, 0, 8, 82, 0, 8, 18, 85, 8, 163, 83, 7, 35, 0, 8, 114, 0, 8, 50, 0, 9, 196, 81, 7, 11, 0, 8, 98, 0, 8, 34, 0, 9, 164, 0, 8, 2, 0, 8, 130, 0, 8, 66, 0, 9, 228, 80, 7, 7, 0, 8, 90, 0, 8, 26, 0, 9, 148, 84, 7, 67, 0, 8, 122, 0, 8, 58, 0, 9, 212, 82, 7, 19, 0, 8, 106, 0, 8, 42, 0, 9, 180, 0, 8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 244, 80, 7, 5, 0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8, 54, 0, 9, 204, 81, 7, 15, 0, 8, 102, 0, 8, 38, 0, 9, 172, 0, 8, 6, 0, 8, 134, 0, 8, 70, 0, 9, 236, 80, 7, 9, 0, 8, 94, 0, 8, 30, 0, 9, 156, 84, 7, 99, 0, 8, 126, 0, 8, 62, 0, 9, 220, 82, 7, 27, 0, 8, 110, 0, 8, 46, 0, 9, 188, 0, 8, 14, 0, 8, 142, 0, 8, 78, 0, 9, 252, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0, 8, 113, 0, 8, 49, 0, 9, 194, 80, 7, 10, 0, 8, 97, 0, 8, 33, 0, 9, 162, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9, 226, 80, 7, 6, 0, 8, 89, 0, 8, 25, 0, 9, 146, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 210, 81, 7, 17, 0, 8, 105, 0, 8, 41, 0, 9, 178, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 242, 80, 7, 4, 0, 8, 85, 0, 8, 21, 80, 8, 258, 83, 7, 43, 0, 8, 117, 0, 8, 53, 0, 9, 202, 81, 7, 13, 0, 8, 101, 0, 8, 37, 0, 9, 170, 0, 8, 5, 0, 8, 133, 0, 8, 69, 0, 9, 234, 80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 154, 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 218, 82, 7, 23, 0, 8, 109, 0, 8, 45, 0, 9, 186, 0, 8, 13, 0, 8, 141, 0, 8, 77, 0, 9, 250, 80, 7, 3, 0, 8, 83, 0, 8, 19, 85, 8, 195, 83, 7, 35, 0, 8, 115, 0, 8, 51, 0, 9, 198, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, 166, 0, 8, 3, 0, 8, 131, 0, 8, 67, 0, 9, 230, 80, 7, 7, 0, 8, 91, 0, 8, 27, 0, 9, 150, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 214, 82, 7, 19, 0, 8, 107, 0, 8, 43, 0, 9, 182, 0, 8, 11, 0, 8, 139, 0, 8, 75, 0, 9, 246, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8, 0, 83, 7, 51, 0, 8, 119, 0, 8, 55, 0, 9, 206, 81, 7, 15, 0, 8, 103, 0, 8, 39, 0, 9, 174, 0, 8, 7, 0, 8, 135, 0, 8, 71, 0, 9, 238, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 158, 84, 7, 99, 0, 8, 127, 0, 8, 63, 0, 9, 222, 82, 7, 27, 0, 8, 111, 0, 8, 47, 0, 9, 190, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 254, 96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8, 115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, 193, 80, 7, 10, 0, 8, 96, 0, 8, 32, 0, 9, 161, 0, 8, 0, 0, 8, 128, 0, 8, 64, 0, 9, 225, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 145, 83, 7, 59, 0, 8, 120, 0, 8, 56, 0, 9, 209, 81, 7, 17, 0, 8, 104, 0, 8, 40, 0, 9, 177, 0, 8, 8, 0, 8, 136, 0, 8, 72, 0, 9, 241, 80, 7, 4, 0, 8, 84, 0, 8, 20, 85, 8, 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 201, 81, 7, 13, 0, 8, 100, 0, 8, 36, 0, 9, 169, 0, 8, 4, 0, 8, 132, 0, 8, 68, 0, 9, 233, 80, 7, 8, 0, 8, 92, 0, 8, 28, 0, 9, 153, 84, 7, 83, 0, 8, 124, 0, 8, 60, 0, 9, 217, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 185, 0, 8, 12, 0, 8, 140, 0, 8, 76, 0, 9, 249, 80, 7, 3, 0, 8, 82, 0, 8, 18, 85, 8, 163, 83, 7, 35, 0, 8, 114, 0, 8, 50, 0, 9, 197, 81, 7, 11, 0, 8, 98, 0, 8, 34, 0, 9, 165, 0, 8, 2, 0, 8, 130, 0, 8, 66, 0, 9, 229, 80, 7, 7, 0, 8, 90, 0, 8, 26, 0, 9, 149, 84, 7, 67, 0, 8, 122, 0, 8, 58, 0, 9, 213, 82, 7, 19, 0, 8, 106, 0, 8, 42, 0, 9, 181, 0, 8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 245, 80, 7, 5, 0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8, 54, 0, 9, 205, 81, 7, 15, 0, 8, 102, 0, 8, 38, 0, 9, 173, 0, 8, 6, 0, 8, 134, 0, 8, 70, 0, 9, 237, 80, 7, 9, 0, 8, 94, 0, 8, 30, 0, 9, 157, 84, 7, 99, 0, 8, 126, 0, 8, 62, 0, 9, 221, 82, 7, 27, 0, 8, 110, 0, 8, 46, 0, 9, 189, 0, 8, 14, 0, 8, 142, 0, 8, 78, 0, 9, 253, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0, 8, 113, 0, 8, 49, 0, 9, 195, 80, 7, 10, 0, 8, 97, 0, 8, 33, 0, 9, 163, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9, 227, 80, 7, 6, 0, 8, 89, 0, 8, 25, 0, 9, 147, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 211, 81, 7, 17, 0, 8, 105, 0, 8, 41, 0, 9, 179, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 243, 80, 7, 4, 0, 8, 85, 0, 8, 21, 80, 8, 258, 83, 7, 43, 0, 8, 117, 0, 8, 53, 0, 9, 203, 81, 7, 13, 0, 8, 101, 0, 8, 37, 0, 9, 171, 0, 8, 5, 0, 8, 133, 0, 8, 69, 0, 9, 235, 80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 155, 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 219, 82, 7, 23, 0, 8, 109, 0, 8, 45, 0, 9, 187, 0, 8, 13, 0, 8, 141, 0, 8, 77, 0, 9, 251, 80, 7, 3, 0, 8, 83, 0, 8, 19, 85, 8, 195, 83, 7, 35, 0, 8, 115, 0, 8, 51, 0, 9, 199, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, 167, 0, 8, 3, 0, 8, 131, 0, 8, 67, 0, 9, 231, 80, 7, 7, 0, 8, 91, 0, 8, 27, 0, 9, 151, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 215, 82, 7, 19, 0, 8, 107, 0, 8, 43, 0, 9, 183, 0, 8, 11, 0, 8, 139, 0, 8, 75, 0, 9, 247, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8, 0, 83, 7, 51, 0, 8, 119, 0, 8, 55, 0, 9, 207, 81, 7, 15, 0, 8, 103, 0, 8, 39, 0, 9, 175, 0, 8, 7, 0, 8, 135, 0, 8, 71, 0, 9, 239, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 159, 84, 7, 99, 0, 8, 127, 0, 8, 63, 0, 9, 223, 82, 7, 27, 0, 8, 111, 0, 8, 47, 0, 9, 191, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 255], a$1 = [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$1 = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], o$1 = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 112, 112], l$1 = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577], c$1 = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], u$1 = 15;
3075
- function d$1() {
3076
- let e2, i2, r2, a2, d2, f2;
3077
- function h2(e3, i3, s2, o2, l2, c2, h3, w3, _2, b2, p2) {
3078
- let m2, g2, y2, x2, k2, v2, S2, z2, A2, U2, D2, E2, T2, F2, O2;
3079
- U2 = 0, k2 = s2;
3080
- do {
3081
- r2[e3[i3 + U2]]++, U2++, k2--;
3082
- } while (0 !== k2);
3083
- if (r2[0] == s2) return h3[0] = -1, w3[0] = 0, 0;
3084
- for (z2 = w3[0], v2 = 1; v2 <= u$1 && 0 === r2[v2]; v2++) ;
3085
- for (S2 = v2, z2 < v2 && (z2 = v2), k2 = u$1; 0 !== k2 && 0 === r2[k2]; k2--) ;
3086
- for (y2 = k2, z2 > k2 && (z2 = k2), w3[0] = z2, F2 = 1 << v2; v2 < k2; v2++, F2 <<= 1) if ((F2 -= r2[v2]) < 0) return t$1;
3087
- if ((F2 -= r2[k2]) < 0) return t$1;
3088
- for (r2[k2] += F2, f2[1] = v2 = 0, U2 = 1, T2 = 2; 0 != --k2; ) f2[T2] = v2 += r2[U2], T2++, U2++;
3089
- k2 = 0, U2 = 0;
3090
- do {
3091
- 0 !== (v2 = e3[i3 + U2]) && (p2[f2[v2]++] = k2), U2++;
3092
- } while (++k2 < s2);
3093
- for (s2 = f2[y2], f2[0] = k2 = 0, U2 = 0, x2 = -1, E2 = -z2, d2[0] = 0, D2 = 0, O2 = 0; S2 <= y2; S2++) for (m2 = r2[S2]; 0 != m2--; ) {
3094
- for (; S2 > E2 + z2; ) {
3095
- if (x2++, E2 += z2, O2 = y2 - E2, O2 = O2 > z2 ? z2 : O2, (g2 = 1 << (v2 = S2 - E2)) > m2 + 1 && (g2 -= m2 + 1, T2 = S2, v2 < O2)) for (; ++v2 < O2 && !((g2 <<= 1) <= r2[++T2]); ) g2 -= r2[T2];
3096
- if (O2 = 1 << v2, b2[0] + O2 > 1440) return t$1;
3097
- d2[x2] = D2 = b2[0], b2[0] += O2, 0 !== x2 ? (f2[x2] = k2, a2[0] = v2, a2[1] = z2, v2 = k2 >>> E2 - z2, a2[2] = D2 - d2[x2 - 1] - v2, _2.set(a2, 3 * (d2[x2 - 1] + v2))) : h3[0] = D2;
3098
- }
3099
- for (a2[1] = S2 - E2, U2 >= s2 ? a2[0] = 192 : p2[U2] < o2 ? (a2[0] = p2[U2] < 256 ? 0 : 96, a2[2] = p2[U2++]) : (a2[0] = c2[p2[U2] - o2] + 16 + 64, a2[2] = l2[p2[U2++] - o2]), g2 = 1 << S2 - E2, v2 = k2 >>> E2; v2 < O2; v2 += g2) _2.set(a2, 3 * (D2 + v2));
3100
- for (v2 = 1 << S2 - 1; k2 & v2; v2 >>>= 1) k2 ^= v2;
3101
- for (k2 ^= v2, A2 = (1 << E2) - 1; (k2 & A2) != f2[x2]; ) x2--, E2 -= z2, A2 = (1 << E2) - 1;
3102
- }
3103
- return 0 !== F2 && 1 != y2 ? n$1 : 0;
3104
- }
3105
- function w2(t2) {
3106
- let n2;
3107
- for (e2 || (e2 = [], i2 = [], r2 = new Int32Array(16), a2 = [], d2 = new Int32Array(u$1), f2 = new Int32Array(16)), i2.length < t2 && (i2 = []), n2 = 0; n2 < t2; n2++) i2[n2] = 0;
3108
- for (n2 = 0; n2 < 16; n2++) r2[n2] = 0;
3109
- for (n2 = 0; n2 < 3; n2++) a2[n2] = 0;
3110
- d2.set(r2.subarray(0, u$1), 0), f2.set(r2.subarray(0, 16), 0);
3111
- }
3112
- this.inflate_trees_bits = function(r3, a3, s2, o2, l2) {
3113
- let c2;
3114
- return w2(19), e2[0] = 0, c2 = h2(r3, 0, 19, 19, null, null, s2, a3, o2, e2, i2), c2 == t$1 ? l2.msg = "oversubscribed dynamic bit lengths tree" : c2 != n$1 && 0 !== a3[0] || (l2.msg = "incomplete dynamic bit lengths tree", c2 = t$1), c2;
3115
- }, this.inflate_trees_dynamic = function(r3, a3, u2, d3, f3, _2, b2, p2, m2) {
3116
- let g2;
3117
- return w2(288), e2[0] = 0, g2 = h2(u2, 0, r3, 257, s$1, o$1, _2, d3, p2, e2, i2), 0 != g2 || 0 === d3[0] ? (g2 == t$1 ? m2.msg = "oversubscribed literal/length tree" : -4 != g2 && (m2.msg = "incomplete literal/length tree", g2 = t$1), g2) : (w2(288), g2 = h2(u2, r3, a3, 0, l$1, c$1, b2, f3, p2, e2, i2), 0 != g2 || 0 === f3[0] && r3 > 257 ? (g2 == t$1 ? m2.msg = "oversubscribed distance tree" : g2 == n$1 ? (m2.msg = "incomplete distance tree", g2 = t$1) : -4 != g2 && (m2.msg = "empty distance tree with lengths", g2 = t$1), g2) : 0);
3118
- };
3119
- }
3120
- d$1.inflate_trees_fixed = function(e2, t2, n2, i2) {
3121
- return e2[0] = 9, t2[0] = 5, n2[0] = r$1, i2[0] = a$1, 0;
3122
- };
3123
- function f$1() {
3124
- const n2 = this;
3125
- let r2, a2, s2, o2, l2 = 0, c2 = 0, u2 = 0, d2 = 0, f2 = 0, h2 = 0, w2 = 0, _2 = 0, b2 = 0, p2 = 0;
3126
- function m2(e2, n3, r3, a3, s3, o3, l3, c3) {
3127
- let u3, d3, f3, h3, w3, _3, b3, p3, m3, g2, y2, x2, k2, v2, S2, z2;
3128
- b3 = c3.next_in_index, p3 = c3.avail_in, w3 = l3.bitb, _3 = l3.bitk, m3 = l3.write, g2 = m3 < l3.read ? l3.read - m3 - 1 : l3.end - m3, y2 = i$1[e2], x2 = i$1[n3];
3129
- do {
3130
- for (; _3 < 20; ) p3--, w3 |= (255 & c3.read_byte(b3++)) << _3, _3 += 8;
3131
- if (u3 = w3 & y2, d3 = r3, f3 = a3, z2 = 3 * (f3 + u3), 0 !== (h3 = d3[z2])) for (; ; ) {
3132
- if (w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], 16 & h3) {
3133
- for (h3 &= 15, k2 = d3[z2 + 2] + (w3 & i$1[h3]), w3 >>= h3, _3 -= h3; _3 < 15; ) p3--, w3 |= (255 & c3.read_byte(b3++)) << _3, _3 += 8;
3134
- for (u3 = w3 & x2, d3 = s3, f3 = o3, z2 = 3 * (f3 + u3), h3 = d3[z2]; ; ) {
3135
- if (w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], 16 & h3) {
3136
- for (h3 &= 15; _3 < h3; ) p3--, w3 |= (255 & c3.read_byte(b3++)) << _3, _3 += 8;
3137
- if (v2 = d3[z2 + 2] + (w3 & i$1[h3]), w3 >>= h3, _3 -= h3, g2 -= k2, m3 >= v2) S2 = m3 - v2, m3 - S2 > 0 && 2 > m3 - S2 ? (l3.win[m3++] = l3.win[S2++], l3.win[m3++] = l3.win[S2++], k2 -= 2) : (l3.win.set(l3.win.subarray(S2, S2 + 2), m3), m3 += 2, S2 += 2, k2 -= 2);
3138
- else {
3139
- S2 = m3 - v2;
3140
- do {
3141
- S2 += l3.end;
3142
- } while (S2 < 0);
3143
- if (h3 = l3.end - S2, k2 > h3) {
3144
- if (k2 -= h3, m3 - S2 > 0 && h3 > m3 - S2) do {
3145
- l3.win[m3++] = l3.win[S2++];
3146
- } while (0 != --h3);
3147
- else l3.win.set(l3.win.subarray(S2, S2 + h3), m3), m3 += h3, S2 += h3, h3 = 0;
3148
- S2 = 0;
3149
- }
3150
- }
3151
- if (m3 - S2 > 0 && k2 > m3 - S2) do {
3152
- l3.win[m3++] = l3.win[S2++];
3153
- } while (0 != --k2);
3154
- else l3.win.set(l3.win.subarray(S2, S2 + k2), m3), m3 += k2, S2 += k2, k2 = 0;
3155
- break;
3156
- }
3157
- if (64 & h3) return c3.msg = "invalid distance code", k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, t$1;
3158
- u3 += d3[z2 + 2], u3 += w3 & i$1[h3], z2 = 3 * (f3 + u3), h3 = d3[z2];
3159
- }
3160
- break;
3161
- }
3162
- if (64 & h3) return 32 & h3 ? (k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, 1) : (c3.msg = "invalid literal/length code", k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, t$1);
3163
- if (u3 += d3[z2 + 2], u3 += w3 & i$1[h3], z2 = 3 * (f3 + u3), 0 === (h3 = d3[z2])) {
3164
- w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], l3.win[m3++] = d3[z2 + 2], g2--;
3165
- break;
3166
- }
3167
- }
3168
- else w3 >>= d3[z2 + 1], _3 -= d3[z2 + 1], l3.win[m3++] = d3[z2 + 2], g2--;
3169
- } while (g2 >= 258 && p3 >= 10);
3170
- return k2 = c3.avail_in - p3, k2 = _3 >> 3 < k2 ? _3 >> 3 : k2, p3 += k2, b3 -= k2, _3 -= k2 << 3, l3.bitb = w3, l3.bitk = _3, c3.avail_in = p3, c3.total_in += b3 - c3.next_in_index, c3.next_in_index = b3, l3.write = m3, 0;
3171
- }
3172
- n2.init = function(e2, t2, n3, i2, l3, c3) {
3173
- r2 = 0, w2 = e2, _2 = t2, s2 = n3, b2 = i2, o2 = l3, p2 = c3, a2 = null;
3174
- }, n2.proc = function(n3, g2, y2) {
3175
- let x2, k2, v2, S2, z2, A2, U2, D2 = 0, E2 = 0, T2 = 0;
3176
- for (T2 = g2.next_in_index, S2 = g2.avail_in, D2 = n3.bitb, E2 = n3.bitk, z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2; ; ) switch (r2) {
3177
- case 0:
3178
- if (A2 >= 258 && S2 >= 10 && (n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, y2 = m2(w2, _2, s2, b2, o2, p2, n3, g2), T2 = g2.next_in_index, S2 = g2.avail_in, D2 = n3.bitb, E2 = n3.bitk, z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, 0 != y2)) {
3179
- r2 = 1 == y2 ? 7 : 9;
3180
- break;
3181
- }
3182
- u2 = w2, a2 = s2, c2 = b2, r2 = 1;
3183
- case 1:
3184
- for (x2 = u2; E2 < x2; ) {
3185
- if (0 === S2) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3186
- y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
3187
- }
3188
- if (k2 = 3 * (c2 + (D2 & i$1[x2])), D2 >>>= a2[k2 + 1], E2 -= a2[k2 + 1], v2 = a2[k2], 0 === v2) {
3189
- d2 = a2[k2 + 2], r2 = 6;
3190
- break;
3191
- }
3192
- if (16 & v2) {
3193
- f2 = 15 & v2, l2 = a2[k2 + 2], r2 = 2;
3194
- break;
3195
- }
3196
- if (!(64 & v2)) {
3197
- u2 = v2, c2 = k2 / 3 + a2[k2 + 2];
3198
- break;
3199
- }
3200
- if (32 & v2) {
3201
- r2 = 7;
3202
- break;
3203
- }
3204
- return r2 = 9, g2.msg = "invalid literal/length code", y2 = t$1, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3205
- case 2:
3206
- for (x2 = f2; E2 < x2; ) {
3207
- if (0 === S2) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3208
- y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
3209
- }
3210
- l2 += D2 & i$1[x2], D2 >>= x2, E2 -= x2, u2 = _2, a2 = o2, c2 = p2, r2 = 3;
3211
- case 3:
3212
- for (x2 = u2; E2 < x2; ) {
3213
- if (0 === S2) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3214
- y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
3215
- }
3216
- if (k2 = 3 * (c2 + (D2 & i$1[x2])), D2 >>= a2[k2 + 1], E2 -= a2[k2 + 1], v2 = a2[k2], 16 & v2) {
3217
- f2 = 15 & v2, h2 = a2[k2 + 2], r2 = 4;
3218
- break;
3219
- }
3220
- if (!(64 & v2)) {
3221
- u2 = v2, c2 = k2 / 3 + a2[k2 + 2];
3222
- break;
3223
- }
3224
- return r2 = 9, g2.msg = "invalid distance code", y2 = t$1, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3225
- case 4:
3226
- for (x2 = f2; E2 < x2; ) {
3227
- if (0 === S2) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3228
- y2 = 0, S2--, D2 |= (255 & g2.read_byte(T2++)) << E2, E2 += 8;
3229
- }
3230
- h2 += D2 & i$1[x2], D2 >>= x2, E2 -= x2, r2 = 5;
3231
- case 5:
3232
- for (U2 = z2 - h2; U2 < 0; ) U2 += n3.end;
3233
- for (; 0 !== l2; ) {
3234
- if (0 === A2 && (z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2 && (n3.write = z2, y2 = n3.inflate_flush(g2, y2), z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2))) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3235
- n3.win[z2++] = n3.win[U2++], A2--, U2 == n3.end && (U2 = 0), l2--;
3236
- }
3237
- r2 = 0;
3238
- break;
3239
- case 6:
3240
- if (0 === A2 && (z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2 && (n3.write = z2, y2 = n3.inflate_flush(g2, y2), z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, z2 == n3.end && 0 !== n3.read && (z2 = 0, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2), 0 === A2))) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3241
- y2 = 0, n3.win[z2++] = d2, A2--, r2 = 0;
3242
- break;
3243
- case 7:
3244
- if (E2 > 7 && (E2 -= 8, S2++, T2--), n3.write = z2, y2 = n3.inflate_flush(g2, y2), z2 = n3.write, A2 = z2 < n3.read ? n3.read - z2 - 1 : n3.end - z2, n3.read != n3.write) return n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3245
- r2 = 8;
3246
- case 8:
3247
- return y2 = 1, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3248
- case 9:
3249
- return y2 = t$1, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3250
- default:
3251
- return y2 = e$1, n3.bitb = D2, n3.bitk = E2, g2.avail_in = S2, g2.total_in += T2 - g2.next_in_index, g2.next_in_index = T2, n3.write = z2, n3.inflate_flush(g2, y2);
3252
- }
3253
- }, n2.free = function() {
3254
- };
3255
- }
3256
- const h$1 = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
3257
- function w$1(r2, a2) {
3258
- const s2 = this;
3259
- let o2, l2 = 0, c2 = 0, u2 = 0, w2 = 0;
3260
- const _2 = [0], b2 = [0], p2 = new f$1();
3261
- let m2 = 0, g2 = new Int32Array(4320);
3262
- const y2 = new d$1();
3263
- s2.bitk = 0, s2.bitb = 0, s2.win = new Uint8Array(a2), s2.end = a2, s2.read = 0, s2.write = 0, s2.reset = function(e2, t2) {
3264
- t2 && (t2[0] = 0), 6 == l2 && p2.free(e2), l2 = 0, s2.bitk = 0, s2.bitb = 0, s2.read = s2.write = 0;
3265
- }, s2.reset(r2, null), s2.inflate_flush = function(e2, t2) {
3266
- let i2, r3, a3;
3267
- return r3 = e2.next_out_index, a3 = s2.read, i2 = (a3 <= s2.write ? s2.write : s2.end) - a3, i2 > e2.avail_out && (i2 = e2.avail_out), 0 !== i2 && t2 == n$1 && (t2 = 0), e2.avail_out -= i2, e2.total_out += i2, e2.next_out.set(s2.win.subarray(a3, a3 + i2), r3), r3 += i2, a3 += i2, a3 == s2.end && (a3 = 0, s2.write == s2.end && (s2.write = 0), i2 = s2.write - a3, i2 > e2.avail_out && (i2 = e2.avail_out), 0 !== i2 && t2 == n$1 && (t2 = 0), e2.avail_out -= i2, e2.total_out += i2, e2.next_out.set(s2.win.subarray(a3, a3 + i2), r3), r3 += i2, a3 += i2), e2.next_out_index = r3, s2.read = a3, t2;
3268
- }, s2.proc = function(n2, r3) {
3269
- let a3, f2, x2, k2, v2, S2, z2, A2;
3270
- for (k2 = n2.next_in_index, v2 = n2.avail_in, f2 = s2.bitb, x2 = s2.bitk, S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2; ; ) {
3271
- let U2, D2, E2, T2, F2, O2, C2, W2;
3272
- switch (l2) {
3273
- case 0:
3274
- for (; x2 < 3; ) {
3275
- if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3276
- r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
3277
- }
3278
- switch (a3 = 7 & f2, m2 = 1 & a3, a3 >>> 1) {
3279
- case 0:
3280
- f2 >>>= 3, x2 -= 3, a3 = 7 & x2, f2 >>>= a3, x2 -= a3, l2 = 1;
3281
- break;
3282
- case 1:
3283
- U2 = [], D2 = [], E2 = [[]], T2 = [[]], d$1.inflate_trees_fixed(U2, D2, E2, T2), p2.init(U2[0], D2[0], E2[0], 0, T2[0], 0), f2 >>>= 3, x2 -= 3, l2 = 6;
3284
- break;
3285
- case 2:
3286
- f2 >>>= 3, x2 -= 3, l2 = 3;
3287
- break;
3288
- case 3:
3289
- return f2 >>>= 3, x2 -= 3, l2 = 9, n2.msg = "invalid block type", r3 = t$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3290
- }
3291
- break;
3292
- case 1:
3293
- for (; x2 < 32; ) {
3294
- if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3295
- r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
3296
- }
3297
- if ((~f2 >>> 16 & 65535) != (65535 & f2)) return l2 = 9, n2.msg = "invalid stored block lengths", r3 = t$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3298
- c2 = 65535 & f2, f2 = x2 = 0, l2 = 0 !== c2 ? 2 : 0 !== m2 ? 7 : 0;
3299
- break;
3300
- case 2:
3301
- if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3302
- if (0 === z2 && (S2 == s2.end && 0 !== s2.read && (S2 = 0, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2), 0 === z2 && (s2.write = S2, r3 = s2.inflate_flush(n2, r3), S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2, S2 == s2.end && 0 !== s2.read && (S2 = 0, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2), 0 === z2))) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3303
- if (r3 = 0, a3 = c2, a3 > v2 && (a3 = v2), a3 > z2 && (a3 = z2), s2.win.set(n2.read_buf(k2, a3), S2), k2 += a3, v2 -= a3, S2 += a3, z2 -= a3, 0 != (c2 -= a3)) break;
3304
- l2 = 0 !== m2 ? 7 : 0;
3305
- break;
3306
- case 3:
3307
- for (; x2 < 14; ) {
3308
- if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3309
- r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
3310
- }
3311
- if (u2 = a3 = 16383 & f2, (31 & a3) > 29 || (a3 >> 5 & 31) > 29) return l2 = 9, n2.msg = "too many length or distance symbols", r3 = t$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3312
- if (a3 = 258 + (31 & a3) + (a3 >> 5 & 31), !o2 || o2.length < a3) o2 = [];
3313
- else for (A2 = 0; A2 < a3; A2++) o2[A2] = 0;
3314
- f2 >>>= 14, x2 -= 14, w2 = 0, l2 = 4;
3315
- case 4:
3316
- for (; w2 < 4 + (u2 >>> 10); ) {
3317
- for (; x2 < 3; ) {
3318
- if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3319
- r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
3320
- }
3321
- o2[h$1[w2++]] = 7 & f2, f2 >>>= 3, x2 -= 3;
3322
- }
3323
- for (; w2 < 19; ) o2[h$1[w2++]] = 0;
3324
- if (_2[0] = 7, a3 = y2.inflate_trees_bits(o2, _2, b2, g2, n2), 0 != a3) return (r3 = a3) == t$1 && (o2 = null, l2 = 9), s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3325
- w2 = 0, l2 = 5;
3326
- case 5:
3327
- for (; a3 = u2, !(w2 >= 258 + (31 & a3) + (a3 >> 5 & 31)); ) {
3328
- let e2, c3;
3329
- for (a3 = _2[0]; x2 < a3; ) {
3330
- if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3331
- r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
3332
- }
3333
- if (a3 = g2[3 * (b2[0] + (f2 & i$1[a3])) + 1], c3 = g2[3 * (b2[0] + (f2 & i$1[a3])) + 2], c3 < 16) f2 >>>= a3, x2 -= a3, o2[w2++] = c3;
3334
- else {
3335
- for (A2 = 18 == c3 ? 7 : c3 - 14, e2 = 18 == c3 ? 11 : 3; x2 < a3 + A2; ) {
3336
- if (0 === v2) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3337
- r3 = 0, v2--, f2 |= (255 & n2.read_byte(k2++)) << x2, x2 += 8;
3338
- }
3339
- if (f2 >>>= a3, x2 -= a3, e2 += f2 & i$1[A2], f2 >>>= A2, x2 -= A2, A2 = w2, a3 = u2, A2 + e2 > 258 + (31 & a3) + (a3 >> 5 & 31) || 16 == c3 && A2 < 1) return o2 = null, l2 = 9, n2.msg = "invalid bit length repeat", r3 = t$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3340
- c3 = 16 == c3 ? o2[A2 - 1] : 0;
3341
- do {
3342
- o2[A2++] = c3;
3343
- } while (0 != --e2);
3344
- w2 = A2;
3345
- }
3346
- }
3347
- if (b2[0] = -1, F2 = [], O2 = [], C2 = [], W2 = [], F2[0] = 9, O2[0] = 6, a3 = u2, a3 = y2.inflate_trees_dynamic(257 + (31 & a3), 1 + (a3 >> 5 & 31), o2, F2, O2, C2, W2, g2, n2), 0 != a3) return a3 == t$1 && (o2 = null, l2 = 9), r3 = a3, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3348
- p2.init(F2[0], O2[0], g2, C2[0], g2, W2[0]), l2 = 6;
3349
- case 6:
3350
- if (s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, 1 != (r3 = p2.proc(s2, n2, r3))) return s2.inflate_flush(n2, r3);
3351
- if (r3 = 0, p2.free(n2), k2 = n2.next_in_index, v2 = n2.avail_in, f2 = s2.bitb, x2 = s2.bitk, S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2, 0 === m2) {
3352
- l2 = 0;
3353
- break;
3354
- }
3355
- l2 = 7;
3356
- case 7:
3357
- if (s2.write = S2, r3 = s2.inflate_flush(n2, r3), S2 = s2.write, z2 = S2 < s2.read ? s2.read - S2 - 1 : s2.end - S2, s2.read != s2.write) return s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3358
- l2 = 8;
3359
- case 8:
3360
- return r3 = 1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3361
- case 9:
3362
- return r3 = t$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3363
- default:
3364
- return r3 = e$1, s2.bitb = f2, s2.bitk = x2, n2.avail_in = v2, n2.total_in += k2 - n2.next_in_index, n2.next_in_index = k2, s2.write = S2, s2.inflate_flush(n2, r3);
3365
- }
3366
- }
3367
- }, s2.free = function(e2) {
3368
- s2.reset(e2, null), s2.win = null, g2 = null;
3369
- }, s2.set_dictionary = function(e2, t2, n2) {
3370
- s2.win.set(e2.subarray(t2, t2 + n2), 0), s2.read = s2.write = n2;
3371
- }, s2.sync_point = function() {
3372
- return 1 == l2 ? 1 : 0;
3373
- };
3374
- }
3375
- const _ = 13, b$1 = [0, 0, 255, 255];
3376
- function p$1() {
3377
- const i2 = this;
3378
- function r2(t2) {
3379
- return t2 && t2.istate ? (t2.total_in = t2.total_out = 0, t2.msg = null, t2.istate.mode = 7, t2.istate.blocks.reset(t2, null), 0) : e$1;
3380
- }
3381
- i2.mode = 0, i2.method = 0, i2.was = [0], i2.need = 0, i2.marker = 0, i2.wbits = 0, i2.inflateEnd = function(e2) {
3382
- return i2.blocks && i2.blocks.free(e2), i2.blocks = null, 0;
3383
- }, i2.inflateInit = function(t2, n2) {
3384
- return t2.msg = null, i2.blocks = null, n2 < 8 || n2 > 15 ? (i2.inflateEnd(t2), e$1) : (i2.wbits = n2, t2.istate.blocks = new w$1(t2, 1 << n2), r2(t2), 0);
3385
- }, i2.inflate = function(i3, r3) {
3386
- let a2, s2;
3387
- if (!i3 || !i3.istate || !i3.next_in) return e$1;
3388
- const o2 = i3.istate;
3389
- for (r3 = 4 == r3 ? n$1 : 0, a2 = n$1; ; ) switch (o2.mode) {
3390
- case 0:
3391
- if (0 === i3.avail_in) return a2;
3392
- if (a2 = r3, i3.avail_in--, i3.total_in++, 8 != (15 & (o2.method = i3.read_byte(i3.next_in_index++)))) {
3393
- o2.mode = _, i3.msg = "unknown compression method", o2.marker = 5;
3394
- break;
3395
- }
3396
- if (8 + (o2.method >> 4) > o2.wbits) {
3397
- o2.mode = _, i3.msg = "invalid win size", o2.marker = 5;
3398
- break;
3399
- }
3400
- o2.mode = 1;
3401
- case 1:
3402
- if (0 === i3.avail_in) return a2;
3403
- if (a2 = r3, i3.avail_in--, i3.total_in++, s2 = 255 & i3.read_byte(i3.next_in_index++), ((o2.method << 8) + s2) % 31 != 0) {
3404
- o2.mode = _, i3.msg = "incorrect header check", o2.marker = 5;
3405
- break;
3406
- }
3407
- if (!(32 & s2)) {
3408
- o2.mode = 7;
3409
- break;
3410
- }
3411
- o2.mode = 2;
3412
- case 2:
3413
- if (0 === i3.avail_in) return a2;
3414
- a2 = r3, i3.avail_in--, i3.total_in++, o2.need = (255 & i3.read_byte(i3.next_in_index++)) << 24 & 4278190080, o2.mode = 3;
3415
- case 3:
3416
- if (0 === i3.avail_in) return a2;
3417
- a2 = r3, i3.avail_in--, i3.total_in++, o2.need += (255 & i3.read_byte(i3.next_in_index++)) << 16 & 16711680, o2.mode = 4;
3418
- case 4:
3419
- if (0 === i3.avail_in) return a2;
3420
- a2 = r3, i3.avail_in--, i3.total_in++, o2.need += (255 & i3.read_byte(i3.next_in_index++)) << 8 & 65280, o2.mode = 5;
3421
- case 5:
3422
- return 0 === i3.avail_in ? a2 : (a2 = r3, i3.avail_in--, i3.total_in++, o2.need += 255 & i3.read_byte(i3.next_in_index++), o2.mode = 6, 2);
3423
- case 6:
3424
- return o2.mode = _, i3.msg = "need dictionary", o2.marker = 0, e$1;
3425
- case 7:
3426
- if (a2 = o2.blocks.proc(i3, a2), a2 == t$1) {
3427
- o2.mode = _, o2.marker = 0;
3428
- break;
3429
- }
3430
- if (0 == a2 && (a2 = r3), 1 != a2) return a2;
3431
- a2 = r3, o2.blocks.reset(i3, o2.was), o2.mode = 12;
3432
- case 12:
3433
- return i3.avail_in = 0, 1;
3434
- case _:
3435
- return t$1;
3436
- default:
3437
- return e$1;
3438
- }
3439
- }, i2.inflateSetDictionary = function(t2, n2, i3) {
3440
- let r3 = 0, a2 = i3;
3441
- if (!t2 || !t2.istate || 6 != t2.istate.mode) return e$1;
3442
- const s2 = t2.istate;
3443
- return a2 >= 1 << s2.wbits && (a2 = (1 << s2.wbits) - 1, r3 = i3 - a2), s2.blocks.set_dictionary(n2, r3, a2), s2.mode = 7, 0;
3444
- }, i2.inflateSync = function(i3) {
3445
- let a2, s2, o2, l2, c2;
3446
- if (!i3 || !i3.istate) return e$1;
3447
- const u2 = i3.istate;
3448
- if (u2.mode != _ && (u2.mode = _, u2.marker = 0), 0 === (a2 = i3.avail_in)) return n$1;
3449
- for (s2 = i3.next_in_index, o2 = u2.marker; 0 !== a2 && o2 < 4; ) i3.read_byte(s2) == b$1[o2] ? o2++ : o2 = 0 !== i3.read_byte(s2) ? 0 : 4 - o2, s2++, a2--;
3450
- return i3.total_in += s2 - i3.next_in_index, i3.next_in_index = s2, i3.avail_in = a2, u2.marker = o2, 4 != o2 ? t$1 : (l2 = i3.total_in, c2 = i3.total_out, r2(i3), i3.total_in = l2, i3.total_out = c2, u2.mode = 7, 0);
3451
- }, i2.inflateSyncPoint = function(t2) {
3452
- return t2 && t2.istate && t2.istate.blocks ? t2.istate.blocks.sync_point() : e$1;
3453
- };
3454
- }
3455
- function m$1() {
3456
- }
3457
- m$1.prototype = { inflateInit(e2) {
3458
- const t2 = this;
3459
- return t2.istate = new p$1(), e2 || (e2 = 15), t2.istate.inflateInit(t2, e2);
3460
- }, inflate(t2) {
3461
- const n2 = this;
3462
- return n2.istate ? n2.istate.inflate(n2, t2) : e$1;
3463
- }, inflateEnd() {
3464
- const t2 = this;
3465
- if (!t2.istate) return e$1;
3466
- const n2 = t2.istate.inflateEnd(t2);
3467
- return t2.istate = null, n2;
3468
- }, inflateSync() {
3469
- const t2 = this;
3470
- return t2.istate ? t2.istate.inflateSync(t2) : e$1;
3471
- }, inflateSetDictionary(t2, n2) {
3472
- const i2 = this;
3473
- return i2.istate ? i2.istate.inflateSetDictionary(i2, t2, n2) : e$1;
3474
- }, read_byte(e2) {
3475
- return this.next_in[e2];
3476
- }, read_buf(e2, t2) {
3477
- return this.next_in.subarray(e2, e2 + t2);
3478
- } };
3479
- const g$1 = 4294967295, y$1 = 65535, x$1 = 33639248, k$1 = 101075792, v$1 = 22, S = void 0, z$1 = "undefined", A$1 = "function";
3480
- let U$1 = class U {
3481
- constructor(e2) {
3482
- return class extends TransformStream {
3483
- constructor(t2, n2) {
3484
- const i2 = new e2(n2);
3485
- super({ transform(e3, t3) {
3486
- t3.enqueue(i2.append(e3));
3487
- }, flush(e3) {
3488
- const t3 = i2.flush();
3489
- t3 && e3.enqueue(t3);
3490
- } });
3491
- }
3492
- };
3493
- }
3494
- };
3495
- let D = 2;
3095
+ const e$1 = 4294967295, t$1 = 65535, r$1 = 134695760, n$1 = r$1, s$1 = 33639248, a$1 = 101075792, i$1 = 22, o$1 = 16384, c$1 = void 0, l$1 = 1 / 0, u$1 = "undefined", d$1 = "function";
3096
+ let f$1 = 2;
3496
3097
  try {
3497
- typeof navigator != z$1 && navigator.hardwareConcurrency && (D = navigator.hardwareConcurrency);
3498
- } catch (e2) {
3098
+ typeof navigator != u$1 && navigator.hardwareConcurrency && (f$1 = navigator.hardwareConcurrency);
3099
+ } catch {
3499
3100
  }
3500
- const E$1 = { chunkSize: 524288, maxWorkers: D, terminateWorkerTimeout: 5e3, useWebWorkers: true, useCompressionStream: true, workerScripts: S, CompressionStreamNative: typeof CompressionStream != z$1 && CompressionStream, DecompressionStreamNative: typeof DecompressionStream != z$1 && DecompressionStream }, T$1 = Object.assign({}, E$1);
3501
- function F(e2) {
3502
- const { baseURL: t2, chunkSize: n2, maxWorkers: i2, terminateWorkerTimeout: r2, useCompressionStream: a2, useWebWorkers: s2, Deflate: o2, Inflate: l2, CompressionStream: c2, DecompressionStream: u2, workerScripts: d2 } = e2;
3503
- if (O("baseURL", t2), O("chunkSize", n2), O("maxWorkers", i2), O("terminateWorkerTimeout", r2), O("useCompressionStream", a2), O("useWebWorkers", s2), o2 && (T$1.CompressionStream = new U$1(o2)), l2 && (T$1.DecompressionStream = new U$1(l2)), O("CompressionStream", c2), O("DecompressionStream", u2), d2 !== S) {
3504
- const { deflate: e3, inflate: t3 } = d2;
3505
- if ((e3 || t3) && (T$1.workerScripts || (T$1.workerScripts = {})), e3) {
3506
- if (!Array.isArray(e3)) throw new Error("workerScripts.deflate must be an array");
3507
- T$1.workerScripts.deflate = e3;
3508
- }
3509
- if (t3) {
3510
- if (!Array.isArray(t3)) throw new Error("workerScripts.inflate must be an array");
3511
- T$1.workerScripts.inflate = t3;
3512
- }
3513
- }
3101
+ const h$1 = { workerURI: "./core/web-worker-wasm.js", wasmURI: "./core/streams/zlib-wasm/zlib-streams.wasm", chunkSize: 65536, maxWorkers: f$1, terminateWorkerTimeout: 5e3, useWebWorkers: true, useCompressionStream: true, CompressionStream: typeof CompressionStream != u$1 && CompressionStream, DecompressionStream: typeof DecompressionStream != u$1 && DecompressionStream }, p$1 = Object.assign({}, h$1);
3102
+ function w$1(e2) {
3103
+ const { baseURI: t2, chunkSize: r2, maxWorkers: n2, terminateWorkerTimeout: s2, useCompressionStream: a2, useWebWorkers: i2, CompressionStream: o2, DecompressionStream: c2, CompressionStreamZlib: l2, DecompressionStreamZlib: u2, workerURI: d2, wasmURI: f2 } = e2;
3104
+ g$1("baseURI", t2), g$1("wasmURI", f2), g$1("workerURI", d2), g$1("chunkSize", r2), g$1("maxWorkers", n2), g$1("terminateWorkerTimeout", s2), g$1("useCompressionStream", a2), g$1("useWebWorkers", i2), g$1("CompressionStream", o2), g$1("DecompressionStream", c2), g$1("CompressionStreamZlib", l2), g$1("DecompressionStreamZlib", u2);
3514
3105
  }
3515
- function O(e2, t2) {
3516
- t2 !== S && (T$1[e2] = t2);
3106
+ function g$1(e2, t2) {
3107
+ t2 !== c$1 && (p$1[e2] = t2);
3517
3108
  }
3518
- const C = [];
3109
+ const m$1 = [];
3519
3110
  for (let e2 = 0; e2 < 256; e2++) {
3520
3111
  let t2 = e2;
3521
3112
  for (let e3 = 0; e3 < 8; e3++) 1 & t2 ? t2 = t2 >>> 1 ^ 3988292384 : t2 >>>= 1;
3522
- C[e2] = t2;
3113
+ m$1[e2] = t2;
3523
3114
  }
3524
- class W {
3115
+ let y$1 = class y {
3525
3116
  constructor(e2) {
3526
3117
  this.crc = e2 || -1;
3527
3118
  }
3528
3119
  append(e2) {
3529
3120
  let t2 = 0 | this.crc;
3530
- for (let n2 = 0, i2 = 0 | e2.length; n2 < i2; n2++) t2 = t2 >>> 8 ^ C[255 & (t2 ^ e2[n2])];
3121
+ for (let r2 = 0, n2 = 0 | e2.length; r2 < n2; r2++) t2 = t2 >>> 8 ^ m$1[255 & (t2 ^ e2[r2])];
3531
3122
  this.crc = t2;
3532
3123
  }
3533
3124
  get() {
3534
3125
  return ~this.crc;
3535
3126
  }
3536
- }
3537
- class j extends TransformStream {
3127
+ };
3128
+ let b$1 = class b extends TransformStream {
3538
3129
  constructor() {
3539
3130
  let e2;
3540
- const t2 = new W();
3541
- super({ transform(e3, n2) {
3542
- t2.append(e3), n2.enqueue(e3);
3131
+ const t2 = new y$1();
3132
+ super({ transform(e3, r2) {
3133
+ t2.append(e3), r2.enqueue(e3);
3543
3134
  }, flush() {
3544
- const n2 = new Uint8Array(4);
3545
- new DataView(n2.buffer).setUint32(0, t2.get()), e2.value = n2;
3135
+ const r2 = new Uint8Array(4);
3136
+ new DataView(r2.buffer).setUint32(0, t2.get()), e2.value = r2;
3546
3137
  } }), e2 = this;
3547
3138
  }
3548
- }
3549
- const M = { concat(e2, t2) {
3139
+ };
3140
+ const S = { concat(e2, t2) {
3550
3141
  if (0 === e2.length || 0 === t2.length) return e2.concat(t2);
3551
- const n2 = e2[e2.length - 1], i2 = M.getPartial(n2);
3552
- return 32 === i2 ? e2.concat(t2) : M._shiftRight(t2, i2, 0 | n2, e2.slice(0, e2.length - 1));
3142
+ const r2 = e2[e2.length - 1], n2 = S.getPartial(r2);
3143
+ return 32 === n2 ? e2.concat(t2) : S._shiftRight(t2, n2, 0 | r2, e2.slice(0, e2.length - 1));
3553
3144
  }, bitLength(e2) {
3554
3145
  const t2 = e2.length;
3555
3146
  if (0 === t2) return 0;
3556
- const n2 = e2[t2 - 1];
3557
- return 32 * (t2 - 1) + M.getPartial(n2);
3147
+ const r2 = e2[t2 - 1];
3148
+ return 32 * (t2 - 1) + S.getPartial(r2);
3558
3149
  }, clamp(e2, t2) {
3559
3150
  if (32 * e2.length < t2) return e2;
3560
- const n2 = (e2 = e2.slice(0, Math.ceil(t2 / 32))).length;
3561
- return t2 &= 31, n2 > 0 && t2 && (e2[n2 - 1] = M.partial(t2, e2[n2 - 1] & 2147483648 >> t2 - 1, 1)), e2;
3562
- }, partial: (e2, t2, n2) => 32 === e2 ? t2 : (n2 ? 0 | t2 : t2 << 32 - e2) + 1099511627776 * e2, getPartial: (e2) => Math.round(e2 / 1099511627776) || 32, _shiftRight(e2, t2, n2, i2) {
3563
- for (void 0 === i2 && (i2 = []); t2 >= 32; t2 -= 32) i2.push(n2), n2 = 0;
3564
- if (0 === t2) return i2.concat(e2);
3565
- for (let r3 = 0; r3 < e2.length; r3++) i2.push(n2 | e2[r3] >>> t2), n2 = e2[r3] << 32 - t2;
3566
- const r2 = e2.length ? e2[e2.length - 1] : 0, a2 = M.getPartial(r2);
3567
- return i2.push(M.partial(t2 + a2 & 31, t2 + a2 > 32 ? n2 : i2.pop(), 1)), i2;
3568
- } }, L = { bytes: { fromBits(e2) {
3569
- const t2 = M.bitLength(e2) / 8, n2 = new Uint8Array(t2);
3570
- let i2;
3571
- for (let r2 = 0; r2 < t2; r2++) 3 & r2 || (i2 = e2[r2 / 4]), n2[r2] = i2 >>> 24, i2 <<= 8;
3572
- return n2;
3151
+ const r2 = (e2 = e2.slice(0, Math.ceil(t2 / 32))).length;
3152
+ return t2 &= 31, r2 > 0 && t2 && (e2[r2 - 1] = S.partial(t2, e2[r2 - 1] & 2147483648 >> t2 - 1, 1)), e2;
3153
+ }, partial: (e2, t2, r2) => 32 === e2 ? t2 : (r2 ? 0 | t2 : t2 << 32 - e2) + 1099511627776 * e2, getPartial: (e2) => Math.round(e2 / 1099511627776) || 32, _shiftRight(e2, t2, r2, n2) {
3154
+ for (void 0 === n2 && (n2 = []); t2 >= 32; t2 -= 32) n2.push(r2), r2 = 0;
3155
+ if (0 === t2) return n2.concat(e2);
3156
+ for (let s3 = 0; s3 < e2.length; s3++) n2.push(r2 | e2[s3] >>> t2), r2 = e2[s3] << 32 - t2;
3157
+ const s2 = e2.length ? e2[e2.length - 1] : 0, a2 = S.getPartial(s2);
3158
+ return n2.push(S.partial(t2 + a2 & 31, t2 + a2 > 32 ? r2 : n2.pop(), 1)), n2;
3159
+ } }, k$1 = { bytes: { fromBits(e2) {
3160
+ const t2 = S.bitLength(e2) / 8, r2 = new Uint8Array(t2);
3161
+ let n2;
3162
+ for (let s2 = 0; s2 < t2; s2++) 3 & s2 || (n2 = e2[s2 / 4]), r2[s2] = n2 >>> 24, n2 <<= 8;
3163
+ return r2;
3573
3164
  }, toBits(e2) {
3574
3165
  const t2 = [];
3575
- let n2, i2 = 0;
3576
- for (n2 = 0; n2 < e2.length; n2++) i2 = i2 << 8 | e2[n2], 3 & ~n2 || (t2.push(i2), i2 = 0);
3577
- return 3 & n2 && t2.push(M.partial(8 * (3 & n2), i2)), t2;
3578
- } } }, P = { sha1: class {
3166
+ let r2, n2 = 0;
3167
+ for (r2 = 0; r2 < e2.length; r2++) n2 = n2 << 8 | e2[r2], 3 & ~r2 || (t2.push(n2), n2 = 0);
3168
+ return 3 & r2 && t2.push(S.partial(8 * (3 & r2), n2)), t2;
3169
+ } } }, z$1 = { sha1: class {
3579
3170
  constructor(e2) {
3580
3171
  const t2 = this;
3581
3172
  t2.blockSize = 512, t2._init = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], t2._key = [1518500249, 1859775393, 2400959708, 3395469782], e2 ? (t2._h = e2._h.slice(0), t2._buffer = e2._buffer.slice(0), t2._length = e2._length) : t2.reset();
@@ -3586,54 +3177,54 @@
3586
3177
  }
3587
3178
  update(e2) {
3588
3179
  const t2 = this;
3589
- "string" == typeof e2 && (e2 = L.utf8String.toBits(e2));
3590
- const n2 = t2._buffer = M.concat(t2._buffer, e2), i2 = t2._length, r2 = t2._length = i2 + M.bitLength(e2);
3591
- if (r2 > 9007199254740991) throw new Error("Cannot hash more than 2^53 - 1 bits");
3592
- const a2 = new Uint32Array(n2);
3593
- let s2 = 0;
3594
- for (let e3 = t2.blockSize + i2 - (t2.blockSize + i2 & t2.blockSize - 1); e3 <= r2; e3 += t2.blockSize) t2._block(a2.subarray(16 * s2, 16 * (s2 + 1))), s2 += 1;
3595
- return n2.splice(0, 16 * s2), t2;
3180
+ "string" == typeof e2 && (e2 = k$1.utf8String.toBits(e2));
3181
+ const r2 = t2._buffer = S.concat(t2._buffer, e2), n2 = t2._length, s2 = t2._length = n2 + S.bitLength(e2);
3182
+ if (s2 > 9007199254740991) throw new Error("Cannot hash more than 2^53 - 1 bits");
3183
+ const a2 = new Uint32Array(r2);
3184
+ let i2 = 0;
3185
+ for (let e3 = t2.blockSize + n2 - (t2.blockSize + n2 & t2.blockSize - 1); e3 <= s2; e3 += t2.blockSize) t2._block(a2.subarray(16 * i2, 16 * (i2 + 1))), i2 += 1;
3186
+ return r2.splice(0, 16 * i2), t2;
3596
3187
  }
3597
3188
  finalize() {
3598
3189
  const e2 = this;
3599
3190
  let t2 = e2._buffer;
3600
- const n2 = e2._h;
3601
- t2 = M.concat(t2, [M.partial(1, 1)]);
3191
+ const r2 = e2._h;
3192
+ t2 = S.concat(t2, [S.partial(1, 1)]);
3602
3193
  for (let e3 = t2.length + 2; 15 & e3; e3++) t2.push(0);
3603
3194
  for (t2.push(Math.floor(e2._length / 4294967296)), t2.push(0 | e2._length); t2.length; ) e2._block(t2.splice(0, 16));
3604
- return e2.reset(), n2;
3195
+ return e2.reset(), r2;
3605
3196
  }
3606
- _f(e2, t2, n2, i2) {
3607
- return e2 <= 19 ? t2 & n2 | ~t2 & i2 : e2 <= 39 ? t2 ^ n2 ^ i2 : e2 <= 59 ? t2 & n2 | t2 & i2 | n2 & i2 : e2 <= 79 ? t2 ^ n2 ^ i2 : void 0;
3197
+ _f(e2, t2, r2, n2) {
3198
+ return e2 <= 19 ? t2 & r2 | ~t2 & n2 : e2 <= 39 ? t2 ^ r2 ^ n2 : e2 <= 59 ? t2 & r2 | t2 & n2 | r2 & n2 : e2 <= 79 ? t2 ^ r2 ^ n2 : void 0;
3608
3199
  }
3609
3200
  _S(e2, t2) {
3610
3201
  return t2 << e2 | t2 >>> 32 - e2;
3611
3202
  }
3612
3203
  _block(e2) {
3613
- const t2 = this, n2 = t2._h, i2 = Array(80);
3614
- for (let t3 = 0; t3 < 16; t3++) i2[t3] = e2[t3];
3615
- let r2 = n2[0], a2 = n2[1], s2 = n2[2], o2 = n2[3], l2 = n2[4];
3204
+ const t2 = this, r2 = t2._h, n2 = Array(80);
3205
+ for (let t3 = 0; t3 < 16; t3++) n2[t3] = e2[t3];
3206
+ let s2 = r2[0], a2 = r2[1], i2 = r2[2], o2 = r2[3], c2 = r2[4];
3616
3207
  for (let e3 = 0; e3 <= 79; e3++) {
3617
- e3 >= 16 && (i2[e3] = t2._S(1, i2[e3 - 3] ^ i2[e3 - 8] ^ i2[e3 - 14] ^ i2[e3 - 16]));
3618
- const n3 = t2._S(5, r2) + t2._f(e3, a2, s2, o2) + l2 + i2[e3] + t2._key[Math.floor(e3 / 20)] | 0;
3619
- l2 = o2, o2 = s2, s2 = t2._S(30, a2), a2 = r2, r2 = n3;
3208
+ e3 >= 16 && (n2[e3] = t2._S(1, n2[e3 - 3] ^ n2[e3 - 8] ^ n2[e3 - 14] ^ n2[e3 - 16]));
3209
+ const r3 = t2._S(5, s2) + t2._f(e3, a2, i2, o2) + c2 + n2[e3] + t2._key[Math.floor(e3 / 20)] | 0;
3210
+ c2 = o2, o2 = i2, i2 = t2._S(30, a2), a2 = s2, s2 = r3;
3620
3211
  }
3621
- n2[0] = n2[0] + r2 | 0, n2[1] = n2[1] + a2 | 0, n2[2] = n2[2] + s2 | 0, n2[3] = n2[3] + o2 | 0, n2[4] = n2[4] + l2 | 0;
3212
+ r2[0] = r2[0] + s2 | 0, r2[1] = r2[1] + a2 | 0, r2[2] = r2[2] + i2 | 0, r2[3] = r2[3] + o2 | 0, r2[4] = r2[4] + c2 | 0;
3622
3213
  }
3623
- } }, R = { aes: class {
3214
+ } }, x$1 = { aes: class {
3624
3215
  constructor(e2) {
3625
3216
  const t2 = this;
3626
3217
  t2._tables = [[[], [], [], [], []], [[], [], [], [], []]], t2._tables[0][0][0] || t2._precompute();
3627
- const n2 = t2._tables[0][4], i2 = t2._tables[1], r2 = e2.length;
3628
- let a2, s2, o2, l2 = 1;
3629
- if (4 !== r2 && 6 !== r2 && 8 !== r2) throw new Error("invalid aes key size");
3630
- for (t2._key = [s2 = e2.slice(0), o2 = []], a2 = r2; a2 < 4 * r2 + 28; a2++) {
3631
- let e3 = s2[a2 - 1];
3632
- (a2 % r2 == 0 || 8 === r2 && a2 % r2 == 4) && (e3 = n2[e3 >>> 24] << 24 ^ n2[e3 >> 16 & 255] << 16 ^ n2[e3 >> 8 & 255] << 8 ^ n2[255 & e3], a2 % r2 == 0 && (e3 = e3 << 8 ^ e3 >>> 24 ^ l2 << 24, l2 = l2 << 1 ^ 283 * (l2 >> 7))), s2[a2] = s2[a2 - r2] ^ e3;
3218
+ const r2 = t2._tables[0][4], n2 = t2._tables[1], s2 = e2.length;
3219
+ let a2, i2, o2, c2 = 1;
3220
+ if (4 !== s2 && 6 !== s2 && 8 !== s2) throw new Error("invalid aes key size");
3221
+ for (t2._key = [i2 = e2.slice(0), o2 = []], a2 = s2; a2 < 4 * s2 + 28; a2++) {
3222
+ let e3 = i2[a2 - 1];
3223
+ (a2 % s2 === 0 || 8 === s2 && a2 % s2 === 4) && (e3 = r2[e3 >>> 24] << 24 ^ r2[e3 >> 16 & 255] << 16 ^ r2[e3 >> 8 & 255] << 8 ^ r2[255 & e3], a2 % s2 === 0 && (e3 = e3 << 8 ^ e3 >>> 24 ^ c2 << 24, c2 = c2 << 1 ^ 283 * (c2 >> 7))), i2[a2] = i2[a2 - s2] ^ e3;
3633
3224
  }
3634
3225
  for (let e3 = 0; a2; e3++, a2--) {
3635
- const t3 = s2[3 & e3 ? a2 : a2 - 4];
3636
- o2[e3] = a2 <= 4 || e3 < 4 ? t3 : i2[0][n2[t3 >>> 24]] ^ i2[1][n2[t3 >> 16 & 255]] ^ i2[2][n2[t3 >> 8 & 255]] ^ i2[3][n2[255 & t3]];
3226
+ const t3 = i2[3 & e3 ? a2 : a2 - 4];
3227
+ o2[e3] = a2 <= 4 || e3 < 4 ? t3 : n2[0][r2[t3 >>> 24]] ^ n2[1][r2[t3 >> 16 & 255]] ^ n2[2][r2[t3 >> 8 & 255]] ^ n2[3][r2[255 & t3]];
3637
3228
  }
3638
3229
  }
3639
3230
  encrypt(e2) {
@@ -3643,40 +3234,40 @@
3643
3234
  return this._crypt(e2, 1);
3644
3235
  }
3645
3236
  _precompute() {
3646
- const e2 = this._tables[0], t2 = this._tables[1], n2 = e2[4], i2 = t2[4], r2 = [], a2 = [];
3647
- let s2, o2, l2, c2;
3648
- for (let e3 = 0; e3 < 256; e3++) a2[(r2[e3] = e3 << 1 ^ 283 * (e3 >> 7)) ^ e3] = e3;
3649
- for (let u2 = s2 = 0; !n2[u2]; u2 ^= o2 || 1, s2 = a2[s2] || 1) {
3650
- let a3 = s2 ^ s2 << 1 ^ s2 << 2 ^ s2 << 3 ^ s2 << 4;
3651
- a3 = a3 >> 8 ^ 255 & a3 ^ 99, n2[u2] = a3, i2[a3] = u2, c2 = r2[l2 = r2[o2 = r2[u2]]];
3652
- let d2 = 16843009 * c2 ^ 65537 * l2 ^ 257 * o2 ^ 16843008 * u2, f2 = 257 * r2[a3] ^ 16843008 * a3;
3653
- for (let n3 = 0; n3 < 4; n3++) e2[n3][u2] = f2 = f2 << 24 ^ f2 >>> 8, t2[n3][a3] = d2 = d2 << 24 ^ d2 >>> 8;
3237
+ const e2 = this._tables[0], t2 = this._tables[1], r2 = e2[4], n2 = t2[4], s2 = [], a2 = [];
3238
+ let i2, o2, c2, l2;
3239
+ for (let e3 = 0; e3 < 256; e3++) a2[(s2[e3] = e3 << 1 ^ 283 * (e3 >> 7)) ^ e3] = e3;
3240
+ for (let u2 = i2 = 0; !r2[u2]; u2 ^= o2 || 1, i2 = a2[i2] || 1) {
3241
+ let a3 = i2 ^ i2 << 1 ^ i2 << 2 ^ i2 << 3 ^ i2 << 4;
3242
+ a3 = a3 >> 8 ^ 255 & a3 ^ 99, r2[u2] = a3, n2[a3] = u2, l2 = s2[c2 = s2[o2 = s2[u2]]];
3243
+ let d2 = 16843009 * l2 ^ 65537 * c2 ^ 257 * o2 ^ 16843008 * u2, f2 = 257 * s2[a3] ^ 16843008 * a3;
3244
+ for (let r3 = 0; r3 < 4; r3++) e2[r3][u2] = f2 = f2 << 24 ^ f2 >>> 8, t2[r3][a3] = d2 = d2 << 24 ^ d2 >>> 8;
3654
3245
  }
3655
- for (let n3 = 0; n3 < 5; n3++) e2[n3] = e2[n3].slice(0), t2[n3] = t2[n3].slice(0);
3246
+ for (let r3 = 0; r3 < 5; r3++) e2[r3] = e2[r3].slice(0), t2[r3] = t2[r3].slice(0);
3656
3247
  }
3657
3248
  _crypt(e2, t2) {
3658
3249
  if (4 !== e2.length) throw new Error("invalid aes block size");
3659
- const n2 = this._key[t2], i2 = n2.length / 4 - 2, r2 = [0, 0, 0, 0], a2 = this._tables[t2], s2 = a2[0], o2 = a2[1], l2 = a2[2], c2 = a2[3], u2 = a2[4];
3660
- let d2, f2, h2, w2 = e2[0] ^ n2[0], _2 = e2[t2 ? 3 : 1] ^ n2[1], b2 = e2[2] ^ n2[2], p2 = e2[t2 ? 1 : 3] ^ n2[3], m2 = 4;
3661
- for (let e3 = 0; e3 < i2; e3++) d2 = s2[w2 >>> 24] ^ o2[_2 >> 16 & 255] ^ l2[b2 >> 8 & 255] ^ c2[255 & p2] ^ n2[m2], f2 = s2[_2 >>> 24] ^ o2[b2 >> 16 & 255] ^ l2[p2 >> 8 & 255] ^ c2[255 & w2] ^ n2[m2 + 1], h2 = s2[b2 >>> 24] ^ o2[p2 >> 16 & 255] ^ l2[w2 >> 8 & 255] ^ c2[255 & _2] ^ n2[m2 + 2], p2 = s2[p2 >>> 24] ^ o2[w2 >> 16 & 255] ^ l2[_2 >> 8 & 255] ^ c2[255 & b2] ^ n2[m2 + 3], m2 += 4, w2 = d2, _2 = f2, b2 = h2;
3662
- for (let e3 = 0; e3 < 4; e3++) r2[t2 ? 3 & -e3 : e3] = u2[w2 >>> 24] << 24 ^ u2[_2 >> 16 & 255] << 16 ^ u2[b2 >> 8 & 255] << 8 ^ u2[255 & p2] ^ n2[m2++], d2 = w2, w2 = _2, _2 = b2, b2 = p2, p2 = d2;
3663
- return r2;
3664
- }
3665
- } }, B = { getRandomValues(e2) {
3666
- const t2 = new Uint32Array(e2.buffer), n2 = (e3) => {
3250
+ const r2 = this._key[t2], n2 = r2.length / 4 - 2, s2 = [0, 0, 0, 0], a2 = this._tables[t2], i2 = a2[0], o2 = a2[1], c2 = a2[2], l2 = a2[3], u2 = a2[4];
3251
+ let d2, f2, h2, p2 = e2[0] ^ r2[0], w2 = e2[t2 ? 3 : 1] ^ r2[1], g2 = e2[2] ^ r2[2], m2 = e2[t2 ? 1 : 3] ^ r2[3], y2 = 4;
3252
+ for (let e3 = 0; e3 < n2; e3++) d2 = i2[p2 >>> 24] ^ o2[w2 >> 16 & 255] ^ c2[g2 >> 8 & 255] ^ l2[255 & m2] ^ r2[y2], f2 = i2[w2 >>> 24] ^ o2[g2 >> 16 & 255] ^ c2[m2 >> 8 & 255] ^ l2[255 & p2] ^ r2[y2 + 1], h2 = i2[g2 >>> 24] ^ o2[m2 >> 16 & 255] ^ c2[p2 >> 8 & 255] ^ l2[255 & w2] ^ r2[y2 + 2], m2 = i2[m2 >>> 24] ^ o2[p2 >> 16 & 255] ^ c2[w2 >> 8 & 255] ^ l2[255 & g2] ^ r2[y2 + 3], y2 += 4, p2 = d2, w2 = f2, g2 = h2;
3253
+ for (let e3 = 0; e3 < 4; e3++) s2[t2 ? 3 & -e3 : e3] = u2[p2 >>> 24] << 24 ^ u2[w2 >> 16 & 255] << 16 ^ u2[g2 >> 8 & 255] << 8 ^ u2[255 & m2] ^ r2[y2++], d2 = p2, p2 = w2, w2 = g2, g2 = m2, m2 = d2;
3254
+ return s2;
3255
+ }
3256
+ } }, U$1 = { getRandomValues(e2) {
3257
+ const t2 = new Uint32Array(e2.buffer), r2 = (e3) => {
3667
3258
  let t3 = 987654321;
3668
- const n3 = 4294967295;
3259
+ const r3 = 4294967295;
3669
3260
  return function() {
3670
- t3 = 36969 * (65535 & t3) + (t3 >> 16) & n3;
3671
- return (((t3 << 16) + (e3 = 18e3 * (65535 & e3) + (e3 >> 16) & n3) & n3) / 4294967296 + 0.5) * (Math.random() > 0.5 ? 1 : -1);
3261
+ t3 = 36969 * (65535 & t3) + (t3 >> 16) & r3;
3262
+ return (((t3 << 16) + (e3 = 18e3 * (65535 & e3) + (e3 >> 16) & r3) & r3) / 4294967296 + 0.5) * (Math.random() > 0.5 ? 1 : -1);
3672
3263
  };
3673
3264
  };
3674
- for (let i2, r2 = 0; r2 < e2.length; r2 += 4) {
3675
- const e3 = n2(4294967296 * (i2 || Math.random()));
3676
- i2 = 987654071 * e3(), t2[r2 / 4] = 4294967296 * e3() | 0;
3265
+ for (let n2, s2 = 0; s2 < e2.length; s2 += 4) {
3266
+ const e3 = r2(4294967296 * (n2 || Math.random()));
3267
+ n2 = 987654071 * e3(), t2[s2 / 4] = 4294967296 * e3() | 0;
3677
3268
  }
3678
3269
  return e2;
3679
- } }, I = { ctrGladman: class {
3270
+ } }, A$1 = { ctrGladman: class {
3680
3271
  constructor(e2, t2) {
3681
3272
  this._prf = e2, this._initIv = t2, this._iv = t2;
3682
3273
  }
@@ -3689,45 +3280,45 @@
3689
3280
  incWord(e2) {
3690
3281
  if (255 & ~(e2 >> 24)) e2 += 1 << 24;
3691
3282
  else {
3692
- let t2 = e2 >> 16 & 255, n2 = e2 >> 8 & 255, i2 = 255 & e2;
3693
- 255 === t2 ? (t2 = 0, 255 === n2 ? (n2 = 0, 255 === i2 ? i2 = 0 : ++i2) : ++n2) : ++t2, e2 = 0, e2 += t2 << 16, e2 += n2 << 8, e2 += i2;
3283
+ let t2 = e2 >> 16 & 255, r2 = e2 >> 8 & 255, n2 = 255 & e2;
3284
+ 255 === t2 ? (t2 = 0, 255 === r2 ? (r2 = 0, 255 === n2 ? n2 = 0 : ++n2) : ++r2) : ++t2, e2 = 0, e2 += t2 << 16, e2 += r2 << 8, e2 += n2;
3694
3285
  }
3695
3286
  return e2;
3696
3287
  }
3697
3288
  incCounter(e2) {
3698
3289
  0 === (e2[0] = this.incWord(e2[0])) && (e2[1] = this.incWord(e2[1]));
3699
3290
  }
3700
- calculate(e2, t2, n2) {
3701
- let i2;
3702
- if (!(i2 = t2.length)) return [];
3703
- const r2 = M.bitLength(t2);
3704
- for (let r3 = 0; r3 < i2; r3 += 4) {
3705
- this.incCounter(n2);
3706
- const i3 = e2.encrypt(n2);
3707
- t2[r3] ^= i3[0], t2[r3 + 1] ^= i3[1], t2[r3 + 2] ^= i3[2], t2[r3 + 3] ^= i3[3];
3708
- }
3709
- return M.clamp(t2, r2);
3710
- }
3711
- } }, N = { importKey: (e2) => new N.hmacSha1(L.bytes.toBits(e2)), pbkdf2(e2, t2, n2, i2) {
3712
- if (n2 = n2 || 1e4, i2 < 0 || n2 < 0) throw new Error("invalid params to pbkdf2");
3713
- const r2 = 1 + (i2 >> 5) << 2;
3714
- let a2, s2, o2, l2, c2;
3715
- const u2 = new ArrayBuffer(r2), d2 = new DataView(u2);
3291
+ calculate(e2, t2, r2) {
3292
+ let n2;
3293
+ if (!(n2 = t2.length)) return [];
3294
+ const s2 = S.bitLength(t2);
3295
+ for (let s3 = 0; s3 < n2; s3 += 4) {
3296
+ this.incCounter(r2);
3297
+ const n3 = e2.encrypt(r2);
3298
+ t2[s3] ^= n3[0], t2[s3 + 1] ^= n3[1], t2[s3 + 2] ^= n3[2], t2[s3 + 3] ^= n3[3];
3299
+ }
3300
+ return S.clamp(t2, s2);
3301
+ }
3302
+ } }, v$1 = { importKey: (e2) => new v$1.hmacSha1(k$1.bytes.toBits(e2)), pbkdf2(e2, t2, r2, n2) {
3303
+ if (r2 = r2 || 1e4, n2 < 0 || r2 < 0) throw new Error("invalid params to pbkdf2");
3304
+ const s2 = 1 + (n2 >> 5) << 2;
3305
+ let a2, i2, o2, c2, l2;
3306
+ const u2 = new ArrayBuffer(s2), d2 = new DataView(u2);
3716
3307
  let f2 = 0;
3717
- const h2 = M;
3718
- for (t2 = L.bytes.toBits(t2), c2 = 1; f2 < (r2 || 1); c2++) {
3719
- for (a2 = s2 = e2.encrypt(h2.concat(t2, [c2])), o2 = 1; o2 < n2; o2++) for (s2 = e2.encrypt(s2), l2 = 0; l2 < s2.length; l2++) a2[l2] ^= s2[l2];
3720
- for (o2 = 0; f2 < (r2 || 1) && o2 < a2.length; o2++) d2.setInt32(f2, a2[o2]), f2 += 4;
3308
+ const h2 = S;
3309
+ for (t2 = k$1.bytes.toBits(t2), l2 = 1; f2 < (s2 || 1); l2++) {
3310
+ for (a2 = i2 = e2.encrypt(h2.concat(t2, [l2])), o2 = 1; o2 < r2; o2++) for (i2 = e2.encrypt(i2), c2 = 0; c2 < i2.length; c2++) a2[c2] ^= i2[c2];
3311
+ for (o2 = 0; f2 < (s2 || 1) && o2 < a2.length; o2++) d2.setInt32(f2, a2[o2]), f2 += 4;
3721
3312
  }
3722
- return u2.slice(0, i2 / 8);
3313
+ return u2.slice(0, n2 / 8);
3723
3314
  }, hmacSha1: class {
3724
3315
  constructor(e2) {
3725
- const t2 = this, n2 = t2._hash = P.sha1, i2 = [[], []];
3726
- t2._baseHash = [new n2(), new n2()];
3727
- const r2 = t2._baseHash[0].blockSize / 32;
3728
- e2.length > r2 && (e2 = new n2().update(e2).finalize());
3729
- for (let t3 = 0; t3 < r2; t3++) i2[0][t3] = 909522486 ^ e2[t3], i2[1][t3] = 1549556828 ^ e2[t3];
3730
- t2._baseHash[0].update(i2[0]), t2._baseHash[1].update(i2[1]), t2._resultHash = new n2(t2._baseHash[0]);
3316
+ const t2 = this, r2 = t2._hash = z$1.sha1, n2 = [[], []];
3317
+ t2._baseHash = [new r2(), new r2()];
3318
+ const s2 = t2._baseHash[0].blockSize / 32;
3319
+ e2.length > s2 && (e2 = new r2().update(e2).finalize());
3320
+ for (let t3 = 0; t3 < s2; t3++) n2[0][t3] = 909522486 ^ e2[t3], n2[1][t3] = 1549556828 ^ e2[t3];
3321
+ t2._baseHash[0].update(n2[0]), t2._baseHash[1].update(n2[1]), t2._resultHash = new r2(t2._baseHash[0]);
3731
3322
  }
3732
3323
  reset() {
3733
3324
  const e2 = this;
@@ -3737,449 +3328,470 @@
3737
3328
  this._updated = true, this._resultHash.update(e2);
3738
3329
  }
3739
3330
  digest() {
3740
- const e2 = this, t2 = e2._resultHash.finalize(), n2 = new e2._hash(e2._baseHash[1]).update(t2).finalize();
3741
- return e2.reset(), n2;
3331
+ const e2 = this, t2 = e2._resultHash.finalize(), r2 = new e2._hash(e2._baseHash[1]).update(t2).finalize();
3332
+ return e2.reset(), r2;
3742
3333
  }
3743
3334
  encrypt(e2) {
3744
3335
  if (this._updated) throw new Error("encrypt on already updated hmac called!");
3745
3336
  return this.update(e2), this.digest(e2);
3746
3337
  }
3747
- } }, V = typeof crypto != z$1 && typeof crypto.getRandomValues == A$1, q = "Invalid password", H = "Invalid signature", K = "zipjs-abort-check-password";
3748
- function Z(e2) {
3749
- return V ? crypto.getRandomValues(e2) : B.getRandomValues(e2);
3338
+ } }, D$1 = typeof crypto != u$1 && typeof crypto.getRandomValues == d$1, _ = "Invalid password", F = "Invalid signature", O = "zipjs-abort-check-password";
3339
+ function E$1(e2) {
3340
+ return D$1 ? crypto.getRandomValues(e2) : U$1.getRandomValues(e2);
3750
3341
  }
3751
- const G = 16, J = { name: "PBKDF2" }, Q = Object.assign({ hash: { name: "HMAC" } }, J), X = Object.assign({ iterations: 1e3, hash: { name: "SHA-1" } }, J), Y = ["deriveBits"], $ = [8, 12, 16], ee = [16, 24, 32], te = 10, ne = [0, 0, 0, 0], ie = typeof crypto != z$1, re = ie && crypto.subtle, ae = ie && typeof re != z$1, se = L.bytes, oe = R.aes, le = I.ctrGladman, ce = N.hmacSha1;
3752
- let ue = ie && ae && typeof re.importKey == A$1, de = ie && ae && typeof re.deriveBits == A$1;
3753
- class fe extends TransformStream {
3754
- constructor({ password: e2, rawPassword: t2, signed: n2, encryptionStrength: i2, checkPasswordOnly: r2 }) {
3342
+ const T$1 = 16, C = { name: "PBKDF2" }, R = Object.assign({ hash: { name: "HMAC" } }, C), W = Object.assign({ iterations: 1e3, hash: { name: "SHA-1" } }, C), M = ["deriveBits"], j = [8, 12, 16], I = [16, 24, 32], B = 10, P = [0, 0, 0, 0], L = typeof crypto != u$1, V = L && crypto.subtle, N = L && typeof V != u$1, Z = k$1.bytes, q = x$1.aes, H = A$1.ctrGladman, K = v$1.hmacSha1;
3343
+ let G = L && N && typeof V.importKey == d$1, J = L && N && typeof V.deriveBits == d$1;
3344
+ class Q extends TransformStream {
3345
+ constructor({ password: e2, rawPassword: t2, signed: r2, encryptionStrength: n2, checkPasswordOnly: s2 }) {
3755
3346
  super({ start() {
3756
- Object.assign(this, { ready: new Promise(((e3) => this.resolveReady = e3)), password: be(e2, t2), signed: n2, strength: i2 - 1, pending: new Uint8Array() });
3347
+ Object.assign(this, { ready: new Promise((e3) => this.resolveReady = e3), password: ee(e2, t2), signed: r2, strength: n2 - 1, pending: new Uint8Array() });
3757
3348
  }, async transform(e3, t3) {
3758
- const n3 = this, { password: i3, strength: a2, resolveReady: s2, ready: o2 } = n3;
3759
- i3 ? (await (async function(e4, t4, n4, i4) {
3760
- const r3 = await _e(e4, t4, n4, me(i4, 0, $[t4])), a3 = me(i4, $[t4]);
3761
- if (r3[0] != a3[0] || r3[1] != a3[1]) throw new Error(q);
3762
- })(n3, a2, i3, me(e3, 0, $[a2] + 2)), e3 = me(e3, $[a2] + 2), r2 ? t3.error(new Error(K)) : s2()) : await o2;
3763
- const l2 = new Uint8Array(e3.length - te - (e3.length - te) % G);
3764
- t3.enqueue(we(n3, e3, l2, 0, te, true));
3349
+ const r3 = this, { password: n3, strength: a2, resolveReady: i2, ready: o2 } = r3;
3350
+ n3 ? (await (async function(e4, t4, r4, n4) {
3351
+ const s3 = await $(e4, t4, r4, re(n4, 0, j[t4])), a3 = re(n4, j[t4]);
3352
+ if (s3[0] != a3[0] || s3[1] != a3[1]) throw new Error(_);
3353
+ })(r3, a2, n3, re(e3, 0, j[a2] + 2)), e3 = re(e3, j[a2] + 2), s2 ? t3.error(new Error(O)) : i2()) : await o2;
3354
+ const c2 = new Uint8Array(e3.length - B - (e3.length - B) % T$1);
3355
+ t3.enqueue(Y(r3, e3, c2, 0, B, true));
3765
3356
  }, async flush(e3) {
3766
- const { signed: t3, ctr: n3, hmac: i3, pending: r3, ready: a2 } = this;
3767
- if (i3 && n3) {
3357
+ const { signed: t3, ctr: r3, hmac: n3, pending: s3, ready: a2 } = this;
3358
+ if (n3 && r3) {
3768
3359
  await a2;
3769
- const s2 = me(r3, 0, r3.length - te), o2 = me(r3, r3.length - te);
3770
- let l2 = new Uint8Array();
3771
- if (s2.length) {
3772
- const e4 = ye(se, s2);
3773
- i3.update(e4);
3774
- const t4 = n3.update(e4);
3775
- l2 = ge(se, t4);
3360
+ const i2 = re(s3, 0, s3.length - B), o2 = re(s3, s3.length - B);
3361
+ let c2 = new Uint8Array();
3362
+ if (i2.length) {
3363
+ const e4 = se(Z, i2);
3364
+ n3.update(e4);
3365
+ const t4 = r3.update(e4);
3366
+ c2 = ne(Z, t4);
3776
3367
  }
3777
3368
  if (t3) {
3778
- const e4 = me(ge(se, i3.digest()), 0, te);
3779
- for (let t4 = 0; t4 < te; t4++) if (e4[t4] != o2[t4]) throw new Error(H);
3369
+ const e4 = re(ne(Z, n3.digest()), 0, B);
3370
+ for (let t4 = 0; t4 < B; t4++) if (e4[t4] != o2[t4]) throw new Error(F);
3780
3371
  }
3781
- e3.enqueue(l2);
3372
+ e3.enqueue(c2);
3782
3373
  }
3783
3374
  } });
3784
3375
  }
3785
3376
  }
3786
- class he extends TransformStream {
3787
- constructor({ password: e2, rawPassword: t2, encryptionStrength: n2 }) {
3788
- let i2;
3377
+ class X extends TransformStream {
3378
+ constructor({ password: e2, rawPassword: t2, encryptionStrength: r2 }) {
3379
+ let n2;
3789
3380
  super({ start() {
3790
- Object.assign(this, { ready: new Promise(((e3) => this.resolveReady = e3)), password: be(e2, t2), strength: n2 - 1, pending: new Uint8Array() });
3381
+ Object.assign(this, { ready: new Promise((e3) => this.resolveReady = e3), password: ee(e2, t2), strength: r2 - 1, pending: new Uint8Array() });
3791
3382
  }, async transform(e3, t3) {
3792
- const n3 = this, { password: i3, strength: r2, resolveReady: a2, ready: s2 } = n3;
3383
+ const r3 = this, { password: n3, strength: s2, resolveReady: a2, ready: i2 } = r3;
3793
3384
  let o2 = new Uint8Array();
3794
- i3 ? (o2 = await (async function(e4, t4, n4) {
3795
- const i4 = Z(new Uint8Array($[t4])), r3 = await _e(e4, t4, n4, i4);
3796
- return pe(i4, r3);
3797
- })(n3, r2, i3), a2()) : await s2;
3798
- const l2 = new Uint8Array(o2.length + e3.length - e3.length % G);
3799
- l2.set(o2, 0), t3.enqueue(we(n3, e3, l2, o2.length, 0));
3385
+ n3 ? (o2 = await (async function(e4, t4, r4) {
3386
+ const n4 = E$1(new Uint8Array(j[t4])), s3 = await $(e4, t4, r4, n4);
3387
+ return te(n4, s3);
3388
+ })(r3, s2, n3), a2()) : await i2;
3389
+ const c2 = new Uint8Array(o2.length + e3.length - e3.length % T$1);
3390
+ c2.set(o2, 0), t3.enqueue(Y(r3, e3, c2, o2.length, 0));
3800
3391
  }, async flush(e3) {
3801
- const { ctr: t3, hmac: n3, pending: r2, ready: a2 } = this;
3802
- if (n3 && t3) {
3392
+ const { ctr: t3, hmac: r3, pending: s2, ready: a2 } = this;
3393
+ if (r3 && t3) {
3803
3394
  await a2;
3804
- let s2 = new Uint8Array();
3805
- if (r2.length) {
3806
- const e4 = t3.update(ye(se, r2));
3807
- n3.update(e4), s2 = ge(se, e4);
3395
+ let i2 = new Uint8Array();
3396
+ if (s2.length) {
3397
+ const e4 = t3.update(se(Z, s2));
3398
+ r3.update(e4), i2 = ne(Z, e4);
3808
3399
  }
3809
- i2.signature = ge(se, n3.digest()).slice(0, te), e3.enqueue(pe(s2, i2.signature));
3400
+ n2.signature = ne(Z, r3.digest()).slice(0, B), e3.enqueue(te(i2, n2.signature));
3810
3401
  }
3811
- } }), i2 = this;
3402
+ } }), n2 = this;
3812
3403
  }
3813
3404
  }
3814
- function we(e2, t2, n2, i2, r2, a2) {
3815
- const { ctr: s2, hmac: o2, pending: l2 } = e2, c2 = t2.length - r2;
3405
+ function Y(e2, t2, r2, n2, s2, a2) {
3406
+ const { ctr: i2, hmac: o2, pending: c2 } = e2, l2 = t2.length - s2;
3816
3407
  let u2;
3817
- for (l2.length && (t2 = pe(l2, t2), n2 = (function(e3, t3) {
3408
+ for (c2.length && (t2 = te(c2, t2), r2 = (function(e3, t3) {
3818
3409
  if (t3 && t3 > e3.length) {
3819
- const n3 = e3;
3820
- (e3 = new Uint8Array(t3)).set(n3, 0);
3410
+ const r3 = e3;
3411
+ (e3 = new Uint8Array(t3)).set(r3, 0);
3821
3412
  }
3822
3413
  return e3;
3823
- })(n2, c2 - c2 % G)), u2 = 0; u2 <= c2 - G; u2 += G) {
3824
- const e3 = ye(se, me(t2, u2, u2 + G));
3414
+ })(r2, l2 - l2 % T$1)), u2 = 0; u2 <= l2 - T$1; u2 += T$1) {
3415
+ const e3 = se(Z, re(t2, u2, u2 + T$1));
3825
3416
  a2 && o2.update(e3);
3826
- const r3 = s2.update(e3);
3827
- a2 || o2.update(r3), n2.set(ge(se, r3), u2 + i2);
3417
+ const s3 = i2.update(e3);
3418
+ a2 || o2.update(s3), r2.set(ne(Z, s3), u2 + n2);
3828
3419
  }
3829
- return e2.pending = me(t2, u2), n2;
3420
+ return e2.pending = re(t2, u2), r2;
3830
3421
  }
3831
- async function _e(e2, t2, n2, i2) {
3422
+ async function $(e2, t2, r2, n2) {
3832
3423
  e2.password = null;
3833
- const r2 = await (async function(e3, t3, n3, i3, r3) {
3834
- if (!ue) return N.importKey(t3);
3424
+ const s2 = await (async function(e3, t3, r3, n3, s3) {
3425
+ if (!G) return v$1.importKey(t3);
3835
3426
  try {
3836
- return await re.importKey(e3, t3, n3, i3, r3);
3837
- } catch (e4) {
3838
- return ue = false, N.importKey(t3);
3427
+ return await V.importKey(e3, t3, r3, n3, s3);
3428
+ } catch {
3429
+ return G = false, v$1.importKey(t3);
3839
3430
  }
3840
- })("raw", n2, Q, false, Y), a2 = await (async function(e3, t3, n3) {
3841
- if (!de) return N.pbkdf2(t3, e3.salt, X.iterations, n3);
3431
+ })("raw", r2, R, false, M), a2 = await (async function(e3, t3, r3) {
3432
+ if (!J) return v$1.pbkdf2(t3, e3.salt, W.iterations, r3);
3842
3433
  try {
3843
- return await re.deriveBits(e3, t3, n3);
3844
- } catch (i3) {
3845
- return de = false, N.pbkdf2(t3, e3.salt, X.iterations, n3);
3434
+ return await V.deriveBits(e3, t3, r3);
3435
+ } catch {
3436
+ return J = false, v$1.pbkdf2(t3, e3.salt, W.iterations, r3);
3846
3437
  }
3847
- })(Object.assign({ salt: i2 }, X), r2, 8 * (2 * ee[t2] + 2)), s2 = new Uint8Array(a2), o2 = ye(se, me(s2, 0, ee[t2])), l2 = ye(se, me(s2, ee[t2], 2 * ee[t2])), c2 = me(s2, 2 * ee[t2]);
3848
- return Object.assign(e2, { keys: { key: o2, authentication: l2, passwordVerification: c2 }, ctr: new le(new oe(o2), Array.from(ne)), hmac: new ce(l2) }), c2;
3438
+ })(Object.assign({ salt: n2 }, W), s2, 8 * (2 * I[t2] + 2)), i2 = new Uint8Array(a2), o2 = se(Z, re(i2, 0, I[t2])), c2 = se(Z, re(i2, I[t2], 2 * I[t2])), l2 = re(i2, 2 * I[t2]);
3439
+ return Object.assign(e2, { keys: { key: o2, authentication: c2, passwordVerification: l2 }, ctr: new H(new q(o2), Array.from(P)), hmac: new K(c2) }), l2;
3849
3440
  }
3850
- function be(e2, t2) {
3851
- return t2 === S ? (function(e3) {
3852
- if (typeof TextEncoder == z$1) {
3441
+ function ee(e2, t2) {
3442
+ return t2 === c$1 ? (function(e3) {
3443
+ if (typeof TextEncoder == u$1) {
3853
3444
  e3 = unescape(encodeURIComponent(e3));
3854
3445
  const t3 = new Uint8Array(e3.length);
3855
- for (let n2 = 0; n2 < t3.length; n2++) t3[n2] = e3.charCodeAt(n2);
3446
+ for (let r2 = 0; r2 < t3.length; r2++) t3[r2] = e3.charCodeAt(r2);
3856
3447
  return t3;
3857
3448
  }
3858
3449
  return new TextEncoder().encode(e3);
3859
3450
  })(e2) : t2;
3860
3451
  }
3861
- function pe(e2, t2) {
3862
- let n2 = e2;
3863
- return e2.length + t2.length && (n2 = new Uint8Array(e2.length + t2.length), n2.set(e2, 0), n2.set(t2, e2.length)), n2;
3452
+ function te(e2, t2) {
3453
+ let r2 = e2;
3454
+ return e2.length + t2.length && (r2 = new Uint8Array(e2.length + t2.length), r2.set(e2, 0), r2.set(t2, e2.length)), r2;
3864
3455
  }
3865
- function me(e2, t2, n2) {
3866
- return e2.subarray(t2, n2);
3456
+ function re(e2, t2, r2) {
3457
+ return e2.subarray(t2, r2);
3867
3458
  }
3868
- function ge(e2, t2) {
3459
+ function ne(e2, t2) {
3869
3460
  return e2.fromBits(t2);
3870
3461
  }
3871
- function ye(e2, t2) {
3462
+ function se(e2, t2) {
3872
3463
  return e2.toBits(t2);
3873
3464
  }
3874
- const xe = 12;
3875
- class ke extends TransformStream {
3876
- constructor({ password: e2, passwordVerification: t2, checkPasswordOnly: n2 }) {
3465
+ class ae extends TransformStream {
3466
+ constructor({ password: e2, passwordVerification: t2, checkPasswordOnly: r2 }) {
3877
3467
  super({ start() {
3878
- Object.assign(this, { password: e2, passwordVerification: t2 }), Ae(this, e2);
3468
+ Object.assign(this, { password: e2, passwordVerification: t2 }), le(this, e2);
3879
3469
  }, transform(e3, t3) {
3880
- const i2 = this;
3881
- if (i2.password) {
3882
- const t4 = Se(i2, e3.subarray(0, xe));
3883
- if (i2.password = null, t4[11] != i2.passwordVerification) throw new Error(q);
3884
- e3 = e3.subarray(xe);
3470
+ const n2 = this;
3471
+ if (n2.password) {
3472
+ const t4 = oe(n2, e3.subarray(0, 12));
3473
+ if (n2.password = null, t4.at(-1) != n2.passwordVerification) throw new Error(_);
3474
+ e3 = e3.subarray(12);
3885
3475
  }
3886
- n2 ? t3.error(new Error(K)) : t3.enqueue(Se(i2, e3));
3476
+ r2 ? t3.error(new Error(O)) : t3.enqueue(oe(n2, e3));
3887
3477
  } });
3888
3478
  }
3889
3479
  }
3890
- class ve extends TransformStream {
3480
+ class ie extends TransformStream {
3891
3481
  constructor({ password: e2, passwordVerification: t2 }) {
3892
3482
  super({ start() {
3893
- Object.assign(this, { password: e2, passwordVerification: t2 }), Ae(this, e2);
3483
+ Object.assign(this, { password: e2, passwordVerification: t2 }), le(this, e2);
3894
3484
  }, transform(e3, t3) {
3895
- const n2 = this;
3896
- let i2, r2;
3897
- if (n2.password) {
3898
- n2.password = null;
3899
- const t4 = Z(new Uint8Array(xe));
3900
- t4[11] = n2.passwordVerification, i2 = new Uint8Array(e3.length + t4.length), i2.set(ze(n2, t4), 0), r2 = xe;
3901
- } else i2 = new Uint8Array(e3.length), r2 = 0;
3902
- i2.set(ze(n2, e3), r2), t3.enqueue(i2);
3485
+ const r2 = this;
3486
+ let n2, s2;
3487
+ if (r2.password) {
3488
+ r2.password = null;
3489
+ const t4 = E$1(new Uint8Array(12));
3490
+ t4[11] = r2.passwordVerification, n2 = new Uint8Array(e3.length + t4.length), n2.set(ce(r2, t4), 0), s2 = 12;
3491
+ } else n2 = new Uint8Array(e3.length), s2 = 0;
3492
+ n2.set(ce(r2, e3), s2), t3.enqueue(n2);
3903
3493
  } });
3904
3494
  }
3905
3495
  }
3906
- function Se(e2, t2) {
3907
- const n2 = new Uint8Array(t2.length);
3908
- for (let i2 = 0; i2 < t2.length; i2++) n2[i2] = De(e2) ^ t2[i2], Ue(e2, n2[i2]);
3909
- return n2;
3496
+ function oe(e2, t2) {
3497
+ const r2 = new Uint8Array(t2.length);
3498
+ for (let n2 = 0; n2 < t2.length; n2++) r2[n2] = de(e2) ^ t2[n2], ue(e2, r2[n2]);
3499
+ return r2;
3910
3500
  }
3911
- function ze(e2, t2) {
3912
- const n2 = new Uint8Array(t2.length);
3913
- for (let i2 = 0; i2 < t2.length; i2++) n2[i2] = De(e2) ^ t2[i2], Ue(e2, t2[i2]);
3914
- return n2;
3501
+ function ce(e2, t2) {
3502
+ const r2 = new Uint8Array(t2.length);
3503
+ for (let n2 = 0; n2 < t2.length; n2++) r2[n2] = de(e2) ^ t2[n2], ue(e2, t2[n2]);
3504
+ return r2;
3915
3505
  }
3916
- function Ae(e2, t2) {
3917
- const n2 = [305419896, 591751049, 878082192];
3918
- Object.assign(e2, { keys: n2, crcKey0: new W(n2[0]), crcKey2: new W(n2[2]) });
3919
- for (let n3 = 0; n3 < t2.length; n3++) Ue(e2, t2.charCodeAt(n3));
3506
+ function le(e2, t2) {
3507
+ const r2 = [305419896, 591751049, 878082192];
3508
+ Object.assign(e2, { keys: r2, crcKey0: new y$1(r2[0]), crcKey2: new y$1(r2[2]) });
3509
+ for (let r3 = 0; r3 < t2.length; r3++) ue(e2, t2.charCodeAt(r3));
3920
3510
  }
3921
- function Ue(e2, t2) {
3922
- let [n2, i2, r2] = e2.keys;
3923
- e2.crcKey0.append([t2]), n2 = ~e2.crcKey0.get(), i2 = Te(Math.imul(Te(i2 + Ee(n2)), 134775813) + 1), e2.crcKey2.append([i2 >>> 24]), r2 = ~e2.crcKey2.get(), e2.keys = [n2, i2, r2];
3511
+ function ue(e2, t2) {
3512
+ let [r2, n2, s2] = e2.keys;
3513
+ e2.crcKey0.append([t2]), r2 = ~e2.crcKey0.get(), n2 = he(Math.imul(he(n2 + fe(r2)), 134775813) + 1), e2.crcKey2.append([n2 >>> 24]), s2 = ~e2.crcKey2.get(), e2.keys = [r2, n2, s2];
3924
3514
  }
3925
- function De(e2) {
3515
+ function de(e2) {
3926
3516
  const t2 = 2 | e2.keys[2];
3927
- return Ee(Math.imul(t2, 1 ^ t2) >>> 8);
3517
+ return fe(Math.imul(t2, 1 ^ t2) >>> 8);
3928
3518
  }
3929
- function Ee(e2) {
3519
+ function fe(e2) {
3930
3520
  return 255 & e2;
3931
3521
  }
3932
- function Te(e2) {
3522
+ function he(e2) {
3933
3523
  return 4294967295 & e2;
3934
3524
  }
3935
- const Fe = "deflate-raw";
3936
- class Oe extends TransformStream {
3937
- constructor(e2, { chunkSize: t2, CompressionStream: n2, CompressionStreamNative: i2 }) {
3525
+ const pe = "Invalid uncompressed size";
3526
+ class we extends TransformStream {
3527
+ constructor(e2, { chunkSize: t2, CompressionStreamZlib: r2, CompressionStream: n2 }) {
3938
3528
  super({});
3939
- const { compressed: r2, encrypted: a2, useCompressionStream: s2, zipCrypto: o2, signed: l2, level: c2 } = e2, u2 = this;
3940
- let d2, f2, h2 = We(super.readable);
3941
- a2 && !o2 || !l2 || (d2 = new j(), h2 = Le(h2, d2)), r2 && (h2 = Me(h2, s2, { level: c2, chunkSize: t2 }, i2, n2)), a2 && (o2 ? h2 = Le(h2, new ve(e2)) : (f2 = new he(e2), h2 = Le(h2, f2))), je(u2, h2, (() => {
3529
+ const { compressed: s2, encrypted: a2, useCompressionStream: i2, zipCrypto: o2, signed: c2, level: l2 } = e2, u2 = this;
3530
+ let d2, f2, h2 = super.readable;
3531
+ a2 && !o2 || !c2 || (d2 = new b$1(), h2 = be(h2, d2)), s2 && (h2 = ye(h2, i2, { level: l2, chunkSize: t2 }, n2, r2, n2)), a2 && (o2 ? h2 = be(h2, new ie(e2)) : (f2 = new X(e2), h2 = be(h2, f2))), me(u2, h2, () => {
3942
3532
  let e3;
3943
- a2 && !o2 && (e3 = f2.signature), a2 && !o2 || !l2 || (e3 = new DataView(d2.value.buffer).getUint32(0)), u2.signature = e3;
3944
- }));
3533
+ a2 && !o2 && (e3 = f2.signature), a2 && !o2 || !c2 || (e3 = new DataView(d2.value.buffer).getUint32(0)), u2.signature = e3;
3534
+ });
3945
3535
  }
3946
3536
  }
3947
- class Ce extends TransformStream {
3948
- constructor(e2, { chunkSize: t2, DecompressionStream: n2, DecompressionStreamNative: i2 }) {
3537
+ class ge extends TransformStream {
3538
+ constructor(e2, { chunkSize: t2, DecompressionStreamZlib: r2, DecompressionStream: n2 }) {
3949
3539
  super({});
3950
- const { zipCrypto: r2, encrypted: a2, signed: s2, signature: o2, compressed: l2, useCompressionStream: c2 } = e2;
3951
- let u2, d2, f2 = We(super.readable);
3952
- a2 && (r2 ? f2 = Le(f2, new ke(e2)) : (d2 = new fe(e2), f2 = Le(f2, d2))), l2 && (f2 = Me(f2, c2, { chunkSize: t2 }, i2, n2)), a2 && !r2 || !s2 || (u2 = new j(), f2 = Le(f2, u2)), je(this, f2, (() => {
3953
- if ((!a2 || r2) && s2) {
3954
- const e3 = new DataView(u2.value.buffer);
3955
- if (o2 != e3.getUint32(0, false)) throw new Error(H);
3540
+ const { zipCrypto: s2, encrypted: a2, signed: i2, signature: o2, compressed: c2, useCompressionStream: l2, deflate64: u2 } = e2;
3541
+ let d2, f2, h2 = super.readable;
3542
+ a2 && (s2 ? h2 = be(h2, new ae(e2)) : (f2 = new Q(e2), h2 = be(h2, f2))), c2 && (h2 = ye(h2, l2, { chunkSize: t2, deflate64: u2 }, n2, r2, n2)), a2 && !s2 || !i2 || (d2 = new b$1(), h2 = be(h2, d2)), me(this, h2, () => {
3543
+ if ((!a2 || s2) && i2) {
3544
+ const e3 = new DataView(d2.value.buffer);
3545
+ if (o2 != e3.getUint32(0, false)) throw new Error(F);
3956
3546
  }
3957
- }));
3547
+ });
3958
3548
  }
3959
3549
  }
3960
- function We(e2) {
3961
- return Le(e2, new TransformStream({ transform(e3, t2) {
3962
- e3 && e3.length && t2.enqueue(e3);
3963
- } }));
3550
+ function me(e2, t2, r2) {
3551
+ t2 = be(t2, new TransformStream({ flush: r2 })), Object.defineProperty(e2, "readable", { get: () => t2 });
3964
3552
  }
3965
- function je(e2, t2, n2) {
3966
- t2 = Le(t2, new TransformStream({ flush: n2 })), Object.defineProperty(e2, "readable", { get: () => t2 });
3967
- }
3968
- function Me(e2, t2, n2, i2, r2) {
3553
+ function ye(e2, t2, r2, n2, s2, a2) {
3554
+ const i2 = t2 && n2 ? n2 : s2 || a2, o2 = r2.deflate64 ? "deflate64-raw" : "deflate-raw";
3969
3555
  try {
3970
- e2 = Le(e2, new (t2 && i2 ? i2 : r2)(Fe, n2));
3971
- } catch (i3) {
3972
- if (!t2) return e2;
3973
- try {
3974
- e2 = Le(e2, new r2(Fe, n2));
3975
- } catch (t3) {
3976
- return e2;
3556
+ e2 = be(e2, new i2(o2, r2));
3557
+ } catch (n3) {
3558
+ if (!t2) throw n3;
3559
+ if (s2) e2 = be(e2, new s2(o2, r2));
3560
+ else {
3561
+ if (!a2) throw n3;
3562
+ e2 = be(e2, new a2(o2, r2));
3977
3563
  }
3978
3564
  }
3979
3565
  return e2;
3980
3566
  }
3981
- function Le(e2, t2) {
3567
+ function be(e2, t2) {
3982
3568
  return e2.pipeThrough(t2);
3983
3569
  }
3984
- const Pe = "message", Re = "start", Be = "pull", Ie = "data", Ne = "close", Ve = "inflate";
3985
- class qe extends TransformStream {
3570
+ const Se = "start", ke = "pull", ze = "data", xe = "close", Ue = "inflate";
3571
+ class Ae extends TransformStream {
3986
3572
  constructor(e2, t2) {
3987
3573
  super({});
3988
- const n2 = this, { codecType: i2 } = e2;
3989
- let r2;
3990
- i2.startsWith("deflate") ? r2 = Oe : i2.startsWith(Ve) && (r2 = Ce);
3991
- let a2 = 0, s2 = 0;
3992
- const o2 = new r2(e2, t2), l2 = super.readable, c2 = new TransformStream({ transform(e3, t3) {
3993
- e3 && e3.length && (s2 += e3.length, t3.enqueue(e3));
3994
- }, flush() {
3995
- Object.assign(n2, { inputSize: s2 });
3996
- } }), u2 = new TransformStream({ transform(e3, t3) {
3574
+ const r2 = this, { codecType: n2 } = e2;
3575
+ let s2;
3576
+ n2.startsWith("deflate") ? s2 = we : n2.startsWith(Ue) && (s2 = ge), r2.outputSize = 0;
3577
+ let a2 = 0;
3578
+ const i2 = new s2(e2, t2), o2 = super.readable, l2 = new TransformStream({ transform(e3, t3) {
3997
3579
  e3 && e3.length && (a2 += e3.length, t3.enqueue(e3));
3998
3580
  }, flush() {
3999
- const { signature: e3 } = o2;
4000
- Object.assign(n2, { signature: e3, outputSize: a2, inputSize: s2 });
3581
+ Object.assign(r2, { inputSize: a2 });
3582
+ } }), u2 = new TransformStream({ transform(t3, n3) {
3583
+ if (t3 && t3.length && (n3.enqueue(t3), r2.outputSize += t3.length, e2.outputSize !== c$1 && r2.outputSize > e2.outputSize)) throw new Error(pe);
3584
+ }, flush() {
3585
+ const { signature: e3 } = i2;
3586
+ Object.assign(r2, { signature: e3, inputSize: a2 });
4001
3587
  } });
4002
- Object.defineProperty(n2, "readable", { get: () => l2.pipeThrough(c2).pipeThrough(o2).pipeThrough(u2) });
3588
+ Object.defineProperty(r2, "readable", { get: () => o2.pipeThrough(l2).pipeThrough(i2).pipeThrough(u2) });
4003
3589
  }
4004
3590
  }
4005
- class He extends TransformStream {
3591
+ class ve extends TransformStream {
4006
3592
  constructor(e2) {
4007
3593
  let t2;
4008
- super({ transform: function n2(i2, r2) {
3594
+ super({ transform: function r2(n2, s2) {
4009
3595
  if (t2) {
4010
- const e3 = new Uint8Array(t2.length + i2.length);
4011
- e3.set(t2), e3.set(i2, t2.length), i2 = e3, t2 = null;
3596
+ const e3 = new Uint8Array(t2.length + n2.length);
3597
+ e3.set(t2), e3.set(n2, t2.length), n2 = e3, t2 = null;
4012
3598
  }
4013
- i2.length > e2 ? (r2.enqueue(i2.slice(0, e2)), n2(i2.slice(e2), r2)) : t2 = i2;
3599
+ n2.length > e2 ? (s2.enqueue(n2.slice(0, e2)), r2(n2.slice(e2), s2)) : t2 = n2;
4014
3600
  }, flush(e3) {
4015
3601
  t2 && t2.length && e3.enqueue(t2);
4016
3602
  } });
4017
3603
  }
4018
3604
  }
4019
- let Ke = typeof Worker != z$1;
4020
- class Ze {
4021
- constructor(e2, { readable: t2, writable: n2 }, { options: i2, config: r2, streamOptions: a2, useWebWorkers: s2, transferStreams: o2, scripts: l2 }, c2) {
4022
- const { signal: u2 } = a2;
4023
- return Object.assign(e2, { busy: true, readable: t2.pipeThrough(new He(r2.chunkSize)).pipeThrough(new Ge(t2, a2), { signal: u2 }), writable: n2, options: Object.assign({}, i2), scripts: l2, transferStreams: o2, terminate: () => new Promise(((t3) => {
4024
- const { worker: n3, busy: i3 } = e2;
4025
- n3 ? (i3 ? e2.resolveTerminated = t3 : (n3.terminate(), t3()), e2.interface = null) : t3();
4026
- })), onTaskFinished() {
3605
+ const De = { type: "module" };
3606
+ let _e, Fe, Oe, Ee = true;
3607
+ try {
3608
+ Ee = typeof structuredClone == d$1 && structuredClone(new DOMException("", "AbortError")).code !== c$1;
3609
+ } catch {
3610
+ }
3611
+ class Te {
3612
+ constructor(e2, { readable: t2, writable: r2 }, { options: n2, config: s2, streamOptions: a2, useWebWorkers: i2, transferStreams: o2, workerURI: l2 }, d2) {
3613
+ const { signal: f2 } = a2;
3614
+ return Object.assign(e2, { busy: true, readable: t2.pipeThrough(new ve(s2.chunkSize)).pipeThrough(new Ce(a2), { signal: f2 }), writable: r2, options: Object.assign({}, n2), workerURI: l2, transferStreams: o2, terminate: () => new Promise((t3) => {
3615
+ const { worker: r3, busy: n3 } = e2;
3616
+ r3 ? (n3 ? e2.resolveTerminated = t3 : (r3.terminate(), t3()), e2.interface = null) : t3();
3617
+ }), onTaskFinished() {
4027
3618
  const { resolveTerminated: t3 } = e2;
4028
- t3 && (e2.resolveTerminated = null, e2.terminated = true, e2.worker.terminate(), t3()), e2.busy = false, c2(e2);
4029
- } }), (s2 && Ke ? Xe : Qe)(e2, r2);
3619
+ t3 && (e2.resolveTerminated = null, e2.terminated = true, e2.worker.terminate(), t3()), e2.busy = false, d2(e2);
3620
+ } }), _e === c$1 && (_e = typeof Worker != u$1), (i2 && _e ? Me : We)(e2, s2);
4030
3621
  }
4031
3622
  }
4032
- class Ge extends TransformStream {
4033
- constructor(e2, { onstart: t2, onprogress: n2, size: i2, onend: r2 }) {
4034
- let a2 = 0;
3623
+ class Ce extends TransformStream {
3624
+ constructor({ onstart: e2, onprogress: t2, size: r2, onend: n2 }) {
3625
+ let s2 = 0;
4035
3626
  super({ async start() {
4036
- t2 && await Je(t2, i2);
4037
- }, async transform(e3, t3) {
4038
- a2 += e3.length, n2 && await Je(n2, a2, i2), t3.enqueue(e3);
3627
+ e2 && await Re(e2, r2);
3628
+ }, async transform(e3, n3) {
3629
+ s2 += e3.length, t2 && await Re(t2, s2, r2), n3.enqueue(e3);
4039
3630
  }, async flush() {
4040
- e2.size = a2, r2 && await Je(r2, a2);
3631
+ n2 && await Re(n2, s2);
4041
3632
  } });
4042
3633
  }
4043
3634
  }
4044
- async function Je(e2, ...t2) {
3635
+ async function Re(e2, ...t2) {
4045
3636
  try {
4046
3637
  await e2(...t2);
4047
- } catch (e3) {
3638
+ } catch {
4048
3639
  }
4049
3640
  }
4050
- function Qe(e2, t2) {
4051
- return { run: () => (async function({ options: e3, readable: t3, writable: n2, onTaskFinished: i2 }, r2) {
3641
+ function We(e2, t2) {
3642
+ return { run: () => (async function({ options: e3, readable: t3, writable: r2, onTaskFinished: n2 }, s2) {
3643
+ let a2;
4052
3644
  try {
4053
- const i3 = new qe(e3, r2);
4054
- await t3.pipeThrough(i3).pipeTo(n2, { preventClose: true, preventAbort: true });
4055
- const { signature: a2, inputSize: s2, outputSize: o2 } = i3;
4056
- return { signature: a2, inputSize: s2, outputSize: o2 };
3645
+ if (!e3.useCompressionStream) try {
3646
+ await void 0;
3647
+ } catch {
3648
+ e3.useCompressionStream = true;
3649
+ }
3650
+ a2 = new Ae(e3, s2), await t3.pipeThrough(a2).pipeTo(r2, { preventClose: true, preventAbort: true });
3651
+ const { signature: n3, inputSize: i2, outputSize: o2 } = a2;
3652
+ return { signature: n3, inputSize: i2, outputSize: o2 };
3653
+ } catch (e4) {
3654
+ throw a2 && (e4.outputSize = a2.outputSize), e4;
4057
3655
  } finally {
4058
- i2();
3656
+ n2();
4059
3657
  }
4060
3658
  })(e2, t2) };
4061
3659
  }
4062
- function Xe(e2, t2) {
4063
- const { baseURL: n2, chunkSize: i2 } = t2;
3660
+ function Me(e2, t2) {
3661
+ const { baseURI: r2, chunkSize: n2 } = t2;
3662
+ let { wasmURI: s2 } = t2;
4064
3663
  if (!e2.interface) {
4065
- let r2;
3664
+ let a2;
3665
+ typeof s2 == d$1 && (s2 = s2());
4066
3666
  try {
4067
- r2 = (function(e3, t3, n3) {
4068
- const i3 = { type: "module" };
4069
- let r3, a2;
4070
- typeof e3 == A$1 && (e3 = e3());
4071
- try {
4072
- r3 = new URL(e3, t3);
4073
- } catch (t4) {
4074
- r3 = e3;
4075
- }
4076
- if (Ye) try {
4077
- a2 = new Worker(r3);
4078
- } catch (e4) {
4079
- Ye = false, a2 = new Worker(r3, i3);
4080
- }
4081
- else a2 = new Worker(r3, i3);
4082
- return a2.addEventListener(Pe, ((e4) => (async function({ data: e5 }, t4) {
4083
- const { type: n4, value: i4, messageId: r4, result: a3, error: s2 } = e5, { reader: o2, writer: l2, resolveResult: c2, rejectResult: u2, onTaskFinished: d2 } = t4;
4084
- try {
4085
- if (s2) {
4086
- const { message: e6, stack: t5, code: n5, name: i5 } = s2, r5 = new Error(e6);
4087
- Object.assign(r5, { stack: t5, code: n5, name: i5 }), f2(r5);
4088
- } else {
4089
- if (n4 == Be) {
4090
- const { value: e6, done: n5 } = await o2.read();
4091
- et({ type: Ie, value: e6, done: n5, messageId: r4 }, t4);
4092
- }
4093
- n4 == Ie && (await l2.ready, await l2.write(new Uint8Array(i4)), et({ type: "ack", messageId: r4 }, t4)), n4 == Ne && f2(null, a3);
4094
- }
4095
- } catch (s3) {
4096
- et({ type: Ne, messageId: r4 }, t4), f2(s3);
4097
- }
4098
- function f2(e6, t5) {
4099
- e6 ? u2(e6) : c2(t5), l2 && l2.releaseLock(), d2();
4100
- }
4101
- })(e4, n3))), a2;
4102
- })(e2.scripts[0], n2, e2);
4103
- } catch (n3) {
4104
- return Ke = false, Qe(e2, t2);
4105
- }
4106
- Object.assign(e2, { worker: r2, interface: { run: () => (async function(e3, t3) {
4107
- let n3, i3;
4108
- const r3 = new Promise(((e4, t4) => {
4109
- n3 = e4, i3 = t4;
4110
- }));
4111
- Object.assign(e3, { reader: null, writer: null, resolveResult: n3, rejectResult: i3, result: r3 });
4112
- const { readable: a2, options: s2, scripts: o2 } = e3, { writable: l2, closed: c2 } = (function(e4) {
4113
- let t4;
4114
- const n4 = new Promise(((e5) => t4 = e5)), i4 = new WritableStream({ async write(t5) {
4115
- const n5 = e4.getWriter();
4116
- await n5.ready, await n5.write(t5), n5.releaseLock();
4117
- }, close() {
4118
- t4();
4119
- }, abort: (t5) => e4.getWriter().abort(t5) });
4120
- return { writable: i4, closed: n4 };
4121
- })(e3.writable), u2 = et({ type: Re, scripts: o2.slice(1), options: s2, config: t3, readable: a2, writable: l2 }, e3);
4122
- u2 || Object.assign(e3, { reader: a2.getReader(), writer: l2.getWriter() });
4123
- const d2 = await r3;
4124
- u2 || await l2.getWriter().close();
4125
- return await c2, d2;
4126
- })(e2, { chunkSize: i2 }) } });
3667
+ a2 = je(e2.workerURI, r2, e2);
3668
+ } catch {
3669
+ return _e = false, We(e2, t2);
3670
+ }
3671
+ Object.assign(e2, { worker: a2, interface: { run: () => (async function(e3, t3) {
3672
+ let r3, n3;
3673
+ const s3 = new Promise((e4, t4) => {
3674
+ r3 = e4, n3 = t4;
3675
+ });
3676
+ Object.assign(e3, { reader: null, writer: null, resolveResult: r3, rejectResult: n3, result: s3 });
3677
+ const { readable: a3, options: i2 } = e3, { writable: o2, closed: c2 } = (function(e4) {
3678
+ const { writable: t4, readable: r4 } = new TransformStream(), n4 = r4.pipeTo(e4, { preventClose: true });
3679
+ return { writable: t4, closed: n4 };
3680
+ })(e3.writable), l2 = Ie({ type: Se, options: i2, config: t3, readable: a3, writable: o2 }, e3);
3681
+ l2 || Object.assign(e3, { reader: a3.getReader(), writer: o2.getWriter() });
3682
+ const u2 = await s3;
3683
+ l2 || await o2.getWriter().close();
3684
+ return await c2, u2;
3685
+ })(e2, { chunkSize: n2, wasmURI: s2, baseURI: r2 }) } });
4127
3686
  }
4128
3687
  return e2.interface;
4129
3688
  }
4130
- let Ye = true, $e = true;
4131
- function et(e2, { worker: t2, writer: n2, onTaskFinished: i2, transferStreams: r2 }) {
3689
+ function je(e2, t2, r2, n2, s2 = true) {
3690
+ let a2, i2, o2;
3691
+ if (Fe === c$1) {
3692
+ const l2 = typeof e2 == d$1;
3693
+ i2 = l2 ? e2(s2) : e2;
3694
+ const u2 = i2.startsWith("data:"), f2 = i2.startsWith("blob:");
3695
+ if (u2 || f2) {
3696
+ n2 === c$1 && (n2 = false), n2 && (o2 = De);
3697
+ try {
3698
+ a2 = new Worker(i2, o2);
3699
+ } catch (s3) {
3700
+ if (f2) try {
3701
+ URL.revokeObjectURL(i2);
3702
+ } catch {
3703
+ }
3704
+ if (l2 && f2) return je(e2, t2, r2, n2, false);
3705
+ if (n2) throw s3;
3706
+ return je(e2, t2, r2, true, false);
3707
+ }
3708
+ } else {
3709
+ n2 === c$1 && (n2 = true), n2 && (o2 = De);
3710
+ try {
3711
+ i2 = new URL(i2, t2);
3712
+ } catch {
3713
+ }
3714
+ try {
3715
+ a2 = new Worker(i2, o2);
3716
+ } catch (a3) {
3717
+ if (n2) throw a3;
3718
+ return je(e2, t2, r2, false, s2);
3719
+ }
3720
+ }
3721
+ Fe = i2, Oe = o2;
3722
+ } else a2 = new Worker(Fe, Oe);
3723
+ return a2.addEventListener("message", (e3) => (async function({ data: e4 }, t3) {
3724
+ const { type: r3, value: n3, messageId: s3, result: a3, error: i3 } = e4, { reader: o3, writer: c2, resolveResult: l2, rejectResult: u2, onTaskFinished: d2 } = t3;
3725
+ try {
3726
+ if (i3) {
3727
+ const { message: e5, stack: t4, code: r4, name: n4, outputSize: s4 } = i3, a4 = new Error(e5);
3728
+ Object.assign(a4, { stack: t4, code: r4, name: n4, outputSize: s4 }), f2(a4);
3729
+ } else {
3730
+ if (r3 == ke) {
3731
+ const { value: e5, done: r4 } = await o3.read();
3732
+ Ie({ type: ze, value: e5, done: r4, messageId: s3 }, t3);
3733
+ }
3734
+ r3 == ze && (await c2.ready, await c2.write(new Uint8Array(n3)), Ie({ type: "ack", messageId: s3 }, t3)), r3 == xe && f2(null, a3);
3735
+ }
3736
+ } catch (i4) {
3737
+ Ie({ type: xe, messageId: s3 }, t3), f2(i4);
3738
+ }
3739
+ function f2(e5, t4) {
3740
+ e5 ? u2(e5) : l2(t4), c2 && c2.releaseLock(), d2();
3741
+ }
3742
+ })(e3, r2)), a2;
3743
+ }
3744
+ function Ie(e2, { worker: t2, writer: r2, onTaskFinished: n2, transferStreams: s2 }) {
4132
3745
  try {
4133
- let { value: n3, readable: i3, writable: a2 } = e2;
4134
- const s2 = [];
4135
- if (n3 && (n3.byteLength < n3.buffer.byteLength ? e2.value = n3.buffer.slice(0, n3.byteLength) : e2.value = n3.buffer, s2.push(e2.value)), r2 && $e ? (i3 && s2.push(i3), a2 && s2.push(a2)) : e2.readable = e2.writable = null, s2.length) try {
4136
- return t2.postMessage(e2, s2), true;
4137
- } catch (n4) {
4138
- $e = false, e2.readable = e2.writable = null, t2.postMessage(e2);
3746
+ const { value: r3, readable: n3, writable: a2 } = e2, i2 = [];
3747
+ if (r3 && (e2.value = r3, i2.push(e2.value.buffer)), s2 && Ee ? (n3 && i2.push(n3), a2 && i2.push(a2)) : e2.readable = e2.writable = null, i2.length) try {
3748
+ return t2.postMessage(e2, i2), true;
3749
+ } catch {
3750
+ Ee = false, e2.readable = e2.writable = null, t2.postMessage(e2);
4139
3751
  }
4140
3752
  else t2.postMessage(e2);
4141
3753
  } catch (e3) {
4142
- throw n2 && n2.releaseLock(), i2(), e3;
4143
- }
4144
- }
4145
- let tt = [];
4146
- const nt = [];
4147
- let it = 0;
4148
- async function rt(e2, t2) {
4149
- const { options: n2, config: i2 } = t2, { transferStreams: r2, useWebWorkers: a2, useCompressionStream: s2, codecType: o2, compressed: l2, signed: c2, encrypted: u2 } = n2, { workerScripts: d2, maxWorkers: f2 } = i2;
4150
- t2.transferStreams = r2 || r2 === S;
4151
- const h2 = !(l2 || c2 || u2 || t2.transferStreams);
4152
- return t2.useWebWorkers = !h2 && (a2 || a2 === S && i2.useWebWorkers), t2.scripts = t2.useWebWorkers && d2 ? d2[o2] : [], n2.useCompressionStream = s2 || s2 === S && i2.useCompressionStream, (await (async function() {
4153
- const n3 = tt.find(((e3) => !e3.busy));
4154
- if (n3) return at(n3), new Ze(n3, e2, t2, w2);
4155
- if (tt.length < f2) {
4156
- const n4 = { indexWorker: it };
4157
- return it++, tt.push(n4), new Ze(n4, e2, t2, w2);
4158
- }
4159
- return new Promise(((n4) => nt.push({ resolve: n4, stream: e2, workerOptions: t2 })));
3754
+ throw r2 && r2.releaseLock(), n2(), e3;
3755
+ }
3756
+ }
3757
+ let Be = [];
3758
+ const Pe = [];
3759
+ let Le = 0;
3760
+ async function Ve(e2, t2) {
3761
+ const { options: r2, config: n2 } = t2, { transferStreams: s2, useWebWorkers: a2, useCompressionStream: i2, compressed: o2, signed: l2, encrypted: u2 } = r2, { workerURI: d2, maxWorkers: f2 } = n2;
3762
+ t2.transferStreams = s2 || s2 === c$1;
3763
+ const h2 = !(o2 || l2 || u2 || t2.transferStreams);
3764
+ return t2.useWebWorkers = !h2 && (a2 || a2 === c$1 && n2.useWebWorkers), t2.workerURI = t2.useWebWorkers && d2 ? d2 : c$1, r2.useCompressionStream = i2 || i2 === c$1 && n2.useCompressionStream, (await (async function() {
3765
+ const r3 = Be.find((e3) => !e3.busy);
3766
+ if (r3) return Ne(r3), new Te(r3, e2, t2, p2);
3767
+ if (Be.length < f2) {
3768
+ const r4 = { indexWorker: Le };
3769
+ return Le++, Be.push(r4), new Te(r4, e2, t2, p2);
3770
+ }
3771
+ return new Promise((r4) => Pe.push({ resolve: r4, stream: e2, workerOptions: t2 }));
4160
3772
  })()).run();
4161
- function w2(e3) {
4162
- if (nt.length) {
4163
- const [{ resolve: t3, stream: n3, workerOptions: i3 }] = nt.splice(0, 1);
4164
- t3(new Ze(e3, n3, i3, w2));
4165
- } else e3.worker ? (at(e3), (function(e4, t3) {
4166
- const { config: n3 } = t3, { terminateWorkerTimeout: i3 } = n3;
4167
- Number.isFinite(i3) && i3 >= 0 && (e4.terminated ? e4.terminated = false : e4.terminateTimeout = setTimeout((async () => {
4168
- tt = tt.filter(((t4) => t4 != e4));
3773
+ function p2(e3) {
3774
+ if (Pe.length) {
3775
+ const [{ resolve: t3, stream: r3, workerOptions: n3 }] = Pe.splice(0, 1);
3776
+ t3(new Te(e3, r3, n3, p2));
3777
+ } else e3.worker ? (Ne(e3), (function(e4, t3) {
3778
+ const { config: r3 } = t3, { terminateWorkerTimeout: n3 } = r3;
3779
+ Number.isFinite(n3) && n3 >= 0 && (e4.terminated ? e4.terminated = false : e4.terminateTimeout = setTimeout(async () => {
3780
+ Be = Be.filter((t4) => t4 != e4);
4169
3781
  try {
4170
3782
  await e4.terminate();
4171
- } catch (e5) {
3783
+ } catch {
4172
3784
  }
4173
- }), i3));
4174
- })(e3, t2)) : tt = tt.filter(((t3) => t3 != e3));
3785
+ }, n3));
3786
+ })(e3, t2)) : Be = Be.filter((t3) => t3 != e3);
4175
3787
  }
4176
3788
  }
4177
- function at(e2) {
3789
+ function Ne(e2) {
4178
3790
  const { terminateTimeout: t2 } = e2;
4179
3791
  t2 && (clearTimeout(t2), e2.terminateTimeout = null);
4180
3792
  }
4181
- const st = 65536, ot = "writable";
4182
- class lt {
3793
+ const Ze = 65536, qe = "writable";
3794
+ class He {
4183
3795
  constructor() {
4184
3796
  this.size = 0;
4185
3797
  }
@@ -4187,403 +3799,461 @@
4187
3799
  this.initialized = true;
4188
3800
  }
4189
3801
  }
4190
- class ct extends lt {
3802
+ class Ke extends He {
4191
3803
  get readable() {
4192
- const e2 = this, { chunkSize: t2 = st } = e2, n2 = new ReadableStream({ start() {
3804
+ const e2 = this, { chunkSize: t2 = Ze } = e2, r2 = new ReadableStream({ start() {
4193
3805
  this.chunkOffset = 0;
4194
- }, async pull(i2) {
4195
- const { offset: r2 = 0, size: a2, diskNumberStart: s2 } = n2, { chunkOffset: o2 } = this;
4196
- i2.enqueue(await pt(e2, r2 + o2, Math.min(t2, a2 - o2), s2)), o2 + t2 > a2 ? i2.close() : this.chunkOffset += t2;
3806
+ }, async pull(n2) {
3807
+ const { offset: s2 = 0, size: a2, diskNumberStart: i2 } = r2, { chunkOffset: o2 } = this, l2 = a2 === c$1 ? t2 : Math.min(t2, a2 - o2), u2 = await rt(e2, s2 + o2, l2, i2);
3808
+ n2.enqueue(u2), o2 + t2 > a2 || a2 === c$1 && !u2.length && l2 ? n2.close() : this.chunkOffset += t2;
4197
3809
  } });
4198
- return n2;
3810
+ return r2;
4199
3811
  }
4200
3812
  }
4201
- class ut extends ct {
3813
+ class Ge extends Ke {
4202
3814
  constructor(e2) {
4203
3815
  super(), Object.assign(this, { blob: e2, size: e2.size });
4204
3816
  }
4205
3817
  async readUint8Array(e2, t2) {
4206
- const n2 = this, i2 = e2 + t2, r2 = e2 || i2 < n2.size ? n2.blob.slice(e2, i2) : n2.blob;
4207
- let a2 = await r2.arrayBuffer();
4208
- return a2.byteLength > t2 && (a2 = a2.slice(e2, i2)), new Uint8Array(a2);
3818
+ const r2 = this, n2 = e2 + t2, s2 = e2 || n2 < r2.size ? r2.blob.slice(e2, n2) : r2.blob;
3819
+ let a2 = await s2.arrayBuffer();
3820
+ return a2.byteLength > t2 && (a2 = a2.slice(e2, n2)), new Uint8Array(a2);
4209
3821
  }
4210
3822
  }
4211
- class dt extends lt {
3823
+ class Je extends He {
4212
3824
  constructor(e2) {
4213
3825
  super();
4214
- const t2 = new TransformStream(), n2 = [];
4215
- e2 && n2.push(["Content-Type", e2]), Object.defineProperty(this, ot, { get: () => t2.writable }), this.blob = new Response(t2.readable, { headers: n2 }).blob();
3826
+ const t2 = new TransformStream(), r2 = [];
3827
+ e2 && r2.push(["Content-Type", e2]), Object.defineProperty(this, qe, { get: () => t2.writable }), this.blob = new Response(t2.readable, { headers: r2 }).blob();
4216
3828
  }
4217
3829
  getData() {
4218
3830
  return this.blob;
4219
3831
  }
4220
3832
  }
4221
- class ft extends dt {
3833
+ class Qe extends Je {
4222
3834
  constructor(e2) {
4223
3835
  super(e2), Object.assign(this, { encoding: e2, utf8: !e2 || "utf-8" == e2.toLowerCase() });
4224
3836
  }
4225
3837
  async getData() {
4226
- const { encoding: e2, utf8: t2 } = this, n2 = await super.getData();
4227
- if (n2.text && t2) return n2.text();
3838
+ const { encoding: e2, utf8: t2 } = this, r2 = await super.getData();
3839
+ if (r2.text && t2) return r2.text();
4228
3840
  {
4229
3841
  const t3 = new FileReader();
4230
- return new Promise(((i2, r2) => {
4231
- Object.assign(t3, { onload: ({ target: e3 }) => i2(e3.result), onerror: () => r2(t3.error) }), t3.readAsText(n2, e2);
4232
- }));
3842
+ return new Promise((n2, s2) => {
3843
+ Object.assign(t3, { onload: ({ target: e3 }) => n2(e3.result), onerror: () => s2(t3.error) }), t3.readAsText(r2, e2);
3844
+ });
4233
3845
  }
4234
3846
  }
4235
3847
  }
4236
- class ht extends ct {
3848
+ class Xe extends Ke {
4237
3849
  constructor(e2) {
4238
3850
  super(), this.readers = e2;
4239
3851
  }
4240
3852
  async init() {
4241
3853
  const e2 = this, { readers: t2 } = e2;
4242
- e2.lastDiskNumber = 0, e2.lastDiskOffset = 0, await Promise.all(t2.map((async (n2, i2) => {
4243
- await n2.init(), i2 != t2.length - 1 && (e2.lastDiskOffset += n2.size), e2.size += n2.size;
4244
- }))), super.init();
4245
- }
4246
- async readUint8Array(e2, t2, n2 = 0) {
4247
- const i2 = this, { readers: r2 } = this;
4248
- let a2, s2 = n2;
4249
- -1 == s2 && (s2 = r2.length - 1);
3854
+ e2.lastDiskNumber = 0, e2.lastDiskOffset = 0, await Promise.all(t2.map(async (r2, n2) => {
3855
+ await r2.init(), n2 != t2.length - 1 && (e2.lastDiskOffset += r2.size), e2.size += r2.size;
3856
+ })), super.init();
3857
+ }
3858
+ async readUint8Array(e2, t2, r2 = 0) {
3859
+ const n2 = this, { readers: s2 } = this;
3860
+ let a2, i2 = r2;
3861
+ -1 == i2 && (i2 = s2.length - 1);
4250
3862
  let o2 = e2;
4251
- for (; o2 >= r2[s2].size; ) o2 -= r2[s2].size, s2++;
4252
- const l2 = r2[s2], c2 = l2.size;
4253
- if (o2 + t2 <= c2) a2 = await pt(l2, o2, t2);
4254
- else {
4255
- const r3 = c2 - o2;
4256
- a2 = new Uint8Array(t2), a2.set(await pt(l2, o2, r3)), a2.set(await i2.readUint8Array(e2 + r3, t2 - r3, n2), r3);
4257
- }
4258
- return i2.lastDiskNumber = Math.max(s2, i2.lastDiskNumber), a2;
3863
+ for (; s2[i2] && o2 >= s2[i2].size; ) o2 -= s2[i2].size, i2++;
3864
+ const c2 = s2[i2];
3865
+ if (c2) {
3866
+ const s3 = c2.size;
3867
+ if (o2 + t2 <= s3) a2 = await rt(c2, o2, t2);
3868
+ else {
3869
+ const i3 = s3 - o2;
3870
+ a2 = new Uint8Array(t2);
3871
+ const l2 = await rt(c2, o2, i3);
3872
+ a2.set(l2, 0);
3873
+ const u2 = await n2.readUint8Array(e2 + i3, t2 - i3, r2);
3874
+ a2.set(u2, i3), l2.length + u2.length < t2 && (a2 = a2.subarray(0, l2.length + u2.length));
3875
+ }
3876
+ } else a2 = new Uint8Array();
3877
+ return n2.lastDiskNumber = Math.max(i2, n2.lastDiskNumber), a2;
4259
3878
  }
4260
3879
  }
4261
- class wt extends lt {
3880
+ class Ye extends He {
4262
3881
  constructor(e2, t2 = 4294967295) {
4263
3882
  super();
4264
- const n2 = this;
4265
- let i2, r2, a2;
4266
- Object.assign(n2, { diskNumber: 0, diskOffset: 0, size: 0, maxSize: t2, availableSize: t2 });
4267
- const s2 = new WritableStream({ async write(t3) {
4268
- const { availableSize: s3 } = n2;
4269
- if (a2) t3.length >= s3 ? (await o2(t3.slice(0, s3)), await l2(), n2.diskOffset += i2.size, n2.diskNumber++, a2 = null, await this.write(t3.slice(s3))) : await o2(t3);
3883
+ const r2 = this;
3884
+ let n2, s2, a2;
3885
+ Object.assign(r2, { diskNumber: 0, diskOffset: 0, size: 0, maxSize: t2, availableSize: t2 });
3886
+ const i2 = new WritableStream({ async write(t3) {
3887
+ const { availableSize: i3 } = r2;
3888
+ if (a2) t3.length >= i3 ? (await o2(t3.subarray(0, i3)), await c2(), r2.diskOffset += n2.size, r2.diskNumber++, a2 = null, await this.write(t3.subarray(i3))) : await o2(t3);
4270
3889
  else {
4271
- const { value: s4, done: o3 } = await e2.next();
4272
- if (o3 && !s4) throw new Error("Writer iterator completed too soon");
4273
- i2 = s4, i2.size = 0, i2.maxSize && (n2.maxSize = i2.maxSize), n2.availableSize = n2.maxSize, await _t(i2), r2 = s4.writable, a2 = r2.getWriter(), await this.write(t3);
3890
+ const { value: i4, done: o3 } = await e2.next();
3891
+ if (o3 && !i4) throw new Error("Writer iterator completed too soon");
3892
+ n2 = i4, n2.size = 0, n2.maxSize && (r2.maxSize = n2.maxSize), r2.availableSize = r2.maxSize, await tt(n2), s2 = i4.writable, a2 = s2.getWriter(), await this.write(t3);
4274
3893
  }
4275
3894
  }, async close() {
4276
- await a2.ready, await l2();
3895
+ await a2.ready, await c2();
4277
3896
  } });
4278
3897
  async function o2(e3) {
4279
3898
  const t3 = e3.length;
4280
- t3 && (await a2.ready, await a2.write(e3), i2.size += t3, n2.size += t3, n2.availableSize -= t3);
3899
+ t3 && (await a2.ready, await a2.write(e3), n2.size += t3, r2.size += t3, r2.availableSize -= t3);
4281
3900
  }
4282
- async function l2() {
4283
- r2.size = i2.size, await a2.close();
3901
+ async function c2() {
3902
+ await a2.close();
4284
3903
  }
4285
- Object.defineProperty(n2, ot, { get: () => s2 });
3904
+ Object.defineProperty(r2, qe, { get: () => i2 });
4286
3905
  }
4287
3906
  }
4288
- async function _t(e2, t2) {
3907
+ class $e {
3908
+ constructor(e2) {
3909
+ return Array.isArray(e2) && (e2 = new Xe(e2)), e2 instanceof ReadableStream && (e2 = { readable: e2 }), e2;
3910
+ }
3911
+ }
3912
+ class et {
3913
+ constructor(e2) {
3914
+ return e2.writable === c$1 && typeof e2.next == d$1 && (e2 = new Ye(e2)), e2 instanceof WritableStream && (e2 = { writable: e2 }), e2.size === c$1 && (e2.size = 0), e2 instanceof Ye || Object.assign(e2, { diskNumber: 0, diskOffset: 0, availableSize: l$1, maxSize: l$1 }), e2;
3915
+ }
3916
+ }
3917
+ async function tt(e2, t2) {
4289
3918
  if (!e2.init || e2.initialized) return Promise.resolve();
4290
3919
  await e2.init(t2);
4291
3920
  }
4292
- function bt(e2) {
4293
- return Array.isArray(e2) && (e2 = new ht(e2)), e2 instanceof ReadableStream && (e2 = { readable: e2 }), e2;
4294
- }
4295
- function pt(e2, t2, n2, i2) {
4296
- return e2.readUint8Array(t2, n2, i2);
3921
+ function rt(e2, t2, r2, n2) {
3922
+ return e2.readUint8Array(t2, r2, n2);
4297
3923
  }
4298
- const mt = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""), gt = 256 == mt.length;
4299
- function yt(e2, t2) {
3924
+ const nt = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""), st = 256 == nt.length;
3925
+ function at(e2, t2) {
4300
3926
  return t2 && "cp437" == t2.trim().toLowerCase() ? (function(e3) {
4301
- if (gt) {
3927
+ if (st) {
4302
3928
  let t3 = "";
4303
- for (let n2 = 0; n2 < e3.length; n2++) t3 += mt[e3[n2]];
3929
+ for (let r2 = 0; r2 < e3.length; r2++) t3 += nt[e3[r2]];
4304
3930
  return t3;
4305
3931
  }
4306
3932
  return new TextDecoder().decode(e3);
4307
3933
  })(e2) : new TextDecoder(t2).decode(e2);
4308
3934
  }
4309
- const xt = "filename", kt = "rawFilename", vt = "comment", St = "rawComment", zt = "uncompressedSize", At = "compressedSize", Ut = "offset", Dt = "diskNumberStart", Et = "lastModDate", Tt = "rawLastModDate", Ft = "lastAccessDate", Ot = "rawLastAccessDate", Ct = "creationDate", Wt = "rawCreationDate", jt = [xt, kt, At, zt, Et, Tt, vt, St, Ft, Ct, Ut, Dt, Dt, "internalFileAttribute", "externalFileAttribute", "msDosCompatible", "zip64", "encrypted", "version", "versionMadeBy", "zipCrypto", "directory", "bitFlag", "signature", "filenameUTF8", "commentUTF8", "compressionMethod", "extraField", "rawExtraField", "extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment", "extraFieldAES", "extraFieldNTFS", "extraFieldExtendedTimestamp"];
4310
- class Mt {
3935
+ const it = "filename", ot = "rawFilename", ct = "comment", lt = "rawComment", ut = "uncompressedSize", dt = "compressedSize", ft = "offset", ht = "diskNumberStart", pt = "lastModDate", wt = "rawLastModDate", gt = "lastAccessDate", mt = "rawLastAccessDate", yt = "creationDate", bt = "rawCreationDate", St = [it, ot, ut, dt, pt, wt, ct, lt, gt, yt, bt, ft, ht, "internalFileAttributes", "externalFileAttributes", "msdosAttributesRaw", "msdosAttributes", "msDosCompatible", "zip64", "encrypted", "version", "versionMadeBy", "zipCrypto", "directory", "executable", "compressionMethod", "signature", "extraField", "extraFieldUnix", "extraFieldInfoZip", "uid", "gid", "unixMode", "setuid", "setgid", "sticky", "bitFlag", "filenameUTF8", "commentUTF8", "rawExtraField", "extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment", "extraFieldAES", "extraFieldNTFS", "extraFieldExtendedTimestamp"];
3936
+ class kt {
4311
3937
  constructor(e2) {
4312
- jt.forEach(((t2) => this[t2] = e2[t2]));
3938
+ St.forEach((t2) => this[t2] = e2[t2]);
4313
3939
  }
4314
3940
  }
4315
- const Lt = "File format is not recognized", Pt = "Zip64 extra field not found", Rt = "Compression method not supported", Bt = "Split zip file", It = "utf-8", Nt = "cp437", Vt = [[zt, g$1], [At, g$1], [Ut, g$1], [Dt, y$1]], qt = { [y$1]: { getValue: tn, bytes: 4 }, [g$1]: { getValue: nn, bytes: 8 } };
4316
- class Ht {
3941
+ const zt = "File format is not recognized", xt = "Zip64 extra field not found", Ut = "Compression method not supported", At = "Split zip file", vt = "Overlapping entry found", Dt = "utf-8", _t = "cp437", Ft = [[ut, e$1], [dt, e$1], [ft, e$1], [ht, t$1]], Ot = { [t$1]: { getValue: Nt, bytes: 4 }, [e$1]: { getValue: Zt, bytes: 8 } };
3942
+ class Et {
4317
3943
  constructor(e2, t2 = {}) {
4318
- Object.assign(this, { reader: bt(e2), options: t2, config: T$1 });
4319
- }
4320
- async *getEntriesGenerator(e2 = {}) {
4321
- const t2 = this;
4322
- let { reader: n2 } = t2;
4323
- const { config: i2 } = t2;
4324
- if (await _t(n2), n2.size !== S && n2.readUint8Array || (n2 = new ut(await new Response(n2.readable).blob()), await _t(n2)), n2.size < v$1) throw new Error(Lt);
4325
- n2.chunkSize = (function(e3) {
4326
- return Math.max(e3.chunkSize, 64);
4327
- })(i2);
4328
- const r2 = await (async function(e3, t3, n3, i3, r3) {
4329
- const a3 = new Uint8Array(4);
4330
- !(function(e4, t4, n4) {
4331
- e4.setUint32(t4, n4, true);
4332
- })(rn(a3), 0, t3);
4333
- const s3 = i3 + r3;
4334
- return await o3(i3) || await o3(Math.min(s3, n3));
4335
- async function o3(t4) {
4336
- const r4 = n3 - t4, s4 = await pt(e3, r4, t4);
4337
- for (let e4 = s4.length - i3; e4 >= 0; e4--) if (s4[e4] == a3[0] && s4[e4 + 1] == a3[1] && s4[e4 + 2] == a3[2] && s4[e4 + 3] == a3[3]) return { offset: r4 + e4, buffer: s4.slice(e4, e4 + i3).buffer };
3944
+ Object.assign(this, { reader: new $e(e2), options: t2, config: p$1, readRanges: [] });
3945
+ }
3946
+ async *getEntriesGenerator(n2 = {}) {
3947
+ const l2 = this;
3948
+ let { reader: u2 } = l2;
3949
+ const { config: d2 } = l2;
3950
+ if (await tt(u2), u2.size !== c$1 && u2.readUint8Array || (u2 = new Ge(await new Response(u2.readable).blob()), await tt(u2)), u2.size < i$1) throw new Error(zt);
3951
+ u2.chunkSize = (function(e2) {
3952
+ return Math.max(e2.chunkSize, 64);
3953
+ })(d2);
3954
+ const f2 = await (async function(e2, t2, r2, n3, s2) {
3955
+ const a2 = new Uint8Array(4);
3956
+ !(function(e3, t3, r3) {
3957
+ e3.setUint32(t3, r3, true);
3958
+ })(qt(a2), 0, t2);
3959
+ const i2 = n3 + s2;
3960
+ return await o2(n3) || await o2(Math.min(i2, r2));
3961
+ async function o2(t3) {
3962
+ const s3 = r2 - t3, i3 = await rt(e2, s3, t3);
3963
+ for (let e3 = i3.length - n3; e3 >= 0; e3--) if (i3[e3] == a2[0] && i3[e3 + 1] == a2[1] && i3[e3 + 2] == a2[2] && i3[e3 + 3] == a2[3]) return { offset: s3 + e3, buffer: i3.slice(e3, e3 + n3).buffer };
4338
3964
  }
4339
- })(n2, 101010256, n2.size, v$1, 1048560);
4340
- if (!r2) {
4341
- throw 134695760 == tn(rn(await pt(n2, 0, 4))) ? new Error(Bt) : new Error("End of central directory not found");
4342
- }
4343
- const a2 = rn(r2);
4344
- let s2 = tn(a2, 12), o2 = tn(a2, 16);
4345
- const l2 = r2.offset, c2 = en(a2, 20), u2 = l2 + v$1 + c2;
4346
- let d2 = en(a2, 4);
4347
- const f2 = n2.lastDiskNumber || 0;
4348
- let h2 = en(a2, 6), w2 = en(a2, 8), _2 = 0, b2 = 0;
4349
- if (o2 == g$1 || s2 == g$1 || w2 == y$1 || h2 == y$1) {
4350
- const e3 = rn(await pt(n2, r2.offset - 20, 20));
4351
- if (117853008 == tn(e3, 0)) {
4352
- o2 = nn(e3, 8);
4353
- let t3 = await pt(n2, o2, 56, -1), i3 = rn(t3);
4354
- const a3 = r2.offset - 20 - 56;
4355
- if (tn(i3, 0) != k$1 && o2 != a3) {
4356
- const e4 = o2;
4357
- o2 = a3, _2 = o2 - e4, t3 = await pt(n2, o2, 56, -1), i3 = rn(t3);
3965
+ })(u2, 101010256, u2.size, i$1, 1048560);
3966
+ if (!f2) {
3967
+ throw Nt(qt(await rt(u2, 0, 4))) == r$1 ? new Error(At) : new Error("End of central directory not found");
3968
+ }
3969
+ const h2 = qt(f2);
3970
+ let p2 = Nt(h2, 12), w2 = Nt(h2, 16);
3971
+ const g2 = f2.offset, m2 = Vt(h2, 20), y2 = g2 + i$1 + m2;
3972
+ let b2 = Vt(h2, 4);
3973
+ const S2 = u2.lastDiskNumber || 0;
3974
+ let k2 = Vt(h2, 6), z2 = Vt(h2, 8), x2 = 0, U2 = 0;
3975
+ if (w2 == e$1 || p2 == e$1 || z2 == t$1 || k2 == t$1) {
3976
+ const r2 = qt(await rt(u2, f2.offset - 20, 20));
3977
+ if (117853008 == Nt(r2, 0)) {
3978
+ w2 = Zt(r2, 8);
3979
+ let n3 = await rt(u2, w2, 56, -1), s2 = qt(n3);
3980
+ const i2 = f2.offset - 20 - 56;
3981
+ if (Nt(s2, 0) != a$1 && w2 != i2) {
3982
+ const e2 = w2;
3983
+ w2 = i2, w2 > e2 && (x2 = w2 - e2), n3 = await rt(u2, w2, 56, -1), s2 = qt(n3);
4358
3984
  }
4359
- if (tn(i3, 0) != k$1) throw new Error("End of Zip64 central directory locator not found");
4360
- d2 == y$1 && (d2 = tn(i3, 16)), h2 == y$1 && (h2 = tn(i3, 20)), w2 == y$1 && (w2 = nn(i3, 32)), s2 == g$1 && (s2 = nn(i3, 40)), o2 -= s2;
3985
+ if (Nt(s2, 0) != a$1) throw new Error("End of Zip64 central directory locator not found");
3986
+ b2 == t$1 && (b2 = Nt(s2, 16)), k2 == t$1 && (k2 = Nt(s2, 20)), z2 == t$1 && (z2 = Zt(s2, 32)), p2 == e$1 && (p2 = Zt(s2, 40)), w2 -= p2;
4361
3987
  }
4362
3988
  }
4363
- if (o2 >= n2.size && (_2 = n2.size - o2 - s2 - v$1, o2 = n2.size - s2 - v$1), f2 != d2) throw new Error(Bt);
4364
- if (o2 < 0) throw new Error(Lt);
4365
- let p2 = 0, m2 = await pt(n2, o2, s2, h2), z2 = rn(m2);
4366
- if (s2) {
4367
- const e3 = r2.offset - s2;
4368
- if (tn(z2, p2) != x$1 && o2 != e3) {
4369
- const t3 = o2;
4370
- o2 = e3, _2 += o2 - t3, m2 = await pt(n2, o2, s2, h2), z2 = rn(m2);
3989
+ if (w2 >= u2.size && (x2 = u2.size - w2 - p2 - i$1, w2 = u2.size - p2 - i$1), S2 != b2) throw new Error(At);
3990
+ if (w2 < 0) throw new Error(zt);
3991
+ let A2 = 0, v2 = await rt(u2, w2, p2, k2), D2 = qt(v2);
3992
+ if (p2) {
3993
+ const e2 = f2.offset - p2;
3994
+ if (Nt(D2, A2) != s$1 && w2 != e2) {
3995
+ const t2 = w2;
3996
+ w2 = e2, w2 > t2 && (x2 += w2 - t2), v2 = await rt(u2, w2, p2, k2), D2 = qt(v2);
4371
3997
  }
4372
3998
  }
4373
- const A2 = r2.offset - o2 - (n2.lastDiskOffset || 0);
4374
- if (s2 != A2 && A2 >= 0 && (s2 = A2, m2 = await pt(n2, o2, s2, h2), z2 = rn(m2)), o2 < 0 || o2 >= n2.size) throw new Error(Lt);
4375
- const U2 = Qt(t2, e2, "filenameEncoding"), D2 = Qt(t2, e2, "commentEncoding");
4376
- for (let r3 = 0; r3 < w2; r3++) {
4377
- const a3 = new Kt(n2, i2, t2.options);
4378
- if (tn(z2, p2) != x$1) throw new Error("Central directory header not found");
4379
- Zt(a3, z2, p2 + 6);
4380
- const s3 = Boolean(a3.bitFlag.languageEncodingFlag), o3 = p2 + 46, l3 = o3 + a3.filenameLength, c3 = l3 + a3.extraFieldLength, u3 = en(z2, p2 + 4), d3 = true, f3 = m2.subarray(o3, l3), h3 = en(z2, p2 + 32), g2 = c3 + h3, y2 = m2.subarray(c3, g2), k2 = s3, v2 = s3, A3 = !(16 & ~$t(z2, p2 + 38)), E3 = tn(z2, p2 + 42) + _2;
4381
- Object.assign(a3, { versionMadeBy: u3, msDosCompatible: d3, compressedSize: 0, uncompressedSize: 0, commentLength: h3, directory: A3, offset: E3, diskNumberStart: en(z2, p2 + 34), internalFileAttribute: en(z2, p2 + 36), externalFileAttribute: tn(z2, p2 + 38), rawFilename: f3, filenameUTF8: k2, commentUTF8: v2, rawExtraField: m2.subarray(l3, c3) });
4382
- const T3 = Qt(t2, e2, "decodeText") || yt, F2 = k2 ? It : U2 || Nt, O2 = v2 ? It : D2 || Nt;
4383
- let C2 = T3(f3, F2);
4384
- C2 === S && (C2 = yt(f3, F2));
4385
- let W2 = T3(y2, O2);
4386
- W2 === S && (W2 = yt(y2, O2)), Object.assign(a3, { rawComment: y2, filename: C2, comment: W2, directory: A3 || C2.endsWith("/") }), b2 = Math.max(E3, b2), await Gt(a3, a3, z2, p2 + 6), a3.zipCrypto = a3.encrypted && !a3.extraFieldAES;
4387
- const j2 = new Mt(a3);
4388
- j2.getData = (e3, t3) => a3.getData(e3, j2, t3), p2 = g2;
4389
- const { onprogress: M2 } = e2;
4390
- if (M2) try {
4391
- await M2(r3 + 1, w2, new Mt(a3));
4392
- } catch (e3) {
3999
+ const _2 = f2.offset - w2 - (u2.lastDiskOffset || 0);
4000
+ if (p2 != _2 && _2 >= 0 && (p2 = _2, v2 = await rt(u2, w2, p2, k2), D2 = qt(v2)), w2 < 0 || w2 >= u2.size) throw new Error(zt);
4001
+ const F2 = It(l2, n2, "filenameEncoding"), O2 = It(l2, n2, "commentEncoding");
4002
+ for (let e2 = 0; e2 < z2; e2++) {
4003
+ const r2 = new Tt(u2, d2, l2.options);
4004
+ if (Nt(D2, A2) != s$1) throw new Error("Central directory header not found");
4005
+ Ct(r2, D2, A2 + 6);
4006
+ const a2 = Boolean(r2.bitFlag.languageEncodingFlag), i2 = A2 + 46, f3 = i2 + r2.filenameLength, h3 = f3 + r2.extraFieldLength, p3 = Vt(D2, A2 + 4), w3 = !(p3 >> 8), g3 = p3 >> 8 == 3, m3 = v2.subarray(i2, f3), y3 = Vt(D2, A2 + 32), b3 = h3 + y3, S3 = v2.subarray(h3, b3), k3 = a2, _3 = a2, E3 = Nt(D2, A2 + 38), T3 = 255 & E3, C2 = { readOnly: Boolean(1 & T3), hidden: Boolean(2 & T3), system: Boolean(4 & T3), directory: Boolean(16 & T3), archive: Boolean(32 & T3) }, R2 = Nt(D2, A2 + 42) + x2, W2 = It(l2, n2, "decodeText") || at, M2 = k3 ? Dt : F2 || _t, j2 = _3 ? Dt : O2 || _t;
4007
+ let I2 = W2(m3, M2);
4008
+ I2 === c$1 && (I2 = at(m3, M2));
4009
+ let B2 = W2(S3, j2);
4010
+ B2 === c$1 && (B2 = at(S3, j2)), Object.assign(r2, { versionMadeBy: p3, msDosCompatible: w3, compressedSize: 0, uncompressedSize: 0, commentLength: y3, offset: R2, diskNumberStart: Vt(D2, A2 + 34), internalFileAttributes: Vt(D2, A2 + 36), externalFileAttributes: E3, msdosAttributesRaw: T3, msdosAttributes: C2, rawFilename: m3, filenameUTF8: k3, commentUTF8: _3, rawExtraField: v2.subarray(f3, h3), rawComment: S3, filename: I2, comment: B2 }), U2 = Math.max(R2, U2), Rt(r2, r2, D2, A2 + 6);
4011
+ const P2 = r2.externalFileAttributes >> 16 & t$1;
4012
+ r2.unixMode === c$1 && 16877 & P2 && (r2.unixMode = P2);
4013
+ const L2 = Boolean(2048 & r2.unixMode), V2 = Boolean(1024 & r2.unixMode), N2 = Boolean(512 & r2.unixMode), Z2 = r2.unixMode !== c$1 ? !!(73 & r2.unixMode) : g3 && !!(73 & P2), q2 = r2.unixMode !== c$1 && (61440 & r2.unixMode) == o$1, H2 = (61440 & P2) == o$1;
4014
+ Object.assign(r2, { setuid: L2, setgid: V2, sticky: N2, unixExternalUpper: P2, internalFileAttribute: r2.internalFileAttributes, externalFileAttribute: r2.externalFileAttributes, executable: Z2, directory: q2 || H2 || w3 && C2.directory || I2.endsWith("/") && !r2.uncompressedSize, zipCrypto: r2.encrypted && !r2.extraFieldAES });
4015
+ const K2 = new kt(r2);
4016
+ K2.getData = (e3, t2) => r2.getData(e3, K2, l2.readRanges, t2), K2.arrayBuffer = async (e3) => {
4017
+ const t2 = new TransformStream(), [n3] = await Promise.all([new Response(t2.readable).arrayBuffer(), r2.getData(t2, K2, l2.readRanges, e3)]);
4018
+ return n3;
4019
+ }, A2 = b3;
4020
+ const { onprogress: G2 } = n2;
4021
+ if (G2) try {
4022
+ await G2(e2 + 1, z2, new kt(r2));
4023
+ } catch {
4393
4024
  }
4394
- yield j2;
4025
+ yield K2;
4395
4026
  }
4396
- const E2 = Qt(t2, e2, "extractPrependedData"), T2 = Qt(t2, e2, "extractAppendedData");
4397
- return E2 && (t2.prependedData = b2 > 0 ? await pt(n2, 0, b2) : new Uint8Array()), t2.comment = c2 ? await pt(n2, l2 + v$1, c2) : new Uint8Array(), T2 && (t2.appendedData = u2 < n2.size ? await pt(n2, u2, n2.size - u2) : new Uint8Array()), true;
4027
+ const E2 = It(l2, n2, "extractPrependedData"), T2 = It(l2, n2, "extractAppendedData");
4028
+ return E2 && (l2.prependedData = U2 > 0 ? await rt(u2, 0, U2) : new Uint8Array()), l2.comment = m2 ? await rt(u2, g2 + i$1, m2) : new Uint8Array(), T2 && (l2.appendedData = y2 < u2.size ? await rt(u2, y2, u2.size - y2) : new Uint8Array()), true;
4398
4029
  }
4399
4030
  async getEntries(e2 = {}) {
4400
4031
  const t2 = [];
4401
- for await (const n2 of this.getEntriesGenerator(e2)) t2.push(n2);
4032
+ for await (const r2 of this.getEntriesGenerator(e2)) t2.push(r2);
4402
4033
  return t2;
4403
4034
  }
4404
4035
  async close() {
4405
4036
  }
4406
4037
  }
4407
- class Kt {
4408
- constructor(e2, t2, n2) {
4409
- Object.assign(this, { reader: e2, config: t2, options: n2 });
4410
- }
4411
- async getData(e2, t2, n2 = {}) {
4412
- const i2 = this, { reader: r2, offset: a2, diskNumberStart: s2, extraFieldAES: o2, compressionMethod: l2, config: c2, bitFlag: u2, signature: d2, rawLastModDate: f2, uncompressedSize: h2, compressedSize: w2 } = i2, _2 = t2.localDirectory = {}, b2 = rn(await pt(r2, a2, 30, s2));
4413
- let p2 = Qt(i2, n2, "password"), m2 = Qt(i2, n2, "rawPassword");
4414
- const g2 = Qt(i2, n2, "passThrough");
4415
- if (p2 = p2 && p2.length && p2, m2 = m2 && m2.length && m2, o2 && 99 != o2.originalCompressionMethod) throw new Error(Rt);
4416
- if (0 != l2 && 8 != l2 && !g2) throw new Error(Rt);
4417
- if (67324752 != tn(b2, 0)) throw new Error("Local file header not found");
4418
- Zt(_2, b2, 4), _2.rawExtraField = _2.extraFieldLength ? await pt(r2, a2 + 30 + _2.filenameLength, _2.extraFieldLength, s2) : new Uint8Array(), await Gt(i2, _2, b2, 4, true), Object.assign(t2, { lastAccessDate: _2.lastAccessDate, creationDate: _2.creationDate });
4419
- const y2 = i2.encrypted && _2.encrypted && !g2, x2 = y2 && !o2;
4420
- if (g2 || (t2.zipCrypto = x2), y2) {
4421
- if (!x2 && o2.strength === S) throw new Error("Encryption method not supported");
4422
- if (!p2 && !m2) throw new Error("File contains encrypted entry");
4423
- }
4424
- const k2 = a2 + 30 + _2.filenameLength + _2.extraFieldLength, v2 = w2, z2 = r2.readable;
4425
- Object.assign(z2, { diskNumberStart: s2, offset: k2, size: v2 });
4426
- const U2 = Qt(i2, n2, "signal"), D2 = Qt(i2, n2, "checkPasswordOnly");
4427
- D2 && (e2 = new WritableStream()), e2 = (function(e3) {
4428
- e3.writable === S && typeof e3.next == A$1 && (e3 = new wt(e3)), e3 instanceof WritableStream && (e3 = { writable: e3 });
4429
- const { writable: t3 } = e3;
4430
- return t3.size === S && (t3.size = 0), e3 instanceof wt || Object.assign(e3, { diskNumber: 0, diskOffset: 0, availableSize: 1 / 0, maxSize: 1 / 0 }), e3;
4431
- })(e2), await _t(e2, g2 ? w2 : h2);
4432
- const { writable: E2 } = e2, { onstart: T2, onprogress: F2, onend: O2 } = n2, C2 = { options: { codecType: Ve, password: p2, rawPassword: m2, zipCrypto: x2, encryptionStrength: o2 && o2.strength, signed: Qt(i2, n2, "checkSignature") && !g2, passwordVerification: x2 && (u2.dataDescriptor ? f2 >>> 8 & 255 : d2 >>> 24 & 255), signature: d2, compressed: 0 != l2 && !g2, encrypted: i2.encrypted && !g2, useWebWorkers: Qt(i2, n2, "useWebWorkers"), useCompressionStream: Qt(i2, n2, "useCompressionStream"), transferStreams: Qt(i2, n2, "transferStreams"), checkPasswordOnly: D2 }, config: c2, streamOptions: { signal: U2, size: v2, onstart: T2, onprogress: F2, onend: O2 } };
4433
- let W2 = 0;
4038
+ class Tt {
4039
+ constructor(e2, t2, r2) {
4040
+ Object.assign(this, { reader: e2, config: t2, options: r2 });
4041
+ }
4042
+ async getData(e2, t2, r2, s2 = {}) {
4043
+ const a2 = this, { reader: i2, offset: o2, diskNumberStart: l2, extraFieldAES: u2, extraFieldZip64: d2, compressionMethod: f2, config: h2, bitFlag: p2, signature: w2, rawLastModDate: g2, uncompressedSize: m2, compressedSize: y2 } = a2, { dataDescriptor: b2 } = p2, S2 = t2.localDirectory = {}, k2 = qt(await rt(i2, o2, 30, l2));
4044
+ let z2 = It(a2, s2, "password"), x2 = It(a2, s2, "rawPassword");
4045
+ const U2 = It(a2, s2, "passThrough");
4046
+ if (z2 = z2 && z2.length && z2, x2 = x2 && x2.length && x2, u2 && 99 != u2.originalCompressionMethod) throw new Error(Ut);
4047
+ if (0 != f2 && 8 != f2 && 9 != f2 && !U2) throw new Error(Ut);
4048
+ if (67324752 != Nt(k2, 0)) throw new Error("Local file header not found");
4049
+ Ct(S2, k2, 4);
4050
+ const { extraFieldLength: A2, filenameLength: v2, lastAccessDate: D2, creationDate: _2 } = S2;
4051
+ S2.rawExtraField = A2 ? await rt(i2, o2 + 30 + v2, A2, l2) : new Uint8Array(), Rt(a2, S2, k2, 4, true), Object.assign(t2, { lastAccessDate: D2, creationDate: _2 });
4052
+ const F2 = a2.encrypted && S2.encrypted && !U2, E2 = F2 && !u2;
4053
+ if (U2 || (t2.zipCrypto = E2), F2) {
4054
+ if (!E2 && u2.strength === c$1) throw new Error("Encryption method not supported");
4055
+ if (!z2 && !x2) throw new Error("File contains encrypted entry");
4056
+ }
4057
+ const T2 = o2 + 30 + v2 + A2, C2 = y2, R2 = i2.readable;
4058
+ Object.assign(R2, { diskNumberStart: l2, offset: T2, size: C2 });
4059
+ const W2 = It(a2, s2, "signal"), M2 = It(a2, s2, "checkPasswordOnly");
4060
+ let j2 = It(a2, s2, "checkOverlappingEntry");
4061
+ const I2 = It(a2, s2, "checkOverlappingEntryOnly");
4062
+ I2 && (j2 = true);
4063
+ const { onstart: B2, onprogress: P2, onend: L2 } = s2, V2 = 9 == f2;
4064
+ let N2 = It(a2, s2, "useCompressionStream");
4065
+ V2 && (N2 = false);
4066
+ const Z2 = { options: { codecType: Ue, password: z2, rawPassword: x2, zipCrypto: E2, encryptionStrength: u2 && u2.strength, signed: It(a2, s2, "checkSignature") && !U2, passwordVerification: E2 && (b2 ? g2 >>> 8 & 255 : w2 >>> 24 & 255), outputSize: U2 ? y2 : m2, signature: w2, compressed: 0 != f2 && !U2, encrypted: a2.encrypted && !U2, useWebWorkers: It(a2, s2, "useWebWorkers"), useCompressionStream: N2, transferStreams: It(a2, s2, "transferStreams"), deflate64: V2, checkPasswordOnly: M2 }, config: h2, streamOptions: { signal: W2, size: C2, onstart: B2, onprogress: P2, onend: L2 } };
4067
+ let q2;
4068
+ j2 && await (async function({ reader: e3, fileEntry: t3, offset: r3, diskNumberStart: s3, signature: a3, compressedSize: i3, uncompressedSize: o3, dataOffset: c2, dataDescriptor: l3, extraFieldZip64: u3, readRanges: d3 }) {
4069
+ let f3 = 0;
4070
+ if (s3) for (let t4 = 0; t4 < s3; t4++) {
4071
+ f3 += e3.readers[t4].size;
4072
+ }
4073
+ let h3 = 0;
4074
+ l3 && (h3 = u3 ? 20 : 12);
4075
+ if (h3) {
4076
+ const r4 = await rt(e3, c2 + i3, h3 + 4, s3);
4077
+ if (Nt(qt(r4), 0) == n$1) {
4078
+ const e4 = Nt(qt(r4), 4);
4079
+ let n2, s4;
4080
+ u3 ? (n2 = Zt(qt(r4), 8), s4 = Zt(qt(r4), 16)) : (n2 = Nt(qt(r4), 8), s4 = Nt(qt(r4), 12));
4081
+ (t3.encrypted && !t3.zipCrypto || e4 == a3) && n2 == i3 && s4 == o3 && (h3 += 4);
4082
+ }
4083
+ }
4084
+ const p3 = { start: f3 + r3, end: f3 + c2 + i3 + h3, fileEntry: t3 };
4085
+ for (const e4 of d3) if (e4.fileEntry != t3 && p3.start >= e4.start && p3.start < e4.end) {
4086
+ const t4 = new Error(vt);
4087
+ throw t4.overlappingEntry = e4.fileEntry, t4;
4088
+ }
4089
+ d3.push(p3);
4090
+ })({ reader: i2, fileEntry: t2, offset: o2, diskNumberStart: l2, signature: w2, compressedSize: y2, uncompressedSize: m2, dataOffset: T2, dataDescriptor: b2 || S2.bitFlag.dataDescriptor, extraFieldZip64: d2 || S2.extraFieldZip64, readRanges: r2 });
4434
4091
  try {
4435
- ({ outputSize: W2 } = await rt({ readable: z2, writable: E2 }, C2));
4436
- } catch (e3) {
4437
- if (!D2 || e3.message != K) throw e3;
4092
+ if (!I2) {
4093
+ M2 && (e2 = new WritableStream()), e2 = new et(e2), await tt(e2, U2 ? y2 : m2), { writable: q2 } = e2;
4094
+ const { outputSize: t3 } = await Ve({ readable: R2, writable: q2 }, Z2);
4095
+ if (e2.size += t3, t3 != (U2 ? y2 : m2)) throw new Error(pe);
4096
+ }
4097
+ } catch (t3) {
4098
+ if (t3.outputSize !== c$1 && (e2.size += t3.outputSize), !M2 || t3.message != O) throw t3;
4438
4099
  } finally {
4439
- const e3 = Qt(i2, n2, "preventClose");
4440
- E2.size += W2, e3 || E2.locked || await E2.getWriter().close();
4100
+ It(a2, s2, "preventClose") || !q2 || q2.locked || await q2.getWriter().close();
4441
4101
  }
4442
- return D2 ? S : e2.getData ? e2.getData() : E2;
4102
+ return M2 || I2 ? c$1 : e2.getData ? e2.getData() : q2;
4443
4103
  }
4444
4104
  }
4445
- function Zt(e2, t2, n2) {
4446
- const i2 = e2.rawBitFlag = en(t2, n2 + 2), r2 = !(1 & ~i2), a2 = tn(t2, n2 + 6);
4447
- Object.assign(e2, { encrypted: r2, version: en(t2, n2), bitFlag: { level: (6 & i2) >> 1, dataDescriptor: !(8 & ~i2), languageEncodingFlag: !(2048 & ~i2) }, rawLastModDate: a2, lastModDate: Xt(a2), filenameLength: en(t2, n2 + 22), extraFieldLength: en(t2, n2 + 24) });
4105
+ function Ct(e2, t2, r2) {
4106
+ const n2 = e2.rawBitFlag = Vt(t2, r2 + 2), s2 = !(1 & ~n2), a2 = Nt(t2, r2 + 6);
4107
+ Object.assign(e2, { encrypted: s2, version: Vt(t2, r2), bitFlag: { level: (6 & n2) >> 1, dataDescriptor: !(8 & ~n2), languageEncodingFlag: !(2048 & ~n2) }, rawLastModDate: a2, lastModDate: Bt(a2), filenameLength: Vt(t2, r2 + 22), extraFieldLength: Vt(t2, r2 + 24) });
4448
4108
  }
4449
- async function Gt(e2, t2, n2, i2, r2) {
4450
- const { rawExtraField: a2 } = t2, s2 = t2.extraField = /* @__PURE__ */ new Map(), o2 = rn(new Uint8Array(a2));
4451
- let l2 = 0;
4109
+ function Rt(e2, t2, r2, n2, s2) {
4110
+ const { rawExtraField: a2 } = t2, i2 = t2.extraField = /* @__PURE__ */ new Map(), o2 = qt(new Uint8Array(a2));
4111
+ let c2 = 0;
4452
4112
  try {
4453
- for (; l2 < a2.length; ) {
4454
- const e3 = en(o2, l2), t3 = en(o2, l2 + 2);
4455
- s2.set(e3, { type: e3, data: a2.slice(l2 + 4, l2 + 4 + t3) }), l2 += 4 + t3;
4113
+ for (; c2 < a2.length; ) {
4114
+ const e3 = Vt(o2, c2), t3 = Vt(o2, c2 + 2);
4115
+ i2.set(e3, { type: e3, data: a2.slice(c2 + 4, c2 + 4 + t3) }), c2 += 4 + t3;
4456
4116
  }
4457
- } catch (e3) {
4117
+ } catch {
4458
4118
  }
4459
- const c2 = en(n2, i2 + 4);
4460
- Object.assign(t2, { signature: tn(n2, i2 + 10), uncompressedSize: tn(n2, i2 + 18), compressedSize: tn(n2, i2 + 14) });
4461
- const u2 = s2.get(1);
4119
+ const l2 = Vt(r2, n2 + 4);
4120
+ Object.assign(t2, { signature: Nt(r2, n2 + 10), compressedSize: Nt(r2, n2 + 14), uncompressedSize: Nt(r2, n2 + 18) });
4121
+ const u2 = i2.get(1);
4462
4122
  u2 && (!(function(e3, t3) {
4463
4123
  t3.zip64 = true;
4464
- const n3 = rn(e3.data), i3 = Vt.filter((([e4, n4]) => t3[e4] == n4));
4465
- for (let r3 = 0, a3 = 0; r3 < i3.length; r3++) {
4466
- const [s3, o3] = i3[r3];
4467
- if (t3[s3] == o3) {
4468
- const i4 = qt[o3];
4469
- t3[s3] = e3[s3] = i4.getValue(n3, a3), a3 += i4.bytes;
4470
- } else if (e3[s3]) throw new Error(Pt);
4124
+ const r3 = qt(e3.data), n3 = Ft.filter(([e4, r4]) => t3[e4] == r4);
4125
+ for (let s3 = 0, a3 = 0; s3 < n3.length; s3++) {
4126
+ const [i3, o3] = n3[s3];
4127
+ if (t3[i3] == o3) {
4128
+ const n4 = Ot[o3];
4129
+ t3[i3] = e3[i3] = n4.getValue(r3, a3), a3 += n4.bytes;
4130
+ } else if (e3[i3]) throw new Error(xt);
4471
4131
  }
4472
4132
  })(u2, t2), t2.extraFieldZip64 = u2);
4473
- const d2 = s2.get(28789);
4474
- d2 && (await Jt(d2, xt, kt, t2, e2), t2.extraFieldUnicodePath = d2);
4475
- const f2 = s2.get(25461);
4476
- f2 && (await Jt(f2, vt, St, t2, e2), t2.extraFieldUnicodeComment = f2);
4477
- const h2 = s2.get(39169);
4478
- h2 ? (!(function(e3, t3, n3) {
4479
- const i3 = rn(e3.data), r3 = $t(i3, 4);
4480
- Object.assign(e3, { vendorVersion: $t(i3, 0), vendorId: $t(i3, 2), strength: r3, originalCompressionMethod: n3, compressionMethod: en(i3, 5) }), t3.compressionMethod = e3.compressionMethod;
4481
- })(h2, t2, c2), t2.extraFieldAES = h2) : t2.compressionMethod = c2;
4482
- const w2 = s2.get(10);
4483
- w2 && (!(function(e3, t3) {
4484
- const n3 = rn(e3.data);
4485
- let i3, r3 = 4;
4133
+ const d2 = i2.get(28789);
4134
+ d2 && (Wt(d2, it, ot, t2, e2), t2.extraFieldUnicodePath = d2);
4135
+ const f2 = i2.get(25461);
4136
+ f2 && (Wt(f2, ct, lt, t2, e2), t2.extraFieldUnicodeComment = f2);
4137
+ const h2 = i2.get(39169);
4138
+ h2 ? (!(function(e3, t3, r3) {
4139
+ const n3 = qt(e3.data), s3 = Lt(n3, 4);
4140
+ Object.assign(e3, { vendorVersion: Lt(n3, 0), vendorId: Lt(n3, 2), strength: s3, originalCompressionMethod: r3, compressionMethod: Vt(n3, 5) }), t3.compressionMethod = e3.compressionMethod;
4141
+ })(h2, t2, l2), t2.extraFieldAES = h2) : t2.compressionMethod = l2;
4142
+ const p2 = i2.get(10);
4143
+ p2 && (!(function(e3, t3) {
4144
+ const r3 = qt(e3.data);
4145
+ let n3, s3 = 4;
4486
4146
  try {
4487
- for (; r3 < e3.data.length && !i3; ) {
4488
- const t4 = en(n3, r3), a3 = en(n3, r3 + 2);
4489
- 1 == t4 && (i3 = e3.data.slice(r3 + 4, r3 + 4 + a3)), r3 += 4 + a3;
4147
+ for (; s3 < e3.data.length && !n3; ) {
4148
+ const t4 = Vt(r3, s3), a3 = Vt(r3, s3 + 2);
4149
+ 1 == t4 && (n3 = e3.data.slice(s3 + 4, s3 + 4 + a3)), s3 += 4 + a3;
4490
4150
  }
4491
- } catch (e4) {
4151
+ } catch {
4492
4152
  }
4493
4153
  try {
4494
- if (i3 && 24 == i3.length) {
4495
- const n4 = rn(i3), r4 = n4.getBigUint64(0, true), a3 = n4.getBigUint64(8, true), s3 = n4.getBigUint64(16, true);
4496
- Object.assign(e3, { rawLastModDate: r4, rawLastAccessDate: a3, rawCreationDate: s3 });
4497
- const o3 = Yt(r4), l3 = Yt(a3), c3 = { lastModDate: o3, lastAccessDate: l3, creationDate: Yt(s3) };
4498
- Object.assign(e3, c3), Object.assign(t3, c3);
4154
+ if (n3 && 24 == n3.length) {
4155
+ const r4 = qt(n3), s4 = r4.getBigUint64(0, true), a3 = r4.getBigUint64(8, true), i3 = r4.getBigUint64(16, true);
4156
+ Object.assign(e3, { rawLastModDate: s4, rawLastAccessDate: a3, rawCreationDate: i3 });
4157
+ const o3 = Pt(s4), c3 = Pt(a3), l3 = { lastModDate: o3, lastAccessDate: c3, creationDate: Pt(i3) };
4158
+ Object.assign(e3, l3), Object.assign(t3, l3);
4499
4159
  }
4500
- } catch (e4) {
4160
+ } catch {
4501
4161
  }
4502
- })(w2, t2), t2.extraFieldNTFS = w2);
4503
- const _2 = s2.get(21589);
4504
- _2 && (!(function(e3, t3, n3) {
4505
- const i3 = rn(e3.data), r3 = $t(i3, 0), a3 = [], s3 = [];
4506
- n3 ? (1 & ~r3 || (a3.push(Et), s3.push(Tt)), 2 & ~r3 || (a3.push(Ft), s3.push(Ot)), 4 & ~r3 || (a3.push(Ct), s3.push(Wt))) : e3.data.length >= 5 && (a3.push(Et), s3.push(Tt));
4162
+ })(p2, t2), t2.extraFieldNTFS = p2);
4163
+ const w2 = i2.get(30805);
4164
+ if (w2) Mt(w2, t2, false), t2.extraFieldUnix = w2;
4165
+ else {
4166
+ const e3 = i2.get(30837);
4167
+ e3 && (Mt(e3, t2, true), t2.extraFieldInfoZip = e3);
4168
+ }
4169
+ const g2 = i2.get(21589);
4170
+ g2 && (!(function(e3, t3, r3) {
4171
+ const n3 = qt(e3.data), s3 = Lt(n3, 0), a3 = [], i3 = [];
4172
+ r3 ? (1 & ~s3 || (a3.push(pt), i3.push(wt)), 2 & ~s3 || (a3.push(gt), i3.push(mt)), 4 & ~s3 || (a3.push(yt), i3.push(bt))) : e3.data.length >= 5 && (a3.push(pt), i3.push(wt));
4507
4173
  let o3 = 1;
4508
- a3.forEach(((n4, r4) => {
4174
+ a3.forEach((r4, s4) => {
4509
4175
  if (e3.data.length >= o3 + 4) {
4510
- const a4 = tn(i3, o3);
4511
- t3[n4] = e3[n4] = new Date(1e3 * a4);
4512
- const l3 = s3[r4];
4513
- e3[l3] = a4;
4176
+ const a4 = Nt(n3, o3);
4177
+ t3[r4] = e3[r4] = new Date(1e3 * a4);
4178
+ const c3 = i3[s4];
4179
+ e3[c3] = a4;
4514
4180
  }
4515
4181
  o3 += 4;
4516
- }));
4517
- })(_2, t2, r2), t2.extraFieldExtendedTimestamp = _2);
4518
- const b2 = s2.get(6534);
4519
- b2 && (t2.extraFieldUSDZ = b2);
4520
- }
4521
- async function Jt(e2, t2, n2, i2, r2) {
4522
- const a2 = rn(e2.data), s2 = new W();
4523
- s2.append(r2[n2]);
4524
- const o2 = rn(new Uint8Array(4));
4525
- o2.setUint32(0, s2.get(), true);
4526
- const l2 = tn(a2, 1);
4527
- Object.assign(e2, { version: $t(a2, 0), [t2]: yt(e2.data.subarray(5)), valid: !r2.bitFlag.languageEncodingFlag && l2 == tn(o2, 0) }), e2.valid && (i2[t2] = e2[t2], i2[t2 + "UTF8"] = true);
4528
- }
4529
- function Qt(e2, t2, n2) {
4530
- return t2[n2] === S ? e2.options[n2] : t2[n2];
4531
- }
4532
- function Xt(e2) {
4533
- const t2 = (4294901760 & e2) >> 16, n2 = 65535 & e2;
4182
+ });
4183
+ })(g2, t2, s2), t2.extraFieldExtendedTimestamp = g2);
4184
+ const m2 = i2.get(6534);
4185
+ m2 && (t2.extraFieldUSDZ = m2);
4186
+ }
4187
+ function Wt(e2, t2, r2, n2, s2) {
4188
+ const a2 = qt(e2.data), i2 = new y$1();
4189
+ i2.append(s2[r2]);
4190
+ const o2 = qt(new Uint8Array(4));
4191
+ o2.setUint32(0, i2.get(), true);
4192
+ const c2 = Nt(a2, 1);
4193
+ Object.assign(e2, { version: Lt(a2, 0), [t2]: at(e2.data.subarray(5)), valid: !s2.bitFlag.languageEncodingFlag && c2 == Nt(o2, 0) }), e2.valid && (n2[t2] = e2[t2], n2[t2 + "UTF8"] = true);
4194
+ }
4195
+ function Mt(e2, t2, r2) {
4534
4196
  try {
4535
- return new Date(1980 + ((65024 & t2) >> 9), ((480 & t2) >> 5) - 1, 31 & t2, (63488 & n2) >> 11, (2016 & n2) >> 5, 2 * (31 & n2), 0);
4536
- } catch (e3) {
4197
+ const n2 = qt(new Uint8Array(e2.data));
4198
+ let s2 = 0;
4199
+ const a2 = Lt(n2, s2++), i2 = Lt(n2, s2++), o2 = e2.data.subarray(s2, s2 + i2);
4200
+ s2 += i2;
4201
+ const l2 = jt(o2), u2 = Lt(n2, s2++), d2 = e2.data.subarray(s2, s2 + u2);
4202
+ s2 += u2;
4203
+ const f2 = jt(d2);
4204
+ let h2 = c$1;
4205
+ if (!r2 && s2 + 2 <= e2.data.length) {
4206
+ const t3 = e2.data;
4207
+ h2 = new DataView(t3.buffer, t3.byteOffset + s2, 2).getUint16(0, true);
4208
+ }
4209
+ Object.assign(e2, { version: a2, uid: l2, gid: f2, unixMode: h2 }), l2 !== c$1 && (t2.uid = l2), f2 !== c$1 && (t2.gid = f2), h2 !== c$1 && (t2.unixMode = h2);
4210
+ } catch {
4211
+ }
4212
+ }
4213
+ function jt(e2) {
4214
+ const t2 = new Uint8Array(4);
4215
+ t2.set(e2, 0);
4216
+ return new DataView(t2.buffer, t2.byteOffset, 4).getUint32(0, true);
4217
+ }
4218
+ function It(e2, t2, r2) {
4219
+ return t2[r2] === c$1 ? e2.options[r2] : t2[r2];
4220
+ }
4221
+ function Bt(e2) {
4222
+ const r2 = (4294901760 & e2) >> 16, n2 = e2 & t$1;
4223
+ try {
4224
+ return new Date(1980 + ((65024 & r2) >> 9), ((480 & r2) >> 5) - 1, 31 & r2, (63488 & n2) >> 11, (2016 & n2) >> 5, 2 * (31 & n2), 0);
4225
+ } catch {
4537
4226
  }
4538
4227
  }
4539
- function Yt(e2) {
4228
+ function Pt(e2) {
4540
4229
  return new Date(Number(e2 / BigInt(1e4) - BigInt(116444736e5)));
4541
4230
  }
4542
- function $t(e2, t2) {
4231
+ function Lt(e2, t2) {
4543
4232
  return e2.getUint8(t2);
4544
4233
  }
4545
- function en(e2, t2) {
4234
+ function Vt(e2, t2) {
4546
4235
  return e2.getUint16(t2, true);
4547
4236
  }
4548
- function tn(e2, t2) {
4237
+ function Nt(e2, t2) {
4549
4238
  return e2.getUint32(t2, true);
4550
4239
  }
4551
- function nn(e2, t2) {
4240
+ function Zt(e2, t2) {
4552
4241
  return Number(e2.getBigUint64(t2, true));
4553
4242
  }
4554
- function rn(e2) {
4243
+ function qt(e2) {
4555
4244
  return new DataView(e2.buffer);
4556
4245
  }
4557
- F({ Inflate: function(e2) {
4558
- const t2 = new m$1(), i2 = e2 && e2.chunkSize ? Math.floor(2 * e2.chunkSize) : 131072, r2 = new Uint8Array(i2);
4559
- let a2 = false;
4560
- t2.inflateInit(), t2.next_out = r2, this.append = function(e3, s2) {
4561
- const o2 = [];
4562
- let l2, c2, u2 = 0, d2 = 0, f2 = 0;
4563
- if (0 !== e3.length) {
4564
- t2.next_in_index = 0, t2.next_in = e3, t2.avail_in = e3.length;
4565
- do {
4566
- if (t2.next_out_index = 0, t2.avail_out = i2, 0 !== t2.avail_in || a2 || (t2.next_in_index = 0, a2 = true), l2 = t2.inflate(0), a2 && l2 === n$1) {
4567
- if (0 !== t2.avail_in) throw new Error("inflating: bad input");
4568
- } else if (0 !== l2 && 1 !== l2) throw new Error("inflating: " + t2.msg);
4569
- if ((a2 || 1 === l2) && t2.avail_in === e3.length) throw new Error("inflating: bad input");
4570
- t2.next_out_index && (t2.next_out_index === i2 ? o2.push(new Uint8Array(r2)) : o2.push(r2.subarray(0, t2.next_out_index))), f2 += t2.next_out_index, s2 && t2.next_in_index > 0 && t2.next_in_index != u2 && (s2(t2.next_in_index), u2 = t2.next_in_index);
4571
- } while (t2.avail_in > 0 || 0 === t2.avail_out);
4572
- return o2.length > 1 ? (c2 = new Uint8Array(f2), o2.forEach((function(e4) {
4573
- c2.set(e4, d2), d2 += e4.length;
4574
- }))) : c2 = o2[0] ? new Uint8Array(o2[0]) : new Uint8Array(), c2;
4575
- }
4576
- }, this.flush = function() {
4577
- t2.inflateEnd();
4578
- };
4579
- } });
4246
+ try {
4247
+ w$1({ baseURI: typeof document === "undefined" && typeof location === "undefined" ? require("url").pathToFileURL(__filename).href : typeof document === "undefined" ? location.href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("vue-book-reader.umd.js", document.baseURI).href });
4248
+ } catch {
4249
+ }
4580
4250
  const zip = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4581
4251
  __proto__: null,
4582
- BlobReader: ut,
4583
- BlobWriter: dt,
4584
- TextWriter: ft,
4585
- ZipReader: Ht,
4586
- configure: F
4252
+ BlobReader: Ge,
4253
+ BlobWriter: Je,
4254
+ TextWriter: Qe,
4255
+ ZipReader: Et,
4256
+ configure: w$1
4587
4257
  }, Symbol.toStringTag, { value: "Module" }));
4588
4258
  const NS$2 = {
4589
4259
  CONTAINER: "urn:oasis:names:tc:opendocument:xmlns:container",
@@ -4805,7 +4475,7 @@
4805
4475
  subtitle: (_h = (_g = dc.title) == null ? void 0 : _g.find((x2) => prop(x2, "title-type") === "subtitle")) == null ? void 0 : _h.value,
4806
4476
  language: (_i = dc.language) == null ? void 0 : _i.map((x2) => x2.value),
4807
4477
  description: one(dc.description),
4808
- publisher: makeContributor((_j = dc.publisher) == null ? void 0 : _j[0]),
4478
+ publisher: (_j = dc.publisher) == null ? void 0 : _j.map(makeContributor),
4809
4479
  published: ((_l = (_k = dc.date) == null ? void 0 : _k.find((x2) => x2.attrs.event === "publication")) == null ? void 0 : _l.value) ?? one(dc.date),
4810
4480
  modified: one(properties[PREFIX.dcterms + "modified"]) ?? ((_n = (_m = dc.date) == null ? void 0 : _m.find((x2) => x2.attrs.event === "modification")) == null ? void 0 : _n.value),
4811
4481
  subject: (_o = dc.subject) == null ? void 0 : _o.map(makeContributor),
@@ -4819,7 +4489,9 @@
4819
4489
  altIdentifier: (_r = dc.identifier) == null ? void 0 : _r.map(makeAltIdentifier),
4820
4490
  source: (_s = dc.source) == null ? void 0 : _s.map(makeAltIdentifier),
4821
4491
  // NOTE: not in webpub schema
4822
- rights: one(dc.rights)
4492
+ rights: one(dc.rights),
4493
+ // NOTE: not in webpub schema
4494
+ pageBreakSource: one(properties["pageBreakSource"])
4823
4495
  // NOTE: not in webpub schema
4824
4496
  };
4825
4497
  const remapContributor = (defaultKey) => (x2) => {
@@ -5574,7 +5246,7 @@ ${doc.querySelector("parsererror").innerText}`);
5574
5246
  cache.delete(name);
5575
5247
  };
5576
5248
  const exts = [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp", ".svg", ".jxl", ".avif"];
5577
- const files = entries.map((entry) => entry.filename).filter((name) => exts.some((ext) => name.endsWith(ext))).sort();
5249
+ const files = entries.map((entry) => entry.filename).filter((name) => exts.some((ext) => name.endsWith(ext))).sort(new Intl.Collator([], { numeric: true }).compare);
5578
5250
  if (!files.length) throw new Error("No supported image files in archive");
5579
5251
  const book = {};
5580
5252
  book.getCover = () => loadBlob(files[0]);
@@ -5924,6 +5596,415 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
5924
5596
  __proto__: null,
5925
5597
  makeFB2
5926
5598
  }, Symbol.toStringTag, { value: "Module" }));
5599
+ const textLayerBuilderCSS = '/* Copyright 2014 Mozilla Foundation\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the "License");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an "AS IS" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n.textLayer {\r\n color-scheme: only light;\r\n\r\n position: absolute;\r\n text-align: initial;\r\n inset: 0;\r\n overflow: clip;\r\n opacity: 1;\r\n line-height: 1;\r\n text-size-adjust: none;\r\n forced-color-adjust: none;\r\n transform-origin: 0 0;\r\n caret-color: CanvasText;\r\n z-index: 0;\r\n\r\n &.highlighting {\r\n touch-action: none;\r\n }\r\n\r\n :is(span, br) {\r\n color: transparent;\r\n position: absolute;\r\n white-space: pre;\r\n cursor: text;\r\n transform-origin: 0% 0%;\r\n }\r\n\r\n /* We multiply the font size by --min-font-size, and then scale the text\r\n * elements by 1/--min-font-size. This allows us to effectively ignore the\r\n * minimum font size enforced by the browser, so that the text layer <span>s\r\n * can always match the size of the text in the canvas. */\r\n --min-font-size: 1;\r\n --text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));\r\n --min-font-size-inv: calc(1 / var(--min-font-size));\r\n\r\n > :not(.markedContent),\r\n .markedContent span:not(.markedContent) {\r\n z-index: 1;\r\n\r\n --font-height: 0; /* set by text_layer.js */\r\n font-size: calc(var(--text-scale-factor) * var(--font-height));\r\n\r\n --scale-x: 1;\r\n --rotate: 0deg;\r\n transform: rotate(var(--rotate)) scaleX(var(--scale-x))\r\n scale(var(--min-font-size-inv));\r\n }\r\n\r\n .markedContent {\r\n display: contents;\r\n }\r\n\r\n span[role="img"] {\r\n user-select: none;\r\n cursor: default;\r\n }\r\n\r\n .highlight {\r\n --highlight-bg-color: rgb(180 0 170 / 0.25);\r\n --highlight-selected-bg-color: rgb(0 100 0 / 0.25);\r\n --highlight-backdrop-filter: none;\r\n --highlight-selected-backdrop-filter: none;\r\n\r\n @media screen and (forced-colors: active) {\r\n --highlight-bg-color: transparent;\r\n --highlight-selected-bg-color: transparent;\r\n --highlight-backdrop-filter: var(--hcm-highlight-filter);\r\n --highlight-selected-backdrop-filter: var(\r\n --hcm-highlight-selected-filter\r\n );\r\n }\r\n\r\n margin: -1px;\r\n padding: 1px;\r\n background-color: var(--highlight-bg-color);\r\n backdrop-filter: var(--highlight-backdrop-filter);\r\n border-radius: 4px;\r\n\r\n &.appended {\r\n position: initial;\r\n }\r\n\r\n &.begin {\r\n border-radius: 4px 0 0 4px;\r\n }\r\n\r\n &.end {\r\n border-radius: 0 4px 4px 0;\r\n }\r\n\r\n &.middle {\r\n border-radius: 0;\r\n }\r\n\r\n &.selected {\r\n background-color: var(--highlight-selected-bg-color);\r\n backdrop-filter: var(--highlight-selected-backdrop-filter);\r\n }\r\n }\r\n\r\n ::selection {\r\n /* stylelint-disable declaration-block-no-duplicate-properties */\r\n /*#if !MOZCENTRAL*/\r\n background: rgba(0 0 255 / 0.25);\r\n /*#endif*/\r\n /* stylelint-enable declaration-block-no-duplicate-properties */\r\n background: color-mix(in srgb, AccentColor, transparent 75%);\r\n }\r\n\r\n /* Avoids https://github.com/mozilla/pdf.js/issues/13840 in Chrome */\r\n /*#if !MOZCENTRAL*/\r\n br::selection {\r\n background: transparent;\r\n }\r\n /*#endif*/\r\n\r\n .endOfContent {\r\n display: block;\r\n position: absolute;\r\n inset: 100% 0 0;\r\n z-index: 0;\r\n cursor: default;\r\n user-select: none;\r\n }\r\n\r\n &.selecting .endOfContent {\r\n top: 0;\r\n }\r\n}\r\n';
5600
+ const annotationLayerBuilderCSS = `/* Copyright 2014 Mozilla Foundation\r
5601
+ *\r
5602
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
5603
+ * you may not use this file except in compliance with the License.\r
5604
+ * You may obtain a copy of the License at\r
5605
+ *\r
5606
+ * http://www.apache.org/licenses/LICENSE-2.0\r
5607
+ *\r
5608
+ * Unless required by applicable law or agreed to in writing, software\r
5609
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
5610
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
5611
+ * See the License for the specific language governing permissions and\r
5612
+ * limitations under the License.\r
5613
+ */\r
5614
+ \r
5615
+ .annotationLayer {\r
5616
+ color-scheme: only light;\r
5617
+ \r
5618
+ --annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");\r
5619
+ --input-focus-border-color: Highlight;\r
5620
+ --input-focus-outline: 1px solid Canvas;\r
5621
+ --input-unfocused-border-color: transparent;\r
5622
+ --input-disabled-border-color: transparent;\r
5623
+ --input-hover-border-color: black;\r
5624
+ --link-outline: none;\r
5625
+ \r
5626
+ @media screen and (forced-colors: active) {\r
5627
+ --input-focus-border-color: CanvasText;\r
5628
+ --input-unfocused-border-color: ActiveText;\r
5629
+ --input-disabled-border-color: GrayText;\r
5630
+ --input-hover-border-color: Highlight;\r
5631
+ --link-outline: 1.5px solid LinkText;\r
5632
+ \r
5633
+ .textWidgetAnnotation :is(input, textarea):required,\r
5634
+ .choiceWidgetAnnotation select:required,\r
5635
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {\r
5636
+ outline: 1.5px solid selectedItem;\r
5637
+ }\r
5638
+ \r
5639
+ .linkAnnotation {\r
5640
+ outline: var(--link-outline);\r
5641
+ \r
5642
+ &:hover {\r
5643
+ backdrop-filter: var(--hcm-highlight-filter);\r
5644
+ }\r
5645
+ \r
5646
+ & > a:hover {\r
5647
+ opacity: 0 !important;\r
5648
+ background: none !important;\r
5649
+ box-shadow: none;\r
5650
+ }\r
5651
+ }\r
5652
+ \r
5653
+ .popupAnnotation .popup {\r
5654
+ outline: calc(1.5px * var(--total-scale-factor)) solid CanvasText !important;\r
5655
+ background-color: ButtonFace !important;\r
5656
+ color: ButtonText !important;\r
5657
+ }\r
5658
+ \r
5659
+ .highlightArea:hover::after {\r
5660
+ position: absolute;\r
5661
+ top: 0;\r
5662
+ left: 0;\r
5663
+ width: 100%;\r
5664
+ height: 100%;\r
5665
+ backdrop-filter: var(--hcm-highlight-filter);\r
5666
+ content: "";\r
5667
+ pointer-events: none;\r
5668
+ }\r
5669
+ \r
5670
+ .popupAnnotation.focused .popup {\r
5671
+ outline: calc(3px * var(--total-scale-factor)) solid Highlight !important;\r
5672
+ }\r
5673
+ }\r
5674
+ \r
5675
+ position: absolute;\r
5676
+ top: 0;\r
5677
+ left: 0;\r
5678
+ pointer-events: none;\r
5679
+ transform-origin: 0 0;\r
5680
+ \r
5681
+ &[data-main-rotation="90"] .norotate {\r
5682
+ transform: rotate(270deg) translateX(-100%);\r
5683
+ }\r
5684
+ &[data-main-rotation="180"] .norotate {\r
5685
+ transform: rotate(180deg) translate(-100%, -100%);\r
5686
+ }\r
5687
+ &[data-main-rotation="270"] .norotate {\r
5688
+ transform: rotate(90deg) translateY(-100%);\r
5689
+ }\r
5690
+ \r
5691
+ &.disabled {\r
5692
+ section,\r
5693
+ .popup {\r
5694
+ pointer-events: none;\r
5695
+ }\r
5696
+ }\r
5697
+ \r
5698
+ .annotationContent {\r
5699
+ position: absolute;\r
5700
+ width: 100%;\r
5701
+ height: 100%;\r
5702
+ pointer-events: none;\r
5703
+ \r
5704
+ &.freetext {\r
5705
+ background: transparent;\r
5706
+ border: none;\r
5707
+ inset: 0;\r
5708
+ overflow: visible;\r
5709
+ white-space: nowrap;\r
5710
+ font: 10px sans-serif;\r
5711
+ line-height: 1.35;\r
5712
+ }\r
5713
+ }\r
5714
+ \r
5715
+ section {\r
5716
+ position: absolute;\r
5717
+ text-align: initial;\r
5718
+ pointer-events: auto;\r
5719
+ box-sizing: border-box;\r
5720
+ transform-origin: 0 0;\r
5721
+ user-select: none;\r
5722
+ \r
5723
+ &:has(div.annotationContent) {\r
5724
+ canvas.annotationContent {\r
5725
+ display: none;\r
5726
+ }\r
5727
+ }\r
5728
+ \r
5729
+ .overlaidText {\r
5730
+ position: absolute;\r
5731
+ top: 0;\r
5732
+ left: 0;\r
5733
+ width: 0;\r
5734
+ height: 0;\r
5735
+ display: inline-block;\r
5736
+ overflow: hidden;\r
5737
+ }\r
5738
+ }\r
5739
+ \r
5740
+ .textLayer.selecting ~ & section {\r
5741
+ pointer-events: none;\r
5742
+ }\r
5743
+ \r
5744
+ :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a {\r
5745
+ position: absolute;\r
5746
+ font-size: 1em;\r
5747
+ top: 0;\r
5748
+ left: 0;\r
5749
+ width: 100%;\r
5750
+ height: 100%;\r
5751
+ }\r
5752
+ \r
5753
+ :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton):not(.hasBorder)\r
5754
+ > a:hover {\r
5755
+ opacity: 0.2;\r
5756
+ background-color: rgb(255 255 0);\r
5757
+ }\r
5758
+ \r
5759
+ .linkAnnotation.hasBorder:hover {\r
5760
+ background-color: rgb(255 255 0 / 0.2);\r
5761
+ }\r
5762
+ \r
5763
+ .hasBorder {\r
5764
+ background-size: 100% 100%;\r
5765
+ }\r
5766
+ \r
5767
+ .textAnnotation img {\r
5768
+ position: absolute;\r
5769
+ cursor: pointer;\r
5770
+ width: 100%;\r
5771
+ height: 100%;\r
5772
+ top: 0;\r
5773
+ left: 0;\r
5774
+ }\r
5775
+ \r
5776
+ .textWidgetAnnotation :is(input, textarea),\r
5777
+ .choiceWidgetAnnotation select,\r
5778
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input {\r
5779
+ background-image: var(--annotation-unfocused-field-background);\r
5780
+ border: 2px solid var(--input-unfocused-border-color);\r
5781
+ box-sizing: border-box;\r
5782
+ font: calc(9px * var(--total-scale-factor)) sans-serif;\r
5783
+ height: 100%;\r
5784
+ margin: 0;\r
5785
+ vertical-align: top;\r
5786
+ width: 100%;\r
5787
+ }\r
5788
+ \r
5789
+ .textWidgetAnnotation :is(input, textarea):required,\r
5790
+ .choiceWidgetAnnotation select:required,\r
5791
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required {\r
5792
+ outline: 1.5px solid red;\r
5793
+ }\r
5794
+ \r
5795
+ .choiceWidgetAnnotation select option {\r
5796
+ padding: 0;\r
5797
+ }\r
5798
+ \r
5799
+ .buttonWidgetAnnotation.radioButton input {\r
5800
+ border-radius: 50%;\r
5801
+ }\r
5802
+ \r
5803
+ .textWidgetAnnotation textarea {\r
5804
+ resize: none;\r
5805
+ }\r
5806
+ \r
5807
+ .textWidgetAnnotation :is(input, textarea)[disabled],\r
5808
+ .choiceWidgetAnnotation select[disabled],\r
5809
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input[disabled] {\r
5810
+ background: none;\r
5811
+ border: 2px solid var(--input-disabled-border-color);\r
5812
+ cursor: not-allowed;\r
5813
+ }\r
5814
+ \r
5815
+ .textWidgetAnnotation :is(input, textarea):hover,\r
5816
+ .choiceWidgetAnnotation select:hover,\r
5817
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:hover {\r
5818
+ border: 2px solid var(--input-hover-border-color);\r
5819
+ }\r
5820
+ .textWidgetAnnotation :is(input, textarea):hover,\r
5821
+ .choiceWidgetAnnotation select:hover,\r
5822
+ .buttonWidgetAnnotation.checkBox input:hover {\r
5823
+ border-radius: 2px;\r
5824
+ }\r
5825
+ \r
5826
+ .textWidgetAnnotation :is(input, textarea):focus,\r
5827
+ .choiceWidgetAnnotation select:focus {\r
5828
+ background: none;\r
5829
+ border: 2px solid var(--input-focus-border-color);\r
5830
+ border-radius: 2px;\r
5831
+ outline: var(--input-focus-outline);\r
5832
+ }\r
5833
+ \r
5834
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) :focus {\r
5835
+ background-image: none;\r
5836
+ background-color: transparent;\r
5837
+ }\r
5838
+ \r
5839
+ .buttonWidgetAnnotation.checkBox :focus {\r
5840
+ border: 2px solid var(--input-focus-border-color);\r
5841
+ border-radius: 2px;\r
5842
+ outline: var(--input-focus-outline);\r
5843
+ }\r
5844
+ \r
5845
+ .buttonWidgetAnnotation.radioButton :focus {\r
5846
+ border: 2px solid var(--input-focus-border-color);\r
5847
+ outline: var(--input-focus-outline);\r
5848
+ }\r
5849
+ \r
5850
+ .buttonWidgetAnnotation.checkBox input:checked::before,\r
5851
+ .buttonWidgetAnnotation.checkBox input:checked::after,\r
5852
+ .buttonWidgetAnnotation.radioButton input:checked::before {\r
5853
+ background-color: CanvasText;\r
5854
+ content: "";\r
5855
+ display: block;\r
5856
+ position: absolute;\r
5857
+ }\r
5858
+ \r
5859
+ .buttonWidgetAnnotation.checkBox input:checked::before,\r
5860
+ .buttonWidgetAnnotation.checkBox input:checked::after {\r
5861
+ height: 80%;\r
5862
+ left: 45%;\r
5863
+ width: 1px;\r
5864
+ }\r
5865
+ \r
5866
+ .buttonWidgetAnnotation.checkBox input:checked::before {\r
5867
+ transform: rotate(45deg);\r
5868
+ }\r
5869
+ \r
5870
+ .buttonWidgetAnnotation.checkBox input:checked::after {\r
5871
+ transform: rotate(-45deg);\r
5872
+ }\r
5873
+ \r
5874
+ .buttonWidgetAnnotation.radioButton input:checked::before {\r
5875
+ border-radius: 50%;\r
5876
+ height: 50%;\r
5877
+ left: 25%;\r
5878
+ top: 25%;\r
5879
+ width: 50%;\r
5880
+ }\r
5881
+ \r
5882
+ .textWidgetAnnotation input.comb {\r
5883
+ font-family: monospace;\r
5884
+ padding-left: 2px;\r
5885
+ padding-right: 0;\r
5886
+ }\r
5887
+ \r
5888
+ .textWidgetAnnotation input.comb:focus {\r
5889
+ /*\r
5890
+ * Letter spacing is placed on the right side of each character. Hence, the\r
5891
+ * letter spacing of the last character may be placed outside the visible\r
5892
+ * area, causing horizontal scrolling. We avoid this by extending the width\r
5893
+ * when the element has focus and revert this when it loses focus.\r
5894
+ */\r
5895
+ width: 103%;\r
5896
+ }\r
5897
+ \r
5898
+ .buttonWidgetAnnotation:is(.checkBox, .radioButton) input {\r
5899
+ appearance: none;\r
5900
+ }\r
5901
+ \r
5902
+ .fileAttachmentAnnotation .popupTriggerArea {\r
5903
+ height: 100%;\r
5904
+ width: 100%;\r
5905
+ }\r
5906
+ \r
5907
+ .popupAnnotation {\r
5908
+ position: absolute;\r
5909
+ font-size: calc(9px * var(--total-scale-factor));\r
5910
+ pointer-events: none;\r
5911
+ width: max-content;\r
5912
+ max-width: 45%;\r
5913
+ height: auto;\r
5914
+ }\r
5915
+ \r
5916
+ .popup {\r
5917
+ background-color: rgb(255 255 153);\r
5918
+ color: black;\r
5919
+ box-shadow: 0 calc(2px * var(--total-scale-factor))\r
5920
+ calc(5px * var(--total-scale-factor)) rgb(136 136 136);\r
5921
+ border-radius: calc(2px * var(--total-scale-factor));\r
5922
+ outline: 1.5px solid rgb(255 255 74);\r
5923
+ padding: calc(6px * var(--total-scale-factor));\r
5924
+ cursor: pointer;\r
5925
+ font: message-box;\r
5926
+ white-space: normal;\r
5927
+ word-wrap: break-word;\r
5928
+ pointer-events: auto;\r
5929
+ user-select: text;\r
5930
+ }\r
5931
+ \r
5932
+ .popupAnnotation.focused .popup {\r
5933
+ outline-width: 3px;\r
5934
+ }\r
5935
+ \r
5936
+ .popup * {\r
5937
+ font-size: calc(9px * var(--total-scale-factor));\r
5938
+ }\r
5939
+ \r
5940
+ .popup > .header {\r
5941
+ display: inline-block;\r
5942
+ }\r
5943
+ \r
5944
+ .popup > .header > .title {\r
5945
+ display: inline;\r
5946
+ font-weight: bold;\r
5947
+ }\r
5948
+ \r
5949
+ .popup > .header .popupDate {\r
5950
+ display: inline-block;\r
5951
+ margin-left: calc(5px * var(--total-scale-factor));\r
5952
+ width: fit-content;\r
5953
+ }\r
5954
+ \r
5955
+ .popupContent {\r
5956
+ border-top: 1px solid rgb(51 51 51);\r
5957
+ margin-top: calc(2px * var(--total-scale-factor));\r
5958
+ padding-top: calc(2px * var(--total-scale-factor));\r
5959
+ }\r
5960
+ \r
5961
+ .richText > * {\r
5962
+ white-space: pre-wrap;\r
5963
+ font-size: calc(9px * var(--total-scale-factor));\r
5964
+ }\r
5965
+ \r
5966
+ .popupTriggerArea {\r
5967
+ cursor: pointer;\r
5968
+ \r
5969
+ &:hover {\r
5970
+ backdrop-filter: var(--hcm-highlight-filter);\r
5971
+ }\r
5972
+ }\r
5973
+ \r
5974
+ section svg {\r
5975
+ position: absolute;\r
5976
+ width: 100%;\r
5977
+ height: 100%;\r
5978
+ top: 0;\r
5979
+ left: 0;\r
5980
+ }\r
5981
+ \r
5982
+ .annotationTextContent {\r
5983
+ position: absolute;\r
5984
+ width: 100%;\r
5985
+ height: 100%;\r
5986
+ opacity: 0;\r
5987
+ color: transparent;\r
5988
+ user-select: none;\r
5989
+ pointer-events: none;\r
5990
+ \r
5991
+ span {\r
5992
+ width: 100%;\r
5993
+ display: inline-block;\r
5994
+ }\r
5995
+ }\r
5996
+ \r
5997
+ svg.quadrilateralsContainer {\r
5998
+ contain: strict;\r
5999
+ width: 0;\r
6000
+ height: 0;\r
6001
+ position: absolute;\r
6002
+ top: 0;\r
6003
+ left: 0;\r
6004
+ z-index: -1;\r
6005
+ }\r
6006
+ }\r
6007
+ `;
5927
6008
  const render = async (page, doc, zoom) => {
5928
6009
  const scale = zoom * devicePixelRatio;
5929
6010
  doc.documentElement.style.transform = `scale(${1 / devicePixelRatio})`;
@@ -5958,15 +6039,13 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
5958
6039
  container.onpointerdown = () => container.classList.add("selecting");
5959
6040
  container.onpointerup = () => container.classList.remove("selecting");
5960
6041
  const div = doc.querySelector(".annotationLayer");
5961
- await new pdfjsLib.AnnotationLayer({ page, viewport, div }).render({
5962
- annotations: await page.getAnnotations(),
5963
- linkService: {
5964
- goToDestination: () => {
5965
- },
5966
- getDestinationHash: (dest) => JSON.stringify(dest),
5967
- addLinkAttributes: (link, url) => link.href = url
5968
- }
5969
- });
6042
+ const linkService = {
6043
+ goToDestination: () => {
6044
+ },
6045
+ getDestinationHash: (dest) => JSON.stringify(dest),
6046
+ addLinkAttributes: (link, url) => link.href = url
6047
+ };
6048
+ await new pdfjsLib.AnnotationLayer({ page, viewport, div, linkService }).render({ annotations: await page.getAnnotations() });
5970
6049
  };
5971
6050
  const renderPage = async (page, getImageBlob) => {
5972
6051
  const viewport = page.getViewport({ scale: 1 });
@@ -5988,6 +6067,17 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
5988
6067
  margin: 0;
5989
6068
  padding: 0;
5990
6069
  }
6070
+ /*
6071
+ https://github.com/mozilla/pdf.js/commit/bd05b255fabfc313b194bfe9a17ccded4d90fb5a
6072
+ */
6073
+ :root {
6074
+ --user-unit: 1;
6075
+ --total-scale-factor: calc(var(--scale-factor) * var(--user-unit));
6076
+ --scale-round-x: 1px;
6077
+ --scale-round-y: 1px;
6078
+ }
6079
+ ${textLayerBuilderCSS}
6080
+ ${annotationLayerBuilderCSS}
5991
6081
  </style>
5992
6082
  <div id="canvas"></div>
5993
6083
  <div class="textLayer"></div>
@@ -6010,8 +6100,8 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
6010
6100
  };
6011
6101
  const pdf2 = await pdfjsLib.getDocument({
6012
6102
  range: transport,
6013
- // cMapUrl: pdfjsPath('cmaps/'),
6014
- // standardFontDataUrl: pdfjsPath('standard_fonts/'),
6103
+ cMapUrl: pdfjsPath("cmaps/"),
6104
+ standardFontDataUrl: pdfjsPath("standard_fonts/"),
6015
6105
  isEvalSupported: false
6016
6106
  }).promise;
6017
6107
  const book = { rendition: { layout: "pre-paginated" } };
@@ -6807,6 +6897,9 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
6807
6897
  createDocument: () => this.createDocument(section),
6808
6898
  size: section.end - section.start
6809
6899
  }));
6900
+ this.#fileposList = [...new Set(
6901
+ Array.from(str.matchAll(fileposRegex), (m2) => m2[1])
6902
+ )].map((filepos) => ({ filepos, number: Number(filepos) })).sort((a2, b2) => a2.number - b2.number);
6810
6903
  try {
6811
6904
  this.landmarks = await this.getGuide();
6812
6905
  const tocHref = (_a = this.landmarks.find(({ type }) => type == null ? void 0 : type.includes("toc"))) == null ? void 0 : _a.href;
@@ -6847,9 +6940,6 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
6847
6940
  } catch (e2) {
6848
6941
  console.warn(e2);
6849
6942
  }
6850
- this.#fileposList = [...new Set(
6851
- Array.from(str.matchAll(fileposRegex), (m2) => m2[1])
6852
- )].map((filepos) => ({ filepos, number: Number(filepos) })).sort((a2, b2) => a2.number - b2.number);
6853
6943
  this.metadata = this.mobi.getMetadata();
6854
6944
  this.getCover = this.mobi.getCover.bind(this.mobi);
6855
6945
  return this;
@@ -7287,25 +7377,25 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
7287
7377
  MOBI,
7288
7378
  isMOBI
7289
7379
  }, Symbol.toStringTag, { value: "Module" }));
7290
- var r = Uint8Array, a = Uint16Array, e = Int32Array, n = new r([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, 0, 0, 0]), i = new r([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, 0, 0]), t = new r([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), f = function(r2, n2) {
7291
- for (var i2 = new a(31), t2 = 0; t2 < 31; ++t2) i2[t2] = n2 += 1 << r2[t2 - 1];
7292
- var f2 = new e(i2[30]);
7380
+ var r = Uint8Array, n = Uint16Array, a = Int32Array, e = new r([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, 0, 0, 0]), i = new r([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, 0, 0]), t = new r([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), f = function(r2, e2) {
7381
+ for (var i2 = new n(31), t2 = 0; t2 < 31; ++t2) i2[t2] = e2 += 1 << r2[t2 - 1];
7382
+ var f2 = new a(i2[30]);
7293
7383
  for (t2 = 1; t2 < 30; ++t2) for (var o2 = i2[t2]; o2 < i2[t2 + 1]; ++o2) f2[o2] = o2 - i2[t2] << 5 | t2;
7294
7384
  return { b: i2, r: f2 };
7295
- }, o = f(n, 2), v = o.b, l = o.r;
7385
+ }, o = f(e, 2), v = o.b, l = o.r;
7296
7386
  v[28] = 258, l[258] = 28;
7297
- for (var u = f(i, 0).b, c = new a(32768), d = 0; d < 32768; ++d) {
7387
+ for (var u = f(i, 0).b, c = new n(32768), d = 0; d < 32768; ++d) {
7298
7388
  var w = (43690 & d) >> 1 | (21845 & d) << 1;
7299
7389
  w = (61680 & (w = (52428 & w) >> 2 | (13107 & w) << 2)) >> 4 | (3855 & w) << 4, c[d] = ((65280 & w) >> 8 | (255 & w) << 8) >> 1;
7300
7390
  }
7301
- var b = function(r2, e2, n2) {
7302
- for (var i2 = r2.length, t2 = 0, f2 = new a(e2); t2 < i2; ++t2) r2[t2] && ++f2[r2[t2] - 1];
7303
- var o2, v2 = new a(e2);
7304
- for (t2 = 1; t2 < e2; ++t2) v2[t2] = v2[t2 - 1] + f2[t2 - 1] << 1;
7391
+ var b = function(r2, a2, e2) {
7392
+ for (var i2 = r2.length, t2 = 0, f2 = new n(a2); t2 < i2; ++t2) r2[t2] && ++f2[r2[t2] - 1];
7393
+ var o2, v2 = new n(a2);
7394
+ for (t2 = 1; t2 < a2; ++t2) v2[t2] = v2[t2 - 1] + f2[t2 - 1] << 1;
7305
7395
  {
7306
- o2 = new a(1 << e2);
7307
- var l2 = 15 - e2;
7308
- for (t2 = 0; t2 < i2; ++t2) if (r2[t2]) for (var u2 = t2 << 4 | r2[t2], d2 = e2 - r2[t2], w2 = v2[r2[t2] - 1]++ << d2, b2 = w2 | (1 << d2) - 1; w2 <= b2; ++w2) o2[c[w2] >> l2] = u2;
7396
+ o2 = new n(1 << a2);
7397
+ var l2 = 15 - a2;
7398
+ for (t2 = 0; t2 < i2; ++t2) if (r2[t2]) for (var u2 = t2 << 4 | r2[t2], d2 = a2 - r2[t2], w2 = v2[r2[t2] - 1]++ << d2, b2 = w2 | (1 << d2) - 1; w2 <= b2; ++w2) o2[c[w2] >> l2] = u2;
7309
7399
  }
7310
7400
  return o2;
7311
7401
  }, s = new r(288);
@@ -7316,122 +7406,124 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
7316
7406
  var h = new r(32);
7317
7407
  for (d = 0; d < 32; ++d) h[d] = 5;
7318
7408
  var y = b(s, 9), g = b(h, 5), p = function(r2) {
7319
- for (var a2 = r2[0], e2 = 1; e2 < r2.length; ++e2) r2[e2] > a2 && (a2 = r2[e2]);
7320
- return a2;
7321
- }, k = function(r2, a2, e2) {
7322
- var n2 = a2 / 8 | 0;
7323
- return (r2[n2] | r2[n2 + 1] << 8) >> (7 & a2) & e2;
7324
- }, m = function(r2, a2) {
7325
- var e2 = a2 / 8 | 0;
7326
- return (r2[e2] | r2[e2 + 1] << 8 | r2[e2 + 2] << 16) >> (7 & a2);
7327
- }, x = ["unexpected EOF", "invalid block type", "invalid length/literal", "invalid distance", "stream finished", "no stream handler", , "no callback", "invalid UTF-8 data", "extra field too long", "date not in range 1980-2099", "filename too long", "stream finishing", "invalid zip data"], T = function(r2, a2, e2) {
7328
- var n2 = new Error(a2 || x[r2]);
7329
- if (n2.code = r2, Error.captureStackTrace && Error.captureStackTrace(n2, T), !e2) throw n2;
7409
+ for (var n2 = r2[0], a2 = 1; a2 < r2.length; ++a2) r2[a2] > n2 && (n2 = r2[a2]);
7330
7410
  return n2;
7331
- }, E = function(a2, e2, f2, o2) {
7332
- var l2 = a2.length, c2 = o2 ? o2.length : 0;
7333
- if (!l2 || e2.f && !e2.l) return f2 || new r(0);
7334
- var d2 = !f2, w2 = d2 || 2 != e2.i, s2 = e2.i;
7411
+ }, k = function(r2, n2, a2) {
7412
+ var e2 = n2 / 8 | 0;
7413
+ return (r2[e2] | r2[e2 + 1] << 8) >> (7 & n2) & a2;
7414
+ }, m = function(r2, n2) {
7415
+ var a2 = n2 / 8 | 0;
7416
+ return (r2[a2] | r2[a2 + 1] << 8 | r2[a2 + 2] << 16) >> (7 & n2);
7417
+ }, x = function(r2) {
7418
+ return (r2 + 7) / 8 | 0;
7419
+ }, T = ["unexpected EOF", "invalid block type", "invalid length/literal", "invalid distance", "stream finished", "no stream handler", , "no callback", "invalid UTF-8 data", "extra field too long", "date not in range 1980-2099", "filename too long", "stream finishing", "invalid zip data"], E = function(r2, n2, a2) {
7420
+ var e2 = new Error(n2 || T[r2]);
7421
+ if (e2.code = r2, Error.captureStackTrace && Error.captureStackTrace(e2, E), !a2) throw e2;
7422
+ return e2;
7423
+ }, z = function(n2, a2, f2, o2) {
7424
+ var l2 = n2.length, c2 = o2 ? o2.length : 0;
7425
+ if (!l2 || a2.f && !a2.l) return f2 || new r(0);
7426
+ var d2 = !f2, w2 = d2 || 2 != a2.i, s2 = a2.i;
7335
7427
  d2 && (f2 = new r(3 * l2));
7336
- var h2 = function(a3) {
7337
- var e3 = f2.length;
7338
- if (a3 > e3) {
7339
- var n2 = new r(Math.max(2 * e3, a3));
7340
- n2.set(f2), f2 = n2;
7428
+ var h2 = function(n3) {
7429
+ var a3 = f2.length;
7430
+ if (n3 > a3) {
7431
+ var e2 = new r(Math.max(2 * a3, n3));
7432
+ e2.set(f2), f2 = e2;
7341
7433
  }
7342
- }, x2 = e2.f || 0, E2 = e2.p || 0, z2 = e2.b || 0, A2 = e2.l, U2 = e2.d, D2 = e2.m, F2 = e2.n, M2 = 8 * l2;
7434
+ }, T2 = a2.f || 0, z2 = a2.p || 0, A2 = a2.b || 0, U2 = a2.l, D2 = a2.d, F2 = a2.m, M2 = a2.n, S2 = 8 * l2;
7343
7435
  do {
7344
- if (!A2) {
7345
- x2 = k(a2, E2, 1);
7346
- var S2 = k(a2, E2 + 1, 3);
7347
- if (E2 += 3, !S2) {
7348
- var I2 = a2[(N2 = 4 + ((E2 + 7) / 8 | 0)) - 4] | a2[N2 - 3] << 8, O2 = N2 + I2;
7349
- if (O2 > l2) {
7350
- s2 && T(0);
7436
+ if (!U2) {
7437
+ T2 = k(n2, z2, 1);
7438
+ var I2 = k(n2, z2 + 1, 3);
7439
+ if (z2 += 3, !I2) {
7440
+ var O2 = n2[(P2 = x(z2) + 4) - 4] | n2[P2 - 3] << 8, j2 = P2 + O2;
7441
+ if (j2 > l2) {
7442
+ s2 && E(0);
7351
7443
  break;
7352
7444
  }
7353
- w2 && h2(z2 + I2), f2.set(a2.subarray(N2, O2), z2), e2.b = z2 += I2, e2.p = E2 = 8 * O2, e2.f = x2;
7445
+ w2 && h2(A2 + O2), f2.set(n2.subarray(P2, j2), A2), a2.b = A2 += O2, a2.p = z2 = 8 * j2, a2.f = T2;
7354
7446
  continue;
7355
7447
  }
7356
- if (1 == S2) A2 = y, U2 = g, D2 = 9, F2 = 5;
7357
- else if (2 == S2) {
7358
- var j2 = k(a2, E2, 31) + 257, q2 = k(a2, E2 + 10, 15) + 4, B2 = j2 + k(a2, E2 + 5, 31) + 1;
7359
- E2 += 14;
7360
- for (var C2 = new r(B2), G2 = new r(19), H2 = 0; H2 < q2; ++H2) G2[t[H2]] = k(a2, E2 + 3 * H2, 7);
7361
- E2 += 3 * q2;
7362
- var J2 = p(G2), K2 = (1 << J2) - 1, L2 = b(G2, J2);
7363
- for (H2 = 0; H2 < B2; ) {
7364
- var N2, P2 = L2[k(a2, E2, K2)];
7365
- if (E2 += 15 & P2, (N2 = P2 >> 4) < 16) C2[H2++] = N2;
7448
+ if (1 == I2) U2 = y, D2 = g, F2 = 9, M2 = 5;
7449
+ else if (2 == I2) {
7450
+ var q2 = k(n2, z2, 31) + 257, B2 = k(n2, z2 + 10, 15) + 4, C2 = q2 + k(n2, z2 + 5, 31) + 1;
7451
+ z2 += 14;
7452
+ for (var G2 = new r(C2), H2 = new r(19), J2 = 0; J2 < B2; ++J2) H2[t[J2]] = k(n2, z2 + 3 * J2, 7);
7453
+ z2 += 3 * B2;
7454
+ var K2 = p(H2), L2 = (1 << K2) - 1, N2 = b(H2, K2);
7455
+ for (J2 = 0; J2 < C2; ) {
7456
+ var P2, Q2 = N2[k(n2, z2, L2)];
7457
+ if (z2 += 15 & Q2, (P2 = Q2 >> 4) < 16) G2[J2++] = P2;
7366
7458
  else {
7367
- var Q2 = 0, R2 = 0;
7368
- for (16 == N2 ? (R2 = 3 + k(a2, E2, 3), E2 += 2, Q2 = C2[H2 - 1]) : 17 == N2 ? (R2 = 3 + k(a2, E2, 7), E2 += 3) : 18 == N2 && (R2 = 11 + k(a2, E2, 127), E2 += 7); R2--; ) C2[H2++] = Q2;
7459
+ var R2 = 0, V2 = 0;
7460
+ for (16 == P2 ? (V2 = 3 + k(n2, z2, 3), z2 += 2, R2 = G2[J2 - 1]) : 17 == P2 ? (V2 = 3 + k(n2, z2, 7), z2 += 3) : 18 == P2 && (V2 = 11 + k(n2, z2, 127), z2 += 7); V2--; ) G2[J2++] = R2;
7369
7461
  }
7370
7462
  }
7371
- var V2 = C2.subarray(0, j2), W2 = C2.subarray(j2);
7372
- D2 = p(V2), F2 = p(W2), A2 = b(V2, D2), U2 = b(W2, F2);
7373
- } else T(1);
7374
- if (E2 > M2) {
7375
- s2 && T(0);
7463
+ var W2 = G2.subarray(0, q2), X2 = G2.subarray(q2);
7464
+ F2 = p(W2), M2 = p(X2), U2 = b(W2, F2), D2 = b(X2, M2);
7465
+ } else E(1);
7466
+ if (z2 > S2) {
7467
+ s2 && E(0);
7376
7468
  break;
7377
7469
  }
7378
7470
  }
7379
- w2 && h2(z2 + 131072);
7380
- for (var X2 = (1 << D2) - 1, Y2 = (1 << F2) - 1, Z2 = E2; ; Z2 = E2) {
7381
- var $2 = (Q2 = A2[m(a2, E2) & X2]) >> 4;
7382
- if ((E2 += 15 & Q2) > M2) {
7383
- s2 && T(0);
7471
+ w2 && h2(A2 + 131072);
7472
+ for (var Y2 = (1 << F2) - 1, Z2 = (1 << M2) - 1, $2 = z2; ; $2 = z2) {
7473
+ var _2 = (R2 = U2[m(n2, z2) & Y2]) >> 4;
7474
+ if ((z2 += 15 & R2) > S2) {
7475
+ s2 && E(0);
7384
7476
  break;
7385
7477
  }
7386
- if (Q2 || T(2), $2 < 256) f2[z2++] = $2;
7478
+ if (R2 || E(2), _2 < 256) f2[A2++] = _2;
7387
7479
  else {
7388
- if (256 == $2) {
7389
- Z2 = E2, A2 = null;
7480
+ if (256 == _2) {
7481
+ $2 = z2, U2 = null;
7390
7482
  break;
7391
7483
  }
7392
- var _2 = $2 - 254;
7393
- if ($2 > 264) {
7394
- var rr = n[H2 = $2 - 257];
7395
- _2 = k(a2, E2, (1 << rr) - 1) + v[H2], E2 += rr;
7484
+ var rr = _2 - 254;
7485
+ if (_2 > 264) {
7486
+ var nr = e[J2 = _2 - 257];
7487
+ rr = k(n2, z2, (1 << nr) - 1) + v[J2], z2 += nr;
7396
7488
  }
7397
- var ar = U2[m(a2, E2) & Y2], er = ar >> 4;
7398
- ar || T(3), E2 += 15 & ar;
7399
- W2 = u[er];
7489
+ var ar = D2[m(n2, z2) & Z2], er = ar >> 4;
7490
+ ar || E(3), z2 += 15 & ar;
7491
+ X2 = u[er];
7400
7492
  if (er > 3) {
7401
- rr = i[er];
7402
- W2 += m(a2, E2) & (1 << rr) - 1, E2 += rr;
7493
+ nr = i[er];
7494
+ X2 += m(n2, z2) & (1 << nr) - 1, z2 += nr;
7403
7495
  }
7404
- if (E2 > M2) {
7405
- s2 && T(0);
7496
+ if (z2 > S2) {
7497
+ s2 && E(0);
7406
7498
  break;
7407
7499
  }
7408
- w2 && h2(z2 + 131072);
7409
- var nr = z2 + _2;
7410
- if (z2 < W2) {
7411
- var ir = c2 - W2, tr = Math.min(W2, nr);
7412
- for (ir + z2 < 0 && T(3); z2 < tr; ++z2) f2[z2] = o2[ir + z2];
7500
+ w2 && h2(A2 + 131072);
7501
+ var ir = A2 + rr;
7502
+ if (A2 < X2) {
7503
+ var tr = c2 - X2, fr = Math.min(X2, ir);
7504
+ for (tr + A2 < 0 && E(3); A2 < fr; ++A2) f2[A2] = o2[tr + A2];
7413
7505
  }
7414
- for (; z2 < nr; ++z2) f2[z2] = f2[z2 - W2];
7506
+ for (; A2 < ir; ++A2) f2[A2] = f2[A2 - X2];
7415
7507
  }
7416
7508
  }
7417
- e2.l = A2, e2.p = Z2, e2.b = z2, e2.f = x2, A2 && (x2 = 1, e2.m = D2, e2.d = U2, e2.n = F2);
7418
- } while (!x2);
7419
- return z2 != f2.length && d2 ? (function(a3, e3, n2) {
7420
- return (null == n2 || n2 > a3.length) && (n2 = a3.length), new r(a3.subarray(e3, n2));
7421
- })(f2, 0, z2) : f2.subarray(0, z2);
7422
- }, z = new r(0);
7423
- function A(r2, a2) {
7424
- return E(r2.subarray((e2 = r2, n2 = a2 && a2.dictionary, (8 != (15 & e2[0]) || e2[0] >> 4 > 7 || (e2[0] << 8 | e2[1]) % 31) && T(6, "invalid zlib data"), (e2[1] >> 5 & 1) == +!n2 && T(6, "invalid zlib data: " + (32 & e2[1] ? "need" : "unexpected") + " dictionary"), 2 + (e2[1] >> 3 & 4)), -4), { i: 2 }, a2 && a2.out, a2 && a2.dictionary);
7425
- var e2, n2;
7426
- }
7427
- var U = "undefined" != typeof TextDecoder && new TextDecoder();
7509
+ a2.l = U2, a2.p = $2, a2.b = A2, a2.f = T2, U2 && (T2 = 1, a2.m = F2, a2.d = D2, a2.n = M2);
7510
+ } while (!T2);
7511
+ return A2 != f2.length && d2 ? (function(n3, a3, e2) {
7512
+ return (null == e2 || e2 > n3.length) && (e2 = n3.length), new r(n3.subarray(a3, e2));
7513
+ })(f2, 0, A2) : f2.subarray(0, A2);
7514
+ }, A = new r(0);
7515
+ function U(r2, n2) {
7516
+ return z(r2.subarray((a2 = r2, e2 = n2 && n2.dictionary, (8 != (15 & a2[0]) || a2[0] >> 4 > 7 || (a2[0] << 8 | a2[1]) % 31) && E(6, "invalid zlib data"), (a2[1] >> 5 & 1) == +!e2 && E(6, "invalid zlib data: " + (32 & a2[1] ? "need" : "unexpected") + " dictionary"), 2 + (a2[1] >> 3 & 4)), -4), { i: 2 }, n2 && n2.out, n2 && n2.dictionary);
7517
+ var a2, e2;
7518
+ }
7519
+ var D = "undefined" != typeof TextDecoder && new TextDecoder();
7428
7520
  try {
7429
- U.decode(z, { stream: true });
7521
+ D.decode(A, { stream: true });
7430
7522
  } catch (r2) {
7431
7523
  }
7432
7524
  const fflate = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
7433
7525
  __proto__: null,
7434
- unzlibSync: A
7526
+ unzlibSync: U
7435
7527
  }, Symbol.toStringTag, { value: "Module" }));
7436
7528
  const parseViewport = (str) => {
7437
7529
  var _a, _b;
@@ -8946,10 +9038,11 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
8946
9038
  const { lang } = inherited;
8947
9039
  if (lang) ssml.documentElement.setAttributeNS(NS.XML, "lang", lang);
8948
9040
  const convert = (node, parent, inheritedAlphabet) => {
9041
+ var _a, _b, _c;
8949
9042
  if (!node) return;
8950
9043
  if (node.nodeType === 3) return ssml.createTextNode(node.textContent);
8951
9044
  if (node.nodeType === 4) return ssml.createCDATASection(node.textContent);
8952
- if (node.nodeType !== 1) return;
9045
+ if (node.nodeType !== 1 && node.nodeType !== 11) return;
8953
9046
  let el;
8954
9047
  const nodeName = node.nodeName.toLowerCase();
8955
9048
  if (nodeName === "foliate-mark") {
@@ -8959,14 +9052,14 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
8959
9052
  el = ssml.createElementNS(NS.SSML, "break");
8960
9053
  else if (nodeName === "em" || nodeName === "strong")
8961
9054
  el = ssml.createElementNS(NS.SSML, "emphasis");
8962
- const lang2 = node.lang || node.getAttributeNS(NS.XML, "lang");
9055
+ const lang2 = node.lang || ((_a = node.getAttributeNS) == null ? void 0 : _a.call(node, NS.XML, "lang"));
8963
9056
  if (lang2) {
8964
9057
  if (!el) el = ssml.createElementNS(NS.SSML, "lang");
8965
9058
  el.setAttributeNS(NS.XML, "lang", lang2);
8966
9059
  }
8967
- const alphabet = node.getAttributeNS(NS.SSML, "alphabet") || inheritedAlphabet;
9060
+ const alphabet = ((_b = node.getAttributeNS) == null ? void 0 : _b.call(node, NS.SSML, "alphabet")) || inheritedAlphabet;
8968
9061
  if (!el) {
8969
- const ph = node.getAttributeNS(NS.SSML, "ph");
9062
+ const ph = (_c = node.getAttributeNS) == null ? void 0 : _c.call(node, NS.SSML, "ph");
8970
9063
  if (ph) {
8971
9064
  el = ssml.createElementNS(NS.SSML, "phoneme");
8972
9065
  if (alphabet) el.setAttribute("alphabet", alphabet);
@@ -8982,7 +9075,7 @@ body:not(.notesBodyType) > .title, body:not(.notesBodyType) > .epigraph {
8982
9075
  }
8983
9076
  return el;
8984
9077
  };
8985
- convert(fragment.firstChild, ssml.documentElement, inherited.alphabet);
9078
+ convert(fragment, ssml.documentElement, inherited.alphabet);
8986
9079
  return ssml;
8987
9080
  };
8988
9081
  const getFragmentWithMarks = (range, textWalker2, granularity) => {