circuitscript 0.0.18 → 0.0.19

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.
@@ -19,39 +19,40 @@ export default class CircuitScriptParser extends Parser {
19
19
  static At = 17;
20
20
  static To = 18;
21
21
  static Point = 19;
22
- static Return = 20;
23
- static Define = 21;
24
- static Import = 22;
25
- static Join = 23;
26
- static If = 24;
27
- static Not = 25;
28
- static Equals = 26;
29
- static NotEquals = 27;
30
- static Addition = 28;
31
- static Minus = 29;
32
- static Divide = 30;
33
- static Multiply = 31;
34
- static OPEN_PAREN = 32;
35
- static CLOSE_PAREN = 33;
36
- static NOT_CONNECTED = 34;
37
- static BOOLEAN_VALUE = 35;
38
- static ID = 36;
39
- static INTEGER_VALUE = 37;
40
- static DECIMAL_VALUE = 38;
41
- static NUMERIC_VALUE = 39;
42
- static STRING_VALUE = 40;
43
- static PERCENTAGE_VALUE = 41;
44
- static ALPHA_NUMERIC = 42;
45
- static WS = 43;
46
- static NEWLINE = 44;
47
- static SKIP_ = 45;
48
- static INDENT = 46;
49
- static DEDENT = 47;
22
+ static Join = 20;
23
+ static Parallel = 21;
24
+ static Return = 22;
25
+ static Define = 23;
26
+ static Import = 24;
27
+ static If = 25;
28
+ static Not = 26;
29
+ static Equals = 27;
30
+ static NotEquals = 28;
31
+ static Addition = 29;
32
+ static Minus = 30;
33
+ static Divide = 31;
34
+ static Multiply = 32;
35
+ static OPEN_PAREN = 33;
36
+ static CLOSE_PAREN = 34;
37
+ static NOT_CONNECTED = 35;
38
+ static BOOLEAN_VALUE = 36;
39
+ static ID = 37;
40
+ static INTEGER_VALUE = 38;
41
+ static DECIMAL_VALUE = 39;
42
+ static NUMERIC_VALUE = 40;
43
+ static STRING_VALUE = 41;
44
+ static PERCENTAGE_VALUE = 42;
45
+ static ALPHA_NUMERIC = 43;
46
+ static WS = 44;
47
+ static NEWLINE = 45;
48
+ static SKIP_ = 46;
49
+ static INDENT = 47;
50
+ static DEDENT = 48;
50
51
  static EOF = Token.EOF;
51
52
  static RULE_script = 0;
52
53
  static RULE_expression = 1;
53
- static RULE_branch_blocks = 2;
54
- static RULE_branch_block_inner = 3;
54
+ static RULE_path_blocks = 2;
55
+ static RULE_path_block_inner = 3;
55
56
  static RULE_property_set_expr2 = 4;
56
57
  static RULE_assignment_expr2 = 5;
57
58
  static RULE_data_expr_with_assignment = 6;
@@ -109,14 +110,14 @@ export default class CircuitScriptParser extends Parser {
109
110
  "'wire'", "'pin'",
110
111
  "'add'", "'at'",
111
112
  "'to'", "'point'",
113
+ "'join'", "'parallel'",
112
114
  "'return'",
113
115
  "'def'", "'import'",
114
- "'join'", "'if'",
115
- "'!'", "'=='",
116
- "'!='", "'+'",
117
- "'-'", "'/'",
118
- "'*'", "'('",
119
- "')'"];
116
+ "'if'", "'!'",
117
+ "'=='", "'!='",
118
+ "'+'", "'-'",
119
+ "'/'", "'*'",
120
+ "'('", "')'"];
120
121
  static symbolicNames = [null, null,
121
122
  null, null,
122
123
  null, null,
@@ -128,10 +129,11 @@ export default class CircuitScriptParser extends Parser {
128
129
  "Wire", "Pin",
129
130
  "Add", "At",
130
131
  "To", "Point",
132
+ "Join", "Parallel",
131
133
  "Return", "Define",
132
- "Import", "Join",
133
- "If", "Not",
134
- "Equals", "NotEquals",
134
+ "Import", "If",
135
+ "Not", "Equals",
136
+ "NotEquals",
135
137
  "Addition",
136
138
  "Minus", "Divide",
137
139
  "Multiply",
@@ -149,7 +151,7 @@ export default class CircuitScriptParser extends Parser {
149
151
  "SKIP_", "INDENT",
150
152
  "DEDENT"];
151
153
  static ruleNames = [
152
- "script", "expression", "branch_blocks", "branch_block_inner", "property_set_expr2",
154
+ "script", "expression", "path_blocks", "path_block_inner", "property_set_expr2",
153
155
  "assignment_expr2", "data_expr_with_assignment", "add_component_expr",
154
156
  "component_select_expr", "pin_select_expr", "pin_select_expr2", "at_component_expr",
155
157
  "to_component_expr", "at_to_multiple_expr", "at_to_multiple_line_expr",
@@ -199,18 +201,19 @@ export default class CircuitScriptParser extends Parser {
199
201
  case 17:
200
202
  case 18:
201
203
  case 19:
204
+ case 20:
202
205
  case 21:
203
- case 22:
204
206
  case 23:
205
- case 28:
206
- case 30:
207
- case 36:
207
+ case 24:
208
+ case 29:
209
+ case 31:
210
+ case 37:
208
211
  {
209
212
  this.state = 98;
210
213
  this.expression();
211
214
  }
212
215
  break;
213
- case 44:
216
+ case 45:
214
217
  {
215
218
  this.state = 99;
216
219
  this.match(CircuitScriptParser.NEWLINE);
@@ -223,7 +226,7 @@ export default class CircuitScriptParser extends Parser {
223
226
  this.state = 102;
224
227
  this._errHandler.sync(this);
225
228
  _la = this._input.LA(1);
226
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la === 36 || _la === 44);
229
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la === 37 || _la === 45);
227
230
  this.state = 104;
228
231
  this.match(CircuitScriptParser.EOF);
229
232
  }
@@ -324,42 +327,42 @@ export default class CircuitScriptParser extends Parser {
324
327
  this.enterOuterAlt(localctx, 11);
325
328
  {
326
329
  this.state = 116;
327
- this.point_expr();
330
+ this.import_expr();
328
331
  }
329
332
  break;
330
333
  case 12:
331
334
  this.enterOuterAlt(localctx, 12);
332
335
  {
333
336
  this.state = 117;
334
- this.import_expr();
337
+ this.frame_expr();
335
338
  }
336
339
  break;
337
340
  case 13:
338
341
  this.enterOuterAlt(localctx, 13);
339
342
  {
340
343
  this.state = 118;
341
- this.frame_expr();
344
+ this.atom_expr();
342
345
  }
343
346
  break;
344
347
  case 14:
345
348
  this.enterOuterAlt(localctx, 14);
346
349
  {
347
350
  this.state = 119;
348
- this.atom_expr();
351
+ this.at_block();
349
352
  }
350
353
  break;
351
354
  case 15:
352
355
  this.enterOuterAlt(localctx, 15);
353
356
  {
354
357
  this.state = 120;
355
- this.at_block();
358
+ this.path_blocks();
356
359
  }
357
360
  break;
358
361
  case 16:
359
362
  this.enterOuterAlt(localctx, 16);
360
363
  {
361
364
  this.state = 121;
362
- this.branch_blocks();
365
+ this.point_expr();
363
366
  }
364
367
  break;
365
368
  }
@@ -379,9 +382,9 @@ export default class CircuitScriptParser extends Parser {
379
382
  }
380
383
  return localctx;
381
384
  }
382
- branch_blocks() {
383
- let localctx = new Branch_blocksContext(this, this._ctx, this.state);
384
- this.enterRule(localctx, 4, CircuitScriptParser.RULE_branch_blocks);
385
+ path_blocks() {
386
+ let localctx = new Path_blocksContext(this, this._ctx, this.state);
387
+ this.enterRule(localctx, 4, CircuitScriptParser.RULE_path_blocks);
385
388
  try {
386
389
  let _alt;
387
390
  this.enterOuterAlt(localctx, 1);
@@ -395,7 +398,7 @@ export default class CircuitScriptParser extends Parser {
395
398
  {
396
399
  {
397
400
  this.state = 124;
398
- this.branch_block_inner();
401
+ this.path_block_inner();
399
402
  }
400
403
  }
401
404
  break;
@@ -423,16 +426,16 @@ export default class CircuitScriptParser extends Parser {
423
426
  }
424
427
  return localctx;
425
428
  }
426
- branch_block_inner() {
427
- let localctx = new Branch_block_innerContext(this, this._ctx, this.state);
428
- this.enterRule(localctx, 6, CircuitScriptParser.RULE_branch_block_inner);
429
+ path_block_inner() {
430
+ let localctx = new Path_block_innerContext(this, this._ctx, this.state);
431
+ this.enterRule(localctx, 6, CircuitScriptParser.RULE_path_block_inner);
429
432
  let _la;
430
433
  try {
431
434
  this.enterOuterAlt(localctx, 1);
432
435
  {
433
436
  this.state = 129;
434
437
  _la = this._input.LA(1);
435
- if (!(_la === 10 || _la === 23)) {
438
+ if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 3671040) !== 0))) {
436
439
  this._errHandler.recoverInline(this);
437
440
  }
438
441
  else {
@@ -453,7 +456,7 @@ export default class CircuitScriptParser extends Parser {
453
456
  this.state = 135;
454
457
  this._errHandler.sync(this);
455
458
  switch (this._input.LA(1)) {
456
- case 44:
459
+ case 45:
457
460
  {
458
461
  this.state = 133;
459
462
  this.match(CircuitScriptParser.NEWLINE);
@@ -468,12 +471,13 @@ export default class CircuitScriptParser extends Parser {
468
471
  case 17:
469
472
  case 18:
470
473
  case 19:
474
+ case 20:
471
475
  case 21:
472
- case 22:
473
476
  case 23:
474
- case 28:
475
- case 30:
476
- case 36:
477
+ case 24:
478
+ case 29:
479
+ case 31:
480
+ case 37:
477
481
  {
478
482
  this.state = 134;
479
483
  this.expression();
@@ -486,7 +490,7 @@ export default class CircuitScriptParser extends Parser {
486
490
  this.state = 137;
487
491
  this._errHandler.sync(this);
488
492
  _la = this._input.LA(1);
489
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la === 36 || _la === 44);
493
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la === 37 || _la === 45);
490
494
  this.state = 139;
491
495
  this.match(CircuitScriptParser.DEDENT);
492
496
  }
@@ -529,14 +533,14 @@ export default class CircuitScriptParser extends Parser {
529
533
  this.state = 147;
530
534
  this._errHandler.sync(this);
531
535
  switch (this._input.LA(1)) {
532
- case 44:
536
+ case 45:
533
537
  {
534
538
  this.state = 145;
535
539
  this.match(CircuitScriptParser.NEWLINE);
536
540
  }
537
541
  break;
538
- case 36:
539
542
  case 37:
543
+ case 38:
540
544
  {
541
545
  this.state = 146;
542
546
  this.assignment_expr2();
@@ -549,7 +553,7 @@ export default class CircuitScriptParser extends Parser {
549
553
  this.state = 149;
550
554
  this._errHandler.sync(this);
551
555
  _la = this._input.LA(1);
552
- } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 259) !== 0));
556
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 259) !== 0));
553
557
  this.state = 151;
554
558
  this.match(CircuitScriptParser.DEDENT);
555
559
  }
@@ -578,7 +582,7 @@ export default class CircuitScriptParser extends Parser {
578
582
  {
579
583
  this.state = 153;
580
584
  _la = this._input.LA(1);
581
- if (!(_la === 36 || _la === 37)) {
585
+ if (!(_la === 37 || _la === 38)) {
582
586
  this._errHandler.recoverInline(this);
583
587
  }
584
588
  else {
@@ -701,18 +705,18 @@ export default class CircuitScriptParser extends Parser {
701
705
  switch (this._input.LA(1)) {
702
706
  case 6:
703
707
  case 11:
704
- case 25:
705
- case 28:
708
+ case 26:
706
709
  case 29:
707
710
  case 30:
708
- case 32:
709
- case 35:
711
+ case 31:
712
+ case 33:
710
713
  case 36:
711
714
  case 37:
712
715
  case 38:
713
716
  case 39:
714
717
  case 40:
715
718
  case 41:
719
+ case 42:
716
720
  this.enterOuterAlt(localctx, 1);
717
721
  {
718
722
  this.state = 169;
@@ -756,7 +760,7 @@ export default class CircuitScriptParser extends Parser {
756
760
  this.match(CircuitScriptParser.Pin);
757
761
  this.state = 174;
758
762
  _la = this._input.LA(1);
759
- if (!(_la === 37 || _la === 40)) {
763
+ if (!(_la === 38 || _la === 41)) {
760
764
  this._errHandler.recoverInline(this);
761
765
  }
762
766
  else {
@@ -789,7 +793,7 @@ export default class CircuitScriptParser extends Parser {
789
793
  {
790
794
  this.state = 176;
791
795
  _la = this._input.LA(1);
792
- if (!(_la === 37 || _la === 40)) {
796
+ if (!(_la === 38 || _la === 41)) {
793
797
  this._errHandler.recoverInline(this);
794
798
  }
795
799
  else {
@@ -821,17 +825,49 @@ export default class CircuitScriptParser extends Parser {
821
825
  {
822
826
  this.state = 178;
823
827
  this.match(CircuitScriptParser.At);
824
- this.state = 179;
825
- this.component_select_expr();
826
- this.state = 181;
828
+ this.state = 184;
827
829
  this._errHandler.sync(this);
828
- switch (this._interp.adaptivePredict(this._input, 12, this._ctx)) {
829
- case 1:
830
+ switch (this._input.LA(1)) {
831
+ case 6:
832
+ case 11:
833
+ case 15:
834
+ case 26:
835
+ case 29:
836
+ case 30:
837
+ case 31:
838
+ case 33:
839
+ case 36:
840
+ case 37:
841
+ case 38:
842
+ case 39:
843
+ case 40:
844
+ case 41:
845
+ case 42:
830
846
  {
831
- this.state = 180;
832
- this.match(CircuitScriptParser.ID);
847
+ {
848
+ this.state = 179;
849
+ this.component_select_expr();
850
+ this.state = 181;
851
+ this._errHandler.sync(this);
852
+ switch (this._interp.adaptivePredict(this._input, 12, this._ctx)) {
853
+ case 1:
854
+ {
855
+ this.state = 180;
856
+ this.match(CircuitScriptParser.ID);
857
+ }
858
+ break;
859
+ }
860
+ }
833
861
  }
834
862
  break;
863
+ case 19:
864
+ {
865
+ this.state = 183;
866
+ this.match(CircuitScriptParser.Point);
867
+ }
868
+ break;
869
+ default:
870
+ throw new NoViableAltException(this);
835
871
  }
836
872
  }
837
873
  }
@@ -857,35 +893,67 @@ export default class CircuitScriptParser extends Parser {
857
893
  try {
858
894
  this.enterOuterAlt(localctx, 1);
859
895
  {
860
- this.state = 183;
896
+ this.state = 186;
861
897
  this.match(CircuitScriptParser.To);
862
- this.state = 184;
863
- this.component_select_expr();
864
- this.state = 189;
898
+ this.state = 199;
865
899
  this._errHandler.sync(this);
866
- _la = this._input.LA(1);
867
- while (_la === 2) {
868
- {
900
+ switch (this._input.LA(1)) {
901
+ case 6:
902
+ case 11:
903
+ case 15:
904
+ case 26:
905
+ case 29:
906
+ case 30:
907
+ case 31:
908
+ case 33:
909
+ case 36:
910
+ case 37:
911
+ case 38:
912
+ case 39:
913
+ case 40:
914
+ case 41:
915
+ case 42:
869
916
  {
870
- this.state = 185;
871
- this.match(CircuitScriptParser.T__1);
872
- this.state = 186;
873
- this.component_select_expr();
917
+ {
918
+ this.state = 187;
919
+ this.component_select_expr();
920
+ this.state = 192;
921
+ this._errHandler.sync(this);
922
+ _la = this._input.LA(1);
923
+ while (_la === 2) {
924
+ {
925
+ {
926
+ this.state = 188;
927
+ this.match(CircuitScriptParser.T__1);
928
+ this.state = 189;
929
+ this.component_select_expr();
930
+ }
931
+ }
932
+ this.state = 194;
933
+ this._errHandler.sync(this);
934
+ _la = this._input.LA(1);
935
+ }
936
+ this.state = 196;
937
+ this._errHandler.sync(this);
938
+ switch (this._interp.adaptivePredict(this._input, 15, this._ctx)) {
939
+ case 1:
940
+ {
941
+ this.state = 195;
942
+ this.match(CircuitScriptParser.ID);
943
+ }
944
+ break;
945
+ }
946
+ }
874
947
  }
875
- }
876
- this.state = 191;
877
- this._errHandler.sync(this);
878
- _la = this._input.LA(1);
879
- }
880
- this.state = 193;
881
- this._errHandler.sync(this);
882
- switch (this._interp.adaptivePredict(this._input, 14, this._ctx)) {
883
- case 1:
948
+ break;
949
+ case 19:
884
950
  {
885
- this.state = 192;
886
- this.match(CircuitScriptParser.ID);
951
+ this.state = 198;
952
+ this.match(CircuitScriptParser.Point);
887
953
  }
888
954
  break;
955
+ default:
956
+ throw new NoViableAltException(this);
889
957
  }
890
958
  }
891
959
  }
@@ -911,54 +979,54 @@ export default class CircuitScriptParser extends Parser {
911
979
  try {
912
980
  this.enterOuterAlt(localctx, 1);
913
981
  {
914
- this.state = 195;
982
+ this.state = 201;
915
983
  this.match(CircuitScriptParser.At);
916
- this.state = 196;
984
+ this.state = 202;
917
985
  this.component_select_expr();
918
- this.state = 197;
986
+ this.state = 203;
919
987
  this.match(CircuitScriptParser.To);
920
- this.state = 198;
988
+ this.state = 204;
921
989
  this.component_select_expr();
922
- this.state = 203;
990
+ this.state = 209;
923
991
  this._errHandler.sync(this);
924
992
  _la = this._input.LA(1);
925
993
  while (_la === 2) {
926
994
  {
927
995
  {
928
- this.state = 199;
996
+ this.state = 205;
929
997
  this.match(CircuitScriptParser.T__1);
930
- this.state = 200;
998
+ this.state = 206;
931
999
  this.component_select_expr();
932
1000
  }
933
1001
  }
934
- this.state = 205;
1002
+ this.state = 211;
935
1003
  this._errHandler.sync(this);
936
1004
  _la = this._input.LA(1);
937
1005
  }
938
- this.state = 206;
1006
+ this.state = 212;
939
1007
  this.match(CircuitScriptParser.T__0);
940
- this.state = 207;
1008
+ this.state = 213;
941
1009
  this.match(CircuitScriptParser.NEWLINE);
942
- this.state = 208;
1010
+ this.state = 214;
943
1011
  this.match(CircuitScriptParser.INDENT);
944
- this.state = 211;
1012
+ this.state = 217;
945
1013
  this._errHandler.sync(this);
946
1014
  _la = this._input.LA(1);
947
1015
  do {
948
1016
  {
949
- this.state = 211;
1017
+ this.state = 217;
950
1018
  this._errHandler.sync(this);
951
1019
  switch (this._input.LA(1)) {
952
- case 44:
1020
+ case 45:
953
1021
  {
954
- this.state = 209;
1022
+ this.state = 215;
955
1023
  this.match(CircuitScriptParser.NEWLINE);
956
1024
  }
957
1025
  break;
958
- case 37:
959
- case 40:
1026
+ case 38:
1027
+ case 41:
960
1028
  {
961
- this.state = 210;
1029
+ this.state = 216;
962
1030
  this.at_to_multiple_line_expr();
963
1031
  }
964
1032
  break;
@@ -966,11 +1034,11 @@ export default class CircuitScriptParser extends Parser {
966
1034
  throw new NoViableAltException(this);
967
1035
  }
968
1036
  }
969
- this.state = 213;
1037
+ this.state = 219;
970
1038
  this._errHandler.sync(this);
971
1039
  _la = this._input.LA(1);
972
- } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 137) !== 0));
973
- this.state = 215;
1040
+ } while (((((_la - 38)) & ~0x1F) === 0 && ((1 << (_la - 38)) & 137) !== 0));
1041
+ this.state = 221;
974
1042
  this.match(CircuitScriptParser.DEDENT);
975
1043
  }
976
1044
  }
@@ -996,25 +1064,25 @@ export default class CircuitScriptParser extends Parser {
996
1064
  try {
997
1065
  this.enterOuterAlt(localctx, 1);
998
1066
  {
999
- this.state = 217;
1067
+ this.state = 223;
1000
1068
  this.pin_select_expr2();
1001
- this.state = 218;
1069
+ this.state = 224;
1002
1070
  this.match(CircuitScriptParser.T__0);
1003
- this.state = 219;
1071
+ this.state = 225;
1004
1072
  this.at_to_multiple_line_expr_to_pin();
1005
- this.state = 224;
1073
+ this.state = 230;
1006
1074
  this._errHandler.sync(this);
1007
1075
  _la = this._input.LA(1);
1008
1076
  while (_la === 2) {
1009
1077
  {
1010
1078
  {
1011
- this.state = 220;
1079
+ this.state = 226;
1012
1080
  this.match(CircuitScriptParser.T__1);
1013
- this.state = 221;
1081
+ this.state = 227;
1014
1082
  this.at_to_multiple_line_expr_to_pin();
1015
1083
  }
1016
1084
  }
1017
- this.state = 226;
1085
+ this.state = 232;
1018
1086
  this._errHandler.sync(this);
1019
1087
  _la = this._input.LA(1);
1020
1088
  }
@@ -1042,9 +1110,9 @@ export default class CircuitScriptParser extends Parser {
1042
1110
  try {
1043
1111
  this.enterOuterAlt(localctx, 1);
1044
1112
  {
1045
- this.state = 227;
1113
+ this.state = 233;
1046
1114
  _la = this._input.LA(1);
1047
- if (!(_la === 34 || _la === 37)) {
1115
+ if (!(_la === 35 || _la === 38)) {
1048
1116
  this._errHandler.recoverInline(this);
1049
1117
  }
1050
1118
  else {
@@ -1075,25 +1143,25 @@ export default class CircuitScriptParser extends Parser {
1075
1143
  try {
1076
1144
  this.enterOuterAlt(localctx, 1);
1077
1145
  {
1078
- this.state = 229;
1146
+ this.state = 235;
1079
1147
  this.at_component_expr();
1080
- this.state = 230;
1148
+ this.state = 236;
1081
1149
  this.match(CircuitScriptParser.T__0);
1082
- this.state = 231;
1150
+ this.state = 237;
1083
1151
  this.match(CircuitScriptParser.NEWLINE);
1084
- this.state = 232;
1152
+ this.state = 238;
1085
1153
  this.match(CircuitScriptParser.INDENT);
1086
- this.state = 235;
1154
+ this.state = 241;
1087
1155
  this._errHandler.sync(this);
1088
1156
  _la = this._input.LA(1);
1089
1157
  do {
1090
1158
  {
1091
- this.state = 235;
1159
+ this.state = 241;
1092
1160
  this._errHandler.sync(this);
1093
1161
  switch (this._input.LA(1)) {
1094
- case 44:
1162
+ case 45:
1095
1163
  {
1096
- this.state = 233;
1164
+ this.state = 239;
1097
1165
  this.match(CircuitScriptParser.NEWLINE);
1098
1166
  }
1099
1167
  break;
@@ -1106,16 +1174,17 @@ export default class CircuitScriptParser extends Parser {
1106
1174
  case 17:
1107
1175
  case 18:
1108
1176
  case 19:
1177
+ case 20:
1109
1178
  case 21:
1110
- case 22:
1111
1179
  case 23:
1112
- case 28:
1113
- case 30:
1114
- case 36:
1180
+ case 24:
1181
+ case 29:
1182
+ case 31:
1115
1183
  case 37:
1116
- case 40:
1184
+ case 38:
1185
+ case 41:
1117
1186
  {
1118
- this.state = 234;
1187
+ this.state = 240;
1119
1188
  this.at_block_expressions();
1120
1189
  }
1121
1190
  break;
@@ -1123,11 +1192,11 @@ export default class CircuitScriptParser extends Parser {
1123
1192
  throw new NoViableAltException(this);
1124
1193
  }
1125
1194
  }
1126
- this.state = 237;
1195
+ this.state = 243;
1127
1196
  this._errHandler.sync(this);
1128
1197
  _la = this._input.LA(1);
1129
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
1130
- this.state = 239;
1198
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || ((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
1199
+ this.state = 245;
1131
1200
  this.match(CircuitScriptParser.DEDENT);
1132
1201
  }
1133
1202
  }
@@ -1150,7 +1219,7 @@ export default class CircuitScriptParser extends Parser {
1150
1219
  let localctx = new At_block_expressionsContext(this, this._ctx, this.state);
1151
1220
  this.enterRule(localctx, 34, CircuitScriptParser.RULE_at_block_expressions);
1152
1221
  try {
1153
- this.state = 243;
1222
+ this.state = 249;
1154
1223
  this._errHandler.sync(this);
1155
1224
  switch (this._input.LA(1)) {
1156
1225
  case 4:
@@ -1162,23 +1231,24 @@ export default class CircuitScriptParser extends Parser {
1162
1231
  case 17:
1163
1232
  case 18:
1164
1233
  case 19:
1234
+ case 20:
1165
1235
  case 21:
1166
- case 22:
1167
1236
  case 23:
1168
- case 28:
1169
- case 30:
1170
- case 36:
1237
+ case 24:
1238
+ case 29:
1239
+ case 31:
1240
+ case 37:
1171
1241
  this.enterOuterAlt(localctx, 1);
1172
1242
  {
1173
- this.state = 241;
1243
+ this.state = 247;
1174
1244
  this.expression();
1175
1245
  }
1176
1246
  break;
1177
- case 37:
1178
- case 40:
1247
+ case 38:
1248
+ case 41:
1179
1249
  this.enterOuterAlt(localctx, 2);
1180
1250
  {
1181
- this.state = 242;
1251
+ this.state = 248;
1182
1252
  this.at_block_pin_expr();
1183
1253
  }
1184
1254
  break;
@@ -1207,11 +1277,11 @@ export default class CircuitScriptParser extends Parser {
1207
1277
  try {
1208
1278
  this.enterOuterAlt(localctx, 1);
1209
1279
  {
1210
- this.state = 245;
1280
+ this.state = 251;
1211
1281
  this.pin_select_expr2();
1212
- this.state = 246;
1282
+ this.state = 252;
1213
1283
  this.match(CircuitScriptParser.T__0);
1214
- this.state = 249;
1284
+ this.state = 255;
1215
1285
  this._errHandler.sync(this);
1216
1286
  switch (this._input.LA(1)) {
1217
1287
  case 4:
@@ -1223,21 +1293,22 @@ export default class CircuitScriptParser extends Parser {
1223
1293
  case 17:
1224
1294
  case 18:
1225
1295
  case 19:
1296
+ case 20:
1226
1297
  case 21:
1227
- case 22:
1228
1298
  case 23:
1229
- case 28:
1230
- case 30:
1231
- case 34:
1232
- case 36:
1299
+ case 24:
1300
+ case 29:
1301
+ case 31:
1302
+ case 35:
1303
+ case 37:
1233
1304
  {
1234
- this.state = 247;
1305
+ this.state = 253;
1235
1306
  this.at_block_pin_expression_simple();
1236
1307
  }
1237
1308
  break;
1238
- case 44:
1309
+ case 45:
1239
1310
  {
1240
- this.state = 248;
1311
+ this.state = 254;
1241
1312
  this.at_block_pin_expression_complex();
1242
1313
  }
1243
1314
  break;
@@ -1267,7 +1338,7 @@ export default class CircuitScriptParser extends Parser {
1267
1338
  try {
1268
1339
  this.enterOuterAlt(localctx, 1);
1269
1340
  {
1270
- this.state = 253;
1341
+ this.state = 259;
1271
1342
  this._errHandler.sync(this);
1272
1343
  switch (this._input.LA(1)) {
1273
1344
  case 4:
@@ -1279,20 +1350,21 @@ export default class CircuitScriptParser extends Parser {
1279
1350
  case 17:
1280
1351
  case 18:
1281
1352
  case 19:
1353
+ case 20:
1282
1354
  case 21:
1283
- case 22:
1284
1355
  case 23:
1285
- case 28:
1286
- case 30:
1287
- case 36:
1356
+ case 24:
1357
+ case 29:
1358
+ case 31:
1359
+ case 37:
1288
1360
  {
1289
- this.state = 251;
1361
+ this.state = 257;
1290
1362
  this.expression();
1291
1363
  }
1292
1364
  break;
1293
- case 34:
1365
+ case 35:
1294
1366
  {
1295
- this.state = 252;
1367
+ this.state = 258;
1296
1368
  this.match(CircuitScriptParser.NOT_CONNECTED);
1297
1369
  }
1298
1370
  break;
@@ -1323,21 +1395,21 @@ export default class CircuitScriptParser extends Parser {
1323
1395
  try {
1324
1396
  this.enterOuterAlt(localctx, 1);
1325
1397
  {
1326
- this.state = 255;
1398
+ this.state = 261;
1327
1399
  this.match(CircuitScriptParser.NEWLINE);
1328
- this.state = 256;
1400
+ this.state = 262;
1329
1401
  this.match(CircuitScriptParser.INDENT);
1330
- this.state = 259;
1402
+ this.state = 265;
1331
1403
  this._errHandler.sync(this);
1332
1404
  _la = this._input.LA(1);
1333
1405
  do {
1334
1406
  {
1335
- this.state = 259;
1407
+ this.state = 265;
1336
1408
  this._errHandler.sync(this);
1337
1409
  switch (this._input.LA(1)) {
1338
- case 44:
1410
+ case 45:
1339
1411
  {
1340
- this.state = 257;
1412
+ this.state = 263;
1341
1413
  this.match(CircuitScriptParser.NEWLINE);
1342
1414
  }
1343
1415
  break;
@@ -1350,14 +1422,15 @@ export default class CircuitScriptParser extends Parser {
1350
1422
  case 17:
1351
1423
  case 18:
1352
1424
  case 19:
1425
+ case 20:
1353
1426
  case 21:
1354
- case 22:
1355
1427
  case 23:
1356
- case 28:
1357
- case 30:
1358
- case 36:
1428
+ case 24:
1429
+ case 29:
1430
+ case 31:
1431
+ case 37:
1359
1432
  {
1360
- this.state = 258;
1433
+ this.state = 264;
1361
1434
  this.expression();
1362
1435
  }
1363
1436
  break;
@@ -1365,11 +1438,11 @@ export default class CircuitScriptParser extends Parser {
1365
1438
  throw new NoViableAltException(this);
1366
1439
  }
1367
1440
  }
1368
- this.state = 261;
1441
+ this.state = 267;
1369
1442
  this._errHandler.sync(this);
1370
1443
  _la = this._input.LA(1);
1371
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la === 36 || _la === 44);
1372
- this.state = 263;
1444
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la === 37 || _la === 45);
1445
+ this.state = 269;
1373
1446
  this.match(CircuitScriptParser.DEDENT);
1374
1447
  }
1375
1448
  }
@@ -1394,7 +1467,7 @@ export default class CircuitScriptParser extends Parser {
1394
1467
  try {
1395
1468
  this.enterOuterAlt(localctx, 1);
1396
1469
  {
1397
- this.state = 265;
1470
+ this.state = 271;
1398
1471
  this.match(CircuitScriptParser.Break);
1399
1472
  }
1400
1473
  }
@@ -1419,11 +1492,11 @@ export default class CircuitScriptParser extends Parser {
1419
1492
  try {
1420
1493
  this.enterOuterAlt(localctx, 1);
1421
1494
  {
1422
- this.state = 267;
1495
+ this.state = 273;
1423
1496
  this.atom_expr();
1424
- this.state = 268;
1497
+ this.state = 274;
1425
1498
  this.match(CircuitScriptParser.T__2);
1426
- this.state = 269;
1499
+ this.state = 275;
1427
1500
  this.data_expr(0);
1428
1501
  }
1429
1502
  }
@@ -1448,11 +1521,11 @@ export default class CircuitScriptParser extends Parser {
1448
1521
  try {
1449
1522
  this.enterOuterAlt(localctx, 1);
1450
1523
  {
1451
- this.state = 271;
1524
+ this.state = 277;
1452
1525
  this.match(CircuitScriptParser.ID);
1453
- this.state = 272;
1526
+ this.state = 278;
1454
1527
  this.match(CircuitScriptParser.T__2);
1455
- this.state = 273;
1528
+ this.state = 279;
1456
1529
  this.data_expr(0);
1457
1530
  }
1458
1531
  }
@@ -1477,46 +1550,46 @@ export default class CircuitScriptParser extends Parser {
1477
1550
  let _la;
1478
1551
  try {
1479
1552
  let _alt;
1480
- this.state = 298;
1553
+ this.state = 304;
1481
1554
  this._errHandler.sync(this);
1482
- switch (this._interp.adaptivePredict(this._input, 29, this._ctx)) {
1555
+ switch (this._interp.adaptivePredict(this._input, 31, this._ctx)) {
1483
1556
  case 1:
1484
1557
  this.enterOuterAlt(localctx, 1);
1485
1558
  {
1486
1559
  {
1487
- this.state = 275;
1560
+ this.state = 281;
1488
1561
  this.data_expr(0);
1489
- this.state = 280;
1562
+ this.state = 286;
1490
1563
  this._errHandler.sync(this);
1491
- _alt = this._interp.adaptivePredict(this._input, 26, this._ctx);
1564
+ _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
1492
1565
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
1493
1566
  if (_alt === 1) {
1494
1567
  {
1495
1568
  {
1496
- this.state = 276;
1569
+ this.state = 282;
1497
1570
  this.match(CircuitScriptParser.T__1);
1498
- this.state = 277;
1571
+ this.state = 283;
1499
1572
  this.data_expr(0);
1500
1573
  }
1501
1574
  }
1502
1575
  }
1503
- this.state = 282;
1576
+ this.state = 288;
1504
1577
  this._errHandler.sync(this);
1505
- _alt = this._interp.adaptivePredict(this._input, 26, this._ctx);
1578
+ _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
1506
1579
  }
1507
- this.state = 287;
1580
+ this.state = 293;
1508
1581
  this._errHandler.sync(this);
1509
1582
  _la = this._input.LA(1);
1510
1583
  while (_la === 2) {
1511
1584
  {
1512
1585
  {
1513
- this.state = 283;
1586
+ this.state = 289;
1514
1587
  this.match(CircuitScriptParser.T__1);
1515
- this.state = 284;
1588
+ this.state = 290;
1516
1589
  this.keyword_assignment_expr();
1517
1590
  }
1518
1591
  }
1519
- this.state = 289;
1592
+ this.state = 295;
1520
1593
  this._errHandler.sync(this);
1521
1594
  _la = this._input.LA(1);
1522
1595
  }
@@ -1527,21 +1600,21 @@ export default class CircuitScriptParser extends Parser {
1527
1600
  this.enterOuterAlt(localctx, 2);
1528
1601
  {
1529
1602
  {
1530
- this.state = 290;
1603
+ this.state = 296;
1531
1604
  this.keyword_assignment_expr();
1532
- this.state = 295;
1605
+ this.state = 301;
1533
1606
  this._errHandler.sync(this);
1534
1607
  _la = this._input.LA(1);
1535
1608
  while (_la === 2) {
1536
1609
  {
1537
1610
  {
1538
- this.state = 291;
1611
+ this.state = 297;
1539
1612
  this.match(CircuitScriptParser.T__1);
1540
- this.state = 292;
1613
+ this.state = 298;
1541
1614
  this.keyword_assignment_expr();
1542
1615
  }
1543
1616
  }
1544
- this.state = 297;
1617
+ this.state = 303;
1545
1618
  this._errHandler.sync(this);
1546
1619
  _la = this._input.LA(1);
1547
1620
  }
@@ -1571,11 +1644,11 @@ export default class CircuitScriptParser extends Parser {
1571
1644
  try {
1572
1645
  this.enterOuterAlt(localctx, 1);
1573
1646
  {
1574
- this.state = 300;
1647
+ this.state = 306;
1575
1648
  this.atom_expr();
1576
- this.state = 301;
1649
+ this.state = 307;
1577
1650
  this.match(CircuitScriptParser.T__2);
1578
- this.state = 302;
1651
+ this.state = 308;
1579
1652
  this.data_expr(0);
1580
1653
  }
1581
1654
  }
@@ -1600,13 +1673,13 @@ export default class CircuitScriptParser extends Parser {
1600
1673
  try {
1601
1674
  this.enterOuterAlt(localctx, 1);
1602
1675
  {
1603
- this.state = 304;
1676
+ this.state = 310;
1604
1677
  this.match(CircuitScriptParser.T__3);
1605
- this.state = 305;
1678
+ this.state = 311;
1606
1679
  this.match(CircuitScriptParser.ID);
1607
- this.state = 306;
1680
+ this.state = 312;
1608
1681
  this.match(CircuitScriptParser.T__2);
1609
- this.state = 307;
1682
+ this.state = 313;
1610
1683
  this.data_expr(0);
1611
1684
  }
1612
1685
  }
@@ -1640,46 +1713,46 @@ export default class CircuitScriptParser extends Parser {
1640
1713
  let _alt;
1641
1714
  this.enterOuterAlt(localctx, 1);
1642
1715
  {
1643
- this.state = 323;
1716
+ this.state = 329;
1644
1717
  this._errHandler.sync(this);
1645
- switch (this._interp.adaptivePredict(this._input, 32, this._ctx)) {
1718
+ switch (this._interp.adaptivePredict(this._input, 34, this._ctx)) {
1646
1719
  case 1:
1647
1720
  {
1648
1721
  localctx = new DataExprContext(this, localctx);
1649
1722
  this._ctx = localctx;
1650
1723
  _prevctx = localctx;
1651
1724
  {
1652
- this.state = 311;
1725
+ this.state = 317;
1653
1726
  this._errHandler.sync(this);
1654
- switch (this._interp.adaptivePredict(this._input, 30, this._ctx)) {
1727
+ switch (this._interp.adaptivePredict(this._input, 32, this._ctx)) {
1655
1728
  case 1:
1656
1729
  {
1657
- this.state = 310;
1730
+ this.state = 316;
1658
1731
  this.unary_operator();
1659
1732
  }
1660
1733
  break;
1661
1734
  }
1662
- this.state = 315;
1735
+ this.state = 321;
1663
1736
  this._errHandler.sync(this);
1664
1737
  switch (this._input.LA(1)) {
1665
1738
  case 6:
1666
- case 29:
1667
- case 35:
1668
- case 37:
1739
+ case 30:
1740
+ case 36:
1669
1741
  case 38:
1670
1742
  case 39:
1671
1743
  case 40:
1672
1744
  case 41:
1745
+ case 42:
1673
1746
  {
1674
- this.state = 313;
1747
+ this.state = 319;
1675
1748
  this.value_expr();
1676
1749
  }
1677
1750
  break;
1678
- case 28:
1679
- case 30:
1680
- case 36:
1751
+ case 29:
1752
+ case 31:
1753
+ case 37:
1681
1754
  {
1682
- this.state = 314;
1755
+ this.state = 320;
1683
1756
  this.atom_expr();
1684
1757
  }
1685
1758
  break;
@@ -1694,11 +1767,11 @@ export default class CircuitScriptParser extends Parser {
1694
1767
  localctx = new RoundedBracketsExprContext(this, localctx);
1695
1768
  this._ctx = localctx;
1696
1769
  _prevctx = localctx;
1697
- this.state = 317;
1770
+ this.state = 323;
1698
1771
  this.match(CircuitScriptParser.OPEN_PAREN);
1699
- this.state = 318;
1772
+ this.state = 324;
1700
1773
  this.data_expr(0);
1701
- this.state = 319;
1774
+ this.state = 325;
1702
1775
  this.match(CircuitScriptParser.CLOSE_PAREN);
1703
1776
  }
1704
1777
  break;
@@ -1707,7 +1780,7 @@ export default class CircuitScriptParser extends Parser {
1707
1780
  localctx = new DataExprContext(this, localctx);
1708
1781
  this._ctx = localctx;
1709
1782
  _prevctx = localctx;
1710
- this.state = 321;
1783
+ this.state = 327;
1711
1784
  this.create_component_expr();
1712
1785
  }
1713
1786
  break;
@@ -1716,15 +1789,15 @@ export default class CircuitScriptParser extends Parser {
1716
1789
  localctx = new DataExprContext(this, localctx);
1717
1790
  this._ctx = localctx;
1718
1791
  _prevctx = localctx;
1719
- this.state = 322;
1792
+ this.state = 328;
1720
1793
  this.create_graphic_expr();
1721
1794
  }
1722
1795
  break;
1723
1796
  }
1724
1797
  this._ctx.stop = this._input.LT(-1);
1725
- this.state = 337;
1798
+ this.state = 343;
1726
1799
  this._errHandler.sync(this);
1727
- _alt = this._interp.adaptivePredict(this._input, 34, this._ctx);
1800
+ _alt = this._interp.adaptivePredict(this._input, 36, this._ctx);
1728
1801
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
1729
1802
  if (_alt === 1) {
1730
1803
  if (this._parseListeners != null) {
@@ -1732,27 +1805,27 @@ export default class CircuitScriptParser extends Parser {
1732
1805
  }
1733
1806
  _prevctx = localctx;
1734
1807
  {
1735
- this.state = 335;
1808
+ this.state = 341;
1736
1809
  this._errHandler.sync(this);
1737
- switch (this._interp.adaptivePredict(this._input, 33, this._ctx)) {
1810
+ switch (this._interp.adaptivePredict(this._input, 35, this._ctx)) {
1738
1811
  case 1:
1739
1812
  {
1740
1813
  localctx = new MultiplyExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1741
1814
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1742
- this.state = 325;
1815
+ this.state = 331;
1743
1816
  if (!(this.precpred(this._ctx, 5))) {
1744
1817
  throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");
1745
1818
  }
1746
- this.state = 326;
1819
+ this.state = 332;
1747
1820
  _la = this._input.LA(1);
1748
- if (!(_la === 30 || _la === 31)) {
1821
+ if (!(_la === 31 || _la === 32)) {
1749
1822
  this._errHandler.recoverInline(this);
1750
1823
  }
1751
1824
  else {
1752
1825
  this._errHandler.reportMatch(this);
1753
1826
  this.consume();
1754
1827
  }
1755
- this.state = 327;
1828
+ this.state = 333;
1756
1829
  this.data_expr(6);
1757
1830
  }
1758
1831
  break;
@@ -1760,20 +1833,20 @@ export default class CircuitScriptParser extends Parser {
1760
1833
  {
1761
1834
  localctx = new AdditionExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1762
1835
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1763
- this.state = 328;
1836
+ this.state = 334;
1764
1837
  if (!(this.precpred(this._ctx, 4))) {
1765
1838
  throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
1766
1839
  }
1767
- this.state = 329;
1840
+ this.state = 335;
1768
1841
  _la = this._input.LA(1);
1769
- if (!(_la === 28 || _la === 29)) {
1842
+ if (!(_la === 29 || _la === 30)) {
1770
1843
  this._errHandler.recoverInline(this);
1771
1844
  }
1772
1845
  else {
1773
1846
  this._errHandler.reportMatch(this);
1774
1847
  this.consume();
1775
1848
  }
1776
- this.state = 330;
1849
+ this.state = 336;
1777
1850
  this.data_expr(5);
1778
1851
  }
1779
1852
  break;
@@ -1781,22 +1854,22 @@ export default class CircuitScriptParser extends Parser {
1781
1854
  {
1782
1855
  localctx = new BinaryOperatorExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1783
1856
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1784
- this.state = 331;
1857
+ this.state = 337;
1785
1858
  if (!(this.precpred(this._ctx, 3))) {
1786
1859
  throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
1787
1860
  }
1788
- this.state = 332;
1861
+ this.state = 338;
1789
1862
  this.binary_operator();
1790
- this.state = 333;
1863
+ this.state = 339;
1791
1864
  this.data_expr(4);
1792
1865
  }
1793
1866
  break;
1794
1867
  }
1795
1868
  }
1796
1869
  }
1797
- this.state = 339;
1870
+ this.state = 345;
1798
1871
  this._errHandler.sync(this);
1799
- _alt = this._interp.adaptivePredict(this._input, 34, this._ctx);
1872
+ _alt = this._interp.adaptivePredict(this._input, 36, this._ctx);
1800
1873
  }
1801
1874
  }
1802
1875
  }
@@ -1822,9 +1895,9 @@ export default class CircuitScriptParser extends Parser {
1822
1895
  try {
1823
1896
  this.enterOuterAlt(localctx, 1);
1824
1897
  {
1825
- this.state = 340;
1898
+ this.state = 346;
1826
1899
  _la = this._input.LA(1);
1827
- if (!(_la === 26 || _la === 27)) {
1900
+ if (!(_la === 27 || _la === 28)) {
1828
1901
  this._errHandler.recoverInline(this);
1829
1902
  }
1830
1903
  else {
@@ -1855,9 +1928,9 @@ export default class CircuitScriptParser extends Parser {
1855
1928
  try {
1856
1929
  this.enterOuterAlt(localctx, 1);
1857
1930
  {
1858
- this.state = 342;
1931
+ this.state = 348;
1859
1932
  _la = this._input.LA(1);
1860
- if (!(_la === 25 || _la === 29)) {
1933
+ if (!(_la === 26 || _la === 30)) {
1861
1934
  this._errHandler.recoverInline(this);
1862
1935
  }
1863
1936
  else {
@@ -1886,31 +1959,31 @@ export default class CircuitScriptParser extends Parser {
1886
1959
  this.enterRule(localctx, 60, CircuitScriptParser.RULE_value_expr);
1887
1960
  let _la;
1888
1961
  try {
1889
- this.state = 349;
1962
+ this.state = 355;
1890
1963
  this._errHandler.sync(this);
1891
1964
  switch (this._input.LA(1)) {
1892
- case 29:
1893
- case 35:
1894
- case 37:
1965
+ case 30:
1966
+ case 36:
1895
1967
  case 38:
1896
1968
  case 39:
1897
1969
  case 40:
1898
1970
  case 41:
1971
+ case 42:
1899
1972
  this.enterOuterAlt(localctx, 1);
1900
1973
  {
1901
1974
  {
1902
- this.state = 345;
1975
+ this.state = 351;
1903
1976
  this._errHandler.sync(this);
1904
1977
  _la = this._input.LA(1);
1905
- if (_la === 29) {
1978
+ if (_la === 30) {
1906
1979
  {
1907
- this.state = 344;
1980
+ this.state = 350;
1908
1981
  this.match(CircuitScriptParser.Minus);
1909
1982
  }
1910
1983
  }
1911
- this.state = 347;
1984
+ this.state = 353;
1912
1985
  _la = this._input.LA(1);
1913
- if (!(((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 125) !== 0))) {
1986
+ if (!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 125) !== 0))) {
1914
1987
  this._errHandler.recoverInline(this);
1915
1988
  }
1916
1989
  else {
@@ -1923,7 +1996,7 @@ export default class CircuitScriptParser extends Parser {
1923
1996
  case 6:
1924
1997
  this.enterOuterAlt(localctx, 2);
1925
1998
  {
1926
- this.state = 348;
1999
+ this.state = 354;
1927
2000
  this.blank_expr();
1928
2001
  }
1929
2002
  break;
@@ -1953,40 +2026,40 @@ export default class CircuitScriptParser extends Parser {
1953
2026
  try {
1954
2027
  this.enterOuterAlt(localctx, 1);
1955
2028
  {
1956
- this.state = 351;
2029
+ this.state = 357;
1957
2030
  this.match(CircuitScriptParser.Define);
1958
- this.state = 352;
2031
+ this.state = 358;
1959
2032
  this.match(CircuitScriptParser.ID);
1960
- this.state = 353;
2033
+ this.state = 359;
1961
2034
  this.match(CircuitScriptParser.OPEN_PAREN);
1962
- this.state = 355;
2035
+ this.state = 361;
1963
2036
  this._errHandler.sync(this);
1964
2037
  _la = this._input.LA(1);
1965
- if (_la === 36) {
2038
+ if (_la === 37) {
1966
2039
  {
1967
- this.state = 354;
2040
+ this.state = 360;
1968
2041
  this.function_args_expr();
1969
2042
  }
1970
2043
  }
1971
- this.state = 357;
2044
+ this.state = 363;
1972
2045
  this.match(CircuitScriptParser.CLOSE_PAREN);
1973
- this.state = 358;
2046
+ this.state = 364;
1974
2047
  this.match(CircuitScriptParser.T__0);
1975
- this.state = 359;
2048
+ this.state = 365;
1976
2049
  this.match(CircuitScriptParser.NEWLINE);
1977
- this.state = 360;
2050
+ this.state = 366;
1978
2051
  this.match(CircuitScriptParser.INDENT);
1979
- this.state = 363;
2052
+ this.state = 369;
1980
2053
  this._errHandler.sync(this);
1981
2054
  _la = this._input.LA(1);
1982
2055
  do {
1983
2056
  {
1984
- this.state = 363;
2057
+ this.state = 369;
1985
2058
  this._errHandler.sync(this);
1986
2059
  switch (this._input.LA(1)) {
1987
- case 44:
2060
+ case 45:
1988
2061
  {
1989
- this.state = 361;
2062
+ this.state = 367;
1990
2063
  this.match(CircuitScriptParser.NEWLINE);
1991
2064
  }
1992
2065
  break;
@@ -2003,11 +2076,12 @@ export default class CircuitScriptParser extends Parser {
2003
2076
  case 21:
2004
2077
  case 22:
2005
2078
  case 23:
2006
- case 28:
2007
- case 30:
2008
- case 36:
2079
+ case 24:
2080
+ case 29:
2081
+ case 31:
2082
+ case 37:
2009
2083
  {
2010
- this.state = 362;
2084
+ this.state = 368;
2011
2085
  this.function_expr();
2012
2086
  }
2013
2087
  break;
@@ -2015,11 +2089,11 @@ export default class CircuitScriptParser extends Parser {
2015
2089
  throw new NoViableAltException(this);
2016
2090
  }
2017
2091
  }
2018
- this.state = 365;
2092
+ this.state = 371;
2019
2093
  this._errHandler.sync(this);
2020
2094
  _la = this._input.LA(1);
2021
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1358907152) !== 0) || _la === 36 || _la === 44);
2022
- this.state = 367;
2095
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2717861648) !== 0) || _la === 37 || _la === 45);
2096
+ this.state = 373;
2023
2097
  this.match(CircuitScriptParser.DEDENT);
2024
2098
  }
2025
2099
  }
@@ -2042,7 +2116,7 @@ export default class CircuitScriptParser extends Parser {
2042
2116
  let localctx = new Function_exprContext(this, this._ctx, this.state);
2043
2117
  this.enterRule(localctx, 64, CircuitScriptParser.RULE_function_expr);
2044
2118
  try {
2045
- this.state = 371;
2119
+ this.state = 377;
2046
2120
  this._errHandler.sync(this);
2047
2121
  switch (this._input.LA(1)) {
2048
2122
  case 4:
@@ -2054,22 +2128,23 @@ export default class CircuitScriptParser extends Parser {
2054
2128
  case 17:
2055
2129
  case 18:
2056
2130
  case 19:
2131
+ case 20:
2057
2132
  case 21:
2058
- case 22:
2059
2133
  case 23:
2060
- case 28:
2061
- case 30:
2062
- case 36:
2134
+ case 24:
2135
+ case 29:
2136
+ case 31:
2137
+ case 37:
2063
2138
  this.enterOuterAlt(localctx, 1);
2064
2139
  {
2065
- this.state = 369;
2140
+ this.state = 375;
2066
2141
  this.expression();
2067
2142
  }
2068
2143
  break;
2069
- case 20:
2144
+ case 22:
2070
2145
  this.enterOuterAlt(localctx, 2);
2071
2146
  {
2072
- this.state = 370;
2147
+ this.state = 376;
2073
2148
  this.function_return_expr();
2074
2149
  }
2075
2150
  break;
@@ -2098,49 +2173,49 @@ export default class CircuitScriptParser extends Parser {
2098
2173
  let _la;
2099
2174
  try {
2100
2175
  let _alt;
2101
- this.state = 402;
2176
+ this.state = 408;
2102
2177
  this._errHandler.sync(this);
2103
- switch (this._interp.adaptivePredict(this._input, 44, this._ctx)) {
2178
+ switch (this._interp.adaptivePredict(this._input, 46, this._ctx)) {
2104
2179
  case 1:
2105
2180
  this.enterOuterAlt(localctx, 1);
2106
2181
  {
2107
- this.state = 373;
2182
+ this.state = 379;
2108
2183
  this.match(CircuitScriptParser.ID);
2109
- this.state = 378;
2184
+ this.state = 384;
2110
2185
  this._errHandler.sync(this);
2111
- _alt = this._interp.adaptivePredict(this._input, 41, this._ctx);
2186
+ _alt = this._interp.adaptivePredict(this._input, 43, this._ctx);
2112
2187
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2113
2188
  if (_alt === 1) {
2114
2189
  {
2115
2190
  {
2116
- this.state = 374;
2191
+ this.state = 380;
2117
2192
  this.match(CircuitScriptParser.T__1);
2118
- this.state = 375;
2193
+ this.state = 381;
2119
2194
  this.match(CircuitScriptParser.ID);
2120
2195
  }
2121
2196
  }
2122
2197
  }
2123
- this.state = 380;
2198
+ this.state = 386;
2124
2199
  this._errHandler.sync(this);
2125
- _alt = this._interp.adaptivePredict(this._input, 41, this._ctx);
2200
+ _alt = this._interp.adaptivePredict(this._input, 43, this._ctx);
2126
2201
  }
2127
- this.state = 387;
2202
+ this.state = 393;
2128
2203
  this._errHandler.sync(this);
2129
2204
  _la = this._input.LA(1);
2130
2205
  while (_la === 2) {
2131
2206
  {
2132
2207
  {
2133
- this.state = 381;
2208
+ this.state = 387;
2134
2209
  this.match(CircuitScriptParser.T__1);
2135
- this.state = 382;
2210
+ this.state = 388;
2136
2211
  this.match(CircuitScriptParser.ID);
2137
- this.state = 383;
2212
+ this.state = 389;
2138
2213
  this.match(CircuitScriptParser.T__2);
2139
- this.state = 384;
2214
+ this.state = 390;
2140
2215
  this.value_expr();
2141
2216
  }
2142
2217
  }
2143
- this.state = 389;
2218
+ this.state = 395;
2144
2219
  this._errHandler.sync(this);
2145
2220
  _la = this._input.LA(1);
2146
2221
  }
@@ -2149,29 +2224,29 @@ export default class CircuitScriptParser extends Parser {
2149
2224
  case 2:
2150
2225
  this.enterOuterAlt(localctx, 2);
2151
2226
  {
2152
- this.state = 390;
2227
+ this.state = 396;
2153
2228
  this.match(CircuitScriptParser.ID);
2154
- this.state = 391;
2229
+ this.state = 397;
2155
2230
  this.match(CircuitScriptParser.T__2);
2156
- this.state = 392;
2231
+ this.state = 398;
2157
2232
  this.value_expr();
2158
- this.state = 399;
2233
+ this.state = 405;
2159
2234
  this._errHandler.sync(this);
2160
2235
  _la = this._input.LA(1);
2161
2236
  while (_la === 2) {
2162
2237
  {
2163
2238
  {
2164
- this.state = 393;
2239
+ this.state = 399;
2165
2240
  this.match(CircuitScriptParser.T__1);
2166
- this.state = 394;
2241
+ this.state = 400;
2167
2242
  this.match(CircuitScriptParser.ID);
2168
- this.state = 395;
2243
+ this.state = 401;
2169
2244
  this.match(CircuitScriptParser.T__2);
2170
- this.state = 396;
2245
+ this.state = 402;
2171
2246
  this.value_expr();
2172
2247
  }
2173
2248
  }
2174
- this.state = 401;
2249
+ this.state = 407;
2175
2250
  this._errHandler.sync(this);
2176
2251
  _la = this._input.LA(1);
2177
2252
  }
@@ -2202,32 +2277,32 @@ export default class CircuitScriptParser extends Parser {
2202
2277
  let _alt;
2203
2278
  this.enterOuterAlt(localctx, 1);
2204
2279
  {
2205
- this.state = 405;
2280
+ this.state = 411;
2206
2281
  this._errHandler.sync(this);
2207
2282
  _la = this._input.LA(1);
2208
- if (_la === 28 || _la === 30) {
2283
+ if (_la === 29 || _la === 31) {
2209
2284
  {
2210
- this.state = 404;
2285
+ this.state = 410;
2211
2286
  this.net_namespace_expr();
2212
2287
  }
2213
2288
  }
2214
- this.state = 407;
2289
+ this.state = 413;
2215
2290
  this.match(CircuitScriptParser.ID);
2216
- this.state = 411;
2291
+ this.state = 417;
2217
2292
  this._errHandler.sync(this);
2218
- _alt = this._interp.adaptivePredict(this._input, 46, this._ctx);
2293
+ _alt = this._interp.adaptivePredict(this._input, 48, this._ctx);
2219
2294
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2220
2295
  if (_alt === 1) {
2221
2296
  {
2222
2297
  {
2223
- this.state = 408;
2298
+ this.state = 414;
2224
2299
  this.trailer_expr();
2225
2300
  }
2226
2301
  }
2227
2302
  }
2228
- this.state = 413;
2303
+ this.state = 419;
2229
2304
  this._errHandler.sync(this);
2230
- _alt = this._interp.adaptivePredict(this._input, 46, this._ctx);
2305
+ _alt = this._interp.adaptivePredict(this._input, 48, this._ctx);
2231
2306
  }
2232
2307
  }
2233
2308
  }
@@ -2251,33 +2326,33 @@ export default class CircuitScriptParser extends Parser {
2251
2326
  this.enterRule(localctx, 70, CircuitScriptParser.RULE_trailer_expr);
2252
2327
  let _la;
2253
2328
  try {
2254
- this.state = 421;
2329
+ this.state = 427;
2255
2330
  this._errHandler.sync(this);
2256
2331
  switch (this._input.LA(1)) {
2257
- case 32:
2332
+ case 33:
2258
2333
  this.enterOuterAlt(localctx, 1);
2259
2334
  {
2260
- this.state = 414;
2335
+ this.state = 420;
2261
2336
  this.match(CircuitScriptParser.OPEN_PAREN);
2262
- this.state = 416;
2337
+ this.state = 422;
2263
2338
  this._errHandler.sync(this);
2264
2339
  _la = this._input.LA(1);
2265
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1912604736) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1017) !== 0)) {
2340
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3825207360) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & 1017) !== 0)) {
2266
2341
  {
2267
- this.state = 415;
2342
+ this.state = 421;
2268
2343
  this.parameters();
2269
2344
  }
2270
2345
  }
2271
- this.state = 418;
2346
+ this.state = 424;
2272
2347
  this.match(CircuitScriptParser.CLOSE_PAREN);
2273
2348
  }
2274
2349
  break;
2275
2350
  case 5:
2276
2351
  this.enterOuterAlt(localctx, 2);
2277
2352
  {
2278
- this.state = 419;
2353
+ this.state = 425;
2279
2354
  this.match(CircuitScriptParser.T__4);
2280
- this.state = 420;
2355
+ this.state = 426;
2281
2356
  this.match(CircuitScriptParser.ID);
2282
2357
  }
2283
2358
  break;
@@ -2307,23 +2382,23 @@ export default class CircuitScriptParser extends Parser {
2307
2382
  try {
2308
2383
  this.enterOuterAlt(localctx, 1);
2309
2384
  {
2310
- this.state = 424;
2385
+ this.state = 430;
2311
2386
  this._errHandler.sync(this);
2312
2387
  _la = this._input.LA(1);
2313
- if (_la === 28) {
2388
+ if (_la === 29) {
2314
2389
  {
2315
- this.state = 423;
2390
+ this.state = 429;
2316
2391
  this.match(CircuitScriptParser.Addition);
2317
2392
  }
2318
2393
  }
2319
- this.state = 426;
2394
+ this.state = 432;
2320
2395
  this.match(CircuitScriptParser.Divide);
2321
- this.state = 428;
2396
+ this.state = 434;
2322
2397
  this._errHandler.sync(this);
2323
- switch (this._interp.adaptivePredict(this._input, 50, this._ctx)) {
2398
+ switch (this._interp.adaptivePredict(this._input, 52, this._ctx)) {
2324
2399
  case 1:
2325
2400
  {
2326
- this.state = 427;
2401
+ this.state = 433;
2327
2402
  this.data_expr(0);
2328
2403
  }
2329
2404
  break;
@@ -2351,9 +2426,9 @@ export default class CircuitScriptParser extends Parser {
2351
2426
  try {
2352
2427
  this.enterOuterAlt(localctx, 1);
2353
2428
  {
2354
- this.state = 430;
2429
+ this.state = 436;
2355
2430
  this.match(CircuitScriptParser.Return);
2356
- this.state = 431;
2431
+ this.state = 437;
2357
2432
  this.data_expr(0);
2358
2433
  }
2359
2434
  }
@@ -2379,35 +2454,35 @@ export default class CircuitScriptParser extends Parser {
2379
2454
  try {
2380
2455
  this.enterOuterAlt(localctx, 1);
2381
2456
  {
2382
- this.state = 433;
2457
+ this.state = 439;
2383
2458
  this.match(CircuitScriptParser.Create);
2384
- this.state = 434;
2459
+ this.state = 440;
2385
2460
  this.match(CircuitScriptParser.Component);
2386
- this.state = 435;
2461
+ this.state = 441;
2387
2462
  this.match(CircuitScriptParser.T__0);
2388
- this.state = 436;
2463
+ this.state = 442;
2389
2464
  this.match(CircuitScriptParser.NEWLINE);
2390
- this.state = 437;
2465
+ this.state = 443;
2391
2466
  this.match(CircuitScriptParser.INDENT);
2392
- this.state = 440;
2467
+ this.state = 446;
2393
2468
  this._errHandler.sync(this);
2394
2469
  _la = this._input.LA(1);
2395
2470
  do {
2396
2471
  {
2397
- this.state = 440;
2472
+ this.state = 446;
2398
2473
  this._errHandler.sync(this);
2399
2474
  switch (this._input.LA(1)) {
2400
- case 44:
2475
+ case 45:
2401
2476
  {
2402
- this.state = 438;
2477
+ this.state = 444;
2403
2478
  this.match(CircuitScriptParser.NEWLINE);
2404
2479
  }
2405
2480
  break;
2406
- case 36:
2407
2481
  case 37:
2408
- case 40:
2482
+ case 38:
2483
+ case 41:
2409
2484
  {
2410
- this.state = 439;
2485
+ this.state = 445;
2411
2486
  this.property_expr();
2412
2487
  }
2413
2488
  break;
@@ -2415,11 +2490,11 @@ export default class CircuitScriptParser extends Parser {
2415
2490
  throw new NoViableAltException(this);
2416
2491
  }
2417
2492
  }
2418
- this.state = 442;
2493
+ this.state = 448;
2419
2494
  this._errHandler.sync(this);
2420
2495
  _la = this._input.LA(1);
2421
- } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
2422
- this.state = 444;
2496
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
2497
+ this.state = 450;
2423
2498
  this.match(CircuitScriptParser.DEDENT);
2424
2499
  }
2425
2500
  }
@@ -2445,34 +2520,34 @@ export default class CircuitScriptParser extends Parser {
2445
2520
  try {
2446
2521
  this.enterOuterAlt(localctx, 1);
2447
2522
  {
2448
- this.state = 446;
2523
+ this.state = 452;
2449
2524
  this.match(CircuitScriptParser.Create);
2450
- this.state = 447;
2525
+ this.state = 453;
2451
2526
  this.match(CircuitScriptParser.Graphic);
2452
- this.state = 448;
2527
+ this.state = 454;
2453
2528
  this.match(CircuitScriptParser.T__0);
2454
- this.state = 449;
2529
+ this.state = 455;
2455
2530
  this.match(CircuitScriptParser.NEWLINE);
2456
- this.state = 450;
2531
+ this.state = 456;
2457
2532
  this.match(CircuitScriptParser.INDENT);
2458
- this.state = 453;
2533
+ this.state = 459;
2459
2534
  this._errHandler.sync(this);
2460
2535
  _la = this._input.LA(1);
2461
2536
  do {
2462
2537
  {
2463
- this.state = 453;
2538
+ this.state = 459;
2464
2539
  this._errHandler.sync(this);
2465
2540
  switch (this._input.LA(1)) {
2466
- case 44:
2541
+ case 45:
2467
2542
  {
2468
- this.state = 451;
2543
+ this.state = 457;
2469
2544
  this.match(CircuitScriptParser.NEWLINE);
2470
2545
  }
2471
2546
  break;
2472
2547
  case 15:
2473
- case 36:
2548
+ case 37:
2474
2549
  {
2475
- this.state = 452;
2550
+ this.state = 458;
2476
2551
  this.sub_expr();
2477
2552
  }
2478
2553
  break;
@@ -2480,11 +2555,11 @@ export default class CircuitScriptParser extends Parser {
2480
2555
  throw new NoViableAltException(this);
2481
2556
  }
2482
2557
  }
2483
- this.state = 455;
2558
+ this.state = 461;
2484
2559
  this._errHandler.sync(this);
2485
2560
  _la = this._input.LA(1);
2486
- } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 538968065) !== 0));
2487
- this.state = 457;
2561
+ } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 1077936129) !== 0));
2562
+ this.state = 463;
2488
2563
  this.match(CircuitScriptParser.DEDENT);
2489
2564
  }
2490
2565
  }
@@ -2510,33 +2585,33 @@ export default class CircuitScriptParser extends Parser {
2510
2585
  try {
2511
2586
  this.enterOuterAlt(localctx, 1);
2512
2587
  {
2513
- this.state = 459;
2588
+ this.state = 465;
2514
2589
  _la = this._input.LA(1);
2515
- if (!(_la === 15 || _la === 36)) {
2590
+ if (!(_la === 15 || _la === 37)) {
2516
2591
  this._errHandler.recoverInline(this);
2517
2592
  }
2518
2593
  else {
2519
2594
  this._errHandler.reportMatch(this);
2520
2595
  this.consume();
2521
2596
  }
2522
- this.state = 460;
2523
- this.match(CircuitScriptParser.T__0);
2524
2597
  this.state = 466;
2598
+ this.match(CircuitScriptParser.T__0);
2599
+ this.state = 472;
2525
2600
  this._errHandler.sync(this);
2526
- switch (this._interp.adaptivePredict(this._input, 55, this._ctx)) {
2601
+ switch (this._interp.adaptivePredict(this._input, 57, this._ctx)) {
2527
2602
  case 1:
2528
2603
  {
2529
- this.state = 461;
2604
+ this.state = 467;
2530
2605
  this.parameters();
2531
2606
  }
2532
2607
  break;
2533
2608
  case 2:
2534
2609
  {
2535
- this.state = 462;
2610
+ this.state = 468;
2536
2611
  this.match(CircuitScriptParser.OPEN_PAREN);
2537
- this.state = 463;
2612
+ this.state = 469;
2538
2613
  this.parameters();
2539
- this.state = 464;
2614
+ this.state = 470;
2540
2615
  this.match(CircuitScriptParser.CLOSE_PAREN);
2541
2616
  }
2542
2617
  break;
@@ -2564,11 +2639,11 @@ export default class CircuitScriptParser extends Parser {
2564
2639
  try {
2565
2640
  this.enterOuterAlt(localctx, 1);
2566
2641
  {
2567
- this.state = 468;
2642
+ this.state = 474;
2568
2643
  this.property_key_expr();
2569
- this.state = 469;
2644
+ this.state = 475;
2570
2645
  this.match(CircuitScriptParser.T__0);
2571
- this.state = 470;
2646
+ this.state = 476;
2572
2647
  this.property_value_expr();
2573
2648
  }
2574
2649
  }
@@ -2594,9 +2669,9 @@ export default class CircuitScriptParser extends Parser {
2594
2669
  try {
2595
2670
  this.enterOuterAlt(localctx, 1);
2596
2671
  {
2597
- this.state = 472;
2672
+ this.state = 478;
2598
2673
  _la = this._input.LA(1);
2599
- if (!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 19) !== 0))) {
2674
+ if (!(((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 19) !== 0))) {
2600
2675
  this._errHandler.recoverInline(this);
2601
2676
  }
2602
2677
  else {
@@ -2625,36 +2700,36 @@ export default class CircuitScriptParser extends Parser {
2625
2700
  this.enterRule(localctx, 86, CircuitScriptParser.RULE_property_value_expr);
2626
2701
  let _la;
2627
2702
  try {
2628
- this.state = 491;
2703
+ this.state = 497;
2629
2704
  this._errHandler.sync(this);
2630
2705
  switch (this._input.LA(1)) {
2631
- case 44:
2706
+ case 45:
2632
2707
  localctx = new Nested_propertiesContext(this, localctx);
2633
2708
  this.enterOuterAlt(localctx, 1);
2634
2709
  {
2635
- this.state = 474;
2710
+ this.state = 480;
2636
2711
  this.match(CircuitScriptParser.NEWLINE);
2637
- this.state = 475;
2712
+ this.state = 481;
2638
2713
  this.match(CircuitScriptParser.INDENT);
2639
- this.state = 478;
2714
+ this.state = 484;
2640
2715
  this._errHandler.sync(this);
2641
2716
  _la = this._input.LA(1);
2642
2717
  do {
2643
2718
  {
2644
- this.state = 478;
2719
+ this.state = 484;
2645
2720
  this._errHandler.sync(this);
2646
2721
  switch (this._input.LA(1)) {
2647
- case 44:
2722
+ case 45:
2648
2723
  {
2649
- this.state = 476;
2724
+ this.state = 482;
2650
2725
  this.match(CircuitScriptParser.NEWLINE);
2651
2726
  }
2652
2727
  break;
2653
- case 36:
2654
2728
  case 37:
2655
- case 40:
2729
+ case 38:
2730
+ case 41:
2656
2731
  {
2657
- this.state = 477;
2732
+ this.state = 483;
2658
2733
  this.property_expr();
2659
2734
  }
2660
2735
  break;
@@ -2662,46 +2737,46 @@ export default class CircuitScriptParser extends Parser {
2662
2737
  throw new NoViableAltException(this);
2663
2738
  }
2664
2739
  }
2665
- this.state = 480;
2740
+ this.state = 486;
2666
2741
  this._errHandler.sync(this);
2667
2742
  _la = this._input.LA(1);
2668
- } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
2669
- this.state = 482;
2743
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
2744
+ this.state = 488;
2670
2745
  this.match(CircuitScriptParser.DEDENT);
2671
2746
  }
2672
2747
  break;
2673
2748
  case 6:
2674
2749
  case 11:
2675
- case 25:
2676
- case 28:
2750
+ case 26:
2677
2751
  case 29:
2678
2752
  case 30:
2679
- case 32:
2680
- case 35:
2753
+ case 31:
2754
+ case 33:
2681
2755
  case 36:
2682
2756
  case 37:
2683
2757
  case 38:
2684
2758
  case 39:
2685
2759
  case 40:
2686
2760
  case 41:
2761
+ case 42:
2687
2762
  localctx = new Single_line_propertyContext(this, localctx);
2688
2763
  this.enterOuterAlt(localctx, 2);
2689
2764
  {
2690
- this.state = 483;
2765
+ this.state = 489;
2691
2766
  this.data_expr(0);
2692
- this.state = 488;
2767
+ this.state = 494;
2693
2768
  this._errHandler.sync(this);
2694
2769
  _la = this._input.LA(1);
2695
2770
  while (_la === 2) {
2696
2771
  {
2697
2772
  {
2698
- this.state = 484;
2773
+ this.state = 490;
2699
2774
  this.match(CircuitScriptParser.T__1);
2700
- this.state = 485;
2775
+ this.state = 491;
2701
2776
  this.data_expr(0);
2702
2777
  }
2703
2778
  }
2704
- this.state = 490;
2779
+ this.state = 496;
2705
2780
  this._errHandler.sync(this);
2706
2781
  _la = this._input.LA(1);
2707
2782
  }
@@ -2732,11 +2807,11 @@ export default class CircuitScriptParser extends Parser {
2732
2807
  try {
2733
2808
  this.enterOuterAlt(localctx, 1);
2734
2809
  {
2735
- this.state = 493;
2810
+ this.state = 499;
2736
2811
  this.match(CircuitScriptParser.T__5);
2737
- this.state = 494;
2812
+ this.state = 500;
2738
2813
  this.match(CircuitScriptParser.INTEGER_VALUE);
2739
- this.state = 495;
2814
+ this.state = 501;
2740
2815
  this.match(CircuitScriptParser.T__6);
2741
2816
  }
2742
2817
  }
@@ -2763,20 +2838,20 @@ export default class CircuitScriptParser extends Parser {
2763
2838
  let _alt;
2764
2839
  this.enterOuterAlt(localctx, 1);
2765
2840
  {
2766
- this.state = 497;
2841
+ this.state = 503;
2767
2842
  this.match(CircuitScriptParser.Wire);
2768
- this.state = 498;
2843
+ this.state = 504;
2769
2844
  this.match(CircuitScriptParser.ID);
2770
- this.state = 502;
2845
+ this.state = 508;
2771
2846
  this._errHandler.sync(this);
2772
- _alt = this._interp.adaptivePredict(this._input, 60, this._ctx);
2847
+ _alt = this._interp.adaptivePredict(this._input, 62, this._ctx);
2773
2848
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2774
2849
  if (_alt === 1) {
2775
2850
  {
2776
2851
  {
2777
- this.state = 499;
2852
+ this.state = 505;
2778
2853
  _la = this._input.LA(1);
2779
- if (!(_la === 36 || _la === 37)) {
2854
+ if (!(_la === 37 || _la === 38)) {
2780
2855
  this._errHandler.recoverInline(this);
2781
2856
  }
2782
2857
  else {
@@ -2786,9 +2861,9 @@ export default class CircuitScriptParser extends Parser {
2786
2861
  }
2787
2862
  }
2788
2863
  }
2789
- this.state = 504;
2864
+ this.state = 510;
2790
2865
  this._errHandler.sync(this);
2791
- _alt = this._interp.adaptivePredict(this._input, 60, this._ctx);
2866
+ _alt = this._interp.adaptivePredict(this._input, 62, this._ctx);
2792
2867
  }
2793
2868
  }
2794
2869
  }
@@ -2813,9 +2888,9 @@ export default class CircuitScriptParser extends Parser {
2813
2888
  try {
2814
2889
  this.enterOuterAlt(localctx, 1);
2815
2890
  {
2816
- this.state = 505;
2891
+ this.state = 511;
2817
2892
  this.match(CircuitScriptParser.Point);
2818
- this.state = 506;
2893
+ this.state = 512;
2819
2894
  this.match(CircuitScriptParser.ID);
2820
2895
  }
2821
2896
  }
@@ -2840,9 +2915,9 @@ export default class CircuitScriptParser extends Parser {
2840
2915
  try {
2841
2916
  this.enterOuterAlt(localctx, 1);
2842
2917
  {
2843
- this.state = 508;
2918
+ this.state = 514;
2844
2919
  this.match(CircuitScriptParser.Import);
2845
- this.state = 509;
2920
+ this.state = 515;
2846
2921
  this.match(CircuitScriptParser.ID);
2847
2922
  }
2848
2923
  }
@@ -2868,25 +2943,25 @@ export default class CircuitScriptParser extends Parser {
2868
2943
  try {
2869
2944
  this.enterOuterAlt(localctx, 1);
2870
2945
  {
2871
- this.state = 511;
2946
+ this.state = 517;
2872
2947
  this.match(CircuitScriptParser.T__7);
2873
- this.state = 512;
2948
+ this.state = 518;
2874
2949
  this.match(CircuitScriptParser.T__0);
2875
- this.state = 513;
2950
+ this.state = 519;
2876
2951
  this.match(CircuitScriptParser.NEWLINE);
2877
- this.state = 514;
2952
+ this.state = 520;
2878
2953
  this.match(CircuitScriptParser.INDENT);
2879
- this.state = 517;
2954
+ this.state = 523;
2880
2955
  this._errHandler.sync(this);
2881
2956
  _la = this._input.LA(1);
2882
2957
  do {
2883
2958
  {
2884
- this.state = 517;
2959
+ this.state = 523;
2885
2960
  this._errHandler.sync(this);
2886
2961
  switch (this._input.LA(1)) {
2887
- case 44:
2962
+ case 45:
2888
2963
  {
2889
- this.state = 515;
2964
+ this.state = 521;
2890
2965
  this.match(CircuitScriptParser.NEWLINE);
2891
2966
  }
2892
2967
  break;
@@ -2899,14 +2974,15 @@ export default class CircuitScriptParser extends Parser {
2899
2974
  case 17:
2900
2975
  case 18:
2901
2976
  case 19:
2977
+ case 20:
2902
2978
  case 21:
2903
- case 22:
2904
2979
  case 23:
2905
- case 28:
2906
- case 30:
2907
- case 36:
2980
+ case 24:
2981
+ case 29:
2982
+ case 31:
2983
+ case 37:
2908
2984
  {
2909
- this.state = 516;
2985
+ this.state = 522;
2910
2986
  this.expression();
2911
2987
  }
2912
2988
  break;
@@ -2914,11 +2990,11 @@ export default class CircuitScriptParser extends Parser {
2914
2990
  throw new NoViableAltException(this);
2915
2991
  }
2916
2992
  }
2917
- this.state = 519;
2993
+ this.state = 525;
2918
2994
  this._errHandler.sync(this);
2919
2995
  _la = this._input.LA(1);
2920
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la === 36 || _la === 44);
2921
- this.state = 521;
2996
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la === 37 || _la === 45);
2997
+ this.state = 527;
2922
2998
  this.match(CircuitScriptParser.DEDENT);
2923
2999
  }
2924
3000
  }
@@ -2955,7 +3031,7 @@ export default class CircuitScriptParser extends Parser {
2955
3031
  }
2956
3032
  return true;
2957
3033
  }
2958
- static _serializedATN = [4, 1, 47, 524, 2, 0, 7, 0, 2,
3034
+ static _serializedATN = [4, 1, 48, 530, 2, 0, 7, 0, 2,
2959
3035
  1, 7, 1, 2, 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,
2960
3036
  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, 16, 2, 17,
2961
3037
  7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7,
@@ -2968,167 +3044,169 @@ export default class CircuitScriptParser extends Parser {
2968
3044
  12, 3, 137, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 4, 4, 148, 8, 4, 11, 4, 12, 4, 149, 1, 4,
2969
3045
  1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 3, 6, 160, 8, 6, 1, 6, 3, 6, 163, 8, 6, 1, 7, 1, 7, 1, 7, 3, 7,
2970
3046
  168, 8, 7, 1, 8, 1, 8, 3, 8, 172, 8, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 3, 11, 182,
2971
- 8, 11, 1, 12, 1, 12, 1, 12, 1, 12, 5, 12, 188, 8, 12, 10, 12, 12, 12, 191, 9, 12, 1, 12, 3, 12, 194,
2972
- 8, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 5, 13, 202, 8, 13, 10, 13, 12, 13, 205, 9, 13, 1,
2973
- 13, 1, 13, 1, 13, 1, 13, 1, 13, 4, 13, 212, 8, 13, 11, 13, 12, 13, 213, 1, 13, 1, 13, 1, 14, 1, 14,
2974
- 1, 14, 1, 14, 1, 14, 5, 14, 223, 8, 14, 10, 14, 12, 14, 226, 9, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1,
2975
- 16, 1, 16, 1, 16, 1, 16, 4, 16, 236, 8, 16, 11, 16, 12, 16, 237, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17,
2976
- 244, 8, 17, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 250, 8, 18, 1, 19, 1, 19, 3, 19, 254, 8, 19, 1, 20,
2977
- 1, 20, 1, 20, 1, 20, 4, 20, 260, 8, 20, 11, 20, 12, 20, 261, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1,
2978
- 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 5, 24, 279, 8, 24, 10, 24, 12,
2979
- 24, 282, 9, 24, 1, 24, 1, 24, 5, 24, 286, 8, 24, 10, 24, 12, 24, 289, 9, 24, 1, 24, 1, 24, 1, 24,
2980
- 5, 24, 294, 8, 24, 10, 24, 12, 24, 297, 9, 24, 3, 24, 299, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1,
2981
- 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 3, 27, 312, 8, 27, 1, 27, 1, 27, 3, 27, 316, 8, 27,
2982
- 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 324, 8, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1,
2983
- 27, 1, 27, 1, 27, 1, 27, 1, 27, 5, 27, 336, 8, 27, 10, 27, 12, 27, 339, 9, 27, 1, 28, 1, 28, 1, 29,
2984
- 1, 29, 1, 30, 3, 30, 346, 8, 30, 1, 30, 1, 30, 3, 30, 350, 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31,
2985
- 356, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 4, 31, 364, 8, 31, 11, 31, 12, 31, 365, 1,
2986
- 31, 1, 31, 1, 32, 1, 32, 3, 32, 372, 8, 32, 1, 33, 1, 33, 1, 33, 5, 33, 377, 8, 33, 10, 33, 12, 33,
2987
- 380, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 386, 8, 33, 10, 33, 12, 33, 389, 9, 33, 1, 33, 1,
2988
- 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 398, 8, 33, 10, 33, 12, 33, 401, 9, 33, 3, 33, 403,
2989
- 8, 33, 1, 34, 3, 34, 406, 8, 34, 1, 34, 1, 34, 5, 34, 410, 8, 34, 10, 34, 12, 34, 413, 9, 34, 1,
2990
- 35, 1, 35, 3, 35, 417, 8, 35, 1, 35, 1, 35, 1, 35, 3, 35, 422, 8, 35, 1, 36, 3, 36, 425, 8, 36, 1,
2991
- 36, 1, 36, 3, 36, 429, 8, 36, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38,
2992
- 4, 38, 441, 8, 38, 11, 38, 12, 38, 442, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1,
2993
- 39, 4, 39, 454, 8, 39, 11, 39, 12, 39, 455, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40,
2994
- 1, 40, 3, 40, 467, 8, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 4,
2995
- 43, 479, 8, 43, 11, 43, 12, 43, 480, 1, 43, 1, 43, 1, 43, 1, 43, 5, 43, 487, 8, 43, 10, 43, 12,
2996
- 43, 490, 9, 43, 3, 43, 492, 8, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 5, 45, 501, 8,
2997
- 45, 10, 45, 12, 45, 504, 9, 45, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1,
2998
- 48, 1, 48, 1, 48, 4, 48, 518, 8, 48, 11, 48, 12, 48, 519, 1, 48, 1, 48, 1, 48, 0, 1, 54, 49, 0, 2,
2999
- 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52,
3000
- 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 0, 11,
3001
- 2, 0, 10, 10, 23, 23, 1, 0, 36, 37, 2, 0, 37, 37, 40, 40, 2, 0, 34, 34, 37, 37, 1, 0, 30, 31, 1, 0,
3002
- 28, 29, 1, 0, 26, 27, 2, 0, 25, 25, 29, 29, 2, 0, 35, 35, 37, 41, 2, 0, 15, 15, 36, 36, 2, 0, 36,
3003
- 37, 40, 40, 554, 0, 100, 1, 0, 0, 0, 2, 122, 1, 0, 0, 0, 4, 125, 1, 0, 0, 0, 6, 129, 1, 0, 0, 0, 8,
3004
- 141, 1, 0, 0, 0, 10, 153, 1, 0, 0, 0, 12, 159, 1, 0, 0, 0, 14, 164, 1, 0, 0, 0, 16, 171, 1, 0, 0, 0,
3005
- 18, 173, 1, 0, 0, 0, 20, 176, 1, 0, 0, 0, 22, 178, 1, 0, 0, 0, 24, 183, 1, 0, 0, 0, 26, 195, 1, 0,
3006
- 0, 0, 28, 217, 1, 0, 0, 0, 30, 227, 1, 0, 0, 0, 32, 229, 1, 0, 0, 0, 34, 243, 1, 0, 0, 0, 36, 245,
3007
- 1, 0, 0, 0, 38, 253, 1, 0, 0, 0, 40, 255, 1, 0, 0, 0, 42, 265, 1, 0, 0, 0, 44, 267, 1, 0, 0, 0, 46,
3008
- 271, 1, 0, 0, 0, 48, 298, 1, 0, 0, 0, 50, 300, 1, 0, 0, 0, 52, 304, 1, 0, 0, 0, 54, 323, 1, 0, 0, 0,
3009
- 56, 340, 1, 0, 0, 0, 58, 342, 1, 0, 0, 0, 60, 349, 1, 0, 0, 0, 62, 351, 1, 0, 0, 0, 64, 371, 1, 0,
3010
- 0, 0, 66, 402, 1, 0, 0, 0, 68, 405, 1, 0, 0, 0, 70, 421, 1, 0, 0, 0, 72, 424, 1, 0, 0, 0, 74, 430,
3011
- 1, 0, 0, 0, 76, 433, 1, 0, 0, 0, 78, 446, 1, 0, 0, 0, 80, 459, 1, 0, 0, 0, 82, 468, 1, 0, 0, 0, 84,
3012
- 472, 1, 0, 0, 0, 86, 491, 1, 0, 0, 0, 88, 493, 1, 0, 0, 0, 90, 497, 1, 0, 0, 0, 92, 505, 1, 0, 0, 0,
3013
- 94, 508, 1, 0, 0, 0, 96, 511, 1, 0, 0, 0, 98, 101, 3, 2, 1, 0, 99, 101, 5, 44, 0, 0, 100, 98, 1, 0,
3014
- 0, 0, 100, 99, 1, 0, 0, 0, 101, 102, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103,
3015
- 104, 1, 0, 0, 0, 104, 105, 5, 0, 0, 1, 105, 1, 1, 0, 0, 0, 106, 123, 3, 14, 7, 0, 107, 123, 3, 24,
3016
- 12, 0, 108, 123, 3, 22, 11, 0, 109, 123, 3, 44, 22, 0, 110, 123, 3, 50, 25, 0, 111, 123, 3, 8,
3017
- 4, 0, 112, 123, 3, 52, 26, 0, 113, 123, 3, 42, 21, 0, 114, 123, 3, 62, 31, 0, 115, 123, 3, 90,
3018
- 45, 0, 116, 123, 3, 92, 46, 0, 117, 123, 3, 94, 47, 0, 118, 123, 3, 96, 48, 0, 119, 123, 3, 68,
3019
- 34, 0, 120, 123, 3, 32, 16, 0, 121, 123, 3, 4, 2, 0, 122, 106, 1, 0, 0, 0, 122, 107, 1, 0, 0, 0,
3020
- 122, 108, 1, 0, 0, 0, 122, 109, 1, 0, 0, 0, 122, 110, 1, 0, 0, 0, 122, 111, 1, 0, 0, 0, 122, 112,
3021
- 1, 0, 0, 0, 122, 113, 1, 0, 0, 0, 122, 114, 1, 0, 0, 0, 122, 115, 1, 0, 0, 0, 122, 116, 1, 0, 0, 0,
3022
- 122, 117, 1, 0, 0, 0, 122, 118, 1, 0, 0, 0, 122, 119, 1, 0, 0, 0, 122, 120, 1, 0, 0, 0, 122, 121,
3023
- 1, 0, 0, 0, 123, 3, 1, 0, 0, 0, 124, 126, 3, 6, 3, 0, 125, 124, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127,
3024
- 125, 1, 0, 0, 0, 127, 128, 1, 0, 0, 0, 128, 5, 1, 0, 0, 0, 129, 130, 7, 0, 0, 0, 130, 131, 5, 1, 0,
3025
- 0, 131, 132, 5, 44, 0, 0, 132, 135, 5, 46, 0, 0, 133, 136, 5, 44, 0, 0, 134, 136, 3, 2, 1, 0, 135,
3026
- 133, 1, 0, 0, 0, 135, 134, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 138, 1, 0,
3027
- 0, 0, 138, 139, 1, 0, 0, 0, 139, 140, 5, 47, 0, 0, 140, 7, 1, 0, 0, 0, 141, 142, 3, 68, 34, 0, 142,
3028
- 143, 5, 1, 0, 0, 143, 144, 5, 44, 0, 0, 144, 147, 5, 46, 0, 0, 145, 148, 5, 44, 0, 0, 146, 148,
3029
- 3, 10, 5, 0, 147, 145, 1, 0, 0, 0, 147, 146, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 147, 1, 0, 0,
3030
- 0, 149, 150, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 152, 5, 47, 0, 0, 152, 9, 1, 0, 0, 0, 153, 154,
3031
- 7, 1, 0, 0, 154, 155, 5, 1, 0, 0, 155, 156, 3, 60, 30, 0, 156, 11, 1, 0, 0, 0, 157, 160, 3, 54, 27,
3032
- 0, 158, 160, 3, 44, 22, 0, 159, 157, 1, 0, 0, 0, 159, 158, 1, 0, 0, 0, 160, 162, 1, 0, 0, 0, 161,
3033
- 163, 3, 18, 9, 0, 162, 161, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 13, 1, 0, 0, 0, 164, 165, 5, 16,
3034
- 0, 0, 165, 167, 3, 12, 6, 0, 166, 168, 5, 36, 0, 0, 167, 166, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168,
3035
- 15, 1, 0, 0, 0, 169, 172, 3, 12, 6, 0, 170, 172, 3, 18, 9, 0, 171, 169, 1, 0, 0, 0, 171, 170, 1,
3036
- 0, 0, 0, 172, 17, 1, 0, 0, 0, 173, 174, 5, 15, 0, 0, 174, 175, 7, 2, 0, 0, 175, 19, 1, 0, 0, 0, 176,
3037
- 177, 7, 2, 0, 0, 177, 21, 1, 0, 0, 0, 178, 179, 5, 17, 0, 0, 179, 181, 3, 16, 8, 0, 180, 182, 5,
3038
- 36, 0, 0, 181, 180, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 23, 1, 0, 0, 0, 183, 184, 5, 18, 0, 0,
3039
- 184, 189, 3, 16, 8, 0, 185, 186, 5, 2, 0, 0, 186, 188, 3, 16, 8, 0, 187, 185, 1, 0, 0, 0, 188, 191,
3040
- 1, 0, 0, 0, 189, 187, 1, 0, 0, 0, 189, 190, 1, 0, 0, 0, 190, 193, 1, 0, 0, 0, 191, 189, 1, 0, 0, 0,
3041
- 192, 194, 5, 36, 0, 0, 193, 192, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 25, 1, 0, 0, 0, 195, 196,
3042
- 5, 17, 0, 0, 196, 197, 3, 16, 8, 0, 197, 198, 5, 18, 0, 0, 198, 203, 3, 16, 8, 0, 199, 200, 5, 2,
3043
- 0, 0, 200, 202, 3, 16, 8, 0, 201, 199, 1, 0, 0, 0, 202, 205, 1, 0, 0, 0, 203, 201, 1, 0, 0, 0, 203,
3044
- 204, 1, 0, 0, 0, 204, 206, 1, 0, 0, 0, 205, 203, 1, 0, 0, 0, 206, 207, 5, 1, 0, 0, 207, 208, 5, 44,
3045
- 0, 0, 208, 211, 5, 46, 0, 0, 209, 212, 5, 44, 0, 0, 210, 212, 3, 28, 14, 0, 211, 209, 1, 0, 0, 0,
3046
- 211, 210, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 211, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 215,
3047
- 1, 0, 0, 0, 215, 216, 5, 47, 0, 0, 216, 27, 1, 0, 0, 0, 217, 218, 3, 20, 10, 0, 218, 219, 5, 1, 0,
3048
- 0, 219, 224, 3, 30, 15, 0, 220, 221, 5, 2, 0, 0, 221, 223, 3, 30, 15, 0, 222, 220, 1, 0, 0, 0, 223,
3049
- 226, 1, 0, 0, 0, 224, 222, 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 29, 1, 0, 0, 0, 226, 224, 1, 0,
3050
- 0, 0, 227, 228, 7, 3, 0, 0, 228, 31, 1, 0, 0, 0, 229, 230, 3, 22, 11, 0, 230, 231, 5, 1, 0, 0, 231,
3051
- 232, 5, 44, 0, 0, 232, 235, 5, 46, 0, 0, 233, 236, 5, 44, 0, 0, 234, 236, 3, 34, 17, 0, 235, 233,
3052
- 1, 0, 0, 0, 235, 234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 235, 1, 0, 0, 0, 237, 238, 1, 0, 0, 0,
3053
- 238, 239, 1, 0, 0, 0, 239, 240, 5, 47, 0, 0, 240, 33, 1, 0, 0, 0, 241, 244, 3, 2, 1, 0, 242, 244,
3054
- 3, 36, 18, 0, 243, 241, 1, 0, 0, 0, 243, 242, 1, 0, 0, 0, 244, 35, 1, 0, 0, 0, 245, 246, 3, 20, 10,
3055
- 0, 246, 249, 5, 1, 0, 0, 247, 250, 3, 38, 19, 0, 248, 250, 3, 40, 20, 0, 249, 247, 1, 0, 0, 0, 249,
3056
- 248, 1, 0, 0, 0, 250, 37, 1, 0, 0, 0, 251, 254, 3, 2, 1, 0, 252, 254, 5, 34, 0, 0, 253, 251, 1, 0,
3057
- 0, 0, 253, 252, 1, 0, 0, 0, 254, 39, 1, 0, 0, 0, 255, 256, 5, 44, 0, 0, 256, 259, 5, 46, 0, 0, 257,
3058
- 260, 5, 44, 0, 0, 258, 260, 3, 2, 1, 0, 259, 257, 1, 0, 0, 0, 259, 258, 1, 0, 0, 0, 260, 261, 1,
3059
- 0, 0, 0, 261, 259, 1, 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 264, 5, 47, 0, 0,
3060
- 264, 41, 1, 0, 0, 0, 265, 266, 5, 9, 0, 0, 266, 43, 1, 0, 0, 0, 267, 268, 3, 68, 34, 0, 268, 269,
3061
- 5, 3, 0, 0, 269, 270, 3, 54, 27, 0, 270, 45, 1, 0, 0, 0, 271, 272, 5, 36, 0, 0, 272, 273, 5, 3, 0,
3062
- 0, 273, 274, 3, 54, 27, 0, 274, 47, 1, 0, 0, 0, 275, 280, 3, 54, 27, 0, 276, 277, 5, 2, 0, 0, 277,
3063
- 279, 3, 54, 27, 0, 278, 276, 1, 0, 0, 0, 279, 282, 1, 0, 0, 0, 280, 278, 1, 0, 0, 0, 280, 281, 1,
3064
- 0, 0, 0, 281, 287, 1, 0, 0, 0, 282, 280, 1, 0, 0, 0, 283, 284, 5, 2, 0, 0, 284, 286, 3, 46, 23, 0,
3065
- 285, 283, 1, 0, 0, 0, 286, 289, 1, 0, 0, 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 299,
3066
- 1, 0, 0, 0, 289, 287, 1, 0, 0, 0, 290, 295, 3, 46, 23, 0, 291, 292, 5, 2, 0, 0, 292, 294, 3, 46,
3067
- 23, 0, 293, 291, 1, 0, 0, 0, 294, 297, 1, 0, 0, 0, 295, 293, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296,
3068
- 299, 1, 0, 0, 0, 297, 295, 1, 0, 0, 0, 298, 275, 1, 0, 0, 0, 298, 290, 1, 0, 0, 0, 299, 49, 1, 0,
3069
- 0, 0, 300, 301, 3, 68, 34, 0, 301, 302, 5, 3, 0, 0, 302, 303, 3, 54, 27, 0, 303, 51, 1, 0, 0, 0,
3070
- 304, 305, 5, 4, 0, 0, 305, 306, 5, 36, 0, 0, 306, 307, 5, 3, 0, 0, 307, 308, 3, 54, 27, 0, 308,
3071
- 53, 1, 0, 0, 0, 309, 311, 6, 27, -1, 0, 310, 312, 3, 58, 29, 0, 311, 310, 1, 0, 0, 0, 311, 312,
3072
- 1, 0, 0, 0, 312, 315, 1, 0, 0, 0, 313, 316, 3, 60, 30, 0, 314, 316, 3, 68, 34, 0, 315, 313, 1, 0,
3073
- 0, 0, 315, 314, 1, 0, 0, 0, 316, 324, 1, 0, 0, 0, 317, 318, 5, 32, 0, 0, 318, 319, 3, 54, 27, 0,
3074
- 319, 320, 5, 33, 0, 0, 320, 324, 1, 0, 0, 0, 321, 324, 3, 76, 38, 0, 322, 324, 3, 78, 39, 0, 323,
3075
- 309, 1, 0, 0, 0, 323, 317, 1, 0, 0, 0, 323, 321, 1, 0, 0, 0, 323, 322, 1, 0, 0, 0, 324, 337, 1, 0,
3076
- 0, 0, 325, 326, 10, 5, 0, 0, 326, 327, 7, 4, 0, 0, 327, 336, 3, 54, 27, 6, 328, 329, 10, 4, 0, 0,
3077
- 329, 330, 7, 5, 0, 0, 330, 336, 3, 54, 27, 5, 331, 332, 10, 3, 0, 0, 332, 333, 3, 56, 28, 0, 333,
3078
- 334, 3, 54, 27, 4, 334, 336, 1, 0, 0, 0, 335, 325, 1, 0, 0, 0, 335, 328, 1, 0, 0, 0, 335, 331, 1,
3079
- 0, 0, 0, 336, 339, 1, 0, 0, 0, 337, 335, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 55, 1, 0, 0, 0, 339,
3080
- 337, 1, 0, 0, 0, 340, 341, 7, 6, 0, 0, 341, 57, 1, 0, 0, 0, 342, 343, 7, 7, 0, 0, 343, 59, 1, 0, 0,
3081
- 0, 344, 346, 5, 29, 0, 0, 345, 344, 1, 0, 0, 0, 345, 346, 1, 0, 0, 0, 346, 347, 1, 0, 0, 0, 347,
3082
- 350, 7, 8, 0, 0, 348, 350, 3, 88, 44, 0, 349, 345, 1, 0, 0, 0, 349, 348, 1, 0, 0, 0, 350, 61, 1,
3083
- 0, 0, 0, 351, 352, 5, 21, 0, 0, 352, 353, 5, 36, 0, 0, 353, 355, 5, 32, 0, 0, 354, 356, 3, 66, 33,
3084
- 0, 355, 354, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 358, 5, 33, 0, 0, 358,
3085
- 359, 5, 1, 0, 0, 359, 360, 5, 44, 0, 0, 360, 363, 5, 46, 0, 0, 361, 364, 5, 44, 0, 0, 362, 364,
3086
- 3, 64, 32, 0, 363, 361, 1, 0, 0, 0, 363, 362, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 363, 1, 0, 0,
3087
- 0, 365, 366, 1, 0, 0, 0, 366, 367, 1, 0, 0, 0, 367, 368, 5, 47, 0, 0, 368, 63, 1, 0, 0, 0, 369, 372,
3088
- 3, 2, 1, 0, 370, 372, 3, 74, 37, 0, 371, 369, 1, 0, 0, 0, 371, 370, 1, 0, 0, 0, 372, 65, 1, 0, 0,
3089
- 0, 373, 378, 5, 36, 0, 0, 374, 375, 5, 2, 0, 0, 375, 377, 5, 36, 0, 0, 376, 374, 1, 0, 0, 0, 377,
3090
- 380, 1, 0, 0, 0, 378, 376, 1, 0, 0, 0, 378, 379, 1, 0, 0, 0, 379, 387, 1, 0, 0, 0, 380, 378, 1, 0,
3091
- 0, 0, 381, 382, 5, 2, 0, 0, 382, 383, 5, 36, 0, 0, 383, 384, 5, 3, 0, 0, 384, 386, 3, 60, 30, 0,
3092
- 385, 381, 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 403,
3093
- 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 391, 5, 36, 0, 0, 391, 392, 5, 3, 0, 0, 392, 399, 3, 60, 30,
3094
- 0, 393, 394, 5, 2, 0, 0, 394, 395, 5, 36, 0, 0, 395, 396, 5, 3, 0, 0, 396, 398, 3, 60, 30, 0, 397,
3095
- 393, 1, 0, 0, 0, 398, 401, 1, 0, 0, 0, 399, 397, 1, 0, 0, 0, 399, 400, 1, 0, 0, 0, 400, 403, 1, 0,
3096
- 0, 0, 401, 399, 1, 0, 0, 0, 402, 373, 1, 0, 0, 0, 402, 390, 1, 0, 0, 0, 403, 67, 1, 0, 0, 0, 404,
3097
- 406, 3, 72, 36, 0, 405, 404, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 411, 5,
3098
- 36, 0, 0, 408, 410, 3, 70, 35, 0, 409, 408, 1, 0, 0, 0, 410, 413, 1, 0, 0, 0, 411, 409, 1, 0, 0,
3099
- 0, 411, 412, 1, 0, 0, 0, 412, 69, 1, 0, 0, 0, 413, 411, 1, 0, 0, 0, 414, 416, 5, 32, 0, 0, 415, 417,
3100
- 3, 48, 24, 0, 416, 415, 1, 0, 0, 0, 416, 417, 1, 0, 0, 0, 417, 418, 1, 0, 0, 0, 418, 422, 5, 33,
3101
- 0, 0, 419, 420, 5, 5, 0, 0, 420, 422, 5, 36, 0, 0, 421, 414, 1, 0, 0, 0, 421, 419, 1, 0, 0, 0, 422,
3102
- 71, 1, 0, 0, 0, 423, 425, 5, 28, 0, 0, 424, 423, 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 426, 1, 0,
3103
- 0, 0, 426, 428, 5, 30, 0, 0, 427, 429, 3, 54, 27, 0, 428, 427, 1, 0, 0, 0, 428, 429, 1, 0, 0, 0,
3104
- 429, 73, 1, 0, 0, 0, 430, 431, 5, 20, 0, 0, 431, 432, 3, 54, 27, 0, 432, 75, 1, 0, 0, 0, 433, 434,
3105
- 5, 11, 0, 0, 434, 435, 5, 12, 0, 0, 435, 436, 5, 1, 0, 0, 436, 437, 5, 44, 0, 0, 437, 440, 5, 46,
3106
- 0, 0, 438, 441, 5, 44, 0, 0, 439, 441, 3, 82, 41, 0, 440, 438, 1, 0, 0, 0, 440, 439, 1, 0, 0, 0,
3107
- 441, 442, 1, 0, 0, 0, 442, 440, 1, 0, 0, 0, 442, 443, 1, 0, 0, 0, 443, 444, 1, 0, 0, 0, 444, 445,
3108
- 5, 47, 0, 0, 445, 77, 1, 0, 0, 0, 446, 447, 5, 11, 0, 0, 447, 448, 5, 13, 0, 0, 448, 449, 5, 1, 0,
3109
- 0, 449, 450, 5, 44, 0, 0, 450, 453, 5, 46, 0, 0, 451, 454, 5, 44, 0, 0, 452, 454, 3, 80, 40, 0,
3110
- 453, 451, 1, 0, 0, 0, 453, 452, 1, 0, 0, 0, 454, 455, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, 455, 456,
3111
- 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 458, 5, 47, 0, 0, 458, 79, 1, 0, 0, 0, 459, 460, 7, 9, 0, 0,
3112
- 460, 466, 5, 1, 0, 0, 461, 467, 3, 48, 24, 0, 462, 463, 5, 32, 0, 0, 463, 464, 3, 48, 24, 0, 464,
3113
- 465, 5, 33, 0, 0, 465, 467, 1, 0, 0, 0, 466, 461, 1, 0, 0, 0, 466, 462, 1, 0, 0, 0, 467, 81, 1, 0,
3114
- 0, 0, 468, 469, 3, 84, 42, 0, 469, 470, 5, 1, 0, 0, 470, 471, 3, 86, 43, 0, 471, 83, 1, 0, 0, 0,
3115
- 472, 473, 7, 10, 0, 0, 473, 85, 1, 0, 0, 0, 474, 475, 5, 44, 0, 0, 475, 478, 5, 46, 0, 0, 476, 479,
3116
- 5, 44, 0, 0, 477, 479, 3, 82, 41, 0, 478, 476, 1, 0, 0, 0, 478, 477, 1, 0, 0, 0, 479, 480, 1, 0,
3117
- 0, 0, 480, 478, 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 1, 0, 0, 0, 482, 492, 5, 47, 0, 0, 483,
3118
- 488, 3, 54, 27, 0, 484, 485, 5, 2, 0, 0, 485, 487, 3, 54, 27, 0, 486, 484, 1, 0, 0, 0, 487, 490,
3119
- 1, 0, 0, 0, 488, 486, 1, 0, 0, 0, 488, 489, 1, 0, 0, 0, 489, 492, 1, 0, 0, 0, 490, 488, 1, 0, 0, 0,
3120
- 491, 474, 1, 0, 0, 0, 491, 483, 1, 0, 0, 0, 492, 87, 1, 0, 0, 0, 493, 494, 5, 6, 0, 0, 494, 495,
3121
- 5, 37, 0, 0, 495, 496, 5, 7, 0, 0, 496, 89, 1, 0, 0, 0, 497, 498, 5, 14, 0, 0, 498, 502, 5, 36, 0,
3122
- 0, 499, 501, 7, 1, 0, 0, 500, 499, 1, 0, 0, 0, 501, 504, 1, 0, 0, 0, 502, 500, 1, 0, 0, 0, 502, 503,
3123
- 1, 0, 0, 0, 503, 91, 1, 0, 0, 0, 504, 502, 1, 0, 0, 0, 505, 506, 5, 19, 0, 0, 506, 507, 5, 36, 0,
3124
- 0, 507, 93, 1, 0, 0, 0, 508, 509, 5, 22, 0, 0, 509, 510, 5, 36, 0, 0, 510, 95, 1, 0, 0, 0, 511, 512,
3125
- 5, 8, 0, 0, 512, 513, 5, 1, 0, 0, 513, 514, 5, 44, 0, 0, 514, 517, 5, 46, 0, 0, 515, 518, 5, 44,
3126
- 0, 0, 516, 518, 3, 2, 1, 0, 517, 515, 1, 0, 0, 0, 517, 516, 1, 0, 0, 0, 518, 519, 1, 0, 0, 0, 519,
3127
- 517, 1, 0, 0, 0, 519, 520, 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 522, 5, 47, 0, 0, 522, 97, 1, 0,
3128
- 0, 0, 63, 100, 102, 122, 127, 135, 137, 147, 149, 159, 162, 167, 171, 181, 189, 193, 203,
3129
- 211, 213, 224, 235, 237, 243, 249, 253, 259, 261, 280, 287, 295, 298, 311, 315, 323, 335,
3130
- 337, 345, 349, 355, 363, 365, 371, 378, 387, 399, 402, 405, 411, 416, 421, 424, 428, 440,
3131
- 442, 453, 455, 466, 478, 480, 488, 491, 502, 517, 519];
3047
+ 8, 11, 1, 11, 3, 11, 185, 8, 11, 1, 12, 1, 12, 1, 12, 1, 12, 5, 12, 191, 8, 12, 10, 12, 12, 12, 194,
3048
+ 9, 12, 1, 12, 3, 12, 197, 8, 12, 1, 12, 3, 12, 200, 8, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13,
3049
+ 5, 13, 208, 8, 13, 10, 13, 12, 13, 211, 9, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 4, 13, 218, 8,
3050
+ 13, 11, 13, 12, 13, 219, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 229, 8, 14, 10,
3051
+ 14, 12, 14, 232, 9, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 4, 16, 242, 8, 16,
3052
+ 11, 16, 12, 16, 243, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 250, 8, 17, 1, 18, 1, 18, 1, 18, 1, 18, 3,
3053
+ 18, 256, 8, 18, 1, 19, 1, 19, 3, 19, 260, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 4, 20, 266, 8, 20, 11,
3054
+ 20, 12, 20, 267, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23,
3055
+ 1, 24, 1, 24, 1, 24, 5, 24, 285, 8, 24, 10, 24, 12, 24, 288, 9, 24, 1, 24, 1, 24, 5, 24, 292, 8,
3056
+ 24, 10, 24, 12, 24, 295, 9, 24, 1, 24, 1, 24, 1, 24, 5, 24, 300, 8, 24, 10, 24, 12, 24, 303, 9,
3057
+ 24, 3, 24, 305, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27,
3058
+ 3, 27, 318, 8, 27, 1, 27, 1, 27, 3, 27, 322, 8, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27,
3059
+ 330, 8, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 5, 27, 342, 8, 27,
3060
+ 10, 27, 12, 27, 345, 9, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 3, 30, 352, 8, 30, 1, 30, 1, 30, 3,
3061
+ 30, 356, 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 362, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31,
3062
+ 1, 31, 4, 31, 370, 8, 31, 11, 31, 12, 31, 371, 1, 31, 1, 31, 1, 32, 1, 32, 3, 32, 378, 8, 32, 1,
3063
+ 33, 1, 33, 1, 33, 5, 33, 383, 8, 33, 10, 33, 12, 33, 386, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33,
3064
+ 392, 8, 33, 10, 33, 12, 33, 395, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 404,
3065
+ 8, 33, 10, 33, 12, 33, 407, 9, 33, 3, 33, 409, 8, 33, 1, 34, 3, 34, 412, 8, 34, 1, 34, 1, 34, 5,
3066
+ 34, 416, 8, 34, 10, 34, 12, 34, 419, 9, 34, 1, 35, 1, 35, 3, 35, 423, 8, 35, 1, 35, 1, 35, 1, 35,
3067
+ 3, 35, 428, 8, 35, 1, 36, 3, 36, 431, 8, 36, 1, 36, 1, 36, 3, 36, 435, 8, 36, 1, 37, 1, 37, 1, 37,
3068
+ 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 4, 38, 447, 8, 38, 11, 38, 12, 38, 448, 1, 38, 1,
3069
+ 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 4, 39, 460, 8, 39, 11, 39, 12, 39, 461, 1, 39,
3070
+ 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 3, 40, 473, 8, 40, 1, 41, 1, 41, 1, 41, 1,
3071
+ 41, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 4, 43, 485, 8, 43, 11, 43, 12, 43, 486, 1, 43, 1, 43,
3072
+ 1, 43, 1, 43, 5, 43, 493, 8, 43, 10, 43, 12, 43, 496, 9, 43, 3, 43, 498, 8, 43, 1, 44, 1, 44, 1,
3073
+ 44, 1, 44, 1, 45, 1, 45, 1, 45, 5, 45, 507, 8, 45, 10, 45, 12, 45, 510, 9, 45, 1, 46, 1, 46, 1, 46,
3074
+ 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 4, 48, 524, 8, 48, 11, 48, 12, 48,
3075
+ 525, 1, 48, 1, 48, 1, 48, 0, 1, 54, 49, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
3076
+ 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78,
3077
+ 80, 82, 84, 86, 88, 90, 92, 94, 96, 0, 11, 2, 0, 10, 10, 19, 21, 1, 0, 37, 38, 2, 0, 38, 38, 41,
3078
+ 41, 2, 0, 35, 35, 38, 38, 1, 0, 31, 32, 1, 0, 29, 30, 1, 0, 27, 28, 2, 0, 26, 26, 30, 30, 2, 0, 36,
3079
+ 36, 38, 42, 2, 0, 15, 15, 37, 37, 2, 0, 37, 38, 41, 41, 562, 0, 100, 1, 0, 0, 0, 2, 122, 1, 0, 0,
3080
+ 0, 4, 125, 1, 0, 0, 0, 6, 129, 1, 0, 0, 0, 8, 141, 1, 0, 0, 0, 10, 153, 1, 0, 0, 0, 12, 159, 1, 0, 0,
3081
+ 0, 14, 164, 1, 0, 0, 0, 16, 171, 1, 0, 0, 0, 18, 173, 1, 0, 0, 0, 20, 176, 1, 0, 0, 0, 22, 178, 1,
3082
+ 0, 0, 0, 24, 186, 1, 0, 0, 0, 26, 201, 1, 0, 0, 0, 28, 223, 1, 0, 0, 0, 30, 233, 1, 0, 0, 0, 32, 235,
3083
+ 1, 0, 0, 0, 34, 249, 1, 0, 0, 0, 36, 251, 1, 0, 0, 0, 38, 259, 1, 0, 0, 0, 40, 261, 1, 0, 0, 0, 42,
3084
+ 271, 1, 0, 0, 0, 44, 273, 1, 0, 0, 0, 46, 277, 1, 0, 0, 0, 48, 304, 1, 0, 0, 0, 50, 306, 1, 0, 0, 0,
3085
+ 52, 310, 1, 0, 0, 0, 54, 329, 1, 0, 0, 0, 56, 346, 1, 0, 0, 0, 58, 348, 1, 0, 0, 0, 60, 355, 1, 0,
3086
+ 0, 0, 62, 357, 1, 0, 0, 0, 64, 377, 1, 0, 0, 0, 66, 408, 1, 0, 0, 0, 68, 411, 1, 0, 0, 0, 70, 427,
3087
+ 1, 0, 0, 0, 72, 430, 1, 0, 0, 0, 74, 436, 1, 0, 0, 0, 76, 439, 1, 0, 0, 0, 78, 452, 1, 0, 0, 0, 80,
3088
+ 465, 1, 0, 0, 0, 82, 474, 1, 0, 0, 0, 84, 478, 1, 0, 0, 0, 86, 497, 1, 0, 0, 0, 88, 499, 1, 0, 0, 0,
3089
+ 90, 503, 1, 0, 0, 0, 92, 511, 1, 0, 0, 0, 94, 514, 1, 0, 0, 0, 96, 517, 1, 0, 0, 0, 98, 101, 3, 2,
3090
+ 1, 0, 99, 101, 5, 45, 0, 0, 100, 98, 1, 0, 0, 0, 100, 99, 1, 0, 0, 0, 101, 102, 1, 0, 0, 0, 102, 100,
3091
+ 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 105, 5, 0, 0, 1, 105, 1, 1, 0, 0, 0, 106,
3092
+ 123, 3, 14, 7, 0, 107, 123, 3, 24, 12, 0, 108, 123, 3, 22, 11, 0, 109, 123, 3, 44, 22, 0, 110,
3093
+ 123, 3, 50, 25, 0, 111, 123, 3, 8, 4, 0, 112, 123, 3, 52, 26, 0, 113, 123, 3, 42, 21, 0, 114, 123,
3094
+ 3, 62, 31, 0, 115, 123, 3, 90, 45, 0, 116, 123, 3, 94, 47, 0, 117, 123, 3, 96, 48, 0, 118, 123,
3095
+ 3, 68, 34, 0, 119, 123, 3, 32, 16, 0, 120, 123, 3, 4, 2, 0, 121, 123, 3, 92, 46, 0, 122, 106, 1,
3096
+ 0, 0, 0, 122, 107, 1, 0, 0, 0, 122, 108, 1, 0, 0, 0, 122, 109, 1, 0, 0, 0, 122, 110, 1, 0, 0, 0, 122,
3097
+ 111, 1, 0, 0, 0, 122, 112, 1, 0, 0, 0, 122, 113, 1, 0, 0, 0, 122, 114, 1, 0, 0, 0, 122, 115, 1, 0,
3098
+ 0, 0, 122, 116, 1, 0, 0, 0, 122, 117, 1, 0, 0, 0, 122, 118, 1, 0, 0, 0, 122, 119, 1, 0, 0, 0, 122,
3099
+ 120, 1, 0, 0, 0, 122, 121, 1, 0, 0, 0, 123, 3, 1, 0, 0, 0, 124, 126, 3, 6, 3, 0, 125, 124, 1, 0, 0,
3100
+ 0, 126, 127, 1, 0, 0, 0, 127, 125, 1, 0, 0, 0, 127, 128, 1, 0, 0, 0, 128, 5, 1, 0, 0, 0, 129, 130,
3101
+ 7, 0, 0, 0, 130, 131, 5, 1, 0, 0, 131, 132, 5, 45, 0, 0, 132, 135, 5, 47, 0, 0, 133, 136, 5, 45,
3102
+ 0, 0, 134, 136, 3, 2, 1, 0, 135, 133, 1, 0, 0, 0, 135, 134, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137,
3103
+ 135, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, 139, 140, 5, 48, 0, 0, 140, 7, 1, 0,
3104
+ 0, 0, 141, 142, 3, 68, 34, 0, 142, 143, 5, 1, 0, 0, 143, 144, 5, 45, 0, 0, 144, 147, 5, 47, 0, 0,
3105
+ 145, 148, 5, 45, 0, 0, 146, 148, 3, 10, 5, 0, 147, 145, 1, 0, 0, 0, 147, 146, 1, 0, 0, 0, 148, 149,
3106
+ 1, 0, 0, 0, 149, 147, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 152, 5, 48, 0,
3107
+ 0, 152, 9, 1, 0, 0, 0, 153, 154, 7, 1, 0, 0, 154, 155, 5, 1, 0, 0, 155, 156, 3, 60, 30, 0, 156, 11,
3108
+ 1, 0, 0, 0, 157, 160, 3, 54, 27, 0, 158, 160, 3, 44, 22, 0, 159, 157, 1, 0, 0, 0, 159, 158, 1, 0,
3109
+ 0, 0, 160, 162, 1, 0, 0, 0, 161, 163, 3, 18, 9, 0, 162, 161, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163,
3110
+ 13, 1, 0, 0, 0, 164, 165, 5, 16, 0, 0, 165, 167, 3, 12, 6, 0, 166, 168, 5, 37, 0, 0, 167, 166, 1,
3111
+ 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 15, 1, 0, 0, 0, 169, 172, 3, 12, 6, 0, 170, 172, 3, 18, 9, 0,
3112
+ 171, 169, 1, 0, 0, 0, 171, 170, 1, 0, 0, 0, 172, 17, 1, 0, 0, 0, 173, 174, 5, 15, 0, 0, 174, 175,
3113
+ 7, 2, 0, 0, 175, 19, 1, 0, 0, 0, 176, 177, 7, 2, 0, 0, 177, 21, 1, 0, 0, 0, 178, 184, 5, 17, 0, 0,
3114
+ 179, 181, 3, 16, 8, 0, 180, 182, 5, 37, 0, 0, 181, 180, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 185,
3115
+ 1, 0, 0, 0, 183, 185, 5, 19, 0, 0, 184, 179, 1, 0, 0, 0, 184, 183, 1, 0, 0, 0, 185, 23, 1, 0, 0, 0,
3116
+ 186, 199, 5, 18, 0, 0, 187, 192, 3, 16, 8, 0, 188, 189, 5, 2, 0, 0, 189, 191, 3, 16, 8, 0, 190,
3117
+ 188, 1, 0, 0, 0, 191, 194, 1, 0, 0, 0, 192, 190, 1, 0, 0, 0, 192, 193, 1, 0, 0, 0, 193, 196, 1, 0,
3118
+ 0, 0, 194, 192, 1, 0, 0, 0, 195, 197, 5, 37, 0, 0, 196, 195, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197,
3119
+ 200, 1, 0, 0, 0, 198, 200, 5, 19, 0, 0, 199, 187, 1, 0, 0, 0, 199, 198, 1, 0, 0, 0, 200, 25, 1, 0,
3120
+ 0, 0, 201, 202, 5, 17, 0, 0, 202, 203, 3, 16, 8, 0, 203, 204, 5, 18, 0, 0, 204, 209, 3, 16, 8, 0,
3121
+ 205, 206, 5, 2, 0, 0, 206, 208, 3, 16, 8, 0, 207, 205, 1, 0, 0, 0, 208, 211, 1, 0, 0, 0, 209, 207,
3122
+ 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 212, 1, 0, 0, 0, 211, 209, 1, 0, 0, 0, 212, 213, 5, 1, 0, 0,
3123
+ 213, 214, 5, 45, 0, 0, 214, 217, 5, 47, 0, 0, 215, 218, 5, 45, 0, 0, 216, 218, 3, 28, 14, 0, 217,
3124
+ 215, 1, 0, 0, 0, 217, 216, 1, 0, 0, 0, 218, 219, 1, 0, 0, 0, 219, 217, 1, 0, 0, 0, 219, 220, 1, 0,
3125
+ 0, 0, 220, 221, 1, 0, 0, 0, 221, 222, 5, 48, 0, 0, 222, 27, 1, 0, 0, 0, 223, 224, 3, 20, 10, 0, 224,
3126
+ 225, 5, 1, 0, 0, 225, 230, 3, 30, 15, 0, 226, 227, 5, 2, 0, 0, 227, 229, 3, 30, 15, 0, 228, 226,
3127
+ 1, 0, 0, 0, 229, 232, 1, 0, 0, 0, 230, 228, 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 29, 1, 0, 0, 0,
3128
+ 232, 230, 1, 0, 0, 0, 233, 234, 7, 3, 0, 0, 234, 31, 1, 0, 0, 0, 235, 236, 3, 22, 11, 0, 236, 237,
3129
+ 5, 1, 0, 0, 237, 238, 5, 45, 0, 0, 238, 241, 5, 47, 0, 0, 239, 242, 5, 45, 0, 0, 240, 242, 3, 34,
3130
+ 17, 0, 241, 239, 1, 0, 0, 0, 241, 240, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243, 241, 1, 0, 0, 0, 243,
3131
+ 244, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, 246, 5, 48, 0, 0, 246, 33, 1, 0, 0, 0, 247, 250, 3, 2,
3132
+ 1, 0, 248, 250, 3, 36, 18, 0, 249, 247, 1, 0, 0, 0, 249, 248, 1, 0, 0, 0, 250, 35, 1, 0, 0, 0, 251,
3133
+ 252, 3, 20, 10, 0, 252, 255, 5, 1, 0, 0, 253, 256, 3, 38, 19, 0, 254, 256, 3, 40, 20, 0, 255, 253,
3134
+ 1, 0, 0, 0, 255, 254, 1, 0, 0, 0, 256, 37, 1, 0, 0, 0, 257, 260, 3, 2, 1, 0, 258, 260, 5, 35, 0, 0,
3135
+ 259, 257, 1, 0, 0, 0, 259, 258, 1, 0, 0, 0, 260, 39, 1, 0, 0, 0, 261, 262, 5, 45, 0, 0, 262, 265,
3136
+ 5, 47, 0, 0, 263, 266, 5, 45, 0, 0, 264, 266, 3, 2, 1, 0, 265, 263, 1, 0, 0, 0, 265, 264, 1, 0, 0,
3137
+ 0, 266, 267, 1, 0, 0, 0, 267, 265, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 269, 1, 0, 0, 0, 269, 270,
3138
+ 5, 48, 0, 0, 270, 41, 1, 0, 0, 0, 271, 272, 5, 9, 0, 0, 272, 43, 1, 0, 0, 0, 273, 274, 3, 68, 34,
3139
+ 0, 274, 275, 5, 3, 0, 0, 275, 276, 3, 54, 27, 0, 276, 45, 1, 0, 0, 0, 277, 278, 5, 37, 0, 0, 278,
3140
+ 279, 5, 3, 0, 0, 279, 280, 3, 54, 27, 0, 280, 47, 1, 0, 0, 0, 281, 286, 3, 54, 27, 0, 282, 283,
3141
+ 5, 2, 0, 0, 283, 285, 3, 54, 27, 0, 284, 282, 1, 0, 0, 0, 285, 288, 1, 0, 0, 0, 286, 284, 1, 0, 0,
3142
+ 0, 286, 287, 1, 0, 0, 0, 287, 293, 1, 0, 0, 0, 288, 286, 1, 0, 0, 0, 289, 290, 5, 2, 0, 0, 290, 292,
3143
+ 3, 46, 23, 0, 291, 289, 1, 0, 0, 0, 292, 295, 1, 0, 0, 0, 293, 291, 1, 0, 0, 0, 293, 294, 1, 0, 0,
3144
+ 0, 294, 305, 1, 0, 0, 0, 295, 293, 1, 0, 0, 0, 296, 301, 3, 46, 23, 0, 297, 298, 5, 2, 0, 0, 298,
3145
+ 300, 3, 46, 23, 0, 299, 297, 1, 0, 0, 0, 300, 303, 1, 0, 0, 0, 301, 299, 1, 0, 0, 0, 301, 302, 1,
3146
+ 0, 0, 0, 302, 305, 1, 0, 0, 0, 303, 301, 1, 0, 0, 0, 304, 281, 1, 0, 0, 0, 304, 296, 1, 0, 0, 0, 305,
3147
+ 49, 1, 0, 0, 0, 306, 307, 3, 68, 34, 0, 307, 308, 5, 3, 0, 0, 308, 309, 3, 54, 27, 0, 309, 51, 1,
3148
+ 0, 0, 0, 310, 311, 5, 4, 0, 0, 311, 312, 5, 37, 0, 0, 312, 313, 5, 3, 0, 0, 313, 314, 3, 54, 27,
3149
+ 0, 314, 53, 1, 0, 0, 0, 315, 317, 6, 27, -1, 0, 316, 318, 3, 58, 29, 0, 317, 316, 1, 0, 0, 0, 317,
3150
+ 318, 1, 0, 0, 0, 318, 321, 1, 0, 0, 0, 319, 322, 3, 60, 30, 0, 320, 322, 3, 68, 34, 0, 321, 319,
3151
+ 1, 0, 0, 0, 321, 320, 1, 0, 0, 0, 322, 330, 1, 0, 0, 0, 323, 324, 5, 33, 0, 0, 324, 325, 3, 54, 27,
3152
+ 0, 325, 326, 5, 34, 0, 0, 326, 330, 1, 0, 0, 0, 327, 330, 3, 76, 38, 0, 328, 330, 3, 78, 39, 0,
3153
+ 329, 315, 1, 0, 0, 0, 329, 323, 1, 0, 0, 0, 329, 327, 1, 0, 0, 0, 329, 328, 1, 0, 0, 0, 330, 343,
3154
+ 1, 0, 0, 0, 331, 332, 10, 5, 0, 0, 332, 333, 7, 4, 0, 0, 333, 342, 3, 54, 27, 6, 334, 335, 10, 4,
3155
+ 0, 0, 335, 336, 7, 5, 0, 0, 336, 342, 3, 54, 27, 5, 337, 338, 10, 3, 0, 0, 338, 339, 3, 56, 28,
3156
+ 0, 339, 340, 3, 54, 27, 4, 340, 342, 1, 0, 0, 0, 341, 331, 1, 0, 0, 0, 341, 334, 1, 0, 0, 0, 341,
3157
+ 337, 1, 0, 0, 0, 342, 345, 1, 0, 0, 0, 343, 341, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 55, 1, 0,
3158
+ 0, 0, 345, 343, 1, 0, 0, 0, 346, 347, 7, 6, 0, 0, 347, 57, 1, 0, 0, 0, 348, 349, 7, 7, 0, 0, 349,
3159
+ 59, 1, 0, 0, 0, 350, 352, 5, 30, 0, 0, 351, 350, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 353, 1, 0,
3160
+ 0, 0, 353, 356, 7, 8, 0, 0, 354, 356, 3, 88, 44, 0, 355, 351, 1, 0, 0, 0, 355, 354, 1, 0, 0, 0, 356,
3161
+ 61, 1, 0, 0, 0, 357, 358, 5, 23, 0, 0, 358, 359, 5, 37, 0, 0, 359, 361, 5, 33, 0, 0, 360, 362, 3,
3162
+ 66, 33, 0, 361, 360, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 363, 1, 0, 0, 0, 363, 364, 5, 34, 0,
3163
+ 0, 364, 365, 5, 1, 0, 0, 365, 366, 5, 45, 0, 0, 366, 369, 5, 47, 0, 0, 367, 370, 5, 45, 0, 0, 368,
3164
+ 370, 3, 64, 32, 0, 369, 367, 1, 0, 0, 0, 369, 368, 1, 0, 0, 0, 370, 371, 1, 0, 0, 0, 371, 369, 1,
3165
+ 0, 0, 0, 371, 372, 1, 0, 0, 0, 372, 373, 1, 0, 0, 0, 373, 374, 5, 48, 0, 0, 374, 63, 1, 0, 0, 0, 375,
3166
+ 378, 3, 2, 1, 0, 376, 378, 3, 74, 37, 0, 377, 375, 1, 0, 0, 0, 377, 376, 1, 0, 0, 0, 378, 65, 1,
3167
+ 0, 0, 0, 379, 384, 5, 37, 0, 0, 380, 381, 5, 2, 0, 0, 381, 383, 5, 37, 0, 0, 382, 380, 1, 0, 0, 0,
3168
+ 383, 386, 1, 0, 0, 0, 384, 382, 1, 0, 0, 0, 384, 385, 1, 0, 0, 0, 385, 393, 1, 0, 0, 0, 386, 384,
3169
+ 1, 0, 0, 0, 387, 388, 5, 2, 0, 0, 388, 389, 5, 37, 0, 0, 389, 390, 5, 3, 0, 0, 390, 392, 3, 60, 30,
3170
+ 0, 391, 387, 1, 0, 0, 0, 392, 395, 1, 0, 0, 0, 393, 391, 1, 0, 0, 0, 393, 394, 1, 0, 0, 0, 394, 409,
3171
+ 1, 0, 0, 0, 395, 393, 1, 0, 0, 0, 396, 397, 5, 37, 0, 0, 397, 398, 5, 3, 0, 0, 398, 405, 3, 60, 30,
3172
+ 0, 399, 400, 5, 2, 0, 0, 400, 401, 5, 37, 0, 0, 401, 402, 5, 3, 0, 0, 402, 404, 3, 60, 30, 0, 403,
3173
+ 399, 1, 0, 0, 0, 404, 407, 1, 0, 0, 0, 405, 403, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 409, 1, 0,
3174
+ 0, 0, 407, 405, 1, 0, 0, 0, 408, 379, 1, 0, 0, 0, 408, 396, 1, 0, 0, 0, 409, 67, 1, 0, 0, 0, 410,
3175
+ 412, 3, 72, 36, 0, 411, 410, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 417, 5,
3176
+ 37, 0, 0, 414, 416, 3, 70, 35, 0, 415, 414, 1, 0, 0, 0, 416, 419, 1, 0, 0, 0, 417, 415, 1, 0, 0,
3177
+ 0, 417, 418, 1, 0, 0, 0, 418, 69, 1, 0, 0, 0, 419, 417, 1, 0, 0, 0, 420, 422, 5, 33, 0, 0, 421, 423,
3178
+ 3, 48, 24, 0, 422, 421, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423, 424, 1, 0, 0, 0, 424, 428, 5, 34,
3179
+ 0, 0, 425, 426, 5, 5, 0, 0, 426, 428, 5, 37, 0, 0, 427, 420, 1, 0, 0, 0, 427, 425, 1, 0, 0, 0, 428,
3180
+ 71, 1, 0, 0, 0, 429, 431, 5, 29, 0, 0, 430, 429, 1, 0, 0, 0, 430, 431, 1, 0, 0, 0, 431, 432, 1, 0,
3181
+ 0, 0, 432, 434, 5, 31, 0, 0, 433, 435, 3, 54, 27, 0, 434, 433, 1, 0, 0, 0, 434, 435, 1, 0, 0, 0,
3182
+ 435, 73, 1, 0, 0, 0, 436, 437, 5, 22, 0, 0, 437, 438, 3, 54, 27, 0, 438, 75, 1, 0, 0, 0, 439, 440,
3183
+ 5, 11, 0, 0, 440, 441, 5, 12, 0, 0, 441, 442, 5, 1, 0, 0, 442, 443, 5, 45, 0, 0, 443, 446, 5, 47,
3184
+ 0, 0, 444, 447, 5, 45, 0, 0, 445, 447, 3, 82, 41, 0, 446, 444, 1, 0, 0, 0, 446, 445, 1, 0, 0, 0,
3185
+ 447, 448, 1, 0, 0, 0, 448, 446, 1, 0, 0, 0, 448, 449, 1, 0, 0, 0, 449, 450, 1, 0, 0, 0, 450, 451,
3186
+ 5, 48, 0, 0, 451, 77, 1, 0, 0, 0, 452, 453, 5, 11, 0, 0, 453, 454, 5, 13, 0, 0, 454, 455, 5, 1, 0,
3187
+ 0, 455, 456, 5, 45, 0, 0, 456, 459, 5, 47, 0, 0, 457, 460, 5, 45, 0, 0, 458, 460, 3, 80, 40, 0,
3188
+ 459, 457, 1, 0, 0, 0, 459, 458, 1, 0, 0, 0, 460, 461, 1, 0, 0, 0, 461, 459, 1, 0, 0, 0, 461, 462,
3189
+ 1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463, 464, 5, 48, 0, 0, 464, 79, 1, 0, 0, 0, 465, 466, 7, 9, 0, 0,
3190
+ 466, 472, 5, 1, 0, 0, 467, 473, 3, 48, 24, 0, 468, 469, 5, 33, 0, 0, 469, 470, 3, 48, 24, 0, 470,
3191
+ 471, 5, 34, 0, 0, 471, 473, 1, 0, 0, 0, 472, 467, 1, 0, 0, 0, 472, 468, 1, 0, 0, 0, 473, 81, 1, 0,
3192
+ 0, 0, 474, 475, 3, 84, 42, 0, 475, 476, 5, 1, 0, 0, 476, 477, 3, 86, 43, 0, 477, 83, 1, 0, 0, 0,
3193
+ 478, 479, 7, 10, 0, 0, 479, 85, 1, 0, 0, 0, 480, 481, 5, 45, 0, 0, 481, 484, 5, 47, 0, 0, 482, 485,
3194
+ 5, 45, 0, 0, 483, 485, 3, 82, 41, 0, 484, 482, 1, 0, 0, 0, 484, 483, 1, 0, 0, 0, 485, 486, 1, 0,
3195
+ 0, 0, 486, 484, 1, 0, 0, 0, 486, 487, 1, 0, 0, 0, 487, 488, 1, 0, 0, 0, 488, 498, 5, 48, 0, 0, 489,
3196
+ 494, 3, 54, 27, 0, 490, 491, 5, 2, 0, 0, 491, 493, 3, 54, 27, 0, 492, 490, 1, 0, 0, 0, 493, 496,
3197
+ 1, 0, 0, 0, 494, 492, 1, 0, 0, 0, 494, 495, 1, 0, 0, 0, 495, 498, 1, 0, 0, 0, 496, 494, 1, 0, 0, 0,
3198
+ 497, 480, 1, 0, 0, 0, 497, 489, 1, 0, 0, 0, 498, 87, 1, 0, 0, 0, 499, 500, 5, 6, 0, 0, 500, 501,
3199
+ 5, 38, 0, 0, 501, 502, 5, 7, 0, 0, 502, 89, 1, 0, 0, 0, 503, 504, 5, 14, 0, 0, 504, 508, 5, 37, 0,
3200
+ 0, 505, 507, 7, 1, 0, 0, 506, 505, 1, 0, 0, 0, 507, 510, 1, 0, 0, 0, 508, 506, 1, 0, 0, 0, 508, 509,
3201
+ 1, 0, 0, 0, 509, 91, 1, 0, 0, 0, 510, 508, 1, 0, 0, 0, 511, 512, 5, 19, 0, 0, 512, 513, 5, 37, 0,
3202
+ 0, 513, 93, 1, 0, 0, 0, 514, 515, 5, 24, 0, 0, 515, 516, 5, 37, 0, 0, 516, 95, 1, 0, 0, 0, 517, 518,
3203
+ 5, 8, 0, 0, 518, 519, 5, 1, 0, 0, 519, 520, 5, 45, 0, 0, 520, 523, 5, 47, 0, 0, 521, 524, 5, 45,
3204
+ 0, 0, 522, 524, 3, 2, 1, 0, 523, 521, 1, 0, 0, 0, 523, 522, 1, 0, 0, 0, 524, 525, 1, 0, 0, 0, 525,
3205
+ 523, 1, 0, 0, 0, 525, 526, 1, 0, 0, 0, 526, 527, 1, 0, 0, 0, 527, 528, 5, 48, 0, 0, 528, 97, 1, 0,
3206
+ 0, 0, 65, 100, 102, 122, 127, 135, 137, 147, 149, 159, 162, 167, 171, 181, 184, 192, 196,
3207
+ 199, 209, 217, 219, 230, 241, 243, 249, 255, 259, 265, 267, 286, 293, 301, 304, 317, 321,
3208
+ 329, 341, 343, 351, 355, 361, 369, 371, 377, 384, 393, 405, 408, 411, 417, 422, 427, 430,
3209
+ 434, 446, 448, 459, 461, 472, 484, 486, 494, 497, 508, 523, 525];
3132
3210
  static __ATN;
3133
3211
  static get _ATN() {
3134
3212
  if (!CircuitScriptParser.__ATN) {
@@ -3205,9 +3283,6 @@ export class ExpressionContext extends ParserRuleContext {
3205
3283
  wire_expr() {
3206
3284
  return this.getTypedRuleContext(Wire_exprContext, 0);
3207
3285
  }
3208
- point_expr() {
3209
- return this.getTypedRuleContext(Point_exprContext, 0);
3210
- }
3211
3286
  import_expr() {
3212
3287
  return this.getTypedRuleContext(Import_exprContext, 0);
3213
3288
  }
@@ -3220,8 +3295,11 @@ export class ExpressionContext extends ParserRuleContext {
3220
3295
  at_block() {
3221
3296
  return this.getTypedRuleContext(At_blockContext, 0);
3222
3297
  }
3223
- branch_blocks() {
3224
- return this.getTypedRuleContext(Branch_blocksContext, 0);
3298
+ path_blocks() {
3299
+ return this.getTypedRuleContext(Path_blocksContext, 0);
3300
+ }
3301
+ point_expr() {
3302
+ return this.getTypedRuleContext(Point_exprContext, 0);
3225
3303
  }
3226
3304
  get ruleIndex() {
3227
3305
  return CircuitScriptParser.RULE_expression;
@@ -3235,30 +3313,30 @@ export class ExpressionContext extends ParserRuleContext {
3235
3313
  }
3236
3314
  }
3237
3315
  }
3238
- export class Branch_blocksContext extends ParserRuleContext {
3316
+ export class Path_blocksContext extends ParserRuleContext {
3239
3317
  constructor(parser, parent, invokingState) {
3240
3318
  super(parent, invokingState);
3241
3319
  this.parser = parser;
3242
3320
  }
3243
- branch_block_inner_list() {
3244
- return this.getTypedRuleContexts(Branch_block_innerContext);
3321
+ path_block_inner_list() {
3322
+ return this.getTypedRuleContexts(Path_block_innerContext);
3245
3323
  }
3246
- branch_block_inner(i) {
3247
- return this.getTypedRuleContext(Branch_block_innerContext, i);
3324
+ path_block_inner(i) {
3325
+ return this.getTypedRuleContext(Path_block_innerContext, i);
3248
3326
  }
3249
3327
  get ruleIndex() {
3250
- return CircuitScriptParser.RULE_branch_blocks;
3328
+ return CircuitScriptParser.RULE_path_blocks;
3251
3329
  }
3252
3330
  accept(visitor) {
3253
- if (visitor.visitBranch_blocks) {
3254
- return visitor.visitBranch_blocks(this);
3331
+ if (visitor.visitPath_blocks) {
3332
+ return visitor.visitPath_blocks(this);
3255
3333
  }
3256
3334
  else {
3257
3335
  return visitor.visitChildren(this);
3258
3336
  }
3259
3337
  }
3260
3338
  }
3261
- export class Branch_block_innerContext extends ParserRuleContext {
3339
+ export class Path_block_innerContext extends ParserRuleContext {
3262
3340
  constructor(parser, parent, invokingState) {
3263
3341
  super(parent, invokingState);
3264
3342
  this.parser = parser;
@@ -3281,6 +3359,12 @@ export class Branch_block_innerContext extends ParserRuleContext {
3281
3359
  Join() {
3282
3360
  return this.getToken(CircuitScriptParser.Join, 0);
3283
3361
  }
3362
+ Parallel() {
3363
+ return this.getToken(CircuitScriptParser.Parallel, 0);
3364
+ }
3365
+ Point() {
3366
+ return this.getToken(CircuitScriptParser.Point, 0);
3367
+ }
3284
3368
  expression_list() {
3285
3369
  return this.getTypedRuleContexts(ExpressionContext);
3286
3370
  }
@@ -3288,11 +3372,11 @@ export class Branch_block_innerContext extends ParserRuleContext {
3288
3372
  return this.getTypedRuleContext(ExpressionContext, i);
3289
3373
  }
3290
3374
  get ruleIndex() {
3291
- return CircuitScriptParser.RULE_branch_block_inner;
3375
+ return CircuitScriptParser.RULE_path_block_inner;
3292
3376
  }
3293
3377
  accept(visitor) {
3294
- if (visitor.visitBranch_block_inner) {
3295
- return visitor.visitBranch_block_inner(this);
3378
+ if (visitor.visitPath_block_inner) {
3379
+ return visitor.visitPath_block_inner(this);
3296
3380
  }
3297
3381
  else {
3298
3382
  return visitor.visitChildren(this);
@@ -3495,6 +3579,9 @@ export class At_component_exprContext extends ParserRuleContext {
3495
3579
  At() {
3496
3580
  return this.getToken(CircuitScriptParser.At, 0);
3497
3581
  }
3582
+ Point() {
3583
+ return this.getToken(CircuitScriptParser.Point, 0);
3584
+ }
3498
3585
  component_select_expr() {
3499
3586
  return this.getTypedRuleContext(Component_select_exprContext, 0);
3500
3587
  }
@@ -3521,6 +3608,9 @@ export class To_component_exprContext extends ParserRuleContext {
3521
3608
  To() {
3522
3609
  return this.getToken(CircuitScriptParser.To, 0);
3523
3610
  }
3611
+ Point() {
3612
+ return this.getToken(CircuitScriptParser.Point, 0);
3613
+ }
3524
3614
  component_select_expr_list() {
3525
3615
  return this.getTypedRuleContexts(Component_select_exprContext);
3526
3616
  }