home *** CD-ROM | disk | FTP | other *** search
- #ifndef lint
- static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
- #endif
- #define YYBYACC 1
- #line 2 "a2p.y"
- /* $RCSfile: a2p.y,v $$Revision: 4.1 $$Date: 92/08/07 18:29:12 $
- *
- * Copyright (c) 1991, Larry Wall
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * $Log: a2p.y,v $
- */
-
- #include "INTERN.h"
- #include "a2p.h"
-
- int root;
- int begins = Nullop;
- int ends = Nullop;
-
- #line 24 "y.tab.c"
- #define BEGIN 257
- #define END 258
- #define REGEX 259
- #define SEMINEW 260
- #define NEWLINE 261
- #define COMMENT 262
- #define FUN1 263
- #define FUNN 264
- #define GRGR 265
- #define PRINT 266
- #define PRINTF 267
- #define SPRINTF 268
- #define SPLIT 269
- #define IF 270
- #define ELSE 271
- #define WHILE 272
- #define FOR 273
- #define IN 274
- #define EXIT 275
- #define NEXT 276
- #define BREAK 277
- #define CONTINUE 278
- #define RET 279
- #define GETLINE 280
- #define DO 281
- #define SUB 282
- #define GSUB 283
- #define MATCH 284
- #define FUNCTION 285
- #define USERFUN 286
- #define DELETE 287
- #define ASGNOP 288
- #define OROR 289
- #define ANDAND 290
- #define NUMBER 291
- #define VAR 292
- #define SUBSTR 293
- #define INDEX 294
- #define MATCHOP 295
- #define RELOP 296
- #define OR 297
- #define STRING 298
- #define UMINUS 299
- #define NOT 300
- #define INCR 301
- #define DECR 302
- #define FIELD 303
- #define VFIELD 304
- #define YYERRCODE 256
- short yylhs[] = { -1,
- 0, 3, 6, 6, 2, 2, 7, 7, 7, 7,
- 7, 7, 9, 8, 8, 11, 11, 11, 11, 11,
- 15, 15, 15, 15, 14, 14, 14, 14, 13, 13,
- 13, 13, 12, 12, 12, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 17, 17, 17, 17, 10, 10, 10, 18, 18,
- 18, 1, 1, 19, 19, 19, 19, 4, 4, 20,
- 20, 21, 21, 21, 21, 5, 5, 22, 22, 22,
- 22, 25, 25, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 26, 26, 26, 24,
- 24, 24, 24, 24, 24, 24, 24,
- };
- short yylen[] = { 2,
- 2, 6, 5, 2, 3, 0, 1, 5, 10, 4,
- 1, 1, 1, 1, 3, 1, 1, 1, 1, 5,
- 3, 4, 4, 2, 3, 3, 3, 3, 3, 3,
- 1, 3, 1, 2, 3, 1, 1, 1, 3, 3,
- 3, 3, 3, 3, 3, 5, 2, 2, 2, 2,
- 2, 2, 3, 1, 2, 3, 4, 3, 4, 1,
- 3, 4, 4, 4, 2, 8, 6, 8, 8, 6,
- 6, 6, 6, 6, 6, 6, 6, 8, 8, 8,
- 8, 1, 4, 1, 2, 1, 1, 0, 4, 4,
- 3, 2, 0, 1, 1, 1, 1, 2, 0, 1,
- 1, 2, 2, 2, 2, 2, 0, 3, 2, 2,
- 1, 1, 0, 1, 4, 2, 4, 2, 1, 1,
- 1, 2, 1, 1, 2, 5, 1, 1, 1, 6,
- 9, 6, 7, 10, 9, 6, 5,
- };
- short yydefred[] = { 93,
- 0, 0, 95, 96, 97, 94, 0, 92, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 37, 0, 0, 0, 38, 0, 0, 0, 0,
- 0, 84, 0, 99, 0, 11, 0, 93, 0, 0,
- 0, 17, 18, 19, 0, 0, 99, 99, 0, 0,
- 0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24, 49,
- 50, 0, 0, 0, 0, 0, 0, 4, 0, 99,
- 0, 99, 99, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 47, 48,
- 0, 0, 61, 0, 0, 0, 0, 99, 99, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 100, 101, 0, 98, 53, 32, 28, 21,
- 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
- 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 62, 63, 91, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 13, 64, 83, 0, 0, 99,
- 0, 0, 0, 0, 0, 0, 120, 119, 123, 0,
- 99, 0, 99, 10, 99, 0, 106, 0, 111, 0,
- 0, 0, 22, 59, 93, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 99, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 99, 99, 99, 99, 99, 8, 0, 0, 70, 0,
- 75, 0, 74, 0, 77, 0, 76, 0, 72, 73,
- 0, 67, 0, 71, 128, 127, 129, 0, 0, 0,
- 0, 0, 112, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 99, 0,
- 0, 0, 99, 99, 99, 0, 0, 0, 99, 69,
- 68, 79, 78, 81, 80, 0, 66, 0, 0, 0,
- 0, 0, 0, 126, 0, 0, 0, 132, 136, 0,
- 0, 0, 9, 99, 99, 0, 133, 0, 0, 99,
- 131, 135, 0, 134,
- };
- short yydgoto[] = { 1,
- 2, 7, 36, 73, 125, 37, 38, 39, 164, 52,
- 53, 41, 42, 43, 44, 45, 46, 55, 8, 126,
- 225, 187, 188, 189, 254, 248,
- };
- short yysindex[] = { 0,
- 0, -48, 0, 0, 0, 0, 6619, 0, -121, -110,
- 0, -4, 32, 4183, 38, 30, 51, 64, 68, -260,
- 70, 0, -61, 82, 83, 0, 4448, 4448, 4448, -183,
- -183, 0, 4448, 0, 4448, 0, -188, 0, 3, 22,
- 6884, 0, 0, 0, 34, -213, 0, 0, 2061, 4183,
- 4183, 0, -49, 5612, 85, 4448, 4448, 14, 4713, 6753,
- 4448, 87, 4183, 4183, 4448, 4448, -77, -77, 0, 0,
- 0, 18, -192, -36, 91, 92, 95, 0, -48, 0,
- 4448, 0, 0, 4448, 6980, 4448, 4448, 4448, 34, -154,
- 4448, 4448, 4448, 4448, 4448, 4448, -135, 4448, 0, 0,
- -192, -192, 0, 5658, 106, 5612, 11, 0, 0, 5704,
- 186, 4448, 113, 5751, 115, 5805, 5885, 4183, 114, 67,
- 5931, 5978, 0, 0, 4572, 0, 0, 0, 0, 0,
- -192, 6032, 1964, 1964, -49, 0, 3230, 186, 186, 186,
- 0, 97, 97, -77, -77, -77, -77, -183, -49, 4665,
- 4765, 0, 0, 0, 1964, 1964, -131, 186, 4448, 4448,
- 4448, 4448, 7026, 121, 0, 0, 0, 4448, 4448, 0,
- 4183, 4183, 124, 125, 132, 4448, 0, 0, 0, 4448,
- 0, -117, 0, 0, 0, 6884, 0, -44, 0, 4837,
- 4448, -114, 0, 0, 0, 0, 6884, 6884, 13, 3635,
- 5295, 5367, 5506, 137, 6078, 0, 5560, 6243, -192, -59,
- -59, 4448, 4448, 5241, 6884, 6884, 3701, 93, -192, -192,
- 0, 0, 0, 0, 0, 0, 6884, -48, 0, 7084,
- 0, 4448, 0, 4448, 0, 4448, 0, 4448, 0, 0,
- -119, 0, 4448, 0, 0, 0, 0, 4448, 4448, -34,
- -16, 6343, 0, 123, -89, 4183, 4930, -192, -192, -192,
- -192, -192, 144, 6389, 6435, 6508, 6554, 6700, 0, 6819,
- 6884, 6884, 0, 0, 0, 6930, 146, 94, 0, 0,
- 0, 0, 0, 0, 0, -192, 0, 3701, 3701, 3701,
- 5241, -53, 4448, 0, -192, 5030, -83, 0, 0, 148,
- 5241, -13, 0, 0, 0, 149, 0, 3701, 3701, 0,
- 0, 0, 3701, 0,
- };
- short yyrindex[] = { 0,
- 0, 2015, 0, 0, 0, 0, 192, 0, 0, 0,
- 0, 56, 0, 3424, 0, 2619, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2147, 0, 2195, 1676,
- 3509, 0, 0, 0, 1782, 1340, 0, 0, 0, 152,
- 0, 0, 0, 3829, 111, 0, 0, 381, 0, 0,
- 0, 0, 152, 101, 0, 0, 564, 834, 0, 0,
- 0, 436, 5102, 0, -47, 39, 42, 0, 2245, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1830, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 5102, 5102, 0, 72, 0, 17, 0, 0, 0, 72,
- 2718, 0, 74, 72, 74, 72, 72, 152, 0, 0,
- 72, 72, 0, 0, 0, 0, 0, 0, 0, 0,
- 5102, 72, 0, 0, 1882, 0, 3464, 3057, 3097, 3145,
- 0, 1468, 1734, 888, 942, 1016, 1286, 2564, 1395, 0,
- 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 538, 538, 0, 0, 0, 122, 0, 0, 0, 241,
- 0, 0, 0, 0, 0, -41, 0, 0, 0, 0,
- 0, 491, 0, 0, 0, 0, 3549, 3594, 0, 72,
- 72, 72, 72, 74, 72, 0, 72, 72, 3866, 296,
- 357, 0, 0, 136, -10, 169, 0, 0, 5102, 3970,
- 0, 0, 0, 0, 0, 0, 3784, 2294, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -51, 0, 0, 0, 101, 0, 4038, 4135, 4235,
- 4307, 4400, 74, 72, 72, 72, 72, 72, 0, 72,
- 507, 553, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 5102, 0, 0, 0, 0,
- 155, 0, 0, 0, 4500, 0, 5195, 0, 0, 0,
- 155, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,
- };
- short yygindex[] = { 0,
- -18, 0, 0, 7251, -19, 0, 0, 0, 0, -31,
- 33, 2875, -14, -12, 16, 7373, 76, 147, 0, 0,
- 0, 231, -205, 0, -267, -9,
- };
- #define YYTABLESIZE 7645
- short yytable[] = { 114,
- 82, 47, 246, 269, 127, 301, 273, 114, 253, 81,
- 6, 16, 48, 81, 224, 17, 96, 114, 105, 79,
- 75, 16, 76, 300, 274, 62, 81, 307, 81, 64,
- 122, 119, 120, 306, 97, 49, 75, 82, 76, 40,
- 82, 82, 82, 82, 82, 82, 81, 82, 122, 81,
- 77, 154, 16, 229, 109, 60, 230, 16, 82, 82,
- 82, 69, 82, 82, 247, 84, 77, 74, 123, 124,
- 95, 50, 78, 112, 98, 93, 91, 56, 92, 16,
- 94, 150, 151, 74, 81, 253, 165, 99, 100, 57,
- 59, 58, 60, 82, 82, 253, 60, 60, 60, 60,
- 60, 18, 60, 60, 19, 70, 71, 61, 23, 63,
- 87, 190, 82, 60, 60, 60, 135, 60, 60, 32,
- 33, 65, 66, 82, 82, 80, 118, 96, 109, 97,
- 149, 128, 129, 95, 16, 130, 31, 141, 93, 210,
- 211, 123, 124, 94, 148, 97, 153, 87, 60, 60,
- 87, 87, 87, 87, 166, 87, 159, 87, 161, 167,
- 199, 206, 121, 212, 213, 192, 193, 60, 87, 87,
- 87, 214, 87, 87, 218, 83, 228, 239, 60, 60,
- 121, 276, 277, 256, 280, 293, 294, 304, 305, 310,
- 96, 1, 88, 88, 113, 113, 0, 107, 0, 257,
- 0, 249, 0, 87, 87, 245, 0, 0, 97, 125,
- 0, 3, 4, 5, 0, 221, 222, 223, 114, 114,
- 114, 0, 87, 194, 278, 35, 0, 125, 27, 0,
- 28, 16, 0, 87, 87, 82, 83, 16, 16, 82,
- 83, 17, 17, 0, 250, 251, 0, 16, 16, 122,
- 122, 122, 82, 83, 82, 83, 0, 82, 82, 82,
- 82, 82, 82, 82, 82, 82, 296, 0, 82, 82,
- 0, 0, 82, 83, 82, 82, 83, 0, 16, 16,
- 82, 124, 82, 82, 82, 82, 82, 0, 82, 82,
- 82, 82, 82, 82, 82, 82, 82, 0, 82, 124,
- 82, 82, 82, 82, 82, 16, 16, 90, 292, 0,
- 82, 83, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 23, 0, 60, 60, 302, 0, 18, 18, 60,
- 19, 19, 32, 33, 0, 60, 116, 60, 60, 60,
- 60, 60, 0, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 0, 60, 116, 60, 60, 60, 60, 60,
- 16, 16, 31, 31, 0, 0, 0, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 0, 0, 87, 87,
- 55, 121, 121, 121, 87, 0, 0, 0, 0, 0,
- 87, 0, 87, 87, 87, 87, 87, 118, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 0, 87, 0,
- 87, 87, 87, 87, 87, 118, 0, 55, 0, 0,
- 55, 55, 55, 55, 55, 55, 0, 55, 125, 125,
- 125, 0, 0, 0, 0, 85, 0, 0, 55, 55,
- 0, 0, 55, 55, 11, 0, 0, 255, 12, 13,
- 0, 0, 0, 14, 15, 0, 0, 16, 16, 0,
- 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
- 0, 21, 85, 55, 55, 33, 85, 85, 85, 85,
- 85, 0, 85, 26, 0, 29, 30, 31, 32, 33,
- 23, 0, 55, 85, 85, 33, 0, 33, 33, 0,
- 124, 124, 124, 55, 55, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 297, 298,
- 299, 0, 0, 0, 0, 0, 0, 23, 85, 85,
- 23, 23, 23, 23, 23, 23, 0, 23, 311, 312,
- 0, 0, 0, 314, 0, 0, 0, 115, 23, 23,
- 23, 0, 23, 23, 0, 116, 116, 116, 85, 85,
- 0, 0, 0, 52, 0, 115, 0, 0, 0, 16,
- 0, 0, 0, 0, 0, 0, 0, 0, 88, 0,
- 0, 0, 0, 23, 23, 0, 0, 0, 0, 0,
- 0, 0, 0, 117, 0, 0, 88, 0, 0, 88,
- 52, 0, 23, 33, 52, 52, 52, 52, 52, 0,
- 52, 117, 0, 23, 23, 16, 118, 118, 118, 0,
- 0, 52, 52, 33, 0, 33, 33, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 55, 55, 55,
- 55, 55, 55, 55, 55, 55, 0, 0, 55, 55,
- 0, 0, 0, 0, 55, 0, 52, 0, 0, 0,
- 55, 88, 55, 55, 55, 55, 55, 0, 55, 55,
- 55, 55, 55, 55, 55, 55, 55, 0, 55, 0,
- 55, 55, 55, 55, 55, 0, 52, 52, 0, 0,
- 0, 0, 85, 85, 33, 85, 85, 85, 33, 33,
- 85, 0, 0, 33, 33, 0, 0, 0, 0, 85,
- 0, 0, 0, 0, 0, 33, 0, 33, 33, 33,
- 85, 33, 0, 85, 33, 33, 33, 33, 33, 33,
- 33, 33, 0, 33, 0, 33, 33, 33, 33, 33,
- 0, 0, 0, 0, 0, 0, 0, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 0, 0, 23, 23,
- 0, 0, 0, 0, 23, 0, 115, 115, 115, 0,
- 23, 0, 23, 23, 23, 23, 23, 0, 23, 23,
- 0, 23, 23, 23, 23, 23, 23, 0, 23, 0,
- 23, 23, 23, 23, 23, 16, 16, 88, 88, 88,
- 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 117, 117, 117, 0, 0, 0, 0, 0,
- 52, 52, 33, 52, 52, 52, 33, 33, 52, 0,
- 0, 33, 33, 51, 0, 0, 0, 52, 0, 0,
- 0, 16, 16, 33, 0, 33, 33, 33, 52, 33,
- 0, 52, 33, 33, 33, 33, 33, 33, 33, 33,
- 0, 33, 0, 33, 33, 33, 33, 33, 0, 0,
- 51, 0, 0, 33, 51, 51, 51, 51, 51, 0,
- 51, 0, 0, 0, 0, 0, 0, 41, 0, 0,
- 0, 51, 51, 33, 0, 33, 33, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 41, 0, 51, 33, 41, 41,
- 41, 41, 41, 0, 41, 0, 0, 0, 0, 0,
- 0, 42, 0, 0, 0, 41, 41, 33, 0, 33,
- 33, 0, 0, 0, 0, 0, 51, 51, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 42, 0,
- 41, 33, 42, 42, 42, 42, 42, 0, 42, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,
- 42, 33, 0, 33, 33, 0, 0, 0, 0, 0,
- 41, 41, 0, 0, 0, 43, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 42, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 43, 0, 0, 33, 43, 43, 43, 43,
- 43, 0, 43, 0, 42, 42, 0, 0, 0, 0,
- 0, 0, 0, 43, 43, 33, 0, 33, 33, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 51, 33, 51, 51, 51, 33, 33, 51, 0,
- 0, 33, 33, 0, 0, 0, 0, 51, 43, 0,
- 0, 0, 0, 33, 0, 33, 33, 33, 51, 33,
- 0, 51, 33, 33, 33, 33, 33, 33, 33, 33,
- 0, 33, 0, 33, 33, 33, 33, 33, 43, 43,
- 0, 0, 0, 0, 41, 41, 33, 41, 41, 41,
- 33, 33, 41, 0, 0, 33, 33, 0, 0, 0,
- 0, 41, 0, 0, 0, 0, 0, 33, 0, 33,
- 33, 33, 41, 33, 0, 41, 33, 33, 33, 33,
- 33, 33, 33, 33, 0, 33, 0, 33, 33, 33,
- 33, 33, 0, 0, 0, 0, 0, 0, 42, 42,
- 33, 42, 42, 42, 33, 33, 42, 0, 0, 33,
- 33, 0, 0, 0, 0, 42, 0, 0, 0, 0,
- 0, 33, 0, 33, 33, 33, 42, 33, 0, 42,
- 33, 33, 33, 33, 33, 33, 33, 33, 0, 33,
- 0, 33, 33, 33, 33, 33, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 43, 43, 33, 43, 43, 43, 33, 33,
- 43, 0, 0, 33, 33, 44, 0, 0, 0, 43,
- 0, 0, 0, 0, 0, 33, 0, 33, 33, 33,
- 43, 33, 0, 43, 33, 33, 33, 33, 33, 33,
- 33, 33, 0, 33, 0, 33, 33, 33, 33, 33,
- 0, 0, 44, 0, 0, 33, 44, 44, 44, 44,
- 44, 0, 44, 0, 0, 0, 0, 0, 0, 36,
- 0, 0, 0, 44, 44, 33, 0, 33, 33, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 36, 0, 44, 36,
- 36, 36, 36, 36, 36, 0, 36, 0, 0, 0,
- 0, 0, 0, 0, 35, 0, 0, 36, 36, 36,
- 0, 36, 36, 0, 0, 0, 0, 0, 44, 44,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 35, 36, 36, 35, 35, 35, 35, 35, 35,
- 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 36, 35, 35, 35, 0, 35, 0, 0, 0,
- 0, 0, 36, 36, 0, 0, 0, 39, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 35, 35, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 35, 33, 39, 0,
- 39, 39, 39, 0, 0, 0, 0, 35, 35, 0,
- 0, 0, 0, 0, 0, 39, 39, 33, 0, 33,
- 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 44, 44, 33, 44, 44, 44, 33, 33,
- 44, 0, 0, 33, 33, 0, 0, 0, 0, 44,
- 39, 0, 0, 0, 0, 33, 0, 33, 33, 33,
- 44, 33, 0, 44, 33, 33, 33, 33, 33, 33,
- 33, 33, 0, 33, 0, 33, 33, 33, 33, 33,
- 39, 39, 0, 0, 0, 0, 36, 36, 36, 36,
- 36, 36, 36, 36, 36, 0, 0, 36, 36, 0,
- 0, 0, 0, 36, 0, 0, 0, 0, 0, 36,
- 0, 36, 36, 36, 36, 36, 0, 0, 36, 36,
- 36, 36, 36, 36, 36, 36, 0, 36, 0, 36,
- 0, 0, 36, 36, 0, 0, 0, 0, 0, 0,
- 0, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 0, 0, 35, 35, 0, 0, 0, 0, 35, 0,
- 0, 0, 0, 0, 35, 14, 35, 35, 35, 35,
- 35, 0, 35, 0, 0, 35, 35, 35, 35, 35,
- 35, 0, 35, 0, 35, 35, 35, 35, 35, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 14, 0, 0, 14, 0,
- 14, 0, 0, 0, 39, 39, 33, 39, 39, 39,
- 33, 33, 39, 40, 14, 33, 33, 0, 0, 0,
- 0, 39, 0, 0, 0, 0, 0, 33, 0, 33,
- 33, 33, 39, 33, 0, 39, 33, 33, 33, 33,
- 33, 33, 33, 33, 0, 33, 0, 33, 33, 33,
- 33, 33, 0, 33, 40, 0, 40, 40, 40, 0,
- 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 40, 40, 33, 0, 33, 33, 0, 14, 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, 0, 33, 40, 0, 0, 34,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,
- 33, 33, 0, 33, 33, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 40, 40, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,
- 34, 0, 0, 34, 33, 0, 0, 0, 0, 0,
- 0, 15, 0, 0, 0, 0, 0, 34, 34, 33,
- 0, 33, 33, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 33, 33, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 15, 34, 0, 15, 0, 15, 0, 0, 0,
- 0, 0, 14, 14, 14, 14, 14, 14, 14, 14,
- 15, 0, 0, 14, 14, 0, 0, 0, 0, 0,
- 0, 0, 34, 34, 0, 14, 0, 14, 14, 14,
- 14, 14, 0, 0, 0, 0, 14, 14, 14, 14,
- 0, 0, 0, 14, 0, 14, 14, 14, 14, 14,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40, 40, 33, 40, 40, 40, 33, 33, 40, 0,
- 0, 33, 33, 35, 15, 0, 27, 40, 28, 0,
- 0, 0, 0, 33, 6, 33, 33, 33, 40, 33,
- 0, 40, 33, 33, 33, 33, 33, 33, 33, 33,
- 0, 33, 0, 33, 33, 33, 33, 33, 33, 33,
- 33, 33, 33, 33, 33, 33, 33, 0, 0, 33,
- 33, 0, 0, 0, 6, 0, 0, 6, 0, 6,
- 0, 33, 0, 33, 33, 33, 33, 33, 0, 33,
- 33, 33, 33, 33, 33, 33, 33, 33, 0, 33,
- 0, 33, 33, 33, 33, 33, 34, 34, 33, 34,
- 34, 34, 33, 33, 34, 0, 0, 33, 33, 0,
- 35, 103, 0, 27, 0, 28, 0, 0, 0, 33,
- 0, 33, 33, 33, 34, 33, 0, 34, 33, 33,
- 33, 33, 33, 33, 33, 33, 0, 33, 0, 33,
- 33, 33, 33, 33, 0, 0, 0, 6, 15, 15,
- 15, 15, 15, 15, 15, 15, 12, 0, 0, 15,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 15, 0, 15, 15, 15, 15, 15, 0, 0,
- 0, 0, 15, 15, 15, 15, 0, 0, 0, 15,
- 0, 15, 15, 15, 15, 15, 12, 0, 0, 12,
- 0, 12, 0, 0, 7, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 12, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 11, 0, 123, 124, 12, 13, 0, 0,
- 0, 14, 15, 0, 7, 0, 0, 7, 0, 7,
- 0, 0, 0, 16, 5, 17, 18, 19, 0, 21,
- 0, 0, 0, 7, 22, 23, 24, 25, 0, 0,
- 0, 26, 0, 29, 30, 31, 32, 33, 0, 12,
- 0, 6, 6, 6, 0, 0, 0, 6, 6, 0,
- 0, 0, 6, 6, 5, 0, 0, 5, 0, 5,
- 0, 0, 0, 2, 6, 0, 6, 6, 6, 6,
- 6, 0, 0, 0, 0, 6, 6, 6, 6, 0,
- 0, 0, 6, 0, 6, 6, 6, 6, 6, 11,
- 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
- 0, 0, 0, 2, 0, 0, 2, 0, 2, 0,
- 16, 0, 17, 18, 19, 0, 21, 0, 0, 0,
- 0, 22, 23, 24, 25, 0, 0, 0, 26, 0,
- 29, 30, 31, 32, 33, 0, 0, 5, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 12, 12, 12, 12, 0, 12, 12,
- 12, 0, 0, 0, 12, 12, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 12, 0, 12, 12,
- 12, 12, 12, 0, 0, 0, 0, 12, 12, 12,
- 12, 0, 0, 0, 12, 0, 12, 12, 12, 12,
- 12, 7, 7, 7, 7, 7, 7, 7, 7, 0,
- 0, 0, 7, 7, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 7, 7, 7, 7,
- 7, 0, 0, 0, 0, 7, 7, 7, 7, 0,
- 0, 0, 7, 0, 7, 7, 7, 7, 7, 0,
- 0, 5, 5, 5, 0, 0, 0, 5, 5, 0,
- 0, 0, 5, 5, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 5, 5, 5, 5,
- 5, 0, 0, 0, 0, 5, 5, 5, 5, 0,
- 0, 0, 5, 0, 5, 5, 5, 5, 5, 0,
- 2, 2, 2, 0, 0, 0, 2, 2, 0, 0,
- 0, 2, 2, 58, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2, 0, 2, 2, 2, 2, 2,
- 0, 0, 0, 0, 2, 2, 2, 2, 0, 0,
- 0, 2, 0, 2, 2, 2, 2, 2, 0, 0,
- 58, 0, 0, 58, 58, 58, 58, 58, 58, 0,
- 58, 0, 0, 0, 0, 0, 0, 0, 54, 0,
- 0, 58, 58, 58, 0, 58, 58, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 54, 58, 58, 54, 54,
- 54, 54, 54, 54, 0, 54, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 58, 54, 54, 0, 0,
- 54, 54, 0, 0, 0, 0, 58, 58, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 54, 54, 0, 0, 0, 0, 56, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 54, 54, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56, 0, 0, 0, 56, 56,
- 0, 56, 0, 0, 56, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 56, 56, 56, 0, 56,
- 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56, 56, 0, 0, 0, 0, 0, 0, 0, 0,
- 58, 58, 58, 58, 58, 58, 58, 58, 58, 56,
- 0, 58, 58, 0, 0, 0, 0, 58, 0, 0,
- 56, 56, 0, 58, 0, 58, 58, 58, 58, 58,
- 0, 58, 58, 58, 58, 0, 58, 58, 58, 58,
- 0, 58, 0, 58, 58, 58, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 0, 0, 54, 54, 54, 0,
- 0, 0, 54, 0, 0, 0, 0, 0, 54, 0,
- 54, 54, 54, 54, 54, 0, 54, 54, 54, 54,
- 0, 54, 54, 54, 54, 0, 54, 0, 54, 54,
- 54, 0, 0, 104, 54, 106, 0, 0, 0, 0,
- 110, 111, 0, 114, 116, 117, 0, 54, 54, 121,
- 122, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 132, 0, 0, 0, 137,
- 138, 139, 140, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56, 56, 0, 56, 56, 56,
- 0, 0, 56, 0, 0, 0, 158, 0, 0, 0,
- 0, 56, 54, 0, 0, 0, 0, 0, 0, 186,
- 0, 0, 56, 0, 0, 56, 16, 16, 56, 56,
- 56, 56, 56, 56, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 186, 186, 0, 0, 0, 197,
- 198, 0, 0, 200, 201, 202, 203, 205, 0, 0,
- 0, 0, 207, 208, 0, 54, 54, 0, 0, 0,
- 215, 0, 0, 0, 216, 0, 25, 0, 0, 0,
- 0, 0, 0, 0, 186, 227, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 252, 0,
- 0, 186, 0, 25, 0, 0, 27, 25, 25, 0,
- 25, 0, 0, 25, 264, 0, 265, 0, 266, 0,
- 267, 0, 268, 0, 25, 25, 25, 270, 25, 16,
- 0, 0, 271, 272, 0, 0, 0, 0, 0, 0,
- 54, 186, 0, 27, 0, 0, 0, 27, 27, 0,
- 27, 0, 0, 27, 26, 0, 0, 0, 0, 25,
- 25, 0, 0, 0, 27, 27, 27, 0, 27, 16,
- 0, 0, 186, 186, 186, 186, 0, 0, 25, 0,
- 186, 0, 0, 0, 0, 186, 0, 0, 0, 25,
- 25, 26, 186, 186, 57, 26, 26, 186, 26, 27,
- 27, 26, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 26, 26, 26, 0, 26, 16, 27, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,
- 27, 57, 0, 0, 0, 57, 57, 0, 57, 0,
- 0, 57, 0, 0, 0, 0, 0, 26, 26, 0,
- 0, 0, 57, 57, 57, 0, 57, 16, 0, 0,
- 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 26, 26, 35,
- 0, 0, 27, 0, 28, 0, 0, 57, 57, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
- 0, 88, 0, 0, 0, 0, 57, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 57, 57, 0,
- 0, 0, 0, 25, 25, 0, 25, 25, 25, 0,
- 0, 25, 0, 0, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 25, 0, 0, 25, 16, 16, 25, 25, 25,
- 25, 25, 25, 27, 27, 0, 27, 27, 27, 0,
- 0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
- 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 27, 0, 0, 27, 16, 16, 27, 27, 27,
- 27, 27, 27, 0, 0, 0, 0, 0, 0, 0,
- 0, 26, 26, 0, 26, 26, 26, 0, 0, 26,
- 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
- 0, 0, 0, 88, 0, 0, 0, 0, 0, 26,
- 0, 0, 26, 16, 16, 26, 26, 26, 26, 26,
- 26, 57, 57, 0, 57, 57, 57, 0, 0, 57,
- 0, 0, 0, 0, 0, 0, 0, 0, 57, 0,
- 88, 0, 0, 29, 88, 88, 0, 88, 0, 57,
- 88, 0, 57, 16, 16, 57, 57, 57, 57, 57,
- 57, 88, 88, 88, 0, 88, 88, 0, 11, 0,
- 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
- 29, 0, 0, 0, 29, 29, 0, 29, 16, 16,
- 29, 17, 18, 19, 0, 21, 88, 88, 0, 0,
- 0, 29, 29, 0, 0, 86, 16, 26, 0, 29,
- 30, 31, 32, 33, 0, 88, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 16, 88, 88, 89, 16,
- 16, 0, 16, 0, 0, 16, 29, 29, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 16, 0, 0,
- 0, 16, 0, 0, 0, 29, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 89, 29, 29, 0, 89,
- 89, 0, 89, 90, 0, 89, 0, 0, 0, 0,
- 0, 16, 16, 0, 0, 0, 89, 89, 0, 0,
- 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 90, 16, 16, 0, 90, 90, 0, 90, 0, 0,
- 90, 89, 89, 0, 0, 0, 0, 0, 0, 0,
- 0, 90, 90, 0, 0, 0, 16, 0, 0, 0,
- 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 89, 89, 0, 35, 231, 0, 27, 232, 28,
- 88, 88, 0, 88, 88, 88, 90, 90, 88, 0,
- 0, 0, 0, 0, 87, 0, 88, 88, 0, 0,
- 0, 0, 0, 0, 0, 90, 0, 0, 88, 0,
- 0, 88, 88, 88, 0, 0, 90, 90, 88, 88,
- 29, 29, 0, 29, 29, 29, 0, 0, 29, 0,
- 0, 0, 0, 0, 0, 0, 0, 29, 0, 0,
- 35, 0, 0, 27, 0, 28, 0, 0, 29, 0,
- 0, 29, 16, 16, 29, 29, 29, 29, 29, 185,
- 0, 0, 0, 0, 0, 16, 16, 0, 16, 16,
- 16, 0, 0, 16, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 20, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 0, 16, 16, 16, 0,
- 0, 0, 0, 0, 0, 89, 89, 0, 89, 89,
- 89, 0, 0, 89, 0, 0, 0, 0, 0, 0,
- 20, 0, 89, 183, 20, 20, 0, 20, 86, 0,
- 20, 0, 0, 89, 0, 0, 89, 16, 16, 0,
- 0, 20, 20, 0, 0, 0, 16, 0, 0, 0,
- 90, 90, 0, 90, 90, 90, 0, 0, 90, 0,
- 0, 0, 0, 0, 0, 86, 0, 90, 0, 86,
- 86, 0, 0, 0, 0, 86, 20, 20, 90, 0,
- 0, 90, 16, 16, 0, 0, 86, 86, 0, 0,
- 0, 16, 0, 11, 0, 20, 0, 12, 13, 0,
- 0, 0, 14, 15, 0, 110, 20, 20, 110, 0,
- 110, 0, 0, 0, 16, 0, 17, 18, 19, 0,
- 21, 86, 86, 0, 110, 22, 23, 24, 25, 85,
- 86, 0, 26, 0, 29, 30, 31, 32, 33, 0,
- 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 86, 86, 0, 0, 0, 0, 0, 0, 11,
- 170, 123, 124, 12, 13, 0, 171, 172, 14, 15,
- 173, 0, 174, 175, 0, 176, 177, 178, 179, 180,
- 16, 181, 17, 18, 19, 0, 21, 182, 110, 0,
- 110, 22, 23, 24, 25, 0, 0, 0, 26, 0,
- 29, 30, 31, 32, 33, 0, 0, 0, 0, 109,
- 0, 0, 109, 0, 109, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 109, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 20, 20, 0, 20, 20, 20, 0, 0, 20, 0,
- 0, 0, 0, 0, 0, 0, 0, 20, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 20, 0,
- 0, 20, 16, 16, 0, 0, 0, 103, 0, 0,
- 103, 0, 103, 0, 0, 86, 86, 0, 86, 86,
- 86, 0, 109, 86, 109, 0, 103, 0, 0, 0,
- 0, 0, 86, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 86, 0, 0, 86, 16, 16, 0,
- 0, 0, 0, 0, 110, 110, 0, 0, 110, 110,
- 0, 110, 110, 110, 110, 110, 110, 110, 110, 0,
- 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
- 0, 110, 110, 0, 0, 0, 110, 110, 110, 110,
- 103, 0, 103, 110, 0, 110, 110, 110, 110, 110,
- 0, 0, 0, 0, 104, 0, 0, 104, 0, 104,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 104, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 51, 0, 0, 27, 0, 28, 109, 109,
- 0, 0, 109, 109, 0, 109, 109, 109, 109, 109,
- 109, 109, 109, 0, 109, 109, 109, 109, 109, 109,
- 109, 109, 109, 109, 0, 109, 109, 104, 0, 104,
- 109, 109, 109, 109, 0, 0, 0, 109, 0, 109,
- 109, 109, 109, 109, 105, 0, 0, 105, 0, 105,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 105, 0, 0, 103, 103, 0, 0,
- 103, 103, 0, 103, 103, 103, 103, 103, 103, 103,
- 103, 0, 103, 103, 103, 103, 103, 103, 103, 103,
- 103, 103, 0, 103, 103, 0, 0, 0, 103, 103,
- 103, 103, 0, 0, 0, 103, 0, 103, 103, 103,
- 103, 103, 0, 0, 0, 0, 102, 0, 0, 102,
- 0, 102, 0, 0, 0, 0, 0, 105, 0, 105,
- 0, 0, 0, 0, 0, 102, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 104, 104, 0, 0, 104, 104, 0,
- 104, 104, 104, 104, 104, 104, 104, 104, 0, 104,
- 104, 104, 104, 104, 104, 104, 104, 104, 104, 0,
- 104, 104, 0, 0, 0, 104, 104, 104, 104, 102,
- 0, 102, 104, 0, 104, 104, 104, 104, 104, 108,
- 0, 11, 108, 0, 108, 12, 13, 0, 0, 0,
- 14, 15, 0, 0, 0, 0, 0, 0, 108, 0,
- 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
- 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
- 26, 0, 29, 30, 31, 32, 33, 35, 0, 0,
- 27, 0, 28, 105, 105, 0, 0, 105, 105, 0,
- 105, 105, 105, 105, 105, 105, 105, 105, 0, 105,
- 105, 105, 105, 105, 105, 105, 105, 105, 105, 0,
- 105, 105, 108, 0, 108, 105, 105, 105, 105, 0,
- 0, 0, 105, 0, 105, 105, 105, 105, 105, 137,
- 0, 0, 137, 0, 137, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 137, 0,
- 0, 0, 0, 0, 0, 102, 102, 0, 0, 102,
- 102, 0, 102, 102, 102, 102, 102, 102, 102, 102,
- 0, 102, 102, 102, 102, 102, 102, 102, 102, 102,
- 102, 0, 102, 102, 0, 0, 0, 102, 102, 102,
- 102, 0, 0, 0, 102, 0, 102, 102, 102, 102,
- 102, 35, 0, 0, 27, 0, 28, 0, 0, 0,
- 0, 0, 137, 0, 137, 0, 0, 0, 0, 0,
- 185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 108, 108,
- 0, 0, 108, 108, 0, 108, 108, 108, 108, 108,
- 108, 108, 108, 0, 108, 108, 108, 108, 108, 108,
- 108, 108, 108, 108, 0, 108, 108, 0, 0, 0,
- 108, 108, 108, 108, 183, 0, 184, 108, 0, 108,
- 108, 108, 108, 108, 35, 0, 11, 27, 0, 28,
- 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
- 0, 0, 0, 185, 0, 0, 0, 16, 0, 17,
- 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 29, 30, 31,
- 32, 33, 35, 0, 0, 27, 0, 28, 137, 137,
- 0, 0, 137, 137, 0, 137, 137, 137, 137, 137,
- 137, 137, 137, 0, 137, 137, 137, 137, 137, 137,
- 137, 137, 137, 137, 0, 137, 137, 183, 0, 195,
- 137, 137, 137, 137, 0, 0, 0, 137, 0, 137,
- 137, 137, 137, 137, 35, 0, 0, 27, 0, 28,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 185, 0, 0, 0, 0, 0, 0,
- 11, 170, 0, 0, 12, 13, 0, 171, 172, 14,
- 15, 173, 0, 174, 175, 0, 176, 177, 178, 179,
- 180, 16, 181, 17, 18, 19, 0, 21, 182, 0,
- 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
- 0, 29, 30, 31, 32, 33, 35, 0, 0, 27,
- 0, 28, 0, 0, 0, 0, 0, 183, 0, 196,
- 0, 0, 0, 0, 0, 185, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 11, 170, 0, 0, 12, 13, 0,
- 171, 172, 14, 15, 173, 0, 174, 175, 0, 176,
- 177, 178, 179, 180, 16, 181, 17, 18, 19, 0,
- 21, 182, 0, 0, 0, 22, 23, 24, 25, 183,
- 0, 226, 26, 0, 29, 30, 31, 32, 33, 35,
- 0, 113, 27, 0, 28, 12, 13, 0, 0, 0,
- 14, 15, 0, 0, 0, 0, 0, 0, 185, 0,
- 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
- 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
- 26, 0, 29, 30, 31, 32, 33, 0, 0, 0,
- 0, 0, 0, 11, 170, 0, 0, 12, 13, 0,
- 171, 172, 14, 15, 173, 0, 174, 175, 0, 176,
- 177, 178, 179, 180, 16, 181, 17, 18, 19, 0,
- 21, 182, 183, 0, 279, 22, 23, 24, 25, 0,
- 0, 0, 26, 0, 29, 30, 31, 32, 33, 35,
- 0, 0, 27, 0, 28, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 185, 0,
- 0, 0, 0, 0, 0, 11, 170, 0, 0, 12,
- 13, 0, 171, 172, 14, 15, 173, 0, 174, 175,
- 0, 176, 177, 178, 179, 180, 16, 181, 17, 18,
- 19, 0, 21, 182, 0, 0, 0, 22, 23, 24,
- 25, 0, 0, 0, 26, 0, 29, 30, 31, 32,
- 33, 107, 0, 0, 107, 0, 107, 0, 0, 0,
- 0, 0, 183, 0, 303, 0, 0, 0, 0, 0,
- 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 11, 170,
- 0, 0, 12, 13, 0, 171, 172, 14, 15, 173,
- 0, 174, 175, 0, 176, 177, 178, 179, 180, 16,
- 181, 17, 18, 19, 0, 21, 182, 0, 0, 0,
- 22, 23, 24, 25, 107, 0, 107, 26, 0, 29,
- 30, 31, 32, 33, 130, 0, 0, 130, 0, 130,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 130, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 35, 0, 0, 27, 0, 28, 0, 0, 11, 170,
- 0, 0, 12, 13, 0, 171, 172, 14, 15, 173,
- 0, 174, 175, 0, 176, 177, 178, 179, 180, 16,
- 181, 17, 18, 19, 0, 21, 182, 130, 0, 130,
- 22, 23, 24, 25, 0, 0, 0, 26, 0, 29,
- 30, 31, 32, 33, 35, 233, 0, 27, 234, 28,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 87, 0, 88, 0, 0, 0,
- 107, 107, 0, 0, 107, 107, 0, 107, 107, 107,
- 107, 107, 0, 107, 107, 0, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 0, 107, 107, 0,
- 0, 0, 107, 107, 107, 107, 0, 0, 0, 107,
- 0, 107, 107, 107, 107, 107, 35, 235, 0, 27,
- 236, 28, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 87, 0, 88, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 130, 130, 0, 0, 130, 130, 0,
- 130, 130, 130, 130, 130, 0, 130, 130, 0, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 0,
- 130, 130, 0, 0, 0, 130, 130, 130, 130, 0,
- 0, 0, 130, 0, 130, 130, 130, 130, 130, 11,
- 0, 0, 0, 12, 13, 0, 171, 172, 14, 15,
- 0, 0, 0, 0, 0, 176, 177, 178, 179, 180,
- 16, 0, 17, 18, 19, 0, 21, 182, 0, 0,
- 0, 22, 23, 24, 25, 0, 0, 0, 26, 0,
- 29, 30, 31, 32, 33, 35, 237, 0, 27, 238,
- 28, 0, 0, 11, 0, 0, 0, 12, 13, 0,
- 0, 0, 14, 15, 0, 87, 0, 88, 0, 0,
- 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 0, 0, 0, 22, 23, 24, 25, 85,
- 86, 0, 26, 0, 29, 30, 31, 32, 33, 35,
- 242, 0, 27, 243, 28, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
- 0, 88, 0, 0, 0, 11, 0, 0, 0, 12,
- 13, 0, 0, 0, 14, 15, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
- 19, 35, 21, 0, 27, 108, 28, 22, 23, 24,
- 25, 85, 86, 0, 26, 0, 29, 30, 31, 32,
- 33, 87, 0, 88, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 35, 152, 0,
- 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 87, 0, 88,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 35, 0, 0, 27, 157, 28, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 87, 11, 88, 0, 0, 12, 13,
- 0, 0, 0, 14, 15, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
- 35, 21, 0, 27, 160, 28, 22, 23, 24, 25,
- 85, 86, 0, 26, 0, 29, 30, 31, 32, 33,
- 87, 0, 88, 0, 0, 0, 0, 0, 11, 0,
- 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 0, 17, 18, 19, 35, 21, 0, 27, 162, 28,
- 22, 23, 24, 25, 85, 86, 0, 26, 0, 29,
- 30, 31, 32, 33, 87, 0, 88, 0, 0, 0,
- 11, 0, 0, 0, 12, 13, 0, 0, 0, 14,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 85, 86, 0, 26,
- 0, 29, 30, 31, 32, 33, 11, 0, 0, 0,
- 12, 13, 0, 0, 35, 14, 15, 27, 163, 28,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 0, 21, 87, 0, 88, 0, 22, 23,
- 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
- 32, 33, 11, 0, 0, 0, 12, 13, 0, 0,
- 35, 14, 15, 27, 168, 28, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
- 87, 0, 88, 0, 22, 23, 24, 25, 85, 86,
- 0, 26, 0, 29, 30, 31, 32, 33, 0, 11,
- 0, 0, 0, 12, 13, 0, 0, 35, 14, 15,
- 27, 169, 28, 0, 0, 0, 0, 0, 0, 0,
- 16, 0, 17, 18, 19, 0, 21, 87, 0, 88,
- 0, 22, 23, 24, 25, 85, 86, 0, 26, 0,
- 29, 30, 31, 32, 33, 0, 0, 0, 0, 0,
- 0, 0, 0, 11, 0, 0, 0, 12, 13, 0,
- 0, 35, 14, 15, 27, 0, 28, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 17, 18, 19, 191,
- 21, 87, 0, 88, 0, 22, 23, 24, 25, 85,
- 86, 0, 26, 0, 29, 30, 31, 32, 33, 0,
- 0, 0, 0, 0, 0, 0, 0, 35, 240, 0,
- 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 87, 0, 88,
- 0, 0, 0, 11, 0, 0, 0, 12, 13, 0,
- 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 0, 0, 0, 22, 23, 24, 25, 85,
- 86, 0, 26, 0, 29, 30, 31, 32, 33, 11,
- 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 0, 17, 18, 19, 0, 21, 0, 0, 0,
- 0, 22, 23, 24, 25, 85, 86, 0, 26, 0,
- 29, 30, 31, 32, 33, 0, 11, 0, 0, 0,
- 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
- 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
- 32, 33, 35, 244, 0, 27, 0, 28, 0, 0,
- 11, 0, 0, 0, 12, 13, 0, 0, 0, 14,
- 15, 0, 87, 0, 88, 0, 0, 0, 0, 0,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 85, 86, 0, 26,
- 0, 29, 30, 31, 32, 33, 11, 0, 0, 0,
- 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
- 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
- 32, 33, 35, 275, 0, 27, 0, 28, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 87, 0, 88, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 35, 281,
- 0, 27, 0, 28, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
- 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 35, 282, 0, 27, 0, 28,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 87, 0, 88, 0, 0, 0,
- 0, 11, 0, 0, 0, 12, 13, 0, 0, 0,
- 14, 15, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
- 0, 0, 0, 22, 23, 24, 25, 85, 86, 0,
- 26, 0, 29, 30, 31, 32, 33, 35, 283, 0,
- 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 87, 0, 88,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 35, 284, 0, 27, 0, 28, 0,
- 0, 11, 0, 0, 0, 12, 13, 0, 0, 0,
- 14, 15, 0, 87, 0, 88, 0, 0, 0, 0,
- 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
- 0, 0, 0, 22, 23, 24, 25, 85, 86, 0,
- 26, 0, 29, 30, 31, 32, 33, 11, 0, 0,
- 0, 12, 13, 0, 0, 0, 14, 15, 35, 0,
- 0, 27, 0, 28, 0, 0, 0, 0, 16, 0,
- 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
- 23, 24, 25, 85, 86, 0, 26, 0, 29, 30,
- 31, 32, 33, 11, 0, 0, 0, 12, 13, 0,
- 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 0, 0, 0, 22, 23, 24, 25, 85,
- 86, 0, 26, 0, 29, 30, 31, 32, 33, 35,
- 285, 34, 27, 0, 28, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
- 0, 88, 0, 0, 0, 0, 11, 0, 0, 0,
- 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 35, 21, 0, 27, 0, 28, 22, 23,
- 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
- 32, 33, 11, 0, 0, 0, 12, 13, 0, 0,
- 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
- 0, 0, 0, 0, 22, 23, 24, 25, 85, 86,
- 0, 26, 0, 29, 30, 31, 32, 33, 35, 287,
- 0, 27, 0, 28, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 9, 10, 11, 87, 0,
- 88, 12, 13, 0, 0, 0, 14, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
- 17, 18, 19, 20, 21, 0, 0, 0, 0, 22,
- 23, 24, 25, 0, 0, 0, 26, 0, 29, 30,
- 31, 32, 33, 35, 0, 0, 27, 0, 28, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 87, 0, 88, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
- 0, 0, 12, 13, 0, 0, 0, 14, 15, 35,
- 0, 0, 27, 0, 28, 0, 0, 0, 0, 16,
- 0, 17, 18, 19, 0, 21, 0, 0, 291, 0,
- 22, 23, 24, 25, 85, 86, 0, 26, 0, 29,
- 30, 31, 32, 33, 0, 0, 0, 0, 0, 0,
- 0, 115, 0, 0, 0, 12, 13, 0, 0, 35,
- 14, 15, 27, 0, 28, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
- 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
- 26, 0, 29, 30, 31, 32, 33, 0, 0, 0,
- 0, 0, 0, 0, 0, 35, 0, 0, 27, 0,
- 28, 0, 0, 0, 0, 0, 0, 11, 0, 0,
- 0, 12, 13, 0, 0, 0, 14, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
- 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
- 23, 24, 25, 85, 86, 0, 26, 0, 29, 30,
- 31, 32, 33, 35, 0, 0, 27, 0, 28, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 11, 0, 0, 0, 12, 13, 0, 0,
- 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
- 0, 0, 0, 0, 22, 23, 24, 25, 85, 86,
- 0, 26, 0, 29, 30, 31, 32, 33, 11, 0,
- 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
- 22, 23, 24, 25, 0, 0, 0, 26, 0, 29,
- 30, 31, 32, 33, 0, 0, 0, 0, 136, 0,
- 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
- 22, 23, 24, 25, 0, 0, 0, 26, 0, 29,
- 30, 31, 32, 33, 204, 0, 0, 0, 12, 13,
- 0, 0, 0, 14, 15, 0, 0, 101, 102, 0,
- 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
- 0, 21, 0, 0, 0, 0, 22, 23, 24, 25,
- 0, 0, 0, 26, 0, 29, 30, 31, 32, 33,
- 131, 0, 133, 134, 0, 0, 0, 0, 0, 0,
- 0, 0, 263, 0, 0, 0, 12, 13, 0, 0,
- 0, 14, 15, 0, 0, 0, 0, 0, 155, 156,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
- 0, 0, 0, 0, 22, 23, 24, 25, 0, 0,
- 0, 26, 0, 29, 30, 31, 32, 33, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
- 68, 0, 0, 0, 0, 72, 0, 0, 0, 0,
- 0, 0, 0, 89, 0, 0, 0, 0, 0, 0,
- 209, 0, 0, 0, 0, 0, 89, 0, 0, 0,
- 0, 217, 0, 219, 0, 220, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 241, 0, 0, 0,
- 0, 0, 0, 142, 143, 144, 145, 146, 147, 0,
- 0, 258, 259, 260, 261, 262, 89, 0, 89, 0,
- 0, 0, 89, 89, 0, 0, 89, 0, 89, 89,
- 0, 0, 0, 89, 89, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 89, 0, 0, 0, 0, 89,
- 89, 89, 89, 0, 0, 0, 0, 0, 0, 286,
- 0, 0, 0, 288, 289, 290, 0, 0, 0, 295,
- 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 308, 309, 0, 0, 89, 0,
- 313, 0, 0, 0, 0, 0, 0, 0, 0, 89,
- 89, 0, 89, 89, 89, 89, 0, 89, 0, 89,
- 89, 0, 0, 0, 0, 0, 0, 89, 89, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 89, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 89, 89, 89, 89,
- 89, 0, 89, 89, 89,
- };
- short yycheck[] = { 41,
- 0, 123, 62, 123, 41, 59, 41, 59, 214, 63,
- 59, 63, 123, 63, 59, 63, 94, 59, 50, 38,
- 35, 63, 35, 291, 41, 286, 63, 41, 63, 91,
- 41, 63, 64, 301, 112, 40, 51, 37, 51, 7,
- 40, 41, 42, 43, 44, 45, 63, 47, 59, 63,
- 35, 41, 63, 41, 44, 0, 44, 41, 58, 59,
- 60, 29, 62, 63, 124, 44, 51, 35, 261, 262,
- 37, 40, 261, 60, 288, 42, 43, 40, 45, 63,
- 47, 101, 102, 51, 63, 291, 118, 301, 302, 60,
- 40, 16, 37, 93, 94, 301, 41, 42, 43, 44,
- 45, 63, 47, 40, 63, 30, 31, 40, 292, 40,
- 0, 131, 112, 58, 59, 60, 84, 62, 63, 303,
- 304, 40, 40, 123, 124, 123, 40, 94, 44, 112,
- 98, 41, 41, 37, 63, 41, 63, 292, 42, 171,
- 172, 261, 262, 47, 280, 112, 41, 37, 93, 94,
- 40, 41, 42, 43, 41, 45, 44, 47, 44, 93,
- 292, 41, 41, 40, 40, 133, 134, 112, 58, 59,
- 60, 40, 62, 63, 292, 290, 195, 41, 123, 124,
- 59, 59, 272, 91, 41, 40, 93, 271, 41, 41,
- 94, 0, 41, 93, 59, 41, -1, 51, -1, 219,
- -1, 211, -1, 93, 94, 265, -1, -1, 112, 41,
- -1, 260, 261, 262, -1, 260, 261, 262, 260, 261,
- 262, -1, 112, 148, 256, 40, -1, 59, 43, -1,
- 45, 63, -1, 123, 124, 289, 290, 289, 290, 289,
- 290, 289, 290, -1, 212, 213, -1, 289, 290, 260,
- 261, 262, 289, 290, 289, 290, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 286, -1, 268, 269,
- -1, -1, 289, 290, 274, 289, 290, -1, 289, 290,
- 280, 41, 282, 283, 284, 285, 286, -1, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, 59,
- 300, 301, 302, 303, 304, 289, 290, 274, 276, -1,
- 289, 290, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 292, -1, 268, 269, 293, -1, 289, 290, 274,
- 289, 290, 303, 304, -1, 280, 41, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 59, 300, 301, 302, 303, 304,
- 289, 290, 289, 290, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
- 0, 260, 261, 262, 274, -1, -1, -1, -1, -1,
- 280, -1, 282, 283, 284, 285, 286, 41, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, 303, 304, 59, -1, 37, -1, -1,
- 40, 41, 42, 43, 44, 45, -1, 47, 260, 261,
- 262, -1, -1, -1, -1, 0, -1, -1, 58, 59,
- -1, -1, 62, 63, 259, -1, -1, 217, 263, 264,
- -1, -1, -1, 268, 269, -1, -1, 289, 290, -1,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- -1, 286, 37, 93, 94, 40, 41, 42, 43, 44,
- 45, -1, 47, 298, -1, 300, 301, 302, 303, 304,
- 0, -1, 112, 58, 59, 60, -1, 62, 63, -1,
- 260, 261, 262, 123, 124, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 288, 289,
- 290, -1, -1, -1, -1, -1, -1, 37, 93, 94,
- 40, 41, 42, 43, 44, 45, -1, 47, 308, 309,
- -1, -1, -1, 313, -1, -1, -1, 41, 58, 59,
- 60, -1, 62, 63, -1, 260, 261, 262, 123, 124,
- -1, -1, -1, 0, -1, 59, -1, -1, -1, 63,
- -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
- -1, -1, -1, 93, 94, -1, -1, -1, -1, -1,
- -1, -1, -1, 41, -1, -1, 59, -1, -1, 62,
- 37, -1, 112, 40, 41, 42, 43, 44, 45, -1,
- 47, 59, -1, 123, 124, 63, 260, 261, 262, -1,
- -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
- -1, -1, -1, -1, 274, -1, 93, -1, -1, -1,
- 280, 124, 282, 283, 284, 285, 286, -1, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, 303, 304, -1, 123, 124, -1, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
- -1, -1, -1, -1, 274, -1, 260, 261, 262, -1,
- 280, -1, 282, 283, 284, 285, 286, -1, 288, 289,
- -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, 303, 304, 289, 290, 260, 261, 262,
- -1, -1, 265, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 260, 261, 262, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
- -1, 268, 269, 0, -1, -1, -1, 274, -1, -1,
- -1, 289, 290, 280, -1, 282, 283, 284, 285, 286,
- -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
- 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
- 47, -1, -1, -1, -1, -1, -1, 0, -1, -1,
- -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 37, -1, 93, 40, 41, 42,
- 43, 44, 45, -1, 47, -1, -1, -1, -1, -1,
- -1, 0, -1, -1, -1, 58, 59, 60, -1, 62,
- 63, -1, -1, -1, -1, -1, 123, 124, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 37, -1,
- 93, 40, 41, 42, 43, 44, 45, -1, 47, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
- 59, 60, -1, 62, 63, -1, -1, -1, -1, -1,
- 123, 124, -1, -1, -1, 0, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
- 45, -1, 47, -1, 123, 124, -1, -1, -1, -1,
- -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
- -1, 268, 269, -1, -1, -1, -1, 274, 93, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, 123, 124,
- -1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, -1, -1, 268, 269, -1, -1, -1,
- -1, 274, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
- 303, 304, -1, -1, -1, -1, -1, -1, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, -1, -1, 268,
- 269, -1, -1, -1, -1, 274, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, 285, 286, -1, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- -1, 300, 301, 302, 303, 304, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, -1, -1, 268, 269, 0, -1, -1, -1, 274,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
- 45, -1, 47, -1, -1, -1, -1, -1, -1, 0,
- -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 37, -1, 93, 40,
- 41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
- -1, -1, -1, -1, 0, -1, -1, 58, 59, 60,
- -1, 62, 63, -1, -1, -1, -1, -1, 123, 124,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 37, 93, 94, 40, 41, 42, 43, 44, 45,
- -1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 112, 58, 59, 60, -1, 62, -1, -1, -1,
- -1, -1, 123, 124, -1, -1, -1, 0, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 93, 94, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 112, 40, 41, -1,
- 43, 44, 45, -1, -1, -1, -1, 123, 124, -1,
- -1, -1, -1, -1, -1, 58, 59, 60, -1, 62,
- 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
- 93, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
- 123, 124, -1, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, -1, -1, 268, 269, -1,
- -1, -1, -1, 274, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, -1, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
- -1, -1, 303, 304, -1, -1, -1, -1, -1, -1,
- -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
- -1, -1, 268, 269, -1, -1, -1, -1, 274, -1,
- -1, -1, -1, -1, 280, 0, 282, 283, 284, 285,
- 286, -1, 288, -1, -1, 291, 292, 293, 294, 295,
- 296, -1, 298, -1, 300, 301, 302, 303, 304, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
- 45, -1, -1, -1, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 0, 59, 268, 269, -1, -1, -1,
- -1, 274, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
- 303, 304, -1, 40, 41, -1, 43, 44, 45, -1,
- -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 58, 59, 60, -1, 62, 63, -1, 123, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 40, 41, -1, -1, 44, 93, -1, -1, 0,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
- 59, 60, -1, 62, 63, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 123, 124, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 40,
- 41, -1, -1, 44, 93, -1, -1, -1, -1, -1,
- -1, 0, -1, -1, -1, -1, -1, 58, 59, 60,
- -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 40, 93, -1, 43, -1, 45, -1, -1, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- 59, -1, -1, 268, 269, -1, -1, -1, -1, -1,
- -1, -1, 123, 124, -1, 280, -1, 282, 283, 284,
- 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
- -1, 268, 269, 40, 123, -1, 43, 274, 45, -1,
- -1, -1, -1, 280, 0, 282, 283, 284, 285, 286,
- -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, -1, -1, 268,
- 269, -1, -1, -1, 40, -1, -1, 43, -1, 45,
- -1, 280, -1, 282, 283, 284, 285, 286, -1, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
- -1, 300, 301, 302, 303, 304, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, -1, -1, 268, 269, -1,
- 40, 41, -1, 43, -1, 45, -1, -1, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
- 301, 302, 303, 304, -1, -1, -1, 123, 257, 258,
- 259, 260, 261, 262, 263, 264, 0, -1, -1, 268,
- 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, 285, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, 300, 301, 302, 303, 304, 40, -1, -1, 43,
- -1, 45, -1, -1, 0, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 259, -1, 261, 262, 263, 264, -1, -1,
- -1, 268, 269, -1, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, 280, 0, 282, 283, 284, -1, 286,
- -1, -1, -1, 59, 291, 292, 293, 294, -1, -1,
- -1, 298, -1, 300, 301, 302, 303, 304, -1, 123,
- -1, 257, 258, 259, -1, -1, -1, 263, 264, -1,
- -1, -1, 268, 269, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, 0, 280, -1, 282, 283, 284, 285,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, 300, 301, 302, 303, 304, 259,
- -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
- -1, -1, -1, 40, -1, -1, 43, -1, 45, -1,
- 280, -1, 282, 283, 284, -1, 286, -1, -1, -1,
- -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- 300, 301, 302, 303, 304, -1, -1, 123, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 257, 258, 259, 260, -1, 262, 263,
- 264, -1, -1, -1, 268, 269, 123, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
- 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, 300, 301, 302, 303,
- 304, 257, 258, 259, 260, 261, 262, 263, 264, -1,
- -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
- -1, 257, 258, 259, -1, -1, -1, 263, 264, -1,
- -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
- 257, 258, 259, -1, -1, -1, 263, 264, -1, -1,
- -1, 268, 269, 0, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
- -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
- 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
- 47, -1, -1, -1, -1, -1, -1, -1, 0, -1,
- -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 37, 93, 94, 40, 41,
- 42, 43, 44, 45, -1, 47, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 112, 58, 59, -1, -1,
- 62, 63, -1, -1, -1, -1, 123, 124, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 93, 94, -1, -1, -1, -1, 0, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 123, 124, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 37, -1, -1, -1, 41, 42,
- -1, 44, -1, -1, 47, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 58, 59, 60, -1, 62,
- 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 112,
- -1, 268, 269, -1, -1, -1, -1, 274, -1, -1,
- 123, 124, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, -1, -1, 268, 269, 14, -1,
- -1, -1, 274, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
- -1, 293, 294, 295, 296, -1, 298, -1, 300, 301,
- 302, -1, -1, 49, 50, 51, -1, -1, -1, -1,
- 56, 57, -1, 59, 60, 61, -1, 63, 64, 65,
- 66, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 81, -1, -1, -1, 85,
- 86, 87, 88, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 257, 258, -1, 260, 261, 262,
- -1, -1, 265, -1, -1, -1, 112, -1, -1, -1,
- -1, 274, 118, -1, -1, -1, -1, -1, -1, 125,
- -1, -1, 285, -1, -1, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 150, 151, -1, -1, -1, 155,
- 156, -1, -1, 159, 160, 161, 162, 163, -1, -1,
- -1, -1, 168, 169, -1, 171, 172, -1, -1, -1,
- 176, -1, -1, -1, 180, -1, 0, -1, -1, -1,
- -1, -1, -1, -1, 190, 191, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 214, -1,
- -1, 217, -1, 37, -1, -1, 0, 41, 42, -1,
- 44, -1, -1, 47, 230, -1, 232, -1, 234, -1,
- 236, -1, 238, -1, 58, 59, 60, 243, 62, 63,
- -1, -1, 248, 249, -1, -1, -1, -1, -1, -1,
- 256, 257, -1, 37, -1, -1, -1, 41, 42, -1,
- 44, -1, -1, 47, 0, -1, -1, -1, -1, 93,
- 94, -1, -1, -1, 58, 59, 60, -1, 62, 63,
- -1, -1, 288, 289, 290, 291, -1, -1, 112, -1,
- 296, -1, -1, -1, -1, 301, -1, -1, -1, 123,
- 124, 37, 308, 309, 0, 41, 42, 313, 44, 93,
- 94, 47, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 58, 59, 60, -1, 62, 63, 112, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
- 124, 37, -1, -1, -1, 41, 42, -1, 44, -1,
- -1, 47, -1, -1, -1, -1, -1, 93, 94, -1,
- -1, -1, 58, 59, 60, -1, 62, 63, -1, -1,
- -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 123, 124, 40,
- -1, -1, 43, -1, 45, -1, -1, 93, 94, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
- -1, 62, -1, -1, -1, -1, 112, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 123, 124, -1,
- -1, -1, -1, 257, 258, -1, 260, 261, 262, -1,
- -1, 265, -1, -1, -1, -1, -1, -1, -1, -1,
- 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 285, -1, -1, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, 257, 258, -1, 260, 261, 262, -1,
- -1, 265, -1, -1, -1, -1, -1, -1, -1, -1,
- 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 285, -1, -1, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, -1, -1, -1, -1, -1, -1,
- -1, 257, 258, -1, 260, 261, 262, -1, -1, 265,
- -1, -1, -1, -1, -1, -1, -1, -1, 274, -1,
- -1, -1, -1, 0, -1, -1, -1, -1, -1, 285,
- -1, -1, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, 257, 258, -1, 260, 261, 262, -1, -1, 265,
- -1, -1, -1, -1, -1, -1, -1, -1, 274, -1,
- 37, -1, -1, 0, 41, 42, -1, 44, -1, 285,
- 47, -1, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, 58, 59, 60, -1, 62, 63, -1, 259, -1,
- -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
- 37, -1, -1, -1, 41, 42, -1, 44, 0, 280,
- 47, 282, 283, 284, -1, 286, 93, 94, -1, -1,
- -1, 58, 59, -1, -1, 296, 63, 298, -1, 300,
- 301, 302, 303, 304, -1, 112, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 37, 123, 124, 0, 41,
- 42, -1, 44, -1, -1, 47, 93, 94, -1, -1,
- -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
- -1, 63, -1, -1, -1, 112, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 37, 123, 124, -1, 41,
- 42, -1, 44, 0, -1, 47, -1, -1, -1, -1,
- -1, 93, 94, -1, -1, -1, 58, 59, -1, -1,
- -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
- 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 37, 123, 124, -1, 41, 42, -1, 44, -1, -1,
- 47, 93, 94, -1, -1, -1, -1, -1, -1, -1,
- -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
- 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 123, 124, -1, 40, 41, -1, 43, 44, 45,
- 257, 258, -1, 260, 261, 262, 93, 94, 265, -1,
- -1, -1, -1, -1, 60, -1, 62, 274, -1, -1,
- -1, -1, -1, -1, -1, 112, -1, -1, 285, -1,
- -1, 288, 289, 290, -1, -1, 123, 124, 295, 296,
- 257, 258, -1, 260, 261, 262, -1, -1, 265, -1,
- -1, -1, -1, -1, -1, -1, -1, 274, -1, -1,
- 40, -1, -1, 43, -1, 45, -1, -1, 285, -1,
- -1, 288, 289, 290, 291, 292, 293, 294, 295, 59,
- -1, -1, -1, -1, -1, 257, 258, -1, 260, 261,
- 262, -1, -1, 265, -1, -1, -1, -1, -1, -1,
- -1, -1, 274, 0, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 285, -1, -1, 288, 289, 290, -1,
- -1, -1, -1, -1, -1, 257, 258, -1, 260, 261,
- 262, -1, -1, 265, -1, -1, -1, -1, -1, -1,
- 37, -1, 274, 123, 41, 42, -1, 44, 0, -1,
- 47, -1, -1, 285, -1, -1, 288, 289, 290, -1,
- -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
- 257, 258, -1, 260, 261, 262, -1, -1, 265, -1,
- -1, -1, -1, -1, -1, 37, -1, 274, -1, 41,
- 42, -1, -1, -1, -1, 47, 93, 94, 285, -1,
- -1, 288, 289, 290, -1, -1, 58, 59, -1, -1,
- -1, 63, -1, 259, -1, 112, -1, 263, 264, -1,
- -1, -1, 268, 269, -1, 40, 123, 124, 43, -1,
- 45, -1, -1, -1, 280, -1, 282, 283, 284, -1,
- 286, 93, 94, -1, 59, 291, 292, 293, 294, 295,
- 296, -1, 298, -1, 300, 301, 302, 303, 304, -1,
- 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 123, 124, -1, -1, -1, -1, -1, -1, 259,
- 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
- 270, -1, 272, 273, -1, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, -1, 286, 287, 123, -1,
- 125, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- 300, 301, 302, 303, 304, -1, -1, -1, -1, 40,
- -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 257, 258, -1, 260, 261, 262, -1, -1, 265, -1,
- -1, -1, -1, -1, -1, -1, -1, 274, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 285, -1,
- -1, 288, 289, 290, -1, -1, -1, 40, -1, -1,
- 43, -1, 45, -1, -1, 257, 258, -1, 260, 261,
- 262, -1, 123, 265, 125, -1, 59, -1, -1, -1,
- -1, -1, 274, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 285, -1, -1, 288, 289, 290, -1,
- -1, -1, -1, -1, 259, 260, -1, -1, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, 273, -1,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
- 123, -1, 125, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, -1, -1, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 40, -1, -1, 43, -1, 45, 259, 260,
- -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, -1, 286, 287, 123, -1, 125,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
- 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 59, -1, -1, 259, 260, -1, -1,
- 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
- 273, -1, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, -1, 286, 287, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, 300, 301, 302,
- 303, 304, -1, -1, -1, -1, 40, -1, -1, 43,
- -1, 45, -1, -1, -1, -1, -1, 123, -1, 125,
- -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, 273, -1, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
- 286, 287, -1, -1, -1, 291, 292, 293, 294, 123,
- -1, 125, 298, -1, 300, 301, 302, 303, 304, 40,
- -1, 259, 43, -1, 45, 263, 264, -1, -1, -1,
- 268, 269, -1, -1, -1, -1, -1, -1, 59, -1,
- -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
- 298, -1, 300, 301, 302, 303, 304, 40, -1, -1,
- 43, -1, 45, 259, 260, -1, -1, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, 273, -1, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
- 286, 287, 123, -1, 125, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, 300, 301, 302, 303, 304, 40,
- -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
- -1, -1, -1, -1, -1, 259, 260, -1, -1, 263,
- 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
- -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, 300, 301, 302, 303,
- 304, 40, -1, -1, 43, -1, 45, -1, -1, -1,
- -1, -1, 123, -1, 125, -1, -1, -1, -1, -1,
- 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 259, 260,
- -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, -1, 286, 287, -1, -1, -1,
- 291, 292, 293, 294, 123, -1, 125, 298, -1, 300,
- 301, 302, 303, 304, 40, -1, 259, 43, -1, 45,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, 59, -1, -1, -1, 280, -1, 282,
- 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, 300, 301, 302,
- 303, 304, 40, -1, -1, 43, -1, 45, 259, 260,
- -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, -1, 286, 287, 123, -1, 125,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
- 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
- 259, 260, -1, -1, 263, 264, -1, 266, 267, 268,
- 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, -1, 286, 287, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, 300, 301, 302, 303, 304, 40, -1, -1, 43,
- -1, 45, -1, -1, -1, -1, -1, 123, -1, 125,
- -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
- 266, 267, 268, 269, 270, -1, 272, 273, -1, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
- 286, 287, -1, -1, -1, 291, 292, 293, 294, 123,
- -1, 125, 298, -1, 300, 301, 302, 303, 304, 40,
- -1, 259, 43, -1, 45, 263, 264, -1, -1, -1,
- 268, 269, -1, -1, -1, -1, -1, -1, 59, -1,
- -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
- 298, -1, 300, 301, 302, 303, 304, -1, -1, -1,
- -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
- 266, 267, 268, 269, 270, -1, 272, 273, -1, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
- 286, 287, 123, -1, 125, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, 300, 301, 302, 303, 304, 40,
- -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
- -1, -1, -1, -1, -1, 259, 260, -1, -1, 263,
- 264, -1, 266, 267, 268, 269, 270, -1, 272, 273,
- -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, 300, 301, 302, 303,
- 304, 40, -1, -1, 43, -1, 45, -1, -1, -1,
- -1, -1, 123, -1, 125, -1, -1, -1, -1, -1,
- 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 259, 260,
- -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
- -1, 272, 273, -1, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, -1, 286, 287, -1, -1, -1,
- 291, 292, 293, 294, 123, -1, 125, 298, -1, 300,
- 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 40, -1, -1, 43, -1, 45, -1, -1, 259, 260,
- -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
- -1, 272, 273, -1, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, -1, 286, 287, 123, -1, 125,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
- 301, 302, 303, 304, 40, 41, -1, 43, 44, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 60, -1, 62, -1, -1, -1,
- 259, 260, -1, -1, 263, 264, -1, 266, 267, 268,
- 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, -1, 286, 287, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, 300, 301, 302, 303, 304, 40, 41, -1, 43,
- 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 60, -1, 62, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
- 266, 267, 268, 269, 270, -1, 272, 273, -1, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
- 286, 287, -1, -1, -1, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, 300, 301, 302, 303, 304, 259,
- -1, -1, -1, 263, 264, -1, 266, 267, 268, 269,
- -1, -1, -1, -1, -1, 275, 276, 277, 278, 279,
- 280, -1, 282, 283, 284, -1, 286, 287, -1, -1,
- -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- 300, 301, 302, 303, 304, 40, 41, -1, 43, 44,
- 45, -1, -1, 259, -1, -1, -1, 263, 264, -1,
- -1, -1, 268, 269, -1, 60, -1, 62, -1, -1,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
- 296, -1, 298, -1, 300, 301, 302, 303, 304, 40,
- 41, -1, 43, 44, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
- -1, 62, -1, -1, -1, 259, -1, -1, -1, 263,
- 264, -1, -1, -1, 268, 269, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
- 284, 40, 286, -1, 43, 44, 45, 291, 292, 293,
- 294, 295, 296, -1, 298, -1, 300, 301, 302, 303,
- 304, 60, -1, 62, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 40, 41, -1,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 60, -1, 62,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 60, 259, 62, -1, -1, 263, 264,
- -1, -1, -1, 268, 269, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- 40, 286, -1, 43, 44, 45, 291, 292, 293, 294,
- 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
- 60, -1, 62, -1, -1, -1, -1, -1, 259, -1,
- -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 40, 286, -1, 43, 44, 45,
- 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
- 301, 302, 303, 304, 60, -1, 62, -1, -1, -1,
- 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
- 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, 295, 296, -1, 298,
- -1, 300, 301, 302, 303, 304, 259, -1, -1, -1,
- 263, 264, -1, -1, 40, 268, 269, 43, 44, 45,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, -1, 286, 60, -1, 62, -1, 291, 292,
- 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
- 303, 304, 259, -1, -1, -1, 263, 264, -1, -1,
- 40, 268, 269, 43, 44, 45, -1, -1, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
- 60, -1, 62, -1, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, -1, 259,
- -1, -1, -1, 263, 264, -1, -1, 40, 268, 269,
- 43, 44, 45, -1, -1, -1, -1, -1, -1, -1,
- 280, -1, 282, 283, 284, -1, 286, 60, -1, 62,
- -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, 259, -1, -1, -1, 263, 264, -1,
- -1, 40, 268, 269, 43, -1, 45, -1, -1, -1,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, 58,
- 286, 60, -1, 62, -1, 291, 292, 293, 294, 295,
- 296, -1, 298, -1, 300, 301, 302, 303, 304, -1,
- -1, -1, -1, -1, -1, -1, -1, 40, 41, -1,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 60, -1, 62,
- -1, -1, -1, 259, -1, -1, -1, 263, 264, -1,
- -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
- 296, -1, 298, -1, 300, 301, 302, 303, 304, 259,
- -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 280, -1, 282, 283, 284, -1, 286, -1, -1, -1,
- -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, 303, 304, -1, 259, -1, -1, -1,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
- 303, 304, 40, 41, -1, 43, -1, 45, -1, -1,
- 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
- 269, -1, 60, -1, 62, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, 295, 296, -1, 298,
- -1, 300, 301, 302, 303, 304, 259, -1, -1, -1,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
- 303, 304, 40, 41, -1, 43, -1, 45, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 60, -1, 62, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 40, 41,
- -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
- 62, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 40, 41, -1, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 60, -1, 62, -1, -1, -1,
- -1, 259, -1, -1, -1, 263, 264, -1, -1, -1,
- 268, 269, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
- 298, -1, 300, 301, 302, 303, 304, 40, 41, -1,
- 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 60, -1, 62,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 40, 41, -1, 43, -1, 45, -1,
- -1, 259, -1, -1, -1, 263, 264, -1, -1, -1,
- 268, 269, -1, 60, -1, 62, -1, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
- 298, -1, 300, 301, 302, 303, 304, 259, -1, -1,
- -1, 263, 264, -1, -1, -1, 268, 269, 40, -1,
- -1, 43, -1, 45, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
- 302, 303, 304, 259, -1, -1, -1, 263, 264, -1,
- -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
- 296, -1, 298, -1, 300, 301, 302, 303, 304, 40,
- 41, 123, 43, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
- -1, 62, -1, -1, -1, -1, 259, -1, -1, -1,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, 40, 286, -1, 43, -1, 45, 291, 292,
- 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
- 303, 304, 259, -1, -1, -1, 263, 264, -1, -1,
- -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, 40, 41,
- -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 257, 258, 259, 60, -1,
- 62, 263, 264, -1, -1, -1, 268, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, -1, -1, -1, 298, -1, 300, 301,
- 302, 303, 304, 40, -1, -1, 43, -1, 45, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 60, -1, 62, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 259, -1,
- -1, -1, 263, 264, -1, -1, -1, 268, 269, 40,
- -1, -1, 43, -1, 45, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, -1, 286, -1, -1, 59, -1,
- 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
- 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
- -1, 259, -1, -1, -1, 263, 264, -1, -1, 40,
- 268, 269, 43, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
- 298, -1, 300, 301, 302, 303, 304, -1, -1, -1,
- -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
- 45, -1, -1, -1, -1, -1, -1, 259, -1, -1,
- -1, 263, 264, -1, -1, -1, 268, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
- 302, 303, 304, 40, -1, -1, 43, -1, 45, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 259, -1, -1, -1, 263, 264, -1, -1,
- -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, 259, -1,
- -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
- 301, 302, 303, 304, -1, -1, -1, -1, 259, -1,
- -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
- 301, 302, 303, 304, 259, -1, -1, -1, 263, 264,
- -1, -1, -1, 268, 269, -1, -1, 47, 48, -1,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- -1, 286, -1, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, 300, 301, 302, 303, 304,
- 80, -1, 82, 83, -1, -1, -1, -1, -1, -1,
- -1, -1, 259, -1, -1, -1, 263, 264, -1, -1,
- -1, 268, 269, -1, -1, -1, -1, -1, 108, 109,
- -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
- -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
- 28, -1, -1, -1, -1, 33, -1, -1, -1, -1,
- -1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
- 170, -1, -1, -1, -1, -1, 54, -1, -1, -1,
- -1, 181, -1, 183, -1, 185, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 206, -1, -1, -1,
- -1, -1, -1, 91, 92, 93, 94, 95, 96, -1,
- -1, 221, 222, 223, 224, 225, 104, -1, 106, -1,
- -1, -1, 110, 111, -1, -1, 114, -1, 116, 117,
- -1, -1, -1, 121, 122, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 132, -1, -1, -1, -1, 137,
- 138, 139, 140, -1, -1, -1, -1, -1, -1, 269,
- -1, -1, -1, 273, 274, 275, -1, -1, -1, 279,
- 158, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 304, 305, -1, -1, 186, -1,
- 310, -1, -1, -1, -1, -1, -1, -1, -1, 197,
- 198, -1, 200, 201, 202, 203, -1, 205, -1, 207,
- 208, -1, -1, -1, -1, -1, -1, 215, 216, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 227,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 252, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 264, 265, 266, 267,
- 268, -1, 270, 271, 272,
- };
- #define YYFINAL 1
- #ifndef YYDEBUG
- #define YYDEBUG 0
- #endif
- #define YYMAXTOKEN 304
- #if YYDEBUG
- char *yyname[] = {
- "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0,
- "':'","';'","'<'",0,"'>'","'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'p'",0,0,0,0,0,0,0,
- 0,0,0,"'{'","'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"BEGIN","END","REGEX","SEMINEW",
- "NEWLINE","COMMENT","FUN1","FUNN","GRGR","PRINT","PRINTF","SPRINTF","SPLIT",
- "IF","ELSE","WHILE","FOR","IN","EXIT","NEXT","BREAK","CONTINUE","RET","GETLINE",
- "DO","SUB","GSUB","MATCH","FUNCTION","USERFUN","DELETE","ASGNOP","OROR",
- "ANDAND","NUMBER","VAR","SUBSTR","INDEX","MATCHOP","RELOP","OR","STRING",
- "UMINUS","NOT","INCR","DECR","FIELD","VFIELD",
- };
- char *yyrule[] = {
- "$accept : program",
- "program : junk hunks",
- "begin : BEGIN '{' maybe states '}' junk",
- "end : END '{' maybe states '}'",
- "end : end NEWLINE",
- "hunks : hunks hunk junk",
- "hunks :",
- "hunk : patpat",
- "hunk : patpat '{' maybe states '}'",
- "hunk : FUNCTION USERFUN '(' arg_list ')' maybe '{' maybe states '}'",
- "hunk : '{' maybe states '}'",
- "hunk : begin",
- "hunk : end",
- "arg_list : expr_list",
- "patpat : cond",
- "patpat : cond ',' cond",
- "cond : expr",
- "cond : match",
- "cond : rel",
- "cond : compound_cond",
- "cond : cond '?' expr ':' expr",
- "compound_cond : '(' compound_cond ')'",
- "compound_cond : cond ANDAND maybe cond",
- "compound_cond : cond OROR maybe cond",
- "compound_cond : NOT cond",
- "rel : expr RELOP expr",
- "rel : expr '>' expr",
- "rel : expr '<' expr",
- "rel : '(' rel ')'",
- "match : expr MATCHOP expr",
- "match : expr MATCHOP REGEX",
- "match : REGEX",
- "match : '(' match ')'",
- "expr : term",
- "expr : expr term",
- "expr : variable ASGNOP cond",
- "term : variable",
- "term : NUMBER",
- "term : STRING",
- "term : term '+' term",
- "term : term '-' term",
- "term : term '*' term",
- "term : term '/' term",
- "term : term '%' term",
- "term : term '^' term",
- "term : term IN VAR",
- "term : cond '?' expr ':' expr",
- "term : variable INCR",
- "term : variable DECR",
- "term : INCR variable",
- "term : DECR variable",
- "term : '-' term",
- "term : '+' term",
- "term : '(' cond ')'",
- "term : GETLINE",
- "term : GETLINE variable",
- "term : GETLINE '<' expr",
- "term : GETLINE variable '<' expr",
- "term : term 'p' GETLINE",
- "term : term 'p' GETLINE variable",
- "term : FUN1",
- "term : FUN1 '(' ')'",
- "term : FUN1 '(' expr ')'",
- "term : FUNN '(' expr_list ')'",
- "term : USERFUN '(' expr_list ')'",
- "term : SPRINTF expr_list",
- "term : SUBSTR '(' expr ',' expr ',' expr ')'",
- "term : SUBSTR '(' expr ',' expr ')'",
- "term : SPLIT '(' expr ',' VAR ',' expr ')'",
- "term : SPLIT '(' expr ',' VAR ',' REGEX ')'",
- "term : SPLIT '(' expr ',' VAR ')'",
- "term : INDEX '(' expr ',' expr ')'",
- "term : MATCH '(' expr ',' REGEX ')'",
- "term : MATCH '(' expr ',' expr ')'",
- "term : SUB '(' expr ',' expr ')'",
- "term : SUB '(' REGEX ',' expr ')'",
- "term : GSUB '(' expr ',' expr ')'",
- "term : GSUB '(' REGEX ',' expr ')'",
- "term : SUB '(' expr ',' expr ',' expr ')'",
- "term : SUB '(' REGEX ',' expr ',' expr ')'",
- "term : GSUB '(' expr ',' expr ',' expr ')'",
- "term : GSUB '(' REGEX ',' expr ',' expr ')'",
- "variable : VAR",
- "variable : VAR '[' expr_list ']'",
- "variable : FIELD",
- "variable : VFIELD term",
- "expr_list : expr",
- "expr_list : clist",
- "expr_list :",
- "clist : expr ',' maybe expr",
- "clist : clist ',' maybe expr",
- "clist : '(' clist ')'",
- "junk : junk hunksep",
- "junk :",
- "hunksep : ';'",
- "hunksep : SEMINEW",
- "hunksep : NEWLINE",
- "hunksep : COMMENT",
- "maybe : maybe nlstuff",
- "maybe :",
- "nlstuff : NEWLINE",
- "nlstuff : COMMENT",
- "separator : ';' maybe",
- "separator : SEMINEW maybe",
- "separator : NEWLINE maybe",
- "separator : COMMENT maybe",
- "states : states statement",
- "states :",
- "statement : simple separator maybe",
- "statement : ';' maybe",
- "statement : SEMINEW maybe",
- "statement : compound",
- "simpnull : simple",
- "simpnull :",
- "simple : expr",
- "simple : PRINT expr_list redir expr",
- "simple : PRINT expr_list",
- "simple : PRINTF expr_list redir expr",
- "simple : PRINTF expr_list",
- "simple : BREAK",
- "simple : NEXT",
- "simple : EXIT",
- "simple : EXIT expr",
- "simple : CONTINUE",
- "simple : RET",
- "simple : RET expr",
- "simple : DELETE VAR '[' expr_list ']'",
- "redir : '>'",
- "redir : GRGR",
- "redir : '|'",
- "compound : IF '(' cond ')' maybe statement",
- "compound : IF '(' cond ')' maybe statement ELSE maybe statement",
- "compound : WHILE '(' cond ')' maybe statement",
- "compound : DO maybe statement WHILE '(' cond ')'",
- "compound : FOR '(' simpnull ';' cond ';' simpnull ')' maybe statement",
- "compound : FOR '(' simpnull ';' ';' simpnull ')' maybe statement",
- "compound : FOR '(' expr ')' maybe statement",
- "compound : '{' maybe states '}' maybe",
- };
- #endif
- #ifndef YYSTYPE
- typedef int YYSTYPE;
- #endif
- #define yyclearin (yychar=(-1))
- #define yyerrok (yyerrflag=0)
- #ifdef YYSTACKSIZE
- #ifndef YYMAXDEPTH
- #define YYMAXDEPTH YYSTACKSIZE
- #endif
- #else
- #ifdef YYMAXDEPTH
- #define YYSTACKSIZE YYMAXDEPTH
- #else
- #define YYSTACKSIZE 500
- #define YYMAXDEPTH 500
- #endif
- #endif
- int yydebug;
- int yynerrs;
- int yyerrflag;
- int yychar;
- short *yyssp;
- YYSTYPE *yyvsp;
- YYSTYPE yyval;
- YYSTYPE yylval;
- short yyss[YYSTACKSIZE];
- YYSTYPE yyvs[YYSTACKSIZE];
- #define yystacksize YYSTACKSIZE
- #line 396 "a2p.y"
- #include "a2py.c"
- #line 1945 "y.tab.c"
- #define YYABORT goto yyabort
- #define YYACCEPT goto yyaccept
- #define YYERROR goto yyerrlab
- int
- yyparse()
- {
- register int yym, yyn, yystate;
- #if YYDEBUG
- register char *yys;
- extern char *getenv();
-
- if (yys = getenv("YYDEBUG"))
- {
- yyn = *yys;
- if (yyn >= '0' && yyn <= '9')
- yydebug = yyn - '0';
- }
- #endif
-
- yynerrs = 0;
- yyerrflag = 0;
- yychar = (-1);
-
- yyssp = yyss;
- yyvsp = yyvs;
- *yyssp = yystate = 0;
-
- yyloop:
- if (yyn = yydefred[yystate]) goto yyreduce;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
- #if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("yydebug: state %d, reading %d (%s)\n", yystate,
- yychar, yys);
- }
- #endif
- }
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: state %d, shifting to state %d\n",
- yystate, yytable[yyn]);
- #endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- yychar = (-1);
- if (yyerrflag > 0) --yyerrflag;
- goto yyloop;
- }
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
- yyn = yytable[yyn];
- goto yyreduce;
- }
- if (yyerrflag) goto yyinrecovery;
- #ifdef lint
- goto yynewerror;
- #endif
- yynewerror:
- yyerror("syntax error");
- #ifdef lint
- goto yyerrlab;
- #endif
- yyerrlab:
- ++yynerrs;
- yyinrecovery:
- if (yyerrflag < 3)
- {
- yyerrflag = 3;
- for (;;)
- {
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- {
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: state %d, error recovery shifting\
- to state %d\n", *yyssp, yytable[yyn]);
- #endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- goto yyloop;
- }
- else
- {
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: error recovery discarding state %d\n",
- *yyssp);
- #endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
- }
- }
- }
- else
- {
- if (yychar == 0) goto yyabort;
- #if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("yydebug: state %d, error recovery discards token %d (%s)\n",
- yystate, yychar, yys);
- }
- #endif
- yychar = (-1);
- goto yyloop;
- }
- yyreduce:
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: state %d, reducing by rule %d (%s)\n",
- yystate, yyn, yyrule[yyn]);
- #endif
- yym = yylen[yyn];
- yyval = yyvsp[1-yym];
- switch (yyn)
- {
- case 1:
- #line 51 "a2p.y"
- { root = oper4(OPROG,yyvsp[-1],begins,yyvsp[0],ends); }
- break;
- case 2:
- #line 55 "a2p.y"
- { begins = oper4(OJUNK,begins,yyvsp[-3],yyvsp[-2],yyvsp[0]); in_begin = FALSE;
- yyval = Nullop; }
- break;
- case 3:
- #line 60 "a2p.y"
- { ends = oper3(OJUNK,ends,yyvsp[-2],yyvsp[-1]); yyval = Nullop; }
- break;
- case 4:
- #line 62 "a2p.y"
- { yyval = yyvsp[-1]; }
- break;
- case 5:
- #line 66 "a2p.y"
- { yyval = oper3(OHUNKS,yyvsp[-2],yyvsp[-1],yyvsp[0]); }
- break;
- case 6:
- #line 68 "a2p.y"
- { yyval = Nullop; }
- break;
- case 7:
- #line 72 "a2p.y"
- { yyval = oper1(OHUNK,yyvsp[0]); need_entire = TRUE; }
- break;
- case 8:
- #line 74 "a2p.y"
- { yyval = oper2(OHUNK,yyvsp[-4],oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
- break;
- case 9:
- #line 76 "a2p.y"
- { fixfargs(yyvsp[-8],yyvsp[-6],0); yyval = oper5(OUSERDEF,yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-2],yyvsp[-1]); }
- break;
- case 10:
- #line 78 "a2p.y"
- { yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
- break;
- case 13:
- #line 84 "a2p.y"
- { yyval = rememberargs(yyval); }
- break;
- case 14:
- #line 88 "a2p.y"
- { yyval = oper1(OPAT,yyvsp[0]); }
- break;
- case 15:
- #line 90 "a2p.y"
- { yyval = oper2(ORANGE,yyvsp[-2],yyvsp[0]); }
- break;
- case 20:
- #line 98 "a2p.y"
- { yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
- break;
- case 21:
- #line 103 "a2p.y"
- { yyval = oper1(OCPAREN,yyvsp[-1]); }
- break;
- case 22:
- #line 105 "a2p.y"
- { yyval = oper3(OCANDAND,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
- break;
- case 23:
- #line 107 "a2p.y"
- { yyval = oper3(OCOROR,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
- break;
- case 24:
- #line 109 "a2p.y"
- { yyval = oper1(OCNOT,yyvsp[0]); }
- break;
- case 25:
- #line 113 "a2p.y"
- { yyval = oper3(ORELOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
- break;
- case 26:
- #line 115 "a2p.y"
- { yyval = oper3(ORELOP,string(">",1),yyvsp[-2],yyvsp[0]); }
- break;
- case 27:
- #line 117 "a2p.y"
- { yyval = oper3(ORELOP,string("<",1),yyvsp[-2],yyvsp[0]); }
- break;
- case 28:
- #line 119 "a2p.y"
- { yyval = oper1(ORPAREN,yyvsp[-1]); }
- break;
- case 29:
- #line 123 "a2p.y"
- { yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
- break;
- case 30:
- #line 125 "a2p.y"
- { yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],oper1(OREGEX,yyvsp[0])); }
- break;
- case 31:
- #line 127 "a2p.y"
- { yyval = oper1(OREGEX,yyvsp[0]); }
- break;
- case 32:
- #line 129 "a2p.y"
- { yyval = oper1(OMPAREN,yyvsp[-1]); }
- break;
- case 33:
- #line 133 "a2p.y"
- { yyval = yyvsp[0]; }
- break;
- case 34:
- #line 135 "a2p.y"
- { yyval = oper2(OCONCAT,yyvsp[-1],yyvsp[0]); }
- break;
- case 35:
- #line 137 "a2p.y"
- { yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]);
- if ((ops[yyvsp[-2]].ival & 255) == OFLD)
- lval_field = TRUE;
- if ((ops[yyvsp[-2]].ival & 255) == OVFLD)
- lval_field = TRUE;
- }
- break;
- case 36:
- #line 146 "a2p.y"
- { yyval = yyvsp[0]; }
- break;
- case 37:
- #line 148 "a2p.y"
- { yyval = oper1(ONUM,yyvsp[0]); }
- break;
- case 38:
- #line 150 "a2p.y"
- { yyval = oper1(OSTR,yyvsp[0]); }
- break;
- case 39:
- #line 152 "a2p.y"
- { yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); }
- break;
- case 40:
- #line 154 "a2p.y"
- { yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); }
- break;
- case 41:
- #line 156 "a2p.y"
- { yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); }
- break;
- case 42:
- #line 158 "a2p.y"
- { yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); }
- break;
- case 43:
- #line 160 "a2p.y"
- { yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); }
- break;
- case 44:
- #line 162 "a2p.y"
- { yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); }
- break;
- case 45:
- #line 164 "a2p.y"
- { yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); }
- break;
- case 46:
- #line 166 "a2p.y"
- { yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
- break;
- case 47:
- #line 168 "a2p.y"
- { yyval = oper1(OPOSTINCR,yyvsp[-1]); }
- break;
- case 48:
- #line 170 "a2p.y"
- { yyval = oper1(OPOSTDECR,yyvsp[-1]); }
- break;
- case 49:
- #line 172 "a2p.y"
- { yyval = oper1(OPREINCR,yyvsp[0]); }
- break;
- case 50:
- #line 174 "a2p.y"
- { yyval = oper1(OPREDECR,yyvsp[0]); }
- break;
- case 51:
- #line 176 "a2p.y"
- { yyval = oper1(OUMINUS,yyvsp[0]); }
- break;
- case 52:
- #line 178 "a2p.y"
- { yyval = oper1(OUPLUS,yyvsp[0]); }
- break;
- case 53:
- #line 180 "a2p.y"
- { yyval = oper1(OPAREN,yyvsp[-1]); }
- break;
- case 54:
- #line 182 "a2p.y"
- { yyval = oper0(OGETLINE); }
- break;
- case 55:
- #line 184 "a2p.y"
- { yyval = oper1(OGETLINE,yyvsp[0]); }
- break;
- case 56:
- #line 186 "a2p.y"
- { yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]);
- if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
- break;
- case 57:
- #line 189 "a2p.y"
- { yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]);
- if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
- break;
- case 58:
- #line 192 "a2p.y"
- { yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]);
- if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
- break;
- case 59:
- #line 195 "a2p.y"
- { yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]);
- if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
- break;
- case 60:
- #line 198 "a2p.y"
- { yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; }
- break;
- case 61:
- #line 200 "a2p.y"
- { yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; }
- break;
- case 62:
- #line 202 "a2p.y"
- { yyval = oper1(yyvsp[-3],yyvsp[-1]); }
- break;
- case 63:
- #line 204 "a2p.y"
- { yyval = oper1(yyvsp[-3],yyvsp[-1]); }
- break;
- case 64:
- #line 206 "a2p.y"
- { yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); }
- break;
- case 65:
- #line 208 "a2p.y"
- { yyval = oper1(OSPRINTF,yyvsp[0]); }
- break;
- case 66:
- #line 210 "a2p.y"
- { yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
- break;
- case 67:
- #line 212 "a2p.y"
- { yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); }
- break;
- case 68:
- #line 214 "a2p.y"
- { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); }
- break;
- case 69:
- #line 216 "a2p.y"
- { yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));}
- break;
- case 70:
- #line 218 "a2p.y"
- { yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); }
- break;
- case 71:
- #line 220 "a2p.y"
- { yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); }
- break;
- case 72:
- #line 222 "a2p.y"
- { yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); }
- break;
- case 73:
- #line 224 "a2p.y"
- { yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); }
- break;
- case 74:
- #line 226 "a2p.y"
- { yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); }
- break;
- case 75:
- #line 228 "a2p.y"
- { yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
- break;
- case 76:
- #line 230 "a2p.y"
- { yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); }
- break;
- case 77:
- #line 232 "a2p.y"
- { yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
- break;
- case 78:
- #line 234 "a2p.y"
- { yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
- break;
- case 79:
- #line 236 "a2p.y"
- { yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
- break;
- case 80:
- #line 238 "a2p.y"
- { yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
- break;
- case 81:
- #line 240 "a2p.y"
- { yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
- break;
- case 82:
- #line 244 "a2p.y"
- { yyval = oper1(OVAR,yyvsp[0]); }
- break;
- case 83:
- #line 246 "a2p.y"
- { yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
- break;
- case 84:
- #line 248 "a2p.y"
- { yyval = oper1(OFLD,yyvsp[0]); }
- break;
- case 85:
- #line 250 "a2p.y"
- { yyval = oper1(OVFLD,yyvsp[0]); }
- break;
- case 88:
- #line 257 "a2p.y"
- { yyval = Nullop; }
- break;
- case 89:
- #line 261 "a2p.y"
- { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
- break;
- case 90:
- #line 263 "a2p.y"
- { yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
- break;
- case 91:
- #line 265 "a2p.y"
- { yyval = yyvsp[-1]; }
- break;
- case 92:
- #line 269 "a2p.y"
- { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
- break;
- case 93:
- #line 271 "a2p.y"
- { yyval = Nullop; }
- break;
- case 94:
- #line 275 "a2p.y"
- { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
- break;
- case 95:
- #line 277 "a2p.y"
- { yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
- break;
- case 96:
- #line 279 "a2p.y"
- { yyval = oper0(ONEWLINE); }
- break;
- case 97:
- #line 281 "a2p.y"
- { yyval = oper1(OCOMMENT,yyvsp[0]); }
- break;
- case 98:
- #line 285 "a2p.y"
- { yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
- break;
- case 99:
- #line 287 "a2p.y"
- { yyval = Nullop; }
- break;
- case 100:
- #line 291 "a2p.y"
- { yyval = oper0(ONEWLINE); }
- break;
- case 101:
- #line 293 "a2p.y"
- { yyval = oper1(OCOMMENT,yyvsp[0]); }
- break;
- case 102:
- #line 298 "a2p.y"
- { yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); }
- break;
- case 103:
- #line 300 "a2p.y"
- { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
- break;
- case 104:
- #line 302 "a2p.y"
- { yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
- break;
- case 105:
- #line 304 "a2p.y"
- { yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); }
- break;
- case 106:
- #line 308 "a2p.y"
- { yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); }
- break;
- case 107:
- #line 310 "a2p.y"
- { yyval = Nullop; }
- break;
- case 108:
- #line 315 "a2p.y"
- { yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); }
- break;
- case 109:
- #line 317 "a2p.y"
- { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); }
- break;
- case 110:
- #line 319 "a2p.y"
- { yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); }
- break;
- case 113:
- #line 325 "a2p.y"
- { yyval = Nullop; }
- break;
- case 115:
- #line 331 "a2p.y"
- { yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]);
- do_opens = TRUE;
- saw_ORS = saw_OFS = TRUE;
- if (!yyvsp[-2]) need_entire = TRUE;
- if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
- break;
- case 116:
- #line 337 "a2p.y"
- { yyval = oper1(OPRINT,yyvsp[0]);
- if (!yyvsp[0]) need_entire = TRUE;
- saw_ORS = saw_OFS = TRUE;
- }
- break;
- case 117:
- #line 342 "a2p.y"
- { yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]);
- do_opens = TRUE;
- if (!yyvsp[-2]) need_entire = TRUE;
- if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
- break;
- case 118:
- #line 347 "a2p.y"
- { yyval = oper1(OPRINTF,yyvsp[0]);
- if (!yyvsp[0]) need_entire = TRUE;
- }
- break;
- case 119:
- #line 351 "a2p.y"
- { yyval = oper0(OBREAK); }
- break;
- case 120:
- #line 353 "a2p.y"
- { yyval = oper0(ONEXT); }
- break;
- case 121:
- #line 355 "a2p.y"
- { yyval = oper0(OEXIT); }
- break;
- case 122:
- #line 357 "a2p.y"
- { yyval = oper1(OEXIT,yyvsp[0]); }
- break;
- case 123:
- #line 359 "a2p.y"
- { yyval = oper0(OCONTINUE); }
- break;
- case 124:
- #line 361 "a2p.y"
- { yyval = oper0(ORETURN); }
- break;
- case 125:
- #line 363 "a2p.y"
- { yyval = oper1(ORETURN,yyvsp[0]); }
- break;
- case 126:
- #line 365 "a2p.y"
- { yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
- break;
- case 127:
- #line 369 "a2p.y"
- { yyval = oper1(OREDIR,string(">",1)); }
- break;
- case 128:
- #line 371 "a2p.y"
- { yyval = oper1(OREDIR,string(">>",2)); }
- break;
- case 129:
- #line 373 "a2p.y"
- { yyval = oper1(OREDIR,string("|",1)); }
- break;
- case 130:
- #line 378 "a2p.y"
- { yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
- break;
- case 131:
- #line 380 "a2p.y"
- { yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); }
- break;
- case 132:
- #line 382 "a2p.y"
- { yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
- break;
- case 133:
- #line 384 "a2p.y"
- { yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); }
- break;
- case 134:
- #line 386 "a2p.y"
- { yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
- break;
- case 135:
- #line 388 "a2p.y"
- { yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
- break;
- case 136:
- #line 390 "a2p.y"
- { yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
- break;
- case 137:
- #line 392 "a2p.y"
- { yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); }
- break;
- #line 2611 "y.tab.c"
- }
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
- yym = yylhs[yyn];
- if (yystate == 0 && yym == 0)
- {
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: after reduction, shifting from state 0 to\
- state %d\n", YYFINAL);
- #endif
- yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
- #if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("yydebug: state %d, reading %d (%s)\n",
- YYFINAL, yychar, yys);
- }
- #endif
- }
- if (yychar == 0) goto yyaccept;
- goto yyloop;
- }
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
- yystate = yytable[yyn];
- else
- yystate = yydgoto[yym];
- #if YYDEBUG
- if (yydebug)
- printf("yydebug: after reduction, shifting from state %d \
- to state %d\n", *yyssp, yystate);
- #endif
- if (yyssp >= yyss + yystacksize - 1)
- {
- goto yyoverflow;
- }
- *++yyssp = yystate;
- *++yyvsp = yyval;
- goto yyloop;
- yyoverflow:
- yyerror("yacc stack overflow");
- yyabort:
- return (1);
- yyaccept:
- return (0);
- }
-