-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrb_comp.parser.c
More file actions
4479 lines (4059 loc) · 206 KB
/
rb_comp.parser.c
File metadata and controls
4479 lines (4059 loc) · 206 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/*
Parser module generated by unicc from rb6.par.
DO NOT EDIT THIS FILE MANUALLY, IT WILL GO AWAY!
*/
#if 1830 == 0
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <locale.h>
#else
/*
* Includes
*/
#include "rb_global.h"
/* C parser configuration defines */
#define UNICC_DEBUG 0
#define UNICC_STACKDEBUG 0
#define UNICC_GETINPUT *( cur.src++ )
//#define UNICC_SRC_MOVE( s, l ) move_src( s, l )
/*
#define UNICC_PARSE_ERROR( pcb ) \
parse_error( ( pcb )->line, ( pcb )->sym, ( pcb )->tos->state, \
&( *( rb_act[ ( pcb )->tos->state ] ) ), rb_symbol_names, \
rb_whitespaces )
*/
/*
* Global variables
*/
extern CINFO cur;
static srcpos pos_begin;
/*
* Functions
*/
void rb_comp_current_srcpos( srcpos* pos )
{
pos->line = cur.line;
pos->filename = cur.filename;
}
srcpos* rb_comp_cur_pos( void )
{
static srcpos sp;
rb_comp_current_srcpos( &sp );
return &( sp );
}
static void move_src( char* s, int l )
{
while( l > 0 )
{
if( *s == '\n' )
{
cur.line ++;
rb_comp_current_srcpos( &cur.stmt_begin );
}
/*
printf( ">%c< %ld\n", *s, cur.line );
*/
s++;
l--;
}
/*
printf( "--ok\n" );
*/
}
#if 0 /* JMM Oct, 2017 temporarily removed.
static void parse_error( int line, int sym, int state,
int* act, char** names, int* white )
{
int i;
char* tokens = (char*)NULL;
char* tmp;
srcpos pos;
rb_comp_current_srcpos( &pos );
/* Only one token? Then use other error message! */
if( *act == 1 )
{
rb_comp_error( &pos, "parse_error_single_token",
"token", names[ act[ 1 ] ], (char*)NULL );
}
else
{
for( i = 1; i < *act * 3; i += 3 )
{
if( !( tmp = (char*)pmalloc(
( pstrlen( names[ act[ i ] ] )
+ 2 + 1 ) * sizeof( char ) ) ) )
{
OUTOFMEM;
}
sprintf( tmp, "%s%s", names[ act[ i ] ],
( ( i+3 < *act * 3 ) ? ", " : "" ) );
tokens = pstrcatstr( tokens, tmp, TRUE );
}
rb_comp_error( &pos, "parse_error_multi_token",
"token", tokens, (char*)NULL );
pfree( tokens );
}
}
#endif
#endif
/* Include parser control block definitions */
#include "rb_comp.parser.h"
/* Action Table */
UNICC_STATIC int rb_act[ 208 ][ 28 * 3 + 1 ] =
{
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 2, 31,3,273 , 30,3,274 },
{ 27, 56,3,318 , 55,3,267 , 54,3,317 , 53,3,263 , 52,3,313 , 51,3,259 , 50,3,309 , 49,3,255 , 48,3,305 , 47,3,251 , 46,3,301 , 45,3,247 , 43,3,297 , 42,3,243 , 41,3,293 , 40,3,239 , 39,3,289 , 38,3,235 , 37,3,285 , 36,3,231 , 35,3,283 , 34,3,223 , 33,3,207 , 32,3,275 , 31,3,273 , 30,3,274 , 29,3,276 },
{ 28, 56,3,318 , 55,3,267 , 54,3,317 , 53,3,263 , 52,3,313 , 51,3,259 , 50,3,309 , 49,3,255 , 48,3,305 , 47,3,251 , 46,3,301 , 45,3,247 , 44,3,204 , 43,3,297 , 42,3,243 , 41,3,293 , 40,3,239 , 39,3,289 , 38,3,235 , 37,3,285 , 36,3,231 , 35,3,283 , 34,3,223 , 33,3,207 , 32,3,275 , 31,3,273 , 30,3,274 , 29,3,276 },
{ 20, 44,2,16 , 25,2,17 , 24,2,18 , 22,2,19 , 20,2,20 , 19,2,21 , 18,2,22 , 17,2,23 , 16,2,24 , 15,2,25 , 14,2,26 , 13,2,27 , 12,2,28 , 43,2,30 , 0,2,33 , 8,2,34 , 6,2,35 , 33,3,211 , 32,3,212 , 40,1,38 },
{ 2, 31,3,273 , 30,3,274 },
{ 1, 44,3,130 },
{ 27, 56,3,318 , 55,3,267 , 54,3,317 , 53,3,263 , 52,3,313 , 51,3,259 , 50,3,309 , 49,3,255 , 48,3,305 , 47,3,251 , 46,3,301 , 45,3,247 , 43,3,297 , 42,3,243 , 41,3,293 , 40,3,239 , 39,3,289 , 38,3,235 , 37,3,285 , 36,3,231 , 35,3,283 , 34,3,223 , 33,3,207 , 32,3,275 , 31,3,273 , 30,3,274 , 29,3,276 },
{ 1, 44,3,135 },
{ 28, 56,3,318 , 55,3,267 , 54,3,317 , 53,3,263 , 52,3,313 , 51,3,259 , 50,3,309 , 49,3,255 , 48,3,305 , 47,3,251 , 46,3,301 , 45,3,247 , 44,3,204 , 43,3,297 , 42,3,243 , 41,3,293 , 40,3,239 , 39,3,289 , 38,3,235 , 37,3,285 , 36,3,231 , 35,3,283 , 34,3,223 , 33,3,207 , 32,3,275 , 31,3,273 , 30,3,274 , 29,3,276 },
{ 1, 2,3,140 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 1, 1,3,148 },
{ 20, 44,2,16 , 25,2,17 , 24,2,18 , 22,2,19 , 20,2,20 , 19,2,21 , 18,2,22 , 17,2,23 , 16,2,24 , 15,2,25 , 14,2,26 , 13,2,27 , 12,2,28 , 43,2,30 , 0,2,33 , 8,2,34 , 6,2,35 , 33,3,211 , 32,3,212 , 40,1,38 },
{ 1, 26,2,52 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 1, 40,2,55 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 1, 44,2,16 },
{ 1, 44,2,16 },
{ 1, 44,2,16 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 10, 54,2,58 , 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 , 34,1,102 },
{ 0 },
{ 0 },
{ 0 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 0 },
{ 0 },
{ 1, 44,2,16 },
{ 1, 44,2,16 },
{ 9, 53,2,59 , 44,2,16 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 1, 40,2,55 },
{ 1, 40,2,55 },
{ 2, 33,3,211 , 32,3,212 },
{ 2, 33,3,211 , 32,3,212 },
{ 1, 44,2,16 },
{ 2, 33,3,211 , 32,3,212 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 1, 44,2,16 },
{ 1, 54,2,58 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 1, 55,2,85 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 6, 50,2,87 , 49,2,88 , 48,2,89 , 47,2,90 , 46,2,91 , 45,2,92 },
{ 1, 38,2,62 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 1, 42,2,100 },
{ 0 },
{ 2, 35,3,97 , 34,2,103 },
{ 1, 34,2,104 },
{ 9, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 , 34,1,102 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 3, 35,3,229 , 33,3,209 , 32,3,230 },
{ 0 },
{ 0 },
{ 9, 56,2,109 , 55,2,85 , 54,2,58 , 53,2,59 , 52,2,110 , 51,2,111 , 28,2,112 , 27,2,113 , 44,1,45 },
{ 6, 50,2,87 , 49,2,88 , 48,2,89 , 47,2,90 , 46,2,91 , 45,2,92 },
{ 1, 44,2,16 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 7, 50,2,87 , 49,2,88 , 48,2,89 , 47,2,90 , 46,2,91 , 45,2,92 , 44,2,16 },
{ 2, 44,2,16 , 42,2,100 },
{ 2, 44,2,16 , 42,2,100 },
{ 1, 44,2,16 },
{ 1, 44,2,16 },
{ 1, 44,2,16 },
{ 1, 44,2,16 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 3, 33,3,213 , 32,3,218 , 31,3,217 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 9, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 , 34,1,102 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 28, 56,3,269 , 55,3,319 , 54,3,265 , 53,3,315 , 52,3,261 , 51,3,311 , 50,3,257 , 49,3,307 , 48,3,253 , 47,3,303 , 46,3,249 , 45,3,299 , 44,3,206 , 43,3,245 , 42,3,295 , 41,3,241 , 40,3,291 , 39,3,237 , 38,3,287 , 37,3,233 , 36,3,93 , 35,3,225 , 34,3,281 , 33,3,279 , 32,3,277 , 31,3,273 , 30,3,274 , 29,3,320 },
{ 1, 35,3,98 },
{ 1, 35,3,98 },
{ 6, 50,2,87 , 49,2,88 , 48,2,89 , 47,2,90 , 46,2,91 , 45,2,92 },
{ 7, 50,2,87 , 49,2,88 , 48,2,89 , 47,2,90 , 46,2,91 , 45,2,92 , 37,2,142 },
{ 2, 33,3,211 , 32,3,212 },
{ 2, 33,3,211 , 32,3,212 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 16, 25,2,17 , 24,2,18 , 22,2,19 , 20,2,20 , 19,2,21 , 18,2,22 , 17,2,23 , 16,2,24 , 15,2,25 , 14,2,26 , 13,2,27 , 12,2,28 , 43,2,30 , 0,2,33 , 33,3,211 , 32,3,212 },
{ 1, 44,2,16 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 18, 44,2,16 , 25,2,17 , 24,2,18 , 22,2,19 , 20,2,20 , 19,2,21 , 18,2,22 , 17,2,23 , 16,2,24 , 15,2,25 , 14,2,26 , 13,2,27 , 12,2,28 , 43,2,30 , 0,2,33 , 33,3,211 , 32,3,212 , 40,1,38 },
{ 8, 56,2,109 , 55,2,85 , 54,2,58 , 53,2,59 , 52,2,110 , 51,2,111 , 28,2,112 , 27,2,113 },
{ 1, 40,2,55 },
{ 1, 40,2,55 },
{ 7, 50,2,87 , 49,2,88 , 48,2,89 , 47,2,90 , 46,2,91 , 45,2,92 , 44,2,16 },
{ 2, 41,2,159 , 39,2,160 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 4, 35,3,227 , 33,3,215 , 32,3,218 , 31,3,217 },
{ 0 },
{ 5, 49,2,88 , 48,2,89 , 47,2,90 , 46,2,91 , 45,2,92 },
{ 3, 47,2,90 , 46,2,91 , 45,2,92 },
{ 3, 47,2,90 , 46,2,91 , 45,2,92 },
{ 0 },
{ 0 },
{ 1, 37,2,142 },
{ 6, 50,2,87 , 49,2,88 , 48,2,89 , 47,2,90 , 46,2,91 , 45,2,92 },
{ 1, 35,3,97 },
{ 1, 35,3,97 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 1, 44,2,16 },
{ 1, 41,2,159 },
{ 1, 44,2,16 },
{ 1, 41,2,159 },
{ 18, 44,2,16 , 25,2,17 , 24,2,18 , 22,2,19 , 20,2,20 , 19,2,21 , 18,2,22 , 17,2,23 , 16,2,24 , 15,2,25 , 14,2,26 , 13,2,27 , 12,2,28 , 43,2,30 , 0,2,33 , 33,3,211 , 32,3,212 , 40,1,38 },
{ 0 },
{ 6, 54,2,58 , 53,2,59 , 52,2,110 , 51,2,111 , 28,2,112 , 27,2,113 },
{ 0 },
{ 7, 55,2,85 , 54,2,58 , 53,2,59 , 52,2,110 , 51,2,111 , 28,2,112 , 27,2,113 },
{ 0 },
{ 0 },
{ 0 },
{ 0 },
{ 18, 44,2,16 , 25,2,17 , 24,2,18 , 22,2,19 , 20,2,20 , 19,2,21 , 18,2,22 , 17,2,23 , 16,2,24 , 15,2,25 , 14,2,26 , 13,2,27 , 12,2,28 , 43,2,30 , 0,2,33 , 33,3,211 , 32,3,212 , 40,1,38 },
{ 1, 23,2,168 },
{ 1, 44,2,16 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 4, 35,3,227 , 33,3,215 , 32,3,218 , 31,3,217 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 0 },
{ 1, 40,2,55 },
{ 0 },
{ 2, 10,2,178 , 9,2,179 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 0 },
{ 18, 44,2,16 , 25,2,17 , 24,2,18 , 22,2,19 , 20,2,20 , 19,2,21 , 18,2,22 , 17,2,23 , 16,2,24 , 15,2,25 , 14,2,26 , 13,2,27 , 12,2,28 , 43,2,30 , 0,2,33 , 33,3,211 , 32,3,212 , 40,1,38 },
{ 6, 50,2,87 , 49,2,88 , 48,2,89 , 47,2,90 , 46,2,91 , 45,2,92 },
{ 2, 42,2,100 , 39,2,160 },
{ 18, 44,2,16 , 25,2,17 , 24,2,18 , 22,2,19 , 20,2,20 , 19,2,21 , 18,2,22 , 17,2,23 , 16,2,24 , 15,2,25 , 14,2,26 , 13,2,27 , 12,2,28 , 43,2,30 , 0,2,33 , 33,3,211 , 32,3,212 , 40,1,38 },
{ 1, 42,2,100 },
{ 1, 47,2,90 },
{ 18, 44,2,16 , 25,2,17 , 24,2,18 , 22,2,19 , 20,2,20 , 19,2,21 , 18,2,22 , 17,2,23 , 16,2,24 , 15,2,25 , 14,2,26 , 13,2,27 , 12,2,28 , 43,2,30 , 0,2,33 , 33,3,211 , 32,3,212 , 40,1,38 },
{ 1, 11,2,189 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 0 },
{ 0 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 1, 21,2,194 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 1, 5,2,197 },
{ 1, 40,2,55 },
{ 3, 33,3,213 , 32,3,218 , 31,3,217 },
{ 1, 7,2,200 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 1, 44,2,16 },
{ 8, 53,2,59 , 0,3,96 , 40,2,55 , 38,2,62 , 36,2,64 , 35,3,98 , 33,3,211 , 32,3,212 },
{ 1, 44,2,16 },
{ 8, 56,2,109 , 55,2,85 , 54,2,58 , 53,2,59 , 52,2,110 , 51,2,111 , 28,2,112 , 27,2,113 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 1, 44,2,16 },
{ 6, 50,2,87 , 49,2,88 , 48,2,89 , 47,2,90 , 46,2,91 , 45,2,92 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 1, 44,2,16 },
{ 1, 39,2,160 },
{ 5, 33,2,2 , 4,2,3 , 3,2,4 , 31,3,273 , 30,3,274 },
{ 1, 44,2,16 },
{ 8, 56,2,109 , 55,2,85 , 54,2,58 , 53,2,59 , 52,2,110 , 51,2,111 , 28,2,112 , 27,2,113 },
{ 18, 44,2,16 , 25,2,17 , 24,2,18 , 22,2,19 , 20,2,20 , 19,2,21 , 18,2,22 , 17,2,23 , 16,2,24 , 15,2,25 , 14,2,26 , 13,2,27 , 12,2,28 , 43,2,30 , 0,2,33 , 33,3,211 , 32,3,212 , 40,1,38 },
{ 1, 44,2,16 },
{ 1, 44,2,16 },
{ 18, 44,2,16 , 25,2,17 , 24,2,18 , 22,2,19 , 20,2,20 , 19,2,21 , 18,2,22 , 17,2,23 , 16,2,24 , 15,2,25 , 14,2,26 , 13,2,27 , 12,2,28 , 43,2,30 , 0,2,33 , 33,3,211 , 32,3,212 , 40,1,38 },
{ 2, 10,2,178 , 9,2,179 }
};
/* GoTo Table */
UNICC_STATIC int rb_go[ 208 ][ 33 * 3 + 1 ] =
{
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,2,5 },
{ 3, 237,3,149 , 159,3,150 , 169,3,129 },
{ 3, 169,3,132 , 168,2,6 , 167,2,7 },
{ 28, 169,3,219 , 166,3,137 , 165,2,8 , 164,2,9 , 98,3,232 , 106,3,208 , 102,3,220 , 100,3,224 , 96,3,236 , 94,3,240 , 92,3,244 , 90,3,248 , 88,3,252 , 86,3,256 , 84,3,260 , 82,3,264 , 80,3,268 , 78,3,271 , 77,3,272 , 73,3,284 , 72,3,286 , 70,3,290 , 68,3,294 , 66,3,298 , 64,3,302 , 62,3,306 , 60,3,310 , 58,3,314 },
{ 29, 169,3,219 , 166,3,203 , 163,3,142 , 162,2,10 , 161,2,11 , 98,3,232 , 106,3,208 , 102,3,220 , 100,3,224 , 96,3,236 , 94,3,240 , 92,3,244 , 90,3,248 , 88,3,252 , 86,3,256 , 84,3,260 , 82,3,264 , 80,3,268 , 78,3,271 , 77,3,272 , 73,3,284 , 72,3,286 , 70,3,290 , 68,3,294 , 66,3,298 , 64,3,302 , 62,3,306 , 60,3,310 , 58,3,314 },
{ 33, 235,2,12 , 234,2,13 , 233,3,1 , 232,2,14 , 231,2,15 , 226,3,12 , 225,3,13 , 224,3,14 , 223,3,15 , 222,3,17 , 211,2,29 , 209,2,31 , 208,2,32 , 182,2,36 , 160,3,202 , 172,2,37 , 155,3,16 , 154,2,38 , 152,3,85 , 144,2,39 , 142,2,40 , 141,2,41 , 139,2,42 , 137,2,43 , 136,2,44 , 135,2,45 , 134,2,46 , 133,2,47 , 132,2,48 , 131,2,49 , 130,2,50 , 128,2,51 , 126,3,37 },
{ 1, 169,3,131 },
{ 0 },
{ 26, 169,3,219 , 166,3,136 , 98,3,232 , 106,3,208 , 102,3,220 , 100,3,224 , 96,3,236 , 94,3,240 , 92,3,244 , 90,3,248 , 88,3,252 , 86,3,256 , 84,3,260 , 82,3,264 , 80,3,268 , 78,3,271 , 77,3,272 , 73,3,284 , 72,3,286 , 70,3,290 , 68,3,294 , 66,3,298 , 64,3,302 , 62,3,306 , 60,3,310 , 58,3,314 },
{ 0 },
{ 27, 169,3,219 , 166,3,203 , 163,3,141 , 98,3,232 , 106,3,208 , 102,3,220 , 100,3,224 , 96,3,236 , 94,3,240 , 92,3,244 , 90,3,248 , 88,3,252 , 86,3,256 , 84,3,260 , 82,3,264 , 80,3,268 , 78,3,271 , 77,3,272 , 73,3,284 , 72,3,286 , 70,3,290 , 68,3,294 , 66,3,298 , 64,3,302 , 62,3,306 , 60,3,310 , 58,3,314 },
{ 0 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,158 },
{ 0 },
{ 29, 235,2,12 , 233,3,0 , 226,3,12 , 225,3,13 , 224,3,14 , 223,3,15 , 222,3,17 , 211,2,29 , 209,2,31 , 208,2,32 , 182,2,36 , 172,2,37 , 155,3,16 , 154,2,38 , 152,3,85 , 144,2,39 , 142,2,40 , 141,2,41 , 139,2,42 , 137,2,43 , 136,2,44 , 135,2,45 , 134,2,46 , 133,2,47 , 132,2,48 , 131,2,49 , 130,2,50 , 128,2,51 , 126,3,37 },
{ 3, 228,3,10 , 227,3,4 , 156,2,53 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,155 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,168 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,169 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,171 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,173 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,174 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,175 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,176 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,177 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,178 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,179 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,180 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,184 },
{ 5, 210,2,54 , 187,3,82 , 185,3,83 , 183,3,84 , 149,2,56 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,182 },
{ 1, 155,3,41 },
{ 1, 155,3,42 },
{ 1, 155,3,43 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,166 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,156 },
{ 22, 236,2,57 , 235,2,12 , 214,2,60 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 180,3,88 , 179,2,63 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 129,2,67 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 1, 171,2,70 },
{ 1, 220,2,71 },
{ 1, 220,2,72 },
{ 20, 236,2,57 , 235,2,12 , 221,2,73 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 1, 219,2,75 },
{ 1, 215,2,76 },
{ 1, 155,3,28 },
{ 1, 155,3,29 },
{ 20, 236,2,57 , 235,2,12 , 214,2,77 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 155,3,30 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 6, 213,2,78 , 210,3,52 , 187,3,82 , 185,3,83 , 183,3,84 , 149,2,56 },
{ 6, 212,2,79 , 210,3,54 , 187,3,82 , 185,3,83 , 183,3,84 , 149,2,56 },
{ 3, 235,2,12 , 172,2,37 , 152,2,80 },
{ 3, 235,2,12 , 172,2,37 , 152,2,81 },
{ 1, 155,3,36 },
{ 3, 235,2,12 , 172,2,37 , 152,2,82 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,154 },
{ 3, 230,2,83 , 229,3,5 , 155,3,7 },
{ 1, 129,2,84 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,161 },
{ 2, 186,2,86 , 127,3,77 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,191 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,181 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,190 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 1, 118,2,99 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,192 },
{ 1, 150,2,101 },
{ 1, 178,2,102 },
{ 0 },
{ 0 },
{ 21, 236,2,57 , 235,2,12 , 214,2,60 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 180,3,87 , 179,2,63 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 19, 236,2,57 , 235,2,12 , 214,2,105 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 19, 236,2,57 , 235,2,12 , 214,2,106 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 2, 170,3,127 , 105,3,210 },
{ 1, 201,2,107 },
{ 1, 201,2,108 },
{ 10, 220,2,114 , 207,2,115 , 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 1, 155,2,124 },
{ 20, 236,2,57 , 235,2,12 , 221,2,125 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 7, 155,3,31 , 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 2, 155,3,32 , 150,2,126 },
{ 2, 155,3,33 , 150,2,127 },
{ 1, 155,3,34 },
{ 1, 155,3,35 },
{ 1, 155,3,40 },
{ 1, 155,3,6 },
{ 19, 236,2,57 , 235,2,12 , 214,2,128 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,183 },
{ 4, 193,2,129 , 192,2,130 , 147,2,131 , 104,3,214 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,185 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,186 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,187 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,165 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,188 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,189 },
{ 19, 236,2,57 , 235,2,12 , 214,2,132 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 19, 236,2,57 , 235,2,12 , 214,2,133 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 19, 236,2,57 , 235,2,12 , 214,2,134 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 19, 236,2,57 , 235,2,12 , 214,2,135 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 19, 236,2,57 , 235,2,12 , 214,2,136 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 19, 236,2,57 , 235,2,12 , 214,2,137 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 21, 236,2,57 , 235,2,12 , 214,2,60 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 180,2,138 , 179,2,63 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,160 },
{ 19, 236,2,57 , 235,2,12 , 214,2,139 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 26, 174,3,103 , 169,3,221 , 107,3,205 , 101,3,222 , 99,3,226 , 97,3,234 , 95,3,238 , 93,3,242 , 91,3,246 , 89,3,250 , 87,3,254 , 85,3,258 , 83,3,262 , 81,3,266 , 79,3,270 , 76,3,278 , 75,3,280 , 74,3,282 , 71,3,288 , 69,3,292 , 67,3,296 , 65,3,300 , 63,3,304 , 61,3,308 , 59,3,312 , 57,3,316 },
{ 2, 177,2,140 , 175,3,100 },
{ 1, 177,2,141 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 7, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 , 117,3,108 },
{ 4, 235,2,12 , 199,2,143 , 172,2,37 , 152,2,144 },
{ 4, 235,2,12 , 203,2,145 , 172,2,37 , 152,2,146 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,194 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,195 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,196 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,197 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,198 },
{ 22, 235,2,12 , 223,3,18 , 222,3,17 , 211,2,29 , 209,2,31 , 208,2,32 , 182,2,36 , 172,2,37 , 152,3,85 , 142,2,40 , 141,2,41 , 139,2,42 , 137,2,43 , 136,2,44 , 135,2,45 , 134,2,46 , 133,2,47 , 132,2,48 , 131,2,49 , 130,2,50 , 128,2,51 , 126,3,37 },
{ 1, 155,2,147 },
{ 20, 236,2,57 , 235,2,12 , 221,2,148 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 20, 236,2,57 , 235,2,12 , 221,2,149 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 20, 236,2,57 , 235,2,12 , 221,2,150 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 20, 236,2,57 , 235,2,12 , 221,2,151 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 20, 236,2,57 , 235,2,12 , 221,2,152 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 20, 236,2,57 , 235,2,12 , 221,2,153 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 20, 236,2,57 , 235,2,12 , 221,2,154 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 20, 236,2,57 , 235,2,12 , 221,2,155 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 26, 235,2,12 , 226,3,22 , 223,3,15 , 222,3,17 , 218,2,156 , 217,2,157 , 211,2,29 , 209,2,31 , 208,2,32 , 182,2,36 , 172,2,37 , 155,3,16 , 152,3,85 , 142,2,40 , 141,2,41 , 139,2,42 , 137,2,43 , 136,2,44 , 135,2,45 , 134,2,46 , 133,2,47 , 132,2,48 , 131,2,49 , 130,2,50 , 128,2,51 , 126,3,37 },
{ 9, 220,2,158 , 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 5, 210,3,51 , 187,3,82 , 185,3,83 , 183,3,84 , 149,2,56 },
{ 5, 210,3,53 , 187,3,82 , 185,3,83 , 183,3,84 , 149,2,56 },
{ 7, 155,3,39 , 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 3, 184,2,161 , 151,3,80 , 148,3,76 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,163 },
{ 6, 195,2,162 , 194,2,163 , 191,3,66 , 146,3,65 , 104,3,228 , 103,3,216 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 1, 117,3,86 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 0 },
{ 0 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,193 },
{ 1, 155,2,164 },
{ 2, 202,3,57 , 151,2,165 },
{ 1, 155,2,166 },
{ 2, 202,3,55 , 151,2,165 },
{ 26, 235,2,12 , 226,3,22 , 223,3,15 , 222,3,17 , 218,2,156 , 217,2,167 , 211,2,29 , 209,2,31 , 208,2,32 , 182,2,36 , 172,2,37 , 155,3,16 , 152,3,85 , 142,2,40 , 141,2,41 , 139,2,42 , 137,2,43 , 136,2,44 , 135,2,45 , 134,2,46 , 133,2,47 , 132,2,48 , 131,2,49 , 130,2,50 , 128,2,51 , 126,3,37 },
{ 8, 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 8, 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 8, 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 8, 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 8, 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 8, 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 8, 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 8, 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 24, 235,2,12 , 226,3,21 , 223,3,15 , 222,3,17 , 211,2,29 , 209,2,31 , 208,2,32 , 182,2,36 , 172,2,37 , 155,3,16 , 152,3,85 , 142,2,40 , 141,2,41 , 139,2,42 , 137,2,43 , 136,2,44 , 135,2,45 , 134,2,46 , 133,2,47 , 132,2,48 , 131,2,49 , 130,2,50 , 128,2,51 , 126,3,37 },
{ 1, 140,2,169 },
{ 1, 155,2,170 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,159 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,162 },
{ 20, 236,2,57 , 235,2,12 , 214,2,171 , 210,3,106 , 190,2,172 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 4, 194,2,163 , 146,3,64 , 104,3,228 , 103,3,216 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,164 },
{ 1, 200,2,173 },
{ 4, 198,2,174 , 197,3,62 , 196,3,63 , 149,2,175 },
{ 1, 200,2,176 },
{ 4, 206,3,46 , 205,2,177 , 110,2,180 , 109,2,181 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,170 },
{ 1, 216,2,182 },
{ 26, 235,2,12 , 226,3,22 , 223,3,15 , 222,3,17 , 218,2,156 , 217,2,183 , 211,2,29 , 209,2,31 , 208,2,32 , 182,2,36 , 172,2,37 , 155,3,16 , 152,3,85 , 142,2,40 , 141,2,41 , 139,2,42 , 137,2,43 , 136,2,44 , 135,2,45 , 134,2,46 , 133,2,47 , 132,2,48 , 131,2,49 , 130,2,50 , 128,2,51 , 126,3,37 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 3, 189,2,184 , 150,3,70 , 148,3,79 },
{ 26, 235,2,12 , 226,3,22 , 223,3,15 , 222,3,17 , 218,2,156 , 217,2,185 , 211,2,29 , 209,2,31 , 208,2,32 , 182,2,36 , 172,2,37 , 155,3,16 , 152,3,85 , 142,2,40 , 141,2,41 , 139,2,42 , 137,2,43 , 136,2,44 , 135,2,45 , 134,2,46 , 133,2,47 , 132,2,48 , 131,2,49 , 130,2,50 , 128,2,51 , 126,3,37 },
{ 1, 150,2,186 },
{ 2, 188,2,187 , 145,3,74 },
{ 26, 235,2,12 , 226,3,22 , 223,3,15 , 222,3,17 , 218,2,156 , 217,2,188 , 211,2,29 , 209,2,31 , 208,2,32 , 182,2,36 , 172,2,37 , 155,3,16 , 152,3,85 , 142,2,40 , 141,2,41 , 139,2,42 , 137,2,43 , 136,2,44 , 135,2,45 , 134,2,46 , 133,2,47 , 132,2,48 , 131,2,49 , 130,2,50 , 128,2,51 , 126,3,37 },
{ 1, 111,2,190 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,200 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,201 },
{ 1, 220,2,191 },
{ 1, 220,2,192 },
{ 20, 236,2,57 , 235,2,12 , 221,2,193 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 1, 138,2,195 },
{ 19, 236,2,57 , 235,2,12 , 214,2,196 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 1, 153,2,198 },
{ 3, 197,3,61 , 196,3,63 , 149,2,175 },
{ 4, 193,2,199 , 192,2,130 , 147,2,131 , 104,3,214 },
{ 1, 143,2,201 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,199 },
{ 1, 155,3,44 },
{ 20, 236,2,57 , 235,2,12 , 221,2,202 , 214,2,74 , 210,3,106 , 187,3,82 , 185,3,83 , 183,3,84 , 182,2,61 , 181,3,107 , 177,2,65 , 176,3,95 , 175,2,66 , 173,3,116 , 172,2,37 , 152,3,85 , 149,2,56 , 120,2,68 , 119,3,105 , 118,2,69 },
{ 1, 155,2,203 },
{ 9, 220,2,204 , 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,172 },
{ 1, 155,3,26 },
{ 6, 145,2,93 , 125,2,94 , 124,2,95 , 123,2,96 , 122,2,97 , 121,2,98 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,157 },
{ 1, 155,3,58 },
{ 1, 148,3,73 },
{ 5, 237,3,149 , 159,3,151 , 158,2,1 , 169,3,129 , 157,3,167 },
{ 1, 155,3,56 },
{ 9, 204,2,205 , 129,2,116 , 127,2,117 , 120,2,118 , 116,2,119 , 115,2,120 , 114,2,121 , 113,2,122 , 112,2,123 },
{ 26, 235,2,12 , 226,3,22 , 223,3,15 , 222,3,17 , 218,2,156 , 217,3,50 , 211,2,29 , 209,2,31 , 208,2,32 , 182,2,36 , 172,2,37 , 155,3,16 , 152,3,85 , 142,2,40 , 141,2,41 , 139,2,42 , 137,2,43 , 136,2,44 , 135,2,45 , 134,2,46 , 133,2,47 , 132,2,48 , 131,2,49 , 130,2,50 , 128,2,51 , 126,3,37 },
{ 1, 155,3,19 },
{ 1, 155,2,206 },
{ 26, 235,2,12 , 226,3,22 , 223,3,15 , 222,3,17 , 218,2,156 , 217,2,207 , 211,2,29 , 209,2,31 , 208,2,32 , 182,2,36 , 172,2,37 , 155,3,16 , 152,3,85 , 142,2,40 , 141,2,41 , 139,2,42 , 137,2,43 , 136,2,44 , 135,2,45 , 134,2,46 , 133,2,47 , 132,2,48 , 131,2,49 , 130,2,50 , 128,2,51 , 126,3,37 },
{ 4, 206,3,46 , 205,3,48 , 110,2,180 , 109,2,181 }
};
/* Default productions per state */
UNICC_STATIC int rb_def_prod[ 208 ] =
{
153, 152, 134, 139, 144, 3, 133, -1, 138, -1, 143, -1, 153, -1, 2, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, -1, 153, -1, -1, -1, 153, 153, 90, 128, 147, 147, 102, 20, 27, -1, -1, 102, -1, -1, -1, -1, -1, -1, 153, 9, -1, 153, 78, 153, 153, 153, 92, -1, 153, 89, 104, 94, -1, 90, 102, 102, 126, 145, 145, 147, 125, -1, 102, -1, -1, -1, -1, -1, -1, 8, 102, 153, -1, 153, 153, 153, 153, 153, 153, 102, 102, 102, 102, 102, 102, 90, 153, 102, -1, 102, -1, 115, -1, -1, -1, 153, 153, 153, 153, 153, 38, -1, 102, 102, 102, 102, 102, 102, 102, 102, 24, 147, -1, -1, -1, 81, 153, 68, 112, 109, 110, 111, 113, 114, -1, 91, 101, 99, 153, -1, 60, -1, 60, 24, 119, 118, 120, 117, 121, 122, 123, 124, 23, -1, -1, 153, 153, 102, 67, 153, 146, -1, 146, 47, 153, 25, 24, 72, 71, 24, 59, 75, 24, -1, 153, 153, 147, 147, 102, -1, 102, -1, -1, -1, -1, 153, -1, 102, -1, 147, 153, -1, 69, 153, -1, -1, 153, -1, 49, 24, -1, -1, 24, 47
};
#if !0
/* DFA selection table */
UNICC_STATIC int rb_dfa_select[ 208 ] =
{
0, 1, 2, 3, 4, 5, 2, 6, 3, 6, 4, 7, 8, -1, 5, 9, 10, 11, 12, 11, 12, 12, 13, 14, 14, 15, 15, 12, 14, 16, 15, 6, 6, 6, 15, 15, 17, 8, 18, 18, 19, 6, 19, 6, 6, 20, 16, 16, 18, 18, 6, 18, 12, 6, 21, 22, 23, 24, 13, 11, 25, 26, 27, 28, 3, 24, 29, 20, 19, 19, 8, 18, 18, 30, 31, 6, 19, 32, 33, 33, 6, 6, 6, 6, 19, 11, 34, 11, 11, 11, 11, 11, 11, 19, 19, 19, 19, 19, 19, 35, 11, 19, 3, 24, 36, 37, 38, 18, 18, 11, 11, 11, 11, 11, 39, 6, 19, 19, 19, 19, 19, 19, 19, 19, 40, 41, 16, 16, 32, 42, 43, 44, 37, 37, 37, 37, 37, 37, 45, 25, 24, 24, 24, 6, 46, 6, 46, 47, 30, 30, 30, 30, 30, 30, 30, 30, 48, 49, 6, 11, 24, 19, 44, 43, 50, 16, 51, 52, 11, 19, 53, 54, 55, 50, 33, 56, 51, 57, 11, 12, 19, 6, 19, 58, 19, 59, 16, 34, 60, 12, 6, 19, 6, 41, 12, 6, 54, 12, 6, 61, 12, 6, 41, 62, 6, 6, 47, 52
};
#endif
#if 63
/* DFA index table */
UNICC_STATIC int rb_dfa_idx[ 63 ][ 108 ] =
{
{ 0 * 2, 46 * 2, 47 * 2, 48 * 2, 49 * 2, 50 * 2, 51 * 2, 54 * 2, 55 * 2, 56 * 2, 57 * 2, 58 * 2, 59 * 2, 60 * 2, 61 * 2, 62 * 2, 63 * 2, 64 * 2, 65 * 2, 66 * 2, 67 * 2, 68 * 2, 69 * 2, 70 * 2, 71 * 2, 72 * 2, 74 * 2, 77 * 2, 80 * 2, 83 * 2, 86 * 2, 89 * 2, 92 * 2, 95 * 2, 98 * 2, 101 * 2, 106 * 2, 109 * 2, 112 * 2, 113 * 2, 116 * 2, 125 * 2, 128 * 2, 131 * 2, 134 * 2, 137 * 2, 140 * 2, 143 * 2, 146 * 2, 151 * 2, 154 * 2, 157 * 2, 160 * 2, 163 * 2, 166 * 2, 169 * 2, 172 * 2, 175 * 2, 178 * 2, 181 * 2, 184 * 2, 187 * 2, 190 * 2, 193 * 2 },
{ 196 * 2, 265 * 2, 266 * 2, 267 * 2, 268 * 2, 269 * 2, 270 * 2, 271 * 2, 272 * 2, 273 * 2, 274 * 2, 275 * 2, 276 * 2, 277 * 2, 278 * 2, 279 * 2, 281 * 2, 282 * 2, 283 * 2, 285 * 2, 286 * 2, 288 * 2, 289 * 2, 290 * 2, 291 * 2, 292 * 2, 293 * 2, 296 * 2, 297 * 2, 298 * 2, 299 * 2, 300 * 2, 301 * 2, 302 * 2, 309 * 2, 310 * 2, 311 * 2, 312 * 2, 313 * 2, 316 * 2, 317 * 2, 318 * 2, 319 * 2, 320 * 2, 321 * 2, 322 * 2, 323 * 2, 324 * 2, 325 * 2, 326 * 2, 327 * 2, 328 * 2, 329 * 2, 330 * 2, 331 * 2, 334 * 2, 337 * 2, 340 * 2, 343 * 2, 346 * 2, 351 * 2, 354 * 2, 357 * 2, 360 * 2, 363 * 2, 368 * 2, 371 * 2, 374 * 2, 379 * 2, 382 * 2, 383 * 2, 392 * 2, 395 * 2, 398 * 2, 401 * 2, 404 * 2, 407 * 2, 410 * 2, 413 * 2, 416 * 2, 421 * 2, 424 * 2, 427 * 2, 430 * 2, 433 * 2, 436 * 2, 439 * 2, 442 * 2, 445 * 2, 448 * 2, 451 * 2, 454 * 2, 457 * 2, 460 * 2, 463 * 2, 466 * 2, 469 * 2, 472 * 2, 475 * 2, 478 * 2, 481 * 2, 484 * 2, 487 * 2, 490 * 2, 493 * 2, 496 * 2, 499 * 2, 502 * 2 },
{ 505 * 2, 511 * 2, 512 * 2, 513 * 2 },
{ 514 * 2, 558 * 2, 559 * 2, 560 * 2, 561 * 2, 562 * 2, 563 * 2, 564 * 2, 565 * 2, 566 * 2, 567 * 2, 568 * 2, 569 * 2, 570 * 2, 571 * 2, 572 * 2, 573 * 2, 574 * 2, 575 * 2, 576 * 2, 577 * 2, 578 * 2, 579 * 2, 580 * 2, 581 * 2, 582 * 2, 583 * 2, 584 * 2, 585 * 2 },
{ 586 * 2, 630 * 2, 631 * 2, 632 * 2, 633 * 2, 634 * 2, 635 * 2, 636 * 2, 637 * 2, 638 * 2, 639 * 2, 640 * 2, 641 * 2, 642 * 2, 643 * 2, 644 * 2, 645 * 2, 646 * 2, 647 * 2, 648 * 2, 649 * 2, 650 * 2, 651 * 2, 652 * 2, 653 * 2, 654 * 2, 656 * 2, 657 * 2, 658 * 2, 659 * 2 },
{ 660 * 2, 701 * 2, 702 * 2, 703 * 2, 704 * 2, 705 * 2, 708 * 2, 709 * 2, 710 * 2, 711 * 2, 712 * 2, 713 * 2, 714 * 2, 715 * 2, 716 * 2, 717 * 2, 718 * 2, 719 * 2, 720 * 2, 721 * 2, 722 * 2, 723 * 2, 726 * 2, 729 * 2, 732 * 2, 735 * 2, 738 * 2, 741 * 2, 744 * 2, 747 * 2, 752 * 2, 755 * 2, 758 * 2, 761 * 2, 764 * 2, 765 * 2, 772 * 2, 775 * 2, 778 * 2, 781 * 2, 784 * 2, 787 * 2, 790 * 2, 793 * 2, 798 * 2, 801 * 2, 804 * 2, 807 * 2, 810 * 2, 813 * 2, 816 * 2, 819 * 2, 822 * 2, 825 * 2, 828 * 2, 831 * 2, 834 * 2, 837 * 2, 840 * 2 },
{ 843 * 2, 845 * 2 },
{ 846 * 2, 848 * 2, 849 * 2 },
{ 851 * 2, 873 * 2, 874 * 2, 875 * 2, 876 * 2, 877 * 2, 878 * 2, 879 * 2, 880 * 2, 881 * 2, 882 * 2, 883 * 2, 884 * 2, 887 * 2, 888 * 2, 889 * 2, 890 * 2, 892 * 2, 893 * 2 },
{ 896 * 2, 899 * 2, 900 * 2, 903 * 2 },
{ 906 * 2, 956 * 2, 957 * 2, 958 * 2, 959 * 2, 960 * 2, 961 * 2, 964 * 2, 965 * 2, 966 * 2, 967 * 2, 968 * 2, 975 * 2, 976 * 2, 977 * 2, 978 * 2, 979 * 2, 982 * 2, 983 * 2, 984 * 2, 985 * 2, 986 * 2, 987 * 2, 988 * 2, 989 * 2, 990 * 2, 991 * 2, 992 * 2, 993 * 2, 994 * 2, 995 * 2, 996 * 2, 997 * 2, 999 * 2, 1002 * 2, 1005 * 2, 1008 * 2, 1011 * 2, 1016 * 2, 1019 * 2, 1022 * 2, 1025 * 2, 1028 * 2, 1031 * 2, 1034 * 2, 1039 * 2, 1044 * 2, 1047 * 2, 1048 * 2, 1051 * 2, 1060 * 2, 1063 * 2, 1066 * 2, 1069 * 2, 1072 * 2, 1075 * 2, 1078 * 2, 1081 * 2, 1084 * 2, 1089 * 2, 1092 * 2, 1095 * 2, 1098 * 2, 1101 * 2, 1104 * 2, 1107 * 2, 1110 * 2, 1113 * 2, 1116 * 2, 1119 * 2, 1122 * 2, 1125 * 2, 1128 * 2, 1131 * 2, 1134 * 2, 1137 * 2, 1140 * 2, 1143 * 2, 1146 * 2, 1149 * 2, 1152 * 2, 1155 * 2, 1158 * 2, 1161 * 2, 1164 * 2, 1167 * 2, 1170 * 2 },
{ 1173 * 2, 1192 * 2, 1193 * 2, 1194 * 2, 1195 * 2, 1196 * 2, 1197 * 2, 1198 * 2, 1199 * 2, 1200 * 2, 1203 * 2, 1204 * 2, 1205 * 2, 1206 * 2, 1208 * 2, 1209 * 2 },
{ 1212 * 2, 1222 * 2, 1223 * 2, 1224 * 2, 1225 * 2, 1226 * 2, 1227 * 2, 1228 * 2, 1230 * 2, 1233 * 2 },
{ 1236 * 2, 1256 * 2, 1257 * 2, 1258 * 2, 1259 * 2, 1260 * 2, 1261 * 2, 1262 * 2, 1263 * 2, 1264 * 2, 1265 * 2, 1268 * 2, 1269 * 2, 1270 * 2, 1271 * 2, 1273 * 2, 1274 * 2 },
{ 1277 * 2, 1287 * 2, 1288 * 2, 1289 * 2, 1290 * 2, 1291 * 2, 1292 * 2, 1293 * 2, 1295 * 2, 1298 * 2 },
{ 1301 * 2, 1314 * 2, 1315 * 2, 1316 * 2, 1319 * 2, 1320 * 2, 1321 * 2, 1322 * 2, 1324 * 2, 1325 * 2 },
{ 1328 * 2, 1330 * 2 },
{ 1331 * 2, 1343 * 2, 1344 * 2, 1345 * 2, 1346 * 2, 1347 * 2, 1348 * 2, 1349 * 2, 1350 * 2, 1351 * 2, 1352 * 2 },
{ 1353 * 2, 1357 * 2, 1358 * 2 },
{ 1359 * 2, 1369 * 2, 1370 * 2, 1371 * 2, 1372 * 2, 1373 * 2, 1374 * 2, 1375 * 2, 1376 * 2 },
{ 1377 * 2, 1388 * 2, 1389 * 2, 1390 * 2, 1391 * 2, 1392 * 2, 1393 * 2, 1394 * 2, 1395 * 2, 1396 * 2 },
{ 1397 * 2, 1399 * 2 },
{ 1400 * 2, 1415 * 2, 1416 * 2, 1417 * 2, 1418 * 2, 1419 * 2, 1422 * 2, 1423 * 2, 1424 * 2, 1425 * 2, 1427 * 2, 1428 * 2 },
{ 1431 * 2, 1437 * 2, 1438 * 2, 1439 * 2, 1440 * 2 },
{ 1441 * 2, 1499 * 2, 1500 * 2, 1501 * 2, 1502 * 2, 1503 * 2, 1504 * 2, 1505 * 2, 1506 * 2, 1507 * 2, 1508 * 2, 1509 * 2, 1510 * 2, 1511 * 2, 1512 * 2, 1513 * 2, 1515 * 2, 1516 * 2, 1518 * 2, 1519 * 2, 1521 * 2, 1522 * 2, 1523 * 2, 1524 * 2, 1525 * 2, 1526 * 2, 1529 * 2, 1530 * 2, 1531 * 2, 1532 * 2, 1533 * 2, 1534 * 2, 1535 * 2, 1536 * 2, 1537 * 2, 1538 * 2, 1539 * 2, 1540 * 2, 1541 * 2, 1542 * 2, 1543 * 2, 1544 * 2, 1545 * 2, 1546 * 2, 1549 * 2, 1552 * 2, 1555 * 2, 1558 * 2, 1561 * 2, 1564 * 2, 1569 * 2, 1572 * 2, 1575 * 2, 1576 * 2, 1585 * 2, 1588 * 2, 1591 * 2, 1594 * 2, 1597 * 2, 1600 * 2, 1605 * 2, 1608 * 2, 1611 * 2, 1614 * 2, 1617 * 2, 1620 * 2, 1623 * 2, 1626 * 2, 1629 * 2, 1632 * 2, 1635 * 2, 1638 * 2, 1641 * 2 },
{ 1644 * 2, 1654 * 2, 1655 * 2, 1656 * 2, 1657 * 2, 1658 * 2, 1659 * 2, 1660 * 2, 1661 * 2, 1662 * 2 },
{ 1663 * 2, 1665 * 2 },
{ 1666 * 2, 1686 * 2, 1687 * 2, 1688 * 2, 1689 * 2, 1690 * 2, 1691 * 2, 1692 * 2, 1693 * 2, 1694 * 2, 1695 * 2, 1698 * 2, 1699 * 2, 1700 * 2, 1701 * 2, 1703 * 2, 1704 * 2 },
{ 1707 * 2, 1711 * 2, 1712 * 2, 1713 * 2 },
{ 1714 * 2, 1716 * 2 },
{ 1717 * 2, 1758 * 2, 1759 * 2, 1760 * 2, 1761 * 2, 1762 * 2, 1764 * 2, 1765 * 2, 1767 * 2, 1768 * 2, 1769 * 2, 1770 * 2, 1773 * 2, 1774 * 2, 1775 * 2, 1776 * 2, 1777 * 2, 1778 * 2, 1779 * 2, 1780 * 2, 1781 * 2, 1782 * 2, 1783 * 2, 1784 * 2, 1785 * 2, 1786 * 2, 1787 * 2, 1790 * 2, 1793 * 2, 1796 * 2, 1799 * 2, 1802 * 2, 1805 * 2, 1810 * 2, 1813 * 2, 1816 * 2, 1817 * 2, 1824 * 2, 1827 * 2, 1830 * 2, 1833 * 2, 1836 * 2, 1839 * 2, 1844 * 2, 1847 * 2, 1850 * 2, 1853 * 2, 1856 * 2, 1859 * 2, 1862 * 2, 1865 * 2, 1868 * 2, 1871 * 2, 1874 * 2, 1877 * 2, 1880 * 2 },
{ 1883 * 2, 1930 * 2, 1931 * 2, 1932 * 2, 1933 * 2, 1934 * 2, 1935 * 2, 1936 * 2, 1937 * 2, 1938 * 2, 1939 * 2, 1941 * 2, 1942 * 2, 1944 * 2, 1945 * 2, 1946 * 2, 1947 * 2, 1948 * 2, 1951 * 2, 1952 * 2, 1953 * 2, 1954 * 2, 1955 * 2, 1956 * 2, 1957 * 2, 1958 * 2, 1959 * 2, 1960 * 2, 1961 * 2, 1962 * 2, 1963 * 2, 1964 * 2, 1965 * 2, 1968 * 2, 1971 * 2, 1974 * 2, 1977 * 2, 1980 * 2, 1983 * 2, 1988 * 2, 1991 * 2, 1994 * 2, 1995 * 2, 2002 * 2, 2005 * 2, 2008 * 2, 2011 * 2, 2014 * 2, 2017 * 2, 2022 * 2, 2025 * 2, 2028 * 2, 2031 * 2, 2034 * 2, 2037 * 2, 2040 * 2, 2043 * 2, 2046 * 2, 2049 * 2, 2052 * 2, 2055 * 2, 2058 * 2 },
{ 2061 * 2, 2069 * 2, 2070 * 2, 2071 * 2, 2072 * 2, 2073 * 2, 2074 * 2, 2075 * 2 },
{ 2076 * 2, 2079 * 2, 2080 * 2 },
{ 2081 * 2, 2086 * 2, 2087 * 2, 2088 * 2 },
{ 2089 * 2, 2100 * 2, 2101 * 2, 2102 * 2, 2103 * 2, 2104 * 2, 2105 * 2, 2106 * 2, 2107 * 2, 2108 * 2 },
{ 2109 * 2, 2111 * 2 },
{ 2112 * 2, 2166 * 2, 2167 * 2, 2168 * 2, 2169 * 2, 2170 * 2, 2171 * 2, 2172 * 2, 2173 * 2, 2174 * 2, 2175 * 2, 2176 * 2, 2177 * 2, 2178 * 2, 2179 * 2, 2180 * 2, 2181 * 2, 2183 * 2, 2184 * 2, 2186 * 2, 2187 * 2, 2188 * 2, 2189 * 2, 2190 * 2, 2191 * 2, 2194 * 2, 2195 * 2, 2196 * 2, 2197 * 2, 2198 * 2, 2199 * 2, 2200 * 2, 2201 * 2, 2202 * 2, 2203 * 2, 2204 * 2, 2205 * 2, 2206 * 2, 2207 * 2, 2208 * 2, 2211 * 2, 2214 * 2, 2217 * 2, 2220 * 2, 2223 * 2, 2226 * 2, 2231 * 2, 2234 * 2, 2237 * 2, 2238 * 2, 2245 * 2, 2248 * 2, 2251 * 2, 2254 * 2, 2257 * 2, 2260 * 2, 2265 * 2, 2268 * 2, 2271 * 2, 2274 * 2, 2277 * 2, 2280 * 2, 2283 * 2, 2286 * 2, 2289 * 2, 2292 * 2, 2295 * 2, 2298 * 2, 2301 * 2 },
{ 2304 * 2, 2312 * 2, 2313 * 2, 2314 * 2, 2315 * 2, 2316 * 2, 2317 * 2, 2318 * 2 },
{ 2319 * 2, 2353 * 2, 2354 * 2, 2355 * 2, 2356 * 2, 2359 * 2, 2360 * 2, 2361 * 2, 2362 * 2, 2363 * 2, 2364 * 2, 2365 * 2, 2366 * 2, 2367 * 2, 2368 * 2, 2369 * 2, 2370 * 2, 2371 * 2, 2374 * 2, 2377 * 2, 2380 * 2, 2383 * 2, 2386 * 2, 2389 * 2, 2394 * 2, 2397 * 2, 2400 * 2, 2401 * 2, 2408 * 2, 2411 * 2, 2414 * 2, 2417 * 2, 2420 * 2, 2423 * 2, 2428 * 2, 2431 * 2, 2434 * 2, 2437 * 2, 2440 * 2, 2443 * 2, 2446 * 2, 2449 * 2, 2452 * 2, 2455 * 2, 2458 * 2, 2461 * 2, 2464 * 2 },
{ 2467 * 2, 2506 * 2, 2507 * 2, 2508 * 2, 2509 * 2, 2510 * 2, 2513 * 2, 2514 * 2, 2515 * 2, 2516 * 2, 2517 * 2, 2518 * 2, 2519 * 2, 2520 * 2, 2521 * 2, 2522 * 2, 2523 * 2, 2524 * 2, 2525 * 2, 2526 * 2, 2529 * 2, 2532 * 2, 2535 * 2, 2538 * 2, 2541 * 2, 2544 * 2, 2549 * 2, 2552 * 2, 2555 * 2, 2558 * 2, 2565 * 2, 2566 * 2, 2569 * 2, 2572 * 2, 2575 * 2, 2578 * 2, 2581 * 2, 2584 * 2, 2589 * 2, 2592 * 2, 2595 * 2, 2598 * 2, 2601 * 2, 2604 * 2, 2607 * 2, 2610 * 2, 2613 * 2, 2616 * 2, 2619 * 2, 2622 * 2, 2625 * 2, 2628 * 2, 2631 * 2 },
{ 2634 * 2, 2642 * 2, 2643 * 2, 2644 * 2, 2645 * 2, 2647 * 2, 2648 * 2, 2650 * 2, 2651 * 2, 2652 * 2 },
{ 2653 * 2, 2665 * 2, 2666 * 2, 2667 * 2, 2668 * 2, 2669 * 2, 2670 * 2, 2671 * 2, 2672 * 2, 2673 * 2, 2674 * 2 },
{ 2675 * 2, 2696 * 2, 2697 * 2, 2698 * 2, 2699 * 2, 2700 * 2, 2701 * 2, 2702 * 2, 2703 * 2, 2704 * 2, 2705 * 2, 2706 * 2, 2709 * 2, 2710 * 2, 2711 * 2, 2712 * 2, 2714 * 2, 2715 * 2 },
{ 2718 * 2, 2731 * 2, 2732 * 2, 2733 * 2, 2734 * 2, 2735 * 2, 2736 * 2, 2737 * 2, 2738 * 2, 2739 * 2, 2740 * 2, 2741 * 2 },
{ 2742 * 2, 2744 * 2 },
{ 2745 * 2, 2748 * 2, 2749 * 2 },
{ 2750 * 2, 2787 * 2, 2788 * 2, 2789 * 2, 2790 * 2, 2791 * 2, 2794 * 2, 2795 * 2, 2796 * 2, 2797 * 2, 2798 * 2, 2799 * 2, 2802 * 2, 2803 * 2, 2804 * 2, 2805 * 2, 2806 * 2, 2807 * 2, 2808 * 2, 2809 * 2, 2810 * 2, 2811 * 2, 2814 * 2, 2817 * 2, 2820 * 2, 2823 * 2, 2826 * 2, 2831 * 2, 2834 * 2, 2837 * 2, 2840 * 2, 2843 * 2, 2848 * 2, 2849 * 2, 2852 * 2, 2859 * 2, 2862 * 2, 2865 * 2, 2868 * 2, 2871 * 2, 2874 * 2, 2879 * 2, 2882 * 2, 2885 * 2, 2888 * 2, 2891 * 2, 2894 * 2, 2897 * 2, 2900 * 2, 2903 * 2, 2906 * 2, 2909 * 2, 2912 * 2, 2915 * 2, 2918 * 2, 2921 * 2, 2924 * 2, 2927 * 2 },
{ 2930 * 2, 2971 * 2, 2972 * 2, 2973 * 2, 2974 * 2, 2975 * 2, 2978 * 2, 2979 * 2, 2980 * 2, 2981 * 2, 2982 * 2, 2983 * 2, 2986 * 2, 2987 * 2, 2988 * 2, 2989 * 2, 2990 * 2, 2991 * 2, 2992 * 2, 2993 * 2, 2994 * 2, 2995 * 2, 2996 * 2, 2997 * 2, 2998 * 2, 2999 * 2, 3002 * 2, 3005 * 2, 3008 * 2, 3011 * 2, 3014 * 2, 3019 * 2, 3022 * 2, 3025 * 2, 3028 * 2, 3031 * 2, 3036 * 2, 3041 * 2, 3044 * 2, 3045 * 2, 3052 * 2, 3055 * 2, 3058 * 2, 3061 * 2, 3064 * 2, 3071 * 2, 3074 * 2, 3077 * 2, 3082 * 2, 3085 * 2, 3088 * 2, 3091 * 2, 3094 * 2, 3097 * 2, 3100 * 2, 3103 * 2, 3106 * 2, 3109 * 2, 3112 * 2, 3115 * 2, 3118 * 2, 3121 * 2, 3124 * 2, 3127 * 2, 3130 * 2, 3133 * 2, 3136 * 2, 3139 * 2, 3142 * 2, 3145 * 2, 3148 * 2, 3151 * 2, 3154 * 2, 3157 * 2 },
{ 3160 * 2, 3163 * 2, 3164 * 2, 3167 * 2, 3170 * 2, 3173 * 2 },
{ 3176 * 2, 3213 * 2, 3214 * 2, 3215 * 2, 3216 * 2, 3217 * 2, 3220 * 2, 3221 * 2, 3222 * 2, 3223 * 2, 3224 * 2, 3225 * 2, 3226 * 2, 3227 * 2, 3228 * 2, 3229 * 2, 3230 * 2, 3231 * 2, 3232 * 2, 3233 * 2, 3236 * 2, 3239 * 2, 3242 * 2, 3245 * 2, 3248 * 2, 3251 * 2, 3254 * 2, 3257 * 2, 3262 * 2, 3265 * 2, 3268 * 2, 3269 * 2, 3276 * 2, 3279 * 2, 3282 * 2, 3285 * 2, 3288 * 2, 3291 * 2, 3294 * 2, 3299 * 2, 3302 * 2, 3305 * 2, 3308 * 2, 3311 * 2, 3314 * 2, 3317 * 2, 3320 * 2, 3323 * 2, 3326 * 2, 3329 * 2, 3332 * 2, 3335 * 2, 3338 * 2, 3341 * 2, 3344 * 2 },
{ 3347 * 2, 3384 * 2, 3385 * 2, 3386 * 2, 3387 * 2, 3388 * 2, 3391 * 2, 3392 * 2, 3393 * 2, 3394 * 2, 3395 * 2, 3396 * 2, 3397 * 2, 3398 * 2, 3399 * 2, 3400 * 2, 3401 * 2, 3402 * 2, 3403 * 2, 3404 * 2, 3407 * 2, 3410 * 2, 3413 * 2, 3416 * 2, 3419 * 2, 3422 * 2, 3425 * 2, 3428 * 2, 3433 * 2, 3436 * 2, 3439 * 2, 3440 * 2, 3447 * 2, 3450 * 2, 3453 * 2, 3456 * 2, 3459 * 2, 3462 * 2, 3465 * 2, 3470 * 2, 3473 * 2, 3476 * 2, 3479 * 2, 3482 * 2, 3485 * 2, 3488 * 2, 3491 * 2, 3494 * 2, 3497 * 2, 3500 * 2, 3503 * 2, 3506 * 2, 3509 * 2, 3512 * 2, 3515 * 2 },
{ 3518 * 2, 3521 * 2, 3524 * 2, 3525 * 2, 3526 * 2, 3531 * 2, 3534 * 2, 3537 * 2, 3540 * 2, 3543 * 2, 3546 * 2 },
{ 3549 * 2, 3584 * 2, 3585 * 2, 3586 * 2, 3587 * 2, 3588 * 2, 3591 * 2, 3592 * 2, 3593 * 2, 3594 * 2, 3595 * 2, 3596 * 2, 3597 * 2, 3598 * 2, 3599 * 2, 3600 * 2, 3601 * 2, 3602 * 2, 3603 * 2, 3604 * 2, 3607 * 2, 3610 * 2, 3613 * 2, 3616 * 2, 3619 * 2, 3622 * 2, 3627 * 2, 3632 * 2, 3635 * 2, 3636 * 2, 3643 * 2, 3646 * 2, 3649 * 2, 3652 * 2, 3655 * 2, 3658 * 2, 3663 * 2, 3666 * 2, 3669 * 2, 3672 * 2, 3675 * 2, 3678 * 2, 3681 * 2, 3684 * 2, 3687 * 2, 3690 * 2, 3693 * 2, 3696 * 2, 3699 * 2, 3702 * 2, 3705 * 2 },
{ 3708 * 2, 3726 * 2, 3727 * 2, 3728 * 2, 3729 * 2, 3730 * 2, 3731 * 2, 3732 * 2, 3733 * 2, 3734 * 2, 3735 * 2, 3736 * 2, 3737 * 2, 3738 * 2, 3739 * 2, 3740 * 2, 3741 * 2 },
{ 3742 * 2, 3754 * 2, 3755 * 2, 3756 * 2, 3757 * 2, 3758 * 2, 3759 * 2, 3760 * 2, 3761 * 2, 3762 * 2, 3763 * 2 },
{ 3764 * 2, 3770 * 2, 3771 * 2, 3772 * 2, 3773 * 2 },
{ 3774 * 2, 3777 * 2, 3778 * 2, 3781 * 2, 3784 * 2, 3787 * 2 },
{ 3790 * 2, 3793 * 2, 3794 * 2, 3797 * 2, 3800 * 2 },
{ 3803 * 2, 3806 * 2, 3807 * 2, 3810 * 2, 3813 * 2, 3816 * 2, 3819 * 2, 3822 * 2 },
{ 3825 * 2, 3828 * 2, 3829 * 2, 3832 * 2, 3835 * 2, 3838 * 2, 3841 * 2, 3844 * 2 },
{ 3847 * 2, 3849 * 2 },
{ 3850 * 2, 3887 * 2, 3888 * 2, 3889 * 2, 3890 * 2, 3891 * 2, 3894 * 2, 3895 * 2, 3896 * 2, 3897 * 2, 3898 * 2, 3899 * 2, 3900 * 2, 3901 * 2, 3902 * 2, 3903 * 2, 3904 * 2, 3905 * 2, 3906 * 2, 3907 * 2, 3910 * 2, 3913 * 2, 3916 * 2, 3919 * 2, 3922 * 2, 3925 * 2, 3928 * 2, 3931 * 2, 3936 * 2, 3939 * 2, 3942 * 2, 3943 * 2, 3950 * 2, 3953 * 2, 3956 * 2, 3959 * 2, 3962 * 2, 3965 * 2, 3970 * 2, 3973 * 2, 3976 * 2, 3979 * 2, 3982 * 2, 3985 * 2, 3988 * 2, 3991 * 2, 3994 * 2, 3997 * 2, 4000 * 2, 4003 * 2, 4006 * 2, 4009 * 2, 4012 * 2 }
};
/* DFA transition chars */
UNICC_STATIC int rb_dfa_chars[ 4015 * 2 ] =
{
10, 10, 32, 32, 37, 37, 47, 47, 91, 91, 95, 95, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 69, 69, 101, 101, 70, 70, 102, 102, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 80, 80, 112, 112, 82, 82, 114, 114, 87, 87, 119, 119, 9, 9, 11, 11, 13, 13, 65, 65, 72, 72, 74, 75, 77, 79, 81, 81, 83, 86, 88, 90, 97, 97, 104, 104, 106, 107, 109, 111, 113, 113, 115, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 126, 126, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 78, 78, 110, 110, -1, -1, 78, 78, 110, 110, -1, -1, 67, 67, 99, 99, -1, -1, 85, 85, 117, 117, -1, -1, 68, 68, 100, 100, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 79, 79, 111, 111, -1, -1, 77, 77, 109, 109, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 67, 67, 99, 99, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 67, 67, 99, 99, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 84, 84, 116, 116, -1, -1, 82, 82, 114, 114, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 78, 78, 110, 110, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 10, 10, 32, 32, 33, 33, 35, 35, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, 57, 58, 58, 60, 60, 61, 61, 62, 62, 91, 91, 93, 93, 95, 95, 124, 124, 126, 126, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 69, 69, 101, 101, 70, 70, 102, 102, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 80, 80, 112, 112, 82, 82, 114, 114, 85, 85, 117, 117, 87, 87, 119, 119, 9, 9, 11, 11, 13, 13, 65, 65, 72, 72, 74, 75, 77, 79, 81, 81, 83, 84, 86, 86, 88, 90, 97, 97, 104, 104, 106, 107, 109, 111, 113, 113, 115, 116, 118, 118, 120, 122, -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, 126, 126, -1, -1, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, 70, 102, 102, 73, 73, 105, 105, 80, 80, 112, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, 73, 105, 105, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 76, 76, 108, 108, 78, 78, 110, 110, -1, -1, 83, 83, 115, 115, -1, -1, 85, 85, 117, 117, -1, -1, 68, 68, 100, 100, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 78, 78, 110, 110, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, 72, 72, 104, 104, -1, -1, 79, 79, 111, 111, -1, -1, -1, -1, 77, 77, 109, 109, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 67, 67, 99, 99, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 67, 67, 99, 99, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 68, 68, 100, 100, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 85, 85, 117, 117, -1, -1, 70, 70, 102, 102, -1, -1, 82, 82, 114, 114, -1, -1, 66, 66, 98, 98, -1, -1, 77, 77, 109, 109, -1, -1, 76, 76, 108, 108, -1, -1, 70, 70, 102, 102, -1, -1, 67, 67, 99, 99, -1, -1, 67, 67, 99, 99, -1, -1, 82, 82, 114, 114, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 10, 10, 32, 32, 9, 9, 11, 11, 13, 13, -1, -1, -1, -1, -1, -1, -1, -1, 10, 10, 32, 32, 33, 33, 35, 35, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, 57, 58, 58, 60, 60, 61, 61, 62, 62, 91, 91, 93, 93, 95, 95, 124, 124, 126, 126, 65, 90, 97, 122, 9, 9, 11, 11, 13, 13, 0, 8, 12, 12, 14, 31, 34, 34, 36, 36, 59, 59, 63, 64, 92, 92, 94, 94, 96, 96, 123, 123, 125, 125, 127, 65535, -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, 10, 10, 32, 32, 33, 33, 35, 35, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, 57, 58, 58, 60, 60, 61, 61, 62, 62, 91, 91, 93, 93, 95, 95, 124, 124, 126, 126, 65, 90, 97, 122, 9, 9, 11, 11, 13, 13, 0, 8, 12, 12, 14, 31, 34, 34, 36, 36, 59, 59, 63, 64, 92, 92, 94, 94, 96, 96, 123, 123, 125, 125, 127, 65535, -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, 47, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, 10, 37, 37, 91, 91, 95, 95, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 69, 69, 101, 101, 70, 70, 102, 102, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 80, 80, 112, 112, 82, 82, 114, 114, 87, 87, 119, 119, 65, 65, 72, 72, 74, 75, 77, 79, 81, 81, 83, 86, 88, 90, 97, 97, 104, 104, 106, 107, 109, 111, 113, 113, 115, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 78, 78, 110, 110, -1, -1, 68, 68, 100, 100, -1, -1, 85, 85, 117, 117, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 70, 70, 102, 102, -1, -1, 84, 84, 116, 116, -1, -1, 72, 72, 104, 104, -1, -1, 79, 79, 111, 111, -1, -1, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 67, 67, 99, 99, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 67, 67, 99, 99, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 84, 84, 116, 116, -1, -1, 82, 82, 114, 114, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 10, 10, -1, -1, -1, -1, 126, 126, -1, -1, -1, -1, 47, 47, -1, -1, 10, 10, 32, 32, 33, 33, 39, 39, 40, 40, 46, 46, 47, 47, 48, 57, 58, 58, 61, 61, 91, 91, 95, 95, 82, 82, 114, 114, 9, 9, 11, 11, 13, 13, 65, 81, 83, 90, 97, 113, 115, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 69, 101, 101, -1, -1, -1, -1, -1, -1, -1, -1, 126, 126, -1, -1, -1, -1, 77, 77, 109, 109, -1, -1, 69, 69, 101, 101, -1, -1, -1, -1, 78, 78, 110, 110, -1, -1, 68, 68, 100, 100, -1, -1, 10, 10, 32, 32, 37, 37, 47, 47, 91, 91, 95, 95, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 69, 69, 101, 101, 70, 70, 102, 102, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 80, 80, 112, 112, 82, 82, 114, 114, 85, 85, 117, 117, 87, 87, 119, 119, 9, 9, 11, 11, 13, 13, 65, 65, 72, 72, 74, 75, 77, 79, 81, 81, 83, 84, 86, 86, 88, 90, 97, 97, 104, 104, 106, 107, 109, 111, 113, 113, 115, 116, 118, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, 70, 102, 102, 73, 73, 105, 105, 80, 80, 112, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, 73, 105, 105, -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, 126, 126, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 78, 78, 110, 110, -1, -1, 76, 76, 108, 108, 78, 78, 110, 110, -1, -1, 67, 67, 99, 99, -1, -1, 85, 85, 117, 117, -1, -1, 83, 83, 115, 115, -1, -1, 70, 70, 102, 102, -1, -1, 68, 68, 100, 100, -1, -1, 78, 78, 110, 110, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 79, 79, 111, 111, -1, -1, 77, 77, 109, 109, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 67, 67, 99, 99, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 67, 67, 99, 99, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 68, 68, 100, 100, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 85, 85, 117, 117, -1, -1, 70, 70, 102, 102, -1, -1, 82, 82, 114, 114, -1, -1, 66, 66, 98, 98, -1, -1, 77, 77, 109, 109, -1, -1, 76, 76, 108, 108, -1, -1, 70, 70, 102, 102, -1, -1, 67, 67, 99, 99, -1, -1, 67, 67, 99, 99, -1, -1, 82, 82, 114, 114, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 78, 78, 110, 110, -1, -1, 79, 79, 111, 111, -1, -1, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 78, 78, 110, 110, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 32, 32, 33, 33, 39, 39, 40, 40, 46, 46, 47, 47, 48, 57, 91, 91, 95, 95, 82, 82, 114, 114, 9, 9, 11, 11, 13, 13, 65, 81, 83, 90, 97, 113, 115, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 69, 101, 101, -1, -1, -1, -1, -1, -1, -1, -1, 126, 126, -1, -1, -1, -1, 77, 77, 109, 109, -1, -1, 10, 10, 32, 32, 47, 47, 95, 95, 82, 82, 114, 114, 9, 9, 11, 11, 13, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 126, 126, -1, -1, 69, 69, 101, 101, -1, -1, 77, 77, 109, 109, -1, -1, 10, 10, 32, 32, 33, 33, 39, 39, 40, 40, 46, 46, 47, 47, 48, 57, 91, 91, 95, 95, 82, 82, 114, 114, 9, 9, 11, 11, 13, 13, 65, 81, 83, 90, 97, 113, 115, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 69, 101, 101, -1, -1, -1, -1, -1, -1, -1, -1, 126, 126, -1, -1, -1, -1, 77, 77, 109, 109, -1, -1, 32, 32, 47, 47, 91, 91, 95, 95, 82, 82, 114, 114, 9, 9, 11, 11, 13, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 126, 126, -1, -1, 69, 69, 101, 101, -1, -1, 77, 77, 109, 109, -1, -1, 32, 32, 47, 47, 95, 95, 82, 82, 114, 114, 9, 9, 11, 11, 13, 13, 65, 81, 83, 90, 97, 113, 115, 122, -1, -1, -1, -1, -1, -1, 69, 69, 101, 101, -1, -1, -1, -1, -1, -1, -1, -1, 126, 126, -1, -1, -1, -1, 77, 77, 109, 109, -1, -1, 91, 91, -1, -1, -1, -1, 10, 10, 33, 33, 39, 39, 40, 40, 46, 46, 48, 57, 61, 61, 91, 91, 95, 95, 65, 90, 97, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 95, 95, 65, 90, 97, 122, -1, -1, -1, -1, -1, -1, 33, 33, 39, 39, 40, 40, 46, 46, 48, 57, 91, 91, 95, 95, 65, 90, 97, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, 10, 33, 33, 39, 39, 40, 40, 46, 46, 48, 57, 91, 91, 95, 95, 65, 90, 97, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, 32, 32, 38, 38, 42, 42, 47, 47, 95, 95, 82, 82, 114, 114, 9, 9, 11, 11, 13, 13, 65, 81, 83, 90, 97, 113, 115, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 69, 101, 101, -1, -1, -1, -1, -1, -1, -1, -1, 126, 126, -1, -1, -1, -1, 77, 77, 109, 109, -1, -1, 32, 32, 38, 38, 95, 95, 65, 90, 97, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, 10, 32, 32, 33, 33, 35, 35, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, 57, 60, 60, 61, 61, 62, 62, 91, 91, 93, 93, 95, 95, 124, 124, 126, 126, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 87, 87, 119, 119, 9, 9, 11, 11, 13, 13, 65, 65, 69, 70, 72, 72, 74, 75, 77, 81, 83, 86, 88, 90, 97, 97, 101, 102, 104, 104, 106, 107, 109, 113, 115, 118, 120, 122, -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, 126, 126, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 77, 77, 109, 109, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 10, 10, 35, 35, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 47, 47, 126, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 40, -1, -1, -1, -1, 32, 32, 33, 33, 39, 39, 40, 40, 41, 41, 46, 46, 47, 47, 48, 57, 91, 91, 95, 95, 82, 82, 114, 114, 9, 9, 11, 11, 13, 13, 65, 81, 83, 90, 97, 113, 115, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 69, 101, 101, -1, -1, -1, -1, -1, -1, -1, -1, 126, 126, -1, -1, -1, -1, 77, 77, 109, 109, -1, -1, 10, 10, 41, 41, 44, 44, -1, -1, -1, -1, -1, -1, -1, -1, 46, 46, -1, -1, -1, -1, 10, 10, 33, 33, 37, 37, 38, 38, 60, 60, 61, 61, 62, 62, 91, 91, 95, 95, 124, 124, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 87, 87, 119, 119, 65, 65, 69, 70, 72, 72, 74, 75, 77, 81, 83, 86, 88, 90, 97, 97, 101, 102, 104, 104, 106, 107, 109, 113, 115, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 10, 10, 33, 33, 35, 35, 37, 37, 38, 38, 42, 42, 43, 43, 45, 45, 47, 47, 60, 60, 61, 61, 62, 62, 91, 91, 95, 95, 124, 124, 126, 126, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 87, 87, 119, 119, 65, 65, 69, 70, 72, 72, 74, 75, 77, 81, 83, 86, 88, 90, 97, 97, 101, 102, 104, 104, 106, 107, 109, 113, 115, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 10, 10, 35, 35, 42, 42, 43, 43, 45, 45, 47, 47, 126, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, 10, 44, 44, -1, -1, -1, -1, -1, -1, 32, 32, 95, 95, 65, 90, 97, 122, -1, -1, -1, -1, -1, -1, -1, -1, 33, 33, 39, 39, 40, 40, 41, 41, 46, 46, 48, 57, 91, 91, 95, 95, 65, 90, 97, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, 57, -1, -1, -1, -1, 10, 10, 33, 33, 35, 35, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, 57, 60, 60, 61, 61, 62, 62, 91, 91, 93, 93, 95, 95, 124, 124, 126, 126, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 87, 87, 119, 119, 65, 65, 69, 70, 72, 72, 74, 75, 77, 81, 83, 86, 88, 90, 97, 97, 101, 102, 104, 104, 106, 107, 109, 113, 115, 118, 120, 122, -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, 61, 61, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 35, 35, 41, 41, 42, 42, 43, 43, 45, 45, 47, 47, 126, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 37, 91, 91, 95, 95, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 87, 87, 119, 119, 65, 65, 69, 70, 72, 72, 74, 75, 77, 81, 83, 86, 88, 90, 97, 97, 101, 102, 104, 104, 106, 107, 109, 113, 115, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 10, 10, 37, 37, 91, 91, 95, 95, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 85, 85, 117, 117, 87, 87, 119, 119, 65, 65, 69, 70, 72, 72, 74, 75, 77, 81, 83, 84, 86, 86, 88, 90, 97, 97, 101, 102, 104, 104, 106, 107, 109, 113, 115, 116, 118, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 78, 78, 110, 110, -1, -1, 84, 84, 116, 116, -1, -1, 72, 72, 104, 104, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, -1, -1, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 66, 66, 98, 98, -1, -1, 77, 77, 109, 109, -1, -1, 76, 76, 108, 108, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 10, 10, 33, 33, 38, 38, 60, 60, 61, 61, 62, 62, 124, 124, -1, -1, -1, -1, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, 61, 61, -1, -1, -1, -1, -1, -1, -1, -1, 33, 33, 39, 39, 40, 40, 46, 46, 48, 57, 58, 58, 91, 91, 93, 93, 95, 95, 65, 90, 97, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 32, 33, 33, 39, 39, 40, 40, 46, 46, 47, 47, 48, 57, 58, 58, 91, 91, 93, 93, 95, 95, 82, 82, 114, 114, 9, 9, 11, 11, 13, 13, 65, 81, 83, 90, 97, 113, 115, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 69, 101, 101, -1, -1, -1, -1, -1, -1, -1, -1, 126, 126, -1, -1, -1, -1, 77, 77, 109, 109, -1, -1, 32, 32, 33, 33, 39, 39, 40, 40, 46, 46, 48, 57, 58, 58, 91, 91, 93, 93, 95, 95, 65, 90, 97, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, 41, -1, -1, -1, -1, 10, 10, 58, 58, -1, -1, -1, -1, -1, -1, 10, 10, 37, 37, 91, 91, 95, 95, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 69, 69, 101, 101, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 87, 87, 119, 119, 65, 65, 70, 70, 72, 72, 74, 75, 77, 81, 83, 86, 88, 90, 97, 97, 102, 102, 104, 104, 106, 107, 109, 113, 115, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, 73, 105, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 76, 76, 108, 108, 78, 78, 110, 110, -1, -1, 83, 83, 115, 115, -1, -1, 70, 70, 102, 102, -1, -1, 68, 68, 100, 100, -1, -1, 72, 72, 104, 104, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, -1, -1, 84, 84, 116, 116, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 70, 70, 102, 102, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 70, 70, 102, 102, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 10, 10, 37, 37, 91, 91, 95, 95, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 69, 69, 101, 101, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 85, 85, 117, 117, 87, 87, 119, 119, 65, 65, 70, 70, 72, 72, 74, 75, 77, 81, 83, 84, 86, 86, 88, 90, 97, 97, 102, 102, 104, 104, 106, 107, 109, 113, 115, 116, 118, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, 73, 105, 105, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 76, 76, 108, 108, 78, 78, 110, 110, -1, -1, 83, 83, 115, 115, -1, -1, 70, 70, 102, 102, -1, -1, 68, 68, 100, 100, -1, -1, 78, 78, 110, 110, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 70, 70, 102, 102, 73, 73, 105, 105, 80, 80, 112, 112, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 85, 85, 117, 117, -1, -1, 70, 70, 102, 102, -1, -1, 82, 82, 114, 114, -1, -1, 66, 66, 98, 98, -1, -1, 77, 77, 109, 109, -1, -1, 76, 76, 108, 108, -1, -1, 70, 70, 102, 102, -1, -1, 79, 79, 111, 111, -1, -1, 67, 67, 99, 99, -1, -1, 67, 67, 99, 99, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 68, 68, 100, 100, -1, -1, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 85, 85, 117, 117, -1, -1, -1, -1, 78, 78, 110, 110, -1, -1, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 76, 76, 108, 108, -1, -1, 10, 10, 37, 37, 91, 91, 95, 95, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 69, 69, 101, 101, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 87, 87, 119, 119, 65, 65, 70, 70, 72, 72, 74, 75, 77, 81, 83, 86, 88, 90, 97, 97, 102, 102, 104, 104, 106, 107, 109, 113, 115, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 78, 78, 110, 110, -1, -1, 68, 68, 100, 100, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 80, 80, 112, 112, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 82, 82, 114, 114, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 79, 79, 111, 111, -1, -1, 84, 84, 116, 116, -1, -1, 67, 67, 99, 99, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 10, 10, 37, 37, 91, 91, 95, 95, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 69, 69, 101, 101, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 87, 87, 119, 119, 65, 65, 70, 70, 72, 72, 74, 75, 77, 81, 83, 86, 88, 90, 97, 97, 102, 102, 104, 104, 106, 107, 109, 113, 115, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 78, 78, 110, 110, -1, -1, 68, 68, 100, 100, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 70, 70, 102, 102, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 85, 85, 117, 117, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 84, 84, 116, 116, -1, -1, 67, 67, 99, 99, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 73, 73, 105, 105, -1, -1, -1, -1, -1, -1, 76, 76, 108, 108, 78, 78, 110, 110, -1, -1, 83, 83, 115, 115, -1, -1, 68, 68, 100, 100, -1, -1, 73, 73, 105, 105, -1, -1, 70, 70, 102, 102, -1, -1, 70, 70, 102, 102, -1, -1, 69, 69, 101, 101, -1, -1, 10, 10, 37, 37, 91, 91, 95, 95, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 87, 87, 119, 119, 65, 65, 69, 70, 72, 72, 74, 75, 77, 81, 83, 86, 88, 90, 97, 97, 101, 102, 104, 104, 106, 107, 109, 113, 115, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 68, 68, 100, 100, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 33, 33, 35, 35, 39, 39, 40, 40, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, 57, 91, 91, 93, 93, 95, 95, 126, 126, 65, 90, 97, 122, -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, 33, 33, 39, 39, 40, 40, 44, 44, 46, 46, 48, 57, 91, 91, 93, 93, 95, 95, 65, 90, 97, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 32, 42, 42, 95, 95, 65, 90, 97, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 69, 101, 101, -1, -1, -1, -1, 78, 78, 110, 110, -1, -1, 68, 68, 100, 100, -1, -1, 73, 73, 105, 105, -1, -1, 70, 70, 102, 102, -1, -1, 87, 87, 119, 119, -1, -1, -1, -1, 69, 69, 101, 101, -1, -1, 78, 78, 110, 110, -1, -1, 68, 68, 100, 100, -1, -1, 69, 69, 101, 101, -1, -1, -1, -1, 78, 78, 110, 110, -1, -1, 68, 68, 100, 100, -1, -1, 80, 80, 112, 112, -1, -1, 82, 82, 114, 114, -1, -1, 79, 79, 111, 111, -1, -1, 67, 67, 99, 99, -1, -1, 69, 69, 101, 101, -1, -1, -1, -1, 78, 78, 110, 110, -1, -1, 68, 68, 100, 100, -1, -1, 70, 70, 102, 102, -1, -1, 85, 85, 117, 117, -1, -1, 67, 67, 99, 99, -1, -1, 78, 78, 110, 110, -1, -1, 93, 93, -1, -1, -1, -1, 10, 10, 37, 37, 91, 91, 95, 95, 66, 66, 98, 98, 67, 67, 99, 99, 68, 68, 100, 100, 69, 69, 101, 101, 71, 71, 103, 103, 73, 73, 105, 105, 76, 76, 108, 108, 82, 82, 114, 114, 87, 87, 119, 119, 65, 65, 70, 70, 72, 72, 74, 75, 77, 81, 83, 86, 88, 90, 97, 97, 102, 102, 104, 104, 106, 107, 109, 113, 115, 118, 120, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 82, 114, 114, -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, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 78, 78, 110, 110, -1, -1, 69, 69, 101, 101, -1, -1, 67, 67, 99, 99, -1, -1, 78, 78, 110, 110, -1, -1, 68, 68, 100, 100, -1, -1, 70, 70, 102, 102, -1, -1, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 72, 72, 104, 104, -1, -1, 84, 84, 116, 116, -1, -1, -1, -1, 80, 80, 112, 112, 83, 83, 115, 115, 84, 84, 116, 116, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 84, 84, 116, 116, -1, -1, 85, 85, 117, 117, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, 85, 85, 117, 117, -1, -1, 76, 76, 108, 108, -1, -1, 75, 75, 107, 107, -1, -1, 70, 70, 102, 102, -1, -1, 66, 66, 98, 98, -1, -1, 84, 84, 116, 116, -1, -1, 77, 77, 109, 109, -1, -1, 84, 84, 116, 116, -1, -1, 69, 69, 101, 101, -1, -1, 79, 79, 111, 111, -1, -1, 69, 69, 101, 101, -1, -1, 73, 73, 105, 105, -1, -1, 65, 65, 97, 97, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1, 69, 69, 101, 101, -1, -1
};
/* DFA transitions */
UNICC_STATIC int rb_dfa_trans[ 4015 ] =
{
1, 2, 3, 25, 4, 5, 6, 6, 26, 26, 28, 28, 30, 30, 32, 32, 56, 56, 34, 34, 58, 58, 55, 55, 62, 62, 36, 36, 7, 7, 7, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, -1, -1, -1, -1, -1, -1, 27, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, 29, 29, -1, 42, 42, -1, 31, 31, -1, 43, 43, -1, 33, 33, -1, 10, 10, -1, 59, 59, -1, 11, 11, -1, 9, 9, -1, 45, 45, 46, 46, -1, 41, 41, -1, 12, 12, -1, -1, 47, 47, -1, 13, 13, 63, 63, 48, 48, 14, 14, -1, 49, 49, -1, 50, 50, -1, 15, 15, -1, 16, 16, -1, 51, 51, -1, 17, 17, -1, 18, 18, -1, 52, 52, 53, 53, -1, 57, 57, -1, 19, 19, -1, 20, 20, -1, 21, 21, -1, 61, 61, -1, 23, 23, -1, 39, 39, -1, 35, 35, -1, 22, 22, -1, 37, 37, -1, 44, 44, -1, 54, 54, -1, 24, 24, -1, 40, 40, -1, 60, 60, -1, 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, 26, 55, 55, 57, 57, 59, 59, 61, 61, 94, 94, 63, 63, 96, 96, 92, 92, 103, 103, 65, 65, 67, 67, 27, 27, 27, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, 29, -1, -1, 30, -1, -1, -1, -1, -1, -1, 54, 54, -1, -1, -1, -1, -1, -1, -1, 83, 83, 84, 84, 85, 85, -1, -1, -1, -1, -1, 89, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, 73, -1, 56, 56, -1, 74, 74, -1, 58, 58, -1, 32, 32, -1, 60, 60, 62, 62, -1, 93, 93, -1, 95, 95, -1, 33, 33, -1, 31, 31, -1, 76, 76, 77, 77, -1, 71, 71, -1, 34, 34, -1, 102, 102, 72, 72, -1, 78, 78, -1, -1, 35, 35, 107, 107, 79, 79, 36, 36, -1, 99, 99, -1, 81, 81, -1, 82, 82, -1, 37, 37, -1, 39, 39, -1, 86, 86, -1, 40, 40, -1, 41, 41, -1, 98, 98, 87, 87, -1, 42, 42, -1, 101, 101, -1, 43, 43, -1, 106, 106, -1, 44, 44, -1, 97, 97, -1, 45, 45, -1, 105, 105, -1, 47, 47, -1, 49, 49, -1, 52, 52, -1, 53, 53, -1, 68, 68, -1, 38, 38, -1, 64, 64, -1, 75, 75, -1, 66, 66, -1, 91, 91, -1, 46, 46, -1, 88, 88, -1, 104, 104, -1, 48, 48, -1, 80, 80, -1, 70, 70, -1, 50, 50, -1, 51, 51, -1, 90, 90, -1, 100, 100, -1, 1, 2, 3, 3, 3, -1, -1, -1, -1, 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, 26, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -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, 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, 26, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -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, 29, -1, -1, -1, -1, -1, 1, 2, 3, 4, 5, 5, 22, 22, 24, 24, 26, 26, 28, 28, 52, 52, 30, 30, 54, 54, 50, 50, 57, 57, 32, 32, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, -1, -1, -1, -1, -1, 21, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 37, -1, 23, 23, -1, 38, 38, -1, 25, 25, -1, 7, 7, -1, 27, 27, -1, 8, 8, -1, 53, 53, -1, 40, 40, 41, 41, -1, 6, 6, -1, 9, 9, -1, 36, 36, -1, 42, 42, -1, -1, 58, 58, 43, 43, 10, 10, -1, 44, 44, -1, 45, 45, -1, 11, 11, -1, 12, 12, -1, 46, 46, -1, 13, 13, -1, 14, 14, -1, 47, 47, 48, 48, -1, 51, 51, -1, 15, 15, -1, 16, 16, -1, 17, 17, -1, 56, 56, -1, 19, 19, -1, 33, 33, -1, 18, 18, -1, 29, 29, -1, 39, 39, -1, 31, 31, -1, 49, 49, -1, 20, 20, -1, 35, 35, -1, 55, 55, -1, 1, -1, -1, 2, -1, -1, 1, -1, 1, 2, 3, 4, 5, 6, 16, 7, 8, 9, 10, 11, 12, 12, 13, 13, 13, 17, 17, 17, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 18, -1, -1, -1, -1, 14, -1, -1, 15, 15, -1, 2, 2, -1, -1, 3, 3, -1, 1, 1, -1, 1, 2, 3, 32, 4, 5, 6, 6, 33, 33, 35, 35, 37, 37, 39, 39, 72, 72, 41, 41, 74, 74, 71, 71, 81, 81, 43, 43, 45, 45, 7, 7, 7, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, -1, -1, -1, -1, -1, -1, 34, 34, -1, -1, -1, -1, -1, 62, 62, 63, 63, 64, 64, -1, -1, -1, -1, -1, 68, 68, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, 36, 36, -1, 52, 52, -1, 38, 38, -1, 53, 53, -1, 40, 40, 42, 42, -1, 10, 10, -1, 75, 75, -1, 73, 73, -1, 9, 9, -1, 11, 11, -1, 50, 50, -1, 55, 55, 56, 56, -1, 82, 82, 51, 51, -1, 12, 12, -1, -1, 57, 57, -1, 13, 13, 86, 86, 58, 58, 14, 14, -1, 78, 78, -1, 60, 60, -1, 61, 61, -1, 15, 15, -1, 17, 17, -1, 65, 65, -1, 18, 18, -1, 19, 19, -1, 77, 77, 66, 66, -1, 20, 20, -1, 80, 80, -1, 21, 21, -1, 85, 85, -1, 22, 22, -1, 76, 76, -1, 23, 23, -1, 84, 84, -1, 25, 25, -1, 27, 27, -1, 30, 30, -1, 31, 31, -1, 48, 48, -1, 44, 44, -1, 16, 16, -1, 46, 46, -1, 54, 54, -1, 70, 70, -1, 24, 24, -1, 67, 67, -1, 83, 83, -1, 26, 26, -1, 49, 49, -1, 59, 59, -1, 28, 28, -1, 29, 29, -1, 69, 69, -1, 79, 79, -1, 1, 2, 3, 4, 5, 13, 6, 7, 8, 9, 9, 10, 10, 10, 14, 14, 14, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, 15, -1, -1, -1, -1, 11, -1, -1, 12, 12, -1, 1, 2, 7, 3, 8, 8, 4, 4, 4, -1, -1, -1, -1, -1, -1, -1, 5, -1, 9, 9, -1, 6, 6, -1, 1, 2, 3, 4, 5, 6, 14, 7, 8, 9, 10, 10, 11, 11, 11, 15, 15, 15, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, 16, -1, -1, -1, -1, 12, -1, -1, 13, 13, -1, 1, 7, 2, 3, 8, 8, 4, 4, 4, -1, -1, -1, -1, -1, -1, -1, 5, -1, 9, 9, -1, 6, 6, -1, 1, 7, 2, 3, 3, 4, 4, 4, 8, 8, 8, 8, -1, -1, -1, 9, 9, -1, -1, -1, -1, 5, -1, -1, 6, 6, -1, 1, -1, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, 2, -1, -1, -1, 1, 2, 3, 4, 5, 6, 7, 8, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 2, 3, 9, 4, 5, 5, 6, 6, 6, 10, 10, 10, 10, -1, -1, -1, -1, -1, 11, 11, -1, -1, -1, -1, 7, -1, -1, 8, 8, -1, 1, 2, 3, 4, 4, -1, -1, -1, -1, -1, 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, 25, 44, 44, 46, 46, 67, 67, 48, 48, 68, 68, 71, 71, 50, 50, 26, 26, 26, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, -1, -1, -1, -1, 43, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 55, -1, 45, 45, -1, 56, 56, -1, 47, 47, -1, 31, 31, -1, 30, 30, -1, 57, 57, 58, 58, -1, 54, 54, -1, 32, 32, -1, -1, 33, 33, 72, 72, 59, 59, 34, 34, -1, 60, 60, -1, 61, 61, -1, 35, 35, -1, 62, 62, -1, 36, 36, -1, 63, 63, 64, 64, -1, 66, 66, -1, 37, 37, -1, 38, 38, -1, 39, 39, -1, 70, 70, -1, 41, 41, -1, 40, 40, -1, 49, 49, -1, 51, 51, -1, 65, 65, -1, 42, 42, -1, 53, 53, -1, 69, 69, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 2, 3, 4, 5, 6, 14, 7, 8, 9, 10, 10, 11, 11, 11, 15, 15, 15, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, 16, -1, -1, -1, -1, 12, -1, -1, 13, 13, -1, 1, 2, 3, -1, -1, -1, -1, 1, -1, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11, 27, 27, 29, 29, 50, 50, 31, 31, 51, 51, 54, 54, 33, 33, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, -1, -1, -1, -1, -1, 12, -1, -1, 13, -1, -1, -1, -1, 26, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, 38, -1, 28, 28, -1, 39, 39, -1, 30, 30, -1, 15, 15, -1, 14, 14, -1, 40, 40, 41, 41, -1, 37, 37, -1, 16, 16, -1, -1, 55, 55, 42, 42, 17, 17, -1, 43, 43, -1, 44, 44, -1, 18, 18, -1, 45, 45, -1, 19, 19, -1, 46, 46, 47, 47, -1, 49, 49, -1, 20, 20, -1, 21, 21, -1, 22, 22, -1, 53, 53, -1, 24, 24, -1, 23, 23, -1, 32, 32, -1, 34, 34, -1, 48, 48, -1, 25, 25, -1, 36, 36, -1, 52, 52, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 33, 33, 35, 35, 56, 56, 37, 37, 57, 57, 60, 60, 39, 39, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, -1, -1, 19, -1, -1, -1, -1, -1, 32, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 44, -1, 34, 34, -1, 45, 45, -1, 36, 36, -1, 21, 21, -1, 20, 20, -1, 46, 46, 47, 47, -1, 43, 43, -1, 22, 22, -1, -1, 61, 61, 48, 48, 23, 23, -1, 49, 49, -1, 50, 50, -1, 24, 24, -1, 51, 51, -1, 25, 25, -1, 52, 52, 53, 53, -1, 55, 55, -1, 26, 26, -1, 27, 27, -1, 28, 28, -1, 59, 59, -1, 30, 30, -1, 29, 29, -1, 38, 38, -1, 40, 40, -1, 54, 54, -1, 31, 31, -1, 42, 42, -1, 58, 58, -1, 1, 2, 3, 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, -1, -1, -1, 1, 2, 3, 3, -1, -1, -1, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 24, 40, 40, 42, 42, 63, 63, 44, 44, 64, 64, 67, 67, 46, 46, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, -1, 26, -1, -1, -1, -1, -1, -1, 39, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, 51, -1, 41, 41, -1, 52, 52, -1, 43, 43, -1, 28, 28, -1, 27, 27, -1, 53, 53, 54, 54, -1, 50, 50, -1, 29, 29, -1, -1, 68, 68, 55, 55, 30, 30, -1, 56, 56, -1, 57, 57, -1, 31, 31, -1, 58, 58, -1, 32, 32, -1, 59, 59, 60, 60, -1, 62, 62, -1, 33, 33, -1, 34, 34, -1, 35, 35, -1, 66, 66, -1, 37, 37, -1, 36, 36, -1, 45, 45, -1, 47, 47, -1, 61, 61, -1, 38, 38, -1, 49, 49, -1, 65, 65, -1, 1, 2, 3, 4, 5, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, 3, 4, 4, 18, 18, 20, 20, 41, 41, 22, 22, 42, 42, 45, 45, 24, 24, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -1, -1, -1, -1, 17, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 29, -1, 19, 19, -1, 30, 30, -1, 21, 21, -1, 6, 6, -1, 5, 5, -1, 31, 31, 32, 32, -1, 28, 28, -1, 7, 7, -1, -1, 46, 46, 33, 33, 8, 8, -1, 34, 34, -1, 35, 35, -1, 9, 9, -1, 36, 36, -1, 10, 10, -1, 37, 37, 38, 38, -1, 40, 40, -1, 11, 11, -1, 12, 12, -1, 13, 13, -1, 44, 44, -1, 15, 15, -1, 14, 14, -1, 23, 23, -1, 25, 25, -1, 39, 39, -1, 16, 16, -1, 27, 27, -1, 43, 43, -1, 1, 2, 3, 4, 5, 5, 20, 20, 22, 22, 44, 44, 24, 24, 45, 45, 50, 50, 26, 26, 28, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, -1, -1, -1, -1, -1, 19, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 33, -1, 21, 21, -1, 34, 34, -1, 23, 23, -1, 7, 7, -1, 6, 6, -1, 35, 35, 36, 36, -1, 31, 31, -1, 8, 8, -1, 32, 32, -1, 52, 52, 37, 37, 9, 9, -1, -1, 47, 47, -1, 38, 38, -1, 39, 39, -1, 10, 10, -1, 40, 40, -1, 11, 11, -1, 46, 46, 41, 41, -1, 43, 43, -1, 12, 12, -1, 13, 13, -1, 49, 49, -1, 15, 15, -1, 16, 16, -1, 25, 25, -1, 27, 27, -1, 14, 14, -1, 42, 42, -1, 51, 51, -1, 18, 18, -1, 29, 29, -1, 17, 17, -1, 48, 48, -1, 1, 2, 3, 4, 5, 6, 7, -1, -1, -1, -1, 8, -1, -1, 9, -1, -1, -1, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, 3, 4, 5, 15, 6, 7, 8, 9, 10, 11, 11, 12, 12, 12, 16, 16, 16, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 17, 17, -1, -1, -1, -1, 13, -1, -1, 14, 14, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 1, 2, -1, -1, -1, 1, 2, 3, 4, 5, 5, 22, 22, 24, 24, 26, 26, 50, 50, 28, 28, 51, 51, 55, 55, 30, 30, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -1, -1, -1, -1, -1, 21, 21, -1, -1, -1, -1, -1, -1, 47, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, 36, -1, 23, 23, -1, 37, 37, -1, 25, 25, -1, 7, 7, -1, 27, 27, 29, 29, -1, 49, 49, -1, 6, 6, -1, 52, 52, -1, 35, 35, -1, 38, 38, 39, 39, -1, -1, 8, 8, -1, 57, 57, 40, 40, 9, 9, -1, 41, 41, -1, 42, 42, -1, 10, 10, -1, 44, 44, -1, 12, 12, -1, 45, 45, 46, 46, -1, 54, 54, -1, 13, 13, -1, 14, 14, -1, 15, 15, -1, 16, 16, -1, 56, 56, -1, 18, 18, -1, 19, 19, -1, 11, 11, -1, 31, 31, -1, 33, 33, -1, 43, 43, -1, 48, 48, -1, 17, 17, -1, 34, 34, -1, 20, 20, -1, 53, 53, -1, 1, 2, 3, 4, 5, 5, 26, 26, 28, 28, 30, 30, 61, 61, 32, 32, 63, 63, 70, 70, 34, 34, 36, 36, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, -1, -1, -1, -1, -1, 25, 25, -1, -1, -1, -1, -1, -1, 56, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, 42, -1, 27, 27, -1, 43, 43, -1, 29, 29, -1, 7, 7, -1, 31, 31, 33, 33, -1, 60, 60, -1, 6, 6, -1, 44, 44, -1, 40, 40, -1, 45, 45, 46, 46, -1, 62, 62, 41, 41, -1, 8, 8, -1, -1, 73, 73, 47, 47, 9, 9, -1, 66, 66, -1, 48, 48, -1, 49, 49, -1, 10, 10, -1, 50, 50, 51, 51, 52, 52, -1, 53, 53, -1, 12, 12, -1, 65, 65, 54, 54, -1, 68, 68, -1, 14, 14, -1, 69, 69, -1, 15, 15, -1, 57, 57, -1, 16, 16, -1, 72, 72, -1, 18, 18, -1, 20, 20, -1, 59, 59, -1, 23, 23, -1, 24, 24, -1, 11, 11, -1, 35, 35, -1, 64, 64, -1, 37, 37, -1, 13, 13, -1, 17, 17, -1, 55, 55, -1, 71, 71, -1, 19, 19, -1, 58, 58, -1, 39, 39, -1, 21, 21, -1, 22, 22, -1, 67, 67, -1, 2, 2, -1, -1, 3, 3, -1, 4, 4, -1, 5, 5, -1, 1, 1, -1, 1, 2, 3, 4, 5, 5, 20, 20, 22, 22, 24, 24, 49, 49, 26, 26, 50, 50, 53, 53, 28, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, -1, -1, -1, -1, -1, 19, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 33, -1, 21, 21, -1, 34, 34, -1, 23, 23, -1, 7, 7, -1, 25, 25, -1, 35, 35, -1, 6, 6, -1, 36, 36, 37, 37, -1, 32, 32, -1, 8, 8, -1, -1, 54, 54, 38, 38, 9, 9, -1, 39, 39, -1, 40, 40, -1, 10, 10, -1, 41, 41, -1, 42, 42, -1, 11, 11, -1, 43, 43, 44, 44, -1, 48, 48, -1, 12, 12, -1, 45, 45, -1, 13, 13, -1, 14, 14, -1, 52, 52, -1, 47, 47, -1, 16, 16, -1, 18, 18, -1, 15, 15, -1, 27, 27, -1, 29, 29, -1, 46, 46, -1, 17, 17, -1, 31, 31, -1, 51, 51, -1, 1, 2, 3, 4, 5, 5, 20, 20, 22, 22, 24, 24, 48, 48, 26, 26, 50, 50, 53, 53, 28, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, -1, -1, -1, -1, -1, 19, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 33, -1, 21, 21, -1, 34, 34, -1, 23, 23, -1, 7, 7, -1, 25, 25, -1, 35, 35, -1, 6, 6, -1, 36, 36, 37, 37, -1, 32, 32, -1, 8, 8, -1, -1, 54, 54, 38, 38, 9, 9, -1, 39, 39, -1, 40, 40, -1, 10, 10, -1, 41, 41, -1, 42, 42, -1, 11, 11, -1, 43, 43, 44, 44, -1, 47, 47, -1, 12, 12, -1, 49, 49, -1, 13, 13, -1, 14, 14, -1, 52, 52, -1, 16, 16, -1, 18, 18, -1, 15, 15, -1, 27, 27, -1, 46, 46, -1, 29, 29, -1, 45, 45, -1, 17, 17, -1, 31, 31, -1, 51, 51, -1, 4, 4, -1, 9, 9, -1, -1, -1, 5, 5, 6, 6, -1, 10, 10, -1, 7, 7, -1, 8, 8, -1, 2, 2, -1, 3, 3, -1, 1, 1, -1, 1, 2, 3, 4, 5, 5, 20, 20, 22, 22, 44, 44, 24, 24, 46, 46, 49, 49, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -1, -1, -1, -1, -1, 19, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 31, -1, 21, 21, -1, 32, 32, -1, 23, 23, -1, 7, 7, -1, 6, 6, -1, 33, 33, 34, 34, -1, 45, 45, 30, 30, -1, 8, 8, -1, -1, 50, 50, 35, 35, 9, 9, -1, 37, 37, -1, 38, 38, -1, 10, 10, -1, 39, 39, -1, 11, 11, -1, 40, 40, 41, 41, -1, 12, 12, -1, 43, 43, -1, 13, 13, -1, 14, 14, -1, 15, 15, -1, 48, 48, -1, 17, 17, -1, 16, 16, -1, 25, 25, -1, 36, 36, -1, 27, 27, -1, 42, 42, -1, 18, 18, -1, 29, 29, -1, 47, 47, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, 3, 4, 4, -1, -1, -1, -1, -1, 2, 2, -1, -1, 3, 3, -1, 4, 4, -1, 5, 5, -1, 1, 1, -1, 2, 2, -1, -1, 3, 3, -1, 4, 4, -1, 1, 1, -1, 2, 2, -1, -1, 3, 3, -1, 4, 4, -1, 5, 5, -1, 6, 6, -1, 7, 7, -1, 1, 1, -1, 2, 2, -1, -1, 3, 3, -1, 4, 4, -1, 5, 5, -1, 7, 7, -1, 1, 1, -1, 6, 6, -1, 1, -1, -1, 1, 2, 3, 4, 5, 5, 20, 20, 22, 22, 24, 24, 46, 46, 26, 26, 47, 47, 51, 51, 28, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, -1, -1, -1, -1, -1, 19, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 33, -1, 21, 21, -1, 34, 34, -1, 23, 23, -1, 7, 7, -1, 25, 25, -1, 48, 48, -1, 6, 6, -1, 35, 35, 36, 36, -1, 32, 32, -1, 8, 8, -1, -1, 52, 52, 37, 37, 9, 9, -1, 38, 38, -1, 39, 39, -1, 10, 10, -1, 41, 41, -1, 11, 11, -1, 42, 42, 43, 43, -1, 45, 45, -1, 12, 12, -1, 13, 13, -1, 14, 14, -1, 15, 15, -1, 50, 50, -1, 17, 17, -1, 16, 16, -1, 27, 27, -1, 29, 29, -1, 40, 40, -1, 44, 44, -1, 18, 18, -1, 31, 31, -1, 49, 49, -1
};
/* DFA acception states */
UNICC_STATIC int rb_dfa_accept[ 63 ][ 108 ] =
{
{ 0, 45, 32, 44, 41, 34, 33, 31, 4, 26, 18, 27, 13, 5, 19, 20, 9, 15, 7, 21, 16, 17, 23, 25, 14, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 0, 33, 0, 0, 0, 33, 0 },
{ 0, 45, 32, 54, 51, 44, 56, 37, 39, 38, 48, 50, 43, 49, 35, 47, 36, 42, 52, 55, 53, 41, 40, 34, 57, 46, 33, 31, 4, 28, 29, 26, 18, 27, 13, 5, 19, 20, 10, 9, 15, 7, 22, 21, 12, 16, 17, 24, 23, 11, 25, 14, 8, 6, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0 },
{ 0, 45, 32, 31 },
{ 0, 45, 32, 54, 51, 44, 56, 37, 39, 38, 48, 50, 43, 49, 35, 47, 36, 42, 52, 55, 53, 41, 40, 34, 57, 46, 33, 31, 30 },
{ 0, 45, 32, 54, 51, 44, 56, 37, 39, 38, 48, 50, 43, 49, 35, 47, 36, 42, 52, 55, 53, 41, 40, 34, 57, 46, 33, 31, 30, 3 },
{ 0, 45, 44, 41, 34, 33, 26, 18, 27, 13, 19, 20, 9, 15, 7, 21, 16, 17, 23, 25, 14, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 33, 0, 33, 0, 0, 33, 0 },
{ 0, 45 },
{ 0, 3, 0 },
{ 0, 45, 32, 54, 37, 39, 35, 36, 42, 55, 41, 34, 33, 31, 4, 5, 0, 33, 0 },
{ 0, 27, 0, 0 },
{ 0, 45, 32, 44, 41, 34, 33, 31, 4, 26, 18, 27, 13, 5, 19, 20, 10, 9, 15, 7, 22, 21, 12, 16, 17, 24, 23, 11, 25, 14, 8, 6, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 0, 33, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0 },
{ 0, 32, 54, 37, 39, 35, 36, 41, 34, 33, 31, 4, 5, 0, 33, 0 },
{ 0, 45, 32, 34, 31, 4, 5, 0, 0, 0 },
{ 0, 45, 32, 54, 37, 39, 35, 36, 41, 34, 33, 31, 4, 5, 0, 33, 0 },
{ 0, 32, 41, 34, 31, 4, 5, 0, 0, 0 },
{ 0, 32, 34, 33, 31, 4, 5, 0, 33, 0 },
{ 0, 41 },
{ 0, 45, 54, 37, 39, 35, 36, 55, 41, 34, 33 },
{ 0, 34, 33 },
{ 0, 54, 37, 39, 35, 36, 41, 34, 33 },
{ 0, 45, 54, 37, 39, 35, 36, 41, 34, 33 },
{ 0, 55 },
{ 0, 32, 56, 48, 34, 33, 31, 4, 5, 0, 33, 0 },
{ 0, 32, 56, 34, 33 },
{ 0, 45, 32, 54, 51, 44, 56, 37, 39, 38, 48, 50, 43, 49, 35, 47, 36, 52, 55, 53, 41, 40, 34, 57, 46, 33, 31, 4, 28, 29, 26, 18, 13, 5, 19, 20, 15, 21, 16, 17, 23, 25, 14, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 0, 0, 33, 0 },
{ 0, 45, 51, 38, 48, 50, 43, 49, 47, 46 },
{ 0, 39 },
{ 0, 32, 54, 37, 39, 38, 35, 36, 41, 34, 33, 31, 4, 5, 0, 33, 0 },
{ 0, 45, 38, 43 },
{ 0, 35 },
{ 0, 45, 54, 44, 56, 52, 55, 53, 41, 34, 57, 33, 28, 29, 26, 18, 13, 19, 20, 15, 21, 16, 17, 23, 25, 14, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 0, 0, 33, 0 },
{ 0, 45, 54, 51, 44, 56, 48, 50, 49, 47, 52, 55, 53, 41, 34, 57, 46, 33, 28, 29, 26, 18, 13, 19, 20, 15, 21, 16, 17, 23, 25, 14, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 0, 0, 33, 0 },
{ 0, 45, 51, 48, 50, 49, 47, 46 },
{ 0, 45, 43 },
{ 0, 32, 34, 33 },
{ 0, 54, 37, 39, 38, 35, 36, 41, 34, 33 },
{ 0, 36 },
{ 0, 45, 54, 51, 44, 56, 37, 39, 38, 48, 50, 43, 49, 35, 47, 36, 52, 55, 53, 41, 40, 34, 57, 46, 33, 28, 29, 26, 18, 13, 19, 20, 15, 21, 16, 17, 23, 25, 14, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 0, 0, 33, 0 },
{ 0, 51, 38, 48, 50, 49, 47, 46 },
{ 0, 44, 41, 34, 33, 26, 18, 13, 19, 20, 15, 21, 16, 17, 23, 25, 14, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 0, 0, 33, 0 },
{ 0, 45, 44, 41, 34, 33, 26, 18, 13, 19, 20, 15, 21, 16, 17, 24, 23, 25, 14, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 0, 0, 0, 0, 33, 0, 0 },
{ 0, 45, 54, 56, 52, 55, 53, 57, 28, 29 },
{ 0, 54, 37, 39, 35, 36, 42, 41, 40, 34, 33 },
{ 0, 32, 54, 37, 39, 35, 36, 42, 41, 40, 34, 33, 31, 4, 5, 0, 33, 0 },
{ 0, 32, 54, 37, 39, 35, 36, 42, 41, 40, 34, 33 },
{ 0, 38 },
{ 0, 45, 42 },
{ 0, 45, 44, 41, 34, 33, 26, 18, 13, 19, 20, 10, 15, 21, 12, 16, 17, 23, 11, 25, 14, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 0, 0, 0, 33, 0, 0 },
{ 0, 45, 44, 41, 34, 33, 26, 18, 13, 19, 20, 10, 15, 22, 21, 12, 16, 17, 24, 23, 11, 25, 14, 8, 6, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0 },
{ 0, 24, 0, 0, 0, 0 },
{ 0, 45, 44, 41, 34, 33, 26, 18, 13, 19, 20, 15, 21, 16, 17, 23, 25, 14, 6, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 0, 0, 33, 0 },
{ 0, 45, 44, 41, 34, 33, 26, 18, 13, 19, 20, 15, 21, 16, 17, 23, 25, 14, 8, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 33, 0, 0, 33, 0 },
{ 0, 10, 12, 11, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 45, 44, 41, 34, 33, 26, 18, 13, 19, 20, 15, 22, 21, 16, 17, 23, 25, 14, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 33, 0, 0, 33, 0 },
{ 0, 54, 51, 37, 39, 48, 50, 43, 49, 35, 47, 36, 41, 40, 34, 46, 33 },
{ 0, 54, 37, 39, 43, 35, 36, 41, 40, 34, 33 },
{ 0, 32, 48, 34, 33 },
{ 0, 12, 0, 0, 0, 0 },
{ 0, 22, 0, 0, 0 },
{ 0, 6, 0, 0, 0, 0, 0, 0 },
{ 0, 8, 0, 0, 0, 0, 0, 0 },
{ 0, 40 },
{ 0, 45, 44, 41, 34, 33, 26, 18, 13, 19, 20, 15, 21, 12, 16, 17, 23, 25, 14, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 0, 0, 0, 33, 0 }
};
#endif
/* Symbol information table */
UNICC_STATIC rb_syminfo rb_symbols[] =
{
{ /* 0 */ "&error", "", 3, 0, 0, 1 },
{ /* 1 */ "&eof", "", 3, 0, 0, 1 },
{ /* 2 */ "~/", "~/", 2, 0, 0, 1 },
{ /* 3 */ "/~", "/~", 2, 0, 0, 1 },
{ /* 4 */ "REM", "REM", 2, 0, 0, 1 },
{ /* 5 */ "ENDPROC", "ENDPROC", 2, 0, 0, 1 },
{ /* 6 */ "PROC", "PROC", 2, 0, 0, 1 },
{ /* 7 */ "ENDFUNC", "ENDFUNC", 2, 0, 0, 1 },
{ /* 8 */ "FUNC", "FUNC", 2, 0, 0, 1 },
{ /* 9 */ "ELSE", "ELSE", 2, 0, 0, 1 },
{ /* 10 */ "ELSEIF", "ELSEIF", 2, 0, 0, 1 },
{ /* 11 */ "ENDIF", "ENDIF", 2, 0, 0, 1 },
{ /* 12 */ "LET", "LET", 2, 0, 0, 1 },
{ /* 13 */ "RESUME", "RESUME", 2, 0, 0, 1 },
{ /* 14 */ "GOTO", "GOTO", 2, 0, 0, 1 },
{ /* 15 */ "GOSUB", "GOSUB", 2, 0, 0, 1 },
{ /* 16 */ "RESET", "RESET", 2, 0, 0, 1 },
{ /* 17 */ "DEC", "DEC", 2, 0, 0, 1 },
{ /* 18 */ "RET", "RET", 2, 0, 0, 1 },
{ /* 19 */ "CONT", "CONT", 2, 0, 0, 1 },
{ /* 20 */ "BREAK", "BREAK", 2, 0, 0, 1 },
{ /* 21 */ "WEND", "WEND", 2, 0, 0, 1 },
{ /* 22 */ "WHILE", "WHILE", 2, 0, 0, 1 },
{ /* 23 */ "UNTIL", "UNTIL", 2, 0, 0, 1 },
{ /* 24 */ "REPEAT", "REPEAT", 2, 0, 0, 1 },
{ /* 25 */ "IF", "IF", 2, 0, 0, 1 },
{ /* 26 */ "END", "END", 2, 0, 0, 1 },
{ /* 27 */ "<=", "<=", 2, 0, 0, 1 },
{ /* 28 */ ">=", ">=", 2, 0, 0, 1 },
{ /* 29 */ "\\x0-\\b\\f\\xE-\\x1F\"$;?-@\\\\^`{}\\x7F-\\uFFFF", "", 1, 0, 0, 1 },
{ /* 30 */ "\\t\\v\\r", "", 1, 0, 0, 1 },
{ /* 31 */ " ", "", 1, 0, 0, 1 },
{ /* 32 */ "A-Za-z", "", 1, 0, 0, 1 },
{ /* 33 */ "_", "", 1, 0, 0, 1 },
{ /* 34 */ ".", "", 1, 0, 0, 1 },
{ /* 35 */ "0-9", "", 1, 0, 0, 1 },
{ /* 36 */ "'", "", 1, 0, 0, 1 },
{ /* 37 */ ")", "", 1, 0, 0, 1 },
{ /* 38 */ "(", "", 1, 0, 0, 1 },
{ /* 39 */ "]", "", 1, 0, 0, 1 },
{ /* 40 */ "[", "", 1, 0, 0, 1 },
{ /* 41 */ ":", "", 1, 0, 0, 1 },
{ /* 42 */ ",", "", 1, 0, 0, 1 },
{ /* 43 */ "%", "", 1, 0, 0, 1 },
{ /* 44 */ "\\n", "", 1, 0, 0, 1 },
{ /* 45 */ "~", "", 1, 0, 0, 1 },
{ /* 46 */ "/", "", 1, 0, 0, 1 },
{ /* 47 */ "*", "", 1, 0, 0, 1 },
{ /* 48 */ "-", "", 1, 0, 0, 1 },
{ /* 49 */ "+", "", 1, 0, 0, 1 },
{ /* 50 */ "#", "", 1, 0, 0, 1 },
{ /* 51 */ "<", "", 1, 0, 0, 1 },
{ /* 52 */ ">", "", 1, 0, 0, 1 },
{ /* 53 */ "!", "", 1, 0, 0, 1 },
{ /* 54 */ "=", "", 1, 0, 0, 1 },
{ /* 55 */ "&", "", 1, 0, 0, 1 },
{ /* 56 */ "|", "", 1, 0, 0, 1 },
{ /* 57 */ "\\x0-\\b\\f\\xE-\\x1F\"$&;?-@\\\\^`{}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 58 */ "=|#", "", 0, 0, 0, 1 },
{ /* 59 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&;?-@\\\\^`{}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 60 */ "=->|#", "", 0, 0, 0, 1 },
{ /* 61 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&;-<?-@\\\\^`{}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 62 */ "#=->|#", "", 0, 0, 0, 1 },
{ /* 63 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&+;-<?-@\\\\^`{}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 64 */ "#-=->|#", "", 0, 0, 0, 1 },
{ /* 65 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&*-+;-<?-@\\\\^`{}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 66 */ "#-/=->|#", "", 0, 0, 0, 1 },
{ /* 67 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&*-+;-<?-@\\\\^`{}-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 68 */ "#%-/=->|#", "", 0, 0, 0, 1 },
{ /* 69 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&*-,;-<?-@\\\\^`{}-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 70 */ "#%-/:=->|#", "", 0, 0, 0, 1 },
{ /* 71 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&*-,;-<?-@[-\\\\^`{}-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 72 */ "#%-/:=->]|#", "", 0, 0, 0, 1 },
{ /* 73 */ "#%)-/:=->]|#", "", 0, 0, 0, 1 },
{ /* 74 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&(*-,;-<?-@[-\\\\^`{}-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 75 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&(*-,.;-<?-@[-\\\\^`{}-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 76 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&(*-,.;-<?-@[-\\\\^-`{}-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 77 */ "#%)-/-:=->]|#", "", 0, 0, 0, 1 },
{ /* 78 */ "\\x0-\\b\\f\\xE-\\x1F\"$;?-Z\\\\^`-{}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 79 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&(*-,.;-<?-\\\\^-{}-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 80 */ "\\x0-\\b\\f\\xE-\\x1F\"-%)-/-;=-Z\\\\-^`-}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 81 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&(*-,.;-<?-\\\\^-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 82 */ "\\x0-\\b\\f\\xE-\\x1F\"-&)-/-;=-Z\\\\-^`-}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 83 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&(*-,.;-=?-\\\\^-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 84 */ "\\x0-\\b\\f\\xE-\\x1F!-&)-/-;=-Z\\\\-^`-}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 85 */ "\\x0-\\b\\f\\xE-\\x1F!-\"$&(*-,.;-\\\\^-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 86 */ "\\x0-\\b\\f\\xE-\\x1F!-&)-/-Z\\\\-^`-}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 87 */ "\\x0-\\b\\f\\xE-\\x1F!-$&(*-,.;-\\\\^-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 88 */ "\\x0-\\b\\f\\xE-\\x1F!-&)+-/-Z\\\\-^`-}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 89 */ "\\x0-\\b\\f\\xE-\\x1F!-$&(*-.;-\\\\^-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 90 */ "\\x0-\\b\\f\\xE-\\x1F!-&)-+-/-Z\\\\-^`-}\\x7F-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 91 */ "\\x0-\\b\\f\\xE-\\x1F!-$&(*-/;-\\\\^-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 92 */ "\\x0-\\b\\f\\xE-\\x1F!-&)-+-/-Z\\\\-^`-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 93 */ "\\x0-\\b\\f\\xE-\\x1F!-&(*-/;-\\\\^-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 94 */ "\\x0-\\b\\f\\xE-\\x1F!-&)--/-Z\\\\-^`-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 95 */ "\\x0-\\b\\f\\xE-\\x1F!-&(*-/:-\\\\^-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 96 */ "\\x0-\\b\\f\\xE-\\x1F!-&)--/-^`-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 97 */ "\\x0-\\b\\f\\xE-\\x1F!-&(*-/:-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 98 */ "\\x0-\\b\\f\\xE-\\x1F!-&(--/-^`-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 99 */ "\\x0-\\b\\f\\xE-\\x1F!-&(-/:-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 100 */ "\\x0-\\b\\f\\xE-\\x1F!--/-^`-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 101 */ "\\x0-\\b\\f\\xE-\\x1F!-&(-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 102 */ "\\x0-\\b\\f\\xE-\\x1F!-^`-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 103 */ " 0-9A-Za-z#", "", 0, 0, 0, 1 },
{ /* 104 */ " A-Za-z#", "", 0, 0, 0, 1 },
{ /* 105 */ "0-9A-Za-z#", "", 0, 0, 0, 1 },
{ /* 106 */ "\\x0-\\t\\v-^`-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 107 */ "\\x0-\\t\\v-&(-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 108 */ "program''", "", 0, 0, 0, 1 },
{ /* 109 */ "ELSE'", "", 0, 0, 0, 1 },
{ /* 110 */ "ELSEIF'", "", 0, 0, 0, 1 },
{ /* 111 */ "ENDIF'", "", 0, 0, 0, 1 },
{ /* 112 */ "<='", "", 0, 0, 0, 1 },
{ /* 113 */ ">='", "", 0, 0, 0, 1 },
{ /* 114 */ "<'", "", 0, 0, 0, 1 },
{ /* 115 */ ">'", "", 0, 0, 0, 1 },
{ /* 116 */ "|'", "", 0, 0, 0, 1 },
{ /* 117 */ ")'", "", 0, 0, 0, 1 },
{ /* 118 */ "('", "", 0, 0, 0, 1 },
{ /* 119 */ "value'", "", 0, 0, 0, 1 },
{ /* 120 */ "!'", "", 0, 0, 0, 1 },
{ /* 121 */ "~'", "", 0, 0, 0, 1 },
{ /* 122 */ "/'", "", 0, 0, 0, 1 },
{ /* 123 */ "-'", "", 0, 0, 0, 1 },
{ /* 124 */ "+'", "", 0, 0, 0, 1 },
{ /* 125 */ "#'", "", 0, 0, 0, 1 },
{ /* 126 */ "LET'", "", 0, 0, 0, 1 },
{ /* 127 */ "&'", "", 0, 0, 0, 1 },
{ /* 128 */ "%'", "", 0, 0, 0, 1 },
{ /* 129 */ "='", "", 0, 0, 0, 1 },
{ /* 130 */ "RESUME'", "", 0, 0, 0, 1 },
{ /* 131 */ "GOTO'", "", 0, 0, 0, 1 },
{ /* 132 */ "GOSUB'", "", 0, 0, 0, 1 },
{ /* 133 */ "RESET'", "", 0, 0, 0, 1 },
{ /* 134 */ "DEC'", "", 0, 0, 0, 1 },
{ /* 135 */ "RET'", "", 0, 0, 0, 1 },
{ /* 136 */ "CONT'", "", 0, 0, 0, 1 },
{ /* 137 */ "BREAK'", "", 0, 0, 0, 1 },
{ /* 138 */ "WEND'", "", 0, 0, 0, 1 },
{ /* 139 */ "WHILE'", "", 0, 0, 0, 1 },
{ /* 140 */ "UNTIL'", "", 0, 0, 0, 1 },
{ /* 141 */ "REPEAT'", "", 0, 0, 0, 1 },
{ /* 142 */ "IF'", "", 0, 0, 0, 1 },
{ /* 143 */ "ENDFUNC'", "", 0, 0, 0, 1 },
{ /* 144 */ "FUNC'", "", 0, 0, 0, 1 },
{ /* 145 */ "*'", "", 0, 0, 0, 1 },
{ /* 146 */ " 0-9A-Z_a-z'", "", 0, 0, 0, 1 },
{ /* 147 */ " A-Z_a-z'", "", 0, 0, 0, 1 },
{ /* 148 */ "]'", "", 0, 0, 0, 1 },
{ /* 149 */ "['", "", 0, 0, 0, 1 },
{ /* 150 */ ",'", "", 0, 0, 0, 1 },
{ /* 151 */ ":'", "", 0, 0, 0, 1 },
{ /* 152 */ "ident'", "", 0, 0, 0, 1 },
{ /* 153 */ "ENDPROC'", "", 0, 0, 0, 1 },
{ /* 154 */ "PROC'", "", 0, 0, 0, 1 },
{ /* 155 */ "\\n'", "", 0, 0, 0, 1 },
{ /* 156 */ "END'", "", 0, 0, 0, 1 },
{ /* 157 */ "&whitespace*", "", 0, 1, 1, 1 },
{ /* 158 */ "&whitespace+", "", 0, 1, 1, 1 },
{ /* 159 */ "&whitespace", "", 0, 1, 1, 1 },
{ /* 160 */ "program'", "", 0, 0, 0, 1 },
{ /* 161 */ "\\x0-\\uFFFF*", "", 0, 1, 0, 1 },
{ /* 162 */ "\\x0-\\uFFFF+", "", 0, 1, 0, 1 },
{ /* 163 */ "\\x0-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 164 */ "\\x0-\\t\\v-\\uFFFF*", "", 0, 1, 0, 1 },
{ /* 165 */ "\\x0-\\t\\v-\\uFFFF+", "", 0, 1, 0, 1 },
{ /* 166 */ "\\x0-\\t\\v-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 167 */ "\\t\\v\\r *", "", 0, 1, 0, 1 },
{ /* 168 */ "\\t\\v\\r +", "", 0, 1, 0, 1 },
{ /* 169 */ "\\t\\v\\r #", "", 0, 0, 0, 1 },
{ /* 170 */ "0-9A-Z_a-z#", "", 0, 0, 0, 1 },
{ /* 171 */ "ident_tail", "", 0, 1, 0, 1 },
{ /* 172 */ "A-Z_a-z#", "", 0, 0, 0, 1 },
{ /* 173 */ "factor", "", 0, 0, 0, 1 },
{ /* 174 */ "\\x0-&(-\\uFFFF#", "", 0, 0, 0, 1 },
{ /* 175 */ "float_opt", "", 0, 1, 0, 1 },
{ /* 176 */ "float", "", 0, 1, 0, 1 },
{ /* 177 */ "integer", "", 0, 1, 0, 1 },
{ /* 178 */ "string_content", "", 0, 1, 0, 1 },
{ /* 179 */ "parameter_list", "", 0, 0, 0, 1 },
{ /* 180 */ "parameters", "", 0, 0, 0, 1 },
{ /* 181 */ "in_expr_func_call", "", 0, 0, 0, 1 },
{ /* 182 */ "fct", "", 0, 0, 0, 1 },
{ /* 183 */ "variable", "", 0, 0, 0, 1 },
{ /* 184 */ ":?", "", 0, 0, 0, 1 },
{ /* 185 */ "complex_variable", "", 0, 0, 0, 1 },
{ /* 186 */ "&?", "", 0, 0, 0, 1 },
{ /* 187 */ "simple_variable", "", 0, 0, 0, 1 },
{ /* 188 */ "*?", "", 0, 0, 0, 1 },
{ /* 189 */ ",?", "", 0, 0, 0, 1 },
{ /* 190 */ "varindex", "", 0, 0, 0, 1 },
{ /* 191 */ "varname_tail?", "", 0, 0, 0, 1 },
{ /* 192 */ " A-Z_a-z#", "", 0, 0, 0, 1 },
{ /* 193 */ "varname", "", 0, 0, 0, 1 },
{ /* 194 */ " 0-9A-Z_a-z#", "", 0, 0, 0, 1 },
{ /* 195 */ "varname_tail", "", 0, 0, 0, 1 },
{ /* 196 */ "param_variable", "", 0, 0, 0, 1 },
{ /* 197 */ "procparm", "", 0, 0, 0, 1 },
{ /* 198 */ "procparms", "", 0, 0, 0, 1 },
{ /* 199 */ "procdef_entry", "", 0, 0, 0, 1 },
{ /* 200 */ "stack_last_parm", "", 0, 0, 0, 1 },
{ /* 201 */ "stack_scope", "", 0, 0, 0, 1 },
{ /* 202 */ "procparmdef", "", 0, 0, 0, 1 },
{ /* 203 */ "funcdef_entry", "", 0, 0, 0, 1 },
{ /* 204 */ "&embedded_5", "", 0, 0, 0, 1 },
{ /* 205 */ "elseif_block?", "", 0, 0, 0, 1 },
{ /* 206 */ "elseif_block", "", 0, 0, 0, 1 },
{ /* 207 */ "&embedded_4", "", 0, 0, 0, 1 },
{ /* 208 */ "proc_call", "", 0, 0, 0, 1 },
{ /* 209 */ "func_call", "", 0, 0, 0, 1 },
{ /* 210 */ "variable_address", "", 0, 0, 0, 1 },
{ /* 211 */ "LET?", "", 0, 0, 0, 1 },
{ /* 212 */ "reset_parms", "", 0, 0, 0, 1 },
{ /* 213 */ "dec_parms", "", 0, 0, 0, 1 },
{ /* 214 */ "expression", "", 0, 0, 0, 1 },
{ /* 215 */ "&embedded_3", "", 0, 0, 0, 1 },
{ /* 216 */ "&embedded_2", "", 0, 0, 0, 1 },
{ /* 217 */ "statement_or_empty*", "", 0, 0, 0, 1 },
{ /* 218 */ "statement_or_empty+", "", 0, 0, 0, 1 },
{ /* 219 */ "&embedded_1", "", 0, 0, 0, 1 },
{ /* 220 */ "stack_jmp", "", 0, 0, 0, 1 },
{ /* 221 */ "condition", "", 0, 0, 0, 1 },
{ /* 222 */ "if_block", "", 0, 0, 0, 1 },
{ /* 223 */ "statement", "", 0, 0, 0, 1 },
{ /* 224 */ "procdef", "", 0, 0, 0, 1 },
{ /* 225 */ "funcdef", "", 0, 0, 0, 1 },
{ /* 226 */ "statement_or_empty", "", 0, 0, 0, 1 },
{ /* 227 */ "&embedded_0?", "", 0, 0, 0, 1 },
{ /* 228 */ "&embedded_0", "", 0, 0, 0, 1 },
{ /* 229 */ "\\n*", "", 0, 0, 0, 1 },
{ /* 230 */ "\\n+", "", 0, 0, 0, 1 },
{ /* 231 */ "global_statement*", "", 0, 0, 0, 1 },
{ /* 232 */ "global_statement+", "", 0, 0, 0, 1 },
{ /* 233 */ "global_statement", "", 0, 0, 0, 1 },
{ /* 234 */ "program", "", 0, 0, 0, 1 },
{ /* 235 */ "ident", "", 0, 1, 0, 1 },
{ /* 236 */ "value", "", 0, 1, 0, 1 },
{ /* 237 */ "whitespace", "", 0, 1, 1, 1 }
};
/* Production information table */
UNICC_STATIC rb_prodinfo rb_productions[] =
{
{ /* 0 */ "global_statement+ : global_statement+ global_statement", "", 2, 232 },
{ /* 1 */ "global_statement+ : global_statement", "", 1, 232 },
{ /* 2 */ "global_statement* : global_statement+", "", 1, 231 },
{ /* 3 */ "global_statement* : ", "", 0, 231 },
{ /* 4 */ "program : global_statement* &embedded_0?", "", 2, 234 },
{ /* 5 */ "&embedded_0 : END' \\n*", "", 2, 228 },
{ /* 6 */ "\\n+ : \\n+ \\n'", "", 2, 230 },
{ /* 7 */ "\\n+ : \\n'", "", 1, 230 },
{ /* 8 */ "\\n* : \\n+", "", 1, 229 },
{ /* 9 */ "\\n* : ", "", 0, 229 },
{ /* 10 */ "&embedded_0? : &embedded_0", "", 1, 227 },
{ /* 11 */ "&embedded_0? : ", "", 0, 227 },
{ /* 12 */ "global_statement : statement_or_empty", "", 1, 233 },
{ /* 13 */ "global_statement : funcdef", "", 1, 233 },
{ /* 14 */ "global_statement : procdef", "", 1, 233 },
{ /* 15 */ "statement_or_empty : statement", "", 1, 226 },
{ /* 16 */ "statement_or_empty : \\n'", "", 1, 226 },
{ /* 17 */ "statement : if_block", "", 1, 223 },
{ /* 18 */ "statement : IF' condition stack_jmp statement", "", 4, 223 },
{ /* 19 */ "statement : REPEAT' &embedded_1 \\n' statement_or_empty* UNTIL' &embedded_2 condition stack_jmp \\n'", "", 9, 223 },
{ /* 20 */ "&embedded_1 : ", "", 0, 219 },
{ /* 21 */ "statement_or_empty+ : statement_or_empty+ statement_or_empty", "", 2, 218 },
{ /* 22 */ "statement_or_empty+ : statement_or_empty", "", 1, 218 },
{ /* 23 */ "statement_or_empty* : statement_or_empty+", "", 1, 217 },
{ /* 24 */ "statement_or_empty* : ", "", 0, 217 },
{ /* 25 */ "&embedded_2 : ", "", 0, 216 },
{ /* 26 */ "statement : WHILE' &embedded_3 condition stack_jmp \\n' statement_or_empty* WEND' \\n'", "", 8, 223 },
{ /* 27 */ "&embedded_3 : ", "", 0, 215 },
{ /* 28 */ "statement : BREAK' \\n'", "", 2, 223 },
{ /* 29 */ "statement : CONT' \\n'", "", 2, 223 },
{ /* 30 */ "statement : RET' \\n'", "", 2, 223 },
{ /* 31 */ "statement : RET' expression \\n'", "", 3, 223 },
{ /* 32 */ "statement : DEC' dec_parms \\n'", "", 3, 223 },
{ /* 33 */ "statement : RESET' reset_parms \\n'", "", 3, 223 },
{ /* 34 */ "statement : GOSUB' ident' \\n'", "", 3, 223 },
{ /* 35 */ "statement : GOTO' ident' \\n'", "", 3, 223 },
{ /* 36 */ "statement : RESUME' \\n'", "", 2, 223 },
{ /* 37 */ "LET? : LET'", "", 1, 211 },
{ /* 38 */ "LET? : ", "", 0, 211 },
{ /* 39 */ "statement : LET? variable_address =' expression \\n'", "", 5, 223 },
{ /* 40 */ "statement : %' ident' \\n'", "", 3, 223 },