@readium/navigator 2.0.0-beta.6 → 2.0.0-beta.8

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.
package/dist/index.js CHANGED
@@ -26,7 +26,7 @@ let jA = class Ze {
26
26
  return this.compression !== void 0 && (t.compression = this.compression), this.originalLength !== void 0 && (t.originalLength = this.originalLength), this.profile !== void 0 && (t.profile = this.profile), this.scheme !== void 0 && (t.scheme = this.scheme), t;
27
27
  }
28
28
  };
29
- class C {
29
+ class R {
30
30
  constructor(t) {
31
31
  this.otherProperties = t;
32
32
  }
@@ -35,7 +35,7 @@ class C {
35
35
  */
36
36
  static deserialize(t) {
37
37
  if (t)
38
- return new C(t);
38
+ return new R(t);
39
39
  }
40
40
  /**
41
41
  * Serializes a [Properties] to its RWPM JSON representation.
@@ -50,19 +50,19 @@ class C {
50
50
  const e = Object.assign({}, this.otherProperties);
51
51
  for (const A in t)
52
52
  e[A] = t[A];
53
- return new C(e);
53
+ return new R(e);
54
54
  }
55
55
  }
56
- Object.defineProperty(C.prototype, "encryption", {
56
+ Object.defineProperty(R.prototype, "encryption", {
57
57
  get: function() {
58
58
  return jA.deserialize(this.otherProperties.encrypted);
59
59
  }
60
60
  });
61
- var B = /* @__PURE__ */ ((n) => (n.fixed = "fixed", n.reflowable = "reflowable", n))(B || {}), it = /* @__PURE__ */ ((n) => (n.auto = "auto", n.landscape = "landscape", n.portrait = "portrait", n))(it || {}), J = /* @__PURE__ */ ((n) => (n.left = "left", n.right = "right", n.center = "center", n))(J || {}), yt = /* @__PURE__ */ ((n) => (n.auto = "auto", n.both = "both", n.none = "none", n.landscape = "landscape", n))(yt || {});
62
- C.prototype.getContains = function() {
61
+ var p = /* @__PURE__ */ ((n) => (n.fixed = "fixed", n.reflowable = "reflowable", n))(p || {}), it = /* @__PURE__ */ ((n) => (n.auto = "auto", n.landscape = "landscape", n.portrait = "portrait", n))(it || {}), J = /* @__PURE__ */ ((n) => (n.left = "left", n.right = "right", n.center = "center", n))(J || {}), yt = /* @__PURE__ */ ((n) => (n.auto = "auto", n.both = "both", n.none = "none", n.landscape = "landscape", n))(yt || {});
62
+ R.prototype.getContains = function() {
63
63
  return new Set(this.otherProperties.contains || []);
64
64
  };
65
- C.prototype.getLayout = function() {
65
+ R.prototype.getLayout = function() {
66
66
  return this.otherProperties.layout;
67
67
  };
68
68
  class d {
@@ -77,21 +77,21 @@ class d {
77
77
  throw new Error("Invalid media type");
78
78
  const s = {};
79
79
  for (let g = 1; g < i.length; g++) {
80
- const M = i[g].split("=");
81
- if (M.length === 2) {
82
- const m = M[0].toLocaleLowerCase(), p = m === "charset" ? M[1].toUpperCase() : M[1];
83
- s[m] = p;
80
+ const m = i[g].split("=");
81
+ if (m.length === 2) {
82
+ const M = m[0].toLocaleLowerCase(), B = M === "charset" ? m[1].toUpperCase() : m[1];
83
+ s[M] = B;
84
84
  }
85
85
  }
86
86
  const o = {}, a = Object.keys(s);
87
- a.sort((g, M) => g.localeCompare(M)), a.forEach((g) => o[g] = s[g]);
88
- let h = "";
87
+ a.sort((g, m) => g.localeCompare(m)), a.forEach((g) => o[g] = s[g]);
88
+ let l = "";
89
89
  for (const g in o) {
90
- const M = o[g];
91
- h += `;${g}=${M}`;
90
+ const m = o[g];
91
+ l += `;${g}=${m}`;
92
92
  }
93
- const l = `${e}/${A}${h}`, c = o.encoding;
94
- this.string = l, this.type = e, this.subtype = A, this.parameters = o, this.encoding = c, this.name = t.name, this.fileExtension = t.fileExtension;
93
+ const h = `${e}/${A}${l}`, c = o.encoding;
94
+ this.string = h, this.type = e, this.subtype = A, this.parameters = o, this.encoding = c, this.name = t.name, this.fileExtension = t.fileExtension;
95
95
  }
96
96
  static parse(t) {
97
97
  return new d(t);
@@ -520,7 +520,7 @@ class d {
520
520
  });
521
521
  }
522
522
  }
523
- let Me = class {
523
+ let me = class {
524
524
  constructor(t) {
525
525
  this.uri = t, this.parameters = this.getParameters(t);
526
526
  }
@@ -554,16 +554,16 @@ function VA(n) {
554
554
  function Ke(n) {
555
555
  return n && typeof n == "string" ? [n] : VA(n);
556
556
  }
557
- function me(n) {
557
+ function Me(n) {
558
558
  return typeof n == "string" ? new Date(n) : void 0;
559
559
  }
560
560
  function wt(n) {
561
561
  return isNaN(n) ? void 0 : n;
562
562
  }
563
- function D(n) {
563
+ function P(n) {
564
564
  return wt(n) !== void 0 && Math.sign(n) >= 0 ? n : void 0;
565
565
  }
566
- function DA(n) {
566
+ function PA(n) {
567
567
  const t = new Array();
568
568
  return n.forEach((e) => t.push(e)), t;
569
569
  }
@@ -604,7 +604,7 @@ let H = class qe {
604
604
  const t = {};
605
605
  return this.fragments && (t.fragments = this.fragments), this.progression !== void 0 && (t.progression = this.progression), this.totalProgression !== void 0 && (t.totalProgression = this.totalProgression), this.position !== void 0 && (t.position = this.position), this.otherLocations && this.otherLocations.forEach((e, A) => t[A] = e), t;
606
606
  }
607
- }, bA = class _e {
607
+ }, DA = class _e {
608
608
  /**
609
609
  * Creates a [Text].
610
610
  */
@@ -647,7 +647,7 @@ class dt {
647
647
  type: t.type,
648
648
  title: t.title,
649
649
  locations: H.deserialize(t.locations),
650
- text: bA.deserialize(t.text)
650
+ text: DA.deserialize(t.text)
651
651
  });
652
652
  }
653
653
  /**
@@ -688,11 +688,11 @@ class X {
688
688
  type: t.type,
689
689
  title: t.title,
690
690
  rels: t.rel ? t.rel instanceof Array ? new Set(t.rel) : /* @__PURE__ */ new Set([t.rel]) : void 0,
691
- properties: C.deserialize(t.properties),
692
- height: D(t.height),
693
- width: D(t.width),
694
- duration: D(t.duration),
695
- bitrate: D(t.bitrate),
691
+ properties: R.deserialize(t.properties),
692
+ height: P(t.height),
693
+ width: P(t.width),
694
+ duration: P(t.duration),
695
+ bitrate: P(t.bitrate),
696
696
  languages: Ke(t.language),
697
697
  alternates: fe.deserialize(t.alternate),
698
698
  children: fe.deserialize(t.children)
@@ -703,7 +703,7 @@ class X {
703
703
  */
704
704
  serialize() {
705
705
  const t = { href: this.href };
706
- return this.templated !== void 0 && (t.templated = this.templated), this.type !== void 0 && (t.type = this.type), this.title !== void 0 && (t.title = this.title), this.rels && (t.rel = DA(this.rels)), this.properties && (t.properties = this.properties.serialize()), this.height !== void 0 && (t.height = this.height), this.width !== void 0 && (t.width = this.width), this.duration !== void 0 && (t.duration = this.duration), this.bitrate !== void 0 && (t.bitrate = this.bitrate), this.languages && (t.language = this.languages), this.alternates && (t.alternate = this.alternates.serialize()), this.children && (t.children = this.children.serialize()), t;
706
+ return this.templated !== void 0 && (t.templated = this.templated), this.type !== void 0 && (t.type = this.type), this.title !== void 0 && (t.title = this.title), this.rels && (t.rel = PA(this.rels)), this.properties && (t.properties = this.properties.serialize()), this.height !== void 0 && (t.height = this.height), this.width !== void 0 && (t.width = this.width), this.duration !== void 0 && (t.duration = this.duration), this.bitrate !== void 0 && (t.bitrate = this.bitrate), this.languages && (t.language = this.languages), this.alternates && (t.alternate = this.alternates.serialize()), this.children && (t.children = this.children.serialize()), t;
707
707
  }
708
708
  /** MediaType of the linked resource. */
709
709
  get mediaType() {
@@ -721,14 +721,14 @@ class X {
721
721
  }
722
722
  /** List of URI template parameter keys, if the `Link` is templated. */
723
723
  get templateParameters() {
724
- return this.templated ? new Me(this.href).parameters : /* @__PURE__ */ new Set();
724
+ return this.templated ? new me(this.href).parameters : /* @__PURE__ */ new Set();
725
725
  }
726
726
  /** Expands the `Link`'s HREF by replacing URI template variables by the given parameters.
727
727
  * See RFC 6570 on URI template: https://tools.ietf.org/html/rfc6570
728
728
  */
729
729
  expandTemplate(t) {
730
730
  return new X({
731
- href: new Me(this.href).expand(t),
731
+ href: new me(this.href).expand(t),
732
732
  templated: !1
733
733
  });
734
734
  }
@@ -738,7 +738,7 @@ class X {
738
738
  addProperties(t) {
739
739
  var e;
740
740
  const A = X.deserialize(this.serialize());
741
- return A.properties = A.properties ? (e = A.properties) == null ? void 0 : e.add(t) : new C(t), A;
741
+ return A.properties = A.properties ? (e = A.properties) == null ? void 0 : e.add(t) : new R(t), A;
742
742
  }
743
743
  /**
744
744
  * Creates a [Locator] from a reading order [Link].
@@ -861,11 +861,11 @@ let fe = class $e {
861
861
  static deserialize(t) {
862
862
  if (!(t && t.cssSelector))
863
863
  return;
864
- let e = D(t.textNodeIndex);
864
+ let e = P(t.textNodeIndex);
865
865
  if (e === void 0)
866
866
  return;
867
- let A = D(t.charOffset);
868
- return A === void 0 && (A = D(t.offset)), new tA({
867
+ let A = P(t.charOffset);
868
+ return A === void 0 && (A = P(t.offset)), new tA({
869
869
  cssSelector: t.cssSelector,
870
870
  textNodeIndex: e,
871
871
  charOffset: A
@@ -881,7 +881,7 @@ let fe = class $e {
881
881
  };
882
882
  return this.charOffset !== void 0 && (t.charOffset = this.charOffset), t;
883
883
  }
884
- }, PA = class eA {
884
+ }, bA = class eA {
885
885
  /**
886
886
  * Creates a [DomRange].
887
887
  */
@@ -919,7 +919,7 @@ H.prototype.getPartialCfi = function() {
919
919
  };
920
920
  H.prototype.getDomRange = function() {
921
921
  var n;
922
- return PA.deserialize((n = this.otherLocations) == null ? void 0 : n.get("domRange"));
922
+ return bA.deserialize((n = this.otherLocations) == null ? void 0 : n.get("domRange"));
923
923
  };
924
924
  H.prototype.fragmentParameters = function() {
925
925
  return new Map(
@@ -971,7 +971,7 @@ let vA = class AA {
971
971
  let e = t.currency;
972
972
  if (!(e && typeof e == "string" && e.length > 0))
973
973
  return;
974
- let A = D(t.value);
974
+ let A = P(t.value);
975
975
  if (A !== void 0)
976
976
  return new AA({ currency: e, value: A });
977
977
  }
@@ -1019,8 +1019,8 @@ class te {
1019
1019
  static deserialize(t) {
1020
1020
  if (t)
1021
1021
  return new te({
1022
- total: D(t.total),
1023
- position: D(t.position)
1022
+ total: P(t.total),
1023
+ position: P(t.position)
1024
1024
  });
1025
1025
  }
1026
1026
  /**
@@ -1042,8 +1042,8 @@ class ee {
1042
1042
  static deserialize(t) {
1043
1043
  if (t)
1044
1044
  return new ee({
1045
- total: D(t.total),
1046
- available: D(t.available)
1045
+ total: P(t.total),
1046
+ available: P(t.available)
1047
1047
  });
1048
1048
  }
1049
1049
  /**
@@ -1066,8 +1066,8 @@ let HA = class iA {
1066
1066
  if (t && t.state)
1067
1067
  return new iA({
1068
1068
  state: t.state,
1069
- since: me(t.since),
1070
- until: me(t.until)
1069
+ since: Me(t.since),
1070
+ until: Me(t.until)
1071
1071
  });
1072
1072
  }
1073
1073
  /**
@@ -1078,61 +1078,61 @@ let HA = class iA {
1078
1078
  return this.since !== void 0 && (t.since = this.since.toISOString()), this.until !== void 0 && (t.until = this.until.toISOString()), t;
1079
1079
  }
1080
1080
  };
1081
- C.prototype.getNumberOfItems = function() {
1082
- return D(this.otherProperties.numberOfItems);
1081
+ R.prototype.getNumberOfItems = function() {
1082
+ return P(this.otherProperties.numberOfItems);
1083
1083
  };
1084
- C.prototype.getPrice = function() {
1084
+ R.prototype.getPrice = function() {
1085
1085
  return vA.deserialize(this.otherProperties.price);
1086
1086
  };
1087
- C.prototype.getIndirectAcquisitions = function() {
1087
+ R.prototype.getIndirectAcquisitions = function() {
1088
1088
  const n = this.otherProperties.indirectAcquisition;
1089
1089
  if (n && n instanceof Array)
1090
1090
  return n.map((t) => GA.deserialize(t)).filter((t) => t !== void 0);
1091
1091
  };
1092
- C.prototype.getHolds = function() {
1092
+ R.prototype.getHolds = function() {
1093
1093
  return te.deserialize(this.otherProperties.holds);
1094
1094
  };
1095
- C.prototype.getCopies = function() {
1095
+ R.prototype.getCopies = function() {
1096
1096
  return ee.deserialize(this.otherProperties.copies);
1097
1097
  };
1098
- C.prototype.getAvailability = function() {
1098
+ R.prototype.getAvailability = function() {
1099
1099
  return HA.deserialize(this.otherProperties.availability);
1100
1100
  };
1101
- C.prototype.getAuthenticate = function() {
1101
+ R.prototype.getAuthenticate = function() {
1102
1102
  return X.deserialize(this.otherProperties.authenticate);
1103
1103
  };
1104
1104
  var I = /* @__PURE__ */ ((n) => (n.auto = "auto", n.btt = "btt", n.ltr = "ltr", n.rtl = "rtl", n.ttb = "ttb", n))(I || {});
1105
- C.prototype.getClipped = function() {
1105
+ R.prototype.getClipped = function() {
1106
1106
  return this.otherProperties.clipped;
1107
1107
  };
1108
- C.prototype.getFit = function() {
1108
+ R.prototype.getFit = function() {
1109
1109
  return this.otherProperties.fit;
1110
1110
  };
1111
- C.prototype.getOrientation = function() {
1111
+ R.prototype.getOrientation = function() {
1112
1112
  return this.otherProperties.orientation;
1113
1113
  };
1114
- C.prototype.getOverflow = function() {
1114
+ R.prototype.getOverflow = function() {
1115
1115
  return this.otherProperties.overflow;
1116
1116
  };
1117
- C.prototype.getPage = function() {
1117
+ R.prototype.getPage = function() {
1118
1118
  return this.otherProperties.page || void 0;
1119
1119
  };
1120
- C.prototype.getSpread = function() {
1120
+ R.prototype.getSpread = function() {
1121
1121
  return this.otherProperties.spread || void 0;
1122
1122
  };
1123
1123
  var K;
1124
1124
  (function(n) {
1125
1125
  n.NONE = "none", n.DESCENDANT = "descendant", n.CHILD = "child";
1126
1126
  })(K || (K = {}));
1127
- var P;
1127
+ var b;
1128
1128
  (function(n) {
1129
1129
  n.id = "id", n.class = "class", n.tag = "tag", n.attribute = "attribute", n.nthchild = "nthchild", n.nthoftype = "nthoftype";
1130
- })(P || (P = {}));
1130
+ })(b || (b = {}));
1131
1131
  const kA = "CssSelectorGenerator";
1132
1132
  function Be(n = "unknown problem", ...t) {
1133
1133
  console.warn(`${kA}: ${n}`, ...t);
1134
1134
  }
1135
- P.id, P.class, P.tag, P.attribute, Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY;
1135
+ b.id, b.class, b.tag, b.attribute, Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY;
1136
1136
  function JA(n) {
1137
1137
  return n instanceof RegExp;
1138
1138
  }
@@ -1158,7 +1158,7 @@ function LA(n) {
1158
1158
  }
1159
1159
  const OA = "", XA = " > ", ZA = " ";
1160
1160
  K.NONE + "", K.NONE, K.DESCENDANT + "", K.DESCENDANT, K.CHILD + "", K.CHILD;
1161
- P.nthoftype, P.tag, P.id, P.class, P.attribute, P.nthchild;
1161
+ b.nthoftype, b.tag, b.id, b.class, b.attribute, b.nthchild;
1162
1162
  LA([
1163
1163
  "class",
1164
1164
  "id",
@@ -1181,10 +1181,10 @@ class qA extends KA {
1181
1181
  this.readingProgression === I.ltr || this.readingProgression === I.ttb || this.readingProgression === I.auto ? this.goForward(t, e) : (this.readingProgression === I.rtl || this.readingProgression === I.btt) && this.goBackward(t, e);
1182
1182
  }
1183
1183
  }
1184
- const _A = `@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);:root{--RS__viewportWidth:100%;--RS__pageGutter:0;--RS__defaultLineLength:40rem;--RS__colGap:0;--RS__colCount:1;--RS__colWidth:100vw}@page{margin:0!important}:root{position:relative;-webkit-column-width:var(--RS__colWidth);-moz-column-width:var(--RS__colWidth);column-width:var(--RS__colWidth);-webkit-column-count:var(--RS__colCount);-moz-column-count:var(--RS__colCount);column-count:var(--RS__colCount);-webkit-column-gap:var(--RS__colGap);-moz-column-gap:var(--RS__colGap);column-gap:var(--RS__colGap);-moz-column-fill:auto;column-fill:auto;width:var(--RS__viewportWidth);height:100vh;max-width:var(--RS__viewportWidth);max-height:100vh;min-width:var(--RS__viewportWidth);min-height:100vh;padding:0!important;margin:0!important;font-size:1rem!important;box-sizing:border-box;-webkit-touch-callout:none}body{width:100%;max-width:var(--RS__defaultLineLength)!important;padding:0 var(--RS__pageGutter)!important;margin:0 auto!important;box-sizing:border-box}:root:not([style*=readium-noOverflow-on]) body{overflow:hidden}@supports (overflow: clip){:root:not([style*=readium-noOverflow-on]){overflow:clip}:root:not([style*=readium-noOverflow-on]) body{overflow:clip;overflow-clip-margin:content-box}}:root[style*=readium-scroll-on]{-webkit-columns:auto auto!important;-moz-columns:auto auto!important;columns:auto auto!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important}:root[style*=readium-scroll-on] body{max-width:var(--RS__defaultLineLength)!important}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:auto}@supports (overflow: clip){:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]){overflow:auto}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:clip}}:root[style*=readium-night-on]{--RS__selectionTextColor:inherit;--RS__selectionBackgroundColor:#b4d8fe;--RS__visitedColor:#0099E5;--RS__linkColor:#63caff;--RS__textColor:#FEFEFE;--RS__backgroundColor:#000000}:root[style*=readium-night-on] *:not(a){color:inherit!important;background-color:transparent!important;border-color:currentcolor!important}:root[style*=readium-night-on] svg text{fill:currentcolor!important;stroke:none!important}:root[style*=readium-night-on] a:link,:root[style*=readium-night-on] a:link *{color:var(--RS__linkColor)!important}:root[style*=readium-night-on] a:visited,:root[style*=readium-night-on] a:visited *{color:var(--RS__visitedColor)!important}:root[style*=readium-night-on] img[class*=gaiji],:root[style*=readium-night-on] *[epub\\:type~=titlepage] img:only-child,:root[style*=readium-night-on] *[epub|type~=titlepage] img:only-child{-webkit-filter:invert(100%);filter:invert(100%)}:root[style*=readium-sepia-on]{--RS__selectionTextColor:inherit;--RS__selectionBackgroundColor:#b4d8fe;--RS__visitedColor:#551A8B;--RS__linkColor:#0000EE;--RS__textColor:#121212;--RS__backgroundColor:#faf4e8}:root[style*=readium-sepia-on] *:not(a){color:inherit!important;background-color:transparent!important}:root[style*=readium-sepia-on] a:link,:root[style*=readium-sepia-on] a:link *{color:var(--RS__linkColor)}:root[style*=readium-sepia-on] a:visited,:root[style*=readium-sepia-on] a:visited *{color:var(--RS__visitedColor)}@media screen and (-ms-high-contrast: active){:root{color:windowText!important;background-color:window!important}:root :not(#\\#):not(#\\#):not(#\\#),:root :not(#\\#):not(#\\#):not(#\\#) :not(#\\#):not(#\\#):not(#\\#) :root :not(#\\#):not(#\\#):not(#\\#) :not(#\\#):not(#\\#):not(#\\#) :not(#\\#):not(#\\#):not(#\\#){color:inherit!important;background-color:inherit!important}.readiumCSS-mo-active-default{color:highlightText!important;background-color:highlight!important}}@media screen and (-ms-high-contrast: white-on-black){:root[style*=readium-night-on] img[class*=gaiji],:root[style*=readium-night-on] *[epub\\:type~=titlepage] img:only-child,:root[style*=readium-night-on] *[epub|type~=titlepage] img:only-child{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-invert-on] img{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%);filter:brightness(80%)}}@media screen and (inverted-colors){:root[style*=readium-night-on] img[class*=gaiji],:root[style*=readium-night-on] *[epub\\:type~=titlepage] img:only-child,:root[style*=readium-night-on] *[epub|type~=titlepage] img:only-child{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-invert-on] img{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%);filter:brightness(80%)}}:root[style*=--USER__backgroundColor]{background-color:var(--USER__backgroundColor)!important}:root[style*=--USER__backgroundColor] *{background-color:transparent!important}:root[style*=--USER__textColor]{color:var(--USER__textColor)!important}:root[style*=--USER__textColor] *:not(a){color:inherit!important;background-color:transparent!important;border-color:currentcolor!important}:root[style*=--USER__textColor] svg text{fill:currentcolor!important;stroke:none!important}:root[style*=--USER__linkColor] a:link,:root[style*=--USER__linkColor] a:link *{color:var(--USER__linkColor)!important}:root[style*=--USER__visitedColor] a:visited,:root[style*=--USER__visitedColor] a:visited *{color:var(--USER__visitedColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::-moz-selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__colCount]{-webkit-column-count:var(--USER__colCount);-moz-column-count:var(--USER__colCount);column-count:var(--USER__colCount);--RS__colWidth:auto}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"]{-webkit-column-count:1;-moz-column-count:1;column-count:1}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"],:root[style*="--USER__colCount: 1"],:root[style*="--USER__colCount:1"]{--RS__colWidth:100vw}:root[style*=--USER__lineLength] body{max-width:var(--USER__lineLength)!important}:root[style*=--USER__textAlign]{text-align:var(--USER__textAlign)}:root[style*=--USER__textAlign] body,:root[style*=--USER__textAlign] p:not(blockquote p):not(figcaption p):not(hgroup p),:root[style*=--USER__textAlign] li,:root[style*=--USER__textAlign] dd{text-align:var(--USER__textAlign)!important;-moz-text-align-last:auto!important;-epub-text-align-last:auto!important;text-align-last:auto!important}:root[style*=--USER__bodyHyphens]{-webkit-hyphens:var(--USER__bodyHyphens)!important;-moz-hyphens:var(--USER__bodyHyphens)!important;-ms-hyphens:var(--USER__bodyHyphens)!important;-epub-hyphens:var(--USER__bodyHyphens)!important;hyphens:var(--USER__bodyHyphens)!important}:root[style*=--USER__bodyHyphens] body,:root[style*=--USER__bodyHyphens] p,:root[style*=--USER__bodyHyphens] li,:root[style*=--USER__bodyHyphens] div,:root[style*=--USER__bodyHyphens] dd{-webkit-hyphens:inherit;-moz-hyphens:inherit;-ms-hyphens:inherit;-epub-hyphens:inherit;hyphens:inherit}:root[style*=--USER__fontFamily]{font-family:var(--USER__fontFamily)!important}:root[style*=--USER__fontFamily] *{font-family:revert!important}:root[style*=AccessibleDfA]{font-family:AccessibleDfA,Verdana,Tahoma,Trebuchet MS,sans-serif!important}:root[style*="IA Writer Duospace"]{font-family:IA Writer Duospace,Menlo,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier,monospace!important}:root[style*=AccessibleDfA],:root[style*="IA Writer Duospace"],:root[style*=readium-a11y-on]{font-style:normal!important;font-weight:400!important}:root[style*=AccessibleDfA] *:not(code):not(var):not(kbd):not(samp),:root[style*="IA Writer Duospace"] *:not(code):not(var):not(kbd):not(samp),:root[style*=readium-a11y-on] *:not(code):not(var):not(kbd):not(samp){font-family:inherit!important;font-style:inherit!important;font-weight:inherit!important}:root[style*=AccessibleDfA] *,:root[style*="IA Writer Duospace"] *,:root[style*=readium-a11y-on] *{text-decoration:none!important;font-variant-caps:normal!important;font-variant-numeric:normal!important;font-variant-position:normal!important}:root[style*=AccessibleDfA] sup,:root[style*="IA Writer Duospace"] sup,:root[style*=readium-a11y-on] sup,:root[style*=AccessibleDfA] sub,:root[style*="IA Writer Duospace"] sub,:root[style*=readium-a11y-on] sub{font-size:1rem!important;vertical-align:baseline!important}:root:not([style*=readium-deprecatedFontSize-on])[style*=--USER__fontSize] body{zoom:var(--USER__fontSize)!important}@supports not (zoom: 1){:root[style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}}:root[style*=readium-deprecatedFontSize-on][style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}:root[style*=--USER__lineHeight]{line-height:var(--USER__lineHeight)!important}:root[style*=--USER__lineHeight] body,:root[style*=--USER__lineHeight] p,:root[style*=--USER__lineHeight] li,:root[style*=--USER__lineHeight] div{line-height:inherit}:root[style*=--USER__paraSpacing] p{margin-top:var(--USER__paraSpacing)!important;margin-bottom:var(--USER__paraSpacing)!important}:root[style*=--USER__paraIndent] p{text-indent:var(--USER__paraIndent)!important}:root[style*=--USER__paraIndent] p *,:root[style*=--USER__paraIndent] p:first-letter{text-indent:0!important}:root[style*=--USER__wordSpacing] h1,:root[style*=--USER__wordSpacing] h2,:root[style*=--USER__wordSpacing] h3,:root[style*=--USER__wordSpacing] h4,:root[style*=--USER__wordSpacing] h5,:root[style*=--USER__wordSpacing] h6,:root[style*=--USER__wordSpacing] p,:root[style*=--USER__wordSpacing] li,:root[style*=--USER__wordSpacing] div,:root[style*=--USER__wordSpacing] dt,:root[style*=--USER__wordSpacing] dd{word-spacing:var(--USER__wordSpacing)}:root[style*=--USER__letterSpacing] h1,:root[style*=--USER__letterSpacing] h2,:root[style*=--USER__letterSpacing] h3,:root[style*=--USER__letterSpacing] h4,:root[style*=--USER__letterSpacing] h5,:root[style*=--USER__letterSpacing] h6,:root[style*=--USER__letterSpacing] p,:root[style*=--USER__letterSpacing] li,:root[style*=--USER__letterSpacing] div,:root[style*=--USER__letterSpacing] dt,:root[style*=--USER__letterSpacing] dd{letter-spacing:var(--USER__letterSpacing);font-variant:none}:root[style*=--USER__fontWeight] body{font-weight:var(--USER__fontWeight)!important}:root[style*=--USER__fontWeight] b,:root[style*=--USER__fontWeight] strong{font-weight:bolder}:root[style*=--USER__fontWidth] body{font-stretch:var(--USER__fontWidth)!important}:root[style*=--USER__fontOpticalSizing] body{font-optical-sizing:var(--USER__fontOpticalSizing)!important}:root[style*=readium-blend-on] svg,:root[style*=readium-blend-on] img{background-color:transparent!important;mix-blend-mode:multiply!important}:root[style*=--USER__darkenImages] img{-webkit-filter:brightness(var(--USER__darkenImages))!important;filter:brightness(var(--USER__darkenImages))!important}:root[style*=readium-darken-on] img{-webkit-filter:brightness(80%)!important;filter:brightness(80%)!important}:root[style*=--USER__invertImages] img{-webkit-filter:invert(var(--USER__invertImages))!important;filter:invert(var(--USER__invertImages))!important}:root[style*=readium-invert-on] img{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=--USER__darkenImages][style*=--USER__invertImages] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important;filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important}:root[style*=readium-darken-on][style*=--USER__invertImages] img{-webkit-filter:brightness(80%) invert(var(--USER__invertImages))!important;filter:brightness(80%) invert(var(--USER__invertImages))!important}:root[style*=--USER__darkenImages][style*=readium-invert-on] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(100%)!important;filter:brightness(var(--USER__darkenImages)) invert(100%)!important}:root[style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%) invert(100%)!important;filter:brightness(80%) invert(100%)!important}:root[style*=--USER__invertGaiji] img[class*=gaiji]{-webkit-filter:invert(var(--USER__invertGaiji))!important;filter:invert(var(--USER__invertGaiji))!important}:root[style*=readium-invertGaiji-on] img[class*=gaiji]{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=readium-normalize-on]{--USER__typeScale:1.2}:root[style*=readium-normalize-on] p,:root[style*=readium-normalize-on] li,:root[style*=readium-normalize-on] div,:root[style*=readium-normalize-on] pre,:root[style*=readium-normalize-on] dd{font-size:1rem!important}:root[style*=readium-normalize-on] h1{font-size:1.75rem!important;font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h2{font-size:1.5rem!important;font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h3{font-size:1.25rem!important;font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h4,:root[style*=readium-normalize-on] h5,:root[style*=readium-normalize-on] h6{font-size:1rem!important}:root[style*=readium-normalize-on] small{font-size:smaller!important}:root[style*=readium-normalize-on] sub,:root[style*=readium-normalize-on] sup{font-size:67.5%!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h1{font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h2{font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h3{font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-iPadOSPatch-on] body{-webkit-text-size-adjust:none}:root[style*=readium-iPadOSPatch-on] p,:root[style*=readium-iPadOSPatch-on] h1,:root[style*=readium-iPadOSPatch-on] h2,:root[style*=readium-iPadOSPatch-on] h3,:root[style*=readium-iPadOSPatch-on] h4,:root[style*=readium-iPadOSPatch-on] h5,:root[style*=readium-iPadOSPatch-on] h6,:root[style*=readium-iPadOSPatch-on] li,:root[style*=readium-iPadOSPatch-on] th,:root[style*=readium-iPadOSPatch-on] td,:root[style*=readium-iPadOSPatch-on] dt,:root[style*=readium-iPadOSPatch-on] dd,:root[style*=readium-iPadOSPatch-on] pre,:root[style*=readium-iPadOSPatch-on] address,:root[style*=readium-iPadOSPatch-on] details,:root[style*=readium-iPadOSPatch-on] summary,:root[style*=readium-iPadOSPatch-on] figcaption,:root[style*=readium-iPadOSPatch-on] div:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)),:root[style*=readium-iPadOSPatch-on] aside:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)){-webkit-text-zoom:reset}:root[style*=readium-iPadOSPatch-on] abbr,:root[style*=readium-iPadOSPatch-on] b,:root[style*=readium-iPadOSPatch-on] bdi,:root[style*=readium-iPadOSPatch-on] bdo,:root[style*=readium-iPadOSPatch-on] cite,:root[style*=readium-iPadOSPatch-on] code,:root[style*=readium-iPadOSPatch-on] dfn,:root[style*=readium-iPadOSPatch-on] em,:root[style*=readium-iPadOSPatch-on] i,:root[style*=readium-iPadOSPatch-on] kbd,:root[style*=readium-iPadOSPatch-on] mark,:root[style*=readium-iPadOSPatch-on] q,:root[style*=readium-iPadOSPatch-on] rp,:root[style*=readium-iPadOSPatch-on] rt,:root[style*=readium-iPadOSPatch-on] ruby,:root[style*=readium-iPadOSPatch-on] s,:root[style*=readium-iPadOSPatch-on] samp,:root[style*=readium-iPadOSPatch-on] small,:root[style*=readium-iPadOSPatch-on] span,:root[style*=readium-iPadOSPatch-on] strong,:root[style*=readium-iPadOSPatch-on] sub,:root[style*=readium-iPadOSPatch-on] sup,:root[style*=readium-iPadOSPatch-on] time,:root[style*=readium-iPadOSPatch-on] u,:root[style*=readium-iPadOSPatch-on] var{-webkit-text-zoom:normal}:root[style*=readium-iPadOSPatch-on] p:not(:has(b,cite,em,i,q,s,small,span,strong)):first-line{-webkit-text-zoom:normal}
1184
+ const _A = `@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);:root{--RS__viewportWidth:100%;--RS__pageGutter:0;--RS__defaultLineLength:40rem;--RS__colGap:0;--RS__colCount:1;--RS__colWidth:100vw}@page{margin:0!important}:root{position:relative;-webkit-column-width:var(--RS__colWidth);-moz-column-width:var(--RS__colWidth);column-width:var(--RS__colWidth);-webkit-column-count:var(--RS__colCount);-moz-column-count:var(--RS__colCount);column-count:var(--RS__colCount);-webkit-column-gap:var(--RS__colGap);-moz-column-gap:var(--RS__colGap);column-gap:var(--RS__colGap);-moz-column-fill:auto;column-fill:auto;width:var(--RS__viewportWidth);height:100vh;max-width:var(--RS__viewportWidth);max-height:100vh;min-width:var(--RS__viewportWidth);min-height:100vh;padding:0!important;margin:0!important;font-size:1rem!important;box-sizing:border-box;-webkit-touch-callout:none}body{width:100%;max-width:var(--RS__defaultLineLength)!important;padding:0 var(--RS__pageGutter)!important;margin:0 auto!important;box-sizing:border-box}:root:not([style*=readium-noOverflow-on]) body{overflow:hidden}@supports (overflow: clip){:root:not([style*=readium-noOverflow-on]){overflow:clip}:root:not([style*=readium-noOverflow-on]) body{overflow:clip;overflow-clip-margin:content-box}}:root[style*=readium-scroll-on]{-webkit-columns:auto auto!important;-moz-columns:auto auto!important;columns:auto auto!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important}:root[style*=readium-scroll-on] body{max-width:var(--RS__defaultLineLength)!important;box-sizing:border-box!important}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:auto}@supports (overflow: clip){:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]){overflow:auto}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:clip}}:root[style*=readium-scroll-on][style~=--RS__scrollPadding] body{padding:var(--RS__scrollPadding)!important}:root[style*=readium-scroll-on][style~=--RS__scrollPaddingTop] body{padding-top:var(--RS__scrollPaddingTop)!important}:root[style*=readium-scroll-on][style~=--RS__scrollPaddingBottom] body{padding-bottom:var(--RS__scrollPaddingBottom)!important}:root[style*=readium-scroll-on][style~=--RS__scrollPaddingLeft] body{padding-left:var(--RS__scrollPaddingLeft)!important}:root[style*=readium-scroll-on][style~=--RS__scrollPaddingRight] body{padding-right:var(--RS__scrollPaddingRight)!important}:root[style*=readium-night-on]{--RS__selectionTextColor:inherit;--RS__selectionBackgroundColor:#b4d8fe;--RS__visitedColor:#0099E5;--RS__linkColor:#63caff;--RS__textColor:#FEFEFE;--RS__backgroundColor:#000000}:root[style*=readium-night-on] *:not(a){color:inherit!important;background-color:transparent!important;border-color:currentcolor!important}:root[style*=readium-night-on] svg text{fill:currentcolor!important;stroke:none!important}:root[style*=readium-night-on] a:link,:root[style*=readium-night-on] a:link *{color:var(--RS__linkColor)!important}:root[style*=readium-night-on] a:visited,:root[style*=readium-night-on] a:visited *{color:var(--RS__visitedColor)!important}:root[style*=readium-night-on] img[class*=gaiji],:root[style*=readium-night-on] *[epub\\:type~=titlepage] img:only-child,:root[style*=readium-night-on] *[epub|type~=titlepage] img:only-child{-webkit-filter:invert(100%);filter:invert(100%)}:root[style*=readium-sepia-on]{--RS__selectionTextColor:inherit;--RS__selectionBackgroundColor:#b4d8fe;--RS__visitedColor:#551A8B;--RS__linkColor:#0000EE;--RS__textColor:#121212;--RS__backgroundColor:#faf4e8}:root[style*=readium-sepia-on] *:not(a){color:inherit!important;background-color:transparent!important}:root[style*=readium-sepia-on] a:link,:root[style*=readium-sepia-on] a:link *{color:var(--RS__linkColor)}:root[style*=readium-sepia-on] a:visited,:root[style*=readium-sepia-on] a:visited *{color:var(--RS__visitedColor)}@media screen and (-ms-high-contrast: active){:root{color:windowText!important;background-color:window!important}:root :not(#\\#):not(#\\#):not(#\\#),:root :not(#\\#):not(#\\#):not(#\\#) :not(#\\#):not(#\\#):not(#\\#) :root :not(#\\#):not(#\\#):not(#\\#) :not(#\\#):not(#\\#):not(#\\#) :not(#\\#):not(#\\#):not(#\\#){color:inherit!important;background-color:inherit!important}.readiumCSS-mo-active-default{color:highlightText!important;background-color:highlight!important}}@media screen and (-ms-high-contrast: white-on-black){:root[style*=readium-night-on] img[class*=gaiji],:root[style*=readium-night-on] *[epub\\:type~=titlepage] img:only-child,:root[style*=readium-night-on] *[epub|type~=titlepage] img:only-child{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-invert-on] img{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%);filter:brightness(80%)}}@media screen and (inverted-colors){:root[style*=readium-night-on] img[class*=gaiji],:root[style*=readium-night-on] *[epub\\:type~=titlepage] img:only-child,:root[style*=readium-night-on] *[epub|type~=titlepage] img:only-child{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-invert-on] img{-webkit-filter:none!important;filter:none!important}:root[style*=readium-night-on][style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%);filter:brightness(80%)}}:root[style*=--USER__backgroundColor]{background-color:var(--USER__backgroundColor)!important}:root[style*=--USER__backgroundColor] *{background-color:transparent!important}:root[style*=--USER__textColor]{color:var(--USER__textColor)!important}:root[style*=--USER__textColor] *:not(a){color:inherit!important;background-color:transparent!important;border-color:currentcolor!important}:root[style*=--USER__textColor] svg text{fill:currentcolor!important;stroke:none!important}:root[style*=--USER__linkColor] a:link,:root[style*=--USER__linkColor] a:link *{color:var(--USER__linkColor)!important}:root[style*=--USER__visitedColor] a:visited,:root[style*=--USER__visitedColor] a:visited *{color:var(--USER__visitedColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::-moz-selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__colCount]{-webkit-column-count:var(--USER__colCount);-moz-column-count:var(--USER__colCount);column-count:var(--USER__colCount);--RS__colWidth:auto}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"]{-webkit-column-count:1;-moz-column-count:1;column-count:1}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"],:root[style*="--USER__colCount: 1"],:root[style*="--USER__colCount:1"]{--RS__colWidth:100vw}:root[style*=--USER__lineLength] body{max-width:var(--USER__lineLength)!important}:root[style*=--USER__textAlign]{text-align:var(--USER__textAlign)}:root[style*=--USER__textAlign] body,:root[style*=--USER__textAlign] p:not(blockquote p):not(figcaption p):not(hgroup p),:root[style*=--USER__textAlign] li,:root[style*=--USER__textAlign] dd{text-align:var(--USER__textAlign)!important;-moz-text-align-last:auto!important;-epub-text-align-last:auto!important;text-align-last:auto!important}:root[style*=--USER__bodyHyphens]{-webkit-hyphens:var(--USER__bodyHyphens)!important;-moz-hyphens:var(--USER__bodyHyphens)!important;-ms-hyphens:var(--USER__bodyHyphens)!important;-epub-hyphens:var(--USER__bodyHyphens)!important;hyphens:var(--USER__bodyHyphens)!important}:root[style*=--USER__bodyHyphens] body,:root[style*=--USER__bodyHyphens] p,:root[style*=--USER__bodyHyphens] li,:root[style*=--USER__bodyHyphens] div,:root[style*=--USER__bodyHyphens] dd{-webkit-hyphens:inherit;-moz-hyphens:inherit;-ms-hyphens:inherit;-epub-hyphens:inherit;hyphens:inherit}:root[style*=--USER__fontFamily]{font-family:var(--USER__fontFamily)!important}:root[style*=--USER__fontFamily] *{font-family:revert!important}:root[style*=AccessibleDfA]{font-family:AccessibleDfA,Verdana,Tahoma,Trebuchet MS,sans-serif!important}:root[style*="IA Writer Duospace"]{font-family:IA Writer Duospace,Menlo,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier,monospace!important}:root[style*=AccessibleDfA],:root[style*="IA Writer Duospace"],:root[style*=readium-a11y-on]{font-style:normal!important;font-weight:400!important}:root[style*=AccessibleDfA] *:not(code):not(var):not(kbd):not(samp),:root[style*="IA Writer Duospace"] *:not(code):not(var):not(kbd):not(samp),:root[style*=readium-a11y-on] *:not(code):not(var):not(kbd):not(samp){font-family:inherit!important;font-style:inherit!important;font-weight:inherit!important}:root[style*=AccessibleDfA] *,:root[style*="IA Writer Duospace"] *,:root[style*=readium-a11y-on] *{text-decoration:none!important;font-variant-caps:normal!important;font-variant-numeric:normal!important;font-variant-position:normal!important}:root[style*=AccessibleDfA] sup,:root[style*="IA Writer Duospace"] sup,:root[style*=readium-a11y-on] sup,:root[style*=AccessibleDfA] sub,:root[style*="IA Writer Duospace"] sub,:root[style*=readium-a11y-on] sub{font-size:1rem!important;vertical-align:baseline!important}:root:not([style*=readium-deprecatedFontSize-on])[style*=--USER__fontSize] body{zoom:var(--USER__fontSize)!important}@supports not (zoom: 1){:root[style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}}:root[style*=readium-deprecatedFontSize-on][style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}:root[style*=--USER__lineHeight]{line-height:var(--USER__lineHeight)!important}:root[style*=--USER__lineHeight] body,:root[style*=--USER__lineHeight] p,:root[style*=--USER__lineHeight] li,:root[style*=--USER__lineHeight] div{line-height:inherit}:root[style*=--USER__paraSpacing] p{margin-top:var(--USER__paraSpacing)!important;margin-bottom:var(--USER__paraSpacing)!important}:root[style*=--USER__paraIndent] p{text-indent:var(--USER__paraIndent)!important}:root[style*=--USER__paraIndent] p *,:root[style*=--USER__paraIndent] p:first-letter{text-indent:0!important}:root[style*=--USER__wordSpacing] h1,:root[style*=--USER__wordSpacing] h2,:root[style*=--USER__wordSpacing] h3,:root[style*=--USER__wordSpacing] h4,:root[style*=--USER__wordSpacing] h5,:root[style*=--USER__wordSpacing] h6,:root[style*=--USER__wordSpacing] p,:root[style*=--USER__wordSpacing] li,:root[style*=--USER__wordSpacing] div,:root[style*=--USER__wordSpacing] dt,:root[style*=--USER__wordSpacing] dd{word-spacing:var(--USER__wordSpacing)}:root[style*=--USER__letterSpacing] h1,:root[style*=--USER__letterSpacing] h2,:root[style*=--USER__letterSpacing] h3,:root[style*=--USER__letterSpacing] h4,:root[style*=--USER__letterSpacing] h5,:root[style*=--USER__letterSpacing] h6,:root[style*=--USER__letterSpacing] p,:root[style*=--USER__letterSpacing] li,:root[style*=--USER__letterSpacing] div,:root[style*=--USER__letterSpacing] dt,:root[style*=--USER__letterSpacing] dd{letter-spacing:var(--USER__letterSpacing);font-variant:none}:root[style*=--USER__fontWeight] body{font-weight:var(--USER__fontWeight)!important}:root[style*=--USER__fontWeight] b,:root[style*=--USER__fontWeight] strong{font-weight:bolder}:root[style*=--USER__fontWidth] body{font-stretch:var(--USER__fontWidth)!important}:root[style*=--USER__fontOpticalSizing] body{font-optical-sizing:var(--USER__fontOpticalSizing)!important}:root[style*=readium-blend-on] svg,:root[style*=readium-blend-on] img{background-color:transparent!important;mix-blend-mode:multiply!important}:root[style*=--USER__darkenImages] img{-webkit-filter:brightness(var(--USER__darkenImages))!important;filter:brightness(var(--USER__darkenImages))!important}:root[style*=readium-darken-on] img{-webkit-filter:brightness(80%)!important;filter:brightness(80%)!important}:root[style*=--USER__invertImages] img{-webkit-filter:invert(var(--USER__invertImages))!important;filter:invert(var(--USER__invertImages))!important}:root[style*=readium-invert-on] img{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=--USER__darkenImages][style*=--USER__invertImages] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important;filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important}:root[style*=readium-darken-on][style*=--USER__invertImages] img{-webkit-filter:brightness(80%) invert(var(--USER__invertImages))!important;filter:brightness(80%) invert(var(--USER__invertImages))!important}:root[style*=--USER__darkenImages][style*=readium-invert-on] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(100%)!important;filter:brightness(var(--USER__darkenImages)) invert(100%)!important}:root[style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%) invert(100%)!important;filter:brightness(80%) invert(100%)!important}:root[style*=--USER__invertGaiji] img[class*=gaiji]{-webkit-filter:invert(var(--USER__invertGaiji))!important;filter:invert(var(--USER__invertGaiji))!important}:root[style*=readium-invertGaiji-on] img[class*=gaiji]{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=readium-normalize-on]{--USER__typeScale:1.2}:root[style*=readium-normalize-on] p,:root[style*=readium-normalize-on] li,:root[style*=readium-normalize-on] div,:root[style*=readium-normalize-on] pre,:root[style*=readium-normalize-on] dd{font-size:1rem!important}:root[style*=readium-normalize-on] h1{font-size:1.75rem!important;font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h2{font-size:1.5rem!important;font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h3{font-size:1.25rem!important;font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h4,:root[style*=readium-normalize-on] h5,:root[style*=readium-normalize-on] h6{font-size:1rem!important}:root[style*=readium-normalize-on] small{font-size:smaller!important}:root[style*=readium-normalize-on] sub,:root[style*=readium-normalize-on] sup{font-size:67.5%!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h1{font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h2{font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h3{font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-iPadOSPatch-on] body{-webkit-text-size-adjust:none}:root[style*=readium-iPadOSPatch-on] p,:root[style*=readium-iPadOSPatch-on] h1,:root[style*=readium-iPadOSPatch-on] h2,:root[style*=readium-iPadOSPatch-on] h3,:root[style*=readium-iPadOSPatch-on] h4,:root[style*=readium-iPadOSPatch-on] h5,:root[style*=readium-iPadOSPatch-on] h6,:root[style*=readium-iPadOSPatch-on] li,:root[style*=readium-iPadOSPatch-on] th,:root[style*=readium-iPadOSPatch-on] td,:root[style*=readium-iPadOSPatch-on] dt,:root[style*=readium-iPadOSPatch-on] dd,:root[style*=readium-iPadOSPatch-on] pre,:root[style*=readium-iPadOSPatch-on] address,:root[style*=readium-iPadOSPatch-on] details,:root[style*=readium-iPadOSPatch-on] summary,:root[style*=readium-iPadOSPatch-on] figcaption,:root[style*=readium-iPadOSPatch-on] div:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)),:root[style*=readium-iPadOSPatch-on] aside:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)){-webkit-text-zoom:reset}:root[style*=readium-iPadOSPatch-on] abbr,:root[style*=readium-iPadOSPatch-on] b,:root[style*=readium-iPadOSPatch-on] bdi,:root[style*=readium-iPadOSPatch-on] bdo,:root[style*=readium-iPadOSPatch-on] cite,:root[style*=readium-iPadOSPatch-on] code,:root[style*=readium-iPadOSPatch-on] dfn,:root[style*=readium-iPadOSPatch-on] em,:root[style*=readium-iPadOSPatch-on] i,:root[style*=readium-iPadOSPatch-on] kbd,:root[style*=readium-iPadOSPatch-on] mark,:root[style*=readium-iPadOSPatch-on] q,:root[style*=readium-iPadOSPatch-on] rp,:root[style*=readium-iPadOSPatch-on] rt,:root[style*=readium-iPadOSPatch-on] ruby,:root[style*=readium-iPadOSPatch-on] s,:root[style*=readium-iPadOSPatch-on] samp,:root[style*=readium-iPadOSPatch-on] small,:root[style*=readium-iPadOSPatch-on] span,:root[style*=readium-iPadOSPatch-on] strong,:root[style*=readium-iPadOSPatch-on] sub,:root[style*=readium-iPadOSPatch-on] sup,:root[style*=readium-iPadOSPatch-on] time,:root[style*=readium-iPadOSPatch-on] u,:root[style*=readium-iPadOSPatch-on] var{-webkit-text-zoom:normal}:root[style*=readium-iPadOSPatch-on] p:not(:has(b,cite,em,i,q,s,small,span,strong)):first-line{-webkit-text-zoom:normal}
1185
1185
  `, $A = `@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);@-ms-viewport{width:device-width}@viewport{width:device-width;zoom:1}:root{--RS__monospaceTf:ui-monospace, "Andale Mono", "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--RS__humanistTf:Seravek, Calibri, "Gill Sans Nova", Roboto, Ubuntu, "DejaVu Sans", source-sans-pro, sans-serif;--RS__sansTf:-ui-sans-serif, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", Inter, Roboto, "Helvetica Neue", "Arial Nova", "Liberation Sans", Arial, sans-serif;--RS__modernTf:Athelas, Constantia, Charter, "Bitstream Charter", Cambria, "Georgia Pro", Georgia, serif;--RS__oldStyleTf:"Iowan Old Style", Sitka, "Sitka Text", Palatino, "Book Antiqua", "URW Palladio L", P052, serif;--RS__baseFontFamily:var(--RS__oldStyleTf);--RS__lineHeightCompensation:1;--RS__baseLineHeight:calc(1.5 * var(--RS__lineHeightCompensation));--RS__selectionTextColor:inherit;--RS__selectionBackgroundColor:#b4d8fe;--RS__visitedColor:#551A8B;--RS__linkColor:#0000EE;--RS__textColor:#121212;--RS__backgroundColor:#FFFFFF;color:var(--RS__textColor)!important;background-color:var(--RS__backgroundColor)!important}::-moz-selection{color:var(--RS__selectionTextColor);background-color:var(--RS__selectionBackgroundColor)}::selection{color:var(--RS__selectionTextColor);background-color:var(--RS__selectionBackgroundColor)}html{font-family:var(--RS__baseFontFamily);line-height:1.6;line-height:var(--RS__baseLineHeight);text-rendering:optimizelegibility}h1,h2,h3{line-height:normal}:lang(ja),:lang(zh),:lang(ko){word-wrap:break-word;-webkit-line-break:strict;-epub-line-break:strict;line-break:strict}math{font-family:"Latin Modern Math","STIX Two Math","XITS Math","STIX Math","Libertinus Math","TeX Gyre Termes Math","TeX Gyre Bonum Math",TeX Gyre Schola,"DejaVu Math TeX Gyre","TeX Gyre Pagella Math","Asana Math","Cambria Math","Lucida Bright Math","Minion Math",STIXGeneral,STIXSizeOneSym,Symbol,Times New Roman,serif}:lang(am){--RS__baseFontFamily:kefa, nyala, roboto, noto, "Noto Sans Ethiopic", serif;--RS__lineHeightCompensation:1.167}:lang(ar){--RS__baseFontFamily:"Geeza Pro", "Arabic Typesetting", roboto, noto, "Noto Naskh Arabic", "Times New Roman", serif}:lang(bn){--RS__baseFontFamily:"Kohinoor Bangla", "Bangla Sangam MN", vrinda, roboto, noto, "Noto Sans Bengali", sans-serif;--RS__lineHeightCompensation:1.067}:lang(bo){--RS__baseFontFamily:kailasa, "Microsoft Himalaya", roboto, noto, "Noto Sans Tibetan", sans-serif}:lang(chr){--RS__baseFontFamily:"Plantagenet Cherokee", roboto, noto, "Noto Sans Cherokee";--RS__lineHeightCompensation:1.167}:lang(fa){--RS__baseFontFamily:"Geeza Pro", "Arabic Typesetting", roboto, noto, "Noto Naskh Arabic", "Times New Roman", serif}:lang(gu){--RS__baseFontFamily:"Gujarati Sangam MN", "Nirmala UI", shruti, roboto, noto, "Noto Sans Gujarati", sans-serif;--RS__lineHeightCompensation:1.167}:lang(he){--RS__baseFontFamily:"New Peninim MT", "Arial Hebrew", gisha, "Times New Roman", roboto, noto, "Noto Sans Hebrew" sans-serif;--RS__lineHeightCompensation:1.1}:lang(hi){--RS__baseFontFamily:"Kohinoor Devanagari", "Devanagari Sangam MN", kokila, "Nirmala UI", roboto, noto, "Noto Sans Devanagari", sans-serif;--RS__lineHeightCompensation:1.1}:lang(hy){--RS__baseFontFamily:mshtakan, sylfaen, roboto, noto, "Noto Serif Armenian", serif}:lang(iu){--RS__baseFontFamily:"Euphemia UCAS", euphemia, roboto, noto, "Noto Sans Canadian Aboriginal", sans-serif}:lang(ja){--RS__baseFontFamily:yugothic, "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Meiryo UI", "MS Gothic", roboto, noto, "Noto Sans CJK JP", sans-serif;--RS__lineHeightCompensation:1.167;--RS__serif-ja:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "YuMincho", "BIZ UDPMincho", "Yu Mincho", "MS P明朝", "MS PMincho", serif;--RS__sans-serif-ja:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ W3", "YuGothic", "Yu Gothic Medium", "BIZ UDPGothic", "Yu Gothic", "MS Pゴシック", "MS PGothic", sans-serif;--RS__serif-ja-v:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "YuMincho", "BIZ UDMincho", "Yu Mincho", "MS明朝", "MS Mincho", serif;--RS__sans-serif-ja-v:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ W3", "YuGothic", "Yu Gothic Medium", "BIZ UDGothic", "Yu Gothic", "MSゴシック", "MS Gothic", sans-serif}:lang(km){--RS__baseFontFamily:"Khmer Sangam MN", "Leelawadee UI", "Khmer UI", roboto, noto, "Noto Sans Khmer", sans-serif;--RS__lineHeightCompensation:1.067}:lang(kn){--RS__baseFontFamily:"Kannada Sangam MN", "Nirmala UI", tunga, roboto, noto, "Noto Sans Kannada", sans-serif;--RS__lineHeightCompensation:1.1}:lang(ko){--RS__baseFontFamily:"Nanum Gothic", "Apple SD Gothic Neo", "Malgun Gothic", roboto, noto, "Noto Sans CJK KR", sans-serif;--RS__lineHeightCompensation:1.167}:lang(lo){--RS__baseFontFamily:"Lao Sangam MN", "Leelawadee UI", "Lao UI", roboto, noto, "Noto Sans Lao", sans-serif}:lang(ml){--RS__baseFontFamily:"Malayalam Sangam MN", "Nirmala UI", kartika, roboto, noto, "Noto Sans Malayalam", sans-serif;--RS__lineHeightCompensation:1.067}:lang(or){--RS__baseFontFamily:"Oriya Sangam MN", "Nirmala UI", kalinga, roboto, noto, "Noto Sans Oriya", sans-serif;--RS__lineHeightCompensation:1.167}:lang(pa){--RS__baseFontFamily:"Gurmukhi MN", "Nirmala UI", kartika, roboto, noto, "Noto Sans Gurmukhi", sans-serif;--RS__lineHeightCompensation:1.1}:lang(si){--RS__baseFontFamily:"Sinhala Sangam MN", "Nirmala UI", "Iskoola Pota", roboto, noto, "Noto Sans Sinhala", sans-serif;--RS__lineHeightCompensation:1.167}:lang(ta){--RS__baseFontFamily:"Tamil Sangam MN", "Nirmala UI", latha, roboto, noto, "Noto Sans Tamil", sans-serif;--RS__lineHeightCompensation:1.067}:lang(te){--RS__baseFontFamily:"Kohinoor Telugu", "Telugu Sangam MN", "Nirmala UI", gautami, roboto, noto, "Noto Sans Telugu", sans-serif}:lang(th){--RS__baseFontFamily:"Thonburi", "Leelawadee UI", "Cordia New", roboto, noto, "Noto Sans Thai", sans-serif;--RS__lineHeightCompensation:1.067}:lang(zh){--RS__baseFontFamily:"方体", "PingFang SC", "黑体", "Heiti SC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK SC", sans-serif;--RS__lineHeightCompensation:1.167}:lang(zh-Hant),:lang(zh-TW){--RS__baseFontFamily:"方體", "PingFang TC", "黑體", "Heiti TC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK TC", sans-serif;--RS__lineHeightCompensation:1.167}:lang(zh-HK){--RS__baseFontFamily:"方體", "PingFang HK", "方體", "PingFang TC", "黑體", "Heiti TC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK TC", sans-serif;--RS__lineHeightCompensation:1.167}@font-face{font-family:AccessibleDfA;font-style:normal;font-weight:400;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Regular.woff2) format("woff2"),url(./assets/AccessibleDfA-Regular.woff) format("woff")}@font-face{font-family:AccessibleDfA;font-style:normal;font-weight:700;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Bold.woff2) format("woff2")}@font-face{font-family:AccessibleDfA;font-style:italic;font-weight:400;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Italic.woff2) format("woff2")}@font-face{font-family:IA Writer Duospace;font-style:normal;font-weight:400;src:local("iAWriterDuospace-Regular"),url(./assets/iAWriterDuospace-Regular.ttf) format("truetype")}body{widows:2;orphans:2}figcaption,th,td{widows:1;orphans:1}h2,h3,h4,h5,h6,dt,hr,caption{-webkit-column-break-after:avoid;page-break-after:avoid;break-after:avoid}h1,h2,h3,h4,h5,h6,dt,figure,tr{-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}body{-webkit-hyphenate-character:"-";-moz-hyphenate-character:"-";-ms-hyphenate-character:"-";hyphenate-character:"-";-webkit-hyphenate-limit-lines:3;-ms-hyphenate-limit-lines:3;hyphenate-limit-lines:3}h1,h2,h3,h4,h5,h6,dt,figcaption,pre,caption,address,center,code,var{-ms-hyphens:none;-moz-hyphens:none;-webkit-hyphens:none;-epub-hyphens:none;hyphens:none}body{font-variant-numeric:oldstyle-nums proportional-nums}:lang(ja) body,:lang(zh) body,:lang(ko) body{font-variant-numeric:lining-nums proportional-nums}h1,h2,h3,h4,h5,h6,dt{font-variant-numeric:lining-nums proportional-nums}table{font-variant-numeric:lining-nums tabular-nums}code,var{font-variant-ligatures:none;font-variant-numeric:lining-nums tabular-nums slashed-zero}rt{font-variant-east-asian:ruby}:lang(ar){font-variant-ligatures:common-ligatures}:lang(ko){font-kerning:normal}hr{color:inherit;border-color:currentcolor}table,th,td{border-color:currentcolor}figure,blockquote{margin:1em 5%}ul,ol{padding-left:5%}dd{margin-left:5%}pre{white-space:pre-wrap;-ms-tab-size:2;-moz-tab-size:2;-webkit-tab-size:2;tab-size:2}abbr[title],acronym[title]{text-decoration:dotted underline}nobr wbr{white-space:normal}ruby>rt,ruby>rp{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}*:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)),*:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)),*:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)),:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) cite,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) dfn,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) em,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) i,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) cite,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) dfn,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) em,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) i,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) cite,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) dfn,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) em,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) i{font-style:normal}:lang(ja) a,:lang(zh) a,:lang(ko) a{text-decoration:none}:root{--RS__maxMediaWidth:100%;--RS__maxMediaHeight:95vh;--RS__boxSizingMedia:border-box;--RS__boxSizingTable:border-box}a,a span,span a,h1,h2,h3,h4,h5,h6{word-wrap:break-word}div{max-width:var(--RS__maxMediaWidth)}img,svg|svg,video{object-fit:contain;width:auto;height:auto;max-width:var(--RS__maxMediaWidth);max-height:var(--RS__maxMediaHeight)!important;box-sizing:var(--RS__boxSizingMedia);-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}audio{max-width:100%;-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}table{max-width:var(--RS__maxMediaWidth);box-sizing:var(--RS__boxSizingTable)}
1186
1186
  `, ti = `@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);:root{--RS__compFontFamily:var(--RS__baseFontFamily);--RS__codeFontFamily:var(--RS__monospaceTf);--RS__typeScale:1.125;--RS__baseFontSize:100%;--RS__flowSpacing:1.5rem;--RS__paraSpacing:0;--RS__paraIndent:1em;--RS__linkColor:#0000EE;--RS__visitedColor:#551A8B;--RS__primaryColor:;--RS__secondaryColor:}body{font-size:var(--RS__baseFontSize)}h1,h2,h3,h4,h5,h6{font-family:var(--RS__compFontFamily)}blockquote,figure,p,pre,aside,footer,form,hr{margin-top:var(--RS__flowSpacing);margin-bottom:var(--RS__flowSpacing)}p{margin-top:var(--RS__paraSpacing);margin-bottom:var(--RS__paraSpacing);text-indent:var(--RS__paraIndent)}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p,hr+p{text-indent:0}pre{font-family:var(--RS__codeFontFamily)}code,kbd,samp,tt{font-family:var(--RS__codeFontFamily)}sub,sup{position:relative;font-size:67.5%;line-height:1}sub{bottom:-.2ex}sup{bottom:0}:link{color:var(--RS__linkColor)}:visited{color:var(--RS__visitedColor)}h1{margin-top:calc(var(--RS__flowSpacing) * 2);margin-bottom:calc(var(--RS__flowSpacing) * 2);font-size:calc(((1em * var(--RS__typeScale)) * var(--RS__typeScale)) * var(--RS__typeScale))}h2{margin-top:calc(var(--RS__flowSpacing) * 2);margin-bottom:var(--RS__flowSpacing);font-size:calc((1em * var(--RS__typeScale)) * var(--RS__typeScale))}h3{margin-top:var(--RS__flowSpacing);margin-bottom:var(--RS__flowSpacing);font-size:calc(1em * var(--RS__typeScale))}h4{margin-top:var(--RS__flowSpacing);margin-bottom:var(--RS__flowSpacing);font-size:1em}h5{margin-top:var(--RS__flowSpacing);margin-bottom:var(--RS__flowSpacing);font-size:1em;font-variant:small-caps}h6{margin-top:var(--RS__flowSpacing);margin-bottom:0;font-size:1em;text-transform:lowercase;font-variant:small-caps}dl,ol,ul{margin-top:var(--RS__flowSpacing);margin-bottom:var(--RS__flowSpacing)}table{margin:var(--RS__flowSpacing) 0;border:1px solid currentcolor;border-collapse:collapse;empty-cells:show}thead,tbody,tfoot,table>tr{vertical-align:top}th{text-align:left}th,td{padding:4px;border:1px solid currentcolor}
1187
- `, $ = (n, t) => URL.createObjectURL(new Blob([n], { type: t })), nA = (n) => n.replace(/\/\/.*/g, "").replace(/\/\*[\s\S]*?\*\//g, "").replace(/\n/g, "").replace(/\s+/g, " "), Pt = (n) => n.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g, "").replace(/ {2,}/g, " ").replace(/url\((?!(https?:)?\/\/)("?)\/([^\)]+)/g, `url($2${window.location.origin}/$3`), Ae = (n, t) => {
1187
+ `, $ = (n, t) => URL.createObjectURL(new Blob([n], { type: t })), nA = (n) => n.replace(/\/\/.*/g, "").replace(/\/\*[\s\S]*?\*\//g, "").replace(/\n/g, "").replace(/\s+/g, " "), bt = (n) => n.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g, "").replace(/ {2,}/g, " ").replace(/url\((?!(https?:)?\/\/)("?)\/([^\)]+)/g, `url($2${window.location.origin}/$3`), Ae = (n, t) => {
1188
1188
  const e = n.createElement("script");
1189
1189
  return e.dataset.readium = "true", e.src = t.startsWith("blob:") ? t : $(t, "text/javascript"), e;
1190
1190
  }, vt = (n, t) => {
@@ -1276,16 +1276,16 @@ class rA {
1276
1276
  if (!t)
1277
1277
  return "";
1278
1278
  if (!i) {
1279
- const a = vt(t, ot("ReadiumCSS-before", () => $(Pt($A), "text/css")));
1280
- t.head.firstChild ? t.head.firstChild.before(a) : t.head.appendChild(a), this.hasStyle(t) || a.after(vt(t, ot("ReadiumCSS-default", () => $(Pt(ti), "text/css")))), t.head.appendChild(vt(t, ot("ReadiumCSS-after", () => $(Pt(_A), "text/css")))), r && this.setProperties(r, t);
1279
+ const a = vt(t, ot("ReadiumCSS-before", () => $(bt($A), "text/css")));
1280
+ t.head.firstChild ? t.head.firstChild.before(a) : t.head.appendChild(a), this.hasStyle(t) || a.after(vt(t, ot("ReadiumCSS-default", () => $(bt(ti), "text/css")))), t.head.appendChild(vt(t, ot("ReadiumCSS-after", () => $(bt(_A), "text/css")))), r && this.setProperties(r, t);
1281
1281
  }
1282
1282
  if (t.body.querySelectorAll("img").forEach((a) => {
1283
1283
  a.setAttribute("fetchpriority", "high");
1284
1284
  }), A.isHTML && ((o = this.pub.metadata.languages) != null && o[0])) {
1285
1285
  const a = this.pub.metadata.languages[0];
1286
1286
  if (A === d.XHTML) {
1287
- const h = document.documentElement.lang || document.documentElement.getAttribute("xml:lang"), l = document.body.lang || document.body.getAttribute("xml:lang");
1288
- l && !h ? (document.documentElement.lang = l, document.documentElement.setAttribute("xml:lang", l), document.body.removeAttribute("xml:lang"), document.body.removeAttribute("lang")) : h || (document.documentElement.lang = a, document.documentElement.setAttribute("xml:lang", a));
1287
+ const l = document.documentElement.lang || document.documentElement.getAttribute("xml:lang"), h = document.body.lang || document.body.getAttribute("xml:lang");
1288
+ h && !l ? (document.documentElement.lang = h, document.documentElement.setAttribute("xml:lang", h), document.body.removeAttribute("xml:lang"), document.body.removeAttribute("lang")) : l || (document.documentElement.lang = a, document.documentElement.setAttribute("xml:lang", a));
1289
1289
  } else
1290
1290
  A === d.HTML && !document.documentElement.lang && (document.documentElement.lang = a);
1291
1291
  }
@@ -1427,7 +1427,7 @@ class ie {
1427
1427
  return this.compression !== void 0 && (t.compression = this.compression), this.originalLength !== void 0 && (t.originalLength = this.originalLength), this.profile !== void 0 && (t.profile = this.profile), this.scheme !== void 0 && (t.scheme = this.scheme), t;
1428
1428
  }
1429
1429
  }
1430
- class R {
1430
+ class Q {
1431
1431
  constructor(t) {
1432
1432
  this.otherProperties = t;
1433
1433
  }
@@ -1436,7 +1436,7 @@ class R {
1436
1436
  */
1437
1437
  static deserialize(t) {
1438
1438
  if (t)
1439
- return new R(t);
1439
+ return new Q(t);
1440
1440
  }
1441
1441
  /**
1442
1442
  * Serializes a [Properties] to its RWPM JSON representation.
@@ -1451,18 +1451,18 @@ class R {
1451
1451
  const e = Object.assign({}, this.otherProperties);
1452
1452
  for (const A in t)
1453
1453
  e[A] = t[A];
1454
- return new R(e);
1454
+ return new Q(e);
1455
1455
  }
1456
1456
  }
1457
- Object.defineProperty(R.prototype, "encryption", {
1457
+ Object.defineProperty(Q.prototype, "encryption", {
1458
1458
  get: function() {
1459
1459
  return ie.deserialize(this.otherProperties.encrypted);
1460
1460
  }
1461
1461
  });
1462
- R.prototype.getContains = function() {
1462
+ Q.prototype.getContains = function() {
1463
1463
  return new Set(this.otherProperties.contains || []);
1464
1464
  };
1465
- R.prototype.getLayout = function() {
1465
+ Q.prototype.getLayout = function() {
1466
1466
  return this.otherProperties.layout;
1467
1467
  };
1468
1468
  class u {
@@ -1477,21 +1477,21 @@ class u {
1477
1477
  throw new Error("Invalid media type");
1478
1478
  const s = {};
1479
1479
  for (let g = 1; g < i.length; g++) {
1480
- const M = i[g].split("=");
1481
- if (M.length === 2) {
1482
- const m = M[0].toLocaleLowerCase(), p = m === "charset" ? M[1].toUpperCase() : M[1];
1483
- s[m] = p;
1480
+ const m = i[g].split("=");
1481
+ if (m.length === 2) {
1482
+ const M = m[0].toLocaleLowerCase(), B = M === "charset" ? m[1].toUpperCase() : m[1];
1483
+ s[M] = B;
1484
1484
  }
1485
1485
  }
1486
1486
  const o = {}, a = Object.keys(s);
1487
- a.sort((g, M) => g.localeCompare(M)), a.forEach((g) => o[g] = s[g]);
1488
- let h = "";
1487
+ a.sort((g, m) => g.localeCompare(m)), a.forEach((g) => o[g] = s[g]);
1488
+ let l = "";
1489
1489
  for (const g in o) {
1490
- const M = o[g];
1491
- h += `;${g}=${M}`;
1490
+ const m = o[g];
1491
+ l += `;${g}=${m}`;
1492
1492
  }
1493
- const l = `${e}/${A}${h}`, c = o.encoding;
1494
- this.string = l, this.type = e, this.subtype = A, this.parameters = o, this.encoding = c, this.name = t.name, this.fileExtension = t.fileExtension;
1493
+ const h = `${e}/${A}${l}`, c = o.encoding;
1494
+ this.string = h, this.type = e, this.subtype = A, this.parameters = o, this.encoding = c, this.name = t.name, this.fileExtension = t.fileExtension;
1495
1495
  }
1496
1496
  static parse(t) {
1497
1497
  return new u(t);
@@ -1960,7 +1960,7 @@ function Ie(n) {
1960
1960
  function Ft(n) {
1961
1961
  return isNaN(n) ? void 0 : n;
1962
1962
  }
1963
- function b(n) {
1963
+ function D(n) {
1964
1964
  return Ft(n) !== void 0 && Math.sign(n) >= 0 ? n : void 0;
1965
1965
  }
1966
1966
  function oi(n) {
@@ -2089,11 +2089,11 @@ class at {
2089
2089
  type: t.type,
2090
2090
  title: t.title,
2091
2091
  rels: t.rel ? t.rel instanceof Array ? new Set(t.rel) : /* @__PURE__ */ new Set([t.rel]) : void 0,
2092
- properties: R.deserialize(t.properties),
2093
- height: b(t.height),
2094
- width: b(t.width),
2095
- duration: b(t.duration),
2096
- bitrate: b(t.bitrate),
2092
+ properties: Q.deserialize(t.properties),
2093
+ height: D(t.height),
2094
+ width: D(t.width),
2095
+ duration: D(t.duration),
2096
+ bitrate: D(t.bitrate),
2097
2097
  languages: sA(t.language),
2098
2098
  alternates: Ct.deserialize(t.alternate),
2099
2099
  children: Ct.deserialize(t.children)
@@ -2139,7 +2139,7 @@ class at {
2139
2139
  addProperties(t) {
2140
2140
  var e;
2141
2141
  const A = at.deserialize(this.serialize());
2142
- return A.properties = A.properties ? (e = A.properties) == null ? void 0 : e.add(t) : new R(t), A;
2142
+ return A.properties = A.properties ? (e = A.properties) == null ? void 0 : e.add(t) : new Q(t), A;
2143
2143
  }
2144
2144
  /**
2145
2145
  * Creates a [Locator] from a reading order [Link].
@@ -2263,11 +2263,11 @@ class Rt {
2263
2263
  static deserialize(t) {
2264
2264
  if (!(t && t.cssSelector))
2265
2265
  return;
2266
- let e = b(t.textNodeIndex);
2266
+ let e = D(t.textNodeIndex);
2267
2267
  if (e === void 0)
2268
2268
  return;
2269
- let A = b(t.charOffset);
2270
- return A === void 0 && (A = b(t.offset)), new Rt({
2269
+ let A = D(t.charOffset);
2270
+ return A === void 0 && (A = D(t.offset)), new Rt({
2271
2271
  cssSelector: t.cssSelector,
2272
2272
  textNodeIndex: e,
2273
2273
  charOffset: A
@@ -2374,7 +2374,7 @@ class re {
2374
2374
  let e = t.currency;
2375
2375
  if (!(e && typeof e == "string" && e.length > 0))
2376
2376
  return;
2377
- let A = b(t.value);
2377
+ let A = D(t.value);
2378
2378
  if (A !== void 0)
2379
2379
  return new re({ currency: e, value: A });
2380
2380
  }
@@ -2385,7 +2385,7 @@ class re {
2385
2385
  return { currency: this.currency, value: this.value };
2386
2386
  }
2387
2387
  }
2388
- class mt {
2388
+ class Mt {
2389
2389
  /** Creates a [Acquisition]. */
2390
2390
  constructor(t) {
2391
2391
  this.type = t.type, this.children = t.children;
@@ -2395,14 +2395,14 @@ class mt {
2395
2395
  */
2396
2396
  static deserialize(t) {
2397
2397
  if (t && t.type)
2398
- return new mt({
2398
+ return new Mt({
2399
2399
  type: t.type,
2400
- children: mt.deserializeArray(t.children)
2400
+ children: Mt.deserializeArray(t.children)
2401
2401
  });
2402
2402
  }
2403
2403
  static deserializeArray(t) {
2404
2404
  if (t instanceof Array)
2405
- return t.map((e) => mt.deserialize(e)).filter((e) => e !== void 0);
2405
+ return t.map((e) => Mt.deserialize(e)).filter((e) => e !== void 0);
2406
2406
  }
2407
2407
  /**
2408
2408
  * Serializes a [Acquisition] to its RWPM JSON representation.
@@ -2423,8 +2423,8 @@ class se {
2423
2423
  static deserialize(t) {
2424
2424
  if (t)
2425
2425
  return new se({
2426
- total: b(t.total),
2427
- position: b(t.position)
2426
+ total: D(t.total),
2427
+ position: D(t.position)
2428
2428
  });
2429
2429
  }
2430
2430
  /**
@@ -2446,8 +2446,8 @@ class oe {
2446
2446
  static deserialize(t) {
2447
2447
  if (t)
2448
2448
  return new oe({
2449
- total: b(t.total),
2450
- available: b(t.available)
2449
+ total: D(t.total),
2450
+ available: D(t.available)
2451
2451
  });
2452
2452
  }
2453
2453
  /**
@@ -2482,45 +2482,45 @@ class ae {
2482
2482
  return this.since !== void 0 && (t.since = this.since.toISOString()), this.until !== void 0 && (t.until = this.until.toISOString()), t;
2483
2483
  }
2484
2484
  }
2485
- R.prototype.getNumberOfItems = function() {
2486
- return b(this.otherProperties.numberOfItems);
2485
+ Q.prototype.getNumberOfItems = function() {
2486
+ return D(this.otherProperties.numberOfItems);
2487
2487
  };
2488
- R.prototype.getPrice = function() {
2488
+ Q.prototype.getPrice = function() {
2489
2489
  return re.deserialize(this.otherProperties.price);
2490
2490
  };
2491
- R.prototype.getIndirectAcquisitions = function() {
2491
+ Q.prototype.getIndirectAcquisitions = function() {
2492
2492
  const n = this.otherProperties.indirectAcquisition;
2493
2493
  if (n && n instanceof Array)
2494
- return n.map((t) => mt.deserialize(t)).filter((t) => t !== void 0);
2494
+ return n.map((t) => Mt.deserialize(t)).filter((t) => t !== void 0);
2495
2495
  };
2496
- R.prototype.getHolds = function() {
2496
+ Q.prototype.getHolds = function() {
2497
2497
  return se.deserialize(this.otherProperties.holds);
2498
2498
  };
2499
- R.prototype.getCopies = function() {
2499
+ Q.prototype.getCopies = function() {
2500
2500
  return oe.deserialize(this.otherProperties.copies);
2501
2501
  };
2502
- R.prototype.getAvailability = function() {
2502
+ Q.prototype.getAvailability = function() {
2503
2503
  return ae.deserialize(this.otherProperties.availability);
2504
2504
  };
2505
- R.prototype.getAuthenticate = function() {
2505
+ Q.prototype.getAuthenticate = function() {
2506
2506
  return at.deserialize(this.otherProperties.authenticate);
2507
2507
  };
2508
- R.prototype.getClipped = function() {
2508
+ Q.prototype.getClipped = function() {
2509
2509
  return this.otherProperties.clipped;
2510
2510
  };
2511
- R.prototype.getFit = function() {
2511
+ Q.prototype.getFit = function() {
2512
2512
  return this.otherProperties.fit;
2513
2513
  };
2514
- R.prototype.getOrientation = function() {
2514
+ Q.prototype.getOrientation = function() {
2515
2515
  return this.otherProperties.orientation;
2516
2516
  };
2517
- R.prototype.getOverflow = function() {
2517
+ Q.prototype.getOverflow = function() {
2518
2518
  return this.otherProperties.overflow;
2519
2519
  };
2520
- R.prototype.getPage = function() {
2520
+ Q.prototype.getPage = function() {
2521
2521
  return this.otherProperties.page || void 0;
2522
2522
  };
2523
- R.prototype.getSpread = function() {
2523
+ Q.prototype.getSpread = function() {
2524
2524
  return this.otherProperties.spread || void 0;
2525
2525
  };
2526
2526
  var q;
@@ -2536,15 +2536,15 @@ function Fe(n = "unknown problem", ...t) {
2536
2536
  console.warn(`${ai}: ${n}`, ...t);
2537
2537
  }
2538
2538
  v.id, v.class, v.tag, v.attribute;
2539
- function hi(n) {
2539
+ function li(n) {
2540
2540
  return n instanceof RegExp;
2541
2541
  }
2542
- function li(n) {
2542
+ function hi(n) {
2543
2543
  return n.replace(/[|\\{}()[\]^$+?.]/g, "\\$&").replace(/\*/g, ".+");
2544
2544
  }
2545
2545
  function ci(n) {
2546
2546
  const t = n.map((e) => {
2547
- if (hi(e))
2547
+ if (li(e))
2548
2548
  return (A) => e.test(A);
2549
2549
  if (typeof e == "function")
2550
2550
  return (A) => {
@@ -2552,7 +2552,7 @@ function ci(n) {
2552
2552
  return typeof i != "boolean" ? (Fe("pattern matcher function invalid", "Provided pattern matching function does not return boolean. It's result will be ignored.", e), !1) : i;
2553
2553
  };
2554
2554
  if (typeof e == "string") {
2555
- const A = new RegExp("^" + li(e) + "$");
2555
+ const A = new RegExp("^" + hi(e) + "$");
2556
2556
  return (i) => A.test(i);
2557
2557
  }
2558
2558
  return Fe("pattern matcher invalid", "Pattern matching only accepts strings, regular expressions and/or functions. This item is invalid and will be ignored.", e), () => !1;
@@ -2588,10 +2588,10 @@ function Ht(n) {
2588
2588
  }
2589
2589
  function ye(n, t, e, A) {
2590
2590
  let i = n.P[e], r = n.M[e];
2591
- const s = A >>> 31, o = t[e] | s, a = o | r, h = (o & i) + i ^ i | o;
2592
- let l = r | ~(h | i), c = i & h;
2593
- const g = Ht(l & n.lastRowMask[e]) - Ht(c & n.lastRowMask[e]);
2594
- return l <<= 1, c <<= 1, c |= s, l |= Ht(A) - s, i = c | ~(a | l), r = l & a, n.P[e] = i, n.M[e] = r, g;
2591
+ const s = A >>> 31, o = t[e] | s, a = o | r, l = (o & i) + i ^ i | o;
2592
+ let h = r | ~(l | i), c = i & l;
2593
+ const g = Ht(h & n.lastRowMask[e]) - Ht(c & n.lastRowMask[e]);
2594
+ return h <<= 1, c <<= 1, c |= s, h |= Ht(A) - s, i = c | ~(a | h), r = h & a, n.P[e] = i, n.M[e] = r, g;
2595
2595
  }
2596
2596
  function oA(n, t, e) {
2597
2597
  if (t.length === 0)
@@ -2603,54 +2603,54 @@ function oA(n, t, e) {
2603
2603
  lastRowMask: new Uint32Array(r + 1)
2604
2604
  };
2605
2605
  s.lastRowMask.fill(1 << 31), s.lastRowMask[r] = 1 << (t.length - 1) % i;
2606
- const o = new Uint32Array(r + 1), a = /* @__PURE__ */ new Map(), h = [];
2606
+ const o = new Uint32Array(r + 1), a = /* @__PURE__ */ new Map(), l = [];
2607
2607
  for (let g = 0; g < 256; g++)
2608
- h.push(o);
2608
+ l.push(o);
2609
2609
  for (let g = 0; g < t.length; g += 1) {
2610
- const M = t.charCodeAt(g);
2611
- if (a.has(M))
2610
+ const m = t.charCodeAt(g);
2611
+ if (a.has(m))
2612
2612
  continue;
2613
- const m = new Uint32Array(r + 1);
2614
- a.set(M, m), M < h.length && (h[M] = m);
2615
- for (let p = 0; p <= r; p += 1) {
2616
- m[p] = 0;
2613
+ const M = new Uint32Array(r + 1);
2614
+ a.set(m, M), m < l.length && (l[m] = M);
2615
+ for (let B = 0; B <= r; B += 1) {
2616
+ M[B] = 0;
2617
2617
  for (let E = 0; E < i; E += 1) {
2618
- const f = p * i + E;
2619
- f >= t.length || t.charCodeAt(f) === M && (m[p] |= 1 << E);
2618
+ const f = B * i + E;
2619
+ f >= t.length || t.charCodeAt(f) === m && (M[B] |= 1 << E);
2620
2620
  }
2621
2621
  }
2622
2622
  }
2623
- let l = Math.max(0, Math.ceil(e / i) - 1);
2623
+ let h = Math.max(0, Math.ceil(e / i) - 1);
2624
2624
  const c = new Uint32Array(r + 1);
2625
- for (let g = 0; g <= l; g += 1)
2625
+ for (let g = 0; g <= h; g += 1)
2626
2626
  c[g] = (g + 1) * i;
2627
2627
  c[r] = t.length;
2628
- for (let g = 0; g <= l; g += 1)
2628
+ for (let g = 0; g <= h; g += 1)
2629
2629
  s.P[g] = -1, s.M[g] = 0;
2630
2630
  for (let g = 0; g < n.length; g += 1) {
2631
- const M = n.charCodeAt(g);
2632
- let m;
2633
- M < h.length ? m = h[M] : (m = a.get(M), typeof m > "u" && (m = o));
2634
- let p = 0;
2635
- for (let E = 0; E <= l; E += 1)
2636
- p = ye(s, m, E, p), c[E] += p;
2637
- if (c[l] - p <= e && l < r && (m[l + 1] & 1 || p < 0)) {
2638
- l += 1, s.P[l] = -1, s.M[l] = 0;
2631
+ const m = n.charCodeAt(g);
2632
+ let M;
2633
+ m < l.length ? M = l[m] : (M = a.get(m), typeof M > "u" && (M = o));
2634
+ let B = 0;
2635
+ for (let E = 0; E <= h; E += 1)
2636
+ B = ye(s, M, E, B), c[E] += B;
2637
+ if (c[h] - B <= e && h < r && (M[h + 1] & 1 || B < 0)) {
2638
+ h += 1, s.P[h] = -1, s.M[h] = 0;
2639
2639
  let E;
2640
- if (l === r) {
2640
+ if (h === r) {
2641
2641
  const f = t.length % i;
2642
2642
  E = f === 0 ? i : f;
2643
2643
  } else
2644
2644
  E = i;
2645
- c[l] = c[l - 1] + E - p + ye(s, m, l, p);
2645
+ c[h] = c[h - 1] + E - B + ye(s, M, h, B);
2646
2646
  } else
2647
- for (; l > 0 && c[l] >= e + i; )
2648
- l -= 1;
2649
- l === r && c[l] <= e && (c[l] < e && A.splice(0, A.length), A.push({
2647
+ for (; h > 0 && c[h] >= e + i; )
2648
+ h -= 1;
2649
+ h === r && c[h] <= e && (c[h] < e && A.splice(0, A.length), A.push({
2650
2650
  start: -1,
2651
2651
  end: g + 1,
2652
- errors: c[l]
2653
- }), e = c[l]);
2652
+ errors: c[h]
2653
+ }), e = c[h]);
2654
2654
  }
2655
2655
  return A;
2656
2656
  }
@@ -2679,20 +2679,20 @@ function ui(n, t, e = {}) {
2679
2679
  if (i.length === 0)
2680
2680
  return null;
2681
2681
  const r = (o) => {
2682
- const a = 1 - o.errors / t.length, h = e.prefix ? Ce(
2682
+ const a = 1 - o.errors / t.length, l = e.prefix ? Ce(
2683
2683
  n.slice(
2684
2684
  Math.max(0, o.start - e.prefix.length),
2685
2685
  o.start
2686
2686
  ),
2687
2687
  e.prefix
2688
- ) : 1, l = e.suffix ? Ce(
2688
+ ) : 1, h = e.suffix ? Ce(
2689
2689
  n.slice(o.end, o.end + e.suffix.length),
2690
2690
  e.suffix
2691
2691
  ) : 1;
2692
2692
  let c = 1;
2693
2693
  typeof e.hint == "number" && (c = 1 - Math.abs(o.start - e.hint) / n.length);
2694
- const g = 50 * a + 20 * h + 20 * l + 2 * c, M = 50 + 20 + 20 + 2;
2695
- return g / M;
2694
+ const g = 50 * a + 20 * l + 20 * h + 2 * c, m = 50 + 20 + 20 + 2;
2695
+ return g / m;
2696
2696
  }, s = i.map((o) => ({
2697
2697
  start: o.start,
2698
2698
  end: o.end,
@@ -2722,8 +2722,8 @@ function Re(n, t) {
2722
2722
  let s = -1;
2723
2723
  const o = () => {
2724
2724
  if (r = t === 1 ? e.nextNode() : e.previousNode(), r) {
2725
- const a = r.textContent, h = t === 1 ? 0 : a.length;
2726
- s = Xt(a, h, t);
2725
+ const a = r.textContent, l = t === 1 ? 0 : a.length;
2726
+ s = Xt(a, l, t);
2727
2727
  }
2728
2728
  };
2729
2729
  for (; r && s === -1 && r !== i; )
@@ -2732,7 +2732,7 @@ function Re(n, t) {
2732
2732
  return { node: r, offset: s };
2733
2733
  throw new RangeError("No text nodes with non-whitespace text found in range");
2734
2734
  }
2735
- function Mi(n) {
2735
+ function mi(n) {
2736
2736
  if (!n.toString().trim().length)
2737
2737
  throw new RangeError("Range contains no non-whitespace text");
2738
2738
  if (n.startContainer.nodeType !== Node.TEXT_NODE)
@@ -2775,7 +2775,7 @@ function Mi(n) {
2775
2775
  }
2776
2776
  return t;
2777
2777
  }
2778
- function hA(n) {
2778
+ function lA(n) {
2779
2779
  var t;
2780
2780
  switch (n.nodeType) {
2781
2781
  case Node.ELEMENT_NODE:
@@ -2788,10 +2788,10 @@ function hA(n) {
2788
2788
  function Qe(n) {
2789
2789
  let t = n.previousSibling, e = 0;
2790
2790
  for (; t; )
2791
- e += hA(t), t = t.previousSibling;
2791
+ e += lA(t), t = t.previousSibling;
2792
2792
  return e;
2793
2793
  }
2794
- function lA(n, ...t) {
2794
+ function hA(n, ...t) {
2795
2795
  let e = t.shift();
2796
2796
  const A = n.ownerDocument.createNodeIterator(
2797
2797
  n,
@@ -2845,7 +2845,7 @@ class O {
2845
2845
  */
2846
2846
  resolve(t = {}) {
2847
2847
  try {
2848
- return lA(this.element, this.offset)[0];
2848
+ return hA(this.element, this.offset)[0];
2849
2849
  } catch (e) {
2850
2850
  if (this.offset === 0 && t.direction !== void 0) {
2851
2851
  const A = document.createTreeWalker(
@@ -2896,7 +2896,7 @@ class O {
2896
2896
  throw new Error("Child node offset is out of range");
2897
2897
  let A = 0;
2898
2898
  for (let i = 0; i < e; i++)
2899
- A += hA(t.childNodes[i]);
2899
+ A += lA(t.childNodes[i]);
2900
2900
  return new O(t, A);
2901
2901
  }
2902
2902
  default:
@@ -2930,7 +2930,7 @@ class _ {
2930
2930
  */
2931
2931
  toRange() {
2932
2932
  let t, e;
2933
- this.start.element === this.end.element && this.start.offset <= this.end.offset ? [t, e] = lA(
2933
+ this.start.element === this.end.element && this.start.offset <= this.end.offset ? [t, e] = hA(
2934
2934
  this.start.element,
2935
2935
  this.start.offset,
2936
2936
  this.end.offset
@@ -2969,7 +2969,7 @@ class _ {
2969
2969
  * whitespace
2970
2970
  */
2971
2971
  static trimmedRange(t) {
2972
- return Mi(_.fromRange(t).toRange());
2972
+ return mi(_.fromRange(t).toRange());
2973
2973
  }
2974
2974
  }
2975
2975
  class Qt {
@@ -3042,11 +3042,11 @@ class Yt {
3042
3042
  return new Qt(this.root, A.start, A.end);
3043
3043
  }
3044
3044
  }
3045
- function mi(n) {
3045
+ function Mi(n) {
3046
3046
  const t = n.tagName.toUpperCase();
3047
3047
  return t === "IMG" || t === "VIDEO" || t === "AUDIO" || t === "IFRAME" || t === "OBJECT" || t === "EMBED" || t === "CANVAS";
3048
3048
  }
3049
- function he(n, t) {
3049
+ function le(n, t) {
3050
3050
  try {
3051
3051
  const e = t.locations, A = t.text;
3052
3052
  if (A && A.highlight) {
@@ -3071,7 +3071,7 @@ function he(n, t) {
3071
3071
  }
3072
3072
  if (i) {
3073
3073
  const r = n.createRange();
3074
- return i.childNodes.length === 0 || mi(i) ? (r.selectNode(i), r) : (r.setStartBefore(i), r.setEndAfter(i), r);
3074
+ return i.childNodes.length === 0 || Mi(i) ? (r.selectNode(i), r) : (r.setStartBefore(i), r.setEndAfter(i), r);
3075
3075
  }
3076
3076
  }
3077
3077
  } catch (e) {
@@ -3083,25 +3083,25 @@ function fi(n, t) {
3083
3083
  let e = n.getClientRects();
3084
3084
  e.length || n.commonAncestorContainer.nodeType === Node.ELEMENT_NODE && (e = n.commonAncestorContainer.getClientRects());
3085
3085
  const A = 1, i = [];
3086
- for (const h of e)
3086
+ for (const l of e)
3087
3087
  i.push({
3088
- bottom: h.bottom,
3089
- height: h.height,
3090
- left: h.left,
3091
- right: h.right,
3092
- top: h.top,
3093
- width: h.width
3088
+ bottom: l.bottom,
3089
+ height: l.height,
3090
+ left: l.left,
3091
+ right: l.right,
3092
+ top: l.top,
3093
+ width: l.width
3094
3094
  });
3095
3095
  const r = cA(
3096
3096
  i,
3097
3097
  A,
3098
3098
  t
3099
3099
  ), s = Bi(r, A), o = gA(s), a = 2 * 2;
3100
- for (let h = o.length - 1; h >= 0; h--) {
3101
- const l = o[h];
3102
- if (!(l.width * l.height > a))
3100
+ for (let l = o.length - 1; l >= 0; l--) {
3101
+ const h = o[l];
3102
+ if (!(h.width * h.height > a))
3103
3103
  if (o.length > 1)
3104
- o.splice(h, 1);
3104
+ o.splice(l, 1);
3105
3105
  else
3106
3106
  break;
3107
3107
  }
@@ -3115,9 +3115,9 @@ function cA(n, t, e) {
3115
3115
  continue;
3116
3116
  const o = G(r.top, s.top, t) && G(r.bottom, s.bottom, t), a = G(r.left, s.left, t) && G(r.right, s.right, t);
3117
3117
  if ((a && !e || o && !a) && dA(r, s, t)) {
3118
- const h = n.filter((c) => c !== r && c !== s), l = pi(r, s);
3119
- return h.push(l), cA(
3120
- h,
3118
+ const l = n.filter((c) => c !== r && c !== s), h = pi(r, s);
3119
+ return l.push(h), cA(
3120
+ l,
3121
3121
  t,
3122
3122
  e
3123
3123
  );
@@ -3167,10 +3167,10 @@ function gA(n) {
3167
3167
  if (o.length === 1)
3168
3168
  r = o, s = A;
3169
3169
  else {
3170
- const h = Ye(i, A);
3171
- o.length < h.length ? (r = o, s = A) : (r = h, s = i);
3170
+ const l = Ye(i, A);
3171
+ o.length < l.length ? (r = o, s = A) : (r = l, s = i);
3172
3172
  }
3173
- const a = n.filter((h) => h !== s);
3173
+ const a = n.filter((l) => l !== s);
3174
3174
  return Array.prototype.push.apply(a, r), gA(a);
3175
3175
  }
3176
3176
  }
@@ -3253,7 +3253,7 @@ function uA(n) {
3253
3253
  function Ii(n, t) {
3254
3254
  const e = uA(n);
3255
3255
  Object.keys(e).forEach((A) => {
3256
- t.hasOwnProperty(A) || le(n, A);
3256
+ t.hasOwnProperty(A) || he(n, A);
3257
3257
  }), Object.entries(t).forEach(([A, i]) => {
3258
3258
  e[A] !== i && zt(n, A, i);
3259
3259
  });
@@ -3264,7 +3264,7 @@ function ze(n, t) {
3264
3264
  function zt(n, t, e) {
3265
3265
  n.document.documentElement.style.setProperty(t, e);
3266
3266
  }
3267
- function le(n, t) {
3267
+ function he(n, t) {
3268
3268
  n.document.documentElement.style.removeProperty(t);
3269
3269
  }
3270
3270
  const Fi = (n) => {
@@ -3320,19 +3320,19 @@ class Ri {
3320
3320
  */
3321
3321
  add(t) {
3322
3322
  var e, A, i, r;
3323
- const s = `${this.id}-${this.lastItemId++}`, o = he(this.wnd.document, t.locator);
3323
+ const s = `${this.id}-${this.lastItemId++}`, o = le(this.wnd.document, t.locator);
3324
3324
  if (!o) {
3325
3325
  this.comms.log("Can't locate DOM range for decoration", t);
3326
3326
  return;
3327
3327
  }
3328
3328
  const a = o.commonAncestorContainer;
3329
3329
  a.nodeType !== Node.TEXT_NODE && this.experimentalHighlights && (Ne.includes(a.nodeName.toUpperCase()) && ((e = this.notTextFlag) == null || e.set(s, !0)), a.querySelector(Ne.join(", ").toLowerCase()) && ((A = this.notTextFlag) == null || A.set(s, !0)), (((i = a.textContent) == null ? void 0 : i.trim()) || "").length === 0 && ((r = this.notTextFlag) == null || r.set(s, !0)));
3330
- const h = {
3330
+ const l = {
3331
3331
  decoration: t,
3332
3332
  id: s,
3333
3333
  range: o
3334
3334
  };
3335
- this.items.push(h), this.layout(h), this.renderLayout([h]);
3335
+ this.items.push(l), this.layout(l), this.renderLayout([l]);
3336
3336
  }
3337
3337
  /**
3338
3338
  * Removes the decoration with given ID from the group.
@@ -3390,25 +3390,25 @@ class Ri {
3390
3390
  return this.experimentalLayout(t);
3391
3391
  const o = this.wnd.document.createElement("div");
3392
3392
  o.setAttribute("id", t.id), o.style.setProperty("pointer-events", "none");
3393
- const a = this.wnd.innerWidth, h = parseInt(
3393
+ const a = this.wnd.innerWidth, l = parseInt(
3394
3394
  getComputedStyle(this.wnd.document.documentElement).getPropertyValue(
3395
3395
  "column-count"
3396
3396
  )
3397
- ), l = a / (h || 1), c = this.wnd.document.scrollingElement, g = c.scrollLeft, M = c.scrollTop, m = (w, U, Q) => {
3398
- var nt, Mt, ce, ge, de, ue;
3399
- if (w.style.position = "absolute", ((Mt = (nt = t.decoration) == null ? void 0 : nt.style) == null ? void 0 : Mt.width) === "viewport") {
3400
- w.style.width = `${a}px`, w.style.height = `${U.height}px`;
3401
- let bt = Math.floor(U.left / a) * a;
3402
- w.style.left = `${bt + g}px`, w.style.top = `${U.top + M}px`;
3397
+ ), h = a / (l || 1), c = this.wnd.document.scrollingElement, g = c.scrollLeft, m = c.scrollTop, M = (w, y, Y) => {
3398
+ var nt, mt, ce, ge, de, ue;
3399
+ if (w.style.position = "absolute", ((mt = (nt = t.decoration) == null ? void 0 : nt.style) == null ? void 0 : mt.width) === "viewport") {
3400
+ w.style.width = `${a}px`, w.style.height = `${y.height}px`;
3401
+ let Dt = Math.floor(y.left / a) * a;
3402
+ w.style.left = `${Dt + g}px`, w.style.top = `${y.top + m}px`;
3403
3403
  } else if (((ge = (ce = t.decoration) == null ? void 0 : ce.style) == null ? void 0 : ge.width) === "bounds")
3404
- w.style.width = `${Q.width}px`, w.style.height = `${U.height}px`, w.style.left = `${Q.left + g}px`, w.style.top = `${U.top + M}px`;
3404
+ w.style.width = `${Y.width}px`, w.style.height = `${y.height}px`, w.style.left = `${Y.left + g}px`, w.style.top = `${y.top + m}px`;
3405
3405
  else if (((ue = (de = t.decoration) == null ? void 0 : de.style) == null ? void 0 : ue.width) === "page") {
3406
- w.style.width = `${l}px`, w.style.height = `${U.height}px`;
3407
- let bt = Math.floor(U.left / l) * l;
3408
- w.style.left = `${bt + g}px`, w.style.top = `${U.top + M}px`;
3406
+ w.style.width = `${h}px`, w.style.height = `${y.height}px`;
3407
+ let Dt = Math.floor(y.left / h) * h;
3408
+ w.style.left = `${Dt + g}px`, w.style.top = `${y.top + m}px`;
3409
3409
  } else
3410
- w.style.width = `${U.width}px`, w.style.height = `${U.height}px`, w.style.left = `${U.left + g}px`, w.style.top = `${U.top + M}px`;
3411
- }, p = t.range.getBoundingClientRect();
3410
+ w.style.width = `${y.width}px`, w.style.height = `${y.height}px`, w.style.left = `${y.left + g}px`, w.style.top = `${y.top + m}px`;
3411
+ }, B = t.range.getBoundingClientRect();
3412
3412
  let E = this.wnd.document.createElement("template");
3413
3413
  const f = ze(this.wnd, "--USER__appearance") === "readium-night-on" || yi(ze(this.wnd, "--USER__backgroundColor"));
3414
3414
  E.innerHTML = `
@@ -3427,17 +3427,17 @@ class Ri {
3427
3427
  const F = E.content.firstElementChild;
3428
3428
  if (((s = (r = t.decoration) == null ? void 0 : r.style) == null ? void 0 : s.layout) === "bounds") {
3429
3429
  const w = F.cloneNode(!0);
3430
- w.style.setProperty("pointer-events", "none"), m(w, p, p), o.append(w);
3430
+ w.style.setProperty("pointer-events", "none"), M(w, B, B), o.append(w);
3431
3431
  } else {
3432
3432
  let w = fi(
3433
3433
  t.range,
3434
3434
  !0
3435
3435
  // doNotMergeHorizontallyAlignedRects
3436
3436
  );
3437
- w = w.sort((U, Q) => U.top < Q.top ? -1 : U.top > Q.top ? 1 : 0);
3438
- for (let U of w) {
3439
- const Q = F.cloneNode(!0);
3440
- Q.style.setProperty("pointer-events", "none"), m(Q, U, p), o.append(Q);
3437
+ w = w.sort((y, Y) => y.top < Y.top ? -1 : y.top > Y.top ? 1 : 0);
3438
+ for (let y of w) {
3439
+ const Y = F.cloneNode(!0);
3440
+ Y.style.setProperty("pointer-events", "none"), M(Y, y, B), o.append(Y);
3441
3441
  }
3442
3442
  }
3443
3443
  t.container = o, t.clickableElements = Array.from(
@@ -3472,7 +3472,7 @@ class Ri {
3472
3472
  this.experimentalHighlights && this.wnd.CSS.highlights.delete(this.id), this.container && (this.container.remove(), this.container = void 0);
3473
3473
  }
3474
3474
  }
3475
- const MA = class Zt extends Vt {
3475
+ const mA = class Zt extends Vt {
3476
3476
  constructor() {
3477
3477
  super(...arguments), this.resizeFrame = 0, this.lastGroupId = 0, this.groups = /* @__PURE__ */ new Map(), this.handleResizer = this.handleResize.bind(this);
3478
3478
  }
@@ -3517,9 +3517,9 @@ const MA = class Zt extends Vt {
3517
3517
  return t.removeEventListener("orientationchange", this.handleResizer), t.removeEventListener("resize", this.handleResizer), e.unregisterAll(Zt.moduleName), this.resizeObserver.disconnect(), this.cleanup(), e.log("Decorator Unmounted"), !0;
3518
3518
  }
3519
3519
  };
3520
- MA.moduleName = "decorator";
3521
- let Qi = MA;
3522
- const Se = "readium-snapper-style", mA = class Kt extends Vt {
3520
+ mA.moduleName = "decorator";
3521
+ let Qi = mA;
3522
+ const Se = "readium-snapper-style", MA = class Kt extends Vt {
3523
3523
  constructor() {
3524
3524
  super(...arguments), this.protected = !1;
3525
3525
  }
@@ -3543,8 +3543,8 @@ const Se = "readium-snapper-style", mA = class Kt extends Vt {
3543
3543
  return (A = t.document.getElementById(Se)) == null || A.remove(), e.log("Snapper Unmounted"), !0;
3544
3544
  }
3545
3545
  };
3546
- mA.moduleName = "snapper";
3547
- let fA = mA;
3546
+ MA.moduleName = "snapper";
3547
+ let fA = MA;
3548
3548
  function et(n) {
3549
3549
  return n.document.body.dir.toLowerCase() === "rtl";
3550
3550
  }
@@ -3569,15 +3569,15 @@ function xe(n) {
3569
3569
  const A = e.length, i = n.document.scrollingElement.scrollWidth, r = n.visualViewport.width, s = Math.round(i / r * t) % t, o = t === 1 || s === 0 ? 0 : t - s;
3570
3570
  if (o > 0)
3571
3571
  for (let a = 0; a < o; a++) {
3572
- const h = n.document.createElement("div");
3573
- h.setAttribute("id", `readium-virtual-page-${a}`), h.dataset.readium = "true", CSS.supports("break-before", "column") ? h.style.breakBefore = "column" : (CSS.supports("break-inside", "avoid-column") && (h.style.breakInside = "avoid-column"), h.style.height = Yi(n.document.documentElement) + "px"), h.innerHTML = "&#8203;", n.document.body.appendChild(h);
3572
+ const l = n.document.createElement("div");
3573
+ l.setAttribute("id", `readium-virtual-page-${a}`), l.dataset.readium = "true", CSS.supports("break-before", "column") ? l.style.breakBefore = "column" : (CSS.supports("break-inside", "avoid-column") && (l.style.breakInside = "avoid-column"), l.style.height = Yi(n.document.documentElement) + "px"), l.innerHTML = "&#8203;", n.document.body.appendChild(l);
3574
3574
  }
3575
3575
  return A !== o;
3576
3576
  }
3577
3577
  function zi(n) {
3578
3578
  return n < 0.5 ? 2 * n * n : -1 + (4 - 2 * n) * n;
3579
3579
  }
3580
- function x(n) {
3580
+ function T(n) {
3581
3581
  const t = n.getSelection();
3582
3582
  t && t.removeAllRanges();
3583
3583
  }
@@ -3645,7 +3645,7 @@ function Ti(n) {
3645
3645
  }
3646
3646
  return !1;
3647
3647
  }
3648
- const Te = "readium-column-snapper-style", ji = 200, IA = class j extends fA {
3648
+ const Te = "readium-column-snapper-style", ji = 200, IA = class V extends fA {
3649
3649
  constructor() {
3650
3650
  super(...arguments), this.shakeTimeout = 0, this.snappingCancelled = !1, this.alreadyScrollLeft = 0, this.overscroll = 0, this.cachedScrollWidth = 0, this.touchState = 0, this.startingX = void 0, this.endingX = void 0, this.onTouchStarter = this.onTouchStart.bind(this), this.onTouchEnder = this.onTouchEnd.bind(this), this.onWidthChanger = this.onWidthChange.bind(this), this.onTouchMover = this.onTouchMove.bind(this);
3651
3651
  }
@@ -3681,28 +3681,28 @@ const Te = "readium-column-snapper-style", ji = 200, IA = class j extends fA {
3681
3681
  }
3682
3682
  // Snaps the current offset to the page width.
3683
3683
  snapCurrentOffset(t = !1, e = !1) {
3684
- const A = this.wnd.scrollX > 0 ? this.wnd.scrollX : this.alreadyScrollLeft, i = this.doc(), r = this.dragOffset(), s = pA(this.wnd), o = Math.min(Math.max(0, A), this.cachedScrollWidth), a = et(this.wnd) ? -1 : 1, h = (
3684
+ const A = this.wnd.scrollX > 0 ? this.wnd.scrollX : this.alreadyScrollLeft, i = this.doc(), r = this.dragOffset(), s = pA(this.wnd), o = Math.min(Math.max(0, A), this.cachedScrollWidth), a = et(this.wnd) ? -1 : 1, l = (
3685
3685
  // The hurdle to overcome in order to change pages
3686
3686
  a * (this.wnd.innerWidth / 3) * (a * r > 0 ? 2 : 1)
3687
- ), l = this.snapOffset(o + h);
3688
- if (t && l !== this.scrollOffset()) {
3687
+ ), h = this.snapOffset(o + l);
3688
+ if (t && h !== this.scrollOffset()) {
3689
3689
  this.snappingCancelled = !1;
3690
- const c = (p, E, f, F) => f > F ? E : p + (E - p) * zi(f / F), g = (
3690
+ const c = (B, E, f, F) => f > F ? E : B + (E - B) * zi(f / F), g = (
3691
3691
  /*Math.abs(startX - (this.useTransform ? currentOffset : 0)) < 10 ? 1 : */
3692
3692
  ji * s
3693
3693
  );
3694
- let M;
3695
- const m = (p) => {
3694
+ let m;
3695
+ const M = (B) => {
3696
3696
  if (this.snappingCancelled)
3697
3697
  return;
3698
- M || (M = p);
3699
- const E = p - M, f = c(this.overscroll, 0, E, g), F = c(A, l, E, g);
3700
- i.scrollLeft = F, this.overscroll !== 0 && (i.style.transform = `translate3d(${-f}px, 0px, 0px)`), E < g ? this.wnd.requestAnimationFrame(m) : (this.clearTouches(), i.style.removeProperty("transform"), i.scrollLeft = l, e || this.reportProgress());
3698
+ m || (m = B);
3699
+ const E = B - m, f = c(this.overscroll, 0, E, g), F = c(A, h, E, g);
3700
+ i.scrollLeft = F, this.overscroll !== 0 && (i.style.transform = `translate3d(${-f}px, 0px, 0px)`), E < g ? this.wnd.requestAnimationFrame(M) : (this.clearTouches(), i.style.removeProperty("transform"), i.scrollLeft = h, e || this.reportProgress());
3701
3701
  };
3702
- this.wnd.requestAnimationFrame(m);
3702
+ this.wnd.requestAnimationFrame(M);
3703
3703
  } else
3704
3704
  i.style.removeProperty("transform"), this.wnd.requestAnimationFrame(() => {
3705
- i.scrollLeft = l, this.clearTouches(), e || this.reportProgress();
3705
+ i.scrollLeft = h, this.clearTouches(), e || this.reportProgress();
3706
3706
  });
3707
3707
  }
3708
3708
  dragOffset() {
@@ -3738,7 +3738,7 @@ const Te = "readium-column-snapper-style", ji = 200, IA = class j extends fA {
3738
3738
  onTouchMove(t) {
3739
3739
  if (this.touchState === 0)
3740
3740
  return;
3741
- this.touchState === 1 && (this.touchState = 2, x(this.wnd)), this.endingX = t.touches[0].clientX;
3741
+ this.touchState === 1 && (this.touchState = 2, T(this.wnd)), this.endingX = t.touches[0].clientX;
3742
3742
  const e = this.dragOffset(), A = this.alreadyScrollLeft + e;
3743
3743
  A < 0 ? (this.overscroll = A, this.doc().style.transform = `translate3d(${-this.overscroll}px, 0px, 0px)`) : A + this.wnd.innerWidth > this.cachedScrollWidth ? (this.overscroll = A, this.doc().style.transform = `translate3d(${-A}px, 0px, 0px)`) : (this.overscroll = 0, this.doc().style.removeProperty("transform"), this.doc().scrollLeft = this.alreadyScrollLeft + e);
3744
3744
  }
@@ -3788,8 +3788,8 @@ const Te = "readium-column-snapper-style", ji = 200, IA = class j extends fA {
3788
3788
  }), this.resizeObserver.observe(t.document.body), this.mutationObserver = new MutationObserver((r) => {
3789
3789
  for (const s of r)
3790
3790
  if (s.target === this.wnd.document.documentElement) {
3791
- const o = s.oldValue, a = s.target.getAttribute("style"), h = /transform\s*:\s*([^;]+)/, l = o == null ? void 0 : o.match(h), c = a == null ? void 0 : a.match(h);
3792
- (!l && !c || l && !c || l && c && l[1] !== c[1]) && (t.requestAnimationFrame(() => {
3791
+ const o = s.oldValue, a = s.target.getAttribute("style"), l = /transform\s*:\s*([^;]+)/, h = o == null ? void 0 : o.match(l), c = a == null ? void 0 : a.match(l);
3792
+ (!h && !c || h && !c || h && c && h[1] !== c[1]) && (t.requestAnimationFrame(() => {
3793
3793
  t && xe(t);
3794
3794
  }), this.onWidthChange());
3795
3795
  } else
@@ -3799,7 +3799,7 @@ const Te = "readium-column-snapper-style", ji = 200, IA = class j extends fA {
3799
3799
  const s = this.doc().scrollLeft;
3800
3800
  return this.doc().scrollLeft = this.snapOffset(r), s !== this.doc().scrollLeft;
3801
3801
  };
3802
- return t.addEventListener("orientationchange", this.onWidthChanger), t.addEventListener("resize", this.onWidthChanger), t.requestAnimationFrame(() => this.cachedScrollWidth = this.doc().scrollWidth), e.register("go_progression", j.moduleName, (r, s) => {
3802
+ return t.addEventListener("orientationchange", this.onWidthChanger), t.addEventListener("resize", this.onWidthChanger), t.requestAnimationFrame(() => this.cachedScrollWidth = this.doc().scrollWidth), e.register("go_progression", V.moduleName, (r, s) => {
3803
3803
  const o = r;
3804
3804
  if (o < 0 || o > 1) {
3805
3805
  e.send("error", {
@@ -3809,22 +3809,22 @@ const Te = "readium-column-snapper-style", ji = 200, IA = class j extends fA {
3809
3809
  }
3810
3810
  this.wnd.requestAnimationFrame(() => {
3811
3811
  this.cachedScrollWidth = this.doc().scrollWidth;
3812
- const a = this.cachedScrollWidth, h = et(t) ? -1 : 1, l = a * o * h;
3813
- this.doc().scrollLeft = this.snapOffset(l), this.reportProgress(), x(this.wnd), s(!0);
3812
+ const a = this.cachedScrollWidth, l = et(t) ? -1 : 1, h = a * o * l;
3813
+ this.doc().scrollLeft = this.snapOffset(h), this.reportProgress(), T(this.wnd), s(!0);
3814
3814
  });
3815
- }), e.register("go_id", j.moduleName, (r, s) => {
3815
+ }), e.register("go_id", V.moduleName, (r, s) => {
3816
3816
  const o = t.document.getElementById(r);
3817
3817
  if (!o) {
3818
3818
  s(!1);
3819
3819
  return;
3820
3820
  }
3821
3821
  this.wnd.requestAnimationFrame(() => {
3822
- this.doc().scrollLeft = this.snapOffset(o.getBoundingClientRect().left + t.scrollX), this.reportProgress(), x(this.wnd), s(!0);
3822
+ this.doc().scrollLeft = this.snapOffset(o.getBoundingClientRect().left + t.scrollX), this.reportProgress(), T(this.wnd), s(!0);
3823
3823
  });
3824
- }), e.register("go_text", j.moduleName, (r, s) => {
3824
+ }), e.register("go_text", V.moduleName, (r, s) => {
3825
3825
  let o;
3826
3826
  Array.isArray(r) && (r.length > 1 && (o = r[1]), r = r[0]);
3827
- const a = ut.deserialize(r), h = he(this.wnd.document, new tt({
3827
+ const a = ut.deserialize(r), l = le(this.wnd.document, new tt({
3828
3828
  href: t.location.href,
3829
3829
  type: "text/html",
3830
3830
  text: a,
@@ -3834,49 +3834,49 @@ const Te = "readium-column-snapper-style", ji = 200, IA = class j extends fA {
3834
3834
  ])
3835
3835
  }) : void 0
3836
3836
  }));
3837
- if (!h) {
3837
+ if (!l) {
3838
3838
  s(!1);
3839
3839
  return;
3840
3840
  }
3841
3841
  this.wnd.requestAnimationFrame(() => {
3842
- this.doc().scrollLeft = this.snapOffset(h.getBoundingClientRect().left + t.scrollX), this.reportProgress(), x(this.wnd), s(!0);
3842
+ this.doc().scrollLeft = this.snapOffset(l.getBoundingClientRect().left + t.scrollX), this.reportProgress(), T(this.wnd), s(!0);
3843
3843
  });
3844
- }), e.register("go_end", j.moduleName, (r, s) => {
3844
+ }), e.register("go_end", V.moduleName, (r, s) => {
3845
3845
  const o = et(t) ? -1 : 1;
3846
3846
  this.wnd.requestAnimationFrame(() => {
3847
3847
  this.cachedScrollWidth = this.doc().scrollWidth;
3848
3848
  const a = this.cachedScrollWidth * o;
3849
3849
  if (this.doc().scrollLeft === a)
3850
3850
  return s(!1);
3851
- this.doc().scrollLeft = this.snapOffset(a), this.reportProgress(), x(this.wnd), s(!0);
3851
+ this.doc().scrollLeft = this.snapOffset(a), this.reportProgress(), T(this.wnd), s(!0);
3852
3852
  });
3853
- }), e.register("go_start", j.moduleName, (r, s) => {
3853
+ }), e.register("go_start", V.moduleName, (r, s) => {
3854
3854
  this.wnd.requestAnimationFrame(() => {
3855
3855
  if (this.doc().scrollLeft === 0)
3856
3856
  return s(!1);
3857
- this.doc().scrollLeft = 0, this.reportProgress(), x(this.wnd), s(!0);
3857
+ this.doc().scrollLeft = 0, this.reportProgress(), T(this.wnd), s(!0);
3858
3858
  });
3859
- }), e.register("go_prev", j.moduleName, (r, s) => {
3859
+ }), e.register("go_prev", V.moduleName, (r, s) => {
3860
3860
  this.wnd.requestAnimationFrame(() => {
3861
3861
  this.cachedScrollWidth = this.doc().scrollWidth;
3862
- const o = t.scrollX - t.innerWidth, a = et(t) ? -(this.cachedScrollWidth - t.innerWidth) : 0, h = i(Math.max(o, a));
3863
- h && (this.reportProgress(), x(this.wnd)), s(h);
3862
+ const o = t.scrollX - t.innerWidth, a = et(t) ? -(this.cachedScrollWidth - t.innerWidth) : 0, l = i(Math.max(o, a));
3863
+ l && (this.reportProgress(), T(this.wnd)), s(l);
3864
3864
  });
3865
- }), e.register("go_next", j.moduleName, (r, s) => {
3865
+ }), e.register("go_next", V.moduleName, (r, s) => {
3866
3866
  this.wnd.requestAnimationFrame(() => {
3867
3867
  this.cachedScrollWidth = this.doc().scrollWidth;
3868
- const o = t.scrollX + t.innerWidth, a = et(t) ? 0 : this.cachedScrollWidth - t.innerWidth, h = i(Math.min(o, a));
3869
- h && (this.reportProgress(), x(this.wnd)), s(h);
3868
+ const o = t.scrollX + t.innerWidth, a = et(t) ? 0 : this.cachedScrollWidth - t.innerWidth, l = i(Math.min(o, a));
3869
+ l && (this.reportProgress(), T(this.wnd)), s(l);
3870
3870
  });
3871
- }), e.register("unfocus", j.moduleName, (r, s) => {
3872
- this.snappingCancelled = !0, x(this.wnd), s(!0);
3873
- }), e.register("shake", j.moduleName, (r, s) => {
3871
+ }), e.register("unfocus", V.moduleName, (r, s) => {
3872
+ this.snappingCancelled = !0, T(this.wnd), s(!0);
3873
+ }), e.register("shake", V.moduleName, (r, s) => {
3874
3874
  this.shake(), s(!0);
3875
- }), e.register("focus", j.moduleName, (r, s) => {
3875
+ }), e.register("focus", V.moduleName, (r, s) => {
3876
3876
  this.wnd.requestAnimationFrame(() => {
3877
3877
  this.cachedScrollWidth = this.doc().scrollWidth, this.snapCurrentOffset(!1, !0), this.reportProgress(), s(!0);
3878
3878
  });
3879
- }), e.register("first_visible_locator", j.moduleName, (r, s) => {
3879
+ }), e.register("first_visible_locator", V.moduleName, (r, s) => {
3880
3880
  const o = EA(t, !1);
3881
3881
  this.comms.send("first_visible_locator", o.serialize()), s(!0);
3882
3882
  }), t.addEventListener("touchstart", this.onTouchStarter, { passive: !0 }), t.addEventListener("touchend", this.onTouchEnder, { passive: !0 }), t.addEventListener("touchmove", this.onTouchMover, { passive: !0 }), t.document.addEventListener("touchstart", () => {
@@ -3884,7 +3884,7 @@ const Te = "readium-column-snapper-style", ji = 200, IA = class j extends fA {
3884
3884
  }
3885
3885
  unmount(t, e) {
3886
3886
  var A;
3887
- return this.snappingCancelled = !0, e.unregisterAll(j.moduleName), this.resizeObserver.disconnect(), this.mutationObserver.disconnect(), t.removeEventListener("touchstart", this.onTouchStarter), t.removeEventListener("touchend", this.onTouchEnder), t.removeEventListener("touchmove", this.onTouchMover), t.removeEventListener("orientationchange", this.onWidthChanger), t.removeEventListener("resize", this.onWidthChanger), (A = t.document.getElementById(Te)) == null || A.remove(), e.log("ColumnSnapper Unmounted"), super.unmount(t, e);
3887
+ return this.snappingCancelled = !0, e.unregisterAll(V.moduleName), this.resizeObserver.disconnect(), this.mutationObserver.disconnect(), t.removeEventListener("touchstart", this.onTouchStarter), t.removeEventListener("touchend", this.onTouchEnder), t.removeEventListener("touchmove", this.onTouchMover), t.removeEventListener("orientationchange", this.onWidthChanger), t.removeEventListener("resize", this.onWidthChanger), (A = t.document.getElementById(Te)) == null || A.remove(), e.log("ColumnSnapper Unmounted"), super.unmount(t, e);
3888
3888
  }
3889
3889
  };
3890
3890
  IA.moduleName = "column_snapper";
@@ -3928,7 +3928,7 @@ const je = "readium-scroll-snapper-style", FA = class k extends fA {
3928
3928
  return;
3929
3929
  }
3930
3930
  this.wnd.requestAnimationFrame(() => {
3931
- this.doc().scrollTop = this.doc().offsetHeight * s, this.reportProgress({ progress: s, reference: this.wnd.innerHeight / this.doc().scrollHeight }), x(this.wnd), r(!0);
3931
+ this.doc().scrollTop = this.doc().offsetHeight * s, this.reportProgress({ progress: s, reference: this.wnd.innerHeight / this.doc().scrollHeight }), T(this.wnd), r(!0);
3932
3932
  });
3933
3933
  }), e.register("go_id", k.moduleName, (i, r) => {
3934
3934
  const s = t.document.getElementById(i);
@@ -3939,12 +3939,12 @@ const je = "readium-scroll-snapper-style", FA = class k extends fA {
3939
3939
  this.wnd.requestAnimationFrame(() => {
3940
3940
  this.doc().scrollTop = s.getBoundingClientRect().top + t.scrollY - t.innerHeight / 2;
3941
3941
  const o = this.doc().scrollTop / this.doc().offsetHeight;
3942
- this.reportProgress({ progress: o, reference: this.wnd.innerHeight / this.doc().scrollHeight }), x(this.wnd), r(!0);
3942
+ this.reportProgress({ progress: o, reference: this.wnd.innerHeight / this.doc().scrollHeight }), T(this.wnd), r(!0);
3943
3943
  });
3944
3944
  }), e.register("go_text", k.moduleName, (i, r) => {
3945
3945
  let s;
3946
3946
  Array.isArray(i) && (i.length > 1 && (s = i[1]), i = i[0]);
3947
- const o = ut.deserialize(i), a = he(this.wnd.document, new tt({
3947
+ const o = ut.deserialize(i), a = le(this.wnd.document, new tt({
3948
3948
  href: t.location.href,
3949
3949
  type: "text/html",
3950
3950
  text: o,
@@ -3960,8 +3960,8 @@ const je = "readium-scroll-snapper-style", FA = class k extends fA {
3960
3960
  }
3961
3961
  this.wnd.requestAnimationFrame(() => {
3962
3962
  this.doc().scrollTop = a.getBoundingClientRect().top + t.scrollY - t.innerHeight / 2;
3963
- const h = this.doc().scrollTop / this.doc().offsetHeight;
3964
- this.reportProgress({ progress: h, reference: this.wnd.innerHeight / this.doc().scrollHeight }), x(this.wnd), r(!0);
3963
+ const l = this.doc().scrollTop / this.doc().offsetHeight;
3964
+ this.reportProgress({ progress: l, reference: this.wnd.innerHeight / this.doc().scrollHeight }), T(this.wnd), r(!0);
3965
3965
  });
3966
3966
  }), e.register("go_start", k.moduleName, (i, r) => {
3967
3967
  if (this.doc().scrollTop === 0)
@@ -3972,7 +3972,7 @@ const je = "readium-scroll-snapper-style", FA = class k extends fA {
3972
3972
  return r(!1);
3973
3973
  this.doc().scrollTop = 0, this.reportProgress({ progress: 0, reference: this.wnd.innerHeight / this.doc().scrollHeight }), r(!0);
3974
3974
  }), e.register("unfocus", k.moduleName, (i, r) => {
3975
- x(this.wnd), r(!0);
3975
+ T(this.wnd), r(!0);
3976
3976
  }), e.register([
3977
3977
  "go_next",
3978
3978
  "go_prev"
@@ -3990,7 +3990,7 @@ const je = "readium-scroll-snapper-style", FA = class k extends fA {
3990
3990
  }
3991
3991
  };
3992
3992
  FA.moduleName = "scroll_snapper";
3993
- let Di = FA;
3993
+ let Pi = FA;
3994
3994
  class UA extends Vt {
3995
3995
  constructor() {
3996
3996
  super(...arguments), this.pointerMoved = !1, this.onPointerUp = this.onPointUp.bind(this), this.onPointerMove = this.onPointMove.bind(this), this.onPointerDown = this.onPointDown.bind(this), this.onContextMenu = this.onContext.bind(this), this.onClicker = this.onClick.bind(this);
@@ -3999,15 +3999,15 @@ class UA extends Vt {
3999
3999
  var e, A, i, r, s;
4000
4000
  const o = this.wnd.getSelection();
4001
4001
  if (o && ((e = o.toString()) == null ? void 0 : e.length) > 0) {
4002
- const h = (A = o.getRangeAt(0)) == null ? void 0 : A.getClientRects();
4003
- if (!h || h.length === 0)
4002
+ const l = (A = o.getRangeAt(0)) == null ? void 0 : A.getClientRects();
4003
+ if (!l || l.length === 0)
4004
4004
  return;
4005
- const l = h[0], c = {
4005
+ const h = l[0], c = {
4006
4006
  text: o.toString(),
4007
- x: l.x,
4008
- y: l.y,
4009
- width: l.width,
4010
- height: l.height,
4007
+ x: h.x,
4008
+ y: h.y,
4009
+ width: h.width,
4010
+ height: h.height,
4011
4011
  targetFrameSrc: (r = (i = this.wnd) == null ? void 0 : i.location) == null ? void 0 : r.href
4012
4012
  };
4013
4013
  this.comms.send("text_selected", c);
@@ -4187,7 +4187,7 @@ const Ve = "readium-viewport", RA = class At extends CA {
4187
4187
  const s = i;
4188
4188
  zt(t, s[0], s[1]), r(!0);
4189
4189
  }), e.register("remove_property", At.moduleName, (i, r) => {
4190
- le(t, i), r(!0);
4190
+ he(t, i), r(!0);
4191
4191
  }), e.register("activate", At.moduleName, (i, r) => {
4192
4192
  this.unblock(t), r(!0);
4193
4193
  }), e.log("ReflowableSetup Mounted"), !0;
@@ -4198,14 +4198,14 @@ const Ve = "readium-viewport", RA = class At extends CA {
4198
4198
  }
4199
4199
  };
4200
4200
  RA.moduleName = "reflowable_setup";
4201
- let bi = RA;
4202
- const De = "readium-fixed-style", QA = class Z extends CA {
4201
+ let Di = RA;
4202
+ const Pe = "readium-fixed-style", QA = class Z extends CA {
4203
4203
  mount(t, e) {
4204
4204
  if (!super.mount(t, e))
4205
4205
  return !1;
4206
4206
  t.navigator.epubReadingSystem.layoutStyle = "paginated";
4207
4207
  const A = t.document.createElement("style");
4208
- return A.id = De, A.dataset.readium = "true", A.textContent = `
4208
+ return A.id = Pe, A.dataset.readium = "true", A.textContent = `
4209
4209
  html, body {
4210
4210
  text-size-adjust: none;
4211
4211
  -ms-text-size-adjust: none;
@@ -4221,9 +4221,9 @@ const De = "readium-fixed-style", QA = class Z extends CA {
4221
4221
  const s = i;
4222
4222
  zt(t, s[0], s[1]), r(!0);
4223
4223
  }), e.register("remove_property", Z.moduleName, (i, r) => {
4224
- le(t, i), r(!0);
4224
+ he(t, i), r(!0);
4225
4225
  }), e.register("first_visible_locator", Z.moduleName, (i, r) => r(!1)), e.register("unfocus", Z.moduleName, (i, r) => {
4226
- x(t), r(!0);
4226
+ T(t), r(!0);
4227
4227
  }), e.register([
4228
4228
  "focus",
4229
4229
  "go_next",
@@ -4239,11 +4239,11 @@ const De = "readium-fixed-style", QA = class Z extends CA {
4239
4239
  }
4240
4240
  unmount(t, e) {
4241
4241
  var A;
4242
- return e.unregisterAll(Z.moduleName), (A = t.document.getElementById(De)) == null || A.remove(), e.log("FixedSetup Unmounted"), super.unmount(t, e);
4242
+ return e.unregisterAll(Z.moduleName), (A = t.document.getElementById(Pe)) == null || A.remove(), e.log("FixedSetup Unmounted"), super.unmount(t, e);
4243
4243
  }
4244
4244
  };
4245
4245
  QA.moduleName = "fixed_setup";
4246
- let Pi = QA;
4246
+ let bi = QA;
4247
4247
  const vi = [
4248
4248
  "fixed_setup",
4249
4249
  "decorator",
@@ -4256,12 +4256,12 @@ const vi = [
4256
4256
  "scroll_snapper"
4257
4257
  ], _t = new Map([
4258
4258
  // All modules go here
4259
- Pi,
4260
4259
  bi,
4260
+ Di,
4261
4261
  UA,
4262
4262
  Qi,
4263
4263
  Vi,
4264
- Di
4264
+ Pi
4265
4265
  ].map((n) => [n.moduleName, n]));
4266
4266
  class Nt {
4267
4267
  /**
@@ -4502,7 +4502,7 @@ class ki {
4502
4502
  return this.loader;
4503
4503
  }
4504
4504
  }
4505
- const be = 5, Pe = 3;
4505
+ const De = 5, be = 3;
4506
4506
  class Ji {
4507
4507
  constructor(t, e, A) {
4508
4508
  this.pool = /* @__PURE__ */ new Map(), this.blobs = /* @__PURE__ */ new Map(), this.inprogress = /* @__PURE__ */ new Map(), this.pendingUpdates = /* @__PURE__ */ new Map(), this.container = t, this.positions = e, this.currentCssProperties = A;
@@ -4523,30 +4523,30 @@ class Ji {
4523
4523
  async update(t, e, A, i = !1) {
4524
4524
  let r = this.positions.findIndex((a) => a.locations.position === e.locations.position);
4525
4525
  if (r < 0)
4526
- throw Error(`Locator not found in position list: ${e.locations.position} > ${this.positions.reduce((a, h) => h.locations.position || 0 > a ? h.locations.position || 0 : a, 0)}`);
4526
+ throw Error(`Locator not found in position list: ${e.locations.position} > ${this.positions.reduce((a, l) => l.locations.position || 0 > a ? l.locations.position || 0 : a, 0)}`);
4527
4527
  const s = this.positions[r].href;
4528
4528
  this.inprogress.has(s) && await this.inprogress.get(s);
4529
- const o = new Promise(async (a, h) => {
4530
- var m, p, E;
4531
- const l = [], c = [];
4529
+ const o = new Promise(async (a, l) => {
4530
+ var M, B, E;
4531
+ const h = [], c = [];
4532
4532
  this.positions.forEach((f, F) => {
4533
- (F > r + be || F < r - be) && (l.includes(f.href) || l.push(f.href)), F < r + Pe && F > r - Pe && (c.includes(f.href) || c.push(f.href));
4534
- }), l.forEach(async (f) => {
4533
+ (F > r + De || F < r - De) && (h.includes(f.href) || h.push(f.href)), F < r + be && F > r - be && (c.includes(f.href) || c.push(f.href));
4534
+ }), h.forEach(async (f) => {
4535
4535
  var F;
4536
4536
  c.includes(f) || this.pool.has(f) && (await ((F = this.pool.get(f)) == null ? void 0 : F.destroy()), this.pool.delete(f), this.pendingUpdates.has(f) && this.pendingUpdates.set(f, { inPool: !1 }));
4537
4537
  }), this.currentBaseURL !== void 0 && t.baseURL !== this.currentBaseURL && (this.blobs.forEach((f) => URL.revokeObjectURL(f)), this.blobs.clear()), this.currentBaseURL = t.baseURL;
4538
4538
  const g = async (f) => {
4539
- var U;
4540
- if (i && (this.blobs.forEach((Q) => URL.revokeObjectURL(Q)), this.blobs.clear(), this.pendingUpdates.clear()), this.pendingUpdates.has(f) && ((U = this.pendingUpdates.get(f)) == null ? void 0 : U.inPool) === !1) {
4541
- const Q = this.blobs.get(f);
4542
- Q && (URL.revokeObjectURL(Q), this.blobs.delete(f), this.pendingUpdates.delete(f));
4539
+ var y;
4540
+ if (i && (this.blobs.forEach((Y) => URL.revokeObjectURL(Y)), this.blobs.clear(), this.pendingUpdates.clear()), this.pendingUpdates.has(f) && ((y = this.pendingUpdates.get(f)) == null ? void 0 : y.inPool) === !1) {
4541
+ const Y = this.blobs.get(f);
4542
+ Y && (URL.revokeObjectURL(Y), this.blobs.delete(f), this.pendingUpdates.delete(f));
4543
4543
  }
4544
4544
  if (this.pool.has(f)) {
4545
- const Q = this.pool.get(f);
4545
+ const Y = this.pool.get(f);
4546
4546
  if (!this.blobs.has(f))
4547
- await Q.destroy(), this.pool.delete(f), this.pendingUpdates.delete(f);
4547
+ await Y.destroy(), this.pool.delete(f), this.pendingUpdates.delete(f);
4548
4548
  else {
4549
- await Q.load(A);
4549
+ await Y.load(A);
4550
4550
  return;
4551
4551
  }
4552
4552
  }
@@ -4563,13 +4563,13 @@ class Ji {
4563
4563
  try {
4564
4564
  await Promise.all(c.map((f) => g(f)));
4565
4565
  } catch (f) {
4566
- h(f);
4566
+ l(f);
4567
4567
  }
4568
- const M = this.pool.get(s);
4569
- if ((M == null ? void 0 : M.source) !== ((m = this._currentFrame) == null ? void 0 : m.source) || i) {
4570
- await ((p = this._currentFrame) == null ? void 0 : p.hide()), M && await M.load(A);
4568
+ const m = this.pool.get(s);
4569
+ if ((m == null ? void 0 : m.source) !== ((M = this._currentFrame) == null ? void 0 : M.source) || i) {
4570
+ await ((B = this._currentFrame) == null ? void 0 : B.hide()), m && await m.load(A);
4571
4571
  const f = (((E = e == null ? void 0 : e.locations) == null ? void 0 : E.progression) ?? 0) > 0;
4572
- M && await M.show(f ? e.locations.progression : void 0), this._currentFrame = M;
4572
+ m && await m.show(f ? e.locations.progression : void 0), this._currentFrame = m;
4573
4573
  }
4574
4574
  a();
4575
4575
  });
@@ -4829,12 +4829,12 @@ class NA {
4829
4829
  s.Linux = A(a);
4830
4830
  else
4831
4831
  return;
4832
- Object.keys(this.OS).forEach((h) => delete this.OS[h]), Object.assign(this.OS, s);
4832
+ Object.keys(this.OS).forEach((l) => delete this.OS[l]), Object.assign(this.OS, s);
4833
4833
  }
4834
4834
  })({})), this.UA = ((r) => {
4835
4835
  let s = !1;
4836
4836
  if (t && Array.isArray(t.brands)) {
4837
- const o = t.brands.reduce((a, h) => (a[h.brand] = [h.version * 1], a), {});
4837
+ const o = t.brands.reduce((a, l) => (a[l.brand] = [l.version * 1], a), {});
4838
4838
  o["Google Chrome"] ? (s = !0, r.Blink = r.Chromium = o.Chromium || [], r.Chrome = o["Google Chrome"]) : o["Microsoft Edge"] ? (s = !0, r.Blink = r.Chromium = o.Chromium || [], r.Edge = o["Microsoft Edge"]) : o.Opera && (s = !0, r.Blink = r.Chromium = o.Chromium || [], r.Opera = o.Opera);
4839
4839
  }
4840
4840
  return s || (/ Gecko\/\d/.test(e) ? (r.Gecko = i("rv"), / Waterfox\/\d/.test(e) ? r.Waterfox = i("Waterfox") : / Firefox\/\d/.test(e) && (r.Firefox = i("Firefox"))) : / Edge\/\d/.test(e) ? (r.EdgeHTML = i("Edge"), r.Edge = r.EdgeHTML) : / Chrom(ium|e)\/\d/.test(e) ? (r.Blink = r.Chromium = ((o) => o[0] ? o : i("Chrome"))(i("Chromium")), / EdgA?\/\d/.test(e) ? r.Edge = ((o) => o[0] ? o : i("Edg"))(i("EdgA")) : / OPR\/\d/.test(e) ? r.Opera = i("OPR") : / Vivaldi\/\d/.test(e) ? r.Vivaldi = i("Vivaldi") : / Silk\/\d/.test(e) ? r.Silk = i("Silk") : / UCBrowser\/\d/.test(e) ? r.UCBrowser = i("UCBrowser") : / Phoebe\/\d/.test(e) ? r.Phoebe = i("Phoebe") : r.Chrome = ((o) => o[0] ? o : r.Chromium)(i("Chrome"))) : / AppleWebKit\/\d/.test(e) ? (r.WebKit = i("AppleWebKit"), / CriOS \d/.test(e) ? r.Chrome = i("CriOS") : / FxiOS \d/.test(e) ? r.Firefox = i("FxiOS") : / EdgiOS\/\d/.test(e) ? r.Edge = i("EdgiOS") : / Version\/\d/.test(e) && (r.Safari = i("Version"))) : / Trident\/\d/.test(e) && (r.Trident = i("Trident"), r.InternetExplorer = ((o) => o[0] ? o : i("MSIE"))(i("rv")))), /[\[; ]FB(AN|_IAB)\//.test(e) && (r.Facebook = i("FBAV")), / Line\/\d/.test(e) && (r.LINE = i("Line")), r;
@@ -4896,15 +4896,15 @@ class Zi {
4896
4896
  };
4897
4897
  let r, s, o, a;
4898
4898
  o = r = A, a = s = 1 - A;
4899
- const h = {
4899
+ const l = {
4900
4900
  X: null,
4901
4901
  Y: null
4902
4902
  };
4903
- return i.X < o ? h.X = 0 : a < i.X ? h.X = 2 : h.X = 1, i.Y < r ? h.Y = 0 : s < i.Y ? h.Y = 2 : h.Y = 1, {
4903
+ return i.X < o ? l.X = 0 : a < i.X ? l.X = 2 : l.X = 1, i.Y < r ? l.Y = 0 : s < i.Y ? l.Y = 2 : l.Y = 1, {
4904
4904
  Target: t.target,
4905
4905
  Coord: e,
4906
4906
  Ratio: i,
4907
- Division: h
4907
+ Division: l
4908
4908
  };
4909
4909
  }
4910
4910
  }
@@ -5056,7 +5056,7 @@ class qi {
5056
5056
  * touchmove event handler
5057
5057
  */
5058
5058
  touchmoveHandler(t) {
5059
- var s, o, a, h, l;
5059
+ var s, o, a, l, h;
5060
5060
  t.stopPropagation();
5061
5061
  const e = this.coordinator.getBibiEventCoord(t);
5062
5062
  Math.abs(this.pan.startY - e.Y) + Math.abs(this.pan.startX - e.X) > 5 && (this.minimumMoved || (this.manager.deselect(), this.minimumMoved = !0), this.dragState < 1 && (this.dragState = 1));
@@ -5071,28 +5071,28 @@ class qi {
5071
5071
  }
5072
5072
  if (this.pan.letItGo === !1 && (this.pan.letItGo = Math.abs(this.pan.startY - e.Y) < Math.abs(this.pan.startX - e.X)), (o = this.debugger) != null && o.show && (this.debugger.DOM.touch1.style.top = `${e.Y - 10}px`, this.debugger.DOM.touch1.style.left = `${e.X - 10}px`, this.debugger.DOM.touch1.innerText = `${e.X.toFixed(2)},${e.Y.toFixed(2)}`), this.dragState > 0 && this.isScaled || this.dragState > 1) {
5073
5073
  if (this.dragState === 1) {
5074
- const M = {
5074
+ const m = {
5075
5075
  X: e.X - this.manager.width / 2,
5076
5076
  Y: e.Y - this.manager.height / 2
5077
5077
  };
5078
- this.pan.translateX = (M.X - (this.pan.startX - this.manager.width / 2)) * 1 / this.scale, this.pan.translateY = (M.Y - (this.pan.startY - this.manager.height / 2)) * 1 / this.scale;
5078
+ this.pan.translateX = (m.X - (this.pan.startX - this.manager.width / 2)) * 1 / this.scale, this.pan.translateY = (m.Y - (this.pan.startY - this.manager.height / 2)) * 1 / this.scale;
5079
5079
  } else if (this.dragState === 2) {
5080
- const M = this.coordinator.getTouchCenter(t);
5080
+ const m = this.coordinator.getTouchCenter(t);
5081
5081
  if ((a = this.debugger) != null && a.show) {
5082
- this.debugger.DOM.center.style.top = `${M.Y - 5}px`, this.debugger.DOM.center.style.left = `${M.X - 5}px`, this.debugger.DOM.center.innerText = `${M.X.toFixed(2)},${M.Y.toFixed(2)}`;
5082
+ this.debugger.DOM.center.style.top = `${m.Y - 5}px`, this.debugger.DOM.center.style.left = `${m.X - 5}px`, this.debugger.DOM.center.innerText = `${m.X.toFixed(2)},${m.Y.toFixed(2)}`;
5083
5083
  const F = this.coordinator.getBibiEventCoord(t, 1);
5084
5084
  this.debugger.DOM.touch2.style.top = `${F.Y - 10}px`, this.debugger.DOM.touch2.style.left = `${F.X - 10}px`, this.debugger.DOM.touch2.innerText = `${F.X.toFixed(2)},${F.Y.toFixed(2)}`;
5085
5085
  }
5086
- M.X -= this.manager.width / 2, M.Y -= this.manager.height / 2;
5087
- let m = -M.X / r;
5088
- m += M.X / this.scale, this.pinch.target.X += m, M.X += this.pinch.target.X * this.scale / this.pinch.startScale;
5089
- let p = -M.Y / r;
5090
- p += M.Y / this.scale, this.pinch.target.Y += p, M.Y += this.pinch.target.Y * this.scale / this.pinch.startScale;
5091
- let E = (M.X - (this.pan.startX - this.manager.width / 2)) * 1 / this.scale, f = (M.Y - (this.pan.startY - this.manager.height / 2)) * 1 / this.scale;
5092
- this.pan.translateX = E, this.pan.translateY = f, (h = this.debugger) != null && h.show && (this.debugger.DOM.pinchTarget.style.left = `${this.pinch.target.X * this.scale / this.pinch.startScale - 5 + this.manager.width / 2}px`, this.debugger.DOM.pinchTarget.style.top = `${this.pinch.target.Y * this.scale / this.pinch.startScale - 5 + this.manager.height / 2}px`, this.debugger.DOM.pinchTarget.innerText = `${(this.pinch.target.X * this.scale / this.pinch.startScale).toFixed(2)},${(this.pinch.target.Y * this.scale / this.pinch.startScale).toFixed(2)}`);
5086
+ m.X -= this.manager.width / 2, m.Y -= this.manager.height / 2;
5087
+ let M = -m.X / r;
5088
+ M += m.X / this.scale, this.pinch.target.X += M, m.X += this.pinch.target.X * this.scale / this.pinch.startScale;
5089
+ let B = -m.Y / r;
5090
+ B += m.Y / this.scale, this.pinch.target.Y += B, m.Y += this.pinch.target.Y * this.scale / this.pinch.startScale;
5091
+ let E = (m.X - (this.pan.startX - this.manager.width / 2)) * 1 / this.scale, f = (m.Y - (this.pan.startY - this.manager.height / 2)) * 1 / this.scale;
5092
+ this.pan.translateX = E, this.pan.translateY = f, (l = this.debugger) != null && l.show && (this.debugger.DOM.pinchTarget.style.left = `${this.pinch.target.X * this.scale / this.pinch.startScale - 5 + this.manager.width / 2}px`, this.debugger.DOM.pinchTarget.style.top = `${this.pinch.target.Y * this.scale / this.pinch.startScale - 5 + this.manager.height / 2}px`, this.debugger.DOM.pinchTarget.innerText = `${(this.pinch.target.X * this.scale / this.pinch.startScale).toFixed(2)},${(this.pinch.target.Y * this.scale / this.pinch.startScale).toFixed(2)}`);
5093
5093
  }
5094
5094
  const c = this.frameBounds.width / 6, g = this.frameBounds.height / 6;
5095
- this.pan.translateX < -c && (this.pan.overscrollX = -(c + this.pan.translateX), this.pan.translateX = -c), this.pan.translateY < -g && (this.pan.overscrollY = -(g + this.pan.translateY), this.pan.translateY = -g), this.pan.translateX > c && (this.pan.overscrollX = c - this.pan.translateX, this.pan.translateX = c), this.pan.translateY > g && (this.pan.overscrollY = g - this.pan.translateY, this.pan.translateY = g), i = !0, (l = this.debugger) != null && l.show && (this.debugger.DOM.stats.innerText = `TX: ${this.pan.translateX.toFixed(2)}
5095
+ this.pan.translateX < -c && (this.pan.overscrollX = -(c + this.pan.translateX), this.pan.translateX = -c), this.pan.translateY < -g && (this.pan.overscrollY = -(g + this.pan.translateY), this.pan.translateY = -g), this.pan.translateX > c && (this.pan.overscrollX = c - this.pan.translateX, this.pan.translateX = c), this.pan.translateY > g && (this.pan.overscrollY = g - this.pan.translateY, this.pan.translateY = g), i = !0, (h = this.debugger) != null && h.show && (this.debugger.DOM.stats.innerText = `TX: ${this.pan.translateX.toFixed(2)}
5096
5096
  TY: ${this.pan.translateY.toFixed(2)}
5097
5097
  Zoom: ${this.scale.toFixed(2)}
5098
5098
  Overscroll: ${this.pan.overscrollX.toFixed(2)},${this.pan.overscrollY.toFixed(2)}`);
@@ -5103,10 +5103,10 @@ Overscroll: ${this.pan.overscrollX.toFixed(2)},${this.pan.overscrollY.toFixed(2)
5103
5103
  }
5104
5104
  if (this.dragState > 0 && this.pan.letItGo) {
5105
5105
  this.pan.endX = e.X;
5106
- const g = this.manager.currentSlide * (this.manager.width / this.manager.perPage), M = this.pan.endX - this.pan.startX, m = this.manager.rtl ? g + M : g - M;
5106
+ const g = this.manager.currentSlide * (this.manager.width / this.manager.perPage), m = this.pan.endX - this.pan.startX, M = this.manager.rtl ? g + m : g - m;
5107
5107
  cancelAnimationFrame(this.moveFrame), this.moveFrame = requestAnimationFrame(() => {
5108
5108
  requestAnimationFrame(() => {
5109
- this.manager.spineElement.style.transform = `translate3d(${(this.manager.rtl ? 1 : -1) * m}px, 0, 0)`;
5109
+ this.manager.spineElement.style.transform = `translate3d(${(this.manager.rtl ? 1 : -1) * M}px, 0, 0)`;
5110
5110
  });
5111
5111
  });
5112
5112
  }
@@ -5156,13 +5156,13 @@ class _i {
5156
5156
  }
5157
5157
  index(t, e = !1) {
5158
5158
  this.nLandscape = 0, t.readingOrder.items.forEach((A, i) => {
5159
- var s, o, a, h, l;
5159
+ var s, o, a, l, h;
5160
5160
  e || (t.readingOrder.items[i] = A.addProperties({
5161
5161
  number: i + 1,
5162
5162
  isImage: ((s = A.type) == null ? void 0 : s.indexOf("image/")) === 0
5163
5163
  }));
5164
5164
  const r = ((o = A.properties) == null ? void 0 : o.getOrientation()) === it.landscape;
5165
- (!((a = A.properties) != null && a.getPage()) || e) && (A.properties = (h = A.properties) == null ? void 0 : h.add({
5165
+ (!((a = A.properties) != null && a.getPage()) || e) && (A.properties = (l = A.properties) == null ? void 0 : l.add({
5166
5166
  page: r ? (
5167
5167
  // If a landscape image
5168
5168
  "center"
@@ -5170,17 +5170,17 @@ class _i {
5170
5170
  // Center it
5171
5171
  ((this.shift ? 0 : 1) + i - this.nLandscape) % 2 ? t.metadata.readingProgression === I.rtl ? "right" : "left" : t.metadata.readingProgression === I.rtl ? "left" : "right"
5172
5172
  )
5173
- })), (r || (l = A.properties) != null && l.otherProperties.addBlank) && this.nLandscape++;
5173
+ })), (r || (h = A.properties) != null && h.otherProperties.addBlank) && this.nLandscape++;
5174
5174
  }), e && (this.spreads = []), this.buildSpreads(t.readingOrder);
5175
5175
  }
5176
5176
  testShift(t) {
5177
5177
  let e = !1;
5178
5178
  this.spreads.forEach((A, i) => {
5179
- var o, a, h, l, c;
5179
+ var o, a, l, h, c;
5180
5180
  if (A.length > 1)
5181
5181
  return;
5182
5182
  const r = A[0], s = (o = r.properties) == null ? void 0 : o.getOrientation();
5183
- i === 0 && (s === it.landscape || s !== it.portrait && ((r.width || 0) > (r.height || 0) || ((a = r.properties) == null ? void 0 : a.getSpread()) === yt.both)) && (this.shift = !1), e && ((h = r.properties) == null ? void 0 : h.getPage()) === J.center && this.spreads[i - 1][0].addProperties({ addBlank: !0 }), s === it.portrait && ((l = r.properties) == null ? void 0 : l.getPage()) !== "center" && ((c = r.properties) == null ? void 0 : c.otherProperties.number) > 1 ? e = !0 : e = !1;
5183
+ i === 0 && (s === it.landscape || s !== it.portrait && ((r.width || 0) > (r.height || 0) || ((a = r.properties) == null ? void 0 : a.getSpread()) === yt.both)) && (this.shift = !1), e && ((l = r.properties) == null ? void 0 : l.getPage()) === J.center && this.spreads[i - 1][0].addProperties({ addBlank: !0 }), s === it.portrait && ((h = r.properties) == null ? void 0 : h.getPage()) !== "center" && ((c = r.properties) == null ? void 0 : c.otherProperties.number) > 1 ? e = !0 : e = !1;
5184
5184
  }), this.shift || this.index(t, !0);
5185
5185
  }
5186
5186
  buildSpreads(t) {
@@ -5224,10 +5224,10 @@ class rn {
5224
5224
  resizeHandler(t = !0, e = !0) {
5225
5225
  this.currentSlide + this.perPage > this.length && (this.currentSlide = this.length <= this.perPage ? 0 : this.length - 1), this.containerHeightCached = this.container.clientHeight, this.orientationInternal = -1, this.updateSpineStyle(!0), t && (this.currentSlide = this.reAlign(), this.slideToCurrent(!e, e)), clearTimeout(this.resizeTimeout), this.resizeTimeout = window.setTimeout(() => {
5226
5226
  this.pool.forEach((A, i) => {
5227
- var a, h;
5228
- let r = this.pub.readingOrder.items.findIndex((l) => l.href === i);
5227
+ var a, l;
5228
+ let r = this.pub.readingOrder.items.findIndex((h) => h.href === i);
5229
5229
  const s = this.pub.readingOrder.items[r];
5230
- if (A.width = 100 / this.length * (((a = s.properties) == null ? void 0 : a.getOrientation()) === it.landscape || (h = s.properties) != null && h.otherProperties.addBlank ? this.perPage : 1), A.height = this.height, !A.loaded)
5230
+ if (A.width = 100 / this.length * (((a = s.properties) == null ? void 0 : a.getOrientation()) === it.landscape || (l = s.properties) != null && l.otherProperties.addBlank ? this.perPage : 1), A.height = this.height, !A.loaded)
5231
5231
  return;
5232
5232
  const o = this.spreader.findByLink(s);
5233
5233
  A.update(this.spreadPosition(o, s));
@@ -5419,49 +5419,49 @@ class rn {
5419
5419
  this.perPage > 1 && r++;
5420
5420
  for (const a of s)
5421
5421
  await this.waitForItem(a.href);
5422
- const o = new Promise(async (a, h) => {
5423
- const l = [], c = [];
5424
- this.positions.forEach((m, p) => {
5425
- (p > r + He || p < r - He) && (l.includes(m.href) || l.push(m.href)), p < r + ke && p > r - ke && (c.includes(m.href) || c.push(m.href));
5426
- }), l.forEach(async (m) => {
5427
- var p;
5428
- c.includes(m) || this.pool.has(m) && (this.cancelShowing(m), await ((p = this.pool.get(m)) == null ? void 0 : p.unload()));
5429
- }), this.currentBaseURL !== void 0 && t.baseURL !== this.currentBaseURL && (this.blobs.forEach((m) => URL.revokeObjectURL(m)), this.blobs.clear()), this.currentBaseURL = t.baseURL;
5430
- const g = async (m) => {
5431
- const p = t.readingOrder.findIndexWithHref(m), E = t.readingOrder.items[p];
5422
+ const o = new Promise(async (a, l) => {
5423
+ const h = [], c = [];
5424
+ this.positions.forEach((M, B) => {
5425
+ (B > r + He || B < r - He) && (h.includes(M.href) || h.push(M.href)), B < r + ke && B > r - ke && (c.includes(M.href) || c.push(M.href));
5426
+ }), h.forEach(async (M) => {
5427
+ var B;
5428
+ c.includes(M) || this.pool.has(M) && (this.cancelShowing(M), await ((B = this.pool.get(M)) == null ? void 0 : B.unload()));
5429
+ }), this.currentBaseURL !== void 0 && t.baseURL !== this.currentBaseURL && (this.blobs.forEach((M) => URL.revokeObjectURL(M)), this.blobs.clear()), this.currentBaseURL = t.baseURL;
5430
+ const g = async (M) => {
5431
+ const B = t.readingOrder.findIndexWithHref(M), E = t.readingOrder.items[B];
5432
5432
  if (E) {
5433
- if (!this.blobs.has(m)) {
5433
+ if (!this.blobs.has(M)) {
5434
5434
  const F = await new rA(t, this.currentBaseURL || "", E).build(!0);
5435
- this.blobs.set(m, F);
5435
+ this.blobs.set(M, F);
5436
5436
  }
5437
- this.delayedShow.has(m) || this.delayedShow.set(m, new Promise((f, F) => {
5437
+ this.delayedShow.has(M) || this.delayedShow.set(M, new Promise((f, F) => {
5438
5438
  let w = !1;
5439
- const U = window.setTimeout(async () => {
5440
- this.delayedTimeout.set(m, 0);
5441
- const Q = this.makeSpread(this.reAlign(p)), nt = this.spreadPosition(Q, E), Mt = this.pool.get(m);
5442
- await Mt.load(A, this.blobs.get(m)), this.peripherals.isScaled || await Mt.show(nt), this.delayedShow.delete(m), w = !0, f();
5439
+ const y = window.setTimeout(async () => {
5440
+ this.delayedTimeout.set(M, 0);
5441
+ const Y = this.makeSpread(this.reAlign(B)), nt = this.spreadPosition(Y, E), mt = this.pool.get(M);
5442
+ await mt.load(A, this.blobs.get(M)), this.peripherals.isScaled || await mt.show(nt), this.delayedShow.delete(M), w = !0, f();
5443
5443
  }, $i);
5444
5444
  setTimeout(() => {
5445
- !w && this.delayedShow.has(m) && F(`Offscreen load timeout: ${m}`);
5446
- }, tn), this.delayedTimeout.set(m, U);
5445
+ !w && this.delayedShow.has(M) && F(`Offscreen load timeout: ${M}`);
5446
+ }, tn), this.delayedTimeout.set(M, y);
5447
5447
  }));
5448
5448
  }
5449
5449
  };
5450
5450
  try {
5451
- await Promise.all(c.map((m) => g(m)));
5452
- } catch (m) {
5453
- h(m);
5451
+ await Promise.all(c.map((M) => g(M)));
5452
+ } catch (M) {
5453
+ l(M);
5454
5454
  }
5455
- const M = [];
5456
- for (const m of s) {
5457
- const p = this.pool.get(m.href), E = this.blobs.get(m.href);
5458
- E && (this.cancelShowing(m.href), await p.load(A, E), await p.show(this.spreadPosition(s, m)), this.previousFrames.push(p), await p.activate(), M.push(p));
5455
+ const m = [];
5456
+ for (const M of s) {
5457
+ const B = this.pool.get(M.href), E = this.blobs.get(M.href);
5458
+ E && (this.cancelShowing(M.href), await B.load(A, E), await B.show(this.spreadPosition(s, M)), this.previousFrames.push(B), await B.activate(), m.push(B));
5459
5459
  }
5460
5460
  for (; this.previousFrames.length > 0; ) {
5461
- const m = this.previousFrames.shift();
5462
- m && !M.includes(m) && await m.unfocus();
5461
+ const M = this.previousFrames.shift();
5462
+ M && !m.includes(M) && await M.unfocus();
5463
5463
  }
5464
- this.previousFrames = M, a();
5464
+ this.previousFrames = m, a();
5465
5465
  });
5466
5466
  for (const a of s)
5467
5467
  this.inprogress.set(a.href, o);
@@ -5553,7 +5553,7 @@ function sn(n, t) {
5553
5553
  var e = t.dir || t.root, A = t.base || (t.name || "") + (t.ext || "");
5554
5554
  return e ? e === t.root ? e + A : e + n + A : A;
5555
5555
  }
5556
- var ht = {
5556
+ var lt = {
5557
5557
  // path.resolve([from ...], to)
5558
5558
  resolve: function() {
5559
5559
  for (var t = "", e = !1, A, i = arguments.length - 1; i >= -1 && !e; i--) {
@@ -5578,35 +5578,35 @@ var ht = {
5578
5578
  var A = arguments[e];
5579
5579
  W(A), A.length > 0 && (t === void 0 ? t = A : t += "/" + A);
5580
5580
  }
5581
- return t === void 0 ? "." : ht.normalize(t);
5581
+ return t === void 0 ? "." : lt.normalize(t);
5582
5582
  },
5583
5583
  relative: function(t, e) {
5584
- if (W(t), W(e), t === e || (t = ht.resolve(t), e = ht.resolve(e), t === e))
5584
+ if (W(t), W(e), t === e || (t = lt.resolve(t), e = lt.resolve(e), t === e))
5585
5585
  return "";
5586
5586
  for (var A = 1; A < t.length && t.charCodeAt(A) === 47; ++A)
5587
5587
  ;
5588
5588
  for (var i = t.length, r = i - A, s = 1; s < e.length && e.charCodeAt(s) === 47; ++s)
5589
5589
  ;
5590
- for (var o = e.length, a = o - s, h = r < a ? r : a, l = -1, c = 0; c <= h; ++c) {
5591
- if (c === h) {
5592
- if (a > h) {
5590
+ for (var o = e.length, a = o - s, l = r < a ? r : a, h = -1, c = 0; c <= l; ++c) {
5591
+ if (c === l) {
5592
+ if (a > l) {
5593
5593
  if (e.charCodeAt(s + c) === 47)
5594
5594
  return e.slice(s + c + 1);
5595
5595
  if (c === 0)
5596
5596
  return e.slice(s + c);
5597
5597
  } else
5598
- r > h && (t.charCodeAt(A + c) === 47 ? l = c : c === 0 && (l = 0));
5598
+ r > l && (t.charCodeAt(A + c) === 47 ? h = c : c === 0 && (h = 0));
5599
5599
  break;
5600
5600
  }
5601
- var g = t.charCodeAt(A + c), M = e.charCodeAt(s + c);
5602
- if (g !== M)
5601
+ var g = t.charCodeAt(A + c), m = e.charCodeAt(s + c);
5602
+ if (g !== m)
5603
5603
  break;
5604
- g === 47 && (l = c);
5604
+ g === 47 && (h = c);
5605
5605
  }
5606
- var m = "";
5607
- for (c = A + l + 1; c <= i; ++c)
5608
- (c === i || t.charCodeAt(c) === 47) && (m.length === 0 ? m += ".." : m += "/..");
5609
- return m.length > 0 ? m + e.slice(s + l) : (s += l, e.charCodeAt(s) === 47 && ++s, e.slice(s));
5606
+ var M = "";
5607
+ for (c = A + h + 1; c <= i; ++c)
5608
+ (c === i || t.charCodeAt(c) === 47) && (M.length === 0 ? M += ".." : M += "/..");
5609
+ return M.length > 0 ? M + e.slice(s + h) : (s += h, e.charCodeAt(s) === 47 && ++s, e.slice(s));
5610
5610
  },
5611
5611
  _makeLong: function(t) {
5612
5612
  return t;
@@ -5634,14 +5634,14 @@ var ht = {
5634
5634
  return "";
5635
5635
  var o = e.length - 1, a = -1;
5636
5636
  for (s = t.length - 1; s >= 0; --s) {
5637
- var h = t.charCodeAt(s);
5638
- if (h === 47) {
5637
+ var l = t.charCodeAt(s);
5638
+ if (l === 47) {
5639
5639
  if (!r) {
5640
5640
  A = s + 1;
5641
5641
  break;
5642
5642
  }
5643
5643
  } else
5644
- a === -1 && (r = !1, a = s + 1), o >= 0 && (h === e.charCodeAt(o) ? --o === -1 && (i = s) : (o = -1, i = a));
5644
+ a === -1 && (r = !1, a = s + 1), o >= 0 && (l === e.charCodeAt(o) ? --o === -1 && (i = s) : (o = -1, i = a));
5645
5645
  }
5646
5646
  return A === i ? i = a : i === -1 && (i = t.length), t.slice(A, i);
5647
5647
  } else {
@@ -5685,15 +5685,15 @@ var ht = {
5685
5685
  return e;
5686
5686
  var A = t.charCodeAt(0), i = A === 47, r;
5687
5687
  i ? (e.root = "/", r = 1) : r = 0;
5688
- for (var s = -1, o = 0, a = -1, h = !0, l = t.length - 1, c = 0; l >= r; --l) {
5689
- if (A = t.charCodeAt(l), A === 47) {
5690
- if (!h) {
5691
- o = l + 1;
5688
+ for (var s = -1, o = 0, a = -1, l = !0, h = t.length - 1, c = 0; h >= r; --h) {
5689
+ if (A = t.charCodeAt(h), A === 47) {
5690
+ if (!l) {
5691
+ o = h + 1;
5692
5692
  break;
5693
5693
  }
5694
5694
  continue;
5695
5695
  }
5696
- a === -1 && (h = !1, a = l + 1), A === 46 ? s === -1 ? s = l : c !== 1 && (c = 1) : s !== -1 && (c = -1);
5696
+ a === -1 && (l = !1, a = h + 1), A === 46 ? s === -1 ? s = h : c !== 1 && (c = 1) : s !== -1 && (c = -1);
5697
5697
  }
5698
5698
  return s === -1 || a === -1 || // We saw a non-dot character immediately before the dot
5699
5699
  c === 0 || // The (right-most) trimmed path component is exactly '..'
@@ -5704,8 +5704,8 @@ var ht = {
5704
5704
  win32: null,
5705
5705
  posix: null
5706
5706
  };
5707
- ht.posix = ht;
5708
- var We = ht, pt = /* @__PURE__ */ ((n) => (n.start = "start", n.left = "left", n.right = "right", n.justify = "justify", n))(pt || {}), Dt = /* @__PURE__ */ ((n) => (n.sepia = "sepia", n.night = "night", n.custom = "custom", n))(Dt || {}), y = /* @__PURE__ */ ((n) => (n.margin = "margin", n.lineLength = "lineLength", n.columns = "columns", n))(y || {});
5707
+ lt.posix = lt;
5708
+ var We = lt, pt = /* @__PURE__ */ ((n) => (n.start = "start", n.left = "left", n.right = "right", n.justify = "justify", n))(pt || {}), Pt = /* @__PURE__ */ ((n) => (n.sepia = "sepia", n.night = "night", n.custom = "custom", n))(Pt || {}), C = /* @__PURE__ */ ((n) => (n.margin = "margin", n.lineLength = "lineLength", n.columns = "columns", n))(C || {});
5709
5709
  const xt = {
5710
5710
  range: [0.7, 4],
5711
5711
  step: 0.05
@@ -5722,20 +5722,20 @@ function on(n, t) {
5722
5722
  function an(n, t) {
5723
5723
  return n == null || t == null || n >= t ? n : void 0;
5724
5724
  }
5725
- function T(n) {
5725
+ function j(n) {
5726
5726
  return typeof n == "string" ? n : n === null ? null : void 0;
5727
5727
  }
5728
5728
  function z(n) {
5729
5729
  return typeof n == "boolean" || n == null ? n : void 0;
5730
5730
  }
5731
- function lt(n, t) {
5731
+ function ht(n, t) {
5732
5732
  if (n !== void 0)
5733
5733
  return n === null ? null : t[n] !== void 0 ? n : void 0;
5734
5734
  }
5735
5735
  function ct(n) {
5736
5736
  return typeof n == "boolean" || typeof n == "number" && n >= 0 ? n : n === null ? null : void 0;
5737
5737
  }
5738
- function Y(n) {
5738
+ function U(n) {
5739
5739
  if (n !== void 0)
5740
5740
  return n === null ? null : n < 0 ? void 0 : n;
5741
5741
  }
@@ -5752,7 +5752,7 @@ function Wt(n, t) {
5752
5752
  }
5753
5753
  class Bt {
5754
5754
  constructor(t = {}) {
5755
- this.backgroundColor = T(t.backgroundColor), this.blendFilter = z(t.blendFilter), this.constraint = Y(t.constraint), this.columnCount = Y(t.columnCount), this.darkenFilter = ct(t.darkenFilter), this.deprecatedFontSize = z(t.deprecatedFontSize), this.fontFamily = T(t.fontFamily), this.fontSize = gt(t.fontSize, xt.range), this.fontSizeNormalize = z(t.fontSizeNormalize), this.fontOpticalSizing = z(t.fontOpticalSizing), this.fontWeight = gt(t.fontWeight, Tt.range), this.fontWidth = gt(t.fontWidth, jt.range), this.hyphens = z(t.hyphens), this.invertFilter = ct(t.invertFilter), this.invertGaijiFilter = ct(t.invertGaijiFilter), this.iPadOSPatch = z(t.iPadOSPatch), this.layoutStrategy = lt(t.layoutStrategy, y), this.letterSpacing = Y(t.letterSpacing), this.ligatures = z(t.ligatures), this.lineHeight = Y(t.lineHeight), this.linkColor = T(t.linkColor), this.noRuby = z(t.noRuby), this.pageGutter = Y(t.pageGutter), this.paragraphIndent = Y(t.paragraphIndent), this.paragraphSpacing = Y(t.paragraphSpacing), this.scroll = z(t.scroll), this.selectionBackgroundColor = T(t.selectionBackgroundColor), this.selectionTextColor = T(t.selectionTextColor), this.textAlign = lt(t.textAlign, pt), this.textColor = T(t.textColor), this.textNormalization = z(t.textNormalization), this.theme = lt(t.theme, Dt), this.visitedColor = T(t.visitedColor), this.wordSpacing = Y(t.wordSpacing), this.optimalLineLength = Y(t.optimalLineLength), this.maximalLineLength = Y(t.maximalLineLength), this.minimalLineLength = Y(t.minimalLineLength);
5755
+ this.backgroundColor = j(t.backgroundColor), this.blendFilter = z(t.blendFilter), this.constraint = U(t.constraint), this.columnCount = U(t.columnCount), this.darkenFilter = ct(t.darkenFilter), this.deprecatedFontSize = z(t.deprecatedFontSize), this.fontFamily = j(t.fontFamily), this.fontSize = gt(t.fontSize, xt.range), this.fontSizeNormalize = z(t.fontSizeNormalize), this.fontOpticalSizing = z(t.fontOpticalSizing), this.fontWeight = gt(t.fontWeight, Tt.range), this.fontWidth = gt(t.fontWidth, jt.range), this.hyphens = z(t.hyphens), this.invertFilter = ct(t.invertFilter), this.invertGaijiFilter = ct(t.invertGaijiFilter), this.iPadOSPatch = z(t.iPadOSPatch), this.layoutStrategy = ht(t.layoutStrategy, C), this.letterSpacing = U(t.letterSpacing), this.ligatures = z(t.ligatures), this.lineHeight = U(t.lineHeight), this.linkColor = j(t.linkColor), this.noRuby = z(t.noRuby), this.pageGutter = U(t.pageGutter), this.paragraphIndent = U(t.paragraphIndent), this.paragraphSpacing = U(t.paragraphSpacing), this.scroll = z(t.scroll), this.scrollPaddingTop = U(t.scrollPaddingTop), this.scrollPaddingBottom = U(t.scrollPaddingBottom), this.selectionBackgroundColor = j(t.selectionBackgroundColor), this.selectionTextColor = j(t.selectionTextColor), this.textAlign = ht(t.textAlign, pt), this.textColor = j(t.textColor), this.textNormalization = z(t.textNormalization), this.theme = ht(t.theme, Pt), this.visitedColor = j(t.visitedColor), this.wordSpacing = U(t.wordSpacing), this.optimalLineLength = U(t.optimalLineLength), this.maximalLineLength = U(t.maximalLineLength), this.minimalLineLength = U(t.minimalLineLength);
5756
5756
  }
5757
5757
  static serialize(t) {
5758
5758
  const { ...e } = t;
@@ -5773,16 +5773,16 @@ class Bt {
5773
5773
  return new Bt(e);
5774
5774
  }
5775
5775
  }
5776
- const hn = "'Iowan Old Style', Sitka, 'Sitka Text', Palatino, 'Book Antiqua', 'URW Palladio L', P052, serif", ln = "Athelas, Constantia, Charter, 'Bitstream Charter', Cambria, 'Georgia Pro', Georgia, serif", cn = "-ui-sans-serif, -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI Variable', 'Segoe UI', Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Liberation Sans', Arial, sans-serif", gn = "Seravek, Calibri, 'Gill Sans Nova', Roboto, Ubuntu, 'DejaVu Sans', source-sans-pro, sans-serif", dn = "ui-monospace, 'Andale Mono', 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace", un = {
5777
- RS__oldStyleTf: hn,
5778
- RS__modernTf: ln,
5776
+ const ln = "'Iowan Old Style', Sitka, 'Sitka Text', Palatino, 'Book Antiqua', 'URW Palladio L', P052, serif", hn = "Athelas, Constantia, Charter, 'Bitstream Charter', Cambria, 'Georgia Pro', Georgia, serif", cn = "-ui-sans-serif, -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI Variable', 'Segoe UI', Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Liberation Sans', Arial, sans-serif", gn = "Seravek, Calibri, 'Gill Sans Nova', Roboto, Ubuntu, 'DejaVu Sans', source-sans-pro, sans-serif", dn = "ui-monospace, 'Andale Mono', 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace", un = {
5777
+ RS__oldStyleTf: ln,
5778
+ RS__modernTf: hn,
5779
5779
  RS__sansTf: cn,
5780
5780
  RS__humanistTf: gn,
5781
5781
  RS__monospaceTf: dn
5782
- }, Mn = 16, Le = un.RS__oldStyleTf;
5782
+ }, mn = 16, Le = un.RS__oldStyleTf;
5783
5783
  class ft {
5784
5784
  constructor(t) {
5785
- this._optimalLineLength = null, this._canvas = document.createElement("canvas"), this._optimalChars = t.optimalChars, this._minChars = t.minChars, this._maxChars = t.maxChars, this._baseFontSize = t.baseFontSize || Mn, this._fontFace = t.fontFace || Le, this._sample = t.sample || null, this._pageGutter = t.pageGutter || 0, this._letterSpacing = t.letterSpacing ? Math.round(t.letterSpacing * this._baseFontSize) : 0, this._wordSpacing = t.wordSpacing ? Math.round(t.wordSpacing * this._baseFontSize) : 0, this._isCJK = t.isCJK || !1, this._getRelative = t.getRelative || !1, this._padding = this._pageGutter * 2, this._minDivider = this._minChars && this._minChars < this._optimalChars ? this._optimalChars / this._minChars : this._minChars === null ? null : 1, this._maxMultiplier = this._maxChars && this._maxChars > this._optimalChars ? this._maxChars / this._optimalChars : this._maxChars === null ? null : 1, this._approximatedWordSpaces = ft.approximateWordSpaces(this._optimalChars, this._sample);
5785
+ this._optimalLineLength = null, this._canvas = document.createElement("canvas"), this._optimalChars = t.optimalChars, this._minChars = t.minChars, this._maxChars = t.maxChars, this._baseFontSize = t.baseFontSize || mn, this._fontFace = t.fontFace || Le, this._sample = t.sample || null, this._pageGutter = t.pageGutter || 0, this._letterSpacing = t.letterSpacing ? Math.round(t.letterSpacing * this._baseFontSize) : 0, this._wordSpacing = t.wordSpacing ? Math.round(t.wordSpacing * this._baseFontSize) : 0, this._isCJK = t.isCJK || !1, this._getRelative = t.getRelative || !1, this._padding = this._pageGutter * 2, this._minDivider = this._minChars && this._minChars < this._optimalChars ? this._optimalChars / this._minChars : this._minChars === null ? null : 1, this._maxMultiplier = this._maxChars && this._maxChars > this._optimalChars ? this._maxChars / this._optimalChars : this._maxChars === null ? null : 1, this._approximatedWordSpaces = ft.approximateWordSpaces(this._optimalChars, this._sample);
5786
5786
  }
5787
5787
  updateMultipliers() {
5788
5788
  this._minDivider = this._minChars && this._minChars < this._optimalChars ? this._optimalChars / this._minChars : this._minChars === null ? null : 1, this._maxMultiplier = this._maxChars && this._maxChars > this._optimalChars ? this._maxChars / this._optimalChars : this._maxChars === null ? null : 1;
@@ -5854,12 +5854,12 @@ class ft {
5854
5854
  return this.getLineLengthFallback();
5855
5855
  }
5856
5856
  }
5857
- class mn {
5857
+ class Mn {
5858
5858
  constructor(t) {
5859
- this.backgroundColor = T(t.backgroundColor) || null, this.blendFilter = z(t.blendFilter) ?? !1, this.constraint = Y(t.constraint) || 0, this.columnCount = Y(t.columnCount) || null, this.darkenFilter = ct(t.darkenFilter) ?? !1, this.deprecatedFontSize = z(t.deprecatedFontSize), (this.deprecatedFontSize === !1 || this.deprecatedFontSize === null) && (this.deprecatedFontSize = !CSS.supports("zoom", "1")), this.fontFamily = T(t.fontFamily) || null, this.fontSize = gt(t.fontSize, xt.range) || 1, this.fontSizeNormalize = z(t.fontSizeNormalize) ?? !1, this.fontOpticalSizing = z(t.fontOpticalSizing) ?? null, this.fontWeight = gt(t.fontWeight, Tt.range) || null, this.fontWidth = gt(t.fontWidth, jt.range) || null, this.hyphens = z(t.hyphens) ?? null, this.invertFilter = ct(t.invertFilter) ?? !1, this.invertGaijiFilter = ct(t.invertGaijiFilter) ?? !1, this.iPadOSPatch = t.iPadOSPatch === !1 ? !1 : St.OS.iPadOS && St.iOSRequest === "desktop", this.layoutStrategy = lt(t.layoutStrategy, y) || y.lineLength, this.letterSpacing = Y(t.letterSpacing) || null, this.ligatures = z(t.ligatures) ?? null, this.lineHeight = Y(t.lineHeight) || null, this.linkColor = T(t.linkColor) || null, this.noRuby = z(t.noRuby) ?? !1, this.pageGutter = Wt(Y(t.pageGutter), 20), this.paragraphIndent = Y(t.paragraphIndent) ?? null, this.paragraphSpacing = Y(t.paragraphSpacing) ?? null, this.scroll = z(t.scroll) ?? !1, this.selectionBackgroundColor = T(t.selectionBackgroundColor) || null, this.selectionTextColor = T(t.selectionTextColor) || null, this.textAlign = lt(t.textAlign, pt) || null, this.textColor = T(t.textColor) || null, this.textNormalization = z(t.textNormalization) ?? !1, this.theme = lt(t.theme, Dt) || null, this.visitedColor = T(t.visitedColor) || null, this.wordSpacing = Y(t.wordSpacing) || null, this.optimalLineLength = Y(t.optimalLineLength) || 65, this.maximalLineLength = Wt(an(t.maximalLineLength, this.optimalLineLength), 80), this.minimalLineLength = Wt(on(t.minimalLineLength, this.optimalLineLength), 40);
5859
+ this.backgroundColor = j(t.backgroundColor) || null, this.blendFilter = z(t.blendFilter) ?? !1, this.constraint = U(t.constraint) || 0, this.columnCount = U(t.columnCount) || null, this.darkenFilter = ct(t.darkenFilter) ?? !1, this.deprecatedFontSize = z(t.deprecatedFontSize), (this.deprecatedFontSize === !1 || this.deprecatedFontSize === null) && (this.deprecatedFontSize = !CSS.supports("zoom", "1")), this.fontFamily = j(t.fontFamily) || null, this.fontSize = gt(t.fontSize, xt.range) || 1, this.fontSizeNormalize = z(t.fontSizeNormalize) ?? !1, this.fontOpticalSizing = z(t.fontOpticalSizing) ?? null, this.fontWeight = gt(t.fontWeight, Tt.range) || null, this.fontWidth = gt(t.fontWidth, jt.range) || null, this.hyphens = z(t.hyphens) ?? null, this.invertFilter = ct(t.invertFilter) ?? !1, this.invertGaijiFilter = ct(t.invertGaijiFilter) ?? !1, this.iPadOSPatch = t.iPadOSPatch === !1 ? !1 : St.OS.iPadOS && St.iOSRequest === "desktop", this.layoutStrategy = ht(t.layoutStrategy, C) || C.lineLength, this.letterSpacing = U(t.letterSpacing) || null, this.ligatures = z(t.ligatures) ?? null, this.lineHeight = U(t.lineHeight) || null, this.linkColor = j(t.linkColor) || null, this.noRuby = z(t.noRuby) ?? !1, this.pageGutter = Wt(U(t.pageGutter), 20), this.paragraphIndent = U(t.paragraphIndent) ?? null, this.paragraphSpacing = U(t.paragraphSpacing) ?? null, this.scroll = z(t.scroll) ?? !1, this.scrollPaddingTop = U(t.scrollPaddingTop) ?? null, this.scrollPaddingBottom = U(t.scrollPaddingBottom) ?? null, this.selectionBackgroundColor = j(t.selectionBackgroundColor) || null, this.selectionTextColor = j(t.selectionTextColor) || null, this.textAlign = ht(t.textAlign, pt) || null, this.textColor = j(t.textColor) || null, this.textNormalization = z(t.textNormalization) ?? !1, this.theme = ht(t.theme, Pt) || null, this.visitedColor = j(t.visitedColor) || null, this.wordSpacing = U(t.wordSpacing) || null, this.optimalLineLength = U(t.optimalLineLength) || 65, this.maximalLineLength = Wt(an(t.maximalLineLength, this.optimalLineLength), 80), this.minimalLineLength = Wt(on(t.minimalLineLength, this.optimalLineLength), 40);
5860
5860
  }
5861
5861
  }
5862
- class V {
5862
+ class S {
5863
5863
  constructor({
5864
5864
  initialValue: t = null,
5865
5865
  effectiveValue: e,
@@ -5884,7 +5884,7 @@ class V {
5884
5884
  this._value = null;
5885
5885
  }
5886
5886
  }
5887
- class L extends V {
5887
+ class L extends S {
5888
5888
  set value(t) {
5889
5889
  this._value = t, this._onChange(this._value);
5890
5890
  }
@@ -5904,7 +5904,7 @@ class L extends V {
5904
5904
  this._value = !this._value, this._onChange(this._value);
5905
5905
  }
5906
5906
  }
5907
- class Lt extends V {
5907
+ class Lt extends S {
5908
5908
  constructor({
5909
5909
  initialValue: t = null,
5910
5910
  effectiveValue: e,
@@ -5935,7 +5935,7 @@ class Lt extends V {
5935
5935
  this._value = null;
5936
5936
  }
5937
5937
  }
5938
- class S extends V {
5938
+ class x extends S {
5939
5939
  constructor({
5940
5940
  initialValue: t = null,
5941
5941
  effectiveValue: e,
@@ -5996,7 +5996,7 @@ const fn = "#FFFFFF", pn = "#121212", Bn = "#0000EE", En = "#551A8B", wn = "#b4d
5996
5996
  class Oe {
5997
5997
  constructor(t, e, A) {
5998
5998
  var i, r;
5999
- this.preferences = t, this.settings = e, this.metadata = A, this.layout = ((r = (i = this.metadata) == null ? void 0 : i.getPresentation()) == null ? void 0 : r.layout) || B.reflowable;
5999
+ this.preferences = t, this.settings = e, this.metadata = A, this.layout = ((r = (i = this.metadata) == null ? void 0 : i.getPresentation()) == null ? void 0 : r.layout) || p.reflowable;
6000
6000
  }
6001
6001
  clear() {
6002
6002
  this.preferences = new Bt({ optimalLineLength: 65 });
@@ -6005,7 +6005,7 @@ class Oe {
6005
6005
  this.preferences[t] = e;
6006
6006
  }
6007
6007
  get backgroundColor() {
6008
- return new V({
6008
+ return new S({
6009
6009
  initialValue: this.preferences.backgroundColor,
6010
6010
  effectiveValue: this.settings.backgroundColor || rt.RS__backgroundColor,
6011
6011
  isEffective: this.preferences.backgroundColor !== null,
@@ -6025,17 +6025,17 @@ class Oe {
6025
6025
  });
6026
6026
  }
6027
6027
  get columnCount() {
6028
- return new V({
6028
+ return new S({
6029
6029
  initialValue: this.preferences.columnCount,
6030
6030
  effectiveValue: this.settings.columnCount || null,
6031
- isEffective: this.layout === B.reflowable && !this.settings.scroll,
6031
+ isEffective: this.layout === p.reflowable && !this.settings.scroll,
6032
6032
  onChange: (t) => {
6033
6033
  this.updatePreference("columnCount", t || null);
6034
6034
  }
6035
6035
  });
6036
6036
  }
6037
6037
  get constraint() {
6038
- return new V({
6038
+ return new S({
6039
6039
  initialValue: this.preferences.constraint,
6040
6040
  effectiveValue: this.preferences.constraint || 0,
6041
6041
  isEffective: !0,
@@ -6045,7 +6045,7 @@ class Oe {
6045
6045
  });
6046
6046
  }
6047
6047
  get darkenFilter() {
6048
- return new S({
6048
+ return new x({
6049
6049
  initialValue: typeof this.preferences.darkenFilter == "boolean" ? 100 : this.preferences.darkenFilter,
6050
6050
  effectiveValue: typeof this.settings.darkenFilter == "boolean" ? 100 : this.settings.darkenFilter || 0,
6051
6051
  isEffective: this.settings.darkenFilter !== null,
@@ -6060,27 +6060,27 @@ class Oe {
6060
6060
  return new L({
6061
6061
  initialValue: this.preferences.deprecatedFontSize,
6062
6062
  effectiveValue: CSS.supports("zoom", "1") ? this.settings.deprecatedFontSize || !1 : !0,
6063
- isEffective: this.layout === B.reflowable,
6063
+ isEffective: this.layout === p.reflowable,
6064
6064
  onChange: (t) => {
6065
6065
  this.updatePreference("deprecatedFontSize", t || null);
6066
6066
  }
6067
6067
  });
6068
6068
  }
6069
6069
  get fontFamily() {
6070
- return new V({
6070
+ return new S({
6071
6071
  initialValue: this.preferences.fontFamily,
6072
6072
  effectiveValue: this.settings.fontFamily || null,
6073
- isEffective: this.layout === B.reflowable,
6073
+ isEffective: this.layout === p.reflowable,
6074
6074
  onChange: (t) => {
6075
6075
  this.updatePreference("fontFamily", t || null);
6076
6076
  }
6077
6077
  });
6078
6078
  }
6079
6079
  get fontSize() {
6080
- return new S({
6080
+ return new x({
6081
6081
  initialValue: this.preferences.fontSize,
6082
6082
  effectiveValue: this.settings.fontSize || 1,
6083
- isEffective: this.layout === B.reflowable,
6083
+ isEffective: this.layout === p.reflowable,
6084
6084
  onChange: (t) => {
6085
6085
  this.updatePreference("fontSize", t || null);
6086
6086
  },
@@ -6092,7 +6092,7 @@ class Oe {
6092
6092
  return new L({
6093
6093
  initialValue: this.preferences.fontSizeNormalize,
6094
6094
  effectiveValue: this.settings.fontSizeNormalize || !1,
6095
- isEffective: this.layout === B.reflowable && this.preferences.fontSizeNormalize !== null,
6095
+ isEffective: this.layout === p.reflowable && this.preferences.fontSizeNormalize !== null,
6096
6096
  onChange: (t) => {
6097
6097
  this.updatePreference("fontSizeNormalize", t || null);
6098
6098
  }
@@ -6102,17 +6102,17 @@ class Oe {
6102
6102
  return new L({
6103
6103
  initialValue: this.preferences.fontOpticalSizing,
6104
6104
  effectiveValue: this.settings.fontOpticalSizing || !0,
6105
- isEffective: this.layout === B.reflowable && this.preferences.fontOpticalSizing !== null,
6105
+ isEffective: this.layout === p.reflowable && this.preferences.fontOpticalSizing !== null,
6106
6106
  onChange: (t) => {
6107
6107
  this.updatePreference("fontOpticalSizing", t || null);
6108
6108
  }
6109
6109
  });
6110
6110
  }
6111
6111
  get fontWeight() {
6112
- return new S({
6112
+ return new x({
6113
6113
  initialValue: this.preferences.fontWeight,
6114
6114
  effectiveValue: this.settings.fontWeight || 400,
6115
- isEffective: this.layout === B.reflowable && this.preferences.fontWeight !== null,
6115
+ isEffective: this.layout === p.reflowable && this.preferences.fontWeight !== null,
6116
6116
  onChange: (t) => {
6117
6117
  this.updatePreference("fontWeight", t || null);
6118
6118
  },
@@ -6121,10 +6121,10 @@ class Oe {
6121
6121
  });
6122
6122
  }
6123
6123
  get fontWidth() {
6124
- return new S({
6124
+ return new x({
6125
6125
  initialValue: this.preferences.fontWidth,
6126
6126
  effectiveValue: this.settings.fontWidth || 100,
6127
- isEffective: this.layout === B.reflowable && this.preferences.fontWidth !== null,
6127
+ isEffective: this.layout === p.reflowable && this.preferences.fontWidth !== null,
6128
6128
  onChange: (t) => {
6129
6129
  this.updatePreference("fontWidth", t || null);
6130
6130
  },
@@ -6137,14 +6137,14 @@ class Oe {
6137
6137
  return new L({
6138
6138
  initialValue: this.preferences.hyphens,
6139
6139
  effectiveValue: this.settings.hyphens || !1,
6140
- isEffective: this.layout === B.reflowable && ((t = this.metadata) == null ? void 0 : t.effectiveReadingProgression) === I.ltr && this.preferences.hyphens !== null,
6140
+ isEffective: this.layout === p.reflowable && ((t = this.metadata) == null ? void 0 : t.effectiveReadingProgression) === I.ltr && this.preferences.hyphens !== null,
6141
6141
  onChange: (e) => {
6142
6142
  this.updatePreference("hyphens", e || null);
6143
6143
  }
6144
6144
  });
6145
6145
  }
6146
6146
  get invertFilter() {
6147
- return new S({
6147
+ return new x({
6148
6148
  initialValue: typeof this.preferences.invertFilter == "boolean" ? 100 : this.preferences.invertFilter,
6149
6149
  effectiveValue: typeof this.settings.invertFilter == "boolean" ? 100 : this.settings.invertFilter || 0,
6150
6150
  isEffective: this.settings.invertFilter !== null,
@@ -6156,7 +6156,7 @@ class Oe {
6156
6156
  });
6157
6157
  }
6158
6158
  get invertGaijiFilter() {
6159
- return new S({
6159
+ return new x({
6160
6160
  initialValue: typeof this.preferences.invertGaijiFilter == "boolean" ? 100 : this.preferences.invertGaijiFilter,
6161
6161
  effectiveValue: typeof this.settings.invertGaijiFilter == "boolean" ? 100 : this.settings.invertGaijiFilter || 0,
6162
6162
  isEffective: this.preferences.invertGaijiFilter !== null,
@@ -6171,7 +6171,7 @@ class Oe {
6171
6171
  return new L({
6172
6172
  initialValue: this.preferences.iPadOSPatch,
6173
6173
  effectiveValue: this.settings.iPadOSPatch || !1,
6174
- isEffective: this.layout === B.reflowable,
6174
+ isEffective: this.layout === p.reflowable,
6175
6175
  onChange: (t) => {
6176
6176
  this.updatePreference("iPadOSPatch", t || null);
6177
6177
  }
@@ -6181,18 +6181,18 @@ class Oe {
6181
6181
  return new Lt({
6182
6182
  initialValue: this.preferences.layoutStrategy,
6183
6183
  effectiveValue: this.settings.layoutStrategy,
6184
- isEffective: this.layout === B.reflowable,
6184
+ isEffective: this.layout === p.reflowable,
6185
6185
  onChange: (t) => {
6186
6186
  this.updatePreference("layoutStrategy", t || null);
6187
6187
  },
6188
- supportedValues: Object.values(y)
6188
+ supportedValues: Object.values(C)
6189
6189
  });
6190
6190
  }
6191
6191
  get letterSpacing() {
6192
- return new S({
6192
+ return new x({
6193
6193
  initialValue: this.preferences.letterSpacing,
6194
6194
  effectiveValue: this.settings.letterSpacing || 0,
6195
- isEffective: this.layout === B.reflowable && this.preferences.letterSpacing !== null,
6195
+ isEffective: this.layout === p.reflowable && this.preferences.letterSpacing !== null,
6196
6196
  onChange: (t) => {
6197
6197
  this.updatePreference("letterSpacing", t || null);
6198
6198
  },
@@ -6205,17 +6205,17 @@ class Oe {
6205
6205
  return new L({
6206
6206
  initialValue: this.preferences.ligatures,
6207
6207
  effectiveValue: this.settings.ligatures || !0,
6208
- isEffective: this.layout === B.reflowable && ((e = (t = this.metadata) == null ? void 0 : t.languages) == null ? void 0 : e.some((A) => A === "ar" || A === "fa")) && this.preferences.ligatures !== null || !1,
6208
+ isEffective: this.layout === p.reflowable && ((e = (t = this.metadata) == null ? void 0 : t.languages) == null ? void 0 : e.some((A) => A === "ar" || A === "fa")) && this.preferences.ligatures !== null || !1,
6209
6209
  onChange: (A) => {
6210
6210
  this.updatePreference("ligatures", A || null);
6211
6211
  }
6212
6212
  });
6213
6213
  }
6214
6214
  get lineHeight() {
6215
- return new S({
6215
+ return new x({
6216
6216
  initialValue: this.preferences.lineHeight,
6217
6217
  effectiveValue: this.settings.lineHeight,
6218
- isEffective: this.layout === B.reflowable && this.preferences.lineHeight !== null,
6218
+ isEffective: this.layout === p.reflowable && this.preferences.lineHeight !== null,
6219
6219
  onChange: (t) => {
6220
6220
  this.updatePreference("lineHeight", t || null);
6221
6221
  },
@@ -6224,20 +6224,20 @@ class Oe {
6224
6224
  });
6225
6225
  }
6226
6226
  get linkColor() {
6227
- return new V({
6227
+ return new S({
6228
6228
  initialValue: this.preferences.linkColor,
6229
6229
  effectiveValue: this.settings.linkColor || rt.RS__linkColor,
6230
- isEffective: this.layout === B.reflowable && this.preferences.linkColor !== null,
6230
+ isEffective: this.layout === p.reflowable && this.preferences.linkColor !== null,
6231
6231
  onChange: (t) => {
6232
6232
  this.updatePreference("linkColor", t || null);
6233
6233
  }
6234
6234
  });
6235
6235
  }
6236
6236
  get maximalLineLength() {
6237
- return new S({
6237
+ return new x({
6238
6238
  initialValue: this.preferences.maximalLineLength,
6239
6239
  effectiveValue: this.settings.maximalLineLength,
6240
- isEffective: this.layout === B.reflowable,
6240
+ isEffective: this.layout === p.reflowable,
6241
6241
  onChange: (t) => {
6242
6242
  this.updatePreference("maximalLineLength", t);
6243
6243
  },
@@ -6246,10 +6246,10 @@ class Oe {
6246
6246
  });
6247
6247
  }
6248
6248
  get minimalLineLength() {
6249
- return new S({
6249
+ return new x({
6250
6250
  initialValue: this.preferences.minimalLineLength,
6251
6251
  effectiveValue: this.settings.minimalLineLength,
6252
- isEffective: this.layout === B.reflowable,
6252
+ isEffective: this.layout === p.reflowable,
6253
6253
  onChange: (t) => {
6254
6254
  this.updatePreference("minimalLineLength", t);
6255
6255
  },
@@ -6262,17 +6262,17 @@ class Oe {
6262
6262
  return new L({
6263
6263
  initialValue: this.preferences.noRuby,
6264
6264
  effectiveValue: this.settings.noRuby || !1,
6265
- isEffective: this.layout === B.reflowable && ((e = (t = this.metadata) == null ? void 0 : t.languages) == null ? void 0 : e.includes("ja")) || !1,
6265
+ isEffective: this.layout === p.reflowable && ((e = (t = this.metadata) == null ? void 0 : t.languages) == null ? void 0 : e.includes("ja")) || !1,
6266
6266
  onChange: (A) => {
6267
6267
  this.updatePreference("noRuby", A || null);
6268
6268
  }
6269
6269
  });
6270
6270
  }
6271
6271
  get optimalLineLength() {
6272
- return new S({
6272
+ return new x({
6273
6273
  initialValue: this.preferences.optimalLineLength,
6274
6274
  effectiveValue: this.settings.optimalLineLength,
6275
- isEffective: this.layout === B.reflowable,
6275
+ isEffective: this.layout === p.reflowable,
6276
6276
  onChange: (t) => {
6277
6277
  this.updatePreference("optimalLineLength", t);
6278
6278
  },
@@ -6281,20 +6281,20 @@ class Oe {
6281
6281
  });
6282
6282
  }
6283
6283
  get pageGutter() {
6284
- return new V({
6284
+ return new S({
6285
6285
  initialValue: this.preferences.pageGutter,
6286
6286
  effectiveValue: this.settings.pageGutter,
6287
- isEffective: this.layout === B.reflowable,
6287
+ isEffective: this.layout === p.reflowable,
6288
6288
  onChange: (t) => {
6289
6289
  this.updatePreference("pageGutter", t || null);
6290
6290
  }
6291
6291
  });
6292
6292
  }
6293
6293
  get paragraphIndent() {
6294
- return new S({
6294
+ return new x({
6295
6295
  initialValue: this.preferences.paragraphIndent,
6296
6296
  effectiveValue: this.settings.paragraphIndent || 0,
6297
- isEffective: this.layout === B.reflowable && this.preferences.paragraphIndent !== null,
6297
+ isEffective: this.layout === p.reflowable && this.preferences.paragraphIndent !== null,
6298
6298
  onChange: (t) => {
6299
6299
  this.updatePreference("paragraphIndent", t || null);
6300
6300
  },
@@ -6303,10 +6303,10 @@ class Oe {
6303
6303
  });
6304
6304
  }
6305
6305
  get paragraphSpacing() {
6306
- return new S({
6306
+ return new x({
6307
6307
  initialValue: this.preferences.paragraphSpacing,
6308
6308
  effectiveValue: this.settings.paragraphSpacing || 0,
6309
- isEffective: this.layout === B.reflowable && this.preferences.paragraphSpacing !== null,
6309
+ isEffective: this.layout === p.reflowable && this.preferences.paragraphSpacing !== null,
6310
6310
  onChange: (t) => {
6311
6311
  this.updatePreference("paragraphSpacing", t || null);
6312
6312
  },
@@ -6318,27 +6318,70 @@ class Oe {
6318
6318
  return new L({
6319
6319
  initialValue: this.preferences.scroll,
6320
6320
  effectiveValue: this.settings.scroll || !1,
6321
- isEffective: this.layout === B.reflowable,
6321
+ isEffective: this.layout === p.reflowable,
6322
6322
  onChange: (t) => {
6323
6323
  this.updatePreference("scroll", t || null);
6324
6324
  }
6325
6325
  });
6326
6326
  }
6327
+ get scrollPaddingTop() {
6328
+ return new S({
6329
+ initialValue: this.preferences.scrollPaddingTop,
6330
+ effectiveValue: this.settings.scrollPaddingTop || 0,
6331
+ isEffective: this.layout === p.reflowable && !!this.settings.scroll && this.preferences.scrollPaddingTop !== null,
6332
+ onChange: (t) => {
6333
+ this.updatePreference("scrollPaddingTop", t || null);
6334
+ }
6335
+ });
6336
+ }
6337
+ get scrollPaddingBottom() {
6338
+ return new S({
6339
+ initialValue: this.preferences.scrollPaddingBottom,
6340
+ effectiveValue: this.settings.scrollPaddingBottom || 0,
6341
+ isEffective: this.layout === p.reflowable && !!this.settings.scroll && this.preferences.scrollPaddingBottom !== null,
6342
+ onChange: (t) => {
6343
+ this.updatePreference("scrollPaddingBottom", t || null);
6344
+ }
6345
+ });
6346
+ }
6347
+ /*
6348
+ get scrollPaddingLeft(): Preference<number> {
6349
+ return new Preference<number>({
6350
+ initialValue: this.preferences.scrollPaddingLeft,
6351
+ effectiveValue: this.settings.scrollPaddingLeft || 0,
6352
+ isEffective: this.layout === EPUBLayout.reflowable && !!this.settings.scroll && this.preferences.scrollPaddingLeft !== null,
6353
+ onChange: (newValue: number | null | undefined) => {
6354
+ this.updatePreference("scrollPaddingLeft", newValue || null);
6355
+ }
6356
+ });
6357
+ }
6358
+
6359
+ get scrollPaddingRight(): Preference<number> {
6360
+ return new Preference<number>({
6361
+ initialValue: this.preferences.scrollPaddingRight,
6362
+ effectiveValue: this.settings.scrollPaddingRight || 0,
6363
+ isEffective: this.layout === EPUBLayout.reflowable && !!this.settings.scroll && this.preferences.scrollPaddingRight !== null,
6364
+ onChange: (newValue: number | null | undefined) => {
6365
+ this.updatePreference("scrollPaddingRight", newValue || null);
6366
+ }
6367
+ });
6368
+ }
6369
+ */
6327
6370
  get selectionBackgroundColor() {
6328
- return new V({
6371
+ return new S({
6329
6372
  initialValue: this.preferences.selectionBackgroundColor,
6330
6373
  effectiveValue: this.settings.selectionBackgroundColor || rt.RS__selectionBackgroundColor,
6331
- isEffective: this.layout === B.reflowable && this.preferences.selectionBackgroundColor !== null,
6374
+ isEffective: this.layout === p.reflowable && this.preferences.selectionBackgroundColor !== null,
6332
6375
  onChange: (t) => {
6333
6376
  this.updatePreference("selectionBackgroundColor", t || null);
6334
6377
  }
6335
6378
  });
6336
6379
  }
6337
6380
  get selectionTextColor() {
6338
- return new V({
6381
+ return new S({
6339
6382
  initialValue: this.preferences.selectionTextColor,
6340
6383
  effectiveValue: this.settings.selectionTextColor || rt.RS__selectionTextColor,
6341
- isEffective: this.layout === B.reflowable && this.preferences.selectionTextColor !== null,
6384
+ isEffective: this.layout === p.reflowable && this.preferences.selectionTextColor !== null,
6342
6385
  onChange: (t) => {
6343
6386
  this.updatePreference("selectionTextColor", t || null);
6344
6387
  }
@@ -6348,7 +6391,7 @@ class Oe {
6348
6391
  return new Lt({
6349
6392
  initialValue: this.preferences.textAlign,
6350
6393
  effectiveValue: this.settings.textAlign || pt.start,
6351
- isEffective: this.layout === B.reflowable && this.preferences.textAlign !== null,
6394
+ isEffective: this.layout === p.reflowable && this.preferences.textAlign !== null,
6352
6395
  onChange: (t) => {
6353
6396
  this.updatePreference("textAlign", t || null);
6354
6397
  },
@@ -6356,10 +6399,10 @@ class Oe {
6356
6399
  });
6357
6400
  }
6358
6401
  get textColor() {
6359
- return new V({
6402
+ return new S({
6360
6403
  initialValue: this.preferences.textColor,
6361
6404
  effectiveValue: this.settings.textColor || rt.RS__textColor,
6362
- isEffective: this.layout === B.reflowable && this.preferences.textColor !== null,
6405
+ isEffective: this.layout === p.reflowable && this.preferences.textColor !== null,
6363
6406
  onChange: (t) => {
6364
6407
  this.updatePreference("textColor", t || null);
6365
6408
  }
@@ -6369,7 +6412,7 @@ class Oe {
6369
6412
  return new L({
6370
6413
  initialValue: this.preferences.textNormalization,
6371
6414
  effectiveValue: this.settings.textNormalization || !1,
6372
- isEffective: this.layout === B.reflowable,
6415
+ isEffective: this.layout === p.reflowable,
6373
6416
  onChange: (t) => {
6374
6417
  this.updatePreference("textNormalization", t || null);
6375
6418
  }
@@ -6379,28 +6422,28 @@ class Oe {
6379
6422
  return new Lt({
6380
6423
  initialValue: this.preferences.theme,
6381
6424
  effectiveValue: this.settings.theme || null,
6382
- isEffective: this.layout === B.reflowable,
6425
+ isEffective: this.layout === p.reflowable,
6383
6426
  onChange: (t) => {
6384
6427
  this.updatePreference("theme", t || null);
6385
6428
  },
6386
- supportedValues: Object.values(Dt)
6429
+ supportedValues: Object.values(Pt)
6387
6430
  });
6388
6431
  }
6389
6432
  get visitedColor() {
6390
- return new V({
6433
+ return new S({
6391
6434
  initialValue: this.preferences.visitedColor,
6392
6435
  effectiveValue: this.settings.visitedColor || rt.RS__visitedColor,
6393
- isEffective: this.layout === B.reflowable && this.preferences.visitedColor !== null,
6436
+ isEffective: this.layout === p.reflowable && this.preferences.visitedColor !== null,
6394
6437
  onChange: (t) => {
6395
6438
  this.updatePreference("visitedColor", t || null);
6396
6439
  }
6397
6440
  });
6398
6441
  }
6399
6442
  get wordSpacing() {
6400
- return new S({
6443
+ return new x({
6401
6444
  initialValue: this.preferences.wordSpacing,
6402
6445
  effectiveValue: this.settings.wordSpacing || 0,
6403
- isEffective: this.layout === B.reflowable && this.preferences.wordSpacing !== null,
6446
+ isEffective: this.layout === p.reflowable && this.preferences.wordSpacing !== null,
6404
6447
  onChange: (t) => {
6405
6448
  this.updatePreference("wordSpacing", t || null);
6406
6449
  },
@@ -6411,7 +6454,7 @@ class Oe {
6411
6454
  }
6412
6455
  class Xe {
6413
6456
  constructor(t, e) {
6414
- this.backgroundColor = t.backgroundColor || e.backgroundColor || null, this.blendFilter = typeof t.blendFilter == "boolean" ? t.blendFilter : e.blendFilter ?? null, this.columnCount = t.columnCount !== void 0 ? t.columnCount : e.columnCount !== void 0 ? e.columnCount : null, this.constraint = t.constraint || e.constraint, this.darkenFilter = typeof t.darkenFilter == "boolean" ? t.darkenFilter : e.darkenFilter ?? null, this.deprecatedFontSize = typeof t.deprecatedFontSize == "boolean" ? t.deprecatedFontSize : e.deprecatedFontSize ?? null, this.fontFamily = t.fontFamily || e.fontFamily || null, this.fontSize = t.fontSize !== void 0 ? t.fontSize : e.fontSize !== void 0 ? e.fontSize : null, this.fontSizeNormalize = typeof t.fontSizeNormalize == "boolean" ? t.fontSizeNormalize : e.fontSizeNormalize ?? null, this.fontOpticalSizing = typeof t.fontOpticalSizing == "boolean" ? t.fontOpticalSizing : e.fontOpticalSizing ?? null, this.fontWeight = t.fontWeight !== void 0 ? t.fontWeight : e.fontWeight !== void 0 ? e.fontWeight : null, this.fontWidth = t.fontWidth !== void 0 ? t.fontWidth : e.fontWidth !== void 0 ? e.fontWidth : null, this.hyphens = typeof t.hyphens == "boolean" ? t.hyphens : e.hyphens ?? null, this.invertFilter = typeof t.invertFilter == "boolean" ? t.invertFilter : e.invertFilter ?? null, this.invertGaijiFilter = typeof t.invertGaijiFilter == "boolean" ? t.invertGaijiFilter : e.invertGaijiFilter ?? null, this.iPadOSPatch = this.deprecatedFontSize || t.iPadOSPatch === !1 ? !1 : t.iPadOSPatch === !0 ? St.OS.iPadOS && St.iOSRequest === "desktop" : e.iPadOSPatch, this.layoutStrategy = t.layoutStrategy || e.layoutStrategy || null, this.letterSpacing = t.letterSpacing !== void 0 ? t.letterSpacing : e.letterSpacing !== void 0 ? e.letterSpacing : null, this.ligatures = typeof t.ligatures == "boolean" ? t.ligatures : e.ligatures ?? null, this.lineHeight = t.lineHeight !== void 0 ? t.lineHeight : e.lineHeight !== void 0 ? e.lineHeight : null, this.linkColor = t.linkColor || e.linkColor || null, this.maximalLineLength = t.maximalLineLength === null ? null : t.maximalLineLength || e.maximalLineLength || null, this.minimalLineLength = t.minimalLineLength === null ? null : t.minimalLineLength || e.minimalLineLength || null, this.noRuby = typeof t.noRuby == "boolean" ? t.noRuby : e.noRuby ?? null, this.optimalLineLength = t.optimalLineLength || e.optimalLineLength, this.pageGutter = t.pageGutter !== void 0 ? t.pageGutter : e.pageGutter !== void 0 ? e.pageGutter : null, this.paragraphIndent = t.paragraphIndent !== void 0 ? t.paragraphIndent : e.paragraphIndent !== void 0 ? e.paragraphIndent : null, this.paragraphSpacing = t.paragraphSpacing !== void 0 ? t.paragraphSpacing : e.paragraphSpacing !== void 0 ? e.paragraphSpacing : null, this.scroll = typeof t.scroll == "boolean" ? t.scroll : e.scroll ?? null, this.selectionBackgroundColor = t.selectionBackgroundColor || e.selectionBackgroundColor || null, this.selectionTextColor = t.selectionTextColor || e.selectionTextColor || null, this.textAlign = t.textAlign || e.textAlign || null, this.textColor = t.textColor || e.textColor || null, this.textNormalization = typeof t.textNormalization == "boolean" ? t.textNormalization : e.textNormalization ?? null, this.theme = t.theme || e.theme || null, this.visitedColor = t.visitedColor || e.visitedColor || null, this.wordSpacing = t.wordSpacing !== void 0 ? t.wordSpacing : e.wordSpacing !== void 0 ? e.wordSpacing : null;
6457
+ this.backgroundColor = t.backgroundColor || e.backgroundColor || null, this.blendFilter = typeof t.blendFilter == "boolean" ? t.blendFilter : e.blendFilter ?? null, this.columnCount = t.columnCount !== void 0 ? t.columnCount : e.columnCount !== void 0 ? e.columnCount : null, this.constraint = t.constraint || e.constraint, this.darkenFilter = typeof t.darkenFilter == "boolean" ? t.darkenFilter : e.darkenFilter ?? null, this.deprecatedFontSize = typeof t.deprecatedFontSize == "boolean" ? t.deprecatedFontSize : e.deprecatedFontSize ?? null, this.fontFamily = t.fontFamily || e.fontFamily || null, this.fontSize = t.fontSize !== void 0 ? t.fontSize : e.fontSize !== void 0 ? e.fontSize : null, this.fontSizeNormalize = typeof t.fontSizeNormalize == "boolean" ? t.fontSizeNormalize : e.fontSizeNormalize ?? null, this.fontOpticalSizing = typeof t.fontOpticalSizing == "boolean" ? t.fontOpticalSizing : e.fontOpticalSizing ?? null, this.fontWeight = t.fontWeight !== void 0 ? t.fontWeight : e.fontWeight !== void 0 ? e.fontWeight : null, this.fontWidth = t.fontWidth !== void 0 ? t.fontWidth : e.fontWidth !== void 0 ? e.fontWidth : null, this.hyphens = typeof t.hyphens == "boolean" ? t.hyphens : e.hyphens ?? null, this.invertFilter = typeof t.invertFilter == "boolean" ? t.invertFilter : e.invertFilter ?? null, this.invertGaijiFilter = typeof t.invertGaijiFilter == "boolean" ? t.invertGaijiFilter : e.invertGaijiFilter ?? null, this.iPadOSPatch = this.deprecatedFontSize || t.iPadOSPatch === !1 ? !1 : t.iPadOSPatch === !0 ? St.OS.iPadOS && St.iOSRequest === "desktop" : e.iPadOSPatch, this.layoutStrategy = t.layoutStrategy || e.layoutStrategy || null, this.letterSpacing = t.letterSpacing !== void 0 ? t.letterSpacing : e.letterSpacing !== void 0 ? e.letterSpacing : null, this.ligatures = typeof t.ligatures == "boolean" ? t.ligatures : e.ligatures ?? null, this.lineHeight = t.lineHeight !== void 0 ? t.lineHeight : e.lineHeight !== void 0 ? e.lineHeight : null, this.linkColor = t.linkColor || e.linkColor || null, this.maximalLineLength = t.maximalLineLength === null ? null : t.maximalLineLength || e.maximalLineLength || null, this.minimalLineLength = t.minimalLineLength === null ? null : t.minimalLineLength || e.minimalLineLength || null, this.noRuby = typeof t.noRuby == "boolean" ? t.noRuby : e.noRuby ?? null, this.optimalLineLength = t.optimalLineLength || e.optimalLineLength, this.pageGutter = t.pageGutter !== void 0 ? t.pageGutter : e.pageGutter !== void 0 ? e.pageGutter : null, this.paragraphIndent = t.paragraphIndent !== void 0 ? t.paragraphIndent : e.paragraphIndent !== void 0 ? e.paragraphIndent : null, this.paragraphSpacing = t.paragraphSpacing !== void 0 ? t.paragraphSpacing : e.paragraphSpacing !== void 0 ? e.paragraphSpacing : null, this.scroll = typeof t.scroll == "boolean" ? t.scroll : e.scroll ?? null, this.scrollPaddingTop = t.scrollPaddingTop !== void 0 ? t.scrollPaddingTop : e.scrollPaddingTop !== void 0 ? e.scrollPaddingTop : null, this.scrollPaddingBottom = t.scrollPaddingBottom !== void 0 ? t.scrollPaddingBottom : e.scrollPaddingBottom !== void 0 ? e.scrollPaddingBottom : null, this.selectionBackgroundColor = t.selectionBackgroundColor || e.selectionBackgroundColor || null, this.selectionTextColor = t.selectionTextColor || e.selectionTextColor || null, this.textAlign = t.textAlign || e.textAlign || null, this.textColor = t.textColor || e.textColor || null, this.textNormalization = typeof t.textNormalization == "boolean" ? t.textNormalization : e.textNormalization ?? null, this.theme = t.theme || e.theme || null, this.visitedColor = t.visitedColor || e.visitedColor || null, this.wordSpacing = t.wordSpacing !== void 0 ? t.wordSpacing : e.wordSpacing !== void 0 ? e.wordSpacing : null;
6415
6458
  }
6416
6459
  }
6417
6460
  function Ut(n) {
@@ -6456,19 +6499,19 @@ class xA extends SA {
6456
6499
  }
6457
6500
  class Fn extends SA {
6458
6501
  constructor(t) {
6459
- super(), this.backgroundColor = t.backgroundColor ?? null, this.baseFontFamily = t.baseFontFamily ?? null, this.baseFontSize = t.baseFontSize ?? null, this.baseLineHeight = t.baseLineHeight ?? null, this.boxSizingMedia = t.boxSizingMedia ?? null, this.boxSizingTable = t.boxSizingTable ?? null, this.colWidth = t.colWidth ?? null, this.colCount = t.colCount ?? null, this.colGap = t.colGap ?? null, this.codeFontFamily = t.codeFontFamily ?? null, this.compFontFamily = t.compFontFamily ?? null, this.defaultLineLength = t.defaultLineLength ?? null, this.flowSpacing = t.flowSpacing ?? null, this.humanistTf = t.humanistTf ?? null, this.linkColor = t.linkColor ?? null, this.maxMediaWidth = t.maxMediaWidth ?? null, this.maxMediaHeight = t.maxMediaHeight ?? null, this.modernTf = t.modernTf ?? null, this.monospaceTf = t.monospaceTf ?? null, this.noOverflow = t.noOverflow ?? null, this.noVerticalPagination = t.noVerticalPagination ?? null, this.oldStyleTf = t.oldStyleTf ?? null, this.pageGutter = t.pageGutter ?? null, this.paraIndent = t.paraIndent ?? null, this.paraSpacing = t.paraSpacing ?? null, this.primaryColor = t.primaryColor ?? null, this.sansSerifJa = t.sansSerifJa ?? null, this.sansSerifJaV = t.sansSerifJaV ?? null, this.sansTf = t.sansTf ?? null, this.secondaryColor = t.secondaryColor ?? null, this.selectionBackgroundColor = t.selectionBackgroundColor ?? null, this.selectionTextColor = t.selectionTextColor ?? null, this.serifJa = t.serifJa ?? null, this.serifJaV = t.serifJaV ?? null, this.textColor = t.textColor ?? null, this.typeScale = t.typeScale ?? null, this.visitedColor = t.visitedColor ?? null;
6502
+ super(), this.backgroundColor = t.backgroundColor ?? null, this.baseFontFamily = t.baseFontFamily ?? null, this.baseFontSize = t.baseFontSize ?? null, this.baseLineHeight = t.baseLineHeight ?? null, this.boxSizingMedia = t.boxSizingMedia ?? null, this.boxSizingTable = t.boxSizingTable ?? null, this.colWidth = t.colWidth ?? null, this.colCount = t.colCount ?? null, this.colGap = t.colGap ?? null, this.codeFontFamily = t.codeFontFamily ?? null, this.compFontFamily = t.compFontFamily ?? null, this.defaultLineLength = t.defaultLineLength ?? null, this.flowSpacing = t.flowSpacing ?? null, this.humanistTf = t.humanistTf ?? null, this.linkColor = t.linkColor ?? null, this.maxMediaWidth = t.maxMediaWidth ?? null, this.maxMediaHeight = t.maxMediaHeight ?? null, this.modernTf = t.modernTf ?? null, this.monospaceTf = t.monospaceTf ?? null, this.noOverflow = t.noOverflow ?? null, this.noVerticalPagination = t.noVerticalPagination ?? null, this.oldStyleTf = t.oldStyleTf ?? null, this.pageGutter = t.pageGutter ?? null, this.paraIndent = t.paraIndent ?? null, this.paraSpacing = t.paraSpacing ?? null, this.primaryColor = t.primaryColor ?? null, this.scrollPaddingBottom = t.scrollPaddingBottom ?? null, this.scrollPaddingTop = t.scrollPaddingTop ?? null, this.sansSerifJa = t.sansSerifJa ?? null, this.sansSerifJaV = t.sansSerifJaV ?? null, this.sansTf = t.sansTf ?? null, this.secondaryColor = t.secondaryColor ?? null, this.selectionBackgroundColor = t.selectionBackgroundColor ?? null, this.selectionTextColor = t.selectionTextColor ?? null, this.serifJa = t.serifJa ?? null, this.serifJaV = t.serifJaV ?? null, this.textColor = t.textColor ?? null, this.typeScale = t.typeScale ?? null, this.visitedColor = t.visitedColor ?? null;
6460
6503
  }
6461
6504
  toCSSProperties() {
6462
6505
  const t = {};
6463
- return this.backgroundColor && (t["--RS__backgroundColor"] = this.backgroundColor), this.baseFontFamily && (t["--RS__baseFontFamily"] = this.baseFontFamily), this.baseFontSize != null && (t["--RS__baseFontSize"] = this.toRem(this.baseFontSize)), this.baseLineHeight != null && (t["--RS__baseLineHeight"] = this.toUnitless(this.baseLineHeight)), this.boxSizingMedia && (t["--RS__boxSizingMedia"] = this.boxSizingMedia), this.boxSizingTable && (t["--RS__boxSizingTable"] = this.boxSizingTable), this.colWidth != null && (t["--RS__colWidth"] = this.colWidth), this.colCount != null && (t["--RS__colCount"] = this.toUnitless(this.colCount)), this.colGap != null && (t["--RS__colGap"] = this.toPx(this.colGap)), this.codeFontFamily && (t["--RS__codeFontFamily"] = this.codeFontFamily), this.compFontFamily && (t["--RS__compFontFamily"] = this.compFontFamily), this.defaultLineLength != null && (t["--RS__defaultLineLength"] = this.toPx(this.defaultLineLength)), this.flowSpacing != null && (t["--RS__flowSpacing"] = this.toRem(this.flowSpacing)), this.humanistTf && (t["--RS__humanistTf"] = this.humanistTf), this.linkColor && (t["--RS__linkColor"] = this.linkColor), this.maxMediaWidth && (t["--RS__maxMediaWidth"] = this.toVw(this.maxMediaWidth)), this.maxMediaHeight && (t["--RS__maxMediaHeight"] = this.toVh(this.maxMediaHeight)), this.modernTf && (t["--RS__modernTf"] = this.modernTf), this.monospaceTf && (t["--RS__monospaceTf"] = this.monospaceTf), this.noOverflow && (t["--RS__disableOverflow"] = this.toFlag("noOverflow")), this.noVerticalPagination && (t["--RS__disablePagination"] = this.toFlag("noVerticalPagination")), this.oldStyleTf && (t["--RS__oldStyleTf"] = this.oldStyleTf), this.pageGutter != null && (t["--RS__pageGutter"] = this.toPx(this.pageGutter)), this.paraIndent != null && (t["--RS__paraIndent"] = this.toRem(this.paraIndent)), this.paraSpacing != null && (t["--RS__paraSpacing"] = this.toRem(this.paraSpacing)), this.primaryColor && (t["--RS__primaryColor"] = this.primaryColor), this.sansSerifJa && (t["--RS__sans-serif-ja"] = this.sansSerifJa), this.sansSerifJaV && (t["--RS__sans-serif-ja-v"] = this.sansSerifJaV), this.sansTf && (t["--RS__sansTf"] = this.sansTf), this.secondaryColor && (t["--RS__secondaryColor"] = this.secondaryColor), this.selectionBackgroundColor && (t["--RS__selectionBackgroundColor"] = this.selectionBackgroundColor), this.selectionTextColor && (t["--RS__selectionTextColor"] = this.selectionTextColor), this.serifJa && (t["--RS__serif-ja"] = this.serifJa), this.serifJaV && (t["--RS__serif-ja-v"] = this.serifJaV), this.textColor && (t["--RS__textColor"] = this.textColor), this.typeScale && (t["--RS__typeScale"] = this.toUnitless(this.typeScale)), this.visitedColor && (t["--RS__visitedColor"] = this.visitedColor), t;
6506
+ return this.backgroundColor && (t["--RS__backgroundColor"] = this.backgroundColor), this.baseFontFamily && (t["--RS__baseFontFamily"] = this.baseFontFamily), this.baseFontSize != null && (t["--RS__baseFontSize"] = this.toRem(this.baseFontSize)), this.baseLineHeight != null && (t["--RS__baseLineHeight"] = this.toUnitless(this.baseLineHeight)), this.boxSizingMedia && (t["--RS__boxSizingMedia"] = this.boxSizingMedia), this.boxSizingTable && (t["--RS__boxSizingTable"] = this.boxSizingTable), this.colWidth != null && (t["--RS__colWidth"] = this.colWidth), this.colCount != null && (t["--RS__colCount"] = this.toUnitless(this.colCount)), this.colGap != null && (t["--RS__colGap"] = this.toPx(this.colGap)), this.codeFontFamily && (t["--RS__codeFontFamily"] = this.codeFontFamily), this.compFontFamily && (t["--RS__compFontFamily"] = this.compFontFamily), this.defaultLineLength != null && (t["--RS__defaultLineLength"] = this.toPx(this.defaultLineLength)), this.flowSpacing != null && (t["--RS__flowSpacing"] = this.toRem(this.flowSpacing)), this.humanistTf && (t["--RS__humanistTf"] = this.humanistTf), this.linkColor && (t["--RS__linkColor"] = this.linkColor), this.maxMediaWidth && (t["--RS__maxMediaWidth"] = this.toVw(this.maxMediaWidth)), this.maxMediaHeight && (t["--RS__maxMediaHeight"] = this.toVh(this.maxMediaHeight)), this.modernTf && (t["--RS__modernTf"] = this.modernTf), this.monospaceTf && (t["--RS__monospaceTf"] = this.monospaceTf), this.noOverflow && (t["--RS__disableOverflow"] = this.toFlag("noOverflow")), this.noVerticalPagination && (t["--RS__disablePagination"] = this.toFlag("noVerticalPagination")), this.oldStyleTf && (t["--RS__oldStyleTf"] = this.oldStyleTf), this.pageGutter != null && (t["--RS__pageGutter"] = this.toPx(this.pageGutter)), this.paraIndent != null && (t["--RS__paraIndent"] = this.toRem(this.paraIndent)), this.paraSpacing != null && (t["--RS__paraSpacing"] = this.toRem(this.paraSpacing)), this.primaryColor && (t["--RS__primaryColor"] = this.primaryColor), this.sansSerifJa && (t["--RS__sans-serif-ja"] = this.sansSerifJa), this.sansSerifJaV && (t["--RS__sans-serif-ja-v"] = this.sansSerifJaV), this.sansTf && (t["--RS__sansTf"] = this.sansTf), this.scrollPaddingBottom != null && (t["--RS__scrollPaddingBottom"] = this.toPx(this.scrollPaddingBottom)), this.scrollPaddingTop != null && (t["--RS__scrollPaddingTop"] = this.toPx(this.scrollPaddingTop)), this.secondaryColor && (t["--RS__secondaryColor"] = this.secondaryColor), this.selectionBackgroundColor && (t["--RS__selectionBackgroundColor"] = this.selectionBackgroundColor), this.selectionTextColor && (t["--RS__selectionTextColor"] = this.selectionTextColor), this.serifJa && (t["--RS__serif-ja"] = this.serifJa), this.serifJaV && (t["--RS__serif-ja-v"] = this.serifJaV), this.textColor && (t["--RS__textColor"] = this.textColor), this.typeScale && (t["--RS__typeScale"] = this.toUnitless(this.typeScale)), this.visitedColor && (t["--RS__visitedColor"] = this.visitedColor), t;
6464
6507
  }
6465
6508
  }
6466
6509
  class Un {
6467
6510
  constructor(t) {
6468
- this.rsProperties = t.rsProperties, this.userProperties = t.userProperties, this.lineLengths = t.lineLengths, this.container = t.container, this.containerParent = t.container.parentElement || document.documentElement, this.constraint = t.constraint, this.layoutStrategy = t.layoutStrategy || y.lineLength, this.cachedColCount = t.userProperties.colCount, this.effectiveContainerWidth = Ut(this.containerParent);
6511
+ this.rsProperties = t.rsProperties, this.userProperties = t.userProperties, this.lineLengths = t.lineLengths, this.container = t.container, this.containerParent = t.container.parentElement || document.documentElement, this.constraint = t.constraint, this.layoutStrategy = t.layoutStrategy || C.lineLength, this.cachedColCount = t.userProperties.colCount, this.effectiveContainerWidth = Ut(this.containerParent);
6469
6512
  }
6470
6513
  update(t) {
6471
- this.cachedColCount = t.columnCount, t.constraint !== this.constraint && (this.constraint = t.constraint), t.layoutStrategy && t.layoutStrategy !== this.layoutStrategy && (this.layoutStrategy = t.layoutStrategy), t.pageGutter !== this.rsProperties.pageGutter && (this.rsProperties.pageGutter = t.pageGutter), this.lineLengths.update({
6514
+ this.cachedColCount = t.columnCount, t.constraint !== this.constraint && (this.constraint = t.constraint), t.layoutStrategy && t.layoutStrategy !== this.layoutStrategy && (this.layoutStrategy = t.layoutStrategy), t.pageGutter !== this.rsProperties.pageGutter && (this.rsProperties.pageGutter = t.pageGutter), t.scrollPaddingBottom !== this.rsProperties.scrollPaddingBottom && (this.rsProperties.scrollPaddingBottom = t.scrollPaddingBottom), t.scrollPaddingTop !== this.rsProperties.scrollPaddingTop && (this.rsProperties.scrollPaddingTop = t.scrollPaddingTop), this.lineLengths.update({
6472
6515
  fontFace: t.fontFamily,
6473
6516
  letterSpacing: t.letterSpacing,
6474
6517
  pageGutter: t.pageGutter,
@@ -6519,7 +6562,7 @@ class Un {
6519
6562
  return A ?? this.userProperties.view === "scroll" ? this.computeScrollLength(t, e) : this.paginate(t, e, i);
6520
6563
  }
6521
6564
  getCompensatedMetrics(t, e) {
6522
- const A = t || this.userProperties.fontSize || 1, i = A < 1 ? this.layoutStrategy === y.margin ? 1 / (A + 3e-3) : 1 / A : e ? A : 1;
6565
+ const A = t || this.userProperties.fontSize || 1, i = A < 1 ? this.layoutStrategy === C.margin ? 1 / (A + 3e-3) : 1 / A : e ? A : 1;
6523
6566
  return {
6524
6567
  zoomFactor: A,
6525
6568
  zoomCompensation: i,
@@ -6532,100 +6575,100 @@ class Un {
6532
6575
  // TODO: As scroll shows, the effective line-length
6533
6576
  // should be the same as uncompensated when scale >= 1
6534
6577
  paginate(t, e, A) {
6535
- const i = Math.round(Ut(this.containerParent) - this.constraint), r = this.getCompensatedMetrics(t, e), s = r.zoomCompensation, o = r.optimal, a = r.minimal, h = r.maximal;
6536
- let l = 1, c = i;
6578
+ const i = Math.round(Ut(this.containerParent) - this.constraint), r = this.getCompensatedMetrics(t, e), s = r.zoomCompensation, o = r.optimal, a = r.minimal, l = r.maximal;
6579
+ let h = 1, c = i;
6537
6580
  if (A === void 0)
6538
6581
  return {
6539
6582
  colCount: void 0,
6540
6583
  effectiveContainerWidth: c,
6541
- effectiveLineLength: Math.round(c / l * s)
6584
+ effectiveLineLength: Math.round(c / h * s)
6542
6585
  };
6543
6586
  if (A === null) {
6544
- if (this.layoutStrategy === y.margin)
6587
+ if (this.layoutStrategy === C.margin)
6545
6588
  if (i >= o) {
6546
- l = Math.floor(i / o);
6547
- const g = Math.round(l * (o * s));
6589
+ h = Math.floor(i / o);
6590
+ const g = Math.round(h * (o * s));
6548
6591
  c = Math.min(g, i);
6549
6592
  } else
6550
- l = 1, c = i;
6551
- else if (this.layoutStrategy === y.lineLength)
6552
- if (i < o || h === null)
6553
- l = 1, c = i;
6593
+ h = 1, c = i;
6594
+ else if (this.layoutStrategy === C.lineLength)
6595
+ if (i < o || l === null)
6596
+ h = 1, c = i;
6554
6597
  else {
6555
- l = Math.floor(i / o);
6556
- const g = Math.round(l * (h * s));
6598
+ h = Math.floor(i / o);
6599
+ const g = Math.round(h * (l * s));
6557
6600
  c = Math.min(g, i);
6558
6601
  }
6559
- else if (this.layoutStrategy === y.columns)
6602
+ else if (this.layoutStrategy === C.columns)
6560
6603
  if (i >= o)
6561
- if (h === null)
6562
- l = Math.floor(i / o), c = i;
6604
+ if (l === null)
6605
+ h = Math.floor(i / o), c = i;
6563
6606
  else {
6564
- l = Math.floor(i / (a || o));
6565
- const g = Math.round(l * (o * s));
6607
+ h = Math.floor(i / (a || o));
6608
+ const g = Math.round(h * (o * s));
6566
6609
  c = Math.min(g, i);
6567
6610
  }
6568
6611
  else
6569
- l = 1, c = i;
6612
+ h = 1, c = i;
6570
6613
  } else if (A > 1) {
6571
6614
  const g = Math.round(A * (a !== null ? a : o));
6572
6615
  if (i >= g) {
6573
- if (l = A, this.layoutStrategy === y.margin) {
6574
- const M = Math.round(l * (o * s));
6575
- c = Math.min(M, i);
6576
- } else if (this.layoutStrategy === y.lineLength || this.layoutStrategy === y.columns) {
6577
- if (h === null)
6616
+ if (h = A, this.layoutStrategy === C.margin) {
6617
+ const m = Math.round(h * (o * s));
6618
+ c = Math.min(m, i);
6619
+ } else if (this.layoutStrategy === C.lineLength || this.layoutStrategy === C.columns) {
6620
+ if (l === null)
6578
6621
  c = i;
6579
6622
  else {
6580
- const M = Math.round(l * (h * s));
6581
- c = Math.min(M, i);
6623
+ const m = Math.round(h * (l * s));
6624
+ c = Math.min(m, i);
6582
6625
  }
6583
- this.layoutStrategy === y.columns && console.error("Columns strategy is not compatible with a column count whose value is a number. Falling back to lineLength strategy.");
6626
+ this.layoutStrategy === C.columns && console.error("Columns strategy is not compatible with a column count whose value is a number. Falling back to lineLength strategy.");
6584
6627
  }
6585
6628
  } else {
6586
- a !== null && i < Math.round(A * a) ? l = Math.floor(i / a) : l = A;
6587
- const M = Math.round(l * (o * s));
6588
- c = Math.min(M, i);
6629
+ a !== null && i < Math.round(A * a) ? h = Math.floor(i / a) : h = A;
6630
+ const m = Math.round(h * (o * s));
6631
+ c = Math.min(m, i);
6589
6632
  }
6590
- } else if (l = 1, i >= o) {
6591
- if (this.layoutStrategy === y.margin) {
6633
+ } else if (h = 1, i >= o) {
6634
+ if (this.layoutStrategy === C.margin) {
6592
6635
  const g = Math.round(o * s);
6593
6636
  c = Math.min(g, i);
6594
- } else if (this.layoutStrategy === y.lineLength || this.layoutStrategy === y.columns) {
6595
- if (h === null)
6637
+ } else if (this.layoutStrategy === C.lineLength || this.layoutStrategy === C.columns) {
6638
+ if (l === null)
6596
6639
  c = i;
6597
6640
  else {
6598
- const g = Math.round(h * s);
6641
+ const g = Math.round(l * s);
6599
6642
  c = Math.min(g, i);
6600
6643
  }
6601
- this.layoutStrategy === y.columns && console.error("Columns strategy is not compatible with a column count whose value is a number. Falling back to lineLength strategy.");
6644
+ this.layoutStrategy === C.columns && console.error("Columns strategy is not compatible with a column count whose value is a number. Falling back to lineLength strategy.");
6602
6645
  }
6603
6646
  } else
6604
6647
  c = i;
6605
6648
  return {
6606
- colCount: l,
6649
+ colCount: h,
6607
6650
  effectiveContainerWidth: c,
6608
- effectiveLineLength: Math.round(c / l / (t && t >= 1 ? t : 1) * s)
6651
+ effectiveLineLength: Math.round(c / h / (t && t >= 1 ? t : 1) * s)
6609
6652
  };
6610
6653
  }
6611
6654
  // This behaves as paginate where colCount = 1
6612
6655
  computeScrollLength(t, e) {
6613
6656
  const A = Math.round(Ut(this.containerParent) - this.constraint), i = this.getCompensatedMetrics(t && (t < 1 || e) ? t : 1, e), r = i.zoomCompensation, s = i.optimal, o = i.maximal;
6614
- let a, h = A, l = Math.round(s * r);
6615
- if (this.layoutStrategy === y.margin) {
6657
+ let a, l = A, h = Math.round(s * r);
6658
+ if (this.layoutStrategy === C.margin) {
6616
6659
  const c = Math.min(Math.round(s * r), A);
6617
- l = e ? c : Math.round(c * r);
6618
- } else if (this.layoutStrategy === y.lineLength || this.layoutStrategy === y.columns)
6619
- if (this.layoutStrategy === y.columns && console.error("Columns strategy is not compatible with scroll. Falling back to lineLength strategy."), o === null)
6620
- l = A;
6660
+ h = e ? c : Math.round(c * r);
6661
+ } else if (this.layoutStrategy === C.lineLength || this.layoutStrategy === C.columns)
6662
+ if (this.layoutStrategy === C.columns && console.error("Columns strategy is not compatible with scroll. Falling back to lineLength strategy."), o === null)
6663
+ h = A;
6621
6664
  else {
6622
6665
  const c = Math.min(Math.round(o * r), A);
6623
- l = e ? c : Math.round(c * r);
6666
+ h = e ? c : Math.round(c * r);
6624
6667
  }
6625
6668
  return {
6626
6669
  colCount: a,
6627
- effectiveContainerWidth: h,
6628
- effectiveLineLength: l
6670
+ effectiveContainerWidth: l,
6671
+ effectiveLineLength: h
6629
6672
  };
6630
6673
  }
6631
6674
  setContainerWidth() {
@@ -6655,7 +6698,7 @@ const yn = (n) => ({
6655
6698
  });
6656
6699
  class TA extends qA {
6657
6700
  constructor(t, e, A, i = [], r = void 0, s = { preferences: {}, defaults: {} }) {
6658
- super(), this._preferencesEditor = null, this.pub = e, this.layout = TA.determineLayout(e), this.container = t, this.listeners = yn(A), this.currentLocation = r, i.length && (this.positions = i), this._preferences = new Bt(s.preferences), this._defaults = new mn(s.defaults), this._settings = new Xe(this._preferences, this._defaults), this._css = new Un({
6701
+ super(), this._preferencesEditor = null, this.pub = e, this.layout = TA.determineLayout(e), this.container = t, this.listeners = yn(A), this.currentLocation = r, i.length && (this.positions = i), this._preferences = new Bt(s.preferences), this._defaults = new Mn(s.defaults), this._settings = new Xe(this._preferences, this._defaults), this._css = new Un({
6659
6702
  rsProperties: new Fn({}),
6660
6703
  userProperties: new xA({}),
6661
6704
  lineLengths: new ft({
@@ -6670,16 +6713,16 @@ class TA extends qA {
6670
6713
  }),
6671
6714
  container: t,
6672
6715
  constraint: this._settings.constraint
6673
- }), this.currentProgression = this.layout === B.reflowable && this._settings.scroll ? I.ttb : e.metadata.effectiveReadingProgression, this.resizeObserver = new ResizeObserver(() => this.ownerWindow.requestAnimationFrame(async () => await this.resizeHandler())), this.resizeObserver.observe(this.container.parentElement || document.documentElement);
6716
+ }), this.currentProgression = this.layout === p.reflowable && this._settings.scroll ? I.ttb : e.metadata.effectiveReadingProgression, this.resizeObserver = new ResizeObserver(() => this.ownerWindow.requestAnimationFrame(async () => await this.resizeHandler())), this.resizeObserver.observe(this.container.parentElement || document.documentElement);
6674
6717
  }
6675
6718
  static determineLayout(t) {
6676
6719
  var A;
6677
6720
  const e = t.metadata.getPresentation();
6678
- return (e == null ? void 0 : e.layout) == B.fixed || t.metadata.otherMetadata && "http://openmangaformat.org/schema/1.0#version" in t.metadata.otherMetadata || ((A = t.metadata.otherMetadata) == null ? void 0 : A.conformsTo) === "https://readium.org/webpub-manifest/profiles/divina" ? B.fixed : B.reflowable;
6721
+ return (e == null ? void 0 : e.layout) == p.fixed || t.metadata.otherMetadata && "http://openmangaformat.org/schema/1.0#version" in t.metadata.otherMetadata || ((A = t.metadata.otherMetadata) == null ? void 0 : A.conformsTo) === "https://readium.org/webpub-manifest/profiles/divina" ? p.fixed : p.reflowable;
6679
6722
  }
6680
6723
  async load() {
6681
6724
  var t;
6682
- if ((t = this.positions) != null && t.length || (this.positions = await this.pub.positionsFromManifest()), this.layout === B.fixed)
6725
+ if ((t = this.positions) != null && t.length || (this.positions = await this.pub.positionsFromManifest()), this.layout === p.fixed)
6683
6726
  this.framePool = new rn(this.container, this.positions, this.pub), this.framePool.listener = (e, A) => {
6684
6727
  this.eventListener(e, A);
6685
6728
  };
@@ -6691,7 +6734,7 @@ class TA extends qA {
6691
6734
  this.currentLocation === void 0 && (this.currentLocation = this.positions[0]), await this.resizeHandler(), await this.apply();
6692
6735
  }
6693
6736
  get settings() {
6694
- if (this.layout === B.fixed)
6737
+ if (this.layout === p.fixed)
6695
6738
  return Object.freeze({ ...this._settings });
6696
6739
  {
6697
6740
  const t = this._css.userProperties.colCount || this._css.rsProperties.colCount || this._settings.columnCount;
@@ -6706,7 +6749,7 @@ class TA extends qA {
6706
6749
  }
6707
6750
  async applyPreferences() {
6708
6751
  const t = this._settings;
6709
- this._settings = new Xe(this._preferences, this._defaults), this._preferencesEditor !== null && (this._preferencesEditor = new Oe(this._preferences, this.settings, this.pub.metadata)), this.layout === B.fixed ? this.handleFXLPrefs(t, this._settings) : await this.updateCSS(!0);
6752
+ this._settings = new Xe(this._preferences, this._defaults), this._preferencesEditor !== null && (this._preferencesEditor = new Oe(this._preferences, this.settings, this.pub.metadata)), this.layout === p.fixed ? this.handleFXLPrefs(t, this._settings) : await this.updateCSS(!0);
6710
6753
  }
6711
6754
  // TODO: fit, etc.
6712
6755
  handleFXLPrefs(t, e) {
@@ -6729,7 +6772,7 @@ class TA extends qA {
6729
6772
  }
6730
6773
  async resizeHandler() {
6731
6774
  const t = this.container.parentElement || document.documentElement;
6732
- if (this.layout === B.fixed)
6775
+ if (this.layout === p.fixed)
6733
6776
  this.container.style.width = `${Ut(t) - this._settings.constraint}px`, this.framePool.resizeHandler();
6734
6777
  else {
6735
6778
  const e = this._css.userProperties.colCount, A = this._css.userProperties.lineLength;
@@ -6765,15 +6808,15 @@ class TA extends qA {
6765
6808
  this.listeners.frameLoaded(this._cframes[0].iframe.contentWindow), this.listeners.positionChanged(this.currentLocation);
6766
6809
  break;
6767
6810
  case "first_visible_locator":
6768
- const h = dt.deserialize(e);
6769
- if (!h)
6811
+ const l = dt.deserialize(e);
6812
+ if (!l)
6770
6813
  break;
6771
6814
  this.currentLocation = new dt({
6772
6815
  href: this.currentLocation.href,
6773
6816
  type: this.currentLocation.type,
6774
6817
  title: this.currentLocation.title,
6775
- locations: h == null ? void 0 : h.locations,
6776
- text: h == null ? void 0 : h.text
6818
+ locations: l == null ? void 0 : l.locations,
6819
+ text: l == null ? void 0 : l.text
6777
6820
  }), this.listeners.positionChanged(this.currentLocation);
6778
6821
  break;
6779
6822
  case "text_selected":
@@ -6781,10 +6824,10 @@ class TA extends qA {
6781
6824
  break;
6782
6825
  case "click":
6783
6826
  case "tap":
6784
- const l = e;
6785
- if (l.interactiveElement) {
6827
+ const h = e;
6828
+ if (h.interactiveElement) {
6786
6829
  const c = new DOMParser().parseFromString(
6787
- l.interactiveElement,
6830
+ h.interactiveElement,
6788
6831
  "text/html"
6789
6832
  ).body.children[0];
6790
6833
  if (c.nodeType === c.ELEMENT_NODE && c.nodeName === "A" && c.hasAttribute("href")) {
@@ -6804,25 +6847,25 @@ class TA extends qA {
6804
6847
  href: We.join(We.dirname(this.currentLocation.href), g)
6805
6848
  }), !1, () => {
6806
6849
  });
6807
- } catch (M) {
6808
- console.warn(`Couldn't go to link for ${g}: ${M}`), this.listeners.handleLocator(new X({
6850
+ } catch (m) {
6851
+ console.warn(`Couldn't go to link for ${g}: ${m}`), this.listeners.handleLocator(new X({
6809
6852
  href: g
6810
6853
  }).locator);
6811
6854
  }
6812
6855
  } else
6813
6856
  console.log("Clicked on", c);
6814
6857
  } else {
6815
- if (this.layout === B.fixed && this.framePool.doNotDisturb && (l.doNotDisturb = !0), this.layout === B.fixed && (this.currentProgression === I.rtl || this.currentProgression === I.ltr) && this.framePool.currentFrames.length > 1) {
6816
- const M = this.framePool.currentFrames;
6817
- l.targetFrameSrc === ((i = M[this.currentProgression === I.rtl ? 0 : 1]) == null ? void 0 : i.source) && (l.x += (((s = (r = M[this.currentProgression === I.rtl ? 1 : 0]) == null ? void 0 : r.iframe.contentWindow) == null ? void 0 : s.innerWidth) ?? 0) * window.devicePixelRatio);
6858
+ if (this.layout === p.fixed && this.framePool.doNotDisturb && (h.doNotDisturb = !0), this.layout === p.fixed && (this.currentProgression === I.rtl || this.currentProgression === I.ltr) && this.framePool.currentFrames.length > 1) {
6859
+ const m = this.framePool.currentFrames;
6860
+ h.targetFrameSrc === ((i = m[this.currentProgression === I.rtl ? 0 : 1]) == null ? void 0 : i.source) && (h.x += (((s = (r = m[this.currentProgression === I.rtl ? 1 : 0]) == null ? void 0 : r.iframe.contentWindow) == null ? void 0 : s.innerWidth) ?? 0) * window.devicePixelRatio);
6818
6861
  }
6819
- if (t === "click" ? this.listeners.click(l) : this.listeners.tap(l))
6862
+ if (t === "click" ? this.listeners.click(h) : this.listeners.tap(h))
6820
6863
  break;
6821
6864
  if (this.currentProgression === I.ttb || this.currentProgression === I.btt)
6822
6865
  return;
6823
6866
  const g = (this._cframes.length === 2 ? this._cframes[0].window.innerWidth + this._cframes[1].window.innerWidth : this._cframes[0].window.innerWidth) * window.devicePixelRatio / 4;
6824
- l.x >= g && l.x <= g * 3 && this.listeners.miscPointer(1), l.x < g ? this.goLeft(!1, () => {
6825
- }) : l.x > g * 3 && this.goRight(!1, () => {
6867
+ h.x >= g && h.x <= g * 3 && this.listeners.miscPointer(1), h.x < g ? this.goLeft(!1, () => {
6868
+ }) : h.x > g * 3 && this.goRight(!1, () => {
6826
6869
  });
6827
6870
  }
6828
6871
  break;
@@ -6853,7 +6896,7 @@ class TA extends qA {
6853
6896
  }
6854
6897
  determineModules() {
6855
6898
  let t = Array.from(_t.keys());
6856
- return this.layout === B.fixed ? t.filter((e) => vi.includes(e)) : (t = t.filter((e) => Gi.includes(e)), this.readingProgression === I.ttb || this.readingProgression === I.btt ? t = t.filter((e) => e !== "column_snapper") : t = t.filter((e) => e !== "scroll_snapper"), t);
6899
+ return this.layout === p.fixed ? t.filter((e) => vi.includes(e)) : (t = t.filter((e) => Gi.includes(e)), this.readingProgression === I.ttb || this.readingProgression === I.btt ? t = t.filter((e) => e !== "column_snapper") : t = t.filter((e) => e !== "scroll_snapper"), t);
6857
6900
  }
6858
6901
  // Start listening to messages from the current iframe
6859
6902
  attachListener() {
@@ -6878,7 +6921,7 @@ class TA extends qA {
6878
6921
  var i, r;
6879
6922
  if (t === 0)
6880
6923
  return !1;
6881
- if (this.layout === B.fixed) {
6924
+ if (this.layout === p.fixed) {
6882
6925
  const s = this.framePool, o = s.currentNumbers[0];
6883
6926
  if (t === 1) {
6884
6927
  if (!s.next(s.perPage))
@@ -6890,17 +6933,17 @@ class TA extends qA {
6890
6933
  throw Error("Invalid relative value for FXL");
6891
6934
  const a = s.currentNumbers[0];
6892
6935
  if (o > a) {
6893
- for (let h = this.positions.length - 1; h >= 0; h--)
6894
- if (this.positions[h].href === this.pub.readingOrder.items[a - 1].href) {
6895
- this.currentLocation = this.positions[h].copyWithLocations({
6936
+ for (let l = this.positions.length - 1; l >= 0; l--)
6937
+ if (this.positions[l].href === this.pub.readingOrder.items[a - 1].href) {
6938
+ this.currentLocation = this.positions[l].copyWithLocations({
6896
6939
  progression: 0.999999999999
6897
6940
  });
6898
6941
  break;
6899
6942
  }
6900
6943
  } else if (o < a) {
6901
- for (let h = 0; h < this.positions.length; h++)
6902
- if (this.positions[h].href === this.pub.readingOrder.items[a - 1].href) {
6903
- this.currentLocation = this.positions[h];
6944
+ for (let l = 0; l < this.positions.length; l++)
6945
+ if (this.positions[l].href === this.pub.readingOrder.items[a - 1].href) {
6946
+ this.currentLocation = this.positions[l];
6904
6947
  break;
6905
6948
  }
6906
6949
  }
@@ -6945,8 +6988,8 @@ class TA extends qA {
6945
6988
  const o = r.locations.progression ?? 0;
6946
6989
  if (t.progress <= o) {
6947
6990
  A = r;
6948
- const a = e.splice(s + 1, e.length), h = [t.progress, t.progress + t.reference];
6949
- return i = this.findLastPositionInProgressionRange(a, h), !0;
6991
+ const a = e.splice(s + 1, e.length), l = [t.progress, t.progress + t.reference];
6992
+ return i = this.findLastPositionInProgressionRange(a, l), !0;
6950
6993
  } else
6951
6994
  return !1;
6952
6995
  }), { first: A, last: i };
@@ -6960,13 +7003,13 @@ class TA extends qA {
6960
7003
  }
6961
7004
  goBackward(t, e) {
6962
7005
  var A, i;
6963
- this.layout === B.fixed ? (this.changeResource(-1), e(!0)) : (i = (A = this._cframes[0]) == null ? void 0 : A.msg) == null || i.send("go_prev", void 0, async (r) => {
7006
+ this.layout === p.fixed ? (this.changeResource(-1), e(!0)) : (i = (A = this._cframes[0]) == null ? void 0 : A.msg) == null || i.send("go_prev", void 0, async (r) => {
6964
7007
  e(r ? !0 : await this.changeResource(-1));
6965
7008
  });
6966
7009
  }
6967
7010
  goForward(t, e) {
6968
7011
  var A, i;
6969
- this.layout === B.fixed ? (this.changeResource(1), e(!0)) : (i = (A = this._cframes[0]) == null ? void 0 : A.msg) == null || i.send("go_next", void 0, async (r) => {
7012
+ this.layout === p.fixed ? (this.changeResource(1), e(!0)) : (i = (A = this._cframes[0]) == null ? void 0 : A.msg) == null || i.send("go_next", void 0, async (r) => {
6970
7013
  e(r ? !0 : await this.changeResource(1));
6971
7014
  });
6972
7015
  }
@@ -6976,7 +7019,7 @@ class TA extends qA {
6976
7019
  // Starting and ending position currently showing in the reader
6977
7020
  get currentPositionNumbers() {
6978
7021
  var t, e;
6979
- return this.layout === B.fixed ? this.framePool.currentNumbers : [((t = this.currentLocator) == null ? void 0 : t.locations.position) ?? 0, ...(e = this.lastLocationInView) != null && e.locations.position ? [this.lastLocationInView.locations.position] : []];
7022
+ return this.layout === p.fixed ? this.framePool.currentNumbers : [((t = this.currentLocator) == null ? void 0 : t.locations.position) ?? 0, ...(e = this.lastLocationInView) != null && e.locations.position ? [this.lastLocationInView.locations.position] : []];
6980
7023
  }
6981
7024
  // TODO: This is temporary until user settings are implemented.
6982
7025
  get readingProgression() {
@@ -6990,20 +7033,20 @@ class TA extends qA {
6990
7033
  return this.pub;
6991
7034
  }
6992
7035
  async loadLocator(t, e) {
6993
- var a, h;
7036
+ var a, l;
6994
7037
  let A = !1, i = typeof t.locations.getCssSelector == "function" && t.locations.getCssSelector();
6995
- if ((a = t.text) != null && a.highlight ? A = await new Promise((l, c) => {
6996
- var g, M;
7038
+ if ((a = t.text) != null && a.highlight ? A = await new Promise((h, c) => {
7039
+ var g, m;
6997
7040
  this._cframes[0].msg.send(
6998
7041
  "go_text",
6999
7042
  i ? [
7000
7043
  (g = t.text) == null ? void 0 : g.serialize(),
7001
7044
  i
7002
7045
  // Include CSS selector if it exists
7003
- ] : (M = t.text) == null ? void 0 : M.serialize(),
7004
- (m) => l(m)
7046
+ ] : (m = t.text) == null ? void 0 : m.serialize(),
7047
+ (M) => h(M)
7005
7048
  );
7006
- }) : i && (A = await new Promise((l, c) => {
7049
+ }) : i && (A = await new Promise((h, c) => {
7007
7050
  this._cframes[0].msg.send(
7008
7051
  "go_text",
7009
7052
  [
@@ -7012,22 +7055,22 @@ class TA extends qA {
7012
7055
  i
7013
7056
  // Just CSS selector
7014
7057
  ],
7015
- (g) => l(g)
7058
+ (g) => h(g)
7016
7059
  );
7017
7060
  })), A) {
7018
7061
  e(A);
7019
7062
  return;
7020
7063
  }
7021
7064
  const r = typeof t.locations.htmlId == "function" && t.locations.htmlId();
7022
- if (r && (A = await new Promise((l, c) => {
7023
- this._cframes[0].msg.send("go_id", r, (g) => l(g));
7065
+ if (r && (A = await new Promise((h, c) => {
7066
+ this._cframes[0].msg.send("go_id", r, (g) => h(g));
7024
7067
  })), A) {
7025
7068
  e(A);
7026
7069
  return;
7027
7070
  }
7028
- const s = (h = t == null ? void 0 : t.locations) == null ? void 0 : h.progression;
7029
- s && s > 0 ? A = await new Promise((l, c) => {
7030
- this._cframes[0].msg.send("go_progression", s, (g) => l(g));
7071
+ const s = (l = t == null ? void 0 : t.locations) == null ? void 0 : l.progression;
7072
+ s && s > 0 ? A = await new Promise((h, c) => {
7073
+ this._cframes[0].msg.send("go_progression", s, (g) => h(g));
7031
7074
  }) : A = !0, e(A);
7032
7075
  }
7033
7076
  go(t, e, A) {
@@ -7220,7 +7263,7 @@ class Rn {
7220
7263
  export {
7221
7264
  L as BooleanPreference,
7222
7265
  Lt as EnumPreference,
7223
- mn as EpubDefaults,
7266
+ Mn as EpubDefaults,
7224
7267
  TA as EpubNavigator,
7225
7268
  Bt as EpubPreferences,
7226
7269
  Oe as EpubPreferencesEditor,
@@ -7234,15 +7277,15 @@ export {
7234
7277
  ki as FrameManager,
7235
7278
  Ji as FramePoolManager,
7236
7279
  Oi as HorizontalThird,
7237
- y as LayoutStrategy,
7280
+ C as LayoutStrategy,
7238
7281
  ft as LineLengths,
7239
7282
  KA as Navigator,
7240
- V as Preference,
7283
+ S as Preference,
7241
7284
  Fn as RSProperties,
7242
- S as RangePreference,
7285
+ x as RangePreference,
7243
7286
  Un as ReadiumCSS,
7244
7287
  pt as TextAlignment,
7245
- Dt as Theme,
7288
+ Pt as Theme,
7246
7289
  xA as UserProperties,
7247
7290
  Xi as VerticalThird,
7248
7291
  qA as VisualNavigator,