@fibery/custom-app-text-editor 1.2.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 (105) hide show
  1. package/LICENSE +214 -0
  2. package/README.md +33 -0
  3. package/lib/abnfDiagram-VRR7QNED-BgjOQqEh.js +89 -0
  4. package/lib/arc-Dp0rqagO.js +82 -0
  5. package/lib/architecture-TIHT7OUA-DDwCCw0y.js +3 -0
  6. package/lib/architectureDiagram-ZJ3FMSHR-BucIluTN.js +4129 -0
  7. package/lib/array-CApNbSU9.js +6 -0
  8. package/lib/blockDiagram-677ZJIJ3-CWYuHThP.js +3157 -0
  9. package/lib/c4Diagram-LMCZKHZV-Cr3_W-xe.js +2982 -0
  10. package/lib/channel-Bb7a6w5c.js +5 -0
  11. package/lib/chunk-2Q5K7J3B-CINvUK-A.js +15 -0
  12. package/lib/chunk-32BRIVSS-b-BvyGz0.js +61 -0
  13. package/lib/chunk-52WLFC77-Cf8zEoqs.js +593 -0
  14. package/lib/chunk-5VM5RSS4-Dnx15xMv.js +5 -0
  15. package/lib/chunk-7BUUIJ7U-B018BbRy.js +82 -0
  16. package/lib/chunk-C7G6YPKG-CmOuVFlJ.js +67 -0
  17. package/lib/chunk-EX3LRPZG-LynZw14I.js +2042 -0
  18. package/lib/chunk-HOUHSVGY-Br7ZSMKe.js +275 -0
  19. package/lib/chunk-ICXQ74PX-VqT5WUTt.js +1330 -0
  20. package/lib/chunk-JWPE2WC7-Ch0jmUXM.js +8 -0
  21. package/lib/chunk-KEIR6QF5-RwFi50en.js +21456 -0
  22. package/lib/chunk-MOJQB5TN-rQ4AfTd9.js +490 -0
  23. package/lib/chunk-OGEWGWER-BvF6eV9Q.js +32 -0
  24. package/lib/chunk-PUDLZKDR-BW7SZvCB.js +4135 -0
  25. package/lib/chunk-Q4XR5HBZ-CRgGP3ez.js +1635 -0
  26. package/lib/chunk-RYQCIY6F-CHlASUpG.js +241 -0
  27. package/lib/chunk-V7JOEXUC-OY39ml6X.js +3357 -0
  28. package/lib/chunk-VR4S4FIN-Bk7IFdYB.js +26 -0
  29. package/lib/chunk-WYO6CB5R-MV-yOaop.js +3769 -0
  30. package/lib/chunk-XXDRQBXY-Djd1ChwJ.js +9 -0
  31. package/lib/chunk-Y2CYZVJY-QdJ4V9rh.js +12 -0
  32. package/lib/chunk-ZGVPDNZ5-l81xl1BI.js +3738 -0
  33. package/lib/classDiagram-OUVF2IWQ--wRzSvLt.js +30 -0
  34. package/lib/classDiagram-v2-EOCWNBFH-ChMCdPO-.js +30 -0
  35. package/lib/cose-bilkent-JH36ORCC-CyVZn5M3.js +2254 -0
  36. package/lib/custom-app-text-editor.css +2 -0
  37. package/lib/custom-app-text-editor.js +81102 -0
  38. package/lib/cynefin-VYW2F7L2-CMgnLl46.js +3 -0
  39. package/lib/cynefinDiagram-TSTJHNR4-988Y73wV.js +355 -0
  40. package/lib/cytoscape.esm-DMXbtFI-.js +18145 -0
  41. package/lib/dagre-Dmarb1s8.js +1699 -0
  42. package/lib/dagre-VKFMJZFB-Bf-pz2Lx.js +328 -0
  43. package/lib/defaultLocale-A87O3snN.js +198 -0
  44. package/lib/diagram-FQU43EPY-BT8WeVzc.js +432 -0
  45. package/lib/diagram-G47NLZAW-vZ2XG37l.js +527 -0
  46. package/lib/diagram-NH7WQ7WH-CH0IfHB0.js +134 -0
  47. package/lib/diagram-OA4YK3LP-BgwQcJfp.js +300 -0
  48. package/lib/diagram-WEI45ONY-Cd3sVPil.js +214 -0
  49. package/lib/dist-PGS6ynRO.js +59 -0
  50. package/lib/ebnfDiagram-CCIWWBDH-CwBFb2Fm.js +100 -0
  51. package/lib/erDiagram-Q63AITRT-BshRACvj.js +1727 -0
  52. package/lib/eventmodeling-45OFAUF4-BDhzj03B.js +3 -0
  53. package/lib/flowDiagram-23GEKE2U-C3zDgFvZ.js +16 -0
  54. package/lib/ganttDiagram-NO4QXBWP-BD5PiE8x.js +3073 -0
  55. package/lib/gitGraph-TEB2WS4Q-DJA_hE4G.js +3 -0
  56. package/lib/gitGraphDiagram-IHSO6WYX-BAhccBh3.js +733 -0
  57. package/lib/graphlib-DglfpsVp.js +1267 -0
  58. package/lib/index.browser-Dv9K8IAp.js +26 -0
  59. package/lib/info-DKCQHKI2-BD_vOCz6.js +3 -0
  60. package/lib/infoDiagram-FWYZ7A6U-CGZnf03G.js +20 -0
  61. package/lib/init-sjaVZO3f.js +13 -0
  62. package/lib/ishikawaDiagram-FXEZZL3T-PFfVM0NO.js +719 -0
  63. package/lib/journeyDiagram-5HDEW3XC-CRGz7dcx.js +884 -0
  64. package/lib/kanban-definition-HUTT4EX6-BBH4Yn5e.js +974 -0
  65. package/lib/line-CJQicKfr.js +34 -0
  66. package/lib/linear-B9Cv96-J.js +288 -0
  67. package/lib/map-C7KALUOH.js +241 -0
  68. package/lib/mermaid-parser.core-BupC9XGF.js +638 -0
  69. package/lib/mermaid-renderer-Cp0xusfR.js +2425 -0
  70. package/lib/mindmap-definition-LN4V7U3C-CWL1sg0K.js +978 -0
  71. package/lib/ordinal-CNQzPcrr.js +65 -0
  72. package/lib/packet-7NZHBO7P-CgBlALV1.js +3 -0
  73. package/lib/path-DVvH25eQ.js +84 -0
  74. package/lib/pegDiagram-2B236MQR-BKv8dTtv.js +94 -0
  75. package/lib/pie-RZYD4A2V-CryPC-P_.js +3 -0
  76. package/lib/pieDiagram-ENE6RG2P-CXeFg_cL.js +203 -0
  77. package/lib/quadrantDiagram-ABIIQ3AL-v_u3aC8Y.js +2001 -0
  78. package/lib/radar-I7S5WNFK-DgzJDRy3.js +3 -0
  79. package/lib/railroad-3IZDKUUU-DFp3mbpB.js +3 -0
  80. package/lib/railroad-abnf-AHOZXSZD-BRjidKH0.js +3 -0
  81. package/lib/railroad-ebnf-EBAXGLYW-PgrDWact.js +3 -0
  82. package/lib/railroad-peg-LSFZ7HO6-CMKir81Y.js +3 -0
  83. package/lib/railroadDiagram-RFXS5EU6-mEC9tVS-.js +76 -0
  84. package/lib/requirementDiagram-TGXJPOKE-BAEzI7V4.js +2223 -0
  85. package/lib/rolldown-runtime-DArdT4gl.js +23 -0
  86. package/lib/rough.esm-B2w_aYoc.js +1361 -0
  87. package/lib/sankeyDiagram-HTMAVEWB-Dbu-sl2E.js +972 -0
  88. package/lib/sequenceDiagram-DBY2YBRQ-DCuWmWHX.js +4156 -0
  89. package/lib/sizeCapture-X5ZJPWSS-BEIM84He.js +46 -0
  90. package/lib/src-DQbL46sB.js +2139 -0
  91. package/lib/src-DuuHKEe6.js +704 -0
  92. package/lib/stateDiagram-2N3HPSRC-fs9QmDMR.js +220 -0
  93. package/lib/stateDiagram-v2-6OUMAXLB-wWxYbttN.js +30 -0
  94. package/lib/swimlanes-5IMT3BWC-QaXUd9db.js +5069 -0
  95. package/lib/swimlanesDiagram-G3AALYLV-BtGToCzH.js +30 -0
  96. package/lib/timeline-definition-FHXFAJF6-CAsyJrsw.js +1069 -0
  97. package/lib/treeView-QDETBFTQ-DVp4aTZQ.js +3 -0
  98. package/lib/treemap-6X3UGDF4-BbBnHMHJ.js +3 -0
  99. package/lib/types.d.ts +44 -0
  100. package/lib/v4-CZv9Hsqq.js +33 -0
  101. package/lib/vennDiagram-L72KCM5P-C87u0gjr.js +1880 -0
  102. package/lib/wardley-OPB4EBWU-B-RXhnoN.js +3 -0
  103. package/lib/wardleyDiagram-EHGQE667-BxviBDl_.js +645 -0
  104. package/lib/xychartDiagram-FW5EYKEG-BQQhanuH.js +2098 -0
  105. package/package.json +29 -0
@@ -0,0 +1,2982 @@
1
+ import { n as e } from "./chunk-Y2CYZVJY-QdJ4V9rh.js";
2
+ import { m as t, p as n } from "./src-DQbL46sB.js";
3
+ import { H as r, U as i, c as a, r as o, s, v as l, x as u, y as d, z as f } from "./chunk-WYO6CB5R-MV-yOaop.js";
4
+ import { t as p } from "./dist-PGS6ynRO.js";
5
+ import { _ as m, n as h, r as g } from "./chunk-ICXQ74PX-VqT5WUTt.js";
6
+ import { a as _, s as v } from "./chunk-32BRIVSS-b-BvyGz0.js";
7
+ //#region ../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-LMCZKHZV.mjs
8
+ var y = p(), b = (function() {
9
+ var t = /* @__PURE__ */ e(function(e, t, n, r) {
10
+ for (n ||= {}, r = e.length; r--; n[e[r]] = t);
11
+ return n;
12
+ }, "o"), n = [1, 24], r = [1, 25], i = [1, 26], a = [1, 27], o = [1, 28], s = [1, 63], l = [1, 64], u = [1, 65], d = [1, 66], f = [1, 67], p = [1, 68], m = [1, 69], h = [1, 29], g = [1, 30], _ = [1, 31], v = [1, 32], y = [1, 33], b = [1, 34], x = [1, 35], S = [1, 36], C = [1, 37], w = [1, 38], T = [1, 39], E = [1, 40], D = [1, 41], O = [1, 42], k = [1, 43], A = [1, 44], j = [1, 45], M = [1, 46], N = [1, 47], P = [1, 48], F = [1, 50], I = [1, 51], L = [1, 52], R = [1, 53], z = [1, 54], B = [1, 55], V = [1, 56], H = [1, 57], ee = [1, 58], te = [1, 59], ne = [1, 60], re = [14, 42], ie = [
13
+ 14,
14
+ 34,
15
+ 36,
16
+ 37,
17
+ 38,
18
+ 39,
19
+ 40,
20
+ 41,
21
+ 42,
22
+ 44,
23
+ 45,
24
+ 46,
25
+ 47,
26
+ 48,
27
+ 49,
28
+ 50,
29
+ 51,
30
+ 52,
31
+ 53,
32
+ 54,
33
+ 55,
34
+ 56,
35
+ 57,
36
+ 58,
37
+ 59,
38
+ 60,
39
+ 61,
40
+ 62,
41
+ 63,
42
+ 64,
43
+ 65,
44
+ 66,
45
+ 67,
46
+ 68,
47
+ 69,
48
+ 70,
49
+ 71,
50
+ 72,
51
+ 73,
52
+ 74
53
+ ], ae = [
54
+ 12,
55
+ 14,
56
+ 34,
57
+ 36,
58
+ 37,
59
+ 38,
60
+ 39,
61
+ 40,
62
+ 41,
63
+ 42,
64
+ 44,
65
+ 45,
66
+ 46,
67
+ 47,
68
+ 48,
69
+ 49,
70
+ 50,
71
+ 51,
72
+ 52,
73
+ 53,
74
+ 54,
75
+ 55,
76
+ 56,
77
+ 57,
78
+ 58,
79
+ 59,
80
+ 60,
81
+ 61,
82
+ 62,
83
+ 63,
84
+ 64,
85
+ 65,
86
+ 66,
87
+ 67,
88
+ 68,
89
+ 69,
90
+ 70,
91
+ 71,
92
+ 72,
93
+ 73,
94
+ 74
95
+ ], U = [1, 82], W = [1, 83], G = [1, 84], K = [1, 85], q = [
96
+ 12,
97
+ 14,
98
+ 42
99
+ ], oe = [
100
+ 12,
101
+ 14,
102
+ 33,
103
+ 42
104
+ ], se = [
105
+ 12,
106
+ 14,
107
+ 33,
108
+ 42,
109
+ 76,
110
+ 77,
111
+ 79,
112
+ 80
113
+ ], ce = [12, 33], le = [
114
+ 34,
115
+ 36,
116
+ 37,
117
+ 38,
118
+ 39,
119
+ 40,
120
+ 41,
121
+ 44,
122
+ 45,
123
+ 46,
124
+ 47,
125
+ 48,
126
+ 49,
127
+ 50,
128
+ 51,
129
+ 52,
130
+ 53,
131
+ 54,
132
+ 55,
133
+ 56,
134
+ 57,
135
+ 58,
136
+ 59,
137
+ 60,
138
+ 61,
139
+ 62,
140
+ 63,
141
+ 64,
142
+ 65,
143
+ 66,
144
+ 67,
145
+ 68,
146
+ 69,
147
+ 70,
148
+ 71,
149
+ 72,
150
+ 73,
151
+ 74
152
+ ], J = {
153
+ trace: /* @__PURE__ */ e(function() {}, "trace"),
154
+ yy: {},
155
+ symbols_: {
156
+ error: 2,
157
+ start: 3,
158
+ mermaidDoc: 4,
159
+ direction: 5,
160
+ direction_tb: 6,
161
+ direction_bt: 7,
162
+ direction_rl: 8,
163
+ direction_lr: 9,
164
+ graphConfig: 10,
165
+ C4_CONTEXT: 11,
166
+ NEWLINE: 12,
167
+ statements: 13,
168
+ EOF: 14,
169
+ C4_CONTAINER: 15,
170
+ C4_COMPONENT: 16,
171
+ C4_DYNAMIC: 17,
172
+ C4_DEPLOYMENT: 18,
173
+ otherStatements: 19,
174
+ diagramStatements: 20,
175
+ otherStatement: 21,
176
+ title: 22,
177
+ accDescription: 23,
178
+ acc_title: 24,
179
+ acc_title_value: 25,
180
+ acc_descr: 26,
181
+ acc_descr_value: 27,
182
+ acc_descr_multiline_value: 28,
183
+ boundaryStatement: 29,
184
+ boundaryStartStatement: 30,
185
+ boundaryStopStatement: 31,
186
+ boundaryStart: 32,
187
+ LBRACE: 33,
188
+ ENTERPRISE_BOUNDARY: 34,
189
+ attributes: 35,
190
+ SYSTEM_BOUNDARY: 36,
191
+ BOUNDARY: 37,
192
+ CONTAINER_BOUNDARY: 38,
193
+ NODE: 39,
194
+ NODE_L: 40,
195
+ NODE_R: 41,
196
+ RBRACE: 42,
197
+ diagramStatement: 43,
198
+ PERSON: 44,
199
+ PERSON_EXT: 45,
200
+ SYSTEM: 46,
201
+ SYSTEM_DB: 47,
202
+ SYSTEM_QUEUE: 48,
203
+ SYSTEM_EXT: 49,
204
+ SYSTEM_EXT_DB: 50,
205
+ SYSTEM_EXT_QUEUE: 51,
206
+ CONTAINER: 52,
207
+ CONTAINER_DB: 53,
208
+ CONTAINER_QUEUE: 54,
209
+ CONTAINER_EXT: 55,
210
+ CONTAINER_EXT_DB: 56,
211
+ CONTAINER_EXT_QUEUE: 57,
212
+ COMPONENT: 58,
213
+ COMPONENT_DB: 59,
214
+ COMPONENT_QUEUE: 60,
215
+ COMPONENT_EXT: 61,
216
+ COMPONENT_EXT_DB: 62,
217
+ COMPONENT_EXT_QUEUE: 63,
218
+ REL: 64,
219
+ BIREL: 65,
220
+ REL_U: 66,
221
+ REL_D: 67,
222
+ REL_L: 68,
223
+ REL_R: 69,
224
+ REL_B: 70,
225
+ REL_INDEX: 71,
226
+ UPDATE_EL_STYLE: 72,
227
+ UPDATE_REL_STYLE: 73,
228
+ UPDATE_LAYOUT_CONFIG: 74,
229
+ attribute: 75,
230
+ STR: 76,
231
+ STR_KEY: 77,
232
+ STR_VALUE: 78,
233
+ ATTRIBUTE: 79,
234
+ ATTRIBUTE_EMPTY: 80,
235
+ $accept: 0,
236
+ $end: 1
237
+ },
238
+ terminals_: {
239
+ 2: "error",
240
+ 6: "direction_tb",
241
+ 7: "direction_bt",
242
+ 8: "direction_rl",
243
+ 9: "direction_lr",
244
+ 11: "C4_CONTEXT",
245
+ 12: "NEWLINE",
246
+ 14: "EOF",
247
+ 15: "C4_CONTAINER",
248
+ 16: "C4_COMPONENT",
249
+ 17: "C4_DYNAMIC",
250
+ 18: "C4_DEPLOYMENT",
251
+ 22: "title",
252
+ 23: "accDescription",
253
+ 24: "acc_title",
254
+ 25: "acc_title_value",
255
+ 26: "acc_descr",
256
+ 27: "acc_descr_value",
257
+ 28: "acc_descr_multiline_value",
258
+ 33: "LBRACE",
259
+ 34: "ENTERPRISE_BOUNDARY",
260
+ 36: "SYSTEM_BOUNDARY",
261
+ 37: "BOUNDARY",
262
+ 38: "CONTAINER_BOUNDARY",
263
+ 39: "NODE",
264
+ 40: "NODE_L",
265
+ 41: "NODE_R",
266
+ 42: "RBRACE",
267
+ 44: "PERSON",
268
+ 45: "PERSON_EXT",
269
+ 46: "SYSTEM",
270
+ 47: "SYSTEM_DB",
271
+ 48: "SYSTEM_QUEUE",
272
+ 49: "SYSTEM_EXT",
273
+ 50: "SYSTEM_EXT_DB",
274
+ 51: "SYSTEM_EXT_QUEUE",
275
+ 52: "CONTAINER",
276
+ 53: "CONTAINER_DB",
277
+ 54: "CONTAINER_QUEUE",
278
+ 55: "CONTAINER_EXT",
279
+ 56: "CONTAINER_EXT_DB",
280
+ 57: "CONTAINER_EXT_QUEUE",
281
+ 58: "COMPONENT",
282
+ 59: "COMPONENT_DB",
283
+ 60: "COMPONENT_QUEUE",
284
+ 61: "COMPONENT_EXT",
285
+ 62: "COMPONENT_EXT_DB",
286
+ 63: "COMPONENT_EXT_QUEUE",
287
+ 64: "REL",
288
+ 65: "BIREL",
289
+ 66: "REL_U",
290
+ 67: "REL_D",
291
+ 68: "REL_L",
292
+ 69: "REL_R",
293
+ 70: "REL_B",
294
+ 71: "REL_INDEX",
295
+ 72: "UPDATE_EL_STYLE",
296
+ 73: "UPDATE_REL_STYLE",
297
+ 74: "UPDATE_LAYOUT_CONFIG",
298
+ 76: "STR",
299
+ 77: "STR_KEY",
300
+ 78: "STR_VALUE",
301
+ 79: "ATTRIBUTE",
302
+ 80: "ATTRIBUTE_EMPTY"
303
+ },
304
+ productions_: [
305
+ 0,
306
+ [3, 1],
307
+ [3, 1],
308
+ [5, 1],
309
+ [5, 1],
310
+ [5, 1],
311
+ [5, 1],
312
+ [4, 1],
313
+ [10, 4],
314
+ [10, 4],
315
+ [10, 4],
316
+ [10, 4],
317
+ [10, 4],
318
+ [13, 1],
319
+ [13, 1],
320
+ [13, 2],
321
+ [19, 1],
322
+ [19, 2],
323
+ [19, 3],
324
+ [21, 1],
325
+ [21, 1],
326
+ [21, 2],
327
+ [21, 2],
328
+ [21, 1],
329
+ [29, 3],
330
+ [30, 3],
331
+ [30, 3],
332
+ [30, 4],
333
+ [32, 2],
334
+ [32, 2],
335
+ [32, 2],
336
+ [32, 2],
337
+ [32, 2],
338
+ [32, 2],
339
+ [32, 2],
340
+ [31, 1],
341
+ [20, 1],
342
+ [20, 2],
343
+ [20, 3],
344
+ [43, 2],
345
+ [43, 2],
346
+ [43, 2],
347
+ [43, 2],
348
+ [43, 2],
349
+ [43, 2],
350
+ [43, 2],
351
+ [43, 2],
352
+ [43, 2],
353
+ [43, 2],
354
+ [43, 2],
355
+ [43, 2],
356
+ [43, 2],
357
+ [43, 2],
358
+ [43, 2],
359
+ [43, 2],
360
+ [43, 2],
361
+ [43, 2],
362
+ [43, 2],
363
+ [43, 2],
364
+ [43, 1],
365
+ [43, 2],
366
+ [43, 2],
367
+ [43, 2],
368
+ [43, 2],
369
+ [43, 2],
370
+ [43, 2],
371
+ [43, 2],
372
+ [43, 2],
373
+ [43, 2],
374
+ [43, 2],
375
+ [43, 2],
376
+ [35, 1],
377
+ [35, 2],
378
+ [75, 1],
379
+ [75, 2],
380
+ [75, 1],
381
+ [75, 1]
382
+ ],
383
+ performAction: /* @__PURE__ */ e(function(e, t, n, r, i, a, o) {
384
+ var s = a.length - 1;
385
+ switch (i) {
386
+ case 3:
387
+ r.setDirection("TB");
388
+ break;
389
+ case 4:
390
+ r.setDirection("BT");
391
+ break;
392
+ case 5:
393
+ r.setDirection("RL");
394
+ break;
395
+ case 6:
396
+ r.setDirection("LR");
397
+ break;
398
+ case 8:
399
+ case 9:
400
+ case 10:
401
+ case 11:
402
+ case 12:
403
+ r.setC4Type(a[s - 3]);
404
+ break;
405
+ case 19:
406
+ r.setTitle(a[s].substring(6)), this.$ = a[s].substring(6);
407
+ break;
408
+ case 20:
409
+ r.setAccDescription(a[s].substring(15)), this.$ = a[s].substring(15);
410
+ break;
411
+ case 21:
412
+ this.$ = a[s].trim(), r.setTitle(this.$);
413
+ break;
414
+ case 22:
415
+ case 23:
416
+ this.$ = a[s].trim(), r.setAccDescription(this.$);
417
+ break;
418
+ case 28:
419
+ a[s].splice(2, 0, "ENTERPRISE"), r.addPersonOrSystemBoundary(...a[s]), this.$ = a[s];
420
+ break;
421
+ case 29:
422
+ a[s].splice(2, 0, "SYSTEM"), r.addPersonOrSystemBoundary(...a[s]), this.$ = a[s];
423
+ break;
424
+ case 30:
425
+ r.addPersonOrSystemBoundary(...a[s]), this.$ = a[s];
426
+ break;
427
+ case 31:
428
+ a[s].splice(2, 0, "CONTAINER"), r.addContainerBoundary(...a[s]), this.$ = a[s];
429
+ break;
430
+ case 32:
431
+ r.addDeploymentNode("node", ...a[s]), this.$ = a[s];
432
+ break;
433
+ case 33:
434
+ r.addDeploymentNode("nodeL", ...a[s]), this.$ = a[s];
435
+ break;
436
+ case 34:
437
+ r.addDeploymentNode("nodeR", ...a[s]), this.$ = a[s];
438
+ break;
439
+ case 35:
440
+ r.popBoundaryParseStack();
441
+ break;
442
+ case 39:
443
+ r.addPersonOrSystem("person", ...a[s]), this.$ = a[s];
444
+ break;
445
+ case 40:
446
+ r.addPersonOrSystem("external_person", ...a[s]), this.$ = a[s];
447
+ break;
448
+ case 41:
449
+ r.addPersonOrSystem("system", ...a[s]), this.$ = a[s];
450
+ break;
451
+ case 42:
452
+ r.addPersonOrSystem("system_db", ...a[s]), this.$ = a[s];
453
+ break;
454
+ case 43:
455
+ r.addPersonOrSystem("system_queue", ...a[s]), this.$ = a[s];
456
+ break;
457
+ case 44:
458
+ r.addPersonOrSystem("external_system", ...a[s]), this.$ = a[s];
459
+ break;
460
+ case 45:
461
+ r.addPersonOrSystem("external_system_db", ...a[s]), this.$ = a[s];
462
+ break;
463
+ case 46:
464
+ r.addPersonOrSystem("external_system_queue", ...a[s]), this.$ = a[s];
465
+ break;
466
+ case 47:
467
+ r.addContainer("container", ...a[s]), this.$ = a[s];
468
+ break;
469
+ case 48:
470
+ r.addContainer("container_db", ...a[s]), this.$ = a[s];
471
+ break;
472
+ case 49:
473
+ r.addContainer("container_queue", ...a[s]), this.$ = a[s];
474
+ break;
475
+ case 50:
476
+ r.addContainer("external_container", ...a[s]), this.$ = a[s];
477
+ break;
478
+ case 51:
479
+ r.addContainer("external_container_db", ...a[s]), this.$ = a[s];
480
+ break;
481
+ case 52:
482
+ r.addContainer("external_container_queue", ...a[s]), this.$ = a[s];
483
+ break;
484
+ case 53:
485
+ r.addComponent("component", ...a[s]), this.$ = a[s];
486
+ break;
487
+ case 54:
488
+ r.addComponent("component_db", ...a[s]), this.$ = a[s];
489
+ break;
490
+ case 55:
491
+ r.addComponent("component_queue", ...a[s]), this.$ = a[s];
492
+ break;
493
+ case 56:
494
+ r.addComponent("external_component", ...a[s]), this.$ = a[s];
495
+ break;
496
+ case 57:
497
+ r.addComponent("external_component_db", ...a[s]), this.$ = a[s];
498
+ break;
499
+ case 58:
500
+ r.addComponent("external_component_queue", ...a[s]), this.$ = a[s];
501
+ break;
502
+ case 60:
503
+ r.addRel("rel", ...a[s]), this.$ = a[s];
504
+ break;
505
+ case 61:
506
+ r.addRel("birel", ...a[s]), this.$ = a[s];
507
+ break;
508
+ case 62:
509
+ r.addRel("rel_u", ...a[s]), this.$ = a[s];
510
+ break;
511
+ case 63:
512
+ r.addRel("rel_d", ...a[s]), this.$ = a[s];
513
+ break;
514
+ case 64:
515
+ r.addRel("rel_l", ...a[s]), this.$ = a[s];
516
+ break;
517
+ case 65:
518
+ r.addRel("rel_r", ...a[s]), this.$ = a[s];
519
+ break;
520
+ case 66:
521
+ r.addRel("rel_b", ...a[s]), this.$ = a[s];
522
+ break;
523
+ case 67:
524
+ a[s].splice(0, 1), r.addRel("rel", ...a[s]), this.$ = a[s];
525
+ break;
526
+ case 68:
527
+ r.updateElStyle("update_el_style", ...a[s]), this.$ = a[s];
528
+ break;
529
+ case 69:
530
+ r.updateRelStyle("update_rel_style", ...a[s]), this.$ = a[s];
531
+ break;
532
+ case 70:
533
+ r.updateLayoutConfig("update_layout_config", ...a[s]), this.$ = a[s];
534
+ break;
535
+ case 71:
536
+ this.$ = [a[s]];
537
+ break;
538
+ case 72:
539
+ a[s].unshift(a[s - 1]), this.$ = a[s];
540
+ break;
541
+ case 73:
542
+ case 75:
543
+ this.$ = a[s].trim();
544
+ break;
545
+ case 74:
546
+ let e = {};
547
+ e[a[s - 1].trim()] = a[s].trim(), this.$ = e;
548
+ break;
549
+ case 76: this.$ = "";
550
+ }
551
+ }, "anonymous"),
552
+ table: [
553
+ {
554
+ 3: 1,
555
+ 4: 2,
556
+ 5: 3,
557
+ 6: [1, 5],
558
+ 7: [1, 6],
559
+ 8: [1, 7],
560
+ 9: [1, 8],
561
+ 10: 4,
562
+ 11: [1, 9],
563
+ 15: [1, 10],
564
+ 16: [1, 11],
565
+ 17: [1, 12],
566
+ 18: [1, 13]
567
+ },
568
+ { 1: [3] },
569
+ { 1: [2, 1] },
570
+ { 1: [2, 2] },
571
+ { 1: [2, 7] },
572
+ { 1: [2, 3] },
573
+ { 1: [2, 4] },
574
+ { 1: [2, 5] },
575
+ { 1: [2, 6] },
576
+ { 12: [1, 14] },
577
+ { 12: [1, 15] },
578
+ { 12: [1, 16] },
579
+ { 12: [1, 17] },
580
+ { 12: [1, 18] },
581
+ {
582
+ 13: 19,
583
+ 19: 20,
584
+ 20: 21,
585
+ 21: 22,
586
+ 22: n,
587
+ 23: r,
588
+ 24: i,
589
+ 26: a,
590
+ 28: o,
591
+ 29: 49,
592
+ 30: 61,
593
+ 32: 62,
594
+ 34: s,
595
+ 36: l,
596
+ 37: u,
597
+ 38: d,
598
+ 39: f,
599
+ 40: p,
600
+ 41: m,
601
+ 43: 23,
602
+ 44: h,
603
+ 45: g,
604
+ 46: _,
605
+ 47: v,
606
+ 48: y,
607
+ 49: b,
608
+ 50: x,
609
+ 51: S,
610
+ 52: C,
611
+ 53: w,
612
+ 54: T,
613
+ 55: E,
614
+ 56: D,
615
+ 57: O,
616
+ 58: k,
617
+ 59: A,
618
+ 60: j,
619
+ 61: M,
620
+ 62: N,
621
+ 63: P,
622
+ 64: F,
623
+ 65: I,
624
+ 66: L,
625
+ 67: R,
626
+ 68: z,
627
+ 69: B,
628
+ 70: V,
629
+ 71: H,
630
+ 72: ee,
631
+ 73: te,
632
+ 74: ne
633
+ },
634
+ {
635
+ 13: 70,
636
+ 19: 20,
637
+ 20: 21,
638
+ 21: 22,
639
+ 22: n,
640
+ 23: r,
641
+ 24: i,
642
+ 26: a,
643
+ 28: o,
644
+ 29: 49,
645
+ 30: 61,
646
+ 32: 62,
647
+ 34: s,
648
+ 36: l,
649
+ 37: u,
650
+ 38: d,
651
+ 39: f,
652
+ 40: p,
653
+ 41: m,
654
+ 43: 23,
655
+ 44: h,
656
+ 45: g,
657
+ 46: _,
658
+ 47: v,
659
+ 48: y,
660
+ 49: b,
661
+ 50: x,
662
+ 51: S,
663
+ 52: C,
664
+ 53: w,
665
+ 54: T,
666
+ 55: E,
667
+ 56: D,
668
+ 57: O,
669
+ 58: k,
670
+ 59: A,
671
+ 60: j,
672
+ 61: M,
673
+ 62: N,
674
+ 63: P,
675
+ 64: F,
676
+ 65: I,
677
+ 66: L,
678
+ 67: R,
679
+ 68: z,
680
+ 69: B,
681
+ 70: V,
682
+ 71: H,
683
+ 72: ee,
684
+ 73: te,
685
+ 74: ne
686
+ },
687
+ {
688
+ 13: 71,
689
+ 19: 20,
690
+ 20: 21,
691
+ 21: 22,
692
+ 22: n,
693
+ 23: r,
694
+ 24: i,
695
+ 26: a,
696
+ 28: o,
697
+ 29: 49,
698
+ 30: 61,
699
+ 32: 62,
700
+ 34: s,
701
+ 36: l,
702
+ 37: u,
703
+ 38: d,
704
+ 39: f,
705
+ 40: p,
706
+ 41: m,
707
+ 43: 23,
708
+ 44: h,
709
+ 45: g,
710
+ 46: _,
711
+ 47: v,
712
+ 48: y,
713
+ 49: b,
714
+ 50: x,
715
+ 51: S,
716
+ 52: C,
717
+ 53: w,
718
+ 54: T,
719
+ 55: E,
720
+ 56: D,
721
+ 57: O,
722
+ 58: k,
723
+ 59: A,
724
+ 60: j,
725
+ 61: M,
726
+ 62: N,
727
+ 63: P,
728
+ 64: F,
729
+ 65: I,
730
+ 66: L,
731
+ 67: R,
732
+ 68: z,
733
+ 69: B,
734
+ 70: V,
735
+ 71: H,
736
+ 72: ee,
737
+ 73: te,
738
+ 74: ne
739
+ },
740
+ {
741
+ 13: 72,
742
+ 19: 20,
743
+ 20: 21,
744
+ 21: 22,
745
+ 22: n,
746
+ 23: r,
747
+ 24: i,
748
+ 26: a,
749
+ 28: o,
750
+ 29: 49,
751
+ 30: 61,
752
+ 32: 62,
753
+ 34: s,
754
+ 36: l,
755
+ 37: u,
756
+ 38: d,
757
+ 39: f,
758
+ 40: p,
759
+ 41: m,
760
+ 43: 23,
761
+ 44: h,
762
+ 45: g,
763
+ 46: _,
764
+ 47: v,
765
+ 48: y,
766
+ 49: b,
767
+ 50: x,
768
+ 51: S,
769
+ 52: C,
770
+ 53: w,
771
+ 54: T,
772
+ 55: E,
773
+ 56: D,
774
+ 57: O,
775
+ 58: k,
776
+ 59: A,
777
+ 60: j,
778
+ 61: M,
779
+ 62: N,
780
+ 63: P,
781
+ 64: F,
782
+ 65: I,
783
+ 66: L,
784
+ 67: R,
785
+ 68: z,
786
+ 69: B,
787
+ 70: V,
788
+ 71: H,
789
+ 72: ee,
790
+ 73: te,
791
+ 74: ne
792
+ },
793
+ {
794
+ 13: 73,
795
+ 19: 20,
796
+ 20: 21,
797
+ 21: 22,
798
+ 22: n,
799
+ 23: r,
800
+ 24: i,
801
+ 26: a,
802
+ 28: o,
803
+ 29: 49,
804
+ 30: 61,
805
+ 32: 62,
806
+ 34: s,
807
+ 36: l,
808
+ 37: u,
809
+ 38: d,
810
+ 39: f,
811
+ 40: p,
812
+ 41: m,
813
+ 43: 23,
814
+ 44: h,
815
+ 45: g,
816
+ 46: _,
817
+ 47: v,
818
+ 48: y,
819
+ 49: b,
820
+ 50: x,
821
+ 51: S,
822
+ 52: C,
823
+ 53: w,
824
+ 54: T,
825
+ 55: E,
826
+ 56: D,
827
+ 57: O,
828
+ 58: k,
829
+ 59: A,
830
+ 60: j,
831
+ 61: M,
832
+ 62: N,
833
+ 63: P,
834
+ 64: F,
835
+ 65: I,
836
+ 66: L,
837
+ 67: R,
838
+ 68: z,
839
+ 69: B,
840
+ 70: V,
841
+ 71: H,
842
+ 72: ee,
843
+ 73: te,
844
+ 74: ne
845
+ },
846
+ { 14: [1, 74] },
847
+ t(re, [2, 13], {
848
+ 43: 23,
849
+ 29: 49,
850
+ 30: 61,
851
+ 32: 62,
852
+ 20: 75,
853
+ 34: s,
854
+ 36: l,
855
+ 37: u,
856
+ 38: d,
857
+ 39: f,
858
+ 40: p,
859
+ 41: m,
860
+ 44: h,
861
+ 45: g,
862
+ 46: _,
863
+ 47: v,
864
+ 48: y,
865
+ 49: b,
866
+ 50: x,
867
+ 51: S,
868
+ 52: C,
869
+ 53: w,
870
+ 54: T,
871
+ 55: E,
872
+ 56: D,
873
+ 57: O,
874
+ 58: k,
875
+ 59: A,
876
+ 60: j,
877
+ 61: M,
878
+ 62: N,
879
+ 63: P,
880
+ 64: F,
881
+ 65: I,
882
+ 66: L,
883
+ 67: R,
884
+ 68: z,
885
+ 69: B,
886
+ 70: V,
887
+ 71: H,
888
+ 72: ee,
889
+ 73: te,
890
+ 74: ne
891
+ }),
892
+ t(re, [2, 14]),
893
+ t(ie, [2, 16], { 12: [1, 76] }),
894
+ t(re, [2, 36], { 12: [1, 77] }),
895
+ t(ae, [2, 19]),
896
+ t(ae, [2, 20]),
897
+ { 25: [1, 78] },
898
+ { 27: [1, 79] },
899
+ t(ae, [2, 23]),
900
+ {
901
+ 35: 80,
902
+ 75: 81,
903
+ 76: U,
904
+ 77: W,
905
+ 79: G,
906
+ 80: K
907
+ },
908
+ {
909
+ 35: 86,
910
+ 75: 81,
911
+ 76: U,
912
+ 77: W,
913
+ 79: G,
914
+ 80: K
915
+ },
916
+ {
917
+ 35: 87,
918
+ 75: 81,
919
+ 76: U,
920
+ 77: W,
921
+ 79: G,
922
+ 80: K
923
+ },
924
+ {
925
+ 35: 88,
926
+ 75: 81,
927
+ 76: U,
928
+ 77: W,
929
+ 79: G,
930
+ 80: K
931
+ },
932
+ {
933
+ 35: 89,
934
+ 75: 81,
935
+ 76: U,
936
+ 77: W,
937
+ 79: G,
938
+ 80: K
939
+ },
940
+ {
941
+ 35: 90,
942
+ 75: 81,
943
+ 76: U,
944
+ 77: W,
945
+ 79: G,
946
+ 80: K
947
+ },
948
+ {
949
+ 35: 91,
950
+ 75: 81,
951
+ 76: U,
952
+ 77: W,
953
+ 79: G,
954
+ 80: K
955
+ },
956
+ {
957
+ 35: 92,
958
+ 75: 81,
959
+ 76: U,
960
+ 77: W,
961
+ 79: G,
962
+ 80: K
963
+ },
964
+ {
965
+ 35: 93,
966
+ 75: 81,
967
+ 76: U,
968
+ 77: W,
969
+ 79: G,
970
+ 80: K
971
+ },
972
+ {
973
+ 35: 94,
974
+ 75: 81,
975
+ 76: U,
976
+ 77: W,
977
+ 79: G,
978
+ 80: K
979
+ },
980
+ {
981
+ 35: 95,
982
+ 75: 81,
983
+ 76: U,
984
+ 77: W,
985
+ 79: G,
986
+ 80: K
987
+ },
988
+ {
989
+ 35: 96,
990
+ 75: 81,
991
+ 76: U,
992
+ 77: W,
993
+ 79: G,
994
+ 80: K
995
+ },
996
+ {
997
+ 35: 97,
998
+ 75: 81,
999
+ 76: U,
1000
+ 77: W,
1001
+ 79: G,
1002
+ 80: K
1003
+ },
1004
+ {
1005
+ 35: 98,
1006
+ 75: 81,
1007
+ 76: U,
1008
+ 77: W,
1009
+ 79: G,
1010
+ 80: K
1011
+ },
1012
+ {
1013
+ 35: 99,
1014
+ 75: 81,
1015
+ 76: U,
1016
+ 77: W,
1017
+ 79: G,
1018
+ 80: K
1019
+ },
1020
+ {
1021
+ 35: 100,
1022
+ 75: 81,
1023
+ 76: U,
1024
+ 77: W,
1025
+ 79: G,
1026
+ 80: K
1027
+ },
1028
+ {
1029
+ 35: 101,
1030
+ 75: 81,
1031
+ 76: U,
1032
+ 77: W,
1033
+ 79: G,
1034
+ 80: K
1035
+ },
1036
+ {
1037
+ 35: 102,
1038
+ 75: 81,
1039
+ 76: U,
1040
+ 77: W,
1041
+ 79: G,
1042
+ 80: K
1043
+ },
1044
+ {
1045
+ 35: 103,
1046
+ 75: 81,
1047
+ 76: U,
1048
+ 77: W,
1049
+ 79: G,
1050
+ 80: K
1051
+ },
1052
+ {
1053
+ 35: 104,
1054
+ 75: 81,
1055
+ 76: U,
1056
+ 77: W,
1057
+ 79: G,
1058
+ 80: K
1059
+ },
1060
+ t(q, [2, 59]),
1061
+ {
1062
+ 35: 105,
1063
+ 75: 81,
1064
+ 76: U,
1065
+ 77: W,
1066
+ 79: G,
1067
+ 80: K
1068
+ },
1069
+ {
1070
+ 35: 106,
1071
+ 75: 81,
1072
+ 76: U,
1073
+ 77: W,
1074
+ 79: G,
1075
+ 80: K
1076
+ },
1077
+ {
1078
+ 35: 107,
1079
+ 75: 81,
1080
+ 76: U,
1081
+ 77: W,
1082
+ 79: G,
1083
+ 80: K
1084
+ },
1085
+ {
1086
+ 35: 108,
1087
+ 75: 81,
1088
+ 76: U,
1089
+ 77: W,
1090
+ 79: G,
1091
+ 80: K
1092
+ },
1093
+ {
1094
+ 35: 109,
1095
+ 75: 81,
1096
+ 76: U,
1097
+ 77: W,
1098
+ 79: G,
1099
+ 80: K
1100
+ },
1101
+ {
1102
+ 35: 110,
1103
+ 75: 81,
1104
+ 76: U,
1105
+ 77: W,
1106
+ 79: G,
1107
+ 80: K
1108
+ },
1109
+ {
1110
+ 35: 111,
1111
+ 75: 81,
1112
+ 76: U,
1113
+ 77: W,
1114
+ 79: G,
1115
+ 80: K
1116
+ },
1117
+ {
1118
+ 35: 112,
1119
+ 75: 81,
1120
+ 76: U,
1121
+ 77: W,
1122
+ 79: G,
1123
+ 80: K
1124
+ },
1125
+ {
1126
+ 35: 113,
1127
+ 75: 81,
1128
+ 76: U,
1129
+ 77: W,
1130
+ 79: G,
1131
+ 80: K
1132
+ },
1133
+ {
1134
+ 35: 114,
1135
+ 75: 81,
1136
+ 76: U,
1137
+ 77: W,
1138
+ 79: G,
1139
+ 80: K
1140
+ },
1141
+ {
1142
+ 35: 115,
1143
+ 75: 81,
1144
+ 76: U,
1145
+ 77: W,
1146
+ 79: G,
1147
+ 80: K
1148
+ },
1149
+ {
1150
+ 20: 116,
1151
+ 29: 49,
1152
+ 30: 61,
1153
+ 32: 62,
1154
+ 34: s,
1155
+ 36: l,
1156
+ 37: u,
1157
+ 38: d,
1158
+ 39: f,
1159
+ 40: p,
1160
+ 41: m,
1161
+ 43: 23,
1162
+ 44: h,
1163
+ 45: g,
1164
+ 46: _,
1165
+ 47: v,
1166
+ 48: y,
1167
+ 49: b,
1168
+ 50: x,
1169
+ 51: S,
1170
+ 52: C,
1171
+ 53: w,
1172
+ 54: T,
1173
+ 55: E,
1174
+ 56: D,
1175
+ 57: O,
1176
+ 58: k,
1177
+ 59: A,
1178
+ 60: j,
1179
+ 61: M,
1180
+ 62: N,
1181
+ 63: P,
1182
+ 64: F,
1183
+ 65: I,
1184
+ 66: L,
1185
+ 67: R,
1186
+ 68: z,
1187
+ 69: B,
1188
+ 70: V,
1189
+ 71: H,
1190
+ 72: ee,
1191
+ 73: te,
1192
+ 74: ne
1193
+ },
1194
+ {
1195
+ 12: [1, 118],
1196
+ 33: [1, 117]
1197
+ },
1198
+ {
1199
+ 35: 119,
1200
+ 75: 81,
1201
+ 76: U,
1202
+ 77: W,
1203
+ 79: G,
1204
+ 80: K
1205
+ },
1206
+ {
1207
+ 35: 120,
1208
+ 75: 81,
1209
+ 76: U,
1210
+ 77: W,
1211
+ 79: G,
1212
+ 80: K
1213
+ },
1214
+ {
1215
+ 35: 121,
1216
+ 75: 81,
1217
+ 76: U,
1218
+ 77: W,
1219
+ 79: G,
1220
+ 80: K
1221
+ },
1222
+ {
1223
+ 35: 122,
1224
+ 75: 81,
1225
+ 76: U,
1226
+ 77: W,
1227
+ 79: G,
1228
+ 80: K
1229
+ },
1230
+ {
1231
+ 35: 123,
1232
+ 75: 81,
1233
+ 76: U,
1234
+ 77: W,
1235
+ 79: G,
1236
+ 80: K
1237
+ },
1238
+ {
1239
+ 35: 124,
1240
+ 75: 81,
1241
+ 76: U,
1242
+ 77: W,
1243
+ 79: G,
1244
+ 80: K
1245
+ },
1246
+ {
1247
+ 35: 125,
1248
+ 75: 81,
1249
+ 76: U,
1250
+ 77: W,
1251
+ 79: G,
1252
+ 80: K
1253
+ },
1254
+ { 14: [1, 126] },
1255
+ { 14: [1, 127] },
1256
+ { 14: [1, 128] },
1257
+ { 14: [1, 129] },
1258
+ { 1: [2, 8] },
1259
+ t(re, [2, 15]),
1260
+ t(ie, [2, 17], {
1261
+ 21: 22,
1262
+ 19: 130,
1263
+ 22: n,
1264
+ 23: r,
1265
+ 24: i,
1266
+ 26: a,
1267
+ 28: o
1268
+ }),
1269
+ t(re, [2, 37], {
1270
+ 19: 20,
1271
+ 20: 21,
1272
+ 21: 22,
1273
+ 43: 23,
1274
+ 29: 49,
1275
+ 30: 61,
1276
+ 32: 62,
1277
+ 13: 131,
1278
+ 22: n,
1279
+ 23: r,
1280
+ 24: i,
1281
+ 26: a,
1282
+ 28: o,
1283
+ 34: s,
1284
+ 36: l,
1285
+ 37: u,
1286
+ 38: d,
1287
+ 39: f,
1288
+ 40: p,
1289
+ 41: m,
1290
+ 44: h,
1291
+ 45: g,
1292
+ 46: _,
1293
+ 47: v,
1294
+ 48: y,
1295
+ 49: b,
1296
+ 50: x,
1297
+ 51: S,
1298
+ 52: C,
1299
+ 53: w,
1300
+ 54: T,
1301
+ 55: E,
1302
+ 56: D,
1303
+ 57: O,
1304
+ 58: k,
1305
+ 59: A,
1306
+ 60: j,
1307
+ 61: M,
1308
+ 62: N,
1309
+ 63: P,
1310
+ 64: F,
1311
+ 65: I,
1312
+ 66: L,
1313
+ 67: R,
1314
+ 68: z,
1315
+ 69: B,
1316
+ 70: V,
1317
+ 71: H,
1318
+ 72: ee,
1319
+ 73: te,
1320
+ 74: ne
1321
+ }),
1322
+ t(ae, [2, 21]),
1323
+ t(ae, [2, 22]),
1324
+ t(q, [2, 39]),
1325
+ t(oe, [2, 71], {
1326
+ 75: 81,
1327
+ 35: 132,
1328
+ 76: U,
1329
+ 77: W,
1330
+ 79: G,
1331
+ 80: K
1332
+ }),
1333
+ t(se, [2, 73]),
1334
+ { 78: [1, 133] },
1335
+ t(se, [2, 75]),
1336
+ t(se, [2, 76]),
1337
+ t(q, [2, 40]),
1338
+ t(q, [2, 41]),
1339
+ t(q, [2, 42]),
1340
+ t(q, [2, 43]),
1341
+ t(q, [2, 44]),
1342
+ t(q, [2, 45]),
1343
+ t(q, [2, 46]),
1344
+ t(q, [2, 47]),
1345
+ t(q, [2, 48]),
1346
+ t(q, [2, 49]),
1347
+ t(q, [2, 50]),
1348
+ t(q, [2, 51]),
1349
+ t(q, [2, 52]),
1350
+ t(q, [2, 53]),
1351
+ t(q, [2, 54]),
1352
+ t(q, [2, 55]),
1353
+ t(q, [2, 56]),
1354
+ t(q, [2, 57]),
1355
+ t(q, [2, 58]),
1356
+ t(q, [2, 60]),
1357
+ t(q, [2, 61]),
1358
+ t(q, [2, 62]),
1359
+ t(q, [2, 63]),
1360
+ t(q, [2, 64]),
1361
+ t(q, [2, 65]),
1362
+ t(q, [2, 66]),
1363
+ t(q, [2, 67]),
1364
+ t(q, [2, 68]),
1365
+ t(q, [2, 69]),
1366
+ t(q, [2, 70]),
1367
+ {
1368
+ 31: 134,
1369
+ 42: [1, 135]
1370
+ },
1371
+ { 12: [1, 136] },
1372
+ { 33: [1, 137] },
1373
+ t(ce, [2, 28]),
1374
+ t(ce, [2, 29]),
1375
+ t(ce, [2, 30]),
1376
+ t(ce, [2, 31]),
1377
+ t(ce, [2, 32]),
1378
+ t(ce, [2, 33]),
1379
+ t(ce, [2, 34]),
1380
+ { 1: [2, 9] },
1381
+ { 1: [2, 10] },
1382
+ { 1: [2, 11] },
1383
+ { 1: [2, 12] },
1384
+ t(ie, [2, 18]),
1385
+ t(re, [2, 38]),
1386
+ t(oe, [2, 72]),
1387
+ t(se, [2, 74]),
1388
+ t(q, [2, 24]),
1389
+ t(q, [2, 35]),
1390
+ t(le, [2, 25]),
1391
+ t(le, [2, 26], { 12: [1, 138] }),
1392
+ t(le, [2, 27])
1393
+ ],
1394
+ defaultActions: {
1395
+ 2: [2, 1],
1396
+ 3: [2, 2],
1397
+ 4: [2, 7],
1398
+ 5: [2, 3],
1399
+ 6: [2, 4],
1400
+ 7: [2, 5],
1401
+ 8: [2, 6],
1402
+ 74: [2, 8],
1403
+ 126: [2, 9],
1404
+ 127: [2, 10],
1405
+ 128: [2, 11],
1406
+ 129: [2, 12]
1407
+ },
1408
+ parseError: /* @__PURE__ */ e(function(e, t) {
1409
+ if (t.recoverable) this.trace(e);
1410
+ else {
1411
+ var n = Error(e);
1412
+ throw n.hash = t, n;
1413
+ }
1414
+ }, "parseError"),
1415
+ parse: /* @__PURE__ */ e(function(t) {
1416
+ var n = this, r = [0], i = [], a = [null], o = [], s = this.table, l = "", u = 0, d = 0, f = 0, p = 2, m = 1, h = o.slice.call(arguments, 1), g = Object.create(this.lexer), _ = { yy: {} };
1417
+ for (var v in this.yy) Object.prototype.hasOwnProperty.call(this.yy, v) && (_.yy[v] = this.yy[v]);
1418
+ g.setInput(t, _.yy), _.yy.lexer = g, _.yy.parser = this, g.yylloc === void 0 && (g.yylloc = {});
1419
+ var y = g.yylloc;
1420
+ o.push(y);
1421
+ var b = g.options && g.options.ranges;
1422
+ this.parseError = typeof _.yy.parseError == "function" ? _.yy.parseError : Object.getPrototypeOf(this).parseError;
1423
+ function x(e) {
1424
+ r.length -= 2 * e, a.length -= e, o.length -= e;
1425
+ }
1426
+ e(x, "popStack");
1427
+ function S() {
1428
+ var e = i.pop() || g.lex() || m;
1429
+ return typeof e != "number" && (e instanceof Array && (i = e, e = i.pop()), e = n.symbols_[e] || e), e;
1430
+ }
1431
+ e(S, "lex");
1432
+ for (var C, w, T, E, D, O = {}, k, A, j, M;;) {
1433
+ if (T = r[r.length - 1], this.defaultActions[T] ? E = this.defaultActions[T] : (C ??= S(), E = s[T] && s[T][C]), E === void 0 || !E.length || !E[0]) {
1434
+ var N = "";
1435
+ for (k in M = [], s[T]) this.terminals_[k] && k > p && M.push("'" + this.terminals_[k] + "'");
1436
+ N = g.showPosition ? "Parse error on line " + (u + 1) + ":\n" + g.showPosition() + "\nExpecting " + M.join(", ") + ", got '" + (this.terminals_[C] || C) + "'" : "Parse error on line " + (u + 1) + ": Unexpected " + (C == m ? "end of input" : "'" + (this.terminals_[C] || C) + "'"), this.parseError(N, {
1437
+ text: g.match,
1438
+ token: this.terminals_[C] || C,
1439
+ line: g.yylineno,
1440
+ loc: y,
1441
+ expected: M
1442
+ });
1443
+ }
1444
+ if (E[0] instanceof Array && E.length > 1) throw Error("Parse Error: multiple actions possible at state: " + T + ", token: " + C);
1445
+ switch (E[0]) {
1446
+ case 1:
1447
+ r.push(C), a.push(g.yytext), o.push(g.yylloc), r.push(E[1]), C = null, w ? (C = w, w = null) : (d = g.yyleng, l = g.yytext, u = g.yylineno, y = g.yylloc, f > 0 && f--);
1448
+ break;
1449
+ case 2:
1450
+ if (A = this.productions_[E[1]][1], O.$ = a[a.length - A], O._$ = {
1451
+ first_line: o[o.length - (A || 1)].first_line,
1452
+ last_line: o[o.length - 1].last_line,
1453
+ first_column: o[o.length - (A || 1)].first_column,
1454
+ last_column: o[o.length - 1].last_column
1455
+ }, b && (O._$.range = [o[o.length - (A || 1)].range[0], o[o.length - 1].range[1]]), D = this.performAction.apply(O, [
1456
+ l,
1457
+ d,
1458
+ u,
1459
+ _.yy,
1460
+ E[1],
1461
+ a,
1462
+ o
1463
+ ].concat(h)), D !== void 0) return D;
1464
+ A && (r = r.slice(0, -1 * A * 2), a = a.slice(0, -1 * A), o = o.slice(0, -1 * A)), r.push(this.productions_[E[1]][0]), a.push(O.$), o.push(O._$), j = s[r[r.length - 2]][r[r.length - 1]], r.push(j);
1465
+ break;
1466
+ case 3: return !0;
1467
+ }
1468
+ }
1469
+ return !0;
1470
+ }, "parse")
1471
+ };
1472
+ J.lexer = /* @__PURE__ */ (function() {
1473
+ return {
1474
+ EOF: 1,
1475
+ parseError: /* @__PURE__ */ e(function(e, t) {
1476
+ if (this.yy.parser) this.yy.parser.parseError(e, t);
1477
+ else throw Error(e);
1478
+ }, "parseError"),
1479
+ setInput: /* @__PURE__ */ e(function(e, t) {
1480
+ return this.yy = t || this.yy || {}, this._input = e, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
1481
+ first_line: 1,
1482
+ first_column: 0,
1483
+ last_line: 1,
1484
+ last_column: 0
1485
+ }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
1486
+ }, "setInput"),
1487
+ input: /* @__PURE__ */ e(function() {
1488
+ var e = this._input[0];
1489
+ return this.yytext += e, this.yyleng++, this.offset++, this.match += e, this.matched += e, e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), e;
1490
+ }, "input"),
1491
+ unput: /* @__PURE__ */ e(function(e) {
1492
+ var t = e.length, n = e.split(/(?:\r\n?|\n)/g);
1493
+ this._input = e + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - t), this.offset -= t;
1494
+ var r = this.match.split(/(?:\r\n?|\n)/g);
1495
+ this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1);
1496
+ var i = this.yylloc.range;
1497
+ return this.yylloc = {
1498
+ first_line: this.yylloc.first_line,
1499
+ last_line: this.yylineno + 1,
1500
+ first_column: this.yylloc.first_column,
1501
+ last_column: n ? (n.length === r.length ? this.yylloc.first_column : 0) + r[r.length - n.length].length - n[0].length : this.yylloc.first_column - t
1502
+ }, this.options.ranges && (this.yylloc.range = [i[0], i[0] + this.yyleng - t]), this.yyleng = this.yytext.length, this;
1503
+ }, "unput"),
1504
+ more: /* @__PURE__ */ e(function() {
1505
+ return this._more = !0, this;
1506
+ }, "more"),
1507
+ reject: /* @__PURE__ */ e(function() {
1508
+ if (this.options.backtrack_lexer) this._backtrack = !0;
1509
+ else return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), {
1510
+ text: "",
1511
+ token: null,
1512
+ line: this.yylineno
1513
+ });
1514
+ return this;
1515
+ }, "reject"),
1516
+ less: /* @__PURE__ */ e(function(e) {
1517
+ this.unput(this.match.slice(e));
1518
+ }, "less"),
1519
+ pastInput: /* @__PURE__ */ e(function() {
1520
+ var e = this.matched.substr(0, this.matched.length - this.match.length);
1521
+ return (e.length > 20 ? "..." : "") + e.substr(-20).replace(/\n/g, "");
1522
+ }, "pastInput"),
1523
+ upcomingInput: /* @__PURE__ */ e(function() {
1524
+ var e = this.match;
1525
+ return e.length < 20 && (e += this._input.substr(0, 20 - e.length)), (e.substr(0, 20) + (e.length > 20 ? "..." : "")).replace(/\n/g, "");
1526
+ }, "upcomingInput"),
1527
+ showPosition: /* @__PURE__ */ e(function() {
1528
+ var e = this.pastInput(), t = Array(e.length + 1).join("-");
1529
+ return e + this.upcomingInput() + "\n" + t + "^";
1530
+ }, "showPosition"),
1531
+ test_match: /* @__PURE__ */ e(function(e, t) {
1532
+ var n, r, i;
1533
+ if (this.options.backtrack_lexer && (i = {
1534
+ yylineno: this.yylineno,
1535
+ yylloc: {
1536
+ first_line: this.yylloc.first_line,
1537
+ last_line: this.last_line,
1538
+ first_column: this.yylloc.first_column,
1539
+ last_column: this.yylloc.last_column
1540
+ },
1541
+ yytext: this.yytext,
1542
+ match: this.match,
1543
+ matches: this.matches,
1544
+ matched: this.matched,
1545
+ yyleng: this.yyleng,
1546
+ offset: this.offset,
1547
+ _more: this._more,
1548
+ _input: this._input,
1549
+ yy: this.yy,
1550
+ conditionStack: this.conditionStack.slice(0),
1551
+ done: this.done
1552
+ }, this.options.ranges && (i.yylloc.range = this.yylloc.range.slice(0))), r = e[0].match(/(?:\r\n?|\n).*/g), r && (this.yylineno += r.length), this.yylloc = {
1553
+ first_line: this.yylloc.last_line,
1554
+ last_line: this.yylineno + 1,
1555
+ first_column: this.yylloc.last_column,
1556
+ last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length
1557
+ }, this.yytext += e[0], this.match += e[0], this.matches = e, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(e[0].length), this.matched += e[0], n = this.performAction.call(this, this.yy, this, t, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n) return n;
1558
+ if (this._backtrack) {
1559
+ for (var a in i) this[a] = i[a];
1560
+ return !1;
1561
+ }
1562
+ return !1;
1563
+ }, "test_match"),
1564
+ next: /* @__PURE__ */ e(function() {
1565
+ if (this.done) return this.EOF;
1566
+ this._input || (this.done = !0);
1567
+ var e, t, n, r;
1568
+ this._more || (this.yytext = "", this.match = "");
1569
+ for (var i = this._currentRules(), a = 0; a < i.length; a++) if (n = this._input.match(this.rules[i[a]]), n && (!t || n[0].length > t[0].length)) {
1570
+ if (t = n, r = a, this.options.backtrack_lexer) {
1571
+ if (e = this.test_match(n, i[a]), e !== !1) return e;
1572
+ if (this._backtrack) {
1573
+ t = !1;
1574
+ continue;
1575
+ }
1576
+ return !1;
1577
+ }
1578
+ if (!this.options.flex) break;
1579
+ }
1580
+ return t ? (e = this.test_match(t, i[r]), e !== !1 && e) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
1581
+ text: "",
1582
+ token: null,
1583
+ line: this.yylineno
1584
+ });
1585
+ }, "next"),
1586
+ lex: /* @__PURE__ */ e(function() {
1587
+ return this.next() || this.lex();
1588
+ }, "lex"),
1589
+ begin: /* @__PURE__ */ e(function(e) {
1590
+ this.conditionStack.push(e);
1591
+ }, "begin"),
1592
+ popState: /* @__PURE__ */ e(function() {
1593
+ return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0];
1594
+ }, "popState"),
1595
+ _currentRules: /* @__PURE__ */ e(function() {
1596
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
1597
+ }, "_currentRules"),
1598
+ topState: /* @__PURE__ */ e(function(e) {
1599
+ return e = this.conditionStack.length - 1 - Math.abs(e || 0), e >= 0 ? this.conditionStack[e] : "INITIAL";
1600
+ }, "topState"),
1601
+ pushState: /* @__PURE__ */ e(function(e) {
1602
+ this.begin(e);
1603
+ }, "pushState"),
1604
+ stateStackSize: /* @__PURE__ */ e(function() {
1605
+ return this.conditionStack.length;
1606
+ }, "stateStackSize"),
1607
+ options: {},
1608
+ performAction: /* @__PURE__ */ e(function(e, t, n, r) {
1609
+ switch (n) {
1610
+ case 0: return 6;
1611
+ case 1: return 7;
1612
+ case 2: return 8;
1613
+ case 3: return 9;
1614
+ case 4: return 22;
1615
+ case 5: return 23;
1616
+ case 6: return this.begin("acc_title"), 24;
1617
+ case 7: return this.popState(), "acc_title_value";
1618
+ case 8: return this.begin("acc_descr"), 26;
1619
+ case 9: return this.popState(), "acc_descr_value";
1620
+ case 10:
1621
+ this.begin("acc_descr_multiline");
1622
+ break;
1623
+ case 11:
1624
+ this.popState();
1625
+ break;
1626
+ case 12: return "acc_descr_multiline_value";
1627
+ case 13: break;
1628
+ case 14:
1629
+ c;
1630
+ break;
1631
+ case 15: return 12;
1632
+ case 16: break;
1633
+ case 17: return 11;
1634
+ case 18: return 15;
1635
+ case 19: return 16;
1636
+ case 20: return 17;
1637
+ case 21: return 18;
1638
+ case 22: return this.begin("person_ext"), 45;
1639
+ case 23: return this.begin("person"), 44;
1640
+ case 24: return this.begin("system_ext_queue"), 51;
1641
+ case 25: return this.begin("system_ext_db"), 50;
1642
+ case 26: return this.begin("system_ext"), 49;
1643
+ case 27: return this.begin("system_queue"), 48;
1644
+ case 28: return this.begin("system_db"), 47;
1645
+ case 29: return this.begin("system"), 46;
1646
+ case 30: return this.begin("boundary"), 37;
1647
+ case 31: return this.begin("enterprise_boundary"), 34;
1648
+ case 32: return this.begin("system_boundary"), 36;
1649
+ case 33: return this.begin("container_ext_queue"), 57;
1650
+ case 34: return this.begin("container_ext_db"), 56;
1651
+ case 35: return this.begin("container_ext"), 55;
1652
+ case 36: return this.begin("container_queue"), 54;
1653
+ case 37: return this.begin("container_db"), 53;
1654
+ case 38: return this.begin("container"), 52;
1655
+ case 39: return this.begin("container_boundary"), 38;
1656
+ case 40: return this.begin("component_ext_queue"), 63;
1657
+ case 41: return this.begin("component_ext_db"), 62;
1658
+ case 42: return this.begin("component_ext"), 61;
1659
+ case 43: return this.begin("component_queue"), 60;
1660
+ case 44: return this.begin("component_db"), 59;
1661
+ case 45: return this.begin("component"), 58;
1662
+ case 46: return this.begin("node"), 39;
1663
+ case 47: return this.begin("node"), 39;
1664
+ case 48: return this.begin("node_l"), 40;
1665
+ case 49: return this.begin("node_r"), 41;
1666
+ case 50: return this.begin("rel"), 64;
1667
+ case 51: return this.begin("birel"), 65;
1668
+ case 52: return this.begin("rel_u"), 66;
1669
+ case 53: return this.begin("rel_u"), 66;
1670
+ case 54: return this.begin("rel_d"), 67;
1671
+ case 55: return this.begin("rel_d"), 67;
1672
+ case 56: return this.begin("rel_l"), 68;
1673
+ case 57: return this.begin("rel_l"), 68;
1674
+ case 58: return this.begin("rel_r"), 69;
1675
+ case 59: return this.begin("rel_r"), 69;
1676
+ case 60: return this.begin("rel_b"), 70;
1677
+ case 61: return this.begin("rel_index"), 71;
1678
+ case 62: return this.begin("update_el_style"), 72;
1679
+ case 63: return this.begin("update_rel_style"), 73;
1680
+ case 64: return this.begin("update_layout_config"), 74;
1681
+ case 65: return "EOF_IN_STRUCT";
1682
+ case 66: return this.begin("attribute"), "ATTRIBUTE_EMPTY";
1683
+ case 67:
1684
+ this.begin("attribute");
1685
+ break;
1686
+ case 68:
1687
+ this.popState(), this.popState();
1688
+ break;
1689
+ case 69: return 80;
1690
+ case 70: break;
1691
+ case 71: return 80;
1692
+ case 72:
1693
+ this.begin("string");
1694
+ break;
1695
+ case 73:
1696
+ this.popState();
1697
+ break;
1698
+ case 74: return "STR";
1699
+ case 75:
1700
+ this.begin("string_kv");
1701
+ break;
1702
+ case 76: return this.begin("string_kv_key"), "STR_KEY";
1703
+ case 77:
1704
+ this.popState(), this.begin("string_kv_value");
1705
+ break;
1706
+ case 78: return "STR_VALUE";
1707
+ case 79:
1708
+ this.popState(), this.popState();
1709
+ break;
1710
+ case 80: return "STR";
1711
+ case 81: return "LBRACE";
1712
+ case 82: return "RBRACE";
1713
+ case 83: return "SPACE";
1714
+ case 84: return "EOL";
1715
+ case 85: return 14;
1716
+ }
1717
+ }, "anonymous"),
1718
+ rules: [
1719
+ /^(?:.*direction\s+TB[^\n]*)/,
1720
+ /^(?:.*direction\s+BT[^\n]*)/,
1721
+ /^(?:.*direction\s+RL[^\n]*)/,
1722
+ /^(?:.*direction\s+LR[^\n]*)/,
1723
+ /^(?:title\s[^#\n;]+)/,
1724
+ /^(?:accDescription\s[^#\n;]+)/,
1725
+ /^(?:accTitle\s*:\s*)/,
1726
+ /^(?:(?!\n||)*[^\n]*)/,
1727
+ /^(?:accDescr\s*:\s*)/,
1728
+ /^(?:(?!\n||)*[^\n]*)/,
1729
+ /^(?:accDescr\s*\{\s*)/,
1730
+ /^(?:[\}])/,
1731
+ /^(?:[^\}]*)/,
1732
+ /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,
1733
+ /^(?:%%[^\n]*(\r?\n)*)/,
1734
+ /^(?:\s*(\r?\n)+)/,
1735
+ /^(?:\s+)/,
1736
+ /^(?:C4Context\b)/,
1737
+ /^(?:C4Container\b)/,
1738
+ /^(?:C4Component\b)/,
1739
+ /^(?:C4Dynamic\b)/,
1740
+ /^(?:C4Deployment\b)/,
1741
+ /^(?:Person_Ext\b)/,
1742
+ /^(?:Person\b)/,
1743
+ /^(?:SystemQueue_Ext\b)/,
1744
+ /^(?:SystemDb_Ext\b)/,
1745
+ /^(?:System_Ext\b)/,
1746
+ /^(?:SystemQueue\b)/,
1747
+ /^(?:SystemDb\b)/,
1748
+ /^(?:System\b)/,
1749
+ /^(?:Boundary\b)/,
1750
+ /^(?:Enterprise_Boundary\b)/,
1751
+ /^(?:System_Boundary\b)/,
1752
+ /^(?:ContainerQueue_Ext\b)/,
1753
+ /^(?:ContainerDb_Ext\b)/,
1754
+ /^(?:Container_Ext\b)/,
1755
+ /^(?:ContainerQueue\b)/,
1756
+ /^(?:ContainerDb\b)/,
1757
+ /^(?:Container\b)/,
1758
+ /^(?:Container_Boundary\b)/,
1759
+ /^(?:ComponentQueue_Ext\b)/,
1760
+ /^(?:ComponentDb_Ext\b)/,
1761
+ /^(?:Component_Ext\b)/,
1762
+ /^(?:ComponentQueue\b)/,
1763
+ /^(?:ComponentDb\b)/,
1764
+ /^(?:Component\b)/,
1765
+ /^(?:Deployment_Node\b)/,
1766
+ /^(?:Node\b)/,
1767
+ /^(?:Node_L\b)/,
1768
+ /^(?:Node_R\b)/,
1769
+ /^(?:Rel\b)/,
1770
+ /^(?:BiRel\b)/,
1771
+ /^(?:Rel_Up\b)/,
1772
+ /^(?:Rel_U\b)/,
1773
+ /^(?:Rel_Down\b)/,
1774
+ /^(?:Rel_D\b)/,
1775
+ /^(?:Rel_Left\b)/,
1776
+ /^(?:Rel_L\b)/,
1777
+ /^(?:Rel_Right\b)/,
1778
+ /^(?:Rel_R\b)/,
1779
+ /^(?:Rel_Back\b)/,
1780
+ /^(?:RelIndex\b)/,
1781
+ /^(?:UpdateElementStyle\b)/,
1782
+ /^(?:UpdateRelStyle\b)/,
1783
+ /^(?:UpdateLayoutConfig\b)/,
1784
+ /^(?:$)/,
1785
+ /^(?:[(][ ]*[,])/,
1786
+ /^(?:[(])/,
1787
+ /^(?:[)])/,
1788
+ /^(?:,,)/,
1789
+ /^(?:,)/,
1790
+ /^(?:[ ]*["]["])/,
1791
+ /^(?:[ ]*["])/,
1792
+ /^(?:["])/,
1793
+ /^(?:[^"]*)/,
1794
+ /^(?:[ ]*[\$])/,
1795
+ /^(?:[^=]*)/,
1796
+ /^(?:[=][ ]*["])/,
1797
+ /^(?:[^"]+)/,
1798
+ /^(?:["])/,
1799
+ /^(?:[^,]+)/,
1800
+ /^(?:\{)/,
1801
+ /^(?:\})/,
1802
+ /^(?:[\s]+)/,
1803
+ /^(?:[\n\r]+)/,
1804
+ /^(?:$)/
1805
+ ],
1806
+ conditions: {
1807
+ acc_descr_multiline: {
1808
+ rules: [11, 12],
1809
+ inclusive: !1
1810
+ },
1811
+ acc_descr: {
1812
+ rules: [9],
1813
+ inclusive: !1
1814
+ },
1815
+ acc_title: {
1816
+ rules: [7],
1817
+ inclusive: !1
1818
+ },
1819
+ string_kv_value: {
1820
+ rules: [78, 79],
1821
+ inclusive: !1
1822
+ },
1823
+ string_kv_key: {
1824
+ rules: [77],
1825
+ inclusive: !1
1826
+ },
1827
+ string_kv: {
1828
+ rules: [76],
1829
+ inclusive: !1
1830
+ },
1831
+ string: {
1832
+ rules: [73, 74],
1833
+ inclusive: !1
1834
+ },
1835
+ attribute: {
1836
+ rules: [
1837
+ 68,
1838
+ 69,
1839
+ 70,
1840
+ 71,
1841
+ 72,
1842
+ 75,
1843
+ 80
1844
+ ],
1845
+ inclusive: !1
1846
+ },
1847
+ update_layout_config: {
1848
+ rules: [
1849
+ 65,
1850
+ 66,
1851
+ 67,
1852
+ 68
1853
+ ],
1854
+ inclusive: !1
1855
+ },
1856
+ update_rel_style: {
1857
+ rules: [
1858
+ 65,
1859
+ 66,
1860
+ 67,
1861
+ 68
1862
+ ],
1863
+ inclusive: !1
1864
+ },
1865
+ update_el_style: {
1866
+ rules: [
1867
+ 65,
1868
+ 66,
1869
+ 67,
1870
+ 68
1871
+ ],
1872
+ inclusive: !1
1873
+ },
1874
+ rel_b: {
1875
+ rules: [
1876
+ 65,
1877
+ 66,
1878
+ 67,
1879
+ 68
1880
+ ],
1881
+ inclusive: !1
1882
+ },
1883
+ rel_r: {
1884
+ rules: [
1885
+ 65,
1886
+ 66,
1887
+ 67,
1888
+ 68
1889
+ ],
1890
+ inclusive: !1
1891
+ },
1892
+ rel_l: {
1893
+ rules: [
1894
+ 65,
1895
+ 66,
1896
+ 67,
1897
+ 68
1898
+ ],
1899
+ inclusive: !1
1900
+ },
1901
+ rel_d: {
1902
+ rules: [
1903
+ 65,
1904
+ 66,
1905
+ 67,
1906
+ 68
1907
+ ],
1908
+ inclusive: !1
1909
+ },
1910
+ rel_u: {
1911
+ rules: [
1912
+ 65,
1913
+ 66,
1914
+ 67,
1915
+ 68
1916
+ ],
1917
+ inclusive: !1
1918
+ },
1919
+ rel_bi: {
1920
+ rules: [],
1921
+ inclusive: !1
1922
+ },
1923
+ rel: {
1924
+ rules: [
1925
+ 65,
1926
+ 66,
1927
+ 67,
1928
+ 68
1929
+ ],
1930
+ inclusive: !1
1931
+ },
1932
+ node_r: {
1933
+ rules: [
1934
+ 65,
1935
+ 66,
1936
+ 67,
1937
+ 68
1938
+ ],
1939
+ inclusive: !1
1940
+ },
1941
+ node_l: {
1942
+ rules: [
1943
+ 65,
1944
+ 66,
1945
+ 67,
1946
+ 68
1947
+ ],
1948
+ inclusive: !1
1949
+ },
1950
+ node: {
1951
+ rules: [
1952
+ 65,
1953
+ 66,
1954
+ 67,
1955
+ 68
1956
+ ],
1957
+ inclusive: !1
1958
+ },
1959
+ index: {
1960
+ rules: [],
1961
+ inclusive: !1
1962
+ },
1963
+ rel_index: {
1964
+ rules: [
1965
+ 65,
1966
+ 66,
1967
+ 67,
1968
+ 68
1969
+ ],
1970
+ inclusive: !1
1971
+ },
1972
+ component_ext_queue: {
1973
+ rules: [
1974
+ 65,
1975
+ 66,
1976
+ 67,
1977
+ 68
1978
+ ],
1979
+ inclusive: !1
1980
+ },
1981
+ component_ext_db: {
1982
+ rules: [
1983
+ 65,
1984
+ 66,
1985
+ 67,
1986
+ 68
1987
+ ],
1988
+ inclusive: !1
1989
+ },
1990
+ component_ext: {
1991
+ rules: [
1992
+ 65,
1993
+ 66,
1994
+ 67,
1995
+ 68
1996
+ ],
1997
+ inclusive: !1
1998
+ },
1999
+ component_queue: {
2000
+ rules: [
2001
+ 65,
2002
+ 66,
2003
+ 67,
2004
+ 68
2005
+ ],
2006
+ inclusive: !1
2007
+ },
2008
+ component_db: {
2009
+ rules: [
2010
+ 65,
2011
+ 66,
2012
+ 67,
2013
+ 68
2014
+ ],
2015
+ inclusive: !1
2016
+ },
2017
+ component: {
2018
+ rules: [
2019
+ 65,
2020
+ 66,
2021
+ 67,
2022
+ 68
2023
+ ],
2024
+ inclusive: !1
2025
+ },
2026
+ container_boundary: {
2027
+ rules: [
2028
+ 65,
2029
+ 66,
2030
+ 67,
2031
+ 68
2032
+ ],
2033
+ inclusive: !1
2034
+ },
2035
+ container_ext_queue: {
2036
+ rules: [
2037
+ 65,
2038
+ 66,
2039
+ 67,
2040
+ 68
2041
+ ],
2042
+ inclusive: !1
2043
+ },
2044
+ container_ext_db: {
2045
+ rules: [
2046
+ 65,
2047
+ 66,
2048
+ 67,
2049
+ 68
2050
+ ],
2051
+ inclusive: !1
2052
+ },
2053
+ container_ext: {
2054
+ rules: [
2055
+ 65,
2056
+ 66,
2057
+ 67,
2058
+ 68
2059
+ ],
2060
+ inclusive: !1
2061
+ },
2062
+ container_queue: {
2063
+ rules: [
2064
+ 65,
2065
+ 66,
2066
+ 67,
2067
+ 68
2068
+ ],
2069
+ inclusive: !1
2070
+ },
2071
+ container_db: {
2072
+ rules: [
2073
+ 65,
2074
+ 66,
2075
+ 67,
2076
+ 68
2077
+ ],
2078
+ inclusive: !1
2079
+ },
2080
+ container: {
2081
+ rules: [
2082
+ 65,
2083
+ 66,
2084
+ 67,
2085
+ 68
2086
+ ],
2087
+ inclusive: !1
2088
+ },
2089
+ birel: {
2090
+ rules: [
2091
+ 65,
2092
+ 66,
2093
+ 67,
2094
+ 68
2095
+ ],
2096
+ inclusive: !1
2097
+ },
2098
+ system_boundary: {
2099
+ rules: [
2100
+ 65,
2101
+ 66,
2102
+ 67,
2103
+ 68
2104
+ ],
2105
+ inclusive: !1
2106
+ },
2107
+ enterprise_boundary: {
2108
+ rules: [
2109
+ 65,
2110
+ 66,
2111
+ 67,
2112
+ 68
2113
+ ],
2114
+ inclusive: !1
2115
+ },
2116
+ boundary: {
2117
+ rules: [
2118
+ 65,
2119
+ 66,
2120
+ 67,
2121
+ 68
2122
+ ],
2123
+ inclusive: !1
2124
+ },
2125
+ system_ext_queue: {
2126
+ rules: [
2127
+ 65,
2128
+ 66,
2129
+ 67,
2130
+ 68
2131
+ ],
2132
+ inclusive: !1
2133
+ },
2134
+ system_ext_db: {
2135
+ rules: [
2136
+ 65,
2137
+ 66,
2138
+ 67,
2139
+ 68
2140
+ ],
2141
+ inclusive: !1
2142
+ },
2143
+ system_ext: {
2144
+ rules: [
2145
+ 65,
2146
+ 66,
2147
+ 67,
2148
+ 68
2149
+ ],
2150
+ inclusive: !1
2151
+ },
2152
+ system_queue: {
2153
+ rules: [
2154
+ 65,
2155
+ 66,
2156
+ 67,
2157
+ 68
2158
+ ],
2159
+ inclusive: !1
2160
+ },
2161
+ system_db: {
2162
+ rules: [
2163
+ 65,
2164
+ 66,
2165
+ 67,
2166
+ 68
2167
+ ],
2168
+ inclusive: !1
2169
+ },
2170
+ system: {
2171
+ rules: [
2172
+ 65,
2173
+ 66,
2174
+ 67,
2175
+ 68
2176
+ ],
2177
+ inclusive: !1
2178
+ },
2179
+ person_ext: {
2180
+ rules: [
2181
+ 65,
2182
+ 66,
2183
+ 67,
2184
+ 68
2185
+ ],
2186
+ inclusive: !1
2187
+ },
2188
+ person: {
2189
+ rules: [
2190
+ 65,
2191
+ 66,
2192
+ 67,
2193
+ 68
2194
+ ],
2195
+ inclusive: !1
2196
+ },
2197
+ INITIAL: {
2198
+ rules: [
2199
+ 0,
2200
+ 1,
2201
+ 2,
2202
+ 3,
2203
+ 4,
2204
+ 5,
2205
+ 6,
2206
+ 8,
2207
+ 10,
2208
+ 13,
2209
+ 14,
2210
+ 15,
2211
+ 16,
2212
+ 17,
2213
+ 18,
2214
+ 19,
2215
+ 20,
2216
+ 21,
2217
+ 22,
2218
+ 23,
2219
+ 24,
2220
+ 25,
2221
+ 26,
2222
+ 27,
2223
+ 28,
2224
+ 29,
2225
+ 30,
2226
+ 31,
2227
+ 32,
2228
+ 33,
2229
+ 34,
2230
+ 35,
2231
+ 36,
2232
+ 37,
2233
+ 38,
2234
+ 39,
2235
+ 40,
2236
+ 41,
2237
+ 42,
2238
+ 43,
2239
+ 44,
2240
+ 45,
2241
+ 46,
2242
+ 47,
2243
+ 48,
2244
+ 49,
2245
+ 50,
2246
+ 51,
2247
+ 52,
2248
+ 53,
2249
+ 54,
2250
+ 55,
2251
+ 56,
2252
+ 57,
2253
+ 58,
2254
+ 59,
2255
+ 60,
2256
+ 61,
2257
+ 62,
2258
+ 63,
2259
+ 64,
2260
+ 81,
2261
+ 82,
2262
+ 83,
2263
+ 84,
2264
+ 85
2265
+ ],
2266
+ inclusive: !0
2267
+ }
2268
+ }
2269
+ };
2270
+ })();
2271
+ function ue() {
2272
+ this.yy = {};
2273
+ }
2274
+ return e(ue, "Parser"), ue.prototype = J, J.Parser = ue, new ue();
2275
+ })();
2276
+ b.parser = b;
2277
+ var x = b, S = [], C = [""], w = "global", T = "", E = [{
2278
+ alias: "global",
2279
+ label: { text: "global" },
2280
+ type: { text: "global" },
2281
+ tags: null,
2282
+ link: null,
2283
+ parentBoundary: ""
2284
+ }], D = [], O = "", k = !1, A = 4, j = 2, M, N = /* @__PURE__ */ e(function() {
2285
+ return M;
2286
+ }, "getC4Type"), P = /* @__PURE__ */ e(function(e) {
2287
+ M = f(e, u());
2288
+ }, "setC4Type"), F = /* @__PURE__ */ e(function(e, t, n, r, i, a, o, s, l) {
2289
+ if (e == null || t == null || n == null || r == null) return;
2290
+ let u = {}, d = D.find((e) => e.from === t && e.to === n);
2291
+ if (d ? u = d : D.push(u), u.type = e, u.from = t, u.to = n, u.label = { text: r }, i == null) u.techn = { text: "" };
2292
+ else if (typeof i == "object") {
2293
+ let [e, t] = Object.entries(i)[0];
2294
+ u[e] = { text: t };
2295
+ } else u.techn = { text: i };
2296
+ if (a == null) u.descr = { text: "" };
2297
+ else if (typeof a == "object") {
2298
+ let [e, t] = Object.entries(a)[0];
2299
+ u[e] = { text: t };
2300
+ } else u.descr = { text: a };
2301
+ if (typeof o == "object") {
2302
+ let [e, t] = Object.entries(o)[0];
2303
+ u[e] = t;
2304
+ } else u.sprite = o;
2305
+ if (typeof s == "object") {
2306
+ let [e, t] = Object.entries(s)[0];
2307
+ u[e] = t;
2308
+ } else u.tags = s;
2309
+ if (typeof l == "object") {
2310
+ let [e, t] = Object.entries(l)[0];
2311
+ u[e] = t;
2312
+ } else u.link = l;
2313
+ u.wrap = J();
2314
+ }, "addRel"), I = /* @__PURE__ */ e(function(e, t, n, r, i, a, o) {
2315
+ if (t === null || n === null) return;
2316
+ let s = {}, l = S.find((e) => e.alias === t);
2317
+ if (l && t === l.alias ? s = l : (s.alias = t, S.push(s)), n == null ? s.label = { text: "" } : s.label = { text: n }, r == null) s.descr = { text: "" };
2318
+ else if (typeof r == "object") {
2319
+ let [e, t] = Object.entries(r)[0];
2320
+ s[e] = { text: t };
2321
+ } else s.descr = { text: r };
2322
+ if (typeof i == "object") {
2323
+ let [e, t] = Object.entries(i)[0];
2324
+ s[e] = t;
2325
+ } else s.sprite = i;
2326
+ if (typeof a == "object") {
2327
+ let [e, t] = Object.entries(a)[0];
2328
+ s[e] = t;
2329
+ } else s.tags = a;
2330
+ if (typeof o == "object") {
2331
+ let [e, t] = Object.entries(o)[0];
2332
+ s[e] = t;
2333
+ } else s.link = o;
2334
+ s.typeC4Shape = { text: e }, s.parentBoundary = w, s.wrap = J();
2335
+ }, "addPersonOrSystem"), L = /* @__PURE__ */ e(function(e, t, n, r, i, a, o, s) {
2336
+ if (t === null || n === null) return;
2337
+ let l = {}, u = S.find((e) => e.alias === t);
2338
+ if (u && t === u.alias ? l = u : (l.alias = t, S.push(l)), n == null ? l.label = { text: "" } : l.label = { text: n }, r == null) l.techn = { text: "" };
2339
+ else if (typeof r == "object") {
2340
+ let [e, t] = Object.entries(r)[0];
2341
+ l[e] = { text: t };
2342
+ } else l.techn = { text: r };
2343
+ if (i == null) l.descr = { text: "" };
2344
+ else if (typeof i == "object") {
2345
+ let [e, t] = Object.entries(i)[0];
2346
+ l[e] = { text: t };
2347
+ } else l.descr = { text: i };
2348
+ if (typeof a == "object") {
2349
+ let [e, t] = Object.entries(a)[0];
2350
+ l[e] = t;
2351
+ } else l.sprite = a;
2352
+ if (typeof o == "object") {
2353
+ let [e, t] = Object.entries(o)[0];
2354
+ l[e] = t;
2355
+ } else l.tags = o;
2356
+ if (typeof s == "object") {
2357
+ let [e, t] = Object.entries(s)[0];
2358
+ l[e] = t;
2359
+ } else l.link = s;
2360
+ l.wrap = J(), l.typeC4Shape = { text: e }, l.parentBoundary = w;
2361
+ }, "addContainer"), R = /* @__PURE__ */ e(function(e, t, n, r, i, a, o, s) {
2362
+ if (t === null || n === null) return;
2363
+ let l = {}, u = S.find((e) => e.alias === t);
2364
+ if (u && t === u.alias ? l = u : (l.alias = t, S.push(l)), n == null ? l.label = { text: "" } : l.label = { text: n }, r == null) l.techn = { text: "" };
2365
+ else if (typeof r == "object") {
2366
+ let [e, t] = Object.entries(r)[0];
2367
+ l[e] = { text: t };
2368
+ } else l.techn = { text: r };
2369
+ if (i == null) l.descr = { text: "" };
2370
+ else if (typeof i == "object") {
2371
+ let [e, t] = Object.entries(i)[0];
2372
+ l[e] = { text: t };
2373
+ } else l.descr = { text: i };
2374
+ if (typeof a == "object") {
2375
+ let [e, t] = Object.entries(a)[0];
2376
+ l[e] = t;
2377
+ } else l.sprite = a;
2378
+ if (typeof o == "object") {
2379
+ let [e, t] = Object.entries(o)[0];
2380
+ l[e] = t;
2381
+ } else l.tags = o;
2382
+ if (typeof s == "object") {
2383
+ let [e, t] = Object.entries(s)[0];
2384
+ l[e] = t;
2385
+ } else l.link = s;
2386
+ l.wrap = J(), l.typeC4Shape = { text: e }, l.parentBoundary = w;
2387
+ }, "addComponent"), z = /* @__PURE__ */ e(function(e, t, n, r, i) {
2388
+ if (e === null || t === null) return;
2389
+ let a = {}, o = E.find((t) => t.alias === e);
2390
+ if (o && e === o.alias ? a = o : (a.alias = e, E.push(a)), t == null ? a.label = { text: "" } : a.label = { text: t }, n == null) a.type = { text: "system" };
2391
+ else if (typeof n == "object") {
2392
+ let [e, t] = Object.entries(n)[0];
2393
+ a[e] = { text: t };
2394
+ } else a.type = { text: n };
2395
+ if (typeof r == "object") {
2396
+ let [e, t] = Object.entries(r)[0];
2397
+ a[e] = t;
2398
+ } else a.tags = r;
2399
+ if (typeof i == "object") {
2400
+ let [e, t] = Object.entries(i)[0];
2401
+ a[e] = t;
2402
+ } else a.link = i;
2403
+ a.parentBoundary = w, a.wrap = J(), T = w, w = e, C.push(T);
2404
+ }, "addPersonOrSystemBoundary"), B = /* @__PURE__ */ e(function(e, t, n, r, i) {
2405
+ if (e === null || t === null) return;
2406
+ let a = {}, o = E.find((t) => t.alias === e);
2407
+ if (o && e === o.alias ? a = o : (a.alias = e, E.push(a)), t == null ? a.label = { text: "" } : a.label = { text: t }, n == null) a.type = { text: "container" };
2408
+ else if (typeof n == "object") {
2409
+ let [e, t] = Object.entries(n)[0];
2410
+ a[e] = { text: t };
2411
+ } else a.type = { text: n };
2412
+ if (typeof r == "object") {
2413
+ let [e, t] = Object.entries(r)[0];
2414
+ a[e] = t;
2415
+ } else a.tags = r;
2416
+ if (typeof i == "object") {
2417
+ let [e, t] = Object.entries(i)[0];
2418
+ a[e] = t;
2419
+ } else a.link = i;
2420
+ a.parentBoundary = w, a.wrap = J(), T = w, w = e, C.push(T);
2421
+ }, "addContainerBoundary"), V = /* @__PURE__ */ e(function(e, t, n, r, i, a, o, s) {
2422
+ if (t === null || n === null) return;
2423
+ let l = {}, u = E.find((e) => e.alias === t);
2424
+ if (u && t === u.alias ? l = u : (l.alias = t, E.push(l)), n == null ? l.label = { text: "" } : l.label = { text: n }, r == null) l.type = { text: "node" };
2425
+ else if (typeof r == "object") {
2426
+ let [e, t] = Object.entries(r)[0];
2427
+ l[e] = { text: t };
2428
+ } else l.type = { text: r };
2429
+ if (i == null) l.descr = { text: "" };
2430
+ else if (typeof i == "object") {
2431
+ let [e, t] = Object.entries(i)[0];
2432
+ l[e] = { text: t };
2433
+ } else l.descr = { text: i };
2434
+ if (typeof o == "object") {
2435
+ let [e, t] = Object.entries(o)[0];
2436
+ l[e] = t;
2437
+ } else l.tags = o;
2438
+ if (typeof s == "object") {
2439
+ let [e, t] = Object.entries(s)[0];
2440
+ l[e] = t;
2441
+ } else l.link = s;
2442
+ l.nodeType = e, l.parentBoundary = w, l.wrap = J(), T = w, w = t, C.push(T);
2443
+ }, "addDeploymentNode"), H = /* @__PURE__ */ e(function() {
2444
+ w = T, C.pop(), T = C.pop(), C.push(T);
2445
+ }, "popBoundaryParseStack"), ee = /* @__PURE__ */ e(function(e, t, n, r, i, a, o, s, l, u, d) {
2446
+ let f = S.find((e) => e.alias === t);
2447
+ if (!(f === void 0 && (f = E.find((e) => e.alias === t), f === void 0))) {
2448
+ if (n != null) {
2449
+ if (typeof n == "object") {
2450
+ let [e, t] = Object.entries(n)[0];
2451
+ f[e] = t;
2452
+ } else f.bgColor = n;
2453
+ }
2454
+ if (r != null) {
2455
+ if (typeof r == "object") {
2456
+ let [e, t] = Object.entries(r)[0];
2457
+ f[e] = t;
2458
+ } else f.fontColor = r;
2459
+ }
2460
+ if (i != null) {
2461
+ if (typeof i == "object") {
2462
+ let [e, t] = Object.entries(i)[0];
2463
+ f[e] = t;
2464
+ } else f.borderColor = i;
2465
+ }
2466
+ if (a != null) {
2467
+ if (typeof a == "object") {
2468
+ let [e, t] = Object.entries(a)[0];
2469
+ f[e] = t;
2470
+ } else f.shadowing = a;
2471
+ }
2472
+ if (o != null) {
2473
+ if (typeof o == "object") {
2474
+ let [e, t] = Object.entries(o)[0];
2475
+ f[e] = t;
2476
+ } else f.shape = o;
2477
+ }
2478
+ if (s != null) {
2479
+ if (typeof s == "object") {
2480
+ let [e, t] = Object.entries(s)[0];
2481
+ f[e] = t;
2482
+ } else f.sprite = s;
2483
+ }
2484
+ if (l != null) {
2485
+ if (typeof l == "object") {
2486
+ let [e, t] = Object.entries(l)[0];
2487
+ f[e] = t;
2488
+ } else f.techn = l;
2489
+ }
2490
+ if (u != null) {
2491
+ if (typeof u == "object") {
2492
+ let [e, t] = Object.entries(u)[0];
2493
+ f[e] = t;
2494
+ } else f.legendText = u;
2495
+ }
2496
+ if (d != null) {
2497
+ if (typeof d == "object") {
2498
+ let [e, t] = Object.entries(d)[0];
2499
+ f[e] = t;
2500
+ } else f.legendSprite = d;
2501
+ }
2502
+ }
2503
+ }, "updateElStyle"), te = /* @__PURE__ */ e(function(e, t, n, r, i, a, o) {
2504
+ let s = D.find((e) => e.from === t && e.to === n);
2505
+ if (s !== void 0) {
2506
+ if (r != null) {
2507
+ if (typeof r == "object") {
2508
+ let [e, t] = Object.entries(r)[0];
2509
+ s[e] = t;
2510
+ } else s.textColor = r;
2511
+ }
2512
+ if (i != null) {
2513
+ if (typeof i == "object") {
2514
+ let [e, t] = Object.entries(i)[0];
2515
+ s[e] = t;
2516
+ } else s.lineColor = i;
2517
+ }
2518
+ if (a != null) {
2519
+ if (typeof a == "object") {
2520
+ let [e, t] = Object.entries(a)[0];
2521
+ s[e] = parseInt(t);
2522
+ } else s.offsetX = parseInt(a);
2523
+ }
2524
+ if (o != null) {
2525
+ if (typeof o == "object") {
2526
+ let [e, t] = Object.entries(o)[0];
2527
+ s[e] = parseInt(t);
2528
+ } else s.offsetY = parseInt(o);
2529
+ }
2530
+ }
2531
+ }, "updateRelStyle"), ne = /* @__PURE__ */ e(function(e, t, n) {
2532
+ let r = A, i = j;
2533
+ if (typeof t == "object") {
2534
+ let e = Object.values(t)[0];
2535
+ r = parseInt(e);
2536
+ } else r = parseInt(t);
2537
+ if (typeof n == "object") {
2538
+ let e = Object.values(n)[0];
2539
+ i = parseInt(e);
2540
+ } else i = parseInt(n);
2541
+ r >= 1 && (A = r), i >= 1 && (j = i);
2542
+ }, "updateLayoutConfig"), re = /* @__PURE__ */ e(function() {
2543
+ return A;
2544
+ }, "getC4ShapeInRow"), ie = /* @__PURE__ */ e(function() {
2545
+ return j;
2546
+ }, "getC4BoundaryInRow"), ae = /* @__PURE__ */ e(function() {
2547
+ return w;
2548
+ }, "getCurrentBoundaryParse"), U = /* @__PURE__ */ e(function() {
2549
+ return T;
2550
+ }, "getParentBoundaryParse"), W = /* @__PURE__ */ e(function(e) {
2551
+ return e == null ? S : S.filter((t) => t.parentBoundary === e);
2552
+ }, "getC4ShapeArray"), G = /* @__PURE__ */ e(function(e) {
2553
+ return S.find((t) => t.alias === e);
2554
+ }, "getC4Shape"), K = /* @__PURE__ */ e(function(e) {
2555
+ return Object.keys(W(e));
2556
+ }, "getC4ShapeKeys"), q = /* @__PURE__ */ e(function(e) {
2557
+ return e == null ? E : E.filter((t) => t.parentBoundary === e);
2558
+ }, "getBoundaries"), oe = q, se = /* @__PURE__ */ e(function() {
2559
+ return D;
2560
+ }, "getRels"), ce = /* @__PURE__ */ e(function() {
2561
+ return O;
2562
+ }, "getTitle"), le = /* @__PURE__ */ e(function(e) {
2563
+ k = e;
2564
+ }, "setWrap"), J = /* @__PURE__ */ e(function() {
2565
+ return k;
2566
+ }, "autoWrap"), ue = {
2567
+ addPersonOrSystem: I,
2568
+ addPersonOrSystemBoundary: z,
2569
+ addContainer: L,
2570
+ addContainerBoundary: B,
2571
+ addComponent: R,
2572
+ addDeploymentNode: V,
2573
+ popBoundaryParseStack: H,
2574
+ addRel: F,
2575
+ updateElStyle: ee,
2576
+ updateRelStyle: te,
2577
+ updateLayoutConfig: ne,
2578
+ autoWrap: J,
2579
+ setWrap: le,
2580
+ getC4ShapeArray: W,
2581
+ getC4Shape: G,
2582
+ getC4ShapeKeys: K,
2583
+ getBoundaries: q,
2584
+ getBoundarys: oe,
2585
+ getCurrentBoundaryParse: ae,
2586
+ getParentBoundaryParse: U,
2587
+ getRels: se,
2588
+ getTitle: ce,
2589
+ getC4Type: N,
2590
+ getC4ShapeInRow: re,
2591
+ getC4BoundaryInRow: ie,
2592
+ setAccTitle: i,
2593
+ getAccTitle: d,
2594
+ getAccDescription: l,
2595
+ setAccDescription: r,
2596
+ getConfig: /* @__PURE__ */ e(() => u().c4, "getConfig"),
2597
+ clear: /* @__PURE__ */ e(function() {
2598
+ S = [], E = [{
2599
+ alias: "global",
2600
+ label: { text: "global" },
2601
+ type: { text: "global" },
2602
+ tags: null,
2603
+ link: null,
2604
+ parentBoundary: ""
2605
+ }], T = "", w = "global", C = [""], D = [], C = [""], O = "", k = !1, A = 4, j = 2;
2606
+ }, "clear"),
2607
+ LINETYPE: {
2608
+ SOLID: 0,
2609
+ DOTTED: 1,
2610
+ NOTE: 2,
2611
+ SOLID_CROSS: 3,
2612
+ DOTTED_CROSS: 4,
2613
+ SOLID_OPEN: 5,
2614
+ DOTTED_OPEN: 6,
2615
+ LOOP_START: 10,
2616
+ LOOP_END: 11,
2617
+ ALT_START: 12,
2618
+ ALT_ELSE: 13,
2619
+ ALT_END: 14,
2620
+ OPT_START: 15,
2621
+ OPT_END: 16,
2622
+ ACTIVE_START: 17,
2623
+ ACTIVE_END: 18,
2624
+ PAR_START: 19,
2625
+ PAR_AND: 20,
2626
+ PAR_END: 21,
2627
+ RECT_START: 22,
2628
+ RECT_END: 23,
2629
+ SOLID_POINT: 24,
2630
+ DOTTED_POINT: 25
2631
+ },
2632
+ ARROWTYPE: {
2633
+ FILLED: 0,
2634
+ OPEN: 1
2635
+ },
2636
+ PLACEMENT: {
2637
+ LEFTOF: 0,
2638
+ RIGHTOF: 1,
2639
+ OVER: 2
2640
+ },
2641
+ setTitle: /* @__PURE__ */ e(function(e) {
2642
+ O = f(e, u());
2643
+ }, "setTitle"),
2644
+ setC4Type: P
2645
+ }, de = /* @__PURE__ */ e(function(e, t) {
2646
+ return _(e, t);
2647
+ }, "drawRect"), fe = /* @__PURE__ */ e(function(e, t, n, r, i, a) {
2648
+ let o = e.append("image");
2649
+ o.attr("width", t), o.attr("height", n), o.attr("x", r), o.attr("y", i);
2650
+ let s = a.startsWith("data:image/png;base64") ? a : (0, y.sanitizeUrl)(a);
2651
+ o.attr("xlink:href", s);
2652
+ }, "drawImage"), pe = /* @__PURE__ */ e((e, t, n, r) => {
2653
+ let i = e.append("g"), a = 0;
2654
+ for (let e of t) {
2655
+ let t = e.textColor ? e.textColor : "#444444", o = e.lineColor ? e.lineColor : "#444444", s = e.offsetX ? parseInt(e.offsetX) : 0, l = e.offsetY ? parseInt(e.offsetY) : 0;
2656
+ if (a === 0) {
2657
+ let t = i.append("line");
2658
+ t.attr("x1", e.startPoint.x), t.attr("y1", e.startPoint.y), t.attr("x2", e.endPoint.x), t.attr("y2", e.endPoint.y), t.attr("stroke-width", "1"), t.attr("stroke", o), t.style("fill", "none"), e.type !== "rel_b" && t.attr("marker-end", "url(#" + r + "-arrowhead)"), (e.type === "birel" || e.type === "rel_b") && t.attr("marker-start", "url(#" + r + "-arrowend)"), a = -1;
2659
+ } else {
2660
+ let t = i.append("path");
2661
+ t.attr("fill", "none").attr("stroke-width", "1").attr("stroke", o).attr("d", "Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx", e.startPoint.x).replaceAll("starty", e.startPoint.y).replaceAll("controlx", e.startPoint.x + (e.endPoint.x - e.startPoint.x) / 2 - (e.endPoint.x - e.startPoint.x) / 4).replaceAll("controly", e.startPoint.y + (e.endPoint.y - e.startPoint.y) / 2).replaceAll("stopx", e.endPoint.x).replaceAll("stopy", e.endPoint.y)), e.type !== "rel_b" && t.attr("marker-end", "url(#" + r + "-arrowhead)"), (e.type === "birel" || e.type === "rel_b") && t.attr("marker-start", "url(#" + r + "-arrowend)");
2662
+ }
2663
+ let u = n.messageFont();
2664
+ Y(n)(e.label.text, i, Math.min(e.startPoint.x, e.endPoint.x) + Math.abs(e.endPoint.x - e.startPoint.x) / 2 + s, Math.min(e.startPoint.y, e.endPoint.y) + Math.abs(e.endPoint.y - e.startPoint.y) / 2 + l, e.label.width, e.label.height, { fill: t }, u), e.techn && e.techn.text !== "" && (u = n.messageFont(), Y(n)("[" + e.techn.text + "]", i, Math.min(e.startPoint.x, e.endPoint.x) + Math.abs(e.endPoint.x - e.startPoint.x) / 2 + s, Math.min(e.startPoint.y, e.endPoint.y) + Math.abs(e.endPoint.y - e.startPoint.y) / 2 + n.messageFontSize + 5 + l, Math.max(e.label.width, e.techn.width), e.techn.height, {
2665
+ fill: t,
2666
+ "font-style": "italic"
2667
+ }, u));
2668
+ }
2669
+ }, "drawRels"), me = /* @__PURE__ */ e(function(e, t, n) {
2670
+ let r = e.append("g"), i = t.bgColor ? t.bgColor : "none", a = t.borderColor ? t.borderColor : "#444444", o = t.fontColor ? t.fontColor : "black", s = {
2671
+ "stroke-width": 1,
2672
+ "stroke-dasharray": "7.0,7.0"
2673
+ };
2674
+ t.nodeType && (s = { "stroke-width": 1 }), de(r, {
2675
+ x: t.x,
2676
+ y: t.y,
2677
+ fill: i,
2678
+ stroke: a,
2679
+ width: t.width,
2680
+ height: t.height,
2681
+ rx: 2.5,
2682
+ ry: 2.5,
2683
+ attrs: s
2684
+ });
2685
+ let l = n.boundaryFont();
2686
+ l.fontWeight = "bold", l.fontSize += 2, l.fontColor = o, Y(n)(t.label.text, r, t.x, t.y + t.label.Y, t.width, t.height, { fill: "#444444" }, l), t.type && t.type.text !== "" && (l = n.boundaryFont(), l.fontColor = o, Y(n)(t.type.text, r, t.x, t.y + t.type.Y, t.width, t.height, { fill: "#444444" }, l)), t.descr && t.descr.text !== "" && (l = n.boundaryFont(), l.fontSize -= 2, l.fontColor = o, Y(n)(t.descr.text, r, t.x, t.y + t.descr.Y, t.width, t.height, { fill: "#444444" }, l));
2687
+ }, "drawBoundary"), he = /* @__PURE__ */ e(function(e, t, n) {
2688
+ let r = t.bgColor ? t.bgColor : n[t.typeC4Shape.text + "_bg_color"], i = t.borderColor ? t.borderColor : n[t.typeC4Shape.text + "_border_color"], a = t.fontColor ? t.fontColor : "#FFFFFF", o = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";
2689
+ switch (t.typeC4Shape.text) {
2690
+ case "person":
2691
+ o = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";
2692
+ break;
2693
+ case "external_person": o = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";
2694
+ }
2695
+ let s = e.append("g");
2696
+ s.attr("class", "person-man");
2697
+ let l = v();
2698
+ switch (t.typeC4Shape.text) {
2699
+ case "person":
2700
+ case "external_person":
2701
+ case "system":
2702
+ case "external_system":
2703
+ case "container":
2704
+ case "external_container":
2705
+ case "component":
2706
+ case "external_component":
2707
+ l.x = t.x, l.y = t.y, l.fill = r, l.width = t.width, l.height = t.height, l.stroke = i, l.rx = 2.5, l.ry = 2.5, l.attrs = { "stroke-width": .5 }, de(s, l);
2708
+ break;
2709
+ case "system_db":
2710
+ case "external_system_db":
2711
+ case "container_db":
2712
+ case "external_container_db":
2713
+ case "component_db":
2714
+ case "external_component_db":
2715
+ s.append("path").attr("fill", r).attr("stroke-width", "0.5").attr("stroke", i).attr("d", "Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx", t.x).replaceAll("starty", t.y).replaceAll("half", t.width / 2).replaceAll("height", t.height)), s.append("path").attr("fill", "none").attr("stroke-width", "0.5").attr("stroke", i).attr("d", "Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx", t.x).replaceAll("starty", t.y).replaceAll("half", t.width / 2));
2716
+ break;
2717
+ case "system_queue":
2718
+ case "external_system_queue":
2719
+ case "container_queue":
2720
+ case "external_container_queue":
2721
+ case "component_queue":
2722
+ case "external_component_queue": s.append("path").attr("fill", r).attr("stroke-width", "0.5").attr("stroke", i).attr("d", "Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx", t.x).replaceAll("starty", t.y).replaceAll("width", t.width).replaceAll("half", t.height / 2)), s.append("path").attr("fill", "none").attr("stroke-width", "0.5").attr("stroke", i).attr("d", "Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx", t.x + t.width).replaceAll("starty", t.y).replaceAll("half", t.height / 2));
2723
+ }
2724
+ let u = Ce(n, t.typeC4Shape.text);
2725
+ switch (s.append("text").attr("fill", a).attr("font-family", u.fontFamily).attr("font-size", u.fontSize - 2).attr("font-style", "italic").attr("lengthAdjust", "spacing").attr("textLength", t.typeC4Shape.width).attr("x", t.x + t.width / 2 - t.typeC4Shape.width / 2).attr("y", t.y + t.typeC4Shape.Y).text("<<" + t.typeC4Shape.text + ">>"), t.typeC4Shape.text) {
2726
+ case "person":
2727
+ case "external_person": fe(s, 48, 48, t.x + t.width / 2 - 24, t.y + t.image.Y, o);
2728
+ }
2729
+ let d = n[t.typeC4Shape.text + "Font"]();
2730
+ return d.fontWeight = "bold", d.fontSize += 2, d.fontColor = a, Y(n)(t.label.text, s, t.x, t.y + t.label.Y, t.width, t.height, { fill: a }, d), d = n[t.typeC4Shape.text + "Font"](), d.fontColor = a, t.techn && t.techn?.text !== "" ? Y(n)(t.techn.text, s, t.x, t.y + t.techn.Y, t.width, t.height, {
2731
+ fill: a,
2732
+ "font-style": "italic"
2733
+ }, d) : t.type && t.type.text !== "" && Y(n)(t.type.text, s, t.x, t.y + t.type.Y, t.width, t.height, {
2734
+ fill: a,
2735
+ "font-style": "italic"
2736
+ }, d), t.descr && t.descr.text !== "" && (d = n.personFont(), d.fontColor = a, Y(n)(t.descr.text, s, t.x, t.y + t.descr.Y, t.width, t.height, { fill: a }, d)), t.height;
2737
+ }, "drawC4Shape"), ge = /* @__PURE__ */ e(function(e, t) {
2738
+ e.append("defs").append("symbol").attr("id", t + "-database").attr("fill-rule", "evenodd").attr("clip-rule", "evenodd").append("path").attr("transform", "scale(.5)").attr("d", "M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z");
2739
+ }, "insertDatabaseIcon"), _e = /* @__PURE__ */ e(function(e, t) {
2740
+ e.append("defs").append("symbol").attr("id", t + "-computer").attr("width", "24").attr("height", "24").append("path").attr("transform", "scale(.5)").attr("d", "M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z");
2741
+ }, "insertComputerIcon"), ve = /* @__PURE__ */ e(function(e, t) {
2742
+ e.append("defs").append("symbol").attr("id", t + "-clock").attr("width", "24").attr("height", "24").append("path").attr("transform", "scale(.5)").attr("d", "M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z");
2743
+ }, "insertClockIcon"), ye = /* @__PURE__ */ e(function(e, t) {
2744
+ e.append("defs").append("marker").attr("id", t + "-arrowhead").attr("refX", 9).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z");
2745
+ }, "insertArrowHead"), be = /* @__PURE__ */ e(function(e, t) {
2746
+ e.append("defs").append("marker").attr("id", t + "-arrowend").attr("refX", 1).attr("refY", 5).attr("markerUnits", "userSpaceOnUse").attr("markerWidth", 12).attr("markerHeight", 12).attr("orient", "auto").append("path").attr("d", "M 10 0 L 0 5 L 10 10 z");
2747
+ }, "insertArrowEnd"), xe = /* @__PURE__ */ e(function(e, t) {
2748
+ e.append("defs").append("marker").attr("id", t + "-filled-head").attr("refX", 18).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z");
2749
+ }, "insertArrowFilledHead"), Se = /* @__PURE__ */ e(function(e, t) {
2750
+ let n = e.append("defs").append("marker").attr("id", t + "-crosshead").attr("markerWidth", 15).attr("markerHeight", 8).attr("orient", "auto").attr("refX", 16).attr("refY", 4);
2751
+ n.append("path").attr("fill", "black").attr("stroke", "#000000").style("stroke-dasharray", "0, 0").attr("stroke-width", "1px").attr("d", "M 9,2 V 6 L16,4 Z"), n.append("path").attr("fill", "none").attr("stroke", "#000000").style("stroke-dasharray", "0, 0").attr("stroke-width", "1px").attr("d", "M 0,1 L 6,7 M 6,1 L 0,7");
2752
+ }, "insertArrowCrossHead"), Ce = /* @__PURE__ */ e((e, t) => ({
2753
+ fontFamily: e[t + "FontFamily"],
2754
+ fontSize: e[t + "FontSize"],
2755
+ fontWeight: e[t + "FontWeight"]
2756
+ }), "getC4ShapeFont"), Y = /* @__PURE__ */ (function() {
2757
+ function t(e, t, n, r, a, o, s) {
2758
+ i(t.append("text").attr("x", n + a / 2).attr("y", r + o / 2 + 5).style("text-anchor", "middle").text(e), s);
2759
+ }
2760
+ e(t, "byText");
2761
+ function n(e, t, n, r, a, o, l, u) {
2762
+ let { fontSize: d, fontFamily: f, fontWeight: p } = u, m = e.split(s.lineBreakRegex);
2763
+ for (let e = 0; e < m.length; e++) {
2764
+ let o = e * d - d * (m.length - 1) / 2, s = t.append("text").attr("x", n + a / 2).attr("y", r).style("text-anchor", "middle").attr("dominant-baseline", "middle").style("font-size", d).style("font-weight", p).style("font-family", f);
2765
+ s.append("tspan").attr("dy", o).text(m[e]).attr("alignment-baseline", "mathematical"), i(s, l);
2766
+ }
2767
+ }
2768
+ e(n, "byTspan");
2769
+ function r(e, t, r, a, o, s, l, u) {
2770
+ let d = t.append("switch"), f = d.append("foreignObject").attr("x", r).attr("y", a).attr("width", o).attr("height", s).append("xhtml:div").style("display", "table").style("height", "100%").style("width", "100%");
2771
+ f.append("div").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").text(e), n(e, d, r, a, o, s, l, u), i(f, l);
2772
+ }
2773
+ e(r, "byFo");
2774
+ function i(e, t) {
2775
+ for (let n in t) t.hasOwnProperty(n) && e.attr(n, t[n]);
2776
+ }
2777
+ return e(i, "_setTextAttrs"), function(e) {
2778
+ return e.textPlacement === "fo" ? r : e.textPlacement === "old" ? t : n;
2779
+ };
2780
+ })(), X = {
2781
+ drawRect: de,
2782
+ drawBoundary: me,
2783
+ drawC4Shape: he,
2784
+ drawRels: pe,
2785
+ drawImage: fe,
2786
+ insertArrowHead: ye,
2787
+ insertArrowEnd: be,
2788
+ insertArrowFilledHead: xe,
2789
+ insertArrowCrossHead: Se,
2790
+ insertDatabaseIcon: ge,
2791
+ insertComputerIcon: _e,
2792
+ insertClockIcon: ve
2793
+ }, we = 0, Te = 0, Ee = 4, De = 2;
2794
+ b.yy = ue;
2795
+ var Z = {}, Oe = class {
2796
+ static {
2797
+ e(this, "Bounds");
2798
+ }
2799
+ constructor(e) {
2800
+ this.name = "", this.data = {}, this.data.startx = void 0, this.data.stopx = void 0, this.data.starty = void 0, this.data.stopy = void 0, this.data.widthLimit = void 0, this.nextData = {}, this.nextData.startx = void 0, this.nextData.stopx = void 0, this.nextData.starty = void 0, this.nextData.stopy = void 0, this.nextData.cnt = 0, ke(e.db.getConfig());
2801
+ }
2802
+ setData(e, t, n, r) {
2803
+ this.nextData.startx = this.data.startx = e, this.nextData.stopx = this.data.stopx = t, this.nextData.starty = this.data.starty = n, this.nextData.stopy = this.data.stopy = r;
2804
+ }
2805
+ updateVal(e, t, n, r) {
2806
+ e[t] = e[t] === void 0 ? n : r(n, e[t]);
2807
+ }
2808
+ insert(e) {
2809
+ this.nextData.cnt = this.nextData.cnt + 1;
2810
+ let t = this.nextData.startx === this.nextData.stopx ? this.nextData.stopx + e.margin : this.nextData.stopx + e.margin * 2, n = t + e.width, r = this.nextData.starty + e.margin * 2, i = r + e.height;
2811
+ (t >= this.data.widthLimit || n >= this.data.widthLimit || this.nextData.cnt > Ee) && (t = this.nextData.startx + e.margin + Z.nextLinePaddingX, r = this.nextData.stopy + e.margin * 2, this.nextData.stopx = n = t + e.width, this.nextData.starty = this.nextData.stopy, this.nextData.stopy = i = r + e.height, this.nextData.cnt = 1), e.x = t, e.y = r, this.updateVal(this.data, "startx", t, Math.min), this.updateVal(this.data, "starty", r, Math.min), this.updateVal(this.data, "stopx", n, Math.max), this.updateVal(this.data, "stopy", i, Math.max), this.updateVal(this.nextData, "startx", t, Math.min), this.updateVal(this.nextData, "starty", r, Math.min), this.updateVal(this.nextData, "stopx", n, Math.max), this.updateVal(this.nextData, "stopy", i, Math.max);
2812
+ }
2813
+ init(e) {
2814
+ this.name = "", this.data = {
2815
+ startx: void 0,
2816
+ stopx: void 0,
2817
+ starty: void 0,
2818
+ stopy: void 0,
2819
+ widthLimit: void 0
2820
+ }, this.nextData = {
2821
+ startx: void 0,
2822
+ stopx: void 0,
2823
+ starty: void 0,
2824
+ stopy: void 0,
2825
+ cnt: 0
2826
+ }, ke(e.db.getConfig());
2827
+ }
2828
+ bumpLastMargin(e) {
2829
+ this.data.stopx += e, this.data.stopy += e;
2830
+ }
2831
+ }, ke = /* @__PURE__ */ e(function(e) {
2832
+ o(Z, e), e.fontFamily && (Z.personFontFamily = Z.systemFontFamily = Z.messageFontFamily = e.fontFamily), e.fontSize && (Z.personFontSize = Z.systemFontSize = Z.messageFontSize = e.fontSize), e.fontWeight && (Z.personFontWeight = Z.systemFontWeight = Z.messageFontWeight = e.fontWeight);
2833
+ }, "setConf"), Ae = /* @__PURE__ */ e((e, t) => ({
2834
+ fontFamily: e[t + "FontFamily"],
2835
+ fontSize: e[t + "FontSize"],
2836
+ fontWeight: e[t + "FontWeight"]
2837
+ }), "c4ShapeFont"), je = /* @__PURE__ */ e((e) => ({
2838
+ fontFamily: e.boundaryFontFamily,
2839
+ fontSize: e.boundaryFontSize,
2840
+ fontWeight: e.boundaryFontWeight
2841
+ }), "boundaryFont"), Me = /* @__PURE__ */ e((e) => ({
2842
+ fontFamily: e.messageFontFamily,
2843
+ fontSize: e.messageFontSize,
2844
+ fontWeight: e.messageFontWeight
2845
+ }), "messageFont");
2846
+ function Q(e, t, n, r, i) {
2847
+ if (!t[e].width) {
2848
+ if (n) t[e].text = m(t[e].text, i, r), t[e].textLines = t[e].text.split(s.lineBreakRegex).length, t[e].width = i, t[e].height = h(t[e].text, r);
2849
+ else {
2850
+ let n = t[e].text.split(s.lineBreakRegex);
2851
+ t[e].textLines = n.length;
2852
+ let i = 0;
2853
+ t[e].height = 0, t[e].width = 0;
2854
+ for (let a of n) t[e].width = Math.max(g(a, r), t[e].width), i = h(a, r), t[e].height = t[e].height + i;
2855
+ }
2856
+ }
2857
+ }
2858
+ e(Q, "calcC4ShapeTextWH");
2859
+ var Ne = /* @__PURE__ */ e(function(e, t, n) {
2860
+ t.x = n.data.startx, t.y = n.data.starty, t.width = n.data.stopx - n.data.startx, t.height = n.data.stopy - n.data.starty, t.label.y = Z.c4ShapeMargin - 35;
2861
+ let r = t.wrap && Z.wrap, i = je(Z);
2862
+ i.fontSize += 2, i.fontWeight = "bold", Q("label", t, r, i, g(t.label.text, i)), X.drawBoundary(e, t, Z);
2863
+ }, "drawBoundary"), Pe = /* @__PURE__ */ e(function(e, t, n, r) {
2864
+ let i = 0;
2865
+ for (let a of r) {
2866
+ i = 0;
2867
+ let r = n[a], o = Ae(Z, r.typeC4Shape.text);
2868
+ switch (o.fontSize -= 2, r.typeC4Shape.width = g("«" + r.typeC4Shape.text + "»", o), r.typeC4Shape.height = o.fontSize + 2, r.typeC4Shape.Y = Z.c4ShapePadding, i = r.typeC4Shape.Y + r.typeC4Shape.height - 4, r.image = {
2869
+ width: 0,
2870
+ height: 0,
2871
+ Y: 0
2872
+ }, r.typeC4Shape.text) {
2873
+ case "person":
2874
+ case "external_person": r.image.width = 48, r.image.height = 48, r.image.Y = i, i = r.image.Y + r.image.height;
2875
+ }
2876
+ r.sprite && (r.image.width = 48, r.image.height = 48, r.image.Y = i, i = r.image.Y + r.image.height);
2877
+ let s = r.wrap && Z.wrap, l = Z.width - Z.c4ShapePadding * 2, u = Ae(Z, r.typeC4Shape.text);
2878
+ u.fontSize += 2, u.fontWeight = "bold", Q("label", r, s, u, l), r.label.Y = i + 8, i = r.label.Y + r.label.height, r.type && r.type.text !== "" ? (r.type.text = "[" + r.type.text + "]", Q("type", r, s, Ae(Z, r.typeC4Shape.text), l), r.type.Y = i + 5, i = r.type.Y + r.type.height) : r.techn && r.techn.text !== "" && (r.techn.text = "[" + r.techn.text + "]", Q("techn", r, s, Ae(Z, r.techn.text), l), r.techn.Y = i + 5, i = r.techn.Y + r.techn.height);
2879
+ let d = i, f = r.label.width;
2880
+ r.descr && r.descr.text !== "" && (Q("descr", r, s, Ae(Z, r.typeC4Shape.text), l), r.descr.Y = i + 20, i = r.descr.Y + r.descr.height, f = Math.max(r.label.width, r.descr.width), d = i - r.descr.textLines * 5), f += Z.c4ShapePadding, r.width = Math.max(r.width || Z.width, f, Z.width), r.height = Math.max(r.height || Z.height, d, Z.height), r.margin = r.margin || Z.c4ShapeMargin, e.insert(r), X.drawC4Shape(t, r, Z);
2881
+ }
2882
+ e.bumpLastMargin(Z.c4ShapeMargin);
2883
+ }, "drawC4ShapeArray"), $ = class {
2884
+ static {
2885
+ e(this, "Point");
2886
+ }
2887
+ constructor(e, t) {
2888
+ this.x = e, this.y = t;
2889
+ }
2890
+ }, Fe = /* @__PURE__ */ e(function(e, t) {
2891
+ let n = e.x, r = e.y, i = t.x, a = t.y, o = n + e.width / 2, s = r + e.height / 2, l = Math.abs(n - i), u = Math.abs(r - a), d = u / l, f = e.height / e.width, p = null;
2892
+ return r == a && n < i ? p = new $(n + e.width, s) : r == a && n > i ? p = new $(n, s) : n == i && r < a ? p = new $(o, r + e.height) : n == i && r > a && (p = new $(o, r)), n > i && r < a ? p = f >= d ? new $(n, s + d * e.width / 2) : new $(o - l / u * e.height / 2, r + e.height) : n < i && r < a ? p = f >= d ? new $(n + e.width, s + d * e.width / 2) : new $(o + l / u * e.height / 2, r + e.height) : n < i && r > a ? p = f >= d ? new $(n + e.width, s - d * e.width / 2) : new $(o + e.height / 2 * l / u, r) : n > i && r > a && (p = f >= d ? new $(n, s - e.width / 2 * d) : new $(o - e.height / 2 * l / u, r)), p;
2893
+ }, "getIntersectPoint"), Ie = /* @__PURE__ */ e(function(e, t) {
2894
+ let n = {
2895
+ x: 0,
2896
+ y: 0
2897
+ };
2898
+ n.x = t.x + t.width / 2, n.y = t.y + t.height / 2;
2899
+ let r = Fe(e, n);
2900
+ return n.x = e.x + e.width / 2, n.y = e.y + e.height / 2, {
2901
+ startPoint: r,
2902
+ endPoint: Fe(t, n)
2903
+ };
2904
+ }, "getIntersectPoints"), Le = /* @__PURE__ */ e(function(e, t, n, r, i) {
2905
+ let a = 0;
2906
+ for (let e of t) {
2907
+ a += 1;
2908
+ let t = e.wrap && Z.wrap, i = Me(Z);
2909
+ r.db.getC4Type() === "C4Dynamic" && (e.label.text = a + ": " + e.label.text);
2910
+ let o = g(e.label.text, i);
2911
+ Q("label", e, t, i, o), e.techn && e.techn.text !== "" && (o = g(e.techn.text, i), Q("techn", e, t, i, o)), e.descr && e.descr.text !== "" && (o = g(e.descr.text, i), Q("descr", e, t, i, o));
2912
+ let s = Ie(n(e.from), n(e.to));
2913
+ e.startPoint = s.startPoint, e.endPoint = s.endPoint;
2914
+ }
2915
+ X.drawRels(e, t, Z, i);
2916
+ }, "drawRels");
2917
+ function Re(e, t, n, r, i) {
2918
+ let a = new Oe(i);
2919
+ a.data.widthLimit = n.data.widthLimit / Math.min(De, r.length);
2920
+ for (let [o, s] of r.entries()) {
2921
+ let r = 0;
2922
+ s.image = {
2923
+ width: 0,
2924
+ height: 0,
2925
+ Y: 0
2926
+ }, s.sprite && (s.image.width = 48, s.image.height = 48, s.image.Y = r, r = s.image.Y + s.image.height);
2927
+ let l = s.wrap && Z.wrap, u = je(Z);
2928
+ if (u.fontSize += 2, u.fontWeight = "bold", Q("label", s, l, u, a.data.widthLimit), s.label.Y = r + 8, r = s.label.Y + s.label.height, s.type && s.type.text !== "" && (s.type.text = "[" + s.type.text + "]", Q("type", s, l, je(Z), a.data.widthLimit), s.type.Y = r + 5, r = s.type.Y + s.type.height), s.descr && s.descr.text !== "") {
2929
+ let e = je(Z);
2930
+ e.fontSize -= 2, Q("descr", s, l, e, a.data.widthLimit), s.descr.Y = r + 20, r = s.descr.Y + s.descr.height;
2931
+ }
2932
+ if (o == 0 || o % De === 0) {
2933
+ let e = n.data.startx + Z.diagramMarginX, t = n.data.stopy + Z.diagramMarginY + r;
2934
+ a.setData(e, e, t, t);
2935
+ } else {
2936
+ let e = a.data.stopx === a.data.startx ? a.data.startx : a.data.stopx + Z.diagramMarginX, t = a.data.starty;
2937
+ a.setData(e, e, t, t);
2938
+ }
2939
+ a.name = s.alias;
2940
+ let d = i.db.getC4ShapeArray(s.alias), f = i.db.getC4ShapeKeys(s.alias);
2941
+ f.length > 0 && Pe(a, e, d, f), t = s.alias;
2942
+ let p = i.db.getBoundaries(t);
2943
+ p.length > 0 && Re(e, t, a, p, i), s.alias !== "global" && Ne(e, s, a), n.data.stopy = Math.max(a.data.stopy + Z.c4ShapeMargin, n.data.stopy), n.data.stopx = Math.max(a.data.stopx + Z.c4ShapeMargin, n.data.stopx), we = Math.max(we, n.data.stopx), Te = Math.max(Te, n.data.stopy);
2944
+ }
2945
+ }
2946
+ e(Re, "drawInsideBoundary");
2947
+ var ze = {
2948
+ drawPersonOrSystemArray: Pe,
2949
+ drawBoundary: Ne,
2950
+ setConf: ke,
2951
+ draw: /* @__PURE__ */ e(function(e, r, i, o) {
2952
+ Z = u().c4;
2953
+ let s = u().securityLevel, l;
2954
+ s === "sandbox" && (l = n("#i" + r));
2955
+ let d = n(s === "sandbox" ? l.nodes()[0].contentDocument.body : "body"), f = o.db;
2956
+ o.db.setWrap(Z.wrap), Ee = f.getC4ShapeInRow(), De = f.getC4BoundaryInRow(), t.debug(`C:${JSON.stringify(Z, null, 2)}`);
2957
+ let p = s === "sandbox" ? d.select(`[id="${r}"]`) : n(`[id="${r}"]`);
2958
+ X.insertComputerIcon(p, r), X.insertDatabaseIcon(p, r), X.insertClockIcon(p, r);
2959
+ let m = new Oe(o);
2960
+ m.setData(Z.diagramMarginX, Z.diagramMarginX, Z.diagramMarginY, Z.diagramMarginY), m.data.widthLimit = screen.availWidth, we = Z.diagramMarginX, Te = Z.diagramMarginY;
2961
+ let h = o.db.getTitle();
2962
+ Re(p, "", m, o.db.getBoundaries(""), o), X.insertArrowHead(p, r), X.insertArrowEnd(p, r), X.insertArrowCrossHead(p, r), X.insertArrowFilledHead(p, r), Le(p, o.db.getRels(), o.db.getC4Shape, o, r), m.data.stopx = we, m.data.stopy = Te;
2963
+ let g = m.data, _ = g.stopy - g.starty + 2 * Z.diagramMarginY, v = g.stopx - g.startx + 2 * Z.diagramMarginX;
2964
+ h && p.append("text").text(h).attr("x", (g.stopx - g.startx) / 2 - 4 * Z.diagramMarginX).attr("y", g.starty + Z.diagramMarginY), a(p, _, v, Z.useMaxWidth);
2965
+ let y = h ? 60 : 0;
2966
+ p.attr("viewBox", g.startx - Z.diagramMarginX + " -" + (Z.diagramMarginY + y) + " " + v + " " + (_ + y)), t.debug("models:", g);
2967
+ }, "draw")
2968
+ }, Be = {
2969
+ parser: x,
2970
+ db: ue,
2971
+ renderer: ze,
2972
+ styles: /* @__PURE__ */ e((e) => `.person {
2973
+ stroke: ${e.personBorder};
2974
+ fill: ${e.personBkg};
2975
+ }
2976
+ `, "getStyles"),
2977
+ init: /* @__PURE__ */ e(({ c4: e, wrap: t }) => {
2978
+ ze.setConf(e), ue.setWrap(t);
2979
+ }, "init")
2980
+ };
2981
+ //#endregion
2982
+ export { Be as diagram };