@epam/ai-dial-attachment-canvas 1.2.0-dev.2 → 1.2.0-dev.6

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 (41) hide show
  1. package/{LazyContentBoundary-CL7J_W9c.js → LazyContentBoundary-CRXN6PG3.js} +1 -1
  2. package/{PdfContent-DhfjgYL-.js → PdfContent-D71LPAe3.js} +1 -1
  3. package/{attachment-canvas-Bp6WeQws.js → attachment-canvas-nvhW3tKV.js} +3 -1
  4. package/{bounded-raw-part-cache-BfbSxRIL-DD07NKh9.js → bounded-raw-part-cache-Cg1BsSZQ-DN8p45IK.js} +1111 -1043
  5. package/{chart-ex-B0DgG3Dt.js → chart-ex-DsESBs97.js} +1 -1
  6. package/{comment-occurrence-CqejEuts-7SeKCBXk.js → comment-occurrence-C8Y2uoVr-C1cxz2TU.js} +1 -1
  7. package/{comment-ui-runtime-lXwVOgjW-Be4RALsI.js → comment-ui-runtime-BfE7MJZn-DhQ_eg15.js} +29 -29
  8. package/comment-ui-runtime-BsK8pmUT-EgWiymew.js +2 -0
  9. package/{comment-ui-runtime-DEtgcmj7-B1G7PH4z.js → comment-ui-runtime-DcJOYlw--B15auUq-.js} +52 -52
  10. package/{comments-CAn2A_Xh-CdgNAj0h.js → comments-Diid5ujN-BdQhRNjI.js} +2 -2
  11. package/components/OoxmlContent/OoxmlContent.d.ts.map +1 -1
  12. package/{delimited-text-worker-host-DcHj_JZt-DWJmaPag.js → delimited-text-worker-host-BVY-Ecni-AimUmSn0.js} +1 -1
  13. package/{docx-B9qBTEkj.js → docx-B-VcIRoc.js} +4628 -4580
  14. package/index.js +564 -564
  15. package/line-distribute-Dtudnqhs--BYZNgzX.js +1237 -0
  16. package/{line-metrics-CBbw80Ko-DoOuwYxZ.js → line-metrics-B60C86uh-DfQUk7X1.js} +1 -1
  17. package/ooxml-highlight-surfaces-CaMjx8u-.js +351 -0
  18. package/package.json +4 -4
  19. package/{pptx-dkJw0-Vx.js → pptx-CnoDB8Fv.js} +955 -923
  20. package/{read-only-comment-decoration-BTnWEeo5-BNhbteYc.js → read-only-comment-decoration-Dz7eTQ4d-Cl3RKKH6.js} +1 -1
  21. package/{read-only-comment-margin-plStyGfE-mggNAMB_.js → read-only-comment-margin-DkgzASAl-BbDxMI5E.js} +1 -1
  22. package/render-worker-host-BfbnEChF-D2thMRGX.js +7 -0
  23. package/render-worker-host-DNL9dWRh-Bky38ZHE.js +7 -0
  24. package/render-worker-host-IkHrYOci-DbjyHK7U.js +7 -0
  25. package/{renderer-module-contract-Cu-GKuPd-Bt0YZuzB.js → renderer-module-contract-D91rkYHH-BtfSKxb4.js} +1 -1
  26. package/test-setup.d.ts +10 -1
  27. package/test-setup.d.ts.map +1 -1
  28. package/types/attachment-canvas.d.ts +17 -0
  29. package/types/attachment-canvas.d.ts.map +1 -1
  30. package/utils/ooxml-highlight-geometry.d.ts +87 -3
  31. package/utils/ooxml-highlight-geometry.d.ts.map +1 -1
  32. package/utils/ooxml-highlight-surfaces.d.ts +33 -6
  33. package/utils/ooxml-highlight-surfaces.d.ts.map +1 -1
  34. package/{visible-index-DPoQYSDt-9lRc-2Ik.js → visible-index-BgiHEc1z-BOzE9X5U.js} +7 -7
  35. package/{xlsx-BAXMTJTG.js → xlsx-Dn0XSlTO.js} +1581 -1556
  36. package/comment-ui-runtime-TLHustXJ-DWCXG2mL.js +0 -2
  37. package/line-distribute-IsUGfHXm-DeITjLzJ.js +0 -1234
  38. package/ooxml-highlight-surfaces-DhK1KJcR.js +0 -294
  39. package/render-worker-host-BEfLZvSL-COy91Rd8.js +0 -7
  40. package/render-worker-host-Ba6Fchqr-DZeKpMWD.js +0 -7
  41. package/render-worker-host-C3xwtHnv-BBGHFdo9.js +0 -7
@@ -0,0 +1,1237 @@
1
+ import { bt as e } from "./renderer-module-contract-D91rkYHH-BtfSKxb4.js";
2
+ import { Ot as t, Pn as n, bt as r, f as i, ft as a, h as o, m as s, w as c, z as l } from "./bounded-raw-part-cache-Cg1BsSZQ-DN8p45IK.js";
3
+ //#region ../../node_modules/@silurus/ooxml/dist/highlight-rect-C5hkRqUr.js
4
+ function u(e, t, n, r) {
5
+ let i = t <= 0 ? 0 : r(e.slice(0, t)), a = n >= e.length ? r(e) : r(e.slice(0, n));
6
+ return {
7
+ x: i,
8
+ width: Math.max(0, a - i)
9
+ };
10
+ }
11
+ function d(e, t) {
12
+ return t > 0 ? `${e / t * 100}%` : "0%";
13
+ }
14
+ //#endregion
15
+ //#region ../../node_modules/@silurus/ooxml/dist/dom-interaction-boundary-CBUQJsIM.js
16
+ function f(e, t = n) {
17
+ return e.byteLength > 0 && e.byteLength <= t;
18
+ }
19
+ function p(e, t) {
20
+ let n = m(t), r = e.slice(), i = Math.min(32, r.length);
21
+ for (let e = 0; e < i; e++) r[e] ^= n[e % 16];
22
+ return r;
23
+ }
24
+ function m(e) {
25
+ let t = e.replace(/[{}\-\s]/g, "");
26
+ if (t.length !== 32 || /[^0-9a-fA-F]/.test(t)) throw Error(`invalid fontKey GUID: ${e}`);
27
+ let n = new Uint8Array(16);
28
+ for (let e = 0; e < 16; e++) n[e] = parseInt(t.slice(e * 2, e * 2 + 2), 16);
29
+ return n.reverse();
30
+ }
31
+ function h(e, t, n, r) {
32
+ let i = 2166136261;
33
+ for (let e = 0; e < r.length; e++) i ^= r[e], i = Math.imul(i, 16777619);
34
+ return `${e}|${t}|${n}|${r.length}|${(i >>> 0).toString(16)}`;
35
+ }
36
+ async function g(e, t = n) {
37
+ let r = s();
38
+ if (!r || typeof FontFace > "u") return [];
39
+ let a = [], l = /* @__PURE__ */ new Set(), u = [];
40
+ for (let n of e) try {
41
+ if (!f(n.bytes, t)) {
42
+ u.push(n.family);
43
+ continue;
44
+ }
45
+ let e = n.odttf ? p(n.bytes, n.fontKey ?? "") : n.bytes, i = `embedded:${h(n.family, n.weight, n.style, e)}`;
46
+ if (l.has(i)) continue;
47
+ l.add(i);
48
+ let { face: o } = c(i, r, () => {
49
+ let t = e.buffer.slice(e.byteOffset, e.byteOffset + e.byteLength), i = new FontFace(n.family, t, {
50
+ weight: n.weight,
51
+ style: n.style
52
+ });
53
+ return r.add(i), i;
54
+ });
55
+ a.push(o);
56
+ } catch {
57
+ u.push(n.family);
58
+ }
59
+ let d = a;
60
+ if (a.length > 0) {
61
+ let e = await o(Promise.allSettled(a.map((e) => Promise.resolve().then(() => e.load()))));
62
+ Array.isArray(e) ? (d = [], e.forEach((e, t) => {
63
+ let n = a[t];
64
+ e.status === "fulfilled" ? d.push(n) : (u.push(n.family), i([n]));
65
+ }), await o(r.ready)) : (u.push(...a.map((e) => e.family)), i(a), d = []);
66
+ }
67
+ return u.length > 0 && console.warn(`[ooxml] failed to register embedded font(s): ${[...new Set(u)].join(", ")}; falling back to substitute fonts (text may shift or differ).`), d;
68
+ }
69
+ function _(e) {
70
+ i(e);
71
+ }
72
+ function v(e, t, n) {
73
+ return e < t ? t : e > n ? n : e;
74
+ }
75
+ function y(e, t) {
76
+ return Math.min(Math.max(0, t), Math.ceil(Math.max(0, e)));
77
+ }
78
+ function b(e, t, n) {
79
+ let r = e.length;
80
+ if (r === 0) return {
81
+ offsets: [],
82
+ totalHeight: 0
83
+ };
84
+ let i = n?.leading ?? 0, a = n?.trailing ?? 0, o = Array(r), s = 0;
85
+ for (let n = 0; n < r; n++) o[n] = i + s + n * t, s += e[n];
86
+ return {
87
+ offsets: o,
88
+ totalHeight: i + s + (r - 1) * t + a
89
+ };
90
+ }
91
+ function x(e, t, n, r) {
92
+ let i = e.offsets, a = i.length;
93
+ if (a === 0) return {
94
+ start: 0,
95
+ end: -1,
96
+ topIndex: 0,
97
+ offsets: i,
98
+ totalHeight: 0
99
+ };
100
+ let o = 0, s = a;
101
+ for (; o < s;) {
102
+ let e = o + s >>> 1;
103
+ i[e] <= t ? o = e + 1 : s = e;
104
+ }
105
+ let c = v(o - 1, 0, a - 1), l = t + n;
106
+ for (o = 0, s = a; o < s;) {
107
+ let e = o + s >>> 1;
108
+ i[e] < l ? o = e + 1 : s = e;
109
+ }
110
+ let u = v(o - 1, 0, a - 1);
111
+ return {
112
+ start: v(c - r, 0, a - 1),
113
+ end: v(u + r, 0, a - 1),
114
+ topIndex: c,
115
+ offsets: i,
116
+ totalHeight: e.totalHeight
117
+ };
118
+ }
119
+ function S(e, t, n, r, i, a, o) {
120
+ if (e === 0) return {
121
+ start: 0,
122
+ end: -1,
123
+ topIndex: 0,
124
+ totalHeight: 0
125
+ };
126
+ let s = o?.leading ?? 0, c = o?.trailing ?? 0, l = t + n, u = v(r < s ? 0 : l > 0 ? Math.floor((r - s) / l) : e - 1, 0, e - 1), d = r + i, f = v(d <= s ? 0 : l > 0 ? Math.ceil((d - s) / l) - 1 : e - 1, 0, e - 1);
127
+ return {
128
+ start: v(u - a, 0, e - 1),
129
+ end: v(f + a, 0, e - 1),
130
+ topIndex: u,
131
+ totalHeight: s + e * t + (e - 1) * n + c
132
+ };
133
+ }
134
+ var C = class {
135
+ state = Object.freeze({ status: "complete" });
136
+ get complete() {
137
+ return this.state.status === "complete";
138
+ }
139
+ get settled() {
140
+ return this.state.status !== "pending";
141
+ }
142
+ begin() {
143
+ this.state = Object.freeze({ status: "pending" });
144
+ }
145
+ succeed() {
146
+ this.state = Object.freeze({ status: "complete" });
147
+ }
148
+ fail(e) {
149
+ let t = e instanceof Error ? e : Error(String(e));
150
+ return this.state = Object.freeze({
151
+ status: "failed",
152
+ error: t
153
+ }), t;
154
+ }
155
+ throwIfFailed() {
156
+ if (this.state.status === "failed") throw this.state.error;
157
+ }
158
+ }, w = class {
159
+ failed = /* @__PURE__ */ new WeakMap();
160
+ notify(e, t, ...n) {
161
+ if (!(!t || this.failed.get(t)?.has(e))) try {
162
+ let r = t(...n);
163
+ r && typeof r.then == "function" && Promise.resolve(r).catch((n) => this.reportOnce(e, t, n));
164
+ } catch (n) {
165
+ this.reportOnce(e, t, n);
166
+ }
167
+ }
168
+ reportOnce(e, t, n) {
169
+ let r = this.failed.get(t) ?? /* @__PURE__ */ new Set();
170
+ if (r.has(e)) return;
171
+ r.add(e), this.failed.has(t) || this.failed.set(t, r);
172
+ let i = n instanceof Error ? n : Error(String(n));
173
+ console.error(`[ooxml] ${e} callback failed and was disabled:`, i);
174
+ }
175
+ }, T = 65536;
176
+ function E(e, t) {
177
+ let n = Math.min(e.length, t);
178
+ if (n > 0 && n < e.length) {
179
+ let t = e.charCodeAt(n - 1), r = e.charCodeAt(n);
180
+ t >= 55296 && t <= 56319 && r >= 56320 && r <= 57343 && n--;
181
+ }
182
+ return e.slice(0, n);
183
+ }
184
+ function D(e) {
185
+ if (e !== void 0 && (!Number.isFinite(e) || e < 0)) throw RangeError("maxTextCharacters must be a finite non-negative number.");
186
+ return Math.min(T, Math.floor(e ?? 65536));
187
+ }
188
+ function O(e, t, n) {
189
+ let r = D(n), i = 0, a = !1, o = (e) => {
190
+ let t = E(e.text, Math.max(0, r - i));
191
+ return i += t.length, t.length < e.text.length && (a = !0), {
192
+ ...e,
193
+ text: t
194
+ };
195
+ }, s = Object.freeze({
196
+ root: Object.freeze(o(e)),
197
+ replies: Object.freeze(t.map((e) => Object.freeze(o(e))))
198
+ });
199
+ return Object.freeze({
200
+ thread: s,
201
+ truncated: a,
202
+ textCharacters: i,
203
+ maxTextCharacters: r
204
+ });
205
+ }
206
+ function k(e, t) {
207
+ return e.dataset?.[t] !== void 0;
208
+ }
209
+ function A(e, t, n) {
210
+ let r = typeof e.composedPath == "function" ? e.composedPath() : [];
211
+ if (r.length > 0) {
212
+ let e = !1;
213
+ for (let i of r) {
214
+ if (i === t) return e;
215
+ k(i, n) && (e = !0);
216
+ }
217
+ }
218
+ let i = e.target;
219
+ if (!i || !t.contains(i)) return !1;
220
+ let a = i;
221
+ for (; a;) {
222
+ if (k(a, n)) return !0;
223
+ if (a === t) break;
224
+ a = a.parentElement;
225
+ }
226
+ return !1;
227
+ }
228
+ //#endregion
229
+ //#region ../../node_modules/@silurus/ooxml/dist/line-distribute-Dtudnqhs.js
230
+ var j = {
231
+ 167: "♣",
232
+ 168: "♦",
233
+ 169: "♥",
234
+ 170: "♠",
235
+ 171: "↔",
236
+ 172: "←",
237
+ 173: "↑",
238
+ 174: "→",
239
+ 175: "↓",
240
+ 183: "•",
241
+ 184: "÷",
242
+ 185: "≠",
243
+ 180: "×",
244
+ 176: "°",
245
+ 177: "±",
246
+ 163: "≤",
247
+ 179: "≥"
248
+ }, M = {
249
+ 33: "✏",
250
+ 34: "✂",
251
+ 36: "👓",
252
+ 74: "☺",
253
+ 75: "😐",
254
+ 76: "☹",
255
+ 118: "❖",
256
+ 167: "▪",
257
+ 108: "●",
258
+ 110: "■",
259
+ 116: "◆",
260
+ 119: "◆",
261
+ 251: "✗",
262
+ 252: "✓",
263
+ 253: "☒",
264
+ 254: "☑",
265
+ 223: "←",
266
+ 224: "→",
267
+ 225: "↑",
268
+ 226: "↓",
269
+ 227: "↖",
270
+ 228: "↗",
271
+ 229: "↙",
272
+ 230: "↘"
273
+ };
274
+ function N(e) {
275
+ let t = {};
276
+ for (let n of Object.keys(e)) {
277
+ let r = Number(n);
278
+ t[r] = e[r], t[61440 + r] = e[r];
279
+ }
280
+ return t;
281
+ }
282
+ var P = N(j), F = N(M);
283
+ function I(e, t) {
284
+ if (!t) return e;
285
+ let n = t.trim().toLowerCase(), r = n === "wingdings" ? F : n === "symbol" ? P : null;
286
+ return r ? r[e.charCodeAt(0)] ?? e : e;
287
+ }
288
+ function L(e) {
289
+ if (!e) return !1;
290
+ let t = e.toLowerCase();
291
+ return t === "symbol" || t.includes("wingdings");
292
+ }
293
+ function R(e, t) {
294
+ if (!L(t) || e.length === 0) return [{
295
+ text: e,
296
+ mapped: !1
297
+ }];
298
+ let n = [], r = "", i = null;
299
+ for (let a of e) {
300
+ let e = I(a, t), o = e !== a;
301
+ i === null || o === i ? (i = o, r += e) : (n.push({
302
+ text: r,
303
+ mapped: i
304
+ }), i = o, r = e);
305
+ }
306
+ return r.length > 0 && n.push({
307
+ text: r,
308
+ mapped: i ?? !1
309
+ }), n;
310
+ }
311
+ function z(e, t, n, r, i) {
312
+ let a = Infinity, o = Infinity, s = -Infinity, c = -Infinity, l = (e, t) => {
313
+ !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));
314
+ };
315
+ for (let a of e) {
316
+ let e = 0, o = 0;
317
+ for (let s of a) switch (s.cmd) {
318
+ case "moveTo":
319
+ case "lineTo":
320
+ e = s.x, o = s.y, l(t + e * r, n + o * i);
321
+ break;
322
+ case "cubicBezTo":
323
+ 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);
324
+ break;
325
+ case "quadBezTo":
326
+ l(t + s.x1 * r, n + s.y1 * i), e = s.x, o = s.y, l(t + e * r, n + o * i);
327
+ break;
328
+ case "arcTo": {
329
+ let a = Math.abs(s.wr * r), c = Math.abs(s.hr * i);
330
+ if (a <= 0 || c <= 0) break;
331
+ 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);
332
+ l(m - a, h - c), l(m + a, h + c);
333
+ let g = u + d;
334
+ e = (m + a * Math.cos(g) - t) / r, o = (h + c * Math.sin(g) - n) / i;
335
+ break;
336
+ }
337
+ case "close": break;
338
+ }
339
+ }
340
+ return Number.isFinite(a) ? {
341
+ x: a,
342
+ y: o,
343
+ w: s - a,
344
+ h: c - o
345
+ } : null;
346
+ }
347
+ function B(e, t, n, r, i, a) {
348
+ for (let o of t) {
349
+ let t = 0, s = 0;
350
+ for (let c of o) switch (c.cmd) {
351
+ case "moveTo":
352
+ e.moveTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
353
+ break;
354
+ case "lineTo":
355
+ e.lineTo(n + c.x * i, r + c.y * a), t = c.x, s = c.y;
356
+ break;
357
+ case "cubicBezTo":
358
+ 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;
359
+ break;
360
+ case "quadBezTo":
361
+ e.quadraticCurveTo(n + c.x1 * i, r + c.y1 * a, n + c.x * i, r + c.y * a), t = c.x, s = c.y;
362
+ break;
363
+ case "arcTo": {
364
+ let o = c.wr * i, l = c.hr * a;
365
+ if (o <= 0 || l <= 0) break;
366
+ 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;
367
+ 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;
368
+ break;
369
+ }
370
+ case "close":
371
+ e.closePath();
372
+ break;
373
+ }
374
+ }
375
+ }
376
+ var V = 1e-9;
377
+ function H(e) {
378
+ return e.cmd === "lineTo" || e.cmd === "cubicBezTo" || e.cmd === "quadBezTo" || e.cmd === "arcTo";
379
+ }
380
+ function U(e, t, n, r) {
381
+ let i = n === 0 ? 0 : n, a = r === 0 ? 0 : r;
382
+ return {
383
+ x: e,
384
+ y: t,
385
+ dx: i,
386
+ dy: a,
387
+ angle: Math.atan2(a, i)
388
+ };
389
+ }
390
+ function W(e, t, n) {
391
+ switch (n.cmd) {
392
+ case "lineTo": return {
393
+ dx: n.x - e,
394
+ dy: n.y - t
395
+ };
396
+ case "cubicBezTo": {
397
+ let r = n.x1 - e, i = n.y1 - t;
398
+ return Math.abs(r) < V && Math.abs(i) < V && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < V && Math.abs(i) < V && (r = n.x - e, i = n.y - t), {
399
+ dx: r,
400
+ dy: i
401
+ };
402
+ }
403
+ case "quadBezTo": {
404
+ let r = n.x1 - e, i = n.y1 - t;
405
+ return Math.abs(r) < V && Math.abs(i) < V && (r = n.x - e, i = n.y - t), {
406
+ dx: r,
407
+ dy: i
408
+ };
409
+ }
410
+ case "arcTo": {
411
+ let e = n.stAng * Math.PI / 180, t = n.swAng < 0 ? -1 : 1;
412
+ return {
413
+ dx: -n.wr * Math.sin(e) * t,
414
+ dy: n.hr * Math.cos(e) * t
415
+ };
416
+ }
417
+ default: return {
418
+ dx: 0,
419
+ dy: 0
420
+ };
421
+ }
422
+ }
423
+ function G(e, t, n) {
424
+ switch (n.cmd) {
425
+ case "moveTo":
426
+ case "lineTo":
427
+ case "cubicBezTo":
428
+ case "quadBezTo": return {
429
+ x: n.x,
430
+ y: n.y
431
+ };
432
+ case "arcTo": {
433
+ if (n.wr <= 0 || n.hr <= 0) return {
434
+ x: e,
435
+ y: t
436
+ };
437
+ 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);
438
+ return {
439
+ x: a + n.wr * Math.cos(i),
440
+ y: o + n.hr * Math.sin(i)
441
+ };
442
+ }
443
+ default: return {
444
+ x: e,
445
+ y: t
446
+ };
447
+ }
448
+ }
449
+ function K(e, t, n) {
450
+ let { x: r, y: i } = G(e, t, n);
451
+ switch (n.cmd) {
452
+ case "lineTo": return {
453
+ dx: n.x - e,
454
+ dy: n.y - t,
455
+ x: r,
456
+ y: i
457
+ };
458
+ case "cubicBezTo": {
459
+ let a = n.x - n.x2, o = n.y - n.y2;
460
+ return Math.abs(a) < V && Math.abs(o) < V && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < V && Math.abs(o) < V && (a = n.x - e, o = n.y - t), {
461
+ dx: a,
462
+ dy: o,
463
+ x: r,
464
+ y: i
465
+ };
466
+ }
467
+ case "quadBezTo": {
468
+ let a = n.x - n.x1, o = n.y - n.y1;
469
+ return Math.abs(a) < V && Math.abs(o) < V && (a = n.x - e, o = n.y - t), {
470
+ dx: a,
471
+ dy: o,
472
+ x: r,
473
+ y: i
474
+ };
475
+ }
476
+ case "arcTo": {
477
+ if (n.wr <= 0 || n.hr <= 0) return {
478
+ dx: 0,
479
+ dy: 0,
480
+ x: r,
481
+ y: i
482
+ };
483
+ let e = n.stAng * Math.PI / 180 + n.swAng * Math.PI / 180, t = n.swAng < 0 ? -1 : 1;
484
+ return {
485
+ dx: -n.wr * Math.sin(e) * t,
486
+ dy: n.hr * Math.cos(e) * t,
487
+ x: r,
488
+ y: i
489
+ };
490
+ }
491
+ default: return {
492
+ dx: 0,
493
+ dy: 0,
494
+ x: r,
495
+ y: i
496
+ };
497
+ }
498
+ }
499
+ function q(e) {
500
+ let t = 0, n = 0, r = !1;
501
+ for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} = G(t, n, i);
502
+ return r ? {
503
+ x: t,
504
+ y: n
505
+ } : null;
506
+ }
507
+ function J(e) {
508
+ if (e.some((e) => e.cmd === "close")) return !0;
509
+ let t = e.find((e) => e.cmd === "moveTo");
510
+ if (!t) return !1;
511
+ let n = q(e);
512
+ return !n || !e.some(H) ? !1 : Math.abs(n.x - t.x) < V && Math.abs(n.y - t.y) < V;
513
+ }
514
+ function ee(e) {
515
+ let t = {
516
+ start: null,
517
+ end: null
518
+ };
519
+ if (!e || e.length === 0) return t;
520
+ let n = e[0];
521
+ if (n && n.length > 0 && !J(n)) {
522
+ let e = n.find((e) => e.cmd === "moveTo"), r = n.find(H);
523
+ if (e && r) {
524
+ let n = W(e.x, e.y, r);
525
+ (Math.abs(n.dx) > V || Math.abs(n.dy) > V) && (t.start = U(e.x, e.y, -n.dx, -n.dy));
526
+ }
527
+ }
528
+ let r = e[e.length - 1];
529
+ if (r && r.length > 0 && !J(r)) {
530
+ let e = 0, n = 0, i = -1;
531
+ for (let e = 0; e < r.length; e++) H(r[e]) && (i = e);
532
+ if (i >= 0) {
533
+ for (let t = 0; t < i; t++) ({x: e, y: n} = G(e, n, r[t]));
534
+ let a = K(e, n, r[i]);
535
+ (Math.abs(a.dx) > V || Math.abs(a.dy) > V) && (t.end = U(a.x, a.y, a.dx, a.dy));
536
+ }
537
+ }
538
+ return t;
539
+ }
540
+ function Y(e, t, n, r, i, a, o, s = -Math.PI / 2) {
541
+ let c = a * 2;
542
+ for (let l = 0; l < c; l++) {
543
+ 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);
544
+ l === 0 ? e.moveTo(d, f) : e.lineTo(d, f);
545
+ }
546
+ e.closePath();
547
+ }
548
+ function X(e, t, n, r, i, a, o = -Math.PI / 2) {
549
+ for (let s = 0; s < a; s++) {
550
+ let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
551
+ s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
552
+ }
553
+ e.closePath();
554
+ }
555
+ function Z(e, t, n, r, i, a, o) {
556
+ 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);
557
+ return e.ellipse(u, d, Math.abs(r), Math.abs(i), 0, c, l, o < 0), {
558
+ x: u + r * Math.cos(l),
559
+ y: d + i * Math.sin(l)
560
+ };
561
+ }
562
+ var te = {
563
+ oval: "ellipse",
564
+ rtriangle: "rttriangle",
565
+ roundrectangle: "roundrect",
566
+ flowchartsumingjunction: "flowchartsummingjunction"
567
+ }, ne = 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(".")), re = new Set([
568
+ "accentcallout1",
569
+ "accentbordercallout1",
570
+ "flowchartpredefinedprocess",
571
+ "flowchartsort",
572
+ "flowchartinternalstorage",
573
+ "flowchartsummingjunction"
574
+ ]), ie = new Set([
575
+ "round2samerect",
576
+ "round2diagrect",
577
+ "dodecagon",
578
+ "star10"
579
+ ]);
580
+ function ae(e, n, r, i, a, o, s = null, c = null, l = null, u = null) {
581
+ let d = r + a / 2, f = i + o / 2;
582
+ {
583
+ let d = n.toLowerCase(), f = te[d] ?? d;
584
+ if ((ne.has(f) || re.has(f) || ie.has(f)) && t(e, f, r, i, a, o, [
585
+ s,
586
+ c,
587
+ l,
588
+ u
589
+ ])) return;
590
+ }
591
+ switch (n.toLowerCase()) {
592
+ case "parallelogram": {
593
+ let t = a * Math.min(.5, (s ?? 25e3) / 1e5);
594
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a - t, i + o), e.lineTo(r, i + o), e.closePath();
595
+ break;
596
+ }
597
+ case "pentagon":
598
+ X(e, d, f, a / 2, o / 2, 5);
599
+ break;
600
+ case "hexagon":
601
+ X(e, d, f, a / 2, o / 2, 6, 0);
602
+ break;
603
+ case "heptagon":
604
+ X(e, d, f, a / 2, o / 2, 7);
605
+ break;
606
+ case "octagon":
607
+ X(e, d, f, a / 2, o / 2, 8, -Math.PI / 8);
608
+ break;
609
+ case "decagon":
610
+ X(e, d, f, a / 2, o / 2, 10);
611
+ break;
612
+ case "star5":
613
+ case "star":
614
+ Y(e, d, f, a / 2, o / 2, 5, (s ?? 19098) / 5e4);
615
+ break;
616
+ case "star6":
617
+ Y(e, d, f, a / 2, o / 2, 6, (s ?? 28868) / 5e4, 0);
618
+ break;
619
+ case "star7":
620
+ Y(e, d, f, a / 2, o / 2, 7, (s ?? 34142) / 5e4);
621
+ break;
622
+ case "rightarrow": {
623
+ let t = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 5e4) / 1e5), l = i + (o - t) / 2;
624
+ e.moveTo(r, l), e.lineTo(r + a - n, l), e.lineTo(r + a - n, i), e.lineTo(r + a, f), e.lineTo(r + a - n, i + o), e.lineTo(r + a - n, l + t), e.lineTo(r, l + t), e.closePath();
625
+ break;
626
+ }
627
+ case "leftarrow": {
628
+ let t = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 5e4) / 1e5), l = i + (o - t) / 2;
629
+ e.moveTo(r + a, l), e.lineTo(r + n, l), e.lineTo(r + n, i), e.lineTo(r, f), e.lineTo(r + n, i + o), e.lineTo(r + n, l + t), e.lineTo(r + a, l + t), e.closePath();
630
+ break;
631
+ }
632
+ case "uparrow": {
633
+ let t = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(1, (c ?? 5e4) / 1e5), l = r + (a - t) / 2;
634
+ e.moveTo(d, i), e.lineTo(r + a, i + n), e.lineTo(l + t, i + n), e.lineTo(l + t, i + o), e.lineTo(l, i + o), e.lineTo(l, i + n), e.lineTo(r, i + n), e.closePath();
635
+ break;
636
+ }
637
+ case "downarrow": {
638
+ let t = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(1, (c ?? 5e4) / 1e5), l = r + (a - t) / 2;
639
+ e.moveTo(d, i + o), e.lineTo(r + a, i + o - n), e.lineTo(l + t, i + o - n), e.lineTo(l + t, i), e.lineTo(l, i), e.lineTo(l, i + o - n), e.lineTo(r, i + o - n), e.closePath();
640
+ break;
641
+ }
642
+ case "leftrightarrow": {
643
+ let t = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(.5, (c ?? 25e3) / 1e5), l = i + (o - t) / 2;
644
+ e.moveTo(r, f), e.lineTo(r + n, i), e.lineTo(r + n, l), e.lineTo(r + a - n, l), e.lineTo(r + a - n, i), e.lineTo(r + a, f), e.lineTo(r + a - n, i + o), e.lineTo(r + a - n, l + t), e.lineTo(r + n, l + t), e.lineTo(r + n, i + o), e.closePath();
645
+ break;
646
+ }
647
+ case "updownarrow": {
648
+ let t = a * Math.min(1, (s ?? 5e4) / 1e5), n = o * Math.min(.5, (c ?? 25e3) / 1e5), l = r + (a - t) / 2;
649
+ e.moveTo(d, i), e.lineTo(r + a, i + n), e.lineTo(l + t, i + n), e.lineTo(l + t, i + o - n), e.lineTo(r + a, i + o - n), e.lineTo(d, i + o), e.lineTo(r, i + o - n), e.lineTo(l, i + o - n), e.lineTo(l, i + n), e.lineTo(r, i + n), e.closePath();
650
+ break;
651
+ }
652
+ case "notchedrightarrow": {
653
+ let t = o * Math.min(1, (s ?? 5e4) / 1e5), n = a * Math.min(1, (c ?? 35e3) / 1e5), l = i + (o - t) / 2, u = n * .43;
654
+ e.moveTo(r, l), e.lineTo(r + a - n, l), e.lineTo(r + a - n, i), e.lineTo(r + a, f), e.lineTo(r + a - n, i + o), e.lineTo(r + a - n, l + t), e.lineTo(r, l + t), e.lineTo(r + u, f), e.closePath();
655
+ break;
656
+ }
657
+ case "chevron": {
658
+ let t = a * Math.min(1, Math.max(0, (s ?? 5e4) / 1e5));
659
+ e.moveTo(r, i), e.lineTo(r + t, i), e.lineTo(r + a, f), e.lineTo(r + t, i + o), e.lineTo(r, i + o), t > 0 && e.lineTo(r + t, f), e.closePath();
660
+ break;
661
+ }
662
+ case "homeplate": {
663
+ let t = o * .4;
664
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.lineTo(d, i + o), e.lineTo(r, i + o - t), e.closePath();
665
+ break;
666
+ }
667
+ case "leftbracket": {
668
+ let t = Math.min(o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5, o / 2);
669
+ e.moveTo(r + a, i), e.quadraticCurveTo(r, i, r, i + t), o - 2 * t > .5 && e.lineTo(r, i + o - t), e.quadraticCurveTo(r, i + o, r + a, i + o);
670
+ break;
671
+ }
672
+ case "rightbracket": {
673
+ let t = Math.min(o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5, o / 2);
674
+ e.moveTo(r, i), e.quadraticCurveTo(r + a, i, r + a, i + t), o - 2 * t > .5 && e.lineTo(r + a, i + o - t), e.quadraticCurveTo(r + a, i + o, r, i + o);
675
+ break;
676
+ }
677
+ case "leftbrace": {
678
+ let t = f, n = a * .45;
679
+ e.moveTo(r + a, i), e.bezierCurveTo(r + a - n, i, r + a - n, t - o * .08, r, t), e.bezierCurveTo(r + a - n, t + o * .08, r + a - n, i + o, r + a, i + o);
680
+ break;
681
+ }
682
+ case "rightbrace": {
683
+ let t = f, n = a * .45;
684
+ e.moveTo(r, i), e.bezierCurveTo(r + n, i, r + n, t - o * .08, r + a, t), e.bezierCurveTo(r + n, t + o * .08, r + n, i + o, r, i + o);
685
+ break;
686
+ }
687
+ case "wedgerectcallout": {
688
+ e.rect(r, i, a, o * .8);
689
+ let t = r + a * .2, n = i + o;
690
+ e.moveTo(r + a * .1, i + o * .8), e.lineTo(t, n), e.lineTo(r + a * .3, i + o * .8), e.closePath();
691
+ break;
692
+ }
693
+ case "wedgeellipsecallout": {
694
+ let t = (s ?? -2e4) / 1e5 * a, n = (c ?? 12e4) / 1e5 * o, r = d + t, i = f + n;
695
+ e.ellipse(d, f, a / 2, o / 2, 0, 0, Math.PI * 2);
696
+ let l = Math.atan2(n, t), 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);
697
+ e.moveTo(h, g), e.lineTo(r, i), e.lineTo(_, v), e.closePath();
698
+ break;
699
+ }
700
+ case "cloudcallout": {
701
+ let t = Math.min(a, o) * .22, n = [
702
+ [d - a * .25, i + o * .35],
703
+ [d - a * .1, i + o * .15],
704
+ [d + a * .1, i + o * .1],
705
+ [d + a * .28, i + o * .2],
706
+ [d + a * .35, i + o * .4]
707
+ ];
708
+ e.moveTo(n[0][0] - t, n[0][1]);
709
+ for (let [r, i] of n) e.arc(r, i, t, Math.PI, 0);
710
+ e.arc(d, i + o * .65, a * .45, 0, Math.PI), e.closePath();
711
+ let r = d + (s ?? -2e4) / 1e5 * a, l = f + (c ?? 12e4) / 1e5 * o;
712
+ e.moveTo(d + a * .05, i + o * .8), e.arc(r, l, Math.min(a, o) * .07, 0, Math.PI * 2);
713
+ break;
714
+ }
715
+ case "bentconnector2":
716
+ case "bentconnector3":
717
+ case "bentconnector4":
718
+ case "bentconnector5":
719
+ case "curvedconnector2":
720
+ case "curvedconnector3":
721
+ case "curvedconnector4":
722
+ case "curvedconnector5":
723
+ e.moveTo(r, i), e.lineTo(r + a, i + o);
724
+ break;
725
+ case "heart":
726
+ e.moveTo(d, i + o * .32), e.bezierCurveTo(d, i, r + a * .05, i, r, i + o * .3), e.bezierCurveTo(r, i + o * .68, d - a * .05, i + o * .78, d, i + o), e.bezierCurveTo(d + a * .05, i + o * .78, r + a, i + o * .68, r + a, i + o * .3), e.bezierCurveTo(r + a - a * .05, i, d, i, d, i + o * .32);
727
+ break;
728
+ case "donut": {
729
+ let t = a / 2, n = o / 2, r = Math.min(t, n) * (s ?? 25e3) / 1e5, i = t - r, c = n - r;
730
+ e.ellipse(d, f, t, n, 0, 0, Math.PI * 2, !1), e.moveTo(d + i, f), e.ellipse(d, f, i, c, 0, 0, Math.PI * 2, !0);
731
+ break;
732
+ }
733
+ case "nosmoking":
734
+ case "nosmokingsign": {
735
+ let t = (s ?? 18750) / 1e5, n = a / 2, r = o / 2, i = n * (1 - 2 * t), c = r * (1 - 2 * t);
736
+ e.ellipse(d, f, n, r, 0, 0, Math.PI * 2, !1), e.moveTo(d + i, f), e.ellipse(d, f, i, c, 0, 0, Math.PI * 2, !0), e.moveTo(d + i, f), e.ellipse(d, f, i, c, 0, 0, Math.PI / 2, !1), e.lineTo(d - i, f), e.ellipse(d, f, i, c, 0, Math.PI, 3 * Math.PI / 2, !1), e.closePath();
737
+ break;
738
+ }
739
+ case "pie": {
740
+ let t = (s ?? 0) / 216e5 * Math.PI * 2, n = (c ?? 162e5) / 216e5 * Math.PI * 2;
741
+ e.moveTo(d, f), e.arc(d, f, Math.min(a, o) / 2, t, n), e.closePath();
742
+ break;
743
+ }
744
+ case "cloud": {
745
+ let t = o * .28;
746
+ e.arc(r + a * .25, i + o * .55, t, Math.PI, Math.PI * 1.8), e.arc(r + a * .45, i + o * .35, t * 1.1, Math.PI * 1.3, Math.PI * 1.9), e.arc(r + a * .65, i + o * .4, t, Math.PI * 1.5, Math.PI * 2), e.arc(r + a * .8, i + o * .6, t * .9, Math.PI * 1.6, Math.PI * .1), e.arc(r + a * .55, i + o * .75, t, 0, Math.PI * .7), e.arc(r + a * .25, i + o * .7, t * .9, 0, Math.PI), e.closePath();
747
+ break;
748
+ }
749
+ case "funnel":
750
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(d + a * .15, i + o), e.lineTo(d - a * .15, i + o), e.closePath();
751
+ break;
752
+ case "smileyface": {
753
+ e.ellipse(d, f, a / 2, o / 2, 0, 0, Math.PI * 2), e.closePath();
754
+ let t = a * .05, n = o * .05, r = f - o * .12;
755
+ e.moveTo(d - a * .2 + t, r), e.ellipse(d - a * .2, r, t, n, 0, 0, Math.PI * 2), e.moveTo(d + a * .2 + t, r), e.ellipse(d + a * .2, r, t, n, 0, 0, Math.PI * 2), e.moveTo(d - a * .25, f + o * .05), e.quadraticCurveTo(d, f + o * .3, d + a * .25, f + o * .05);
756
+ break;
757
+ }
758
+ case "document":
759
+ case "foldedcorner": {
760
+ let t = Math.min(a, o) * .15;
761
+ e.moveTo(r, i), e.lineTo(r + a - t, i), e.lineTo(r + a, i + t), e.lineTo(r + a, i + o), e.lineTo(r, i + o), e.closePath(), e.moveTo(r + a - t, i), e.lineTo(r + a - t, i + t), e.lineTo(r + a, i + t);
762
+ break;
763
+ }
764
+ case "snip2samerect": {
765
+ let t = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
766
+ e.moveTo(r, i), e.lineTo(r + a - t, i), e.lineTo(r + a, i + t), e.lineTo(r + a, i + o), e.lineTo(r + t, i + o), e.lineTo(r, i + o - t), e.closePath();
767
+ break;
768
+ }
769
+ case "snip2diagrect": {
770
+ let t = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
771
+ e.moveTo(r + t, i), e.lineTo(r + a - t, i), e.lineTo(r + a, i + t), e.lineTo(r + a, i + o - t), e.lineTo(r + a - t, i + o), e.lineTo(r + t, i + o), e.lineTo(r, i + o - t), e.lineTo(r, i + t), e.closePath();
772
+ break;
773
+ }
774
+ case "sniproundrect": {
775
+ let t = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
776
+ e.moveTo(r + t, i), e.lineTo(r + a - t, i), e.lineTo(r + a, i + t), e.lineTo(r + a, i + o), e.lineTo(r, i + o), e.quadraticCurveTo(r, i, r + t, i), e.closePath();
777
+ break;
778
+ }
779
+ case "round1rect": {
780
+ let t = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
781
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o), e.lineTo(r, i + o), e.lineTo(r, i + t), e.quadraticCurveTo(r, i, r + t, i), e.closePath();
782
+ break;
783
+ }
784
+ case "plaque": {
785
+ let t = Math.min(a, o) * .25;
786
+ e.moveTo(r + t, i), e.lineTo(r + a - t, i), e.quadraticCurveTo(r + a, i, r + a, i + t), e.lineTo(r + a, i + o - t), e.quadraticCurveTo(r + a, i + o, r + a - t, i + o), e.lineTo(r + t, i + o), e.quadraticCurveTo(r, i + o, r, i + o - t), e.lineTo(r, i + t), e.quadraticCurveTo(r, i, r + t, i), e.closePath();
787
+ break;
788
+ }
789
+ case "can": {
790
+ let t = o * .1;
791
+ e.ellipse(d, i + t, a / 2, t, 0, 0, Math.PI * 2), e.moveTo(r, i + t), e.lineTo(r, i + o - t), e.ellipse(d, i + o - t, a / 2, t, 0, Math.PI, 2 * Math.PI), e.lineTo(r + a, i + t);
792
+ break;
793
+ }
794
+ case "cube": {
795
+ let t = Math.min(a, o) * .2;
796
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.lineTo(r + a - t, i + o), e.lineTo(r, i + o), e.lineTo(r, i + t), e.closePath(), e.moveTo(r + t, i), e.lineTo(r + t, i + t), e.lineTo(r + a - t, i + t), e.moveTo(r + t, i + t), e.lineTo(r, i + t);
797
+ break;
798
+ }
799
+ case "bevel": {
800
+ let t = Math.min(a, o) * .1;
801
+ e.rect(r, i, a, o), e.moveTo(r, i), e.lineTo(r + t, i + t), e.lineTo(r + a - t, i + t), e.lineTo(r + a, i), e.moveTo(r + a - t, i + t), e.lineTo(r + a - t, i + o - t), e.lineTo(r + a, i + o), e.moveTo(r + a - t, i + o - t), e.lineTo(r + t, i + o - t), e.lineTo(r, i + o), e.moveTo(r + t, i + o - t), e.lineTo(r + t, i + t);
802
+ break;
803
+ }
804
+ case "halfframe": {
805
+ let t = Math.min(a, o) * .25;
806
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + t), e.lineTo(r + t, i + t), e.lineTo(r + t, i + o), e.lineTo(r, i + o), e.closePath();
807
+ break;
808
+ }
809
+ case "corner": {
810
+ let t = Math.min(a, o) * .25;
811
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + t), e.lineTo(r + t, i + t), e.lineTo(r + t, i + o), e.lineTo(r, i + o), e.closePath();
812
+ break;
813
+ }
814
+ case "flowchartalternateprocess":
815
+ case "flowchartprocess": {
816
+ let t = Math.min(a, o) * Math.min(5e4, Math.max(0, s ?? 16667)) / 1e5;
817
+ e.roundRect(r, i, a, o, [{
818
+ x: t,
819
+ y: t
820
+ }]);
821
+ break;
822
+ }
823
+ case "flowchartterminator": {
824
+ let t = Math.min(a, o) / 2;
825
+ e.roundRect(r, i, a, o, [{
826
+ x: t,
827
+ y: t
828
+ }]);
829
+ break;
830
+ }
831
+ case "flowchartdocument": {
832
+ let t = o * .1;
833
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - t * 2, r, i + o - t), e.closePath();
834
+ break;
835
+ }
836
+ case "moon":
837
+ e.arc(d, f, Math.min(a, o) / 2, -Math.PI / 2, Math.PI / 2), e.arc(d - a * .2, f, Math.min(a, o) / 2, Math.PI / 2, -Math.PI / 2, !0), e.closePath();
838
+ break;
839
+ case "arc": {
840
+ let t = 216e5, n = (s ?? 162e5) / t * Math.PI * 2, r = (c ?? 54e5) / t * Math.PI * 2;
841
+ e.ellipse(d, f, a / 2, o / 2, 0, n, n + r, r < 0);
842
+ break;
843
+ }
844
+ case "mathmultiply": {
845
+ let t = 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 = t / 2 * c, d = t / 2 * l;
846
+ e.moveTo(r + u, i - d), e.lineTo(r - u, i + d), e.lineTo(r + a - u, i + o + d), e.lineTo(r + a + u, i + o - d), e.closePath(), e.moveTo(r + a - u, i - d), e.lineTo(r + a + u, i + d), e.lineTo(r + u, i + o + d), e.lineTo(r - u, i + o - d), e.closePath();
847
+ break;
848
+ }
849
+ case "mathdivide": {
850
+ let t = Math.min(36745, Math.max(1e3, s ?? 23520)), n = (73490 + -t) / 4, r = 36745 * a / o, u = Math.min(Math.min(n, r), Math.max(1e3, l ?? 11760)), p = 73490 + 4 * u - t, m = Math.min(p, Math.max(0, c ?? 5880)), h = o * t / 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;
851
+ e.rect(C, y, w - C, b - y), e.moveTo(d + _, x + _), e.arc(d, x + _, _, 0, Math.PI * 2), e.moveTo(d + _, S - _), e.arc(d, S - _, _, 0, Math.PI * 2);
852
+ break;
853
+ }
854
+ case "quadarrow": {
855
+ let t = a * (s ?? 23e3) / 1e5, n = a * (c ?? 3e4) / 1e5, l = r + (a - t) / 2, u = i + (o - t) / 2;
856
+ e.moveTo(d, i), e.lineTo(r + a - n, i + n), e.lineTo(r + a - n, u), e.lineTo(l + t, u), e.lineTo(l + t, i + n), e.lineTo(r + n, i + n), e.lineTo(r + a, f), e.lineTo(r + a - n, i + o - n), e.lineTo(l + t, i + o - n), e.lineTo(l + t, u + t), e.lineTo(r + a - n, u + t), e.lineTo(r + a - n, i + o - n), e.lineTo(d, i + o), e.lineTo(r + n, i + o - n), e.lineTo(r + n, u + t), e.lineTo(l, u + t), e.lineTo(l, i + o - n), e.lineTo(r, f), e.lineTo(r + n, i + n), e.lineTo(l, i + n), e.lineTo(l, u), e.lineTo(r + n, u), e.closePath();
857
+ break;
858
+ }
859
+ case "wave": {
860
+ let t = o * (s ?? 12500) / 1e5, n = i + t, c = i + o - t;
861
+ e.moveTo(r, n), e.bezierCurveTo(r + a * .25, i, r + a * .25, i + t * 2, r + a * .5, n), e.bezierCurveTo(r + a * .75, i + t * 2, r + a * .75, i, r + a, n), e.lineTo(r + a, c), e.bezierCurveTo(r + a * .75, i + o, r + a * .75, i + o - t * 2, r + a * .5, c), e.bezierCurveTo(r + a * .25, i + o - t * 2, r + a * .25, i + o, r, c), e.closePath();
862
+ break;
863
+ }
864
+ case "doublewave": {
865
+ let t = o * (s ?? 6250) / 1e5, n = i + t, c = i + o - t;
866
+ e.moveTo(r, n), e.bezierCurveTo(r + a * .25, i, r + a * .25, i + t * 2, r + a * .5, n), e.bezierCurveTo(r + a * .75, i + t * 2, r + a * .75, i, r + a, n), e.lineTo(r + a, c), e.bezierCurveTo(r + a * .75, i + o, r + a * .75, i + o - t * 2, r + a * .5, c), e.bezierCurveTo(r + a * .25, i + o - t * 2, r + a * .25, i + o, r, c), e.closePath();
867
+ break;
868
+ }
869
+ case "sun": {
870
+ let t = Math.min(a, o) / 2, n = t * ((s ?? 25e3) / 1e5 + .5), r = Math.min(n, t * .9), i = Math.PI / 16;
871
+ for (let n = 0; n < 8; n++) {
872
+ let a = n / 8 * Math.PI * 2;
873
+ e.moveTo(d + r * Math.cos(a - i), f + r * Math.sin(a - i)), e.lineTo(d + t * Math.cos(a), f + t * Math.sin(a)), e.lineTo(d + r * Math.cos(a + i), f + r * Math.sin(a + i)), e.closePath();
874
+ }
875
+ e.moveTo(d + r, f), e.arc(d, f, r, 0, Math.PI * 2);
876
+ break;
877
+ }
878
+ case "lightningbolt":
879
+ e.moveTo(d + a * .1, i), e.lineTo(r, f - o * .05), e.lineTo(d + a * .05, f - o * .05), e.lineTo(d - a * .1, i + o), e.lineTo(r + a, f + o * .05), e.lineTo(d - a * .05, f + o * .05), e.closePath();
880
+ break;
881
+ case "bracketpair": {
882
+ let t = o * Math.min(5e4, Math.max(0, s ?? 8333)) / 1e5;
883
+ e.moveTo(r + a * .4, i), e.quadraticCurveTo(r, i, r, i + t), o - 2 * t > 0 && e.lineTo(r, i + o - t), e.quadraticCurveTo(r, i + o, r + a * .4, i + o), e.moveTo(r + a * .6, i), e.quadraticCurveTo(r + a, i, r + a, i + t), o - 2 * t > 0 && e.lineTo(r + a, i + o - t), e.quadraticCurveTo(r + a, i + o, r + a * .6, i + o);
884
+ break;
885
+ }
886
+ case "bracepair": {
887
+ let t = a * .2;
888
+ e.moveTo(r + a * .4, i), e.bezierCurveTo(r + a * .4 - t, i, r + a * .4 - t, f - o * .08, r, f), e.bezierCurveTo(r + a * .4 - t, f + o * .08, r + a * .4 - t, i + o, r + a * .4, i + o), e.moveTo(r + a * .6, i), e.bezierCurveTo(r + a * .6 + t, i, r + a * .6 + t, f - o * .08, r + a, f), e.bezierCurveTo(r + a * .6 + t, f + o * .08, r + a * .6 + t, i + o, r + a * .6, i + o);
889
+ break;
890
+ }
891
+ case "chord": {
892
+ let t = (s ?? 27e5) / 216e5 * Math.PI * 2, n = (c ?? 162e5) / 216e5 * Math.PI * 2;
893
+ e.ellipse(d, f, a / 2, o / 2, 0, t, n), e.closePath();
894
+ break;
895
+ }
896
+ case "blockarc": {
897
+ let t = Math.min(a, o) / 2, n = s ?? 108e5, r = c ?? 0, i = t * (1 - (l ?? 25e3) / 1e5), u = n / 216e5 * Math.PI * 2, p = r / 216e5 * Math.PI * 2;
898
+ e.arc(d, f, t, u, p, !1), e.arc(d, f, i, p, u, !0), e.closePath();
899
+ break;
900
+ }
901
+ case "teardrop": {
902
+ let t = Math.min(a, o) * .4, n = r + t, s = i + o - t;
903
+ e.arc(n, s, t, 0, Math.PI * 2 * .75), e.bezierCurveTo(n - t * .1, s - t, r + a - t, i + t, r + a, i), e.bezierCurveTo(r + a - t * .2, i + t * .5, n + t, s - t * 1.1, n + t, s), e.closePath();
904
+ break;
905
+ }
906
+ case "diagstripe": {
907
+ let t = o * (s ?? 5e4) / 1e5 * a / o;
908
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a - t, i + o), e.lineTo(r, i + o), e.closePath();
909
+ break;
910
+ }
911
+ case "wedgeroundrectcallout": {
912
+ let t = Math.min(a, o) * .1;
913
+ e.roundRect(r, i, a, o * .85, t), e.moveTo(r + a * .1, i + o * .85), e.lineTo(r + a * .2, i + o), e.lineTo(r + a * .3, i + o * .85), e.closePath();
914
+ break;
915
+ }
916
+ case "rightarrowcallout": {
917
+ let t = o * (s ?? 5e4) / 1e5, n = a * (c ?? 5e4) / 1e5, l = i + (o - t) / 2;
918
+ e.rect(r, l, n, t), e.moveTo(r + n, i), e.lineTo(r + a, f), e.lineTo(r + n, i + o), e.closePath();
919
+ break;
920
+ }
921
+ case "leftarrowcallout": {
922
+ let t = o * (s ?? 5e4) / 1e5, n = a * (c ?? 5e4) / 1e5, l = i + (o - t) / 2;
923
+ e.rect(r + a - n, l, n, t), e.moveTo(r + a - n, i), e.lineTo(r, f), e.lineTo(r + a - n, i + o), e.closePath();
924
+ break;
925
+ }
926
+ case "uparrowcallout": {
927
+ let t = a * (s ?? 5e4) / 1e5, n = o * (c ?? 5e4) / 1e5, l = r + (a - t) / 2;
928
+ e.rect(l, i + n, t, o - n), e.moveTo(r, i + n), e.lineTo(d, i), e.lineTo(r + a, i + n), e.closePath();
929
+ break;
930
+ }
931
+ case "downarrowcallout": {
932
+ let t = a * (s ?? 5e4) / 1e5, n = o * (c ?? 5e4) / 1e5, l = r + (a - t) / 2;
933
+ e.rect(l, i, t, o - n), e.moveTo(r, i + o - n), e.lineTo(d, i + o), e.lineTo(r + a, i + o - n), e.closePath();
934
+ break;
935
+ }
936
+ case "leftrightarrowcallout": {
937
+ let t = o * (s ?? 5e4) / 1e5, n = a * (c ?? 25e3) / 1e5, l = i + (o - t) / 2;
938
+ e.rect(r + n, l, a - 2 * n, t), e.moveTo(r + n, i), e.lineTo(r, f), e.lineTo(r + n, i + o), e.closePath(), e.moveTo(r + a - n, i), e.lineTo(r + a, f), e.lineTo(r + a - n, i + o), e.closePath();
939
+ break;
940
+ }
941
+ case "leftrightuparrow": {
942
+ let t = a * (s ?? 25e3) / 1e5, n = o * (c ?? 3e4) / 1e5, l = r + (a - t) / 2;
943
+ e.moveTo(d, i), e.lineTo(r + a, i + n), e.lineTo(l + t, i + n), e.lineTo(l + t, i + o), e.lineTo(l, i + o), e.lineTo(l, i + n), e.lineTo(r, i + n), e.closePath();
944
+ break;
945
+ }
946
+ case "uturnarrow": {
947
+ let t = a * (s ?? 25e3) / 1e5, n = (a - t) / 2, c = Math.max(0, n - t), l = r + t + n, u = i + t + n, d = t * 2, f = i + o - t * 2.5;
948
+ e.moveTo(r, i + o), e.lineTo(r, u), e.arc(l, u, n, Math.PI, 0), e.lineTo(r + a, f), e.lineTo(r + a + (d - t) / 2, f), e.lineTo(l + t / 2, i + o), e.lineTo(r + a - (d - t) / 2 - t, f), e.lineTo(r + a - t, f), e.lineTo(r + a - t, u), e.arc(l, u, c, 0, Math.PI, !0), e.lineTo(r + t, i + o), e.closePath();
949
+ break;
950
+ }
951
+ case "bentarrow":
952
+ case "bentuparrow": {
953
+ let t = Math.min(a, o) * .25;
954
+ e.moveTo(r, f - t / 2), e.lineTo(r + a - t * 2, f - t / 2), e.lineTo(r + a - t * 2, i + t), e.lineTo(r + a, f), e.lineTo(r + a - t * 2, i + o - t), e.lineTo(r + a - t * 2, f + t / 2), e.lineTo(r, f + t / 2), e.closePath();
955
+ break;
956
+ }
957
+ case "plus": {
958
+ let t = Math.min(a, o) * (s ?? 25e3) / 1e5;
959
+ e.rect(d - t, i, 2 * t, o), e.rect(r, f - t, a, 2 * t);
960
+ break;
961
+ }
962
+ case "mathnotequal": {
963
+ let t = Math.min(5e4, Math.max(0, s ?? 23520)), n = Math.min(66e5, Math.max(42e5, c ?? 66e5)), r = Math.min(1e5 - 2 * t, Math.max(0, l ?? 11760)), u = o * t / 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;
964
+ e.rect(d - m, f - p - u, 2 * m, u), e.rect(d - m, f + p, 2 * m, u), e.moveTo(d + _ - v / 2, i), e.lineTo(d + _ + v / 2, i), e.lineTo(d - _ + v / 2, i + o), e.lineTo(d - _ - v / 2, i + o), e.closePath();
965
+ break;
966
+ }
967
+ case "flowchartdelay": {
968
+ let t = o / 2;
969
+ e.moveTo(r, i), e.lineTo(r + a - t, i), e.arc(r + a - t, f, t, -Math.PI / 2, Math.PI / 2), e.lineTo(r, i + o), e.closePath();
970
+ break;
971
+ }
972
+ case "flowchartdisplay": {
973
+ let t = a * .2, n = a * .15;
974
+ e.moveTo(r + t, i), e.lineTo(r + a - n, i), e.arc(r + a - n, f, o / 2, -Math.PI / 2, Math.PI / 2), e.lineTo(r + t, i + o), e.lineTo(r, f), e.closePath();
975
+ break;
976
+ }
977
+ case "flowchartpunchedcard": {
978
+ let t = a * .2;
979
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a - t, i + o), e.lineTo(r, i + o), e.closePath();
980
+ break;
981
+ }
982
+ case "flowchartoffpageconnector": {
983
+ let t = o * .3;
984
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.lineTo(d, i + o), e.lineTo(r, i + o - t), e.closePath();
985
+ break;
986
+ }
987
+ case "flowchartonlinestorage":
988
+ case "flowchartmanuallabel":
989
+ case "flowchartpuncheddisk":
990
+ e.rect(r, i, a, o);
991
+ break;
992
+ case "horizontalscroll": {
993
+ let t = Math.min(a, o) * .15;
994
+ e.roundRect(r + t, i, a - t, o, t), e.moveTo(r + t, i + t * 2), e.arc(r + t, i + t, t, Math.PI / 2, Math.PI * 2.5);
995
+ break;
996
+ }
997
+ case "verticalscroll": {
998
+ let t = Math.min(a, o) * .15;
999
+ e.roundRect(r, i + t, a, o - t, t), e.moveTo(r + t * 2, i + t), e.arc(r + t, i + t, t, 0, Math.PI * 2);
1000
+ break;
1001
+ }
1002
+ case "ribbon": {
1003
+ let t = 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 * t / 2e5, x = o * t / 1e5, S = o - x, C = S / 2;
1004
+ e.moveTo(r, i), e.lineTo(r + _, i), e.lineTo(r + p, i + b), e.lineTo(r + m, i + x), e.lineTo(r + v, i + b), e.lineTo(r + a, i), e.lineTo(r + y, i + C), e.lineTo(r + a, i + S), e.lineTo(r + f, i + S), e.lineTo(r + f, i + o), e.lineTo(r + p, i + o), e.lineTo(r + d, i + S), e.lineTo(r, i + S), e.lineTo(r + l, i + C), e.closePath();
1005
+ break;
1006
+ }
1007
+ case "ribbon2": {
1008
+ let t = 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 * t / 2e5, x = o * t / 1e5, S = o - b, C = o - x, w = x, T = (w + o) / 2;
1009
+ e.moveTo(r, i + o), e.lineTo(r + _, i + o), e.lineTo(r + p, i + S), e.lineTo(r + m, i + C), e.lineTo(r + v, i + S), e.lineTo(r + a, i + o), e.lineTo(r + y, i + T), e.lineTo(r + a, i + w), e.lineTo(r + f, i + w), e.lineTo(r + f, i), e.lineTo(r + p, i), e.lineTo(r + d, i + w), e.lineTo(r, i + w), e.lineTo(r + l, i + T), e.closePath();
1010
+ break;
1011
+ }
1012
+ case "ellipseribbon": {
1013
+ let t = Math.min(1e5, Math.max(0, s ?? 25e3)), n = Math.min(75e3, Math.max(25e3, c ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, 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 * t / 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;
1014
+ e.moveTo(r, i), e.quadraticCurveTo(r + S, i + C, r + h, i + x), e.lineTo(r + m, i + O), e.quadraticCurveTo(r + a / 2, i + k, r + _, i + O), e.lineTo(r + g, i + x), e.quadraticCurveTo(r + w, i + C, r + a, i), e.lineTo(r + v, i + j), e.lineTo(r + a, i + A), e.quadraticCurveTo(r + I, i + F, r + _, i + M), e.lineTo(r + _, i + N), e.quadraticCurveTo(r + a / 2, i + L, r + m, i + N), e.lineTo(r + m, i + M), e.quadraticCurveTo(r + P, i + F, r, i + A), e.lineTo(r + f, i + j), e.closePath();
1015
+ break;
1016
+ }
1017
+ case "ellipseribbon2": {
1018
+ let t = Math.min(1e5, Math.max(0, s ?? 25e3)), n = Math.min(75e3, Math.max(25e3, c ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, 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 * t / 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);
1019
+ e.moveTo(r, i + o), e.quadraticCurveTo(r + S, i + C, r + h, i + x), e.lineTo(r + m, i + k), e.quadraticCurveTo(r + a / 2, i + j, r + _, i + k), e.lineTo(r + g, i + x), e.quadraticCurveTo(r + w, i + C, r + a, i + o), e.lineTo(r + v, i + N), e.lineTo(r + a, i + T), e.quadraticCurveTo(r + R, i + L, r + _, i + P), e.lineTo(r + _, i + F), e.quadraticCurveTo(r + a / 2, i + z, r + m, i + F), e.lineTo(r + m, i + P), e.quadraticCurveTo(r + I, i + L, r, i + T), e.lineTo(r + f, i + N), e.closePath();
1020
+ break;
1021
+ }
1022
+ case "circulararrow": {
1023
+ let t = (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 = t + n;
1024
+ e.arc(d, f, i, t, h, !1), e.arc(d, f, u, h, t, !0), e.closePath();
1025
+ 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 * _;
1026
+ e.moveTo(y, b), e.lineTo(d + i * Math.cos(h), f + i * Math.sin(h)), e.lineTo(d + u * Math.cos(h), f + u * Math.sin(h)), e.closePath();
1027
+ break;
1028
+ }
1029
+ case "curvedrightarrow": {
1030
+ let t = Math.min(a, o), n = o / 2, u = 5e4 * o / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(d, Math.max(0, s ?? 25e3)) / 1e5, p = t * d / 1e5, m = n - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = 1e5 * (Math.sqrt(Math.max(0, h)) * a / (2 * m)) / t, _ = t * 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, E = a - _, D = Math.atan2(_, v), O = -D, k = Math.PI - D;
1031
+ e.moveTo(r, i + m), Z(e, r, i + m, a, m, Math.PI, O), e.lineTo(r + E, i + C), e.lineTo(r + a, i + T), e.lineTo(r + E, i + w), e.lineTo(r + E, i + x), Z(e, r + E, i + x, a, m, k, D), e.closePath();
1032
+ break;
1033
+ }
1034
+ case "curvedleftarrow": {
1035
+ let t = Math.min(a, o), n = o / 2, u = 5e4 * o / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(d, Math.max(0, s ?? 25e3)) / 1e5, p = t * 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 / t, v = t * 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, E = o - 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;
1036
+ e.moveTo(r, i + E), e.lineTo(r + D, i + w), e.lineTo(r + D, i + x);
1037
+ let P = Z(e, r + D, i + x, a, m, O, j);
1038
+ Z(e, P.x, P.y, a, m, N, M), e.lineTo(r + D, i + T), e.closePath();
1039
+ break;
1040
+ }
1041
+ case "curveduparrow": {
1042
+ let t = Math.min(a, o), n = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(1e5, Math.max(0, s ?? 25e3)) / 1e5, p = t * 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 / t, v = t * 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, 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 = Math.PI / 2 - O, P = Math.PI / 2 - A;
1043
+ e.moveTo(r + E, i), e.lineTo(r + T, i + D), e.lineTo(r + S, i + D);
1044
+ let F = Z(e, r + S, i + D, m, o, N, M);
1045
+ Z(e, F.x, F.y, m, o, P, j), e.lineTo(r + w, i + D), e.closePath();
1046
+ break;
1047
+ }
1048
+ case "curveddownarrow": {
1049
+ let t = Math.min(a, o), n = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, c ?? 5e4)), f = t * Math.min(1e5, Math.max(0, s ?? 25e3)) / 1e5, p = t * 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 / t, v = t * 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, E = a - p / 2, D = o - v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = 3 * Math.PI / 2 + O;
1050
+ 3 * Math.PI / 2 - A, A - Math.PI / 2, Math.PI / 2 - A, e.moveTo(r + E, i + o), e.lineTo(r + w, i + D), e.lineTo(r + x, i + D), Z(e, r + x, i + D, m, o, j, -O), e.lineTo(r + b, i), Z(e, r + b, i, m, o, 3 * Math.PI / 2, O), e.lineTo(r + T, i + D), e.closePath();
1051
+ break;
1052
+ }
1053
+ case "stripedrightarrow": {
1054
+ let t = Math.min(a, o), n = t / 32, l = t / 16, u = t / 8, d = t * (s ?? 5e4) / 1e5, p = a * (c ?? 5e4) / 1e5, m = f - d / 2, h = f + d / 2, g = r + a - p;
1055
+ e.rect(r, m, n, d), e.rect(r + l, m, l, d), e.rect(r + u, m, u, d), e.moveTo(g, m), e.lineTo(g, i), e.lineTo(r + a, f), e.lineTo(g, i + o), e.lineTo(g, h), e.lineTo(r + u * 2, h), e.lineTo(r + u * 2, m), e.closePath();
1056
+ break;
1057
+ }
1058
+ case "flowchartmagneticdisk": {
1059
+ let t = o * .15;
1060
+ e.moveTo(r, i + t), e.ellipse(d, i + t, a / 2, t, 0, Math.PI, 0), e.lineTo(r + a, i + o - t), e.ellipse(d, i + o - t, a / 2, t, 0, 0, Math.PI), e.lineTo(r, i + t), e.closePath(), e.moveTo(r + a, i + t), e.ellipse(d, i + t, a / 2, t, 0, 0, Math.PI);
1061
+ break;
1062
+ }
1063
+ case "flowchartmagneticdrum": {
1064
+ let t = a * .15;
1065
+ e.moveTo(r + t, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o), e.lineTo(r + t, i + o), e.ellipse(r + t, f, t, o / 2, 0, Math.PI / 2, -Math.PI / 2, !0), e.closePath(), e.moveTo(r + a, i), e.ellipse(r + a, f, t, o / 2, 0, -Math.PI / 2, Math.PI / 2);
1066
+ break;
1067
+ }
1068
+ case "flowchartmagnetictape": {
1069
+ let t = Math.min(a, o) / 2, n = d + t * .5;
1070
+ e.moveTo(d, i + o), e.arc(d, f, t, Math.PI / 2, Math.PI / 2 + Math.PI * 2 * .875), e.lineTo(n, f + t * .5), e.lineTo(n, i + o), e.closePath();
1071
+ break;
1072
+ }
1073
+ case "flowchartpunchedtape": {
1074
+ let t = o * .12;
1075
+ e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - t * 2, r, i + o - t), e.closePath(), e.moveTo(r, i + t), e.bezierCurveTo(r + a * .25, i, r + a * .75, i + t * 2, r + a, i + t);
1076
+ break;
1077
+ }
1078
+ case "flowchartmanualoperation": {
1079
+ let t = a * .15;
1080
+ e.moveTo(r + t, i), e.lineTo(r + a - t, i), e.lineTo(r + a, i + o), e.lineTo(r, i + o), e.closePath();
1081
+ break;
1082
+ }
1083
+ case "flowchartmultidocument": {
1084
+ let t = o * .1, n = a * .04;
1085
+ e.rect(r + n * 2, i - o * .08, a - n * 2, o * .1), e.rect(r + n, i - o * .04, a - n, o * .06), e.moveTo(r, i), e.lineTo(r + a, i), e.lineTo(r + a, i + o - t), e.bezierCurveTo(r + a * .75, i + o, r + a * .25, i + o - t * 2, r, i + o - t), e.closePath();
1086
+ break;
1087
+ }
1088
+ case "rttriangle":
1089
+ e.moveTo(r, i), e.lineTo(r, i + o), e.lineTo(r + a, i + o), e.closePath();
1090
+ break;
1091
+ default:
1092
+ e.rect(r, i, a, o);
1093
+ break;
1094
+ }
1095
+ }
1096
+ function Q(e, t, n) {
1097
+ 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;
1098
+ return {
1099
+ lw: r,
1100
+ halfW: r * i / 2,
1101
+ len: r * a
1102
+ };
1103
+ }
1104
+ var oe = new Set([
1105
+ "triangle",
1106
+ "stealth",
1107
+ "diamond",
1108
+ "oval"
1109
+ ]);
1110
+ function se(e, t, n) {
1111
+ return oe.has(e.type) ? Q(e, t, n).len : 0;
1112
+ }
1113
+ function ce(e, t, n) {
1114
+ if (e.type === "none") return 0;
1115
+ let { lw: r, halfW: i, len: a } = Q(e, t, n);
1116
+ return Math.max(a, i) + r / 2;
1117
+ }
1118
+ function le(e, t, n) {
1119
+ if (n <= 0) return {
1120
+ x: e.x,
1121
+ y: e.y
1122
+ };
1123
+ let r = t.x - e.x, i = t.y - e.y, a = Math.hypot(r, i);
1124
+ if (a < 1e-9) return {
1125
+ x: e.x,
1126
+ y: e.y
1127
+ };
1128
+ let o = Math.min(n, a) / a;
1129
+ return {
1130
+ x: e.x + r * o,
1131
+ y: e.y + i * o
1132
+ };
1133
+ }
1134
+ function ue(t, n, r, i, a, o, s, c) {
1135
+ if (a.type === "none") return;
1136
+ let { lw: l, halfW: u, len: d } = Q(a, o, s), f = c ?? e(o.color);
1137
+ switch (t.save(), t.translate(n, r), t.rotate(i), t.fillStyle = f, t.strokeStyle = f, t.lineWidth = l, t.setLineDash([]), t.beginPath(), a.type) {
1138
+ case "triangle":
1139
+ case "stealth":
1140
+ t.moveTo(0, 0), t.lineTo(-d, -u), t.lineTo(-d, u), t.closePath(), t.fill();
1141
+ break;
1142
+ case "arrow":
1143
+ t.lineCap = "round", t.lineJoin = "round", t.moveTo(-d, -u), t.lineTo(0, 0), t.lineTo(-d, u), t.stroke();
1144
+ break;
1145
+ case "diamond":
1146
+ t.moveTo(0, 0), t.lineTo(-d / 2, -u), t.lineTo(-d, 0), t.lineTo(-d / 2, u), t.closePath(), t.fill();
1147
+ break;
1148
+ case "oval":
1149
+ t.ellipse(-d / 2, 0, d / 2, u, 0, 0, Math.PI * 2), t.fill();
1150
+ break;
1151
+ }
1152
+ t.restore();
1153
+ }
1154
+ function $(e, t) {
1155
+ let n = Math.max(1, Math.round(e * t / 3)), r = Math.max(1, Math.round(e * t / 3));
1156
+ return {
1157
+ railDev: n,
1158
+ gapDev: r,
1159
+ spanDev: 2 * n + r
1160
+ };
1161
+ }
1162
+ function de(e, t, n, r, i, a, o) {
1163
+ let { railDev: s, gapDev: c, spanDev: l } = $(a, o);
1164
+ if (n === i) {
1165
+ let i = Math.round(n * o - l / 2);
1166
+ e.fillRect(t, i / o, r - t, s / o), e.fillRect(t, (i + s + c) / o, r - t, s / o);
1167
+ } else {
1168
+ let r = Math.round(t * o - l / 2);
1169
+ e.fillRect(r / o, n, s / o, i - n), e.fillRect((r + s + c) / o, n, s / o, i - n);
1170
+ }
1171
+ }
1172
+ var fe = (e) => e === 32 || e === 12288;
1173
+ function pe(e, t, n = {}) {
1174
+ if (Math.abs(t) <= .5) return null;
1175
+ let i = n.firstContentSi ?? 0, o = n.lastDrawnSi ?? e.length - 1, s = n.minPerGap ?? -Infinity, c = n.isGapChar ?? r, u = n.isWhitespace ?? fe, d = n.seaClusterGaps ?? !1, f = [];
1176
+ for (let t = i; t < e.length; t++) {
1177
+ let n = e[t];
1178
+ if (n === void 0) continue;
1179
+ if (n.text === void 0) {
1180
+ f.push({
1181
+ si: t,
1182
+ off: 0,
1183
+ ws: !1
1184
+ });
1185
+ continue;
1186
+ }
1187
+ let r = 0;
1188
+ for (let e of n.text) {
1189
+ let n = e.codePointAt(0);
1190
+ f.push({
1191
+ si: t,
1192
+ off: r,
1193
+ cp: n,
1194
+ ws: u(n)
1195
+ }), r++;
1196
+ }
1197
+ }
1198
+ let p = -1, m = -1;
1199
+ for (let e = 0; e < f.length; e++) f[e].ws || (p === -1 && (p = e), m = e);
1200
+ if (p === -1 || p === m) return null;
1201
+ let h = Array(f.length).fill(!1), g = 0;
1202
+ for (let e = p; e < m; e++) {
1203
+ let t = f[e];
1204
+ if (t.si === o) continue;
1205
+ if (t.ws) {
1206
+ h[e] = !0, g++;
1207
+ continue;
1208
+ }
1209
+ let n = f[e + 1];
1210
+ if (n.ws) continue;
1211
+ let r = t.cp, i = n.cp;
1212
+ (r !== void 0 && c(r) || i !== void 0 && c(i) || d && r !== void 0 && i !== void 0 && l(r) && l(i) && !a(i)) && (h[e] = !0, g++);
1213
+ }
1214
+ if (g === 0) return null;
1215
+ let _ = t / g;
1216
+ t < 0 && _ < s && (_ = s);
1217
+ let v = /* @__PURE__ */ new Map();
1218
+ for (let e of f) e.cp !== void 0 && v.set(e.si, (v.get(e.si) ?? 0) + 1);
1219
+ let y = /* @__PURE__ */ new Map();
1220
+ for (let e = 0; e < f.length; e++) {
1221
+ if (!h[e]) continue;
1222
+ let t = f[e], n = y.get(t.si);
1223
+ n || (n = {
1224
+ splitBefore: [],
1225
+ trailingGap: !1,
1226
+ internalStretch: 0
1227
+ }, y.set(t.si, n));
1228
+ let r = v.get(t.si) ?? 0;
1229
+ t.cp === void 0 || t.off === r - 1 ? n.trailingGap = !0 : (n.splitBefore.push(t.off + 1), n.internalStretch += _);
1230
+ }
1231
+ return {
1232
+ perGap: _,
1233
+ perSeg: y
1234
+ };
1235
+ }
1236
+ //#endregion
1237
+ export { p as C, u as D, O as E, d as O, x as S, _ as T, f as _, se as a, S as b, L as c, B as d, z as f, w as g, A as h, ue as i, R as l, de as m, ce as n, $ as o, I as p, le as r, pe as s, ee as t, ae as u, y as v, b as w, g as x, C as y };