dt-sql-parser 4.5.1-beta.0 → 4.5.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/lib/flink/FlinkSqlLexer.d.ts +399 -397
  2. package/dist/lib/flink/FlinkSqlLexer.js +2504 -2489
  3. package/dist/lib/flink/FlinkSqlParser.d.ts +617 -465
  4. package/dist/lib/flink/FlinkSqlParser.js +5014 -3359
  5. package/dist/lib/flink/FlinkSqlParserListener.d.ts +90 -0
  6. package/dist/lib/flink/FlinkSqlParserVisitor.d.ts +57 -0
  7. package/dist/lib/generic/GenericSqlListener.d.ts +5 -90
  8. package/dist/lib/generic/GenericSqlParser.d.ts +32 -101
  9. package/dist/lib/generic/GenericSqlParser.js +912 -1312
  10. package/dist/lib/generic/GenericSqlVisitor.d.ts +3 -56
  11. package/dist/lib/mysql/MySqlParser.d.ts +31 -8
  12. package/dist/lib/mysql/MySqlParser.js +5786 -5659
  13. package/dist/lib/mysql/MySqlParserListener.d.ts +33 -5
  14. package/dist/lib/mysql/MySqlParserVisitor.d.ts +20 -3
  15. package/dist/lib/postgresql/PostgreSqlParser.d.ts +19 -2
  16. package/dist/lib/postgresql/PostgreSqlParser.js +1857 -1756
  17. package/dist/lib/postgresql/PostgreSqlParserListener.d.ts +20 -5
  18. package/dist/lib/postgresql/PostgreSqlParserVisitor.d.ts +12 -3
  19. package/dist/lib/spark/SparkSqlParser.d.ts +1 -1
  20. package/dist/lib/spark/SparkSqlParser.js +2925 -2963
  21. package/dist/lib/trino/TrinoSqlLexer.d.ts +297 -296
  22. package/dist/lib/trino/TrinoSqlLexer.js +1451 -1445
  23. package/dist/lib/trino/TrinoSqlListener.d.ts +46 -0
  24. package/dist/lib/trino/TrinoSqlParser.d.ts +463 -411
  25. package/dist/lib/trino/TrinoSqlParser.js +5382 -5048
  26. package/dist/lib/trino/TrinoSqlVisitor.d.ts +29 -0
  27. package/dist/parser/common/basicSQL.d.ts +12 -0
  28. package/dist/parser/common/basicSQL.js +71 -0
  29. package/dist/parser/generic/genericEntityCollector.d.ts +3 -6
  30. package/dist/parser/generic/genericEntityCollector.js +21 -29
  31. package/dist/parser/generic/index.js +0 -15
  32. package/dist/parser/mysql/index.js +11 -0
  33. package/dist/parser/mysql/mysqlEntityCollector.d.ts +2 -1
  34. package/dist/parser/mysql/mysqlEntityCollector.js +5 -0
  35. package/dist/parser/postgresql/index.js +2 -1
  36. package/dist/parser/postgresql/postgreEntityCollector.d.ts +2 -1
  37. package/dist/parser/postgresql/postgreEntityCollector.js +5 -0
  38. package/dist/parser/trino/index.js +3 -1
  39. package/package.json +1 -1
@@ -22,21 +22,21 @@ export class GenericSqlParser extends SQLParserBase {
22
22
  try {
23
23
  this.enterOuterAlt(localContext, 1);
24
24
  {
25
- this.state = 119;
25
+ this.state = 111;
26
26
  this.errorHandler.sync(this);
27
27
  _la = this.tokenStream.LA(1);
28
28
  while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 276824196) !== 0) || _la === 32 || _la === 49 || ((((_la - 76)) & ~0x1F) === 0 && ((1 << (_la - 76)) & 270337) !== 0)) {
29
29
  {
30
30
  {
31
- this.state = 116;
31
+ this.state = 108;
32
32
  this.statements();
33
33
  }
34
34
  }
35
- this.state = 121;
35
+ this.state = 113;
36
36
  this.errorHandler.sync(this);
37
37
  _la = this.tokenStream.LA(1);
38
38
  }
39
- this.state = 122;
39
+ this.state = 114;
40
40
  this.match(GenericSqlParser.EOF);
41
41
  }
42
42
  }
@@ -61,7 +61,7 @@ export class GenericSqlParser extends SQLParserBase {
61
61
  try {
62
62
  this.enterOuterAlt(localContext, 1);
63
63
  {
64
- this.state = 124;
64
+ this.state = 116;
65
65
  this.singleStatement();
66
66
  }
67
67
  }
@@ -87,14 +87,14 @@ export class GenericSqlParser extends SQLParserBase {
87
87
  try {
88
88
  this.enterOuterAlt(localContext, 1);
89
89
  {
90
- this.state = 126;
90
+ this.state = 118;
91
91
  this.statement();
92
- this.state = 128;
92
+ this.state = 120;
93
93
  this.errorHandler.sync(this);
94
94
  _la = this.tokenStream.LA(1);
95
95
  if (_la === 108) {
96
96
  {
97
- this.state = 127;
97
+ this.state = 119;
98
98
  this.match(GenericSqlParser.SEMICOLON);
99
99
  }
100
100
  }
@@ -119,7 +119,7 @@ export class GenericSqlParser extends SQLParserBase {
119
119
  let localContext = new StatementContext(this.context, this.state);
120
120
  this.enterRule(localContext, 6, GenericSqlParser.RULE_statement);
121
121
  try {
122
- this.state = 137;
122
+ this.state = 129;
123
123
  this.errorHandler.sync(this);
124
124
  switch (this.tokenStream.LA(1)) {
125
125
  case GenericSqlParser.T__1:
@@ -128,7 +128,7 @@ export class GenericSqlParser extends SQLParserBase {
128
128
  localContext = new StatementDefaultContext(localContext);
129
129
  this.enterOuterAlt(localContext, 1);
130
130
  {
131
- this.state = 130;
131
+ this.state = 122;
132
132
  this.queryStatement();
133
133
  }
134
134
  break;
@@ -136,7 +136,7 @@ export class GenericSqlParser extends SQLParserBase {
136
136
  localContext = new InsertContext(localContext);
137
137
  this.enterOuterAlt(localContext, 2);
138
138
  {
139
- this.state = 131;
139
+ this.state = 123;
140
140
  this.insertStatement();
141
141
  }
142
142
  break;
@@ -144,7 +144,7 @@ export class GenericSqlParser extends SQLParserBase {
144
144
  localContext = new UpdateContext(localContext);
145
145
  this.enterOuterAlt(localContext, 3);
146
146
  {
147
- this.state = 132;
147
+ this.state = 124;
148
148
  this.updateStatement();
149
149
  }
150
150
  break;
@@ -152,7 +152,7 @@ export class GenericSqlParser extends SQLParserBase {
152
152
  localContext = new DeleteContext(localContext);
153
153
  this.enterOuterAlt(localContext, 4);
154
154
  {
155
- this.state = 133;
155
+ this.state = 125;
156
156
  this.deleteStatement();
157
157
  }
158
158
  break;
@@ -160,7 +160,7 @@ export class GenericSqlParser extends SQLParserBase {
160
160
  localContext = new CreateTableContext(localContext);
161
161
  this.enterOuterAlt(localContext, 5);
162
162
  {
163
- this.state = 134;
163
+ this.state = 126;
164
164
  this.createTableStatement();
165
165
  }
166
166
  break;
@@ -168,7 +168,7 @@ export class GenericSqlParser extends SQLParserBase {
168
168
  localContext = new AlterTableContext(localContext);
169
169
  this.enterOuterAlt(localContext, 6);
170
170
  {
171
- this.state = 135;
171
+ this.state = 127;
172
172
  this.alterTableStatement();
173
173
  }
174
174
  break;
@@ -176,7 +176,7 @@ export class GenericSqlParser extends SQLParserBase {
176
176
  localContext = new DropTableContext(localContext);
177
177
  this.enterOuterAlt(localContext, 7);
178
178
  {
179
- this.state = 136;
179
+ this.state = 128;
180
180
  this.dropTableStatement();
181
181
  }
182
182
  break;
@@ -206,16 +206,16 @@ export class GenericSqlParser extends SQLParserBase {
206
206
  try {
207
207
  this.enterOuterAlt(localContext, 1);
208
208
  {
209
- this.state = 140;
209
+ this.state = 132;
210
210
  this.errorHandler.sync(this);
211
211
  _la = this.tokenStream.LA(1);
212
212
  if (_la === 94) {
213
213
  {
214
- this.state = 139;
214
+ this.state = 131;
215
215
  this.withClause();
216
216
  }
217
217
  }
218
- this.state = 142;
218
+ this.state = 134;
219
219
  this.queryNoWith();
220
220
  }
221
221
  }
@@ -241,32 +241,32 @@ export class GenericSqlParser extends SQLParserBase {
241
241
  try {
242
242
  this.enterOuterAlt(localContext, 1);
243
243
  {
244
- this.state = 144;
244
+ this.state = 136;
245
245
  this.match(GenericSqlParser.KW_WITH);
246
- this.state = 146;
246
+ this.state = 138;
247
247
  this.errorHandler.sync(this);
248
248
  _la = this.tokenStream.LA(1);
249
249
  if (_la === 72) {
250
250
  {
251
- this.state = 145;
251
+ this.state = 137;
252
252
  this.match(GenericSqlParser.KW_RECURSIVE);
253
253
  }
254
254
  }
255
- this.state = 148;
255
+ this.state = 140;
256
256
  this.namedQuery();
257
- this.state = 153;
257
+ this.state = 145;
258
258
  this.errorHandler.sync(this);
259
259
  _la = this.tokenStream.LA(1);
260
260
  while (_la === 1) {
261
261
  {
262
262
  {
263
- this.state = 149;
263
+ this.state = 141;
264
264
  this.match(GenericSqlParser.T__0);
265
- this.state = 150;
265
+ this.state = 142;
266
266
  this.namedQuery();
267
267
  }
268
268
  }
269
- this.state = 155;
269
+ this.state = 147;
270
270
  this.errorHandler.sync(this);
271
271
  _la = this.tokenStream.LA(1);
272
272
  }
@@ -293,15 +293,15 @@ export class GenericSqlParser extends SQLParserBase {
293
293
  try {
294
294
  this.enterOuterAlt(localContext, 1);
295
295
  {
296
- this.state = 156;
296
+ this.state = 148;
297
297
  localContext._name = this.identifier();
298
- this.state = 157;
298
+ this.state = 149;
299
299
  this.match(GenericSqlParser.KW_AS);
300
- this.state = 158;
300
+ this.state = 150;
301
301
  this.match(GenericSqlParser.T__1);
302
- this.state = 159;
302
+ this.state = 151;
303
303
  this.queryStatement();
304
- this.state = 160;
304
+ this.state = 152;
305
305
  this.match(GenericSqlParser.T__2);
306
306
  }
307
307
  }
@@ -327,15 +327,15 @@ export class GenericSqlParser extends SQLParserBase {
327
327
  try {
328
328
  this.enterOuterAlt(localContext, 1);
329
329
  {
330
- this.state = 162;
330
+ this.state = 154;
331
331
  this.queryTerm();
332
- this.state = 170;
332
+ this.state = 162;
333
333
  this.errorHandler.sync(this);
334
334
  _la = this.tokenStream.LA(1);
335
335
  while (_la === 36 || _la === 52 || _la === 87) {
336
336
  {
337
337
  {
338
- this.state = 163;
338
+ this.state = 155;
339
339
  _la = this.tokenStream.LA(1);
340
340
  if (!(_la === 36 || _la === 52 || _la === 87)) {
341
341
  this.errorHandler.recoverInline(this);
@@ -344,20 +344,20 @@ export class GenericSqlParser extends SQLParserBase {
344
344
  this.errorHandler.reportMatch(this);
345
345
  this.consume();
346
346
  }
347
- this.state = 165;
347
+ this.state = 157;
348
348
  this.errorHandler.sync(this);
349
349
  _la = this.tokenStream.LA(1);
350
350
  if (_la === 6) {
351
351
  {
352
- this.state = 164;
352
+ this.state = 156;
353
353
  this.match(GenericSqlParser.KW_ALL);
354
354
  }
355
355
  }
356
- this.state = 167;
356
+ this.state = 159;
357
357
  this.queryTerm();
358
358
  }
359
359
  }
360
- this.state = 172;
360
+ this.state = 164;
361
361
  this.errorHandler.sync(this);
362
362
  _la = this.tokenStream.LA(1);
363
363
  }
@@ -384,7 +384,7 @@ export class GenericSqlParser extends SQLParserBase {
384
384
  try {
385
385
  this.enterOuterAlt(localContext, 1);
386
386
  {
387
- this.state = 173;
387
+ this.state = 165;
388
388
  this.queryPrimary();
389
389
  }
390
390
  }
@@ -407,24 +407,24 @@ export class GenericSqlParser extends SQLParserBase {
407
407
  let localContext = new QueryPrimaryContext(this.context, this.state);
408
408
  this.enterRule(localContext, 18, GenericSqlParser.RULE_queryPrimary);
409
409
  try {
410
- this.state = 180;
410
+ this.state = 172;
411
411
  this.errorHandler.sync(this);
412
412
  switch (this.tokenStream.LA(1)) {
413
413
  case GenericSqlParser.KW_SELECT:
414
414
  this.enterOuterAlt(localContext, 1);
415
415
  {
416
- this.state = 175;
416
+ this.state = 167;
417
417
  this.querySpecification();
418
418
  }
419
419
  break;
420
420
  case GenericSqlParser.T__1:
421
421
  this.enterOuterAlt(localContext, 2);
422
422
  {
423
- this.state = 176;
423
+ this.state = 168;
424
424
  this.match(GenericSqlParser.T__1);
425
- this.state = 177;
425
+ this.state = 169;
426
426
  this.queryStatement();
427
- this.state = 178;
427
+ this.state = 170;
428
428
  this.match(GenericSqlParser.T__2);
429
429
  }
430
430
  break;
@@ -454,87 +454,87 @@ export class GenericSqlParser extends SQLParserBase {
454
454
  try {
455
455
  this.enterOuterAlt(localContext, 1);
456
456
  {
457
- this.state = 182;
457
+ this.state = 174;
458
458
  this.match(GenericSqlParser.KW_SELECT);
459
- this.state = 184;
459
+ this.state = 176;
460
460
  this.errorHandler.sync(this);
461
461
  switch (this.interpreter.adaptivePredict(this.tokenStream, 9, this.context)) {
462
462
  case 1:
463
463
  {
464
- this.state = 183;
464
+ this.state = 175;
465
465
  this.setQuantifier();
466
466
  }
467
467
  break;
468
468
  }
469
- this.state = 186;
469
+ this.state = 178;
470
470
  this.selectItem();
471
- this.state = 191;
471
+ this.state = 183;
472
472
  this.errorHandler.sync(this);
473
473
  _la = this.tokenStream.LA(1);
474
474
  while (_la === 1) {
475
475
  {
476
476
  {
477
- this.state = 187;
477
+ this.state = 179;
478
478
  this.match(GenericSqlParser.T__0);
479
- this.state = 188;
479
+ this.state = 180;
480
480
  this.selectItem();
481
481
  }
482
482
  }
483
- this.state = 193;
483
+ this.state = 185;
484
484
  this.errorHandler.sync(this);
485
485
  _la = this.tokenStream.LA(1);
486
486
  }
487
- this.state = 195;
487
+ this.state = 187;
488
488
  this.errorHandler.sync(this);
489
489
  _la = this.tokenStream.LA(1);
490
490
  if (_la === 42) {
491
491
  {
492
- this.state = 194;
492
+ this.state = 186;
493
493
  this.fromClause();
494
494
  }
495
495
  }
496
- this.state = 198;
496
+ this.state = 190;
497
497
  this.errorHandler.sync(this);
498
498
  _la = this.tokenStream.LA(1);
499
499
  if (_la === 93) {
500
500
  {
501
- this.state = 197;
501
+ this.state = 189;
502
502
  this.whereClause();
503
503
  }
504
504
  }
505
- this.state = 201;
505
+ this.state = 193;
506
506
  this.errorHandler.sync(this);
507
507
  _la = this.tokenStream.LA(1);
508
508
  if (_la === 44) {
509
509
  {
510
- this.state = 200;
510
+ this.state = 192;
511
511
  this.groupByClause();
512
512
  }
513
513
  }
514
- this.state = 204;
514
+ this.state = 196;
515
515
  this.errorHandler.sync(this);
516
516
  _la = this.tokenStream.LA(1);
517
517
  if (_la === 45) {
518
518
  {
519
- this.state = 203;
519
+ this.state = 195;
520
520
  this.havingClause();
521
521
  }
522
522
  }
523
- this.state = 207;
523
+ this.state = 199;
524
524
  this.errorHandler.sync(this);
525
525
  _la = this.tokenStream.LA(1);
526
526
  if (_la === 69) {
527
527
  {
528
- this.state = 206;
528
+ this.state = 198;
529
529
  this.orderByClause();
530
530
  }
531
531
  }
532
- this.state = 210;
532
+ this.state = 202;
533
533
  this.errorHandler.sync(this);
534
534
  _la = this.tokenStream.LA(1);
535
535
  if (_la === 60) {
536
536
  {
537
- this.state = 209;
537
+ this.state = 201;
538
538
  this.limitClause();
539
539
  }
540
540
  }
@@ -562,7 +562,7 @@ export class GenericSqlParser extends SQLParserBase {
562
562
  try {
563
563
  this.enterOuterAlt(localContext, 1);
564
564
  {
565
- this.state = 212;
565
+ this.state = 204;
566
566
  _la = this.tokenStream.LA(1);
567
567
  if (!(_la === 6 || _la === 30)) {
568
568
  this.errorHandler.recoverInline(this);
@@ -593,30 +593,29 @@ export class GenericSqlParser extends SQLParserBase {
593
593
  this.enterRule(localContext, 24, GenericSqlParser.RULE_selectItem);
594
594
  let _la;
595
595
  try {
596
- this.state = 228;
596
+ this.state = 218;
597
597
  this.errorHandler.sync(this);
598
598
  switch (this.interpreter.adaptivePredict(this.tokenStream, 19, this.context)) {
599
599
  case 1:
600
- localContext = new SelectExpressionElementContext(localContext);
601
600
  this.enterOuterAlt(localContext, 1);
602
601
  {
603
- this.state = 214;
602
+ this.state = 206;
604
603
  this.expression();
605
- this.state = 219;
604
+ this.state = 211;
606
605
  this.errorHandler.sync(this);
607
606
  switch (this.interpreter.adaptivePredict(this.tokenStream, 18, this.context)) {
608
607
  case 1:
609
608
  {
610
- this.state = 216;
609
+ this.state = 208;
611
610
  this.errorHandler.sync(this);
612
611
  _la = this.tokenStream.LA(1);
613
612
  if (_la === 9) {
614
613
  {
615
- this.state = 215;
614
+ this.state = 207;
616
615
  this.match(GenericSqlParser.KW_AS);
617
616
  }
618
617
  }
619
- this.state = 218;
618
+ this.state = 210;
620
619
  this.identifier();
621
620
  }
622
621
  break;
@@ -624,37 +623,23 @@ export class GenericSqlParser extends SQLParserBase {
624
623
  }
625
624
  break;
626
625
  case 2:
627
- localContext = new SelectStarElementContext(localContext);
628
626
  this.enterOuterAlt(localContext, 2);
629
627
  {
630
- this.state = 221;
628
+ this.state = 213;
631
629
  this.qualifiedName();
632
- this.state = 222;
630
+ this.state = 214;
633
631
  this.match(GenericSqlParser.T__3);
634
- this.state = 223;
632
+ this.state = 215;
635
633
  this.match(GenericSqlParser.ASTERISK);
636
634
  }
637
635
  break;
638
636
  case 3:
639
- localContext = new SelectAllElementContext(localContext);
640
637
  this.enterOuterAlt(localContext, 3);
641
638
  {
642
- this.state = 225;
639
+ this.state = 217;
643
640
  this.match(GenericSqlParser.ASTERISK);
644
641
  }
645
642
  break;
646
- case 4:
647
- localContext = new SelectEmptyElementContext(localContext);
648
- this.enterOuterAlt(localContext, 4);
649
- {
650
- this.state = 226;
651
- if (!(this.shouldMatchEmpty())) {
652
- throw this.createFailedPredicateException("this.shouldMatchEmpty()");
653
- }
654
- this.state = 227;
655
- this.emptyColumn();
656
- }
657
- break;
658
643
  }
659
644
  }
660
645
  catch (re) {
@@ -679,23 +664,23 @@ export class GenericSqlParser extends SQLParserBase {
679
664
  try {
680
665
  this.enterOuterAlt(localContext, 1);
681
666
  {
682
- this.state = 230;
667
+ this.state = 220;
683
668
  this.match(GenericSqlParser.KW_FROM);
684
- this.state = 231;
669
+ this.state = 221;
685
670
  this.relation(0);
686
- this.state = 236;
671
+ this.state = 226;
687
672
  this.errorHandler.sync(this);
688
673
  _la = this.tokenStream.LA(1);
689
674
  while (_la === 1) {
690
675
  {
691
676
  {
692
- this.state = 232;
677
+ this.state = 222;
693
678
  this.match(GenericSqlParser.T__0);
694
- this.state = 233;
679
+ this.state = 223;
695
680
  this.relation(0);
696
681
  }
697
682
  }
698
- this.state = 238;
683
+ this.state = 228;
699
684
  this.errorHandler.sync(this);
700
685
  _la = this.tokenStream.LA(1);
701
686
  }
@@ -734,11 +719,11 @@ export class GenericSqlParser extends SQLParserBase {
734
719
  localContext = new SimpleRelationContext(localContext);
735
720
  this.context = localContext;
736
721
  previousContext = localContext;
737
- this.state = 240;
722
+ this.state = 230;
738
723
  this.aliasedRelation();
739
724
  }
740
725
  this.context.stop = this.tokenStream.LT(-1);
741
- this.state = 251;
726
+ this.state = 241;
742
727
  this.errorHandler.sync(this);
743
728
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 21, this.context);
744
729
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
@@ -752,24 +737,24 @@ export class GenericSqlParser extends SQLParserBase {
752
737
  localContext = new JoinRelationContext(new RelationContext(parentContext, parentState));
753
738
  localContext._left = previousContext;
754
739
  this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_relation);
755
- this.state = 242;
740
+ this.state = 232;
756
741
  if (!(this.precpred(this.context, 2))) {
757
742
  throw this.createFailedPredicateException("this.precpred(this.context, 2)");
758
743
  }
759
- this.state = 243;
744
+ this.state = 233;
760
745
  this.joinType();
761
- this.state = 244;
746
+ this.state = 234;
762
747
  this.match(GenericSqlParser.KW_JOIN);
763
- this.state = 245;
748
+ this.state = 235;
764
749
  localContext._right = this.relation(0);
765
- this.state = 246;
750
+ this.state = 236;
766
751
  this.match(GenericSqlParser.KW_ON);
767
- this.state = 247;
752
+ this.state = 237;
768
753
  localContext._condition = this.expression();
769
754
  }
770
755
  }
771
756
  }
772
- this.state = 253;
757
+ this.state = 243;
773
758
  this.errorHandler.sync(this);
774
759
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 21, this.context);
775
760
  }
@@ -795,19 +780,19 @@ export class GenericSqlParser extends SQLParserBase {
795
780
  this.enterRule(localContext, 30, GenericSqlParser.RULE_joinType);
796
781
  let _la;
797
782
  try {
798
- this.state = 270;
783
+ this.state = 260;
799
784
  this.errorHandler.sync(this);
800
785
  switch (this.tokenStream.LA(1)) {
801
786
  case GenericSqlParser.KW_INNER:
802
787
  case GenericSqlParser.KW_JOIN:
803
788
  this.enterOuterAlt(localContext, 1);
804
789
  {
805
- this.state = 255;
790
+ this.state = 245;
806
791
  this.errorHandler.sync(this);
807
792
  _la = this.tokenStream.LA(1);
808
793
  if (_la === 48) {
809
794
  {
810
- this.state = 254;
795
+ this.state = 244;
811
796
  this.match(GenericSqlParser.KW_INNER);
812
797
  }
813
798
  }
@@ -816,14 +801,14 @@ export class GenericSqlParser extends SQLParserBase {
816
801
  case GenericSqlParser.KW_LEFT:
817
802
  this.enterOuterAlt(localContext, 2);
818
803
  {
819
- this.state = 257;
804
+ this.state = 247;
820
805
  this.match(GenericSqlParser.KW_LEFT);
821
- this.state = 259;
806
+ this.state = 249;
822
807
  this.errorHandler.sync(this);
823
808
  _la = this.tokenStream.LA(1);
824
809
  if (_la === 70) {
825
810
  {
826
- this.state = 258;
811
+ this.state = 248;
827
812
  this.match(GenericSqlParser.KW_OUTER);
828
813
  }
829
814
  }
@@ -832,14 +817,14 @@ export class GenericSqlParser extends SQLParserBase {
832
817
  case GenericSqlParser.KW_RIGHT:
833
818
  this.enterOuterAlt(localContext, 3);
834
819
  {
835
- this.state = 261;
820
+ this.state = 251;
836
821
  this.match(GenericSqlParser.KW_RIGHT);
837
- this.state = 263;
822
+ this.state = 253;
838
823
  this.errorHandler.sync(this);
839
824
  _la = this.tokenStream.LA(1);
840
825
  if (_la === 70) {
841
826
  {
842
- this.state = 262;
827
+ this.state = 252;
843
828
  this.match(GenericSqlParser.KW_OUTER);
844
829
  }
845
830
  }
@@ -848,14 +833,14 @@ export class GenericSqlParser extends SQLParserBase {
848
833
  case GenericSqlParser.KW_FULL:
849
834
  this.enterOuterAlt(localContext, 4);
850
835
  {
851
- this.state = 265;
836
+ this.state = 255;
852
837
  this.match(GenericSqlParser.KW_FULL);
853
- this.state = 267;
838
+ this.state = 257;
854
839
  this.errorHandler.sync(this);
855
840
  _la = this.tokenStream.LA(1);
856
841
  if (_la === 70) {
857
842
  {
858
- this.state = 266;
843
+ this.state = 256;
859
844
  this.match(GenericSqlParser.KW_OUTER);
860
845
  }
861
846
  }
@@ -864,7 +849,7 @@ export class GenericSqlParser extends SQLParserBase {
864
849
  case GenericSqlParser.KW_CROSS:
865
850
  this.enterOuterAlt(localContext, 5);
866
851
  {
867
- this.state = 269;
852
+ this.state = 259;
868
853
  this.match(GenericSqlParser.KW_CROSS);
869
854
  }
870
855
  break;
@@ -894,23 +879,23 @@ export class GenericSqlParser extends SQLParserBase {
894
879
  try {
895
880
  this.enterOuterAlt(localContext, 1);
896
881
  {
897
- this.state = 272;
882
+ this.state = 262;
898
883
  this.relationPrimary();
899
- this.state = 277;
884
+ this.state = 267;
900
885
  this.errorHandler.sync(this);
901
886
  switch (this.interpreter.adaptivePredict(this.tokenStream, 28, this.context)) {
902
887
  case 1:
903
888
  {
904
- this.state = 274;
889
+ this.state = 264;
905
890
  this.errorHandler.sync(this);
906
891
  _la = this.tokenStream.LA(1);
907
892
  if (_la === 9) {
908
893
  {
909
- this.state = 273;
894
+ this.state = 263;
910
895
  this.match(GenericSqlParser.KW_AS);
911
896
  }
912
897
  }
913
- this.state = 276;
898
+ this.state = 266;
914
899
  this.identifier();
915
900
  }
916
901
  break;
@@ -936,7 +921,7 @@ export class GenericSqlParser extends SQLParserBase {
936
921
  let localContext = new RelationPrimaryContext(this.context, this.state);
937
922
  this.enterRule(localContext, 34, GenericSqlParser.RULE_relationPrimary);
938
923
  try {
939
- this.state = 284;
924
+ this.state = 274;
940
925
  this.errorHandler.sync(this);
941
926
  switch (this.tokenStream.LA(1)) {
942
927
  case GenericSqlParser.KW_ADD:
@@ -989,7 +974,7 @@ export class GenericSqlParser extends SQLParserBase {
989
974
  localContext = new TableNameRelationContext(localContext);
990
975
  this.enterOuterAlt(localContext, 1);
991
976
  {
992
- this.state = 279;
977
+ this.state = 269;
993
978
  this.tableName();
994
979
  }
995
980
  break;
@@ -997,11 +982,11 @@ export class GenericSqlParser extends SQLParserBase {
997
982
  localContext = new SubqueryRelationContext(localContext);
998
983
  this.enterOuterAlt(localContext, 2);
999
984
  {
1000
- this.state = 280;
985
+ this.state = 270;
1001
986
  this.match(GenericSqlParser.T__1);
1002
- this.state = 281;
987
+ this.state = 271;
1003
988
  this.queryStatement();
1004
- this.state = 282;
989
+ this.state = 272;
1005
990
  this.match(GenericSqlParser.T__2);
1006
991
  }
1007
992
  break;
@@ -1030,24 +1015,10 @@ export class GenericSqlParser extends SQLParserBase {
1030
1015
  try {
1031
1016
  this.enterOuterAlt(localContext, 1);
1032
1017
  {
1033
- this.state = 286;
1018
+ this.state = 276;
1034
1019
  this.match(GenericSqlParser.KW_WHERE);
1035
- this.state = 289;
1036
- this.errorHandler.sync(this);
1037
- switch (this.interpreter.adaptivePredict(this.tokenStream, 30, this.context)) {
1038
- case 1:
1039
- {
1040
- this.state = 287;
1041
- this.expression();
1042
- }
1043
- break;
1044
- case 2:
1045
- {
1046
- this.state = 288;
1047
- this.emptyColumn();
1048
- }
1049
- break;
1050
- }
1020
+ this.state = 277;
1021
+ this.expression();
1051
1022
  }
1052
1023
  }
1053
1024
  catch (re) {
@@ -1072,35 +1043,35 @@ export class GenericSqlParser extends SQLParserBase {
1072
1043
  try {
1073
1044
  this.enterOuterAlt(localContext, 1);
1074
1045
  {
1075
- this.state = 291;
1046
+ this.state = 279;
1076
1047
  this.match(GenericSqlParser.KW_GROUP);
1077
- this.state = 292;
1048
+ this.state = 280;
1078
1049
  this.match(GenericSqlParser.KW_BY);
1079
- this.state = 294;
1050
+ this.state = 282;
1080
1051
  this.errorHandler.sync(this);
1081
- switch (this.interpreter.adaptivePredict(this.tokenStream, 31, this.context)) {
1052
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 30, this.context)) {
1082
1053
  case 1:
1083
1054
  {
1084
- this.state = 293;
1055
+ this.state = 281;
1085
1056
  this.setQuantifier();
1086
1057
  }
1087
1058
  break;
1088
1059
  }
1089
- this.state = 296;
1060
+ this.state = 284;
1090
1061
  this.expression();
1091
- this.state = 301;
1062
+ this.state = 289;
1092
1063
  this.errorHandler.sync(this);
1093
1064
  _la = this.tokenStream.LA(1);
1094
1065
  while (_la === 1) {
1095
1066
  {
1096
1067
  {
1097
- this.state = 297;
1068
+ this.state = 285;
1098
1069
  this.match(GenericSqlParser.T__0);
1099
- this.state = 298;
1070
+ this.state = 286;
1100
1071
  this.expression();
1101
1072
  }
1102
1073
  }
1103
- this.state = 303;
1074
+ this.state = 291;
1104
1075
  this.errorHandler.sync(this);
1105
1076
  _la = this.tokenStream.LA(1);
1106
1077
  }
@@ -1127,24 +1098,10 @@ export class GenericSqlParser extends SQLParserBase {
1127
1098
  try {
1128
1099
  this.enterOuterAlt(localContext, 1);
1129
1100
  {
1130
- this.state = 304;
1101
+ this.state = 292;
1131
1102
  this.match(GenericSqlParser.KW_HAVING);
1132
- this.state = 307;
1133
- this.errorHandler.sync(this);
1134
- switch (this.interpreter.adaptivePredict(this.tokenStream, 33, this.context)) {
1135
- case 1:
1136
- {
1137
- this.state = 305;
1138
- this.expression();
1139
- }
1140
- break;
1141
- case 2:
1142
- {
1143
- this.state = 306;
1144
- this.emptyColumn();
1145
- }
1146
- break;
1147
- }
1103
+ this.state = 293;
1104
+ this.expression();
1148
1105
  }
1149
1106
  }
1150
1107
  catch (re) {
@@ -1169,25 +1126,25 @@ export class GenericSqlParser extends SQLParserBase {
1169
1126
  try {
1170
1127
  this.enterOuterAlt(localContext, 1);
1171
1128
  {
1172
- this.state = 309;
1129
+ this.state = 295;
1173
1130
  this.match(GenericSqlParser.KW_ORDER);
1174
- this.state = 310;
1131
+ this.state = 296;
1175
1132
  this.match(GenericSqlParser.KW_BY);
1176
- this.state = 311;
1133
+ this.state = 297;
1177
1134
  this.sortItem();
1178
- this.state = 316;
1135
+ this.state = 302;
1179
1136
  this.errorHandler.sync(this);
1180
1137
  _la = this.tokenStream.LA(1);
1181
1138
  while (_la === 1) {
1182
1139
  {
1183
1140
  {
1184
- this.state = 312;
1141
+ this.state = 298;
1185
1142
  this.match(GenericSqlParser.T__0);
1186
- this.state = 313;
1143
+ this.state = 299;
1187
1144
  this.sortItem();
1188
1145
  }
1189
1146
  }
1190
- this.state = 318;
1147
+ this.state = 304;
1191
1148
  this.errorHandler.sync(this);
1192
1149
  _la = this.tokenStream.LA(1);
1193
1150
  }
@@ -1215,14 +1172,14 @@ export class GenericSqlParser extends SQLParserBase {
1215
1172
  try {
1216
1173
  this.enterOuterAlt(localContext, 1);
1217
1174
  {
1218
- this.state = 319;
1175
+ this.state = 305;
1219
1176
  this.expression();
1220
- this.state = 321;
1177
+ this.state = 307;
1221
1178
  this.errorHandler.sync(this);
1222
1179
  _la = this.tokenStream.LA(1);
1223
1180
  if (_la === 10 || _la === 29) {
1224
1181
  {
1225
- this.state = 320;
1182
+ this.state = 306;
1226
1183
  localContext._ordering = this.tokenStream.LT(1);
1227
1184
  _la = this.tokenStream.LA(1);
1228
1185
  if (!(_la === 10 || _la === 29)) {
@@ -1234,14 +1191,14 @@ export class GenericSqlParser extends SQLParserBase {
1234
1191
  }
1235
1192
  }
1236
1193
  }
1237
- this.state = 325;
1194
+ this.state = 311;
1238
1195
  this.errorHandler.sync(this);
1239
1196
  _la = this.tokenStream.LA(1);
1240
1197
  if (_la === 64) {
1241
1198
  {
1242
- this.state = 323;
1199
+ this.state = 309;
1243
1200
  this.match(GenericSqlParser.KW_NULLS);
1244
- this.state = 324;
1201
+ this.state = 310;
1245
1202
  localContext._nullOrdering = this.tokenStream.LT(1);
1246
1203
  _la = this.tokenStream.LA(1);
1247
1204
  if (!(_la === 39 || _la === 57)) {
@@ -1277,18 +1234,18 @@ export class GenericSqlParser extends SQLParserBase {
1277
1234
  try {
1278
1235
  this.enterOuterAlt(localContext, 1);
1279
1236
  {
1280
- this.state = 327;
1237
+ this.state = 313;
1281
1238
  this.match(GenericSqlParser.KW_LIMIT);
1282
- this.state = 328;
1239
+ this.state = 314;
1283
1240
  localContext._limit = this.expression();
1284
- this.state = 331;
1241
+ this.state = 317;
1285
1242
  this.errorHandler.sync(this);
1286
1243
  _la = this.tokenStream.LA(1);
1287
1244
  if (_la === 66) {
1288
1245
  {
1289
- this.state = 329;
1246
+ this.state = 315;
1290
1247
  this.match(GenericSqlParser.KW_OFFSET);
1291
- this.state = 330;
1248
+ this.state = 316;
1292
1249
  localContext._offset = this.expression();
1293
1250
  }
1294
1251
  }
@@ -1315,23 +1272,23 @@ export class GenericSqlParser extends SQLParserBase {
1315
1272
  try {
1316
1273
  this.enterOuterAlt(localContext, 1);
1317
1274
  {
1318
- this.state = 333;
1275
+ this.state = 319;
1319
1276
  this.match(GenericSqlParser.KW_INSERT);
1320
- this.state = 334;
1277
+ this.state = 320;
1321
1278
  this.match(GenericSqlParser.KW_INTO);
1322
- this.state = 335;
1279
+ this.state = 321;
1323
1280
  this.tableName();
1324
- this.state = 337;
1281
+ this.state = 323;
1325
1282
  this.errorHandler.sync(this);
1326
- switch (this.interpreter.adaptivePredict(this.tokenStream, 38, this.context)) {
1283
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 36, this.context)) {
1327
1284
  case 1:
1328
1285
  {
1329
- this.state = 336;
1286
+ this.state = 322;
1330
1287
  this.columnList();
1331
1288
  }
1332
1289
  break;
1333
1290
  }
1334
- this.state = 339;
1291
+ this.state = 325;
1335
1292
  this.queryStatement();
1336
1293
  }
1337
1294
  }
@@ -1357,27 +1314,27 @@ export class GenericSqlParser extends SQLParserBase {
1357
1314
  try {
1358
1315
  this.enterOuterAlt(localContext, 1);
1359
1316
  {
1360
- this.state = 341;
1317
+ this.state = 327;
1361
1318
  this.match(GenericSqlParser.T__1);
1362
- this.state = 342;
1319
+ this.state = 328;
1363
1320
  this.columnRef();
1364
- this.state = 347;
1321
+ this.state = 333;
1365
1322
  this.errorHandler.sync(this);
1366
1323
  _la = this.tokenStream.LA(1);
1367
1324
  while (_la === 1) {
1368
1325
  {
1369
1326
  {
1370
- this.state = 343;
1327
+ this.state = 329;
1371
1328
  this.match(GenericSqlParser.T__0);
1372
- this.state = 344;
1329
+ this.state = 330;
1373
1330
  this.columnRef();
1374
1331
  }
1375
1332
  }
1376
- this.state = 349;
1333
+ this.state = 335;
1377
1334
  this.errorHandler.sync(this);
1378
1335
  _la = this.tokenStream.LA(1);
1379
1336
  }
1380
- this.state = 350;
1337
+ this.state = 336;
1381
1338
  this.match(GenericSqlParser.T__2);
1382
1339
  }
1383
1340
  }
@@ -1403,36 +1360,36 @@ export class GenericSqlParser extends SQLParserBase {
1403
1360
  try {
1404
1361
  this.enterOuterAlt(localContext, 1);
1405
1362
  {
1406
- this.state = 352;
1363
+ this.state = 338;
1407
1364
  this.match(GenericSqlParser.KW_UPDATE);
1408
- this.state = 353;
1365
+ this.state = 339;
1409
1366
  this.tableName();
1410
- this.state = 354;
1367
+ this.state = 340;
1411
1368
  this.match(GenericSqlParser.KW_SET);
1412
- this.state = 355;
1369
+ this.state = 341;
1413
1370
  this.updateAssignment();
1414
- this.state = 360;
1371
+ this.state = 346;
1415
1372
  this.errorHandler.sync(this);
1416
1373
  _la = this.tokenStream.LA(1);
1417
1374
  while (_la === 1) {
1418
1375
  {
1419
1376
  {
1420
- this.state = 356;
1377
+ this.state = 342;
1421
1378
  this.match(GenericSqlParser.T__0);
1422
- this.state = 357;
1379
+ this.state = 343;
1423
1380
  this.updateAssignment();
1424
1381
  }
1425
1382
  }
1426
- this.state = 362;
1383
+ this.state = 348;
1427
1384
  this.errorHandler.sync(this);
1428
1385
  _la = this.tokenStream.LA(1);
1429
1386
  }
1430
- this.state = 364;
1387
+ this.state = 350;
1431
1388
  this.errorHandler.sync(this);
1432
1389
  _la = this.tokenStream.LA(1);
1433
1390
  if (_la === 93) {
1434
1391
  {
1435
- this.state = 363;
1392
+ this.state = 349;
1436
1393
  this.whereClause();
1437
1394
  }
1438
1395
  }
@@ -1459,11 +1416,11 @@ export class GenericSqlParser extends SQLParserBase {
1459
1416
  try {
1460
1417
  this.enterOuterAlt(localContext, 1);
1461
1418
  {
1462
- this.state = 366;
1419
+ this.state = 352;
1463
1420
  this.columnRef();
1464
- this.state = 367;
1421
+ this.state = 353;
1465
1422
  this.match(GenericSqlParser.EQ);
1466
- this.state = 368;
1423
+ this.state = 354;
1467
1424
  this.expression();
1468
1425
  }
1469
1426
  }
@@ -1489,18 +1446,18 @@ export class GenericSqlParser extends SQLParserBase {
1489
1446
  try {
1490
1447
  this.enterOuterAlt(localContext, 1);
1491
1448
  {
1492
- this.state = 370;
1449
+ this.state = 356;
1493
1450
  this.match(GenericSqlParser.KW_DELETE);
1494
- this.state = 371;
1451
+ this.state = 357;
1495
1452
  this.match(GenericSqlParser.KW_FROM);
1496
- this.state = 372;
1453
+ this.state = 358;
1497
1454
  this.tableName();
1498
- this.state = 374;
1455
+ this.state = 360;
1499
1456
  this.errorHandler.sync(this);
1500
1457
  _la = this.tokenStream.LA(1);
1501
1458
  if (_la === 93) {
1502
1459
  {
1503
- this.state = 373;
1460
+ this.state = 359;
1504
1461
  this.whereClause();
1505
1462
  }
1506
1463
  }
@@ -1528,56 +1485,56 @@ export class GenericSqlParser extends SQLParserBase {
1528
1485
  try {
1529
1486
  this.enterOuterAlt(localContext, 1);
1530
1487
  {
1531
- this.state = 376;
1488
+ this.state = 362;
1532
1489
  this.match(GenericSqlParser.KW_CREATE);
1533
- this.state = 377;
1490
+ this.state = 363;
1534
1491
  this.match(GenericSqlParser.KW_TABLE);
1535
- this.state = 381;
1492
+ this.state = 367;
1536
1493
  this.errorHandler.sync(this);
1537
- switch (this.interpreter.adaptivePredict(this.tokenStream, 43, this.context)) {
1494
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 41, this.context)) {
1538
1495
  case 1:
1539
1496
  {
1540
- this.state = 378;
1497
+ this.state = 364;
1541
1498
  this.match(GenericSqlParser.KW_IF);
1542
- this.state = 379;
1499
+ this.state = 365;
1543
1500
  this.match(GenericSqlParser.KW_NOT);
1544
- this.state = 380;
1501
+ this.state = 366;
1545
1502
  this.match(GenericSqlParser.KW_EXISTS);
1546
1503
  }
1547
1504
  break;
1548
1505
  }
1549
- this.state = 383;
1506
+ this.state = 369;
1550
1507
  this.tableNameCreate();
1551
- this.state = 384;
1508
+ this.state = 370;
1552
1509
  this.match(GenericSqlParser.T__1);
1553
- this.state = 385;
1510
+ this.state = 371;
1554
1511
  this.tableElement();
1555
- this.state = 390;
1512
+ this.state = 376;
1556
1513
  this.errorHandler.sync(this);
1557
1514
  _la = this.tokenStream.LA(1);
1558
1515
  while (_la === 1) {
1559
1516
  {
1560
1517
  {
1561
- this.state = 386;
1518
+ this.state = 372;
1562
1519
  this.match(GenericSqlParser.T__0);
1563
- this.state = 387;
1520
+ this.state = 373;
1564
1521
  this.tableElement();
1565
1522
  }
1566
1523
  }
1567
- this.state = 392;
1524
+ this.state = 378;
1568
1525
  this.errorHandler.sync(this);
1569
1526
  _la = this.tokenStream.LA(1);
1570
1527
  }
1571
- this.state = 393;
1528
+ this.state = 379;
1572
1529
  this.match(GenericSqlParser.T__2);
1573
- this.state = 396;
1530
+ this.state = 382;
1574
1531
  this.errorHandler.sync(this);
1575
- switch (this.interpreter.adaptivePredict(this.tokenStream, 45, this.context)) {
1532
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 43, this.context)) {
1576
1533
  case 1:
1577
1534
  {
1578
- this.state = 394;
1535
+ this.state = 380;
1579
1536
  this.match(GenericSqlParser.KW_WITH);
1580
- this.state = 395;
1537
+ this.state = 381;
1581
1538
  this.properties();
1582
1539
  }
1583
1540
  break;
@@ -1603,20 +1560,20 @@ export class GenericSqlParser extends SQLParserBase {
1603
1560
  let localContext = new TableElementContext(this.context, this.state);
1604
1561
  this.enterRule(localContext, 60, GenericSqlParser.RULE_tableElement);
1605
1562
  try {
1606
- this.state = 400;
1563
+ this.state = 386;
1607
1564
  this.errorHandler.sync(this);
1608
- switch (this.interpreter.adaptivePredict(this.tokenStream, 46, this.context)) {
1565
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 44, this.context)) {
1609
1566
  case 1:
1610
1567
  this.enterOuterAlt(localContext, 1);
1611
1568
  {
1612
- this.state = 398;
1569
+ this.state = 384;
1613
1570
  this.columnDefinition();
1614
1571
  }
1615
1572
  break;
1616
1573
  case 2:
1617
1574
  this.enterOuterAlt(localContext, 2);
1618
1575
  {
1619
- this.state = 399;
1576
+ this.state = 385;
1620
1577
  this.tableConstraint();
1621
1578
  }
1622
1579
  break;
@@ -1644,40 +1601,40 @@ export class GenericSqlParser extends SQLParserBase {
1644
1601
  try {
1645
1602
  this.enterOuterAlt(localContext, 1);
1646
1603
  {
1647
- this.state = 402;
1648
- this.columnRefCreate();
1649
- this.state = 403;
1650
- localContext._colType = this.dataType();
1651
- this.state = 406;
1604
+ this.state = 388;
1605
+ this.columnRef();
1606
+ this.state = 389;
1607
+ this.dataType();
1608
+ this.state = 392;
1652
1609
  this.errorHandler.sync(this);
1653
1610
  _la = this.tokenStream.LA(1);
1654
1611
  if (_la === 61) {
1655
1612
  {
1656
- this.state = 404;
1613
+ this.state = 390;
1657
1614
  this.match(GenericSqlParser.KW_NOT);
1658
- this.state = 405;
1615
+ this.state = 391;
1659
1616
  this.match(GenericSqlParser.KW_NULL);
1660
1617
  }
1661
1618
  }
1662
- this.state = 410;
1619
+ this.state = 396;
1663
1620
  this.errorHandler.sync(this);
1664
1621
  _la = this.tokenStream.LA(1);
1665
1622
  if (_la === 27) {
1666
1623
  {
1667
- this.state = 408;
1624
+ this.state = 394;
1668
1625
  this.match(GenericSqlParser.KW_DEFAULT);
1669
- this.state = 409;
1626
+ this.state = 395;
1670
1627
  this.expression();
1671
1628
  }
1672
1629
  }
1673
- this.state = 414;
1630
+ this.state = 400;
1674
1631
  this.errorHandler.sync(this);
1675
1632
  _la = this.tokenStream.LA(1);
1676
1633
  if (_la === 71) {
1677
1634
  {
1678
- this.state = 412;
1635
+ this.state = 398;
1679
1636
  this.match(GenericSqlParser.KW_PRIMARY);
1680
- this.state = 413;
1637
+ this.state = 399;
1681
1638
  this.match(GenericSqlParser.KW_KEY);
1682
1639
  }
1683
1640
  }
@@ -1698,175 +1655,150 @@ export class GenericSqlParser extends SQLParserBase {
1698
1655
  }
1699
1656
  return localContext;
1700
1657
  }
1701
- columnRefCreate() {
1702
- let localContext = new ColumnRefCreateContext(this.context, this.state);
1703
- this.enterRule(localContext, 64, GenericSqlParser.RULE_columnRefCreate);
1704
- try {
1705
- this.enterOuterAlt(localContext, 1);
1706
- {
1707
- this.state = 416;
1708
- this.identifier();
1709
- }
1710
- }
1711
- catch (re) {
1712
- if (re instanceof antlr.RecognitionException) {
1713
- localContext.exception = re;
1714
- this.errorHandler.reportError(this, re);
1715
- this.errorHandler.recover(this, re);
1716
- }
1717
- else {
1718
- throw re;
1719
- }
1720
- }
1721
- finally {
1722
- this.exitRule();
1723
- }
1724
- return localContext;
1725
- }
1726
1658
  tableConstraint() {
1727
1659
  let localContext = new TableConstraintContext(this.context, this.state);
1728
- this.enterRule(localContext, 66, GenericSqlParser.RULE_tableConstraint);
1660
+ this.enterRule(localContext, 64, GenericSqlParser.RULE_tableConstraint);
1729
1661
  let _la;
1730
1662
  try {
1731
1663
  this.enterOuterAlt(localContext, 1);
1732
1664
  {
1733
- this.state = 420;
1665
+ this.state = 404;
1734
1666
  this.errorHandler.sync(this);
1735
1667
  _la = this.tokenStream.LA(1);
1736
1668
  if (_la === 22) {
1737
1669
  {
1738
- this.state = 418;
1670
+ this.state = 402;
1739
1671
  this.match(GenericSqlParser.KW_CONSTRAINT);
1740
- this.state = 419;
1672
+ this.state = 403;
1741
1673
  this.identifier();
1742
1674
  }
1743
1675
  }
1744
- this.state = 477;
1676
+ this.state = 461;
1745
1677
  this.errorHandler.sync(this);
1746
1678
  switch (this.tokenStream.LA(1)) {
1747
1679
  case GenericSqlParser.KW_PRIMARY:
1748
1680
  {
1749
- this.state = 422;
1681
+ this.state = 406;
1750
1682
  this.match(GenericSqlParser.KW_PRIMARY);
1751
- this.state = 423;
1683
+ this.state = 407;
1752
1684
  this.match(GenericSqlParser.KW_KEY);
1753
- this.state = 424;
1685
+ this.state = 408;
1754
1686
  this.match(GenericSqlParser.T__1);
1755
- this.state = 425;
1687
+ this.state = 409;
1756
1688
  this.columnRef();
1757
- this.state = 430;
1689
+ this.state = 414;
1758
1690
  this.errorHandler.sync(this);
1759
1691
  _la = this.tokenStream.LA(1);
1760
1692
  while (_la === 1) {
1761
1693
  {
1762
1694
  {
1763
- this.state = 426;
1695
+ this.state = 410;
1764
1696
  this.match(GenericSqlParser.T__0);
1765
- this.state = 427;
1697
+ this.state = 411;
1766
1698
  this.columnRef();
1767
1699
  }
1768
1700
  }
1769
- this.state = 432;
1701
+ this.state = 416;
1770
1702
  this.errorHandler.sync(this);
1771
1703
  _la = this.tokenStream.LA(1);
1772
1704
  }
1773
- this.state = 433;
1705
+ this.state = 417;
1774
1706
  this.match(GenericSqlParser.T__2);
1775
1707
  }
1776
1708
  break;
1777
1709
  case GenericSqlParser.KW_UNIQUE:
1778
1710
  {
1779
- this.state = 435;
1711
+ this.state = 419;
1780
1712
  this.match(GenericSqlParser.KW_UNIQUE);
1781
- this.state = 436;
1713
+ this.state = 420;
1782
1714
  this.match(GenericSqlParser.T__1);
1783
- this.state = 437;
1715
+ this.state = 421;
1784
1716
  this.columnRef();
1785
- this.state = 442;
1717
+ this.state = 426;
1786
1718
  this.errorHandler.sync(this);
1787
1719
  _la = this.tokenStream.LA(1);
1788
1720
  while (_la === 1) {
1789
1721
  {
1790
1722
  {
1791
- this.state = 438;
1723
+ this.state = 422;
1792
1724
  this.match(GenericSqlParser.T__0);
1793
- this.state = 439;
1725
+ this.state = 423;
1794
1726
  this.columnRef();
1795
1727
  }
1796
1728
  }
1797
- this.state = 444;
1729
+ this.state = 428;
1798
1730
  this.errorHandler.sync(this);
1799
1731
  _la = this.tokenStream.LA(1);
1800
1732
  }
1801
- this.state = 445;
1733
+ this.state = 429;
1802
1734
  this.match(GenericSqlParser.T__2);
1803
1735
  }
1804
1736
  break;
1805
1737
  case GenericSqlParser.KW_CHECK:
1806
1738
  {
1807
- this.state = 447;
1739
+ this.state = 431;
1808
1740
  this.match(GenericSqlParser.KW_CHECK);
1809
- this.state = 448;
1741
+ this.state = 432;
1810
1742
  this.match(GenericSqlParser.T__1);
1811
- this.state = 449;
1743
+ this.state = 433;
1812
1744
  this.expression();
1813
- this.state = 450;
1745
+ this.state = 434;
1814
1746
  this.match(GenericSqlParser.T__2);
1815
1747
  }
1816
1748
  break;
1817
1749
  case GenericSqlParser.KW_FOREIGN:
1818
1750
  {
1819
- this.state = 452;
1751
+ this.state = 436;
1820
1752
  this.match(GenericSqlParser.KW_FOREIGN);
1821
- this.state = 453;
1753
+ this.state = 437;
1822
1754
  this.match(GenericSqlParser.KW_KEY);
1823
- this.state = 454;
1755
+ this.state = 438;
1824
1756
  this.match(GenericSqlParser.T__1);
1825
- this.state = 455;
1757
+ this.state = 439;
1826
1758
  this.columnRef();
1827
- this.state = 460;
1759
+ this.state = 444;
1828
1760
  this.errorHandler.sync(this);
1829
1761
  _la = this.tokenStream.LA(1);
1830
1762
  while (_la === 1) {
1831
1763
  {
1832
1764
  {
1833
- this.state = 456;
1765
+ this.state = 440;
1834
1766
  this.match(GenericSqlParser.T__0);
1835
- this.state = 457;
1767
+ this.state = 441;
1836
1768
  this.columnRef();
1837
1769
  }
1838
1770
  }
1839
- this.state = 462;
1771
+ this.state = 446;
1840
1772
  this.errorHandler.sync(this);
1841
1773
  _la = this.tokenStream.LA(1);
1842
1774
  }
1843
- this.state = 463;
1775
+ this.state = 447;
1844
1776
  this.match(GenericSqlParser.T__2);
1845
- this.state = 464;
1777
+ this.state = 448;
1846
1778
  this.match(GenericSqlParser.KW_REFERENCES);
1847
- this.state = 465;
1779
+ this.state = 449;
1848
1780
  this.tableName();
1849
- this.state = 466;
1781
+ this.state = 450;
1850
1782
  this.match(GenericSqlParser.T__1);
1851
- this.state = 467;
1783
+ this.state = 451;
1852
1784
  this.columnRef();
1853
- this.state = 472;
1785
+ this.state = 456;
1854
1786
  this.errorHandler.sync(this);
1855
1787
  _la = this.tokenStream.LA(1);
1856
1788
  while (_la === 1) {
1857
1789
  {
1858
1790
  {
1859
- this.state = 468;
1791
+ this.state = 452;
1860
1792
  this.match(GenericSqlParser.T__0);
1861
- this.state = 469;
1793
+ this.state = 453;
1862
1794
  this.columnRef();
1863
1795
  }
1864
1796
  }
1865
- this.state = 474;
1797
+ this.state = 458;
1866
1798
  this.errorHandler.sync(this);
1867
1799
  _la = this.tokenStream.LA(1);
1868
1800
  }
1869
- this.state = 475;
1801
+ this.state = 459;
1870
1802
  this.match(GenericSqlParser.T__2);
1871
1803
  }
1872
1804
  break;
@@ -1892,114 +1824,114 @@ export class GenericSqlParser extends SQLParserBase {
1892
1824
  }
1893
1825
  alterTableStatement() {
1894
1826
  let localContext = new AlterTableStatementContext(this.context, this.state);
1895
- this.enterRule(localContext, 68, GenericSqlParser.RULE_alterTableStatement);
1827
+ this.enterRule(localContext, 66, GenericSqlParser.RULE_alterTableStatement);
1896
1828
  try {
1897
1829
  this.enterOuterAlt(localContext, 1);
1898
1830
  {
1899
- this.state = 479;
1831
+ this.state = 463;
1900
1832
  this.match(GenericSqlParser.KW_ALTER);
1901
- this.state = 480;
1833
+ this.state = 464;
1902
1834
  this.match(GenericSqlParser.KW_TABLE);
1903
- this.state = 483;
1835
+ this.state = 467;
1904
1836
  this.errorHandler.sync(this);
1905
- switch (this.interpreter.adaptivePredict(this.tokenStream, 56, this.context)) {
1837
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 54, this.context)) {
1906
1838
  case 1:
1907
1839
  {
1908
- this.state = 481;
1840
+ this.state = 465;
1909
1841
  this.match(GenericSqlParser.KW_IF);
1910
- this.state = 482;
1842
+ this.state = 466;
1911
1843
  this.match(GenericSqlParser.KW_EXISTS);
1912
1844
  }
1913
1845
  break;
1914
1846
  }
1915
- this.state = 485;
1847
+ this.state = 469;
1916
1848
  this.tableName();
1917
- this.state = 517;
1849
+ this.state = 501;
1918
1850
  this.errorHandler.sync(this);
1919
- switch (this.interpreter.adaptivePredict(this.tokenStream, 59, this.context)) {
1851
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 57, this.context)) {
1920
1852
  case 1:
1921
1853
  {
1922
- this.state = 486;
1854
+ this.state = 470;
1923
1855
  this.match(GenericSqlParser.KW_ADD);
1924
- this.state = 487;
1856
+ this.state = 471;
1925
1857
  this.match(GenericSqlParser.KW_COLUMN);
1926
- this.state = 491;
1858
+ this.state = 475;
1927
1859
  this.errorHandler.sync(this);
1928
- switch (this.interpreter.adaptivePredict(this.tokenStream, 57, this.context)) {
1860
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 55, this.context)) {
1929
1861
  case 1:
1930
1862
  {
1931
- this.state = 488;
1863
+ this.state = 472;
1932
1864
  this.match(GenericSqlParser.KW_IF);
1933
- this.state = 489;
1865
+ this.state = 473;
1934
1866
  this.match(GenericSqlParser.KW_NOT);
1935
- this.state = 490;
1867
+ this.state = 474;
1936
1868
  this.match(GenericSqlParser.KW_EXISTS);
1937
1869
  }
1938
1870
  break;
1939
1871
  }
1940
- this.state = 493;
1872
+ this.state = 477;
1941
1873
  this.columnDefinition();
1942
1874
  }
1943
1875
  break;
1944
1876
  case 2:
1945
1877
  {
1946
- this.state = 494;
1878
+ this.state = 478;
1947
1879
  this.match(GenericSqlParser.KW_DROP);
1948
- this.state = 495;
1880
+ this.state = 479;
1949
1881
  this.match(GenericSqlParser.KW_COLUMN);
1950
- this.state = 498;
1882
+ this.state = 482;
1951
1883
  this.errorHandler.sync(this);
1952
- switch (this.interpreter.adaptivePredict(this.tokenStream, 58, this.context)) {
1884
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 56, this.context)) {
1953
1885
  case 1:
1954
1886
  {
1955
- this.state = 496;
1887
+ this.state = 480;
1956
1888
  this.match(GenericSqlParser.KW_IF);
1957
- this.state = 497;
1889
+ this.state = 481;
1958
1890
  this.match(GenericSqlParser.KW_EXISTS);
1959
1891
  }
1960
1892
  break;
1961
1893
  }
1962
- this.state = 500;
1894
+ this.state = 484;
1963
1895
  this.columnRef();
1964
1896
  }
1965
1897
  break;
1966
1898
  case 3:
1967
1899
  {
1968
- this.state = 501;
1900
+ this.state = 485;
1969
1901
  this.match(GenericSqlParser.KW_RENAME);
1970
- this.state = 502;
1902
+ this.state = 486;
1971
1903
  this.match(GenericSqlParser.KW_TO);
1972
- this.state = 503;
1904
+ this.state = 487;
1973
1905
  this.tableNameCreate();
1974
1906
  }
1975
1907
  break;
1976
1908
  case 4:
1977
1909
  {
1978
- this.state = 504;
1910
+ this.state = 488;
1979
1911
  this.match(GenericSqlParser.KW_ALTER);
1980
- this.state = 505;
1912
+ this.state = 489;
1981
1913
  this.match(GenericSqlParser.KW_COLUMN);
1982
- this.state = 506;
1914
+ this.state = 490;
1983
1915
  this.columnRef();
1984
- this.state = 507;
1916
+ this.state = 491;
1985
1917
  this.match(GenericSqlParser.KW_SET);
1986
- this.state = 508;
1918
+ this.state = 492;
1987
1919
  this.match(GenericSqlParser.KW_DEFAULT);
1988
- this.state = 509;
1920
+ this.state = 493;
1989
1921
  this.expression();
1990
1922
  }
1991
1923
  break;
1992
1924
  case 5:
1993
1925
  {
1994
- this.state = 511;
1926
+ this.state = 495;
1995
1927
  this.match(GenericSqlParser.KW_ALTER);
1996
- this.state = 512;
1928
+ this.state = 496;
1997
1929
  this.match(GenericSqlParser.KW_COLUMN);
1998
- this.state = 513;
1930
+ this.state = 497;
1999
1931
  this.columnRef();
2000
- this.state = 514;
1932
+ this.state = 498;
2001
1933
  this.match(GenericSqlParser.KW_DROP);
2002
- this.state = 515;
1934
+ this.state = 499;
2003
1935
  this.match(GenericSqlParser.KW_DEFAULT);
2004
1936
  }
2005
1937
  break;
@@ -2023,27 +1955,27 @@ export class GenericSqlParser extends SQLParserBase {
2023
1955
  }
2024
1956
  dropTableStatement() {
2025
1957
  let localContext = new DropTableStatementContext(this.context, this.state);
2026
- this.enterRule(localContext, 70, GenericSqlParser.RULE_dropTableStatement);
1958
+ this.enterRule(localContext, 68, GenericSqlParser.RULE_dropTableStatement);
2027
1959
  try {
2028
1960
  this.enterOuterAlt(localContext, 1);
2029
1961
  {
2030
- this.state = 519;
1962
+ this.state = 503;
2031
1963
  this.match(GenericSqlParser.KW_DROP);
2032
- this.state = 520;
1964
+ this.state = 504;
2033
1965
  this.match(GenericSqlParser.KW_TABLE);
2034
- this.state = 523;
1966
+ this.state = 507;
2035
1967
  this.errorHandler.sync(this);
2036
- switch (this.interpreter.adaptivePredict(this.tokenStream, 60, this.context)) {
1968
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 58, this.context)) {
2037
1969
  case 1:
2038
1970
  {
2039
- this.state = 521;
1971
+ this.state = 505;
2040
1972
  this.match(GenericSqlParser.KW_IF);
2041
- this.state = 522;
1973
+ this.state = 506;
2042
1974
  this.match(GenericSqlParser.KW_EXISTS);
2043
1975
  }
2044
1976
  break;
2045
1977
  }
2046
- this.state = 525;
1978
+ this.state = 509;
2047
1979
  this.tableName();
2048
1980
  }
2049
1981
  }
@@ -2064,11 +1996,11 @@ export class GenericSqlParser extends SQLParserBase {
2064
1996
  }
2065
1997
  expression() {
2066
1998
  let localContext = new ExpressionContext(this.context, this.state);
2067
- this.enterRule(localContext, 72, GenericSqlParser.RULE_expression);
1999
+ this.enterRule(localContext, 70, GenericSqlParser.RULE_expression);
2068
2000
  try {
2069
2001
  this.enterOuterAlt(localContext, 1);
2070
2002
  {
2071
- this.state = 527;
2003
+ this.state = 511;
2072
2004
  this.booleanExpression(0);
2073
2005
  }
2074
2006
  }
@@ -2095,13 +2027,13 @@ export class GenericSqlParser extends SQLParserBase {
2095
2027
  let parentState = this.state;
2096
2028
  let localContext = new BooleanExpressionContext(this.context, parentState);
2097
2029
  let previousContext = localContext;
2098
- let _startState = 74;
2099
- this.enterRecursionRule(localContext, 74, GenericSqlParser.RULE_booleanExpression, _p);
2030
+ let _startState = 72;
2031
+ this.enterRecursionRule(localContext, 72, GenericSqlParser.RULE_booleanExpression, _p);
2100
2032
  try {
2101
2033
  let alternative;
2102
2034
  this.enterOuterAlt(localContext, 1);
2103
2035
  {
2104
- this.state = 533;
2036
+ this.state = 517;
2105
2037
  this.errorHandler.sync(this);
2106
2038
  switch (this.tokenStream.LA(1)) {
2107
2039
  case GenericSqlParser.T__1:
@@ -2167,7 +2099,7 @@ export class GenericSqlParser extends SQLParserBase {
2167
2099
  localContext = new PredicatedContext(localContext);
2168
2100
  this.context = localContext;
2169
2101
  previousContext = localContext;
2170
- this.state = 530;
2102
+ this.state = 514;
2171
2103
  this.predicatedExpression();
2172
2104
  }
2173
2105
  break;
@@ -2176,9 +2108,9 @@ export class GenericSqlParser extends SQLParserBase {
2176
2108
  localContext = new NotExpressionContext(localContext);
2177
2109
  this.context = localContext;
2178
2110
  previousContext = localContext;
2179
- this.state = 531;
2111
+ this.state = 515;
2180
2112
  this.match(GenericSqlParser.KW_NOT);
2181
- this.state = 532;
2113
+ this.state = 516;
2182
2114
  this.booleanExpression(3);
2183
2115
  }
2184
2116
  break;
@@ -2186,9 +2118,9 @@ export class GenericSqlParser extends SQLParserBase {
2186
2118
  throw new antlr.NoViableAltException(this);
2187
2119
  }
2188
2120
  this.context.stop = this.tokenStream.LT(-1);
2189
- this.state = 543;
2121
+ this.state = 527;
2190
2122
  this.errorHandler.sync(this);
2191
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 63, this.context);
2123
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 61, this.context);
2192
2124
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
2193
2125
  if (alternative === 1) {
2194
2126
  if (this._parseListeners != null) {
@@ -2196,21 +2128,21 @@ export class GenericSqlParser extends SQLParserBase {
2196
2128
  }
2197
2129
  previousContext = localContext;
2198
2130
  {
2199
- this.state = 541;
2131
+ this.state = 525;
2200
2132
  this.errorHandler.sync(this);
2201
- switch (this.interpreter.adaptivePredict(this.tokenStream, 62, this.context)) {
2133
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 60, this.context)) {
2202
2134
  case 1:
2203
2135
  {
2204
2136
  localContext = new AndExpressionContext(new BooleanExpressionContext(parentContext, parentState));
2205
2137
  localContext._left = previousContext;
2206
2138
  this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_booleanExpression);
2207
- this.state = 535;
2139
+ this.state = 519;
2208
2140
  if (!(this.precpred(this.context, 2))) {
2209
2141
  throw this.createFailedPredicateException("this.precpred(this.context, 2)");
2210
2142
  }
2211
- this.state = 536;
2143
+ this.state = 520;
2212
2144
  this.match(GenericSqlParser.KW_AND);
2213
- this.state = 537;
2145
+ this.state = 521;
2214
2146
  localContext._right = this.booleanExpression(3);
2215
2147
  }
2216
2148
  break;
@@ -2219,22 +2151,22 @@ export class GenericSqlParser extends SQLParserBase {
2219
2151
  localContext = new OrExpressionContext(new BooleanExpressionContext(parentContext, parentState));
2220
2152
  localContext._left = previousContext;
2221
2153
  this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_booleanExpression);
2222
- this.state = 538;
2154
+ this.state = 522;
2223
2155
  if (!(this.precpred(this.context, 1))) {
2224
2156
  throw this.createFailedPredicateException("this.precpred(this.context, 1)");
2225
2157
  }
2226
- this.state = 539;
2158
+ this.state = 523;
2227
2159
  this.match(GenericSqlParser.KW_OR);
2228
- this.state = 540;
2160
+ this.state = 524;
2229
2161
  localContext._right = this.booleanExpression(2);
2230
2162
  }
2231
2163
  break;
2232
2164
  }
2233
2165
  }
2234
2166
  }
2235
- this.state = 545;
2167
+ this.state = 529;
2236
2168
  this.errorHandler.sync(this);
2237
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 63, this.context);
2169
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 61, this.context);
2238
2170
  }
2239
2171
  }
2240
2172
  }
@@ -2255,18 +2187,18 @@ export class GenericSqlParser extends SQLParserBase {
2255
2187
  }
2256
2188
  predicatedExpression() {
2257
2189
  let localContext = new PredicatedExpressionContext(this.context, this.state);
2258
- this.enterRule(localContext, 76, GenericSqlParser.RULE_predicatedExpression);
2190
+ this.enterRule(localContext, 74, GenericSqlParser.RULE_predicatedExpression);
2259
2191
  try {
2260
2192
  this.enterOuterAlt(localContext, 1);
2261
2193
  {
2262
- this.state = 546;
2194
+ this.state = 530;
2263
2195
  this.valueExpression(0);
2264
- this.state = 548;
2196
+ this.state = 532;
2265
2197
  this.errorHandler.sync(this);
2266
- switch (this.interpreter.adaptivePredict(this.tokenStream, 64, this.context)) {
2198
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 62, this.context)) {
2267
2199
  case 1:
2268
2200
  {
2269
- this.state = 547;
2201
+ this.state = 531;
2270
2202
  this.predicate();
2271
2203
  }
2272
2204
  break;
@@ -2290,19 +2222,19 @@ export class GenericSqlParser extends SQLParserBase {
2290
2222
  }
2291
2223
  predicate() {
2292
2224
  let localContext = new PredicateContext(this.context, this.state);
2293
- this.enterRule(localContext, 78, GenericSqlParser.RULE_predicate);
2225
+ this.enterRule(localContext, 76, GenericSqlParser.RULE_predicate);
2294
2226
  let _la;
2295
2227
  try {
2296
- this.state = 605;
2228
+ this.state = 589;
2297
2229
  this.errorHandler.sync(this);
2298
- switch (this.interpreter.adaptivePredict(this.tokenStream, 73, this.context)) {
2230
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 71, this.context)) {
2299
2231
  case 1:
2300
2232
  localContext = new ComparisonPredicateContext(localContext);
2301
2233
  this.enterOuterAlt(localContext, 1);
2302
2234
  {
2303
- this.state = 550;
2235
+ this.state = 534;
2304
2236
  this.comparisonOperator();
2305
- this.state = 551;
2237
+ this.state = 535;
2306
2238
  localContext._right = this.valueExpression(0);
2307
2239
  }
2308
2240
  break;
@@ -2310,38 +2242,38 @@ export class GenericSqlParser extends SQLParserBase {
2310
2242
  localContext = new InPredicateContext(localContext);
2311
2243
  this.enterOuterAlt(localContext, 2);
2312
2244
  {
2313
- this.state = 554;
2245
+ this.state = 538;
2314
2246
  this.errorHandler.sync(this);
2315
2247
  _la = this.tokenStream.LA(1);
2316
2248
  if (_la === 61) {
2317
2249
  {
2318
- this.state = 553;
2250
+ this.state = 537;
2319
2251
  this.match(GenericSqlParser.KW_NOT);
2320
2252
  }
2321
2253
  }
2322
- this.state = 556;
2254
+ this.state = 540;
2323
2255
  this.match(GenericSqlParser.KW_IN);
2324
- this.state = 557;
2256
+ this.state = 541;
2325
2257
  this.match(GenericSqlParser.T__1);
2326
- this.state = 558;
2258
+ this.state = 542;
2327
2259
  this.expression();
2328
- this.state = 563;
2260
+ this.state = 547;
2329
2261
  this.errorHandler.sync(this);
2330
2262
  _la = this.tokenStream.LA(1);
2331
2263
  while (_la === 1) {
2332
2264
  {
2333
2265
  {
2334
- this.state = 559;
2266
+ this.state = 543;
2335
2267
  this.match(GenericSqlParser.T__0);
2336
- this.state = 560;
2268
+ this.state = 544;
2337
2269
  this.expression();
2338
2270
  }
2339
2271
  }
2340
- this.state = 565;
2272
+ this.state = 549;
2341
2273
  this.errorHandler.sync(this);
2342
2274
  _la = this.tokenStream.LA(1);
2343
2275
  }
2344
- this.state = 566;
2276
+ this.state = 550;
2345
2277
  this.match(GenericSqlParser.T__2);
2346
2278
  }
2347
2279
  break;
@@ -2349,22 +2281,22 @@ export class GenericSqlParser extends SQLParserBase {
2349
2281
  localContext = new InSubqueryPredicateContext(localContext);
2350
2282
  this.enterOuterAlt(localContext, 3);
2351
2283
  {
2352
- this.state = 569;
2284
+ this.state = 553;
2353
2285
  this.errorHandler.sync(this);
2354
2286
  _la = this.tokenStream.LA(1);
2355
2287
  if (_la === 61) {
2356
2288
  {
2357
- this.state = 568;
2289
+ this.state = 552;
2358
2290
  this.match(GenericSqlParser.KW_NOT);
2359
2291
  }
2360
2292
  }
2361
- this.state = 571;
2293
+ this.state = 555;
2362
2294
  this.match(GenericSqlParser.KW_IN);
2363
- this.state = 572;
2295
+ this.state = 556;
2364
2296
  this.match(GenericSqlParser.T__1);
2365
- this.state = 573;
2297
+ this.state = 557;
2366
2298
  this.queryStatement();
2367
- this.state = 574;
2299
+ this.state = 558;
2368
2300
  this.match(GenericSqlParser.T__2);
2369
2301
  }
2370
2302
  break;
@@ -2372,22 +2304,22 @@ export class GenericSqlParser extends SQLParserBase {
2372
2304
  localContext = new BetweenPredicateContext(localContext);
2373
2305
  this.enterOuterAlt(localContext, 4);
2374
2306
  {
2375
- this.state = 577;
2307
+ this.state = 561;
2376
2308
  this.errorHandler.sync(this);
2377
2309
  _la = this.tokenStream.LA(1);
2378
2310
  if (_la === 61) {
2379
2311
  {
2380
- this.state = 576;
2312
+ this.state = 560;
2381
2313
  this.match(GenericSqlParser.KW_NOT);
2382
2314
  }
2383
2315
  }
2384
- this.state = 579;
2316
+ this.state = 563;
2385
2317
  this.match(GenericSqlParser.KW_BETWEEN);
2386
- this.state = 580;
2318
+ this.state = 564;
2387
2319
  localContext._lower = this.valueExpression(0);
2388
- this.state = 581;
2320
+ this.state = 565;
2389
2321
  this.match(GenericSqlParser.KW_AND);
2390
- this.state = 582;
2322
+ this.state = 566;
2391
2323
  localContext._upper = this.valueExpression(0);
2392
2324
  }
2393
2325
  break;
@@ -2395,27 +2327,27 @@ export class GenericSqlParser extends SQLParserBase {
2395
2327
  localContext = new LikePredicateContext(localContext);
2396
2328
  this.enterOuterAlt(localContext, 5);
2397
2329
  {
2398
- this.state = 585;
2330
+ this.state = 569;
2399
2331
  this.errorHandler.sync(this);
2400
2332
  _la = this.tokenStream.LA(1);
2401
2333
  if (_la === 61) {
2402
2334
  {
2403
- this.state = 584;
2335
+ this.state = 568;
2404
2336
  this.match(GenericSqlParser.KW_NOT);
2405
2337
  }
2406
2338
  }
2407
- this.state = 587;
2339
+ this.state = 571;
2408
2340
  this.match(GenericSqlParser.KW_LIKE);
2409
- this.state = 588;
2341
+ this.state = 572;
2410
2342
  localContext._pattern = this.valueExpression(0);
2411
- this.state = 591;
2343
+ this.state = 575;
2412
2344
  this.errorHandler.sync(this);
2413
- switch (this.interpreter.adaptivePredict(this.tokenStream, 70, this.context)) {
2345
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 68, this.context)) {
2414
2346
  case 1:
2415
2347
  {
2416
- this.state = 589;
2348
+ this.state = 573;
2417
2349
  this.match(GenericSqlParser.KW_ESCAPE);
2418
- this.state = 590;
2350
+ this.state = 574;
2419
2351
  localContext._escape = this.valueExpression(0);
2420
2352
  }
2421
2353
  break;
@@ -2426,18 +2358,18 @@ export class GenericSqlParser extends SQLParserBase {
2426
2358
  localContext = new NullPredicateContext(localContext);
2427
2359
  this.enterOuterAlt(localContext, 6);
2428
2360
  {
2429
- this.state = 593;
2361
+ this.state = 577;
2430
2362
  this.match(GenericSqlParser.KW_IS);
2431
- this.state = 595;
2363
+ this.state = 579;
2432
2364
  this.errorHandler.sync(this);
2433
2365
  _la = this.tokenStream.LA(1);
2434
2366
  if (_la === 61) {
2435
2367
  {
2436
- this.state = 594;
2368
+ this.state = 578;
2437
2369
  this.match(GenericSqlParser.KW_NOT);
2438
2370
  }
2439
2371
  }
2440
- this.state = 597;
2372
+ this.state = 581;
2441
2373
  this.match(GenericSqlParser.KW_NULL);
2442
2374
  }
2443
2375
  break;
@@ -2445,22 +2377,22 @@ export class GenericSqlParser extends SQLParserBase {
2445
2377
  localContext = new DistinctFromPredicateContext(localContext);
2446
2378
  this.enterOuterAlt(localContext, 7);
2447
2379
  {
2448
- this.state = 598;
2380
+ this.state = 582;
2449
2381
  this.match(GenericSqlParser.KW_IS);
2450
- this.state = 600;
2382
+ this.state = 584;
2451
2383
  this.errorHandler.sync(this);
2452
2384
  _la = this.tokenStream.LA(1);
2453
2385
  if (_la === 61) {
2454
2386
  {
2455
- this.state = 599;
2387
+ this.state = 583;
2456
2388
  this.match(GenericSqlParser.KW_NOT);
2457
2389
  }
2458
2390
  }
2459
- this.state = 602;
2391
+ this.state = 586;
2460
2392
  this.match(GenericSqlParser.KW_DISTINCT);
2461
- this.state = 603;
2393
+ this.state = 587;
2462
2394
  this.match(GenericSqlParser.KW_FROM);
2463
- this.state = 604;
2395
+ this.state = 588;
2464
2396
  localContext._right = this.valueExpression(0);
2465
2397
  }
2466
2398
  break;
@@ -2483,12 +2415,12 @@ export class GenericSqlParser extends SQLParserBase {
2483
2415
  }
2484
2416
  comparisonOperator() {
2485
2417
  let localContext = new ComparisonOperatorContext(this.context, this.state);
2486
- this.enterRule(localContext, 80, GenericSqlParser.RULE_comparisonOperator);
2418
+ this.enterRule(localContext, 78, GenericSqlParser.RULE_comparisonOperator);
2487
2419
  let _la;
2488
2420
  try {
2489
2421
  this.enterOuterAlt(localContext, 1);
2490
2422
  {
2491
- this.state = 607;
2423
+ this.state = 591;
2492
2424
  _la = this.tokenStream.LA(1);
2493
2425
  if (!(((((_la - 95)) & ~0x1F) === 0 && ((1 << (_la - 95)) & 63) !== 0))) {
2494
2426
  this.errorHandler.recoverInline(this);
@@ -2522,14 +2454,14 @@ export class GenericSqlParser extends SQLParserBase {
2522
2454
  let parentState = this.state;
2523
2455
  let localContext = new ValueExpressionContext(this.context, parentState);
2524
2456
  let previousContext = localContext;
2525
- let _startState = 82;
2526
- this.enterRecursionRule(localContext, 82, GenericSqlParser.RULE_valueExpression, _p);
2457
+ let _startState = 80;
2458
+ this.enterRecursionRule(localContext, 80, GenericSqlParser.RULE_valueExpression, _p);
2527
2459
  let _la;
2528
2460
  try {
2529
2461
  let alternative;
2530
2462
  this.enterOuterAlt(localContext, 1);
2531
2463
  {
2532
- this.state = 613;
2464
+ this.state = 597;
2533
2465
  this.errorHandler.sync(this);
2534
2466
  switch (this.tokenStream.LA(1)) {
2535
2467
  case GenericSqlParser.T__1:
@@ -2593,7 +2525,7 @@ export class GenericSqlParser extends SQLParserBase {
2593
2525
  localContext = new ValueExpressionDefaultContext(localContext);
2594
2526
  this.context = localContext;
2595
2527
  previousContext = localContext;
2596
- this.state = 610;
2528
+ this.state = 594;
2597
2529
  this.primaryExpression();
2598
2530
  }
2599
2531
  break;
@@ -2603,7 +2535,7 @@ export class GenericSqlParser extends SQLParserBase {
2603
2535
  localContext = new ArithmeticUnaryContext(localContext);
2604
2536
  this.context = localContext;
2605
2537
  previousContext = localContext;
2606
- this.state = 611;
2538
+ this.state = 595;
2607
2539
  localContext._operator = this.tokenStream.LT(1);
2608
2540
  _la = this.tokenStream.LA(1);
2609
2541
  if (!(_la === 101 || _la === 102)) {
@@ -2613,7 +2545,7 @@ export class GenericSqlParser extends SQLParserBase {
2613
2545
  this.errorHandler.reportMatch(this);
2614
2546
  this.consume();
2615
2547
  }
2616
- this.state = 612;
2548
+ this.state = 596;
2617
2549
  this.valueExpression(4);
2618
2550
  }
2619
2551
  break;
@@ -2621,9 +2553,9 @@ export class GenericSqlParser extends SQLParserBase {
2621
2553
  throw new antlr.NoViableAltException(this);
2622
2554
  }
2623
2555
  this.context.stop = this.tokenStream.LT(-1);
2624
- this.state = 626;
2556
+ this.state = 610;
2625
2557
  this.errorHandler.sync(this);
2626
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 76, this.context);
2558
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 74, this.context);
2627
2559
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
2628
2560
  if (alternative === 1) {
2629
2561
  if (this._parseListeners != null) {
@@ -2631,19 +2563,19 @@ export class GenericSqlParser extends SQLParserBase {
2631
2563
  }
2632
2564
  previousContext = localContext;
2633
2565
  {
2634
- this.state = 624;
2566
+ this.state = 608;
2635
2567
  this.errorHandler.sync(this);
2636
- switch (this.interpreter.adaptivePredict(this.tokenStream, 75, this.context)) {
2568
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 73, this.context)) {
2637
2569
  case 1:
2638
2570
  {
2639
2571
  localContext = new ArithmeticBinaryContext(new ValueExpressionContext(parentContext, parentState));
2640
2572
  localContext._left = previousContext;
2641
2573
  this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_valueExpression);
2642
- this.state = 615;
2574
+ this.state = 599;
2643
2575
  if (!(this.precpred(this.context, 3))) {
2644
2576
  throw this.createFailedPredicateException("this.precpred(this.context, 3)");
2645
2577
  }
2646
- this.state = 616;
2578
+ this.state = 600;
2647
2579
  localContext._operator = this.tokenStream.LT(1);
2648
2580
  _la = this.tokenStream.LA(1);
2649
2581
  if (!(((((_la - 103)) & ~0x1F) === 0 && ((1 << (_la - 103)) & 7) !== 0))) {
@@ -2653,7 +2585,7 @@ export class GenericSqlParser extends SQLParserBase {
2653
2585
  this.errorHandler.reportMatch(this);
2654
2586
  this.consume();
2655
2587
  }
2656
- this.state = 617;
2588
+ this.state = 601;
2657
2589
  localContext._right = this.valueExpression(4);
2658
2590
  }
2659
2591
  break;
@@ -2662,11 +2594,11 @@ export class GenericSqlParser extends SQLParserBase {
2662
2594
  localContext = new ArithmeticBinaryContext(new ValueExpressionContext(parentContext, parentState));
2663
2595
  localContext._left = previousContext;
2664
2596
  this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_valueExpression);
2665
- this.state = 618;
2597
+ this.state = 602;
2666
2598
  if (!(this.precpred(this.context, 2))) {
2667
2599
  throw this.createFailedPredicateException("this.precpred(this.context, 2)");
2668
2600
  }
2669
- this.state = 619;
2601
+ this.state = 603;
2670
2602
  localContext._operator = this.tokenStream.LT(1);
2671
2603
  _la = this.tokenStream.LA(1);
2672
2604
  if (!(_la === 101 || _la === 102)) {
@@ -2676,7 +2608,7 @@ export class GenericSqlParser extends SQLParserBase {
2676
2608
  this.errorHandler.reportMatch(this);
2677
2609
  this.consume();
2678
2610
  }
2679
- this.state = 620;
2611
+ this.state = 604;
2680
2612
  localContext._right = this.valueExpression(3);
2681
2613
  }
2682
2614
  break;
@@ -2685,22 +2617,22 @@ export class GenericSqlParser extends SQLParserBase {
2685
2617
  localContext = new ConcatenationContext(new ValueExpressionContext(parentContext, parentState));
2686
2618
  localContext._left = previousContext;
2687
2619
  this.pushNewRecursionContext(localContext, _startState, GenericSqlParser.RULE_valueExpression);
2688
- this.state = 621;
2620
+ this.state = 605;
2689
2621
  if (!(this.precpred(this.context, 1))) {
2690
2622
  throw this.createFailedPredicateException("this.precpred(this.context, 1)");
2691
2623
  }
2692
- this.state = 622;
2624
+ this.state = 606;
2693
2625
  this.match(GenericSqlParser.CONCAT);
2694
- this.state = 623;
2626
+ this.state = 607;
2695
2627
  localContext._right = this.valueExpression(2);
2696
2628
  }
2697
2629
  break;
2698
2630
  }
2699
2631
  }
2700
2632
  }
2701
- this.state = 628;
2633
+ this.state = 612;
2702
2634
  this.errorHandler.sync(this);
2703
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 76, this.context);
2635
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 74, this.context);
2704
2636
  }
2705
2637
  }
2706
2638
  }
@@ -2721,17 +2653,17 @@ export class GenericSqlParser extends SQLParserBase {
2721
2653
  }
2722
2654
  primaryExpression() {
2723
2655
  let localContext = new PrimaryExpressionContext(this.context, this.state);
2724
- this.enterRule(localContext, 84, GenericSqlParser.RULE_primaryExpression);
2656
+ this.enterRule(localContext, 82, GenericSqlParser.RULE_primaryExpression);
2725
2657
  let _la;
2726
2658
  try {
2727
- this.state = 709;
2659
+ this.state = 693;
2728
2660
  this.errorHandler.sync(this);
2729
- switch (this.interpreter.adaptivePredict(this.tokenStream, 85, this.context)) {
2661
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 83, this.context)) {
2730
2662
  case 1:
2731
2663
  localContext = new LiteralExpressionContext(localContext);
2732
2664
  this.enterOuterAlt(localContext, 1);
2733
2665
  {
2734
- this.state = 629;
2666
+ this.state = 613;
2735
2667
  this.literal();
2736
2668
  }
2737
2669
  break;
@@ -2739,46 +2671,46 @@ export class GenericSqlParser extends SQLParserBase {
2739
2671
  localContext = new FunctionCallContext(localContext);
2740
2672
  this.enterOuterAlt(localContext, 2);
2741
2673
  {
2742
- this.state = 630;
2743
- this.functionName();
2744
- this.state = 631;
2674
+ this.state = 614;
2675
+ this.qualifiedName();
2676
+ this.state = 615;
2745
2677
  this.match(GenericSqlParser.T__1);
2746
- this.state = 643;
2678
+ this.state = 627;
2747
2679
  this.errorHandler.sync(this);
2748
2680
  _la = this.tokenStream.LA(1);
2749
2681
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4013421668) !== 0) || ((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 1069048399) !== 0) || ((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 2151019809) !== 0) || ((((_la - 102)) & ~0x1F) === 0 && ((1 << (_la - 102)) & 65409) !== 0)) {
2750
2682
  {
2751
- this.state = 633;
2683
+ this.state = 617;
2752
2684
  this.errorHandler.sync(this);
2753
- switch (this.interpreter.adaptivePredict(this.tokenStream, 77, this.context)) {
2685
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 75, this.context)) {
2754
2686
  case 1:
2755
2687
  {
2756
- this.state = 632;
2688
+ this.state = 616;
2757
2689
  this.setQuantifier();
2758
2690
  }
2759
2691
  break;
2760
2692
  }
2761
- this.state = 635;
2693
+ this.state = 619;
2762
2694
  this.expression();
2763
- this.state = 640;
2695
+ this.state = 624;
2764
2696
  this.errorHandler.sync(this);
2765
2697
  _la = this.tokenStream.LA(1);
2766
2698
  while (_la === 1) {
2767
2699
  {
2768
2700
  {
2769
- this.state = 636;
2701
+ this.state = 620;
2770
2702
  this.match(GenericSqlParser.T__0);
2771
- this.state = 637;
2703
+ this.state = 621;
2772
2704
  this.expression();
2773
2705
  }
2774
2706
  }
2775
- this.state = 642;
2707
+ this.state = 626;
2776
2708
  this.errorHandler.sync(this);
2777
2709
  _la = this.tokenStream.LA(1);
2778
2710
  }
2779
2711
  }
2780
2712
  }
2781
- this.state = 645;
2713
+ this.state = 629;
2782
2714
  this.match(GenericSqlParser.T__2);
2783
2715
  }
2784
2716
  break;
@@ -2786,34 +2718,34 @@ export class GenericSqlParser extends SQLParserBase {
2786
2718
  localContext = new SearchedCaseExpressionContext(localContext);
2787
2719
  this.enterOuterAlt(localContext, 3);
2788
2720
  {
2789
- this.state = 647;
2721
+ this.state = 631;
2790
2722
  this.match(GenericSqlParser.KW_CASE);
2791
- this.state = 649;
2723
+ this.state = 633;
2792
2724
  this.errorHandler.sync(this);
2793
2725
  _la = this.tokenStream.LA(1);
2794
2726
  do {
2795
2727
  {
2796
2728
  {
2797
- this.state = 648;
2729
+ this.state = 632;
2798
2730
  this.whenClause();
2799
2731
  }
2800
2732
  }
2801
- this.state = 651;
2733
+ this.state = 635;
2802
2734
  this.errorHandler.sync(this);
2803
2735
  _la = this.tokenStream.LA(1);
2804
2736
  } while (_la === 92);
2805
- this.state = 655;
2737
+ this.state = 639;
2806
2738
  this.errorHandler.sync(this);
2807
2739
  _la = this.tokenStream.LA(1);
2808
2740
  if (_la === 33) {
2809
2741
  {
2810
- this.state = 653;
2742
+ this.state = 637;
2811
2743
  this.match(GenericSqlParser.KW_ELSE);
2812
- this.state = 654;
2744
+ this.state = 638;
2813
2745
  this.expression();
2814
2746
  }
2815
2747
  }
2816
- this.state = 657;
2748
+ this.state = 641;
2817
2749
  this.match(GenericSqlParser.KW_END);
2818
2750
  }
2819
2751
  break;
@@ -2821,36 +2753,36 @@ export class GenericSqlParser extends SQLParserBase {
2821
2753
  localContext = new SimpleCaseExpressionContext(localContext);
2822
2754
  this.enterOuterAlt(localContext, 4);
2823
2755
  {
2824
- this.state = 659;
2756
+ this.state = 643;
2825
2757
  this.match(GenericSqlParser.KW_CASE);
2826
- this.state = 660;
2758
+ this.state = 644;
2827
2759
  this.expression();
2828
- this.state = 662;
2760
+ this.state = 646;
2829
2761
  this.errorHandler.sync(this);
2830
2762
  _la = this.tokenStream.LA(1);
2831
2763
  do {
2832
2764
  {
2833
2765
  {
2834
- this.state = 661;
2766
+ this.state = 645;
2835
2767
  this.whenClause();
2836
2768
  }
2837
2769
  }
2838
- this.state = 664;
2770
+ this.state = 648;
2839
2771
  this.errorHandler.sync(this);
2840
2772
  _la = this.tokenStream.LA(1);
2841
2773
  } while (_la === 92);
2842
- this.state = 668;
2774
+ this.state = 652;
2843
2775
  this.errorHandler.sync(this);
2844
2776
  _la = this.tokenStream.LA(1);
2845
2777
  if (_la === 33) {
2846
2778
  {
2847
- this.state = 666;
2779
+ this.state = 650;
2848
2780
  this.match(GenericSqlParser.KW_ELSE);
2849
- this.state = 667;
2781
+ this.state = 651;
2850
2782
  this.expression();
2851
2783
  }
2852
2784
  }
2853
- this.state = 670;
2785
+ this.state = 654;
2854
2786
  this.match(GenericSqlParser.KW_END);
2855
2787
  }
2856
2788
  break;
@@ -2858,17 +2790,17 @@ export class GenericSqlParser extends SQLParserBase {
2858
2790
  localContext = new CastExpressionContext(localContext);
2859
2791
  this.enterOuterAlt(localContext, 5);
2860
2792
  {
2861
- this.state = 672;
2793
+ this.state = 656;
2862
2794
  this.match(GenericSqlParser.KW_CAST);
2863
- this.state = 673;
2795
+ this.state = 657;
2864
2796
  this.match(GenericSqlParser.T__1);
2865
- this.state = 674;
2797
+ this.state = 658;
2866
2798
  this.expression();
2867
- this.state = 675;
2799
+ this.state = 659;
2868
2800
  this.match(GenericSqlParser.KW_AS);
2869
- this.state = 676;
2801
+ this.state = 660;
2870
2802
  this.dataType();
2871
- this.state = 677;
2803
+ this.state = 661;
2872
2804
  this.match(GenericSqlParser.T__2);
2873
2805
  }
2874
2806
  break;
@@ -2876,29 +2808,29 @@ export class GenericSqlParser extends SQLParserBase {
2876
2808
  localContext = new CoalesceExpressionContext(localContext);
2877
2809
  this.enterOuterAlt(localContext, 6);
2878
2810
  {
2879
- this.state = 679;
2811
+ this.state = 663;
2880
2812
  this.match(GenericSqlParser.KW_COALESCE);
2881
- this.state = 680;
2813
+ this.state = 664;
2882
2814
  this.match(GenericSqlParser.T__1);
2883
- this.state = 681;
2815
+ this.state = 665;
2884
2816
  this.expression();
2885
- this.state = 686;
2817
+ this.state = 670;
2886
2818
  this.errorHandler.sync(this);
2887
2819
  _la = this.tokenStream.LA(1);
2888
2820
  while (_la === 1) {
2889
2821
  {
2890
2822
  {
2891
- this.state = 682;
2823
+ this.state = 666;
2892
2824
  this.match(GenericSqlParser.T__0);
2893
- this.state = 683;
2825
+ this.state = 667;
2894
2826
  this.expression();
2895
2827
  }
2896
2828
  }
2897
- this.state = 688;
2829
+ this.state = 672;
2898
2830
  this.errorHandler.sync(this);
2899
2831
  _la = this.tokenStream.LA(1);
2900
2832
  }
2901
- this.state = 689;
2833
+ this.state = 673;
2902
2834
  this.match(GenericSqlParser.T__2);
2903
2835
  }
2904
2836
  break;
@@ -2906,17 +2838,17 @@ export class GenericSqlParser extends SQLParserBase {
2906
2838
  localContext = new NullIfExpressionContext(localContext);
2907
2839
  this.enterOuterAlt(localContext, 7);
2908
2840
  {
2909
- this.state = 691;
2841
+ this.state = 675;
2910
2842
  this.match(GenericSqlParser.KW_NULLIF);
2911
- this.state = 692;
2843
+ this.state = 676;
2912
2844
  this.match(GenericSqlParser.T__1);
2913
- this.state = 693;
2845
+ this.state = 677;
2914
2846
  this.valueExpression(0);
2915
- this.state = 694;
2847
+ this.state = 678;
2916
2848
  this.match(GenericSqlParser.T__0);
2917
- this.state = 695;
2849
+ this.state = 679;
2918
2850
  this.valueExpression(0);
2919
- this.state = 696;
2851
+ this.state = 680;
2920
2852
  this.match(GenericSqlParser.T__2);
2921
2853
  }
2922
2854
  break;
@@ -2924,11 +2856,11 @@ export class GenericSqlParser extends SQLParserBase {
2924
2856
  localContext = new ParenthesizedExpressionContext(localContext);
2925
2857
  this.enterOuterAlt(localContext, 8);
2926
2858
  {
2927
- this.state = 698;
2859
+ this.state = 682;
2928
2860
  this.match(GenericSqlParser.T__1);
2929
- this.state = 699;
2861
+ this.state = 683;
2930
2862
  this.expression();
2931
- this.state = 700;
2863
+ this.state = 684;
2932
2864
  this.match(GenericSqlParser.T__2);
2933
2865
  }
2934
2866
  break;
@@ -2936,13 +2868,13 @@ export class GenericSqlParser extends SQLParserBase {
2936
2868
  localContext = new ExistsExpressionContext(localContext);
2937
2869
  this.enterOuterAlt(localContext, 9);
2938
2870
  {
2939
- this.state = 702;
2871
+ this.state = 686;
2940
2872
  this.match(GenericSqlParser.KW_EXISTS);
2941
- this.state = 703;
2873
+ this.state = 687;
2942
2874
  this.match(GenericSqlParser.T__1);
2943
- this.state = 704;
2875
+ this.state = 688;
2944
2876
  this.queryStatement();
2945
- this.state = 705;
2877
+ this.state = 689;
2946
2878
  this.match(GenericSqlParser.T__2);
2947
2879
  }
2948
2880
  break;
@@ -2950,7 +2882,7 @@ export class GenericSqlParser extends SQLParserBase {
2950
2882
  localContext = new SubqueryExpressionDefaultContext(localContext);
2951
2883
  this.enterOuterAlt(localContext, 10);
2952
2884
  {
2953
- this.state = 707;
2885
+ this.state = 691;
2954
2886
  this.subqueryExpression();
2955
2887
  }
2956
2888
  break;
@@ -2958,8 +2890,8 @@ export class GenericSqlParser extends SQLParserBase {
2958
2890
  localContext = new ColumnReferenceContext(localContext);
2959
2891
  this.enterOuterAlt(localContext, 11);
2960
2892
  {
2961
- this.state = 708;
2962
- this.columnName();
2893
+ this.state = 692;
2894
+ this.qualifiedName();
2963
2895
  }
2964
2896
  break;
2965
2897
  }
@@ -2981,17 +2913,17 @@ export class GenericSqlParser extends SQLParserBase {
2981
2913
  }
2982
2914
  whenClause() {
2983
2915
  let localContext = new WhenClauseContext(this.context, this.state);
2984
- this.enterRule(localContext, 86, GenericSqlParser.RULE_whenClause);
2916
+ this.enterRule(localContext, 84, GenericSqlParser.RULE_whenClause);
2985
2917
  try {
2986
2918
  this.enterOuterAlt(localContext, 1);
2987
2919
  {
2988
- this.state = 711;
2920
+ this.state = 695;
2989
2921
  this.match(GenericSqlParser.KW_WHEN);
2990
- this.state = 712;
2922
+ this.state = 696;
2991
2923
  localContext._condition = this.expression();
2992
- this.state = 713;
2924
+ this.state = 697;
2993
2925
  this.match(GenericSqlParser.KW_THEN);
2994
- this.state = 714;
2926
+ this.state = 698;
2995
2927
  localContext._result = this.expression();
2996
2928
  }
2997
2929
  }
@@ -3012,15 +2944,15 @@ export class GenericSqlParser extends SQLParserBase {
3012
2944
  }
3013
2945
  subqueryExpression() {
3014
2946
  let localContext = new SubqueryExpressionContext(this.context, this.state);
3015
- this.enterRule(localContext, 88, GenericSqlParser.RULE_subqueryExpression);
2947
+ this.enterRule(localContext, 86, GenericSqlParser.RULE_subqueryExpression);
3016
2948
  try {
3017
2949
  this.enterOuterAlt(localContext, 1);
3018
2950
  {
3019
- this.state = 716;
2951
+ this.state = 700;
3020
2952
  this.match(GenericSqlParser.T__1);
3021
- this.state = 717;
2953
+ this.state = 701;
3022
2954
  this.queryStatement();
3023
- this.state = 718;
2955
+ this.state = 702;
3024
2956
  this.match(GenericSqlParser.T__2);
3025
2957
  }
3026
2958
  }
@@ -3041,94 +2973,94 @@ export class GenericSqlParser extends SQLParserBase {
3041
2973
  }
3042
2974
  dataType() {
3043
2975
  let localContext = new DataTypeContext(this.context, this.state);
3044
- this.enterRule(localContext, 90, GenericSqlParser.RULE_dataType);
2976
+ this.enterRule(localContext, 88, GenericSqlParser.RULE_dataType);
3045
2977
  let _la;
3046
2978
  try {
3047
- this.state = 766;
2979
+ this.state = 750;
3048
2980
  this.errorHandler.sync(this);
3049
2981
  switch (this.tokenStream.LA(1)) {
3050
2982
  case GenericSqlParser.KW_BOOLEAN:
3051
2983
  this.enterOuterAlt(localContext, 1);
3052
2984
  {
3053
- this.state = 720;
2985
+ this.state = 704;
3054
2986
  this.match(GenericSqlParser.KW_BOOLEAN);
3055
2987
  }
3056
2988
  break;
3057
2989
  case GenericSqlParser.KW_TINYINT:
3058
2990
  this.enterOuterAlt(localContext, 2);
3059
2991
  {
3060
- this.state = 721;
2992
+ this.state = 705;
3061
2993
  this.match(GenericSqlParser.KW_TINYINT);
3062
2994
  }
3063
2995
  break;
3064
2996
  case GenericSqlParser.KW_SMALLINT:
3065
2997
  this.enterOuterAlt(localContext, 3);
3066
2998
  {
3067
- this.state = 722;
2999
+ this.state = 706;
3068
3000
  this.match(GenericSqlParser.KW_SMALLINT);
3069
3001
  }
3070
3002
  break;
3071
3003
  case GenericSqlParser.KW_INT:
3072
3004
  this.enterOuterAlt(localContext, 4);
3073
3005
  {
3074
- this.state = 723;
3006
+ this.state = 707;
3075
3007
  this.match(GenericSqlParser.KW_INT);
3076
3008
  }
3077
3009
  break;
3078
3010
  case GenericSqlParser.KW_INTEGER:
3079
3011
  this.enterOuterAlt(localContext, 5);
3080
3012
  {
3081
- this.state = 724;
3013
+ this.state = 708;
3082
3014
  this.match(GenericSqlParser.KW_INTEGER);
3083
3015
  }
3084
3016
  break;
3085
3017
  case GenericSqlParser.KW_BIGINT:
3086
3018
  this.enterOuterAlt(localContext, 6);
3087
3019
  {
3088
- this.state = 725;
3020
+ this.state = 709;
3089
3021
  this.match(GenericSqlParser.KW_BIGINT);
3090
3022
  }
3091
3023
  break;
3092
3024
  case GenericSqlParser.KW_FLOAT:
3093
3025
  this.enterOuterAlt(localContext, 7);
3094
3026
  {
3095
- this.state = 726;
3027
+ this.state = 710;
3096
3028
  this.match(GenericSqlParser.KW_FLOAT);
3097
3029
  }
3098
3030
  break;
3099
3031
  case GenericSqlParser.KW_DOUBLE:
3100
3032
  this.enterOuterAlt(localContext, 8);
3101
3033
  {
3102
- this.state = 727;
3034
+ this.state = 711;
3103
3035
  this.match(GenericSqlParser.KW_DOUBLE);
3104
3036
  }
3105
3037
  break;
3106
3038
  case GenericSqlParser.KW_DECIMAL:
3107
3039
  this.enterOuterAlt(localContext, 9);
3108
3040
  {
3109
- this.state = 728;
3041
+ this.state = 712;
3110
3042
  this.match(GenericSqlParser.KW_DECIMAL);
3111
- this.state = 736;
3043
+ this.state = 720;
3112
3044
  this.errorHandler.sync(this);
3113
- switch (this.interpreter.adaptivePredict(this.tokenStream, 87, this.context)) {
3045
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 85, this.context)) {
3114
3046
  case 1:
3115
3047
  {
3116
- this.state = 729;
3048
+ this.state = 713;
3117
3049
  this.match(GenericSqlParser.T__1);
3118
- this.state = 730;
3050
+ this.state = 714;
3119
3051
  localContext._precision = this.match(GenericSqlParser.INTEGER_VALUE);
3120
- this.state = 733;
3052
+ this.state = 717;
3121
3053
  this.errorHandler.sync(this);
3122
3054
  _la = this.tokenStream.LA(1);
3123
3055
  if (_la === 1) {
3124
3056
  {
3125
- this.state = 731;
3057
+ this.state = 715;
3126
3058
  this.match(GenericSqlParser.T__0);
3127
- this.state = 732;
3059
+ this.state = 716;
3128
3060
  localContext._scale = this.match(GenericSqlParser.INTEGER_VALUE);
3129
3061
  }
3130
3062
  }
3131
- this.state = 735;
3063
+ this.state = 719;
3132
3064
  this.match(GenericSqlParser.T__2);
3133
3065
  }
3134
3066
  break;
@@ -3138,29 +3070,29 @@ export class GenericSqlParser extends SQLParserBase {
3138
3070
  case GenericSqlParser.KW_NUMERIC:
3139
3071
  this.enterOuterAlt(localContext, 10);
3140
3072
  {
3141
- this.state = 738;
3073
+ this.state = 722;
3142
3074
  this.match(GenericSqlParser.KW_NUMERIC);
3143
- this.state = 746;
3075
+ this.state = 730;
3144
3076
  this.errorHandler.sync(this);
3145
- switch (this.interpreter.adaptivePredict(this.tokenStream, 89, this.context)) {
3077
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 87, this.context)) {
3146
3078
  case 1:
3147
3079
  {
3148
- this.state = 739;
3080
+ this.state = 723;
3149
3081
  this.match(GenericSqlParser.T__1);
3150
- this.state = 740;
3082
+ this.state = 724;
3151
3083
  localContext._precision = this.match(GenericSqlParser.INTEGER_VALUE);
3152
- this.state = 743;
3084
+ this.state = 727;
3153
3085
  this.errorHandler.sync(this);
3154
3086
  _la = this.tokenStream.LA(1);
3155
3087
  if (_la === 1) {
3156
3088
  {
3157
- this.state = 741;
3089
+ this.state = 725;
3158
3090
  this.match(GenericSqlParser.T__0);
3159
- this.state = 742;
3091
+ this.state = 726;
3160
3092
  localContext._scale = this.match(GenericSqlParser.INTEGER_VALUE);
3161
3093
  }
3162
3094
  }
3163
- this.state = 745;
3095
+ this.state = 729;
3164
3096
  this.match(GenericSqlParser.T__2);
3165
3097
  }
3166
3098
  break;
@@ -3170,18 +3102,18 @@ export class GenericSqlParser extends SQLParserBase {
3170
3102
  case GenericSqlParser.KW_VARCHAR:
3171
3103
  this.enterOuterAlt(localContext, 11);
3172
3104
  {
3173
- this.state = 748;
3105
+ this.state = 732;
3174
3106
  this.match(GenericSqlParser.KW_VARCHAR);
3175
- this.state = 752;
3107
+ this.state = 736;
3176
3108
  this.errorHandler.sync(this);
3177
- switch (this.interpreter.adaptivePredict(this.tokenStream, 90, this.context)) {
3109
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 88, this.context)) {
3178
3110
  case 1:
3179
3111
  {
3180
- this.state = 749;
3112
+ this.state = 733;
3181
3113
  this.match(GenericSqlParser.T__1);
3182
- this.state = 750;
3114
+ this.state = 734;
3183
3115
  localContext._maxLength = this.match(GenericSqlParser.INTEGER_VALUE);
3184
- this.state = 751;
3116
+ this.state = 735;
3185
3117
  this.match(GenericSqlParser.T__2);
3186
3118
  }
3187
3119
  break;
@@ -3191,18 +3123,18 @@ export class GenericSqlParser extends SQLParserBase {
3191
3123
  case GenericSqlParser.KW_CHAR:
3192
3124
  this.enterOuterAlt(localContext, 12);
3193
3125
  {
3194
- this.state = 754;
3126
+ this.state = 738;
3195
3127
  this.match(GenericSqlParser.KW_CHAR);
3196
- this.state = 758;
3128
+ this.state = 742;
3197
3129
  this.errorHandler.sync(this);
3198
- switch (this.interpreter.adaptivePredict(this.tokenStream, 91, this.context)) {
3130
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 89, this.context)) {
3199
3131
  case 1:
3200
3132
  {
3201
- this.state = 755;
3133
+ this.state = 739;
3202
3134
  this.match(GenericSqlParser.T__1);
3203
- this.state = 756;
3135
+ this.state = 740;
3204
3136
  localContext._length = this.match(GenericSqlParser.INTEGER_VALUE);
3205
- this.state = 757;
3137
+ this.state = 741;
3206
3138
  this.match(GenericSqlParser.T__2);
3207
3139
  }
3208
3140
  break;
@@ -3212,42 +3144,42 @@ export class GenericSqlParser extends SQLParserBase {
3212
3144
  case GenericSqlParser.KW_TEXT:
3213
3145
  this.enterOuterAlt(localContext, 13);
3214
3146
  {
3215
- this.state = 760;
3147
+ this.state = 744;
3216
3148
  this.match(GenericSqlParser.KW_TEXT);
3217
3149
  }
3218
3150
  break;
3219
3151
  case GenericSqlParser.KW_DATE:
3220
3152
  this.enterOuterAlt(localContext, 14);
3221
3153
  {
3222
- this.state = 761;
3154
+ this.state = 745;
3223
3155
  this.match(GenericSqlParser.KW_DATE);
3224
3156
  }
3225
3157
  break;
3226
3158
  case GenericSqlParser.KW_TIME:
3227
3159
  this.enterOuterAlt(localContext, 15);
3228
3160
  {
3229
- this.state = 762;
3161
+ this.state = 746;
3230
3162
  this.match(GenericSqlParser.KW_TIME);
3231
3163
  }
3232
3164
  break;
3233
3165
  case GenericSqlParser.KW_TIMESTAMP:
3234
3166
  this.enterOuterAlt(localContext, 16);
3235
3167
  {
3236
- this.state = 763;
3168
+ this.state = 747;
3237
3169
  this.match(GenericSqlParser.KW_TIMESTAMP);
3238
3170
  }
3239
3171
  break;
3240
3172
  case GenericSqlParser.KW_BINARY:
3241
3173
  this.enterOuterAlt(localContext, 17);
3242
3174
  {
3243
- this.state = 764;
3175
+ this.state = 748;
3244
3176
  this.match(GenericSqlParser.KW_BINARY);
3245
3177
  }
3246
3178
  break;
3247
3179
  case GenericSqlParser.KW_VARBINARY:
3248
3180
  this.enterOuterAlt(localContext, 18);
3249
3181
  {
3250
- this.state = 765;
3182
+ this.state = 749;
3251
3183
  this.match(GenericSqlParser.KW_VARBINARY);
3252
3184
  }
3253
3185
  break;
@@ -3272,32 +3204,32 @@ export class GenericSqlParser extends SQLParserBase {
3272
3204
  }
3273
3205
  properties() {
3274
3206
  let localContext = new PropertiesContext(this.context, this.state);
3275
- this.enterRule(localContext, 92, GenericSqlParser.RULE_properties);
3207
+ this.enterRule(localContext, 90, GenericSqlParser.RULE_properties);
3276
3208
  let _la;
3277
3209
  try {
3278
3210
  this.enterOuterAlt(localContext, 1);
3279
3211
  {
3280
- this.state = 768;
3212
+ this.state = 752;
3281
3213
  this.match(GenericSqlParser.T__1);
3282
- this.state = 769;
3214
+ this.state = 753;
3283
3215
  this.property();
3284
- this.state = 774;
3216
+ this.state = 758;
3285
3217
  this.errorHandler.sync(this);
3286
3218
  _la = this.tokenStream.LA(1);
3287
3219
  while (_la === 1) {
3288
3220
  {
3289
3221
  {
3290
- this.state = 770;
3222
+ this.state = 754;
3291
3223
  this.match(GenericSqlParser.T__0);
3292
- this.state = 771;
3224
+ this.state = 755;
3293
3225
  this.property();
3294
3226
  }
3295
3227
  }
3296
- this.state = 776;
3228
+ this.state = 760;
3297
3229
  this.errorHandler.sync(this);
3298
3230
  _la = this.tokenStream.LA(1);
3299
3231
  }
3300
- this.state = 777;
3232
+ this.state = 761;
3301
3233
  this.match(GenericSqlParser.T__2);
3302
3234
  }
3303
3235
  }
@@ -3318,15 +3250,15 @@ export class GenericSqlParser extends SQLParserBase {
3318
3250
  }
3319
3251
  property() {
3320
3252
  let localContext = new PropertyContext(this.context, this.state);
3321
- this.enterRule(localContext, 94, GenericSqlParser.RULE_property);
3253
+ this.enterRule(localContext, 92, GenericSqlParser.RULE_property);
3322
3254
  try {
3323
3255
  this.enterOuterAlt(localContext, 1);
3324
3256
  {
3325
- this.state = 779;
3257
+ this.state = 763;
3326
3258
  this.identifier();
3327
- this.state = 780;
3259
+ this.state = 764;
3328
3260
  this.match(GenericSqlParser.EQ);
3329
- this.state = 781;
3261
+ this.state = 765;
3330
3262
  this.literal();
3331
3263
  }
3332
3264
  }
@@ -3347,16 +3279,16 @@ export class GenericSqlParser extends SQLParserBase {
3347
3279
  }
3348
3280
  literal() {
3349
3281
  let localContext = new LiteralContext(this.context, this.state);
3350
- this.enterRule(localContext, 96, GenericSqlParser.RULE_literal);
3282
+ this.enterRule(localContext, 94, GenericSqlParser.RULE_literal);
3351
3283
  try {
3352
- this.state = 791;
3284
+ this.state = 775;
3353
3285
  this.errorHandler.sync(this);
3354
3286
  switch (this.tokenStream.LA(1)) {
3355
3287
  case GenericSqlParser.KW_NULL:
3356
3288
  localContext = new NullLiteralContext(localContext);
3357
3289
  this.enterOuterAlt(localContext, 1);
3358
3290
  {
3359
- this.state = 783;
3291
+ this.state = 767;
3360
3292
  this.match(GenericSqlParser.KW_NULL);
3361
3293
  }
3362
3294
  break;
@@ -3364,7 +3296,7 @@ export class GenericSqlParser extends SQLParserBase {
3364
3296
  localContext = new BooleanLiteralContext(localContext);
3365
3297
  this.enterOuterAlt(localContext, 2);
3366
3298
  {
3367
- this.state = 784;
3299
+ this.state = 768;
3368
3300
  this.match(GenericSqlParser.KW_TRUE);
3369
3301
  }
3370
3302
  break;
@@ -3372,7 +3304,7 @@ export class GenericSqlParser extends SQLParserBase {
3372
3304
  localContext = new BooleanLiteralContext(localContext);
3373
3305
  this.enterOuterAlt(localContext, 3);
3374
3306
  {
3375
- this.state = 785;
3307
+ this.state = 769;
3376
3308
  this.match(GenericSqlParser.KW_FALSE);
3377
3309
  }
3378
3310
  break;
@@ -3380,7 +3312,7 @@ export class GenericSqlParser extends SQLParserBase {
3380
3312
  localContext = new IntegerLiteralContext(localContext);
3381
3313
  this.enterOuterAlt(localContext, 4);
3382
3314
  {
3383
- this.state = 786;
3315
+ this.state = 770;
3384
3316
  this.match(GenericSqlParser.INTEGER_VALUE);
3385
3317
  }
3386
3318
  break;
@@ -3388,7 +3320,7 @@ export class GenericSqlParser extends SQLParserBase {
3388
3320
  localContext = new DecimalLiteralContext(localContext);
3389
3321
  this.enterOuterAlt(localContext, 5);
3390
3322
  {
3391
- this.state = 787;
3323
+ this.state = 771;
3392
3324
  this.match(GenericSqlParser.DECIMAL_VALUE);
3393
3325
  }
3394
3326
  break;
@@ -3396,7 +3328,7 @@ export class GenericSqlParser extends SQLParserBase {
3396
3328
  localContext = new DoubleLiteralContext(localContext);
3397
3329
  this.enterOuterAlt(localContext, 6);
3398
3330
  {
3399
- this.state = 788;
3331
+ this.state = 772;
3400
3332
  this.match(GenericSqlParser.DOUBLE_VALUE);
3401
3333
  }
3402
3334
  break;
@@ -3404,7 +3336,7 @@ export class GenericSqlParser extends SQLParserBase {
3404
3336
  localContext = new StringLiteralContext(localContext);
3405
3337
  this.enterOuterAlt(localContext, 7);
3406
3338
  {
3407
- this.state = 789;
3339
+ this.state = 773;
3408
3340
  this.match(GenericSqlParser.STRING);
3409
3341
  }
3410
3342
  break;
@@ -3412,7 +3344,7 @@ export class GenericSqlParser extends SQLParserBase {
3412
3344
  localContext = new BinaryLiteralContext(localContext);
3413
3345
  this.enterOuterAlt(localContext, 8);
3414
3346
  {
3415
- this.state = 790;
3347
+ this.state = 774;
3416
3348
  this.match(GenericSqlParser.BINARY_LITERAL);
3417
3349
  }
3418
3350
  break;
@@ -3437,36 +3369,36 @@ export class GenericSqlParser extends SQLParserBase {
3437
3369
  }
3438
3370
  identifier() {
3439
3371
  let localContext = new IdentifierContext(this.context, this.state);
3440
- this.enterRule(localContext, 98, GenericSqlParser.RULE_identifier);
3372
+ this.enterRule(localContext, 96, GenericSqlParser.RULE_identifier);
3441
3373
  try {
3442
- this.state = 798;
3374
+ this.state = 782;
3443
3375
  this.errorHandler.sync(this);
3444
3376
  switch (this.tokenStream.LA(1)) {
3445
3377
  case GenericSqlParser.IDENTIFIER:
3446
3378
  this.enterOuterAlt(localContext, 1);
3447
3379
  {
3448
- this.state = 793;
3380
+ this.state = 777;
3449
3381
  this.match(GenericSqlParser.IDENTIFIER);
3450
3382
  }
3451
3383
  break;
3452
3384
  case GenericSqlParser.DIGIT_IDENTIFIER:
3453
3385
  this.enterOuterAlt(localContext, 2);
3454
3386
  {
3455
- this.state = 794;
3387
+ this.state = 778;
3456
3388
  this.match(GenericSqlParser.DIGIT_IDENTIFIER);
3457
3389
  }
3458
3390
  break;
3459
3391
  case GenericSqlParser.QUOTED_IDENTIFIER:
3460
3392
  this.enterOuterAlt(localContext, 3);
3461
3393
  {
3462
- this.state = 795;
3394
+ this.state = 779;
3463
3395
  this.match(GenericSqlParser.QUOTED_IDENTIFIER);
3464
3396
  }
3465
3397
  break;
3466
3398
  case GenericSqlParser.BACKQUOTED_IDENTIFIER:
3467
3399
  this.enterOuterAlt(localContext, 4);
3468
3400
  {
3469
- this.state = 796;
3401
+ this.state = 780;
3470
3402
  this.match(GenericSqlParser.BACKQUOTED_IDENTIFIER);
3471
3403
  }
3472
3404
  break;
@@ -3515,7 +3447,7 @@ export class GenericSqlParser extends SQLParserBase {
3515
3447
  case GenericSqlParser.KW_VARBINARY:
3516
3448
  this.enterOuterAlt(localContext, 5);
3517
3449
  {
3518
- this.state = 797;
3450
+ this.state = 781;
3519
3451
  this.nonReserved();
3520
3452
  }
3521
3453
  break;
@@ -3540,30 +3472,30 @@ export class GenericSqlParser extends SQLParserBase {
3540
3472
  }
3541
3473
  qualifiedName() {
3542
3474
  let localContext = new QualifiedNameContext(this.context, this.state);
3543
- this.enterRule(localContext, 100, GenericSqlParser.RULE_qualifiedName);
3475
+ this.enterRule(localContext, 98, GenericSqlParser.RULE_qualifiedName);
3544
3476
  try {
3545
3477
  let alternative;
3546
3478
  this.enterOuterAlt(localContext, 1);
3547
3479
  {
3548
- this.state = 800;
3480
+ this.state = 784;
3549
3481
  this.identifier();
3550
- this.state = 805;
3482
+ this.state = 789;
3551
3483
  this.errorHandler.sync(this);
3552
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 96, this.context);
3484
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 94, this.context);
3553
3485
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
3554
3486
  if (alternative === 1) {
3555
3487
  {
3556
3488
  {
3557
- this.state = 801;
3489
+ this.state = 785;
3558
3490
  this.match(GenericSqlParser.T__3);
3559
- this.state = 802;
3491
+ this.state = 786;
3560
3492
  this.identifier();
3561
3493
  }
3562
3494
  }
3563
3495
  }
3564
- this.state = 807;
3496
+ this.state = 791;
3565
3497
  this.errorHandler.sync(this);
3566
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 96, this.context);
3498
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 94, this.context);
3567
3499
  }
3568
3500
  }
3569
3501
  }
@@ -3584,78 +3516,12 @@ export class GenericSqlParser extends SQLParserBase {
3584
3516
  }
3585
3517
  columnRef() {
3586
3518
  let localContext = new ColumnRefContext(this.context, this.state);
3587
- this.enterRule(localContext, 102, GenericSqlParser.RULE_columnRef);
3588
- try {
3589
- this.state = 811;
3590
- this.errorHandler.sync(this);
3591
- switch (this.interpreter.adaptivePredict(this.tokenStream, 97, this.context)) {
3592
- case 1:
3593
- this.enterOuterAlt(localContext, 1);
3594
- {
3595
- this.state = 808;
3596
- this.identifier();
3597
- }
3598
- break;
3599
- case 2:
3600
- this.enterOuterAlt(localContext, 2);
3601
- {
3602
- this.state = 809;
3603
- if (!(this.shouldMatchEmpty())) {
3604
- throw this.createFailedPredicateException("this.shouldMatchEmpty()");
3605
- }
3606
- this.state = 810;
3607
- this.emptyColumn();
3608
- }
3609
- break;
3610
- }
3611
- }
3612
- catch (re) {
3613
- if (re instanceof antlr.RecognitionException) {
3614
- localContext.exception = re;
3615
- this.errorHandler.reportError(this, re);
3616
- this.errorHandler.recover(this, re);
3617
- }
3618
- else {
3619
- throw re;
3620
- }
3621
- }
3622
- finally {
3623
- this.exitRule();
3624
- }
3625
- return localContext;
3626
- }
3627
- columnName() {
3628
- let localContext = new ColumnNameContext(this.context, this.state);
3629
- this.enterRule(localContext, 104, GenericSqlParser.RULE_columnName);
3630
- try {
3631
- this.enterOuterAlt(localContext, 1);
3632
- {
3633
- this.state = 813;
3634
- this.qualifiedName();
3635
- }
3636
- }
3637
- catch (re) {
3638
- if (re instanceof antlr.RecognitionException) {
3639
- localContext.exception = re;
3640
- this.errorHandler.reportError(this, re);
3641
- this.errorHandler.recover(this, re);
3642
- }
3643
- else {
3644
- throw re;
3645
- }
3646
- }
3647
- finally {
3648
- this.exitRule();
3649
- }
3650
- return localContext;
3651
- }
3652
- emptyColumn() {
3653
- let localContext = new EmptyColumnContext(this.context, this.state);
3654
- this.enterRule(localContext, 106, GenericSqlParser.RULE_emptyColumn);
3519
+ this.enterRule(localContext, 100, GenericSqlParser.RULE_columnRef);
3655
3520
  try {
3656
3521
  this.enterOuterAlt(localContext, 1);
3657
- // tslint:disable-next-line:no-empty
3658
3522
  {
3523
+ this.state = 792;
3524
+ this.identifier();
3659
3525
  }
3660
3526
  }
3661
3527
  catch (re) {
@@ -3675,11 +3541,11 @@ export class GenericSqlParser extends SQLParserBase {
3675
3541
  }
3676
3542
  tableName() {
3677
3543
  let localContext = new TableNameContext(this.context, this.state);
3678
- this.enterRule(localContext, 108, GenericSqlParser.RULE_tableName);
3544
+ this.enterRule(localContext, 102, GenericSqlParser.RULE_tableName);
3679
3545
  try {
3680
3546
  this.enterOuterAlt(localContext, 1);
3681
3547
  {
3682
- this.state = 817;
3548
+ this.state = 794;
3683
3549
  this.qualifiedName();
3684
3550
  }
3685
3551
  }
@@ -3700,36 +3566,11 @@ export class GenericSqlParser extends SQLParserBase {
3700
3566
  }
3701
3567
  tableNameCreate() {
3702
3568
  let localContext = new TableNameCreateContext(this.context, this.state);
3703
- this.enterRule(localContext, 110, GenericSqlParser.RULE_tableNameCreate);
3704
- try {
3705
- this.enterOuterAlt(localContext, 1);
3706
- {
3707
- this.state = 819;
3708
- this.qualifiedName();
3709
- }
3710
- }
3711
- catch (re) {
3712
- if (re instanceof antlr.RecognitionException) {
3713
- localContext.exception = re;
3714
- this.errorHandler.reportError(this, re);
3715
- this.errorHandler.recover(this, re);
3716
- }
3717
- else {
3718
- throw re;
3719
- }
3720
- }
3721
- finally {
3722
- this.exitRule();
3723
- }
3724
- return localContext;
3725
- }
3726
- functionName() {
3727
- let localContext = new FunctionNameContext(this.context, this.state);
3728
- this.enterRule(localContext, 112, GenericSqlParser.RULE_functionName);
3569
+ this.enterRule(localContext, 104, GenericSqlParser.RULE_tableNameCreate);
3729
3570
  try {
3730
3571
  this.enterOuterAlt(localContext, 1);
3731
3572
  {
3732
- this.state = 821;
3573
+ this.state = 796;
3733
3574
  this.qualifiedName();
3734
3575
  }
3735
3576
  }
@@ -3750,12 +3591,12 @@ export class GenericSqlParser extends SQLParserBase {
3750
3591
  }
3751
3592
  nonReserved() {
3752
3593
  let localContext = new NonReservedContext(this.context, this.state);
3753
- this.enterRule(localContext, 114, GenericSqlParser.RULE_nonReserved);
3594
+ this.enterRule(localContext, 106, GenericSqlParser.RULE_nonReserved);
3754
3595
  let _la;
3755
3596
  try {
3756
3597
  this.enterOuterAlt(localContext, 1);
3757
3598
  {
3758
- this.state = 823;
3599
+ this.state = 798;
3759
3600
  _la = this.tokenStream.LA(1);
3760
3601
  if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 2939483232) !== 0) || ((((_la - 38)) & ~0x1F) === 0 && ((1 << (_la - 38)) & 509358375) !== 0) || ((((_la - 70)) & ~0x1F) === 0 && ((1 << (_la - 70)) & 3536161) !== 0))) {
3761
3602
  this.errorHandler.recoverInline(this);
@@ -3783,60 +3624,42 @@ export class GenericSqlParser extends SQLParserBase {
3783
3624
  }
3784
3625
  sempred(localContext, ruleIndex, predIndex) {
3785
3626
  switch (ruleIndex) {
3786
- case 12:
3787
- return this.selectItem_sempred(localContext, predIndex);
3788
3627
  case 14:
3789
3628
  return this.relation_sempred(localContext, predIndex);
3790
- case 37:
3629
+ case 36:
3791
3630
  return this.booleanExpression_sempred(localContext, predIndex);
3792
- case 41:
3631
+ case 40:
3793
3632
  return this.valueExpression_sempred(localContext, predIndex);
3794
- case 51:
3795
- return this.columnRef_sempred(localContext, predIndex);
3796
- }
3797
- return true;
3798
- }
3799
- selectItem_sempred(localContext, predIndex) {
3800
- switch (predIndex) {
3801
- case 0:
3802
- return this.shouldMatchEmpty();
3803
3633
  }
3804
3634
  return true;
3805
3635
  }
3806
3636
  relation_sempred(localContext, predIndex) {
3807
3637
  switch (predIndex) {
3808
- case 1:
3638
+ case 0:
3809
3639
  return this.precpred(this.context, 2);
3810
3640
  }
3811
3641
  return true;
3812
3642
  }
3813
3643
  booleanExpression_sempred(localContext, predIndex) {
3814
3644
  switch (predIndex) {
3815
- case 2:
3645
+ case 1:
3816
3646
  return this.precpred(this.context, 2);
3817
- case 3:
3647
+ case 2:
3818
3648
  return this.precpred(this.context, 1);
3819
3649
  }
3820
3650
  return true;
3821
3651
  }
3822
3652
  valueExpression_sempred(localContext, predIndex) {
3823
3653
  switch (predIndex) {
3824
- case 4:
3654
+ case 3:
3825
3655
  return this.precpred(this.context, 3);
3826
- case 5:
3656
+ case 4:
3827
3657
  return this.precpred(this.context, 2);
3828
- case 6:
3658
+ case 5:
3829
3659
  return this.precpred(this.context, 1);
3830
3660
  }
3831
3661
  return true;
3832
3662
  }
3833
- columnRef_sempred(localContext, predIndex) {
3834
- switch (predIndex) {
3835
- case 7:
3836
- return this.shouldMatchEmpty();
3837
- }
3838
- return true;
3839
- }
3840
3663
  static get _ATN() {
3841
3664
  if (!GenericSqlParser.__ATN) {
3842
3665
  GenericSqlParser.__ATN = new antlr.ATNDeserializer().deserialize(GenericSqlParser._serializedATN);
@@ -4001,32 +3824,28 @@ GenericSqlParser.RULE_deleteStatement = 28;
4001
3824
  GenericSqlParser.RULE_createTableStatement = 29;
4002
3825
  GenericSqlParser.RULE_tableElement = 30;
4003
3826
  GenericSqlParser.RULE_columnDefinition = 31;
4004
- GenericSqlParser.RULE_columnRefCreate = 32;
4005
- GenericSqlParser.RULE_tableConstraint = 33;
4006
- GenericSqlParser.RULE_alterTableStatement = 34;
4007
- GenericSqlParser.RULE_dropTableStatement = 35;
4008
- GenericSqlParser.RULE_expression = 36;
4009
- GenericSqlParser.RULE_booleanExpression = 37;
4010
- GenericSqlParser.RULE_predicatedExpression = 38;
4011
- GenericSqlParser.RULE_predicate = 39;
4012
- GenericSqlParser.RULE_comparisonOperator = 40;
4013
- GenericSqlParser.RULE_valueExpression = 41;
4014
- GenericSqlParser.RULE_primaryExpression = 42;
4015
- GenericSqlParser.RULE_whenClause = 43;
4016
- GenericSqlParser.RULE_subqueryExpression = 44;
4017
- GenericSqlParser.RULE_dataType = 45;
4018
- GenericSqlParser.RULE_properties = 46;
4019
- GenericSqlParser.RULE_property = 47;
4020
- GenericSqlParser.RULE_literal = 48;
4021
- GenericSqlParser.RULE_identifier = 49;
4022
- GenericSqlParser.RULE_qualifiedName = 50;
4023
- GenericSqlParser.RULE_columnRef = 51;
4024
- GenericSqlParser.RULE_columnName = 52;
4025
- GenericSqlParser.RULE_emptyColumn = 53;
4026
- GenericSqlParser.RULE_tableName = 54;
4027
- GenericSqlParser.RULE_tableNameCreate = 55;
4028
- GenericSqlParser.RULE_functionName = 56;
4029
- GenericSqlParser.RULE_nonReserved = 57;
3827
+ GenericSqlParser.RULE_tableConstraint = 32;
3828
+ GenericSqlParser.RULE_alterTableStatement = 33;
3829
+ GenericSqlParser.RULE_dropTableStatement = 34;
3830
+ GenericSqlParser.RULE_expression = 35;
3831
+ GenericSqlParser.RULE_booleanExpression = 36;
3832
+ GenericSqlParser.RULE_predicatedExpression = 37;
3833
+ GenericSqlParser.RULE_predicate = 38;
3834
+ GenericSqlParser.RULE_comparisonOperator = 39;
3835
+ GenericSqlParser.RULE_valueExpression = 40;
3836
+ GenericSqlParser.RULE_primaryExpression = 41;
3837
+ GenericSqlParser.RULE_whenClause = 42;
3838
+ GenericSqlParser.RULE_subqueryExpression = 43;
3839
+ GenericSqlParser.RULE_dataType = 44;
3840
+ GenericSqlParser.RULE_properties = 45;
3841
+ GenericSqlParser.RULE_property = 46;
3842
+ GenericSqlParser.RULE_literal = 47;
3843
+ GenericSqlParser.RULE_identifier = 48;
3844
+ GenericSqlParser.RULE_qualifiedName = 49;
3845
+ GenericSqlParser.RULE_columnRef = 50;
3846
+ GenericSqlParser.RULE_tableName = 51;
3847
+ GenericSqlParser.RULE_tableNameCreate = 52;
3848
+ GenericSqlParser.RULE_nonReserved = 53;
4030
3849
  GenericSqlParser.literalNames = [
4031
3850
  null, "','", "'('", "')'", "'.'", "'ADD'", "'ALL'", "'ALTER'", "'AND'",
4032
3851
  "'AS'", "'ASC'", "'BETWEEN'", "'BIGINT'", "'BINARY'", "'BOOLEAN'",
@@ -4078,15 +3897,15 @@ GenericSqlParser.ruleNames = [
4078
3897
  "groupByClause", "havingClause", "orderByClause", "sortItem", "limitClause",
4079
3898
  "insertStatement", "columnList", "updateStatement", "updateAssignment",
4080
3899
  "deleteStatement", "createTableStatement", "tableElement", "columnDefinition",
4081
- "columnRefCreate", "tableConstraint", "alterTableStatement", "dropTableStatement",
3900
+ "tableConstraint", "alterTableStatement", "dropTableStatement",
4082
3901
  "expression", "booleanExpression", "predicatedExpression", "predicate",
4083
3902
  "comparisonOperator", "valueExpression", "primaryExpression", "whenClause",
4084
3903
  "subqueryExpression", "dataType", "properties", "property", "literal",
4085
- "identifier", "qualifiedName", "columnRef", "columnName", "emptyColumn",
4086
- "tableName", "tableNameCreate", "functionName", "nonReserved",
3904
+ "identifier", "qualifiedName", "columnRef", "tableName", "tableNameCreate",
3905
+ "nonReserved",
4087
3906
  ];
4088
3907
  GenericSqlParser._serializedATN = [
4089
- 4, 1, 122, 826, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6,
3908
+ 4, 1, 122, 801, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6,
4090
3909
  7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7,
4091
3910
  13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2,
4092
3911
  20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7,
@@ -4094,315 +3913,305 @@ GenericSqlParser._serializedATN = [
4094
3913
  33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7,
4095
3914
  39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2,
4096
3915
  46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7,
4097
- 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 1, 0, 5, 0, 118,
4098
- 8, 0, 10, 0, 12, 0, 121, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 3, 2, 129, 8, 2, 1, 3, 1,
4099
- 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 138, 8, 3, 1, 4, 3, 4, 141, 8, 4, 1, 4, 1, 4, 1, 5, 1,
4100
- 5, 3, 5, 147, 8, 5, 1, 5, 1, 5, 1, 5, 5, 5, 152, 8, 5, 10, 5, 12, 5, 155, 9, 5, 1, 6, 1, 6,
4101
- 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 3, 7, 166, 8, 7, 1, 7, 5, 7, 169, 8, 7, 10, 7, 12,
4102
- 7, 172, 9, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 181, 8, 9, 1, 10, 1, 10, 3, 10,
4103
- 185, 8, 10, 1, 10, 1, 10, 1, 10, 5, 10, 190, 8, 10, 10, 10, 12, 10, 193, 9, 10, 1, 10,
4104
- 3, 10, 196, 8, 10, 1, 10, 3, 10, 199, 8, 10, 1, 10, 3, 10, 202, 8, 10, 1, 10, 3, 10, 205,
4105
- 8, 10, 1, 10, 3, 10, 208, 8, 10, 1, 10, 3, 10, 211, 8, 10, 1, 11, 1, 11, 1, 12, 1, 12, 3,
4106
- 12, 217, 8, 12, 1, 12, 3, 12, 220, 8, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12,
4107
- 3, 12, 229, 8, 12, 1, 13, 1, 13, 1, 13, 1, 13, 5, 13, 235, 8, 13, 10, 13, 12, 13, 238,
4108
- 9, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 250,
4109
- 8, 14, 10, 14, 12, 14, 253, 9, 14, 1, 15, 3, 15, 256, 8, 15, 1, 15, 1, 15, 3, 15, 260,
4110
- 8, 15, 1, 15, 1, 15, 3, 15, 264, 8, 15, 1, 15, 1, 15, 3, 15, 268, 8, 15, 1, 15, 3, 15, 271,
4111
- 8, 15, 1, 16, 1, 16, 3, 16, 275, 8, 16, 1, 16, 3, 16, 278, 8, 16, 1, 17, 1, 17, 1, 17, 1,
4112
- 17, 1, 17, 3, 17, 285, 8, 17, 1, 18, 1, 18, 1, 18, 3, 18, 290, 8, 18, 1, 19, 1, 19, 1, 19,
4113
- 3, 19, 295, 8, 19, 1, 19, 1, 19, 1, 19, 5, 19, 300, 8, 19, 10, 19, 12, 19, 303, 9, 19,
4114
- 1, 20, 1, 20, 1, 20, 3, 20, 308, 8, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 5, 21, 315, 8,
4115
- 21, 10, 21, 12, 21, 318, 9, 21, 1, 22, 1, 22, 3, 22, 322, 8, 22, 1, 22, 1, 22, 3, 22, 326,
4116
- 8, 22, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 332, 8, 23, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24,
4117
- 338, 8, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 5, 25, 346, 8, 25, 10, 25, 12, 25,
4118
- 349, 9, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 5, 26, 359, 8, 26, 10,
4119
- 26, 12, 26, 362, 9, 26, 1, 26, 3, 26, 365, 8, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1,
4120
- 28, 1, 28, 1, 28, 3, 28, 375, 8, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 3, 29, 382, 8, 29,
4121
- 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 5, 29, 389, 8, 29, 10, 29, 12, 29, 392, 9, 29, 1, 29,
4122
- 1, 29, 1, 29, 3, 29, 397, 8, 29, 1, 30, 1, 30, 3, 30, 401, 8, 30, 1, 31, 1, 31, 1, 31, 1,
4123
- 31, 3, 31, 407, 8, 31, 1, 31, 1, 31, 3, 31, 411, 8, 31, 1, 31, 1, 31, 3, 31, 415, 8, 31,
4124
- 1, 32, 1, 32, 1, 33, 1, 33, 3, 33, 421, 8, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33,
4125
- 5, 33, 429, 8, 33, 10, 33, 12, 33, 432, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33,
4126
- 1, 33, 5, 33, 441, 8, 33, 10, 33, 12, 33, 444, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33,
4127
- 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 459, 8, 33, 10, 33, 12, 33,
4128
- 462, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 471, 8, 33, 10, 33,
4129
- 12, 33, 474, 9, 33, 1, 33, 1, 33, 3, 33, 478, 8, 33, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34,
4130
- 484, 8, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 492, 8, 34, 1, 34, 1, 34, 1,
4131
- 34, 1, 34, 1, 34, 3, 34, 499, 8, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1,
4132
- 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 518, 8, 34, 1,
4133
- 35, 1, 35, 1, 35, 1, 35, 3, 35, 524, 8, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1,
4134
- 37, 1, 37, 3, 37, 534, 8, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 5, 37, 542, 8, 37,
4135
- 10, 37, 12, 37, 545, 9, 37, 1, 38, 1, 38, 3, 38, 549, 8, 38, 1, 39, 1, 39, 1, 39, 1, 39,
4136
- 3, 39, 555, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 5, 39, 562, 8, 39, 10, 39, 12, 39,
4137
- 565, 9, 39, 1, 39, 1, 39, 1, 39, 3, 39, 570, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1,
4138
- 39, 3, 39, 578, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 3, 39, 586, 8, 39, 1, 39,
4139
- 1, 39, 1, 39, 1, 39, 3, 39, 592, 8, 39, 1, 39, 1, 39, 3, 39, 596, 8, 39, 1, 39, 1, 39, 1,
4140
- 39, 3, 39, 601, 8, 39, 1, 39, 1, 39, 1, 39, 3, 39, 606, 8, 39, 1, 40, 1, 40, 1, 41, 1, 41,
4141
- 1, 41, 1, 41, 3, 41, 614, 8, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41,
4142
- 1, 41, 5, 41, 625, 8, 41, 10, 41, 12, 41, 628, 9, 41, 1, 42, 1, 42, 1, 42, 1, 42, 3, 42,
4143
- 634, 8, 42, 1, 42, 1, 42, 1, 42, 5, 42, 639, 8, 42, 10, 42, 12, 42, 642, 9, 42, 3, 42,
4144
- 644, 8, 42, 1, 42, 1, 42, 1, 42, 1, 42, 4, 42, 650, 8, 42, 11, 42, 12, 42, 651, 1, 42,
4145
- 1, 42, 3, 42, 656, 8, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 4, 42, 663, 8, 42, 11, 42,
4146
- 12, 42, 664, 1, 42, 1, 42, 3, 42, 669, 8, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42,
4147
- 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 5, 42, 685, 8, 42, 10, 42, 12, 42,
4148
- 688, 9, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42,
4149
- 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 3, 42, 710, 8, 42, 1, 43,
4150
- 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45,
4151
- 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 734, 8, 45, 1, 45, 3, 45,
4152
- 737, 8, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 744, 8, 45, 1, 45, 3, 45, 747, 8,
4153
- 45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 753, 8, 45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 759,
4154
- 8, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 767, 8, 45, 1, 46, 1, 46, 1, 46,
4155
- 1, 46, 5, 46, 773, 8, 46, 10, 46, 12, 46, 776, 9, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47,
4156
- 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 3, 48, 792, 8, 48, 1, 49,
4157
- 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 799, 8, 49, 1, 50, 1, 50, 1, 50, 5, 50, 804, 8, 50, 10,
4158
- 50, 12, 50, 807, 9, 50, 1, 51, 1, 51, 1, 51, 3, 51, 812, 8, 51, 1, 52, 1, 52, 1, 53, 1,
4159
- 53, 1, 54, 1, 54, 1, 55, 1, 55, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 0, 3, 28, 74, 82, 58,
4160
- 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44,
4161
- 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88,
4162
- 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 0, 8, 3, 0, 36, 36, 52,
4163
- 52, 87, 87, 2, 0, 6, 6, 30, 30, 2, 0, 10, 10, 29, 29, 2, 0, 39, 39, 57, 57, 1, 0, 95, 100,
4164
- 1, 0, 101, 102, 1, 0, 103, 105, 22, 0, 5, 6, 10, 10, 12, 15, 18, 18, 20, 21, 24, 27, 29,
4165
- 29, 31, 31, 38, 40, 43, 43, 46, 46, 50, 51, 56, 58, 60, 60, 63, 66, 70, 70, 75, 75, 78,
4166
- 78, 80, 80, 82, 86, 88, 88, 90, 91, 920, 0, 119, 1, 0, 0, 0, 2, 124, 1, 0, 0, 0, 4, 126,
4167
- 1, 0, 0, 0, 6, 137, 1, 0, 0, 0, 8, 140, 1, 0, 0, 0, 10, 144, 1, 0, 0, 0, 12, 156, 1, 0, 0,
4168
- 0, 14, 162, 1, 0, 0, 0, 16, 173, 1, 0, 0, 0, 18, 180, 1, 0, 0, 0, 20, 182, 1, 0, 0, 0, 22,
4169
- 212, 1, 0, 0, 0, 24, 228, 1, 0, 0, 0, 26, 230, 1, 0, 0, 0, 28, 239, 1, 0, 0, 0, 30, 270,
4170
- 1, 0, 0, 0, 32, 272, 1, 0, 0, 0, 34, 284, 1, 0, 0, 0, 36, 286, 1, 0, 0, 0, 38, 291, 1, 0,
4171
- 0, 0, 40, 304, 1, 0, 0, 0, 42, 309, 1, 0, 0, 0, 44, 319, 1, 0, 0, 0, 46, 327, 1, 0, 0, 0,
4172
- 48, 333, 1, 0, 0, 0, 50, 341, 1, 0, 0, 0, 52, 352, 1, 0, 0, 0, 54, 366, 1, 0, 0, 0, 56, 370,
4173
- 1, 0, 0, 0, 58, 376, 1, 0, 0, 0, 60, 400, 1, 0, 0, 0, 62, 402, 1, 0, 0, 0, 64, 416, 1, 0,
4174
- 0, 0, 66, 420, 1, 0, 0, 0, 68, 479, 1, 0, 0, 0, 70, 519, 1, 0, 0, 0, 72, 527, 1, 0, 0, 0,
4175
- 74, 533, 1, 0, 0, 0, 76, 546, 1, 0, 0, 0, 78, 605, 1, 0, 0, 0, 80, 607, 1, 0, 0, 0, 82, 613,
4176
- 1, 0, 0, 0, 84, 709, 1, 0, 0, 0, 86, 711, 1, 0, 0, 0, 88, 716, 1, 0, 0, 0, 90, 766, 1, 0,
4177
- 0, 0, 92, 768, 1, 0, 0, 0, 94, 779, 1, 0, 0, 0, 96, 791, 1, 0, 0, 0, 98, 798, 1, 0, 0, 0,
4178
- 100, 800, 1, 0, 0, 0, 102, 811, 1, 0, 0, 0, 104, 813, 1, 0, 0, 0, 106, 815, 1, 0, 0, 0,
4179
- 108, 817, 1, 0, 0, 0, 110, 819, 1, 0, 0, 0, 112, 821, 1, 0, 0, 0, 114, 823, 1, 0, 0, 0,
4180
- 116, 118, 3, 2, 1, 0, 117, 116, 1, 0, 0, 0, 118, 121, 1, 0, 0, 0, 119, 117, 1, 0, 0, 0,
4181
- 119, 120, 1, 0, 0, 0, 120, 122, 1, 0, 0, 0, 121, 119, 1, 0, 0, 0, 122, 123, 5, 0, 0, 1,
4182
- 123, 1, 1, 0, 0, 0, 124, 125, 3, 4, 2, 0, 125, 3, 1, 0, 0, 0, 126, 128, 3, 6, 3, 0, 127,
4183
- 129, 5, 108, 0, 0, 128, 127, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 5, 1, 0, 0, 0, 130,
4184
- 138, 3, 8, 4, 0, 131, 138, 3, 48, 24, 0, 132, 138, 3, 52, 26, 0, 133, 138, 3, 56, 28,
4185
- 0, 134, 138, 3, 58, 29, 0, 135, 138, 3, 68, 34, 0, 136, 138, 3, 70, 35, 0, 137, 130,
4186
- 1, 0, 0, 0, 137, 131, 1, 0, 0, 0, 137, 132, 1, 0, 0, 0, 137, 133, 1, 0, 0, 0, 137, 134,
4187
- 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 136, 1, 0, 0, 0, 138, 7, 1, 0, 0, 0, 139, 141, 3,
4188
- 10, 5, 0, 140, 139, 1, 0, 0, 0, 140, 141, 1, 0, 0, 0, 141, 142, 1, 0, 0, 0, 142, 143, 3,
4189
- 14, 7, 0, 143, 9, 1, 0, 0, 0, 144, 146, 5, 94, 0, 0, 145, 147, 5, 72, 0, 0, 146, 145, 1,
4190
- 0, 0, 0, 146, 147, 1, 0, 0, 0, 147, 148, 1, 0, 0, 0, 148, 153, 3, 12, 6, 0, 149, 150, 5,
4191
- 1, 0, 0, 150, 152, 3, 12, 6, 0, 151, 149, 1, 0, 0, 0, 152, 155, 1, 0, 0, 0, 153, 151, 1,
4192
- 0, 0, 0, 153, 154, 1, 0, 0, 0, 154, 11, 1, 0, 0, 0, 155, 153, 1, 0, 0, 0, 156, 157, 3, 98,
4193
- 49, 0, 157, 158, 5, 9, 0, 0, 158, 159, 5, 2, 0, 0, 159, 160, 3, 8, 4, 0, 160, 161, 5, 3,
4194
- 0, 0, 161, 13, 1, 0, 0, 0, 162, 170, 3, 16, 8, 0, 163, 165, 7, 0, 0, 0, 164, 166, 5, 6,
4195
- 0, 0, 165, 164, 1, 0, 0, 0, 165, 166, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 169, 3, 16,
4196
- 8, 0, 168, 163, 1, 0, 0, 0, 169, 172, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 170, 171, 1, 0,
4197
- 0, 0, 171, 15, 1, 0, 0, 0, 172, 170, 1, 0, 0, 0, 173, 174, 3, 18, 9, 0, 174, 17, 1, 0, 0,
4198
- 0, 175, 181, 3, 20, 10, 0, 176, 177, 5, 2, 0, 0, 177, 178, 3, 8, 4, 0, 178, 179, 5, 3,
4199
- 0, 0, 179, 181, 1, 0, 0, 0, 180, 175, 1, 0, 0, 0, 180, 176, 1, 0, 0, 0, 181, 19, 1, 0, 0,
4200
- 0, 182, 184, 5, 76, 0, 0, 183, 185, 3, 22, 11, 0, 184, 183, 1, 0, 0, 0, 184, 185, 1, 0,
4201
- 0, 0, 185, 186, 1, 0, 0, 0, 186, 191, 3, 24, 12, 0, 187, 188, 5, 1, 0, 0, 188, 190, 3,
4202
- 24, 12, 0, 189, 187, 1, 0, 0, 0, 190, 193, 1, 0, 0, 0, 191, 189, 1, 0, 0, 0, 191, 192,
4203
- 1, 0, 0, 0, 192, 195, 1, 0, 0, 0, 193, 191, 1, 0, 0, 0, 194, 196, 3, 26, 13, 0, 195, 194,
4204
- 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 198, 1, 0, 0, 0, 197, 199, 3, 36, 18, 0, 198, 197,
4205
- 1, 0, 0, 0, 198, 199, 1, 0, 0, 0, 199, 201, 1, 0, 0, 0, 200, 202, 3, 38, 19, 0, 201, 200,
4206
- 1, 0, 0, 0, 201, 202, 1, 0, 0, 0, 202, 204, 1, 0, 0, 0, 203, 205, 3, 40, 20, 0, 204, 203,
4207
- 1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 207, 1, 0, 0, 0, 206, 208, 3, 42, 21, 0, 207, 206,
4208
- 1, 0, 0, 0, 207, 208, 1, 0, 0, 0, 208, 210, 1, 0, 0, 0, 209, 211, 3, 46, 23, 0, 210, 209,
4209
- 1, 0, 0, 0, 210, 211, 1, 0, 0, 0, 211, 21, 1, 0, 0, 0, 212, 213, 7, 1, 0, 0, 213, 23, 1,
4210
- 0, 0, 0, 214, 219, 3, 72, 36, 0, 215, 217, 5, 9, 0, 0, 216, 215, 1, 0, 0, 0, 216, 217,
4211
- 1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 220, 3, 98, 49, 0, 219, 216, 1, 0, 0, 0, 219, 220,
4212
- 1, 0, 0, 0, 220, 229, 1, 0, 0, 0, 221, 222, 3, 100, 50, 0, 222, 223, 5, 4, 0, 0, 223, 224,
4213
- 5, 103, 0, 0, 224, 229, 1, 0, 0, 0, 225, 229, 5, 103, 0, 0, 226, 227, 4, 12, 0, 0, 227,
4214
- 229, 3, 106, 53, 0, 228, 214, 1, 0, 0, 0, 228, 221, 1, 0, 0, 0, 228, 225, 1, 0, 0, 0, 228,
4215
- 226, 1, 0, 0, 0, 229, 25, 1, 0, 0, 0, 230, 231, 5, 42, 0, 0, 231, 236, 3, 28, 14, 0, 232,
4216
- 233, 5, 1, 0, 0, 233, 235, 3, 28, 14, 0, 234, 232, 1, 0, 0, 0, 235, 238, 1, 0, 0, 0, 236,
4217
- 234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 27, 1, 0, 0, 0, 238, 236, 1, 0, 0, 0, 239, 240,
4218
- 6, 14, -1, 0, 240, 241, 3, 32, 16, 0, 241, 251, 1, 0, 0, 0, 242, 243, 10, 2, 0, 0, 243,
4219
- 244, 3, 30, 15, 0, 244, 245, 5, 55, 0, 0, 245, 246, 3, 28, 14, 0, 246, 247, 5, 67, 0,
4220
- 0, 247, 248, 3, 72, 36, 0, 248, 250, 1, 0, 0, 0, 249, 242, 1, 0, 0, 0, 250, 253, 1, 0,
4221
- 0, 0, 251, 249, 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252, 29, 1, 0, 0, 0, 253, 251, 1, 0, 0,
4222
- 0, 254, 256, 5, 48, 0, 0, 255, 254, 1, 0, 0, 0, 255, 256, 1, 0, 0, 0, 256, 271, 1, 0, 0,
4223
- 0, 257, 259, 5, 58, 0, 0, 258, 260, 5, 70, 0, 0, 259, 258, 1, 0, 0, 0, 259, 260, 1, 0,
4224
- 0, 0, 260, 271, 1, 0, 0, 0, 261, 263, 5, 75, 0, 0, 262, 264, 5, 70, 0, 0, 263, 262, 1,
4225
- 0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 271, 1, 0, 0, 0, 265, 267, 5, 43, 0, 0, 266, 268, 5,
4226
- 70, 0, 0, 267, 266, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 271, 1, 0, 0, 0, 269, 271, 5,
4227
- 24, 0, 0, 270, 255, 1, 0, 0, 0, 270, 257, 1, 0, 0, 0, 270, 261, 1, 0, 0, 0, 270, 265, 1,
4228
- 0, 0, 0, 270, 269, 1, 0, 0, 0, 271, 31, 1, 0, 0, 0, 272, 277, 3, 34, 17, 0, 273, 275, 5,
4229
- 9, 0, 0, 274, 273, 1, 0, 0, 0, 274, 275, 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 278, 3,
4230
- 98, 49, 0, 277, 274, 1, 0, 0, 0, 277, 278, 1, 0, 0, 0, 278, 33, 1, 0, 0, 0, 279, 285, 3,
4231
- 108, 54, 0, 280, 281, 5, 2, 0, 0, 281, 282, 3, 8, 4, 0, 282, 283, 5, 3, 0, 0, 283, 285,
4232
- 1, 0, 0, 0, 284, 279, 1, 0, 0, 0, 284, 280, 1, 0, 0, 0, 285, 35, 1, 0, 0, 0, 286, 289, 5,
4233
- 93, 0, 0, 287, 290, 3, 72, 36, 0, 288, 290, 3, 106, 53, 0, 289, 287, 1, 0, 0, 0, 289,
4234
- 288, 1, 0, 0, 0, 290, 37, 1, 0, 0, 0, 291, 292, 5, 44, 0, 0, 292, 294, 5, 15, 0, 0, 293,
4235
- 295, 3, 22, 11, 0, 294, 293, 1, 0, 0, 0, 294, 295, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296,
4236
- 301, 3, 72, 36, 0, 297, 298, 5, 1, 0, 0, 298, 300, 3, 72, 36, 0, 299, 297, 1, 0, 0, 0,
4237
- 300, 303, 1, 0, 0, 0, 301, 299, 1, 0, 0, 0, 301, 302, 1, 0, 0, 0, 302, 39, 1, 0, 0, 0, 303,
4238
- 301, 1, 0, 0, 0, 304, 307, 5, 45, 0, 0, 305, 308, 3, 72, 36, 0, 306, 308, 3, 106, 53,
4239
- 0, 307, 305, 1, 0, 0, 0, 307, 306, 1, 0, 0, 0, 308, 41, 1, 0, 0, 0, 309, 310, 5, 69, 0,
4240
- 0, 310, 311, 5, 15, 0, 0, 311, 316, 3, 44, 22, 0, 312, 313, 5, 1, 0, 0, 313, 315, 3, 44,
4241
- 22, 0, 314, 312, 1, 0, 0, 0, 315, 318, 1, 0, 0, 0, 316, 314, 1, 0, 0, 0, 316, 317, 1, 0,
4242
- 0, 0, 317, 43, 1, 0, 0, 0, 318, 316, 1, 0, 0, 0, 319, 321, 3, 72, 36, 0, 320, 322, 7, 2,
4243
- 0, 0, 321, 320, 1, 0, 0, 0, 321, 322, 1, 0, 0, 0, 322, 325, 1, 0, 0, 0, 323, 324, 5, 64,
4244
- 0, 0, 324, 326, 7, 3, 0, 0, 325, 323, 1, 0, 0, 0, 325, 326, 1, 0, 0, 0, 326, 45, 1, 0, 0,
4245
- 0, 327, 328, 5, 60, 0, 0, 328, 331, 3, 72, 36, 0, 329, 330, 5, 66, 0, 0, 330, 332, 3,
4246
- 72, 36, 0, 331, 329, 1, 0, 0, 0, 331, 332, 1, 0, 0, 0, 332, 47, 1, 0, 0, 0, 333, 334, 5,
4247
- 49, 0, 0, 334, 335, 5, 53, 0, 0, 335, 337, 3, 108, 54, 0, 336, 338, 3, 50, 25, 0, 337,
4248
- 336, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 339, 1, 0, 0, 0, 339, 340, 3, 8, 4, 0, 340,
4249
- 49, 1, 0, 0, 0, 341, 342, 5, 2, 0, 0, 342, 347, 3, 102, 51, 0, 343, 344, 5, 1, 0, 0, 344,
4250
- 346, 3, 102, 51, 0, 345, 343, 1, 0, 0, 0, 346, 349, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 347,
4251
- 348, 1, 0, 0, 0, 348, 350, 1, 0, 0, 0, 349, 347, 1, 0, 0, 0, 350, 351, 5, 3, 0, 0, 351,
4252
- 51, 1, 0, 0, 0, 352, 353, 5, 89, 0, 0, 353, 354, 3, 108, 54, 0, 354, 355, 5, 77, 0, 0,
4253
- 355, 360, 3, 54, 27, 0, 356, 357, 5, 1, 0, 0, 357, 359, 3, 54, 27, 0, 358, 356, 1, 0,
4254
- 0, 0, 359, 362, 1, 0, 0, 0, 360, 358, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 364, 1, 0,
4255
- 0, 0, 362, 360, 1, 0, 0, 0, 363, 365, 3, 36, 18, 0, 364, 363, 1, 0, 0, 0, 364, 365, 1,
4256
- 0, 0, 0, 365, 53, 1, 0, 0, 0, 366, 367, 3, 102, 51, 0, 367, 368, 5, 95, 0, 0, 368, 369,
4257
- 3, 72, 36, 0, 369, 55, 1, 0, 0, 0, 370, 371, 5, 28, 0, 0, 371, 372, 5, 42, 0, 0, 372, 374,
4258
- 3, 108, 54, 0, 373, 375, 3, 36, 18, 0, 374, 373, 1, 0, 0, 0, 374, 375, 1, 0, 0, 0, 375,
4259
- 57, 1, 0, 0, 0, 376, 377, 5, 23, 0, 0, 377, 381, 5, 79, 0, 0, 378, 379, 5, 46, 0, 0, 379,
4260
- 380, 5, 61, 0, 0, 380, 382, 5, 37, 0, 0, 381, 378, 1, 0, 0, 0, 381, 382, 1, 0, 0, 0, 382,
4261
- 383, 1, 0, 0, 0, 383, 384, 3, 110, 55, 0, 384, 385, 5, 2, 0, 0, 385, 390, 3, 60, 30, 0,
4262
- 386, 387, 5, 1, 0, 0, 387, 389, 3, 60, 30, 0, 388, 386, 1, 0, 0, 0, 389, 392, 1, 0, 0,
4263
- 0, 390, 388, 1, 0, 0, 0, 390, 391, 1, 0, 0, 0, 391, 393, 1, 0, 0, 0, 392, 390, 1, 0, 0,
4264
- 0, 393, 396, 5, 3, 0, 0, 394, 395, 5, 94, 0, 0, 395, 397, 3, 92, 46, 0, 396, 394, 1, 0,
4265
- 0, 0, 396, 397, 1, 0, 0, 0, 397, 59, 1, 0, 0, 0, 398, 401, 3, 62, 31, 0, 399, 401, 3, 66,
4266
- 33, 0, 400, 398, 1, 0, 0, 0, 400, 399, 1, 0, 0, 0, 401, 61, 1, 0, 0, 0, 402, 403, 3, 64,
4267
- 32, 0, 403, 406, 3, 90, 45, 0, 404, 405, 5, 61, 0, 0, 405, 407, 5, 62, 0, 0, 406, 404,
4268
- 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 410, 1, 0, 0, 0, 408, 409, 5, 27, 0, 0, 409, 411,
4269
- 3, 72, 36, 0, 410, 408, 1, 0, 0, 0, 410, 411, 1, 0, 0, 0, 411, 414, 1, 0, 0, 0, 412, 413,
4270
- 5, 71, 0, 0, 413, 415, 5, 56, 0, 0, 414, 412, 1, 0, 0, 0, 414, 415, 1, 0, 0, 0, 415, 63,
4271
- 1, 0, 0, 0, 416, 417, 3, 98, 49, 0, 417, 65, 1, 0, 0, 0, 418, 419, 5, 22, 0, 0, 419, 421,
4272
- 3, 98, 49, 0, 420, 418, 1, 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 477, 1, 0, 0, 0, 422, 423,
4273
- 5, 71, 0, 0, 423, 424, 5, 56, 0, 0, 424, 425, 5, 2, 0, 0, 425, 430, 3, 102, 51, 0, 426,
4274
- 427, 5, 1, 0, 0, 427, 429, 3, 102, 51, 0, 428, 426, 1, 0, 0, 0, 429, 432, 1, 0, 0, 0, 430,
4275
- 428, 1, 0, 0, 0, 430, 431, 1, 0, 0, 0, 431, 433, 1, 0, 0, 0, 432, 430, 1, 0, 0, 0, 433,
4276
- 434, 5, 3, 0, 0, 434, 478, 1, 0, 0, 0, 435, 436, 5, 88, 0, 0, 436, 437, 5, 2, 0, 0, 437,
4277
- 442, 3, 102, 51, 0, 438, 439, 5, 1, 0, 0, 439, 441, 3, 102, 51, 0, 440, 438, 1, 0, 0,
4278
- 0, 441, 444, 1, 0, 0, 0, 442, 440, 1, 0, 0, 0, 442, 443, 1, 0, 0, 0, 443, 445, 1, 0, 0,
4279
- 0, 444, 442, 1, 0, 0, 0, 445, 446, 5, 3, 0, 0, 446, 478, 1, 0, 0, 0, 447, 448, 5, 19, 0,
4280
- 0, 448, 449, 5, 2, 0, 0, 449, 450, 3, 72, 36, 0, 450, 451, 5, 3, 0, 0, 451, 478, 1, 0,
4281
- 0, 0, 452, 453, 5, 41, 0, 0, 453, 454, 5, 56, 0, 0, 454, 455, 5, 2, 0, 0, 455, 460, 3,
4282
- 102, 51, 0, 456, 457, 5, 1, 0, 0, 457, 459, 3, 102, 51, 0, 458, 456, 1, 0, 0, 0, 459,
4283
- 462, 1, 0, 0, 0, 460, 458, 1, 0, 0, 0, 460, 461, 1, 0, 0, 0, 461, 463, 1, 0, 0, 0, 462,
4284
- 460, 1, 0, 0, 0, 463, 464, 5, 3, 0, 0, 464, 465, 5, 73, 0, 0, 465, 466, 3, 108, 54, 0,
4285
- 466, 467, 5, 2, 0, 0, 467, 472, 3, 102, 51, 0, 468, 469, 5, 1, 0, 0, 469, 471, 3, 102,
4286
- 51, 0, 470, 468, 1, 0, 0, 0, 471, 474, 1, 0, 0, 0, 472, 470, 1, 0, 0, 0, 472, 473, 1, 0,
4287
- 0, 0, 473, 475, 1, 0, 0, 0, 474, 472, 1, 0, 0, 0, 475, 476, 5, 3, 0, 0, 476, 478, 1, 0,
4288
- 0, 0, 477, 422, 1, 0, 0, 0, 477, 435, 1, 0, 0, 0, 477, 447, 1, 0, 0, 0, 477, 452, 1, 0,
4289
- 0, 0, 478, 67, 1, 0, 0, 0, 479, 480, 5, 7, 0, 0, 480, 483, 5, 79, 0, 0, 481, 482, 5, 46,
4290
- 0, 0, 482, 484, 5, 37, 0, 0, 483, 481, 1, 0, 0, 0, 483, 484, 1, 0, 0, 0, 484, 485, 1, 0,
4291
- 0, 0, 485, 517, 3, 108, 54, 0, 486, 487, 5, 5, 0, 0, 487, 491, 5, 21, 0, 0, 488, 489,
4292
- 5, 46, 0, 0, 489, 490, 5, 61, 0, 0, 490, 492, 5, 37, 0, 0, 491, 488, 1, 0, 0, 0, 491, 492,
4293
- 1, 0, 0, 0, 492, 493, 1, 0, 0, 0, 493, 518, 3, 62, 31, 0, 494, 495, 5, 32, 0, 0, 495, 498,
4294
- 5, 21, 0, 0, 496, 497, 5, 46, 0, 0, 497, 499, 5, 37, 0, 0, 498, 496, 1, 0, 0, 0, 498, 499,
4295
- 1, 0, 0, 0, 499, 500, 1, 0, 0, 0, 500, 518, 3, 102, 51, 0, 501, 502, 5, 74, 0, 0, 502,
4296
- 503, 5, 85, 0, 0, 503, 518, 3, 110, 55, 0, 504, 505, 5, 7, 0, 0, 505, 506, 5, 21, 0, 0,
4297
- 506, 507, 3, 102, 51, 0, 507, 508, 5, 77, 0, 0, 508, 509, 5, 27, 0, 0, 509, 510, 3, 72,
4298
- 36, 0, 510, 518, 1, 0, 0, 0, 511, 512, 5, 7, 0, 0, 512, 513, 5, 21, 0, 0, 513, 514, 3,
4299
- 102, 51, 0, 514, 515, 5, 32, 0, 0, 515, 516, 5, 27, 0, 0, 516, 518, 1, 0, 0, 0, 517, 486,
4300
- 1, 0, 0, 0, 517, 494, 1, 0, 0, 0, 517, 501, 1, 0, 0, 0, 517, 504, 1, 0, 0, 0, 517, 511,
4301
- 1, 0, 0, 0, 518, 69, 1, 0, 0, 0, 519, 520, 5, 32, 0, 0, 520, 523, 5, 79, 0, 0, 521, 522,
4302
- 5, 46, 0, 0, 522, 524, 5, 37, 0, 0, 523, 521, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 525,
4303
- 1, 0, 0, 0, 525, 526, 3, 108, 54, 0, 526, 71, 1, 0, 0, 0, 527, 528, 3, 74, 37, 0, 528,
4304
- 73, 1, 0, 0, 0, 529, 530, 6, 37, -1, 0, 530, 534, 3, 76, 38, 0, 531, 532, 5, 61, 0, 0,
4305
- 532, 534, 3, 74, 37, 3, 533, 529, 1, 0, 0, 0, 533, 531, 1, 0, 0, 0, 534, 543, 1, 0, 0,
4306
- 0, 535, 536, 10, 2, 0, 0, 536, 537, 5, 8, 0, 0, 537, 542, 3, 74, 37, 3, 538, 539, 10,
4307
- 1, 0, 0, 539, 540, 5, 68, 0, 0, 540, 542, 3, 74, 37, 2, 541, 535, 1, 0, 0, 0, 541, 538,
4308
- 1, 0, 0, 0, 542, 545, 1, 0, 0, 0, 543, 541, 1, 0, 0, 0, 543, 544, 1, 0, 0, 0, 544, 75, 1,
4309
- 0, 0, 0, 545, 543, 1, 0, 0, 0, 546, 548, 3, 82, 41, 0, 547, 549, 3, 78, 39, 0, 548, 547,
4310
- 1, 0, 0, 0, 548, 549, 1, 0, 0, 0, 549, 77, 1, 0, 0, 0, 550, 551, 3, 80, 40, 0, 551, 552,
4311
- 3, 82, 41, 0, 552, 606, 1, 0, 0, 0, 553, 555, 5, 61, 0, 0, 554, 553, 1, 0, 0, 0, 554, 555,
4312
- 1, 0, 0, 0, 555, 556, 1, 0, 0, 0, 556, 557, 5, 47, 0, 0, 557, 558, 5, 2, 0, 0, 558, 563,
4313
- 3, 72, 36, 0, 559, 560, 5, 1, 0, 0, 560, 562, 3, 72, 36, 0, 561, 559, 1, 0, 0, 0, 562,
4314
- 565, 1, 0, 0, 0, 563, 561, 1, 0, 0, 0, 563, 564, 1, 0, 0, 0, 564, 566, 1, 0, 0, 0, 565,
4315
- 563, 1, 0, 0, 0, 566, 567, 5, 3, 0, 0, 567, 606, 1, 0, 0, 0, 568, 570, 5, 61, 0, 0, 569,
4316
- 568, 1, 0, 0, 0, 569, 570, 1, 0, 0, 0, 570, 571, 1, 0, 0, 0, 571, 572, 5, 47, 0, 0, 572,
4317
- 573, 5, 2, 0, 0, 573, 574, 3, 8, 4, 0, 574, 575, 5, 3, 0, 0, 575, 606, 1, 0, 0, 0, 576,
4318
- 578, 5, 61, 0, 0, 577, 576, 1, 0, 0, 0, 577, 578, 1, 0, 0, 0, 578, 579, 1, 0, 0, 0, 579,
4319
- 580, 5, 11, 0, 0, 580, 581, 3, 82, 41, 0, 581, 582, 5, 8, 0, 0, 582, 583, 3, 82, 41, 0,
4320
- 583, 606, 1, 0, 0, 0, 584, 586, 5, 61, 0, 0, 585, 584, 1, 0, 0, 0, 585, 586, 1, 0, 0, 0,
4321
- 586, 587, 1, 0, 0, 0, 587, 588, 5, 59, 0, 0, 588, 591, 3, 82, 41, 0, 589, 590, 5, 35,
4322
- 0, 0, 590, 592, 3, 82, 41, 0, 591, 589, 1, 0, 0, 0, 591, 592, 1, 0, 0, 0, 592, 606, 1,
4323
- 0, 0, 0, 593, 595, 5, 54, 0, 0, 594, 596, 5, 61, 0, 0, 595, 594, 1, 0, 0, 0, 595, 596,
4324
- 1, 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 606, 5, 62, 0, 0, 598, 600, 5, 54, 0, 0, 599, 601,
4325
- 5, 61, 0, 0, 600, 599, 1, 0, 0, 0, 600, 601, 1, 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 603,
4326
- 5, 30, 0, 0, 603, 604, 5, 42, 0, 0, 604, 606, 3, 82, 41, 0, 605, 550, 1, 0, 0, 0, 605,
4327
- 554, 1, 0, 0, 0, 605, 569, 1, 0, 0, 0, 605, 577, 1, 0, 0, 0, 605, 585, 1, 0, 0, 0, 605,
4328
- 593, 1, 0, 0, 0, 605, 598, 1, 0, 0, 0, 606, 79, 1, 0, 0, 0, 607, 608, 7, 4, 0, 0, 608, 81,
4329
- 1, 0, 0, 0, 609, 610, 6, 41, -1, 0, 610, 614, 3, 84, 42, 0, 611, 612, 7, 5, 0, 0, 612,
4330
- 614, 3, 82, 41, 4, 613, 609, 1, 0, 0, 0, 613, 611, 1, 0, 0, 0, 614, 626, 1, 0, 0, 0, 615,
4331
- 616, 10, 3, 0, 0, 616, 617, 7, 6, 0, 0, 617, 625, 3, 82, 41, 4, 618, 619, 10, 2, 0, 0,
4332
- 619, 620, 7, 5, 0, 0, 620, 625, 3, 82, 41, 3, 621, 622, 10, 1, 0, 0, 622, 623, 5, 106,
4333
- 0, 0, 623, 625, 3, 82, 41, 2, 624, 615, 1, 0, 0, 0, 624, 618, 1, 0, 0, 0, 624, 621, 1,
4334
- 0, 0, 0, 625, 628, 1, 0, 0, 0, 626, 624, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 83, 1, 0,
4335
- 0, 0, 628, 626, 1, 0, 0, 0, 629, 710, 3, 96, 48, 0, 630, 631, 3, 112, 56, 0, 631, 643,
4336
- 5, 2, 0, 0, 632, 634, 3, 22, 11, 0, 633, 632, 1, 0, 0, 0, 633, 634, 1, 0, 0, 0, 634, 635,
4337
- 1, 0, 0, 0, 635, 640, 3, 72, 36, 0, 636, 637, 5, 1, 0, 0, 637, 639, 3, 72, 36, 0, 638,
4338
- 636, 1, 0, 0, 0, 639, 642, 1, 0, 0, 0, 640, 638, 1, 0, 0, 0, 640, 641, 1, 0, 0, 0, 641,
4339
- 644, 1, 0, 0, 0, 642, 640, 1, 0, 0, 0, 643, 633, 1, 0, 0, 0, 643, 644, 1, 0, 0, 0, 644,
4340
- 645, 1, 0, 0, 0, 645, 646, 5, 3, 0, 0, 646, 710, 1, 0, 0, 0, 647, 649, 5, 16, 0, 0, 648,
4341
- 650, 3, 86, 43, 0, 649, 648, 1, 0, 0, 0, 650, 651, 1, 0, 0, 0, 651, 649, 1, 0, 0, 0, 651,
4342
- 652, 1, 0, 0, 0, 652, 655, 1, 0, 0, 0, 653, 654, 5, 33, 0, 0, 654, 656, 3, 72, 36, 0, 655,
4343
- 653, 1, 0, 0, 0, 655, 656, 1, 0, 0, 0, 656, 657, 1, 0, 0, 0, 657, 658, 5, 34, 0, 0, 658,
4344
- 710, 1, 0, 0, 0, 659, 660, 5, 16, 0, 0, 660, 662, 3, 72, 36, 0, 661, 663, 3, 86, 43, 0,
4345
- 662, 661, 1, 0, 0, 0, 663, 664, 1, 0, 0, 0, 664, 662, 1, 0, 0, 0, 664, 665, 1, 0, 0, 0,
4346
- 665, 668, 1, 0, 0, 0, 666, 667, 5, 33, 0, 0, 667, 669, 3, 72, 36, 0, 668, 666, 1, 0, 0,
4347
- 0, 668, 669, 1, 0, 0, 0, 669, 670, 1, 0, 0, 0, 670, 671, 5, 34, 0, 0, 671, 710, 1, 0, 0,
4348
- 0, 672, 673, 5, 17, 0, 0, 673, 674, 5, 2, 0, 0, 674, 675, 3, 72, 36, 0, 675, 676, 5, 9,
4349
- 0, 0, 676, 677, 3, 90, 45, 0, 677, 678, 5, 3, 0, 0, 678, 710, 1, 0, 0, 0, 679, 680, 5,
4350
- 20, 0, 0, 680, 681, 5, 2, 0, 0, 681, 686, 3, 72, 36, 0, 682, 683, 5, 1, 0, 0, 683, 685,
4351
- 3, 72, 36, 0, 684, 682, 1, 0, 0, 0, 685, 688, 1, 0, 0, 0, 686, 684, 1, 0, 0, 0, 686, 687,
4352
- 1, 0, 0, 0, 687, 689, 1, 0, 0, 0, 688, 686, 1, 0, 0, 0, 689, 690, 5, 3, 0, 0, 690, 710,
4353
- 1, 0, 0, 0, 691, 692, 5, 63, 0, 0, 692, 693, 5, 2, 0, 0, 693, 694, 3, 82, 41, 0, 694, 695,
4354
- 5, 1, 0, 0, 695, 696, 3, 82, 41, 0, 696, 697, 5, 3, 0, 0, 697, 710, 1, 0, 0, 0, 698, 699,
4355
- 5, 2, 0, 0, 699, 700, 3, 72, 36, 0, 700, 701, 5, 3, 0, 0, 701, 710, 1, 0, 0, 0, 702, 703,
4356
- 5, 37, 0, 0, 703, 704, 5, 2, 0, 0, 704, 705, 3, 8, 4, 0, 705, 706, 5, 3, 0, 0, 706, 710,
4357
- 1, 0, 0, 0, 707, 710, 3, 88, 44, 0, 708, 710, 3, 104, 52, 0, 709, 629, 1, 0, 0, 0, 709,
4358
- 630, 1, 0, 0, 0, 709, 647, 1, 0, 0, 0, 709, 659, 1, 0, 0, 0, 709, 672, 1, 0, 0, 0, 709,
4359
- 679, 1, 0, 0, 0, 709, 691, 1, 0, 0, 0, 709, 698, 1, 0, 0, 0, 709, 702, 1, 0, 0, 0, 709,
4360
- 707, 1, 0, 0, 0, 709, 708, 1, 0, 0, 0, 710, 85, 1, 0, 0, 0, 711, 712, 5, 92, 0, 0, 712,
4361
- 713, 3, 72, 36, 0, 713, 714, 5, 81, 0, 0, 714, 715, 3, 72, 36, 0, 715, 87, 1, 0, 0, 0,
4362
- 716, 717, 5, 2, 0, 0, 717, 718, 3, 8, 4, 0, 718, 719, 5, 3, 0, 0, 719, 89, 1, 0, 0, 0, 720,
4363
- 767, 5, 14, 0, 0, 721, 767, 5, 84, 0, 0, 722, 767, 5, 78, 0, 0, 723, 767, 5, 50, 0, 0,
4364
- 724, 767, 5, 51, 0, 0, 725, 767, 5, 12, 0, 0, 726, 767, 5, 40, 0, 0, 727, 767, 5, 31,
4365
- 0, 0, 728, 736, 5, 26, 0, 0, 729, 730, 5, 2, 0, 0, 730, 733, 5, 111, 0, 0, 731, 732, 5,
4366
- 1, 0, 0, 732, 734, 5, 111, 0, 0, 733, 731, 1, 0, 0, 0, 733, 734, 1, 0, 0, 0, 734, 735,
4367
- 1, 0, 0, 0, 735, 737, 5, 3, 0, 0, 736, 729, 1, 0, 0, 0, 736, 737, 1, 0, 0, 0, 737, 767,
4368
- 1, 0, 0, 0, 738, 746, 5, 65, 0, 0, 739, 740, 5, 2, 0, 0, 740, 743, 5, 111, 0, 0, 741, 742,
4369
- 5, 1, 0, 0, 742, 744, 5, 111, 0, 0, 743, 741, 1, 0, 0, 0, 743, 744, 1, 0, 0, 0, 744, 745,
4370
- 1, 0, 0, 0, 745, 747, 5, 3, 0, 0, 746, 739, 1, 0, 0, 0, 746, 747, 1, 0, 0, 0, 747, 767,
4371
- 1, 0, 0, 0, 748, 752, 5, 90, 0, 0, 749, 750, 5, 2, 0, 0, 750, 751, 5, 111, 0, 0, 751, 753,
4372
- 5, 3, 0, 0, 752, 749, 1, 0, 0, 0, 752, 753, 1, 0, 0, 0, 753, 767, 1, 0, 0, 0, 754, 758,
4373
- 5, 18, 0, 0, 755, 756, 5, 2, 0, 0, 756, 757, 5, 111, 0, 0, 757, 759, 5, 3, 0, 0, 758, 755,
4374
- 1, 0, 0, 0, 758, 759, 1, 0, 0, 0, 759, 767, 1, 0, 0, 0, 760, 767, 5, 80, 0, 0, 761, 767,
4375
- 5, 25, 0, 0, 762, 767, 5, 82, 0, 0, 763, 767, 5, 83, 0, 0, 764, 767, 5, 13, 0, 0, 765,
4376
- 767, 5, 91, 0, 0, 766, 720, 1, 0, 0, 0, 766, 721, 1, 0, 0, 0, 766, 722, 1, 0, 0, 0, 766,
4377
- 723, 1, 0, 0, 0, 766, 724, 1, 0, 0, 0, 766, 725, 1, 0, 0, 0, 766, 726, 1, 0, 0, 0, 766,
4378
- 727, 1, 0, 0, 0, 766, 728, 1, 0, 0, 0, 766, 738, 1, 0, 0, 0, 766, 748, 1, 0, 0, 0, 766,
4379
- 754, 1, 0, 0, 0, 766, 760, 1, 0, 0, 0, 766, 761, 1, 0, 0, 0, 766, 762, 1, 0, 0, 0, 766,
4380
- 763, 1, 0, 0, 0, 766, 764, 1, 0, 0, 0, 766, 765, 1, 0, 0, 0, 767, 91, 1, 0, 0, 0, 768, 769,
4381
- 5, 2, 0, 0, 769, 774, 3, 94, 47, 0, 770, 771, 5, 1, 0, 0, 771, 773, 3, 94, 47, 0, 772,
4382
- 770, 1, 0, 0, 0, 773, 776, 1, 0, 0, 0, 774, 772, 1, 0, 0, 0, 774, 775, 1, 0, 0, 0, 775,
4383
- 777, 1, 0, 0, 0, 776, 774, 1, 0, 0, 0, 777, 778, 5, 3, 0, 0, 778, 93, 1, 0, 0, 0, 779, 780,
4384
- 3, 98, 49, 0, 780, 781, 5, 95, 0, 0, 781, 782, 3, 96, 48, 0, 782, 95, 1, 0, 0, 0, 783,
4385
- 792, 5, 62, 0, 0, 784, 792, 5, 86, 0, 0, 785, 792, 5, 38, 0, 0, 786, 792, 5, 111, 0, 0,
4386
- 787, 792, 5, 112, 0, 0, 788, 792, 5, 113, 0, 0, 789, 792, 5, 109, 0, 0, 790, 792, 5,
4387
- 110, 0, 0, 791, 783, 1, 0, 0, 0, 791, 784, 1, 0, 0, 0, 791, 785, 1, 0, 0, 0, 791, 786,
4388
- 1, 0, 0, 0, 791, 787, 1, 0, 0, 0, 791, 788, 1, 0, 0, 0, 791, 789, 1, 0, 0, 0, 791, 790,
4389
- 1, 0, 0, 0, 792, 97, 1, 0, 0, 0, 793, 799, 5, 114, 0, 0, 794, 799, 5, 115, 0, 0, 795, 799,
4390
- 5, 116, 0, 0, 796, 799, 5, 117, 0, 0, 797, 799, 3, 114, 57, 0, 798, 793, 1, 0, 0, 0, 798,
4391
- 794, 1, 0, 0, 0, 798, 795, 1, 0, 0, 0, 798, 796, 1, 0, 0, 0, 798, 797, 1, 0, 0, 0, 799,
4392
- 99, 1, 0, 0, 0, 800, 805, 3, 98, 49, 0, 801, 802, 5, 4, 0, 0, 802, 804, 3, 98, 49, 0, 803,
4393
- 801, 1, 0, 0, 0, 804, 807, 1, 0, 0, 0, 805, 803, 1, 0, 0, 0, 805, 806, 1, 0, 0, 0, 806,
4394
- 101, 1, 0, 0, 0, 807, 805, 1, 0, 0, 0, 808, 812, 3, 98, 49, 0, 809, 810, 4, 51, 7, 0, 810,
4395
- 812, 3, 106, 53, 0, 811, 808, 1, 0, 0, 0, 811, 809, 1, 0, 0, 0, 812, 103, 1, 0, 0, 0, 813,
4396
- 814, 3, 100, 50, 0, 814, 105, 1, 0, 0, 0, 815, 816, 1, 0, 0, 0, 816, 107, 1, 0, 0, 0, 817,
4397
- 818, 3, 100, 50, 0, 818, 109, 1, 0, 0, 0, 819, 820, 3, 100, 50, 0, 820, 111, 1, 0, 0,
4398
- 0, 821, 822, 3, 100, 50, 0, 822, 113, 1, 0, 0, 0, 823, 824, 7, 7, 0, 0, 824, 115, 1, 0,
4399
- 0, 0, 98, 119, 128, 137, 140, 146, 153, 165, 170, 180, 184, 191, 195, 198, 201, 204,
4400
- 207, 210, 216, 219, 228, 236, 251, 255, 259, 263, 267, 270, 274, 277, 284, 289,
4401
- 294, 301, 307, 316, 321, 325, 331, 337, 347, 360, 364, 374, 381, 390, 396, 400,
4402
- 406, 410, 414, 420, 430, 442, 460, 472, 477, 483, 491, 498, 517, 523, 533, 541,
4403
- 543, 548, 554, 563, 569, 577, 585, 591, 595, 600, 605, 613, 624, 626, 633, 640,
4404
- 643, 651, 655, 664, 668, 686, 709, 733, 736, 743, 746, 752, 758, 766, 774, 791,
4405
- 798, 805, 811
3916
+ 52, 2, 53, 7, 53, 1, 0, 5, 0, 110, 8, 0, 10, 0, 12, 0, 113, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1,
3917
+ 2, 1, 2, 3, 2, 121, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 130, 8, 3, 1, 4, 3,
3918
+ 4, 133, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 3, 5, 139, 8, 5, 1, 5, 1, 5, 1, 5, 5, 5, 144, 8, 5, 10,
3919
+ 5, 12, 5, 147, 9, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 3, 7, 158, 8, 7, 1,
3920
+ 7, 5, 7, 161, 8, 7, 10, 7, 12, 7, 164, 9, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9,
3921
+ 173, 8, 9, 1, 10, 1, 10, 3, 10, 177, 8, 10, 1, 10, 1, 10, 1, 10, 5, 10, 182, 8, 10, 10,
3922
+ 10, 12, 10, 185, 9, 10, 1, 10, 3, 10, 188, 8, 10, 1, 10, 3, 10, 191, 8, 10, 1, 10, 3, 10,
3923
+ 194, 8, 10, 1, 10, 3, 10, 197, 8, 10, 1, 10, 3, 10, 200, 8, 10, 1, 10, 3, 10, 203, 8, 10,
3924
+ 1, 11, 1, 11, 1, 12, 1, 12, 3, 12, 209, 8, 12, 1, 12, 3, 12, 212, 8, 12, 1, 12, 1, 12, 1,
3925
+ 12, 1, 12, 1, 12, 3, 12, 219, 8, 12, 1, 13, 1, 13, 1, 13, 1, 13, 5, 13, 225, 8, 13, 10,
3926
+ 13, 12, 13, 228, 9, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1,
3927
+ 14, 5, 14, 240, 8, 14, 10, 14, 12, 14, 243, 9, 14, 1, 15, 3, 15, 246, 8, 15, 1, 15, 1,
3928
+ 15, 3, 15, 250, 8, 15, 1, 15, 1, 15, 3, 15, 254, 8, 15, 1, 15, 1, 15, 3, 15, 258, 8, 15,
3929
+ 1, 15, 3, 15, 261, 8, 15, 1, 16, 1, 16, 3, 16, 265, 8, 16, 1, 16, 3, 16, 268, 8, 16, 1,
3930
+ 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 275, 8, 17, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1,
3931
+ 19, 3, 19, 283, 8, 19, 1, 19, 1, 19, 1, 19, 5, 19, 288, 8, 19, 10, 19, 12, 19, 291, 9,
3932
+ 19, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 5, 21, 301, 8, 21, 10, 21, 12,
3933
+ 21, 304, 9, 21, 1, 22, 1, 22, 3, 22, 308, 8, 22, 1, 22, 1, 22, 3, 22, 312, 8, 22, 1, 23,
3934
+ 1, 23, 1, 23, 1, 23, 3, 23, 318, 8, 23, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 324, 8, 24, 1,
3935
+ 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 5, 25, 332, 8, 25, 10, 25, 12, 25, 335, 9, 25, 1,
3936
+ 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 5, 26, 345, 8, 26, 10, 26, 12, 26,
3937
+ 348, 9, 26, 1, 26, 3, 26, 351, 8, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1,
3938
+ 28, 3, 28, 361, 8, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 3, 29, 368, 8, 29, 1, 29, 1, 29,
3939
+ 1, 29, 1, 29, 1, 29, 5, 29, 375, 8, 29, 10, 29, 12, 29, 378, 9, 29, 1, 29, 1, 29, 1, 29,
3940
+ 3, 29, 383, 8, 29, 1, 30, 1, 30, 3, 30, 387, 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 393,
3941
+ 8, 31, 1, 31, 1, 31, 3, 31, 397, 8, 31, 1, 31, 1, 31, 3, 31, 401, 8, 31, 1, 32, 1, 32, 3,
3942
+ 32, 405, 8, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 5, 32, 413, 8, 32, 10, 32, 12,
3943
+ 32, 416, 9, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 5, 32, 425, 8, 32, 10,
3944
+ 32, 12, 32, 428, 9, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1,
3945
+ 32, 1, 32, 1, 32, 1, 32, 5, 32, 443, 8, 32, 10, 32, 12, 32, 446, 9, 32, 1, 32, 1, 32, 1,
3946
+ 32, 1, 32, 1, 32, 1, 32, 1, 32, 5, 32, 455, 8, 32, 10, 32, 12, 32, 458, 9, 32, 1, 32, 1,
3947
+ 32, 3, 32, 462, 8, 32, 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 468, 8, 33, 1, 33, 1, 33, 1, 33,
3948
+ 1, 33, 1, 33, 1, 33, 3, 33, 476, 8, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 483, 8,
3949
+ 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1,
3950
+ 33, 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 502, 8, 33, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 508,
3951
+ 8, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 3, 36, 518, 8, 36, 1, 36,
3952
+ 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 5, 36, 526, 8, 36, 10, 36, 12, 36, 529, 9, 36, 1, 37,
3953
+ 1, 37, 3, 37, 533, 8, 37, 1, 38, 1, 38, 1, 38, 1, 38, 3, 38, 539, 8, 38, 1, 38, 1, 38, 1,
3954
+ 38, 1, 38, 1, 38, 5, 38, 546, 8, 38, 10, 38, 12, 38, 549, 9, 38, 1, 38, 1, 38, 1, 38, 3,
3955
+ 38, 554, 8, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 3, 38, 562, 8, 38, 1, 38, 1, 38,
3956
+ 1, 38, 1, 38, 1, 38, 1, 38, 3, 38, 570, 8, 38, 1, 38, 1, 38, 1, 38, 1, 38, 3, 38, 576, 8,
3957
+ 38, 1, 38, 1, 38, 3, 38, 580, 8, 38, 1, 38, 1, 38, 1, 38, 3, 38, 585, 8, 38, 1, 38, 1, 38,
3958
+ 1, 38, 3, 38, 590, 8, 38, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 3, 40, 598, 8, 40, 1,
3959
+ 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 5, 40, 609, 8, 40, 10, 40, 12,
3960
+ 40, 612, 9, 40, 1, 41, 1, 41, 1, 41, 1, 41, 3, 41, 618, 8, 41, 1, 41, 1, 41, 1, 41, 5, 41,
3961
+ 623, 8, 41, 10, 41, 12, 41, 626, 9, 41, 3, 41, 628, 8, 41, 1, 41, 1, 41, 1, 41, 1, 41,
3962
+ 4, 41, 634, 8, 41, 11, 41, 12, 41, 635, 1, 41, 1, 41, 3, 41, 640, 8, 41, 1, 41, 1, 41,
3963
+ 1, 41, 1, 41, 1, 41, 4, 41, 647, 8, 41, 11, 41, 12, 41, 648, 1, 41, 1, 41, 3, 41, 653,
3964
+ 8, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41,
3965
+ 1, 41, 1, 41, 5, 41, 669, 8, 41, 10, 41, 12, 41, 672, 9, 41, 1, 41, 1, 41, 1, 41, 1, 41,
3966
+ 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41,
3967
+ 1, 41, 1, 41, 1, 41, 3, 41, 694, 8, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43,
3968
+ 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44,
3969
+ 1, 44, 1, 44, 3, 44, 718, 8, 44, 1, 44, 3, 44, 721, 8, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1,
3970
+ 44, 3, 44, 728, 8, 44, 1, 44, 3, 44, 731, 8, 44, 1, 44, 1, 44, 1, 44, 1, 44, 3, 44, 737,
3971
+ 8, 44, 1, 44, 1, 44, 1, 44, 1, 44, 3, 44, 743, 8, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44,
3972
+ 1, 44, 3, 44, 751, 8, 44, 1, 45, 1, 45, 1, 45, 1, 45, 5, 45, 757, 8, 45, 10, 45, 12, 45,
3973
+ 760, 9, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47,
3974
+ 1, 47, 1, 47, 1, 47, 3, 47, 776, 8, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 3, 48, 783, 8,
3975
+ 48, 1, 49, 1, 49, 1, 49, 5, 49, 788, 8, 49, 10, 49, 12, 49, 791, 9, 49, 1, 50, 1, 50, 1,
3976
+ 51, 1, 51, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 0, 3, 28, 72, 80, 54, 0, 2, 4, 6, 8, 10, 12,
3977
+ 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56,
3978
+ 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100,
3979
+ 102, 104, 106, 0, 8, 3, 0, 36, 36, 52, 52, 87, 87, 2, 0, 6, 6, 30, 30, 2, 0, 10, 10, 29,
3980
+ 29, 2, 0, 39, 39, 57, 57, 1, 0, 95, 100, 1, 0, 101, 102, 1, 0, 103, 105, 22, 0, 5, 6, 10,
3981
+ 10, 12, 15, 18, 18, 20, 21, 24, 27, 29, 29, 31, 31, 38, 40, 43, 43, 46, 46, 50, 51, 56,
3982
+ 58, 60, 60, 63, 66, 70, 70, 75, 75, 78, 78, 80, 80, 82, 86, 88, 88, 90, 91, 895, 0, 111,
3983
+ 1, 0, 0, 0, 2, 116, 1, 0, 0, 0, 4, 118, 1, 0, 0, 0, 6, 129, 1, 0, 0, 0, 8, 132, 1, 0, 0, 0,
3984
+ 10, 136, 1, 0, 0, 0, 12, 148, 1, 0, 0, 0, 14, 154, 1, 0, 0, 0, 16, 165, 1, 0, 0, 0, 18, 172,
3985
+ 1, 0, 0, 0, 20, 174, 1, 0, 0, 0, 22, 204, 1, 0, 0, 0, 24, 218, 1, 0, 0, 0, 26, 220, 1, 0,
3986
+ 0, 0, 28, 229, 1, 0, 0, 0, 30, 260, 1, 0, 0, 0, 32, 262, 1, 0, 0, 0, 34, 274, 1, 0, 0, 0,
3987
+ 36, 276, 1, 0, 0, 0, 38, 279, 1, 0, 0, 0, 40, 292, 1, 0, 0, 0, 42, 295, 1, 0, 0, 0, 44, 305,
3988
+ 1, 0, 0, 0, 46, 313, 1, 0, 0, 0, 48, 319, 1, 0, 0, 0, 50, 327, 1, 0, 0, 0, 52, 338, 1, 0,
3989
+ 0, 0, 54, 352, 1, 0, 0, 0, 56, 356, 1, 0, 0, 0, 58, 362, 1, 0, 0, 0, 60, 386, 1, 0, 0, 0,
3990
+ 62, 388, 1, 0, 0, 0, 64, 404, 1, 0, 0, 0, 66, 463, 1, 0, 0, 0, 68, 503, 1, 0, 0, 0, 70, 511,
3991
+ 1, 0, 0, 0, 72, 517, 1, 0, 0, 0, 74, 530, 1, 0, 0, 0, 76, 589, 1, 0, 0, 0, 78, 591, 1, 0,
3992
+ 0, 0, 80, 597, 1, 0, 0, 0, 82, 693, 1, 0, 0, 0, 84, 695, 1, 0, 0, 0, 86, 700, 1, 0, 0, 0,
3993
+ 88, 750, 1, 0, 0, 0, 90, 752, 1, 0, 0, 0, 92, 763, 1, 0, 0, 0, 94, 775, 1, 0, 0, 0, 96, 782,
3994
+ 1, 0, 0, 0, 98, 784, 1, 0, 0, 0, 100, 792, 1, 0, 0, 0, 102, 794, 1, 0, 0, 0, 104, 796, 1,
3995
+ 0, 0, 0, 106, 798, 1, 0, 0, 0, 108, 110, 3, 2, 1, 0, 109, 108, 1, 0, 0, 0, 110, 113, 1,
3996
+ 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 114, 1, 0, 0, 0, 113, 111, 1,
3997
+ 0, 0, 0, 114, 115, 5, 0, 0, 1, 115, 1, 1, 0, 0, 0, 116, 117, 3, 4, 2, 0, 117, 3, 1, 0, 0,
3998
+ 0, 118, 120, 3, 6, 3, 0, 119, 121, 5, 108, 0, 0, 120, 119, 1, 0, 0, 0, 120, 121, 1, 0,
3999
+ 0, 0, 121, 5, 1, 0, 0, 0, 122, 130, 3, 8, 4, 0, 123, 130, 3, 48, 24, 0, 124, 130, 3, 52,
4000
+ 26, 0, 125, 130, 3, 56, 28, 0, 126, 130, 3, 58, 29, 0, 127, 130, 3, 66, 33, 0, 128, 130,
4001
+ 3, 68, 34, 0, 129, 122, 1, 0, 0, 0, 129, 123, 1, 0, 0, 0, 129, 124, 1, 0, 0, 0, 129, 125,
4002
+ 1, 0, 0, 0, 129, 126, 1, 0, 0, 0, 129, 127, 1, 0, 0, 0, 129, 128, 1, 0, 0, 0, 130, 7, 1,
4003
+ 0, 0, 0, 131, 133, 3, 10, 5, 0, 132, 131, 1, 0, 0, 0, 132, 133, 1, 0, 0, 0, 133, 134, 1,
4004
+ 0, 0, 0, 134, 135, 3, 14, 7, 0, 135, 9, 1, 0, 0, 0, 136, 138, 5, 94, 0, 0, 137, 139, 5,
4005
+ 72, 0, 0, 138, 137, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, 139, 140, 1, 0, 0, 0, 140, 145, 3,
4006
+ 12, 6, 0, 141, 142, 5, 1, 0, 0, 142, 144, 3, 12, 6, 0, 143, 141, 1, 0, 0, 0, 144, 147,
4007
+ 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 11, 1, 0, 0, 0, 147, 145, 1,
4008
+ 0, 0, 0, 148, 149, 3, 96, 48, 0, 149, 150, 5, 9, 0, 0, 150, 151, 5, 2, 0, 0, 151, 152,
4009
+ 3, 8, 4, 0, 152, 153, 5, 3, 0, 0, 153, 13, 1, 0, 0, 0, 154, 162, 3, 16, 8, 0, 155, 157,
4010
+ 7, 0, 0, 0, 156, 158, 5, 6, 0, 0, 157, 156, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 158, 159,
4011
+ 1, 0, 0, 0, 159, 161, 3, 16, 8, 0, 160, 155, 1, 0, 0, 0, 161, 164, 1, 0, 0, 0, 162, 160,
4012
+ 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 15, 1, 0, 0, 0, 164, 162, 1, 0, 0, 0, 165, 166, 3,
4013
+ 18, 9, 0, 166, 17, 1, 0, 0, 0, 167, 173, 3, 20, 10, 0, 168, 169, 5, 2, 0, 0, 169, 170,
4014
+ 3, 8, 4, 0, 170, 171, 5, 3, 0, 0, 171, 173, 1, 0, 0, 0, 172, 167, 1, 0, 0, 0, 172, 168,
4015
+ 1, 0, 0, 0, 173, 19, 1, 0, 0, 0, 174, 176, 5, 76, 0, 0, 175, 177, 3, 22, 11, 0, 176, 175,
4016
+ 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 178, 1, 0, 0, 0, 178, 183, 3, 24, 12, 0, 179, 180,
4017
+ 5, 1, 0, 0, 180, 182, 3, 24, 12, 0, 181, 179, 1, 0, 0, 0, 182, 185, 1, 0, 0, 0, 183, 181,
4018
+ 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 187, 1, 0, 0, 0, 185, 183, 1, 0, 0, 0, 186, 188,
4019
+ 3, 26, 13, 0, 187, 186, 1, 0, 0, 0, 187, 188, 1, 0, 0, 0, 188, 190, 1, 0, 0, 0, 189, 191,
4020
+ 3, 36, 18, 0, 190, 189, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 193, 1, 0, 0, 0, 192, 194,
4021
+ 3, 38, 19, 0, 193, 192, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 196, 1, 0, 0, 0, 195, 197,
4022
+ 3, 40, 20, 0, 196, 195, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197, 199, 1, 0, 0, 0, 198, 200,
4023
+ 3, 42, 21, 0, 199, 198, 1, 0, 0, 0, 199, 200, 1, 0, 0, 0, 200, 202, 1, 0, 0, 0, 201, 203,
4024
+ 3, 46, 23, 0, 202, 201, 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 21, 1, 0, 0, 0, 204, 205,
4025
+ 7, 1, 0, 0, 205, 23, 1, 0, 0, 0, 206, 211, 3, 70, 35, 0, 207, 209, 5, 9, 0, 0, 208, 207,
4026
+ 1, 0, 0, 0, 208, 209, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 212, 3, 96, 48, 0, 211, 208,
4027
+ 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 219, 1, 0, 0, 0, 213, 214, 3, 98, 49, 0, 214, 215,
4028
+ 5, 4, 0, 0, 215, 216, 5, 103, 0, 0, 216, 219, 1, 0, 0, 0, 217, 219, 5, 103, 0, 0, 218,
4029
+ 206, 1, 0, 0, 0, 218, 213, 1, 0, 0, 0, 218, 217, 1, 0, 0, 0, 219, 25, 1, 0, 0, 0, 220, 221,
4030
+ 5, 42, 0, 0, 221, 226, 3, 28, 14, 0, 222, 223, 5, 1, 0, 0, 223, 225, 3, 28, 14, 0, 224,
4031
+ 222, 1, 0, 0, 0, 225, 228, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 226, 227, 1, 0, 0, 0, 227,
4032
+ 27, 1, 0, 0, 0, 228, 226, 1, 0, 0, 0, 229, 230, 6, 14, -1, 0, 230, 231, 3, 32, 16, 0, 231,
4033
+ 241, 1, 0, 0, 0, 232, 233, 10, 2, 0, 0, 233, 234, 3, 30, 15, 0, 234, 235, 5, 55, 0, 0,
4034
+ 235, 236, 3, 28, 14, 0, 236, 237, 5, 67, 0, 0, 237, 238, 3, 70, 35, 0, 238, 240, 1, 0,
4035
+ 0, 0, 239, 232, 1, 0, 0, 0, 240, 243, 1, 0, 0, 0, 241, 239, 1, 0, 0, 0, 241, 242, 1, 0,
4036
+ 0, 0, 242, 29, 1, 0, 0, 0, 243, 241, 1, 0, 0, 0, 244, 246, 5, 48, 0, 0, 245, 244, 1, 0,
4037
+ 0, 0, 245, 246, 1, 0, 0, 0, 246, 261, 1, 0, 0, 0, 247, 249, 5, 58, 0, 0, 248, 250, 5, 70,
4038
+ 0, 0, 249, 248, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, 250, 261, 1, 0, 0, 0, 251, 253, 5, 75,
4039
+ 0, 0, 252, 254, 5, 70, 0, 0, 253, 252, 1, 0, 0, 0, 253, 254, 1, 0, 0, 0, 254, 261, 1, 0,
4040
+ 0, 0, 255, 257, 5, 43, 0, 0, 256, 258, 5, 70, 0, 0, 257, 256, 1, 0, 0, 0, 257, 258, 1,
4041
+ 0, 0, 0, 258, 261, 1, 0, 0, 0, 259, 261, 5, 24, 0, 0, 260, 245, 1, 0, 0, 0, 260, 247, 1,
4042
+ 0, 0, 0, 260, 251, 1, 0, 0, 0, 260, 255, 1, 0, 0, 0, 260, 259, 1, 0, 0, 0, 261, 31, 1, 0,
4043
+ 0, 0, 262, 267, 3, 34, 17, 0, 263, 265, 5, 9, 0, 0, 264, 263, 1, 0, 0, 0, 264, 265, 1,
4044
+ 0, 0, 0, 265, 266, 1, 0, 0, 0, 266, 268, 3, 96, 48, 0, 267, 264, 1, 0, 0, 0, 267, 268,
4045
+ 1, 0, 0, 0, 268, 33, 1, 0, 0, 0, 269, 275, 3, 102, 51, 0, 270, 271, 5, 2, 0, 0, 271, 272,
4046
+ 3, 8, 4, 0, 272, 273, 5, 3, 0, 0, 273, 275, 1, 0, 0, 0, 274, 269, 1, 0, 0, 0, 274, 270,
4047
+ 1, 0, 0, 0, 275, 35, 1, 0, 0, 0, 276, 277, 5, 93, 0, 0, 277, 278, 3, 70, 35, 0, 278, 37,
4048
+ 1, 0, 0, 0, 279, 280, 5, 44, 0, 0, 280, 282, 5, 15, 0, 0, 281, 283, 3, 22, 11, 0, 282,
4049
+ 281, 1, 0, 0, 0, 282, 283, 1, 0, 0, 0, 283, 284, 1, 0, 0, 0, 284, 289, 3, 70, 35, 0, 285,
4050
+ 286, 5, 1, 0, 0, 286, 288, 3, 70, 35, 0, 287, 285, 1, 0, 0, 0, 288, 291, 1, 0, 0, 0, 289,
4051
+ 287, 1, 0, 0, 0, 289, 290, 1, 0, 0, 0, 290, 39, 1, 0, 0, 0, 291, 289, 1, 0, 0, 0, 292, 293,
4052
+ 5, 45, 0, 0, 293, 294, 3, 70, 35, 0, 294, 41, 1, 0, 0, 0, 295, 296, 5, 69, 0, 0, 296, 297,
4053
+ 5, 15, 0, 0, 297, 302, 3, 44, 22, 0, 298, 299, 5, 1, 0, 0, 299, 301, 3, 44, 22, 0, 300,
4054
+ 298, 1, 0, 0, 0, 301, 304, 1, 0, 0, 0, 302, 300, 1, 0, 0, 0, 302, 303, 1, 0, 0, 0, 303,
4055
+ 43, 1, 0, 0, 0, 304, 302, 1, 0, 0, 0, 305, 307, 3, 70, 35, 0, 306, 308, 7, 2, 0, 0, 307,
4056
+ 306, 1, 0, 0, 0, 307, 308, 1, 0, 0, 0, 308, 311, 1, 0, 0, 0, 309, 310, 5, 64, 0, 0, 310,
4057
+ 312, 7, 3, 0, 0, 311, 309, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, 45, 1, 0, 0, 0, 313, 314,
4058
+ 5, 60, 0, 0, 314, 317, 3, 70, 35, 0, 315, 316, 5, 66, 0, 0, 316, 318, 3, 70, 35, 0, 317,
4059
+ 315, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 47, 1, 0, 0, 0, 319, 320, 5, 49, 0, 0, 320,
4060
+ 321, 5, 53, 0, 0, 321, 323, 3, 102, 51, 0, 322, 324, 3, 50, 25, 0, 323, 322, 1, 0, 0,
4061
+ 0, 323, 324, 1, 0, 0, 0, 324, 325, 1, 0, 0, 0, 325, 326, 3, 8, 4, 0, 326, 49, 1, 0, 0, 0,
4062
+ 327, 328, 5, 2, 0, 0, 328, 333, 3, 100, 50, 0, 329, 330, 5, 1, 0, 0, 330, 332, 3, 100,
4063
+ 50, 0, 331, 329, 1, 0, 0, 0, 332, 335, 1, 0, 0, 0, 333, 331, 1, 0, 0, 0, 333, 334, 1, 0,
4064
+ 0, 0, 334, 336, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 336, 337, 5, 3, 0, 0, 337, 51, 1, 0, 0,
4065
+ 0, 338, 339, 5, 89, 0, 0, 339, 340, 3, 102, 51, 0, 340, 341, 5, 77, 0, 0, 341, 346, 3,
4066
+ 54, 27, 0, 342, 343, 5, 1, 0, 0, 343, 345, 3, 54, 27, 0, 344, 342, 1, 0, 0, 0, 345, 348,
4067
+ 1, 0, 0, 0, 346, 344, 1, 0, 0, 0, 346, 347, 1, 0, 0, 0, 347, 350, 1, 0, 0, 0, 348, 346,
4068
+ 1, 0, 0, 0, 349, 351, 3, 36, 18, 0, 350, 349, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 351, 53,
4069
+ 1, 0, 0, 0, 352, 353, 3, 100, 50, 0, 353, 354, 5, 95, 0, 0, 354, 355, 3, 70, 35, 0, 355,
4070
+ 55, 1, 0, 0, 0, 356, 357, 5, 28, 0, 0, 357, 358, 5, 42, 0, 0, 358, 360, 3, 102, 51, 0,
4071
+ 359, 361, 3, 36, 18, 0, 360, 359, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 57, 1, 0, 0, 0,
4072
+ 362, 363, 5, 23, 0, 0, 363, 367, 5, 79, 0, 0, 364, 365, 5, 46, 0, 0, 365, 366, 5, 61,
4073
+ 0, 0, 366, 368, 5, 37, 0, 0, 367, 364, 1, 0, 0, 0, 367, 368, 1, 0, 0, 0, 368, 369, 1, 0,
4074
+ 0, 0, 369, 370, 3, 104, 52, 0, 370, 371, 5, 2, 0, 0, 371, 376, 3, 60, 30, 0, 372, 373,
4075
+ 5, 1, 0, 0, 373, 375, 3, 60, 30, 0, 374, 372, 1, 0, 0, 0, 375, 378, 1, 0, 0, 0, 376, 374,
4076
+ 1, 0, 0, 0, 376, 377, 1, 0, 0, 0, 377, 379, 1, 0, 0, 0, 378, 376, 1, 0, 0, 0, 379, 382,
4077
+ 5, 3, 0, 0, 380, 381, 5, 94, 0, 0, 381, 383, 3, 90, 45, 0, 382, 380, 1, 0, 0, 0, 382, 383,
4078
+ 1, 0, 0, 0, 383, 59, 1, 0, 0, 0, 384, 387, 3, 62, 31, 0, 385, 387, 3, 64, 32, 0, 386, 384,
4079
+ 1, 0, 0, 0, 386, 385, 1, 0, 0, 0, 387, 61, 1, 0, 0, 0, 388, 389, 3, 100, 50, 0, 389, 392,
4080
+ 3, 88, 44, 0, 390, 391, 5, 61, 0, 0, 391, 393, 5, 62, 0, 0, 392, 390, 1, 0, 0, 0, 392,
4081
+ 393, 1, 0, 0, 0, 393, 396, 1, 0, 0, 0, 394, 395, 5, 27, 0, 0, 395, 397, 3, 70, 35, 0, 396,
4082
+ 394, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 400, 1, 0, 0, 0, 398, 399, 5, 71, 0, 0, 399,
4083
+ 401, 5, 56, 0, 0, 400, 398, 1, 0, 0, 0, 400, 401, 1, 0, 0, 0, 401, 63, 1, 0, 0, 0, 402,
4084
+ 403, 5, 22, 0, 0, 403, 405, 3, 96, 48, 0, 404, 402, 1, 0, 0, 0, 404, 405, 1, 0, 0, 0, 405,
4085
+ 461, 1, 0, 0, 0, 406, 407, 5, 71, 0, 0, 407, 408, 5, 56, 0, 0, 408, 409, 5, 2, 0, 0, 409,
4086
+ 414, 3, 100, 50, 0, 410, 411, 5, 1, 0, 0, 411, 413, 3, 100, 50, 0, 412, 410, 1, 0, 0,
4087
+ 0, 413, 416, 1, 0, 0, 0, 414, 412, 1, 0, 0, 0, 414, 415, 1, 0, 0, 0, 415, 417, 1, 0, 0,
4088
+ 0, 416, 414, 1, 0, 0, 0, 417, 418, 5, 3, 0, 0, 418, 462, 1, 0, 0, 0, 419, 420, 5, 88, 0,
4089
+ 0, 420, 421, 5, 2, 0, 0, 421, 426, 3, 100, 50, 0, 422, 423, 5, 1, 0, 0, 423, 425, 3, 100,
4090
+ 50, 0, 424, 422, 1, 0, 0, 0, 425, 428, 1, 0, 0, 0, 426, 424, 1, 0, 0, 0, 426, 427, 1, 0,
4091
+ 0, 0, 427, 429, 1, 0, 0, 0, 428, 426, 1, 0, 0, 0, 429, 430, 5, 3, 0, 0, 430, 462, 1, 0,
4092
+ 0, 0, 431, 432, 5, 19, 0, 0, 432, 433, 5, 2, 0, 0, 433, 434, 3, 70, 35, 0, 434, 435, 5,
4093
+ 3, 0, 0, 435, 462, 1, 0, 0, 0, 436, 437, 5, 41, 0, 0, 437, 438, 5, 56, 0, 0, 438, 439,
4094
+ 5, 2, 0, 0, 439, 444, 3, 100, 50, 0, 440, 441, 5, 1, 0, 0, 441, 443, 3, 100, 50, 0, 442,
4095
+ 440, 1, 0, 0, 0, 443, 446, 1, 0, 0, 0, 444, 442, 1, 0, 0, 0, 444, 445, 1, 0, 0, 0, 445,
4096
+ 447, 1, 0, 0, 0, 446, 444, 1, 0, 0, 0, 447, 448, 5, 3, 0, 0, 448, 449, 5, 73, 0, 0, 449,
4097
+ 450, 3, 102, 51, 0, 450, 451, 5, 2, 0, 0, 451, 456, 3, 100, 50, 0, 452, 453, 5, 1, 0,
4098
+ 0, 453, 455, 3, 100, 50, 0, 454, 452, 1, 0, 0, 0, 455, 458, 1, 0, 0, 0, 456, 454, 1, 0,
4099
+ 0, 0, 456, 457, 1, 0, 0, 0, 457, 459, 1, 0, 0, 0, 458, 456, 1, 0, 0, 0, 459, 460, 5, 3,
4100
+ 0, 0, 460, 462, 1, 0, 0, 0, 461, 406, 1, 0, 0, 0, 461, 419, 1, 0, 0, 0, 461, 431, 1, 0,
4101
+ 0, 0, 461, 436, 1, 0, 0, 0, 462, 65, 1, 0, 0, 0, 463, 464, 5, 7, 0, 0, 464, 467, 5, 79,
4102
+ 0, 0, 465, 466, 5, 46, 0, 0, 466, 468, 5, 37, 0, 0, 467, 465, 1, 0, 0, 0, 467, 468, 1,
4103
+ 0, 0, 0, 468, 469, 1, 0, 0, 0, 469, 501, 3, 102, 51, 0, 470, 471, 5, 5, 0, 0, 471, 475,
4104
+ 5, 21, 0, 0, 472, 473, 5, 46, 0, 0, 473, 474, 5, 61, 0, 0, 474, 476, 5, 37, 0, 0, 475,
4105
+ 472, 1, 0, 0, 0, 475, 476, 1, 0, 0, 0, 476, 477, 1, 0, 0, 0, 477, 502, 3, 62, 31, 0, 478,
4106
+ 479, 5, 32, 0, 0, 479, 482, 5, 21, 0, 0, 480, 481, 5, 46, 0, 0, 481, 483, 5, 37, 0, 0,
4107
+ 482, 480, 1, 0, 0, 0, 482, 483, 1, 0, 0, 0, 483, 484, 1, 0, 0, 0, 484, 502, 3, 100, 50,
4108
+ 0, 485, 486, 5, 74, 0, 0, 486, 487, 5, 85, 0, 0, 487, 502, 3, 104, 52, 0, 488, 489, 5,
4109
+ 7, 0, 0, 489, 490, 5, 21, 0, 0, 490, 491, 3, 100, 50, 0, 491, 492, 5, 77, 0, 0, 492, 493,
4110
+ 5, 27, 0, 0, 493, 494, 3, 70, 35, 0, 494, 502, 1, 0, 0, 0, 495, 496, 5, 7, 0, 0, 496, 497,
4111
+ 5, 21, 0, 0, 497, 498, 3, 100, 50, 0, 498, 499, 5, 32, 0, 0, 499, 500, 5, 27, 0, 0, 500,
4112
+ 502, 1, 0, 0, 0, 501, 470, 1, 0, 0, 0, 501, 478, 1, 0, 0, 0, 501, 485, 1, 0, 0, 0, 501,
4113
+ 488, 1, 0, 0, 0, 501, 495, 1, 0, 0, 0, 502, 67, 1, 0, 0, 0, 503, 504, 5, 32, 0, 0, 504,
4114
+ 507, 5, 79, 0, 0, 505, 506, 5, 46, 0, 0, 506, 508, 5, 37, 0, 0, 507, 505, 1, 0, 0, 0, 507,
4115
+ 508, 1, 0, 0, 0, 508, 509, 1, 0, 0, 0, 509, 510, 3, 102, 51, 0, 510, 69, 1, 0, 0, 0, 511,
4116
+ 512, 3, 72, 36, 0, 512, 71, 1, 0, 0, 0, 513, 514, 6, 36, -1, 0, 514, 518, 3, 74, 37, 0,
4117
+ 515, 516, 5, 61, 0, 0, 516, 518, 3, 72, 36, 3, 517, 513, 1, 0, 0, 0, 517, 515, 1, 0, 0,
4118
+ 0, 518, 527, 1, 0, 0, 0, 519, 520, 10, 2, 0, 0, 520, 521, 5, 8, 0, 0, 521, 526, 3, 72,
4119
+ 36, 3, 522, 523, 10, 1, 0, 0, 523, 524, 5, 68, 0, 0, 524, 526, 3, 72, 36, 2, 525, 519,
4120
+ 1, 0, 0, 0, 525, 522, 1, 0, 0, 0, 526, 529, 1, 0, 0, 0, 527, 525, 1, 0, 0, 0, 527, 528,
4121
+ 1, 0, 0, 0, 528, 73, 1, 0, 0, 0, 529, 527, 1, 0, 0, 0, 530, 532, 3, 80, 40, 0, 531, 533,
4122
+ 3, 76, 38, 0, 532, 531, 1, 0, 0, 0, 532, 533, 1, 0, 0, 0, 533, 75, 1, 0, 0, 0, 534, 535,
4123
+ 3, 78, 39, 0, 535, 536, 3, 80, 40, 0, 536, 590, 1, 0, 0, 0, 537, 539, 5, 61, 0, 0, 538,
4124
+ 537, 1, 0, 0, 0, 538, 539, 1, 0, 0, 0, 539, 540, 1, 0, 0, 0, 540, 541, 5, 47, 0, 0, 541,
4125
+ 542, 5, 2, 0, 0, 542, 547, 3, 70, 35, 0, 543, 544, 5, 1, 0, 0, 544, 546, 3, 70, 35, 0,
4126
+ 545, 543, 1, 0, 0, 0, 546, 549, 1, 0, 0, 0, 547, 545, 1, 0, 0, 0, 547, 548, 1, 0, 0, 0,
4127
+ 548, 550, 1, 0, 0, 0, 549, 547, 1, 0, 0, 0, 550, 551, 5, 3, 0, 0, 551, 590, 1, 0, 0, 0,
4128
+ 552, 554, 5, 61, 0, 0, 553, 552, 1, 0, 0, 0, 553, 554, 1, 0, 0, 0, 554, 555, 1, 0, 0, 0,
4129
+ 555, 556, 5, 47, 0, 0, 556, 557, 5, 2, 0, 0, 557, 558, 3, 8, 4, 0, 558, 559, 5, 3, 0, 0,
4130
+ 559, 590, 1, 0, 0, 0, 560, 562, 5, 61, 0, 0, 561, 560, 1, 0, 0, 0, 561, 562, 1, 0, 0, 0,
4131
+ 562, 563, 1, 0, 0, 0, 563, 564, 5, 11, 0, 0, 564, 565, 3, 80, 40, 0, 565, 566, 5, 8, 0,
4132
+ 0, 566, 567, 3, 80, 40, 0, 567, 590, 1, 0, 0, 0, 568, 570, 5, 61, 0, 0, 569, 568, 1, 0,
4133
+ 0, 0, 569, 570, 1, 0, 0, 0, 570, 571, 1, 0, 0, 0, 571, 572, 5, 59, 0, 0, 572, 575, 3, 80,
4134
+ 40, 0, 573, 574, 5, 35, 0, 0, 574, 576, 3, 80, 40, 0, 575, 573, 1, 0, 0, 0, 575, 576,
4135
+ 1, 0, 0, 0, 576, 590, 1, 0, 0, 0, 577, 579, 5, 54, 0, 0, 578, 580, 5, 61, 0, 0, 579, 578,
4136
+ 1, 0, 0, 0, 579, 580, 1, 0, 0, 0, 580, 581, 1, 0, 0, 0, 581, 590, 5, 62, 0, 0, 582, 584,
4137
+ 5, 54, 0, 0, 583, 585, 5, 61, 0, 0, 584, 583, 1, 0, 0, 0, 584, 585, 1, 0, 0, 0, 585, 586,
4138
+ 1, 0, 0, 0, 586, 587, 5, 30, 0, 0, 587, 588, 5, 42, 0, 0, 588, 590, 3, 80, 40, 0, 589,
4139
+ 534, 1, 0, 0, 0, 589, 538, 1, 0, 0, 0, 589, 553, 1, 0, 0, 0, 589, 561, 1, 0, 0, 0, 589,
4140
+ 569, 1, 0, 0, 0, 589, 577, 1, 0, 0, 0, 589, 582, 1, 0, 0, 0, 590, 77, 1, 0, 0, 0, 591, 592,
4141
+ 7, 4, 0, 0, 592, 79, 1, 0, 0, 0, 593, 594, 6, 40, -1, 0, 594, 598, 3, 82, 41, 0, 595, 596,
4142
+ 7, 5, 0, 0, 596, 598, 3, 80, 40, 4, 597, 593, 1, 0, 0, 0, 597, 595, 1, 0, 0, 0, 598, 610,
4143
+ 1, 0, 0, 0, 599, 600, 10, 3, 0, 0, 600, 601, 7, 6, 0, 0, 601, 609, 3, 80, 40, 4, 602, 603,
4144
+ 10, 2, 0, 0, 603, 604, 7, 5, 0, 0, 604, 609, 3, 80, 40, 3, 605, 606, 10, 1, 0, 0, 606,
4145
+ 607, 5, 106, 0, 0, 607, 609, 3, 80, 40, 2, 608, 599, 1, 0, 0, 0, 608, 602, 1, 0, 0, 0,
4146
+ 608, 605, 1, 0, 0, 0, 609, 612, 1, 0, 0, 0, 610, 608, 1, 0, 0, 0, 610, 611, 1, 0, 0, 0,
4147
+ 611, 81, 1, 0, 0, 0, 612, 610, 1, 0, 0, 0, 613, 694, 3, 94, 47, 0, 614, 615, 3, 98, 49,
4148
+ 0, 615, 627, 5, 2, 0, 0, 616, 618, 3, 22, 11, 0, 617, 616, 1, 0, 0, 0, 617, 618, 1, 0,
4149
+ 0, 0, 618, 619, 1, 0, 0, 0, 619, 624, 3, 70, 35, 0, 620, 621, 5, 1, 0, 0, 621, 623, 3,
4150
+ 70, 35, 0, 622, 620, 1, 0, 0, 0, 623, 626, 1, 0, 0, 0, 624, 622, 1, 0, 0, 0, 624, 625,
4151
+ 1, 0, 0, 0, 625, 628, 1, 0, 0, 0, 626, 624, 1, 0, 0, 0, 627, 617, 1, 0, 0, 0, 627, 628,
4152
+ 1, 0, 0, 0, 628, 629, 1, 0, 0, 0, 629, 630, 5, 3, 0, 0, 630, 694, 1, 0, 0, 0, 631, 633,
4153
+ 5, 16, 0, 0, 632, 634, 3, 84, 42, 0, 633, 632, 1, 0, 0, 0, 634, 635, 1, 0, 0, 0, 635, 633,
4154
+ 1, 0, 0, 0, 635, 636, 1, 0, 0, 0, 636, 639, 1, 0, 0, 0, 637, 638, 5, 33, 0, 0, 638, 640,
4155
+ 3, 70, 35, 0, 639, 637, 1, 0, 0, 0, 639, 640, 1, 0, 0, 0, 640, 641, 1, 0, 0, 0, 641, 642,
4156
+ 5, 34, 0, 0, 642, 694, 1, 0, 0, 0, 643, 644, 5, 16, 0, 0, 644, 646, 3, 70, 35, 0, 645,
4157
+ 647, 3, 84, 42, 0, 646, 645, 1, 0, 0, 0, 647, 648, 1, 0, 0, 0, 648, 646, 1, 0, 0, 0, 648,
4158
+ 649, 1, 0, 0, 0, 649, 652, 1, 0, 0, 0, 650, 651, 5, 33, 0, 0, 651, 653, 3, 70, 35, 0, 652,
4159
+ 650, 1, 0, 0, 0, 652, 653, 1, 0, 0, 0, 653, 654, 1, 0, 0, 0, 654, 655, 5, 34, 0, 0, 655,
4160
+ 694, 1, 0, 0, 0, 656, 657, 5, 17, 0, 0, 657, 658, 5, 2, 0, 0, 658, 659, 3, 70, 35, 0, 659,
4161
+ 660, 5, 9, 0, 0, 660, 661, 3, 88, 44, 0, 661, 662, 5, 3, 0, 0, 662, 694, 1, 0, 0, 0, 663,
4162
+ 664, 5, 20, 0, 0, 664, 665, 5, 2, 0, 0, 665, 670, 3, 70, 35, 0, 666, 667, 5, 1, 0, 0, 667,
4163
+ 669, 3, 70, 35, 0, 668, 666, 1, 0, 0, 0, 669, 672, 1, 0, 0, 0, 670, 668, 1, 0, 0, 0, 670,
4164
+ 671, 1, 0, 0, 0, 671, 673, 1, 0, 0, 0, 672, 670, 1, 0, 0, 0, 673, 674, 5, 3, 0, 0, 674,
4165
+ 694, 1, 0, 0, 0, 675, 676, 5, 63, 0, 0, 676, 677, 5, 2, 0, 0, 677, 678, 3, 80, 40, 0, 678,
4166
+ 679, 5, 1, 0, 0, 679, 680, 3, 80, 40, 0, 680, 681, 5, 3, 0, 0, 681, 694, 1, 0, 0, 0, 682,
4167
+ 683, 5, 2, 0, 0, 683, 684, 3, 70, 35, 0, 684, 685, 5, 3, 0, 0, 685, 694, 1, 0, 0, 0, 686,
4168
+ 687, 5, 37, 0, 0, 687, 688, 5, 2, 0, 0, 688, 689, 3, 8, 4, 0, 689, 690, 5, 3, 0, 0, 690,
4169
+ 694, 1, 0, 0, 0, 691, 694, 3, 86, 43, 0, 692, 694, 3, 98, 49, 0, 693, 613, 1, 0, 0, 0,
4170
+ 693, 614, 1, 0, 0, 0, 693, 631, 1, 0, 0, 0, 693, 643, 1, 0, 0, 0, 693, 656, 1, 0, 0, 0,
4171
+ 693, 663, 1, 0, 0, 0, 693, 675, 1, 0, 0, 0, 693, 682, 1, 0, 0, 0, 693, 686, 1, 0, 0, 0,
4172
+ 693, 691, 1, 0, 0, 0, 693, 692, 1, 0, 0, 0, 694, 83, 1, 0, 0, 0, 695, 696, 5, 92, 0, 0,
4173
+ 696, 697, 3, 70, 35, 0, 697, 698, 5, 81, 0, 0, 698, 699, 3, 70, 35, 0, 699, 85, 1, 0,
4174
+ 0, 0, 700, 701, 5, 2, 0, 0, 701, 702, 3, 8, 4, 0, 702, 703, 5, 3, 0, 0, 703, 87, 1, 0, 0,
4175
+ 0, 704, 751, 5, 14, 0, 0, 705, 751, 5, 84, 0, 0, 706, 751, 5, 78, 0, 0, 707, 751, 5, 50,
4176
+ 0, 0, 708, 751, 5, 51, 0, 0, 709, 751, 5, 12, 0, 0, 710, 751, 5, 40, 0, 0, 711, 751, 5,
4177
+ 31, 0, 0, 712, 720, 5, 26, 0, 0, 713, 714, 5, 2, 0, 0, 714, 717, 5, 111, 0, 0, 715, 716,
4178
+ 5, 1, 0, 0, 716, 718, 5, 111, 0, 0, 717, 715, 1, 0, 0, 0, 717, 718, 1, 0, 0, 0, 718, 719,
4179
+ 1, 0, 0, 0, 719, 721, 5, 3, 0, 0, 720, 713, 1, 0, 0, 0, 720, 721, 1, 0, 0, 0, 721, 751,
4180
+ 1, 0, 0, 0, 722, 730, 5, 65, 0, 0, 723, 724, 5, 2, 0, 0, 724, 727, 5, 111, 0, 0, 725, 726,
4181
+ 5, 1, 0, 0, 726, 728, 5, 111, 0, 0, 727, 725, 1, 0, 0, 0, 727, 728, 1, 0, 0, 0, 728, 729,
4182
+ 1, 0, 0, 0, 729, 731, 5, 3, 0, 0, 730, 723, 1, 0, 0, 0, 730, 731, 1, 0, 0, 0, 731, 751,
4183
+ 1, 0, 0, 0, 732, 736, 5, 90, 0, 0, 733, 734, 5, 2, 0, 0, 734, 735, 5, 111, 0, 0, 735, 737,
4184
+ 5, 3, 0, 0, 736, 733, 1, 0, 0, 0, 736, 737, 1, 0, 0, 0, 737, 751, 1, 0, 0, 0, 738, 742,
4185
+ 5, 18, 0, 0, 739, 740, 5, 2, 0, 0, 740, 741, 5, 111, 0, 0, 741, 743, 5, 3, 0, 0, 742, 739,
4186
+ 1, 0, 0, 0, 742, 743, 1, 0, 0, 0, 743, 751, 1, 0, 0, 0, 744, 751, 5, 80, 0, 0, 745, 751,
4187
+ 5, 25, 0, 0, 746, 751, 5, 82, 0, 0, 747, 751, 5, 83, 0, 0, 748, 751, 5, 13, 0, 0, 749,
4188
+ 751, 5, 91, 0, 0, 750, 704, 1, 0, 0, 0, 750, 705, 1, 0, 0, 0, 750, 706, 1, 0, 0, 0, 750,
4189
+ 707, 1, 0, 0, 0, 750, 708, 1, 0, 0, 0, 750, 709, 1, 0, 0, 0, 750, 710, 1, 0, 0, 0, 750,
4190
+ 711, 1, 0, 0, 0, 750, 712, 1, 0, 0, 0, 750, 722, 1, 0, 0, 0, 750, 732, 1, 0, 0, 0, 750,
4191
+ 738, 1, 0, 0, 0, 750, 744, 1, 0, 0, 0, 750, 745, 1, 0, 0, 0, 750, 746, 1, 0, 0, 0, 750,
4192
+ 747, 1, 0, 0, 0, 750, 748, 1, 0, 0, 0, 750, 749, 1, 0, 0, 0, 751, 89, 1, 0, 0, 0, 752, 753,
4193
+ 5, 2, 0, 0, 753, 758, 3, 92, 46, 0, 754, 755, 5, 1, 0, 0, 755, 757, 3, 92, 46, 0, 756,
4194
+ 754, 1, 0, 0, 0, 757, 760, 1, 0, 0, 0, 758, 756, 1, 0, 0, 0, 758, 759, 1, 0, 0, 0, 759,
4195
+ 761, 1, 0, 0, 0, 760, 758, 1, 0, 0, 0, 761, 762, 5, 3, 0, 0, 762, 91, 1, 0, 0, 0, 763, 764,
4196
+ 3, 96, 48, 0, 764, 765, 5, 95, 0, 0, 765, 766, 3, 94, 47, 0, 766, 93, 1, 0, 0, 0, 767,
4197
+ 776, 5, 62, 0, 0, 768, 776, 5, 86, 0, 0, 769, 776, 5, 38, 0, 0, 770, 776, 5, 111, 0, 0,
4198
+ 771, 776, 5, 112, 0, 0, 772, 776, 5, 113, 0, 0, 773, 776, 5, 109, 0, 0, 774, 776, 5,
4199
+ 110, 0, 0, 775, 767, 1, 0, 0, 0, 775, 768, 1, 0, 0, 0, 775, 769, 1, 0, 0, 0, 775, 770,
4200
+ 1, 0, 0, 0, 775, 771, 1, 0, 0, 0, 775, 772, 1, 0, 0, 0, 775, 773, 1, 0, 0, 0, 775, 774,
4201
+ 1, 0, 0, 0, 776, 95, 1, 0, 0, 0, 777, 783, 5, 114, 0, 0, 778, 783, 5, 115, 0, 0, 779, 783,
4202
+ 5, 116, 0, 0, 780, 783, 5, 117, 0, 0, 781, 783, 3, 106, 53, 0, 782, 777, 1, 0, 0, 0, 782,
4203
+ 778, 1, 0, 0, 0, 782, 779, 1, 0, 0, 0, 782, 780, 1, 0, 0, 0, 782, 781, 1, 0, 0, 0, 783,
4204
+ 97, 1, 0, 0, 0, 784, 789, 3, 96, 48, 0, 785, 786, 5, 4, 0, 0, 786, 788, 3, 96, 48, 0, 787,
4205
+ 785, 1, 0, 0, 0, 788, 791, 1, 0, 0, 0, 789, 787, 1, 0, 0, 0, 789, 790, 1, 0, 0, 0, 790,
4206
+ 99, 1, 0, 0, 0, 791, 789, 1, 0, 0, 0, 792, 793, 3, 96, 48, 0, 793, 101, 1, 0, 0, 0, 794,
4207
+ 795, 3, 98, 49, 0, 795, 103, 1, 0, 0, 0, 796, 797, 3, 98, 49, 0, 797, 105, 1, 0, 0, 0,
4208
+ 798, 799, 7, 7, 0, 0, 799, 107, 1, 0, 0, 0, 95, 111, 120, 129, 132, 138, 145, 157, 162,
4209
+ 172, 176, 183, 187, 190, 193, 196, 199, 202, 208, 211, 218, 226, 241, 245, 249,
4210
+ 253, 257, 260, 264, 267, 274, 282, 289, 302, 307, 311, 317, 323, 333, 346, 350,
4211
+ 360, 367, 376, 382, 386, 392, 396, 400, 404, 414, 426, 444, 456, 461, 467, 475,
4212
+ 482, 501, 507, 517, 525, 527, 532, 538, 547, 553, 561, 569, 575, 579, 584, 589,
4213
+ 597, 608, 610, 617, 624, 627, 635, 639, 648, 652, 670, 693, 717, 720, 727, 730,
4214
+ 736, 742, 750, 758, 775, 782, 789
4406
4215
  ];
4407
4216
  GenericSqlParser.vocabulary = new antlr.Vocabulary(GenericSqlParser.literalNames, GenericSqlParser.symbolicNames, []);
4408
4217
  GenericSqlParser.decisionsToDFA = GenericSqlParser._ATN.decisionToState.map((ds, index) => new antlr.DFA(ds, index));
@@ -5024,18 +4833,6 @@ export class SelectItemContext extends antlr.ParserRuleContext {
5024
4833
  constructor(parent, invokingState) {
5025
4834
  super(parent, invokingState);
5026
4835
  }
5027
- get ruleIndex() {
5028
- return GenericSqlParser.RULE_selectItem;
5029
- }
5030
- copyFrom(ctx) {
5031
- super.copyFrom(ctx);
5032
- }
5033
- }
5034
- export class SelectExpressionElementContext extends SelectItemContext {
5035
- constructor(ctx) {
5036
- super(ctx.parent, ctx.invokingState);
5037
- super.copyFrom(ctx);
5038
- }
5039
4836
  expression() {
5040
4837
  return this.getRuleContext(0, ExpressionContext);
5041
4838
  }
@@ -5045,103 +4842,28 @@ export class SelectExpressionElementContext extends SelectItemContext {
5045
4842
  KW_AS() {
5046
4843
  return this.getToken(GenericSqlParser.KW_AS, 0);
5047
4844
  }
5048
- enterRule(listener) {
5049
- if (listener.enterSelectExpressionElement) {
5050
- listener.enterSelectExpressionElement(this);
5051
- }
5052
- }
5053
- exitRule(listener) {
5054
- if (listener.exitSelectExpressionElement) {
5055
- listener.exitSelectExpressionElement(this);
5056
- }
5057
- }
5058
- accept(visitor) {
5059
- if (visitor.visitSelectExpressionElement) {
5060
- return visitor.visitSelectExpressionElement(this);
5061
- }
5062
- else {
5063
- return visitor.visitChildren(this);
5064
- }
5065
- }
5066
- }
5067
- export class SelectEmptyElementContext extends SelectItemContext {
5068
- constructor(ctx) {
5069
- super(ctx.parent, ctx.invokingState);
5070
- super.copyFrom(ctx);
5071
- }
5072
- emptyColumn() {
5073
- return this.getRuleContext(0, EmptyColumnContext);
5074
- }
5075
- enterRule(listener) {
5076
- if (listener.enterSelectEmptyElement) {
5077
- listener.enterSelectEmptyElement(this);
5078
- }
5079
- }
5080
- exitRule(listener) {
5081
- if (listener.exitSelectEmptyElement) {
5082
- listener.exitSelectEmptyElement(this);
5083
- }
5084
- }
5085
- accept(visitor) {
5086
- if (visitor.visitSelectEmptyElement) {
5087
- return visitor.visitSelectEmptyElement(this);
5088
- }
5089
- else {
5090
- return visitor.visitChildren(this);
5091
- }
5092
- }
5093
- }
5094
- export class SelectStarElementContext extends SelectItemContext {
5095
- constructor(ctx) {
5096
- super(ctx.parent, ctx.invokingState);
5097
- super.copyFrom(ctx);
5098
- }
5099
4845
  qualifiedName() {
5100
4846
  return this.getRuleContext(0, QualifiedNameContext);
5101
4847
  }
5102
4848
  ASTERISK() {
5103
4849
  return this.getToken(GenericSqlParser.ASTERISK, 0);
5104
4850
  }
5105
- enterRule(listener) {
5106
- if (listener.enterSelectStarElement) {
5107
- listener.enterSelectStarElement(this);
5108
- }
5109
- }
5110
- exitRule(listener) {
5111
- if (listener.exitSelectStarElement) {
5112
- listener.exitSelectStarElement(this);
5113
- }
5114
- }
5115
- accept(visitor) {
5116
- if (visitor.visitSelectStarElement) {
5117
- return visitor.visitSelectStarElement(this);
5118
- }
5119
- else {
5120
- return visitor.visitChildren(this);
5121
- }
5122
- }
5123
- }
5124
- export class SelectAllElementContext extends SelectItemContext {
5125
- constructor(ctx) {
5126
- super(ctx.parent, ctx.invokingState);
5127
- super.copyFrom(ctx);
5128
- }
5129
- ASTERISK() {
5130
- return this.getToken(GenericSqlParser.ASTERISK, 0);
4851
+ get ruleIndex() {
4852
+ return GenericSqlParser.RULE_selectItem;
5131
4853
  }
5132
4854
  enterRule(listener) {
5133
- if (listener.enterSelectAllElement) {
5134
- listener.enterSelectAllElement(this);
4855
+ if (listener.enterSelectItem) {
4856
+ listener.enterSelectItem(this);
5135
4857
  }
5136
4858
  }
5137
4859
  exitRule(listener) {
5138
- if (listener.exitSelectAllElement) {
5139
- listener.exitSelectAllElement(this);
4860
+ if (listener.exitSelectItem) {
4861
+ listener.exitSelectItem(this);
5140
4862
  }
5141
4863
  }
5142
4864
  accept(visitor) {
5143
- if (visitor.visitSelectAllElement) {
5144
- return visitor.visitSelectAllElement(this);
4865
+ if (visitor.visitSelectItem) {
4866
+ return visitor.visitSelectItem(this);
5145
4867
  }
5146
4868
  else {
5147
4869
  return visitor.visitChildren(this);
@@ -5417,9 +5139,6 @@ export class WhereClauseContext extends antlr.ParserRuleContext {
5417
5139
  expression() {
5418
5140
  return this.getRuleContext(0, ExpressionContext);
5419
5141
  }
5420
- emptyColumn() {
5421
- return this.getRuleContext(0, EmptyColumnContext);
5422
- }
5423
5142
  get ruleIndex() {
5424
5143
  return GenericSqlParser.RULE_whereClause;
5425
5144
  }
@@ -5493,9 +5212,6 @@ export class HavingClauseContext extends antlr.ParserRuleContext {
5493
5212
  expression() {
5494
5213
  return this.getRuleContext(0, ExpressionContext);
5495
5214
  }
5496
- emptyColumn() {
5497
- return this.getRuleContext(0, EmptyColumnContext);
5498
- }
5499
5215
  get ruleIndex() {
5500
5216
  return GenericSqlParser.RULE_havingClause;
5501
5217
  }
@@ -5920,8 +5636,8 @@ export class ColumnDefinitionContext extends antlr.ParserRuleContext {
5920
5636
  constructor(parent, invokingState) {
5921
5637
  super(parent, invokingState);
5922
5638
  }
5923
- columnRefCreate() {
5924
- return this.getRuleContext(0, ColumnRefCreateContext);
5639
+ columnRef() {
5640
+ return this.getRuleContext(0, ColumnRefContext);
5925
5641
  }
5926
5642
  dataType() {
5927
5643
  return this.getRuleContext(0, DataTypeContext);
@@ -5966,35 +5682,6 @@ export class ColumnDefinitionContext extends antlr.ParserRuleContext {
5966
5682
  }
5967
5683
  }
5968
5684
  }
5969
- export class ColumnRefCreateContext extends antlr.ParserRuleContext {
5970
- constructor(parent, invokingState) {
5971
- super(parent, invokingState);
5972
- }
5973
- identifier() {
5974
- return this.getRuleContext(0, IdentifierContext);
5975
- }
5976
- get ruleIndex() {
5977
- return GenericSqlParser.RULE_columnRefCreate;
5978
- }
5979
- enterRule(listener) {
5980
- if (listener.enterColumnRefCreate) {
5981
- listener.enterColumnRefCreate(this);
5982
- }
5983
- }
5984
- exitRule(listener) {
5985
- if (listener.exitColumnRefCreate) {
5986
- listener.exitColumnRefCreate(this);
5987
- }
5988
- }
5989
- accept(visitor) {
5990
- if (visitor.visitColumnRefCreate) {
5991
- return visitor.visitColumnRefCreate(this);
5992
- }
5993
- else {
5994
- return visitor.visitChildren(this);
5995
- }
5996
- }
5997
- }
5998
5685
  export class TableConstraintContext extends antlr.ParserRuleContext {
5999
5686
  constructor(parent, invokingState) {
6000
5687
  super(parent, invokingState);
@@ -6950,8 +6637,8 @@ export class ColumnReferenceContext extends PrimaryExpressionContext {
6950
6637
  super(ctx.parent, ctx.invokingState);
6951
6638
  super.copyFrom(ctx);
6952
6639
  }
6953
- columnName() {
6954
- return this.getRuleContext(0, ColumnNameContext);
6640
+ qualifiedName() {
6641
+ return this.getRuleContext(0, QualifiedNameContext);
6955
6642
  }
6956
6643
  enterRule(listener) {
6957
6644
  if (listener.enterColumnReference) {
@@ -7034,8 +6721,8 @@ export class FunctionCallContext extends PrimaryExpressionContext {
7034
6721
  super(ctx.parent, ctx.invokingState);
7035
6722
  super.copyFrom(ctx);
7036
6723
  }
7037
- functionName() {
7038
- return this.getRuleContext(0, FunctionNameContext);
6724
+ qualifiedName() {
6725
+ return this.getRuleContext(0, QualifiedNameContext);
7039
6726
  }
7040
6727
  expression(i) {
7041
6728
  if (i === undefined) {
@@ -7717,9 +7404,6 @@ export class ColumnRefContext extends antlr.ParserRuleContext {
7717
7404
  identifier() {
7718
7405
  return this.getRuleContext(0, IdentifierContext);
7719
7406
  }
7720
- emptyColumn() {
7721
- return this.getRuleContext(0, EmptyColumnContext);
7722
- }
7723
7407
  get ruleIndex() {
7724
7408
  return GenericSqlParser.RULE_columnRef;
7725
7409
  }
@@ -7742,61 +7426,6 @@ export class ColumnRefContext extends antlr.ParserRuleContext {
7742
7426
  }
7743
7427
  }
7744
7428
  }
7745
- export class ColumnNameContext extends antlr.ParserRuleContext {
7746
- constructor(parent, invokingState) {
7747
- super(parent, invokingState);
7748
- }
7749
- qualifiedName() {
7750
- return this.getRuleContext(0, QualifiedNameContext);
7751
- }
7752
- get ruleIndex() {
7753
- return GenericSqlParser.RULE_columnName;
7754
- }
7755
- enterRule(listener) {
7756
- if (listener.enterColumnName) {
7757
- listener.enterColumnName(this);
7758
- }
7759
- }
7760
- exitRule(listener) {
7761
- if (listener.exitColumnName) {
7762
- listener.exitColumnName(this);
7763
- }
7764
- }
7765
- accept(visitor) {
7766
- if (visitor.visitColumnName) {
7767
- return visitor.visitColumnName(this);
7768
- }
7769
- else {
7770
- return visitor.visitChildren(this);
7771
- }
7772
- }
7773
- }
7774
- export class EmptyColumnContext extends antlr.ParserRuleContext {
7775
- constructor(parent, invokingState) {
7776
- super(parent, invokingState);
7777
- }
7778
- get ruleIndex() {
7779
- return GenericSqlParser.RULE_emptyColumn;
7780
- }
7781
- enterRule(listener) {
7782
- if (listener.enterEmptyColumn) {
7783
- listener.enterEmptyColumn(this);
7784
- }
7785
- }
7786
- exitRule(listener) {
7787
- if (listener.exitEmptyColumn) {
7788
- listener.exitEmptyColumn(this);
7789
- }
7790
- }
7791
- accept(visitor) {
7792
- if (visitor.visitEmptyColumn) {
7793
- return visitor.visitEmptyColumn(this);
7794
- }
7795
- else {
7796
- return visitor.visitChildren(this);
7797
- }
7798
- }
7799
- }
7800
7429
  export class TableNameContext extends antlr.ParserRuleContext {
7801
7430
  constructor(parent, invokingState) {
7802
7431
  super(parent, invokingState);
@@ -7855,35 +7484,6 @@ export class TableNameCreateContext extends antlr.ParserRuleContext {
7855
7484
  }
7856
7485
  }
7857
7486
  }
7858
- export class FunctionNameContext extends antlr.ParserRuleContext {
7859
- constructor(parent, invokingState) {
7860
- super(parent, invokingState);
7861
- }
7862
- qualifiedName() {
7863
- return this.getRuleContext(0, QualifiedNameContext);
7864
- }
7865
- get ruleIndex() {
7866
- return GenericSqlParser.RULE_functionName;
7867
- }
7868
- enterRule(listener) {
7869
- if (listener.enterFunctionName) {
7870
- listener.enterFunctionName(this);
7871
- }
7872
- }
7873
- exitRule(listener) {
7874
- if (listener.exitFunctionName) {
7875
- listener.exitFunctionName(this);
7876
- }
7877
- }
7878
- accept(visitor) {
7879
- if (visitor.visitFunctionName) {
7880
- return visitor.visitFunctionName(this);
7881
- }
7882
- else {
7883
- return visitor.visitChildren(this);
7884
- }
7885
- }
7886
- }
7887
7487
  export class NonReservedContext extends antlr.ParserRuleContext {
7888
7488
  constructor(parent, invokingState) {
7889
7489
  super(parent, invokingState);