forked from grafana/grafana
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ScrollQLParser.js
8603 lines (7722 loc) · 270 KB
/
ScrollQLParser.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Generated from ScrollQLParser.g4 by ANTLR 4.8
/* eslint-disable */
// jshint ignore: start
// @ts-nocheck
var antlr4 = require('antlr4/index');
var ScrollQLParserListener = require('./ScrollQLParserListener').ScrollQLParserListener;
var grammarFileName = 'ScrollQLParser.g4';
var serializedATN = [
'\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964',
'\u0003r\u0244\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004\t',
'\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007\u0004',
'\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f\u0004',
'\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010\u0004',
'\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014\t',
'\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017\t\u0017\u0004',
'\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a\u0004\u001b\t',
'\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e\t\u001e\u0004',
'\u001f\t\u001f\u0004 \t \u0004!\t!\u0004"\t"\u0004#\t#\u0004$\t$\u0004',
"%\t%\u0004&\t&\u0004'\t'\u0004(\t(\u0004)\t)\u0004*\t*\u0004+\t+\u0004",
',\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u00041\t1\u00042\t2\u0004',
'3\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u00048\t8\u00049\t9\u0004',
':\t:\u0003\u0002\u0003\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0003',
'\u0003\u0005\u0003{\n\u0003\u0003\u0003\u0003\u0003\u0005\u0003\u007f',
'\n\u0003\u0003\u0004\u0003\u0004\u0003\u0004\u0007\u0004\u0084\n\u0004',
'\f\u0004\u000e\u0004\u0087\u000b\u0004\u0003\u0005\u0003\u0005\u0003',
'\u0005\u0007\u0005\u008c\n\u0005\f\u0005\u000e\u0005\u008f\u000b\u0005',
'\u0003\u0005\u0003\u0005\u0005\u0005\u0093\n\u0005\u0003\u0005\u0003',
'\u0005\u0007\u0005\u0097\n\u0005\f\u0005\u000e\u0005\u009a\u000b\u0005',
'\u0003\u0006\u0003\u0006\u0003\u0006\u0007\u0006\u009f\n\u0006\f\u0006',
'\u000e\u0006\u00a2\u000b\u0006\u0003\u0007\u0003\u0007\u0003\u0007\u0003',
'\u0007\u0003\u0007\u0003\u0007\u0005\u0007\u00aa\n\u0007\u0003\b\u0003',
'\b\u0003\b\u0003\b\u0003\b\u0005\b\u00b1\n\b\u0007\b\u00b3\n\b\f\b\u000e',
'\b\u00b6\u000b\b\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003',
'\t\u0003\t\u0003\t\u0003\n\u0003\n\u0003\n\u0003\n\u0005\n\u00c5\n\n',
'\u0003\u000b\u0003\u000b\u0003\f\u0003\f\u0005\f\u00cb\n\f\u0003\f\u0003',
'\f\u0005\f\u00cf\n\f\u0003\f\u0005\f\u00d2\n\f\u0003\f\u0005\f\u00d5',
'\n\f\u0003\r\u0003\r\u0005\r\u00d9\n\r\u0003\u000e\u0003\u000e\u0003',
'\u000f\u0007\u000f\u00de\n\u000f\f\u000f\u000e\u000f\u00e1\u000b\u000f',
'\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0007\u0010\u00e7\n',
'\u0010\f\u0010\u000e\u0010\u00ea\u000b\u0010\u0003\u0010\u0005\u0010',
'\u00ed\n\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0007',
'\u0010\u00f3\n\u0010\f\u0010\u000e\u0010\u00f6\u000b\u0010\u0005\u0010',
'\u00f8\n\u0010\u0003\u0011\u0003\u0011\u0003\u0011\u0005\u0011\u00fd',
'\n\u0011\u0003\u0012\u0003\u0012\u0005\u0012\u0101\n\u0012\u0003\u0013',
'\u0003\u0013\u0003\u0013\u0003\u0013\u0007\u0013\u0107\n\u0013\f\u0013',
'\u000e\u0013\u010a\u000b\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003',
'\u0013\u0007\u0013\u0110\n\u0013\f\u0013\u000e\u0013\u0113\u000b\u0013',
'\u0005\u0013\u0115\n\u0013\u0003\u0014\u0003\u0014\u0003\u0014\u0005',
'\u0014\u011a\n\u0014\u0003\u0015\u0003\u0015\u0005\u0015\u011e\n\u0015',
'\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0007\u0015',
'\u0125\n\u0015\f\u0015\u000e\u0015\u0128\u000b\u0015\u0003\u0015\u0003',
'\u0015\u0005\u0015\u012c\n\u0015\u0003\u0015\u0005\u0015\u012f\n\u0015',
'\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0017\u0005\u0017\u0135\n',
'\u0017\u0003\u0017\u0003\u0017\u0003\u0018\u0003\u0018\u0003\u0018\u0003',
'\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0005\u0018\u0141',
'\n\u0018\u0003\u0018\u0003\u0018\u0005\u0018\u0145\n\u0018\u0003\u0018',
'\u0003\u0018\u0003\u0018\u0003\u0018\u0007\u0018\u014b\n\u0018\f\u0018',
'\u000e\u0018\u014e\u000b\u0018\u0003\u0019\u0003\u0019\u0003\u0019\u0003',
'\u0019\u0003\u0019\u0005\u0019\u0155\n\u0019\u0003\u001a\u0003\u001a',
'\u0003\u001a\u0003\u001b\u0003\u001b\u0005\u001b\u015c\n\u001b\u0003',
'\u001b\u0003\u001b\u0003\u001b\u0007\u001b\u0161\n\u001b\f\u001b\u000e',
'\u001b\u0164\u000b\u001b\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c',
'\u0003\u001c\u0005\u001c\u016b\n\u001c\u0005\u001c\u016d\n\u001c\u0003',
'\u001d\u0003\u001d\u0003\u001d\u0003\u001d\u0005\u001d\u0173\n\u001d',
'\u0003\u001e\u0003\u001e\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f',
'\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f',
'\u0003\u001f\u0003\u001f\u0005\u001f\u0183\n\u001f\u0003\u001f\u0003',
'\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003',
'\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003',
'\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0005\u001f\u0196\n\u001f',
'\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f',
'\u0003\u001f\u0003\u001f\u0003\u001f\u0005\u001f\u01a1\n\u001f\u0003',
'\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0005\u001f\u01a7\n\u001f',
'\u0003\u001f\u0003\u001f\u0007\u001f\u01ab\n\u001f\f\u001f\u000e\u001f',
'\u01ae\u000b\u001f\u0003 \u0003 \u0003 \u0003 \u0005 \u01b4\n \u0003',
'!\u0003!\u0005!\u01b8\n!\u0003"\u0003"\u0003"\u0003"\u0003"\u0007',
'"\u01bf\n"\f"\u000e"\u01c2\u000b"\u0003"\u0003"\u0003"\u0003',
'"\u0003"\u0005"\u01c9\n"\u0003"\u0003"\u0005"\u01cd\n"\u0003',
'#\u0003#\u0005#\u01d1\n#\u0003$\u0003$\u0003$\u0003$\u0007$\u01d7\n',
'$\f$\u000e$\u01da\u000b$\u0003$\u0003$\u0003$\u0003$\u0005$\u01e0\n',
'$\u0003%\u0003%\u0005%\u01e4\n%\u0003&\u0003&\u0005&\u01e8\n&\u0003',
"'\u0003'\u0003'\u0003'\u0005'\u01ee\n'\u0003(\u0003(\u0003(\u0003",
'(\u0003(\u0005(\u01f5\n(\u0003)\u0003)\u0003*\u0003*\u0003*\u0003*\u0005',
'*\u01fd\n*\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0003+\u0005+\u0206',
'\n+\u0003,\u0003,\u0005,\u020a\n,\u0003-\u0003-\u0005-\u020e\n-\u0003',
'.\u0003.\u0005.\u0212\n.\u0003/\u0003/\u0005/\u0216\n/\u00030\u0003',
'0\u00060\u021a\n0\r0\u000e0\u021b\u00030\u00030\u00031\u00031\u0003',
'2\u00032\u00033\u00033\u00053\u0226\n3\u00034\u00034\u00034\u00035\u0003',
'5\u00035\u00036\u00036\u00037\u00037\u00038\u00038\u00038\u00058\u0235',
'\n8\u00039\u00039\u0003:\u0003:\u0003:\u0003:\u0003:\u0003:\u0003:\u0003',
':\u0003:\u0005:\u0242\n:\u0003:\u0002\u0004.<;\u0002\u0004\u0006\b\n',
'\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e "$&(*,.02',
'468:<>@BDFHJLNPRTVXZ\\^`bdfhjlnpr\u0002\u001c\u0003\u0002;<\u0005\u0002',
':<JJQQ\u0003\u0002\u0010\u0011\u0003\u0002\u0014\u0015\u0004\u0002\u001e',
'\u001eLL\u0003\u0002MO\u0003\u0002PQ\u0003\u0002SV\u0004\u0002\u001f',
'\u001fBC\u0004\u0002==^^\u0004\u0002>>__\u0004\u0002??``\u0004\u0002',
'@@aa\u0004\u0002DDcc\u0004\u0002AAdd\u0004\u0002::bb\u0003\u0002\u0005',
" \u0003\u0002!#\u0003\u0002$&\u0003\u0002')\u0003\u0002*,\u0003\u0002",
'-.\u0003\u0002/0\u0003\u000213\u0003\u000246\u0003\u000279\u0002\u027b',
'\u0002t\u0003\u0002\u0002\u0002\u0004w\u0003\u0002\u0002\u0002\u0006',
'\u0080\u0003\u0002\u0002\u0002\b\u0088\u0003\u0002\u0002\u0002\n\u009b',
'\u0003\u0002\u0002\u0002\f\u00a9\u0003\u0002\u0002\u0002\u000e\u00ab',
'\u0003\u0002\u0002\u0002\u0010\u00b7\u0003\u0002\u0002\u0002\u0012\u00c4',
'\u0003\u0002\u0002\u0002\u0014\u00c6\u0003\u0002\u0002\u0002\u0016\u00d4',
'\u0003\u0002\u0002\u0002\u0018\u00d8\u0003\u0002\u0002\u0002\u001a\u00da',
'\u0003\u0002\u0002\u0002\u001c\u00df\u0003\u0002\u0002\u0002\u001e\u00e2',
'\u0003\u0002\u0002\u0002 \u00f9\u0003\u0002\u0002\u0002"\u0100\u0003',
'\u0002\u0002\u0002$\u0114\u0003\u0002\u0002\u0002&\u0116\u0003\u0002',
'\u0002\u0002(\u012e\u0003\u0002\u0002\u0002*\u0130\u0003\u0002\u0002',
'\u0002,\u0134\u0003\u0002\u0002\u0002.\u0140\u0003\u0002\u0002\u0002',
'0\u0154\u0003\u0002\u0002\u00022\u0156\u0003\u0002\u0002\u00024\u0159',
'\u0003\u0002\u0002\u00026\u016c\u0003\u0002\u0002\u00028\u0172\u0003',
'\u0002\u0002\u0002:\u0174\u0003\u0002\u0002\u0002<\u0182\u0003\u0002',
'\u0002\u0002>\u01b3\u0003\u0002\u0002\u0002@\u01b7\u0003\u0002\u0002',
'\u0002B\u01cc\u0003\u0002\u0002\u0002D\u01d0\u0003\u0002\u0002\u0002',
'F\u01df\u0003\u0002\u0002\u0002H\u01e3\u0003\u0002\u0002\u0002J\u01e7',
'\u0003\u0002\u0002\u0002L\u01ed\u0003\u0002\u0002\u0002N\u01f4\u0003',
'\u0002\u0002\u0002P\u01f6\u0003\u0002\u0002\u0002R\u01fc\u0003\u0002',
'\u0002\u0002T\u0205\u0003\u0002\u0002\u0002V\u0209\u0003\u0002\u0002',
'\u0002X\u020d\u0003\u0002\u0002\u0002Z\u0211\u0003\u0002\u0002\u0002',
'\\\u0215\u0003\u0002\u0002\u0002^\u0217\u0003\u0002\u0002\u0002`\u021f',
'\u0003\u0002\u0002\u0002b\u0221\u0003\u0002\u0002\u0002d\u0225\u0003',
'\u0002\u0002\u0002f\u0227\u0003\u0002\u0002\u0002h\u022a\u0003\u0002',
'\u0002\u0002j\u022d\u0003\u0002\u0002\u0002l\u022f\u0003\u0002\u0002',
'\u0002n\u0234\u0003\u0002\u0002\u0002p\u0236\u0003\u0002\u0002\u0002',
'r\u0241\u0003\u0002\u0002\u0002tu\u0005\u0004\u0003\u0002uv\u0007\u0002',
'\u0002\u0003v\u0003\u0003\u0002\u0002\u0002wz\u0005\b\u0005\u0002xy',
'\u0007H\u0002\u0002y{\u0005\n\u0006\u0002zx\u0003\u0002\u0002\u0002',
'z{\u0003\u0002\u0002\u0002{~\u0003\u0002\u0002\u0002|}\u0007I\u0002',
'\u0002}\u007f\u0005j6\u0002~|\u0003\u0002\u0002\u0002~\u007f\u0003\u0002',
'\u0002\u0002\u007f\u0005\u0003\u0002\u0002\u0002\u0080\u0085\u0005j',
'6\u0002\u0081\u0082\u0007H\u0002\u0002\u0082\u0084\u0005\u000e\b\u0002',
'\u0083\u0081\u0003\u0002\u0002\u0002\u0084\u0087\u0003\u0002\u0002\u0002',
'\u0085\u0083\u0003\u0002\u0002\u0002\u0085\u0086\u0003\u0002\u0002\u0002',
'\u0086\u0007\u0003\u0002\u0002\u0002\u0087\u0085\u0003\u0002\u0002\u0002',
'\u0088\u008d\u0005\u0010\t\u0002\u0089\u008a\u0007H\u0002\u0002\u008a',
'\u008c\u0005\u0010\t\u0002\u008b\u0089\u0003\u0002\u0002\u0002\u008c',
'\u008f\u0003\u0002\u0002\u0002\u008d\u008b\u0003\u0002\u0002\u0002\u008d',
'\u008e\u0003\u0002\u0002\u0002\u008e\u0092\u0003\u0002\u0002\u0002\u008f',
'\u008d\u0003\u0002\u0002\u0002\u0090\u0091\u0007H\u0002\u0002\u0091',
'\u0093\u0005,\u0017\u0002\u0092\u0090\u0003\u0002\u0002\u0002\u0092',
'\u0093\u0003\u0002\u0002\u0002\u0093\u0098\u0003\u0002\u0002\u0002\u0094',
'\u0095\u0007H\u0002\u0002\u0095\u0097\u0005\f\u0007\u0002\u0096\u0094',
'\u0003\u0002\u0002\u0002\u0097\u009a\u0003\u0002\u0002\u0002\u0098\u0096',
'\u0003\u0002\u0002\u0002\u0098\u0099\u0003\u0002\u0002\u0002\u0099\t',
'\u0003\u0002\u0002\u0002\u009a\u0098\u0003\u0002\u0002\u0002\u009b\u00a0',
'\u0005\u001e\u0010\u0002\u009c\u009d\u0007H\u0002\u0002\u009d\u009f',
'\u0005\f\u0007\u0002\u009e\u009c\u0003\u0002\u0002\u0002\u009f\u00a2',
'\u0003\u0002\u0002\u0002\u00a0\u009e\u0003\u0002\u0002\u0002\u00a0\u00a1',
'\u0003\u0002\u0002\u0002\u00a1\u000b\u0003\u0002\u0002\u0002\u00a2\u00a0',
'\u0003\u0002\u0002\u0002\u00a3\u00aa\u0005$\u0013\u0002\u00a4\u00aa',
'\u0005(\u0015\u0002\u00a5\u00aa\u00052\u001a\u0002\u00a6\u00aa\u0005',
'*\u0016\u0002\u00a7\u00aa\u00054\u001b\u0002\u00a8\u00aa\u00058\u001d',
'\u0002\u00a9\u00a3\u0003\u0002\u0002\u0002\u00a9\u00a4\u0003\u0002\u0002',
'\u0002\u00a9\u00a5\u0003\u0002\u0002\u0002\u00a9\u00a6\u0003\u0002\u0002',
'\u0002\u00a9\u00a7\u0003\u0002\u0002\u0002\u00a9\u00a8\u0003\u0002\u0002',
'\u0002\u00aa\r\u0003\u0002\u0002\u0002\u00ab\u00b4\u0005l7\u0002\u00ac',
'\u00ad\u0005n8\u0002\u00ad\u00ae\u0007W\u0002\u0002\u00ae\u00b0\u0005',
'V,\u0002\u00af\u00b1\u0007E\u0002\u0002\u00b0\u00af\u0003\u0002\u0002',
'\u0002\u00b0\u00b1\u0003\u0002\u0002\u0002\u00b1\u00b3\u0003\u0002\u0002',
'\u0002\u00b2\u00ac\u0003\u0002\u0002\u0002\u00b3\u00b6\u0003\u0002\u0002',
'\u0002\u00b4\u00b2\u0003\u0002\u0002\u0002\u00b4\u00b5\u0003\u0002\u0002',
'\u0002\u00b5\u000f\u0003\u0002\u0002\u0002\u00b6\u00b4\u0003\u0002\u0002',
'\u0002\u00b7\u00b8\u0007\u0005\u0002\u0002\u00b8\u00b9\u0005T+\u0002',
'\u00b9\u00ba\u0007\u0006\u0002\u0002\u00ba\u00bb\u0007W\u0002\u0002',
'\u00bb\u00bc\u0005\u0012\n\u0002\u00bc\u00bd\u0007\u0007\u0002\u0002',
'\u00bd\u00be\u0007W\u0002\u0002\u00be\u00bf\u0005\u0012\n\u0002\u00bf',
'\u0011\u0003\u0002\u0002\u0002\u00c0\u00c5\u0005\u0014\u000b\u0002\u00c1',
'\u00c5\u0005\u0016\f\u0002\u00c2\u00c5\u0005\u001a\u000e\u0002\u00c3',
'\u00c5\u0005\u0018\r\u0002\u00c4\u00c0\u0003\u0002\u0002\u0002\u00c4',
'\u00c1\u0003\u0002\u0002\u0002\u00c4\u00c2\u0003\u0002\u0002\u0002\u00c4',
'\u00c3\u0003\u0002\u0002\u0002\u00c5\u0013\u0003\u0002\u0002\u0002\u00c6',
'\u00c7\u0007\b\u0002\u0002\u00c7\u0015\u0003\u0002\u0002\u0002\u00c8',
'\u00ca\u0007Q\u0002\u0002\u00c9\u00cb\t\u0002\u0002\u0002\u00ca\u00c9',
'\u0003\u0002\u0002\u0002\u00ca\u00cb\u0003\u0002\u0002\u0002\u00cb\u00cc',
'\u0003\u0002\u0002\u0002\u00cc\u00d5\u0005r:\u0002\u00cd\u00cf\u0007',
'P\u0002\u0002\u00ce\u00cd\u0003\u0002\u0002\u0002\u00ce\u00cf\u0003',
'\u0002\u0002\u0002\u00cf\u00d1\u0003\u0002\u0002\u0002\u00d0\u00d2\t',
'\u0002\u0002\u0002\u00d1\u00d0\u0003\u0002\u0002\u0002\u00d1\u00d2\u0003',
'\u0002\u0002\u0002\u00d2\u00d3\u0003\u0002\u0002\u0002\u00d3\u00d5\u0005',
'r:\u0002\u00d4\u00c8\u0003\u0002\u0002\u0002\u00d4\u00ce\u0003\u0002',
'\u0002\u0002\u00d5\u0017\u0003\u0002\u0002\u0002\u00d6\u00d9\u0005N',
'(\u0002\u00d7\u00d9\u0005\u001c\u000f\u0002\u00d8\u00d6\u0003\u0002',
'\u0002\u0002\u00d8\u00d7\u0003\u0002\u0002\u0002\u00d9\u0019\u0003\u0002',
'\u0002\u0002\u00da\u00db\t\u0002\u0002\u0002\u00db\u001b\u0003\u0002',
'\u0002\u0002\u00dc\u00de\t\u0003\u0002\u0002\u00dd\u00dc\u0003\u0002',
'\u0002\u0002\u00de\u00e1\u0003\u0002\u0002\u0002\u00df\u00dd\u0003\u0002',
'\u0002\u0002\u00df\u00e0\u0003\u0002\u0002\u0002\u00e0\u001d\u0003\u0002',
'\u0002\u0002\u00e1\u00df\u0003\u0002\u0002\u0002\u00e2\u00e3\u0007\u000f',
'\u0002\u0002\u00e3\u00e8\u0005 \u0011\u0002\u00e4\u00e5\u0007E\u0002',
'\u0002\u00e5\u00e7\u0005 \u0011\u0002\u00e6\u00e4\u0003\u0002\u0002',
'\u0002\u00e7\u00ea\u0003\u0002\u0002\u0002\u00e8\u00e6\u0003\u0002\u0002',
'\u0002\u00e8\u00e9\u0003\u0002\u0002\u0002\u00e9\u00f7\u0003\u0002\u0002',
'\u0002\u00ea\u00e8\u0003\u0002\u0002\u0002\u00eb\u00ed\u0007\u0019\u0002',
'\u0002\u00ec\u00eb\u0003\u0002\u0002\u0002\u00ec\u00ed\u0003\u0002\u0002',
'\u0002\u00ed\u00ee\u0003\u0002\u0002\u0002\u00ee\u00ef\u0007\u001a\u0002',
'\u0002\u00ef\u00f4\u0005"\u0012\u0002\u00f0\u00f1\u0007E\u0002\u0002',
'\u00f1\u00f3\u0005"\u0012\u0002\u00f2\u00f0\u0003\u0002\u0002\u0002',
'\u00f3\u00f6\u0003\u0002\u0002\u0002\u00f4\u00f2\u0003\u0002\u0002\u0002',
'\u00f4\u00f5\u0003\u0002\u0002\u0002\u00f5\u00f8\u0003\u0002\u0002\u0002',
'\u00f6\u00f4\u0003\u0002\u0002\u0002\u00f7\u00ec\u0003\u0002\u0002\u0002',
'\u00f7\u00f8\u0003\u0002\u0002\u0002\u00f8\u001f\u0003\u0002\u0002\u0002',
'\u00f9\u00fc\u0005:\u001e\u0002\u00fa\u00fb\u0007\u001b\u0002\u0002',
'\u00fb\u00fd\u0005X-\u0002\u00fc\u00fa\u0003\u0002\u0002\u0002\u00fc',
'\u00fd\u0003\u0002\u0002\u0002\u00fd!\u0003\u0002\u0002\u0002\u00fe',
'\u0101\u0005V,\u0002\u00ff\u0101\u0005&\u0014\u0002\u0100\u00fe\u0003',
'\u0002\u0002\u0002\u0100\u00ff\u0003\u0002\u0002\u0002\u0101#\u0003',
'\u0002\u0002\u0002\u0102\u0103\u0007\f\u0002\u0002\u0103\u0108\u0005',
'&\u0014\u0002\u0104\u0105\u0007E\u0002\u0002\u0105\u0107\u0005&\u0014',
'\u0002\u0106\u0104\u0003\u0002\u0002\u0002\u0107\u010a\u0003\u0002\u0002',
'\u0002\u0108\u0106\u0003\u0002\u0002\u0002\u0108\u0109\u0003\u0002\u0002',
'\u0002\u0109\u0115\u0003\u0002\u0002\u0002\u010a\u0108\u0003\u0002\u0002',
'\u0002\u010b\u010c\u0007\r\u0002\u0002\u010c\u0111\u0005&\u0014\u0002',
'\u010d\u010e\u0007E\u0002\u0002\u010e\u0110\u0005&\u0014\u0002\u010f',
'\u010d\u0003\u0002\u0002\u0002\u0110\u0113\u0003\u0002\u0002\u0002\u0111',
'\u010f\u0003\u0002\u0002\u0002\u0111\u0112\u0003\u0002\u0002\u0002\u0112',
'\u0115\u0003\u0002\u0002\u0002\u0113\u0111\u0003\u0002\u0002\u0002\u0114',
'\u0102\u0003\u0002\u0002\u0002\u0114\u010b\u0003\u0002\u0002\u0002\u0115',
'%\u0003\u0002\u0002\u0002\u0116\u0119\u0005:\u001e\u0002\u0117\u0118',
'\u0007\u001b\u0002\u0002\u0118\u011a\u0005X-\u0002\u0119\u0117\u0003',
"\u0002\u0002\u0002\u0119\u011a\u0003\u0002\u0002\u0002\u011a'\u0003",
'\u0002\u0002\u0002\u011b\u011d\u0007\n\u0002\u0002\u011c\u011e\u0005',
'V,\u0002\u011d\u011c\u0003\u0002\u0002\u0002\u011d\u011e\u0003\u0002',
'\u0002\u0002\u011e\u011f\u0003\u0002\u0002\u0002\u011f\u0120\u0005L',
"'\u0002\u0120\u0121\u0007\u001b\u0002\u0002\u0121\u0126\u0005X-\u0002",
'\u0122\u0123\u0007E\u0002\u0002\u0123\u0125\u0005X-\u0002\u0124\u0122',
'\u0003\u0002\u0002\u0002\u0125\u0128\u0003\u0002\u0002\u0002\u0126\u0124',
'\u0003\u0002\u0002\u0002\u0126\u0127\u0003\u0002\u0002\u0002\u0127\u012f',
'\u0003\u0002\u0002\u0002\u0128\u0126\u0003\u0002\u0002\u0002\u0129\u012b',
'\u0007\n\u0002\u0002\u012a\u012c\u0005V,\u0002\u012b\u012a\u0003\u0002',
'\u0002\u0002\u012b\u012c\u0003\u0002\u0002\u0002\u012c\u012d\u0003\u0002',
'\u0002\u0002\u012d\u012f\u0005P)\u0002\u012e\u011b\u0003\u0002\u0002',
'\u0002\u012e\u0129\u0003\u0002\u0002\u0002\u012f)\u0003\u0002\u0002',
'\u0002\u0130\u0131\u0007\u000b\u0002\u0002\u0131\u0132\u0005.\u0018',
'\u0002\u0132+\u0003\u0002\u0002\u0002\u0133\u0135\u0007g\u0002\u0002',
'\u0134\u0133\u0003\u0002\u0002\u0002\u0134\u0135\u0003\u0002\u0002\u0002',
'\u0135\u0136\u0003\u0002\u0002\u0002\u0136\u0137\u0005.\u0018\u0002',
'\u0137-\u0003\u0002\u0002\u0002\u0138\u0139\b\u0018\u0001\u0002\u0139',
'\u013a\u0007l\u0002\u0002\u013a\u0141\u0005.\u0018\u0007\u013b\u013c',
'\u0007h\u0002\u0002\u013c\u013d\u0005.\u0018\u0002\u013d\u013e\u0007',
'i\u0002\u0002\u013e\u0141\u0003\u0002\u0002\u0002\u013f\u0141\u0005',
'0\u0019\u0002\u0140\u0138\u0003\u0002\u0002\u0002\u0140\u013b\u0003',
'\u0002\u0002\u0002\u0140\u013f\u0003\u0002\u0002\u0002\u0141\u014c\u0003',
'\u0002\u0002\u0002\u0142\u0144\f\u0005\u0002\u0002\u0143\u0145\u0007',
'j\u0002\u0002\u0144\u0143\u0003\u0002\u0002\u0002\u0144\u0145\u0003',
'\u0002\u0002\u0002\u0145\u0146\u0003\u0002\u0002\u0002\u0146\u014b\u0005',
'.\u0018\u0006\u0147\u0148\f\u0004\u0002\u0002\u0148\u0149\u0007k\u0002',
'\u0002\u0149\u014b\u0005.\u0018\u0005\u014a\u0142\u0003\u0002\u0002',
'\u0002\u014a\u0147\u0003\u0002\u0002\u0002\u014b\u014e\u0003\u0002\u0002',
'\u0002\u014c\u014a\u0003\u0002\u0002\u0002\u014c\u014d\u0003\u0002\u0002',
'\u0002\u014d/\u0003\u0002\u0002\u0002\u014e\u014c\u0003\u0002\u0002',
'\u0002\u014f\u0155\u0007q\u0002\u0002\u0150\u0155\u0007m\u0002\u0002',
'\u0151\u0155\u0007n\u0002\u0002\u0152\u0155\u0007o\u0002\u0002\u0153',
'\u0155\u0007p\u0002\u0002\u0154\u014f\u0003\u0002\u0002\u0002\u0154',
'\u0150\u0003\u0002\u0002\u0002\u0154\u0151\u0003\u0002\u0002\u0002\u0154',
'\u0152\u0003\u0002\u0002\u0002\u0154\u0153\u0003\u0002\u0002\u0002\u0155',
'1\u0003\u0002\u0002\u0002\u0156\u0157\u0007\u000e\u0002\u0002\u0157',
'\u0158\u0005:\u001e\u0002\u01583\u0003\u0002\u0002\u0002\u0159\u015b',
'\t\u0004\u0002\u0002\u015a\u015c\u0007\u001a\u0002\u0002\u015b\u015a',
'\u0003\u0002\u0002\u0002\u015b\u015c\u0003\u0002\u0002\u0002\u015c\u015d',
'\u0003\u0002\u0002\u0002\u015d\u0162\u00056\u001c\u0002\u015e\u015f',
'\u0007E\u0002\u0002\u015f\u0161\u00056\u001c\u0002\u0160\u015e\u0003',
'\u0002\u0002\u0002\u0161\u0164\u0003\u0002\u0002\u0002\u0162\u0160\u0003',
'\u0002\u0002\u0002\u0162\u0163\u0003\u0002\u0002\u0002\u01635\u0003',
'\u0002\u0002\u0002\u0164\u0162\u0003\u0002\u0002\u0002\u0165\u0166\u0005',
'V,\u0002\u0166\u0167\u0007\u0013\u0002\u0002\u0167\u016d\u0003\u0002',
'\u0002\u0002\u0168\u016a\u0005V,\u0002\u0169\u016b\u0007\u0012\u0002',
'\u0002\u016a\u0169\u0003\u0002\u0002\u0002\u016a\u016b\u0003\u0002\u0002',
'\u0002\u016b\u016d\u0003\u0002\u0002\u0002\u016c\u0165\u0003\u0002\u0002',
'\u0002\u016c\u0168\u0003\u0002\u0002\u0002\u016d7\u0003\u0002\u0002',
'\u0002\u016e\u016f\t\u0005\u0002\u0002\u016f\u0173\u0007;\u0002\u0002',
'\u0170\u0171\u0007\u0016\u0002\u0002\u0171\u0173\u0007;\u0002\u0002',
'\u0172\u016e\u0003\u0002\u0002\u0002\u0172\u0170\u0003\u0002\u0002\u0002',
'\u01739\u0003\u0002\u0002\u0002\u0174\u0175\u0005<\u001f\u0002\u0175',
';\u0003\u0002\u0002\u0002\u0176\u0177\b\u001f\u0001\u0002\u0177\u0178',
'\u0007F\u0002\u0002\u0178\u0179\u0005<\u001f\u0002\u0179\u017a\u0007',
'G\u0002\u0002\u017a\u0183\u0003\u0002\u0002\u0002\u017b\u017c\t\u0006',
'\u0002\u0002\u017c\u0183\u0005<\u001f\u000e\u017d\u017e\u0007Q\u0002',
'\u0002\u017e\u0183\u0005<\u001f\r\u017f\u0180\u0007P\u0002\u0002\u0180',
'\u0183\u0005<\u001f\f\u0181\u0183\u0005> \u0002\u0182\u0176\u0003\u0002',
'\u0002\u0002\u0182\u017b\u0003\u0002\u0002\u0002\u0182\u017d\u0003\u0002',
'\u0002\u0002\u0182\u017f\u0003\u0002\u0002\u0002\u0182\u0181\u0003\u0002',
'\u0002\u0002\u0183\u01ac\u0003\u0002\u0002\u0002\u0184\u0185\f\u000f',
'\u0002\u0002\u0185\u0186\u0007K\u0002\u0002\u0186\u01ab\u0005<\u001f',
'\u000f\u0187\u0188\f\u000b\u0002\u0002\u0188\u0189\t\u0007\u0002\u0002',
'\u0189\u01ab\u0005<\u001f\f\u018a\u018b\f\n\u0002\u0002\u018b\u018c',
'\t\b\u0002\u0002\u018c\u01ab\u0005<\u001f\u000b\u018d\u018e\f\t\u0002',
'\u0002\u018e\u018f\t\t\u0002\u0002\u018f\u01ab\u0005<\u001f\n\u0190',
'\u0195\f\b\u0002\u0002\u0191\u0192\u0007W\u0002\u0002\u0192\u0196\u0007',
'W\u0002\u0002\u0193\u0196\u0007W\u0002\u0002\u0194\u0196\u0007X\u0002',
'\u0002\u0195\u0191\u0003\u0002\u0002\u0002\u0195\u0193\u0003\u0002\u0002',
'\u0002\u0195\u0194\u0003\u0002\u0002\u0002\u0196\u0197\u0003\u0002\u0002',
'\u0002\u0197\u01ab\u0005<\u001f\t\u0198\u0199\f\u0005\u0002\u0002\u0199',
'\u019a\u0007\u001c\u0002\u0002\u019a\u01ab\u0005<\u001f\u0006\u019b',
'\u019c\f\u0004\u0002\u0002\u019c\u019d\u0007\u001d\u0002\u0002\u019d',
'\u01ab\u0005<\u001f\u0005\u019e\u01a0\f\u0007\u0002\u0002\u019f\u01a1',
'\u0007\u001e\u0002\u0002\u01a0\u019f\u0003\u0002\u0002\u0002\u01a0\u01a1',
'\u0003\u0002\u0002\u0002\u01a1\u01a2\u0003\u0002\u0002\u0002\u01a2\u01a3',
'\t\n\u0002\u0002\u01a3\u01ab\u0005@!\u0002\u01a4\u01a6\f\u0006\u0002',
'\u0002\u01a5\u01a7\u0007\u001e\u0002\u0002\u01a6\u01a5\u0003\u0002\u0002',
'\u0002\u01a6\u01a7\u0003\u0002\u0002\u0002\u01a7\u01a8\u0003\u0002\u0002',
'\u0002\u01a8\u01a9\u0007\u0018\u0002\u0002\u01a9\u01ab\u0005F$\u0002',
'\u01aa\u0184\u0003\u0002\u0002\u0002\u01aa\u0187\u0003\u0002\u0002\u0002',
'\u01aa\u018a\u0003\u0002\u0002\u0002\u01aa\u018d\u0003\u0002\u0002\u0002',
'\u01aa\u0190\u0003\u0002\u0002\u0002\u01aa\u0198\u0003\u0002\u0002\u0002',
'\u01aa\u019b\u0003\u0002\u0002\u0002\u01aa\u019e\u0003\u0002\u0002\u0002',
'\u01aa\u01a4\u0003\u0002\u0002\u0002\u01ab\u01ae\u0003\u0002\u0002\u0002',
'\u01ac\u01aa\u0003\u0002\u0002\u0002\u01ac\u01ad\u0003\u0002\u0002\u0002',
'\u01ad=\u0003\u0002\u0002\u0002\u01ae\u01ac\u0003\u0002\u0002\u0002',
'\u01af\u01b4\u0005V,\u0002\u01b0\u01b4\u0005J&\u0002\u01b1\u01b4\u0005',
'N(\u0002\u01b2\u01b4\u0005B"\u0002\u01b3\u01af\u0003\u0002\u0002\u0002',
'\u01b3\u01b0\u0003\u0002\u0002\u0002\u01b3\u01b1\u0003\u0002\u0002\u0002',
'\u01b3\u01b2\u0003\u0002\u0002\u0002\u01b4?\u0003\u0002\u0002\u0002',
'\u01b5\u01b8\u0005P)\u0002\u01b6\u01b8\u0005R*\u0002\u01b7\u01b5\u0003',
'\u0002\u0002\u0002\u01b7\u01b6\u0003\u0002\u0002\u0002\u01b8A\u0003',
'\u0002\u0002\u0002\u01b9\u01ba\u0005l7\u0002\u01ba\u01bb\u0007F\u0002',
'\u0002\u01bb\u01c0\u0005D#\u0002\u01bc\u01bd\u0007E\u0002\u0002\u01bd',
'\u01bf\u0005D#\u0002\u01be\u01bc\u0003\u0002\u0002\u0002\u01bf\u01c2',
'\u0003\u0002\u0002\u0002\u01c0\u01be\u0003\u0002\u0002\u0002\u01c0\u01c1',
'\u0003\u0002\u0002\u0002\u01c1\u01c3\u0003\u0002\u0002\u0002\u01c2\u01c0',
'\u0003\u0002\u0002\u0002\u01c3\u01c4\u0007G\u0002\u0002\u01c4\u01cd',
'\u0003\u0002\u0002\u0002\u01c5\u01c6\u0005l7\u0002\u01c6\u01c8\u0007',
'F\u0002\u0002\u01c7\u01c9\u0007M\u0002\u0002\u01c8\u01c7\u0003\u0002',
'\u0002\u0002\u01c8\u01c9\u0003\u0002\u0002\u0002\u01c9\u01ca\u0003\u0002',
'\u0002\u0002\u01ca\u01cb\u0007G\u0002\u0002\u01cb\u01cd\u0003\u0002',
'\u0002\u0002\u01cc\u01b9\u0003\u0002\u0002\u0002\u01cc\u01c5\u0003\u0002',
'\u0002\u0002\u01cdC\u0003\u0002\u0002\u0002\u01ce\u01d1\u0005\u0016',
'\f\u0002\u01cf\u01d1\u0005<\u001f\u0002\u01d0\u01ce\u0003\u0002\u0002',
'\u0002\u01d0\u01cf\u0003\u0002\u0002\u0002\u01d1E\u0003\u0002\u0002',
'\u0002\u01d2\u01d3\u0007Y\u0002\u0002\u01d3\u01d8\u0005H%\u0002\u01d4',
'\u01d5\u0007E\u0002\u0002\u01d5\u01d7\u0005H%\u0002\u01d6\u01d4\u0003',
'\u0002\u0002\u0002\u01d7\u01da\u0003\u0002\u0002\u0002\u01d8\u01d6\u0003',
'\u0002\u0002\u0002\u01d8\u01d9\u0003\u0002\u0002\u0002\u01d9\u01db\u0003',
'\u0002\u0002\u0002\u01da\u01d8\u0003\u0002\u0002\u0002\u01db\u01dc\u0007',
'Z\u0002\u0002\u01dc\u01e0\u0003\u0002\u0002\u0002\u01dd\u01de\u0007',
'Y\u0002\u0002\u01de\u01e0\u0007Z\u0002\u0002\u01df\u01d2\u0003\u0002',
'\u0002\u0002\u01df\u01dd\u0003\u0002\u0002\u0002\u01e0G\u0003\u0002',
"\u0002\u0002\u01e1\u01e4\u0005L'\u0002\u01e2\u01e4\u0005J&\u0002\u01e3",
'\u01e1\u0003\u0002\u0002\u0002\u01e3\u01e2\u0003\u0002\u0002\u0002\u01e4',
'I\u0003\u0002\u0002\u0002\u01e5\u01e8\u0007<\u0002\u0002\u01e6\u01e8',
'\u0007;\u0002\u0002\u01e7\u01e5\u0003\u0002\u0002\u0002\u01e7\u01e6',
'\u0003\u0002\u0002\u0002\u01e8K\u0003\u0002\u0002\u0002\u01e9\u01ee',
'\t\u000b\u0002\u0002\u01ea\u01ee\t\f\u0002\u0002\u01eb\u01ee\t\r\u0002',
'\u0002\u01ec\u01ee\t\u000e\u0002\u0002\u01ed\u01e9\u0003\u0002\u0002',
'\u0002\u01ed\u01ea\u0003\u0002\u0002\u0002\u01ed\u01eb\u0003\u0002\u0002',
'\u0002\u01ed\u01ec\u0003\u0002\u0002\u0002\u01eeM\u0003\u0002\u0002',
'\u0002\u01ef\u01f5\t\u000b\u0002\u0002\u01f0\u01f5\t\f\u0002\u0002\u01f1',
'\u01f5\t\r\u0002\u0002\u01f2\u01f5\t\u000e\u0002\u0002\u01f3\u01f5\u0007',
':\u0002\u0002\u01f4\u01ef\u0003\u0002\u0002\u0002\u01f4\u01f0\u0003',
'\u0002\u0002\u0002\u01f4\u01f1\u0003\u0002\u0002\u0002\u01f4\u01f2\u0003',
'\u0002\u0002\u0002\u01f4\u01f3\u0003\u0002\u0002\u0002\u01f5O\u0003',
'\u0002\u0002\u0002\u01f6\u01f7\u0007]\u0002\u0002\u01f7Q\u0003\u0002',
'\u0002\u0002\u01f8\u01fd\u0007^\u0002\u0002\u01f9\u01fd\u0007_\u0002',
'\u0002\u01fa\u01fd\u0007`\u0002\u0002\u01fb\u01fd\u0007a\u0002\u0002',
'\u01fc\u01f8\u0003\u0002\u0002\u0002\u01fc\u01f9\u0003\u0002\u0002\u0002',
'\u01fc\u01fa\u0003\u0002\u0002\u0002\u01fc\u01fb\u0003\u0002\u0002\u0002',
'\u01fdS\u0003\u0002\u0002\u0002\u01fe\u0206\u0007:\u0002\u0002\u01ff',
'\u0206\u0005p9\u0002\u0200\u0206\u0005r:\u0002\u0201\u0206\t\u000b\u0002',
'\u0002\u0202\u0206\t\f\u0002\u0002\u0203\u0206\t\r\u0002\u0002\u0204',
'\u0206\t\u000e\u0002\u0002\u0205\u01fe\u0003\u0002\u0002\u0002\u0205',
'\u01ff\u0003\u0002\u0002\u0002\u0205\u0200\u0003\u0002\u0002\u0002\u0205',
'\u0201\u0003\u0002\u0002\u0002\u0205\u0202\u0003\u0002\u0002\u0002\u0205',
'\u0203\u0003\u0002\u0002\u0002\u0205\u0204\u0003\u0002\u0002\u0002\u0206',
'U\u0003\u0002\u0002\u0002\u0207\u020a\u0005Z.\u0002\u0208\u020a\u0005',
'd3\u0002\u0209\u0207\u0003\u0002\u0002\u0002\u0209\u0208\u0003\u0002',
'\u0002\u0002\u020aW\u0003\u0002\u0002\u0002\u020b\u020e\u0005Z.\u0002',
'\u020c\u020e\u0005d3\u0002\u020d\u020b\u0003\u0002\u0002\u0002\u020d',
'\u020c\u0003\u0002\u0002\u0002\u020eY\u0003\u0002\u0002\u0002\u020f',
'\u0212\u0005\\/\u0002\u0210\u0212\u0005b2\u0002\u0211\u020f\u0003\u0002',
'\u0002\u0002\u0211\u0210\u0003\u0002\u0002\u0002\u0212[\u0003\u0002',
'\u0002\u0002\u0213\u0216\u0005`1\u0002\u0214\u0216\u0005^0\u0002\u0215',
'\u0213\u0003\u0002\u0002\u0002\u0215\u0214\u0003\u0002\u0002\u0002\u0216',
']\u0003\u0002\u0002\u0002\u0217\u0219\t\u000f\u0002\u0002\u0218\u021a',
'\t\u000f\u0002\u0002\u0219\u0218\u0003\u0002\u0002\u0002\u021a\u021b',
'\u0003\u0002\u0002\u0002\u021b\u0219\u0003\u0002\u0002\u0002\u021b\u021c',
'\u0003\u0002\u0002\u0002\u021c\u021d\u0003\u0002\u0002\u0002\u021d\u021e',
'\u0005n8\u0002\u021e_\u0003\u0002\u0002\u0002\u021f\u0220\u0005n8\u0002',
'\u0220a\u0003\u0002\u0002\u0002\u0221\u0222\t\u0010\u0002\u0002\u0222',
'c\u0003\u0002\u0002\u0002\u0223\u0226\u0005f4\u0002\u0224\u0226\u0005',
'h5\u0002\u0225\u0223\u0003\u0002\u0002\u0002\u0225\u0224\u0003\u0002',
'\u0002\u0002\u0226e\u0003\u0002\u0002\u0002\u0227\u0228\t\u000f\u0002',
'\u0002\u0228\u0229\u0005n8\u0002\u0229g\u0003\u0002\u0002\u0002\u022a',
'\u022b\t\u000f\u0002\u0002\u022b\u022c\t\u0010\u0002\u0002\u022ci\u0003',
'\u0002\u0002\u0002\u022d\u022e\u0005n8\u0002\u022ek\u0003\u0002\u0002',
'\u0002\u022f\u0230\u0005n8\u0002\u0230m\u0003\u0002\u0002\u0002\u0231',
'\u0235\t\u0011\u0002\u0002\u0232\u0235\u0005p9\u0002\u0233\u0235\u0005',
'r:\u0002\u0234\u0231\u0003\u0002\u0002\u0002\u0234\u0232\u0003\u0002',
'\u0002\u0002\u0234\u0233\u0003\u0002\u0002\u0002\u0235o\u0003\u0002',
'\u0002\u0002\u0236\u0237\t\u0012\u0002\u0002\u0237q\u0003\u0002\u0002',
'\u0002\u0238\u0242\t\u0013\u0002\u0002\u0239\u0242\t\u0014\u0002\u0002',
'\u023a\u0242\t\u0015\u0002\u0002\u023b\u0242\t\u0016\u0002\u0002\u023c',
'\u0242\t\u0017\u0002\u0002\u023d\u0242\t\u0018\u0002\u0002\u023e\u0242',
'\t\u0019\u0002\u0002\u023f\u0242\t\u001a\u0002\u0002\u0240\u0242\t\u001b',
'\u0002\u0002\u0241\u0238\u0003\u0002\u0002\u0002\u0241\u0239\u0003\u0002',
'\u0002\u0002\u0241\u023a\u0003\u0002\u0002\u0002\u0241\u023b\u0003\u0002',
'\u0002\u0002\u0241\u023c\u0003\u0002\u0002\u0002\u0241\u023d\u0003\u0002',
'\u0002\u0002\u0241\u023e\u0003\u0002\u0002\u0002\u0241\u023f\u0003\u0002',
'\u0002\u0002\u0241\u0240\u0003\u0002\u0002\u0002\u0242s\u0003\u0002',
'\u0002\u0002Hz~\u0085\u008d\u0092\u0098\u00a0\u00a9\u00b0\u00b4\u00c4',
'\u00ca\u00ce\u00d1\u00d4\u00d8\u00df\u00e8\u00ec\u00f4\u00f7\u00fc\u0100',
'\u0108\u0111\u0114\u0119\u011d\u0126\u012b\u012e\u0134\u0140\u0144\u014a',
'\u014c\u0154\u015b\u0162\u016a\u016c\u0172\u0182\u0195\u01a0\u01a6\u01aa',
'\u01ac\u01b3\u01b7\u01c0\u01c8\u01cc\u01d0\u01d8\u01df\u01e3\u01e7\u01ed',
'\u01f4\u01fc\u0205\u0209\u020d\u0211\u0215\u021b\u0225\u0234\u0241',
].join('');
var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
var decisionsToDFA = atn.decisionToState.map(function(ds, index) {
return new antlr4.dfa.DFA(ds, index);
});
var sharedContextCache = new antlr4.PredictionContextCache();
var literalNames = [
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
"'=~'",
"'~='",
null,
null,
null,
null,
null,
"'|>'",
"':'",
"'^'",
"'!'",
"'*'",
"'/'",
"'%'",
"'+'",
"'-'",
"'~'",
"'<'",
"'>'",
"'<='",
"'>='",
"'='",
"'!='",
"'['",
"']'",
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
"'|'",
];
var symbolicNames = [
null,
'WS',
'COMMENT',
'K_SOURCE',
'K_START',
'K_END',
'K_NOW',
'K_LIVE',
'K_PARSE',
'K_SEARCH',
'K_FIELDS',
'K_DISPLAY',
'K_FILTER',
'K_STATS',
'K_SORT',
'K_ORDER',
'K_ASC',
'K_DESC',
'K_HEAD',
'K_LIMIT',
'K_TAIL',
'K_REGEX',
'K_IN',
'K_GROUP',
'K_BY',
'K_AS',
'K_AND',
'K_OR',
'K_NOT',
'K_LIKE',
'K_MATCHES',
'K_TU_MS',
'K_TU_MSEC',
'K_TU_MSECOND',
'K_TU_S',
'K_TU_SEC',
'K_TU_SECOND',
'K_TU_M',
'K_TU_MIN',
'K_TU_MINUTE',
'K_TU_H',
'K_TU_HR',
'K_TU_HOUR',
'K_TU_D',
'K_TU_DAY',
'K_TU_W',
'K_TU_WEEK',
'K_TU_MO',
'K_TU_MON',
'K_TU_MONTH',
'K_TU_Q',
'K_TU_QTR',
'K_TU_QUARTER',
'K_TU_Y',
'K_TU_YR',
'K_TU_YEAR',
'RAW_ID',
'LIT_INTEGER',
'LIT_NUMBER',
'SDQUOTED_STRING',
'SSQUOTED_STRING',
'CDQUOTED_STRING',
'CSQUOTED_STRING',
'QUOTED_IDENT',
'SYM_EQTILDE',
'SYM_TILDEEQ',
'SYM_AT',
'SYM_COMMA',
'SYM_LPAREN',
'SYM_RPAREN',
'SYM_PIPE',
'SYM_WRITE',
'SYM_COLON',
'SYM_CARET',
'SYM_NOT',
'SYM_MUL',
'SYM_DIV',
'SYM_MOD',
'SYM_PLUS',
'SYM_MINUS',
'SYM_TILDE',
'SYM_LT',
'SYM_GT',
'SYM_LTEQ',
'SYM_GTEQ',
'SYM_EQ',
'SYM_NEQ',
'SYM_LBRACKET',
'SYM_RBRACKET',
'REGEX_WS',
'REGEX_COMMENT',
'REGEX',
'RE_SDQUOTED_STRING',
'RE_SSQUOTED_STRING',
'RE_CDQUOTED_STRING',
'RE_CSQUOTED_STRING',
'RE_RAW_ID',
'RE_SYM_AT',
'RE_QUOTED_IDENT',
'SE_WS',
'SE_COMMENT',
'SE_K_SEARCH',
'SE_SYM_LPAREN',
'SE_SYM_RPAREN',
'SE_K_AND',
'SE_K_OR',
'SE_K_NOT',
'SE_SDQUOTED_STRING',
'SE_SSQUOTED_STRING',
'SE_CDQUOTED_STRING',
'SE_CSQUOTED_STRING',
'SE_UNQUOTED_STRING',
'SE_PIPE',
];
var ruleNames = [
'query',
'logQuery',
'logAesthetic',
'logSourceStage',
'logStatsStage',
'logOp',
'logAestheticOp',
'logSource',
'timeExpr',
'nowTimeExpr',
'relativeTimeExpr',
'iso8601TimeExpr',
'epochTimeExpr',
'bareSpaceDelimited',
'logStats',
'statsExpr',
'statsGroupField',
'logOpFields',
'fieldSpec',
'logOpParse',
'logOpSearch',
'implicitLogOpSearch',
'searchExpr',
'searchTerm',
'logOpFilter',
'logOpSort',
'sortExpr',
'logOpLimit',
'expressionRoot',
'expression',
'term',
'likeTerm',
'func',
'functionArg',
'array',
'arrayElem',
'number',
'string',
'stringOrBareString',
'regex',
'regexString',
'logId',
'fieldId',
'aliasId',
'userId',
'unquotedUserId',
'unquotedUserAtId',
'unquotedUserBareId',
'quotedUserId',
'systemId',
'unquotedSystemId',
'quotedSystemId',
'resultId',
'functionId',
'rawId',
'keywords',
'timeUnitKeywords',
];
function ScrollQLParser(input) {
antlr4.Parser.call(this, input);
this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache);
this.ruleNames = ruleNames;
this.literalNames = literalNames;
this.symbolicNames = symbolicNames;
return this;
}
ScrollQLParser.prototype = Object.create(antlr4.Parser.prototype);
ScrollQLParser.prototype.constructor = ScrollQLParser;
Object.defineProperty(ScrollQLParser.prototype, 'atn', {
get: function() {
return atn;
},
});
ScrollQLParser.EOF = antlr4.Token.EOF;
ScrollQLParser.WS = 1;
ScrollQLParser.COMMENT = 2;
ScrollQLParser.K_SOURCE = 3;
ScrollQLParser.K_START = 4;
ScrollQLParser.K_END = 5;
ScrollQLParser.K_NOW = 6;
ScrollQLParser.K_LIVE = 7;
ScrollQLParser.K_PARSE = 8;
ScrollQLParser.K_SEARCH = 9;
ScrollQLParser.K_FIELDS = 10;
ScrollQLParser.K_DISPLAY = 11;
ScrollQLParser.K_FILTER = 12;
ScrollQLParser.K_STATS = 13;
ScrollQLParser.K_SORT = 14;
ScrollQLParser.K_ORDER = 15;
ScrollQLParser.K_ASC = 16;
ScrollQLParser.K_DESC = 17;
ScrollQLParser.K_HEAD = 18;
ScrollQLParser.K_LIMIT = 19;
ScrollQLParser.K_TAIL = 20;
ScrollQLParser.K_REGEX = 21;
ScrollQLParser.K_IN = 22;
ScrollQLParser.K_GROUP = 23;
ScrollQLParser.K_BY = 24;
ScrollQLParser.K_AS = 25;
ScrollQLParser.K_AND = 26;
ScrollQLParser.K_OR = 27;
ScrollQLParser.K_NOT = 28;
ScrollQLParser.K_LIKE = 29;
ScrollQLParser.K_MATCHES = 30;
ScrollQLParser.K_TU_MS = 31;
ScrollQLParser.K_TU_MSEC = 32;
ScrollQLParser.K_TU_MSECOND = 33;
ScrollQLParser.K_TU_S = 34;
ScrollQLParser.K_TU_SEC = 35;
ScrollQLParser.K_TU_SECOND = 36;
ScrollQLParser.K_TU_M = 37;
ScrollQLParser.K_TU_MIN = 38;
ScrollQLParser.K_TU_MINUTE = 39;
ScrollQLParser.K_TU_H = 40;
ScrollQLParser.K_TU_HR = 41;
ScrollQLParser.K_TU_HOUR = 42;
ScrollQLParser.K_TU_D = 43;
ScrollQLParser.K_TU_DAY = 44;
ScrollQLParser.K_TU_W = 45;
ScrollQLParser.K_TU_WEEK = 46;
ScrollQLParser.K_TU_MO = 47;
ScrollQLParser.K_TU_MON = 48;
ScrollQLParser.K_TU_MONTH = 49;
ScrollQLParser.K_TU_Q = 50;
ScrollQLParser.K_TU_QTR = 51;
ScrollQLParser.K_TU_QUARTER = 52;
ScrollQLParser.K_TU_Y = 53;
ScrollQLParser.K_TU_YR = 54;
ScrollQLParser.K_TU_YEAR = 55;
ScrollQLParser.RAW_ID = 56;
ScrollQLParser.LIT_INTEGER = 57;
ScrollQLParser.LIT_NUMBER = 58;
ScrollQLParser.SDQUOTED_STRING = 59;
ScrollQLParser.SSQUOTED_STRING = 60;
ScrollQLParser.CDQUOTED_STRING = 61;
ScrollQLParser.CSQUOTED_STRING = 62;
ScrollQLParser.QUOTED_IDENT = 63;
ScrollQLParser.SYM_EQTILDE = 64;
ScrollQLParser.SYM_TILDEEQ = 65;
ScrollQLParser.SYM_AT = 66;
ScrollQLParser.SYM_COMMA = 67;
ScrollQLParser.SYM_LPAREN = 68;
ScrollQLParser.SYM_RPAREN = 69;
ScrollQLParser.SYM_PIPE = 70;
ScrollQLParser.SYM_WRITE = 71;
ScrollQLParser.SYM_COLON = 72;
ScrollQLParser.SYM_CARET = 73;
ScrollQLParser.SYM_NOT = 74;
ScrollQLParser.SYM_MUL = 75;
ScrollQLParser.SYM_DIV = 76;
ScrollQLParser.SYM_MOD = 77;
ScrollQLParser.SYM_PLUS = 78;
ScrollQLParser.SYM_MINUS = 79;
ScrollQLParser.SYM_TILDE = 80;
ScrollQLParser.SYM_LT = 81;
ScrollQLParser.SYM_GT = 82;
ScrollQLParser.SYM_LTEQ = 83;
ScrollQLParser.SYM_GTEQ = 84;
ScrollQLParser.SYM_EQ = 85;
ScrollQLParser.SYM_NEQ = 86;
ScrollQLParser.SYM_LBRACKET = 87;
ScrollQLParser.SYM_RBRACKET = 88;
ScrollQLParser.REGEX_WS = 89;
ScrollQLParser.REGEX_COMMENT = 90;
ScrollQLParser.REGEX = 91;
ScrollQLParser.RE_SDQUOTED_STRING = 92;
ScrollQLParser.RE_SSQUOTED_STRING = 93;
ScrollQLParser.RE_CDQUOTED_STRING = 94;
ScrollQLParser.RE_CSQUOTED_STRING = 95;
ScrollQLParser.RE_RAW_ID = 96;
ScrollQLParser.RE_SYM_AT = 97;
ScrollQLParser.RE_QUOTED_IDENT = 98;
ScrollQLParser.SE_WS = 99;
ScrollQLParser.SE_COMMENT = 100;
ScrollQLParser.SE_K_SEARCH = 101;
ScrollQLParser.SE_SYM_LPAREN = 102;
ScrollQLParser.SE_SYM_RPAREN = 103;
ScrollQLParser.SE_K_AND = 104;
ScrollQLParser.SE_K_OR = 105;
ScrollQLParser.SE_K_NOT = 106;
ScrollQLParser.SE_SDQUOTED_STRING = 107;
ScrollQLParser.SE_SSQUOTED_STRING = 108;
ScrollQLParser.SE_CDQUOTED_STRING = 109;
ScrollQLParser.SE_CSQUOTED_STRING = 110;
ScrollQLParser.SE_UNQUOTED_STRING = 111;
ScrollQLParser.SE_PIPE = 112;
ScrollQLParser.RULE_query = 0;
ScrollQLParser.RULE_logQuery = 1;
ScrollQLParser.RULE_logAesthetic = 2;
ScrollQLParser.RULE_logSourceStage = 3;
ScrollQLParser.RULE_logStatsStage = 4;
ScrollQLParser.RULE_logOp = 5;
ScrollQLParser.RULE_logAestheticOp = 6;
ScrollQLParser.RULE_logSource = 7;
ScrollQLParser.RULE_timeExpr = 8;
ScrollQLParser.RULE_nowTimeExpr = 9;
ScrollQLParser.RULE_relativeTimeExpr = 10;
ScrollQLParser.RULE_iso8601TimeExpr = 11;
ScrollQLParser.RULE_epochTimeExpr = 12;
ScrollQLParser.RULE_bareSpaceDelimited = 13;
ScrollQLParser.RULE_logStats = 14;
ScrollQLParser.RULE_statsExpr = 15;
ScrollQLParser.RULE_statsGroupField = 16;
ScrollQLParser.RULE_logOpFields = 17;
ScrollQLParser.RULE_fieldSpec = 18;
ScrollQLParser.RULE_logOpParse = 19;
ScrollQLParser.RULE_logOpSearch = 20;
ScrollQLParser.RULE_implicitLogOpSearch = 21;
ScrollQLParser.RULE_searchExpr = 22;
ScrollQLParser.RULE_searchTerm = 23;
ScrollQLParser.RULE_logOpFilter = 24;
ScrollQLParser.RULE_logOpSort = 25;
ScrollQLParser.RULE_sortExpr = 26;
ScrollQLParser.RULE_logOpLimit = 27;
ScrollQLParser.RULE_expressionRoot = 28;
ScrollQLParser.RULE_expression = 29;
ScrollQLParser.RULE_term = 30;
ScrollQLParser.RULE_likeTerm = 31;
ScrollQLParser.RULE_func = 32;
ScrollQLParser.RULE_functionArg = 33;
ScrollQLParser.RULE_array = 34;
ScrollQLParser.RULE_arrayElem = 35;
ScrollQLParser.RULE_number = 36;
ScrollQLParser.RULE_string = 37;
ScrollQLParser.RULE_stringOrBareString = 38;
ScrollQLParser.RULE_regex = 39;
ScrollQLParser.RULE_regexString = 40;
ScrollQLParser.RULE_logId = 41;
ScrollQLParser.RULE_fieldId = 42;
ScrollQLParser.RULE_aliasId = 43;
ScrollQLParser.RULE_userId = 44;
ScrollQLParser.RULE_unquotedUserId = 45;
ScrollQLParser.RULE_unquotedUserAtId = 46;
ScrollQLParser.RULE_unquotedUserBareId = 47;
ScrollQLParser.RULE_quotedUserId = 48;
ScrollQLParser.RULE_systemId = 49;
ScrollQLParser.RULE_unquotedSystemId = 50;
ScrollQLParser.RULE_quotedSystemId = 51;
ScrollQLParser.RULE_resultId = 52;
ScrollQLParser.RULE_functionId = 53;
ScrollQLParser.RULE_rawId = 54;
ScrollQLParser.RULE_keywords = 55;
ScrollQLParser.RULE_timeUnitKeywords = 56;
function QueryContext(parser, parent, invokingState) {
if (parent === undefined) {
parent = null;
}
if (invokingState === undefined || invokingState === null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = ScrollQLParser.RULE_query;
return this;
}
QueryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
QueryContext.prototype.constructor = QueryContext;
QueryContext.prototype.logQuery = function() {
return this.getTypedRuleContext(LogQueryContext, 0);
};
QueryContext.prototype.EOF = function() {
return this.getToken(ScrollQLParser.EOF, 0);
};
QueryContext.prototype.enterRule = function(listener) {
if (listener instanceof ScrollQLParserListener) {
listener.enterQuery(this);
}
};
QueryContext.prototype.exitRule = function(listener) {
if (listener instanceof ScrollQLParserListener) {
listener.exitQuery(this);
}
};
ScrollQLParser.QueryContext = QueryContext;
ScrollQLParser.prototype.query = function() {
var localctx = new QueryContext(this, this._ctx, this.state);
this.enterRule(localctx, 0, ScrollQLParser.RULE_query);
try {
this.enterOuterAlt(localctx, 1);
this.state = 114;
this.logQuery();
this.state = 115;
this.match(ScrollQLParser.EOF);
} catch (re) {
if (re instanceof antlr4.error.RecognitionException) {
localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
} else {
throw re;
}
} finally {
this.exitRule();
}
return localctx;
};
function LogQueryContext(parser, parent, invokingState) {
if (parent === undefined) {
parent = null;
}
if (invokingState === undefined || invokingState === null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = ScrollQLParser.RULE_logQuery;
this.result = null; // ResultIdContext
return this;
}
LogQueryContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
LogQueryContext.prototype.constructor = LogQueryContext;
LogQueryContext.prototype.logSourceStage = function() {
return this.getTypedRuleContext(LogSourceStageContext, 0);
};
LogQueryContext.prototype.SYM_PIPE = function() {
return this.getToken(ScrollQLParser.SYM_PIPE, 0);
};
LogQueryContext.prototype.logStatsStage = function() {
return this.getTypedRuleContext(LogStatsStageContext, 0);
};
LogQueryContext.prototype.SYM_WRITE = function() {
return this.getToken(ScrollQLParser.SYM_WRITE, 0);
};
LogQueryContext.prototype.resultId = function() {
return this.getTypedRuleContext(ResultIdContext, 0);
};
LogQueryContext.prototype.enterRule = function(listener) {
if (listener instanceof ScrollQLParserListener) {
listener.enterLogQuery(this);
}
};