summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/parser/javascriptgrammar.cpp
blob: 35af8215a86e43c04c3b7f0bca441895e6d77bcd (plain)
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
// This file was generated by qlalr - DO NOT EDIT!
#include "javascriptgrammar_p.h"

const char *const JavaScriptGrammar::spell [] = {
  "end of file", "&", "&&", "&=", "break", "case", "catch", ":", ";", "continue", 
  "default", "delete", "/", "/=", "do", ".", "else", "=", "==", "===", 
  "finally", "for", "function", ">=", ">", ">>", ">>=", ">>>", ">>>=", "identifier", 
  "if", "in", "instanceof", "{", "[", "<=", "(", "<", "<<", "<<=", 
  "-", "-=", "--", "new", "!", "!=", "!==", "numeric literal", "|", "|=", 
  "||", "+", "+=", "++", "?", "}", "]", "%", "%=", "return", 
  ")", ";", 0, "*", "*=", "string literal", "switch", "this", "throw", "~", 
  "try", "typeof", "var", "void", "while", "with", "^", "^=", "null", "true", 
  "false", "const", "debugger", "reserved word", "public", "import", 0, 0};

const int JavaScriptGrammar::lhs [] = {
  88, 89, 89, 92, 92, 93, 93, 91, 90, 90, 
  95, 95, 97, 97, 96, 94, 96, 94, 96, 94, 
  96, 94, 94, 94, 94, 94, 98, 98, 102, 102, 
  102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 
  102, 102, 102, 104, 104, 108, 108, 103, 103, 106, 
  106, 109, 109, 109, 109, 110, 110, 110, 110, 110, 
  110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 
  110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 
  110, 110, 110, 110, 110, 110, 111, 111, 112, 112, 
  112, 112, 112, 115, 115, 116, 116, 116, 116, 114, 
  114, 117, 117, 118, 118, 119, 119, 119, 120, 120, 
  120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 
  121, 121, 122, 122, 122, 123, 123, 123, 123, 124, 
  124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 
  125, 125, 126, 126, 126, 126, 126, 127, 127, 127, 
  127, 127, 128, 128, 129, 129, 130, 130, 131, 131, 
  132, 132, 133, 133, 134, 134, 135, 135, 136, 136, 
  137, 137, 138, 138, 139, 139, 107, 107, 140, 140, 
  141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 
  141, 141, 100, 100, 142, 142, 143, 143, 144, 144, 
  99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 
  99, 99, 99, 99, 99, 145, 161, 161, 160, 160, 
  146, 146, 162, 162, 163, 163, 165, 165, 164, 166, 
  169, 167, 167, 170, 168, 168, 147, 148, 148, 149, 
  149, 150, 150, 150, 150, 150, 150, 150, 151, 151, 
  151, 151, 152, 152, 152, 152, 153, 153, 154, 156, 
  171, 171, 174, 174, 172, 172, 175, 173, 155, 157, 
  157, 158, 158, 158, 176, 177, 159, 159, 101, 113, 
  181, 181, 178, 178, 179, 179, 182, 183, 183, 184, 
  184, 180, 180, 105, 105, 185};

const int JavaScriptGrammar:: rhs[] = {
  2, 1, 1, 1, 2, 3, 3, 0, 1, 2, 
  1, 3, 2, 3, 4, 4, 2, 2, 5, 5, 
  3, 3, 6, 3, 5, 1, 1, 3, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 3, 3, 5, 
  3, 4, 3, 2, 4, 1, 2, 0, 1, 3, 
  5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  4, 3, 5, 1, 2, 4, 4, 4, 3, 0, 
  1, 1, 3, 1, 1, 1, 2, 2, 1, 2, 
  2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 
  3, 3, 1, 3, 3, 1, 3, 3, 3, 1, 
  3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 
  3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 
  3, 3, 1, 3, 1, 3, 1, 3, 1, 3, 
  1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 
  1, 3, 1, 5, 1, 5, 1, 3, 1, 3, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 3, 0, 1, 1, 3, 0, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 3, 1, 2, 0, 1, 
  3, 3, 1, 1, 1, 3, 1, 3, 2, 2, 
  2, 0, 1, 2, 0, 1, 1, 2, 2, 7, 
  5, 7, 7, 5, 9, 10, 7, 8, 2, 2, 
  3, 3, 2, 2, 3, 3, 3, 3, 5, 5, 
  3, 5, 1, 2, 0, 1, 4, 3, 3, 3, 
  3, 3, 3, 4, 5, 2, 2, 2, 8, 8, 
  1, 3, 0, 1, 0, 1, 1, 1, 2, 1, 
  1, 0, 1, 0, 1, 2};

const int JavaScriptGrammar::action_default [] = {
  8, 2, 0, 0, 4, 3, 0, 296, 0, 6, 
  7, 5, 26, 0, 27, 0, 9, 1, 0, 0, 
  283, 284, 0, 281, 0, 282, 0, 285, 126, 193, 
  157, 165, 161, 201, 208, 105, 177, 207, 215, 203, 
  153, 0, 204, 286, 0, 291, 90, 205, 206, 211, 
  106, 169, 173, 94, 123, 104, 109, 89, 143, 209, 
  130, 288, 287, 290, 212, 0, 223, 0, 0, 0, 
  36, 37, 0, 33, 0, 292, 30, 0, 294, 48, 
  0, 0, 0, 0, 0, 31, 34, 0, 0, 195, 
  237, 35, 0, 29, 0, 0, 32, 0, 0, 224, 
  0, 0, 0, 213, 214, 119, 0, 202, 210, 0, 
  0, 106, 125, 292, 30, 294, 108, 107, 0, 0, 
  0, 121, 122, 120, 0, 293, 283, 0, 0, 285, 
  0, 280, 0, 295, 0, 55, 56, 57, 58, 83, 
  59, 84, 60, 61, 62, 63, 64, 65, 66, 67, 
  52, 68, 69, 70, 71, 72, 54, 85, 73, 53, 
  74, 75, 76, 77, 78, 79, 80, 81, 82, 86, 
  0, 50, 0, 0, 42, 0, 51, 41, 124, 0, 
  154, 0, 0, 0, 0, 144, 0, 0, 0, 0, 
  0, 0, 134, 0, 0, 0, 128, 129, 127, 132, 
  136, 135, 133, 131, 146, 145, 147, 0, 162, 0, 
  158, 0, 0, 100, 99, 88, 87, 0, 0, 98, 
  194, 101, 0, 102, 0, 103, 97, 238, 239, 279, 
  0, 190, 183, 181, 188, 189, 187, 186, 192, 185, 
  184, 182, 191, 178, 0, 166, 0, 0, 170, 0, 
  0, 174, 0, 0, 100, 92, 0, 91, 0, 96, 
  289, 253, 0, 254, 255, 256, 249, 0, 250, 251, 
  252, 277, 278, 110, 0, 0, 0, 0, 0, 242, 
  243, 199, 197, 159, 167, 163, 179, 155, 200, 0, 
  106, 171, 175, 148, 137, 0, 0, 156, 0, 0, 
  0, 0, 149, 0, 0, 0, 0, 0, 141, 139, 
  142, 140, 138, 151, 150, 152, 0, 164, 0, 160, 
  0, 198, 106, 0, 180, 195, 196, 0, 195, 0, 
  0, 245, 0, 0, 0, 247, 0, 168, 0, 0, 
  172, 0, 0, 176, 235, 0, 227, 236, 230, 0, 
  234, 0, 195, 228, 0, 195, 0, 0, 246, 0, 
  0, 0, 248, 293, 0, 269, 0, 0, 0, 241, 
  0, 240, 217, 220, 0, 56, 83, 59, 84, 61, 
  62, 33, 66, 67, 30, 68, 71, 31, 34, 195, 
  35, 74, 29, 76, 32, 78, 79, 80, 81, 82, 
  86, 218, 216, 94, 95, 100, 0, 93, 0, 257, 
  258, 0, 0, 0, 260, 265, 263, 266, 0, 0, 
  264, 265, 0, 261, 0, 262, 219, 268, 0, 219, 
  267, 0, 270, 271, 0, 219, 272, 273, 0, 0, 
  274, 0, 0, 0, 275, 276, 112, 111, 0, 0, 
  0, 244, 0, 0, 0, 259, 0, 49, 0, 46, 
  48, 39, 0, 45, 40, 47, 44, 38, 0, 43, 
  116, 114, 118, 115, 113, 117, 232, 225, 0, 233, 
  229, 0, 231, 221, 0, 222, 226, 0, 18, 13, 
  0, 14, 10, 0, 24, 0, 25, 23, 0, 0, 
  22, 30, 48, 16, 27, 0, 11, 0, 17, 0, 
  20, 12, 0, 21, 30, 48, 15, 0, 19, 28};

const int JavaScriptGrammar::goto_default [] = {
  2, 6, 17, 1, 5, 4, 16, 505, 506, 488, 
  18, 372, 41, 12, 57, 458, 456, 134, 133, 29, 
  457, 132, 135, 214, 53, 46, 222, 55, 35, 221, 
  50, 56, 105, 54, 28, 60, 58, 293, 40, 287, 
  30, 283, 32, 285, 31, 284, 51, 291, 52, 292, 
  36, 286, 282, 323, 408, 288, 289, 33, 107, 39, 
  42, 47, 48, 37, 34, 59, 108, 49, 64, 103, 
  104, 38, 374, 373, 106, 478, 477, 345, 346, 480, 
  348, 479, 347, 414, 418, 421, 417, 416, 436, 437, 
  22, 44, 124, 21, 43, 62, 61, 0};

const int JavaScriptGrammar::action_index [] = {
  -21, -88, 75, 14, -88, -5, 208, -88, 88, -88, 
  -88, -88, -88, 55, 50, 56, -88, 163, 120, 69, 
  70, 79, -7, -88, -6, -88, -12, 1320, 129, -88, 
  61, -30, -57, -88, -88, 285, -88, -88, -88, -88, 
  268, 233, -88, -88, 40, -88, -88, -88, -88, -88, 
  349, 28, 124, 155, 148, -88, -88, -88, 332, -88, 
  236, -88, 1320, -88, -88, 178, -88, 189, 125, 588, 
  -88, -88, 1236, -88, 62, 72, 90, 66, 1572, 84, 
  588, 588, 588, 426, 588, -88, -88, 588, 588, 588, 
  -88, -88, 46, -88, 588, 588, -88, 48, 588, -88, 
  588, 53, 54, -88, -88, -88, 67, -88, -88, 588, 
  588, 78, 169, 59, -88, 1068, -88, -88, 588, 588, 
  588, -88, -88, -88, 33, -88, -29, -58, -20, 1320, 
  -41, -88, 13, 17, -50, -88, -88, -88, -88, -88, 
  -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, 
  -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, 
  -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, 
  588, -88, 1152, 132, -88, 588, -88, -88, 192, 588, 
  252, 588, 588, 588, 588, 312, 588, 588, 588, 588, 
  588, 588, 231, 588, 588, 588, 128, 89, 93, 175, 
  197, 190, 183, 150, 292, 322, 302, 588, -2, 588, 
  71, 984, 588, 588, -88, -88, -88, 109, 588, -88, 
  -88, 68, 52, -88, 588, -88, -88, -88, -88, -88, 
  588, -88, -88, -88, -88, -88, -88, -88, -88, -88, 
  -88, -88, -88, -88, 588, 43, 588, 588, 64, 63, 
  588, -88, 984, 588, 588, -88, 143, -88, 8, -88, 
  -88, -88, 96, -88, -88, -88, -88, 122, -88, -88, 
  -88, -88, -88, -88, 73, 74, 588, 99, 76, -88, 
  -88, 823, -88, 6, -36, -66, -88, 260, 51, -60, 
  511, 1, 82, 350, 239, -13, 588, 266, 588, 588, 
  588, 588, 350, 588, 588, 588, 588, 588, 235, 198, 
  204, 227, 221, 350, 350, 267, 588, -61, 588, 23, 
  588, -88, 367, 588, -88, 588, 20, -35, 588, -38, 
  1236, -88, 588, 138, 1236, -88, 588, -44, 588, 588, 
  7, -1, 588, -88, 18, 95, 32, -88, -88, 588, 
  -88, 2, 588, -88, -9, 588, -10, 1236, -88, 588, 
  107, 1236, -88, 41, 1236, -88, 588, 103, 1236, 45, 
  1236, -88, -88, 1236, 16, 135, 38, 172, 91, 588, 
  1236, 47, 15, 77, 42, 3, 399, 31, 30, 669, 
  27, -3, 25, 588, 34, 12, 588, 19, 588, 11, 
  10, -88, -88, 180, -88, 588, -17, -88, 110, -88, 
  -88, 588, 212, -25, -88, 37, -88, 39, 106, 588, 
  -88, 35, 29, -88, 5, -88, 1236, -88, 101, 1236, 
  -88, 219, -88, -88, 108, 1236, 36, -88, 22, 24, 
  -88, 26, -33, -22, -88, -88, -88, -88, 588, 133, 
  1236, -88, 588, 146, 1236, -88, 117, 21, 900, -88, 
  9, -88, 746, -88, -88, -88, -88, -88, 116, -88, 
  -88, -88, -88, -88, -88, -88, 83, -88, 182, -88, 
  -88, 588, -88, -88, 49, -88, -88, 246, -88, -88, 
  254, -88, -88, 44, 58, 588, 115, -88, 1488, 57, 
  -88, 112, 113, -88, 60, 126, -88, 111, -88, 65, 
  -88, -88, 1404, -88, 97, 114, -88, 147, -88, -88, 

  -98, -98, -98, -98, -98, 30, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, 48, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, 67, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -46, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, 201, -98, -98, -98, -98, -98, -98, 117, 
  -98, -98, 6, -98, -98, -98, -98, -98, -98, -98, 
  37, 118, 114, 150, 146, -98, -98, 141, 138, 53, 
  -98, -98, -98, -98, 43, 78, -98, -7, 91, -98, 
  88, -98, -98, -98, -98, -98, -98, -98, -98, 94, 
  95, -98, -98, -98, -98, -98, -98, -98, 103, 99, 
  100, -98, -98, -98, -98, -98, -51, -98, -98, 180, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -5, -98, -8, -98, -98, -9, -98, -98, -98, 96, 
  -98, 136, 124, 129, 133, -98, 132, 122, 38, 39, 
  58, 56, -98, 62, 36, 55, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, 57, -98, 64, 
  -98, 12, 29, 25, -98, -98, -98, -98, 23, -98, 
  -98, -98, -98, -98, 8, -98, -98, -98, -98, -98, 
  44, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, 68, -98, 65, 60, -98, -98, 
  -17, -98, 54, 41, 119, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -1, -98, -98, -98, 
  -98, 70, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, 196, -98, 185, 174, 
  168, 186, -98, 79, 72, 71, 106, 107, -98, -98, 
  -98, -98, -98, -98, -98, -98, 167, -98, 153, -98, 
  155, -98, -98, 165, -98, 128, -98, -98, 63, -98, 
  26, -98, 24, -98, 27, -98, 154, -98, 145, 166, 
  -98, -98, 178, -98, -98, -98, -98, -98, -98, 189, 
  -98, -52, 85, -98, -98, 110, -98, 17, -98, 19, 
  -98, 22, -98, -98, 21, -98, 18, -98, 13, -98, 
  47, -98, -98, 51, -98, -98, -98, -98, -98, 83, 
  45, -98, -98, -98, -98, -98, 92, -98, -98, 34, 
  -98, -98, -98, 40, -98, -34, 121, -98, 149, -98, 
  -98, -98, -98, -98, -98, 230, -98, -98, -98, -98, 
  -98, -6, -98, -98, -98, -98, -98, -84, -98, 7, 
  -98, -63, -98, -98, -98, -98, -54, -98, -98, -64, 
  -98, -98, -98, -98, -98, -98, -77, -98, -98, -37, 
  -98, -98, -98, -42, -98, -98, -98, -98, 10, -98, 
  5, -98, -3, -98, -10, -98, -98, -98, -14, -98, 
  -11, -98, -19, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, 28, -98, -98, -16, -98, -98, 49, -98, -98, 
  42, -98, -98, -98, -98, 52, 50, -98, 46, -98, 
  -98, 20, 35, -98, 16, -98, -98, -98, -98, 73, 
  -98, -98, 32, -98, 31, 151, -98, -98, -98, -98};

const int JavaScriptGrammar::action_info [] = {
  23, 325, 128, 336, 316, 177, 342, 296, 415, 336, 
  318, 435, 316, 129, 131, 318, 344, 459, 207, 209, 
  170, 27, 330, 25, 296, 172, 328, 443, 218, 465, 
  244, 344, -75, 411, -53, 349, 426, -54, -72, 366, 
  419, -77, 419, 407, 419, 435, 452, 448, -224, -52, 
  357, 281, 355, 26, -64, 442, 439, 435, 441, 320, 
  425, 370, 179, 359, 3, 495, 244, -223, 259, 126, 
  250, 402, 179, 494, 209, 7, 224, 20, 476, 8, 
  3, 435, 411, 487, 19, 493, 519, 24, 125, 448, 
  452, 207, 459, 487, 504, 229, 476, 364, 281, 23, 
  481, 363, 366, 351, 364, 20, 125, 218, 429, 218, 
  276, 218, 226, -292, 438, 218, 422, 218, 512, 364, 
  116, 459, 459, 218, 218, 460, 499, 498, 439, 109, 
  487, 117, 338, 109, 509, 499, 339, 280, 279, 175, 
  110, 218, 504, 504, 110, 487, 218, 275, 487, 10, 
  9, 218, 272, 271, 218, 509, 352, 265, 264, 278, 
  118, 423, 0, 368, 262, 219, 0, 361, 109, 109, 
  252, 410, 409, 461, 246, 193, 469, 194, 247, 110, 
  110, 118, 510, 270, 269, 13, 272, 271, 195, 253, 
  484, 254, 14, 450, 0, 252, 263, 261, 334, 257, 
  193, 267, 194, 518, 118, 119, 454, 262, 193, 0, 
  194, 120, 0, 195, 253, 193, 405, 194, 267, 0, 
  218, 195, 193, 193, 194, 194, 119, 218, 195, 193, 
  13, 194, 120, 268, 266, 195, 195, 14, 0, 263, 
  261, 218, 195, 485, 483, 0, 193, 15, 194, 119, 
  268, 266, 193, 0, 194, 120, 193, 0, 194, 195, 
  193, 193, 194, 194, 193, 195, 194, 0, 13, 195, 
  181, 182, 413, 195, 195, 14, 13, 195, 298, 299, 
  433, 432, 0, 14, 298, 299, 181, 182, 0, 0, 
  303, 304, 15, 0, 228, 227, 0, 183, 184, 305, 
  211, 489, 306, 0, 307, 300, 301, 0, 0, 491, 
  0, 300, 301, 183, 184, 186, 187, 0, 0, 212, 
  0, 213, 0, 188, 189, 186, 187, 190, 0, 191, 
  15, 0, 0, 188, 189, 186, 187, 190, 15, 191, 
  0, 0, 0, 188, 189, 186, 187, 190, 0, 191, 
  0, 0, 231, 188, 189, 186, 187, 190, 0, 191, 
  0, 0, 232, 188, 189, 0, 233, 190, 0, 191, 
  231, 0, 0, 303, 304, 234, 0, 235, 0, 0, 
  232, 0, 305, 0, 233, 306, 0, 307, 236, 0, 
  237, 116, 0, 234, 0, 235, 0, 0, 238, 0, 
  0, 239, 117, 0, 0, 0, 236, 240, 237, 116, 
  0, 70, 71, 241, 0, 0, 238, 0, 0, 239, 
  117, 113, 0, 0, 0, 240, 242, 0, 114, 0, 
  0, 241, 115, 79, 0, 80, 0, 0, 70, 71, 
  0, 0, 83, 0, 242, 0, 86, 0, 113, 0, 
  0, 0, 0, 0, 0, 114, 0, 0, 0, 115, 
  79, 0, 80, 0, 91, 0, 93, 0, 0, 83, 
  0, 0, 0, 86, 0, 0, 0, 85, 96, 73, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 91, 0, 93, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 85, 96, 73, 0, 0, 0, 
  0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 232, 0, 0, 0, 233, 0, 
  0, 0, 0, 0, 0, 0, 0, 234, 0, 235, 
  0, 0, 332, 0, 0, 0, 0, 0, 0, 0, 
  236, 0, 237, 116, 0, 0, 0, 0, 0, 0, 
  238, 0, 0, 239, 117, 0, 0, 0, 0, 240, 
  0, 0, 0, 0, 0, 241, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 242, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 
  70, 71, 0, 0, 0, 0, 0, 0, 0, 0, 
  113, 0, 0, 0, 0, 0, 0, 114, 0, 0, 
  0, 115, 79, 0, 80, 0, 0, 0, 81, 0, 
  82, 83, 84, 0, 0, 86, 0, 0, 0, 87, 
  0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 91, 0, 93, 0, 95, 0, 98, 
  0, 100, 0, 0, 0, 0, 85, 96, 73, 0, 
  0, 0, 0, 0, 0, 0, -73, 0, 0, 0, 
  69, 70, 71, 0, 0, 0, 0, 0, 0, 0, 
  0, 113, 0, 0, 0, 0, 0, 0, 114, 0, 
  0, 0, 115, 79, 0, 80, 0, 0, 0, 81, 
  0, 82, 83, 84, 0, 0, 86, 0, 0, 0, 
  87, 0, 88, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 91, 0, 93, 0, 95, 0, 
  98, 0, 100, 0, 0, 0, 0, 85, 96, 73, 
  0, 0, 0, 0, 0, 0, 0, 69, 70, 71, 
  0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 
  0, 0, 0, 0, 0, 114, 0, 0, 0, 115, 
  79, 0, 80, 0, 0, 0, 81, 0, 82, 83, 
  84, 0, 0, 86, 0, 0, 0, 87, 0, 88, 
  0, 0, 464, 0, 0, 0, 0, 0, 0, 0, 
  0, 91, 0, 93, 0, 95, 0, 98, 0, 100, 
  0, 0, 0, 0, 85, 96, 73, 0, 0, 0, 
  0, 0, 0, 0, 69, 70, 71, 0, 0, 0, 
  0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 
  0, 0, 114, 0, 0, 0, 115, 79, 0, 80, 
  0, 0, 0, 81, 0, 82, 83, 84, 0, 0, 
  86, 0, 0, 0, 87, 0, 88, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 
  93, 0, 95, 0, 98, 295, 100, 0, 0, 0, 
  0, 85, 96, 73, 0, 0, 0, 0, 0, 0, 
  0, 69, 70, 71, 0, 0, 0, 0, 0, 0, 
  0, 0, 113, 0, 0, 0, 0, 0, 0, 114, 
  0, 0, 0, 115, 79, 0, 80, 0, 0, 0, 
  81, 0, 82, 83, 84, 0, 0, 86, 0, 0, 
  0, 87, 0, 88, 0, 0, 467, 0, 0, 0, 
  0, 0, 0, 0, 0, 91, 0, 93, 0, 95, 
  0, 98, 0, 100, 0, 0, 0, 0, 85, 96, 
  73, 0, 0, 0, 0, 0, 0, 0, 136, 137, 
  138, 0, 0, 140, 142, 143, 0, 0, 144, 0, 
  145, 0, 0, 0, 147, 148, 149, 0, 0, 0, 
  0, 0, 0, 216, 151, 152, 153, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 158, 0, 0, 0, 0, 0, 0, 
  160, 161, 162, 0, 164, 165, 166, 167, 168, 169, 
  0, 0, 155, 163, 146, 139, 141, 157, 0, 0, 
  0, 0, 136, 137, 138, 0, 0, 140, 142, 143, 
  0, 0, 144, 0, 145, 0, 0, 0, 147, 148, 
  149, 0, 0, 0, 0, 0, 0, 150, 151, 152, 
  153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 154, 0, 0, 0, 156, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 
  0, 0, 0, 159, 160, 161, 162, 0, 164, 165, 
  166, 167, 168, 169, 0, 0, 155, 163, 146, 139, 
  141, 157, 0, 0, 0, 0, 136, 137, 138, 0, 
  0, 140, 142, 143, 0, 0, 144, 0, 145, 0, 
  0, 0, 147, 148, 149, 0, 0, 0, 0, 0, 
  0, 150, 151, 152, 153, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 154, 0, 0, 0, 156, 
  0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 
  0, 158, 0, 0, 0, 0, 0, 159, 160, 161, 
  162, 0, 164, 165, 166, 167, 168, 169, 0, 0, 
  155, 163, 146, 139, 141, 157, 0, 0, 0, 0, 
  65, 0, 0, 0, 0, 67, 0, 69, 70, 71, 
  72, 0, 0, 0, 0, 0, 0, 74, 113, 0, 
  0, 0, 0, 0, 0, 76, 77, 0, 0, 78, 
  79, 0, 80, 0, 0, 0, 81, 0, 82, 83, 
  84, 0, 0, 86, 0, 0, 0, 87, 0, 88, 
  0, 0, 0, 0, 0, 89, 0, 90, 0, 0, 
  0, 91, 92, 93, 94, 95, 97, 98, 99, 100, 
  101, 102, 0, 0, 85, 96, 73, 66, 68, 0, 
  0, 0, 0, 0, 65, 0, 0, 0, 0, 67, 
  0, 69, 70, 71, 72, 0, 0, 0, 0, 0, 
  0, 74, 75, 0, 0, 0, 0, 0, 0, 76, 
  77, 0, 0, 78, 79, 0, 80, 0, 0, 0, 
  81, 0, 82, 83, 84, 0, 0, 86, 0, 0, 
  0, 87, 0, 88, 0, 0, 0, 0, 0, 89, 
  0, 90, 0, 0, 0, 91, 92, 93, 94, 95, 
  97, 98, 99, 100, 101, 102, 0, 0, 85, 96, 
  73, 66, 68, 0, 0, 0, 0, 0, 65, 0, 
  0, 0, 0, 67, 0, 69, 70, 71, 72, 0, 
  0, 0, 0, 0, 0, 74, 113, 0, 0, 0, 
  0, 0, 0, 514, 77, 0, 0, 78, 515, 0, 
  80, 0, 0, 0, 81, 0, 82, 83, 84, 0, 
  0, 86, 0, 0, 0, 87, 0, 88, 0, 0, 
  0, 0, 0, 89, 0, 90, 0, 0, 0, 91, 
  92, 93, 94, 95, 97, 98, 99, 100, 101, 102, 
  0, 0, 85, 96, 73, 66, 68, 0, 0, 0, 
  0, 0, 65, 0, 0, 0, 0, 67, 0, 69, 
  70, 71, 72, 0, 0, 0, 0, 0, 0, 74, 
  113, 0, 0, 0, 0, 0, 0, 501, 77, 0, 
  0, 78, 502, 0, 80, 0, 0, 0, 81, 0, 
  82, 83, 84, 0, 0, 86, 0, 0, 0, 87, 
  0, 88, 0, 0, 0, 0, 0, 89, 0, 90, 
  0, 0, 0, 91, 92, 93, 94, 95, 97, 98, 
  99, 100, 101, 102, 0, 0, 85, 96, 73, 66, 
  68, 0, 0, 0, 0, 0, 375, 137, 138, 0, 
  0, 377, 142, 379, 70, 71, 380, 0, 145, 0, 
  0, 0, 147, 382, 383, 0, 0, 0, 0, 0, 
  0, 384, 385, 152, 153, 78, 79, 0, 80, 0, 
  0, 0, 81, 0, 82, 386, 84, 0, 0, 388, 
  0, 0, 0, 87, 0, 88, 0, -219, 0, 0, 
  0, 389, 0, 90, 0, 0, 0, 390, 391, 392, 
  393, 95, 395, 396, 397, 398, 399, 400, 0, 0, 
  387, 394, 381, 376, 378, 157, 0, 0, 0, 0, 

  463, 455, 251, 420, 462, 466, 412, 230, 430, 453, 
  176, 277, 440, 173, 171, 444, 451, 274, 427, 428, 
  445, 424, 449, 434, 369, 508, 353, 225, 358, 503, 
  367, 360, 365, 362, 215, 11, 333, 331, 335, 127, 
  516, 217, 220, 513, 223, 507, 326, 482, 492, 468, 
  434, 490, 431, 256, 492, 431, 274, 500, 371, 497, 
  486, 0, 401, 243, 496, 326, 111, 0, 111, 111, 
  197, 0, 0, 200, 201, 326, 215, 255, 63, 249, 
  45, 511, 0, 507, 0, 111, 111, 111, 111, 198, 
  0, 203, 111, 202, 111, 111, 196, 326, 111, 208, 
  290, 111, 111, 0, 210, 294, 310, 309, 111, 111, 
  475, 248, 245, 111, 308, 273, 403, 329, 111, 404, 
  447, 111, 326, 446, 111, 111, 111, 112, 178, 111, 
  111, 122, 123, 111, 180, 121, 111, 111, 223, 354, 
  326, 311, 312, 0, 111, 258, 471, 111, 111, 273, 
  470, 111, 111, 446, 111, 0, 0, 199, 517, 111, 
  204, 507, 111, 111, 356, 205, 111, 192, 111, 206, 
  474, 111, 185, 473, 403, 111, 111, 404, 472, 111, 
  294, 447, 327, 111, 111, 322, 0, 0, 294, 294, 
  294, 63, 340, 45, 319, 322, 322, 111, 111, 337, 
  294, 294, 294, 294, 111, 314, 0, 321, 322, 294, 
  317, 313, 63, 294, 45, 111, 111, 324, 341, 322, 
  294, 294, 302, 315, 294, 0, 111, 0, 0, 0, 
  343, 294, 0, 0, 0, 297, 0, 0, 0, 0, 
  0, 350, 0, 0, 0, 0, 0, 0, 0, 223, 
  0, 0, 0, 0, 0, 0, 406, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 130, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 260, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0};

const int JavaScriptGrammar::action_check [] = {
  29, 61, 60, 2, 48, 55, 7, 1, 33, 2, 
  76, 33, 48, 33, 55, 76, 29, 8, 48, 76, 
  7, 33, 60, 29, 1, 8, 61, 60, 8, 8, 
  2, 29, 7, 36, 7, 17, 7, 7, 7, 36, 
  5, 7, 5, 60, 5, 33, 36, 36, 29, 7, 
  60, 36, 61, 60, 7, 29, 20, 33, 36, 8, 
  55, 16, 1, 31, 85, 7, 2, 29, 60, 36, 
  7, 55, 1, 29, 76, 0, 8, 36, 29, 65, 
  85, 33, 36, 33, 29, 29, 29, 8, 29, 36, 
  36, 48, 8, 33, 29, 55, 29, 7, 36, 29, 
  17, 29, 36, 8, 7, 36, 29, 8, 7, 8, 
  36, 8, 60, 36, 6, 8, 10, 8, 7, 7, 
  42, 8, 8, 8, 8, 8, 15, 7, 20, 40, 
  33, 53, 50, 40, 8, 15, 54, 61, 62, 7, 
  51, 8, 29, 29, 51, 33, 8, 74, 33, 61, 
  62, 8, 61, 62, 8, 8, 61, 61, 62, 60, 
  12, 55, -1, 60, 29, 56, -1, 60, 40, 40, 
  15, 61, 62, 56, 50, 25, 60, 27, 54, 51, 
  51, 12, 56, 61, 62, 22, 61, 62, 38, 34, 
  8, 36, 29, 60, -1, 15, 61, 62, 60, 56, 
  25, 29, 27, 56, 12, 57, 60, 29, 25, -1, 
  27, 63, -1, 38, 34, 25, 36, 27, 29, -1, 
  8, 38, 25, 25, 27, 27, 57, 8, 38, 25, 
  22, 27, 63, 61, 62, 38, 38, 29, -1, 61, 
  62, 8, 38, 61, 62, -1, 25, 84, 27, 57, 
  61, 62, 25, -1, 27, 63, 25, -1, 27, 38, 
  25, 25, 27, 27, 25, 38, 27, -1, 22, 38, 
  18, 19, 60, 38, 38, 29, 22, 38, 18, 19, 
  61, 62, -1, 29, 18, 19, 18, 19, -1, -1, 
  23, 24, 84, -1, 61, 62, -1, 45, 46, 32, 
  15, 55, 35, -1, 37, 45, 46, -1, -1, 55, 
  -1, 45, 46, 45, 46, 23, 24, -1, -1, 34, 
  -1, 36, -1, 31, 32, 23, 24, 35, -1, 37, 
  84, -1, -1, 31, 32, 23, 24, 35, 84, 37, 
  -1, -1, -1, 31, 32, 23, 24, 35, -1, 37, 
  -1, -1, 3, 31, 32, 23, 24, 35, -1, 37, 
  -1, -1, 13, 31, 32, -1, 17, 35, -1, 37, 
  3, -1, -1, 23, 24, 26, -1, 28, -1, -1, 
  13, -1, 32, -1, 17, 35, -1, 37, 39, -1, 
  41, 42, -1, 26, -1, 28, -1, -1, 49, -1, 
  -1, 52, 53, -1, -1, -1, 39, 58, 41, 42, 
  -1, 12, 13, 64, -1, -1, 49, -1, -1, 52, 
  53, 22, -1, -1, -1, 58, 77, -1, 29, -1, 
  -1, 64, 33, 34, -1, 36, -1, -1, 12, 13, 
  -1, -1, 43, -1, 77, -1, 47, -1, 22, -1, 
  -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 
  34, -1, 36, -1, 65, -1, 67, -1, -1, 43, 
  -1, -1, -1, 47, -1, -1, -1, 78, 79, 80, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, 65, -1, 67, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, 
  -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, 13, -1, -1, -1, 17, -1, 
  -1, -1, -1, -1, -1, -1, -1, 26, -1, 28, 
  -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, 
  39, -1, 41, 42, -1, -1, -1, -1, -1, -1, 
  49, -1, -1, 52, 53, -1, -1, -1, -1, 58, 
  -1, -1, -1, -1, -1, 64, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, 77, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, 
  12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 
  22, -1, -1, -1, -1, -1, -1, 29, -1, -1, 
  -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 
  42, 43, 44, -1, -1, 47, -1, -1, -1, 51, 
  -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, 65, -1, 67, -1, 69, -1, 71, 
  -1, 73, -1, -1, -1, -1, 78, 79, 80, -1, 
  -1, -1, -1, -1, -1, -1, 7, -1, -1, -1, 
  11, 12, 13, -1, -1, -1, -1, -1, -1, -1, 
  -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, 
  -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, 
  -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 
  51, -1, 53, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, 65, -1, 67, -1, 69, -1, 
  71, -1, 73, -1, -1, -1, -1, 78, 79, 80, 
  -1, -1, -1, -1, -1, -1, -1, 11, 12, 13, 
  -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, 
  -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 
  34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 
  44, -1, -1, 47, -1, -1, -1, 51, -1, 53, 
  -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, 
  -1, 65, -1, 67, -1, 69, -1, 71, -1, 73, 
  -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, 
  -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, 
  -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, 
  -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, 
  -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 
  47, -1, -1, -1, 51, -1, 53, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, 
  67, -1, 69, -1, 71, 72, 73, -1, -1, -1, 
  -1, 78, 79, 80, -1, -1, -1, -1, -1, -1, 
  -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, 
  -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, 
  -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, 
  40, -1, 42, 43, 44, -1, -1, 47, -1, -1, 
  -1, 51, -1, 53, -1, -1, 56, -1, -1, -1, 
  -1, -1, -1, -1, -1, 65, -1, 67, -1, 69, 
  -1, 71, -1, 73, -1, -1, -1, -1, 78, 79, 
  80, -1, -1, -1, -1, -1, -1, -1, 4, 5, 
  6, -1, -1, 9, 10, 11, -1, -1, 14, -1, 
  16, -1, -1, -1, 20, 21, 22, -1, -1, -1, 
  -1, -1, -1, 29, 30, 31, 32, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, 
  66, 67, 68, -1, 70, 71, 72, 73, 74, 75, 
  -1, -1, 78, 79, 80, 81, 82, 83, -1, -1, 
  -1, -1, 4, 5, 6, -1, -1, 9, 10, 11, 
  -1, -1, 14, -1, 16, -1, -1, -1, 20, 21, 
  22, -1, -1, -1, -1, -1, -1, 29, 30, 31, 
  32, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, 43, -1, -1, -1, 47, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, 
  -1, -1, -1, 65, 66, 67, 68, -1, 70, 71, 
  72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 
  82, 83, -1, -1, -1, -1, 4, 5, 6, -1, 
  -1, 9, 10, 11, -1, -1, 14, -1, 16, -1, 
  -1, -1, 20, 21, 22, -1, -1, -1, -1, -1, 
  -1, 29, 30, 31, 32, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, 43, -1, -1, -1, 47, 
  -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, 
  -1, 59, -1, -1, -1, -1, -1, 65, 66, 67, 
  68, -1, 70, 71, 72, 73, 74, 75, -1, -1, 
  78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 
  4, -1, -1, -1, -1, 9, -1, 11, 12, 13, 
  14, -1, -1, -1, -1, -1, -1, 21, 22, -1, 
  -1, -1, -1, -1, -1, 29, 30, -1, -1, 33, 
  34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 
  44, -1, -1, 47, -1, -1, -1, 51, -1, 53, 
  -1, -1, -1, -1, -1, 59, -1, 61, -1, -1, 
  -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, 
  74, 75, -1, -1, 78, 79, 80, 81, 82, -1, 
  -1, -1, -1, -1, 4, -1, -1, -1, -1, 9, 
  -1, 11, 12, 13, 14, -1, -1, -1, -1, -1, 
  -1, 21, 22, -1, -1, -1, -1, -1, -1, 29, 
  30, -1, -1, 33, 34, -1, 36, -1, -1, -1, 
  40, -1, 42, 43, 44, -1, -1, 47, -1, -1, 
  -1, 51, -1, 53, -1, -1, -1, -1, -1, 59, 
  -1, 61, -1, -1, -1, 65, 66, 67, 68, 69, 
  70, 71, 72, 73, 74, 75, -1, -1, 78, 79, 
  80, 81, 82, -1, -1, -1, -1, -1, 4, -1, 
  -1, -1, -1, 9, -1, 11, 12, 13, 14, -1, 
  -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, 
  -1, -1, -1, 29, 30, -1, -1, 33, 34, -1, 
  36, -1, -1, -1, 40, -1, 42, 43, 44, -1, 
  -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, 
  -1, -1, -1, 59, -1, 61, -1, -1, -1, 65, 
  66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 
  -1, -1, 78, 79, 80, 81, 82, -1, -1, -1, 
  -1, -1, 4, -1, -1, -1, -1, 9, -1, 11, 
  12, 13, 14, -1, -1, -1, -1, -1, -1, 21, 
  22, -1, -1, -1, -1, -1, -1, 29, 30, -1, 
  -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 
  42, 43, 44, -1, -1, 47, -1, -1, -1, 51, 
  -1, 53, -1, -1, -1, -1, -1, 59, -1, 61, 
  -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, 
  72, 73, 74, 75, -1, -1, 78, 79, 80, 81, 
  82, -1, -1, -1, -1, -1, 4, 5, 6, -1, 
  -1, 9, 10, 11, 12, 13, 14, -1, 16, -1, 
  -1, -1, 20, 21, 22, -1, -1, -1, -1, -1, 
  -1, 29, 30, 31, 32, 33, 34, -1, 36, -1, 
  -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, 
  -1, -1, -1, 51, -1, 53, -1, 55, -1, -1, 
  -1, 59, -1, 61, -1, -1, -1, 65, 66, 67, 
  68, 69, 70, 71, 72, 73, 74, 75, -1, -1, 
  78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 

  19, 11, 19, 87, 15, 19, 12, 53, 72, 12, 
  19, 12, 89, 21, 19, 57, 11, 11, 72, 12, 
  57, 84, 12, 57, 11, 9, 78, 19, 11, 9, 
  12, 12, 11, 11, 22, 5, 12, 11, 11, 90, 
  9, 12, 19, 11, 19, 10, 12, 19, 6, 12, 
  57, 2, 12, 12, 6, 12, 11, 11, 11, 9, 
  76, -1, 11, 19, 12, 12, 30, -1, 30, 30, 
  34, -1, -1, 35, 35, 12, 22, 23, 11, 19, 
  13, 8, -1, 10, -1, 30, 30, 30, 30, 34, 
  -1, 35, 30, 35, 30, 30, 34, 12, 30, 42, 
  30, 30, 30, -1, 40, 35, 35, 35, 30, 30, 
  32, 46, 44, 30, 35, 32, 24, 54, 30, 27, 
  32, 30, 12, 32, 30, 30, 30, 33, 33, 30, 
  30, 32, 32, 30, 38, 32, 30, 30, 19, 54, 
  12, 35, 35, -1, 30, 26, 32, 30, 30, 32, 
  32, 30, 30, 32, 30, -1, -1, 35, 7, 30, 
  36, 10, 30, 30, 54, 36, 30, 35, 30, 36, 
  32, 30, 36, 32, 24, 30, 30, 27, 32, 30, 
  35, 32, 54, 30, 30, 30, -1, -1, 35, 35, 
  35, 11, 47, 13, 41, 30, 30, 30, 30, 45, 
  35, 35, 35, 35, 30, 37, -1, 52, 30, 35, 
  43, 37, 11, 35, 13, 30, 30, 52, 52, 30, 
  35, 35, 37, 37, 35, -1, 30, -1, -1, -1, 
  52, 35, -1, -1, -1, 39, -1, -1, -1, -1, 
  -1, 52, -1, -1, -1, -1, -1, -1, -1, 19, 
  -1, -1, -1, -1, -1, -1, 26, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, 96, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1};