@silurus/ooxml 0.64.2 → 0.65.0

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.
@@ -84,7 +84,15 @@ function c(e) {
84
84
  let t = e.toLowerCase();
85
85
  return /[ᄀ-ᇿ㄰-㆏가-힯]/.test(e) ? "kr" : /[぀-ヿ]/.test(e) ? "jp" : /jhenghei|微軟正黑|新細明|細明|pmingliu|mingliu|dfkai|標楷|華康|cns11643|kaiti tc|ming\s*liu/.test(t) || /新細明體|細明體|標楷體|微軟正黑體|華康/.test(e) ? "tc" : /simsun|nsimsun|simhei|simkai|simfang|yahei|dengxian|fangsong|kaiti|youyuan|lisu|stsong|stkaiti|stfangsong|stheiti|stxihei|stzhongsong|songti sc|heiti sc|微软雅黑/.test(t) || /宋体|黑体|楷体|仿宋|等线|微软雅黑|隶书|幼圆/.test(e) ? "sc" : /malgun|batang|gulim|dotum|gungsuh|nanum|new gulim|hancom|hy(gothic|graphic|namu)?/.test(t) ? "kr" : /\bmeiryo\b|\byu\s*(gothic|mincho)\b|yugothic|yumincho|hiragino|\bms\s*(gothic|mincho|pgothic|pmincho|ui\s*gothic)\b|\bms[pg]?(gothic|mincho)\b|ipa(ex)?(gothic|mincho)|noto\s+(sans|serif)\s+jp|游ゴシック|游明朝|MS|メイリオ|ヒラギノ/.test(t) || /游ゴシック|游明朝|MS ゴシック|MS 明朝|MS Pゴシック|メイリオ|ヒラギノ/.test(e) ? "jp" : null;
86
86
  }
87
- function l(e, t) {
87
+ function l(e) {
88
+ if (!e) return "sans";
89
+ let t = e.toLowerCase();
90
+ return /mono|courier|consolas|等幅|gothic_m/.test(t) ? "mono" : /roman|times|cambria|caladea|georgia|garamond|century(?!\s*gothic)|palatino|didot|bodoni|playfair|source serif|noto serif|min\s*cho|明朝体|明朝|song|sung|simsun|nsimsun|batang|gungsuh|ming\s*liu|mingliu|pmingliu|fang\s*song|fangsong|kai\s*ti|kaiti|simkai|simfang|stsong|stkaiti|stfangsong|stzhongsong|新細明|細明|宋体|楷体|楷體|仿宋|標楷|游明朝|MS 明朝|ms mincho|yu mincho|hiragino mincho|ヒラギノ明朝/.test(t) || /新細明體|細明體|宋体|明朝|楷体|楷體|仿宋|標楷體|游明朝|MS 明朝/.test(e) ? "serif" : "sans";
91
+ }
92
+ function u(e) {
93
+ return e >= 1424 && e <= 1535 || e >= 1536 && e <= 1791 || e >= 1792 && e <= 1871 || e >= 1872 && e <= 1919 || e >= 1920 && e <= 1983 || e >= 1984 && e <= 2047 || e >= 2048 && e <= 2111 || e >= 2112 && e <= 2143 || e >= 2144 && e <= 2303 || e >= 64285 && e <= 64335 || e >= 64336 && e <= 65023 || e >= 65136 && e <= 65279 || e >= 67584 && e <= 69631 || e >= 124928 && e <= 126975;
94
+ }
95
+ function d(e, t) {
88
96
  let n = t === "serif" ? "Noto Serif" : "Noto Sans", r = {
89
97
  jp: [
90
98
  "jp",
@@ -118,28 +126,28 @@ function l(e, t) {
118
126
  };
119
127
  return r[e].map((e) => `${n} ${i[e]}`);
120
128
  }
121
- var u = [
129
+ var f = [
122
130
  "Noto Sans",
123
131
  "Noto Sans Hebrew",
124
132
  "Noto Sans Thai",
125
133
  "Noto Sans Devanagari"
126
- ], d = ["Noto Serif", "Noto Serif Hebrew"], f = (e) => `https://fonts.googleapis.com/css2?family=${e}:wght@400;700&display=swap`, p = {
127
- "noto sans kr": { url: f("Noto+Sans+KR") },
128
- "noto sans sc": { url: f("Noto+Sans+SC") },
129
- "noto sans tc": { url: f("Noto+Sans+TC") },
130
- "noto sans jp": { url: f("Noto+Sans+JP") },
131
- "noto serif kr": { url: f("Noto+Serif+KR") },
132
- "noto serif sc": { url: f("Noto+Serif+SC") },
133
- "noto serif tc": { url: f("Noto+Serif+TC") },
134
- "noto serif jp": { url: f("Noto+Serif+JP") },
135
- "noto sans": { url: f("Noto+Sans") },
136
- "noto serif": { url: f("Noto+Serif") },
137
- "noto sans devanagari": { url: f("Noto+Sans+Devanagari") },
138
- "noto sans thai": { url: f("Noto+Sans+Thai") },
139
- "noto sans hebrew": { url: f("Noto+Sans+Hebrew") },
140
- "noto serif hebrew": { url: f("Noto+Serif+Hebrew") }
134
+ ], p = ["Noto Serif", "Noto Serif Hebrew"], m = (e) => `https://fonts.googleapis.com/css2?family=${e}:wght@400;700&display=swap`, h = {
135
+ "noto sans kr": { url: m("Noto+Sans+KR") },
136
+ "noto sans sc": { url: m("Noto+Sans+SC") },
137
+ "noto sans tc": { url: m("Noto+Sans+TC") },
138
+ "noto sans jp": { url: m("Noto+Sans+JP") },
139
+ "noto serif kr": { url: m("Noto+Serif+KR") },
140
+ "noto serif sc": { url: m("Noto+Serif+SC") },
141
+ "noto serif tc": { url: m("Noto+Serif+TC") },
142
+ "noto serif jp": { url: m("Noto+Serif+JP") },
143
+ "noto sans": { url: m("Noto+Sans") },
144
+ "noto serif": { url: m("Noto+Serif") },
145
+ "noto sans devanagari": { url: m("Noto+Sans+Devanagari") },
146
+ "noto sans thai": { url: m("Noto+Sans+Thai") },
147
+ "noto sans hebrew": { url: m("Noto+Sans+Hebrew") },
148
+ "noto serif hebrew": { url: m("Noto+Serif+Hebrew") }
141
149
  };
142
- function m(e, t) {
150
+ function g(e, t) {
143
151
  let n = !1, r = !1, i = !1, a = !1, o = !1, s = !1, c = !1, l = !1, u = () => n && r && i && a && o && s && c && l;
144
152
  outer: for (let t of e) if (t) for (let e of t) {
145
153
  let t = e.codePointAt(0);
@@ -164,42 +172,146 @@ function m(e, t) {
164
172
  return l && d.push("Noto Sans", "Noto Serif"), a && d.push("Noto Naskh Arabic", "Noto Sans Arabic"), o && d.push("Noto Sans Thai"), s && d.push("Noto Sans Hebrew", "Noto Serif Hebrew"), c && d.push("Noto Sans Devanagari"), d;
165
173
  }
166
174
  //#endregion
175
+ //#region packages/core/src/fonts/symbol-font.ts
176
+ var _ = {
177
+ 167: "♣",
178
+ 168: "♦",
179
+ 169: "♥",
180
+ 170: "♠",
181
+ 171: "↔",
182
+ 172: "←",
183
+ 173: "↑",
184
+ 174: "→",
185
+ 175: "↓",
186
+ 183: "•",
187
+ 184: "÷",
188
+ 185: "≠",
189
+ 180: "×",
190
+ 176: "°",
191
+ 177: "±",
192
+ 163: "≤",
193
+ 179: "≥"
194
+ }, v = {
195
+ 33: "✏",
196
+ 34: "✂",
197
+ 36: "👓",
198
+ 74: "☺",
199
+ 75: "😐",
200
+ 76: "☹",
201
+ 118: "❖",
202
+ 167: "▪",
203
+ 108: "●",
204
+ 110: "■",
205
+ 116: "◆",
206
+ 119: "◆",
207
+ 251: "✗",
208
+ 252: "✓",
209
+ 253: "☒",
210
+ 254: "☑",
211
+ 223: "←",
212
+ 224: "→",
213
+ 225: "↑",
214
+ 226: "↓",
215
+ 227: "↖",
216
+ 228: "↗",
217
+ 229: "↙",
218
+ 230: "↘"
219
+ };
220
+ function y(e) {
221
+ let t = {};
222
+ for (let n of Object.keys(e)) {
223
+ let r = Number(n);
224
+ t[r] = e[r], t[61440 + r] = e[r];
225
+ }
226
+ return t;
227
+ }
228
+ var b = y(_), x = y(v);
229
+ function S(e, t) {
230
+ if (!t) return e;
231
+ let n = t.trim().toLowerCase(), r = n === "wingdings" ? x : n === "symbol" ? b : null;
232
+ return r ? r[e.charCodeAt(0)] ?? e : e;
233
+ }
234
+ function C(e) {
235
+ if (!e) return !1;
236
+ let t = e.toLowerCase();
237
+ return t === "symbol" || t.includes("wingdings");
238
+ }
239
+ function w(e, t) {
240
+ if (!C(t) || e.length === 0) return [{
241
+ text: e,
242
+ mapped: !1
243
+ }];
244
+ let n = [], r = "", i = null;
245
+ for (let a of e) {
246
+ let e = S(a, t), o = e !== a;
247
+ i === null || o === i ? (i = o, r += e) : (n.push({
248
+ text: r,
249
+ mapped: i
250
+ }), i = o, r = e);
251
+ }
252
+ return r.length > 0 && n.push({
253
+ text: r,
254
+ mapped: i ?? !1
255
+ }), n;
256
+ }
257
+ //#endregion
167
258
  //#region packages/core/src/chart/axis-scale.ts
168
- function h(e, t = 5) {
259
+ function T(e, t = 5) {
169
260
  if (e === 0) return 1;
170
261
  let n = e / t, r = 10 ** Math.floor(Math.log10(n)), i = n / r;
171
262
  return (i < 1.5 ? 1 : i < 3.5 ? 2 : i < 7.5 ? 5 : 10) * r;
172
263
  }
173
- function g(e, t, n = 0) {
264
+ function E(e, t, n = 0) {
174
265
  if (e <= 0) return t;
175
266
  let r = e + (e - n) / 20;
176
267
  return Math.ceil(r / t) * t;
177
268
  }
178
- function _(e, t) {
269
+ function D(e, t) {
179
270
  if (e >= 0) return 0;
180
271
  let n = Math.floor(e / t) * t;
181
272
  return Math.abs(n - e) < t * 1e-9 ? n - t : n;
182
273
  }
183
- function v(e, t, n, r) {
184
- let i = h(t - e), a = n ?? _(e, i);
274
+ var O = 40;
275
+ function k(e) {
276
+ return e == null || !isFinite(e) || e <= 0 ? 5 : Math.min(15, Math.max(3, Math.round(e / O)));
277
+ }
278
+ function A(e, t, n, r, i) {
279
+ let a = T(t - e, k(i)), o = n ?? D(e, a);
185
280
  return {
186
- min: a,
187
- max: r ?? g(t, i, a),
188
- step: i
281
+ min: o,
282
+ max: r ?? E(t, a, o),
283
+ step: a
189
284
  };
190
285
  }
191
286
  //#endregion
287
+ //#region packages/core/src/units.ts
288
+ var j = 12700, M = 9525, N = 4 / 3;
289
+ //#endregion
290
+ //#region packages/core/src/chart/axis-style.ts
291
+ function P(e, t) {
292
+ return e ? Math.max(.5, e / j) * t : 1;
293
+ }
294
+ function F(e, t, n) {
295
+ return {
296
+ color: e ? `#${e}` : "#aaa",
297
+ width: P(t, n)
298
+ };
299
+ }
300
+ function I(e) {
301
+ return e.catAxisCrossBetween !== "midCat";
302
+ }
303
+ //#endregion
192
304
  //#region packages/core/src/chart/chart-number-format.ts
193
- function y(e) {
305
+ function L(e) {
194
306
  return Number.isInteger(e) ? String(e) : e.toFixed(6).replace(/\.?0+$/, "");
195
307
  }
196
- function b(e, t) {
197
- if (!t || t.trim().toLowerCase() === "general") return y(e);
198
- if (x(t)) return S(e, t);
199
- let n = C(t), r;
200
- return r = e > 0 ? n[0] ?? t : e < 0 ? n[1] ?? n[0] ?? t : n[2] ?? n[0] ?? t, r === "" ? "" : (e < 0 && n.length < 2 ? "-" : "") + w(Math.abs(e), r);
308
+ function R(e, t) {
309
+ if (!t || t.trim().toLowerCase() === "general") return L(e);
310
+ if (z(t)) return B(e, t);
311
+ let n = V(t), r;
312
+ return r = e > 0 ? n[0] ?? t : e < 0 ? n[1] ?? n[0] ?? t : n[2] ?? n[0] ?? t, r === "" ? "" : (e < 0 && n.length < 2 ? "-" : "") + H(Math.abs(e), r);
201
313
  }
202
- function x(e) {
314
+ function z(e) {
203
315
  let t = !1;
204
316
  for (let n = 0; n < e.length; n++) {
205
317
  let r = e[n];
@@ -221,7 +333,7 @@ function x(e) {
221
333
  }
222
334
  return !1;
223
335
  }
224
- function S(e, t) {
336
+ function B(e, t) {
225
337
  let n = Date.UTC(1899, 11, 30), r = e < 60 ? e + 1 : e, i = n + Math.floor(r) * 864e5, a = new Date(i), o = a.getUTCFullYear(), s = a.getUTCMonth() + 1, c = a.getUTCDate(), l = (e - Math.floor(e)) * 86400, u = Math.floor(l / 3600), d = Math.floor(l % 3600 / 60), f = Math.floor(l % 60), p = "", m = !1, h = 0;
226
338
  for (; h < t.length;) {
227
339
  let e = t[h];
@@ -276,7 +388,7 @@ function S(e, t) {
276
388
  }
277
389
  return p;
278
390
  }
279
- function C(e) {
391
+ function V(e) {
280
392
  let t = [], n = "";
281
393
  for (let r = 0; r < e.length; r++) {
282
394
  let i = e[r];
@@ -302,7 +414,7 @@ function C(e) {
302
414
  }
303
415
  return t.push(n), t;
304
416
  }
305
- function w(e, t) {
417
+ function H(e, t) {
306
418
  let n = [], r = 0, i = !1, a = !1;
307
419
  for (; r < t.length;) {
308
420
  let e = t[r];
@@ -363,16 +475,16 @@ function w(e, t) {
363
475
  if (!i) return n.map((e) => e.text).join("");
364
476
  let o = a ? e * 100 : e, s = "";
365
477
  for (let e of n) e.kind === "num" && (s += e.text);
366
- let c = T(o, s), l = !1;
478
+ let c = U(o, s), l = !1;
367
479
  return n.map((e) => e.kind === "lit" ? e.text : l ? "" : (l = !0, c)).join("");
368
480
  }
369
- function T(e, t) {
481
+ function U(e, t) {
370
482
  let n = t.indexOf("."), r = n >= 0 ? t.slice(0, n) : t, i = n >= 0 ? t.slice(n + 1) : "", a = /,/.test(r), o = (i.match(/[#0?]/g) ?? []).length, s = (r.replace(/,/g, "").match(/0/g) ?? []).length, [c, l = ""] = e.toFixed(o).split("."), u = c.padStart(s, "0"), d = a ? u.replace(/\B(?=(\d{3})+(?!\d))/g, ",") : u;
371
483
  return o === 0 ? d : `${d}.${l.padEnd(o, "0")}`;
372
484
  }
373
485
  //#endregion
374
486
  //#region packages/core/src/shape/pattern-bitmaps.ts
375
- var E = {
487
+ var ee = {
376
488
  pct5: [
377
489
  0,
378
490
  16,
@@ -754,21 +866,21 @@ var E = {
754
866
  90
755
867
  ]
756
868
  };
757
- function D(e, t, n) {
758
- let r = E[e];
869
+ function te(e, t, n) {
870
+ let r = ee[e];
759
871
  if (!r) return null;
760
- let i = O(8, 8);
872
+ let i = ne(8, 8);
761
873
  if (!i) return null;
762
874
  let a = i.getContext("2d");
763
875
  if (!a) return null;
764
- a.fillStyle = k(n), a.fillRect(0, 0, 8, 8), a.fillStyle = k(t);
876
+ a.fillStyle = re(n), a.fillRect(0, 0, 8, 8), a.fillStyle = re(t);
765
877
  for (let e = 0; e < 8; e++) {
766
878
  let t = r[e];
767
879
  for (let n = 0; n < 8; n++) t & 1 << 7 - n && a.fillRect(n, e, 1, 1);
768
880
  }
769
881
  return i;
770
882
  }
771
- function O(e, t) {
883
+ function ne(e, t) {
772
884
  if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(e, t);
773
885
  if (typeof document < "u") {
774
886
  let n = document.createElement("canvas");
@@ -776,23 +888,30 @@ function O(e, t) {
776
888
  }
777
889
  return null;
778
890
  }
779
- function k(e) {
891
+ function re(e) {
780
892
  return `rgba(${parseInt(e.slice(0, 2), 16)},${parseInt(e.slice(2, 4), 16)},${parseInt(e.slice(4, 6), 16)},${e.length >= 8 ? parseInt(e.slice(6, 8), 16) / 255 : 1})`;
781
893
  }
782
894
  //#endregion
783
895
  //#region packages/core/src/shape/paint.ts
784
- function A(e, t = 1) {
896
+ function W(e, t = 1) {
785
897
  let n = e.charCodeAt(0) === 35 ? e.slice(1) : e;
786
898
  return `rgba(${parseInt(n.slice(0, 2), 16)},${parseInt(n.slice(2, 4), 16)},${parseInt(n.slice(4, 6), 16)},${n.length >= 8 ? parseInt(n.slice(6, 8), 16) / 255 : t})`;
787
899
  }
788
- function j(e, t, n, r, i, a) {
900
+ function ie(e) {
901
+ let t = e.charCodeAt(0) === 35 ? e.slice(1) : e, n = parseInt(t.slice(0, 2), 16), r = parseInt(t.slice(2, 4), 16), i = parseInt(t.slice(4, 6), 16);
902
+ return .299 * n + .587 * r + .114 * i;
903
+ }
904
+ function ae(e) {
905
+ return e && ie(e) < 128 ? "#FFFFFF" : "#000000";
906
+ }
907
+ function oe(e, t, n, r, i, a) {
789
908
  if (!e || e.fillType === "none") return null;
790
- if (e.fillType === "solid") return A(e.color);
791
- if (e.fillType === "pattern") return N(e, t);
909
+ if (e.fillType === "solid") return W(e.color);
910
+ if (e.fillType === "pattern") return G(e, t);
792
911
  if (e.fillType === "gradient") {
793
912
  let o = e.stops;
794
913
  if (o.length === 0) return null;
795
- if (o.length === 1) return A(o[0].color);
914
+ if (o.length === 1) return W(o[0].color);
796
915
  let s;
797
916
  if (e.gradType === "radial") {
798
917
  let e = n + i / 2, o = r + a / 2, c = Math.sqrt(i * i + a * a) / 2;
@@ -801,23 +920,23 @@ function j(e, t, n, r, i, a) {
801
920
  let o = e.angle * Math.PI / 180, c = n + i / 2, l = r + a / 2, u = (Math.abs(Math.cos(o)) * i + Math.abs(Math.sin(o)) * a) / 2;
802
921
  s = t.createLinearGradient(c - Math.cos(o) * u, l - Math.sin(o) * u, c + Math.cos(o) * u, l + Math.sin(o) * u);
803
922
  }
804
- for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)), A(e.color));
923
+ for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)), W(e.color));
805
924
  return s;
806
925
  }
807
926
  return null;
808
927
  }
809
- var M = /* @__PURE__ */ new WeakMap();
810
- function N(e, t) {
811
- let n = `${e.preset}|${e.fg}|${e.bg}`, r = M.get(t);
812
- r || (r = /* @__PURE__ */ new Map(), M.set(t, r));
928
+ var se = /* @__PURE__ */ new WeakMap();
929
+ function G(e, t) {
930
+ let n = `${e.preset}|${e.fg}|${e.bg}`, r = se.get(t);
931
+ r || (r = /* @__PURE__ */ new Map(), se.set(t, r));
813
932
  let i = r.get(n);
814
933
  if (i) return i;
815
- let a = D(e.preset, e.fg, e.bg);
816
- if (!a) return A(e.fg);
934
+ let a = te(e.preset, e.fg, e.bg);
935
+ if (!a) return W(e.fg);
817
936
  let o = t.createPattern(a, "repeat");
818
- return o ? (r.set(n, o), o) : A(e.fg);
937
+ return o ? (r.set(n, o), o) : W(e.fg);
819
938
  }
820
- var P = {
939
+ var K = {
821
940
  dash: [6, 3],
822
941
  dot: [1.5, 3],
823
942
  dashDot: [
@@ -850,20 +969,20 @@ var P = {
850
969
  2
851
970
  ]
852
971
  };
853
- function F(e, t, n) {
972
+ function q(e, t, n) {
854
973
  if (!t) {
855
974
  e.strokeStyle = "transparent", e.lineWidth = 0, e.setLineDash([]);
856
975
  return;
857
976
  }
858
- e.strokeStyle = A(t.color);
977
+ e.strokeStyle = W(t.color);
859
978
  let r = Math.max(.5, t.width * n);
860
979
  e.lineWidth = r;
861
- let i = t.dashStyle ? P[t.dashStyle] : null;
980
+ let i = t.dashStyle ? K[t.dashStyle] : null;
862
981
  e.setLineDash(i ? i.map((e) => e * r) : []);
863
982
  }
864
983
  //#endregion
865
- //#region packages/core/src/units.ts
866
- var I = 12700, L = 9525, R = 4 / 3, z = [
984
+ //#region packages/core/src/chart/renderer.ts
985
+ var J = [
867
986
  "4472C4",
868
987
  "ED7D31",
869
988
  "A9D18E",
@@ -877,58 +996,58 @@ var I = 12700, L = 9525, R = 4 / 3, z = [
877
996
  "255E91",
878
997
  "967300"
879
998
  ];
880
- function ee(e, t) {
881
- return t?.color ? `#${t.color}` : `#${z[e % z.length]}`;
999
+ function ce(e, t) {
1000
+ return t?.color ? `#${t.color}` : `#${J[e % J.length]}`;
882
1001
  }
883
- function B(e, t) {
1002
+ function le(e, t) {
884
1003
  let n = t.dataPointColors?.[e];
885
- return n ? `#${n}` : `#${z[e % z.length]}`;
1004
+ return n ? `#${n}` : `#${J[e % J.length]}`;
886
1005
  }
887
- function V(e) {
1006
+ function ue(e) {
888
1007
  return e === "pie" || e === "doughnut";
889
1008
  }
890
- function H(e, t, n) {
891
- if (V(e)) {
1009
+ function de(e, t, n) {
1010
+ if (ue(e)) {
892
1011
  let e = t[0];
893
- return e ? B(n, e) : `#${z[n % z.length]}`;
1012
+ return e ? le(n, e) : `#${J[n % J.length]}`;
894
1013
  }
895
- return ee(n, t[n]);
1014
+ return ce(n, t[n]);
896
1015
  }
897
- function U(e, t, n) {
1016
+ function fe(e, t, n) {
898
1017
  return e ? e / 100 * n : Math.max(8, Math.min(10, t * .045));
899
1018
  }
900
- function W(e, t, n, r, i, a, o, s) {
1019
+ function pe(e, t, n, r, i, a, o, s) {
901
1020
  e.save(), e.font = `${o ? "bold " : ""}${a}px sans-serif`, e.fillStyle = s, i === "cat" ? (e.textAlign = "center", e.textBaseline = "middle", e.fillText(t.slice(0, 60), n, r)) : (e.translate(n, r), e.rotate(-Math.PI / 2), e.textAlign = "center", e.textBaseline = "middle", e.fillText(t.slice(0, 60), 0, 0)), e.restore();
902
1021
  }
903
- function te(e) {
1022
+ function me(e) {
904
1023
  return e ? `#${e}` : "#555";
905
1024
  }
906
- function G(e) {
1025
+ function he(e) {
907
1026
  return Math.max(8, e * .02);
908
1027
  }
909
- function ne(e, t, n, r) {
910
- let i = U(e.catAxisTitleFontSizeHpt, n, r), a = U(e.valAxisTitleFontSizeHpt, n, r);
1028
+ function ge(e, t, n, r) {
1029
+ let i = fe(e.catAxisTitleFontSizeHpt, n, r), a = fe(e.valAxisTitleFontSizeHpt, n, r);
911
1030
  return {
912
1031
  catTitlePx: i,
913
1032
  valTitlePx: a,
914
- catTitleH: e.catAxisTitle ? i + G(n) + 4 : 0,
915
- valTitleW: e.valAxisTitle ? a + G(t) + 4 : 0
1033
+ catTitleH: e.catAxisTitle ? i + he(n) + 4 : 0,
1034
+ valTitleW: e.valAxisTitle ? a + he(t) + 4 : 0
916
1035
  };
917
1036
  }
918
- function re(e, t, n, r, i, a, o, s, c, l, u, d, f, p) {
1037
+ function _e(e, t, n, r, i, a, o, s, c, l, u, d, f, p) {
919
1038
  if (t.valAxisTitle) {
920
- let r = n + u + G(i) + p / 2, a = s + l / 2;
921
- W(e, t.valAxisTitle, r, a, "val", p, t.valAxisTitleFontBold ?? !0, te(t.valAxisTitleFontColor));
1039
+ let r = n + u + he(i) + p / 2, a = s + l / 2;
1040
+ pe(e, t.valAxisTitle, r, a, "val", p, t.valAxisTitleFontBold ?? !0, me(t.valAxisTitleFontColor));
922
1041
  }
923
1042
  if (t.catAxisTitle) {
924
- let n = o + c / 2, i = r + a - d - G(a) - f / 2;
925
- W(e, t.catAxisTitle, n, i, "cat", f, t.catAxisTitleFontBold ?? !0, te(t.catAxisTitleFontColor));
1043
+ let n = o + c / 2, i = r + a - d - he(a) - f / 2;
1044
+ pe(e, t.catAxisTitle, n, i, "cat", f, t.catAxisTitleFontBold ?? !0, me(t.catAxisTitleFontColor));
926
1045
  }
927
1046
  }
928
- function ie(e) {
1047
+ function ve(e) {
929
1048
  return e && (e === "line" || e === "stackedLine" || e === "stackedLinePct" || e === "radar" || e === "scatter") ? "line" : "fill";
930
1049
  }
931
- function ae(e, t, n, r, i, a, o) {
1050
+ function ye(e, t, n, r, i, a, o) {
932
1051
  if (e.fillStyle = n, t === "line") {
933
1052
  e.strokeStyle = n;
934
1053
  let t = e.lineWidth;
@@ -937,34 +1056,34 @@ function ae(e, t, n, r, i, a, o) {
937
1056
  e.moveTo(r, s), e.lineTo(r + a, s), e.stroke(), e.lineWidth = t;
938
1057
  } else e.fillRect(r, i, a, o);
939
1058
  }
940
- function K(e, t) {
941
- if (V(t)) {
1059
+ function be(e, t) {
1060
+ if (ue(t)) {
942
1061
  let n = e[0], r = n ? n.values.length : 0, i = n?.categories ?? [];
943
1062
  return Array.from({ length: r }, (n, r) => ({
944
1063
  label: (i[r] ?? `Item ${r + 1}`).toString(),
945
- color: H(t, e, r)
1064
+ color: de(t, e, r)
946
1065
  }));
947
1066
  }
948
1067
  return e.map((n, r) => ({
949
1068
  label: n.name || `Series ${r + 1}`,
950
- color: H(t, e, r)
1069
+ color: de(t, e, r)
951
1070
  }));
952
1071
  }
953
- function oe(e, t, n, r, i, a, o = "vertical", s) {
954
- let c = ie(s), l = K(t, s);
1072
+ function xe(e, t, n, r, i, a, o = "vertical", s) {
1073
+ let c = ve(s), l = be(t, s);
955
1074
  if (o === "horizontal") {
956
1075
  let t = Math.max(9, Math.min(12, a * .7));
957
1076
  e.font = `${t}px sans-serif`, e.textBaseline = "middle";
958
1077
  let o = l.map((t) => 14 + e.measureText(t.label.slice(0, 30)).width), s = n + (i - (o.reduce((e, t) => e + t, 0) + 12 * Math.max(0, l.length - 1))) / 2, u = r + a / 2;
959
- for (let n = 0; n < l.length; n++) ae(e, c, l[n].color, s, u - t / 2, 10, t), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[n].label.slice(0, 30), s + 10 + 4, u), s += o[n] + 12;
1078
+ for (let n = 0; n < l.length; n++) ye(e, c, l[n].color, s, u - t / 2, 10, t), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[n].label.slice(0, 30), s + 10 + 4, u), s += o[n] + 12;
960
1079
  return;
961
1080
  }
962
1081
  let u = Math.max(9, Math.min(12, a / (l.length + 1)));
963
1082
  e.font = `${u}px sans-serif`, e.textBaseline = "middle";
964
1083
  let d = u + 4, f = r + (a - d * l.length) / 2;
965
- for (let t = 0; t < l.length; t++) ae(e, c, l[t].color, n, f, 10, u), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[t].label.slice(0, 20), n + 10 + 4, f + u / 2), f += d;
1084
+ for (let t = 0; t < l.length; t++) ye(e, c, l[t].color, n, f, 10, u), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[t].label.slice(0, 20), n + 10 + 4, f + u / 2), f += d;
966
1085
  }
967
- function se(e, t, n) {
1086
+ function Se(e, t, n) {
968
1087
  if (!e.showLegend) return null;
969
1088
  let r = e.legendPos ?? "r", i = r === "l" ? "l" : r === "t" ? "t" : r === "b" ? "b" : "r";
970
1089
  return i === "r" || i === "l" ? {
@@ -977,53 +1096,53 @@ function se(e, t, n) {
977
1096
  reserveH: Math.max(18, n * .08)
978
1097
  };
979
1098
  }
980
- function ce(e, t, n, r, i, a, o, s, c, l, u, d) {
1099
+ function Ce(e, t, n, r, i, a, o, s, c, l, u, d) {
981
1100
  if (!n) return;
982
1101
  let f = t.legendManualLayout;
983
1102
  if (f && f.xMode === "edge" && f.yMode === "edge" && f.w > 0 && f.h > 0) {
984
1103
  let n = r + f.x * a, s = i + f.y * o, c = f.w * a, l = f.h * o, u = c >= l ? "horizontal" : "vertical";
985
- oe(e, t.series, n, s, c, l, u, t.chartType);
1104
+ xe(e, t.series, n, s, c, l, u, t.chartType);
986
1105
  return;
987
1106
  }
988
1107
  switch (n.side) {
989
1108
  case "r":
990
- oe(e, t.series, r + a - n.reserveW + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
1109
+ xe(e, t.series, r + a - n.reserveW + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
991
1110
  break;
992
1111
  case "l":
993
- oe(e, t.series, r + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
1112
+ xe(e, t.series, r + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
994
1113
  break;
995
1114
  case "t":
996
- oe(e, t.series, s, i + d, l, n.reserveH, "horizontal", t.chartType);
1115
+ xe(e, t.series, s, i + d, l, n.reserveH, "horizontal", t.chartType);
997
1116
  break;
998
1117
  case "b":
999
- oe(e, t.series, s, i + o - n.reserveH, l, n.reserveH, "horizontal", t.chartType);
1118
+ xe(e, t.series, s, i + o - n.reserveH, l, n.reserveH, "horizontal", t.chartType);
1000
1119
  break;
1001
1120
  }
1002
1121
  }
1003
- function le(e, t, n, r, i, a, o) {
1122
+ function Y(e, t, n, r, i, a, o, s = !1) {
1004
1123
  if (t === "none" || !t) return;
1005
- let s = o ? Math.max(4, o + 2) : 4, c = e.strokeStyle, l = e.lineWidth;
1124
+ let c = o ? Math.max(4, o + 2) : 4, l = e.strokeStyle, u = e.lineWidth;
1006
1125
  if (e.strokeStyle = a ?? "#888", e.lineWidth = o ?? 1, e.beginPath(), n === "val") {
1007
- let n = r, a = i, o = t === "out" || t === "cross" ? -s : 0, c = t === "in" || t === "cross" ? s : 0;
1008
- e.moveTo(n + o, a), e.lineTo(n + c, a);
1126
+ let n = r, a = i, o = s ? 1 : -1, l = t === "out" || t === "cross" ? o * c : 0, u = t === "in" || t === "cross" ? -o * c : 0;
1127
+ e.moveTo(n + l, a), e.lineTo(n + u, a);
1009
1128
  } else {
1010
- let n = r, a = i, o = t === "out" || t === "cross" ? s : 0, c = t === "in" || t === "cross" ? -s : 0;
1011
- e.moveTo(a, n + o), e.lineTo(a, n + c);
1129
+ let n = r, a = i, o = t === "out" || t === "cross" ? c : 0, s = t === "in" || t === "cross" ? -c : 0;
1130
+ e.moveTo(a, n + o), e.lineTo(a, n + s);
1012
1131
  }
1013
- e.stroke(), e.strokeStyle = c, e.lineWidth = l;
1132
+ e.stroke(), e.strokeStyle = l, e.lineWidth = u;
1014
1133
  }
1015
- function ue(e, t, n) {
1134
+ function we(e, t, n) {
1016
1135
  return e.titleFontSizeHpt ? e.titleFontSizeHpt / 100 * n : Math.max(10, t * .085);
1017
1136
  }
1018
- function de(e, t, n) {
1137
+ function Te(e, t, n) {
1019
1138
  return e ? e / 100 * n : Math.max(8, t * .045);
1020
1139
  }
1021
- function fe(e, t, n, r, i, a) {
1140
+ function Ee(e, t, n, r, i, a) {
1022
1141
  if (!t.title) return;
1023
1142
  let o = t.titleFontFace ? `"${t.titleFontFace}", Calibri, Arial, sans-serif` : "Calibri, Arial, sans-serif";
1024
1143
  e.font = `${t.titleFontBold ?? !0 ? "bold " : ""}${a}px ${o}`, e.fillStyle = t.titleFontColor ? `#${t.titleFontColor}` : "#333", e.textAlign = "center", e.textBaseline = "top", e.fillText(t.title, n + i / 2, r);
1025
1144
  }
1026
- function pe(e) {
1145
+ function De(e) {
1027
1146
  if (e.categories.length > 0) return e.categories;
1028
1147
  let t = e.series[0];
1029
1148
  if (t?.categories && t.categories.length > 0) return t.categories;
@@ -1031,7 +1150,7 @@ function pe(e) {
1031
1150
  for (let t of e.series) t.values.length > n && (n = t.values.length);
1032
1151
  return n > 0 ? Array.from({ length: n }, (e, t) => String(t + 1)) : [];
1033
1152
  }
1034
- function me(e, t, n, r, i, a, o, s, c) {
1153
+ function Oe(e, t, n, r, i, a, o, s, c) {
1035
1154
  let l = s ?? "outEnd";
1036
1155
  if (e.fillStyle = c ? `#${c}` : "#333", o === "vertical") {
1037
1156
  let o = n + a / 2;
@@ -1041,21 +1160,11 @@ function me(e, t, n, r, i, a, o, s, c) {
1041
1160
  l === "inBase" ? (e.textAlign = "left", e.textBaseline = "middle", e.fillText(t, n + 4, o)) : l === "inEnd" ? (e.textAlign = "right", e.textBaseline = "middle", e.fillText(t, n + i - 4, o)) : l === "ctr" ? (e.textAlign = "center", e.textBaseline = "middle", e.fillText(t, n + i / 2, o)) : (e.textAlign = "left", e.textBaseline = "middle", e.fillText(t, n + i + 2, o));
1042
1161
  }
1043
1162
  }
1044
- function q(e, t, n, r) {
1045
- let { x: i, y: a, w: o, h: s } = n, c = t.chartType === "clusteredBarH" || t.chartType === "stackedBarH" || t.chartType === "stackedBarHPct", l = t.chartType.startsWith("stacked"), u = t.chartType === "stackedBarPct" || t.chartType === "stackedBarHPct", d = t.series.filter((e) => e.seriesType !== "line"), f = t.series.filter((e) => e.seriesType === "line"), p = pe(t), m = p.length;
1046
- if (m === 0) return;
1047
- let h = t.title ? ue(t, s, r) : 0, g = t.title ? s * .02 : 0, _ = t.title ? s * .025 : 0, y = t.title ? h + g + _ : 0, x = se(t, o, s), S = x?.side === "r" ? x.reserveW : 0, C = x?.side === "l" ? x.reserveW : 0, w = x?.side === "t" ? x.reserveH : 0, T = x?.side === "b" ? x.reserveH : 0, { catTitlePx: E, valTitlePx: D, catTitleH: O, valTitleW: k } = ne(t, o, s, r), A = {
1048
- t: y + w + s * .02,
1049
- r: S + o * .03,
1050
- b: s * .14 + O + T,
1051
- l: o * .12 + k + C
1052
- };
1053
- c && (A.l = (t.catAxisHidden ? o * .03 : o * .22) + k + C, A.b = (t.valAxisHidden ? s * .02 : s * .08) + O + T), fe(e, t, i, a + g, o, h);
1054
- let j = t.plotAreaManualLayout, M, N, P, F;
1055
- if (j && j.w != null && j.h != null ? (M = i + j.x * o, N = a + j.y * s, P = j.w * o, F = j.h * s) : (M = i + A.l, N = a + A.t, P = o - A.l - A.r, F = s - A.t - A.b), P <= 0 || F <= 0) return;
1056
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(M, N, P, F));
1057
- let L = 0;
1058
- for (let e = 0; e < m; e++) {
1163
+ function ke(e, t, n, r) {
1164
+ let { x: i, y: a, w: o, h: s } = n, c = t.chartType === "clusteredBarH" || t.chartType === "stackedBarH" || t.chartType === "stackedBarHPct", l = t.chartType.startsWith("stacked"), u = t.chartType === "stackedBarPct" || t.chartType === "stackedBarHPct", d = t.series.filter((e) => e.seriesType !== "line"), f = t.series.filter((e) => e.seriesType === "line"), p = !c && t.secondaryValAxis && f.some((e) => e.useSecondaryAxis === !0) ? t.secondaryValAxis : null, m = De(t), h = m.length;
1165
+ if (h === 0) return;
1166
+ let g = t.title ? we(t, s, r) : 0, _ = t.title ? s * .02 : 0, v = t.title ? s * .025 : 0, y = t.title ? g + _ + v : 0, b = Se(t, o, s), x = b?.side === "r" ? b.reserveW : 0, S = b?.side === "l" ? b.reserveW : 0, C = b?.side === "t" ? b.reserveH : 0, w = b?.side === "b" ? b.reserveH : 0, { catTitlePx: T, valTitlePx: E, catTitleH: D, valTitleW: O } = ge(t, o, s, r), k = y + C + s * .02, j = c ? (t.valAxisHidden ? s * .02 : s * .08) + D + w : s * .14 + D + w, M = s - k - j, N = c ? o - ((t.catAxisHidden ? o * .03 : o * .22) + O + S) - (x + o * .03) : 0, P = (c ? N : M) / r, L = 0;
1167
+ for (let e = 0; e < h; e++) {
1059
1168
  let t = 0;
1060
1169
  for (let n of d) {
1061
1170
  let r = n.values[e] ?? 0;
@@ -1064,110 +1173,172 @@ function q(e, t, n, r) {
1064
1173
  l && (L = Math.max(L, t));
1065
1174
  }
1066
1175
  u && (L = 100), t.valMax != null && (L = t.valMax), L === 0 && (L = 1);
1067
- let { max: R, step: z } = v(0, L, void 0, t.valMax), B = "#e0e0e0", V = Math.round(R / z);
1068
- if (e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, F / 20))}px sans-serif`, e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", !t.valAxisHidden) for (let n = 0; n <= V; n++) {
1069
- let r = n * z, i = u ? `${Math.round(r)}%` : b(r, t.valAxisFormatCode);
1176
+ let { max: z, step: B } = A(0, L, void 0, t.valMax, P), V = 0, H = 1, U = 1;
1177
+ if (p) {
1178
+ let e = [];
1179
+ for (let t of f) if (t.useSecondaryAxis === !0) for (let n of t.values) n != null && e.push(n);
1180
+ let t = e.length ? Math.min(...e) : 0, n = e.length ? Math.max(...e) : 1, i = A(Math.min(0, t), n, p.min, p.max, M / r);
1181
+ V = i.min, H = i.max, U = i.step;
1182
+ }
1183
+ let ee = Math.max(8, Math.min(11, s / 20)), te = Math.max(8, Math.min(11, M / 20)), ne = e.font, re = 0;
1184
+ if (!c && !t.valAxisHidden) {
1185
+ e.font = `${te}px sans-serif`;
1186
+ let n = 0, r = Math.round(z / B);
1187
+ for (let i = 0; i <= r; i++) {
1188
+ let r = u ? `${Math.round(i * B)}%` : R(i * B, t.valAxisFormatCode);
1189
+ n = Math.max(n, e.measureText(r).width);
1190
+ }
1191
+ re = n + 16;
1192
+ }
1193
+ let W = p?.fontSizeHpt ? p.fontSizeHpt / 100 * r : ee, ie = 0;
1194
+ if (p && !p.hidden) {
1195
+ e.font = `${W}px sans-serif`;
1196
+ let t = 0, n = Math.round((H - V) / U);
1197
+ for (let r = 0; r <= n; r++) t = Math.max(t, e.measureText(R(V + r * U, p.formatCode ?? null)).width);
1198
+ ie = t + 18;
1199
+ }
1200
+ e.font = ne;
1201
+ let ae = p && p.title ? (p.titleFontSizeHpt ? p.titleFontSizeHpt / 100 * r : Math.max(9, s * .05)) + 8 : 0, oe = {
1202
+ t: k,
1203
+ r: x + o * .03 + ie + ae,
1204
+ b: j,
1205
+ l: c ? (t.catAxisHidden ? o * .03 : o * .22) + O + S : S + O + re
1206
+ };
1207
+ Ee(e, t, i, a + _, o, g);
1208
+ let se = t.plotAreaManualLayout, G, K, q, J;
1209
+ if (se && se.w != null && se.h != null ? (G = i + se.x * o, K = a + se.y * s, q = se.w * o, J = se.h * s) : (G = i + oe.l, K = a + oe.t, q = o - oe.l - oe.r, J = s - oe.t - oe.b), q <= 0 || J <= 0) return;
1210
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(G, K, q, J));
1211
+ let le = H - V || 1, ue = (e) => K + J - e / z * J, de = (e) => K + J - (e - V) / le * J, fe = "#e0e0e0", pe = Math.round(z / B);
1212
+ e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, J / 20))}px sans-serif`;
1213
+ let me = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555";
1214
+ if (e.fillStyle = me, !t.valAxisHidden) for (let n = 0; n <= pe; n++) {
1215
+ let r = n * B, i = u ? `${Math.round(r)}%` : R(r, t.valAxisFormatCode);
1070
1216
  if (c) {
1071
- let t = M + r / R * P;
1072
- e.strokeStyle = n === 0 ? "#aaa" : B, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(t, N), e.lineTo(t, N + F), e.stroke(), e.textAlign = "center", e.fillText(i, t, N + F + 10);
1217
+ let t = G + r / z * q;
1218
+ e.strokeStyle = n === 0 ? "#aaa" : fe, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(t, K), e.lineTo(t, K + J), e.stroke(), e.textAlign = "center", e.fillText(i, t, K + J + 10);
1073
1219
  } else {
1074
- let t = N + F - r / R * F;
1075
- e.strokeStyle = n === 0 ? "#aaa" : B, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(M, t), e.lineTo(M + P, t), e.stroke(), e.textAlign = "right", e.fillText(i, M - 4, t);
1220
+ let t = K + J - r / z * J;
1221
+ e.strokeStyle = n === 0 ? "#aaa" : fe, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(G, t), e.lineTo(G + q, t), e.stroke(), e.textAlign = "right", e.fillText(i, G - 12, t);
1076
1222
  }
1077
1223
  }
1078
- let H = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#aaa", U = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#aaa", W = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / I) * r : 1, te = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / I) * r : 1, G = (t, n, r, i, a, o) => {
1224
+ let { color: he, width: ve } = F(t.catAxisLineColor, t.catAxisLineWidthEmu, r), { color: ye, width: be } = F(t.valAxisLineColor, t.valAxisLineWidthEmu, r), xe = (t, n, r, i, a, o) => {
1079
1225
  e.strokeStyle = a, e.lineWidth = o, e.beginPath(), e.moveTo(t, n), e.lineTo(r, i), e.stroke();
1080
- }, ie = !t.catAxisHidden && !t.catAxisLineHidden, ae = !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null;
1081
- c ? (ie && G(M, N, M, N + F, H, W), ae && G(M, N + F, M + P, N + F, U, te)) : (ie && G(M, N + F, M + P, N + F, H, W), ae && G(M, N, M, N + F, U, te));
1082
- let K = c ? F / m : P / m, oe = l ? 1 : Math.max(1, d.length), le = l ? 0 : t.barOverlap ?? 0, de = t.barGapWidth ?? 150, q = K / (1 + (oe - 1) * (1 - le / 100) + de / 100), he = l ? 0 : q * (1 - le / 100), ge = (K - (q + (oe - 1) * he)) / 2;
1083
- for (let n = 0; n < m; n++) {
1226
+ }, Te = !t.catAxisHidden && !t.catAxisLineHidden, ke = !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null, Ae = () => {
1227
+ if (c ? (Te && xe(G, K, G, K + J, he, ve), ke && xe(G, K + J, G + q, K + J, ye, be)) : (Te && xe(G, K + J, G + q, K + J, he, ve), ke && xe(G, K, G, K + J, ye, be)), !t.valAxisHidden && t.valAxisMajorTickMark && t.valAxisMajorTickMark !== "none") for (let n = 0; n <= pe; n++) {
1228
+ let r = n * B;
1229
+ c ? Y(e, t.valAxisMajorTickMark, "cat", K + J, G + r / z * q, ye, be) : Y(e, t.valAxisMajorTickMark, "val", G, K + J - r / z * J, ye, be);
1230
+ }
1231
+ if (!t.catAxisHidden && t.catAxisMajorTickMark && t.catAxisMajorTickMark !== "none") {
1232
+ let n = I(t), r = n ? h : h - 1;
1233
+ for (let i = 0; i <= r; i++) {
1234
+ let r = n ? i / h : h === 1 ? .5 : i / (h - 1);
1235
+ c ? Y(e, t.catAxisMajorTickMark, "val", G, K + r * J, he, ve) : Y(e, t.catAxisMajorTickMark, "cat", K + J, G + r * q, he, ve);
1236
+ }
1237
+ }
1238
+ }, X = c ? J / h : q / h, je = l ? 1 : Math.max(1, d.length), Me = l ? 0 : t.barOverlap ?? 0, Ne = t.barGapWidth ?? 150, Pe = X / (1 + (je - 1) * (1 - Me / 100) + Ne / 100), Fe = l ? 0 : Pe * (1 - Me / 100), Ie = (X - (Pe + (je - 1) * Fe)) / 2;
1239
+ for (let n = 0; n < h; n++) {
1084
1240
  let i = 0, a = 0;
1085
1241
  if (u) {
1086
1242
  for (let e of d) a += Math.abs(e.values[n] ?? 0);
1087
1243
  a === 0 && (a = 1);
1088
1244
  }
1089
1245
  for (let o = 0; o < d.length; o++) {
1090
- let s = d[o], f = s.values[n] ?? 0, p = u ? Math.abs(f) / a * 100 : Math.abs(f), h = ee(o, s);
1246
+ let s = d[o], f = s.values[n] ?? 0, p = u ? Math.abs(f) / a * 100 : Math.abs(f), m = ce(o, s);
1091
1247
  if (c) {
1092
- let a = l ? o : d.length - 1 - o, c = l ? N + (m - 1 - n) * K + ge : N + (m - 1 - n) * K + ge + a * he, f = p / R * P, g = l ? M + i / R * P : M;
1093
- e.fillStyle = h, e.fillRect(g, c, f, q), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, q * .6))}px sans-serif`, me(e, u ? `${Math.round(p)}%` : b(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), g, c, f, q, "horizontal", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
1248
+ let a = l ? o : d.length - 1 - o, c = l ? K + (h - 1 - n) * X + Ie : K + (h - 1 - n) * X + Ie + a * Fe, f = p / z * q, g = l ? G + i / z * q : G;
1249
+ e.fillStyle = m, e.fillRect(g, c, f, Pe), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, Pe * .6))}px sans-serif`, Oe(e, u ? `${Math.round(p)}%` : R(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), g, c, f, Pe, "horizontal", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
1094
1250
  } else {
1095
- let a = l ? M + n * K + ge : M + n * K + ge + o * he, c = p / R * F, d = N + F - (l ? i + p : p) / R * F;
1096
- e.fillStyle = h, e.fillRect(a, d, q, c), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, q * .6))}px sans-serif`, me(e, u ? `${Math.round(p)}%` : b(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), a, d, c, q, "vertical", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
1251
+ let a = l ? G + n * X + Ie : G + n * X + Ie + o * Fe, c = p / z * J, d = K + J - (l ? i + p : p) / z * J;
1252
+ e.fillStyle = m, e.fillRect(a, d, Pe, c), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, Pe * .6))}px sans-serif`, Oe(e, u ? `${Math.round(p)}%` : R(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), a, d, c, Pe, "vertical", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
1097
1253
  }
1098
1254
  l && (i += p);
1099
1255
  }
1100
1256
  }
1101
1257
  if (!t.catAxisHidden) {
1102
- e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.font = `${Math.max(8, Math.min(11, K * .5))}px sans-serif`;
1103
- for (let t = 0; t < m; t++) {
1104
- let n = (p[t] ?? "").toString().slice(0, 12);
1258
+ e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.font = `${Math.max(8, Math.min(11, X * .5))}px sans-serif`;
1259
+ for (let t = 0; t < h; t++) {
1260
+ let n = (m[t] ?? "").toString().slice(0, 12);
1105
1261
  if (c) {
1106
- let r = N + (m - 1 - t) * K + K / 2;
1107
- e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, M - 4, r);
1262
+ let r = K + (h - 1 - t) * X + X / 2;
1263
+ e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, G - 4, r);
1108
1264
  } else {
1109
- let r = M + t * K + K / 2;
1110
- e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, N + F + 3);
1265
+ let r = G + t * X + X / 2;
1266
+ e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, K + J + 3);
1111
1267
  }
1112
1268
  }
1113
1269
  }
1114
1270
  if (f.length > 0 && !c) for (let t = 0; t < f.length; t++) {
1115
- let n = f[t], r = ee(d.length + t, n);
1271
+ let n = f[t], r = ce(d.length + t, n), i = p && n.useSecondaryAxis === !0 ? de : ue;
1116
1272
  e.strokeStyle = r, e.lineWidth = 2, e.setLineDash([]), e.beginPath();
1117
- let i = !1;
1118
- for (let t = 0; t < m; t++) {
1273
+ let a = !1;
1274
+ for (let t = 0; t < h; t++) {
1119
1275
  let r = n.values[t];
1120
1276
  if (r == null) {
1121
- i = !1;
1277
+ a = !1;
1122
1278
  continue;
1123
1279
  }
1124
- let a = M + t * K + K / 2, o = N + F - r / R * F;
1125
- i ? e.lineTo(a, o) : (e.moveTo(a, o), i = !0);
1280
+ let o = G + t * X + X / 2, s = i(r);
1281
+ a ? e.lineTo(o, s) : (e.moveTo(o, s), a = !0);
1282
+ }
1283
+ if (e.stroke(), n.showMarker !== !1) for (let t = 0; t < h; t++) {
1284
+ let a = n.values[t];
1285
+ if (a == null) continue;
1286
+ let o = G + t * X + X / 2, s = i(a);
1287
+ e.fillStyle = r, e.beginPath(), e.arc(o, s, 3, 0, Math.PI * 2), e.fill();
1288
+ }
1289
+ }
1290
+ if (Ae(), p) {
1291
+ let t = G + q, { color: n, width: i } = F(p.lineColor, p.lineWidthEmu, r);
1292
+ if (p.lineHidden || xe(t, K, t, K + J, n, i), !p.hidden) {
1293
+ e.font = `${W}px sans-serif`, e.fillStyle = p.fontColor ? `#${p.fontColor}` : me, e.textAlign = "left", e.textBaseline = "middle";
1294
+ let r = Math.max(1, Math.round(le / U));
1295
+ for (let a = 0; a <= r; a++) {
1296
+ let r = V + a * U, o = de(r);
1297
+ Y(e, p.majorTickMark, "val", t, o, n, i, !0), e.fillText(R(r, p.formatCode ?? null), t + 14, o);
1298
+ }
1126
1299
  }
1127
- if (e.stroke(), n.showMarker !== !1) for (let t = 0; t < m; t++) {
1128
- let i = n.values[t];
1129
- if (i == null) continue;
1130
- let a = M + t * K + K / 2, o = N + F - i / R * F;
1131
- e.fillStyle = r, e.beginPath(), e.arc(a, o, 3, 0, Math.PI * 2), e.fill();
1300
+ if (p.title) {
1301
+ let t = p.titleFontSizeHpt ? p.titleFontSizeHpt / 100 * r : Math.max(9, s * .05);
1302
+ e.save(), e.fillStyle = p.titleFontColor ? `#${p.titleFontColor}` : p.fontColor ? `#${p.fontColor}` : "#555", e.font = `${p.titleFontBold ? "bold " : ""}${t}px sans-serif`, e.textAlign = "center", e.textBaseline = "middle", e.translate(G + q + ie + t * .6, K + J / 2), e.rotate(Math.PI / 2), e.fillText(p.title, 0, 0), e.restore();
1132
1303
  }
1133
1304
  }
1134
- ce(e, c && !l ? {
1305
+ Ce(e, c && !l ? {
1135
1306
  ...t,
1136
1307
  series: [...t.series].reverse()
1137
- } : t, x, i, a, o, s, M, N, P, F, y + 2), re(e, t, i, a, o, s, M, N, P, F, C, T, E, D);
1308
+ } : t, b, i, a, o, s, G, K, q, J, y + 2), _e(e, t, i, a, o, s, G, K, q, J, S, w, T, E);
1138
1309
  }
1139
- function he(e, t, n, r) {
1140
- let { x: i, y: a, w: o, h: s } = n, c = pe(t), l = c.length;
1310
+ function Ae(e, t, n, r) {
1311
+ let { x: i, y: a, w: o, h: s } = n, c = De(t), l = c.length;
1141
1312
  if (l === 0) return;
1142
- let u = t.title ? ue(t, s, r) : 0, d = t.title ? s * .045 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = se(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, x = m?.side === "b" ? m.reserveH : 0, S = de(t.catAxisFontSizeHpt, s, r), C = de(t.valAxisFontSizeHpt, s, r), { catTitlePx: w, valTitlePx: T, catTitleH: E, valTitleW: D } = ne(t, o, s, r), O = {
1143
- t: p + _ + C / 2 + 2,
1313
+ let u = t.title ? we(t, s, r) : 0, d = t.title ? s * .045 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = Se(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, v = m?.side === "b" ? m.reserveH : 0, y = Te(t.catAxisFontSizeHpt, s, r), b = Te(t.valAxisFontSizeHpt, s, r), { catTitlePx: x, valTitlePx: S, catTitleH: C, valTitleW: w } = ge(t, o, s, r), T = {
1314
+ t: p + _ + b / 2 + 2,
1144
1315
  r: h + o * .05,
1145
- b: S + 12 + E + x,
1146
- l: C * 2.2 + 10 + D + g
1316
+ b: y + 12 + C + v,
1317
+ l: b * 2.2 + 10 + w + g
1147
1318
  };
1148
- fe(e, t, i, a + d, o, u);
1149
- let k = i + O.l, A = a + O.t, j = o - O.l - O.r, M = s - O.t - O.b;
1150
- if (j <= 0 || M <= 0) return;
1151
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(k, A, j, M));
1152
- let N = Infinity, P = -Infinity;
1153
- for (let e of t.series) for (let t of e.values) t != null && (N = Math.min(N, t), P = Math.max(P, t));
1154
- isFinite(N) || (N = 0, P = 1), t.valMin == null ? N > 0 && (N = 0) : N = t.valMin, t.valMax == null ? P < 0 && (P = 0) : P = t.valMax, P === N && (P = N + 1);
1155
- let { min: F, max: I, step: L } = v(N, P, t.valMin, t.valMax), R = I - F;
1156
- if (R === 0) return;
1157
- let z = (e) => A + M - (e - F) / R * M, B = t.catAxisCrossBetween === "midCat" ? (e) => k + (l === 1 ? j / 2 : e / (l - 1) * j) : (e) => k + (e + .5) / l * j;
1319
+ Ee(e, t, i, a + d, o, u);
1320
+ let E = i + T.l, D = a + T.t, O = o - T.l - T.r, k = s - T.t - T.b;
1321
+ if (O <= 0 || k <= 0) return;
1322
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(E, D, O, k));
1323
+ let j = Infinity, M = -Infinity;
1324
+ for (let e of t.series) for (let t of e.values) t != null && (j = Math.min(j, t), M = Math.max(M, t));
1325
+ isFinite(j) || (j = 0, M = 1), t.valMin == null ? j > 0 && (j = 0) : j = t.valMin, t.valMax == null ? M < 0 && (M = 0) : M = t.valMax, M === j && (M = j + 1);
1326
+ let { min: N, max: P, step: F } = A(j, M, t.valMin, t.valMax, k / r), z = P - N;
1327
+ if (z === 0) return;
1328
+ let B = (e) => D + k - (e - N) / z * k, V = I(t) ? (e) => E + (e + .5) / l * O : (e) => E + (l === 1 ? O / 2 : e / (l - 1) * O);
1158
1329
  if (!t.valAxisHidden) {
1159
- let n = Math.round((I - F) / L);
1160
- e.font = `${C}px sans-serif`, e.textBaseline = "middle";
1330
+ let n = Math.round((P - N) / F);
1331
+ e.font = `${b}px sans-serif`, e.textBaseline = "middle";
1161
1332
  for (let r = 0; r <= n; r++) {
1162
- let n = F + r * L, i = z(n);
1163
- e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(k, i), e.lineTo(k + j, i), e.stroke(), le(e, t.valAxisMajorTickMark, "val", k, i), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(b(n, t.valAxisFormatCode), k - 6, i);
1333
+ let n = N + r * F, i = B(n);
1334
+ e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(E, i), e.lineTo(E + O, i), e.stroke(), Y(e, t.valAxisMajorTickMark, "val", E, i), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(R(n, t.valAxisFormatCode), E - 6, i);
1164
1335
  }
1165
1336
  }
1166
- e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(k, A + M), e.lineTo(k + j, A + M), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && (e.beginPath(), e.moveTo(k, A), e.lineTo(k, A + M), e.stroke());
1167
- let V = Math.max(1, 2.25 * r), H = Math.max(2, 2.5 * r), U = de(t.dataLabelFontSizeHpt, s, r);
1337
+ e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(E, D + k), e.lineTo(E + O, D + k), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && (e.beginPath(), e.moveTo(E, D), e.lineTo(E, D + k), e.stroke());
1338
+ let H = Math.max(1, 2.25 * r), U = Math.max(2, 2.5 * r), ee = Te(t.dataLabelFontSizeHpt, s, r);
1168
1339
  for (let n = 0; n < t.series.length; n++) {
1169
- let r = t.series[n], i = ee(n, r);
1170
- e.strokeStyle = i, e.lineWidth = V, e.setLineDash([]), e.beginPath();
1340
+ let r = t.series[n], i = ce(n, r);
1341
+ e.strokeStyle = i, e.lineWidth = H, e.setLineDash([]), e.beginPath();
1171
1342
  let a = !1;
1172
1343
  for (let t = 0; t < l; t++) {
1173
1344
  let n = r.values[t];
@@ -1175,91 +1346,93 @@ function he(e, t, n, r) {
1175
1346
  a = !1;
1176
1347
  continue;
1177
1348
  }
1178
- let i = B(t), o = z(n);
1349
+ let i = V(t), o = B(n);
1179
1350
  a ? e.lineTo(i, o) : (e.moveTo(i, o), a = !0);
1180
1351
  }
1181
1352
  e.stroke(), e.fillStyle = i;
1182
1353
  let o = r.showMarker !== !1;
1183
1354
  for (let n = 0; n < l; n++) {
1184
1355
  let a = r.values[n];
1185
- if (a != null && (o && (e.beginPath(), e.arc(B(n), z(a), H, 0, Math.PI * 2), e.fill()), t.showDataLabels)) {
1186
- e.font = `${U}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
1187
- let t = o ? H + 1 : 2;
1188
- e.fillText(y(a), B(n), z(a) - t), e.fillStyle = i;
1356
+ if (a != null && (o && (e.beginPath(), e.arc(V(n), B(a), U, 0, Math.PI * 2), e.fill()), t.showDataLabels)) {
1357
+ e.font = `${ee}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
1358
+ let t = o ? U + 1 : 2;
1359
+ e.fillText(L(a), V(n), B(a) - t), e.fillStyle = i;
1189
1360
  }
1190
1361
  }
1191
1362
  }
1192
1363
  if (!t.catAxisHidden) {
1193
1364
  let n = Math.max(1, Math.ceil(l / 8)), r = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555";
1194
- e.fillStyle = r, e.textAlign = "center", e.textBaseline = "top", e.font = `${S}px sans-serif`;
1365
+ e.fillStyle = r, e.textAlign = "center", e.textBaseline = "top", e.font = `${y}px sans-serif`;
1195
1366
  for (let i = 0; i < l; i += n) {
1196
- let n = B(i);
1197
- le(e, t.catAxisMajorTickMark, "cat", A + M, n), e.fillStyle = r, e.fillText((c[i] ?? "").toString().slice(0, 10), n, A + M + 5);
1367
+ let n = V(i);
1368
+ Y(e, t.catAxisMajorTickMark, "cat", D + k, n), e.fillStyle = r, e.fillText((c[i] ?? "").toString().slice(0, 10), n, D + k + 5);
1198
1369
  }
1199
1370
  }
1200
- ce(e, t, m, i, a, o, s, k, A, j, M, p + 2), re(e, t, i, a, o, s, k, A, j, M, g, x, w, T);
1371
+ Ce(e, t, m, i, a, o, s, E, D, O, k, p + 2), _e(e, t, i, a, o, s, E, D, O, k, g, v, x, S);
1201
1372
  }
1202
- function ge(e, t, n, r) {
1203
- let { x: i, y: a, w: o, h: s } = n, c = pe(t), l = c.length;
1373
+ function X(e, t, n, r) {
1374
+ let { x: i, y: a, w: o, h: s } = n, c = De(t), l = c.length;
1204
1375
  if (l === 0) return;
1205
- let u = t.chartType === "stackedArea" || t.chartType === "stackedAreaPct", d = t.title ? ue(t, s, r) : 0, f = t.title ? s * .035 : 0, p = t.title ? s * .035 : 0, m = t.title ? d + f + p : 0, h = se(t, o, s), g = h?.side === "r" ? h.reserveW : 0, _ = h?.side === "l" ? h.reserveW : 0, y = h?.side === "t" ? h.reserveH : 0, x = h?.side === "b" ? h.reserveH : 0, { catTitlePx: S, valTitlePx: C, catTitleH: w, valTitleW: T } = ne(t, o, s, r), E = {
1206
- t: m + y + s * .02,
1376
+ let u = t.chartType === "stackedArea" || t.chartType === "stackedAreaPct", d = t.title ? we(t, s, r) : 0, f = t.title ? s * .035 : 0, p = t.title ? s * .035 : 0, m = t.title ? d + f + p : 0, h = Se(t, o, s), g = h?.side === "r" ? h.reserveW : 0, _ = h?.side === "l" ? h.reserveW : 0, v = h?.side === "t" ? h.reserveH : 0, y = h?.side === "b" ? h.reserveH : 0, { catTitlePx: b, valTitlePx: x, catTitleH: S, valTitleW: C } = ge(t, o, s, r), w = {
1377
+ t: m + v + s * .02,
1207
1378
  r: g + o * .05,
1208
- b: s * .14 + w + x,
1209
- l: o * .12 + T + _
1379
+ b: s * .14 + S + y,
1380
+ l: o * .12 + C + _
1210
1381
  };
1211
- fe(e, t, i, a + f, o, d);
1212
- let D = i + E.l, O = a + E.t, k = o - E.l - E.r, j = s - E.t - E.b;
1213
- if (k <= 0 || j <= 0) return;
1214
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(D, O, k, j));
1215
- let M = 0;
1382
+ Ee(e, t, i, a + f, o, d);
1383
+ let T = i + w.l, E = a + w.t, D = o - w.l - w.r, O = s - w.t - w.b;
1384
+ if (D <= 0 || O <= 0) return;
1385
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(T, E, D, O));
1386
+ let k = 0;
1216
1387
  for (let e = 0; e < l; e++) if (u) {
1217
1388
  let n = 0;
1218
1389
  for (let r of t.series) n += r.values[e] ?? 0;
1219
- M = Math.max(M, n);
1220
- } else for (let n of t.series) M = Math.max(M, n.values[e] ?? 0);
1221
- t.valMax != null && (M = t.valMax), M === 0 && (M = 1);
1222
- let { max: N, step: P } = v(0, M, void 0, t.valMax), F = (e) => D + (l === 1 ? k / 2 : e / (l - 1) * k), I = (e) => O + j - e / N * j;
1223
- if (!t.valAxisHidden) {
1224
- e.font = `${Math.max(8, Math.min(11, j / 20))}px sans-serif`, e.textBaseline = "middle";
1225
- let n = Math.round(N / P);
1226
- for (let r = 0; r <= n; r++) {
1227
- let n = r * P, i = I(n);
1228
- e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(D, i), e.lineTo(D + k, i), e.stroke(), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(b(n, t.valAxisFormatCode), D - 4, i);
1229
- }
1230
- }
1231
- !t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(D, O + j), e.lineTo(D + k, O + j), e.stroke());
1232
- let L = u ? Array(l).fill(0) : null;
1390
+ k = Math.max(k, n);
1391
+ } else for (let n of t.series) k = Math.max(k, n.values[e] ?? 0);
1392
+ t.valMax != null && (k = t.valMax), k === 0 && (k = 1);
1393
+ let { max: j, step: M } = A(0, k, void 0, t.valMax, O / r), N = I(t), P = N ? (e) => T + (e + .5) / l * D : (e) => T + (l === 1 ? D / 2 : e / (l - 1) * D), L = (e) => E + O - e / j * O, { color: z, width: B } = F(t.catAxisLineColor, t.catAxisLineWidthEmu, r), { color: V, width: H } = F(t.valAxisLineColor, t.valAxisLineWidthEmu, r), U = u ? Array(l).fill(0) : null;
1233
1394
  for (let n = t.series.length - 1; n >= 0; n--) {
1234
- let r = t.series[n], i = ee(n, r), a = O + j;
1235
- if (e.beginPath(), u && L) {
1395
+ let r = t.series[n], i = ce(n, r), a = E + O;
1396
+ if (e.beginPath(), u && U) {
1236
1397
  for (let t = 0; t < l; t++) {
1237
- let n = (r.values[t] ?? 0) + L[t], i = F(t), a = I(n);
1398
+ let n = (r.values[t] ?? 0) + U[t], i = P(t), a = L(n);
1238
1399
  t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
1239
1400
  }
1240
- for (let t = l - 1; t >= 0; t--) e.lineTo(F(t), I(L[t]));
1241
- for (let e = 0; e < l; e++) L[e] += r.values[e] ?? 0;
1401
+ for (let t = l - 1; t >= 0; t--) e.lineTo(P(t), L(U[t]));
1402
+ for (let e = 0; e < l; e++) U[e] += r.values[e] ?? 0;
1242
1403
  } else {
1243
- e.moveTo(F(0), a);
1244
- for (let t = 0; t < l; t++) e.lineTo(F(t), I(r.values[t] ?? 0));
1245
- e.lineTo(F(l - 1), a);
1404
+ e.moveTo(P(0), a);
1405
+ for (let t = 0; t < l; t++) e.lineTo(P(t), L(r.values[t] ?? 0));
1406
+ e.lineTo(P(l - 1), a);
1407
+ }
1408
+ e.closePath(), e.fillStyle = W(i, .6), e.fill(), e.strokeStyle = i, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
1409
+ }
1410
+ if (!t.valAxisHidden) {
1411
+ e.font = `${Math.max(8, Math.min(11, O / 20))}px sans-serif`, e.textBaseline = "middle";
1412
+ let n = Math.round(j / M);
1413
+ for (let r = 0; r <= n; r++) {
1414
+ let n = r * M, i = L(n);
1415
+ e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(T, i), e.lineTo(T + D, i), e.stroke(), Y(e, t.valAxisMajorTickMark, "val", T, i, V, H), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(R(n, t.valAxisFormatCode), T - 6, i);
1246
1416
  }
1247
- e.closePath(), e.fillStyle = A(i, .6), e.fill(), e.strokeStyle = i, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
1248
1417
  }
1418
+ if (!t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = z, e.lineWidth = B, e.beginPath(), e.moveTo(T, E + O), e.lineTo(T + D, E + O), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null && (e.strokeStyle = V, e.lineWidth = H, e.beginPath(), e.moveTo(T, E), e.lineTo(T, E + O), e.stroke()), !t.catAxisHidden && t.catAxisMajorTickMark && t.catAxisMajorTickMark !== "none") if (N) for (let n = 0; n <= l; n++) Y(e, t.catAxisMajorTickMark, "cat", E + O, T + n / l * D, z, B);
1419
+ else for (let n = 0; n < l; n++) Y(e, t.catAxisMajorTickMark, "cat", E + O, P(n), z, B);
1249
1420
  if (!t.catAxisHidden) {
1250
- let n = Math.max(1, Math.ceil(l / 8));
1251
- e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${Math.max(8, Math.min(11, k / l * .8))}px sans-serif`;
1252
- for (let t = 0; t < l; t += n) e.fillText((c[t] ?? "").toString().slice(0, 10), F(t), O + j + 3);
1421
+ e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${Math.max(8, Math.min(11, D / l * .8))}px sans-serif`;
1422
+ let n = 0;
1423
+ for (let t = 0; t < l; t++) n = Math.max(n, e.measureText((c[t] ?? "").toString().slice(0, 10)).width);
1424
+ let r = Math.max(1, Math.ceil((n + 6) / (D / l)));
1425
+ for (let t = 0; t < l; t += r) e.fillText((c[t] ?? "").toString().slice(0, 10), P(t), E + O + 3);
1253
1426
  }
1254
- ce(e, t, h, i, a, o, s, D, O, k, j, m + 2), re(e, t, i, a, o, s, D, O, k, j, _, x, S, C);
1427
+ Ce(e, t, h, i, a, o, s, T, E, D, O, m + 2), _e(e, t, i, a, o, s, T, E, D, O, _, y, b, x);
1255
1428
  }
1256
- function _e(e, t, n, r, i) {
1429
+ function je(e, t, n, r, i) {
1257
1430
  let { x: a, y: o, w: s, h: c } = n, l = t.series[0];
1258
1431
  if (!l) return;
1259
1432
  let u = l.categories && l.categories.length > 0 ? l.categories : t.categories, d = l.values.map((e) => Math.abs(e ?? 0)), f = d.reduce((e, t) => e + t, 0);
1260
1433
  if (f === 0) return;
1261
- let p = t.title ? ue(t, c, i) : 0, m = t.title ? c * .035 : 0, h = t.title ? c * .035 : 0, g = t.title ? p + m + h : 0;
1262
- fe(e, t, a, o + m, s, p);
1434
+ let p = t.title ? we(t, c, i) : 0, m = t.title ? c * .035 : 0, h = t.title ? c * .035 : 0, g = t.title ? p + m + h : 0;
1435
+ Ee(e, t, a, o + m, s, p);
1263
1436
  let _ = t.showLegend ? (() => {
1264
1437
  let e = t.legendPos ?? "r", n = e === "l" ? "l" : e === "t" ? "t" : e === "b" ? "b" : "r";
1265
1438
  return n === "r" || n === "l" ? {
@@ -1273,7 +1446,7 @@ function _e(e, t, n, r, i) {
1273
1446
  };
1274
1447
  })() : null, v = _?.side === "r" ? _.reserveW : 0, y = _?.side === "l" ? _.reserveW : 0, b = _?.side === "t" ? _.reserveH : 0, x = _?.side === "b" ? _.reserveH : 0, S = s - v - y, C = c - g - b - x - c * .02, w = a + y + S / 2, T = o + g + b + c * .02 + C / 2, E = Math.min(S, C) * .42, D = r ? E * .5 : 0, O = -Math.PI / 2;
1275
1448
  for (let n = 0; n < d.length; n++) {
1276
- let i = d[n] / f * Math.PI * 2, a = B(n, l);
1449
+ let i = d[n] / f * Math.PI * 2, a = le(n, l);
1277
1450
  if (e.beginPath(), e.moveTo(w, T), e.arc(w, T, E, O, O + i), e.closePath(), e.fillStyle = a, e.fill(), e.strokeStyle = "#fff", e.lineWidth = 1, e.stroke(), t.showDataLabels && i > .15) {
1278
1451
  let t = O + i / 2, a = E * (r ? .75 : .6), o = w + Math.cos(t) * a, s = T + Math.sin(t) * a, c = Math.round(d[n] / f * 100);
1279
1452
  e.font = `bold ${Math.max(8, E * .1)}px sans-serif`, e.fillStyle = "#fff", e.textAlign = "center", e.textBaseline = "middle", e.fillText(`${c}%`, o, s);
@@ -1285,59 +1458,59 @@ function _e(e, t, n, r, i) {
1285
1458
  ...l,
1286
1459
  categories: u
1287
1460
  }], r = w - S / 2;
1288
- ce(e, {
1461
+ Ce(e, {
1289
1462
  ...t,
1290
1463
  series: n
1291
1464
  }, _, a, o, s, c, r, T - C / 2, S, C, g + 2);
1292
1465
  }
1293
1466
  }
1294
- function ve(e, t, n, r) {
1295
- let { x: i, y: a, w: o, h: s } = n, c = pe(t), l = c.length;
1467
+ function Me(e, t, n, r) {
1468
+ let { x: i, y: a, w: o, h: s } = n, c = De(t), l = c.length;
1296
1469
  if (l < 3) return;
1297
- let u = t.title ? ue(t, s, r) : 0, d = t.title ? s * .035 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = se(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, b = m?.side === "b" ? m.reserveH : 0;
1298
- fe(e, t, i, a + d, o, u);
1299
- let x = o - h - g, S = s - p - _ - b - s * .02, C = i + g + x / 2, w = a + p + _ + s * .02 + S / 2, T = Math.min(x, S) * .38, E = 0;
1300
- for (let e of t.series) for (let t of e.values) E = Math.max(E, t ?? 0);
1301
- t.valMax != null && (E = t.valMax), E === 0 && (E = 1);
1302
- let { max: D, step: O } = v(0, E, void 0, t.valMax), k = -Math.PI / 2, j = (e) => k + e / l * Math.PI * 2, M = Math.round(D / O);
1470
+ let u = t.title ? we(t, s, r) : 0, d = t.title ? s * .035 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = Se(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, v = m?.side === "b" ? m.reserveH : 0;
1471
+ Ee(e, t, i, a + d, o, u);
1472
+ let y = o - h - g, b = s - p - _ - v - s * .02, x = i + g + y / 2, S = a + p + _ + s * .02 + b / 2, C = Math.min(y, b) * .38, w = 0;
1473
+ for (let e of t.series) for (let t of e.values) w = Math.max(w, t ?? 0);
1474
+ t.valMax != null && (w = t.valMax), w === 0 && (w = 1);
1475
+ let { max: T, step: E } = A(0, w, void 0, t.valMax), D = -Math.PI / 2, O = (e) => D + e / l * Math.PI * 2, k = Math.round(T / E);
1303
1476
  e.strokeStyle = "#ddd", e.lineWidth = .5;
1304
- for (let t = 1; t <= M; t++) {
1305
- let n = t / M * T;
1477
+ for (let t = 1; t <= k; t++) {
1478
+ let n = t / k * C;
1306
1479
  e.beginPath();
1307
1480
  for (let t = 0; t < l; t++) {
1308
- let r = j(t), i = C + Math.cos(r) * n, a = w + Math.sin(r) * n;
1481
+ let r = O(t), i = x + Math.cos(r) * n, a = S + Math.sin(r) * n;
1309
1482
  t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
1310
1483
  }
1311
1484
  e.closePath(), e.stroke();
1312
1485
  }
1313
1486
  e.strokeStyle = "#bbb", e.lineWidth = .5;
1314
1487
  for (let t = 0; t < l; t++) {
1315
- let n = j(t);
1316
- e.beginPath(), e.moveTo(C, w), e.lineTo(C + Math.cos(n) * T, w + Math.sin(n) * T), e.stroke();
1488
+ let n = O(t);
1489
+ e.beginPath(), e.moveTo(x, S), e.lineTo(x + Math.cos(n) * C, S + Math.sin(n) * C), e.stroke();
1317
1490
  }
1318
1491
  if (!t.valAxisHidden) {
1319
- e.font = `${de(t.valAxisFontSizeHpt, s, r)}px sans-serif`, e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle";
1320
- for (let t = 1; t <= M; t++) {
1321
- let n = t / M * D, r = t / M * T;
1322
- e.fillText(y(n), C - 3, w - r);
1492
+ e.font = `${Te(t.valAxisFontSizeHpt, s, r)}px sans-serif`, e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle";
1493
+ for (let t = 1; t <= k; t++) {
1494
+ let n = t / k * T, r = t / k * C;
1495
+ e.fillText(L(n), x - 3, S - r);
1323
1496
  }
1324
1497
  }
1325
- e.font = `${Math.max(8, Math.min(11, T * .2))}px sans-serif`, e.fillStyle = "#444", e.textBaseline = "middle";
1498
+ e.font = `${Math.max(8, Math.min(11, C * .2))}px sans-serif`, e.fillStyle = "#444", e.textBaseline = "middle";
1326
1499
  for (let t = 0; t < l; t++) {
1327
- let n = j(t), r = C + Math.cos(n) * (T + 12), i = w + Math.sin(n) * (T + 12);
1500
+ let n = O(t), r = x + Math.cos(n) * (C + 12), i = S + Math.sin(n) * (C + 12);
1328
1501
  e.textAlign = Math.cos(n) < -.1 ? "right" : Math.cos(n) > .1 ? "left" : "center", e.fillText((c[t] ?? "").toString().slice(0, 12), r, i);
1329
1502
  }
1330
- let N = t.radarStyle === "filled", P = Math.max(2, T * .025);
1503
+ let j = t.radarStyle === "filled", M = Math.max(2, C * .025);
1331
1504
  for (let n = 0; n < t.series.length; n++) {
1332
- let r = t.series[n], i = ee(n, r), a = [];
1505
+ let r = t.series[n], i = ce(n, r), a = [];
1333
1506
  for (let e = 0; e < l; e++) {
1334
1507
  let t = r.values[e];
1335
1508
  if (t == null) {
1336
1509
  a.push(null);
1337
1510
  continue;
1338
1511
  }
1339
- let n = t / D, i = j(e);
1340
- a.push([C + Math.cos(i) * T * n, w + Math.sin(i) * T * n]);
1512
+ let n = t / T, i = O(e);
1513
+ a.push([x + Math.cos(i) * C * n, S + Math.sin(i) * C * n]);
1341
1514
  }
1342
1515
  e.beginPath();
1343
1516
  let o = !1;
@@ -1349,104 +1522,104 @@ function ve(e, t, n, r) {
1349
1522
  o ? e.lineTo(t[0], t[1]) : (e.moveTo(t[0], t[1]), o = !0);
1350
1523
  }
1351
1524
  let s = a.every((e) => e != null);
1352
- if (N && s ? (e.closePath(), e.fillStyle = A(i, .25), e.fill()) : s && e.closePath(), e.strokeStyle = i, e.lineWidth = 2, e.stroke(), !N && r.showMarker !== !1) {
1525
+ if (j && s ? (e.closePath(), e.fillStyle = W(i, .25), e.fill()) : s && e.closePath(), e.strokeStyle = i, e.lineWidth = 2, e.stroke(), !j && r.showMarker !== !1) {
1353
1526
  e.fillStyle = i;
1354
- for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1], P, 0, Math.PI * 2), e.fill());
1527
+ for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1], M, 0, Math.PI * 2), e.fill());
1355
1528
  }
1356
1529
  }
1357
- ce(e, t, m, i, a, o, s, C - x / 2, w - S / 2, x, S, p + 2);
1530
+ Ce(e, t, m, i, a, o, s, x - y / 2, S - b / 2, y, b, p + 2);
1358
1531
  }
1359
- function ye(e, t, n, r) {
1360
- let { x: i, y: a, w: o, h: s } = n, c = t.title ? ue(t, s, r) : 0, l = t.title ? s * .035 : 0, u = t.title ? s * .035 : 0, d = t.title ? c + l + u : 0, f = se(t, o, s), p = f?.side === "r" ? f.reserveW : 0, m = f?.side === "l" ? f.reserveW : 0, g = f?.side === "t" ? f.reserveH : 0, _ = f?.side === "b" ? f.reserveH : 0, { catTitlePx: y, valTitlePx: x, catTitleH: S, valTitleW: C } = ne(t, o, s, r);
1532
+ function Ne(e, t, n, r) {
1533
+ let { x: i, y: a, w: o, h: s } = n, c = t.title ? we(t, s, r) : 0, l = t.title ? s * .035 : 0, u = t.title ? s * .035 : 0, d = t.title ? c + l + u : 0, f = Se(t, o, s), p = f?.side === "r" ? f.reserveW : 0, m = f?.side === "l" ? f.reserveW : 0, h = f?.side === "t" ? f.reserveH : 0, g = f?.side === "b" ? f.reserveH : 0, { catTitlePx: _, valTitlePx: v, catTitleH: y, valTitleW: b } = ge(t, o, s, r);
1361
1534
  if (t.title) {
1362
1535
  let n = t.titleManualLayout;
1363
- n && (n.x !== void 0 || n.y !== void 0) ? fe(e, t, i + n.x * o, a + n.y * s, (n.w ?? .5) * o, c) : fe(e, t, i, a + l, o, c);
1536
+ n && (n.x !== void 0 || n.y !== void 0) ? Ee(e, t, i + n.x * o, a + n.y * s, (n.w ?? .5) * o, c) : Ee(e, t, i, a + l, o, c);
1364
1537
  }
1365
- let w = t.plotAreaManualLayout, T, E, D, O;
1366
- if (w && w.w != null && w.h != null) T = i + w.x * o, E = a + w.y * s, D = w.w * o, O = w.h * s;
1538
+ let x = t.plotAreaManualLayout, S, C, w, E;
1539
+ if (x && x.w != null && x.h != null) S = i + x.x * o, C = a + x.y * s, w = x.w * o, E = x.h * s;
1367
1540
  else {
1368
1541
  let e = {
1369
- t: d + g + s * .02,
1542
+ t: d + h + s * .02,
1370
1543
  r: p + o * .05,
1371
- b: (t.catAxisHidden ? s * .04 : s * .12) + S + _,
1372
- l: (t.valAxisHidden ? o * .04 : o * .12) + C + m
1544
+ b: (t.catAxisHidden ? s * .04 : s * .12) + y + g,
1545
+ l: (t.valAxisHidden ? o * .04 : o * .12) + b + m
1373
1546
  };
1374
- T = i + e.l, E = a + e.t, D = o - e.l - e.r, O = s - e.t - e.b;
1547
+ S = i + e.l, C = a + e.t, w = o - e.l - e.r, E = s - e.t - e.b;
1375
1548
  }
1376
- if (D <= 0 || O <= 0) return;
1377
- t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(T, E, D, O));
1378
- let k = [], A = [];
1549
+ if (w <= 0 || E <= 0) return;
1550
+ t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(S, C, w, E));
1551
+ let D = [], O = [];
1379
1552
  for (let e of t.series) {
1380
1553
  let t = e.categories ?? [];
1381
1554
  for (let e of t) {
1382
1555
  let t = parseFloat(e);
1383
- isNaN(t) || k.push(t);
1556
+ isNaN(t) || D.push(t);
1384
1557
  }
1385
- for (let t of e.values) t != null && A.push(t);
1558
+ for (let t of e.values) t != null && O.push(t);
1386
1559
  }
1387
- let j = k.length === 0;
1388
- if (j) {
1560
+ let k = D.length === 0;
1561
+ if (k) {
1389
1562
  let e = Math.max(...t.series.map((e) => e.values.length));
1390
- for (let t = 0; t < e; t++) k.push(t);
1563
+ for (let t = 0; t < e; t++) D.push(t);
1391
1564
  }
1392
- let M = Math.min(...k), N = Math.max(...k), P = Math.min(...A), F = Math.max(...A);
1393
- M === N && (--M, N += 1), P === F && (--P, F += 1), t.valMin == null ? P > 0 && (P = 0) : P = t.valMin, t.valMax != null && (F = t.valMax);
1394
- let { min: L, max: R, step: z } = v(P, F, t.valMin, t.valMax);
1395
- if (P = L, F = R, t.catAxisMin != null && (M = t.catAxisMin), t.catAxisMax != null && (N = t.catAxisMax), t.catAxisMin == null || t.catAxisMax == null) {
1396
- let e = h(N - M);
1397
- e > 0 && (t.catAxisMin ?? (M = Math.floor(M / e) * e), t.catAxisMax ?? (N = Math.ceil(N / e) * e));
1565
+ let j = Math.min(...D), M = Math.max(...D), N = Math.min(...O), F = Math.max(...O);
1566
+ j === M && (--j, M += 1), N === F && (--N, F += 1), t.valMin == null ? N > 0 && (N = 0) : N = t.valMin, t.valMax != null && (F = t.valMax);
1567
+ let { min: I, max: L, step: z } = A(N, F, t.valMin, t.valMax);
1568
+ if (N = I, F = L, t.catAxisMin != null && (j = t.catAxisMin), t.catAxisMax != null && (M = t.catAxisMax), t.catAxisMin == null || t.catAxisMax == null) {
1569
+ let e = T(M - j);
1570
+ e > 0 && (t.catAxisMin ?? (j = Math.floor(j / e) * e), t.catAxisMax ?? (M = Math.ceil(M / e) * e));
1398
1571
  }
1399
- let B = (e) => T + (e - M) / (N - M) * D, V = (e) => E + O - (e - P) / (F - P) * O;
1572
+ let B = (e) => S + (e - j) / (M - j) * w, V = (e) => C + E - (e - N) / (F - N) * E;
1400
1573
  if (!t.valAxisHidden) {
1401
- let n = Math.max(8, Math.min(11, O / 20));
1574
+ let n = Math.max(8, Math.min(11, E / 20));
1402
1575
  e.font = `${t.valAxisFontBold ? "bold " : ""}${n}px sans-serif`;
1403
- let i = Math.round((F - P) / z) + 1;
1576
+ let i = Math.round((F - N) / z) + 1;
1404
1577
  for (let n = 0; n < i; n++) {
1405
- let i = P + n * z;
1578
+ let i = N + n * z;
1406
1579
  if (i > F + z * .01) break;
1407
1580
  let a = V(i);
1408
- e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(T, a), e.lineTo(T + D, a), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(b(i, t.valAxisFormatCode), T - 4, a);
1409
- let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0, s = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / I) * r : void 0;
1410
- le(e, t.valAxisMajorTickMark, "val", T, a, o, s);
1581
+ e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(S, a), e.lineTo(S + w, a), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(R(i, t.valAxisFormatCode), S - 4, a);
1582
+ let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0;
1583
+ Y(e, t.valAxisMajorTickMark, "val", S, a, o, P(t.valAxisLineWidthEmu, r));
1411
1584
  }
1412
1585
  }
1413
- let H = E + O;
1414
- if (t.catAxisCrossesAt != null) H = we(V(t.catAxisCrossesAt), E, E + O);
1586
+ let H = C + E;
1587
+ if (t.catAxisCrossesAt != null) H = Re(V(t.catAxisCrossesAt), C, C + E);
1415
1588
  else {
1416
1589
  let e = t.catAxisCrosses ?? "autoZero";
1417
- e === "autoZero" && P < 0 && F > 0 ? H = we(V(0), E, E + O) : e === "min" ? H = E + O : e === "max" && (H = E);
1590
+ e === "autoZero" && N < 0 && F > 0 ? H = Re(V(0), C, C + E) : e === "min" ? H = C + E : e === "max" && (H = C);
1418
1591
  }
1419
- if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / I) * r : 1, e.lineCap = "butt", e.beginPath(), e.moveTo(T, H), e.lineTo(T + D, H), e.stroke(), e.restore()), !t.valAxisHidden && !t.valAxisLineHidden && (e.save(), e.strokeStyle = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#888", e.lineWidth = t.valAxisLineWidthEmu ? Math.max(.5, t.valAxisLineWidthEmu / I) * r : 1, e.beginPath(), e.moveTo(T, E), e.lineTo(T, E + O), e.stroke(), e.restore()), !t.catAxisHidden) {
1420
- let n = Math.max(8, Math.min(11, O / 20));
1592
+ if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = P(t.catAxisLineWidthEmu, r), e.lineCap = "butt", e.beginPath(), e.moveTo(S, H), e.lineTo(S + w, H), e.stroke(), e.restore()), !t.valAxisHidden && !t.valAxisLineHidden && (e.save(), e.strokeStyle = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#888", e.lineWidth = P(t.valAxisLineWidthEmu, r), e.beginPath(), e.moveTo(S, C), e.lineTo(S, C + E), e.stroke(), e.restore()), !t.catAxisHidden) {
1593
+ let n = Math.max(8, Math.min(11, E / 20));
1421
1594
  e.font = `${t.catAxisFontBold ? "bold " : ""}${n}px sans-serif`;
1422
- let i = h(N - M), a = Math.round((N - M) / i) + 1;
1595
+ let i = T(M - j), a = Math.round((M - j) / i) + 1;
1423
1596
  e.fillStyle = "#555", e.textAlign = "center", e.textBaseline = "top";
1424
1597
  for (let n = 0; n < a; n++) {
1425
- let a = M + n * i;
1426
- if (a > N + i * .01) break;
1598
+ let a = j + n * i;
1599
+ if (a > M + i * .01) break;
1427
1600
  let o = B(a);
1428
- e.fillText(b(a, t.catAxisFormatCode), o, H + 4);
1429
- let s = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0, c = t.catAxisLineWidthEmu ? Math.max(.5, t.catAxisLineWidthEmu / I) * r : void 0;
1430
- le(e, t.catAxisMajorTickMark, "cat", H, o, s, c);
1601
+ e.fillText(R(a, t.catAxisFormatCode), o, H + 4);
1602
+ let s = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0;
1603
+ Y(e, t.catAxisMajorTickMark, "cat", H, o, s, P(t.catAxisLineWidthEmu, r));
1431
1604
  }
1432
1605
  }
1433
- let U = t.chartType === "bubble", W = U ? "marker" : t.scatterStyle ?? "marker", te = W === "line" || W === "lineMarker" || W === "lineNoMarker", G = W === "smooth" || W === "smoothMarker" || W === "smoothNoMarker", ie = W === "lineNoMarker" || W === "smoothNoMarker";
1606
+ let U = t.chartType === "bubble", ee = U ? "marker" : t.scatterStyle ?? "marker", te = ee === "line" || ee === "lineMarker" || ee === "lineNoMarker", ne = ee === "smooth" || ee === "smoothMarker" || ee === "smoothNoMarker", re = ee === "lineNoMarker" || ee === "smoothNoMarker";
1434
1607
  for (let n = 0; n < t.series.length; n++) {
1435
- let i = t.series[n], a = ee(n, i), o = i.categories ?? [];
1436
- for (let t of i.errBars ?? []) xe(e, i, t, o, j, B, V, a);
1437
- if (te || G) {
1608
+ let i = t.series[n], a = ce(n, i), o = i.categories ?? [];
1609
+ for (let t of i.errBars ?? []) Fe(e, i, t, o, k, B, V, a);
1610
+ if (te || ne) {
1438
1611
  let t = [];
1439
1612
  for (let e = 0; e < i.values.length; e++) {
1440
1613
  let n = i.values[e];
1441
1614
  if (n == null) continue;
1442
- let r = j ? e : parseFloat(o[e] ?? "0");
1615
+ let r = k ? e : parseFloat(o[e] ?? "0");
1443
1616
  isNaN(r) || t.push({
1444
1617
  x: B(r),
1445
1618
  y: V(n)
1446
1619
  });
1447
1620
  }
1448
1621
  if (t.length >= 2) {
1449
- if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y), G && t.length >= 3) for (let n = 0; n < t.length - 1; n++) {
1622
+ if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y), ne && t.length >= 3) for (let n = 0; n < t.length - 1; n++) {
1450
1623
  let r = t[n - 1] ?? t[n], i = t[n], a = t[n + 1], o = t[n + 2] ?? a, s = i.x + (a.x - r.x) / 6, c = i.y + (a.y - r.y) / 6, l = a.x - (o.x - i.x) / 6, u = a.y - (o.y - i.y) / 6;
1451
1624
  e.bezierCurveTo(s, c, l, u, a.x, a.y);
1452
1625
  }
@@ -1454,16 +1627,16 @@ function ye(e, t, n, r) {
1454
1627
  e.stroke(), e.restore();
1455
1628
  }
1456
1629
  }
1457
- if (!(ie || i.showMarker === !1 || typeof i.markerSymbol == "string" && i.markerSymbol === "none")) {
1630
+ if (!(re || i.showMarker === !1 || typeof i.markerSymbol == "string" && i.markerSymbol === "none")) {
1458
1631
  let t = 0;
1459
1632
  if (U && i.bubbleSizes && i.bubbleSizes.length > 0) {
1460
1633
  let e = Math.max(0, ...i.bubbleSizes.filter((e) => e != null));
1461
- e > 0 && (t = Math.min(D, O) / Math.max(8, i.values.length * 1.6) / Math.sqrt(e));
1634
+ e > 0 && (t = Math.min(w, E) / Math.max(8, i.values.length * 1.6) / Math.sqrt(e));
1462
1635
  }
1463
1636
  for (let n = 0; n < i.values.length; n++) {
1464
1637
  let s = i.values[n];
1465
1638
  if (s == null) continue;
1466
- let c = j ? n : parseFloat(o[n] ?? "0");
1639
+ let c = k ? n : parseFloat(o[n] ?? "0");
1467
1640
  if (isNaN(c)) continue;
1468
1641
  let l = (i.dataPointOverrides ?? []).find((e) => e.idx === n), u = l?.markerSymbol ?? i.markerSymbol ?? "circle", d = l?.markerSize ?? i.markerSize ?? 5;
1469
1642
  if (U && t > 0) {
@@ -1471,14 +1644,14 @@ function ye(e, t, n, r) {
1471
1644
  e != null && e > 0 && (d = Math.sqrt(e) * t * 2 / r);
1472
1645
  }
1473
1646
  let f = l?.markerFill ?? l?.color ?? i.markerFill ?? a, p = l?.markerLine ?? i.markerLine ?? null;
1474
- be(e, B(c), V(s), u, d, f, p, r);
1647
+ Pe(e, B(c), V(s), u, d, f, p, r);
1475
1648
  }
1476
1649
  }
1477
- Se(e, i, o, j, B, V, O, r);
1650
+ Ie(e, i, o, k, B, V, E, r);
1478
1651
  }
1479
- ce(e, t, f, i, a, o, s, T, E, D, O, d + 2), re(e, t, i, a, o, s, T, E, D, O, m, _, y, x);
1652
+ Ce(e, t, f, i, a, o, s, S, C, w, E, d + 2), _e(e, t, i, a, o, s, S, C, w, E, m, g, _, v);
1480
1653
  }
1481
- function be(e, t, n, r, i, a, o, s) {
1654
+ function Pe(e, t, n, r, i, a, o, s) {
1482
1655
  let c = Math.max(2, i * s), l = c / 2, u = a.startsWith("#") ? a : `#${a}`, d = o ? o.startsWith("#") ? o : `#${o}` : null;
1483
1656
  switch (e.save(), e.fillStyle = u, d && (e.strokeStyle = d, e.lineWidth = 1), r) {
1484
1657
  case "square":
@@ -1518,8 +1691,8 @@ function be(e, t, n, r, i, a, o, s) {
1518
1691
  }
1519
1692
  e.restore();
1520
1693
  }
1521
- function xe(e, t, n, r, i, a, o, s) {
1522
- e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu / I) : 1, e.setLineDash(Te(n.dash));
1694
+ function Fe(e, t, n, r, i, a, o, s) {
1695
+ e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu / j) : 1, e.setLineDash(ze(n.dash));
1523
1696
  let c = n.barType === "plus" || n.barType === "both", l = n.barType === "minus" || n.barType === "both", u = n.dir === "x", d = e.lineWidth * 1.5;
1524
1697
  for (let s = 0; s < t.values.length; s++) {
1525
1698
  let f = t.values[s];
@@ -1541,7 +1714,7 @@ function xe(e, t, n, r, i, a, o, s) {
1541
1714
  }
1542
1715
  e.restore();
1543
1716
  }
1544
- function Se(e, t, n, r, i, a, o, s) {
1717
+ function Ie(e, t, n, r, i, a, o, s) {
1545
1718
  let c = t.dataLabelOverrides ?? [];
1546
1719
  if (c.length === 0 && !t.seriesDataLabels) return;
1547
1720
  let l = t.seriesDataLabels;
@@ -1556,13 +1729,13 @@ function Se(e, t, n, r, i, a, o, s) {
1556
1729
  m = p.text;
1557
1730
  } else if (l && (l.showVal || l.showSerName || l.showCatName)) {
1558
1731
  let e = [];
1559
- if (l.showCatName && !r && e.push(n[u] ?? ""), l.showSerName && e.push(t.name), l.showVal && e.push(b(d, l.formatCode ?? null)), m = e.filter(Boolean).join(" "), !m) continue;
1732
+ if (l.showCatName && !r && e.push(n[u] ?? ""), l.showSerName && e.push(t.name), l.showVal && e.push(R(d, l.formatCode ?? null)), m = e.filter(Boolean).join(" "), !m) continue;
1560
1733
  } else continue;
1561
1734
  let h = p?.position ?? l?.position ?? "r", g = p?.fontSizeHpt ?? l?.fontSizeHpt, _ = g ? g / 100 * s : Math.max(9, Math.min(11, o / 25)), v = p?.fontColor ?? l?.fontColor, y = p?.fontBold ?? l?.fontBold ?? !1;
1562
- Ce(e, i(f), a(d), m, h, _, v, y);
1735
+ Le(e, i(f), a(d), m, h, _, v, y);
1563
1736
  }
1564
1737
  }
1565
- function Ce(e, t, n, r, i, a, o, s) {
1738
+ function Le(e, t, n, r, i, a, o, s) {
1566
1739
  e.save(), e.font = `${s ? "bold " : ""}${a}px sans-serif`, e.fillStyle = o ? `#${o}` : "#333";
1567
1740
  let c = a * .6, l = t, u = n;
1568
1741
  switch (i) {
@@ -1590,10 +1763,10 @@ function Ce(e, t, n, r, i, a, o, s) {
1590
1763
  for (let t of d) e.fillText(t, l, m), m += f;
1591
1764
  e.restore();
1592
1765
  }
1593
- function we(e, t, n) {
1766
+ function Re(e, t, n) {
1594
1767
  return e < t ? t : e > n ? n : e;
1595
1768
  }
1596
- function Te(e) {
1769
+ function ze(e) {
1597
1770
  if (!e) return [];
1598
1771
  switch (e) {
1599
1772
  case "solid": return [];
@@ -1628,7 +1801,7 @@ function Te(e) {
1628
1801
  default: return [];
1629
1802
  }
1630
1803
  }
1631
- function Ee(e, t, n) {
1804
+ function Be(e, t, n) {
1632
1805
  let { x: r, y: i, w: a, h: o } = n, s = t.plotAreaManualLayout, c, l, u, d;
1633
1806
  if (s && s.w != null && s.h != null) c = r + s.x * a, l = i + s.y * o, u = s.w * a, d = s.h * o;
1634
1807
  else {
@@ -1637,42 +1810,42 @@ function Ee(e, t, n) {
1637
1810
  }
1638
1811
  let f = t.series[0]?.values ?? [], p = t.categories, m = p.length;
1639
1812
  if (m === 0) return;
1640
- let g = new Set(t.subtotalIndices), _ = 0, v = [];
1813
+ let h = new Set(t.subtotalIndices), g = 0, _ = [];
1641
1814
  for (let e = 0; e < m; e++) {
1642
1815
  let t = f[e] ?? 0;
1643
- if (e === 0 || g.has(e)) v.push({
1816
+ if (e === 0 || h.has(e)) _.push({
1644
1817
  start: 0,
1645
1818
  end: t,
1646
1819
  isSub: !0,
1647
1820
  isPos: !0
1648
- }), _ = t;
1821
+ }), g = t;
1649
1822
  else {
1650
- let e = t >= 0 ? _ : _ + t, n = t >= 0 ? _ + t : _;
1651
- v.push({
1823
+ let e = t >= 0 ? g : g + t, n = t >= 0 ? g + t : g;
1824
+ _.push({
1652
1825
  start: e,
1653
1826
  end: n,
1654
1827
  isSub: !1,
1655
1828
  isPos: t >= 0
1656
- }), _ += t;
1829
+ }), g += t;
1657
1830
  }
1658
1831
  }
1659
- let y = v.map((e) => e.end), b = v.map((e) => e.start), x = Math.max(...y, ...b), S = Math.min(...b, 0), C = x - S;
1660
- if (C <= 0) return;
1661
- let w = S < 0 ? S - C * .05 : 0, T = (x - w) * 1.1, E = w + T, D = h(T);
1832
+ let v = _.map((e) => e.end), y = _.map((e) => e.start), b = Math.max(...v, ...y), x = Math.min(...y, 0), S = b - x;
1833
+ if (S <= 0) return;
1834
+ let C = x < 0 ? x - S * .05 : 0, w = (b - C) * 1.1, E = C + w, D = T(w);
1662
1835
  e.save();
1663
1836
  let O = Math.round(o * .042);
1664
1837
  if (e.font = `${O}px sans-serif`, !t.valAxisHidden) {
1665
1838
  e.strokeStyle = "#e8e8e8", e.lineWidth = .7, e.fillStyle = "#666", e.textAlign = "right", e.textBaseline = "middle";
1666
- for (let t = Math.ceil(w / D) * D; t <= E; t += D) {
1667
- let n = l + d * (1 - (t - w) / T);
1839
+ for (let t = Math.ceil(C / D) * D; t <= E; t += D) {
1840
+ let n = l + d * (1 - (t - C) / w);
1668
1841
  e.beginPath(), e.moveTo(c, n), e.lineTo(c + u, n), e.stroke(), e.fillText(t.toLocaleString(), c - 4, n);
1669
1842
  }
1670
1843
  }
1671
1844
  let k = !t.valAxisHidden && !t.valAxisLineHidden, A = !t.catAxisHidden && !t.catAxisLineHidden;
1672
1845
  (k || A) && (e.strokeStyle = "#bbb", e.lineWidth = 1, e.beginPath(), k ? (e.moveTo(c, l), e.lineTo(c, l + d), A && e.lineTo(c + u, l + d)) : A && (e.moveTo(c, l + d), e.lineTo(c + u, l + d)), e.stroke());
1673
1846
  let j = u / m, M = j / (1 + (t.barGapWidth ?? 150) / 100);
1674
- v.forEach((n, r) => {
1675
- let i = c + j * r + (j - M) / 2, a = l + d * (1 - (n.end - w) / T), s = l + d * (1 - (n.start - w) / T), u = Math.max(1, s - a);
1847
+ _.forEach((n, r) => {
1848
+ let i = c + j * r + (j - M) / 2, a = l + d * (1 - (n.end - C) / w), s = l + d * (1 - (n.start - C) / w), u = Math.max(1, s - a);
1676
1849
  if (n.isSub ? (e.fillStyle = "#196ECA", e.fillRect(i, a, M, u)) : (e.strokeStyle = n.isPos ? "#5BA4E6" : "#E46970", e.lineWidth = 1.5, e.strokeRect(i + .75, a + .75, M - 1.5, u - 1.5)), r < m - 1) {
1677
1850
  let t = c + j * (r + 1) + (j - M) / 2, o = n.isPos ? a : s;
1678
1851
  e.strokeStyle = "#ccc", e.lineWidth = .8, e.setLineDash([3, 3]), e.beginPath(), e.moveTo(i + M, o), e.lineTo(t, o), e.stroke(), e.setLineDash([]);
@@ -1687,10 +1860,10 @@ function Ee(e, t, n) {
1687
1860
  }
1688
1861
  e.restore();
1689
1862
  }
1690
- function De(e, t, n, r = R) {
1863
+ function Ve(e, t, n, r = N) {
1691
1864
  let { x: i, y: a, w: o, h: s } = n;
1692
1865
  if (t.chartBg && (e.fillStyle = `#${t.chartBg}`, e.fillRect(i, a, o, s)), t.chartBorderColor) {
1693
- e.save(), e.strokeStyle = `#${t.chartBorderColor}`, e.lineWidth = t.chartBorderWidthEmu ? Math.max(.5, t.chartBorderWidthEmu / I) * r : 1;
1866
+ e.save(), e.strokeStyle = `#${t.chartBorderColor}`, e.lineWidth = t.chartBorderWidthEmu ? Math.max(.5, t.chartBorderWidthEmu / j) * r : 1;
1694
1867
  let n = e.lineWidth;
1695
1868
  e.strokeRect(i + n / 2, a + n / 2, o - n, s - n), e.restore();
1696
1869
  }
@@ -1705,40 +1878,40 @@ function De(e, t, n, r = R) {
1705
1878
  case "stackedBarH":
1706
1879
  case "stackedBarPct":
1707
1880
  case "stackedBarHPct":
1708
- q(e, t, n, r);
1881
+ ke(e, t, n, r);
1709
1882
  break;
1710
1883
  case "line":
1711
1884
  case "stackedLine":
1712
1885
  case "stackedLinePct":
1713
- he(e, t, n, r);
1886
+ Ae(e, t, n, r);
1714
1887
  break;
1715
1888
  case "area":
1716
1889
  case "stackedArea":
1717
1890
  case "stackedAreaPct":
1718
- ge(e, t, n, r);
1891
+ X(e, t, n, r);
1719
1892
  break;
1720
1893
  case "pie":
1721
- _e(e, t, n, !1, r);
1894
+ je(e, t, n, !1, r);
1722
1895
  break;
1723
1896
  case "doughnut":
1724
- _e(e, t, n, !0, r);
1897
+ je(e, t, n, !0, r);
1725
1898
  break;
1726
1899
  case "radar":
1727
- ve(e, t, n, r);
1900
+ Me(e, t, n, r);
1728
1901
  break;
1729
1902
  case "scatter":
1730
1903
  case "bubble":
1731
- ye(e, t, n, r);
1904
+ Ne(e, t, n, r);
1732
1905
  break;
1733
1906
  case "waterfall":
1734
- Ee(e, t, n);
1907
+ Be(e, t, n);
1735
1908
  break;
1736
1909
  default: e.fillStyle = "#888", e.font = "11px sans-serif", e.textAlign = "center", e.textBaseline = "middle", e.fillText(`Chart: ${t.chartType}`, i + o / 2, a + s / 2);
1737
1910
  }
1738
1911
  }
1739
1912
  //#endregion
1740
1913
  //#region packages/core/src/autoResize.ts
1741
- function Oe(e, t, n = {}) {
1914
+ function He(e, t, n = {}) {
1742
1915
  let r = n.pauseWhenHidden ?? !0, i = null, a = 0, o = 0, s = null, c = !1, l = !1, u = () => {
1743
1916
  if (!l && !(r && typeof document < "u" && document.hidden)) {
1744
1917
  if (s) {
@@ -1775,7 +1948,7 @@ function Oe(e, t, n = {}) {
1775
1948
  }
1776
1949
  //#endregion
1777
1950
  //#region packages/core/src/shape/custGeom.ts
1778
- function ke(e, t, n, r, i, a) {
1951
+ function Ue(e, t, n, r, i, a) {
1779
1952
  for (let o of t) {
1780
1953
  let t = 0, s = 0;
1781
1954
  for (let c of o) switch (c.cmd) {
@@ -1803,11 +1976,11 @@ function ke(e, t, n, r, i, a) {
1803
1976
  }
1804
1977
  //#endregion
1805
1978
  //#region packages/core/src/shape/custgeom-endpoints.ts
1806
- var J = 1e-9;
1807
- function Ae(e) {
1979
+ var Z = 1e-9;
1980
+ function We(e) {
1808
1981
  return e.cmd === "lineTo" || e.cmd === "cubicBezTo" || e.cmd === "arcTo";
1809
1982
  }
1810
- function je(e, t, n, r) {
1983
+ function Ge(e, t, n, r) {
1811
1984
  let i = n === 0 ? 0 : n, a = r === 0 ? 0 : r;
1812
1985
  return {
1813
1986
  x: e,
@@ -1817,7 +1990,7 @@ function je(e, t, n, r) {
1817
1990
  angle: Math.atan2(a, i)
1818
1991
  };
1819
1992
  }
1820
- function Me(e, t, n) {
1993
+ function Ke(e, t, n) {
1821
1994
  switch (n.cmd) {
1822
1995
  case "lineTo": return {
1823
1996
  dx: n.x - e,
@@ -1825,7 +1998,7 @@ function Me(e, t, n) {
1825
1998
  };
1826
1999
  case "cubicBezTo": {
1827
2000
  let r = n.x1 - e, i = n.y1 - t;
1828
- return Math.abs(r) < J && Math.abs(i) < J && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < J && Math.abs(i) < J && (r = n.x - e, i = n.y - t), {
2001
+ return Math.abs(r) < Z && Math.abs(i) < Z && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < Z && Math.abs(i) < Z && (r = n.x - e, i = n.y - t), {
1829
2002
  dx: r,
1830
2003
  dy: i
1831
2004
  };
@@ -1843,7 +2016,7 @@ function Me(e, t, n) {
1843
2016
  };
1844
2017
  }
1845
2018
  }
1846
- function Ne(e, t, n) {
2019
+ function qe(e, t, n) {
1847
2020
  switch (n.cmd) {
1848
2021
  case "moveTo":
1849
2022
  case "lineTo":
@@ -1868,8 +2041,8 @@ function Ne(e, t, n) {
1868
2041
  };
1869
2042
  }
1870
2043
  }
1871
- function Pe(e, t, n) {
1872
- let { x: r, y: i } = Ne(e, t, n);
2044
+ function Je(e, t, n) {
2045
+ let { x: r, y: i } = qe(e, t, n);
1873
2046
  switch (n.cmd) {
1874
2047
  case "lineTo": return {
1875
2048
  dx: n.x - e,
@@ -1879,7 +2052,7 @@ function Pe(e, t, n) {
1879
2052
  };
1880
2053
  case "cubicBezTo": {
1881
2054
  let a = n.x - n.x2, o = n.y - n.y2;
1882
- return Math.abs(a) < J && Math.abs(o) < J && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < J && Math.abs(o) < J && (a = n.x - e, o = n.y - t), {
2055
+ return Math.abs(a) < Z && Math.abs(o) < Z && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < Z && Math.abs(o) < Z && (a = n.x - e, o = n.y - t), {
1883
2056
  dx: a,
1884
2057
  dy: o,
1885
2058
  x: r,
@@ -1909,50 +2082,50 @@ function Pe(e, t, n) {
1909
2082
  };
1910
2083
  }
1911
2084
  }
1912
- function Fe(e) {
2085
+ function Ye(e) {
1913
2086
  let t = 0, n = 0, r = !1;
1914
- for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} = Ne(t, n, i);
2087
+ for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} = qe(t, n, i);
1915
2088
  return r ? {
1916
2089
  x: t,
1917
2090
  y: n
1918
2091
  } : null;
1919
2092
  }
1920
- function Ie(e) {
2093
+ function Xe(e) {
1921
2094
  if (e.some((e) => e.cmd === "close")) return !0;
1922
2095
  let t = e.find((e) => e.cmd === "moveTo");
1923
2096
  if (!t) return !1;
1924
- let n = Fe(e);
1925
- return !n || !e.some(Ae) ? !1 : Math.abs(n.x - t.x) < J && Math.abs(n.y - t.y) < J;
2097
+ let n = Ye(e);
2098
+ return !n || !e.some(We) ? !1 : Math.abs(n.x - t.x) < Z && Math.abs(n.y - t.y) < Z;
1926
2099
  }
1927
- function Le(e) {
2100
+ function Ze(e) {
1928
2101
  let t = {
1929
2102
  start: null,
1930
2103
  end: null
1931
2104
  };
1932
2105
  if (!e || e.length === 0) return t;
1933
2106
  let n = e[0];
1934
- if (n && n.length > 0 && !Ie(n)) {
1935
- let e = n.find((e) => e.cmd === "moveTo"), r = n.find(Ae);
2107
+ if (n && n.length > 0 && !Xe(n)) {
2108
+ let e = n.find((e) => e.cmd === "moveTo"), r = n.find(We);
1936
2109
  if (e && r) {
1937
- let n = Me(e.x, e.y, r);
1938
- (Math.abs(n.dx) > J || Math.abs(n.dy) > J) && (t.start = je(e.x, e.y, -n.dx, -n.dy));
2110
+ let n = Ke(e.x, e.y, r);
2111
+ (Math.abs(n.dx) > Z || Math.abs(n.dy) > Z) && (t.start = Ge(e.x, e.y, -n.dx, -n.dy));
1939
2112
  }
1940
2113
  }
1941
2114
  let r = e[e.length - 1];
1942
- if (r && r.length > 0 && !Ie(r)) {
2115
+ if (r && r.length > 0 && !Xe(r)) {
1943
2116
  let e = 0, n = 0, i = -1;
1944
- for (let e = 0; e < r.length; e++) Ae(r[e]) && (i = e);
2117
+ for (let e = 0; e < r.length; e++) We(r[e]) && (i = e);
1945
2118
  if (i >= 0) {
1946
- for (let t = 0; t < i; t++) ({x: e, y: n} = Ne(e, n, r[t]));
1947
- let a = Pe(e, n, r[i]);
1948
- (Math.abs(a.dx) > J || Math.abs(a.dy) > J) && (t.end = je(a.x, a.y, a.dx, a.dy));
2119
+ for (let t = 0; t < i; t++) ({x: e, y: n} = qe(e, n, r[t]));
2120
+ let a = Je(e, n, r[i]);
2121
+ (Math.abs(a.dx) > Z || Math.abs(a.dy) > Z) && (t.end = Ge(a.x, a.y, a.dx, a.dy));
1949
2122
  }
1950
2123
  }
1951
2124
  return t;
1952
2125
  }
1953
2126
  //#endregion
1954
2127
  //#region packages/core/src/shape/preset.ts
1955
- function Y(e, t, n, r, i, a, o, s = -Math.PI / 2) {
2128
+ function Qe(e, t, n, r, i, a, o, s = -Math.PI / 2) {
1956
2129
  let c = a * 2;
1957
2130
  for (let l = 0; l < c; l++) {
1958
2131
  let c = s + l * Math.PI / a, u = l % 2 == 0 ? 1 : o, d = t + r * u * Math.cos(c), f = n + i * u * Math.sin(c);
@@ -1960,21 +2133,21 @@ function Y(e, t, n, r, i, a, o, s = -Math.PI / 2) {
1960
2133
  }
1961
2134
  e.closePath();
1962
2135
  }
1963
- function Re(e, t, n, r, i, a, o = -Math.PI / 2) {
2136
+ function $e(e, t, n, r, i, a, o = -Math.PI / 2) {
1964
2137
  for (let s = 0; s < a; s++) {
1965
2138
  let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
1966
2139
  s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
1967
2140
  }
1968
2141
  e.closePath();
1969
2142
  }
1970
- function X(e, t, n, r, i, a, o) {
2143
+ function et(e, t, n, r, i, a, o) {
1971
2144
  let s = (e) => Math.atan2(r * Math.sin(e), i * Math.cos(e)), c = s(a), l = s(a + o), u = t - r * Math.cos(c), d = n - i * Math.sin(c);
1972
2145
  return e.ellipse(u, d, Math.abs(r), Math.abs(i), 0, c, l, o < 0), {
1973
2146
  x: u + r * Math.cos(l),
1974
2147
  y: d + i * Math.sin(l)
1975
2148
  };
1976
2149
  }
1977
- function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2150
+ function tt(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
1978
2151
  let u = n + i / 2, d = r + a / 2;
1979
2152
  switch (t.toLowerCase()) {
1980
2153
  case "ellipse":
@@ -2009,53 +2182,53 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2009
2182
  break;
2010
2183
  }
2011
2184
  case "pentagon":
2012
- Re(e, u, d, i / 2, a / 2, 5);
2185
+ $e(e, u, d, i / 2, a / 2, 5);
2013
2186
  break;
2014
2187
  case "hexagon":
2015
- Re(e, u, d, i / 2, a / 2, 6, 0);
2188
+ $e(e, u, d, i / 2, a / 2, 6, 0);
2016
2189
  break;
2017
2190
  case "heptagon":
2018
- Re(e, u, d, i / 2, a / 2, 7);
2191
+ $e(e, u, d, i / 2, a / 2, 7);
2019
2192
  break;
2020
2193
  case "octagon":
2021
- Re(e, u, d, i / 2, a / 2, 8, -Math.PI / 8);
2194
+ $e(e, u, d, i / 2, a / 2, 8, -Math.PI / 8);
2022
2195
  break;
2023
2196
  case "decagon":
2024
- Re(e, u, d, i / 2, a / 2, 10);
2197
+ $e(e, u, d, i / 2, a / 2, 10);
2025
2198
  break;
2026
2199
  case "dodecagon":
2027
- Re(e, u, d, i / 2, a / 2, 12);
2200
+ $e(e, u, d, i / 2, a / 2, 12);
2028
2201
  break;
2029
2202
  case "star4":
2030
- Y(e, u, d, i / 2, a / 2, 4, (o ?? 12500) / 5e4);
2203
+ Qe(e, u, d, i / 2, a / 2, 4, (o ?? 12500) / 5e4);
2031
2204
  break;
2032
2205
  case "star5":
2033
2206
  case "star":
2034
- Y(e, u, d, i / 2, a / 2, 5, (o ?? 19098) / 5e4);
2207
+ Qe(e, u, d, i / 2, a / 2, 5, (o ?? 19098) / 5e4);
2035
2208
  break;
2036
2209
  case "star6":
2037
- Y(e, u, d, i / 2, a / 2, 6, (o ?? 28868) / 5e4, 0);
2210
+ Qe(e, u, d, i / 2, a / 2, 6, (o ?? 28868) / 5e4, 0);
2038
2211
  break;
2039
2212
  case "star7":
2040
- Y(e, u, d, i / 2, a / 2, 7, (o ?? 34142) / 5e4);
2213
+ Qe(e, u, d, i / 2, a / 2, 7, (o ?? 34142) / 5e4);
2041
2214
  break;
2042
2215
  case "star8":
2043
- Y(e, u, d, i / 2, a / 2, 8, (o ?? 37500) / 5e4, -Math.PI / 2);
2216
+ Qe(e, u, d, i / 2, a / 2, 8, (o ?? 37500) / 5e4, -Math.PI / 2);
2044
2217
  break;
2045
2218
  case "star10":
2046
- Y(e, u, d, i / 2, a / 2, 10, (o ?? 41421) / 5e4);
2219
+ Qe(e, u, d, i / 2, a / 2, 10, (o ?? 41421) / 5e4);
2047
2220
  break;
2048
2221
  case "star12":
2049
- Y(e, u, d, i / 2, a / 2, 12, (o ?? 37500) / 5e4, 0);
2222
+ Qe(e, u, d, i / 2, a / 2, 12, (o ?? 37500) / 5e4, 0);
2050
2223
  break;
2051
2224
  case "star16":
2052
- Y(e, u, d, i / 2, a / 2, 16, (o ?? 37500) / 5e4, -Math.PI / 2);
2225
+ Qe(e, u, d, i / 2, a / 2, 16, (o ?? 37500) / 5e4, -Math.PI / 2);
2053
2226
  break;
2054
2227
  case "star24":
2055
- Y(e, u, d, i / 2, a / 2, 24, (o ?? 37500) / 5e4, 0);
2228
+ Qe(e, u, d, i / 2, a / 2, 24, (o ?? 37500) / 5e4, 0);
2056
2229
  break;
2057
2230
  case "star32":
2058
- Y(e, u, d, i / 2, a / 2, 32, (o ?? 37500) / 5e4, -Math.PI / 2);
2231
+ Qe(e, u, d, i / 2, a / 2, 32, (o ?? 37500) / 5e4, -Math.PI / 2);
2059
2232
  break;
2060
2233
  case "rightarrow": {
2061
2234
  let t = a * Math.min(1, (o ?? 5e4) / 1e5), c = i * Math.min(1, (s ?? 5e4) / 1e5), l = r + (a - t) / 2;
@@ -2621,26 +2794,26 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2621
2794
  }
2622
2795
  case "curvedrightarrow": {
2623
2796
  let t = Math.min(i, a), l = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = 1e5 * (Math.sqrt(Math.max(0, h)) * i / (2 * m)) / t, _ = t * Math.min(g, Math.max(0, c ?? 25e3)) / 1e5, v = Math.sqrt(Math.max(0, i * i - _ * _)) * m / i, y = m + f, b = m + v, x = y + v, S = (p - f) / 2, C = b - S, w = x + S, T = a - p / 2, E = i - _, D = Math.atan2(_, v), O = -D, k = Math.PI - D;
2624
- e.moveTo(n, r + m), X(e, n, r + m, i, m, Math.PI, O), e.lineTo(n + E, r + C), e.lineTo(n + i, r + T), e.lineTo(n + E, r + w), e.lineTo(n + E, r + x), X(e, n + E, r + x, i, m, k, D), e.closePath();
2797
+ e.moveTo(n, r + m), et(e, n, r + m, i, m, Math.PI, O), e.lineTo(n + E, r + C), e.lineTo(n + i, r + T), e.lineTo(n + E, r + w), e.lineTo(n + E, r + x), et(e, n + E, r + x, i, m, k, D), e.closePath();
2625
2798
  break;
2626
2799
  }
2627
2800
  case "curvedleftarrow": {
2628
2801
  let t = Math.min(i, a), l = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * i / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, i * i - v * v)) * m / i, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = a - p / 2, D = v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = A - O, M = O - A, N = -A;
2629
2802
  e.moveTo(n, r + E), e.lineTo(n + D, r + w), e.lineTo(n + D, r + x);
2630
- let P = X(e, n + D, r + x, i, m, O, j);
2631
- X(e, P.x, P.y, i, m, N, M), e.lineTo(n + D, r + T), e.closePath();
2803
+ let P = et(e, n + D, r + x, i, m, O, j);
2804
+ et(e, P.x, P.y, i, m, N, M), e.lineTo(n + D, r + T), e.closePath();
2632
2805
  break;
2633
2806
  }
2634
2807
  case "curveduparrow": {
2635
2808
  let t = Math.min(i, a), l = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, a * a - v * v)) * m / a, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = i - p / 2, D = v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = A - O, M = O - A, N = Math.PI / 2 - O, P = Math.PI / 2 - A;
2636
2809
  e.moveTo(n + E, r), e.lineTo(n + T, r + D), e.lineTo(n + S, r + D);
2637
- let F = X(e, n + S, r + D, m, a, N, M);
2638
- X(e, F.x, F.y, m, a, P, j), e.lineTo(n + w, r + D), e.closePath();
2810
+ let F = et(e, n + S, r + D, m, a, N, M);
2811
+ et(e, F.x, F.y, m, a, P, j), e.lineTo(n + w, r + D), e.closePath();
2639
2812
  break;
2640
2813
  }
2641
2814
  case "curveddownarrow": {
2642
2815
  let t = Math.min(i, a), l = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, a * a - v * v)) * m / a, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = i - p / 2, D = a - v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = 3 * Math.PI / 2 + O;
2643
- 3 * Math.PI / 2 - A, A - Math.PI / 2, Math.PI / 2 - A, e.moveTo(n + E, r + a), e.lineTo(n + w, r + D), e.lineTo(n + x, r + D), X(e, n + x, r + D, m, a, j, -O), e.lineTo(n + b, r), X(e, n + b, r, m, a, 3 * Math.PI / 2, O), e.lineTo(n + T, r + D), e.closePath();
2816
+ 3 * Math.PI / 2 - A, A - Math.PI / 2, Math.PI / 2 - A, e.moveTo(n + E, r + a), e.lineTo(n + w, r + D), e.lineTo(n + x, r + D), et(e, n + x, r + D, m, a, j, -O), e.lineTo(n + b, r), et(e, n + b, r, m, a, 3 * Math.PI / 2, O), e.lineTo(n + T, r + D), e.closePath();
2644
2817
  break;
2645
2818
  }
2646
2819
  case "stripedrightarrow": {
@@ -2709,9 +2882,9 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
2709
2882
  }
2710
2883
  //#endregion
2711
2884
  //#region packages/core/src/shape/arrow.ts
2712
- function Be(e, t, n, r, i, a, o) {
2885
+ function nt(e, t, n, r, i, a, o) {
2713
2886
  if (i.type === "none") return;
2714
- let s = Math.max(.5, a.width * o), c = i.w === "sm" ? 4 : i.w === "lg" ? 8 : 6, l = i.len === "sm" ? 4 : i.len === "lg" ? 8 : 6, u = s * c / 2, d = s * l, f = A(a.color);
2887
+ let s = Math.max(.5, a.width * o), c = i.w === "sm" ? 4 : i.w === "lg" ? 8 : 6, l = i.len === "sm" ? 4 : i.len === "lg" ? 8 : 6, u = s * c / 2, d = s * l, f = W(a.color);
2715
2888
  switch (e.save(), e.translate(t, n), e.rotate(r), e.fillStyle = f, e.strokeStyle = f, e.lineWidth = s, e.setLineDash([]), e.beginPath(), i.type) {
2716
2889
  case "triangle":
2717
2890
  case "stealth":
@@ -2731,21 +2904,21 @@ function Be(e, t, n, r, i, a, o) {
2731
2904
  }
2732
2905
  //#endregion
2733
2906
  //#region packages/core/src/image/svg-image-by-path.ts
2734
- var Ve = /* @__PURE__ */ new WeakMap(), He = 256;
2735
- function Ue(e) {
2736
- let t = Ve.get(e);
2907
+ var rt = /* @__PURE__ */ new WeakMap(), it = 256;
2908
+ function at(e) {
2909
+ let t = rt.get(e);
2737
2910
  return t || (t = {
2738
2911
  imgs: /* @__PURE__ */ new Map(),
2739
2912
  urls: /* @__PURE__ */ new Map()
2740
- }, Ve.set(e, t)), t;
2913
+ }, rt.set(e, t)), t;
2741
2914
  }
2742
- function We(e, t) {
2915
+ function ot(e, t) {
2743
2916
  e.imgs.delete(t);
2744
2917
  let n = e.urls.get(t);
2745
2918
  n && (URL.revokeObjectURL(n), e.urls.delete(t));
2746
2919
  }
2747
- function Ge(e, t) {
2748
- let n = Ue(t), r = n.imgs.get(e);
2920
+ function st(e, t) {
2921
+ let n = at(t), r = n.imgs.get(e);
2749
2922
  if (r) return n.imgs.delete(e), n.imgs.set(e, r), r;
2750
2923
  let i = (async () => {
2751
2924
  let r = await t(e, "image/svg+xml"), i = URL.createObjectURL(r);
@@ -2757,20 +2930,284 @@ function Ge(e, t) {
2757
2930
  }, a.onerror = () => n(/* @__PURE__ */ Error(`svg load failed: ${e}`)), a.src = i;
2758
2931
  }), a;
2759
2932
  })();
2760
- if (i.catch(() => We(n, e)), n.imgs.set(e, i), n.imgs.size > He) {
2933
+ if (i.catch(() => ot(n, e)), n.imgs.set(e, i), n.imgs.size > it) {
2761
2934
  let e = n.imgs.keys().next().value;
2762
- We(n, e);
2935
+ ot(n, e);
2763
2936
  }
2764
2937
  return i;
2765
2938
  }
2766
- function Ke(e) {
2767
- let t = Ve.get(e);
2939
+ function ct(e) {
2940
+ let t = rt.get(e);
2768
2941
  if (t) {
2769
2942
  for (let e of t.urls.values()) URL.revokeObjectURL(e);
2770
- t.urls.clear(), t.imgs.clear(), Ve.delete(e);
2943
+ t.urls.clear(), t.imgs.clear(), rt.delete(e);
2944
+ }
2945
+ }
2946
+ //#endregion
2947
+ //#region packages/core/src/image/wmf.ts
2948
+ var Q = {
2949
+ EOF: 0,
2950
+ SETPOLYFILLMODE: 262,
2951
+ SETWINDOWORG: 523,
2952
+ SETWINDOWEXT: 524,
2953
+ SELECTOBJECT: 301,
2954
+ DELETEOBJECT: 496,
2955
+ POLYGON: 804,
2956
+ POLYLINE: 805,
2957
+ POLYPOLYGON: 1336,
2958
+ RECTANGLE: 1051,
2959
+ CREATEPENINDIRECT: 762,
2960
+ CREATEBRUSHINDIRECT: 764
2961
+ }, lt = 2596720087, ut = 22, dt = 18, ft = 1179469088;
2962
+ function pt(e, t) {
2963
+ if (e.length < t + dt) return !1;
2964
+ let n = e[t] | e[t + 1] << 8, r = e[t + 2] | e[t + 3] << 8;
2965
+ return (n === 1 || n === 2) && r === 9;
2966
+ }
2967
+ function mt(e) {
2968
+ return e.length < 4 ? !1 : (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 === lt ? !0 : pt(e, 0);
2969
+ }
2970
+ function ht(e) {
2971
+ if (e.length < 44) return !1;
2972
+ let t = new DataView(e.buffer, e.byteOffset, e.byteLength);
2973
+ return t.getUint32(0, !0) === 1 && t.getUint32(40, !0) === ft;
2974
+ }
2975
+ function gt(e) {
2976
+ let t = e & 255, n = e >>> 8 & 255, r = e >>> 16 & 255, i = (e) => e.toString(16).padStart(2, "0");
2977
+ return `#${i(t)}${i(n)}${i(r)}`;
2978
+ }
2979
+ function _t(e, t) {
2980
+ for (let n = 0; n < e.length; n++) if (e[n] == null) {
2981
+ e[n] = t;
2982
+ return;
2983
+ }
2984
+ e.push(t);
2985
+ }
2986
+ var vt = class {
2987
+ p = 0;
2988
+ constructor(e, t, n) {
2989
+ this.b = e, this.end = n, this.p = t;
2990
+ }
2991
+ get remaining() {
2992
+ return this.end - this.p;
2993
+ }
2994
+ i16() {
2995
+ let e = this.u16();
2996
+ return e >= 32768 ? e - 65536 : e;
2997
+ }
2998
+ u16() {
2999
+ let e = this.b[this.p] | this.b[this.p + 1] << 8;
3000
+ return this.p += 2, e;
3001
+ }
3002
+ u32() {
3003
+ let e = (this.b[this.p] | this.b[this.p + 1] << 8 | this.b[this.p + 2] << 16 | this.b[this.p + 3] << 24) >>> 0;
3004
+ return this.p += 4, e;
3005
+ }
3006
+ };
3007
+ function yt(e, t) {
3008
+ return (t - e.orgX) * (e.W / e.extX);
3009
+ }
3010
+ function bt(e, t) {
3011
+ return (t - e.orgY) * (e.H / e.extY);
3012
+ }
3013
+ function xt(e, t) {
3014
+ let n = t * Math.abs(e.W / e.extX);
3015
+ return n >= 1 ? n : 1;
3016
+ }
3017
+ var St = .001;
3018
+ function Ct(e, t, n) {
3019
+ return Math.abs(e - t) <= St || Math.abs(e - n) <= St;
3020
+ }
3021
+ function wt(e, t, n) {
3022
+ let r = [], i = n ? t.length : t.length - 1;
3023
+ for (let n = 0; n < i; n++) {
3024
+ let i = t[n], a = t[(n + 1) % t.length], o = Math.abs(i[0] - a[0]) <= St && Ct(i[0], 0, e.W) && Ct(a[0], 0, e.W), s = Math.abs(i[1] - a[1]) <= St && Ct(i[1], 0, e.H) && Ct(a[1], 0, e.H);
3025
+ o || s || r.push([i, a]);
2771
3026
  }
3027
+ return r;
2772
3028
  }
2773
- var qe = {
3029
+ function Tt(e, t, n) {
3030
+ if (!e.curPen || e.curPen.stroke == null || t.length < 2) return;
3031
+ let { ctx: r } = e;
3032
+ if (r.strokeStyle = e.curPen.stroke, r.lineWidth = xt(e, e.curPen.width), !e.suppressBoundaryFrame) {
3033
+ r.beginPath(), r.moveTo(t[0][0], t[0][1]);
3034
+ for (let e = 1; e < t.length; e++) r.lineTo(t[e][0], t[e][1]);
3035
+ n && r.closePath(), r.stroke(), e.drew = !0;
3036
+ return;
3037
+ }
3038
+ let i = wt(e, t, n);
3039
+ if (i.length === 0) return;
3040
+ r.beginPath();
3041
+ let a = null;
3042
+ for (let [e, t] of i) (!a || a[0] !== e[0] || a[1] !== e[1]) && r.moveTo(e[0], e[1]), r.lineTo(t[0], t[1]), a = t;
3043
+ r.stroke(), e.drew = !0;
3044
+ }
3045
+ function Et(e, t, n) {
3046
+ let r = [];
3047
+ for (let i = 0; i < n && !(t.remaining < 4); i++) {
3048
+ let n = t.i16(), i = t.i16();
3049
+ r.push([yt(e, n), bt(e, i)]);
3050
+ }
3051
+ return r;
3052
+ }
3053
+ function Dt(e, t) {
3054
+ t.length < 2 || !e.curPen || e.curPen.stroke == null || Tt(e, t, !1);
3055
+ }
3056
+ function Ot(e, t) {
3057
+ if (t.length < 2) return;
3058
+ let { ctx: n } = e;
3059
+ if (e.curBrush && e.curBrush.fill != null) {
3060
+ n.beginPath(), n.moveTo(t[0][0], t[0][1]);
3061
+ for (let e = 1; e < t.length; e++) n.lineTo(t[e][0], t[e][1]);
3062
+ n.closePath(), n.fillStyle = e.curBrush.fill, n.fill(e.fillRule), e.drew = !0;
3063
+ }
3064
+ Tt(e, t, !0);
3065
+ }
3066
+ function kt(e, t) {
3067
+ let n = t.u16();
3068
+ if (n <= 0 || n > 65536) return;
3069
+ let r = [];
3070
+ for (let e = 0; e < n; e++) {
3071
+ if (t.remaining < 2) return;
3072
+ r.push(t.u16());
3073
+ }
3074
+ let { ctx: i } = e;
3075
+ i.beginPath();
3076
+ let a = !1;
3077
+ for (let n of r) {
3078
+ if (n < 2) {
3079
+ for (let e = 0; e < n && t.remaining >= 4; e++) t.i16(), t.i16();
3080
+ continue;
3081
+ }
3082
+ let r = Et(e, t, n);
3083
+ if (!(r.length < 2)) {
3084
+ i.moveTo(r[0][0], r[0][1]);
3085
+ for (let e = 1; e < r.length; e++) i.lineTo(r[e][0], r[e][1]);
3086
+ i.closePath(), a = !0;
3087
+ }
3088
+ }
3089
+ a && (e.curBrush && e.curBrush.fill != null && (i.fillStyle = e.curBrush.fill, i.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (i.strokeStyle = e.curPen.stroke, i.lineWidth = xt(e, e.curPen.width), i.stroke(), e.drew = !0));
3090
+ }
3091
+ function At(e) {
3092
+ let t = e.u16(), n = e.i16();
3093
+ e.i16();
3094
+ let r = e.u32();
3095
+ return {
3096
+ kind: "pen",
3097
+ stroke: (t & 255) == 5 ? null : gt(r),
3098
+ width: Math.abs(n)
3099
+ };
3100
+ }
3101
+ function jt(e) {
3102
+ let t = e.u16(), n = e.u32();
3103
+ return e.u16(), {
3104
+ kind: "brush",
3105
+ fill: t === 1 ? null : gt(n)
3106
+ };
3107
+ }
3108
+ function Mt(e, t, n, r, i = !1) {
3109
+ if (!mt(e)) return !1;
3110
+ let a = 0;
3111
+ (e.length >= 4 ? (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 : 0) === lt && (a = ut);
3112
+ let o = a + dt;
3113
+ if (o > e.length) return !1;
3114
+ let s = {
3115
+ ctx: t,
3116
+ W: n,
3117
+ H: r,
3118
+ orgX: 0,
3119
+ orgY: 0,
3120
+ extX: n || 1,
3121
+ extY: r || 1,
3122
+ haveExt: !1,
3123
+ objects: [],
3124
+ curPen: null,
3125
+ curBrush: null,
3126
+ fillRule: "nonzero",
3127
+ drew: !1,
3128
+ suppressBoundaryFrame: i
3129
+ }, c = new DataView(e.buffer, e.byteOffset, e.byteLength);
3130
+ for (; o + 6 <= e.length;) {
3131
+ let t = c.getUint32(o, !0), n = c.getUint16(o + 4, !0);
3132
+ if (t < 3) break;
3133
+ let r = t * 2, i = o + r;
3134
+ if (i > e.length || n === Q.EOF) break;
3135
+ let a = new vt(e, o + 6, i);
3136
+ switch (n) {
3137
+ case Q.SETWINDOWORG:
3138
+ s.orgY = a.i16(), s.orgX = a.i16();
3139
+ break;
3140
+ case Q.SETWINDOWEXT: {
3141
+ let e = a.i16(), t = a.i16();
3142
+ s.extY = e || 1, s.extX = t || 1, s.haveExt = !0;
3143
+ break;
3144
+ }
3145
+ case Q.SETPOLYFILLMODE:
3146
+ s.fillRule = a.u16() === 1 ? "evenodd" : "nonzero";
3147
+ break;
3148
+ case Q.CREATEPENINDIRECT:
3149
+ _t(s.objects, At(a));
3150
+ break;
3151
+ case Q.CREATEBRUSHINDIRECT:
3152
+ _t(s.objects, jt(a));
3153
+ break;
3154
+ case Q.SELECTOBJECT: {
3155
+ let e = a.u16(), t = s.objects[e];
3156
+ t?.kind === "pen" ? s.curPen = t : t?.kind === "brush" && (s.curBrush = t);
3157
+ break;
3158
+ }
3159
+ case Q.DELETEOBJECT: {
3160
+ let e = a.u16(), t = s.objects[e];
3161
+ t && (t === s.curPen && (s.curPen = null), t === s.curBrush && (s.curBrush = null), s.objects[e] = null);
3162
+ break;
3163
+ }
3164
+ case Q.POLYLINE:
3165
+ Dt(s, Et(s, a, a.i16()));
3166
+ break;
3167
+ case Q.POLYGON:
3168
+ Ot(s, Et(s, a, a.i16()));
3169
+ break;
3170
+ case Q.POLYPOLYGON:
3171
+ kt(s, a);
3172
+ break;
3173
+ case Q.RECTANGLE: {
3174
+ let e = a.i16(), t = a.i16(), n = a.i16(), r = a.i16();
3175
+ Ot(s, [
3176
+ [yt(s, r), bt(s, n)],
3177
+ [yt(s, t), bt(s, n)],
3178
+ [yt(s, t), bt(s, e)],
3179
+ [yt(s, r), bt(s, e)]
3180
+ ]);
3181
+ break;
3182
+ }
3183
+ default: break;
3184
+ }
3185
+ o = i;
3186
+ }
3187
+ return s.drew;
3188
+ }
3189
+ var Nt = 2e3, Pt = 2;
3190
+ function Ft(e, t) {
3191
+ let n = e > 0 ? e : 300, r = t > 0 ? t : 300, i = (e) => Math.max(1, Math.min(Nt, Math.round(e)));
3192
+ return {
3193
+ w: i(n * Pt),
3194
+ h: i(r * Pt)
3195
+ };
3196
+ }
3197
+ async function It(e, t, n, r = !1) {
3198
+ if (!mt(e) || t <= 0 || n <= 0) return null;
3199
+ let i = new OffscreenCanvas(t, n), a = i.getContext("2d");
3200
+ return !a || (a.lineJoin = "round", a.lineCap = "round", !Mt(e, a, t, n, r)) ? null : createImageBitmap(i);
3201
+ }
3202
+ async function Lt(e, t = {}) {
3203
+ let { widthPt: n = 0, heightPt: r = 0, suppressBoundaryFrame: i = !1 } = t, a = new Uint8Array(await e.arrayBuffer());
3204
+ if (mt(a)) {
3205
+ let { w: e, h: t } = Ft(n, r);
3206
+ return It(a, e, t, i);
3207
+ }
3208
+ return ht(a) ? null : createImageBitmap(e);
3209
+ }
3210
+ var Rt = {
2774
3211
  accentbordercallout1: {
2775
3212
  adj: [
2776
3213
  ["adj1", "val 18750"],
@@ -24633,8 +25070,8 @@ var qe = {
24633
25070
  ]
24634
25071
  }]
24635
25072
  }
24636
- }, Z = 216e5, Je = Math.PI * 2 / Z;
24637
- function Ye(e, t, n) {
25073
+ }, zt = 216e5, Bt = Math.PI * 2 / zt;
25074
+ function Vt(e, t, n) {
24638
25075
  let { w: r, h: i, adj: a } = e, o = Math.min(r, i), s = Math.max(r, i), c = Object.create(null);
24639
25076
  Object.assign(c, {
24640
25077
  w: r,
@@ -24679,14 +25116,14 @@ function Ye(e, t, n) {
24679
25116
  lsd8: s / 8,
24680
25117
  lsd16: s / 16,
24681
25118
  lsd32: s / 32,
24682
- cd: Z,
24683
- cd2: Z / 2,
24684
- cd4: Z / 4,
24685
- cd8: Z / 8,
24686
- "3cd4": 3 * Z / 4,
24687
- "3cd8": 3 * Z / 8,
24688
- "5cd8": 5 * Z / 8,
24689
- "7cd8": 7 * Z / 8
25119
+ cd: zt,
25120
+ cd2: zt / 2,
25121
+ cd4: zt / 4,
25122
+ cd8: zt / 8,
25123
+ "3cd4": 3 * zt / 4,
25124
+ "3cd8": 3 * zt / 8,
25125
+ "5cd8": 5 * zt / 8,
25126
+ "7cd8": 7 * zt / 8
24690
25127
  }), t.forEach(([e, t], n) => {
24691
25128
  let r = a[n];
24692
25129
  c[e] = typeof r == "number" ? r : u(t), e === "adj" && (c.adj1 = c.adj), e === "adj1" && (c.adj = c.adj1);
@@ -24723,10 +25160,10 @@ function Ye(e, t, n) {
24723
25160
  case "pin": return t[1] < t[0] ? t[0] : t[1] > t[2] ? t[2] : t[1];
24724
25161
  case "sqrt": return Math.sqrt(Math.max(0, t[0]));
24725
25162
  case "mod": return Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]);
24726
- case "sin": return t[0] * Math.sin(t[1] * Je);
24727
- case "cos": return t[0] * Math.cos(t[1] * Je);
24728
- case "tan": return t[0] * Math.tan(t[1] * Je);
24729
- case "at2": return Math.atan2(t[1], t[0]) / Je;
25163
+ case "sin": return t[0] * Math.sin(t[1] * Bt);
25164
+ case "cos": return t[0] * Math.cos(t[1] * Bt);
25165
+ case "tan": return t[0] * Math.tan(t[1] * Bt);
25166
+ case "at2": return Math.atan2(t[1], t[0]) / Bt;
24730
25167
  case "cat2": return t[0] * Math.cos(Math.atan2(t[2], t[1]));
24731
25168
  case "sat2": return t[0] * Math.sin(Math.atan2(t[2], t[1]));
24732
25169
  default: throw Error(`preset-shape: unknown operator "${e}" in "${n}"`);
@@ -24735,8 +25172,8 @@ function Ye(e, t, n) {
24735
25172
  }
24736
25173
  //#endregion
24737
25174
  //#region packages/core/src/shape/preset-geometry/path-executor.ts
24738
- var Xe = Math.PI * 2 / 216e5;
24739
- function Ze(e, t, n, r, i, a, o) {
25175
+ var Ht = Math.PI * 2 / 216e5;
25176
+ function Ut(e, t, n, r, i, a, o) {
24740
25177
  let s = t.w == null ? 1 : a / t.w, c = t.h == null ? 1 : o / t.h, l = (e) => r + e * s, u = (e) => i + e * c, d = 0, f = 0;
24741
25178
  for (let r of t.cmds) switch (r[0]) {
24742
25179
  case "m": {
@@ -24760,7 +25197,7 @@ function Ze(e, t, n, r, i, a, o) {
24760
25197
  break;
24761
25198
  }
24762
25199
  case "a": {
24763
- let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) * Xe, u = n.resolve(r[4]) * Xe, p = Math.PI * 2, m = (e) => Math.atan2(t * Math.sin(e), i * Math.cos(e)), h = m(l), g = Math.trunc(u / p), _ = u - g * p, v = m(l + _) - h;
25200
+ let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) * Ht, u = n.resolve(r[4]) * Ht, p = Math.PI * 2, m = (e) => Math.atan2(t * Math.sin(e), i * Math.cos(e)), h = m(l), g = Math.trunc(u / p), _ = u - g * p, v = m(l + _) - h;
24764
25201
  _ > 0 && v < 0 ? v += p : _ < 0 && v > 0 && (v -= p);
24765
25202
  let y = h + v + g * p, b = d - a * Math.cos(h), x = f - o * Math.sin(h);
24766
25203
  Math.abs(a) > 1e-6 && Math.abs(o) > 1e-6 && (e.ellipse(b, x, Math.abs(a), Math.abs(o), 0, h, y, u < 0), d = b + a * Math.cos(y), f = x + o * Math.sin(y));
@@ -24773,26 +25210,26 @@ function Ze(e, t, n, r, i, a, o) {
24773
25210
  }
24774
25211
  //#endregion
24775
25212
  //#region packages/core/src/shape/preset-geometry/index.ts
24776
- var Q = qe;
24777
- function Qe(e) {
24778
- return e.toLowerCase() in Q;
25213
+ var Wt = Rt;
25214
+ function Gt(e) {
25215
+ return e.toLowerCase() in Wt;
24779
25216
  }
24780
- function $e(e, t, n, r, i, a, o = []) {
24781
- let s = Q[t.toLowerCase()];
25217
+ function Kt(e, t, n, r, i, a, o = []) {
25218
+ let s = Wt[t.toLowerCase()];
24782
25219
  if (!s) return !1;
24783
- let c = Ye({
25220
+ let c = Vt({
24784
25221
  w: i,
24785
25222
  h: a,
24786
25223
  adj: o
24787
25224
  }, s.adj, s.gd);
24788
- for (let t of s.paths) Ze(e, t, c, n, r, i, a);
25225
+ for (let t of s.paths) Ut(e, t, c, n, r, i, a);
24789
25226
  return !0;
24790
25227
  }
24791
- var et = {
25228
+ var qt = {
24792
25229
  wedgeroundrectcallout: "roundrect",
24793
25230
  wedgeellipsecallout: "ellipse",
24794
25231
  wedgerectcallout: null
24795
- }, tt = {
25232
+ }, Jt = {
24796
25233
  adj: [],
24797
25234
  gd: [],
24798
25235
  paths: [{
@@ -24826,43 +25263,43 @@ var et = {
24826
25263
  ]
24827
25264
  }]
24828
25265
  };
24829
- function nt(e, t, n) {
25266
+ function Yt(e, t, n) {
24830
25267
  let r = e[n];
24831
25268
  if (typeof r == "number") return r;
24832
25269
  let i = t.adj[n];
24833
25270
  return i && Number(i[1].replace(/^val\s+/, "")) || 0;
24834
25271
  }
24835
- function rt(e, t, n, r, i, a, o, s, c, l) {
24836
- let u = t.toLowerCase(), d = Q[u];
25272
+ function Xt(e, t, n, r, i, a, o, s, c, l) {
25273
+ let u = t.toLowerCase(), d = Wt[u];
24837
25274
  if (!d) return !1;
24838
- if (u in et) {
24839
- let e = nt(o, d, 0), t = nt(o, d, 1), n = i / 2 + i * e / 1e5, r = a / 2 + a * t / 1e5;
25275
+ if (u in qt) {
25276
+ let e = Yt(o, d, 0), t = Yt(o, d, 1), n = i / 2 + i * e / 1e5, r = a / 2 + a * t / 1e5;
24840
25277
  if (n >= 0 && n <= i && r >= 0 && r <= a) {
24841
- let e = et[u];
24842
- e === "roundrect" ? (d = Q.roundrect, o = [nt(o, Q[u], 2)]) : e && Q[e] ? (d = Q[e], o = []) : (d = tt, o = []);
25278
+ let e = qt[u];
25279
+ e === "roundrect" ? (d = Wt.roundrect, o = [Yt(o, Wt[u], 2)]) : e && Wt[e] ? (d = Wt[e], o = []) : (d = Jt, o = []);
24843
25280
  }
24844
25281
  }
24845
- let f = Ye({
25282
+ let f = Vt({
24846
25283
  w: i,
24847
25284
  h: a,
24848
25285
  adj: o
24849
25286
  }, d.adj, d.gd), p = !1;
24850
25287
  for (let t of d.paths) {
24851
- e.beginPath(), Ze(e, t, f, n, r, i, a);
25288
+ e.beginPath(), Ut(e, t, f, n, r, i, a);
24852
25289
  let o = t.fill;
24853
25290
  if (o !== "none" && s != null) {
24854
25291
  e.save(), e.fillStyle = s, e.fill();
24855
- let t = at(o);
25292
+ let t = Qt(o);
24856
25293
  t && (e.fillStyle = t, e.fill()), e.restore(), p ||= (l(), !0);
24857
25294
  }
24858
25295
  t.stroke && c && c();
24859
25296
  }
24860
25297
  return !0;
24861
25298
  }
24862
- function it(e, t, n, r, i, a) {
24863
- let o = Q[e.toLowerCase()];
25299
+ function Zt(e, t, n, r, i, a) {
25300
+ let o = Wt[e.toLowerCase()];
24864
25301
  if (!o || o.paths.length === 0) return null;
24865
- let s = o.paths[0], c = Ye({
25302
+ let s = o.paths[0], c = Vt({
24866
25303
  w: r,
24867
25304
  h: i,
24868
25305
  adj: a
@@ -24896,7 +25333,7 @@ function it(e, t, n, r, i, a) {
24896
25333
  }
24897
25334
  };
24898
25335
  }
24899
- function at(e) {
25336
+ function Qt(e) {
24900
25337
  switch (e) {
24901
25338
  case "lighten": return "rgba(255,255,255,0.30)";
24902
25339
  case "lightenLess": return "rgba(255,255,255,0.15)";
@@ -24907,10 +25344,10 @@ function at(e) {
24907
25344
  }
24908
25345
  //#endregion
24909
25346
  //#region packages/core/src/shape/effects.ts
24910
- function ot(e, t) {
25347
+ function $t(e, t) {
24911
25348
  return e * t;
24912
25349
  }
24913
- function st(e, t) {
25350
+ function en(e, t) {
24914
25351
  let n = Math.max(1, Math.ceil(e)), r = Math.max(1, Math.ceil(t));
24915
25352
  if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(n, r);
24916
25353
  if (typeof document < "u") {
@@ -24919,60 +25356,60 @@ function st(e, t) {
24919
25356
  }
24920
25357
  return null;
24921
25358
  }
24922
- function ct(e) {
25359
+ function tn(e) {
24923
25360
  return e.getContext("2d") ?? null;
24924
25361
  }
24925
- function lt(e, t, n, r, i, a, o) {
24926
- let s = st(a, o);
25362
+ function nn(e, t, n, r, i, a, o) {
25363
+ let s = en(a, o);
24927
25364
  if (!s) return;
24928
- let c = ct(s);
25365
+ let c = tn(s);
24929
25366
  if (!c) return;
24930
- let l = ot(r.blur, i), u = ot(r.dist, i), d = r.dir * Math.PI / 180, f = Math.cos(d) * u, p = Math.sin(d) * u;
24931
- c.save(), c.fillStyle = A(r.color, r.alpha), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-out", c.filter = l > 0 ? `blur(${l}px)` : "none", c.translate(f, p), c.fillStyle = "#000", t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in", c.filter = "none", c.fillStyle = "#000", t(c), c.restore(), e.save(), e.drawImage(s, 0, 0), e.restore();
25367
+ let l = $t(r.blur, i), u = $t(r.dist, i), d = r.dir * Math.PI / 180, f = Math.cos(d) * u, p = Math.sin(d) * u;
25368
+ c.save(), c.fillStyle = W(r.color, r.alpha), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-out", c.filter = l > 0 ? `blur(${l}px)` : "none", c.translate(f, p), c.fillStyle = "#000", t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in", c.filter = "none", c.fillStyle = "#000", t(c), c.restore(), e.save(), e.drawImage(s, 0, 0), e.restore();
24932
25369
  }
24933
- function ut(e, t, n, r, i, a, o, s) {
24934
- let c = ot(r.radius, i);
25370
+ function rn(e, t, n, r, i, a, o, s) {
25371
+ let c = $t(r.radius, i);
24935
25372
  if (c <= 0) {
24936
25373
  t(e);
24937
25374
  return;
24938
25375
  }
24939
- let l = st(a, o);
25376
+ let l = en(a, o);
24940
25377
  if (!l) {
24941
25378
  t(e);
24942
25379
  return;
24943
25380
  }
24944
- let u = ct(l);
25381
+ let u = tn(l);
24945
25382
  if (!u) {
24946
25383
  t(e);
24947
25384
  return;
24948
25385
  }
24949
25386
  let d = s ?? t;
24950
25387
  t(u);
24951
- let f = st(a, o), p = st(a, o), m = f ? ct(f) : null, h = p ? ct(p) : null;
25388
+ let f = en(a, o), p = en(a, o), m = f ? tn(f) : null, h = p ? tn(p) : null;
24952
25389
  if (f && m && p && h) {
24953
25390
  m.fillStyle = "#000", d(m), h.drawImage(l, n.x, n.y, n.w, n.h, n.x - c, n.y - c, n.w + c * 2, n.h + c * 2), h.drawImage(l, 0, 0), h.globalCompositeOperation = "destination-in", h.filter = `blur(${c / 3}px)`, h.drawImage(f, 0, 0), h.filter = "none", h.globalCompositeOperation = "source-over", e.save(), e.drawImage(p, 0, 0), e.restore();
24954
25391
  return;
24955
25392
  }
24956
25393
  e.save(), e.drawImage(l, 0, 0), e.restore();
24957
25394
  }
24958
- function dt(e, t, n, r, i, a, o) {
24959
- let s = st(a, o);
25395
+ function an(e, t, n, r, i, a, o) {
25396
+ let s = en(a, o);
24960
25397
  if (!s) return;
24961
- let c = ct(s);
25398
+ let c = tn(s);
24962
25399
  if (!c) return;
24963
- let l = ot(r.blur, i);
25400
+ let l = $t(r.blur, i);
24964
25401
  c.save(), l > 0 && (c.filter = `blur(${l}px)`), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in";
24965
- let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p = ft(r.stPos), m = ft(r.endPos);
25402
+ let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p = on(r.stPos), m = on(r.endPos);
24966
25403
  f.addColorStop(0, `rgba(0,0,0,${r.stA})`), p > 0 && f.addColorStop(p, `rgba(0,0,0,${r.stA})`), m < 1 && m > p && f.addColorStop(m, `rgba(0,0,0,${r.endA})`), f.addColorStop(1, `rgba(0,0,0,${r.endA})`), c.fillStyle = f, c.fillRect(0, 0, a, o), c.restore();
24967
- let h = ot(r.dist, i), g = r.dir * Math.PI / 180, _ = Math.cos(g) * h, v = Math.sin(g) * h;
25404
+ let h = $t(r.dist, i), g = r.dir * Math.PI / 180, _ = Math.cos(g) * h, v = Math.sin(g) * h;
24968
25405
  e.save(), e.translate(n.x + _, d + v), e.scale(r.sx, r.sy), e.translate(-n.x, -d), e.drawImage(s, 0, 0), e.restore();
24969
25406
  }
24970
- function ft(e) {
25407
+ function on(e) {
24971
25408
  return e < 0 ? 0 : e > 1 ? 1 : e;
24972
25409
  }
24973
25410
  //#endregion
24974
25411
  //#region packages/core/src/shape/scene3d-camera.ts
24975
- var pt = 26, mt = {
25412
+ var sn = 26, cn = {
24976
25413
  orthographicFront: {
24977
25414
  kind: "orthographic",
24978
25415
  baseLat: 0,
@@ -24985,52 +25422,52 @@ var pt = 26, mt = {
24985
25422
  baseLat: 0,
24986
25423
  baseLon: 0,
24987
25424
  baseRev: 0,
24988
- fovDeg: pt
25425
+ fovDeg: sn
24989
25426
  },
24990
25427
  perspectiveRelaxed: {
24991
25428
  kind: "perspective",
24992
25429
  baseLat: 0,
24993
25430
  baseLon: 0,
24994
25431
  baseRev: 0,
24995
- fovDeg: pt
25432
+ fovDeg: sn
24996
25433
  },
24997
25434
  perspectiveRelaxedModerately: {
24998
25435
  kind: "perspective",
24999
25436
  baseLat: 0,
25000
25437
  baseLon: 0,
25001
25438
  baseRev: 0,
25002
- fovDeg: pt
25439
+ fovDeg: sn
25003
25440
  },
25004
25441
  perspectiveAbove: {
25005
25442
  kind: "perspective",
25006
25443
  baseLat: -20,
25007
25444
  baseLon: 0,
25008
25445
  baseRev: 0,
25009
- fovDeg: pt
25446
+ fovDeg: sn
25010
25447
  },
25011
25448
  perspectiveBelow: {
25012
25449
  kind: "perspective",
25013
25450
  baseLat: 20,
25014
25451
  baseLon: 0,
25015
25452
  baseRev: 0,
25016
- fovDeg: pt
25453
+ fovDeg: sn
25017
25454
  },
25018
25455
  perspectiveLeft: {
25019
25456
  kind: "perspective",
25020
25457
  baseLat: 0,
25021
25458
  baseLon: -20,
25022
25459
  baseRev: 0,
25023
- fovDeg: pt
25460
+ fovDeg: sn
25024
25461
  },
25025
25462
  perspectiveRight: {
25026
25463
  kind: "perspective",
25027
25464
  baseLat: 0,
25028
25465
  baseLon: 20,
25029
25466
  baseRev: 0,
25030
- fovDeg: pt
25467
+ fovDeg: sn
25031
25468
  }
25032
25469
  };
25033
- function ht(e, t) {
25470
+ function ln(e, t) {
25034
25471
  let n = Array(9).fill(0);
25035
25472
  for (let r = 0; r < 3; r++) for (let i = 0; i < 3; i++) {
25036
25473
  let a = 0;
@@ -25039,7 +25476,7 @@ function ht(e, t) {
25039
25476
  }
25040
25477
  return n;
25041
25478
  }
25042
- function gt(e) {
25479
+ function un(e) {
25043
25480
  let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
25044
25481
  return [
25045
25482
  1,
@@ -25053,7 +25490,7 @@ function gt(e) {
25053
25490
  n
25054
25491
  ];
25055
25492
  }
25056
- function _t(e) {
25493
+ function dn(e) {
25057
25494
  let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
25058
25495
  return [
25059
25496
  n,
@@ -25067,7 +25504,7 @@ function _t(e) {
25067
25504
  n
25068
25505
  ];
25069
25506
  }
25070
- function vt(e) {
25507
+ function fn(e) {
25071
25508
  let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
25072
25509
  return [
25073
25510
  n,
@@ -25081,22 +25518,22 @@ function vt(e) {
25081
25518
  1
25082
25519
  ];
25083
25520
  }
25084
- function yt(e, t, n, r) {
25521
+ function pn(e, t, n, r) {
25085
25522
  return [
25086
25523
  e[0] * t + e[1] * n + e[2] * r,
25087
25524
  e[3] * t + e[4] * n + e[5] * r,
25088
25525
  e[6] * t + e[7] * n + e[8] * r
25089
25526
  ];
25090
25527
  }
25091
- function bt(e, t) {
25528
+ function mn(e, t) {
25092
25529
  let n = t ? t.lat : e.baseLat, r = t ? t.lon : e.baseLon;
25093
- return ht(vt(-(t ? t.rev : e.baseRev)), ht(gt(-n), _t(-r)));
25530
+ return ln(fn(-(t ? t.rev : e.baseRev)), ln(un(-n), dn(-r)));
25094
25531
  }
25095
- function xt(e) {
25096
- return mt[e] ?? mt.orthographicFront;
25532
+ function hn(e) {
25533
+ return cn[e] ?? cn.orthographicFront;
25097
25534
  }
25098
- function St(e, t, n) {
25099
- let r = xt(e.prst), i = bt(r, e.rot);
25535
+ function gn(e, t, n) {
25536
+ let r = hn(e.prst), i = mn(r, e.rot);
25100
25537
  if (t <= 0 || n <= 0) return {
25101
25538
  corners: [
25102
25539
  {
@@ -25128,11 +25565,11 @@ function St(e, t, n) {
25128
25565
  if (r.kind === "perspective") {
25129
25566
  let t = e.fov ?? r.fovDeg, n = Math.max(1, Math.min(179, t)) * Math.PI / 180, a = l / Math.tan(n / 2);
25130
25567
  u = s.map(([e, t]) => {
25131
- let [n, r, o] = yt(i, e, t, 0), s = a - o, c = a / (Math.abs(s) < 1e-6 ? 1e-6 * Math.sign(s || 1) : s);
25568
+ let [n, r, o] = pn(i, e, t, 0), s = a - o, c = a / (Math.abs(s) < 1e-6 ? 1e-6 * Math.sign(s || 1) : s);
25132
25569
  return [n * c, r * c];
25133
25570
  });
25134
25571
  } else u = s.map(([e, t]) => {
25135
- let [n, r] = yt(i, e, t, 0);
25572
+ let [n, r] = pn(i, e, t, 0);
25136
25573
  return [n, r];
25137
25574
  });
25138
25575
  u = u.map(([e, t]) => [e * c, t * c]);
@@ -25157,18 +25594,18 @@ function St(e, t, n) {
25157
25594
  isIdentity: E
25158
25595
  };
25159
25596
  }
25160
- function Ct(e) {
25161
- let { isIdentity: t } = St(e, 1e3, 1e3);
25597
+ function _n(e) {
25598
+ let { isIdentity: t } = gn(e, 1e3, 1e3);
25162
25599
  return !t;
25163
25600
  }
25164
- function wt(e, t, n, r) {
25165
- let i = xt(e.prst), a = bt(i, e.rot);
25601
+ function vn(e, t, n, r) {
25602
+ let i = hn(e.prst), a = mn(i, e.rot);
25166
25603
  if (t <= 0 || n <= 0 || r === 0) return {
25167
25604
  x: 0,
25168
25605
  y: 0
25169
25606
  };
25170
25607
  let o = t / 2, s = n / 2, c = Math.max(o, s), l = e.zoom ?? 1, u = (t) => {
25171
- let [n, r, o] = yt(a, 0, 0, t);
25608
+ let [n, r, o] = pn(a, 0, 0, t);
25172
25609
  if (i.kind === "perspective") {
25173
25610
  let t = e.fov ?? i.fovDeg, a = Math.max(1, Math.min(179, t)) * Math.PI / 180, s = c / Math.tan(a / 2), u = s - o, d = s / (Math.abs(u) < 1e-6 ? 1e-6 * Math.sign(u || 1) : u);
25174
25611
  return [n * d * l, r * d * l];
@@ -25182,7 +25619,7 @@ function wt(e, t, n, r) {
25182
25619
  }
25183
25620
  //#endregion
25184
25621
  //#region packages/core/src/shape/scene3d-draw.ts
25185
- function Tt(e, t, n, r) {
25622
+ function yn(e, t, n, r) {
25186
25623
  let i = e.x, a = e.y, o = t.x, s = t.y, c = n.x, l = n.y, u = r.x, d = r.y, f = o - c, p = u - c, m = i - o + c - u, h = s - l, g = d - l, _ = a - s + l - d, v, y;
25187
25624
  if (Math.abs(m) < 1e-12 && Math.abs(_) < 1e-12) v = 0, y = 0;
25188
25625
  else {
@@ -25202,15 +25639,15 @@ function Tt(e, t, n, r) {
25202
25639
  1
25203
25640
  ];
25204
25641
  }
25205
- function Et(e, t, n) {
25642
+ function bn(e, t, n) {
25206
25643
  let r = e[6] * t + e[7] * n + e[8];
25207
25644
  return {
25208
25645
  x: (e[0] * t + e[1] * n + e[2]) / r,
25209
25646
  y: (e[3] * t + e[4] * n + e[5]) / r
25210
25647
  };
25211
25648
  }
25212
- var Dt = 1;
25213
- function Ot(e, t) {
25649
+ var xn = 1;
25650
+ function Sn(e, t) {
25214
25651
  let [n, r, i, a, o, s] = e, [c, l, u, d, f, p] = t;
25215
25652
  return [
25216
25653
  n * c + i * l,
@@ -25221,13 +25658,13 @@ function Ot(e, t) {
25221
25658
  r * f + a * p + s
25222
25659
  ];
25223
25660
  }
25224
- function kt(e, t, n, r, i, a, o, s, c, l, u, d, f) {
25661
+ function Cn(e, t, n, r, i, a, o, s, c, l, u, d, f) {
25225
25662
  let p = c - o, m = l - s;
25226
25663
  if (p <= 0 || m <= 0) return;
25227
- let h = (d.x - u.x) / p, g = (d.y - u.y) / p, _ = (f.x - u.x) / m, v = (f.y - u.y) / m, y = (Math.hypot(d.x - u.x, d.y - u.y) || 1) * a, b = (Math.hypot(f.x - u.x, f.y - u.y) || 1) * a, x = Dt * p / y, S = Dt * m / b, C = Math.max(0, o - x), w = Math.max(0, s - S), T = Math.min(n, c + x), E = Math.min(r, l + S), D = T - C, O = E - w;
25664
+ let h = (d.x - u.x) / p, g = (d.y - u.y) / p, _ = (f.x - u.x) / m, v = (f.y - u.y) / m, y = (Math.hypot(d.x - u.x, d.y - u.y) || 1) * a, b = (Math.hypot(f.x - u.x, f.y - u.y) || 1) * a, x = xn * p / y, S = xn * m / b, C = Math.max(0, o - x), w = Math.max(0, s - S), T = Math.min(n, c + x), E = Math.min(r, l + S), D = T - C, O = E - w;
25228
25665
  if (D <= 0 || O <= 0) return;
25229
25666
  e.save();
25230
- let [k, A, j, M, N, P] = Ot(i, [
25667
+ let [k, A, j, M, N, P] = Sn(i, [
25231
25668
  h,
25232
25669
  g,
25233
25670
  _,
@@ -25237,22 +25674,22 @@ function kt(e, t, n, r, i, a, o, s, c, l, u, d, f) {
25237
25674
  ]);
25238
25675
  e.setTransform(k, A, j, M, N, P), e.drawImage(t, C, w, D, O, C, w, D, O), e.restore();
25239
25676
  }
25240
- function At(e, t, n, r, i, a, o, s, c, l, u, d, f) {
25241
- let p = Et(o, s, c), m = Et(o, l, c), h = Et(o, s, u), g = Et(o, l, u), _ = (s + l) / 2, v = (c + u) / 2, y = Et(o, _, v), b = {
25677
+ function wn(e, t, n, r, i, a, o, s, c, l, u, d, f) {
25678
+ let p = bn(o, s, c), m = bn(o, l, c), h = bn(o, s, u), g = bn(o, l, u), _ = (s + l) / 2, v = (c + u) / 2, y = bn(o, _, v), b = {
25242
25679
  x: (p.x + m.x + h.x + g.x) / 4,
25243
25680
  y: (p.y + m.y + h.y + g.y) / 4
25244
- }, x = Mt(i), S = Math.hypot(y.x - b.x, y.y - b.y) * x;
25681
+ }, x = En(i), S = Math.hypot(y.x - b.x, y.y - b.y) * x;
25245
25682
  if (f <= 0 || S <= d) {
25246
- kt(e, t, n, r, i, a, s * n, c * r, l * n, u * r, p, m, h);
25683
+ Cn(e, t, n, r, i, a, s * n, c * r, l * n, u * r, p, m, h);
25247
25684
  return;
25248
25685
  }
25249
- l - s >= u - c ? (At(e, t, n, r, i, a, o, s, c, _, u, d, f - 1), At(e, t, n, r, i, a, o, _, c, l, u, d, f - 1)) : (At(e, t, n, r, i, a, o, s, c, l, v, d, f - 1), At(e, t, n, r, i, a, o, s, v, l, u, d, f - 1));
25686
+ l - s >= u - c ? (wn(e, t, n, r, i, a, o, s, c, _, u, d, f - 1), wn(e, t, n, r, i, a, o, _, c, l, u, d, f - 1)) : (wn(e, t, n, r, i, a, o, s, c, l, v, d, f - 1), wn(e, t, n, r, i, a, o, s, v, l, u, d, f - 1));
25250
25687
  }
25251
- function jt(e, t, n, r, i, a = .5) {
25688
+ function Tn(e, t, n, r, i, a = .5) {
25252
25689
  if (n <= 0 || r <= 0) return;
25253
25690
  let [o, s, c, l] = i;
25254
25691
  if (Math.abs(o.x * s.y - s.x * o.y + s.x * c.y - c.x * s.y + c.x * l.y - l.x * c.y + l.x * o.y - o.x * l.y) / 2 < 1e-6) return;
25255
- let u = Tt(i[0], i[1], i[2], i[3]);
25692
+ let u = yn(i[0], i[1], i[2], i[3]);
25256
25693
  if (!u) return;
25257
25694
  let d = t.getTransform(), f = [
25258
25695
  d.a,
@@ -25261,14 +25698,14 @@ function jt(e, t, n, r, i, a = .5) {
25261
25698
  d.d,
25262
25699
  d.e,
25263
25700
  d.f
25264
- ], p = Mt(f);
25265
- Lt(e, t, n, r, i, f, p, u, a, 14) || (Ft(), t.save(), t.beginPath(), t.moveTo(i[0].x, i[0].y), t.lineTo(i[1].x, i[1].y), t.lineTo(i[2].x, i[2].y), t.lineTo(i[3].x, i[3].y), t.closePath(), t.clip(), At(t, e, n, r, f, p, u, 0, 0, 1, 1, a, 14), t.restore());
25701
+ ], p = En(f);
25702
+ jn(e, t, n, r, i, f, p, u, a, 14) || (kn(), t.save(), t.beginPath(), t.moveTo(i[0].x, i[0].y), t.lineTo(i[1].x, i[1].y), t.lineTo(i[2].x, i[2].y), t.lineTo(i[3].x, i[3].y), t.closePath(), t.clip(), wn(t, e, n, r, f, p, u, 0, 0, 1, 1, a, 14), t.restore());
25266
25703
  }
25267
- function Mt(e) {
25704
+ function En(e) {
25268
25705
  return Math.sqrt(Math.abs(e[0] * e[3] - e[1] * e[2])) || 1;
25269
25706
  }
25270
- function Nt(e, t, n) {
25271
- let r = Tt(e[0], e[1], e[2], e[3]);
25707
+ function Dn(e, t, n) {
25708
+ let r = yn(e[0], e[1], e[2], e[3]);
25272
25709
  if (!r) return null;
25273
25710
  let i = [
25274
25711
  [-t, -n],
@@ -25278,16 +25715,16 @@ function Nt(e, t, n) {
25278
25715
  ], a = [];
25279
25716
  for (let [e, t] of i) {
25280
25717
  if (!(r[6] * e + r[7] * t + r[8] > 1e-9)) return null;
25281
- a.push(Et(r, e, t));
25718
+ a.push(bn(r, e, t));
25282
25719
  }
25283
25720
  return a;
25284
25721
  }
25285
- var Pt = !1;
25286
- function Ft() {
25287
- Pt || (Pt = !0, typeof console < "u" && typeof console.warn == "function" && console.warn("[ooxml] scene3d: no offscreen canvas available — using the direct warp fallback (per-cell bleed only, no supersample). Textured-source seams may be faintly visible; the silhouette and geometry are unaffected."));
25722
+ var On = !1;
25723
+ function kn() {
25724
+ On || (On = !0, typeof console < "u" && typeof console.warn == "function" && console.warn("[ooxml] scene3d: no offscreen canvas available — using the direct warp fallback (per-cell bleed only, no supersample). Textured-source seams may be faintly visible; the silhouette and geometry are unaffected."));
25288
25725
  }
25289
- var It = 2;
25290
- function Lt(e, t, n, r, i, a, o, s, c, l) {
25726
+ var An = 2;
25727
+ function jn(e, t, n, r, i, a, o, s, c, l) {
25291
25728
  let u = i.map((e) => ({
25292
25729
  x: a[0] * e.x + a[2] * e.y + a[4],
25293
25730
  y: a[1] * e.x + a[3] * e.y + a[5]
@@ -25296,11 +25733,11 @@ function Lt(e, t, n, r, i, a, o, s, c, l) {
25296
25733
  d = Math.floor(d) - 1, f = Math.floor(f) - 1, p = Math.ceil(p) + 1, m = Math.ceil(m) + 1;
25297
25734
  let h = p - d, g = m - f;
25298
25735
  if (h <= 0 || g <= 0) return !1;
25299
- let _ = Math.max(1, Math.ceil(h * It)), v = Math.max(1, Math.ceil(g * It)), y = st(_, v);
25736
+ let _ = Math.max(1, Math.ceil(h * An)), v = Math.max(1, Math.ceil(g * An)), y = en(_, v);
25300
25737
  if (!y || y.width !== _ || y.height !== v) return !1;
25301
25738
  let b = y.getContext("2d") ?? null;
25302
25739
  if (!b) return !1;
25303
- let x = It, S = [
25740
+ let x = An, S = [
25304
25741
  a[0] * x,
25305
25742
  a[1] * x,
25306
25743
  a[2] * x,
@@ -25308,18 +25745,18 @@ function Lt(e, t, n, r, i, a, o, s, c, l) {
25308
25745
  (a[4] - d) * x,
25309
25746
  (a[5] - f) * x
25310
25747
  ];
25311
- b.save(), b.setTransform(S[0], S[1], S[2], S[3], S[4], S[5]), b.beginPath(), b.moveTo(i[0].x, i[0].y), b.lineTo(i[1].x, i[1].y), b.lineTo(i[2].x, i[2].y), b.lineTo(i[3].x, i[3].y), b.closePath(), b.clip(), At(b, e, n, r, S, o, s, 0, 0, 1, 1, c * x, l), b.restore(), t.save(), t.setTransform(1, 0, 0, 1, 0, 0);
25748
+ b.save(), b.setTransform(S[0], S[1], S[2], S[3], S[4], S[5]), b.beginPath(), b.moveTo(i[0].x, i[0].y), b.lineTo(i[1].x, i[1].y), b.lineTo(i[2].x, i[2].y), b.lineTo(i[3].x, i[3].y), b.closePath(), b.clip(), wn(b, e, n, r, S, o, s, 0, 0, 1, 1, c * x, l), b.restore(), t.save(), t.setTransform(1, 0, 0, 1, 0, 0);
25312
25749
  let C = t.imageSmoothingEnabled, w = t.imageSmoothingQuality;
25313
25750
  return t.imageSmoothingEnabled = !0, t.imageSmoothingQuality = "high", t.drawImage(y, 0, 0, h * x, g * x, d, f, h, g), t.imageSmoothingEnabled = C, t.imageSmoothingQuality = w, t.restore(), !0;
25314
25751
  }
25315
25752
  //#endregion
25316
25753
  //#region packages/core/src/shape/bevel-shading.ts
25317
- function Rt(e, t) {
25754
+ function Mn(e, t) {
25318
25755
  if (t <= 0) return () => 1;
25319
25756
  let n = (e) => Math.max(0, Math.min(1, e / t));
25320
25757
  switch (e) {
25321
25758
  case "hardEdge": {
25322
- let e = Kt;
25759
+ let e = Bn;
25323
25760
  return (t) => {
25324
25761
  let r = Math.min(1, n(t) / e);
25325
25762
  return r * r * (3 - 2 * r);
@@ -25339,7 +25776,7 @@ function Rt(e, t) {
25339
25776
  };
25340
25777
  }
25341
25778
  }
25342
- function zt(e) {
25779
+ function Nn(e) {
25343
25780
  let t = e.length, n = new Float64Array(t);
25344
25781
  if (t === 0) return n;
25345
25782
  let r = new Int32Array(t), i = new Float64Array(t + 1), a = 0;
@@ -25357,7 +25794,7 @@ function zt(e) {
25357
25794
  }
25358
25795
  return n;
25359
25796
  }
25360
- function Bt(e, t = 3) {
25797
+ function Pn(e, t = 3) {
25361
25798
  if (e <= 0) return Array(t).fill(1);
25362
25799
  let n = Math.sqrt(12 * e * e / t + 1), r = Math.floor(n);
25363
25800
  r % 2 == 0 && r--;
@@ -25365,7 +25802,7 @@ function Bt(e, t = 3) {
25365
25802
  for (let e = 0; e < t; e++) s.push(e < o ? r : i);
25366
25803
  return s;
25367
25804
  }
25368
- function Vt(e, t, n, r, i, a) {
25805
+ function Fn(e, t, n, r, i, a) {
25369
25806
  let o = 1 / (2 * i + 1);
25370
25807
  if (a) for (let a = 0; a < r; a++) {
25371
25808
  let r = a * n, s = 0;
@@ -25386,29 +25823,29 @@ function Vt(e, t, n, r, i, a) {
25386
25823
  }
25387
25824
  }
25388
25825
  }
25389
- function Ht(e, t, n, r) {
25826
+ function In(e, t, n, r) {
25390
25827
  let i = Float64Array.from(e);
25391
25828
  if (r <= 0 || t <= 0 || n <= 0) return i;
25392
25829
  let a = new Float64Array(t * n);
25393
- for (let e of Bt(r, 3)) {
25830
+ for (let e of Pn(r, 3)) {
25394
25831
  let r = Math.max(1, (e - 1) / 2);
25395
- Vt(i, a, t, n, r, !0), Vt(a, i, t, n, r, !1);
25832
+ Fn(i, a, t, n, r, !0), Fn(a, i, t, n, r, !1);
25396
25833
  }
25397
25834
  return i;
25398
25835
  }
25399
- function Ut(e, t, n, r = 128) {
25836
+ function Ln(e, t, n, r = 128) {
25400
25837
  let i = new Float64Array(t * n);
25401
25838
  for (let a = 0; a < t * n; a++) i[a] = (e[a] ?? 0) >= r ? 0x56bc75e2d63100000 : 0;
25402
25839
  let a = new Float64Array(n);
25403
25840
  for (let e = 0; e < t; e++) {
25404
25841
  for (let r = 0; r < n; r++) a[r] = i[r * t + e];
25405
- let r = zt(a);
25842
+ let r = Nn(a);
25406
25843
  for (let a = 0; a < n; a++) i[a * t + e] = r[a];
25407
25844
  }
25408
25845
  let o = new Float64Array(t);
25409
25846
  for (let e = 0; e < n; e++) {
25410
25847
  for (let n = 0; n < t; n++) o[n] = i[e * t + n];
25411
- let n = zt(o);
25848
+ let n = Nn(o);
25412
25849
  for (let r = 0; r < t; r++) i[e * t + r] = n[r];
25413
25850
  }
25414
25851
  for (let e = 0; e < n; e++) for (let r = 0; r < t; r++) {
@@ -25420,15 +25857,15 @@ function Ut(e, t, n, r = 128) {
25420
25857
  for (let e = 0; e < t * n; e++) i[e] = Math.sqrt(i[e]);
25421
25858
  return i;
25422
25859
  }
25423
- var Wt = .25, Gt = .35, Kt = .5;
25424
- function qt(e, t, n, r, i, a) {
25860
+ var Rn = .25, zn = .35, Bn = .5;
25861
+ function Vn(e, t, n, r, i, a) {
25425
25862
  let o = new Float32Array(t * n * 3), s = new Uint8Array(t * n), c = new Float32Array(t * n);
25426
25863
  if (t <= 0 || n <= 0) return {
25427
25864
  normals: o,
25428
25865
  bandMask: s,
25429
25866
  bandWeight: c
25430
25867
  };
25431
- let l = Ut(e, t, n), u = Rt(i, r), d = (n, r) => (e[r * t + n] ?? 0) >= 128, f = (r > 0 ? a / r : 0) * r, p = Ht(l, t, n, Math.max(1, r * Wt)), m = (e) => {
25868
+ let l = Ln(e, t, n), u = Mn(i, r), d = (n, r) => (e[r * t + n] ?? 0) >= 128, f = (r > 0 ? a / r : 0) * r, p = In(l, t, n, Math.max(1, r * Rn)), m = (e) => {
25432
25869
  let t = u(Math.max(0, e - .5));
25433
25870
  return u(e + .5) - t;
25434
25871
  };
@@ -25443,9 +25880,9 @@ function qt(e, t, n, r, i, a) {
25443
25880
  o[a * 3 + 2] = 1;
25444
25881
  continue;
25445
25882
  }
25446
- let g = u / r, _ = 1 - Gt, v = 1;
25883
+ let g = u / r, _ = 1 - zn, v = 1;
25447
25884
  if (g > _) {
25448
- let e = Math.min(1, (g - _) / Gt);
25885
+ let e = Math.min(1, (g - _) / zn);
25449
25886
  v = 1 - e * e * (3 - 2 * e);
25450
25887
  }
25451
25888
  c[a] = v;
@@ -25460,7 +25897,7 @@ function qt(e, t, n, r, i, a) {
25460
25897
  bandWeight: c
25461
25898
  };
25462
25899
  }
25463
- var Jt = 35 * Math.PI / 180, Yt = 12 * Math.PI / 180, Xt = {
25900
+ var Hn = 35 * Math.PI / 180, Un = 12 * Math.PI / 180, Wn = {
25464
25901
  t: {
25465
25902
  x: 0,
25466
25903
  y: -1
@@ -25494,22 +25931,22 @@ var Jt = 35 * Math.PI / 180, Yt = 12 * Math.PI / 180, Xt = {
25494
25931
  y: 1
25495
25932
  }
25496
25933
  };
25497
- function Zt(e, t, n) {
25934
+ function Gn(e, t, n) {
25498
25935
  let r = n * Math.PI / 180, i = Math.cos(r), a = Math.sin(r);
25499
25936
  return {
25500
25937
  x: e * i - t * a,
25501
25938
  y: e * a + t * i
25502
25939
  };
25503
25940
  }
25504
- function Qt(e, t, n) {
25505
- let r = Xt[t] ?? Xt.t;
25506
- return n && n.rev && (r = Zt(r.x, r.y, n.rev)), en(r.x, r.y, Jt);
25941
+ function Kn(e, t, n) {
25942
+ let r = Wn[t] ?? Wn.t;
25943
+ return n && n.rev && (r = Gn(r.x, r.y, n.rev)), Jn(r.x, r.y, Hn);
25507
25944
  }
25508
- function $t(e) {
25945
+ function qn(e) {
25509
25946
  let t = Math.hypot(e.x, e.y) || 1;
25510
- return en(-e.x / t, -e.y / t, Yt);
25947
+ return Jn(-e.x / t, -e.y / t, Un);
25511
25948
  }
25512
- function en(e, t, n) {
25949
+ function Jn(e, t, n) {
25513
25950
  let r = Math.hypot(e, t) || 1, i = Math.cos(n), a = Math.sin(n), o = e / r * i, s = t / r * i, c = a, l = Math.hypot(o, s, c) || 1;
25514
25951
  return {
25515
25952
  x: o / l,
@@ -25517,7 +25954,7 @@ function en(e, t, n) {
25517
25954
  z: c / l
25518
25955
  };
25519
25956
  }
25520
- var tn = 2, nn = {
25957
+ var Yn = 2, Xn = {
25521
25958
  matte: {
25522
25959
  ambient: .62,
25523
25960
  diffuse: .45,
@@ -25530,8 +25967,8 @@ var tn = 2, nn = {
25530
25967
  specular: .35,
25531
25968
  shininess: 22
25532
25969
  }
25533
- }, rn = .8;
25534
- function an(e) {
25970
+ }, Zn = .8;
25971
+ function Qn(e) {
25535
25972
  switch (e) {
25536
25973
  case "plastic":
25537
25974
  case "metal":
@@ -25542,8 +25979,8 @@ function an(e) {
25542
25979
  default: return "matte";
25543
25980
  }
25544
25981
  }
25545
- function on(e, t, n = !0) {
25546
- let r = nn[e], i = {
25982
+ function $n(e, t, n = !0) {
25983
+ let r = Xn[e], i = {
25547
25984
  light: t,
25548
25985
  material: e,
25549
25986
  ambient: r.ambient,
@@ -25551,9 +25988,9 @@ function on(e, t, n = !0) {
25551
25988
  specular: r.specular,
25552
25989
  shininess: r.shininess
25553
25990
  };
25554
- return n && (i.fillLight = $t(t), i.fillDiffuse = i.diffuse * rn), i;
25991
+ return n && (i.fillLight = qn(t), i.fillDiffuse = i.diffuse * Zn), i;
25555
25992
  }
25556
- function sn(e, t) {
25993
+ function er(e, t) {
25557
25994
  let n = e.x * t.light.x + e.y * t.light.y + e.z * t.light.z, r = t.diffuse * Math.max(0, n), i = 0;
25558
25995
  if (t.fillLight && t.fillDiffuse) {
25559
25996
  let n = e.x * t.fillLight.x + e.y * t.fillLight.y + e.z * t.fillLight.z;
@@ -25566,14 +26003,14 @@ function sn(e, t) {
25566
26003
  }
25567
26004
  return Math.max(0, t.ambient + r + i + a);
25568
26005
  }
25569
- function cn(e, t) {
26006
+ function tr(e, t) {
25570
26007
  let n = e.canvas.width, r = e.canvas.height;
25571
26008
  if (n <= 0 || r <= 0) return;
25572
26009
  let i = t.widthPx;
25573
26010
  if (i < .75) return;
25574
26011
  let a = e.getImageData(0, 0, n, r), o = a.data, s = new Uint8ClampedArray(n * r);
25575
26012
  for (let e = 0; e < n * r; e++) s[e] = o[e * 4 + 3];
25576
- let { bandMask: c, bandWeight: l, normals: u } = qt(s, n, r, i, t.prst, t.heightPx), d = on(t.material, t.light), f = sn({
26013
+ let { bandMask: c, bandWeight: l, normals: u } = Vn(s, n, r, i, t.prst, t.heightPx), d = $n(t.material, t.light), f = er({
25577
26014
  x: 0,
25578
26015
  y: 0,
25579
26016
  z: 1
@@ -25584,13 +26021,13 @@ function cn(e, t) {
25584
26021
  if (n <= 0) continue;
25585
26022
  let r = u[e * 3], i = u[e * 3 + 1], a = u[e * 3 + 2];
25586
26023
  t.bottom && (r = -r, i = -i);
25587
- let s = 1 + (sn({
26024
+ let s = 1 + (er({
25588
26025
  x: r,
25589
26026
  y: i,
25590
26027
  z: a
25591
26028
  }, d) / f - 1) * n, p = e * 4;
25592
26029
  if (s >= 1) {
25593
- let e = Math.min(1, (s - 1) * tn);
26030
+ let e = Math.min(1, (s - 1) * Yn);
25594
26031
  for (let t = 0; t < 3; t++) {
25595
26032
  let n = Math.min(255, o[p + t] * s);
25596
26033
  o[p + t] = n + (255 - n) * e;
@@ -25599,7 +26036,7 @@ function cn(e, t) {
25599
26036
  }
25600
26037
  e.putImageData(a, 0, 0);
25601
26038
  }
25602
- function ln(e, t) {
26039
+ function nr(e, t) {
25603
26040
  let n = e.canvas.width, r = e.canvas.height;
25604
26041
  if (n <= 0 || r <= 0) return;
25605
26042
  let i = t.offsetX, a = t.offsetY, o = Math.hypot(i, a);
@@ -25626,7 +26063,7 @@ function ln(e, t) {
25626
26063
  }
25627
26064
  //#endregion
25628
26065
  //#region packages/core/src/sparkline/renderer.ts
25629
- function un(e, t, n) {
26066
+ function rr(e, t, n) {
25630
26067
  let { values: r } = n;
25631
26068
  if (r.length === 0 || t.w <= 0 || t.h <= 0) return;
25632
26069
  let i = n.colorSeries ?? "#5B9BD5", a = Math.min(2, t.w * .08), o = Math.max(2, t.h * .2), s = t.x + a, c = t.y + o, l = Math.max(1, t.w - a * 2), u = Math.max(1, t.h - o * 2), d = r.filter((e) => typeof e == "number");
@@ -25635,11 +26072,11 @@ function un(e, t, n) {
25635
26072
  m === h && (h = m + 1, --m);
25636
26073
  let g = h - m, _ = (e) => c + u - (e - m) / g * u;
25637
26074
  if (n.kind === "stem") {
25638
- pn(e, n, s, c, l, u);
26075
+ or(e, n, s, c, l, u);
25639
26076
  return;
25640
26077
  }
25641
26078
  if (n.kind === "column") {
25642
- fn(e, n, r, s, c, l, u, m, h);
26079
+ ar(e, n, r, s, c, l, u, m, h);
25643
26080
  return;
25644
26081
  }
25645
26082
  if (n.displayXAxis && m < 0 && h > 0) {
@@ -25648,7 +26085,7 @@ function un(e, t, n) {
25648
26085
  e.moveTo(s, t), e.lineTo(s + l, t), e.stroke(), e.restore();
25649
26086
  }
25650
26087
  let v = r.length, y = (e) => v === 1 ? s + l / 2 : s + e / (v - 1) * l;
25651
- e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * R, e.beginPath();
26088
+ e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * N, e.beginPath();
25652
26089
  let b = !1, x = n.displayEmptyCellsAs ?? "gap";
25653
26090
  for (let t = 0; t < v; t++) {
25654
26091
  let n = r[t];
@@ -25663,7 +26100,7 @@ function un(e, t, n) {
25663
26100
  b ? e.lineTo(i, a) : (e.moveTo(i, a), b = !0);
25664
26101
  }
25665
26102
  e.stroke(), e.restore();
25666
- let S = Math.max(1, Math.min(2.5, u * .12)), C = dn(r, n);
26103
+ let S = Math.max(1, Math.min(2.5, u * .12)), C = ir(r, n);
25667
26104
  for (let t = 0; t < v; t++) {
25668
26105
  let a = r[t];
25669
26106
  if (a == null) continue;
@@ -25671,7 +26108,7 @@ function un(e, t, n) {
25671
26108
  (n.markers || o != null) && (e.save(), e.fillStyle = o ?? n.colorMarkers ?? i, e.beginPath(), e.arc(y(t), _(a), S, 0, Math.PI * 2), e.fill(), e.restore());
25672
26109
  }
25673
26110
  }
25674
- function dn(e, t) {
26111
+ function ir(e, t) {
25675
26112
  let n = e.map(() => null), r = e.map((e) => typeof e == "number" ? e : null), i = r.findIndex((e) => e != null), a = -1;
25676
26113
  for (let e = r.length - 1; e >= 0; e--) if (r[e] != null) {
25677
26114
  a = e;
@@ -25686,10 +26123,10 @@ function dn(e, t) {
25686
26123
  if (t.low && t.colorLow && !Number.isNaN(c)) for (let e = 0; e < r.length; e++) r[e] === c && (n[e] = t.colorLow);
25687
26124
  return n;
25688
26125
  }
25689
- function fn(e, t, n, r, i, a, o, s, c) {
26126
+ function ar(e, t, n, r, i, a, o, s, c) {
25690
26127
  let l = n.length;
25691
26128
  if (l === 0) return;
25692
- let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g = dn(n, t);
26129
+ let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g = ir(n, t);
25693
26130
  for (let i = 0; i < l; i++) {
25694
26131
  let a = n[i];
25695
26132
  if (a == null) continue;
@@ -25697,10 +26134,10 @@ function fn(e, t, n, r, i, a, o, s, c) {
25697
26134
  e.save(), e.fillStyle = o, e.fillRect(c, Math.min(p, s), l, Math.abs(p - s)), e.restore();
25698
26135
  }
25699
26136
  }
25700
- function pn(e, t, n, r, i, a) {
26137
+ function or(e, t, n, r, i, a) {
25701
26138
  let o = t.values.length;
25702
26139
  if (o === 0) return;
25703
- let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = dn(t.values, t);
26140
+ let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = ir(t.values, t);
25704
26141
  for (let r = 0; r < o; r++) {
25705
26142
  let i = t.values[r];
25706
26143
  if (i == null || i === 0) continue;
@@ -25710,13 +26147,13 @@ function pn(e, t, n, r, i, a) {
25710
26147
  }
25711
26148
  //#endregion
25712
26149
  //#region packages/core/src/math/mathml.ts
25713
- var mn = {
26150
+ var sr = {
25714
26151
  "&": "&amp;",
25715
26152
  "<": "&lt;",
25716
26153
  ">": "&gt;",
25717
26154
  "\"": "&quot;"
25718
- }, hn = (e) => e.replace(/[&<>"]/g, (e) => mn[e]);
25719
- function gn(e) {
26155
+ }, cr = (e) => e.replace(/[&<>"]/g, (e) => sr[e]);
26156
+ function lr(e) {
25720
26157
  switch (e) {
25721
26158
  case "roman": return "normal";
25722
26159
  case "bold": return "bold";
@@ -25724,10 +26161,10 @@ function gn(e) {
25724
26161
  case "italic": return null;
25725
26162
  }
25726
26163
  }
25727
- var _n = new Set([..."⏞⏟⎴⎵︷︸⏜⏝{}[]()¯_‾"]), vn = "+−±∓×÷·∗⋅∘∙*/", yn = "=≠<>≤≥≈≡∼≅≃→←↔⇒∈∉⊂⊆⊃⊇∝≪≫⊥≔", bn = "([{⟨⌈⌊", xn = ")]}⟩⌉⌋", Sn = ",;";
25728
- function Cn(e, t) {
25729
- let n = gn(t), r = n ? ` mathvariant="${n}"` : "", i = "", a = "", o = () => {
25730
- a &&= (i += `<mn${r}>${hn(a)}</mn>`, "");
26164
+ var ur = new Set([..."⏞⏟⎴⎵︷︸⏜⏝{}[]()¯_‾"]), dr = "+−±∓×÷·∗⋅∘∙*/", fr = "=≠<>≤≥≈≡∼≅≃→←↔⇒∈∉⊂⊆⊃⊇∝≪≫⊥≔", pr = "([{⟨⌈⌊", mr = ")]}⟩⌉⌋", hr = ",;";
26165
+ function gr(e, t) {
26166
+ let n = lr(t), r = n ? ` mathvariant="${n}"` : "", i = "", a = "", o = () => {
26167
+ a &&= (i += `<mn${r}>${cr(a)}</mn>`, "");
25731
26168
  };
25732
26169
  for (let t of e) {
25733
26170
  if (t === " ") {
@@ -25738,42 +26175,42 @@ function Cn(e, t) {
25738
26175
  a += t;
25739
26176
  continue;
25740
26177
  }
25741
- o(), vn.includes(t) || yn.includes(t) || Sn.includes(t) ? i += `<mo>${hn(t)}</mo>` : bn.includes(t) || xn.includes(t) ? i += `<mo fence="true" stretchy="false">${hn(t)}</mo>` : i += `<mi${r}>${hn(t)}</mi>`;
26178
+ o(), dr.includes(t) || fr.includes(t) || hr.includes(t) ? i += `<mo>${cr(t)}</mo>` : pr.includes(t) || mr.includes(t) ? i += `<mo fence="true" stretchy="false">${cr(t)}</mo>` : i += `<mi${r}>${cr(t)}</mi>`;
25742
26179
  }
25743
26180
  return o(), i;
25744
26181
  }
25745
- function wn(e) {
25746
- return e.map(Tn).join("");
26182
+ function _r(e) {
26183
+ return e.map(vr).join("");
25747
26184
  }
25748
26185
  function $(e) {
25749
- return `<mrow>${wn(e)}</mrow>`;
26186
+ return `<mrow>${_r(e)}</mrow>`;
25750
26187
  }
25751
- function Tn(e) {
26188
+ function vr(e) {
25752
26189
  switch (e.kind) {
25753
- case "run": return Cn(e.text, e.style);
26190
+ case "run": return gr(e.text, e.style);
25754
26191
  case "group": return $(e.items);
25755
26192
  case "fraction": return `<mfrac${e.bar === !1 ? " linethickness=\"0\"" : ""}>${$(e.num)}${$(e.den)}</mfrac>`;
25756
26193
  case "sup": return `<msup>${$(e.base)}${$(e.sup ?? [])}</msup>`;
25757
26194
  case "sub": return `<msub>${$(e.base)}${$(e.sub ?? [])}</msub>`;
25758
26195
  case "subSup": return `<msubsup>${$(e.base)}${$(e.sub ?? [])}${$(e.sup ?? [])}</msubsup>`;
25759
- case "nary": return Mn(e);
25760
- case "delimiter": return Nn(e);
25761
- case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${wn(e.radicand)}</msqrt>`;
25762
- case "limit": return kn(e);
25763
- case "array": return An(e);
26196
+ case "nary": return Tr(e);
26197
+ case "delimiter": return Er(e);
26198
+ case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${_r(e.radicand)}</msqrt>`;
26199
+ case "limit": return Sr(e);
26200
+ case "array": return Cr(e);
25764
26201
  case "groupChr": {
25765
- let t = $(e.base), n = _n.has(e.char), r = e.pos === "top" ? "mover" : "munder", i = `<mo stretchy="${n}">${hn(e.char)}</mo>`;
26202
+ let t = $(e.base), n = ur.has(e.char), r = e.pos === "top" ? "mover" : "munder", i = `<mo stretchy="${n}">${cr(e.char)}</mo>`;
25766
26203
  return n ? `<${r}>${t}${i}</${r}>` : `<${r} accent="true">${t}${i}</${r}>`;
25767
26204
  }
25768
26205
  case "bar": {
25769
26206
  let t = $(e.base), n = "<mo stretchy=\"true\">&#x2015;</mo>";
25770
26207
  return e.pos === "bot" ? `<munder>${t}${n}</munder>` : `<mover>${t}${n}</mover>`;
25771
26208
  }
25772
- case "accent": return On(e);
26209
+ case "accent": return xr(e);
25773
26210
  case "func": return `<mrow>${$(e.name)}<mo>&#x2061;</mo>${$(e.arg)}</mrow>`;
25774
26211
  }
25775
26212
  }
25776
- var En = {
26213
+ var yr = {
25777
26214
  "̀": "`",
25778
26215
  "́": "´",
25779
26216
  "̂": "^",
@@ -25784,7 +26221,7 @@ var En = {
25784
26221
  "̌": "ˇ",
25785
26222
  "⃗": "→",
25786
26223
  "⃖": "←"
25787
- }, Dn = new Set([
26224
+ }, br = new Set([
25788
26225
  "̅",
25789
26226
  "̄",
25790
26227
  "¯",
@@ -25792,45 +26229,189 @@ var En = {
25792
26229
  "̲",
25793
26230
  "̳"
25794
26231
  ]);
25795
- function On(e) {
26232
+ function xr(e) {
25796
26233
  let t = $(e.base);
25797
- if (Dn.has(e.char)) return `<mover>${t}<mo stretchy="true">&#x2015;</mo></mover>`;
25798
- let n = En[e.char] ?? e.char;
25799
- return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${hn(n)}</mo></mover>`;
26234
+ if (br.has(e.char)) return `<mover>${t}<mo stretchy="true">&#x2015;</mo></mover>`;
26235
+ let n = yr[e.char] ?? e.char;
26236
+ return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${cr(n)}</mo></mover>`;
25800
26237
  }
25801
- function kn(e) {
26238
+ function Sr(e) {
25802
26239
  let t = $(e.base), n = e.lower && e.lower.length ? $(e.lower) : null, r = e.upper && e.upper.length ? $(e.upper) : null;
25803
26240
  return n && r ? `<munderover>${t}${n}${r}</munderover>` : n ? `<munder>${t}${n}</munder>` : r ? `<mover>${t}${r}</mover>` : t;
25804
26241
  }
25805
- function An(e) {
26242
+ function Cr(e) {
25806
26243
  let t = Math.max(1, ...e.rows.map((e) => e.length)), n;
25807
26244
  n = e.align === "eq" ? Array.from({ length: t }, (e, t) => t % 2 == 0 ? "right" : "left").join(" ") : e.align === "left" ? "left" : "center";
25808
- let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${wn(e)}</mtd>`).join("")}</mtr>`).join("");
26245
+ let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${_r(e)}</mtd>`).join("")}</mtr>`).join("");
25809
26246
  return `<mtable columnalign="${n}" rowspacing="0.2em" columnspacing="0.3em">${r}</mtable>`;
25810
26247
  }
25811
- var jn = new Set([..."∫∬∭∮∯∰∱∲∳⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗"]);
25812
- function Mn(e) {
25813
- let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 : jn.has(e.op), n = `<mo largeop="true">${hn(e.op)}</mo>`, r = e.sub ?? [], i = e.sup ?? [], a;
25814
- return a = t ? r.length && i.length ? `<msubsup>${n}${$(r)}${$(i)}</msubsup>` : r.length ? `<msub>${n}${$(r)}</msub>` : i.length ? `<msup>${n}${$(i)}</msup>` : n : r.length && i.length ? `<munderover>${n}${$(r)}${$(i)}</munderover>` : r.length ? `<munder>${n}${$(r)}</munder>` : i.length ? `<mover>${n}${$(i)}</mover>` : n, `<mrow>${a}${wn(e.body)}</mrow>`;
26248
+ var wr = new Set([..."∫∬∭∮∯∰∱∲∳⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗"]);
26249
+ function Tr(e) {
26250
+ let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 : wr.has(e.op), n = `<mo largeop="true">${cr(e.op)}</mo>`, r = e.sub ?? [], i = e.sup ?? [], a;
26251
+ return a = t ? r.length && i.length ? `<msubsup>${n}${$(r)}${$(i)}</msubsup>` : r.length ? `<msub>${n}${$(r)}</msub>` : i.length ? `<msup>${n}${$(i)}</msup>` : n : r.length && i.length ? `<munderover>${n}${$(r)}${$(i)}</munderover>` : r.length ? `<munder>${n}${$(r)}</munder>` : i.length ? `<mover>${n}${$(i)}</mover>` : n, `<mrow>${a}${_r(e.body)}</mrow>`;
25815
26252
  }
25816
- function Nn(e) {
25817
- let t = (e) => `<mo fence="true" stretchy="true">${hn(e)}</mo>`, n = e.items.map((e) => $(e)).join("<mo separator=\"true\">,</mo>");
26253
+ function Er(e) {
26254
+ let t = (e) => `<mo fence="true" stretchy="true">${cr(e)}</mo>`, n = e.items.map((e) => $(e)).join("<mo separator=\"true\">,</mo>");
25818
26255
  return `<mrow>${t(e.begChar)}${n}${t(e.endChar)}</mrow>`;
25819
26256
  }
25820
- function Pn(e, t) {
25821
- return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${wn(e)}</math>`;
26257
+ function Dr(e, t) {
26258
+ return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${_r(e)}</math>`;
25822
26259
  }
25823
26260
  //#endregion
25824
26261
  //#region packages/core/src/canvas/env.ts
25825
- function Fn(e) {
26262
+ function Or(e) {
25826
26263
  return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
25827
26264
  }
25828
- function In(e = 1) {
26265
+ function kr(e = 1) {
25829
26266
  return typeof window < "u" && window.devicePixelRatio || e;
25830
26267
  }
25831
26268
  //#endregion
26269
+ //#region packages/core/src/canvas/crisp.ts
26270
+ function Ar(e, t, n) {
26271
+ let r = Math.round(t * n) % 2 == 1 ? .5 : 0, i = e * n;
26272
+ return (Math.round(i - r) + r) / n - e;
26273
+ }
26274
+ //#endregion
26275
+ //#region packages/core/src/draw/dash.ts
26276
+ function jr(e, t) {
26277
+ return e.map((e) => e * t);
26278
+ }
26279
+ var Mr = {
26280
+ dotted: [1, 2],
26281
+ dashed: [3, 2],
26282
+ dashSmallGap: [3, 1],
26283
+ dotDash: [
26284
+ 1,
26285
+ 2,
26286
+ 3,
26287
+ 2
26288
+ ],
26289
+ dotDotDash: [
26290
+ 1,
26291
+ 2,
26292
+ 1,
26293
+ 2,
26294
+ 3,
26295
+ 2
26296
+ ],
26297
+ dashDotStroked: [
26298
+ 1,
26299
+ 2,
26300
+ 3,
26301
+ 2
26302
+ ]
26303
+ };
26304
+ function Nr(e, t) {
26305
+ let n = Mr[e];
26306
+ return n ? jr(n, t) : [];
26307
+ }
26308
+ var Pr = {
26309
+ hair: [1, 1],
26310
+ dashed: [4, 3],
26311
+ mediumDashed: [4, 3],
26312
+ dotted: [2, 2],
26313
+ dashDot: [
26314
+ 4,
26315
+ 2,
26316
+ 1,
26317
+ 2
26318
+ ],
26319
+ mediumDashDot: [
26320
+ 4,
26321
+ 2,
26322
+ 1,
26323
+ 2
26324
+ ],
26325
+ dashDotDot: [
26326
+ 4,
26327
+ 2,
26328
+ 1,
26329
+ 2,
26330
+ 1,
26331
+ 2
26332
+ ],
26333
+ mediumDashDotDot: [
26334
+ 4,
26335
+ 2,
26336
+ 1,
26337
+ 2,
26338
+ 1,
26339
+ 2
26340
+ ],
26341
+ slantDashDot: [
26342
+ 5,
26343
+ 3,
26344
+ 1,
26345
+ 3
26346
+ ]
26347
+ };
26348
+ function Fr(e) {
26349
+ let t = Pr[e];
26350
+ return t ? jr(t, 1) : [];
26351
+ }
26352
+ var Ir = {
26353
+ dotted: [1.5, 3],
26354
+ dottedHeavy: [1.5, 3],
26355
+ dash: [6, 3],
26356
+ dashHeavy: [6, 3],
26357
+ dashLong: [10, 4],
26358
+ dashLongHeavy: [10, 4],
26359
+ dotDash: [
26360
+ 6,
26361
+ 3,
26362
+ 1.5,
26363
+ 3
26364
+ ],
26365
+ dotDashHeavy: [
26366
+ 6,
26367
+ 3,
26368
+ 1.5,
26369
+ 3
26370
+ ],
26371
+ dotDotDash: [
26372
+ 6,
26373
+ 3,
26374
+ 1.5,
26375
+ 3,
26376
+ 1.5,
26377
+ 3
26378
+ ],
26379
+ dotDotDashHeavy: [
26380
+ 6,
26381
+ 3,
26382
+ 1.5,
26383
+ 3,
26384
+ 1.5,
26385
+ 3
26386
+ ]
26387
+ };
26388
+ function Lr(e, t) {
26389
+ let n = Ir[e];
26390
+ return n ? jr(n, t) : [];
26391
+ }
26392
+ //#endregion
26393
+ //#region packages/core/src/draw/double-border.ts
26394
+ function Rr(e, t) {
26395
+ let n = Math.max(1, Math.round(e * t / 3)), r = Math.max(1, Math.round(e * t / 3));
26396
+ return {
26397
+ railDev: n,
26398
+ gapDev: r,
26399
+ spanDev: 2 * n + r
26400
+ };
26401
+ }
26402
+ function zr(e, t, n, r, i, a, o) {
26403
+ let { railDev: s, gapDev: c, spanDev: l } = Rr(a, o);
26404
+ if (n === i) {
26405
+ let i = Math.round(n * o - l / 2);
26406
+ e.fillRect(t, i / o, r - t, s / o), e.fillRect(t, (i + s + c) / o, r - t, s / o);
26407
+ } else {
26408
+ let r = Math.round(t * o - l / 2);
26409
+ e.fillRect(r / o, n, s / o, i - n), e.fillRect((r + s + c) / o, n, s / o, i - n);
26410
+ }
26411
+ }
26412
+ //#endregion
25832
26413
  //#region packages/core/src/worker/bridge.ts
25833
- var Ln = class {
26414
+ var Br = class {
25834
26415
  _worker;
25835
26416
  _opts;
25836
26417
  _pending = /* @__PURE__ */ new Map();
@@ -25870,7 +26451,7 @@ var Ln = class {
25870
26451
  for (let e of this._pending.values()) e.reject(/* @__PURE__ */ Error("Worker terminated"));
25871
26452
  this._pending.clear();
25872
26453
  }
25873
- }, Rn = [
26454
+ }, Vr = [
25874
26455
  "L",
25875
26456
  "R",
25876
26457
  "AL",
@@ -25894,7 +26475,7 @@ var Ln = class {
25894
26475
  "RLI",
25895
26476
  "FSI",
25896
26477
  "PDI"
25897
- ], zn = [
26478
+ ], Hr = [
25898
26479
  0,
25899
26480
  9,
25900
26481
  10,
@@ -27162,7 +27743,7 @@ var Ln = class {
27162
27743
  1048574,
27163
27744
  1048576,
27164
27745
  1114110
27165
- ], Bn = [
27746
+ ], Ur = [
27166
27747
  9,
27167
27748
  11,
27168
27749
  10,
@@ -28430,7 +29011,7 @@ var Ln = class {
28430
29011
  9,
28431
29012
  0,
28432
29013
  9
28433
- ], Vn = [
29014
+ ], Wr = [
28434
29015
  40,
28435
29016
  41,
28436
29017
  41,
@@ -29287,7 +29868,7 @@ var Ln = class {
29287
29868
  65379,
29288
29869
  65379,
29289
29870
  65378
29290
- ], Hn = [
29871
+ ], Gr = [
29291
29872
  40,
29292
29873
  41,
29293
29874
  0,
@@ -29675,42 +30256,42 @@ var Ln = class {
29675
30256
  ];
29676
30257
  //#endregion
29677
30258
  //#region packages/core/src/text/bidi/char-data.ts
29678
- function Un(e) {
29679
- let t = 0, n = zn.length - 1;
30259
+ function Kr(e) {
30260
+ let t = 0, n = Hr.length - 1;
29680
30261
  for (; t < n;) {
29681
30262
  let r = t + n + 1 >> 1;
29682
- zn[r] <= e ? t = r : n = r - 1;
30263
+ Hr[r] <= e ? t = r : n = r - 1;
29683
30264
  }
29684
- return Bn[t];
30265
+ return Ur[t];
29685
30266
  }
29686
- function Wn(e) {
29687
- return Rn[Un(e)];
30267
+ function qr(e) {
30268
+ return Vr[Kr(e)];
29688
30269
  }
29689
- var Gn = (() => {
30270
+ var Jr = (() => {
29690
30271
  let e = /* @__PURE__ */ new Map();
29691
- for (let t = 0; t < Vn.length; t += 2) e.set(Vn[t], Vn[t + 1]);
30272
+ for (let t = 0; t < Wr.length; t += 2) e.set(Wr[t], Wr[t + 1]);
29692
30273
  return e;
29693
30274
  })();
29694
- function Kn(e) {
29695
- return Gn.get(e) ?? null;
30275
+ function Yr(e) {
30276
+ return Jr.get(e) ?? null;
29696
30277
  }
29697
- var qn = (() => {
30278
+ var Xr = (() => {
29698
30279
  let e = /* @__PURE__ */ new Map();
29699
- for (let t = 0; t < Hn.length; t += 3) e.set(Hn[t], {
29700
- pair: Hn[t + 1],
29701
- type: Hn[t + 2] === 0 ? "o" : "c"
30280
+ for (let t = 0; t < Gr.length; t += 3) e.set(Gr[t], {
30281
+ pair: Gr[t + 1],
30282
+ type: Gr[t + 2] === 0 ? "o" : "c"
29702
30283
  });
29703
30284
  return e;
29704
30285
  })();
29705
- function Jn(e) {
29706
- return qn.get(e) ?? null;
30286
+ function Zr(e) {
30287
+ return Xr.get(e) ?? null;
29707
30288
  }
29708
- var Yn = (e) => e === "RLE" || e === "LRE" || e === "RLO" || e === "LRO" || e === "PDF" || e === "BN", Xn = (e) => e === "LRI" || e === "RLI" || e === "FSI", Zn = (e) => e === "B" || e === "S" || e === "WS" || e === "ON" || e === "FSI" || e === "LRI" || e === "RLI" || e === "PDI", Qn = (e) => e & 1 ? e + 2 : e + 1, $n = (e) => e & 1 ? e + 1 : e + 2;
29709
- function er(e, t, n) {
30289
+ var Qr = (e) => e === "RLE" || e === "LRE" || e === "RLO" || e === "LRO" || e === "PDF" || e === "BN", $r = (e) => e === "LRI" || e === "RLI" || e === "FSI", ei = (e) => e === "B" || e === "S" || e === "WS" || e === "ON" || e === "FSI" || e === "LRI" || e === "RLI" || e === "PDI", ti = (e) => e & 1 ? e + 2 : e + 1, ni = (e) => e & 1 ? e + 1 : e + 2;
30290
+ function ri(e, t, n) {
29710
30291
  let r = 0;
29711
30292
  for (let i = t; i < n; i++) {
29712
30293
  let t = e[i];
29713
- if (Xn(t)) r++;
30294
+ if ($r(t)) r++;
29714
30295
  else if (t === "PDI") r > 0 && r--;
29715
30296
  else if (r === 0) {
29716
30297
  if (t === "L") return 0;
@@ -29719,11 +30300,11 @@ function er(e, t, n) {
29719
30300
  }
29720
30301
  return 0;
29721
30302
  }
29722
- function tr(e) {
30303
+ function ii(e) {
29723
30304
  let t = e.length, n = new Int32Array(t).fill(t), r = new Int32Array(t).fill(-1), i = [];
29724
30305
  for (let a = 0; a < t; a++) {
29725
30306
  let t = e[a];
29726
- if (Xn(t)) i.push(a);
30307
+ if ($r(t)) i.push(a);
29727
30308
  else if (t === "PDI" && i.length) {
29728
30309
  let e = i.pop();
29729
30310
  n[e] = a, r[a] = e;
@@ -29734,7 +30315,7 @@ function tr(e) {
29734
30315
  initOf: r
29735
30316
  };
29736
30317
  }
29737
- function nr(e, t, n) {
30318
+ function ai(e, t, n) {
29738
30319
  let r = e.length, i = Array(r).fill(t), a = e.slice(), o = [{
29739
30320
  level: t,
29740
30321
  override: "neutral",
@@ -29748,7 +30329,7 @@ function nr(e, t, n) {
29748
30329
  case "RLO":
29749
30330
  case "LRO": {
29750
30331
  i[d] = u().level;
29751
- let e = r === "RLE" || r === "RLO" ? Qn(u().level) : $n(u().level);
30332
+ let e = r === "RLE" || r === "RLO" ? ti(u().level) : ni(u().level);
29752
30333
  e <= 125 && s === 0 && c === 0 ? o.push({
29753
30334
  level: e,
29754
30335
  override: r === "RLO" ? "R" : r === "LRO" ? "L" : "neutral",
@@ -29763,8 +30344,8 @@ function nr(e, t, n) {
29763
30344
  let t = u().override;
29764
30345
  t !== "neutral" && (a[d] = t);
29765
30346
  let f;
29766
- f = r === "RLI" ? "R" : r === "LRI" ? "L" : er(e, d + 1, n[d]) === 1 ? "R" : "L";
29767
- let p = f === "R" ? Qn(u().level) : $n(u().level);
30347
+ f = r === "RLI" ? "R" : r === "LRI" ? "L" : ri(e, d + 1, n[d]) === 1 ? "R" : "L";
30348
+ let p = f === "R" ? ti(u().level) : ni(u().level);
29768
30349
  p <= 125 && s === 0 && c === 0 ? (l++, o.push({
29769
30350
  level: p,
29770
30351
  override: "neutral",
@@ -29806,10 +30387,10 @@ function nr(e, t, n) {
29806
30387
  types: a
29807
30388
  };
29808
30389
  }
29809
- function rr(e) {
30390
+ function oi(e) {
29810
30391
  return e === 9001 ? 12296 : e === 9002 ? 12297 : e;
29811
30392
  }
29812
- function ir(e, t, n, r, i, a) {
30393
+ function si(e, t, n, r, i, a) {
29813
30394
  let o = e.length, s = [];
29814
30395
  for (let e = 0; e < o; e++) n[e] || s.push(e);
29815
30396
  let c = [];
@@ -29827,7 +30408,7 @@ function ir(e, t, n, r, i, a) {
29827
30408
  for (;;) {
29828
30409
  for (let e of p) f.push(e);
29829
30410
  let t = p[p.length - 1];
29830
- if (Xn(e[t]) && i[t] !== o) {
30411
+ if ($r(e[t]) && i[t] !== o) {
29831
30412
  let e = l.get(i[t]);
29832
30413
  if (e) {
29833
30414
  p = e;
@@ -29842,7 +30423,7 @@ function ir(e, t, n, r, i, a) {
29842
30423
  break;
29843
30424
  }
29844
30425
  let g = u(Math.max(m, h)), _ = f[f.length - 1], v = r;
29845
- if (!(Xn(e[_]) && i[_] === o)) {
30426
+ if (!($r(e[_]) && i[_] === o)) {
29846
30427
  for (let e = _ + 1; e < o; e++) if (!n[e]) {
29847
30428
  v = t[e];
29848
30429
  break;
@@ -29858,8 +30439,8 @@ function ir(e, t, n, r, i, a) {
29858
30439
  }
29859
30440
  return d;
29860
30441
  }
29861
- var ar = (e) => e === "L" ? "L" : e === "R" || e === "EN" || e === "AN" ? "R" : null;
29862
- function or(e, t, n, r, i) {
30442
+ var ci = (e) => e === "L" ? "L" : e === "R" || e === "EN" || e === "AN" ? "R" : null;
30443
+ function li(e, t, n, r, i) {
29863
30444
  let a = e.indices, o = a.length, { sos: s, eos: c, level: l } = e;
29864
30445
  for (let e = 0; e < o; e++) {
29865
30446
  let t = a[e];
@@ -29906,15 +30487,15 @@ function or(e, t, n, r, i) {
29906
30487
  outer: for (let n = 0; n < o; n++) {
29907
30488
  let i = a[n];
29908
30489
  if (r[i] !== "ON") continue;
29909
- let o = Jn(t[i]);
30490
+ let o = Zr(t[i]);
29910
30491
  if (o) if (o.type === "o") {
29911
30492
  if (e.length === 63) break outer;
29912
30493
  e.push({
29913
- expect: rr(o.pair),
30494
+ expect: oi(o.pair),
29914
30495
  pos: n
29915
30496
  });
29916
30497
  } else {
29917
- let r = rr(t[i]);
30498
+ let r = oi(t[i]);
29918
30499
  for (let t = e.length - 1; t >= 0; t--) if (e[t].expect === r) {
29919
30500
  f.push({
29920
30501
  open: e[t].pos,
@@ -29932,7 +30513,7 @@ function or(e, t, n, r, i) {
29932
30513
  for (let { open: e, close: t } of f) {
29933
30514
  let n = !1, i = !1;
29934
30515
  for (let o = e + 1; o < t; o++) {
29935
- let e = ar(r[a[o]]);
30516
+ let e = ci(r[a[o]]);
29936
30517
  e === u ? n = !0 : e === d && (i = !0);
29937
30518
  }
29938
30519
  let o = null;
@@ -29940,7 +30521,7 @@ function or(e, t, n, r, i) {
29940
30521
  else if (i) {
29941
30522
  let t = s;
29942
30523
  for (let n = e - 1; n >= 0; n--) {
29943
- let e = ar(r[a[n]]);
30524
+ let e = ci(r[a[n]]);
29944
30525
  if (e) {
29945
30526
  t = e;
29946
30527
  break;
@@ -29951,29 +30532,29 @@ function or(e, t, n, r, i) {
29951
30532
  o && (r[a[e]] = o, r[a[t]] = o, p(e, o), p(t, o));
29952
30533
  }
29953
30534
  for (let e = 0; e < o; e++) {
29954
- if (!Zn(r[a[e]])) continue;
30535
+ if (!ei(r[a[e]])) continue;
29955
30536
  let t = e;
29956
- for (; t < o && Zn(r[a[t]]);) t++;
29957
- let n = e > 0 ? ar(r[a[e - 1]]) : s, i = t < o ? ar(r[a[t]]) : c;
30537
+ for (; t < o && ei(r[a[t]]);) t++;
30538
+ let n = e > 0 ? ci(r[a[e - 1]]) : s, i = t < o ? ci(r[a[t]]) : c;
29958
30539
  if (n && i && n === i) for (let i = e; i < t; i++) r[a[i]] = n;
29959
30540
  e = t - 1;
29960
30541
  }
29961
- for (let e = 0; e < o; e++) Zn(r[a[e]]) && (r[a[e]] = u);
30542
+ for (let e = 0; e < o; e++) ei(r[a[e]]) && (r[a[e]] = u);
29962
30543
  for (let e = 0; e < o; e++) {
29963
30544
  let t = a[e], n = r[t];
29964
30545
  l & 1 ? (n === "L" || n === "EN" || n === "AN") && (i[t] += 1) : n === "R" ? i[t] += 1 : (n === "AN" || n === "EN") && (i[t] += 2);
29965
30546
  }
29966
30547
  }
29967
- function sr(e, t, n) {
30548
+ function ui(e, t, n) {
29968
30549
  let r = e.length, i = Array(r);
29969
- for (let t = 0; t < r; t++) i[t] = n?.[t] ?? Wn(e[t]);
29970
- let a = t === "rtl" ? 1 : t === "ltr" ? 0 : er(i, 0, r), { pdiOf: o, initOf: s } = tr(i), { levels: c, types: l } = nr(i, a, o), u = Array(r);
29971
- for (let e = 0; e < r; e++) u[e] = Yn(i[e]);
29972
- let d = ir(i, c, u, a, o, s), f = l.slice();
29973
- for (let t of d) or(t, e, i, f, c);
30550
+ for (let t = 0; t < r; t++) i[t] = n?.[t] ?? qr(e[t]);
30551
+ let a = t === "rtl" ? 1 : t === "ltr" ? 0 : ri(i, 0, r), { pdiOf: o, initOf: s } = ii(i), { levels: c, types: l } = ai(i, a, o), u = Array(r);
30552
+ for (let e = 0; e < r; e++) u[e] = Qr(i[e]);
30553
+ let d = si(i, c, u, a, o, s), f = l.slice();
30554
+ for (let t of d) li(t, e, i, f, c);
29974
30555
  let p = (e) => {
29975
30556
  let t = i[e];
29976
- return t === "WS" || Xn(t) || t === "PDI" || u[e];
30557
+ return t === "WS" || $r(t) || t === "PDI" || u[e];
29977
30558
  };
29978
30559
  for (let e = 0; e < r; e++) {
29979
30560
  let t = i[e];
@@ -29989,7 +30570,7 @@ function sr(e, t, n) {
29989
30570
  paragraphLevel: a
29990
30571
  };
29991
30572
  }
29992
- function cr(e, t, n) {
30573
+ function di(e, t, n) {
29993
30574
  let r = [];
29994
30575
  for (let i = t; i < n; i++) {
29995
30576
  let t = e[i];
@@ -30017,7 +30598,7 @@ function cr(e, t, n) {
30017
30598
  }
30018
30599
  //#endregion
30019
30600
  //#region packages/core/src/text/bidi/uax9/index.ts
30020
- function lr(e) {
30601
+ function fi(e) {
30021
30602
  let t = [], n = [], r = [];
30022
30603
  for (let i = 0; i < e.length;) {
30023
30604
  let a = e.codePointAt(i), o = a > 65535 ? 2 : 1;
@@ -30029,9 +30610,9 @@ function lr(e) {
30029
30610
  starts: r
30030
30611
  };
30031
30612
  }
30032
- var ur = class {
30613
+ var pi = class {
30033
30614
  computeLevels(e, t, n) {
30034
- let { cps: r, units: i, starts: a } = lr(e), { levels: o, paragraphLevel: s } = sr(r, t, n ? r.map((e, t) => n[a[t]] ?? null) : void 0), c = new Uint8Array(e.length), l = 0;
30615
+ let { cps: r, units: i, starts: a } = fi(e), { levels: o, paragraphLevel: s } = ui(r, t, n ? r.map((e, t) => n[a[t]] ?? null) : void 0), c = new Uint8Array(e.length), l = 0;
30035
30616
  for (let e = 0; e < o.length; e++) {
30036
30617
  let t = o[e] === -1 ? 255 : o[e];
30037
30618
  for (let n = 0; n < i[e]; n++) c[l++] = t;
@@ -30042,51 +30623,51 @@ var ur = class {
30042
30623
  };
30043
30624
  }
30044
30625
  reorderVisual(e, t, n) {
30045
- return cr(e, t, n);
30626
+ return di(e, t, n);
30046
30627
  }
30047
30628
  getMirror(e) {
30048
- return Kn(e);
30629
+ return Yr(e);
30049
30630
  }
30050
30631
  };
30051
- function dr() {
30052
- return new ur();
30632
+ function mi() {
30633
+ return new pi();
30053
30634
  }
30054
30635
  //#endregion
30055
30636
  //#region packages/core/src/text/bidi/engine.ts
30056
- var fr = null;
30057
- function pr() {
30058
- return fr === null && (fr = dr()), fr;
30637
+ var hi = null;
30638
+ function gi() {
30639
+ return hi === null && (hi = mi()), hi;
30059
30640
  }
30060
30641
  //#endregion
30061
30642
  //#region packages/core/src/text/bidi/segments.ts
30062
- function mr(e, t) {
30063
- return e === !0 ? "rtl" : e === !1 ? "ltr" : pr().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
30643
+ function _i(e, t) {
30644
+ return e === !0 ? "rtl" : e === !1 ? "ltr" : gi().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
30064
30645
  }
30065
30646
  //#endregion
30066
30647
  //#region packages/core/src/text/kinsoku/rules.ts
30067
- var hr = "”’)〕]}〉》」』】〙〗〟⦆»、。,.・:;/?!‐ー゠–〜~ぁぃぅぇぉっゃゅょゎゕゖァィゥェォッャュョヮヵヶㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ゝゞヽヾ゛゜%‰℃°′″。」、・ー゙゚!),.:;?]}⦆", gr = "“‘(〔[{〈《「『【〘〖〝⦅«$¥#£¢([{⦅";
30068
- function _r(e) {
30648
+ var vi = "”’)〕]}〉》」』】〙〗〟⦆»、。,.・:;/?!‐ー゠–〜~ぁぃぅぇぉっゃゅょゎゕゖァィゥェォッャュョヮヵヶㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ゝゞヽヾ゛゜%‰℃°′″。」、・ー゙゚!),.:;?]}⦆", yi = "“‘(〔[{〈《「『【〘〖〝⦅«$¥#£¢([{⦅";
30649
+ function bi(e) {
30069
30650
  let t = /* @__PURE__ */ new Set();
30070
30651
  for (let n of e) t.add(n.codePointAt(0));
30071
30652
  return t;
30072
30653
  }
30073
- function vr(e) {
30654
+ function xi(e) {
30074
30655
  return {
30075
30656
  enabled: e?.kinsoku !== !1,
30076
- lineStartForbidden: _r(e?.noLineBreaksBefore ?? hr),
30077
- lineEndForbidden: _r(e?.noLineBreaksAfter ?? gr)
30657
+ lineStartForbidden: bi(e?.noLineBreaksBefore ?? vi),
30658
+ lineEndForbidden: bi(e?.noLineBreaksAfter ?? yi)
30078
30659
  };
30079
30660
  }
30080
- var yr = vr();
30661
+ var Si = xi();
30081
30662
  //#endregion
30082
30663
  //#region packages/core/src/text/kinsoku/split.ts
30083
- function br(e, t, n, r = 1) {
30664
+ function Ci(e, t, n, r = 1) {
30084
30665
  if (!n.enabled || t <= 0 || t >= e.length) return t;
30085
30666
  let i = (t) => t < e.length && n.lineStartForbidden.has(e[t].codePointAt(0)), a = (t) => t >= 0 && n.lineEndForbidden.has(e[t].codePointAt(0)), o = t;
30086
30667
  for (; o > r && (i(o) || a(o - 1));) o--;
30087
30668
  return o <= r && (i(o) || a(o - 1)) ? t : o;
30088
30669
  }
30089
- function xr(e, t, n) {
30670
+ function wi(e, t, n) {
30090
30671
  if (!t.enabled) return 0;
30091
30672
  let r = e.length - n;
30092
30673
  for (let n = 1; n <= r; n++) {
@@ -30099,12 +30680,12 @@ function xr(e, t, n) {
30099
30680
  }
30100
30681
  //#endregion
30101
30682
  //#region packages/core/src/text/cjk-ranges.ts
30102
- function Sr(e) {
30683
+ function Ti(e) {
30103
30684
  return e >= 12288 && e <= 40959 || e >= 44032 && e <= 55203 || e >= 63744 && e <= 64255 || e >= 65280 && e <= 65519;
30104
30685
  }
30105
30686
  //#endregion
30106
30687
  //#region packages/core/src/text/highlight-box.ts
30107
- function Cr(e, t) {
30688
+ function Ei(e, t) {
30108
30689
  return {
30109
30690
  top: e - t * .85,
30110
30691
  height: t * 1.1
@@ -30112,10 +30693,10 @@ function Cr(e, t) {
30112
30693
  }
30113
30694
  //#endregion
30114
30695
  //#region packages/core/src/text/line-distribute.ts
30115
- var wr = (e) => e === 32 || e === 12288;
30116
- function Tr(e, t, n = {}) {
30696
+ var Di = (e) => e === 32 || e === 12288;
30697
+ function Oi(e, t, n = {}) {
30117
30698
  if (Math.abs(t) <= .5) return null;
30118
- let r = n.firstContentSi ?? 0, i = n.lastDrawnSi ?? e.length - 1, a = n.minPerGap ?? -Infinity, o = n.isGapChar ?? Sr, s = n.isWhitespace ?? wr, c = [];
30699
+ let r = n.firstContentSi ?? 0, i = n.lastDrawnSi ?? e.length - 1, a = n.minPerGap ?? -Infinity, o = n.isGapChar ?? Ti, s = n.isWhitespace ?? Di, c = [];
30119
30700
  for (let t = r; t < e.length; t++) {
30120
30701
  let n = e[t];
30121
30702
  if (n === void 0) continue;
@@ -30178,7 +30759,7 @@ function Tr(e, t, n = {}) {
30178
30759
  }
30179
30760
  //#endregion
30180
30761
  //#region packages/core/src/text/justify-positions.ts
30181
- function Er(e, t, n, r, i = 0) {
30762
+ function ki(e, t, n, r, i = 0) {
30182
30763
  let a = [], o = 0, s = 0;
30183
30764
  for (let c of t) a.push({
30184
30765
  text: e.slice(o, c).join(""),
@@ -30190,4 +30771,4 @@ function Er(e, t, n, r, i = 0) {
30190
30771
  }), a;
30191
30772
  }
30192
30773
  //#endregion
30193
- export { s as $, it as A, De as B, St as C, ut as D, dt as E, Be as F, A as G, L as H, ze as I, d as J, j as K, Le as L, rt as M, Ke as N, st as O, Ge as P, m as Q, ke as R, wt as S, lt as T, R as U, I as V, F as W, l as X, p as Y, c as Z, ln as _, xr as a, jt as b, vr as c, Ln as d, t as et, In as f, cn as g, un as h, Sr as i, Qe as j, $e as k, mr as l, Pn as m, Tr as n, br as o, Fn as p, u as q, Cr as r, yr as s, Er as t, pr as u, Qt as v, Ct as w, Nt as x, an as y, Oe as z };
30774
+ export { N as $, nn as A, st as B, Kn as C, vn as D, Dn as E, Zt as F, He as G, tt as H, Gt as I, ae as J, Ve as K, Xt as L, rn as M, en as N, gn as O, Kt as P, M as Q, Lt as R, nr as S, Tn as T, Ze as U, nt as V, Ue as W, oe as X, W as Y, j as Z, kr as _, wi as a, h as at, rr as b, xi as c, l as ct, Br as d, s as dt, C as et, zr as f, t as ft, Ar as g, Fr as h, Ti as i, p as it, an as j, _n as k, _i as l, u as lt, Lr as m, Oi as n, w as nt, Ci as o, d as ot, Nr as p, q, Ei as r, f as rt, Si as s, c as st, ki as t, S as tt, gi as u, g as ut, Or as v, Qn as w, tr as x, Dr as y, ct as z };