summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/parser/javascriptgrammar.cpp
blob: dfa0c69b4e56c5603db8a5619f698ca90e9aea95 (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
663
664
665
666
667
668
// This file was generated by qlalr - DO NOT EDIT!
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
**
** This file is part of the $MODULE$ of the Qt Toolkit.
**
** $TROLLTECH_DUAL_LICENSE$
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/

#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, 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, 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, 296, 0, 6, 
  7, 5, 25, 223, 0, 27, 0, 224, 9, 1, 
  0, 0, 26, 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, 
  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, 0, 0, 0, 213, 214, 119, 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, 0, 18, 13, 
  0, 14, 10, 0, 23, 0, 24, 0, 0, 22, 
  30, 48, 16, 27, 0, 11, 0, 17, 0, 20, 
  12, 0, 21, 30, 48, 15, 0, 19, 28, 232, 
  225, 0, 233, 229, 0, 231, 221, 0, 222, 226};

const int JavaScriptGrammar::goto_default [] = {
  2, 6, 19, 1, 5, 4, 18, 494, 495, 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, 511, 510, 346, 347, 513, 
  349, 512, 348, 415, 419, 422, 418, 417, 437, 438, 
  26, 48, 125, 25, 47, 66, 65, 0};

const int JavaScriptGrammar::action_index [] = {
  -25, -88, 89, 70, -88, -15, 251, -88, 85, -88, 
  -88, -88, -88, -88, 56, 48, 46, -88, -88, 262, 
  127, 72, -88, -17, -9, 20, -29, -88, -3, -88, 
  -6, 1289, 112, -88, 13, -44, -76, -88, -88, 212, 
  -88, -88, -88, -88, 253, 228, -88, -88, -10, -88, 
  -88, -88, -88, -88, 347, 53, 87, 154, 274, -88, 
  -88, -88, 287, -88, 191, -88, 1289, -88, -88, 199, 
  194, 115, 557, -88, -88, 1205, -88, 66, 71, 77, 
  63, 1541, 79, 557, 557, 557, 480, 557, -88, -88, 
  557, 557, 557, -88, -88, 60, -88, 557, 557, -88, 
  41, 557, 557, 42, 44, -88, -88, -88, -88, -88, 
  557, 557, 83, 177, -24, -88, 1037, -88, -88, 557, 
  557, 557, -88, -88, -88, 25, -88, -18, -58, -8, 
  1289, -26, -88, 58, 64, 67, -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, 557, -88, 1121, 55, -88, 557, -88, -88, 175, 
  557, 250, 557, 557, 557, 557, 404, 557, 557, 557, 
  557, 557, 557, 158, 557, 557, 557, 80, 73, 81, 
  197, 238, 220, 159, 167, 277, 404, 317, 557, 14, 
  557, 90, 953, 557, 557, -88, -88, -88, 108, 557, 
  -88, -88, 65, 49, -88, 557, -88, -88, -88, -88, 
  -88, 557, -88, -88, -88, -88, -88, -88, -88, -88, 
  -88, -88, -88, -88, -88, 557, 45, 557, 557, 75, 
  69, 557, -88, 953, 557, 557, -88, 153, -88, 6, 
  -88, -88, -88, 105, -88, -88, -88, -88, 111, -88, 
  -88, -88, -88, -88, -88, 21, 62, 557, 122, 95, 
  -88, -88, 634, -88, 39, -30, -59, -88, 259, 8, 
  -46, 417, 19, 125, 339, 188, -7, 557, 248, 557, 
  557, 557, 557, 339, 557, 557, 557, 557, 557, 187, 
  166, 192, 206, 232, 339, 339, 339, 557, -59, 557, 
  39, 557, -88, 380, 557, -88, 557, -5, -60, 557, 
  -48, 1205, -88, 557, 142, 1205, -88, 557, -38, 557, 
  557, 7, 0, 557, -88, 17, 84, 22, -88, -88, 
  557, -88, 27, 557, -88, -13, 557, 52, 1205, -88, 
  557, 102, 1205, -88, 28, 1205, -88, 557, 100, 1205, 
  34, 1205, -88, -88, 1205, -19, 139, 9, 149, 82, 
  557, 1205, 23, 1, 119, 36, 10, 480, 40, 120, 
  869, 35, 5, 26, 557, 37, -1, 557, 29, 557, 
  31, 33, -88, -88, 205, -88, 557, -11, -88, 78, 
  -88, -88, 557, 98, 38, -88, 47, -88, 54, 198, 
  557, -88, 30, 32, -88, -4, -88, 1205, -88, 107, 
  1205, -88, 213, -88, -88, 113, 1205, 43, -88, 18, 
  24, -88, -21, -54, -20, -88, -88, -88, -88, 557, 
  143, 1205, -88, 557, 110, 1205, -88, 118, 16, 788, 
  -88, 15, -88, 711, -88, -88, -88, -88, -88, 121, 
  -88, -88, -88, -88, -88, -88, -88, 298, -88, -88, 
  284, -88, -88, 59, 76, 557, 74, 1373, 57, -88, 
  147, 130, -88, 61, 97, -88, 96, -88, 50, -88, 
  -88, 1457, -88, 116, 99, -88, 109, -88, -88, 51, 
  -88, 190, -88, -88, 557, -88, -88, 68, -88, -88, 

  -98, -98, -98, -98, -98, 30, 13, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, 87, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, 83, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -43, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, 184, -98, -98, -98, 
  -98, -98, 113, -98, -98, -9, -98, -98, -98, -98, 
  -98, -98, -98, 42, 116, 112, 127, 146, -98, -98, 
  151, 147, 40, -98, -98, -98, -98, 37, 89, -98, 
  -10, 90, 86, -98, -98, -98, -98, -98, -98, -98, 
  77, 94, -98, -98, -98, -98, -98, -98, -98, 106, 
  103, 98, -98, -98, -98, -98, -98, -47, -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, -7, -98, 0, -98, -98, -3, -98, -98, -98, 
  136, -98, 117, 119, 132, 134, -98, 130, 49, 36, 
  35, 61, 64, -98, 47, 46, 38, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, 59, -98, 
  58, -98, 24, 32, 17, -98, -98, -98, -98, 21, 
  -98, -98, -98, -98, -98, 8, -98, -98, -98, -98, 
  -98, 4, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, 60, -98, 57, -19, -98, 
  -98, -17, -98, 118, 44, 133, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, 3, -98, -98, 
  -98, -98, 67, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, 186, -98, 196, 
  183, 177, 187, -98, 82, 76, 79, 96, 99, -98, 
  -98, -98, -98, -98, -98, -98, -98, 168, -98, 158, 
  -98, 156, -98, -98, 175, -98, 102, -98, -98, 104, 
  -98, 25, -98, 27, -98, 29, -98, 155, -98, 154, 
  157, -98, -98, 167, -98, -98, -98, -98, -98, -98, 
  193, -98, -48, 126, -98, -98, 128, -98, 15, -98, 
  19, -98, 22, -98, -98, 23, -98, 20, -98, 18, 
  -98, 34, -98, -98, 53, -98, -98, -98, -98, -98, 
  93, 52, -98, -98, -98, -98, -98, 81, -98, -98, 
  45, -98, -98, -98, 43, -98, -35, 137, -98, 141, 
  -98, -98, -98, -98, -98, -98, 131, -98, -98, -98, 
  -98, -98, -8, -98, -98, -98, -98, -98, -77, -98, 
  6, -98, -76, -98, -98, -98, -98, -52, -98, -98, 
  -51, -98, -98, -98, -98, -98, -98, -75, -98, -98, 
  -46, -98, -98, -98, -49, -98, -98, -98, -98, 7, 
  -98, 5, -98, -12, -98, 75, -98, -98, -98, -14, 
  -98, -11, -98, -13, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, 73, -98, -98, 
  56, -98, -98, -98, -98, 41, -98, 39, -98, -98, 
  50, 48, -98, 51, -98, -98, -98, -98, 66, -98, 
  -98, 31, -98, 16, 166, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, 26, -98, -98, -38, -98, -98};

const int JavaScriptGrammar::action_info [] = {
  210, 329, 129, 219, 208, 126, 444, 343, 443, 337, 
  317, 27, 331, 436, 180, 326, 321, 319, 317, 24, 
  27, 337, 345, 460, 466, 130, 29, 31, 28, 132, 
  -64, 30, 436, -75, 350, 420, 403, 282, -223, 427, 
  297, 412, -53, -52, -77, 230, 367, -72, 356, 408, 
  371, 426, 420, 360, 442, 245, 345, 436, -224, 420, 
  3, 127, 176, 440, 24, 171, 260, 449, 514, 453, 
  3, 416, 173, 225, 436, 483, 251, 245, 449, 493, 
  453, 477, 219, 485, 365, 23, 508, 460, 484, 7, 
  210, 180, 352, 208, 477, 276, 412, 509, 277, 367, 
  364, 509, 282, 501, 0, 498, 219, 460, 219, 227, 
  219, 488, 358, 110, 430, 219, 219, 498, 219, 439, 
  110, 110, 178, 365, 111, 117, 461, -54, 493, 219, 
  219, 111, 111, 440, 487, 8, 118, 247, 460, 411, 
  410, 248, 488, 273, 272, 353, 10, 9, 126, 477, 
  219, 219, 110, 499, 365, -292, 281, 280, 414, 493, 
  369, 219, 362, 111, 220, 507, 266, 265, 263, 253, 
  455, 0, 271, 270, 462, 339, 273, 272, 268, 340, 
  477, 470, 279, 194, 194, 195, 195, 119, 254, 119, 
  255, 194, 194, 195, 195, 0, 196, 196, 517, 0, 
  264, 262, 335, 451, 196, 196, 0, 0, 423, 258, 
  269, 267, 194, 194, 195, 195, 194, 194, 195, 195, 
  253, 219, 194, 268, 195, 196, 196, 212, 263, 196, 
  196, 194, 120, 195, 120, 196, 219, 0, 121, 254, 
  121, 406, 0, 0, 196, 194, 213, 195, 214, 0, 
  0, 518, 516, 424, 0, 269, 267, 194, 196, 195, 
  264, 262, 0, 194, 0, 195, 299, 300, 182, 183, 
  196, 182, 183, 14, 434, 433, 196, 299, 300, 0, 
  15, 0, 0, 0, 14, 0, 119, 0, 0, 229, 
  228, 15, 0, 301, 302, 184, 185, 0, 184, 185, 
  187, 188, 0, 0, 301, 302, 14, 0, 189, 190, 
  187, 188, 191, 15, 192, 0, 0, 0, 189, 190, 
  14, 0, 191, 17, 192, 0, 0, 15, 0, 0, 
  0, 120, 13, 0, 17, 16, 0, 121, 0, 481, 
  187, 188, 0, 13, 0, 0, 16, 0, 189, 190, 
  232, 0, 191, 479, 192, 0, 17, 0, 0, 0, 
  233, 0, 304, 305, 234, 13, 0, 0, 16, 0, 
  17, 306, 0, 235, 307, 236, 308, 0, 0, 13, 
  0, 0, 16, 232, 0, 0, 237, 0, 238, 117, 
  0, 0, 0, 233, 0, 0, 239, 234, 0, 240, 
  118, 0, 0, 0, 0, 241, 235, 0, 236, 0, 
  0, 242, 0, 0, 0, 0, 0, 0, 0, 237, 
  232, 238, 117, 0, 243, 0, 0, 187, 188, 239, 
  233, 0, 240, 118, 234, 189, 190, 0, 241, 191, 
  0, 192, 0, 235, 242, 236, 0, 0, 333, 0, 
  0, 0, 0, 0, 0, 0, 237, 243, 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, 73, 74, 243, 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, 
  0, 0, 0, 86, 0, 0, 0, 89, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 94, 0, 96, 0, 0, 
  0, 0, 0, 0, 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, 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, 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, -73, 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, 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, 490, 80, 0, 0, 81, 491, 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, 503, 80, 0, 0, 
  81, 504, 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, -219, 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, 

  454, 250, 275, 252, 413, 463, 467, 464, 425, 445, 
  421, 231, 446, 172, 441, 278, 452, 177, 429, 450, 
  428, 431, 174, 435, 244, 505, 359, 22, 226, 370, 
  354, 361, 368, 363, 366, 11, 332, 224, 519, 334, 
  336, 221, 502, 128, 218, 372, 515, 216, 435, 432, 
  489, 0, 327, 486, 469, 432, 257, 327, 496, 492, 
  497, 0, 482, 275, 402, 0, 112, 112, 0, 112, 
  22, 202, 201, 199, 500, 480, 496, 112, 112, 0, 
  112, 198, 197, 0, 0, 200, 456, 22, 112, 112, 
  112, 112, 112, 482, 67, 112, 49, 203, 291, 211, 
  204, 22, 209, 295, 249, 246, 404, 112, 112, 405, 
  112, 113, 310, 112, 327, 311, 327, 112, 309, 448, 
  112, 112, 476, 447, 112, 112, 274, 112, 179, 112, 
  112, 124, 312, 0, 112, 313, 123, 112, 327, 122, 
  327, 216, 256, 112, 112, 472, 274, 112, 112, 471, 
  112, 224, 404, 224, 186, 405, 205, 328, 407, 330, 
  259, 112, 0, 112, 0, 112, 193, 112, 112, 206, 
  447, 207, 112, 506, 448, 181, 496, 112, 112, 473, 
  475, 355, 112, 357, 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, 0, 0, 67, 0, 49, 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, 0, 0, 131, 0, 0, 0, 0, 0, 
  0};

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

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