UNPKG

60.2 kBJavaScriptView Raw
1import { s as setAccTitle, g as getAccTitle, a as getAccDescription, b as setAccDescription, c as getConfig, z as setDiagramTitle, A as getDiagramTitle, m as mermaidAPI, B as clear$1, l as log, f as common, x as utils, j as select } from "./mermaid-4b4b971d.js";
2var parser = function() {
3 var o = function(k, v, o2, l) {
4 for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)
5 ;
6 return o2;
7 }, $V0 = [1, 34], $V1 = [1, 35], $V2 = [1, 36], $V3 = [1, 37], $V4 = [1, 9], $V5 = [1, 8], $V6 = [1, 19], $V7 = [1, 20], $V8 = [1, 21], $V9 = [1, 40], $Va = [1, 41], $Vb = [1, 27], $Vc = [1, 25], $Vd = [1, 26], $Ve = [1, 32], $Vf = [1, 33], $Vg = [1, 28], $Vh = [1, 29], $Vi = [1, 30], $Vj = [1, 31], $Vk = [1, 45], $Vl = [1, 42], $Vm = [1, 43], $Vn = [1, 44], $Vo = [1, 46], $Vp = [1, 24], $Vq = [1, 16, 24], $Vr = [1, 60], $Vs = [1, 61], $Vt = [1, 62], $Vu = [1, 63], $Vv = [1, 64], $Vw = [1, 65], $Vx = [1, 66], $Vy = [1, 16, 24, 52], $Vz = [1, 77], $VA = [1, 16, 24, 27, 28, 36, 50, 52, 55, 68, 69, 70, 71, 72, 73, 74, 79, 81], $VB = [1, 16, 24, 27, 28, 34, 36, 50, 52, 55, 59, 68, 69, 70, 71, 72, 73, 74, 79, 81, 94, 96, 97, 98, 99], $VC = [1, 86], $VD = [28, 94, 96, 97, 98, 99], $VE = [28, 73, 74, 94, 96, 97, 98, 99], $VF = [28, 68, 69, 70, 71, 72, 94, 96, 97, 98, 99], $VG = [1, 99], $VH = [1, 16, 24, 50, 52, 55], $VI = [1, 16, 24, 36], $VJ = [8, 9, 10, 11, 19, 23, 44, 46, 48, 53, 57, 58, 60, 61, 63, 65, 75, 76, 78, 82, 94, 96, 97, 98, 99];
8 var parser2 = {
9 trace: function trace() {
10 },
11 yy: {},
12 symbols_: { "error": 2, "start": 3, "mermaidDoc": 4, "directive": 5, "statements": 6, "direction": 7, "direction_tb": 8, "direction_bt": 9, "direction_rl": 10, "direction_lr": 11, "graphConfig": 12, "openDirective": 13, "typeDirective": 14, "closeDirective": 15, "NEWLINE": 16, ":": 17, "argDirective": 18, "open_directive": 19, "type_directive": 20, "arg_directive": 21, "close_directive": 22, "CLASS_DIAGRAM": 23, "EOF": 24, "statement": 25, "classLabel": 26, "SQS": 27, "STR": 28, "SQE": 29, "namespaceName": 30, "alphaNumToken": 31, "className": 32, "classLiteralName": 33, "GENERICTYPE": 34, "relationStatement": 35, "LABEL": 36, "namespaceStatement": 37, "classStatement": 38, "methodStatement": 39, "annotationStatement": 40, "clickStatement": 41, "cssClassStatement": 42, "noteStatement": 43, "acc_title": 44, "acc_title_value": 45, "acc_descr": 46, "acc_descr_value": 47, "acc_descr_multiline_value": 48, "namespaceIdentifier": 49, "STRUCT_START": 50, "classStatements": 51, "STRUCT_STOP": 52, "NAMESPACE": 53, "classIdentifier": 54, "STYLE_SEPARATOR": 55, "members": 56, "CLASS": 57, "ANNOTATION_START": 58, "ANNOTATION_END": 59, "MEMBER": 60, "SEPARATOR": 61, "relation": 62, "NOTE_FOR": 63, "noteText": 64, "NOTE": 65, "relationType": 66, "lineType": 67, "AGGREGATION": 68, "EXTENSION": 69, "COMPOSITION": 70, "DEPENDENCY": 71, "LOLLIPOP": 72, "LINE": 73, "DOTTED_LINE": 74, "CALLBACK": 75, "LINK": 76, "LINK_TARGET": 77, "CLICK": 78, "CALLBACK_NAME": 79, "CALLBACK_ARGS": 80, "HREF": 81, "CSSCLASS": 82, "commentToken": 83, "textToken": 84, "graphCodeTokens": 85, "textNoTagsToken": 86, "TAGSTART": 87, "TAGEND": 88, "==": 89, "--": 90, "PCT": 91, "DEFAULT": 92, "SPACE": 93, "MINUS": 94, "keywords": 95, "UNICODE_TEXT": 96, "NUM": 97, "ALPHA": 98, "BQUOTE_STR": 99, "$accept": 0, "$end": 1 },
13 terminals_: { 2: "error", 8: "direction_tb", 9: "direction_bt", 10: "direction_rl", 11: "direction_lr", 16: "NEWLINE", 17: ":", 19: "open_directive", 20: "type_directive", 21: "arg_directive", 22: "close_directive", 23: "CLASS_DIAGRAM", 24: "EOF", 27: "SQS", 28: "STR", 29: "SQE", 34: "GENERICTYPE", 36: "LABEL", 44: "acc_title", 45: "acc_title_value", 46: "acc_descr", 47: "acc_descr_value", 48: "acc_descr_multiline_value", 50: "STRUCT_START", 52: "STRUCT_STOP", 53: "NAMESPACE", 55: "STYLE_SEPARATOR", 57: "CLASS", 58: "ANNOTATION_START", 59: "ANNOTATION_END", 60: "MEMBER", 61: "SEPARATOR", 63: "NOTE_FOR", 65: "NOTE", 68: "AGGREGATION", 69: "EXTENSION", 70: "COMPOSITION", 71: "DEPENDENCY", 72: "LOLLIPOP", 73: "LINE", 74: "DOTTED_LINE", 75: "CALLBACK", 76: "LINK", 77: "LINK_TARGET", 78: "CLICK", 79: "CALLBACK_NAME", 80: "CALLBACK_ARGS", 81: "HREF", 82: "CSSCLASS", 85: "graphCodeTokens", 87: "TAGSTART", 88: "TAGEND", 89: "==", 90: "--", 91: "PCT", 92: "DEFAULT", 93: "SPACE", 94: "MINUS", 95: "keywords", 96: "UNICODE_TEXT", 97: "NUM", 98: "ALPHA", 99: "BQUOTE_STR" },
14 productions_: [0, [3, 1], [3, 2], [3, 1], [7, 1], [7, 1], [7, 1], [7, 1], [4, 1], [5, 4], [5, 6], [13, 1], [14, 1], [18, 1], [15, 1], [12, 4], [6, 1], [6, 2], [6, 3], [26, 3], [30, 1], [30, 2], [32, 1], [32, 1], [32, 2], [32, 2], [32, 2], [25, 1], [25, 2], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 2], [25, 2], [25, 1], [37, 4], [37, 5], [49, 2], [51, 1], [51, 2], [51, 3], [38, 1], [38, 3], [38, 4], [38, 6], [54, 2], [54, 3], [40, 4], [56, 1], [56, 2], [39, 1], [39, 2], [39, 1], [39, 1], [35, 3], [35, 4], [35, 4], [35, 5], [43, 3], [43, 2], [62, 3], [62, 2], [62, 2], [62, 1], [66, 1], [66, 1], [66, 1], [66, 1], [66, 1], [67, 1], [67, 1], [41, 3], [41, 4], [41, 3], [41, 4], [41, 4], [41, 5], [41, 3], [41, 4], [41, 4], [41, 5], [41, 3], [41, 4], [41, 4], [41, 5], [42, 3], [83, 1], [83, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [84, 1], [86, 1], [86, 1], [86, 1], [86, 1], [31, 1], [31, 1], [31, 1], [31, 1], [33, 1], [64, 1]],
15 performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
16 var $0 = $$.length - 1;
17 switch (yystate) {
18 case 4:
19 yy.setDirection("TB");
20 break;
21 case 5:
22 yy.setDirection("BT");
23 break;
24 case 6:
25 yy.setDirection("RL");
26 break;
27 case 7:
28 yy.setDirection("LR");
29 break;
30 case 11:
31 yy.parseDirective("%%{", "open_directive");
32 break;
33 case 12:
34 yy.parseDirective($$[$0], "type_directive");
35 break;
36 case 13:
37 $$[$0] = $$[$0].trim().replace(/'/g, '"');
38 yy.parseDirective($$[$0], "arg_directive");
39 break;
40 case 14:
41 yy.parseDirective("}%%", "close_directive", "class");
42 break;
43 case 19:
44 this.$ = $$[$0 - 1];
45 break;
46 case 20:
47 case 22:
48 case 23:
49 this.$ = $$[$0];
50 break;
51 case 21:
52 case 24:
53 this.$ = $$[$0 - 1] + $$[$0];
54 break;
55 case 25:
56 case 26:
57 this.$ = $$[$0 - 1] + "~" + $$[$0] + "~";
58 break;
59 case 27:
60 yy.addRelation($$[$0]);
61 break;
62 case 28:
63 $$[$0 - 1].title = yy.cleanupLabel($$[$0]);
64 yy.addRelation($$[$0 - 1]);
65 break;
66 case 37:
67 this.$ = $$[$0].trim();
68 yy.setAccTitle(this.$);
69 break;
70 case 38:
71 case 39:
72 this.$ = $$[$0].trim();
73 yy.setAccDescription(this.$);
74 break;
75 case 40:
76 yy.addClassesToNamespace($$[$0 - 3], $$[$0 - 1]);
77 break;
78 case 41:
79 yy.addClassesToNamespace($$[$0 - 4], $$[$0 - 1]);
80 break;
81 case 42:
82 this.$ = $$[$0];
83 yy.addNamespace($$[$0]);
84 break;
85 case 43:
86 this.$ = [$$[$0]];
87 break;
88 case 44:
89 this.$ = [$$[$0 - 1]];
90 break;
91 case 45:
92 $$[$0].unshift($$[$0 - 2]);
93 this.$ = $$[$0];
94 break;
95 case 47:
96 yy.setCssClass($$[$0 - 2], $$[$0]);
97 break;
98 case 48:
99 yy.addMembers($$[$0 - 3], $$[$0 - 1]);
100 break;
101 case 49:
102 yy.setCssClass($$[$0 - 5], $$[$0 - 3]);
103 yy.addMembers($$[$0 - 5], $$[$0 - 1]);
104 break;
105 case 50:
106 this.$ = $$[$0];
107 yy.addClass($$[$0]);
108 break;
109 case 51:
110 this.$ = $$[$0 - 1];
111 yy.addClass($$[$0 - 1]);
112 yy.setClassLabel($$[$0 - 1], $$[$0]);
113 break;
114 case 52:
115 yy.addAnnotation($$[$0], $$[$0 - 2]);
116 break;
117 case 53:
118 this.$ = [$$[$0]];
119 break;
120 case 54:
121 $$[$0].push($$[$0 - 1]);
122 this.$ = $$[$0];
123 break;
124 case 55:
125 break;
126 case 56:
127 yy.addMember($$[$0 - 1], yy.cleanupLabel($$[$0]));
128 break;
129 case 57:
130 break;
131 case 58:
132 break;
133 case 59:
134 this.$ = { "id1": $$[$0 - 2], "id2": $$[$0], relation: $$[$0 - 1], relationTitle1: "none", relationTitle2: "none" };
135 break;
136 case 60:
137 this.$ = { id1: $$[$0 - 3], id2: $$[$0], relation: $$[$0 - 1], relationTitle1: $$[$0 - 2], relationTitle2: "none" };
138 break;
139 case 61:
140 this.$ = { id1: $$[$0 - 3], id2: $$[$0], relation: $$[$0 - 2], relationTitle1: "none", relationTitle2: $$[$0 - 1] };
141 break;
142 case 62:
143 this.$ = { id1: $$[$0 - 4], id2: $$[$0], relation: $$[$0 - 2], relationTitle1: $$[$0 - 3], relationTitle2: $$[$0 - 1] };
144 break;
145 case 63:
146 yy.addNote($$[$0], $$[$0 - 1]);
147 break;
148 case 64:
149 yy.addNote($$[$0]);
150 break;
151 case 65:
152 this.$ = { type1: $$[$0 - 2], type2: $$[$0], lineType: $$[$0 - 1] };
153 break;
154 case 66:
155 this.$ = { type1: "none", type2: $$[$0], lineType: $$[$0 - 1] };
156 break;
157 case 67:
158 this.$ = { type1: $$[$0 - 1], type2: "none", lineType: $$[$0] };
159 break;
160 case 68:
161 this.$ = { type1: "none", type2: "none", lineType: $$[$0] };
162 break;
163 case 69:
164 this.$ = yy.relationType.AGGREGATION;
165 break;
166 case 70:
167 this.$ = yy.relationType.EXTENSION;
168 break;
169 case 71:
170 this.$ = yy.relationType.COMPOSITION;
171 break;
172 case 72:
173 this.$ = yy.relationType.DEPENDENCY;
174 break;
175 case 73:
176 this.$ = yy.relationType.LOLLIPOP;
177 break;
178 case 74:
179 this.$ = yy.lineType.LINE;
180 break;
181 case 75:
182 this.$ = yy.lineType.DOTTED_LINE;
183 break;
184 case 76:
185 case 82:
186 this.$ = $$[$0 - 2];
187 yy.setClickEvent($$[$0 - 1], $$[$0]);
188 break;
189 case 77:
190 case 83:
191 this.$ = $$[$0 - 3];
192 yy.setClickEvent($$[$0 - 2], $$[$0 - 1]);
193 yy.setTooltip($$[$0 - 2], $$[$0]);
194 break;
195 case 78:
196 case 86:
197 this.$ = $$[$0 - 2];
198 yy.setLink($$[$0 - 1], $$[$0]);
199 break;
200 case 79:
201 this.$ = $$[$0 - 3];
202 yy.setLink($$[$0 - 2], $$[$0 - 1], $$[$0]);
203 break;
204 case 80:
205 case 88:
206 this.$ = $$[$0 - 3];
207 yy.setLink($$[$0 - 2], $$[$0 - 1]);
208 yy.setTooltip($$[$0 - 2], $$[$0]);
209 break;
210 case 81:
211 case 89:
212 this.$ = $$[$0 - 4];
213 yy.setLink($$[$0 - 3], $$[$0 - 2], $$[$0]);
214 yy.setTooltip($$[$0 - 3], $$[$0 - 1]);
215 break;
216 case 84:
217 this.$ = $$[$0 - 3];
218 yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);
219 break;
220 case 85:
221 this.$ = $$[$0 - 4];
222 yy.setClickEvent($$[$0 - 3], $$[$0 - 2], $$[$0 - 1]);
223 yy.setTooltip($$[$0 - 3], $$[$0]);
224 break;
225 case 87:
226 this.$ = $$[$0 - 3];
227 yy.setLink($$[$0 - 2], $$[$0 - 1], $$[$0]);
228 break;
229 case 90:
230 yy.setCssClass($$[$0 - 1], $$[$0]);
231 break;
232 }
233 },
234 table: [{ 3: 1, 4: 2, 5: 3, 6: 4, 7: 18, 8: $V0, 9: $V1, 10: $V2, 11: $V3, 12: 5, 13: 6, 19: $V4, 23: $V5, 25: 7, 31: 38, 32: 22, 33: 39, 35: 10, 37: 11, 38: 12, 39: 13, 40: 14, 41: 15, 42: 16, 43: 17, 44: $V6, 46: $V7, 48: $V8, 49: 23, 53: $V9, 54: 24, 57: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 63: $Ve, 65: $Vf, 75: $Vg, 76: $Vh, 78: $Vi, 82: $Vj, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, { 1: [3] }, { 1: [2, 1] }, { 3: 47, 4: 2, 5: 3, 6: 4, 7: 18, 8: $V0, 9: $V1, 10: $V2, 11: $V3, 12: 5, 13: 6, 19: $V4, 23: $V5, 25: 7, 31: 38, 32: 22, 33: 39, 35: 10, 37: 11, 38: 12, 39: 13, 40: 14, 41: 15, 42: 16, 43: 17, 44: $V6, 46: $V7, 48: $V8, 49: 23, 53: $V9, 54: 24, 57: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 63: $Ve, 65: $Vf, 75: $Vg, 76: $Vh, 78: $Vi, 82: $Vj, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, { 1: [2, 3] }, { 1: [2, 8] }, { 14: 48, 20: [1, 49] }, o($Vp, [2, 16], { 16: [1, 50] }), { 16: [1, 51] }, { 20: [2, 11] }, o($Vq, [2, 27], { 36: [1, 52] }), o($Vq, [2, 29]), o($Vq, [2, 30]), o($Vq, [2, 31]), o($Vq, [2, 32]), o($Vq, [2, 33]), o($Vq, [2, 34]), o($Vq, [2, 35]), o($Vq, [2, 36]), { 45: [1, 53] }, { 47: [1, 54] }, o($Vq, [2, 39]), o($Vq, [2, 55], { 62: 55, 66: 58, 67: 59, 28: [1, 56], 36: [1, 57], 68: $Vr, 69: $Vs, 70: $Vt, 71: $Vu, 72: $Vv, 73: $Vw, 74: $Vx }), { 50: [1, 67] }, o($Vy, [2, 46], { 50: [1, 69], 55: [1, 68] }), o($Vq, [2, 57]), o($Vq, [2, 58]), { 31: 70, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn }, { 31: 38, 32: 71, 33: 39, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, { 31: 38, 32: 72, 33: 39, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, { 31: 38, 32: 73, 33: 39, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, { 28: [1, 74] }, { 31: 38, 32: 75, 33: 39, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, { 28: $Vz, 64: 76 }, o($Vq, [2, 4]), o($Vq, [2, 5]), o($Vq, [2, 6]), o($Vq, [2, 7]), o($VA, [2, 22], { 31: 38, 33: 39, 32: 78, 34: [1, 79], 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }), o($VA, [2, 23], { 34: [1, 80] }), { 30: 81, 31: 82, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn }, { 31: 38, 32: 83, 33: 39, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, o($VB, [2, 104]), o($VB, [2, 105]), o($VB, [2, 106]), o($VB, [2, 107]), o([1, 16, 24, 27, 28, 34, 36, 50, 52, 55, 68, 69, 70, 71, 72, 73, 74, 79, 81], [2, 108]), { 1: [2, 2] }, { 15: 84, 17: [1, 85], 22: $VC }, o([17, 22], [2, 12]), o($Vp, [2, 17], { 25: 7, 35: 10, 37: 11, 38: 12, 39: 13, 40: 14, 41: 15, 42: 16, 43: 17, 7: 18, 32: 22, 49: 23, 54: 24, 31: 38, 33: 39, 6: 87, 8: $V0, 9: $V1, 10: $V2, 11: $V3, 44: $V6, 46: $V7, 48: $V8, 53: $V9, 57: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 63: $Ve, 65: $Vf, 75: $Vg, 76: $Vh, 78: $Vi, 82: $Vj, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }), { 6: 88, 7: 18, 8: $V0, 9: $V1, 10: $V2, 11: $V3, 25: 7, 31: 38, 32: 22, 33: 39, 35: 10, 37: 11, 38: 12, 39: 13, 40: 14, 41: 15, 42: 16, 43: 17, 44: $V6, 46: $V7, 48: $V8, 49: 23, 53: $V9, 54: 24, 57: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 63: $Ve, 65: $Vf, 75: $Vg, 76: $Vh, 78: $Vi, 82: $Vj, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, o($Vq, [2, 28]), o($Vq, [2, 37]), o($Vq, [2, 38]), { 28: [1, 90], 31: 38, 32: 89, 33: 39, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, { 62: 91, 66: 58, 67: 59, 68: $Vr, 69: $Vs, 70: $Vt, 71: $Vu, 72: $Vv, 73: $Vw, 74: $Vx }, o($Vq, [2, 56]), { 67: 92, 73: $Vw, 74: $Vx }, o($VD, [2, 68], { 66: 93, 68: $Vr, 69: $Vs, 70: $Vt, 71: $Vu, 72: $Vv }), o($VE, [2, 69]), o($VE, [2, 70]), o($VE, [2, 71]), o($VE, [2, 72]), o($VE, [2, 73]), o($VF, [2, 74]), o($VF, [2, 75]), { 16: [1, 95], 38: 96, 51: 94, 54: 24, 57: $Va }, { 31: 97, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn }, { 56: 98, 60: $VG }, { 59: [1, 100] }, { 28: [1, 101] }, { 28: [1, 102] }, { 79: [1, 103], 81: [1, 104] }, { 31: 105, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn }, { 28: $Vz, 64: 106 }, o($Vq, [2, 64]), o($Vq, [2, 109]), o($VA, [2, 24]), o($VA, [2, 25]), o($VA, [2, 26]), { 50: [2, 42] }, { 30: 107, 31: 82, 50: [2, 20], 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn }, o($VH, [2, 50], { 26: 108, 27: [1, 109] }), { 16: [1, 110] }, { 18: 111, 21: [1, 112] }, { 16: [2, 14] }, o($Vp, [2, 18]), { 24: [1, 113] }, o($VI, [2, 59]), { 31: 38, 32: 114, 33: 39, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, { 28: [1, 116], 31: 38, 32: 115, 33: 39, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, o($VD, [2, 67], { 66: 117, 68: $Vr, 69: $Vs, 70: $Vt, 71: $Vu, 72: $Vv }), o($VD, [2, 66]), { 52: [1, 118] }, { 38: 96, 51: 119, 54: 24, 57: $Va }, { 16: [1, 120], 52: [2, 43] }, o($Vy, [2, 47], { 50: [1, 121] }), { 52: [1, 122] }, { 52: [2, 53], 56: 123, 60: $VG }, { 31: 38, 32: 124, 33: 39, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, o($Vq, [2, 76], { 28: [1, 125] }), o($Vq, [2, 78], { 28: [1, 127], 77: [1, 126] }), o($Vq, [2, 82], { 28: [1, 128], 80: [1, 129] }), o($Vq, [2, 86], { 28: [1, 131], 77: [1, 130] }), o($Vq, [2, 90]), o($Vq, [2, 63]), { 50: [2, 21] }, o($VH, [2, 51]), { 28: [1, 132] }, o($VJ, [2, 9]), { 15: 133, 22: $VC }, { 22: [2, 13] }, { 1: [2, 15] }, o($VI, [2, 61]), o($VI, [2, 60]), { 31: 38, 32: 134, 33: 39, 94: $Vk, 96: $Vl, 97: $Vm, 98: $Vn, 99: $Vo }, o($VD, [2, 65]), o($Vq, [2, 40]), { 52: [1, 135] }, { 38: 96, 51: 136, 52: [2, 44], 54: 24, 57: $Va }, { 56: 137, 60: $VG }, o($Vy, [2, 48]), { 52: [2, 54] }, o($Vq, [2, 52]), o($Vq, [2, 77]), o($Vq, [2, 79]), o($Vq, [2, 80], { 77: [1, 138] }), o($Vq, [2, 83]), o($Vq, [2, 84], { 28: [1, 139] }), o($Vq, [2, 87]), o($Vq, [2, 88], { 77: [1, 140] }), { 29: [1, 141] }, { 16: [1, 142] }, o($VI, [2, 62]), o($Vq, [2, 41]), { 52: [2, 45] }, { 52: [1, 143] }, o($Vq, [2, 81]), o($Vq, [2, 85]), o($Vq, [2, 89]), o($VH, [2, 19]), o($VJ, [2, 10]), o($Vy, [2, 49])],
235 defaultActions: { 2: [2, 1], 4: [2, 3], 5: [2, 8], 9: [2, 11], 47: [2, 2], 81: [2, 42], 86: [2, 14], 107: [2, 21], 112: [2, 13], 113: [2, 15], 123: [2, 54], 136: [2, 45] },
236 parseError: function parseError(str, hash) {
237 if (hash.recoverable) {
238 this.trace(str);
239 } else {
240 var error = new Error(str);
241 error.hash = hash;
242 throw error;
243 }
244 },
245 parse: function parse(input) {
246 var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;
247 var args = lstack.slice.call(arguments, 1);
248 var lexer2 = Object.create(this.lexer);
249 var sharedState = { yy: {} };
250 for (var k in this.yy) {
251 if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
252 sharedState.yy[k] = this.yy[k];
253 }
254 }
255 lexer2.setInput(input, sharedState.yy);
256 sharedState.yy.lexer = lexer2;
257 sharedState.yy.parser = this;
258 if (typeof lexer2.yylloc == "undefined") {
259 lexer2.yylloc = {};
260 }
261 var yyloc = lexer2.yylloc;
262 lstack.push(yyloc);
263 var ranges = lexer2.options && lexer2.options.ranges;
264 if (typeof sharedState.yy.parseError === "function") {
265 this.parseError = sharedState.yy.parseError;
266 } else {
267 this.parseError = Object.getPrototypeOf(this).parseError;
268 }
269 function lex() {
270 var token;
271 token = tstack.pop() || lexer2.lex() || EOF;
272 if (typeof token !== "number") {
273 if (token instanceof Array) {
274 tstack = token;
275 token = tstack.pop();
276 }
277 token = self.symbols_[token] || token;
278 }
279 return token;
280 }
281 var symbol, state, action, r, yyval = {}, p, len, newState, expected;
282 while (true) {
283 state = stack[stack.length - 1];
284 if (this.defaultActions[state]) {
285 action = this.defaultActions[state];
286 } else {
287 if (symbol === null || typeof symbol == "undefined") {
288 symbol = lex();
289 }
290 action = table[state] && table[state][symbol];
291 }
292 if (typeof action === "undefined" || !action.length || !action[0]) {
293 var errStr = "";
294 expected = [];
295 for (p in table[state]) {
296 if (this.terminals_[p] && p > TERROR) {
297 expected.push("'" + this.terminals_[p] + "'");
298 }
299 }
300 if (lexer2.showPosition) {
301 errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
302 } else {
303 errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
304 }
305 this.parseError(errStr, {
306 text: lexer2.match,
307 token: this.terminals_[symbol] || symbol,
308 line: lexer2.yylineno,
309 loc: yyloc,
310 expected
311 });
312 }
313 if (action[0] instanceof Array && action.length > 1) {
314 throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
315 }
316 switch (action[0]) {
317 case 1:
318 stack.push(symbol);
319 vstack.push(lexer2.yytext);
320 lstack.push(lexer2.yylloc);
321 stack.push(action[1]);
322 symbol = null;
323 {
324 yyleng = lexer2.yyleng;
325 yytext = lexer2.yytext;
326 yylineno = lexer2.yylineno;
327 yyloc = lexer2.yylloc;
328 }
329 break;
330 case 2:
331 len = this.productions_[action[1]][1];
332 yyval.$ = vstack[vstack.length - len];
333 yyval._$ = {
334 first_line: lstack[lstack.length - (len || 1)].first_line,
335 last_line: lstack[lstack.length - 1].last_line,
336 first_column: lstack[lstack.length - (len || 1)].first_column,
337 last_column: lstack[lstack.length - 1].last_column
338 };
339 if (ranges) {
340 yyval._$.range = [
341 lstack[lstack.length - (len || 1)].range[0],
342 lstack[lstack.length - 1].range[1]
343 ];
344 }
345 r = this.performAction.apply(yyval, [
346 yytext,
347 yyleng,
348 yylineno,
349 sharedState.yy,
350 action[1],
351 vstack,
352 lstack
353 ].concat(args));
354 if (typeof r !== "undefined") {
355 return r;
356 }
357 if (len) {
358 stack = stack.slice(0, -1 * len * 2);
359 vstack = vstack.slice(0, -1 * len);
360 lstack = lstack.slice(0, -1 * len);
361 }
362 stack.push(this.productions_[action[1]][0]);
363 vstack.push(yyval.$);
364 lstack.push(yyval._$);
365 newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
366 stack.push(newState);
367 break;
368 case 3:
369 return true;
370 }
371 }
372 return true;
373 }
374 };
375 var lexer = function() {
376 var lexer2 = {
377 EOF: 1,
378 parseError: function parseError(str, hash) {
379 if (this.yy.parser) {
380 this.yy.parser.parseError(str, hash);
381 } else {
382 throw new Error(str);
383 }
384 },
385 // resets the lexer, sets new input
386 setInput: function(input, yy) {
387 this.yy = yy || this.yy || {};
388 this._input = input;
389 this._more = this._backtrack = this.done = false;
390 this.yylineno = this.yyleng = 0;
391 this.yytext = this.matched = this.match = "";
392 this.conditionStack = ["INITIAL"];
393 this.yylloc = {
394 first_line: 1,
395 first_column: 0,
396 last_line: 1,
397 last_column: 0
398 };
399 if (this.options.ranges) {
400 this.yylloc.range = [0, 0];
401 }
402 this.offset = 0;
403 return this;
404 },
405 // consumes and returns one char from the input
406 input: function() {
407 var ch = this._input[0];
408 this.yytext += ch;
409 this.yyleng++;
410 this.offset++;
411 this.match += ch;
412 this.matched += ch;
413 var lines = ch.match(/(?:\r\n?|\n).*/g);
414 if (lines) {
415 this.yylineno++;
416 this.yylloc.last_line++;
417 } else {
418 this.yylloc.last_column++;
419 }
420 if (this.options.ranges) {
421 this.yylloc.range[1]++;
422 }
423 this._input = this._input.slice(1);
424 return ch;
425 },
426 // unshifts one char (or a string) into the input
427 unput: function(ch) {
428 var len = ch.length;
429 var lines = ch.split(/(?:\r\n?|\n)/g);
430 this._input = ch + this._input;
431 this.yytext = this.yytext.substr(0, this.yytext.length - len);
432 this.offset -= len;
433 var oldLines = this.match.split(/(?:\r\n?|\n)/g);
434 this.match = this.match.substr(0, this.match.length - 1);
435 this.matched = this.matched.substr(0, this.matched.length - 1);
436 if (lines.length - 1) {
437 this.yylineno -= lines.length - 1;
438 }
439 var r = this.yylloc.range;
440 this.yylloc = {
441 first_line: this.yylloc.first_line,
442 last_line: this.yylineno + 1,
443 first_column: this.yylloc.first_column,
444 last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
445 };
446 if (this.options.ranges) {
447 this.yylloc.range = [r[0], r[0] + this.yyleng - len];
448 }
449 this.yyleng = this.yytext.length;
450 return this;
451 },
452 // When called from action, caches matched text and appends it on next action
453 more: function() {
454 this._more = true;
455 return this;
456 },
457 // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
458 reject: function() {
459 if (this.options.backtrack_lexer) {
460 this._backtrack = true;
461 } else {
462 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(), {
463 text: "",
464 token: null,
465 line: this.yylineno
466 });
467 }
468 return this;
469 },
470 // retain first n characters of the match
471 less: function(n) {
472 this.unput(this.match.slice(n));
473 },
474 // displays already matched input, i.e. for error messages
475 pastInput: function() {
476 var past = this.matched.substr(0, this.matched.length - this.match.length);
477 return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
478 },
479 // displays upcoming input, i.e. for error messages
480 upcomingInput: function() {
481 var next = this.match;
482 if (next.length < 20) {
483 next += this._input.substr(0, 20 - next.length);
484 }
485 return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
486 },
487 // displays the character position where the lexing error occurred, i.e. for error messages
488 showPosition: function() {
489 var pre = this.pastInput();
490 var c = new Array(pre.length + 1).join("-");
491 return pre + this.upcomingInput() + "\n" + c + "^";
492 },
493 // test the lexed token: return FALSE when not a match, otherwise return token
494 test_match: function(match, indexed_rule) {
495 var token, lines, backup;
496 if (this.options.backtrack_lexer) {
497 backup = {
498 yylineno: this.yylineno,
499 yylloc: {
500 first_line: this.yylloc.first_line,
501 last_line: this.last_line,
502 first_column: this.yylloc.first_column,
503 last_column: this.yylloc.last_column
504 },
505 yytext: this.yytext,
506 match: this.match,
507 matches: this.matches,
508 matched: this.matched,
509 yyleng: this.yyleng,
510 offset: this.offset,
511 _more: this._more,
512 _input: this._input,
513 yy: this.yy,
514 conditionStack: this.conditionStack.slice(0),
515 done: this.done
516 };
517 if (this.options.ranges) {
518 backup.yylloc.range = this.yylloc.range.slice(0);
519 }
520 }
521 lines = match[0].match(/(?:\r\n?|\n).*/g);
522 if (lines) {
523 this.yylineno += lines.length;
524 }
525 this.yylloc = {
526 first_line: this.yylloc.last_line,
527 last_line: this.yylineno + 1,
528 first_column: this.yylloc.last_column,
529 last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
530 };
531 this.yytext += match[0];
532 this.match += match[0];
533 this.matches = match;
534 this.yyleng = this.yytext.length;
535 if (this.options.ranges) {
536 this.yylloc.range = [this.offset, this.offset += this.yyleng];
537 }
538 this._more = false;
539 this._backtrack = false;
540 this._input = this._input.slice(match[0].length);
541 this.matched += match[0];
542 token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
543 if (this.done && this._input) {
544 this.done = false;
545 }
546 if (token) {
547 return token;
548 } else if (this._backtrack) {
549 for (var k in backup) {
550 this[k] = backup[k];
551 }
552 return false;
553 }
554 return false;
555 },
556 // return next match in input
557 next: function() {
558 if (this.done) {
559 return this.EOF;
560 }
561 if (!this._input) {
562 this.done = true;
563 }
564 var token, match, tempMatch, index;
565 if (!this._more) {
566 this.yytext = "";
567 this.match = "";
568 }
569 var rules = this._currentRules();
570 for (var i = 0; i < rules.length; i++) {
571 tempMatch = this._input.match(this.rules[rules[i]]);
572 if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
573 match = tempMatch;
574 index = i;
575 if (this.options.backtrack_lexer) {
576 token = this.test_match(tempMatch, rules[i]);
577 if (token !== false) {
578 return token;
579 } else if (this._backtrack) {
580 match = false;
581 continue;
582 } else {
583 return false;
584 }
585 } else if (!this.options.flex) {
586 break;
587 }
588 }
589 }
590 if (match) {
591 token = this.test_match(match, rules[index]);
592 if (token !== false) {
593 return token;
594 }
595 return false;
596 }
597 if (this._input === "") {
598 return this.EOF;
599 } else {
600 return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
601 text: "",
602 token: null,
603 line: this.yylineno
604 });
605 }
606 },
607 // return next match that has a token
608 lex: function lex() {
609 var r = this.next();
610 if (r) {
611 return r;
612 } else {
613 return this.lex();
614 }
615 },
616 // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
617 begin: function begin(condition) {
618 this.conditionStack.push(condition);
619 },
620 // pop the previously active lexer condition state off the condition stack
621 popState: function popState() {
622 var n = this.conditionStack.length - 1;
623 if (n > 0) {
624 return this.conditionStack.pop();
625 } else {
626 return this.conditionStack[0];
627 }
628 },
629 // produce the lexer rule set which is active for the currently active lexer condition state
630 _currentRules: function _currentRules() {
631 if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
632 return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
633 } else {
634 return this.conditions["INITIAL"].rules;
635 }
636 },
637 // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
638 topState: function topState(n) {
639 n = this.conditionStack.length - 1 - Math.abs(n || 0);
640 if (n >= 0) {
641 return this.conditionStack[n];
642 } else {
643 return "INITIAL";
644 }
645 },
646 // alias for begin(condition)
647 pushState: function pushState(condition) {
648 this.begin(condition);
649 },
650 // return the number of states currently on the stack
651 stateStackSize: function stateStackSize() {
652 return this.conditionStack.length;
653 },
654 options: {},
655 performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
656 switch ($avoiding_name_collisions) {
657 case 0:
658 this.begin("open_directive");
659 return 19;
660 case 1:
661 return 8;
662 case 2:
663 return 9;
664 case 3:
665 return 10;
666 case 4:
667 return 11;
668 case 5:
669 this.begin("type_directive");
670 return 20;
671 case 6:
672 this.popState();
673 this.begin("arg_directive");
674 return 17;
675 case 7:
676 this.popState();
677 this.popState();
678 return 22;
679 case 8:
680 return 21;
681 case 9:
682 break;
683 case 10:
684 break;
685 case 11:
686 this.begin("acc_title");
687 return 44;
688 case 12:
689 this.popState();
690 return "acc_title_value";
691 case 13:
692 this.begin("acc_descr");
693 return 46;
694 case 14:
695 this.popState();
696 return "acc_descr_value";
697 case 15:
698 this.begin("acc_descr_multiline");
699 break;
700 case 16:
701 this.popState();
702 break;
703 case 17:
704 return "acc_descr_multiline_value";
705 case 18:
706 return 16;
707 case 19:
708 break;
709 case 20:
710 return 23;
711 case 21:
712 return 23;
713 case 22:
714 return "EDGE_STATE";
715 case 23:
716 this.begin("namespace");
717 return 53;
718 case 24:
719 this.popState();
720 return 16;
721 case 25:
722 break;
723 case 26:
724 this.begin("namespace-body");
725 return 50;
726 case 27:
727 this.popState();
728 return 52;
729 case 28:
730 return "EOF_IN_STRUCT";
731 case 29:
732 return 16;
733 case 30:
734 break;
735 case 31:
736 return "EDGE_STATE";
737 case 32:
738 this.begin("class");
739 return 57;
740 case 33:
741 this.popState();
742 return 16;
743 case 34:
744 break;
745 case 35:
746 this.popState();
747 this.popState();
748 return 52;
749 case 36:
750 this.begin("class-body");
751 return 50;
752 case 37:
753 this.popState();
754 return 52;
755 case 38:
756 return "EOF_IN_STRUCT";
757 case 39:
758 return "EDGE_STATE";
759 case 40:
760 return "OPEN_IN_STRUCT";
761 case 41:
762 break;
763 case 42:
764 return "MEMBER";
765 case 43:
766 return 82;
767 case 44:
768 return 75;
769 case 45:
770 return 76;
771 case 46:
772 return 78;
773 case 47:
774 return 63;
775 case 48:
776 return 65;
777 case 49:
778 return 58;
779 case 50:
780 return 59;
781 case 51:
782 this.begin("href");
783 break;
784 case 52:
785 this.popState();
786 break;
787 case 53:
788 return 81;
789 case 54:
790 this.begin("callback_name");
791 break;
792 case 55:
793 this.popState();
794 break;
795 case 56:
796 this.popState();
797 this.begin("callback_args");
798 break;
799 case 57:
800 return 79;
801 case 58:
802 this.popState();
803 break;
804 case 59:
805 return 80;
806 case 60:
807 this.popState();
808 break;
809 case 61:
810 return "GENERICTYPE";
811 case 62:
812 this.begin("generic");
813 break;
814 case 63:
815 this.popState();
816 break;
817 case 64:
818 return "STR";
819 case 65:
820 this.begin("string");
821 break;
822 case 66:
823 this.popState();
824 break;
825 case 67:
826 return "BQUOTE_STR";
827 case 68:
828 this.begin("bqstring");
829 break;
830 case 69:
831 return 77;
832 case 70:
833 return 77;
834 case 71:
835 return 77;
836 case 72:
837 return 77;
838 case 73:
839 return 69;
840 case 74:
841 return 69;
842 case 75:
843 return 71;
844 case 76:
845 return 71;
846 case 77:
847 return 70;
848 case 78:
849 return 68;
850 case 79:
851 return 72;
852 case 80:
853 return 73;
854 case 81:
855 return 74;
856 case 82:
857 return 36;
858 case 83:
859 return 55;
860 case 84:
861 return 94;
862 case 85:
863 return "DOT";
864 case 86:
865 return "PLUS";
866 case 87:
867 return 91;
868 case 88:
869 return "EQUALS";
870 case 89:
871 return "EQUALS";
872 case 90:
873 return 98;
874 case 91:
875 return 27;
876 case 92:
877 return 29;
878 case 93:
879 return "PUNCTUATION";
880 case 94:
881 return 97;
882 case 95:
883 return 96;
884 case 96:
885 return 93;
886 case 97:
887 return 24;
888 }
889 },
890 rules: [/^(?:%%\{)/, /^(?:.*direction\s+TB[^\n]*)/, /^(?:.*direction\s+BT[^\n]*)/, /^(?:.*direction\s+RL[^\n]*)/, /^(?:.*direction\s+LR[^\n]*)/, /^(?:((?:(?!\}%%)[^:.])*))/, /^(?::)/, /^(?:\}%%)/, /^(?:((?:(?!\}%%).|\n)*))/, /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, /^(?:%%[^\n]*(\r?\n)*)/, /^(?:accTitle\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*\{\s*)/, /^(?:[\}])/, /^(?:[^\}]*)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:classDiagram-v2\b)/, /^(?:classDiagram\b)/, /^(?:\[\*\])/, /^(?:namespace\b)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:\[\*\])/, /^(?:class\b)/, /^(?:\s*(\r?\n)+)/, /^(?:\s+)/, /^(?:[}])/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\[\*\])/, /^(?:[{])/, /^(?:[\n])/, /^(?:[^{}\n]*)/, /^(?:cssClass\b)/, /^(?:callback\b)/, /^(?:link\b)/, /^(?:click\b)/, /^(?:note for\b)/, /^(?:note\b)/, /^(?:<<)/, /^(?:>>)/, /^(?:href[\s]+["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:call[\s]+)/, /^(?:\([\s]*\))/, /^(?:\()/, /^(?:[^(]*)/, /^(?:\))/, /^(?:[^)]*)/, /^(?:[~])/, /^(?:[^~]*)/, /^(?:[~])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:["])/, /^(?:[`])/, /^(?:[^`]+)/, /^(?:[`])/, /^(?:_self\b)/, /^(?:_blank\b)/, /^(?:_parent\b)/, /^(?:_top\b)/, /^(?:\s*<\|)/, /^(?:\s*\|>)/, /^(?:\s*>)/, /^(?:\s*<)/, /^(?:\s*\*)/, /^(?:\s*o\b)/, /^(?:\s*\(\))/, /^(?:--)/, /^(?:\.\.)/, /^(?::{1}[^:\n;]+)/, /^(?::{3})/, /^(?:-)/, /^(?:\.)/, /^(?:\+)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:\w+)/, /^(?:\[)/, /^(?:\])/, /^(?:[!"#$%&'*+,-.`?\\/])/, /^(?:[0-9]+)/, /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, /^(?:\s)/, /^(?:$)/],
891 conditions: { "namespace-body": { "rules": [27, 28, 29, 30, 31, 32, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "namespace": { "rules": [23, 24, 25, 26, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "class-body": { "rules": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "class": { "rules": [33, 34, 35, 36, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "acc_descr_multiline": { "rules": [16, 17, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "acc_descr": { "rules": [14, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "acc_title": { "rules": [12, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "arg_directive": { "rules": [7, 8, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "type_directive": { "rules": [6, 7, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "open_directive": { "rules": [5, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "callback_args": { "rules": [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 58, 59, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "callback_name": { "rules": [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "href": { "rules": [43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "struct": { "rules": [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "generic": { "rules": [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 60, 61, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "bqstring": { "rules": [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "string": { "rules": [43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 63, 64, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": false }, "INITIAL": { "rules": [0, 1, 2, 3, 4, 9, 10, 11, 13, 15, 18, 19, 20, 21, 22, 23, 32, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "inclusive": true } }
892 };
893 return lexer2;
894 }();
895 parser2.lexer = lexer;
896 function Parser() {
897 this.yy = {};
898 }
899 Parser.prototype = parser2;
900 parser2.Parser = Parser;
901 return new Parser();
902}();
903parser.parser = parser;
904const parser$1 = parser;
905const MERMAID_DOM_ID_PREFIX = "classId-";
906let relations = [];
907let classes = {};
908let notes = [];
909let classCounter = 0;
910let namespaces = {};
911let namespaceCounter = 0;
912let functions = [];
913const sanitizeText = (txt) => common.sanitizeText(txt, getConfig());
914const parseDirective = function(statement, context, type) {
915 mermaidAPI.parseDirective(this, statement, context, type);
916};
917const splitClassNameAndType = function(id) {
918 let genericType = "";
919 let className = id;
920 if (id.indexOf("~") > 0) {
921 const split = id.split("~");
922 className = sanitizeText(split[0]);
923 genericType = sanitizeText(split[1]);
924 }
925 return { className, type: genericType };
926};
927const setClassLabel = function(id, label) {
928 if (label) {
929 label = sanitizeText(label);
930 }
931 const { className } = splitClassNameAndType(id);
932 classes[className].label = label;
933};
934const addClass = function(id) {
935 const classId = splitClassNameAndType(id);
936 if (classes[classId.className] !== void 0) {
937 return;
938 }
939 classes[classId.className] = {
940 id: classId.className,
941 type: classId.type,
942 label: classId.className,
943 cssClasses: [],
944 methods: [],
945 members: [],
946 annotations: [],
947 domId: MERMAID_DOM_ID_PREFIX + classId.className + "-" + classCounter
948 };
949 classCounter++;
950};
951const lookUpDomId = function(id) {
952 if (id in classes) {
953 return classes[id].domId;
954 }
955 throw new Error("Class not found: " + id);
956};
957const clear = function() {
958 relations = [];
959 classes = {};
960 notes = [];
961 functions = [];
962 functions.push(setupToolTips);
963 namespaces = {};
964 namespaceCounter = 0;
965 clear$1();
966};
967const getClass = function(id) {
968 return classes[id];
969};
970const getClasses = function() {
971 return classes;
972};
973const getRelations = function() {
974 return relations;
975};
976const getNotes = function() {
977 return notes;
978};
979const addRelation = function(relation) {
980 log.debug("Adding relation: " + JSON.stringify(relation));
981 addClass(relation.id1);
982 addClass(relation.id2);
983 relation.id1 = splitClassNameAndType(relation.id1).className;
984 relation.id2 = splitClassNameAndType(relation.id2).className;
985 relation.relationTitle1 = common.sanitizeText(
986 relation.relationTitle1.trim(),
987 getConfig()
988 );
989 relation.relationTitle2 = common.sanitizeText(
990 relation.relationTitle2.trim(),
991 getConfig()
992 );
993 relations.push(relation);
994};
995const addAnnotation = function(className, annotation) {
996 const validatedClassName = splitClassNameAndType(className).className;
997 classes[validatedClassName].annotations.push(annotation);
998};
999const addMember = function(className, member) {
1000 const validatedClassName = splitClassNameAndType(className).className;
1001 const theClass = classes[validatedClassName];
1002 if (typeof member === "string") {
1003 const memberString = member.trim();
1004 if (memberString.startsWith("<<") && memberString.endsWith(">>")) {
1005 theClass.annotations.push(sanitizeText(memberString.substring(2, memberString.length - 2)));
1006 } else if (memberString.indexOf(")") > 0) {
1007 theClass.methods.push(sanitizeText(memberString));
1008 } else if (memberString) {
1009 theClass.members.push(sanitizeText(memberString));
1010 }
1011 }
1012};
1013const addMembers = function(className, members) {
1014 if (Array.isArray(members)) {
1015 members.reverse();
1016 members.forEach((member) => addMember(className, member));
1017 }
1018};
1019const addNote = function(text, className) {
1020 const note = {
1021 id: `note${notes.length}`,
1022 class: className,
1023 text
1024 };
1025 notes.push(note);
1026};
1027const cleanupLabel = function(label) {
1028 if (label.startsWith(":")) {
1029 label = label.substring(1);
1030 }
1031 return sanitizeText(label.trim());
1032};
1033const setCssClass = function(ids, className) {
1034 ids.split(",").forEach(function(_id) {
1035 let id = _id;
1036 if (_id[0].match(/\d/)) {
1037 id = MERMAID_DOM_ID_PREFIX + id;
1038 }
1039 if (classes[id] !== void 0) {
1040 classes[id].cssClasses.push(className);
1041 }
1042 });
1043};
1044const setTooltip = function(ids, tooltip) {
1045 ids.split(",").forEach(function(id) {
1046 if (tooltip !== void 0) {
1047 classes[id].tooltip = sanitizeText(tooltip);
1048 }
1049 });
1050};
1051const getTooltip = function(id, namespace) {
1052 if (namespace) {
1053 return namespaces[namespace].classes[id].tooltip;
1054 }
1055 return classes[id].tooltip;
1056};
1057const setLink = function(ids, linkStr, target) {
1058 const config = getConfig();
1059 ids.split(",").forEach(function(_id) {
1060 let id = _id;
1061 if (_id[0].match(/\d/)) {
1062 id = MERMAID_DOM_ID_PREFIX + id;
1063 }
1064 if (classes[id] !== void 0) {
1065 classes[id].link = utils.formatUrl(linkStr, config);
1066 if (config.securityLevel === "sandbox") {
1067 classes[id].linkTarget = "_top";
1068 } else if (typeof target === "string") {
1069 classes[id].linkTarget = sanitizeText(target);
1070 } else {
1071 classes[id].linkTarget = "_blank";
1072 }
1073 }
1074 });
1075 setCssClass(ids, "clickable");
1076};
1077const setClickEvent = function(ids, functionName, functionArgs) {
1078 ids.split(",").forEach(function(id) {
1079 setClickFunc(id, functionName, functionArgs);
1080 classes[id].haveCallback = true;
1081 });
1082 setCssClass(ids, "clickable");
1083};
1084const setClickFunc = function(domId, functionName, functionArgs) {
1085 const config = getConfig();
1086 if (config.securityLevel !== "loose") {
1087 return;
1088 }
1089 if (functionName === void 0) {
1090 return;
1091 }
1092 const id = domId;
1093 if (classes[id] !== void 0) {
1094 const elemId = lookUpDomId(id);
1095 let argList = [];
1096 if (typeof functionArgs === "string") {
1097 argList = functionArgs.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
1098 for (let i = 0; i < argList.length; i++) {
1099 let item = argList[i].trim();
1100 if (item.charAt(0) === '"' && item.charAt(item.length - 1) === '"') {
1101 item = item.substr(1, item.length - 2);
1102 }
1103 argList[i] = item;
1104 }
1105 }
1106 if (argList.length === 0) {
1107 argList.push(elemId);
1108 }
1109 functions.push(function() {
1110 const elem = document.querySelector(`[id="${elemId}"]`);
1111 if (elem !== null) {
1112 elem.addEventListener(
1113 "click",
1114 function() {
1115 utils.runFunc(functionName, ...argList);
1116 },
1117 false
1118 );
1119 }
1120 });
1121 }
1122};
1123const bindFunctions = function(element) {
1124 functions.forEach(function(fun) {
1125 fun(element);
1126 });
1127};
1128const lineType = {
1129 LINE: 0,
1130 DOTTED_LINE: 1
1131};
1132const relationType = {
1133 AGGREGATION: 0,
1134 EXTENSION: 1,
1135 COMPOSITION: 2,
1136 DEPENDENCY: 3,
1137 LOLLIPOP: 4
1138};
1139const setupToolTips = function(element) {
1140 let tooltipElem = select(".mermaidTooltip");
1141 if ((tooltipElem._groups || tooltipElem)[0][0] === null) {
1142 tooltipElem = select("body").append("div").attr("class", "mermaidTooltip").style("opacity", 0);
1143 }
1144 const svg = select(element).select("svg");
1145 const nodes = svg.selectAll("g.node");
1146 nodes.on("mouseover", function() {
1147 const el = select(this);
1148 const title = el.attr("title");
1149 if (title === null) {
1150 return;
1151 }
1152 const rect = this.getBoundingClientRect();
1153 tooltipElem.transition().duration(200).style("opacity", ".9");
1154 tooltipElem.text(el.attr("title")).style("left", window.scrollX + rect.left + (rect.right - rect.left) / 2 + "px").style("top", window.scrollY + rect.top - 14 + document.body.scrollTop + "px");
1155 tooltipElem.html(tooltipElem.html().replace(/&lt;br\/&gt;/g, "<br/>"));
1156 el.classed("hover", true);
1157 }).on("mouseout", function() {
1158 tooltipElem.transition().duration(500).style("opacity", 0);
1159 const el = select(this);
1160 el.classed("hover", false);
1161 });
1162};
1163functions.push(setupToolTips);
1164let direction = "TB";
1165const getDirection = () => direction;
1166const setDirection = (dir) => {
1167 direction = dir;
1168};
1169const addNamespace = function(id) {
1170 if (namespaces[id] !== void 0) {
1171 return;
1172 }
1173 namespaces[id] = {
1174 id,
1175 classes: {},
1176 children: {},
1177 domId: MERMAID_DOM_ID_PREFIX + id + "-" + namespaceCounter
1178 };
1179 namespaceCounter++;
1180};
1181const getNamespace = function(name) {
1182 return namespaces[name];
1183};
1184const getNamespaces = function() {
1185 return namespaces;
1186};
1187const addClassesToNamespace = function(id, classNames) {
1188 if (namespaces[id] !== void 0) {
1189 classNames.map((className) => {
1190 namespaces[id].classes[className] = classes[className];
1191 delete classes[className];
1192 classCounter--;
1193 });
1194 }
1195};
1196const db = {
1197 parseDirective,
1198 setAccTitle,
1199 getAccTitle,
1200 getAccDescription,
1201 setAccDescription,
1202 getConfig: () => getConfig().class,
1203 addClass,
1204 bindFunctions,
1205 clear,
1206 getClass,
1207 getClasses,
1208 getNotes,
1209 addAnnotation,
1210 addNote,
1211 getRelations,
1212 addRelation,
1213 getDirection,
1214 setDirection,
1215 addMember,
1216 addMembers,
1217 cleanupLabel,
1218 lineType,
1219 relationType,
1220 setClickEvent,
1221 setCssClass,
1222 setLink,
1223 getTooltip,
1224 setTooltip,
1225 lookUpDomId,
1226 setDiagramTitle,
1227 getDiagramTitle,
1228 setClassLabel,
1229 addNamespace,
1230 addClassesToNamespace,
1231 getNamespace,
1232 getNamespaces
1233};
1234const getStyles = (options) => `g.classGroup text {
1235 fill: ${options.nodeBorder};
1236 fill: ${options.classText};
1237 stroke: none;
1238 font-family: ${options.fontFamily};
1239 font-size: 10px;
1240
1241 .title {
1242 font-weight: bolder;
1243 }
1244
1245}
1246
1247.nodeLabel, .edgeLabel {
1248 color: ${options.classText};
1249}
1250.edgeLabel .label rect {
1251 fill: ${options.mainBkg};
1252}
1253.label text {
1254 fill: ${options.classText};
1255}
1256.edgeLabel .label span {
1257 background: ${options.mainBkg};
1258}
1259
1260.classTitle {
1261 font-weight: bolder;
1262}
1263.node rect,
1264 .node circle,
1265 .node ellipse,
1266 .node polygon,
1267 .node path {
1268 fill: ${options.mainBkg};
1269 stroke: ${options.nodeBorder};
1270 stroke-width: 1px;
1271 }
1272
1273
1274.divider {
1275 stroke: ${options.nodeBorder};
1276 stroke-width: 1;
1277}
1278
1279g.clickable {
1280 cursor: pointer;
1281}
1282
1283g.classGroup rect {
1284 fill: ${options.mainBkg};
1285 stroke: ${options.nodeBorder};
1286}
1287
1288g.classGroup line {
1289 stroke: ${options.nodeBorder};
1290 stroke-width: 1;
1291}
1292
1293.classLabel .box {
1294 stroke: none;
1295 stroke-width: 0;
1296 fill: ${options.mainBkg};
1297 opacity: 0.5;
1298}
1299
1300.classLabel .label {
1301 fill: ${options.nodeBorder};
1302 font-size: 10px;
1303}
1304
1305.relation {
1306 stroke: ${options.lineColor};
1307 stroke-width: 1;
1308 fill: none;
1309}
1310
1311.dashed-line{
1312 stroke-dasharray: 3;
1313}
1314
1315.dotted-line{
1316 stroke-dasharray: 1 2;
1317}
1318
1319#compositionStart, .composition {
1320 fill: ${options.lineColor} !important;
1321 stroke: ${options.lineColor} !important;
1322 stroke-width: 1;
1323}
1324
1325#compositionEnd, .composition {
1326 fill: ${options.lineColor} !important;
1327 stroke: ${options.lineColor} !important;
1328 stroke-width: 1;
1329}
1330
1331#dependencyStart, .dependency {
1332 fill: ${options.lineColor} !important;
1333 stroke: ${options.lineColor} !important;
1334 stroke-width: 1;
1335}
1336
1337#dependencyStart, .dependency {
1338 fill: ${options.lineColor} !important;
1339 stroke: ${options.lineColor} !important;
1340 stroke-width: 1;
1341}
1342
1343#extensionStart, .extension {
1344 fill: ${options.mainBkg} !important;
1345 stroke: ${options.lineColor} !important;
1346 stroke-width: 1;
1347}
1348
1349#extensionEnd, .extension {
1350 fill: ${options.mainBkg} !important;
1351 stroke: ${options.lineColor} !important;
1352 stroke-width: 1;
1353}
1354
1355#aggregationStart, .aggregation {
1356 fill: ${options.mainBkg} !important;
1357 stroke: ${options.lineColor} !important;
1358 stroke-width: 1;
1359}
1360
1361#aggregationEnd, .aggregation {
1362 fill: ${options.mainBkg} !important;
1363 stroke: ${options.lineColor} !important;
1364 stroke-width: 1;
1365}
1366
1367#lollipopStart, .lollipop {
1368 fill: ${options.mainBkg} !important;
1369 stroke: ${options.lineColor} !important;
1370 stroke-width: 1;
1371}
1372
1373#lollipopEnd, .lollipop {
1374 fill: ${options.mainBkg} !important;
1375 stroke: ${options.lineColor} !important;
1376 stroke-width: 1;
1377}
1378
1379.edgeTerminals {
1380 font-size: 11px;
1381}
1382
1383.classTitleText {
1384 text-anchor: middle;
1385 font-size: 18px;
1386 fill: ${options.textColor};
1387}
1388`;
1389const styles = getStyles;
1390export {
1391 db as d,
1392 parser$1 as p,
1393 styles as s
1394};