@silurus/ooxml 0.85.3 → 0.86.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.
Files changed (56) hide show
  1. package/README.md +39 -7
  2. package/dist/assets/render-worker-BCGnuBLj.js +10 -0
  3. package/dist/assets/render-worker-CB4DxjXg.js +31 -0
  4. package/dist/assets/render-worker-CHW0F0n6.js +11 -0
  5. package/dist/{bounded-raw-part-cache-C6ro6Ezf.js → bounded-raw-part-cache-DVx3Camo.js} +12 -10
  6. package/dist/{canvas-viewer-mechanics-CDNMJ-Yz.js → canvas-viewer-mechanics-B3A7KLLi.js} +1 -1
  7. package/dist/{comment-ui-runtime-DAKBCpsM.js → comment-ui-runtime-DEtgcmj7.js} +5 -5
  8. package/dist/comment-ui-runtime-TLHustXJ.js +2 -0
  9. package/dist/{comment-ui-runtime-CAbpuWi_.js → comment-ui-runtime-ssI6IE39.js} +4 -4
  10. package/dist/{comments-Brfxa3hQ.js → comments-CAn2A_Xh.js} +1 -1
  11. package/dist/delimited-text-worker-host-DcHj_JZt.js +27 -0
  12. package/dist/{document-pull-client-F3ox_VXK.js → document-pull-client-xZrA2IjM.js} +577 -576
  13. package/dist/{docx-BYvm3TWw.js → docx-DzDiGvqe.js} +63 -63
  14. package/dist/docx.mjs +5 -5
  15. package/dist/docx_parser_bg.wasm +0 -0
  16. package/dist/{dom-interaction-boundary-CDGegIB5.js → dom-interaction-boundary-DK1JLkrz.js} +2 -2
  17. package/dist/{line-metrics-BGtFM-ec.js → hyperlink-enyPbflR.js} +847 -877
  18. package/dist/index.mjs +3 -3
  19. package/dist/line-distribute-BFB575d6.js +1023 -0
  20. package/dist/line-metrics-CBbw80Ko.js +60 -0
  21. package/dist/node.mjs +91 -91
  22. package/dist/{pptx-BqpVTP8p.js → pptx-D_U62nl-.js} +71 -71
  23. package/dist/pptx.mjs +5 -5
  24. package/dist/pptx_parser_bg.wasm +0 -0
  25. package/dist/{render-DeZpRCfx.js → render-DSn0d35X.js} +1 -1
  26. package/dist/{render-worker-host-CBcQXsR5.js → render-worker-host-BHz9vjxB.js} +1 -1
  27. package/dist/{render-worker-host-BKtXmlEF.js → render-worker-host-CO0UYoQh.js} +1 -1
  28. package/dist/{render-worker-host-CNKQ76tu.js → render-worker-host-CbYDBg7U.js} +1 -1
  29. package/dist/{resource-measurement-D41R-0Bl.js → resource-measurement-Do07ZRcR.js} +7 -7
  30. package/dist/{session-n2p5_jxV.js → session-C1GYhr6n.js} +77 -77
  31. package/dist/{slide-pull-client-Dwek7xW8.js → slide-pull-client-DuEaUxPw.js} +732 -732
  32. package/dist/types/chart-ex.d.ts +2 -2
  33. package/dist/types/docx.d.ts +10 -10
  34. package/dist/types/index.d.ts +38 -18
  35. package/dist/types/math.d.ts +1 -1
  36. package/dist/types/node.d.ts +6 -5
  37. package/dist/types/pptx.d.ts +10 -10
  38. package/dist/types/region-map.d.ts +2 -2
  39. package/dist/types/three-d.d.ts +2 -2
  40. package/dist/types/tiff.d.ts +1 -1
  41. package/dist/types/xlsx.d.ts +34 -14
  42. package/dist/{worksheet-pull-client-C9sC36Vu.js → worksheet-pull-client-eDiHHEG2.js} +99 -96
  43. package/dist/{xlsx-DSU6pV1O.js → xlsx-CMHmYTHP.js} +1629 -1469
  44. package/dist/xlsx.mjs +5 -5
  45. package/dist/xlsx_parser_bg.wasm +0 -0
  46. package/package.json +1 -1
  47. package/dist/assets/render-worker-D1O73gYW.js +0 -10
  48. package/dist/assets/render-worker-DHP0rgcW.js +0 -24
  49. package/dist/assets/render-worker-V2wWYA4O.js +0 -11
  50. package/dist/comment-ui-runtime-DTaaZdXC.js +0 -2
  51. package/dist/line-distribute-BsV4MVZ2.js +0 -1023
  52. /package/dist/{comment-occurrence-tj54AXXB.js → comment-occurrence-Dhdplprg.js} +0 -0
  53. /package/dist/{highlight-rect-DBcYVJDv.js → highlight-rect-FuUSmL3a.js} +0 -0
  54. /package/dist/{read-only-comment-decoration-Mv_SAiHy.js → read-only-comment-decoration-BTnWEeo5.js} +0 -0
  55. /package/dist/{read-only-comment-margin-Cqu-Ir0C.js → read-only-comment-margin-plStyGfE.js} +0 -0
  56. /package/dist/{source-key-BkBB3X82.js → source-key-Ktb1GRE5.js} +0 -0
@@ -0,0 +1,1023 @@
1
+ import { Dt as e, S as t, v as n, y as r } from "./hyperlink-enyPbflR.js";
2
+ import { _ as i } from "./plot-area-frame-D5hEOgkJ.js";
3
+ //#region packages/core/src/fonts/symbol-font.ts
4
+ var a = {
5
+ 167: "♣",
6
+ 168: "♦",
7
+ 169: "♥",
8
+ 170: "♠",
9
+ 171: "↔",
10
+ 172: "←",
11
+ 173: "↑",
12
+ 174: "→",
13
+ 175: "↓",
14
+ 183: "•",
15
+ 184: "÷",
16
+ 185: "≠",
17
+ 180: "×",
18
+ 176: "°",
19
+ 177: "±",
20
+ 163: "≤",
21
+ 179: "≥"
22
+ }, o = {
23
+ 33: "✏",
24
+ 34: "✂",
25
+ 36: "👓",
26
+ 74: "☺",
27
+ 75: "😐",
28
+ 76: "☹",
29
+ 118: "❖",
30
+ 167: "▪",
31
+ 108: "●",
32
+ 110: "■",
33
+ 116: "◆",
34
+ 119: "◆",
35
+ 251: "✗",
36
+ 252: "✓",
37
+ 253: "☒",
38
+ 254: "☑",
39
+ 223: "←",
40
+ 224: "→",
41
+ 225: "↑",
42
+ 226: "↓",
43
+ 227: "↖",
44
+ 228: "↗",
45
+ 229: "↙",
46
+ 230: "↘"
47
+ };
48
+ function s(e) {
49
+ let t = {};
50
+ for (let n of Object.keys(e)) {
51
+ let r = Number(n);
52
+ t[r] = e[r], t[61440 + r] = e[r];
53
+ }
54
+ return t;
55
+ }
56
+ var c = s(a), l = s(o);
57
+ function u(e, t) {
58
+ if (!t) return e;
59
+ let n = t.trim().toLowerCase(), r = n === "wingdings" ? l : n === "symbol" ? c : null;
60
+ return r ? r[e.charCodeAt(0)] ?? e : e;
61
+ }
62
+ function d(e) {
63
+ if (!e) return !1;
64
+ let t = e.toLowerCase();
65
+ return t === "symbol" || t.includes("wingdings");
66
+ }
67
+ function f(e, t) {
68
+ if (!d(t) || e.length === 0) return [{
69
+ text: e,
70
+ mapped: !1
71
+ }];
72
+ let n = [], r = "", i = null;
73
+ for (let a of e) {
74
+ let e = u(a, t), o = e !== a;
75
+ i === null || o === i ? (i = o, r += e) : (n.push({
76
+ text: r,
77
+ mapped: i
78
+ }), i = o, r = e);
79
+ }
80
+ return r.length > 0 && n.push({
81
+ text: r,
82
+ mapped: i ?? !1
83
+ }), n;
84
+ }
85
+ //#endregion
86
+ //#region packages/core/src/shape/custGeom.ts
87
+ function p(e, t, n, r, i) {
88
+ let a = Infinity, o = Infinity, s = -Infinity, c = -Infinity, l = (e, t) => {
89
+ !Number.isFinite(e) || !Number.isFinite(t) || (a = Math.min(a, e), o = Math.min(o, t), s = Math.max(s, e), c = Math.max(c, t));
90
+ };
91
+ for (let a of e) {
92
+ let e = 0, o = 0;
93
+ for (let s of a) switch (s.cmd) {
94
+ case "moveTo":
95
+ case "lineTo":
96
+ e = s.x, o = s.y, l(t + e * r, n + o * i);
97
+ break;
98
+ case "cubicBezTo":
99
+ l(t + s.x1 * r, n + s.y1 * i), l(t + s.x2 * r, n + s.y2 * i), e = s.x, o = s.y, l(t + e * r, n + o * i);
100
+ break;
101
+ case "quadBezTo":
102
+ l(t + s.x1 * r, n + s.y1 * i), e = s.x, o = s.y, l(t + e * r, n + o * i);
103
+ break;
104
+ case "arcTo": {
105
+ let a = Math.abs(s.wr * r), c = Math.abs(s.hr * i);
106
+ if (a <= 0 || c <= 0) break;
107
+ let u = s.stAng * Math.PI / 180, d = s.swAng * Math.PI / 180, f = t + e * r, p = n + o * i, m = f - a * Math.cos(u), h = p - c * Math.sin(u);
108
+ l(m - a, h - c), l(m + a, h + c);
109
+ let g = u + d;
110
+ e = (m + a * Math.cos(g) - t) / r, o = (h + c * Math.sin(g) - n) / i;
111
+ break;
112
+ }
113
+ case "close": break;
114
+ }
115
+ }
116
+ return Number.isFinite(a) ? {
117
+ x: a,
118
+ y: o,
119
+ w: s - a,
120
+ h: c - o
121
+ } : null;
122
+ }
123
+ function m(e, t, n, r, i, a) {
124
+ for (let o of t) {
125
+ let t = 0, s = 0;
126
+ for (let c of o) switch (c.cmd) {
127
+ case "moveTo":
128
+ e.moveTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
129
+ break;
130
+ case "lineTo":
131
+ e.lineTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
132
+ break;
133
+ case "cubicBezTo":
134
+ e.bezierCurveTo(n + c.x1 * i, r + c.y1 * a, n + c.x2 * i, r + c.y2 * a, n + c.x * i, r + c.y * a), t = c.x, s = c.y;
135
+ break;
136
+ case "quadBezTo":
137
+ e.quadraticCurveTo(n + c.x1 * i, r + c.y1 * a, n + c.x * i, r + c.y * a), t = c.x, s = c.y;
138
+ break;
139
+ case "arcTo": {
140
+ let o = c.wr * i, l = c.hr * a;
141
+ if (o <= 0 || l <= 0) break;
142
+ let u = c.stAng * Math.PI / 180, d = c.swAng * Math.PI / 180, f = n + t * i, p = r + s * a, m = f - o * Math.cos(u), h = p - l * Math.sin(u), g = u + d;
143
+ e.ellipse(m, h, o, l, 0, u, g, d < 0), t = (m + o * Math.cos(g) - n) / i, s = (h + l * Math.sin(g) - r) / a;
144
+ break;
145
+ }
146
+ case "close":
147
+ e.closePath();
148
+ break;
149
+ }
150
+ }
151
+ }
152
+ //#endregion
153
+ //#region packages/core/src/shape/custgeom-endpoints.ts
154
+ var h = 1e-9;
155
+ function g(e) {
156
+ return e.cmd === "lineTo" || e.cmd === "cubicBezTo" || e.cmd === "quadBezTo" || e.cmd === "arcTo";
157
+ }
158
+ function _(e, t, n, r) {
159
+ let i = n === 0 ? 0 : n, a = r === 0 ? 0 : r;
160
+ return {
161
+ x: e,
162
+ y: t,
163
+ dx: i,
164
+ dy: a,
165
+ angle: Math.atan2(a, i)
166
+ };
167
+ }
168
+ function v(e, t, n) {
169
+ switch (n.cmd) {
170
+ case "lineTo": return {
171
+ dx: n.x - e,
172
+ dy: n.y - t
173
+ };
174
+ case "cubicBezTo": {
175
+ let r = n.x1 - e, i = n.y1 - t;
176
+ return Math.abs(r) < h && Math.abs(i) < h && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < h && Math.abs(i) < h && (r = n.x - e, i = n.y - t), {
177
+ dx: r,
178
+ dy: i
179
+ };
180
+ }
181
+ case "quadBezTo": {
182
+ let r = n.x1 - e, i = n.y1 - t;
183
+ return Math.abs(r) < h && Math.abs(i) < h && (r = n.x - e, i = n.y - t), {
184
+ dx: r,
185
+ dy: i
186
+ };
187
+ }
188
+ case "arcTo": {
189
+ let e = n.stAng * Math.PI / 180, t = n.swAng < 0 ? -1 : 1;
190
+ return {
191
+ dx: -n.wr * Math.sin(e) * t,
192
+ dy: n.hr * Math.cos(e) * t
193
+ };
194
+ }
195
+ default: return {
196
+ dx: 0,
197
+ dy: 0
198
+ };
199
+ }
200
+ }
201
+ function y(e, t, n) {
202
+ switch (n.cmd) {
203
+ case "moveTo":
204
+ case "lineTo":
205
+ case "cubicBezTo":
206
+ case "quadBezTo": return {
207
+ x: n.x,
208
+ y: n.y
209
+ };
210
+ case "arcTo": {
211
+ if (n.wr <= 0 || n.hr <= 0) return {
212
+ x: e,
213
+ y: t
214
+ };
215
+ let r = n.stAng * Math.PI / 180, i = r + n.swAng * Math.PI / 180, a = e - n.wr * Math.cos(r), o = t - n.hr * Math.sin(r);
216
+ return {
217
+ x: a + n.wr * Math.cos(i),
218
+ y: o + n.hr * Math.sin(i)
219
+ };
220
+ }
221
+ default: return {
222
+ x: e,
223
+ y: t
224
+ };
225
+ }
226
+ }
227
+ function b(e, t, n) {
228
+ let { x: r, y: i } = y(e, t, n);
229
+ switch (n.cmd) {
230
+ case "lineTo": return {
231
+ dx: n.x - e,
232
+ dy: n.y - t,
233
+ x: r,
234
+ y: i
235
+ };
236
+ case "cubicBezTo": {
237
+ let a = n.x - n.x2, o = n.y - n.y2;
238
+ return Math.abs(a) < h && Math.abs(o) < h && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < h && Math.abs(o) < h && (a = n.x - e, o = n.y - t), {
239
+ dx: a,
240
+ dy: o,
241
+ x: r,
242
+ y: i
243
+ };
244
+ }
245
+ case "quadBezTo": {
246
+ let a = n.x - n.x1, o = n.y - n.y1;
247
+ return Math.abs(a) < h && Math.abs(o) < h && (a = n.x - e, o = n.y - t), {
248
+ dx: a,
249
+ dy: o,
250
+ x: r,
251
+ y: i
252
+ };
253
+ }
254
+ case "arcTo": {
255
+ if (n.wr <= 0 || n.hr <= 0) return {
256
+ dx: 0,
257
+ dy: 0,
258
+ x: r,
259
+ y: i
260
+ };
261
+ let e = n.stAng * Math.PI / 180 + n.swAng * Math.PI / 180, t = n.swAng < 0 ? -1 : 1;
262
+ return {
263
+ dx: -n.wr * Math.sin(e) * t,
264
+ dy: n.hr * Math.cos(e) * t,
265
+ x: r,
266
+ y: i
267
+ };
268
+ }
269
+ default: return {
270
+ dx: 0,
271
+ dy: 0,
272
+ x: r,
273
+ y: i
274
+ };
275
+ }
276
+ }
277
+ function x(e) {
278
+ let t = 0, n = 0, r = !1;
279
+ for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} = y(t, n, i);
280
+ return r ? {
281
+ x: t,
282
+ y: n
283
+ } : null;
284
+ }
285
+ function S(e) {
286
+ if (e.some((e) => e.cmd === "close")) return !0;
287
+ let t = e.find((e) => e.cmd === "moveTo");
288
+ if (!t) return !1;
289
+ let n = x(e);
290
+ return !n || !e.some(g) ? !1 : Math.abs(n.x - t.x) < h && Math.abs(n.y - t.y) < h;
291
+ }
292
+ function C(e) {
293
+ let t = {
294
+ start: null,
295
+ end: null
296
+ };
297
+ if (!e || e.length === 0) return t;
298
+ let n = e[0];
299
+ if (n && n.length > 0 && !S(n)) {
300
+ let e = n.find((e) => e.cmd === "moveTo"), r = n.find(g);
301
+ if (e && r) {
302
+ let n = v(e.x, e.y, r);
303
+ (Math.abs(n.dx) > h || Math.abs(n.dy) > h) && (t.start = _(e.x, e.y, -n.dx, -n.dy));
304
+ }
305
+ }
306
+ let r = e[e.length - 1];
307
+ if (r && r.length > 0 && !S(r)) {
308
+ let e = 0, n = 0, i = -1;
309
+ for (let e = 0; e < r.length; e++) g(r[e]) && (i = e);
310
+ if (i >= 0) {
311
+ for (let t = 0; t < i; t++) ({x: e, y: n} = y(e, n, r[t]));
312
+ let a = b(e, n, r[i]);
313
+ (Math.abs(a.dx) > h || Math.abs(a.dy) > h) && (t.end = _(a.x, a.y, a.dx, a.dy));
314
+ }
315
+ }
316
+ return t;
317
+ }
318
+ //#endregion
319
+ //#region packages/core/src/shape/preset.ts
320
+ function w(e, t, n, r, i, a, o, s = -Math.PI / 2) {
321
+ let c = a * 2;
322
+ for (let l = 0; l < c; l++) {
323
+ 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);
324
+ l === 0 ? e.moveTo(d, f) : e.lineTo(d, f);
325
+ }
326
+ e.closePath();
327
+ }
328
+ function T(e, t, n, r, i, a, o = -Math.PI / 2) {
329
+ for (let s = 0; s < a; s++) {
330
+ let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
331
+ s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
332
+ }
333
+ e.closePath();
334
+ }
335
+ function E(e, t, n, r, i, a, o) {
336
+ 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);
337
+ return e.ellipse(u, d, Math.abs(r), Math.abs(i), 0, c, l, o < 0), {
338
+ x: u + r * Math.cos(l),
339
+ y: d + i * Math.sin(l)
340
+ };
341
+ }
342
+ var D = {
343
+ oval: "ellipse",
344
+ rtriangle: "rttriangle",
345
+ roundrectangle: "roundrect",
346
+ flowchartsumingjunction: "flowchartsummingjunction"
347
+ }, O = new Set(/* @__PURE__ */ "ellipse.rttriangle.triangle.diamond.trapezoid.roundrect.snip1rect.frame.irregularseal1.irregularseal2.star4.star8.star12.star16.star24.star32.line.straightconnector1.callout1.bordercallout1.leftuparrow.quadarrowcallout.mathequal.mathplus.mathminus.flowchartdecision.flowchartmanualinput.flowchartconnector.flowchartinputoutput.flowchartmerge.flowchartextract.flowchartpreparation.flowchartcollate".split(".")), k = new Set([
348
+ "accentcallout1",
349
+ "accentbordercallout1",
350
+ "flowchartpredefinedprocess",
351
+ "flowchartsort",
352
+ "flowchartinternalstorage",
353
+ "flowchartsummingjunction"
354
+ ]), A = new Set([
355
+ "round2samerect",
356
+ "round2diagrect",
357
+ "dodecagon",
358
+ "star10"
359
+ ]);
360
+ function j(t, n, r, i, a, o, s = null, c = null, l = null, u = null) {
361
+ let d = r + a / 2, f = i + o / 2;
362
+ {
363
+ let d = n.toLowerCase(), f = D[d] ?? d;
364
+ if ((O.has(f) || k.has(f) || A.has(f)) && e(t, f, r, i, a, o, [
365
+ s,
366
+ c,
367
+ l,
368
+ u
369
+ ])) return;
370
+ }
371
+ switch (n.toLowerCase()) {
372
+ case "parallelogram": {
373
+ let e = a * Math.min(.5, (s ?? 25e3) / 1e5);
374
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a - e, i + o), t.lineTo(r, i + o), t.closePath();
375
+ break;
376
+ }
377
+ case "pentagon":
378
+ T(t, d, f, a / 2, o / 2, 5);
379
+ break;
380
+ case "hexagon":
381
+ T(t, d, f, a / 2, o / 2, 6, 0);
382
+ break;
383
+ case "heptagon":
384
+ T(t, d, f, a / 2, o / 2, 7);
385
+ break;
386
+ case "octagon":
387
+ T(t, d, f, a / 2, o / 2, 8, -Math.PI / 8);
388
+ break;
389
+ case "decagon":
390
+ T(t, d, f, a / 2, o / 2, 10);
391
+ break;
392
+ case "star5":
393
+ case "star":
394
+ w(t, d, f, a / 2, o / 2, 5, (s ?? 19098) / 5e4);
395
+ break;
396
+ case "star6":
397
+ w(t, d, f, a / 2, o / 2, 6, (s ?? 28868) / 5e4, 0);
398
+ break;
399
+ case "star7":
400
+ w(t, d, f, a / 2, o / 2, 7, (s ?? 34142) / 5e4);
401
+ break;
402
+ case "rightarrow": {
403
+ let e = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 5e4) / 1e5), l = i + (o - e) / 2;
404
+ t.moveTo(r, l), t.lineTo(r + a - n, l), t.lineTo(r + a - n, i), t.lineTo(r + a, f), t.lineTo(r + a - n, i + o), t.lineTo(r + a - n, l + e), t.lineTo(r, l + e), t.closePath();
405
+ break;
406
+ }
407
+ case "leftarrow": {
408
+ let e = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 5e4) / 1e5), l = i + (o - e) / 2;
409
+ t.moveTo(r + a, l), t.lineTo(r + n, l), t.lineTo(r + n, i), t.lineTo(r, f), t.lineTo(r + n, i + o), t.lineTo(r + n, l + e), t.lineTo(r + a, l + e), t.closePath();
410
+ break;
411
+ }
412
+ case "uparrow": {
413
+ let e = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(1, (c ?? 5e4) / 1e5), l = r + (a - e) / 2;
414
+ t.moveTo(d, i), t.lineTo(r + a, i + n), t.lineTo(l + e, i + n), t.lineTo(l + e, i + o), t.lineTo(l, i + o), t.lineTo(l, i + n), t.lineTo(r, i + n), t.closePath();
415
+ break;
416
+ }
417
+ case "downarrow": {
418
+ let e = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(1, (c ?? 5e4) / 1e5), l = r + (a - e) / 2;
419
+ t.moveTo(d, i + o), t.lineTo(r + a, i + o - n), t.lineTo(l + e, i + o - n), t.lineTo(l + e, i), t.lineTo(l, i), t.lineTo(l, i + o - n), t.lineTo(r, i + o - n), t.closePath();
420
+ break;
421
+ }
422
+ case "leftrightarrow": {
423
+ let e = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(.5, (c ?? 25e3) / 1e5), l = i + (o - e) / 2;
424
+ t.moveTo(r, f), t.lineTo(r + n, i), t.lineTo(r + n, l), t.lineTo(r + a - n, l), t.lineTo(r + a - n, i), t.lineTo(r + a, f), t.lineTo(r + a - n, i + o), t.lineTo(r + a - n, l + e), t.lineTo(r + n, l + e), t.lineTo(r + n, i + o), t.closePath();
425
+ break;
426
+ }
427
+ case "updownarrow": {
428
+ let e = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(.5, (c ?? 25e3) / 1e5), l = r + (a - e) / 2;
429
+ t.moveTo(d, i), t.lineTo(r + a, i + n), t.lineTo(l + e, i + n), t.lineTo(l + e, i + o - n), t.lineTo(r + a, i + o - n), t.lineTo(d, i + o), t.lineTo(r, i + o - n), t.lineTo(l, i + o - n), t.lineTo(l, i + n), t.lineTo(r, i + n), t.closePath();
430
+ break;
431
+ }
432
+ case "notchedrightarrow": {
433
+ let e = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 35e3) / 1e5), l = i + (o - e) / 2, u = n * .43;
434
+ t.moveTo(r, l), t.lineTo(r + a - n, l), t.lineTo(r + a - n, i), t.lineTo(r + a, f), t.lineTo(r + a - n, i + o), t.lineTo(r + a - n, l + e), t.lineTo(r, l + e), t.lineTo(r + u, f), t.closePath();
435
+ break;
436
+ }
437
+ case "chevron": {
438
+ let e = a * Math.min(1, Math.max(0, (s ?? 5e4) / 1e5));
439
+ t.moveTo(r, i), t.lineTo(r + e, i), t.lineTo(r + a, f), t.lineTo(r + e, i + o), t.lineTo(r, i + o), e > 0 && t.lineTo(r + e, f), t.closePath();
440
+ break;
441
+ }
442
+ case "homeplate": {
443
+ let e = o * .4;
444
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.lineTo(d, i + o), t.lineTo(r, i + o - e), t.closePath();
445
+ break;
446
+ }
447
+ case "leftbracket": {
448
+ let e = Math.min(o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5, o / 2);
449
+ t.moveTo(r + a, i), t.quadraticCurveTo(r, i, r, i + e), o - 2 * e > .5 && t.lineTo(r, i + o - e), t.quadraticCurveTo(r, i + o, r + a, i + o);
450
+ break;
451
+ }
452
+ case "rightbracket": {
453
+ let e = Math.min(o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5, o / 2);
454
+ t.moveTo(r, i), t.quadraticCurveTo(r + a, i, r + a, i + e), o - 2 * e > .5 && t.lineTo(r + a, i + o - e), t.quadraticCurveTo(r + a, i + o, r, i + o);
455
+ break;
456
+ }
457
+ case "leftbrace": {
458
+ let e = f, n = a * .45;
459
+ t.moveTo(r + a, i), t.bezierCurveTo(r + a - n, i, r + a - n, e - o * .08, r, e), t.bezierCurveTo(r + a - n, e + o * .08, r + a - n, i + o, r + a, i + o);
460
+ break;
461
+ }
462
+ case "rightbrace": {
463
+ let e = f, n = a * .45;
464
+ t.moveTo(r, i), t.bezierCurveTo(r + n, i, r + n, e - o * .08, r + a, e), t.bezierCurveTo(r + n, e + o * .08, r + n, i + o, r, i + o);
465
+ break;
466
+ }
467
+ case "wedgerectcallout": {
468
+ t.rect(r, i, a, o * .8);
469
+ let e = r + a * .2, n = i + o;
470
+ t.moveTo(r + a * .1, i + o * .8), t.lineTo(e, n), t.lineTo(r + a * .3, i + o * .8), t.closePath();
471
+ break;
472
+ }
473
+ case "wedgeellipsecallout": {
474
+ let e = (s ?? -2e4) / 1e5 * a, n = (c ?? 12e4) / 1e5 * o, r = d + e, i = f + n;
475
+ t.ellipse(d, f, a / 2, o / 2, 0, 0, Math.PI * 2);
476
+ let l = Math.atan2(n, e), u = Math.PI / 10, p = a / 2, m = o / 2, h = d + p * Math.cos(l - u), g = f + m * Math.sin(l - u), _ = d + p * Math.cos(l + u), v = f + m * Math.sin(l + u);
477
+ t.moveTo(h, g), t.lineTo(r, i), t.lineTo(_, v), t.closePath();
478
+ break;
479
+ }
480
+ case "cloudcallout": {
481
+ let e = Math.min(a, o) * .22, n = [
482
+ [d - a * .25, i + o * .35],
483
+ [d - a * .1, i + o * .15],
484
+ [d + a * .1, i + o * .1],
485
+ [d + a * .28, i + o * .2],
486
+ [d + a * .35, i + o * .4]
487
+ ];
488
+ t.moveTo(n[0][0] - e, n[0][1]);
489
+ for (let [r, i] of n) t.arc(r, i, e, Math.PI, 0);
490
+ t.arc(d, i + o * .65, a * .45, 0, Math.PI), t.closePath();
491
+ let r = d + (s ?? -2e4) / 1e5 * a, l = f + (c ?? 12e4) / 1e5 * o;
492
+ t.moveTo(d + a * .05, i + o * .8), t.arc(r, l, Math.min(a, o) * .07, 0, Math.PI * 2);
493
+ break;
494
+ }
495
+ case "bentconnector2":
496
+ case "bentconnector3":
497
+ case "bentconnector4":
498
+ case "bentconnector5":
499
+ case "curvedconnector2":
500
+ case "curvedconnector3":
501
+ case "curvedconnector4":
502
+ case "curvedconnector5":
503
+ t.moveTo(r, i), t.lineTo(r + a, i + o);
504
+ break;
505
+ case "heart":
506
+ t.moveTo(d, i + o * .32), t.bezierCurveTo(d, i, r + a * .05, i, r, i + o * .3), t.bezierCurveTo(r, i + o * .68, d - a * .05, i + o * .78, d, i + o), t.bezierCurveTo(d + a * .05, i + o * .78, r + a, i + o * .68, r + a, i + o * .3), t.bezierCurveTo(r + a - a * .05, i, d, i, d, i + o * .32);
507
+ break;
508
+ case "donut": {
509
+ let e = a / 2, n = o / 2, r = Math.min(e, n) * (s ?? 25e3) / 1e5, i = e - r, c = n - r;
510
+ t.ellipse(d, f, e, n, 0, 0, Math.PI * 2, !1), t.moveTo(d + i, f), t.ellipse(d, f, i, c, 0, 0, Math.PI * 2, !0);
511
+ break;
512
+ }
513
+ case "nosmoking":
514
+ case "nosmokingsign": {
515
+ let e = (s ?? 18750) / 1e5, n = a / 2, r = o / 2, i = n * (1 - 2 * e), c = r * (1 - 2 * e);
516
+ t.ellipse(d, f, n, r, 0, 0, Math.PI * 2, !1), t.moveTo(d + i, f), t.ellipse(d, f, i, c, 0, 0, Math.PI * 2, !0), t.moveTo(d + i, f), t.ellipse(d, f, i, c, 0, 0, Math.PI / 2, !1), t.lineTo(d - i, f), t.ellipse(d, f, i, c, 0, Math.PI, 3 * Math.PI / 2, !1), t.closePath();
517
+ break;
518
+ }
519
+ case "pie": {
520
+ let e = (s ?? 0) / 216e5 * Math.PI * 2, n = (c ?? 162e5) / 216e5 * Math.PI * 2;
521
+ t.moveTo(d, f), t.arc(d, f, Math.min(a, o) / 2, e, n), t.closePath();
522
+ break;
523
+ }
524
+ case "cloud": {
525
+ let e = o * .28;
526
+ t.arc(r + a * .25, i + o * .55, e, Math.PI, Math.PI * 1.8), t.arc(r + a * .45, i + o * .35, e * 1.1, Math.PI * 1.3, Math.PI * 1.9), t.arc(r + a * .65, i + o * .4, e, Math.PI * 1.5, Math.PI * 2), t.arc(r + a * .8, i + o * .6, e * .9, Math.PI * 1.6, Math.PI * .1), t.arc(r + a * .55, i + o * .75, e, 0, Math.PI * .7), t.arc(r + a * .25, i + o * .7, e * .9, 0, Math.PI), t.closePath();
527
+ break;
528
+ }
529
+ case "funnel":
530
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(d + a * .15, i + o), t.lineTo(d - a * .15, i + o), t.closePath();
531
+ break;
532
+ case "smileyface": {
533
+ t.ellipse(d, f, a / 2, o / 2, 0, 0, Math.PI * 2), t.closePath();
534
+ let e = a * .05, n = o * .05, r = f - o * .12;
535
+ t.moveTo(d - a * .2 + e, r), t.ellipse(d - a * .2, r, e, n, 0, 0, Math.PI * 2), t.moveTo(d + a * .2 + e, r), t.ellipse(d + a * .2, r, e, n, 0, 0, Math.PI * 2), t.moveTo(d - a * .25, f + o * .05), t.quadraticCurveTo(d, f + o * .3, d + a * .25, f + o * .05);
536
+ break;
537
+ }
538
+ case "document":
539
+ case "foldedcorner": {
540
+ let e = Math.min(a, o) * .15;
541
+ t.moveTo(r, i), t.lineTo(r + a - e, i), t.lineTo(r + a, i + e), t.lineTo(r + a, i + o), t.lineTo(r, i + o), t.closePath(), t.moveTo(r + a - e, i), t.lineTo(r + a - e, i + e), t.lineTo(r + a, i + e);
542
+ break;
543
+ }
544
+ case "snip2samerect": {
545
+ let e = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
546
+ t.moveTo(r, i), t.lineTo(r + a - e, i), t.lineTo(r + a, i + e), t.lineTo(r + a, i + o), t.lineTo(r + e, i + o), t.lineTo(r, i + o - e), t.closePath();
547
+ break;
548
+ }
549
+ case "snip2diagrect": {
550
+ let e = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
551
+ t.moveTo(r + e, i), t.lineTo(r + a - e, i), t.lineTo(r + a, i + e), t.lineTo(r + a, i + o - e), t.lineTo(r + a - e, i + o), t.lineTo(r + e, i + o), t.lineTo(r, i + o - e), t.lineTo(r, i + e), t.closePath();
552
+ break;
553
+ }
554
+ case "sniproundrect": {
555
+ let e = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
556
+ t.moveTo(r + e, i), t.lineTo(r + a - e, i), t.lineTo(r + a, i + e), t.lineTo(r + a, i + o), t.lineTo(r, i + o), t.quadraticCurveTo(r, i, r + e, i), t.closePath();
557
+ break;
558
+ }
559
+ case "round1rect": {
560
+ let e = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
561
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o), t.lineTo(r, i + o), t.lineTo(r, i + e), t.quadraticCurveTo(r, i, r + e, i), t.closePath();
562
+ break;
563
+ }
564
+ case "plaque": {
565
+ let e = Math.min(a, o) * .25;
566
+ t.moveTo(r + e, i), t.lineTo(r + a - e, i), t.quadraticCurveTo(r + a, i, r + a, i + e), t.lineTo(r + a, i + o - e), t.quadraticCurveTo(r + a, i + o, r + a - e, i + o), t.lineTo(r + e, i + o), t.quadraticCurveTo(r, i + o, r, i + o - e), t.lineTo(r, i + e), t.quadraticCurveTo(r, i, r + e, i), t.closePath();
567
+ break;
568
+ }
569
+ case "can": {
570
+ let e = o * .1;
571
+ t.ellipse(d, i + e, a / 2, e, 0, 0, Math.PI * 2), t.moveTo(r, i + e), t.lineTo(r, i + o - e), t.ellipse(d, i + o - e, a / 2, e, 0, Math.PI, 2 * Math.PI), t.lineTo(r + a, i + e);
572
+ break;
573
+ }
574
+ case "cube": {
575
+ let e = Math.min(a, o) * .2;
576
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.lineTo(r + a - e, i + o), t.lineTo(r, i + o), t.lineTo(r, i + e), t.closePath(), t.moveTo(r + e, i), t.lineTo(r + e, i + e), t.lineTo(r + a - e, i + e), t.moveTo(r + e, i + e), t.lineTo(r, i + e);
577
+ break;
578
+ }
579
+ case "bevel": {
580
+ let e = Math.min(a, o) * .1;
581
+ t.rect(r, i, a, o), t.moveTo(r, i), t.lineTo(r + e, i + e), t.lineTo(r + a - e, i + e), t.lineTo(r + a, i), t.moveTo(r + a - e, i + e), t.lineTo(r + a - e, i + o - e), t.lineTo(r + a, i + o), t.moveTo(r + a - e, i + o - e), t.lineTo(r + e, i + o - e), t.lineTo(r, i + o), t.moveTo(r + e, i + o - e), t.lineTo(r + e, i + e);
582
+ break;
583
+ }
584
+ case "halfframe": {
585
+ let e = Math.min(a, o) * .25;
586
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + e), t.lineTo(r + e, i + e), t.lineTo(r + e, i + o), t.lineTo(r, i + o), t.closePath();
587
+ break;
588
+ }
589
+ case "corner": {
590
+ let e = Math.min(a, o) * .25;
591
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + e), t.lineTo(r + e, i + e), t.lineTo(r + e, i + o), t.lineTo(r, i + o), t.closePath();
592
+ break;
593
+ }
594
+ case "flowchartalternateprocess":
595
+ case "flowchartprocess": {
596
+ let e = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
597
+ t.roundRect(r, i, a, o, [{
598
+ x: e,
599
+ y: e
600
+ }]);
601
+ break;
602
+ }
603
+ case "flowchartterminator": {
604
+ let e = Math.min(a, o) / 2;
605
+ t.roundRect(r, i, a, o, [{
606
+ x: e,
607
+ y: e
608
+ }]);
609
+ break;
610
+ }
611
+ case "flowchartdocument": {
612
+ let e = o * .1;
613
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - e * 2, r, i + o - e), t.closePath();
614
+ break;
615
+ }
616
+ case "moon":
617
+ t.arc(d, f, Math.min(a, o) / 2, -Math.PI / 2, Math.PI / 2), t.arc(d - a * .2, f, Math.min(a, o) / 2, Math.PI / 2, -Math.PI / 2, !0), t.closePath();
618
+ break;
619
+ case "arc": {
620
+ let e = 216e5, n = (s ?? 162e5) / e * Math.PI * 2, r = (c ?? 54e5) / e * Math.PI * 2;
621
+ t.ellipse(d, f, a / 2, o / 2, 0, n, n + r, r < 0);
622
+ break;
623
+ }
624
+ case "mathmultiply": {
625
+ let e = Math.min(a, o) * Math.min(51965, Math.max(0, s ?? 23520)) / 1e5, n = Math.atan2(o, a), c = Math.sin(n), l = Math.cos(n), u = e / 2 * c, d = e / 2 * l;
626
+ t.moveTo(r + u, i - d), t.lineTo(r - u, i + d), t.lineTo(r + a - u, i + o + d), t.lineTo(r + a + u, i + o - d), t.closePath(), t.moveTo(r + a - u, i - d), t.lineTo(r + a + u, i + d), t.lineTo(r + u, i + o + d), t.lineTo(r - u, i + o - d), t.closePath();
627
+ break;
628
+ }
629
+ case "mathdivide": {
630
+ let e = Math.min(36745, Math.max(1e3, s ?? 23520)), n = (73490 + -e) / 4, r = 36745 * a / o, u = Math.min(Math.min(n, r), Math.max(1e3, l ?? 11760)), p = 73490 + 4 * u - e, m = Math.min(p, Math.max(0, c ?? 5880)), h = o * e / 2e5, g = o * m / 1e5, _ = o * u / 1e5, v = a * 73490 / 2e5, y = f - h, b = f + h, x = y - (g + _) - _, S = i + o - x, C = d - v, w = d + v;
631
+ t.rect(C, y, w - C, b - y), t.moveTo(d + _, x + _), t.arc(d, x + _, _, 0, Math.PI * 2), t.moveTo(d + _, S - _), t.arc(d, S - _, _, 0, Math.PI * 2);
632
+ break;
633
+ }
634
+ case "quadarrow": {
635
+ let e = a * (s ?? 23e3) / 1e5, n = a * (c ?? 3e4) / 1e5, l = r + (a - e) / 2, u = i + (o - e) / 2;
636
+ t.moveTo(d, i), t.lineTo(r + a - n, i + n), t.lineTo(r + a - n, u), t.lineTo(l + e, u), t.lineTo(l + e, i + n), t.lineTo(r + n, i + n), t.lineTo(r + a, f), t.lineTo(r + a - n, i + o - n), t.lineTo(l + e, i + o - n), t.lineTo(l + e, u + e), t.lineTo(r + a - n, u + e), t.lineTo(r + a - n, i + o - n), t.lineTo(d, i + o), t.lineTo(r + n, i + o - n), t.lineTo(r + n, u + e), t.lineTo(l, u + e), t.lineTo(l, i + o - n), t.lineTo(r, f), t.lineTo(r + n, i + n), t.lineTo(l, i + n), t.lineTo(l, u), t.lineTo(r + n, u), t.closePath();
637
+ break;
638
+ }
639
+ case "wave": {
640
+ let e = o * (s ?? 12500) / 1e5, n = i + e, c = i + o - e;
641
+ t.moveTo(r, n), t.bezierCurveTo(r + a * .25, i, r + a * .25, i + e * 2, r + a * .5, n), t.bezierCurveTo(r + a * .75, i + e * 2, r + a * .75, i, r + a, n), t.lineTo(r + a, c), t.bezierCurveTo(r + a * .75, i + o, r + a * .75, i + o - e * 2, r + a * .5, c), t.bezierCurveTo(r + a * .25, i + o - e * 2, r + a * .25, i + o, r, c), t.closePath();
642
+ break;
643
+ }
644
+ case "doublewave": {
645
+ let e = o * (s ?? 6250) / 1e5, n = i + e, c = i + o - e;
646
+ t.moveTo(r, n), t.bezierCurveTo(r + a * .25, i, r + a * .25, i + e * 2, r + a * .5, n), t.bezierCurveTo(r + a * .75, i + e * 2, r + a * .75, i, r + a, n), t.lineTo(r + a, c), t.bezierCurveTo(r + a * .75, i + o, r + a * .75, i + o - e * 2, r + a * .5, c), t.bezierCurveTo(r + a * .25, i + o - e * 2, r + a * .25, i + o, r, c), t.closePath();
647
+ break;
648
+ }
649
+ case "sun": {
650
+ let e = Math.min(a, o) / 2, n = e * ((s ?? 25e3) / 1e5 + .5), r = Math.min(n, e * .9), i = Math.PI / 16;
651
+ for (let n = 0; n < 8; n++) {
652
+ let a = n / 8 * Math.PI * 2;
653
+ t.moveTo(d + r * Math.cos(a - i), f + r * Math.sin(a - i)), t.lineTo(d + e * Math.cos(a), f + e * Math.sin(a)), t.lineTo(d + r * Math.cos(a + i), f + r * Math.sin(a + i)), t.closePath();
654
+ }
655
+ t.moveTo(d + r, f), t.arc(d, f, r, 0, Math.PI * 2);
656
+ break;
657
+ }
658
+ case "lightningbolt":
659
+ t.moveTo(d + a * .1, i), t.lineTo(r, f - o * .05), t.lineTo(d + a * .05, f - o * .05), t.lineTo(d - a * .1, i + o), t.lineTo(r + a, f + o * .05), t.lineTo(d - a * .05, f + o * .05), t.closePath();
660
+ break;
661
+ case "bracketpair": {
662
+ let e = o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5;
663
+ t.moveTo(r + a * .4, i), t.quadraticCurveTo(r, i, r, i + e), o - 2 * e > 0 && t.lineTo(r, i + o - e), t.quadraticCurveTo(r, i + o, r + a * .4, i + o), t.moveTo(r + a * .6, i), t.quadraticCurveTo(r + a, i, r + a, i + e), o - 2 * e > 0 && t.lineTo(r + a, i + o - e), t.quadraticCurveTo(r + a, i + o, r + a * .6, i + o);
664
+ break;
665
+ }
666
+ case "bracepair": {
667
+ let e = a * .2;
668
+ t.moveTo(r + a * .4, i), t.bezierCurveTo(r + a * .4 - e, i, r + a * .4 - e, f - o * .08, r, f), t.bezierCurveTo(r + a * .4 - e, f + o * .08, r + a * .4 - e, i + o, r + a * .4, i + o), t.moveTo(r + a * .6, i), t.bezierCurveTo(r + a * .6 + e, i, r + a * .6 + e, f - o * .08, r + a, f), t.bezierCurveTo(r + a * .6 + e, f + o * .08, r + a * .6 + e, i + o, r + a * .6, i + o);
669
+ break;
670
+ }
671
+ case "chord": {
672
+ let e = (s ?? 27e5) / 216e5 * Math.PI * 2, n = (c ?? 162e5) / 216e5 * Math.PI * 2;
673
+ t.ellipse(d, f, a / 2, o / 2, 0, e, n), t.closePath();
674
+ break;
675
+ }
676
+ case "blockarc": {
677
+ let e = Math.min(a, o) / 2, n = s ?? 108e5, r = c ?? 0, i = e * (1 - (l ?? 25e3) / 1e5), u = n / 216e5 * Math.PI * 2, p = r / 216e5 * Math.PI * 2;
678
+ t.arc(d, f, e, u, p, !1), t.arc(d, f, i, p, u, !0), t.closePath();
679
+ break;
680
+ }
681
+ case "teardrop": {
682
+ let e = Math.min(a, o) * .4, n = r + e, s = i + o - e;
683
+ t.arc(n, s, e, 0, Math.PI * 2 * .75), t.bezierCurveTo(n - e * .1, s - e, r + a - e, i + e, r + a, i), t.bezierCurveTo(r + a - e * .2, i + e * .5, n + e, s - e * 1.1, n + e, s), t.closePath();
684
+ break;
685
+ }
686
+ case "diagstripe": {
687
+ let e = o * (s ?? 5e4) / 1e5 * a / o;
688
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a - e, i + o), t.lineTo(r, i + o), t.closePath();
689
+ break;
690
+ }
691
+ case "wedgeroundrectcallout": {
692
+ let e = Math.min(a, o) * .1;
693
+ t.roundRect(r, i, a, o * .85, e), t.moveTo(r + a * .1, i + o * .85), t.lineTo(r + a * .2, i + o), t.lineTo(r + a * .3, i + o * .85), t.closePath();
694
+ break;
695
+ }
696
+ case "rightarrowcallout": {
697
+ let e = o * (s ?? 5e4) / 1e5, n = a * (c ?? 5e4) / 1e5, l = i + (o - e) / 2;
698
+ t.rect(r, l, n, e), t.moveTo(r + n, i), t.lineTo(r + a, f), t.lineTo(r + n, i + o), t.closePath();
699
+ break;
700
+ }
701
+ case "leftarrowcallout": {
702
+ let e = o * (s ?? 5e4) / 1e5, n = a * (c ?? 5e4) / 1e5, l = i + (o - e) / 2;
703
+ t.rect(r + a - n, l, n, e), t.moveTo(r + a - n, i), t.lineTo(r, f), t.lineTo(r + a - n, i + o), t.closePath();
704
+ break;
705
+ }
706
+ case "uparrowcallout": {
707
+ let e = a * (s ?? 5e4) / 1e5, n = o * (c ?? 5e4) / 1e5, l = r + (a - e) / 2;
708
+ t.rect(l, i + n, e, o - n), t.moveTo(r, i + n), t.lineTo(d, i), t.lineTo(r + a, i + n), t.closePath();
709
+ break;
710
+ }
711
+ case "downarrowcallout": {
712
+ let e = a * (s ?? 5e4) / 1e5, n = o * (c ?? 5e4) / 1e5, l = r + (a - e) / 2;
713
+ t.rect(l, i, e, o - n), t.moveTo(r, i + o - n), t.lineTo(d, i + o), t.lineTo(r + a, i + o - n), t.closePath();
714
+ break;
715
+ }
716
+ case "leftrightarrowcallout": {
717
+ let e = o * (s ?? 5e4) / 1e5, n = a * (c ?? 25e3) / 1e5, l = i + (o - e) / 2;
718
+ t.rect(r + n, l, a - 2 * n, e), t.moveTo(r + n, i), t.lineTo(r, f), t.lineTo(r + n, i + o), t.closePath(), t.moveTo(r + a - n, i), t.lineTo(r + a, f), t.lineTo(r + a - n, i + o), t.closePath();
719
+ break;
720
+ }
721
+ case "leftrightuparrow": {
722
+ let e = a * (s ?? 25e3) / 1e5, n = o * (c ?? 3e4) / 1e5, l = r + (a - e) / 2;
723
+ t.moveTo(d, i), t.lineTo(r + a, i + n), t.lineTo(l + e, i + n), t.lineTo(l + e, i + o), t.lineTo(l, i + o), t.lineTo(l, i + n), t.lineTo(r, i + n), t.closePath();
724
+ break;
725
+ }
726
+ case "uturnarrow": {
727
+ let e = a * (s ?? 25e3) / 1e5, n = (a - e) / 2, c = Math.max(0, n - e), l = r + e + n, u = i + e + n, d = e * 2, f = i + o - e * 2.5;
728
+ t.moveTo(r, i + o), t.lineTo(r, u), t.arc(l, u, n, Math.PI, 0), t.lineTo(r + a, f), t.lineTo(r + a + (d - e) / 2, f), t.lineTo(l + e / 2, i + o), t.lineTo(r + a - (d - e) / 2 - e, f), t.lineTo(r + a - e, f), t.lineTo(r + a - e, u), t.arc(l, u, c, 0, Math.PI, !0), t.lineTo(r + e, i + o), t.closePath();
729
+ break;
730
+ }
731
+ case "bentarrow":
732
+ case "bentuparrow": {
733
+ let e = Math.min(a, o) * .25;
734
+ t.moveTo(r, f - e / 2), t.lineTo(r + a - e * 2, f - e / 2), t.lineTo(r + a - e * 2, i + e), t.lineTo(r + a, f), t.lineTo(r + a - e * 2, i + o - e), t.lineTo(r + a - e * 2, f + e / 2), t.lineTo(r, f + e / 2), t.closePath();
735
+ break;
736
+ }
737
+ case "plus": {
738
+ let e = Math.min(a, o) * (s ?? 25e3) / 1e5;
739
+ t.rect(d - e, i, 2 * e, o), t.rect(r, f - e, a, 2 * e);
740
+ break;
741
+ }
742
+ case "mathnotequal": {
743
+ let e = Math.min(5e4, Math.max(0, s ?? 23520)), n = Math.min(66e5, Math.max(42e5, c ?? 66e5)), r = Math.min(1e5 - 2 * e, Math.max(0, l ?? 11760)), u = o * e / 1e5, p = o * r / 2e5, m = a * 73490 / 2e5, h = o / 2, g = (n / 6e4 - 90) * Math.PI / 180, _ = h * Math.tan(g), v = Math.hypot(_, h) * u / h;
744
+ t.rect(d - m, f - p - u, 2 * m, u), t.rect(d - m, f + p, 2 * m, u), t.moveTo(d + _ - v / 2, i), t.lineTo(d + _ + v / 2, i), t.lineTo(d - _ + v / 2, i + o), t.lineTo(d - _ - v / 2, i + o), t.closePath();
745
+ break;
746
+ }
747
+ case "flowchartdelay": {
748
+ let e = o / 2;
749
+ t.moveTo(r, i), t.lineTo(r + a - e, i), t.arc(r + a - e, f, e, -Math.PI / 2, Math.PI / 2), t.lineTo(r, i + o), t.closePath();
750
+ break;
751
+ }
752
+ case "flowchartdisplay": {
753
+ let e = a * .2, n = a * .15;
754
+ t.moveTo(r + e, i), t.lineTo(r + a - n, i), t.arc(r + a - n, f, o / 2, -Math.PI / 2, Math.PI / 2), t.lineTo(r + e, i + o), t.lineTo(r, f), t.closePath();
755
+ break;
756
+ }
757
+ case "flowchartpunchedcard": {
758
+ let e = a * .2;
759
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a - e, i + o), t.lineTo(r, i + o), t.closePath();
760
+ break;
761
+ }
762
+ case "flowchartoffpageconnector": {
763
+ let e = o * .3;
764
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.lineTo(d, i + o), t.lineTo(r, i + o - e), t.closePath();
765
+ break;
766
+ }
767
+ case "flowchartonlinestorage":
768
+ case "flowchartmanuallabel":
769
+ case "flowchartpuncheddisk":
770
+ t.rect(r, i, a, o);
771
+ break;
772
+ case "horizontalscroll": {
773
+ let e = Math.min(a, o) * .15;
774
+ t.roundRect(r + e, i, a - e, o, e), t.moveTo(r + e, i + e * 2), t.arc(r + e, i + e, e, Math.PI / 2, Math.PI * 2.5);
775
+ break;
776
+ }
777
+ case "verticalscroll": {
778
+ let e = Math.min(a, o) * .15;
779
+ t.roundRect(r, i + e, a, o - e, e), t.moveTo(r + e * 2, i + e), t.arc(r + e, i + e, e, 0, Math.PI * 2);
780
+ break;
781
+ }
782
+ case "ribbon": {
783
+ let e = Math.min(33333, Math.max(0, s ?? 16667)), n = a * Math.min(75e3, Math.max(25e3, c ?? 5e4)) / 2e5, l = a / 8, u = a / 32, d = a / 2 - n, f = a / 2 + n, p = d + u, m = f - u, h = d + l, g = f - l, _ = h - u, v = g + u, y = a - l, b = o * e / 2e5, x = o * e / 1e5, S = o - x, C = S / 2;
784
+ t.moveTo(r, i), t.lineTo(r + _, i), t.lineTo(r + p, i + b), t.lineTo(r + m, i + x), t.lineTo(r + v, i + b), t.lineTo(r + a, i), t.lineTo(r + y, i + C), t.lineTo(r + a, i + S), t.lineTo(r + f, i + S), t.lineTo(r + f, i + o), t.lineTo(r + p, i + o), t.lineTo(r + d, i + S), t.lineTo(r, i + S), t.lineTo(r + l, i + C), t.closePath();
785
+ break;
786
+ }
787
+ case "ribbon2": {
788
+ let e = Math.min(33333, Math.max(0, s ?? 16667)), n = a * Math.min(75e3, Math.max(25e3, c ?? 5e4)) / 2e5, l = a / 8, u = a / 32, d = a / 2 - n, f = a / 2 + n, p = d + u, m = f - u, h = d + l, g = f - l, _ = h - u, v = g + u, y = a - l, b = o * e / 2e5, x = o * e / 1e5, S = o - b, C = o - x, w = x, T = (w + o) / 2;
789
+ t.moveTo(r, i + o), t.lineTo(r + _, i + o), t.lineTo(r + p, i + S), t.lineTo(r + m, i + C), t.lineTo(r + v, i + S), t.lineTo(r + a, i + o), t.lineTo(r + y, i + T), t.lineTo(r + a, i + w), t.lineTo(r + f, i + w), t.lineTo(r + f, i), t.lineTo(r + p, i), t.lineTo(r + d, i + w), t.lineTo(r, i + w), t.lineTo(r + l, i + T), t.closePath();
790
+ break;
791
+ }
792
+ case "ellipseribbon": {
793
+ let e = Math.min(1e5, Math.max(0, s ?? 25e3)), n = Math.min(75e3, Math.max(25e3, c ?? 5e4)), u = Math.max(0, e - (1e5 - e) / 2), d = Math.min(e, Math.max(u, l ?? 12500)), f = a / 8, p = a * n / 2e5, m = a / 2 - p, h = m + f, g = a - h, _ = a - m, v = a - f, y = o * d / 1e5, b = 4 * y / a, x = b * (h - h * h / a), S = h / 2, C = b * S, w = a - S, T = o * e / 1e5, E = T - y, D = b * (m - m * m / a), O = D + E, k = y + E - O + y + E, A = o - T, j = (y * 14 / 16 + A) / 2, M = D + A, N = O + A, P = m / 2, F = b * P + A, I = a - P, L = k + A;
794
+ t.moveTo(r, i), t.quadraticCurveTo(r + S, i + C, r + h, i + x), t.lineTo(r + m, i + O), t.quadraticCurveTo(r + a / 2, i + k, r + _, i + O), t.lineTo(r + g, i + x), t.quadraticCurveTo(r + w, i + C, r + a, i), t.lineTo(r + v, i + j), t.lineTo(r + a, i + A), t.quadraticCurveTo(r + I, i + F, r + _, i + M), t.lineTo(r + _, i + N), t.quadraticCurveTo(r + a / 2, i + L, r + m, i + N), t.lineTo(r + m, i + M), t.quadraticCurveTo(r + P, i + F, r, i + A), t.lineTo(r + f, i + j), t.closePath();
795
+ break;
796
+ }
797
+ case "ellipseribbon2": {
798
+ let e = Math.min(1e5, Math.max(0, s ?? 25e3)), n = Math.min(75e3, Math.max(25e3, c ?? 5e4)), u = Math.max(0, e - (1e5 - e) / 2), d = Math.min(e, Math.max(u, l ?? 12500)), f = a / 8, p = a * n / 2e5, m = a / 2 - p, h = m + f, g = a - h, _ = a - m, v = a - f, y = o * d / 1e5, b = 4 * y / a, x = o - b * (h - h * h / a), S = h / 2, C = o - b * S, w = a - S, T = o * e / 1e5, E = T - y, D = b * (m - m * m / a), O = D + E, k = o - O, A = y + E - O + y + E, j = o - A, M = o - T, N = o - (y * 14 / 16 + M) / 2, P = o - (D + M), F = o - (O + M), I = m / 2, L = o - (b * I + M), R = a - I, z = o - (A + M);
799
+ t.moveTo(r, i + o), t.quadraticCurveTo(r + S, i + C, r + h, i + x), t.lineTo(r + m, i + k), t.quadraticCurveTo(r + a / 2, i + j, r + _, i + k), t.lineTo(r + g, i + x), t.quadraticCurveTo(r + w, i + C, r + a, i + o), t.lineTo(r + v, i + N), t.lineTo(r + a, i + T), t.quadraticCurveTo(r + R, i + L, r + _, i + P), t.lineTo(r + _, i + F), t.quadraticCurveTo(r + a / 2, i + z, r + m, i + F), t.lineTo(r + m, i + P), t.quadraticCurveTo(r + I, i + L, r, i + T), t.lineTo(r + f, i + N), t.closePath();
800
+ break;
801
+ }
802
+ case "circulararrow": {
803
+ let e = (c ?? 0) / 6e4 * Math.PI / 180, n = (s ?? 162e5) / 6e4 * Math.PI / 180, r = (l ?? 5e4) / 1e5, i = Math.min(a, o) / 2, u = i * (1 - r), p = (i + u) / 2, m = i - u, h = e + n;
804
+ t.arc(d, f, i, e, h, !1), t.arc(d, f, u, h, e, !0), t.closePath();
805
+ let g = Math.sin(h), _ = -Math.cos(h), v = m * 1.5, y = d + p * Math.cos(h) + v * g, b = f + p * Math.sin(h) + v * _;
806
+ t.moveTo(y, b), t.lineTo(d + i * Math.cos(h), f + i * Math.sin(h)), t.lineTo(d + u * Math.cos(h), f + u * Math.sin(h)), t.closePath();
807
+ break;
808
+ }
809
+ case "curvedrightarrow": {
810
+ let e = Math.min(a, o), n = o / 2, u = 5e4 * o / e, d = Math.min(u, Math.max(0, c ?? 5e4)), f = e * Math.min(d, Math.max(0, s ?? 25e3)) / 1e5, p = e * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = 1e5 * (Math.sqrt(Math.max(0, h)) * a / (2 * m)) / e, _ = e * Math.min(g, Math.max(0, l ?? 25e3)) / 1e5, v = Math.sqrt(Math.max(0, a * a - _ * _)) * m / a, y = m + f, b = m + v, x = y + v, S = (p - f) / 2, C = b - S, w = x + S, T = o - p / 2, D = a - _, O = Math.atan2(_, v), k = -O, A = Math.PI - O;
811
+ t.moveTo(r, i + m), E(t, r, i + m, a, m, Math.PI, k), t.lineTo(r + D, i + C), t.lineTo(r + a, i + T), t.lineTo(r + D, i + w), t.lineTo(r + D, i + x), E(t, r + D, i + x, a, m, A, O), t.closePath();
812
+ break;
813
+ }
814
+ case "curvedleftarrow": {
815
+ let e = Math.min(a, o), n = o / 2, u = 5e4 * o / e, d = Math.min(u, Math.max(0, c ?? 5e4)), f = e * Math.min(d, Math.max(0, s ?? 25e3)) / 1e5, p = e * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / e, v = e * Math.min(_, Math.max(0, l ?? 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, D = o - p / 2, O = v, k = Math.atan2(v, y), A = f / 2, j = Math.atan2(A, g), M = j - k, N = k - j, P = -j;
816
+ t.moveTo(r, i + D), t.lineTo(r + O, i + w), t.lineTo(r + O, i + x);
817
+ let F = E(t, r + O, i + x, a, m, k, M);
818
+ E(t, F.x, F.y, a, m, P, N), t.lineTo(r + O, i + T), t.closePath();
819
+ break;
820
+ }
821
+ case "curveduparrow": {
822
+ let e = Math.min(a, o), n = a / 2, u = 5e4 * a / e, d = Math.min(u, Math.max(0, c ?? 5e4)), f = e * Math.min(1e5, Math.max(0, s ?? 25e3)) / 1e5, p = e * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * o / (2 * m), _ = 1e5 * g / e, v = e * Math.min(_, Math.max(0, l ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, o * o - v * v)) * m / o, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, D = a - p / 2, O = v, k = Math.atan2(v, y), A = f / 2, j = Math.atan2(A, g), M = j - k, N = k - j, P = Math.PI / 2 - k, F = Math.PI / 2 - j;
823
+ t.moveTo(r + D, i), t.lineTo(r + T, i + O), t.lineTo(r + S, i + O);
824
+ let I = E(t, r + S, i + O, m, o, P, N);
825
+ E(t, I.x, I.y, m, o, F, M), t.lineTo(r + w, i + O), t.closePath();
826
+ break;
827
+ }
828
+ case "curveddownarrow": {
829
+ let e = Math.min(a, o), n = a / 2, u = 5e4 * a / e, d = Math.min(u, Math.max(0, c ?? 5e4)), f = e * Math.min(1e5, Math.max(0, s ?? 25e3)) / 1e5, p = e * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * o / (2 * m), _ = 1e5 * g / e, v = e * Math.min(_, Math.max(0, l ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, o * o - v * v)) * m / o, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, D = a - p / 2, O = o - v, k = Math.atan2(v, y), A = f / 2, j = Math.atan2(A, g), M = 3 * Math.PI / 2 + k;
830
+ 3 * Math.PI / 2 - j, j - Math.PI / 2, Math.PI / 2 - j, t.moveTo(r + D, i + o), t.lineTo(r + w, i + O), t.lineTo(r + x, i + O), E(t, r + x, i + O, m, o, M, -k), t.lineTo(r + b, i), E(t, r + b, i, m, o, 3 * Math.PI / 2, k), t.lineTo(r + T, i + O), t.closePath();
831
+ break;
832
+ }
833
+ case "stripedrightarrow": {
834
+ let e = Math.min(a, o), n = e / 32, l = e / 16, u = e / 8, d = e * (s ?? 5e4) / 1e5, p = a * (c ?? 5e4) / 1e5, m = f - d / 2, h = f + d / 2, g = r + a - p;
835
+ t.rect(r, m, n, d), t.rect(r + l, m, l, d), t.rect(r + u, m, u, d), t.moveTo(g, m), t.lineTo(g, i), t.lineTo(r + a, f), t.lineTo(g, i + o), t.lineTo(g, h), t.lineTo(r + u * 2, h), t.lineTo(r + u * 2, m), t.closePath();
836
+ break;
837
+ }
838
+ case "flowchartmagneticdisk": {
839
+ let e = o * .15;
840
+ t.moveTo(r, i + e), t.ellipse(d, i + e, a / 2, e, 0, Math.PI, 0), t.lineTo(r + a, i + o - e), t.ellipse(d, i + o - e, a / 2, e, 0, 0, Math.PI), t.lineTo(r, i + e), t.closePath(), t.moveTo(r + a, i + e), t.ellipse(d, i + e, a / 2, e, 0, 0, Math.PI);
841
+ break;
842
+ }
843
+ case "flowchartmagneticdrum": {
844
+ let e = a * .15;
845
+ t.moveTo(r + e, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o), t.lineTo(r + e, i + o), t.ellipse(r + e, f, e, o / 2, 0, Math.PI / 2, -Math.PI / 2, !0), t.closePath(), t.moveTo(r + a, i), t.ellipse(r + a, f, e, o / 2, 0, -Math.PI / 2, Math.PI / 2);
846
+ break;
847
+ }
848
+ case "flowchartmagnetictape": {
849
+ let e = Math.min(a, o) / 2, n = d + e * .5;
850
+ t.moveTo(d, i + o), t.arc(d, f, e, Math.PI / 2, Math.PI / 2 + Math.PI * 2 * .875), t.lineTo(n, f + e * .5), t.lineTo(n, i + o), t.closePath();
851
+ break;
852
+ }
853
+ case "flowchartpunchedtape": {
854
+ let e = o * .12;
855
+ t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - e * 2, r, i + o - e), t.closePath(), t.moveTo(r, i + e), t.bezierCurveTo(r + a * .25, i, r + a * .75, i + e * 2, r + a, i + e);
856
+ break;
857
+ }
858
+ case "flowchartmanualoperation": {
859
+ let e = a * .15;
860
+ t.moveTo(r + e, i), t.lineTo(r + a - e, i), t.lineTo(r + a, i + o), t.lineTo(r, i + o), t.closePath();
861
+ break;
862
+ }
863
+ case "flowchartmultidocument": {
864
+ let e = o * .1, n = a * .04;
865
+ t.rect(r + n * 2, i - o * .08, a - n * 2, o * .1), t.rect(r + n, i - o * .04, a - n, o * .06), t.moveTo(r, i), t.lineTo(r + a, i), t.lineTo(r + a, i + o - e), t.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - e * 2, r, i + o - e), t.closePath();
866
+ break;
867
+ }
868
+ case "rttriangle":
869
+ t.moveTo(r, i), t.lineTo(r, i + o), t.lineTo(r + a, i + o), t.closePath();
870
+ break;
871
+ default:
872
+ t.rect(r, i, a, o);
873
+ break;
874
+ }
875
+ }
876
+ //#endregion
877
+ //#region packages/core/src/shape/arrow.ts
878
+ function M(e, t, n) {
879
+ let r = Math.max(.5, t.width * n), i = e.w === "sm" ? 4 : e.w === "lg" ? 8 : 6, a = e.len === "sm" ? 4 : e.len === "lg" ? 8 : 6;
880
+ return {
881
+ lw: r,
882
+ halfW: r * i / 2,
883
+ len: r * a
884
+ };
885
+ }
886
+ var N = new Set([
887
+ "triangle",
888
+ "stealth",
889
+ "diamond",
890
+ "oval"
891
+ ]);
892
+ function P(e, t, n) {
893
+ return N.has(e.type) ? M(e, t, n).len : 0;
894
+ }
895
+ function F(e, t, n) {
896
+ if (e.type === "none") return 0;
897
+ let { lw: r, halfW: i, len: a } = M(e, t, n);
898
+ return Math.max(a, i) + r / 2;
899
+ }
900
+ function I(e, t, n) {
901
+ if (n <= 0) return {
902
+ x: e.x,
903
+ y: e.y
904
+ };
905
+ let r = t.x - e.x, i = t.y - e.y, a = Math.hypot(r, i);
906
+ if (a < 1e-9) return {
907
+ x: e.x,
908
+ y: e.y
909
+ };
910
+ let o = Math.min(n, a) / a;
911
+ return {
912
+ x: e.x + r * o,
913
+ y: e.y + i * o
914
+ };
915
+ }
916
+ function L(e, t, n, r, a, o, s, c) {
917
+ if (a.type === "none") return;
918
+ let { lw: l, halfW: u, len: d } = M(a, o, s), f = c ?? i(o.color);
919
+ switch (e.save(), e.translate(t, n), e.rotate(r), e.fillStyle = f, e.strokeStyle = f, e.lineWidth = l, e.setLineDash([]), e.beginPath(), a.type) {
920
+ case "triangle":
921
+ case "stealth":
922
+ e.moveTo(0, 0), e.lineTo(-d, -u), e.lineTo(-d, u), e.closePath(), e.fill();
923
+ break;
924
+ case "arrow":
925
+ e.lineCap = "round", e.lineJoin = "round", e.moveTo(-d, -u), e.lineTo(0, 0), e.lineTo(-d, u), e.stroke();
926
+ break;
927
+ case "diamond":
928
+ e.moveTo(0, 0), e.lineTo(-d / 2, -u), e.lineTo(-d, 0), e.lineTo(-d / 2, u), e.closePath(), e.fill();
929
+ break;
930
+ case "oval":
931
+ e.ellipse(-d / 2, 0, d / 2, u, 0, 0, Math.PI * 2), e.fill();
932
+ break;
933
+ }
934
+ e.restore();
935
+ }
936
+ //#endregion
937
+ //#region packages/core/src/draw/double-border.ts
938
+ function R(e, t) {
939
+ let n = Math.max(1, Math.round(e * t / 3)), r = Math.max(1, Math.round(e * t / 3));
940
+ return {
941
+ railDev: n,
942
+ gapDev: r,
943
+ spanDev: 2 * n + r
944
+ };
945
+ }
946
+ function z(e, t, n, r, i, a, o) {
947
+ let { railDev: s, gapDev: c, spanDev: l } = R(a, o);
948
+ if (n === i) {
949
+ let i = Math.round(n * o - l / 2);
950
+ e.fillRect(t, i / o, r - t, s / o), e.fillRect(t, (i + s + c) / o, r - t, s / o);
951
+ } else {
952
+ let r = Math.round(t * o - l / 2);
953
+ e.fillRect(r / o, n, s / o, i - n), e.fillRect((r + s + c) / o, n, s / o, i - n);
954
+ }
955
+ }
956
+ //#endregion
957
+ //#region packages/core/src/text/line-distribute.ts
958
+ var B = (e) => e === 32 || e === 12288;
959
+ function V(e, i, a = {}) {
960
+ if (Math.abs(i) <= .5) return null;
961
+ let o = a.firstContentSi ?? 0, s = a.lastDrawnSi ?? e.length - 1, c = a.minPerGap ?? -Infinity, l = a.isGapChar ?? t, u = a.isWhitespace ?? B, d = a.seaClusterGaps ?? !1, f = [];
962
+ for (let t = o; t < e.length; t++) {
963
+ let n = e[t];
964
+ if (n === void 0) continue;
965
+ if (n.text === void 0) {
966
+ f.push({
967
+ si: t,
968
+ off: 0,
969
+ ws: !1
970
+ });
971
+ continue;
972
+ }
973
+ let r = 0;
974
+ for (let e of n.text) {
975
+ let n = e.codePointAt(0);
976
+ f.push({
977
+ si: t,
978
+ off: r,
979
+ cp: n,
980
+ ws: u(n)
981
+ }), r++;
982
+ }
983
+ }
984
+ let p = -1, m = -1;
985
+ for (let e = 0; e < f.length; e++) f[e].ws || (p === -1 && (p = e), m = e);
986
+ if (p === -1 || p === m) return null;
987
+ let h = Array(f.length).fill(!1), g = 0;
988
+ for (let e = p; e < m; e++) {
989
+ let t = f[e];
990
+ if (t.si === s) continue;
991
+ if (t.ws) {
992
+ h[e] = !0, g++;
993
+ continue;
994
+ }
995
+ let i = f[e + 1];
996
+ if (i.ws) continue;
997
+ let a = t.cp, o = i.cp;
998
+ (a !== void 0 && l(a) || o !== void 0 && l(o) || d && a !== void 0 && o !== void 0 && r(a) && r(o) && !n(o)) && (h[e] = !0, g++);
999
+ }
1000
+ if (g === 0) return null;
1001
+ let _ = i / g;
1002
+ i < 0 && _ < c && (_ = c);
1003
+ let v = /* @__PURE__ */ new Map();
1004
+ for (let e of f) e.cp !== void 0 && v.set(e.si, (v.get(e.si) ?? 0) + 1);
1005
+ let y = /* @__PURE__ */ new Map();
1006
+ for (let e = 0; e < f.length; e++) {
1007
+ if (!h[e]) continue;
1008
+ let t = f[e], n = y.get(t.si);
1009
+ n || (n = {
1010
+ splitBefore: [],
1011
+ trailingGap: !1,
1012
+ internalStretch: 0
1013
+ }, y.set(t.si, n));
1014
+ let r = v.get(t.si) ?? 0;
1015
+ t.cp === void 0 || t.off === r - 1 ? n.trailingGap = !0 : (n.splitBefore.push(t.off + 1), n.internalStretch += _);
1016
+ }
1017
+ return {
1018
+ perGap: _,
1019
+ perSeg: y
1020
+ };
1021
+ }
1022
+ //#endregion
1023
+ export { F as a, j as c, p as d, d as f, L as i, C as l, f as m, R as n, P as o, u as p, z as r, I as s, V as t, m as u };