@plurnk/plurnk-grammar 0.2.0 → 0.5.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 (77) hide show
  1. package/bin/plurnk.js +1 -1
  2. package/{schema → dist/schema}/LogEntry.json +1 -1
  3. package/{schema → dist/schema}/Packet.json +15 -2
  4. package/{schema → dist/schema}/Run.json +6 -1
  5. package/{schema → dist/schema}/SchemeRegistration.json +6 -0
  6. package/{schema → dist/schema}/Session.json +1 -1
  7. package/dist/src/AstBuilder.d.ts +19 -0
  8. package/dist/src/AstBuilder.d.ts.map +1 -0
  9. package/{src/AstBuilder.ts → dist/src/AstBuilder.js} +176 -161
  10. package/dist/src/AstBuilder.js.map +1 -0
  11. package/dist/src/PlurnkErrorStrategy.d.ts +10 -0
  12. package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -0
  13. package/{src/PlurnkErrorStrategy.ts → dist/src/PlurnkErrorStrategy.js} +41 -49
  14. package/dist/src/PlurnkErrorStrategy.js.map +1 -0
  15. package/dist/src/PlurnkParseError.d.ts +14 -0
  16. package/dist/src/PlurnkParseError.d.ts.map +1 -0
  17. package/{src/PlurnkParseError.ts → dist/src/PlurnkParseError.js} +6 -9
  18. package/dist/src/PlurnkParseError.js.map +1 -0
  19. package/dist/src/PlurnkParser.d.ts +6 -0
  20. package/dist/src/PlurnkParser.d.ts.map +1 -0
  21. package/{src/PlurnkParser.ts → dist/src/PlurnkParser.js} +32 -40
  22. package/dist/src/PlurnkParser.js.map +1 -0
  23. package/dist/src/RecordingListener.d.ts +9 -0
  24. package/dist/src/RecordingListener.d.ts.map +1 -0
  25. package/dist/src/RecordingListener.js +19 -0
  26. package/dist/src/RecordingListener.js.map +1 -0
  27. package/dist/src/Validator.d.ts +28 -0
  28. package/dist/src/Validator.d.ts.map +1 -0
  29. package/dist/src/Validator.js +86 -0
  30. package/dist/src/Validator.js.map +1 -0
  31. package/dist/src/generated/plurnkLexer.d.ts +88 -0
  32. package/dist/src/generated/plurnkLexer.d.ts.map +1 -0
  33. package/dist/src/generated/plurnkLexer.js +440 -0
  34. package/dist/src/generated/plurnkLexer.js.map +1 -0
  35. package/dist/src/generated/plurnkParser.d.ts +274 -0
  36. package/dist/src/generated/plurnkParser.d.ts.map +1 -0
  37. package/dist/src/generated/plurnkParser.js +1833 -0
  38. package/dist/src/generated/plurnkParser.js.map +1 -0
  39. package/{src/generated/plurnkParserVisitor.ts → dist/src/generated/plurnkParserVisitor.d.ts} +2 -7
  40. package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -0
  41. package/dist/src/generated/plurnkParserVisitor.js +131 -0
  42. package/dist/src/generated/plurnkParserVisitor.js.map +1 -0
  43. package/dist/src/index.d.ts +10 -0
  44. package/dist/src/index.d.ts.map +1 -0
  45. package/dist/src/index.js +7 -0
  46. package/dist/src/index.js.map +1 -0
  47. package/dist/src/types.d.ts +23 -0
  48. package/dist/src/types.d.ts.map +1 -0
  49. package/dist/src/types.generated.d.ts +465 -0
  50. package/dist/src/types.generated.d.ts.map +1 -0
  51. package/dist/src/types.generated.js +4 -0
  52. package/dist/src/types.generated.js.map +1 -0
  53. package/dist/src/types.js +4 -0
  54. package/dist/src/types.js.map +1 -0
  55. package/package.json +10 -7
  56. package/plurnk.md +1 -1
  57. package/src/RecordingListener.ts +0 -34
  58. package/src/Validator.ts +0 -94
  59. package/src/generated/plurnkLexer.ts +0 -467
  60. package/src/generated/plurnkParser.ts +0 -1891
  61. package/src/index.ts +0 -29
  62. package/src/types.generated.ts +0 -491
  63. package/src/types.ts +0 -30
  64. /package/{schema → dist/schema}/Agent.json +0 -0
  65. /package/{schema → dist/schema}/ChannelContent.json +0 -0
  66. /package/{schema → dist/schema}/Entry.json +0 -0
  67. /package/{schema → dist/schema}/LineMarker.json +0 -0
  68. /package/{schema → dist/schema}/Loop.json +0 -0
  69. /package/{schema → dist/schema}/MatcherBody.json +0 -0
  70. /package/{schema → dist/schema}/Params.json +0 -0
  71. /package/{schema → dist/schema}/ParsedPath.json +0 -0
  72. /package/{schema → dist/schema}/PlurnkStatement.json +0 -0
  73. /package/{schema → dist/schema}/Position.json +0 -0
  74. /package/{schema → dist/schema}/ProviderDeclaration.json +0 -0
  75. /package/{schema → dist/schema}/SendBody.json +0 -0
  76. /package/{schema → dist/schema}/Turn.json +0 -0
  77. /package/{schema → dist/schema}/Visibility.json +0 -0
@@ -0,0 +1,88 @@
1
+ import * as antlr from "antlr4ng";
2
+ export declare class plurnkLexer extends antlr.Lexer {
3
+ static readonly LBRACKET = 1;
4
+ static readonly RBRACKET = 2;
5
+ static readonly LPAREN = 3;
6
+ static readonly RPAREN = 4;
7
+ static readonly L_MARKER = 5;
8
+ static readonly COLON = 6;
9
+ static readonly COMMA = 7;
10
+ static readonly INT = 8;
11
+ static readonly IDENT = 9;
12
+ static readonly TAG = 10;
13
+ static readonly PATH_TEXT = 11;
14
+ static readonly BODY_TEXT = 12;
15
+ static readonly CLOSE_TAG = 13;
16
+ static readonly TEXT = 14;
17
+ static readonly OPEN_FIND = 15;
18
+ static readonly OPEN_READ = 16;
19
+ static readonly OPEN_EDIT = 17;
20
+ static readonly OPEN_COPY = 18;
21
+ static readonly OPEN_MOVE = 19;
22
+ static readonly OPEN_SHOW = 20;
23
+ static readonly OPEN_HIDE = 21;
24
+ static readonly OPEN_SEND = 22;
25
+ static readonly OPEN_EXEC = 23;
26
+ static readonly SLOTS_WS = 24;
27
+ static readonly ST_WS = 25;
28
+ static readonly SI_WS = 26;
29
+ static readonly SD_WS = 27;
30
+ static readonly ST_COMMA = 28;
31
+ static readonly B_COLON = 29;
32
+ static readonly SLOTS = 1;
33
+ static readonly SIGNAL_TAGS = 2;
34
+ static readonly SIGNAL_INT = 3;
35
+ static readonly SIGNAL_IDENT = 4;
36
+ static readonly PATH = 5;
37
+ static readonly BODY = 6;
38
+ static readonly channelNames: string[];
39
+ static readonly literalNames: (string | null)[];
40
+ static readonly symbolicNames: (string | null)[];
41
+ static readonly modeNames: string[];
42
+ static readonly ruleNames: string[];
43
+ private openTag;
44
+ private openTagLine;
45
+ private openTagColumn;
46
+ private setOpenTag;
47
+ getOpenTag(): string;
48
+ getOpenTagLine(): number;
49
+ getOpenTagColumn(): number;
50
+ private atColonCloseTag;
51
+ private isIdentChar;
52
+ private consumeRestOfCloseTagAfterColon;
53
+ private isOpKeywordAfterLtLt;
54
+ private isSendOp;
55
+ private isExecOp;
56
+ constructor(input: antlr.CharStream);
57
+ get grammarFileName(): string;
58
+ get literalNames(): (string | null)[];
59
+ get symbolicNames(): (string | null)[];
60
+ get ruleNames(): string[];
61
+ get serializedATN(): number[];
62
+ get channelNames(): string[];
63
+ get modeNames(): string[];
64
+ action(localContext: antlr.ParserRuleContext | null, ruleIndex: number, actionIndex: number): void;
65
+ private OPEN_FIND_action;
66
+ private OPEN_READ_action;
67
+ private OPEN_EDIT_action;
68
+ private OPEN_COPY_action;
69
+ private OPEN_MOVE_action;
70
+ private OPEN_SHOW_action;
71
+ private OPEN_HIDE_action;
72
+ private OPEN_SEND_action;
73
+ private OPEN_EXEC_action;
74
+ private B_CLOSE_action;
75
+ sempred(localContext: antlr.ParserRuleContext | null, ruleIndex: number, predIndex: number): boolean;
76
+ private TEXT_sempred;
77
+ private SLOTS_LB_TAGS_sempred;
78
+ private SLOTS_LB_INT_sempred;
79
+ private SLOTS_LB_IDENT_sempred;
80
+ private B_CLOSE_sempred;
81
+ static readonly _serializedATN: number[];
82
+ private static __ATN;
83
+ static get _ATN(): antlr.ATN;
84
+ private static readonly vocabulary;
85
+ get vocabulary(): antlr.Vocabulary;
86
+ private static readonly decisionsToDFA;
87
+ }
88
+ //# sourceMappingURL=plurnkLexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plurnkLexer.d.ts","sourceRoot":"","sources":["../../../src/generated/plurnkLexer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAIlC,qBAAa,WAAY,SAAQ,KAAK,CAAC,KAAK;IACxC,gBAAuB,QAAQ,KAAK;IACpC,gBAAuB,QAAQ,KAAK;IACpC,gBAAuB,MAAM,KAAK;IAClC,gBAAuB,MAAM,KAAK;IAClC,gBAAuB,QAAQ,KAAK;IACpC,gBAAuB,KAAK,KAAK;IACjC,gBAAuB,KAAK,KAAK;IACjC,gBAAuB,GAAG,KAAK;IAC/B,gBAAuB,KAAK,KAAK;IACjC,gBAAuB,GAAG,MAAM;IAChC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,QAAQ,MAAM;IACrC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,QAAQ,MAAM;IACrC,gBAAuB,OAAO,MAAM;IACpC,gBAAuB,KAAK,KAAK;IACjC,gBAAuB,WAAW,KAAK;IACvC,gBAAuB,UAAU,KAAK;IACtC,gBAAuB,YAAY,KAAK;IACxC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAEhC,gBAAuB,YAAY,WAEjC;IAEF,gBAAuB,YAAY,oBAIjC;IAEF,gBAAuB,aAAa,oBAMlC;IAEF,gBAAuB,SAAS,WAG9B;IAEF,gBAAuB,SAAS,WAO9B;IAGF,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,aAAa,CAAa;IAElC,OAAO,CAAC,UAAU;IAOX,UAAU,IAAI,MAAM;IACpB,cAAc,IAAI,MAAM;IACxB,gBAAgB,IAAI,MAAM;IAEjC,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,+BAA+B;IAOvC,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;gBAGG,KAAK,EAAE,KAAK,CAAC,UAAU;IAK1C,IAAW,eAAe,IAAI,MAAM,CAA6B;IAEjE,IAAW,YAAY,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAqC;IACjF,IAAW,aAAa,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAsC;IACnF,IAAW,SAAS,IAAI,MAAM,EAAE,CAAkC;IAElE,IAAW,aAAa,IAAI,MAAM,EAAE,CAAuC;IAE3E,IAAW,YAAY,IAAI,MAAM,EAAE,CAAqC;IAExE,IAAW,SAAS,IAAI,MAAM,EAAE,CAAkC;IAElD,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAkClH,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,cAAc;IAON,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAepH,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,eAAe;IAQvB,gBAAuB,cAAc,EAAE,MAAM,EAAE,CA4I7C;IAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAY;IAChC,WAAkB,IAAI,IAAI,KAAK,CAAC,GAAG,CAMlC;IAGD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAiF;IAEnH,IAAoB,UAAU,IAAI,KAAK,CAAC,UAAU,CAEjD;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAgH;CACzJ"}
@@ -0,0 +1,440 @@
1
+ import * as antlr from "antlr4ng";
2
+ export class plurnkLexer extends antlr.Lexer {
3
+ static LBRACKET = 1;
4
+ static RBRACKET = 2;
5
+ static LPAREN = 3;
6
+ static RPAREN = 4;
7
+ static L_MARKER = 5;
8
+ static COLON = 6;
9
+ static COMMA = 7;
10
+ static INT = 8;
11
+ static IDENT = 9;
12
+ static TAG = 10;
13
+ static PATH_TEXT = 11;
14
+ static BODY_TEXT = 12;
15
+ static CLOSE_TAG = 13;
16
+ static TEXT = 14;
17
+ static OPEN_FIND = 15;
18
+ static OPEN_READ = 16;
19
+ static OPEN_EDIT = 17;
20
+ static OPEN_COPY = 18;
21
+ static OPEN_MOVE = 19;
22
+ static OPEN_SHOW = 20;
23
+ static OPEN_HIDE = 21;
24
+ static OPEN_SEND = 22;
25
+ static OPEN_EXEC = 23;
26
+ static SLOTS_WS = 24;
27
+ static ST_WS = 25;
28
+ static SI_WS = 26;
29
+ static SD_WS = 27;
30
+ static ST_COMMA = 28;
31
+ static B_COLON = 29;
32
+ static SLOTS = 1;
33
+ static SIGNAL_TAGS = 2;
34
+ static SIGNAL_INT = 3;
35
+ static SIGNAL_IDENT = 4;
36
+ static PATH = 5;
37
+ static BODY = 6;
38
+ static channelNames = [
39
+ "DEFAULT_TOKEN_CHANNEL", "HIDDEN"
40
+ ];
41
+ static literalNames = [
42
+ null, null, null, null, null, null, null, null, null, null, null,
43
+ null, null, null, null, null, null, null, null, null, null, null,
44
+ null, null, null, null, null, null, "','", "':'"
45
+ ];
46
+ static symbolicNames = [
47
+ null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "L_MARKER", "COLON",
48
+ "COMMA", "INT", "IDENT", "TAG", "PATH_TEXT", "BODY_TEXT", "CLOSE_TAG",
49
+ "TEXT", "OPEN_FIND", "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE",
50
+ "OPEN_SHOW", "OPEN_HIDE", "OPEN_SEND", "OPEN_EXEC", "SLOTS_WS",
51
+ "ST_WS", "SI_WS", "SD_WS", "ST_COMMA", "B_COLON"
52
+ ];
53
+ static modeNames = [
54
+ "DEFAULT_MODE", "SLOTS", "SIGNAL_TAGS", "SIGNAL_INT", "SIGNAL_IDENT",
55
+ "PATH", "BODY",
56
+ ];
57
+ static ruleNames = [
58
+ "SUFFIX", "L_PATTERN", "OPEN_FIND", "OPEN_READ", "OPEN_EDIT", "OPEN_COPY",
59
+ "OPEN_MOVE", "OPEN_SHOW", "OPEN_HIDE", "OPEN_SEND", "OPEN_EXEC",
60
+ "TEXT", "SLOTS_WS", "SLOTS_LB_TAGS", "SLOTS_LB_INT", "SLOTS_LB_IDENT",
61
+ "SLOTS_LPAREN", "SLOTS_L", "SLOTS_COLON", "ST_WS", "ST_COMMA", "ST_TAG",
62
+ "ST_END", "SI_WS", "SI_INT", "SI_END", "SD_WS", "SD_IDENT", "SD_END",
63
+ "PATH_INNER", "PATH_END", "B_CLOSE", "B_RUN", "B_COLON",
64
+ ];
65
+ openTag = "";
66
+ openTagLine = 0;
67
+ openTagColumn = 0;
68
+ setOpenTag() {
69
+ this.openTag = this.text.substring(2);
70
+ // Capture where the open tag began, for reference in mismatched-close-tag errors.
71
+ this.openTagLine = this.currentTokenStartLine;
72
+ this.openTagColumn = this.currentTokenColumn;
73
+ }
74
+ getOpenTag() { return this.openTag; }
75
+ getOpenTagLine() { return this.openTagLine; }
76
+ getOpenTagColumn() { return this.openTagColumn; }
77
+ atColonCloseTag() {
78
+ if (this.inputStream.LA(1) !== 0x3A /* ':' */)
79
+ return false;
80
+ const tag = this.openTag;
81
+ if (tag.length === 0)
82
+ return false;
83
+ for (let i = 0; i < tag.length; i++) {
84
+ if (this.inputStream.LA(i + 2) !== tag.charCodeAt(i))
85
+ return false;
86
+ }
87
+ const followChar = this.inputStream.LA(tag.length + 2);
88
+ if (followChar > 0 && this.isIdentChar(followChar))
89
+ return false;
90
+ return true;
91
+ }
92
+ isIdentChar(c) {
93
+ return (c >= 0x30 && c <= 0x39) ||
94
+ (c >= 0x41 && c <= 0x5A) ||
95
+ (c >= 0x61 && c <= 0x7A) ||
96
+ c === 0x5F;
97
+ }
98
+ consumeRestOfCloseTagAfterColon() {
99
+ const remaining = this.openTag.length - 1;
100
+ for (let i = 0; i < remaining; i++) {
101
+ this.inputStream.consume();
102
+ }
103
+ }
104
+ isOpKeywordAfterLtLt() {
105
+ const ops = ["FIND", "READ", "EDIT", "COPY", "MOVE", "SHOW", "HIDE", "SEND", "EXEC"];
106
+ for (const op of ops) {
107
+ let matches = true;
108
+ for (let i = 0; i < op.length; i++) {
109
+ if (this.inputStream.LA(i + 1) !== op.charCodeAt(i)) {
110
+ matches = false;
111
+ break;
112
+ }
113
+ }
114
+ if (matches)
115
+ return true;
116
+ }
117
+ return false;
118
+ }
119
+ isSendOp() { return this.openTag.startsWith("SEND"); }
120
+ isExecOp() { return this.openTag.startsWith("EXEC"); }
121
+ constructor(input) {
122
+ super(input);
123
+ this.interpreter = new antlr.LexerATNSimulator(this, plurnkLexer._ATN, plurnkLexer.decisionsToDFA, new antlr.PredictionContextCache());
124
+ }
125
+ get grammarFileName() { return "plurnkLexer.g4"; }
126
+ get literalNames() { return plurnkLexer.literalNames; }
127
+ get symbolicNames() { return plurnkLexer.symbolicNames; }
128
+ get ruleNames() { return plurnkLexer.ruleNames; }
129
+ get serializedATN() { return plurnkLexer._serializedATN; }
130
+ get channelNames() { return plurnkLexer.channelNames; }
131
+ get modeNames() { return plurnkLexer.modeNames; }
132
+ action(localContext, ruleIndex, actionIndex) {
133
+ switch (ruleIndex) {
134
+ case 2:
135
+ this.OPEN_FIND_action(localContext, actionIndex);
136
+ break;
137
+ case 3:
138
+ this.OPEN_READ_action(localContext, actionIndex);
139
+ break;
140
+ case 4:
141
+ this.OPEN_EDIT_action(localContext, actionIndex);
142
+ break;
143
+ case 5:
144
+ this.OPEN_COPY_action(localContext, actionIndex);
145
+ break;
146
+ case 6:
147
+ this.OPEN_MOVE_action(localContext, actionIndex);
148
+ break;
149
+ case 7:
150
+ this.OPEN_SHOW_action(localContext, actionIndex);
151
+ break;
152
+ case 8:
153
+ this.OPEN_HIDE_action(localContext, actionIndex);
154
+ break;
155
+ case 9:
156
+ this.OPEN_SEND_action(localContext, actionIndex);
157
+ break;
158
+ case 10:
159
+ this.OPEN_EXEC_action(localContext, actionIndex);
160
+ break;
161
+ case 31:
162
+ this.B_CLOSE_action(localContext, actionIndex);
163
+ break;
164
+ }
165
+ }
166
+ OPEN_FIND_action(localContext, actionIndex) {
167
+ switch (actionIndex) {
168
+ case 0:
169
+ this.setOpenTag();
170
+ break;
171
+ }
172
+ }
173
+ OPEN_READ_action(localContext, actionIndex) {
174
+ switch (actionIndex) {
175
+ case 1:
176
+ this.setOpenTag();
177
+ break;
178
+ }
179
+ }
180
+ OPEN_EDIT_action(localContext, actionIndex) {
181
+ switch (actionIndex) {
182
+ case 2:
183
+ this.setOpenTag();
184
+ break;
185
+ }
186
+ }
187
+ OPEN_COPY_action(localContext, actionIndex) {
188
+ switch (actionIndex) {
189
+ case 3:
190
+ this.setOpenTag();
191
+ break;
192
+ }
193
+ }
194
+ OPEN_MOVE_action(localContext, actionIndex) {
195
+ switch (actionIndex) {
196
+ case 4:
197
+ this.setOpenTag();
198
+ break;
199
+ }
200
+ }
201
+ OPEN_SHOW_action(localContext, actionIndex) {
202
+ switch (actionIndex) {
203
+ case 5:
204
+ this.setOpenTag();
205
+ break;
206
+ }
207
+ }
208
+ OPEN_HIDE_action(localContext, actionIndex) {
209
+ switch (actionIndex) {
210
+ case 6:
211
+ this.setOpenTag();
212
+ break;
213
+ }
214
+ }
215
+ OPEN_SEND_action(localContext, actionIndex) {
216
+ switch (actionIndex) {
217
+ case 7:
218
+ this.setOpenTag();
219
+ break;
220
+ }
221
+ }
222
+ OPEN_EXEC_action(localContext, actionIndex) {
223
+ switch (actionIndex) {
224
+ case 8:
225
+ this.setOpenTag();
226
+ break;
227
+ }
228
+ }
229
+ B_CLOSE_action(localContext, actionIndex) {
230
+ switch (actionIndex) {
231
+ case 9:
232
+ this.consumeRestOfCloseTagAfterColon();
233
+ break;
234
+ }
235
+ }
236
+ sempred(localContext, ruleIndex, predIndex) {
237
+ switch (ruleIndex) {
238
+ case 11:
239
+ return this.TEXT_sempred(localContext, predIndex);
240
+ case 13:
241
+ return this.SLOTS_LB_TAGS_sempred(localContext, predIndex);
242
+ case 14:
243
+ return this.SLOTS_LB_INT_sempred(localContext, predIndex);
244
+ case 15:
245
+ return this.SLOTS_LB_IDENT_sempred(localContext, predIndex);
246
+ case 31:
247
+ return this.B_CLOSE_sempred(localContext, predIndex);
248
+ }
249
+ return true;
250
+ }
251
+ TEXT_sempred(localContext, predIndex) {
252
+ switch (predIndex) {
253
+ case 0:
254
+ return !this.isOpKeywordAfterLtLt();
255
+ }
256
+ return true;
257
+ }
258
+ SLOTS_LB_TAGS_sempred(localContext, predIndex) {
259
+ switch (predIndex) {
260
+ case 1:
261
+ return !this.isSendOp() && !this.isExecOp();
262
+ }
263
+ return true;
264
+ }
265
+ SLOTS_LB_INT_sempred(localContext, predIndex) {
266
+ switch (predIndex) {
267
+ case 2:
268
+ return this.isSendOp();
269
+ }
270
+ return true;
271
+ }
272
+ SLOTS_LB_IDENT_sempred(localContext, predIndex) {
273
+ switch (predIndex) {
274
+ case 3:
275
+ return this.isExecOp();
276
+ }
277
+ return true;
278
+ }
279
+ B_CLOSE_sempred(localContext, predIndex) {
280
+ switch (predIndex) {
281
+ case 4:
282
+ return this.atColonCloseTag();
283
+ }
284
+ return true;
285
+ }
286
+ static _serializedATN = [
287
+ 4, 0, 29, 379, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2,
288
+ 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2,
289
+ 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7,
290
+ 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2,
291
+ 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7,
292
+ 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 1, 0, 4, 0, 77, 8, 0, 11, 0, 12,
293
+ 0, 78, 1, 1, 1, 1, 3, 1, 83, 8, 1, 1, 1, 4, 1, 86, 8, 1, 11, 1, 12, 1, 87, 1, 1, 1, 1, 3, 1,
294
+ 92, 8, 1, 1, 1, 4, 1, 95, 8, 1, 11, 1, 12, 1, 96, 3, 1, 99, 8, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1,
295
+ 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 111, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1,
296
+ 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 125, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1,
297
+ 4, 1, 4, 1, 4, 1, 4, 3, 4, 139, 8, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1,
298
+ 5, 1, 5, 1, 5, 3, 5, 153, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1,
299
+ 6, 1, 6, 3, 6, 167, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1,
300
+ 7, 3, 7, 181, 8, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3,
301
+ 8, 195, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 209,
302
+ 8, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10,
303
+ 223, 8, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11,
304
+ 4, 11, 236, 8, 11, 11, 11, 12, 11, 237, 1, 12, 4, 12, 241, 8, 12, 11, 12, 12, 12, 242,
305
+ 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14,
306
+ 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17,
307
+ 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 4, 19, 280, 8, 19, 11, 19,
308
+ 12, 19, 281, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 4, 21, 293,
309
+ 8, 21, 11, 21, 12, 21, 294, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 4, 23,
310
+ 305, 8, 23, 11, 23, 12, 23, 306, 1, 23, 1, 23, 1, 24, 3, 24, 312, 8, 24, 1, 24, 4, 24,
311
+ 315, 8, 24, 11, 24, 12, 24, 316, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26,
312
+ 4, 26, 327, 8, 26, 11, 26, 12, 26, 328, 1, 26, 1, 26, 1, 27, 1, 27, 5, 27, 335, 8, 27,
313
+ 10, 27, 12, 27, 338, 9, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29,
314
+ 1, 29, 4, 29, 350, 8, 29, 11, 29, 12, 29, 351, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30,
315
+ 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 4, 32, 370, 8, 32,
316
+ 11, 32, 12, 32, 371, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 0, 0, 34, 7, 0, 9, 0, 11,
317
+ 15, 13, 16, 15, 17, 17, 18, 19, 19, 21, 20, 23, 21, 25, 22, 27, 23, 29, 14, 31, 24, 33,
318
+ 0, 35, 0, 37, 0, 39, 0, 41, 0, 43, 0, 45, 25, 47, 28, 49, 0, 51, 0, 53, 26, 55, 0, 57, 0,
319
+ 59, 27, 61, 0, 63, 0, 65, 0, 67, 0, 69, 0, 71, 0, 73, 29, 7, 0, 1, 2, 3, 4, 5, 6, 10, 4, 0,
320
+ 48, 57, 65, 90, 95, 95, 97, 122, 1, 0, 48, 57, 1, 0, 60, 60, 3, 0, 9, 10, 13, 13, 32, 32,
321
+ 2, 0, 9, 9, 32, 32, 6, 0, 9, 10, 13, 13, 32, 32, 44, 44, 60, 60, 93, 93, 3, 0, 65, 90, 95,
322
+ 95, 97, 122, 6, 0, 43, 43, 45, 46, 48, 57, 65, 90, 95, 95, 97, 122, 4, 0, 10, 10, 13,
323
+ 13, 41, 41, 60, 60, 1, 0, 58, 58, 400, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0,
324
+ 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0,
325
+ 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 1, 31, 1, 0, 0, 0, 1, 33, 1, 0, 0, 0, 1, 35, 1, 0,
326
+ 0, 0, 1, 37, 1, 0, 0, 0, 1, 39, 1, 0, 0, 0, 1, 41, 1, 0, 0, 0, 1, 43, 1, 0, 0, 0, 2, 45, 1, 0,
327
+ 0, 0, 2, 47, 1, 0, 0, 0, 2, 49, 1, 0, 0, 0, 2, 51, 1, 0, 0, 0, 3, 53, 1, 0, 0, 0, 3, 55, 1, 0,
328
+ 0, 0, 3, 57, 1, 0, 0, 0, 4, 59, 1, 0, 0, 0, 4, 61, 1, 0, 0, 0, 4, 63, 1, 0, 0, 0, 5, 65, 1, 0,
329
+ 0, 0, 5, 67, 1, 0, 0, 0, 6, 69, 1, 0, 0, 0, 6, 71, 1, 0, 0, 0, 6, 73, 1, 0, 0, 0, 7, 76, 1, 0,
330
+ 0, 0, 9, 80, 1, 0, 0, 0, 11, 102, 1, 0, 0, 0, 13, 116, 1, 0, 0, 0, 15, 130, 1, 0, 0, 0, 17,
331
+ 144, 1, 0, 0, 0, 19, 158, 1, 0, 0, 0, 21, 172, 1, 0, 0, 0, 23, 186, 1, 0, 0, 0, 25, 200,
332
+ 1, 0, 0, 0, 27, 214, 1, 0, 0, 0, 29, 235, 1, 0, 0, 0, 31, 240, 1, 0, 0, 0, 33, 246, 1, 0,
333
+ 0, 0, 35, 252, 1, 0, 0, 0, 37, 258, 1, 0, 0, 0, 39, 264, 1, 0, 0, 0, 41, 269, 1, 0, 0, 0,
334
+ 43, 273, 1, 0, 0, 0, 45, 279, 1, 0, 0, 0, 47, 285, 1, 0, 0, 0, 49, 292, 1, 0, 0, 0, 51, 298,
335
+ 1, 0, 0, 0, 53, 304, 1, 0, 0, 0, 55, 311, 1, 0, 0, 0, 57, 320, 1, 0, 0, 0, 59, 326, 1, 0,
336
+ 0, 0, 61, 332, 1, 0, 0, 0, 63, 341, 1, 0, 0, 0, 65, 349, 1, 0, 0, 0, 67, 355, 1, 0, 0, 0,
337
+ 69, 360, 1, 0, 0, 0, 71, 369, 1, 0, 0, 0, 73, 375, 1, 0, 0, 0, 75, 77, 7, 0, 0, 0, 76, 75,
338
+ 1, 0, 0, 0, 77, 78, 1, 0, 0, 0, 78, 76, 1, 0, 0, 0, 78, 79, 1, 0, 0, 0, 79, 8, 1, 0, 0, 0, 80,
339
+ 82, 5, 60, 0, 0, 81, 83, 5, 45, 0, 0, 82, 81, 1, 0, 0, 0, 82, 83, 1, 0, 0, 0, 83, 85, 1, 0,
340
+ 0, 0, 84, 86, 7, 1, 0, 0, 85, 84, 1, 0, 0, 0, 86, 87, 1, 0, 0, 0, 87, 85, 1, 0, 0, 0, 87, 88,
341
+ 1, 0, 0, 0, 88, 98, 1, 0, 0, 0, 89, 91, 5, 45, 0, 0, 90, 92, 5, 45, 0, 0, 91, 90, 1, 0, 0,
342
+ 0, 91, 92, 1, 0, 0, 0, 92, 94, 1, 0, 0, 0, 93, 95, 7, 1, 0, 0, 94, 93, 1, 0, 0, 0, 95, 96,
343
+ 1, 0, 0, 0, 96, 94, 1, 0, 0, 0, 96, 97, 1, 0, 0, 0, 97, 99, 1, 0, 0, 0, 98, 89, 1, 0, 0, 0,
344
+ 98, 99, 1, 0, 0, 0, 99, 100, 1, 0, 0, 0, 100, 101, 5, 62, 0, 0, 101, 10, 1, 0, 0, 0, 102,
345
+ 103, 5, 60, 0, 0, 103, 104, 5, 60, 0, 0, 104, 105, 5, 70, 0, 0, 105, 106, 5, 73, 0, 0,
346
+ 106, 107, 5, 78, 0, 0, 107, 108, 5, 68, 0, 0, 108, 110, 1, 0, 0, 0, 109, 111, 3, 7, 0,
347
+ 0, 110, 109, 1, 0, 0, 0, 110, 111, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 113, 6, 2, 0,
348
+ 0, 113, 114, 1, 0, 0, 0, 114, 115, 6, 2, 1, 0, 115, 12, 1, 0, 0, 0, 116, 117, 5, 60, 0,
349
+ 0, 117, 118, 5, 60, 0, 0, 118, 119, 5, 82, 0, 0, 119, 120, 5, 69, 0, 0, 120, 121, 5, 65,
350
+ 0, 0, 121, 122, 5, 68, 0, 0, 122, 124, 1, 0, 0, 0, 123, 125, 3, 7, 0, 0, 124, 123, 1, 0,
351
+ 0, 0, 124, 125, 1, 0, 0, 0, 125, 126, 1, 0, 0, 0, 126, 127, 6, 3, 2, 0, 127, 128, 1, 0,
352
+ 0, 0, 128, 129, 6, 3, 1, 0, 129, 14, 1, 0, 0, 0, 130, 131, 5, 60, 0, 0, 131, 132, 5, 60,
353
+ 0, 0, 132, 133, 5, 69, 0, 0, 133, 134, 5, 68, 0, 0, 134, 135, 5, 73, 0, 0, 135, 136, 5,
354
+ 84, 0, 0, 136, 138, 1, 0, 0, 0, 137, 139, 3, 7, 0, 0, 138, 137, 1, 0, 0, 0, 138, 139, 1,
355
+ 0, 0, 0, 139, 140, 1, 0, 0, 0, 140, 141, 6, 4, 3, 0, 141, 142, 1, 0, 0, 0, 142, 143, 6,
356
+ 4, 1, 0, 143, 16, 1, 0, 0, 0, 144, 145, 5, 60, 0, 0, 145, 146, 5, 60, 0, 0, 146, 147, 5,
357
+ 67, 0, 0, 147, 148, 5, 79, 0, 0, 148, 149, 5, 80, 0, 0, 149, 150, 5, 89, 0, 0, 150, 152,
358
+ 1, 0, 0, 0, 151, 153, 3, 7, 0, 0, 152, 151, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 154,
359
+ 1, 0, 0, 0, 154, 155, 6, 5, 4, 0, 155, 156, 1, 0, 0, 0, 156, 157, 6, 5, 1, 0, 157, 18, 1,
360
+ 0, 0, 0, 158, 159, 5, 60, 0, 0, 159, 160, 5, 60, 0, 0, 160, 161, 5, 77, 0, 0, 161, 162,
361
+ 5, 79, 0, 0, 162, 163, 5, 86, 0, 0, 163, 164, 5, 69, 0, 0, 164, 166, 1, 0, 0, 0, 165, 167,
362
+ 3, 7, 0, 0, 166, 165, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 169,
363
+ 6, 6, 5, 0, 169, 170, 1, 0, 0, 0, 170, 171, 6, 6, 1, 0, 171, 20, 1, 0, 0, 0, 172, 173, 5,
364
+ 60, 0, 0, 173, 174, 5, 60, 0, 0, 174, 175, 5, 83, 0, 0, 175, 176, 5, 72, 0, 0, 176, 177,
365
+ 5, 79, 0, 0, 177, 178, 5, 87, 0, 0, 178, 180, 1, 0, 0, 0, 179, 181, 3, 7, 0, 0, 180, 179,
366
+ 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 183, 6, 7, 6, 0, 183, 184,
367
+ 1, 0, 0, 0, 184, 185, 6, 7, 1, 0, 185, 22, 1, 0, 0, 0, 186, 187, 5, 60, 0, 0, 187, 188,
368
+ 5, 60, 0, 0, 188, 189, 5, 72, 0, 0, 189, 190, 5, 73, 0, 0, 190, 191, 5, 68, 0, 0, 191,
369
+ 192, 5, 69, 0, 0, 192, 194, 1, 0, 0, 0, 193, 195, 3, 7, 0, 0, 194, 193, 1, 0, 0, 0, 194,
370
+ 195, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 197, 6, 8, 7, 0, 197, 198, 1, 0, 0, 0, 198,
371
+ 199, 6, 8, 1, 0, 199, 24, 1, 0, 0, 0, 200, 201, 5, 60, 0, 0, 201, 202, 5, 60, 0, 0, 202,
372
+ 203, 5, 83, 0, 0, 203, 204, 5, 69, 0, 0, 204, 205, 5, 78, 0, 0, 205, 206, 5, 68, 0, 0,
373
+ 206, 208, 1, 0, 0, 0, 207, 209, 3, 7, 0, 0, 208, 207, 1, 0, 0, 0, 208, 209, 1, 0, 0, 0,
374
+ 209, 210, 1, 0, 0, 0, 210, 211, 6, 9, 8, 0, 211, 212, 1, 0, 0, 0, 212, 213, 6, 9, 1, 0,
375
+ 213, 26, 1, 0, 0, 0, 214, 215, 5, 60, 0, 0, 215, 216, 5, 60, 0, 0, 216, 217, 5, 69, 0,
376
+ 0, 217, 218, 5, 88, 0, 0, 218, 219, 5, 69, 0, 0, 219, 220, 5, 67, 0, 0, 220, 222, 1, 0,
377
+ 0, 0, 221, 223, 3, 7, 0, 0, 222, 221, 1, 0, 0, 0, 222, 223, 1, 0, 0, 0, 223, 224, 1, 0,
378
+ 0, 0, 224, 225, 6, 10, 9, 0, 225, 226, 1, 0, 0, 0, 226, 227, 6, 10, 1, 0, 227, 28, 1, 0,
379
+ 0, 0, 228, 229, 5, 60, 0, 0, 229, 230, 5, 60, 0, 0, 230, 231, 1, 0, 0, 0, 231, 236, 4,
380
+ 11, 0, 0, 232, 233, 5, 60, 0, 0, 233, 236, 8, 2, 0, 0, 234, 236, 8, 2, 0, 0, 235, 228,
381
+ 1, 0, 0, 0, 235, 232, 1, 0, 0, 0, 235, 234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 235,
382
+ 1, 0, 0, 0, 237, 238, 1, 0, 0, 0, 238, 30, 1, 0, 0, 0, 239, 241, 7, 3, 0, 0, 240, 239, 1,
383
+ 0, 0, 0, 241, 242, 1, 0, 0, 0, 242, 240, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243, 244, 1,
384
+ 0, 0, 0, 244, 245, 6, 12, 10, 0, 245, 32, 1, 0, 0, 0, 246, 247, 5, 91, 0, 0, 247, 248,
385
+ 4, 13, 1, 0, 248, 249, 1, 0, 0, 0, 249, 250, 6, 13, 11, 0, 250, 251, 6, 13, 12, 0, 251,
386
+ 34, 1, 0, 0, 0, 252, 253, 5, 91, 0, 0, 253, 254, 4, 14, 2, 0, 254, 255, 1, 0, 0, 0, 255,
387
+ 256, 6, 14, 11, 0, 256, 257, 6, 14, 13, 0, 257, 36, 1, 0, 0, 0, 258, 259, 5, 91, 0, 0,
388
+ 259, 260, 4, 15, 3, 0, 260, 261, 1, 0, 0, 0, 261, 262, 6, 15, 11, 0, 262, 263, 6, 15,
389
+ 14, 0, 263, 38, 1, 0, 0, 0, 264, 265, 5, 40, 0, 0, 265, 266, 1, 0, 0, 0, 266, 267, 6, 16,
390
+ 15, 0, 267, 268, 6, 16, 16, 0, 268, 40, 1, 0, 0, 0, 269, 270, 3, 9, 1, 0, 270, 271, 1,
391
+ 0, 0, 0, 271, 272, 6, 17, 17, 0, 272, 42, 1, 0, 0, 0, 273, 274, 5, 58, 0, 0, 274, 275,
392
+ 1, 0, 0, 0, 275, 276, 6, 18, 18, 0, 276, 277, 6, 18, 19, 0, 277, 44, 1, 0, 0, 0, 278, 280,
393
+ 7, 4, 0, 0, 279, 278, 1, 0, 0, 0, 280, 281, 1, 0, 0, 0, 281, 279, 1, 0, 0, 0, 281, 282,
394
+ 1, 0, 0, 0, 282, 283, 1, 0, 0, 0, 283, 284, 6, 19, 10, 0, 284, 46, 1, 0, 0, 0, 285, 286,
395
+ 5, 44, 0, 0, 286, 287, 1, 0, 0, 0, 287, 288, 6, 20, 20, 0, 288, 48, 1, 0, 0, 0, 289, 293,
396
+ 8, 5, 0, 0, 290, 291, 5, 60, 0, 0, 291, 293, 8, 5, 0, 0, 292, 289, 1, 0, 0, 0, 292, 290,
397
+ 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 292, 1, 0, 0, 0, 294, 295, 1, 0, 0, 0, 295, 296,
398
+ 1, 0, 0, 0, 296, 297, 6, 21, 21, 0, 297, 50, 1, 0, 0, 0, 298, 299, 5, 93, 0, 0, 299, 300,
399
+ 1, 0, 0, 0, 300, 301, 6, 22, 22, 0, 301, 302, 6, 22, 1, 0, 302, 52, 1, 0, 0, 0, 303, 305,
400
+ 7, 4, 0, 0, 304, 303, 1, 0, 0, 0, 305, 306, 1, 0, 0, 0, 306, 304, 1, 0, 0, 0, 306, 307,
401
+ 1, 0, 0, 0, 307, 308, 1, 0, 0, 0, 308, 309, 6, 23, 10, 0, 309, 54, 1, 0, 0, 0, 310, 312,
402
+ 5, 45, 0, 0, 311, 310, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, 314, 1, 0, 0, 0, 313, 315,
403
+ 7, 1, 0, 0, 314, 313, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316, 314, 1, 0, 0, 0, 316, 317,
404
+ 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 319, 6, 24, 23, 0, 319, 56, 1, 0, 0, 0, 320, 321,
405
+ 5, 93, 0, 0, 321, 322, 1, 0, 0, 0, 322, 323, 6, 25, 22, 0, 323, 324, 6, 25, 1, 0, 324,
406
+ 58, 1, 0, 0, 0, 325, 327, 7, 4, 0, 0, 326, 325, 1, 0, 0, 0, 327, 328, 1, 0, 0, 0, 328, 326,
407
+ 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 330, 1, 0, 0, 0, 330, 331, 6, 26, 10, 0, 331, 60,
408
+ 1, 0, 0, 0, 332, 336, 7, 6, 0, 0, 333, 335, 7, 7, 0, 0, 334, 333, 1, 0, 0, 0, 335, 338,
409
+ 1, 0, 0, 0, 336, 334, 1, 0, 0, 0, 336, 337, 1, 0, 0, 0, 337, 339, 1, 0, 0, 0, 338, 336,
410
+ 1, 0, 0, 0, 339, 340, 6, 27, 24, 0, 340, 62, 1, 0, 0, 0, 341, 342, 5, 93, 0, 0, 342, 343,
411
+ 1, 0, 0, 0, 343, 344, 6, 28, 22, 0, 344, 345, 6, 28, 1, 0, 345, 64, 1, 0, 0, 0, 346, 350,
412
+ 8, 8, 0, 0, 347, 348, 5, 60, 0, 0, 348, 350, 8, 8, 0, 0, 349, 346, 1, 0, 0, 0, 349, 347,
413
+ 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 351, 349, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 353,
414
+ 1, 0, 0, 0, 353, 354, 6, 29, 25, 0, 354, 66, 1, 0, 0, 0, 355, 356, 5, 41, 0, 0, 356, 357,
415
+ 1, 0, 0, 0, 357, 358, 6, 30, 26, 0, 358, 359, 6, 30, 1, 0, 359, 68, 1, 0, 0, 0, 360, 361,
416
+ 4, 31, 4, 0, 361, 362, 5, 58, 0, 0, 362, 363, 9, 0, 0, 0, 363, 364, 6, 31, 27, 0, 364,
417
+ 365, 1, 0, 0, 0, 365, 366, 6, 31, 28, 0, 366, 367, 6, 31, 29, 0, 367, 70, 1, 0, 0, 0, 368,
418
+ 370, 8, 9, 0, 0, 369, 368, 1, 0, 0, 0, 370, 371, 1, 0, 0, 0, 371, 369, 1, 0, 0, 0, 371,
419
+ 372, 1, 0, 0, 0, 372, 373, 1, 0, 0, 0, 373, 374, 6, 32, 30, 0, 374, 72, 1, 0, 0, 0, 375,
420
+ 376, 5, 58, 0, 0, 376, 377, 1, 0, 0, 0, 377, 378, 6, 33, 30, 0, 378, 74, 1, 0, 0, 0, 36,
421
+ 0, 1, 2, 3, 4, 5, 6, 78, 82, 87, 91, 96, 98, 110, 124, 138, 152, 166, 180, 194, 208,
422
+ 222, 235, 237, 242, 281, 292, 294, 306, 311, 316, 328, 336, 349, 351, 371, 31, 1,
423
+ 2, 0, 2, 1, 0, 1, 3, 1, 1, 4, 2, 1, 5, 3, 1, 6, 4, 1, 7, 5, 1, 8, 6, 1, 9, 7, 1, 10, 8, 6, 0, 0,
424
+ 7, 1, 0, 2, 2, 0, 2, 3, 0, 2, 4, 0, 7, 3, 0, 2, 5, 0, 7, 5, 0, 7, 6, 0, 2, 6, 0, 7, 7, 0, 7, 10,
425
+ 0, 7, 2, 0, 7, 8, 0, 7, 9, 0, 7, 11, 0, 7, 4, 0, 1, 31, 9, 7, 13, 0, 2, 0, 0, 7, 12, 0
426
+ ];
427
+ static __ATN;
428
+ static get _ATN() {
429
+ if (!plurnkLexer.__ATN) {
430
+ plurnkLexer.__ATN = new antlr.ATNDeserializer().deserialize(plurnkLexer._serializedATN);
431
+ }
432
+ return plurnkLexer.__ATN;
433
+ }
434
+ static vocabulary = new antlr.Vocabulary(plurnkLexer.literalNames, plurnkLexer.symbolicNames, []);
435
+ get vocabulary() {
436
+ return plurnkLexer.vocabulary;
437
+ }
438
+ static decisionsToDFA = plurnkLexer._ATN.decisionToState.map((ds, index) => new antlr.DFA(ds, index));
439
+ }
440
+ //# sourceMappingURL=plurnkLexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plurnkLexer.js","sourceRoot":"","sources":["../../../src/generated/plurnkLexer.ts"],"names":[],"mappings":"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CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QAChE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QAChE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QAChE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QACjE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACjE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QAChE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QAC/D,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG;QAChE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QAChE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QAChE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;QAChE,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;QAC/D,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QACjE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QAC/D,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QAChE,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE;QAC/D,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QACjE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QAChE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE;QAC/D,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QAC/D,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;QACjE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QAChE,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAChE,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;QACjE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;QACjE,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;QAC/D,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QAChE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;QAClE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QACjE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;QACjE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QAChE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAC/D,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QAC/D,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE;QACjE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE;QAChE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QAChE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QAChE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACjE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAChE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAClE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QAChE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACjE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACjE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QAC/D,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QAChE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QAC/D,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QAChE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAC/D,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAC/D,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QAC/D,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QAC/D,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG;QAChE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QAChE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QAC/D,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE;QAC/D,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE;QACjE,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAClE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAChE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACjE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACjE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACjE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAChE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAChE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QAC/D,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAClE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACjE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACjE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QAC/D,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACjE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACjE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG;QAC/D,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QAClE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QAC/D,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QAChE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG;QAC/D,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QAChE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;KAC9D,CAAC;IAEM,MAAM,CAAC,KAAK,CAAY;IACzB,MAAM,KAAK,IAAI;QAClB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACrB,WAAW,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,WAAW,CAAC,KAAK,CAAC;IAC7B,CAAC;IAGO,MAAM,CAAU,UAAU,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAEnH,IAAoB,UAAU;QAC1B,OAAO,WAAW,CAAC,UAAU,CAAC;IAClC,CAAC;IAEO,MAAM,CAAU,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAE,CAAC,EAAuB,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAE,CAAC"}