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

const int JavaScriptGrammar::goto_default [] = {
  2, 6, 19, 1, 5, 4, 18, 495, 496, 478, 
  20, 373, 45, 12, 108, 61, 459, 457, 135, 134, 
  33, 458, 133, 136, 215, 57, 50, 223, 59, 39, 
  222, 54, 60, 107, 58, 32, 64, 62, 294, 44, 
  288, 34, 284, 36, 286, 35, 285, 55, 292, 56, 
  293, 40, 287, 283, 324, 409, 289, 290, 37, 43, 
  46, 51, 52, 41, 38, 63, 109, 53, 68, 105, 
  106, 42, 375, 374, 21, 512, 511, 346, 347, 514, 
  349, 513, 348, 415, 419, 422, 418, 417, 437, 438, 
  26, 48, 125, 25, 47, 66, 65, 0};

const int JavaScriptGrammar::action_index [] = {
  -19, -88, 70, 4, -88, -6, 252, -88, 75, -88, 
  -88, -88, -88, -88, 46, 50, 52, -88, -88, 241, 
  100, 65, -88, -17, -12, 16, -30, -88, -1, -88, 
  -7, 1307, 114, -88, 14, -44, -75, -88, -88, 199, 
  -88, -88, -88, -88, 250, 228, -88, -88, -22, -88, 
  -88, -88, -88, -88, 498, 140, 96, 172, 195, -88, 
  -88, -88, 311, -88, 216, -88, 1307, -88, -88, 194, 
  198, 99, 575, -88, -88, 1223, -88, 72, 67, 92, 
  64, 1559, 90, 575, 575, 575, 374, 575, -88, -88, 
  575, 575, 575, -88, -88, 48, -88, 575, 575, -88, 
  55, 575, 575, 51, 59, -88, -88, -88, -88, -88, 
  575, 575, 77, 168, 60, -88, 1055, -88, -88, 575, 
  575, 575, -88, -88, -88, 24, -88, -18, -55, 43, 
  1307, -26, -88, 84, 85, 63, -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, 575, -88, 1139, 30, -88, 575, -88, -88, 208, 
  575, 232, 575, 575, 575, 575, 321, 575, 575, 575, 
  575, 575, 575, 219, 575, 575, 575, 127, 134, 122, 
  154, 159, 174, 166, 173, 413, 413, 295, 575, -3, 
  575, 71, 971, 575, 575, -88, -88, -88, 97, 575, 
  -88, -88, 69, 62, -88, 575, -88, -88, -88, -88, 
  -88, 575, -88, -88, -88, -88, -88, -88, -88, -88, 
  -88, -88, -88, -88, -88, 575, 49, 575, 575, 140, 
  58, 575, -88, 971, 575, 575, -88, 126, -88, 11, 
  -88, -88, -88, 86, -88, -88, -88, -88, 78, -88, 
  -88, -88, -88, -88, -88, 28, 68, 575, 149, 66, 
  -88, -88, 887, -88, 54, -28, -58, -88, 254, 8, 
  -47, 429, 19, 79, 280, 192, -4, 575, 248, 575, 
  575, 575, 575, 348, 575, 575, 575, 575, 575, 188, 
  283, 191, 207, 215, 348, 348, 274, 575, -74, 575, 
  54, 575, -88, 498, 575, -88, 575, -5, -61, 575, 
  -33, 1223, -88, 575, 220, 1223, -88, 575, -38, 575, 
  575, 7, 0, 575, -88, -9, 98, 1, -88, -88, 
  575, -88, 21, 575, -88, 3, 575, 2, 1223, -88, 
  575, 112, 1223, -88, 27, 1223, -88, 575, 106, 1223, 
  41, 1223, -88, -88, 1223, -16, 141, 9, 176, 82, 
  575, 1223, 33, 10, 74, 38, 12, 355, 40, 37, 
  656, 35, -2, 34, 575, 29, 20, 575, 32, 575, 
  31, 42, -88, -88, 160, -88, 575, -8, -88, 94, 
  -88, -88, 575, 150, 25, -88, 17, -88, 44, 113, 
  575, -88, 26, 36, -88, -20, -88, 1223, -88, 105, 
  1223, -88, 214, -88, -88, 115, 1223, 39, -88, 18, 
  23, -88, 22, -54, -21, -88, -88, -88, -88, 575, 
  161, 1223, -88, 575, 130, 1223, -88, 133, 5, 810, 
  -88, 15, -88, 733, -88, -88, -88, -88, -88, 123, 
  -88, -88, -88, -88, -88, -88, -88, 285, -88, -88, 
  309, -88, -88, 45, 61, 575, 155, -88, 1391, 53, 
  -88, 119, 103, -88, 47, 93, -88, 102, -88, 56, 
  -88, -88, 1475, -88, 118, 116, -88, 108, -88, -88, 
  73, -88, 187, -88, -88, 575, -88, -88, 57, -88, 
  -88, 

  -98, -98, -98, -98, -98, 31, 17, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, 67, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, 63, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -45, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, 186, -98, -98, -98, 
  -98, -98, 113, -98, -98, -11, -98, -98, -98, -98, 
  -98, -98, -98, 43, 116, 112, 134, 147, -98, -98, 
  153, 152, 42, -98, -98, -98, -98, 37, 87, -98, 
  -15, 90, 84, -98, -98, -98, -98, -98, -98, -98, 
  78, 94, -98, -98, -98, -98, -98, -98, -98, 103, 
  102, 96, -98, -98, -98, -98, -98, -49, -98, -98, 
  253, -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, 1, -98, -17, -98, -98, -7, -98, -98, -98, 
  133, -98, 119, 123, 130, 132, -98, 121, 34, 46, 
  33, 61, 59, -98, 68, 48, 40, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, 57, -98, 
  55, -98, 28, 32, 22, -98, -98, -98, -98, 25, 
  -98, -98, -98, -98, -98, 8, -98, -98, -98, -98, 
  -98, 7, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, 60, -98, 54, -18, -98, 
  -98, -10, -98, 117, -8, 131, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, 5, -98, -98, 
  -98, -98, 62, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, 188, -98, 198, 
  185, 179, 189, -98, 83, 77, 80, 95, 106, -98, 
  -98, -98, -98, -98, -98, -98, -98, 170, -98, 160, 
  -98, 158, -98, -98, 177, -98, 98, -98, -98, 120, 
  -98, 26, -98, 27, -98, 29, -98, 157, -98, 156, 
  159, -98, -98, 169, -98, -98, -98, -98, -98, -98, 
  195, -98, -52, 126, -98, -98, 127, -98, 18, -98, 
  20, -98, 23, -98, -98, 24, -98, 21, -98, 19, 
  -98, 47, -98, -98, 50, -98, -98, -98, -98, -98, 
  91, 52, -98, -98, -98, -98, -98, 79, -98, -98, 
  36, -98, -98, -98, 44, -98, -34, 135, -98, 146, 
  -98, -98, -98, -98, -98, -98, 128, -98, -98, -98, 
  -98, -98, 75, -98, -98, -98, -98, -98, -80, -98, 
  6, -98, -65, -98, -98, -98, -98, -57, -98, -98, 
  -58, -98, -98, -98, -98, -98, -98, -69, -98, -98, 
  -42, -98, -98, -98, -46, -98, -98, -98, -98, 10, 
  -98, 12, -98, -1, -98, -5, -98, -98, -98, -19, 
  -98, -13, -98, -12, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, 92, -98, -98, 
  66, -98, -98, -98, -98, 45, 38, -98, 41, -98, 
  -98, 53, 49, -98, 51, -98, -98, -98, -98, 58, 
  -98, -98, 35, -98, 16, 166, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, 30, -98, -98, -38, -98, 
  -98};

const int JavaScriptGrammar::action_info [] = {
  329, 210, 319, 219, 208, 129, 444, 343, 350, 337, 
  317, 27, 436, 466, 326, 180, 321, 27, 319, 24, 
  317, 337, 420, 460, 28, 345, 31, 331, 29, 132, 
  30, 420, 360, 230, 412, 426, -78, 176, -224, 403, 
  -65, -76, -54, 427, -55, -53, 282, -73, 367, 420, 
  345, 443, 408, 436, 442, 297, 436, 371, 416, 440, 
  127, -225, 358, 24, 356, 251, 3, 449, 485, 8, 
  7, 260, 180, 210, 484, 23, 130, 225, 453, 3, 
  477, 483, 509, 477, 412, 494, 510, 449, 436, 126, 
  515, 171, 0, 173, 510, 453, 364, 208, 460, 365, 
  367, 499, 276, 126, 277, 219, 352, 488, 282, 502, 
  -293, 460, 430, 219, 219, 489, 499, 489, 178, 117, 
  219, 439, 227, 423, 460, 365, 365, 281, 280, 339, 
  118, 219, 494, 340, 219, 440, 10, 9, 219, 271, 
  270, 461, 245, 273, 272, 494, 247, 266, 265, 500, 
  248, 477, 477, 220, 110, 411, 410, 219, 219, 353, 
  273, 272, 110, 219, 508, 111, 369, 110, 424, 219, 
  263, 0, 362, 111, 110, 253, 0, 0, 111, 194, 
  119, 195, 258, 470, 194, 111, 195, 253, 477, 462, 
  455, 194, 196, 195, 254, 518, 406, 196, 194, 194, 
  195, 195, 264, 262, 196, 268, 254, 119, 255, 279, 
  414, 196, 196, 194, 212, 195, 194, 194, 195, 195, 
  119, 451, 219, 263, 0, 120, 196, 268, 219, 196, 
  196, 121, 194, 213, 195, 214, 219, 269, 267, 0, 
  194, 194, 195, 195, 194, 196, 195, 0, 519, 517, 
  182, 183, 120, 196, 196, 264, 262, 196, 121, 269, 
  267, 0, 0, 14, 0, 120, 299, 300, 182, 183, 
  15, 121, 299, 300, 14, 434, 433, 184, 185, 0, 
  335, 15, 0, 0, 0, 0, 0, 0, 0, 229, 
  228, 0, 0, 301, 302, 184, 185, 304, 305, 301, 
  302, 0, 0, 304, 305, 0, 306, 14, 194, 307, 
  195, 308, 306, 17, 15, 307, 0, 308, 187, 188, 
  0, 196, 13, 0, 17, 16, 189, 190, 0, 0, 
  191, 14, 192, 13, 187, 188, 16, 0, 15, 0, 
  479, 0, 189, 190, 187, 188, 191, 0, 192, 0, 
  0, 0, 189, 190, 0, 0, 191, 17, 192, 0, 
  0, 0, 0, 0, 481, 0, 13, 73, 74, 16, 
  0, 304, 305, 0, 0, 0, 0, 114, 0, 0, 
  306, 17, 0, 307, 115, 308, 73, 74, 116, 82, 
  13, 83, 0, 16, 0, 0, 114, 0, 86, 0, 
  0, 0, 89, 115, 0, 0, 0, 116, 82, 0, 
  83, 0, 0, 0, 0, 0, 0, 86, 0, 0, 
  94, 89, 96, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 232, 88, 99, 76, 187, 188, 0, 94, 
  0, 96, 233, 0, 189, 190, 234, 0, 191, 0, 
  192, 0, 88, 99, 76, 235, 0, 236, 0, 0, 
  333, 0, 0, 0, 0, 0, 0, 0, 237, 0, 
  238, 117, 0, 0, 0, 0, 0, 0, 239, 0, 
  0, 240, 118, 0, 0, 0, 0, 241, 0, 0, 
  0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 
  0, 232, 0, 0, 0, 0, 243, 0, 0, 0, 
  0, 233, 0, 0, 0, 234, 0, 0, 0, 0, 
  0, 0, 0, 0, 235, 0, 236, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 237, 0, 238, 
  117, 0, 0, 0, 0, 0, 0, 239, 0, 0, 
  240, 118, 0, 0, 0, 0, 241, 0, 0, 0, 
  0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 243, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 72, 73, 74, 0, 
  0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 
  0, 0, 0, 0, 115, 0, 0, 0, 116, 82, 
  0, 83, 0, 0, 0, 84, 0, 85, 86, 87, 
  0, 0, 89, 0, 0, 0, 90, 0, 91, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  94, 0, 96, 0, 98, 0, 101, 0, 102, 0, 
  0, 0, 0, 88, 99, 76, 0, 0, 0, 0, 
  0, 0, 0, -74, 0, 0, 0, 72, 73, 74, 
  0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 
  0, 0, 0, 0, 0, 115, 0, 0, 0, 116, 
  82, 0, 83, 0, 0, 0, 84, 0, 85, 86, 
  87, 0, 0, 89, 0, 0, 0, 90, 0, 91, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 94, 0, 96, 0, 98, 0, 101, 0, 102, 
  0, 0, 0, 0, 88, 99, 76, 0, 0, 0, 
  0, 0, 0, 0, 72, 73, 74, 0, 0, 0, 
  0, 0, 0, 0, 0, 114, 0, 0, 0, 0, 
  0, 0, 115, 0, 0, 0, 116, 82, 0, 83, 
  0, 0, 0, 84, 0, 85, 86, 87, 0, 0, 
  89, 0, 0, 0, 90, 0, 91, 0, 0, 465, 
  0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 
  96, 0, 98, 0, 101, 0, 102, 0, 0, 0, 
  0, 88, 99, 76, 0, 0, 0, 0, 0, 0, 
  0, 72, 73, 74, 0, 0, 0, 0, 0, 0, 
  0, 0, 114, 0, 0, 0, 0, 0, 0, 115, 
  0, 0, 0, 116, 82, 0, 83, 0, 0, 0, 
  84, 0, 85, 86, 87, 0, 0, 89, 0, 0, 
  0, 90, 0, 91, 0, 0, 468, 0, 0, 0, 
  0, 0, 0, 0, 0, 94, 0, 96, 0, 98, 
  0, 101, 0, 102, 0, 0, 0, 0, 88, 99, 
  76, 0, 0, 0, 0, 0, 0, 0, 72, 73, 
  74, 0, 0, 0, 0, 0, 0, 0, 0, 114, 
  0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 
  116, 82, 0, 83, 0, 0, 0, 84, 0, 85, 
  86, 87, 0, 0, 89, 0, 0, 0, 90, 0, 
  91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 94, 0, 96, 0, 98, 0, 101, 296, 
  102, 0, 0, 0, 0, 88, 99, 76, 0, 0, 
  0, 0, 0, 0, 0, 137, 138, 139, 0, 0, 
  141, 143, 144, 0, 0, 145, 0, 146, 0, 0, 
  0, 148, 149, 150, 0, 0, 0, 0, 0, 0, 
  217, 152, 153, 154, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 155, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  159, 0, 0, 0, 0, 0, 0, 161, 162, 163, 
  0, 165, 166, 167, 168, 169, 170, 0, 0, 156, 
  164, 147, 140, 142, 158, 0, 0, 0, 0, 137, 
  138, 139, 0, 0, 141, 143, 144, 0, 0, 145, 
  0, 146, 0, 0, 0, 148, 149, 150, 0, 0, 
  0, 0, 0, 0, 151, 152, 153, 154, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 155, 0, 
  0, 0, 157, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 
  160, 161, 162, 163, 0, 165, 166, 167, 168, 169, 
  170, 0, 0, 156, 164, 147, 140, 142, 158, 0, 
  0, 0, 0, 137, 138, 139, 0, 0, 141, 143, 
  144, 0, 0, 145, 0, 146, 0, 0, 0, 148, 
  149, 150, 0, 0, 0, 0, 0, 0, 151, 152, 
  153, 154, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 155, 0, 0, 0, 157, 0, 0, 0, 
  0, 0, 0, 0, 175, 0, 0, 0, 159, 0, 
  0, 0, 0, 0, 160, 161, 162, 163, 0, 165, 
  166, 167, 168, 169, 170, 0, 0, 156, 164, 147, 
  140, 142, 158, 0, 0, 0, 0, 69, 0, 0, 
  0, 0, 70, 0, 72, 73, 74, 75, 0, 0, 
  0, 0, 0, 0, 77, 114, 0, 0, 0, 0, 
  0, 0, 79, 80, 0, 0, 81, 82, 0, 83, 
  0, 0, 0, 84, 0, 85, 86, 87, 0, 0, 
  89, 0, 0, 0, 90, 0, 91, 0, 0, 0, 
  0, 0, 92, 0, 93, 0, 0, 0, 94, 95, 
  96, 97, 98, 100, 101, 17, 102, 103, 104, 0, 
  0, 88, 99, 76, 13, 71, 0, 0, 0, 0, 
  0, 69, 0, 0, 0, 0, 70, 0, 72, 73, 
  74, 75, 0, 0, 0, 0, 0, 0, 77, 78, 
  0, 0, 0, 0, 0, 0, 79, 80, 0, 0, 
  81, 82, 0, 83, 0, 0, 0, 84, 0, 85, 
  86, 87, 0, 0, 89, 0, 0, 0, 90, 0, 
  91, 0, 0, 0, 0, 0, 92, 0, 93, 0, 
  0, 0, 94, 95, 96, 97, 98, 100, 101, 17, 
  102, 103, 104, 0, 0, 88, 99, 76, 13, 71, 
  0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 
  70, 0, 72, 73, 74, 75, 0, 0, 0, 0, 
  0, 0, 77, 114, 0, 0, 0, 0, 0, 0, 
  491, 80, 0, 0, 81, 492, 0, 83, 0, 0, 
  0, 84, 0, 85, 86, 87, 0, 0, 89, 0, 
  0, 0, 90, 0, 91, 0, 0, 0, 0, 0, 
  92, 0, 93, 0, 0, 0, 94, 95, 96, 97, 
  98, 100, 101, 17, 102, 103, 104, 0, 0, 88, 
  99, 76, 13, 71, 0, 0, 0, 0, 0, 69, 
  0, 0, 0, 0, 70, 0, 72, 73, 74, 75, 
  0, 0, 0, 0, 0, 0, 77, 114, 0, 0, 
  0, 0, 0, 0, 504, 80, 0, 0, 81, 505, 
  0, 83, 0, 0, 0, 84, 0, 85, 86, 87, 
  0, 0, 89, 0, 0, 0, 90, 0, 91, 0, 
  0, 0, 0, 0, 92, 0, 93, 0, 0, 0, 
  94, 95, 96, 97, 98, 100, 101, 17, 102, 103, 
  104, 0, 0, 88, 99, 76, 13, 71, 0, 0, 
  0, 0, 0, 376, 138, 139, 0, 0, 378, 143, 
  380, 73, 74, 381, 0, 146, 0, 0, 0, 148, 
  383, 384, 0, 0, 0, 0, 0, 0, 385, 386, 
  153, 154, 81, 82, 0, 83, 0, 0, 0, 84, 
  0, 85, 387, 87, 0, 0, 389, 0, 0, 0, 
  90, 0, 91, 0, -220, 0, 0, 0, 390, 0, 
  93, 0, 0, 0, 391, 392, 393, 394, 98, 396, 
  397, 398, 399, 400, 401, 0, 0, 388, 395, 382, 
  377, 379, 158, 0, 0, 0, 0, 

  275, 467, 250, 463, 257, 174, 456, 421, 464, 231, 
  252, 454, 445, 177, 431, 428, 446, 278, 429, 425, 
  441, 172, 450, 452, 435, 506, 354, 244, 226, 359, 
  370, 22, 361, 368, 363, 366, 11, 332, 520, 334, 
  336, 128, 224, 435, 218, 221, 503, 487, 327, 432, 
  516, 216, 490, 0, 327, 469, 432, 486, 372, 497, 
  498, 402, 493, 275, 112, 112, 501, 0, 497, 202, 
  200, 112, 482, 482, 67, 199, 49, 112, 0, 112, 
  22, 22, 201, 198, 0, 112, 112, 413, 112, 0, 
  112, 112, 112, 291, 480, 204, 211, 203, 295, 112, 
  209, 249, 0, 197, 404, 246, 22, 405, 112, 112, 
  327, 112, 113, 310, 112, 112, 311, 448, 112, 309, 
  476, 112, 112, 447, 274, 112, 112, 112, 179, 124, 
  0, 312, 327, 112, 112, 123, 122, 112, 327, 327, 
  216, 256, 313, 112, 112, 472, 274, 112, 224, 471, 
  112, 224, 112, 328, 112, 407, 186, 193, 259, 404, 
  205, 112, 405, 112, 112, 0, 112, 206, 447, 207, 
  0, 0, 181, 507, 0, 330, 497, 112, 112, 448, 
  473, 355, 357, 112, 112, 475, 474, 112, 112, 323, 
  323, 112, 295, 295, 295, 295, 295, 67, 0, 49, 
  323, 112, 320, 338, 341, 295, 295, 0, 323, 0, 
  112, 322, 342, 295, 318, 295, 112, 315, 0, 112, 
  112, 295, 344, 314, 295, 295, 323, 316, 298, 112, 
  325, 295, 0, 0, 295, 0, 303, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 351, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 67, 0, 49, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 261, 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, 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, 0, 131, 0, 0, 0, 0, 0, 
  0};

const int JavaScriptGrammar::action_check [] = {
  61, 76, 76, 8, 48, 60, 60, 7, 17, 2, 
  48, 29, 33, 8, 61, 1, 8, 29, 76, 36, 
  48, 2, 5, 8, 8, 29, 33, 60, 29, 55, 
  60, 5, 31, 55, 36, 55, 7, 7, 29, 55, 
  7, 7, 7, 7, 7, 7, 36, 7, 36, 5, 
  29, 29, 60, 33, 36, 1, 33, 16, 33, 20, 
  36, 29, 60, 36, 61, 7, 85, 36, 7, 65, 
  0, 60, 1, 76, 29, 29, 33, 8, 36, 85, 
  33, 29, 29, 33, 36, 29, 29, 36, 33, 29, 
  17, 7, -1, 8, 29, 36, 29, 48, 8, 7, 
  36, 8, 74, 29, 36, 8, 8, 7, 36, 7, 
  36, 8, 7, 8, 8, 15, 8, 15, 55, 42, 
  8, 6, 60, 10, 8, 7, 7, 61, 62, 50, 
  53, 8, 29, 54, 8, 20, 61, 62, 8, 61, 
  62, 8, 2, 61, 62, 29, 50, 61, 62, 56, 
  54, 33, 33, 56, 40, 61, 62, 8, 8, 61, 
  61, 62, 40, 8, 56, 51, 60, 40, 55, 8, 
  29, -1, 60, 51, 40, 15, -1, -1, 51, 25, 
  12, 27, 56, 60, 25, 51, 27, 15, 33, 56, 
  60, 25, 38, 27, 34, 8, 36, 38, 25, 25, 
  27, 27, 61, 62, 38, 29, 34, 12, 36, 60, 
  60, 38, 38, 25, 15, 27, 25, 25, 27, 27, 
  12, 60, 8, 29, -1, 57, 38, 29, 8, 38, 
  38, 63, 25, 34, 27, 36, 8, 61, 62, -1, 
  25, 25, 27, 27, 25, 38, 27, -1, 61, 62, 
  18, 19, 57, 38, 38, 61, 62, 38, 63, 61, 
  62, -1, -1, 22, -1, 57, 18, 19, 18, 19, 
  29, 63, 18, 19, 22, 61, 62, 45, 46, -1, 
  60, 29, -1, -1, -1, -1, -1, -1, -1, 61, 
  62, -1, -1, 45, 46, 45, 46, 23, 24, 45, 
  46, -1, -1, 23, 24, -1, 32, 22, 25, 35, 
  27, 37, 32, 72, 29, 35, -1, 37, 23, 24, 
  -1, 38, 81, -1, 72, 84, 31, 32, -1, -1, 
  35, 22, 37, 81, 23, 24, 84, -1, 29, -1, 
  55, -1, 31, 32, 23, 24, 35, -1, 37, -1, 
  -1, -1, 31, 32, -1, -1, 35, 72, 37, -1, 
  -1, -1, -1, -1, 55, -1, 81, 12, 13, 84, 
  -1, 23, 24, -1, -1, -1, -1, 22, -1, -1, 
  32, 72, -1, 35, 29, 37, 12, 13, 33, 34, 
  81, 36, -1, 84, -1, -1, 22, -1, 43, -1, 
  -1, -1, 47, 29, -1, -1, -1, 33, 34, -1, 
  36, -1, -1, -1, -1, -1, -1, 43, -1, -1, 
  65, 47, 67, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, 3, 78, 79, 80, 23, 24, -1, 65, 
  -1, 67, 13, -1, 31, 32, 17, -1, 35, -1, 
  37, -1, 78, 79, 80, 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, 3, -1, -1, -1, -1, 77, -1, -1, -1, 
  -1, 13, -1, -1, -1, 17, -1, -1, -1, -1, 
  -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, 
  -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, 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, 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, 

  11, 20, 20, 16, 12, 22, 11, 87, 20, 54, 
  20, 12, 58, 20, 72, 72, 58, 12, 12, 84, 
  89, 20, 12, 11, 58, 9, 78, 20, 20, 11, 
  11, 14, 12, 12, 11, 11, 5, 11, 76, 12, 
  11, 90, 20, 58, 12, 20, 11, 9, 12, 12, 
  20, 23, 11, -1, 12, 12, 12, 12, 11, 10, 
  9, 11, 9, 11, 31, 31, 8, -1, 10, 36, 
  36, 31, 6, 6, 11, 35, 13, 31, -1, 31, 
  14, 14, 36, 35, -1, 31, 31, 12, 31, -1, 
  31, 31, 31, 31, 2, 36, 41, 36, 36, 31, 
  43, 47, -1, 35, 25, 45, 14, 28, 31, 31, 
  12, 31, 34, 36, 31, 31, 36, 33, 31, 36, 
  33, 31, 31, 33, 33, 31, 31, 31, 34, 33, 
  -1, 36, 12, 31, 31, 33, 33, 31, 12, 12, 
  23, 24, 36, 31, 31, 33, 33, 31, 20, 33, 
  31, 20, 31, 55, 31, 27, 37, 36, 27, 25, 
  37, 31, 28, 31, 31, -1, 31, 37, 33, 37, 
  -1, -1, 39, 7, -1, 55, 10, 31, 31, 33, 
  33, 55, 55, 31, 31, 33, 33, 31, 31, 31, 
  31, 31, 36, 36, 36, 36, 36, 11, -1, 13, 
  31, 31, 42, 46, 48, 36, 36, -1, 31, -1, 
  31, 53, 53, 36, 44, 36, 31, 38, -1, 31, 
  31, 36, 53, 38, 36, 36, 31, 38, 40, 31, 
  53, 36, -1, -1, 36, -1, 38, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, 11, -1, 13, -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, -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, 91, -1, -1, -1, -1, -1, 
  -1};