1 /* Code generated from eC source file: grammar.ec */
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
7 #define __runtimePlatform 2
10 typedef long long int64;
11 typedef unsigned long long uint64;
15 #elif defined(__TINYC__)
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
27 typedef long long int64;
28 typedef unsigned long long uint64;
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
34 #define __ENDIAN_PAD(x) (8 - (x))
36 #define __ENDIAN_PAD(x) 0
39 # if defined(__GNUC__) || defined(__TINYC__)
40 # define ecere_stdcall __attribute__((__stdcall__))
41 # define ecere_gcc_struct __attribute__((gcc_struct))
43 # define ecere_stdcall __stdcall
44 # define ecere_gcc_struct
47 # define ecere_stdcall
48 # define ecere_gcc_struct
51 #include <sys/types.h>
54 IDENTIFIER = 258, CONSTANT = 259, STRING_LITERAL = 260, SIZEOF = 261, PTR_OP = 262, INC_OP = 263, DEC_OP = 264, LEFT_OP = 265, RIGHT_OP = 266, LE_OP = 267, GE_OP = 268, EQ_OP = 269, NE_OP = 270, AND_OP = 271, OR_OP = 272, MUL_ASSIGN = 273, DIV_ASSIGN = 274, MOD_ASSIGN = 275, ADD_ASSIGN = 276, SUB_ASSIGN = 277, LEFT_ASSIGN = 278, RIGHT_ASSIGN = 279, AND_ASSIGN = 280, XOR_ASSIGN = 281, OR_ASSIGN = 282, TYPE_NAME = 283, TYPEDEF = 284, EXTERN = 285, STATIC = 286, AUTO = 287, REGISTER = 288, CHAR = 289, SHORT = 290, INT = 291, UINT = 292, INT64 = 293, INT128 = 294, LONG = 295, SIGNED = 296, UNSIGNED = 297, FLOAT = 298, DOUBLE = 299, CONST = 300, VOLATILE = 301, VOID = 302, VALIST = 303, STRUCT = 304, UNION = 305, ENUM = 306, ELLIPSIS = 307, CASE = 308, DEFAULT = 309, IF = 310, SWITCH = 311, WHILE = 312, DO = 313, FOR = 314, GOTO = 315, CONTINUE = 316, BREAK = 317, RETURN = 318, IFX = 319, ELSE = 320, CLASS = 321, THISCLASS = 322, CLASS_NAME = 323, PROPERTY = 324, SETPROP = 325, GETPROP = 326, NEWOP = 327, RENEW = 328, DELETE = 329, EXT_DECL = 330, EXT_STORAGE = 331, IMPORT = 332, DEFINE = 333, VIRTUAL = 334, ATTRIB = 335, PUBLIC = 336, PRIVATE = 337, TYPED_OBJECT = 338, ANY_OBJECT = 339, _INCREF = 340, EXTENSION = 341, ASM = 342, TYPEOF = 343, WATCH = 344, STOPWATCHING = 345, FIREWATCHERS = 346, WATCHABLE = 347, CLASS_DESIGNER = 348, CLASS_NO_EXPANSION = 349, CLASS_FIXED = 350, ISPROPSET = 351, CLASS_DEFAULT_PROPERTY = 352, PROPERTY_CATEGORY = 353, CLASS_DATA = 354, CLASS_PROPERTY = 355, SUBCLASS = 356, NAMESPACE = 357, NEW0OP = 358, RENEW0 = 359, VAARG = 360, DBTABLE = 361, DBFIELD = 362, DBINDEX = 363, DATABASE_OPEN = 364, ALIGNOF = 365, ATTRIB_DEP = 366, __ATTRIB = 367, BOOL = 368, _BOOL = 369, _COMPLEX = 370, _IMAGINARY = 371, RESTRICT = 372, THREAD = 373, WIDE_STRING_LITERAL = 374, BUILTIN_OFFSETOF = 375
65 unsigned int deleteWatchable = 0;
67 int memberAccessStack[256];
69 int defaultMemberAccess = -1;
71 typedef unsigned char yytype_uint8;
73 typedef signed char yytype_int8;
75 typedef unsigned short int yytype_uint16;
77 typedef short int yytype_int16;
79 void * malloc(size_t);
83 static const yytype_uint8 yytranslate[] =
85 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 140, 2, 2, 134, 142, 137, 2, 124, 125, 121, 138, 129, 139, 132, 141, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 133, 127, 122, 128, 123, 145, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 135, 2, 136, 143, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 131, 144, 130, 126, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120
88 static const yytype_uint16 yyprhs[] =
90 0, 0, 3, 6, 9, 11, 14, 16, 18, 20, 25, 30, 33, 35, 39, 44, 48, 51, 54, 56, 60, 63, 66, 69, 72, 75, 78, 81, 85, 88, 90, 93, 95, 98, 101, 104, 107, 110, 113, 115, 117, 121, 123, 127, 131, 133, 135, 139, 143, 145, 149, 153, 157, 161, 163, 166, 169, 171, 173, 176, 179, 182, 185, 188, 191, 193, 195, 197, 200, 203, 205, 208, 211, 214, 217, 219, 222, 225, 229, 234, 240, 245, 249, 254, 257, 261, 266, 272, 277, 281, 286, 292, 298, 303, 306, 310, 314, 318, 322, 325, 330, 334, 338, 341, 346, 350, 353, 357, 360, 364, 367, 369, 372, 376, 380, 384, 387, 389, 393, 397, 399, 403, 407, 410, 415, 421, 425, 430, 434, 436, 440, 444, 448, 451, 455, 458, 463, 469, 473, 478, 482, 484, 488, 492, 495, 497, 500, 503, 506, 508, 511, 517, 525, 535, 542, 551, 556, 563, 565, 568, 572, 577, 580, 583, 585, 587, 590, 593, 595, 597, 599, 601, 609, 611, 614, 619, 621, 623, 626, 630, 633, 636, 639, 643, 645, 648, 651, 654, 656, 658, 660, 663, 666, 669, 673, 677, 679, 681, 684, 687, 689, 692, 695, 698, 701, 703, 706, 708, 711, 714, 719, 724, 731, 734, 739, 744, 751, 753, 755, 759, 761, 766, 772, 774, 776, 778, 780, 784, 786, 788, 790, 794, 798, 802, 804, 808, 810, 813, 816, 820, 824, 830, 836, 843, 850, 853, 856, 860, 864, 868, 872, 876, 880, 884, 888, 892, 896, 900, 902, 904, 908, 910, 913, 918, 920, 922, 924, 929, 934, 940, 949, 952, 954, 956, 958, 961, 968, 975, 981, 987, 994, 1001, 1007, 1013, 1021, 1029, 1036, 1043, 1051, 1059, 1066, 1073, 1078, 1084, 1089, 1096, 1101, 1103, 1105, 1107, 1109, 1113, 1116, 1118, 1121, 1124, 1127, 1129, 1134, 1139, 1143, 1148, 1153, 1157, 1161, 1164, 1167, 1172, 1177, 1181, 1186, 1190, 1194, 1197, 1200, 1202, 1204, 1208, 1212, 1214, 1216, 1220, 1224, 1227, 1230, 1233, 1236, 1239, 1242, 1247, 1253, 1259, 1262, 1267, 1274, 1276, 1278, 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 1296, 1301, 1303, 1307, 1311, 1315, 1319, 1323, 1327, 1329, 1333, 1337, 1341, 1345, 1347, 1351, 1355, 1359, 1363, 1366, 1368, 1371, 1375, 1379, 1383, 1387, 1391, 1395, 1399, 1401, 1405, 1409, 1413, 1417, 1421, 1425, 1429, 1433, 1435, 1439, 1443, 1447, 1451, 1453, 1457, 1461, 1465, 1469, 1471, 1475, 1479, 1483, 1487, 1489, 1493, 1497, 1499, 1503, 1507, 1509, 1515, 1521, 1527, 1533, 1539, 1545, 1551, 1557, 1563, 1569, 1575, 1581, 1587, 1593, 1599, 1605, 1607, 1611, 1615, 1619, 1623, 1627, 1631, 1635, 1639, 1641, 1643, 1645, 1647, 1649, 1651, 1653, 1655, 1657, 1659, 1661, 1663, 1667, 1671, 1674, 1676, 1680, 1684, 1686, 1688, 1691, 1694, 1698, 1702, 1706, 1710, 1714, 1718, 1722, 1725, 1728, 1731, 1734, 1737, 1743, 1750, 1757, 1760, 1766, 1768, 1770, 1772, 1777, 1779, 1783, 1787, 1791, 1795, 1799, 1803, 1805, 1809, 1813, 1817, 1821, 1823, 1827, 1831, 1835, 1839, 1841, 1844, 1848, 1852, 1856, 1860, 1864, 1868, 1872, 1874, 1878, 1882, 1886, 1890, 1894, 1898, 1902, 1906, 1908, 1912, 1916, 1920, 1924, 1926, 1930, 1934, 1938, 1942, 1944, 1948, 1952, 1956, 1960, 1962, 1966, 1970, 1972, 1976, 1980, 1982, 1988, 1994, 2000, 2006, 2011, 2016, 2021, 2026, 2032, 2038, 2044, 2050, 2055, 2060, 2065, 2070, 2076, 2082, 2088, 2094, 2100, 2106, 2112, 2118, 2122, 2126, 2129, 2132, 2134, 2138, 2142, 2146, 2150, 2152, 2155, 2159, 2163, 2166, 2169, 2172, 2174, 2177, 2181, 2185, 2187, 2189, 2191, 2193, 2195, 2197, 2199, 2201, 2203, 2205, 2207, 2209, 2211, 2213, 2215, 2217, 2219, 2223, 2227, 2229, 2233, 2236, 2238, 2241, 2244, 2247, 2252, 2257, 2261, 2265, 2270, 2276, 2281, 2288, 2295, 2300, 2306, 2311, 2318, 2325, 2331, 2337, 2340, 2343, 2346, 2352, 2356, 2362, 2369, 2375, 2383, 2391, 2400, 2409, 2417, 2425, 2429, 2433, 2437, 2442, 2446, 2452, 2458, 2465, 2473, 2480, 2485, 2487, 2489, 2491, 2493, 2495, 2497, 2499, 2501, 2503, 2506, 2508, 2510, 2512, 2514, 2516, 2518, 2520, 2522, 2524, 2526, 2528, 2530, 2532, 2534, 2536, 2538, 2540, 2545, 2550, 2555, 2557, 2559, 2561, 2563, 2565, 2567, 2569, 2571, 2573, 2575, 2577, 2579, 2581, 2583, 2585, 2587, 2589, 2591, 2593, 2595, 2597, 2599, 2601, 2603, 2605, 2607, 2609, 2611, 2616, 2621, 2626, 2628, 2630, 2633, 2636, 2640, 2646, 2649, 2653, 2659, 2665, 2671, 2673, 2677, 2680, 2683, 2687, 2691, 2694, 2698, 2702, 2707, 2711, 2715, 2719, 2723, 2727, 2731, 2736, 2741, 2746, 2748, 2750, 2755, 2759, 2762, 2766, 2770, 2774, 2778, 2782, 2786, 2790, 2794, 2798, 2802, 2806, 2810, 2812, 2814, 2816, 2819, 2821, 2824, 2826, 2829, 2831, 2834, 2836, 2839, 2841, 2844, 2846, 2849, 2851, 2854, 2856, 2859, 2861, 2864, 2866, 2869, 2871, 2874, 2876, 2879, 2881, 2884, 2886, 2889, 2891, 2894, 2896, 2899, 2901, 2904, 2906, 2909, 2911, 2914, 2916, 2919, 2921, 2924, 2926, 2929, 2931, 2934, 2936, 2939, 2941, 2944, 2946, 2948, 2950, 2953, 2955, 2958, 2960, 2963, 2965, 2968, 2973, 2979, 2981, 2983, 2985, 2988, 2990, 2993, 2995, 2998, 3000, 3003, 3008, 3014, 3016, 3019, 3021, 3024, 3026, 3029, 3031, 3034, 3036, 3039, 3041, 3044, 3049, 3055, 3057, 3060, 3062, 3065, 3067, 3070, 3072, 3075, 3077, 3080, 3082, 3085, 3090, 3096, 3100, 3104, 3106, 3110, 3114, 3118, 3122, 3124, 3126, 3128, 3133, 3138, 3143, 3147, 3152, 3157, 3162, 3166, 3168, 3172, 3177, 3181, 3186, 3191, 3196, 3201, 3205, 3208, 3212, 3216, 3220, 3224, 3227, 3230, 3233, 3237, 3242, 3244, 3246, 3249, 3253, 3257, 3261, 3265, 3268, 3271, 3274, 3278, 3283, 3285, 3287, 3289, 3291, 3293, 3298, 3300, 3302, 3304, 3306, 3308, 3310, 3312, 3314, 3316, 3321, 3323, 3326, 3330, 3337, 3343, 3347, 3352, 3355, 3359, 3363, 3367, 3371, 3376, 3381, 3386, 3389, 3393, 3397, 3401, 3406, 3411, 3415, 3420, 3423, 3427, 3431, 3435, 3440, 3445, 3447, 3450, 3453, 3457, 3459, 3461, 3464, 3467, 3471, 3473, 3475, 3478, 3481, 3485, 3487, 3490, 3494, 3497, 3500, 3502, 3505, 3509, 3512, 3514, 3517, 3521, 3525, 3527, 3530, 3534, 3538, 3540, 3543, 3547, 3551, 3553, 3556, 3560, 3564, 3566, 3569, 3573, 3577, 3579, 3583, 3588, 3590, 3595, 3598, 3604, 3608, 3610, 3612, 3614, 3616, 3618, 3620, 3624, 3628, 3631, 3634, 3636, 3638, 3642, 3645, 3649, 3651, 3655, 3659, 3663, 3667, 3671, 3675, 3677, 3680, 3684, 3688, 3690, 3693, 3695, 3698, 3701, 3704, 3707, 3711, 3713, 3715, 3719, 3723, 3725, 3729, 3734, 3738, 3743, 3747, 3751, 3756, 3760, 3765, 3767, 3771, 3775, 3780, 3784, 3788, 3792, 3797, 3799, 3803, 3807, 3811, 3815, 3819, 3821, 3825, 3828, 3830, 3832, 3834, 3836, 3838, 3841, 3843, 3845, 3847, 3849, 3852, 3855, 3858, 3860, 3862, 3864, 3866, 3868, 3871, 3873, 3875, 3880, 3888, 3890, 3894, 3895, 3902, 3911, 3922, 3935, 3944, 3955, 3966, 3972, 3980, 3990, 4002, 4010, 4020, 4030, 4034, 4039, 4044, 4048, 4052, 4056, 4061, 4066, 4070, 4074, 4078, 4083, 4088, 4092, 4095, 4099, 4102, 4106, 4111, 4116, 4120, 4124, 4126, 4128, 4130, 4132, 4134, 4137, 4141, 4144, 4147, 4150, 4154, 4158, 4161, 4167, 4174, 4177, 4180, 4183, 4186, 4189, 4192, 4194, 4197, 4200, 4204, 4206, 4209, 4211, 4214, 4217, 4219, 4222, 4225, 4228, 4231, 4234, 4237, 4239, 4241, 4244, 4247, 4249, 4251, 4254, 4257, 4259, 4262, 4265, 4267, 4270, 4272, 4275, 4278, 4284, 4290, 4298, 4306, 4312, 4318, 4322, 4325, 4331, 4336, 4341, 4349, 4356, 4363, 4369, 4377, 4384, 4389, 4397, 4407, 4411, 4416, 4421, 4427, 4433, 4440, 4448, 4455, 4462, 4468, 4474, 4479, 4483, 4486, 4488, 4491, 4496, 4500, 4506, 4511, 4515, 4518, 4521, 4524, 4528, 4532, 4536, 4540, 4543, 4546, 4548, 4550, 4555, 4559, 4564, 4568, 4572, 4575, 4580, 4584, 4589, 4593, 4597, 4600, 4602, 4605, 4607, 4609, 4612, 4614, 4617, 4621, 4625, 4627, 4630, 4633, 4636, 4640, 4645, 4650, 4653, 4656, 4659, 4662, 4664, 4667, 4669, 4672, 4674, 4677, 4680, 4682, 4685, 4687, 4690, 4693, 4696, 4699, 4701, 4704, 4707, 4711, 4713, 4715, 4716, 4723, 4730, 4736, 4741, 4743, 4746, 4749, 4751, 4755, 4759, 4764, 4766, 4768, 4771, 4774, 4781, 4788, 4795
93 static const yytype_int16 yyrhs[] =
95 392, 0, -1, 218, 121, -1, 218, 122, -1, 151, -1, 218, 218, -1, 28, -1, 28, -1, 149, -1, 149, 122, 212, 123, -1, 149, 122, 212, 11, -1, 301, 336, -1, 334, -1, 301, 124, 125, -1, 126, 301, 124, 125, -1, 79, 301, 336, -1, 79, 334, -1, 301, 337, -1, 335, -1, 79, 301, 337, -1, 79, 335, -1, 152, 376, -1, 155, 376, -1, 155, 127, -1, 153, 376, -1, 154, 376, -1, 152, 127, -1, 152, 326, 127, -1, 152, 377, -1, 156, -1, 155, 377, -1, 157, -1, 157, 127, -1, 300, 336, -1, 300, 338, -1, 300, 337, -1, 160, 376, -1, 160, 377, -1, 161, -1, 160, -1, 226, 128, 341, -1, 341, -1, 226, 128, 342, -1, 226, 128, 1, -1, 342, -1, 164, -1, 166, 129, 164, -1, 167, 129, 164, -1, 165, -1, 166, 129, 165, -1, 167, 129, 165, -1, 166, 129, 1, -1, 167, 129, 1, -1, 129, -1, 166, 127, -1, 167, 127, -1, 168, -1, 162, -1, 171, 168, -1, 171, 162, -1, 169, 168, -1, 169, 162, -1, 171, 127, -1, 169, 127, -1, 127, -1, 169, -1, 166, -1, 169, 166, -1, 171, 166, -1, 163, -1, 170, 163, -1, 171, 163, -1, 169, 163, -1, 169, 167, -1, 167, -1, 166, 1, -1, 173, 130, -1, 173, 1, 130, -1, 300, 218, 131, 171, -1, 300, 218, 131, 170, 1, -1, 300, 218, 131, 170, -1, 300, 218, 131, -1, 300, 218, 131, 1, -1, 175, 130, -1, 175, 1, 130, -1, 301, 218, 131, 171, -1, 301, 218, 131, 170, 1, -1, 301, 218, 131, 170, -1, 301, 218, 131, -1, 301, 218, 131, 1, -1, 302, 218, 131, 170, 130, -1, 302, 218, 131, 171, 130, -1, 302, 218, 131, 130, -1, 178, 130, -1, 178, 1, 130, -1, 151, 131, 170, -1, 218, 131, 170, -1, 151, 131, 171, -1, 151, 131, -1, 151, 131, 170, 1, -1, 151, 131, 1, -1, 218, 131, 171, -1, 218, 131, -1, 218, 131, 170, 1, -1, 218, 131, 1, -1, 180, 130, -1, 180, 1, 130, -1, 131, 171, -1, 131, 170, 1, -1, 131, 1, -1, 131, -1, 131, 170, -1, 226, 128, 341, -1, 226, 128, 342, -1, 226, 128, 1, -1, 226, 1, -1, 181, -1, 183, 129, 181, -1, 184, 129, 181, -1, 182, -1, 183, 129, 182, -1, 184, 129, 182, -1, 183, 1, -1, 69, 306, 218, 131, -1, 69, 306, 330, 218, 131, -1, 69, 306, 131, -1, 69, 306, 330, 131, -1, 69, 1, 131, -1, 185, -1, 186, 70, 376, -1, 186, 71, 376, -1, 186, 96, 376, -1, 186, 92, -1, 186, 98, 220, -1, 186, 130, -1, 100, 306, 218, 131, -1, 100, 306, 330, 218, 131, -1, 100, 306, 131, -1, 100, 306, 330, 131, -1, 100, 1, 131, -1, 188, -1, 189, 70, 376, -1, 189, 71, 376, -1, 189, 130, -1, 218, -1, 191, 218, -1, 191, 376, -1, 74, 376, -1, 192, -1, 193, 192, -1, 89, 124, 191, 125, 376, -1, 89, 124, 245, 125, 131, 193, 130, -1, 245, 132, 89, 124, 245, 125, 131, 193, 130, -1, 90, 124, 245, 129, 191, 125, -1, 245, 132, 90, 124, 245, 129, 191, 125, -1, 90, 124, 245, 125, -1, 245, 132, 90, 124, 245, 125, -1, 91, -1, 91, 191, -1, 226, 132, 91, -1, 245, 132, 91, 191, -1, 199, 127, -1, 183, 127, -1, 158, -1, 187, -1, 364, 158, -1, 364, 187, -1, 190, -1, 92, -1, 94, -1, 95, -1, 100, 124, 218, 125, 128, 341, 127, -1, 127, -1, 364, 133, -1, 364, 124, 218, 125, -1, 159, -1, 301, -1, 301, 288, -1, 364, 301, 288, -1, 364, 301, -1, 364, 177, -1, 364, 174, -1, 99, 301, 288, -1, 194, -1, 93, 218, -1, 93, 151, -1, 97, 218, -1, 177, -1, 174, -1, 183, -1, 175, 1, -1, 178, 1, -1, 364, 159, -1, 364, 175, 1, -1, 364, 178, 1, -1, 184, -1, 198, -1, 200, 198, -1, 201, 198, -1, 199, -1, 200, 1, -1, 201, 1, -1, 200, 199, -1, 201, 199, -1, 301, -1, 301, 330, -1, 301, -1, 301, 330, -1, 66, 218, -1, 66, 218, 128, 203, -1, 66, 218, 133, 202, -1, 66, 218, 133, 202, 128, 203, -1, 66, 150, -1, 66, 150, 128, 203, -1, 66, 150, 133, 202, -1, 66, 150, 133, 202, 128, 203, -1, 218, -1, 218, -1, 218, 128, 205, -1, 235, -1, 301, 218, 128, 207, -1, 301, 330, 218, 128, 207, -1, 204, -1, 206, -1, 208, -1, 209, -1, 210, 129, 209, -1, 207, -1, 205, -1, 203, -1, 218, 128, 207, -1, 218, 128, 205, -1, 218, 128, 203, -1, 211, -1, 212, 129, 211, -1, 66, -1, 213, 218, -1, 213, 149, -1, 218, 213, 218, -1, 218, 213, 149, -1, 213, 218, 122, 210, 123, -1, 213, 149, 122, 210, 123, -1, 218, 213, 218, 122, 210, 123, -1, 218, 213, 149, 122, 210, 123, -1, 217, 130, -1, 216, 127, -1, 214, 131, 130, -1, 216, 131, 130, -1, 213, 218, 127, -1, 213, 148, 127, -1, 214, 133, 305, -1, 214, 131, 201, -1, 216, 131, 201, -1, 214, 131, 200, -1, 216, 131, 200, -1, 214, 131, 1, -1, 216, 131, 1, -1, 3, -1, 222, -1, 124, 247, 125, -1, 387, -1, 134, 387, -1, 134, 387, 132, 387, -1, 4, -1, 218, -1, 177, -1, 86, 124, 376, 125, -1, 86, 124, 247, 125, -1, 86, 124, 348, 125, 339, -1, 86, 124, 348, 125, 124, 348, 125, 339, -1, 221, 218, -1, 221, -1, 220, -1, 119, -1, 124, 125, -1, 72, 308, 331, 135, 267, 136, -1, 72, 308, 331, 135, 268, 136, -1, 72, 308, 135, 267, 136, -1, 72, 308, 135, 268, 136, -1, 103, 308, 331, 135, 267, 136, -1, 103, 308, 331, 135, 268, 136, -1, 103, 308, 135, 267, 136, -1, 103, 308, 135, 268, 136, -1, 73, 267, 307, 331, 135, 267, 136, -1, 73, 267, 307, 331, 135, 268, 136, -1, 73, 267, 307, 135, 267, 136, -1, 73, 267, 307, 135, 268, 136, -1, 104, 267, 307, 331, 135, 267, 136, -1, 104, 267, 307, 331, 135, 268, 136, -1, 104, 267, 307, 135, 267, 136, -1, 104, 267, 307, 135, 268, 136, -1, 66, 124, 300, 125, -1, 66, 124, 300, 330, 125, -1, 66, 124, 218, 125, -1, 105, 124, 245, 129, 348, 125, -1, 99, 124, 218, 125, -1, 399, -1, 400, -1, 401, -1, 402, -1, 135, 227, 136, -1, 135, 136, -1, 179, -1, 180, 1, -1, 124, 247, -1, 124, 265, -1, 219, -1, 226, 135, 247, 136, -1, 226, 135, 265, 136, -1, 226, 124, 125, -1, 226, 124, 227, 125, -1, 226, 124, 228, 125, -1, 226, 132, 218, -1, 226, 7, 218, -1, 226, 8, -1, 226, 9, -1, 249, 135, 247, 136, -1, 249, 135, 265, 136, -1, 249, 124, 125, -1, 249, 124, 227, 125, -1, 249, 132, 218, -1, 249, 7, 218, -1, 249, 8, -1, 249, 9, -1, 245, -1, 223, -1, 227, 129, 245, -1, 227, 129, 223, -1, 264, -1, 224, -1, 227, 129, 264, -1, 227, 129, 224, -1, 227, 129, -1, 8, 230, -1, 9, 230, -1, 231, 232, -1, 231, 223, -1, 6, 230, -1, 6, 124, 349, 125, -1, 6, 124, 66, 148, 125, -1, 6, 124, 66, 147, 125, -1, 110, 230, -1, 110, 124, 349, 125, -1, 120, 124, 349, 129, 218, 125, -1, 229, -1, 226, -1, 137, -1, 121, -1, 138, -1, 139, -1, 126, -1, 140, -1, 74, -1, 85, -1, 230, -1, 124, 348, 125, 232, -1, 232, -1, 233, 121, 232, -1, 233, 141, 232, -1, 233, 142, 232, -1, 253, 121, 232, -1, 253, 141, 232, -1, 253, 142, 232, -1, 233, -1, 234, 138, 233, -1, 234, 139, 233, -1, 254, 138, 233, -1, 254, 139, 233, -1, 234, -1, 235, 10, 234, -1, 235, 11, 234, -1, 255, 10, 234, -1, 255, 11, 234, -1, 237, 122, -1, 235, -1, 236, 235, -1, 237, 123, 235, -1, 237, 12, 235, -1, 237, 13, 235, -1, 256, 122, 235, -1, 256, 123, 235, -1, 256, 12, 235, -1, 256, 13, 235, -1, 237, -1, 238, 14, 237, -1, 238, 15, 237, -1, 257, 14, 237, -1, 257, 15, 237, -1, 238, 14, 223, -1, 238, 15, 223, -1, 257, 14, 223, -1, 257, 15, 223, -1, 238, -1, 239, 137, 238, -1, 258, 137, 238, -1, 239, 137, 223, -1, 258, 137, 223, -1, 239, -1, 240, 143, 239, -1, 259, 143, 239, -1, 240, 143, 223, -1, 259, 143, 223, -1, 240, -1, 241, 144, 240, -1, 260, 144, 240, -1, 241, 144, 223, -1, 260, 144, 223, -1, 241, -1, 242, 16, 241, -1, 261, 16, 241, -1, 242, -1, 243, 17, 242, -1, 262, 17, 242, -1, 243, -1, 243, 145, 247, 133, 244, -1, 243, 145, 265, 133, 244, -1, 262, 145, 247, 133, 244, -1, 262, 145, 265, 133, 244, -1, 243, 145, 248, 133, 244, -1, 243, 145, 266, 133, 244, -1, 262, 145, 248, 133, 244, -1, 262, 145, 266, 133, 244, -1, 243, 145, 247, 133, 223, -1, 243, 145, 265, 133, 223, -1, 262, 145, 247, 133, 223, -1, 262, 145, 265, 133, 223, -1, 243, 145, 248, 133, 223, -1, 243, 145, 266, 133, 223, -1, 262, 145, 248, 133, 223, -1, 262, 145, 266, 133, 223, -1, 244, -1, 230, 246, 245, -1, 251, 246, 245, -1, 244, 246, 245, -1, 263, 246, 245, -1, 230, 246, 223, -1, 251, 246, 223, -1, 244, 246, 223, -1, 263, 246, 223, -1, 128, -1, 18, -1, 19, -1, 20, -1, 21, -1, 22, -1, 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, 245, -1, 247, 129, 245, -1, 265, 129, 245, -1, 265, 125, -1, 223, -1, 247, 129, 223, -1, 265, 129, 223, -1, 225, -1, 1, -1, 226, 1, -1, 178, 1, -1, 226, 7, 1, -1, 249, 7, 1, -1, 226, 124, 227, -1, 226, 124, 228, -1, 226, 132, 1, -1, 249, 124, 228, -1, 249, 132, 1, -1, 8, 251, -1, 9, 251, -1, 231, 252, -1, 231, 224, -1, 6, 251, -1, 6, 124, 349, 125, 1, -1, 6, 124, 66, 148, 125, 1, -1, 6, 124, 66, 147, 125, 1, -1, 110, 251, -1, 110, 124, 349, 125, 1, -1, 250, -1, 249, -1, 251, -1, 124, 348, 125, 252, -1, 252, -1, 233, 121, 252, -1, 233, 141, 252, -1, 233, 142, 252, -1, 253, 121, 252, -1, 253, 141, 252, -1, 253, 142, 252, -1, 253, -1, 234, 138, 253, -1, 234, 139, 253, -1, 254, 138, 253, -1, 254, 139, 253, -1, 254, -1, 235, 10, 254, -1, 235, 11, 254, -1, 255, 10, 254, -1, 255, 11, 254, -1, 255, -1, 236, 255, -1, 237, 123, 255, -1, 237, 12, 255, -1, 237, 13, 255, -1, 256, 122, 255, -1, 256, 123, 255, -1, 256, 12, 255, -1, 256, 13, 255, -1, 256, -1, 238, 14, 256, -1, 238, 15, 256, -1, 257, 14, 256, -1, 257, 15, 256, -1, 238, 14, 224, -1, 238, 15, 224, -1, 257, 14, 224, -1, 257, 15, 224, -1, 257, -1, 239, 137, 257, -1, 258, 137, 257, -1, 239, 137, 224, -1, 258, 137, 224, -1, 258, -1, 240, 143, 258, -1, 259, 143, 258, -1, 240, 143, 224, -1, 259, 143, 224, -1, 259, -1, 241, 144, 259, -1, 260, 144, 259, -1, 241, 144, 224, -1, 260, 144, 224, -1, 260, -1, 242, 16, 260, -1, 261, 16, 260, -1, 261, -1, 243, 17, 261, -1, 262, 17, 261, -1, 262, -1, 243, 145, 247, 133, 262, -1, 243, 145, 265, 133, 262, -1, 262, 145, 247, 133, 262, -1, 262, 145, 265, 133, 262, -1, 243, 145, 247, 133, -1, 243, 145, 265, 133, -1, 262, 145, 247, 133, -1, 262, 145, 265, 133, -1, 243, 145, 248, 133, 262, -1, 243, 145, 266, 133, 262, -1, 262, 145, 248, 133, 262, -1, 262, 145, 266, 133, 262, -1, 243, 145, 248, 133, -1, 243, 145, 266, 133, -1, 262, 145, 248, 133, -1, 262, 145, 266, 133, -1, 243, 145, 247, 133, 224, -1, 243, 145, 265, 133, 224, -1, 262, 145, 247, 133, 224, -1, 262, 145, 265, 133, 224, -1, 243, 145, 248, 133, 224, -1, 243, 145, 266, 133, 224, -1, 262, 145, 248, 133, 224, -1, 262, 145, 266, 133, 224, -1, 243, 145, 133, -1, 262, 145, 133, -1, 243, 145, -1, 262, 145, -1, 263, -1, 230, 246, 264, -1, 251, 246, 264, -1, 230, 246, 224, -1, 251, 246, 224, -1, 264, -1, 245, 1, -1, 247, 129, 264, -1, 265, 129, 264, -1, 247, 247, -1, 265, 247, -1, 247, 265, -1, 224, -1, 223, 1, -1, 247, 129, 224, -1, 265, 129, 224, -1, 244, -1, 263, -1, 29, -1, 30, -1, 31, -1, 118, -1, 32, -1, 33, -1, 117, -1, 29, -1, 30, -1, 31, -1, 118, -1, 32, -1, 33, -1, 117, -1, 218, -1, 218, 128, 267, -1, 218, 128, 268, -1, 271, -1, 272, 129, 271, -1, 272, 129, -1, 51, -1, 273, 218, -1, 273, 151, -1, 276, 130, -1, 273, 218, 131, 130, -1, 273, 151, 131, 130, -1, 273, 131, 272, -1, 273, 131, 1, -1, 273, 218, 131, 272, -1, 273, 218, 131, 272, 1, -1, 273, 218, 131, 1, -1, 273, 218, 131, 272, 127, 200, -1, 273, 218, 131, 272, 127, 201, -1, 273, 151, 131, 272, -1, 273, 151, 131, 272, 1, -1, 273, 151, 131, 1, -1, 273, 151, 131, 272, 127, 200, -1, 273, 151, 131, 272, 127, 201, -1, 273, 218, 131, 272, 127, -1, 273, 151, 131, 272, 127, -1, 273, 218, -1, 273, 151, -1, 279, 130, -1, 277, 133, 305, 131, 130, -1, 277, 131, 130, -1, 277, 133, 305, 131, 272, -1, 277, 133, 305, 131, 272, 1, -1, 277, 133, 305, 131, 1, -1, 277, 133, 305, 131, 272, 127, 200, -1, 277, 133, 305, 131, 272, 127, 201, -1, 277, 133, 305, 131, 272, 1, 127, 200, -1, 277, 133, 305, 131, 272, 1, 127, 201, -1, 277, 133, 305, 131, 1, 127, 200, -1, 277, 133, 305, 131, 1, 127, 201, -1, 273, 131, 272, -1, 273, 131, 1, -1, 277, 131, 272, -1, 277, 131, 272, 1, -1, 277, 131, 1, -1, 277, 131, 272, 127, 200, -1, 277, 131, 272, 127, 201, -1, 277, 133, 305, 131, 272, 127, -1, 277, 133, 305, 131, 272, 1, 127, -1, 277, 133, 305, 131, 1, 127, -1, 277, 131, 272, 127, -1, 278, -1, 295, -1, 279, -1, 296, -1, 321, -1, 45, -1, 46, -1, 282, -1, 283, -1, 284, 283, -1, 47, -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 39, -1, 48, -1, 40, -1, 43, -1, 44, -1, 41, -1, 42, -1, 86, -1, 292, -1, 274, -1, 148, -1, 88, 124, 245, 125, -1, 101, 124, 148, 125, -1, 101, 124, 218, 125, -1, 67, -1, 83, -1, 84, -1, 114, -1, 113, -1, 115, -1, 116, -1, 47, -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 39, -1, 48, -1, 40, -1, 43, -1, 44, -1, 41, -1, 42, -1, 86, -1, 292, -1, 274, -1, 151, -1, 114, -1, 113, -1, 115, -1, 116, -1, 88, 124, 245, 125, -1, 101, 124, 148, 125, -1, 101, 124, 218, 125, -1, 67, -1, 338, -1, 338, 326, -1, 133, 267, -1, 338, 133, 267, -1, 338, 133, 267, 133, 267, -1, 133, 268, -1, 338, 133, 268, -1, 338, 133, 267, 133, 268, -1, 338, 133, 268, 133, 268, -1, 338, 133, 268, 133, 267, -1, 287, -1, 288, 129, 287, -1, 297, 218, -1, 297, 149, -1, 297, 321, 218, -1, 297, 321, 149, -1, 291, 130, -1, 289, 131, 130, -1, 297, 131, 130, -1, 297, 321, 131, 130, -1, 289, 131, 200, -1, 289, 131, 201, -1, 289, 131, 1, -1, 297, 131, 200, -1, 297, 131, 201, -1, 297, 131, 1, -1, 297, 321, 131, 200, -1, 297, 321, 131, 201, -1, 297, 321, 131, 1, -1, 289, -1, 289, -1, 289, 122, 210, 123, -1, 293, 133, 305, -1, 296, 130, -1, 294, 131, 130, -1, 293, 131, 130, -1, 297, 131, 130, -1, 294, 131, 200, -1, 294, 131, 201, -1, 294, 131, 1, -1, 293, 131, 200, -1, 293, 131, 201, -1, 293, 131, 1, -1, 297, 131, 200, -1, 297, 131, 201, -1, 297, 131, 1, -1, 49, -1, 50, -1, 283, -1, 298, 283, -1, 285, -1, 298, 285, -1, 275, -1, 298, 275, -1, 290, -1, 298, 290, -1, 283, -1, 299, 283, -1, 285, -1, 299, 285, -1, 147, -1, 299, 147, -1, 275, -1, 299, 275, -1, 290, -1, 299, 290, -1, 269, -1, 300, 269, -1, 283, -1, 300, 283, -1, 286, -1, 300, 286, -1, 275, -1, 300, 275, -1, 290, -1, 300, 290, -1, 269, -1, 301, 269, -1, 283, -1, 301, 283, -1, 285, -1, 301, 285, -1, 147, -1, 301, 147, -1, 290, -1, 301, 290, -1, 275, -1, 301, 275, -1, 270, -1, 302, 270, -1, 283, -1, 302, 283, -1, 285, -1, 302, 285, -1, 147, -1, 302, 147, -1, 280, -1, 302, 280, -1, 281, -1, 302, 281, -1, 82, -1, 81, -1, 269, -1, 304, 269, -1, 283, -1, 304, 283, -1, 286, -1, 304, 286, -1, 218, -1, 304, 218, -1, 218, 122, 212, 123, -1, 304, 218, 122, 212, 123, -1, 304, -1, 297, -1, 269, -1, 306, 269, -1, 283, -1, 306, 283, -1, 286, -1, 306, 286, -1, 218, -1, 306, 218, -1, 218, 122, 212, 123, -1, 306, 218, 122, 212, 123, -1, 269, -1, 307, 269, -1, 283, -1, 307, 283, -1, 286, -1, 307, 286, -1, 290, -1, 307, 290, -1, 275, -1, 307, 275, -1, 218, -1, 307, 218, -1, 218, 122, 212, 123, -1, 307, 218, 122, 212, 123, -1, 269, -1, 308, 269, -1, 283, -1, 308, 283, -1, 286, -1, 308, 286, -1, 290, -1, 308, 290, -1, 275, -1, 308, 275, -1, 218, -1, 308, 218, -1, 218, 122, 212, 123, -1, 308, 218, 122, 212, 123, -1, 310, 129, 1, -1, 309, 129, 1, -1, 218, -1, 310, 129, 218, -1, 309, 129, 218, -1, 352, 129, 218, -1, 353, 129, 218, -1, 312, -1, 149, -1, 37, -1, 149, 135, 267, 136, -1, 149, 135, 268, 136, -1, 149, 135, 148, 136, -1, 149, 135, 136, -1, 311, 135, 267, 136, -1, 311, 135, 268, 136, -1, 311, 135, 148, 136, -1, 311, 135, 136, -1, 218, -1, 124, 332, 125, -1, 124, 321, 332, 125, -1, 124, 333, 125, -1, 124, 321, 333, 125, -1, 312, 135, 267, 136, -1, 312, 135, 268, 136, -1, 312, 135, 148, 136, -1, 312, 135, 136, -1, 312, 124, -1, 313, 354, 125, -1, 313, 355, 125, -1, 313, 310, 125, -1, 313, 309, 125, -1, 313, 125, -1, 313, 309, -1, 313, 1, -1, 313, 352, 124, -1, 313, 301, 218, 124, -1, 314, -1, 312, -1, 311, 124, -1, 317, 354, 125, -1, 317, 355, 125, -1, 317, 310, 125, -1, 317, 309, 125, -1, 317, 125, -1, 317, 309, -1, 317, 1, -1, 317, 352, 124, -1, 317, 301, 218, 124, -1, 318, -1, 311, -1, 75, -1, 76, -1, 326, -1, 87, 124, 387, 125, -1, 80, -1, 111, -1, 112, -1, 3, -1, 28, -1, 76, -1, 75, -1, 45, -1, 323, -1, 323, 124, 247, 125, -1, 324, -1, 325, 324, -1, 325, 129, 324, -1, 322, 124, 124, 325, 125, 125, -1, 322, 124, 124, 125, 125, -1, 124, 330, 125, -1, 124, 321, 330, 125, -1, 135, 136, -1, 135, 267, 136, -1, 135, 268, 136, -1, 135, 148, 136, -1, 327, 135, 136, -1, 327, 135, 267, 136, -1, 327, 135, 148, 136, -1, 327, 135, 268, 136, -1, 124, 125, -1, 124, 354, 125, -1, 124, 355, 125, -1, 327, 124, 125, -1, 327, 124, 354, 125, -1, 327, 124, 355, 125, -1, 124, 331, 125, -1, 124, 321, 331, 125, -1, 124, 125, -1, 124, 354, 125, -1, 124, 355, 125, -1, 328, 124, 125, -1, 328, 124, 354, 125, -1, 328, 124, 355, 125, -1, 121, -1, 121, 284, -1, 121, 329, -1, 121, 284, 329, -1, 329, -1, 327, -1, 329, 327, -1, 321, 329, -1, 321, 329, 327, -1, 329, -1, 328, -1, 329, 328, -1, 321, 329, -1, 321, 329, 328, -1, 316, -1, 329, 316, -1, 321, 329, 316, -1, 332, 321, -1, 338, 321, -1, 320, -1, 329, 320, -1, 321, 329, 320, -1, 333, 321, -1, 314, -1, 329, 314, -1, 321, 329, 314, -1, 329, 321, 314, -1, 315, -1, 329, 315, -1, 321, 329, 315, -1, 329, 321, 315, -1, 318, -1, 329, 318, -1, 321, 329, 318, -1, 329, 321, 318, -1, 319, -1, 329, 319, -1, 321, 329, 319, -1, 329, 321, 319, -1, 311, -1, 329, 311, -1, 321, 329, 311, -1, 329, 321, 311, -1, 245, -1, 131, 343, 130, -1, 131, 343, 129, 130, -1, 264, -1, 131, 343, 130, 1, -1, 131, 343, -1, 131, 343, 129, 130, 1, -1, 131, 343, 129, -1, 244, -1, 223, -1, 263, -1, 224, -1, 339, -1, 340, -1, 343, 129, 339, -1, 343, 129, 340, -1, 343, 339, -1, 343, 340, -1, 332, -1, 333, -1, 332, 128, 339, -1, 332, 1, -1, 332, 128, 340, -1, 344, -1, 346, 129, 344, -1, 37, 129, 344, -1, 38, 129, 344, -1, 39, 129, 344, -1, 149, 129, 344, -1, 347, 129, 344, -1, 345, -1, 344, 1, -1, 346, 129, 345, -1, 347, 129, 345, -1, 298, -1, 298, 330, -1, 299, -1, 299, 330, -1, 301, 333, -1, 301, 330, -1, 301, 137, -1, 301, 137, 333, -1, 301, -1, 66, -1, 301, 333, 1, -1, 301, 330, 1, -1, 350, -1, 352, 129, 350, -1, 352, 1, 129, 350, -1, 353, 129, 350, -1, 353, 1, 129, 350, -1, 1, 129, 350, -1, 310, 129, 350, -1, 310, 1, 129, 350, -1, 309, 129, 350, -1, 309, 1, 129, 350, -1, 351, -1, 352, 129, 351, -1, 353, 129, 351, -1, 353, 1, 129, 351, -1, 1, 129, 351, -1, 310, 129, 351, -1, 309, 129, 351, -1, 309, 1, 129, 351, -1, 352, -1, 352, 129, 52, -1, 353, 129, 52, -1, 310, 129, 52, -1, 309, 129, 52, -1, 1, 129, 52, -1, 353, -1, 352, 129, 1, -1, 353, 1, -1, 361, -1, 326, -1, 376, -1, 127, -1, 133, -1, 247, 127, -1, 379, -1, 381, -1, 383, -1, 360, -1, 197, 127, -1, 196, 127, -1, 195, 127, -1, 362, -1, 382, -1, 377, -1, 380, -1, 384, -1, 383, 1, -1, 265, -1, 387, -1, 387, 124, 245, 125, -1, 135, 218, 136, 387, 124, 245, 125, -1, 358, -1, 359, 129, 358, -1, -1, 87, 283, 124, 387, 125, 127, -1, 87, 283, 124, 387, 133, 359, 125, 127, -1, 87, 283, 124, 387, 133, 359, 133, 359, 125, 127, -1, 87, 283, 124, 387, 133, 359, 133, 359, 133, 359, 125, 127, -1, 87, 283, 124, 387, 3, 359, 125, 127, -1, 87, 283, 124, 387, 3, 359, 133, 359, 125, 127, -1, 87, 283, 124, 387, 133, 359, 3, 359, 125, 127, -1, 87, 124, 387, 125, 127, -1, 87, 124, 387, 133, 359, 125, 127, -1, 87, 124, 387, 133, 359, 133, 359, 125, 127, -1, 87, 124, 387, 133, 359, 133, 359, 133, 359, 125, 127, -1, 87, 124, 387, 3, 359, 125, 127, -1, 87, 124, 387, 3, 359, 133, 359, 125, 127, -1, 87, 124, 387, 133, 359, 3, 359, 125, 127, -1, 218, 133, 356, -1, 53, 267, 133, 356, -1, 53, 268, 133, 356, -1, 53, 133, 356, -1, 54, 133, 356, -1, 218, 133, 365, -1, 53, 267, 133, 365, -1, 53, 268, 133, 365, -1, 53, 133, 365, -1, 54, 133, 365, -1, 218, 133, 357, -1, 53, 267, 133, 357, -1, 53, 268, 133, 357, -1, 53, 133, 357, -1, 53, 133, -1, 54, 133, 357, -1, 54, 133, -1, 218, 133, 368, -1, 53, 267, 133, 368, -1, 53, 268, 133, 368, -1, 53, 133, 368, -1, 54, 133, 368, -1, 81, -1, 82, -1, 54, -1, 81, -1, 82, -1, 300, 127, -1, 300, 346, 127, -1, 172, 127, -1, 368, 127, -1, 302, 127, -1, 302, 346, 127, -1, 303, 346, 127, -1, 176, 127, -1, 78, 218, 128, 244, 127, -1, 31, 78, 218, 128, 244, 127, -1, 302, 1, -1, 300, 1, -1, 368, 1, -1, 173, 1, -1, 172, 1, -1, 300, 347, -1, 365, -1, 369, 365, -1, 370, 365, -1, 369, 1, 127, -1, 368, -1, 369, 368, -1, 356, -1, 371, 356, -1, 372, 356, -1, 357, -1, 371, 357, -1, 372, 357, -1, 371, 365, -1, 372, 365, -1, 371, 368, -1, 372, 368, -1, 371, -1, 369, -1, 369, 371, -1, 370, 371, -1, 372, -1, 370, -1, 369, 372, -1, 370, 372, -1, 131, -1, 377, 130, -1, 375, 374, -1, 375, -1, 375, 373, -1, 127, -1, 247, 127, -1, 265, 127, -1, 55, 124, 247, 125, 356, -1, 55, 124, 265, 125, 356, -1, 55, 124, 247, 125, 356, 65, 356, -1, 55, 124, 265, 125, 356, 65, 356, -1, 56, 124, 247, 125, 356, -1, 56, 124, 265, 125, 356, -1, 55, 124, 265, -1, 379, 1, -1, 57, 124, 247, 125, 356, -1, 57, 124, 265, 356, -1, 57, 124, 125, 356, -1, 58, 356, 57, 124, 247, 125, 127, -1, 58, 356, 57, 124, 265, 127, -1, 59, 124, 378, 378, 125, 356, -1, 59, 124, 378, 125, 356, -1, 59, 124, 378, 378, 247, 125, 356, -1, 59, 124, 378, 378, 265, 356, -1, 59, 124, 125, 356, -1, 59, 124, 218, 133, 247, 125, 356, -1, 59, 124, 218, 133, 247, 127, 247, 125, 356, -1, 59, 124, 1, -1, 59, 124, 265, 1, -1, 59, 124, 378, 1, -1, 59, 124, 378, 265, 1, -1, 59, 124, 378, 378, 265, -1, 59, 124, 378, 378, 125, 357, -1, 59, 124, 378, 378, 247, 125, 357, -1, 59, 124, 378, 378, 265, 357, -1, 58, 356, 57, 124, 247, 125, -1, 58, 356, 57, 124, 247, -1, 58, 356, 57, 124, 265, -1, 58, 356, 57, 124, -1, 58, 356, 57, -1, 58, 356, -1, 58, -1, 57, 1, -1, 57, 124, 125, 1, -1, 57, 124, 265, -1, 57, 124, 247, 125, 357, -1, 57, 124, 265, 357, -1, 60, 218, 127, -1, 61, 127, -1, 62, 127, -1, 63, 127, -1, 63, 247, 127, -1, 63, 265, 127, -1, 63, 223, 127, -1, 63, 224, 127, -1, 63, 265, -1, 63, 224, -1, 63, -1, 60, -1, 302, 334, 369, 376, -1, 302, 334, 376, -1, 302, 336, 369, 376, -1, 302, 336, 376, -1, 334, 369, 376, -1, 334, 376, -1, 302, 334, 369, 377, -1, 302, 334, 377, -1, 302, 336, 369, 377, -1, 302, 336, 377, -1, 334, 369, 377, -1, 334, 377, -1, 5, -1, 387, 5, -1, 385, -1, 215, -1, 302, 215, -1, 366, -1, 77, 387, -1, 77, 31, 387, -1, 77, 218, 387, -1, 127, -1, 363, 385, -1, 363, 215, -1, 363, 366, -1, 363, 77, 387, -1, 363, 77, 31, 387, -1, 363, 77, 218, 387, -1, 363, 133, -1, 31, 133, -1, 102, 218, -1, 102, 151, -1, 393, -1, 363, 393, -1, 217, -1, 302, 217, -1, 386, -1, 363, 217, -1, 363, 386, -1, 367, -1, 363, 367, -1, 389, -1, 391, 389, -1, 390, 389, -1, 391, 1, -1, 390, 1, -1, 388, -1, 391, 388, -1, 390, 215, -1, 390, 363, 215, -1, 391, -1, 390, -1, -1, 106, 387, 218, 131, 398, 130, -1, 106, 387, 151, 131, 398, 130, -1, 106, 387, 131, 398, 130, -1, 301, 218, 387, 127, -1, 218, -1, 123, 218, -1, 122, 218, -1, 395, -1, 396, 129, 395, -1, 108, 396, 127, -1, 108, 396, 218, 127, -1, 394, -1, 397, -1, 398, 394, -1, 398, 397, -1, 109, 124, 245, 129, 245, 125, -1, 107, 124, 387, 129, 218, 125, -1, 108, 124, 387, 129, 218, 125, -1, 106, 124, 387, 125, -1
98 static const yytype_uint16 yyrline[] =
100 0, 284, 284, 303, 342, 343, 423, 427, 430, 431, 432, 471, 473, 478, 483, 488, 490, 495, 497, 502, 504, 509, 511, 513, 515, 517, 521, 525, 538, 540, 542, 544, 546, 552, 554, 559, 564, 569, 571, 573, 578, 579, 583, 584, 595, 599, 600, 602, 607, 608, 610, 613, 625, 636, 655, 657, 662, 663, 664, 665, 666, 667, 668, 669, 682, 686, 687, 688, 689, 693, 694, 695, 696, 697, 698, 699, 703, 705, 710, 712, 714, 716, 718, 748, 750, 755, 757, 759, 761, 763, 792, 794, 796, 801, 803, 808, 810, 814, 816, 818, 820, 825, 828, 831, 834, 899, 901, 906, 908, 910, 912, 914, 945, 949, 950, 951, 955, 956, 957, 961, 962, 963, 964, 968, 971, 974, 977, 980, 985, 986, 988, 990, 992, 994, 999, 1003, 1006, 1009, 1012, 1015, 1020, 1021, 1023, 1028, 1032, 1034, 1039, 1041, 1046, 1048, 1053, 1058, 1060, 1065, 1067, 1069, 1071, 1076, 1078, 1080, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1099, 1100, 1102, 1106, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1124, 1125, 1129, 1130, 1131, 1135, 1139, 1140, 1141, 1145, 1146, 1147, 1148, 1149, 1153, 1154, 1166, 1167, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1182, 1186, 1187, 1191, 1199, 1200, 1204, 1205, 1206, 1210, 1211, 1215, 1216, 1217, 1218, 1219, 1220, 1260, 1261, 1265, 1273, 1274, 1282, 1283, 1285, 1286, 1295, 1296, 1300, 1307, 1314, 1320, 1327, 1333, 1342, 1349, 1355, 1361, 1367, 1373, 1379, 1390, 1395, 1396, 1401, 1402, 1403, 1407, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1455, 1456, 1457, 1458, 1459, 1461, 1462, 1466, 1470, 1474, 1475, 1479, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1525, 1526, 1527, 1528, 1532, 1533, 1534, 1535, 1536, 1540, 1541, 1542, 1543, 1545, 1546, 1547, 1548, 1551, 1552, 1554, 1558, 1559, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1579, 1580, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1594, 1595, 1596, 1597, 1598, 1602, 1603, 1604, 1605, 1606, 1610, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1630, 1631, 1632, 1633, 1634, 1636, 1637, 1638, 1639, 1643, 1644, 1645, 1647, 1648, 1652, 1653, 1654, 1656, 1657, 1661, 1662, 1663, 1665, 1666, 1670, 1671, 1672, 1676, 1677, 1678, 1682, 1683, 1684, 1685, 1686, 1688, 1689, 1690, 1691, 1693, 1694, 1695, 1696, 1698, 1699, 1700, 1701, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1713, 1714, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1732, 1733, 1734, 1735, 1739, 1740, 1741, 1745, 1746, 1747, 1748, 1750, 1751, 1753, 1754, 1759, 1761, 1766, 1794, 1795, 1796, 1797, 1799, 1800, 1801, 1802, 1804, 1805, 1809, 1810, 1819, 1820, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1834, 1835, 1839, 1843, 1847, 1854, 1855, 1856, 1857, 1858, 1862, 1863, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1916, 1917, 1918, 1919, 1920, 1927, 1928, 1929, 1930, 1934, 1935, 1936, 1938, 1939, 1943, 1944, 1945, 1947, 1948, 1952, 1953, 1954, 1956, 1957, 1961, 1962, 1963, 1967, 1968, 1969, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1992, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2002, 2010, 2014, 2019, 2026, 2027, 2031, 2036, 2037, 2041, 2042, 2043, 2044, 2050, 2051, 2052, 2056, 2057, 2058, 2059, 2063, 2065, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2089, 2090, 2091, 2095, 2096, 2097, 2101, 2105, 2106, 2110, 2111, 2112, 2116, 2117, 2119, 2120, 2121, 2122, 2123, 2125, 2126, 2127, 2128, 2129, 2131, 2132, 2136, 2137, 2141, 2142, 2143, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2157, 2158, 2160, 2161, 2162, 2163, 2164, 2166, 2167, 2168, 2169, 2173, 2174, 2178, 2179, 2183, 2187, 2188, 2189, 2194, 2195, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2259, 2261, 2263, 2265, 2267, 2269, 2271, 2273, 2275, 2277, 2282, 2283, 2287, 2293, 2299, 2306, 2316, 2317, 2318, 2319, 2323, 2324, 2325, 2327, 2328, 2329, 2331, 2332, 2333, 2337, 2341, 2349, 2358, 2367, 2368, 2370, 2371, 2375, 2382, 2389, 2392, 2405, 2419, 2422, 2424, 2426, 2431, 2432, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2501, 2502, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2516, 2518, 2526, 2536, 2537, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2557, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2586, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2615, 2624, 2625, 2629, 2630, 2631, 2632, 2633, 2637, 2638, 2645, 2647, 2656, 2665, 2674, 2683, 2684, 2685, 2686, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2702, 2706, 2707, 2708, 2709, 2710, 2715, 2724, 2733, 2742, 2756, 2757, 2762, 2766, 2767, 2768, 2769, 2770, 2775, 2784, 2793, 2802, 2816, 2817, 2866, 2867, 2868, 2869, 2881, 2882, 2883, 2888, 2889, 2890, 2891, 2892, 2896, 2897, 2901, 2902, 2903, 2907, 2908, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2942, 2943, 2944, 2945, 2949, 2950, 2951, 2952, 2953, 2957, 2958, 2959, 2960, 2961, 2965, 2966, 2968, 2970, 2972, 2977, 2978, 2980, 2982, 2987, 2988, 2989, 2990, 2994, 2995, 2996, 2997, 3001, 3002, 3003, 3004, 3008, 3009, 3010, 3011, 3015, 3016, 3017, 3018, 3022, 3023, 3024, 3041, 3042, 3043, 3044, 3057, 3074, 3075, 3080, 3081, 3085, 3086, 3087, 3088, 3091, 3092, 3096, 3097, 3098, 3102, 3106, 3110, 3111, 3112, 3113, 3114, 3115, 3124, 3133, 3134, 3135, 3136, 3140, 3141, 3145, 3146, 3151, 3152, 3153, 3154, 3155, 3156, 3175, 3176, 3180, 3181, 3182, 3183, 3184, 3185, 3187, 3188, 3189, 3190, 3194, 3195, 3196, 3197, 3198, 3200, 3201, 3202, 3206, 3207, 3208, 3209, 3210, 3211, 3215, 3216, 3217, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3248, 3249, 3250, 3254, 3255, 3256, 3260, 3261, 3262, 3263, 3265, 3266, 3267, 3269, 3270, 3271, 3272, 3274, 3275, 3276, 3280, 3281, 3282, 3283, 3284, 3286, 3287, 3288, 3289, 3290, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3302, 3303, 3304, 3305, 3306, 3310, 3311, 3312, 3316, 3317, 3321, 3322, 3323, 3324, 3328, 3329, 3330, 3332, 3333, 3334, 3338, 3342, 3343, 3345, 3346, 3347, 3351, 3352, 3353, 3354, 3358, 3359, 3363, 3364, 3365, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3379, 3380, 3381, 3382, 3386, 3387, 3388, 3389, 3393, 3397, 3401, 3403, 3406, 3412, 3413, 3414, 3418, 3419, 3420, 3421, 3422, 3423, 3427, 3428, 3432, 3433, 3434, 3436, 3437, 3439, 3440, 3441, 3442, 3443, 3445, 3446, 3450, 3451, 3452, 3453, 3457, 3458, 3459, 3460, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3471, 3475, 3476, 3480, 3481, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3496, 3497, 3498, 3499, 3505, 3506, 3508, 3509, 3512, 3513, 3516, 3517, 3518, 3519, 3520, 3521, 3525, 3526, 3538, 3539, 3542, 3545, 3547, 3548, 3549, 3559, 3561, 3562, 3564, 3565, 3566, 3567, 3577, 3578, 3579, 3580, 3581, 3582, 3586, 3587, 3596, 3598, 3599, 3601, 3603, 3607, 3608, 3609, 3610, 3611, 3615, 3616, 3617, 3619, 3624, 3625, 3626, 3630, 3631, 3632, 3636, 3640, 3641, 3642, 3646, 3647, 3651, 3652, 3656, 3657, 3658, 3659, 3663, 3667, 3671, 3675
103 static const char * const yytname[] =
105 "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT", "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR", "SHORT", "INT", "UINT", "INT64", "INT128", "LONG", "SIGNED", "UNSIGNED", "FLOAT", "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION", "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO", "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS", "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP", "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE", "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT", "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING", "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION", "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY", "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS", "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD", "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "BOOL", "_BOOL", "_COMPLEX", "_IMAGINARY", "RESTRICT", "THREAD", "WIDE_STRING_LITERAL", "BUILTIN_OFFSETOF", "'*'", "'<'", "'>'", "'('", "')'", "'~'", "';'", "'='", "','", "'}'", "'{'", "'.'", "':'", "'$'", "'['", "']'", "'&'", "'+'", "'-'", "'!'", "'/'", "'%'", "'^'", "'|'", "'?'", "$accept", "guess_type", "type", "base_strict_type", "base_strict_type_name", "strict_type", "class_function_definition_start", "constructor_function_definition_start", "destructor_function_definition_start", "virtual_class_function_definition_start", "class_function_definition_start_error", "virtual_class_function_definition_start_error", "class_function_definition", "class_function_definition_error", "instance_class_function_definition_start", "instance_class_function_definition_start_error", "instance_class_function_definition", "instance_class_function_definition_error", "data_member_initialization", "data_member_initialization_error", "data_member_initialization_list", "data_member_initialization_list_error", "data_member_initialization_list_coloned", "members_initialization_list_coloned", "members_initialization_list", "members_initialization_list_error", "instantiation_named", "instantiation_named_error", "guess_instantiation_named", "guess_instantiation_named_error", "external_guess_instantiation_named", "instantiation_unnamed", "instantiation_unnamed_error", "instantiation_anon", "instantiation_anon_error", "default_property", "default_property_error", "default_property_list", "default_property_list_error", "property_start", "property_body", "property", "class_property_start", "class_property_body", "class_property", "watch_property_list", "property_watch", "property_watch_list", "self_watch_definition", "watch_definition", "stopwatching", "firewatchers", "struct_declaration", "struct_declaration_error", "struct_declaration_list", "struct_declaration_list_error", "template_datatype", "template_type_argument", "template_type_parameter", "template_identifier_argument", "template_identifier_parameter", "template_expression_argument", "template_expression_parameter", "template_parameter", "template_parameters_list", "template_argument", "template_arguments_list", "class_entry", "class_decl", "class", "class_head", "class_error", "identifier", "primary_expression", "i18n_string", "constant", "simple_primary_expression", "anon_instantiation_expression", "anon_instantiation_expression_error", "primary_expression_error", "postfix_expression", "argument_expression_list", "argument_expression_list_error", "common_unary_expression", "unary_expression", "unary_operator", "cast_expression", "multiplicative_expression", "additive_expression", "shift_expression", "relational_expression_smaller_than", "relational_expression", "equality_expression", "and_expression", "exclusive_or_expression", "inclusive_or_expression", "logical_and_expression", "logical_or_expression", "conditional_expression", "assignment_expression", "assignment_operator", "expression", "expression_anon_inst", "postfix_expression_error", "common_unary_expression_error", "unary_expression_error", "cast_expression_error", "multiplicative_expression_error", "additive_expression_error", "shift_expression_error", "relational_expression_error", "equality_expression_error", "and_expression_error", "exclusive_or_expression_error", "inclusive_or_expression_error", "logical_and_expression_error", "logical_or_expression_error", "conditional_expression_error", "assignment_expression_error", "expression_error", "expression_anon_inst_error", "constant_expression", "constant_expression_error", "storage_class_specifier", "external_storage_class_specifier", "enumerator", "enumerator_list", "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound", "enum_specifier_compound_error", "enum_decl", "enum_class", "enum_class_error", "class_specifier", "class_specifier_error", "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier", "strict_type_specifier", "struct_declarator", "struct_declarator_list", "struct_entry", "struct_or_union_specifier_compound", "struct_or_union_specifier_compound_error", "struct_or_union_specifier_nocompound", "struct_decl", "struct_head", "struct_class", "struct_class_error", "struct_or_union", "specifier_qualifier_list", "guess_specifier_qualifier_list", "declaration_specifiers", "guess_declaration_specifiers", "external_guess_declaration_specifiers", "external_guess_declaration_specifiers_error", "_inheritance_specifiers", "inheritance_specifiers", "property_specifiers", "renew_specifiers", "new_specifiers", "identifier_list_error", "identifier_list", "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction", "direct_declarator_function_start", "direct_declarator_function", "direct_declarator_function_error", "direct_declarator", "direct_declarator_function_start_type_ok", "direct_declarator_function_type_ok", "direct_declarator_function_error_type_ok", "direct_declarator_type_ok", "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list", "attrib", "direct_abstract_declarator", "direct_abstract_declarator_noarray", "pointer", "abstract_declarator", "abstract_declarator_noarray", "declarator", "declarator_type_ok", "declarator_function", "declarator_function_error", "declarator_function_type_ok", "declarator_function_error_type_ok", "declarator_nofunction_type_ok", "initializer", "initializer_error", "initializer_condition", "initializer_condition_error", "initializer_list", "init_declarator", "init_declarator_error", "init_declarator_list", "init_declarator_list_error", "type_name", "guess_type_name", "parameter_declaration", "parameter_declaration_error", "parameter_list", "parameter_list_error", "parameter_type_list", "parameter_type_list_error", "statement", "statement_error", "asm_field", "asm_field_list", "asm_statement", "labeled_statement", "labeled_statement_error", "declaration_mode", "member_access", "declaration", "external_guess_declaration", "external_guess_declaration_error", "declaration_error", "declaration_list", "declaration_list_error", "statement_list", "statement_list_error", "compound_inside", "compound_inside_error", "compound_start", "compound_statement", "compound_statement_error", "expression_statement", "selection_statement", "selection_statement_error", "iteration_statement", "iteration_statement_error", "jump_statement", "jump_statement_error", "function_definition", "function_definition_error", "string_literal", "external_declaration", "external_declaration_error", "translation_unit_error", "translation_unit", "thefile", "dbtable_definition", "dbfield_entry", "dbindex_item", "dbindex_item_list", "dbindex_entry", "dbfield_definition_list", "database_open", "dbfield", "dbindex", "dbtable", 0
108 static const yytype_uint16 yyr1[] =
110 0, 146, 147, 147, 148, 148, 149, 150, 151, 151, 151, 152, 152, 153, 154, 155, 155, 156, 156, 157, 157, 158, 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, 159, 160, 160, 161, 162, 163, 163, 163, 164, 164, 165, 165, 165, 166, 166, 166, 167, 167, 167, 167, 167, 167, 168, 168, 169, 169, 169, 169, 169, 169, 169, 169, 169, 170, 170, 170, 170, 171, 171, 171, 171, 171, 171, 171, 172, 172, 173, 173, 173, 173, 173, 174, 174, 175, 175, 175, 175, 175, 176, 176, 176, 177, 177, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, 180, 180, 180, 180, 180, 181, 182, 182, 182, 183, 183, 183, 184, 184, 184, 184, 185, 185, 185, 185, 185, 186, 186, 186, 186, 186, 186, 187, 188, 188, 188, 188, 188, 189, 189, 189, 190, 191, 191, 192, 192, 193, 193, 194, 195, 195, 196, 196, 196, 196, 197, 197, 197, 197, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 200, 200, 200, 201, 201, 201, 201, 201, 202, 202, 203, 203, 204, 204, 204, 204, 204, 204, 204, 204, 205, 206, 206, 207, 208, 208, 209, 209, 209, 210, 210, 211, 211, 211, 211, 211, 211, 212, 212, 213, 214, 214, 214, 214, 214, 214, 214, 214, 215, 215, 215, 215, 215, 215, 216, 217, 217, 217, 217, 217, 217, 218, 219, 219, 220, 220, 220, 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 223, 224, 225, 225, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 227, 227, 227, 227, 228, 228, 228, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 230, 230, 231, 231, 231, 231, 231, 231, 231, 231, 232, 232, 233, 233, 233, 233, 233, 233, 233, 234, 234, 234, 234, 234, 235, 235, 235, 235, 235, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 238, 238, 238, 238, 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 242, 242, 242, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, 245, 245, 245, 245, 245, 245, 245, 245, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 247, 247, 247, 247, 248, 248, 248, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, 252, 252, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 256, 256, 256, 256, 256, 256, 256, 256, 256, 257, 257, 257, 257, 257, 257, 257, 257, 257, 258, 258, 258, 258, 258, 259, 259, 259, 259, 259, 260, 260, 260, 260, 260, 261, 261, 261, 262, 262, 262, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 264, 264, 264, 264, 264, 265, 265, 265, 265, 265, 265, 265, 266, 266, 266, 266, 267, 268, 269, 269, 269, 269, 269, 269, 269, 270, 270, 270, 270, 270, 270, 270, 271, 271, 271, 272, 272, 272, 273, 274, 274, 275, 275, 275, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 277, 277, 278, 278, 278, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 280, 280, 281, 281, 282, 283, 283, 283, 284, 284, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 288, 288, 289, 289, 289, 289, 290, 290, 290, 290, 291, 291, 291, 291, 291, 291, 291, 291, 291, 292, 293, 293, 294, 295, 295, 295, 295, 296, 296, 296, 296, 296, 296, 296, 296, 296, 297, 297, 298, 298, 298, 298, 298, 298, 298, 298, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 303, 303, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 305, 305, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 309, 309, 310, 310, 310, 310, 310, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 312, 312, 312, 312, 312, 312, 312, 312, 312, 313, 314, 314, 314, 314, 314, 315, 315, 315, 315, 316, 316, 317, 318, 318, 318, 318, 318, 319, 319, 319, 319, 320, 320, 321, 321, 321, 321, 322, 322, 322, 323, 323, 323, 323, 323, 324, 324, 325, 325, 325, 326, 326, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 328, 328, 328, 328, 328, 328, 328, 328, 329, 329, 329, 329, 330, 330, 330, 330, 330, 331, 331, 331, 331, 331, 332, 332, 332, 332, 332, 333, 333, 333, 333, 334, 334, 334, 334, 335, 335, 335, 335, 336, 336, 336, 336, 337, 337, 337, 337, 338, 338, 338, 338, 339, 339, 339, 340, 340, 340, 340, 340, 341, 341, 342, 342, 343, 343, 343, 343, 343, 343, 344, 344, 344, 345, 345, 346, 346, 346, 346, 346, 346, 346, 347, 347, 347, 347, 348, 348, 349, 349, 350, 350, 350, 350, 350, 350, 351, 351, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 353, 353, 353, 353, 353, 353, 353, 353, 354, 354, 354, 354, 354, 354, 355, 355, 355, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 357, 357, 357, 357, 357, 357, 357, 358, 358, 358, 359, 359, 359, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 363, 363, 363, 364, 364, 365, 365, 365, 365, 366, 366, 366, 366, 366, 366, 367, 368, 368, 368, 368, 368, 369, 369, 369, 369, 370, 370, 371, 371, 371, 372, 372, 372, 372, 372, 372, 372, 373, 373, 373, 373, 374, 374, 374, 374, 375, 376, 377, 377, 377, 378, 378, 378, 379, 379, 379, 379, 379, 379, 380, 380, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, 383, 383, 383, 383, 383, 383, 383, 383, 384, 384, 384, 384, 385, 385, 385, 385, 385, 385, 386, 386, 386, 386, 386, 386, 387, 387, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 389, 389, 389, 389, 389, 389, 389, 390, 390, 390, 390, 390, 391, 391, 391, 391, 392, 392, 392, 393, 393, 393, 394, 395, 395, 395, 396, 396, 397, 397, 398, 398, 398, 398, 399, 400, 401, 402
113 static const yytype_uint8 yyr2[] =
115 0, 2, 2, 2, 1, 2, 1, 1, 1, 4, 4, 2, 1, 3, 4, 3, 2, 2, 1, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 3, 1, 3, 3, 1, 1, 3, 3, 1, 3, 3, 3, 3, 1, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 3, 4, 5, 4, 3, 4, 2, 3, 4, 5, 4, 3, 4, 5, 5, 4, 2, 3, 3, 3, 3, 2, 4, 3, 3, 2, 4, 3, 2, 3, 2, 3, 2, 1, 2, 3, 3, 3, 2, 1, 3, 3, 1, 3, 3, 2, 4, 5, 3, 4, 3, 1, 3, 3, 3, 2, 3, 2, 4, 5, 3, 4, 3, 1, 3, 3, 2, 1, 2, 2, 2, 1, 2, 5, 7, 9, 6, 8, 4, 6, 1, 2, 3, 4, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 7, 1, 2, 4, 1, 1, 2, 3, 2, 2, 2, 3, 1, 2, 2, 2, 1, 1, 1, 2, 2, 2, 3, 3, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 2, 4, 4, 6, 2, 4, 4, 6, 1, 1, 3, 1, 4, 5, 1, 1, 1, 1, 3, 1, 1, 1, 3, 3, 3, 1, 3, 1, 2, 2, 3, 3, 5, 5, 6, 6, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 3, 1, 2, 4, 1, 1, 1, 4, 4, 5, 8, 2, 1, 1, 1, 2, 6, 6, 5, 5, 6, 6, 5, 5, 7, 7, 6, 6, 7, 7, 6, 6, 4, 5, 4, 6, 4, 1, 1, 1, 1, 3, 2, 1, 2, 2, 2, 1, 4, 4, 3, 4, 4, 3, 3, 2, 2, 4, 4, 3, 4, 3, 3, 2, 2, 1, 1, 3, 3, 1, 1, 3, 3, 2, 2, 2, 2, 2, 2, 4, 5, 5, 2, 4, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 2, 1, 2, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 2, 1, 3, 3, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 5, 6, 6, 2, 5, 1, 1, 1, 4, 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 2, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 5, 5, 5, 5, 4, 4, 4, 4, 5, 5, 5, 5, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 2, 2, 1, 3, 3, 3, 3, 1, 2, 3, 3, 2, 2, 2, 1, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 3, 2, 1, 2, 2, 2, 4, 4, 3, 3, 4, 5, 4, 6, 6, 4, 5, 4, 6, 6, 5, 5, 2, 2, 2, 5, 3, 5, 6, 5, 7, 7, 8, 8, 7, 7, 3, 3, 3, 4, 3, 5, 5, 6, 7, 6, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 1, 2, 2, 3, 5, 2, 3, 5, 5, 5, 1, 3, 2, 2, 3, 3, 2, 3, 3, 4, 3, 3, 3, 3, 3, 3, 4, 4, 4, 1, 1, 4, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 4, 5, 3, 3, 1, 3, 3, 3, 3, 1, 1, 1, 4, 4, 4, 3, 4, 4, 4, 3, 1, 3, 4, 3, 4, 4, 4, 4, 3, 2, 3, 3, 3, 3, 2, 2, 2, 3, 4, 1, 1, 2, 3, 3, 3, 3, 2, 2, 2, 3, 4, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 2, 3, 6, 5, 3, 4, 2, 3, 3, 3, 3, 4, 4, 4, 2, 3, 3, 3, 4, 4, 3, 4, 2, 3, 3, 3, 4, 4, 1, 2, 2, 3, 1, 1, 2, 2, 3, 1, 1, 2, 2, 3, 1, 2, 3, 2, 2, 1, 2, 3, 2, 1, 2, 3, 3, 1, 2, 3, 3, 1, 2, 3, 3, 1, 2, 3, 3, 1, 2, 3, 3, 1, 3, 4, 1, 4, 2, 5, 3, 1, 1, 1, 1, 1, 1, 3, 3, 2, 2, 1, 1, 3, 2, 3, 1, 3, 3, 3, 3, 3, 3, 1, 2, 3, 3, 1, 2, 1, 2, 2, 2, 2, 3, 1, 1, 3, 3, 1, 3, 4, 3, 4, 3, 3, 4, 3, 4, 1, 3, 3, 4, 3, 3, 3, 4, 1, 3, 3, 3, 3, 3, 1, 3, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 4, 7, 1, 3, 0, 6, 8, 10, 12, 8, 10, 10, 5, 7, 9, 11, 7, 9, 9, 3, 4, 4, 3, 3, 3, 4, 4, 3, 3, 3, 4, 4, 3, 2, 3, 2, 3, 4, 4, 3, 3, 1, 1, 1, 1, 1, 2, 3, 2, 2, 2, 3, 3, 2, 5, 6, 2, 2, 2, 2, 2, 2, 1, 2, 2, 3, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 2, 5, 5, 7, 7, 5, 5, 3, 2, 5, 4, 4, 7, 6, 6, 5, 7, 6, 4, 7, 9, 3, 4, 4, 5, 5, 6, 7, 6, 6, 5, 5, 4, 3, 2, 1, 2, 4, 3, 5, 4, 3, 2, 2, 2, 3, 3, 3, 3, 2, 2, 1, 1, 4, 3, 4, 3, 3, 2, 4, 3, 4, 3, 3, 2, 1, 2, 1, 1, 2, 1, 2, 3, 3, 1, 2, 2, 2, 3, 4, 4, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 2, 2, 3, 1, 1, 0, 6, 6, 5, 4, 1, 2, 2, 1, 3, 3, 4, 1, 1, 2, 2, 6, 6, 6, 4
118 static const yytype_uint16 yydefact[] =
120 1293, 257, 6, 592, 593, 594, 596, 597, 661, 662, 663, 664, 665, 666, 668, 671, 672, 669, 670, 655, 656, 660, 667, 758, 759, 605, 1138, 235, 680, 915, 916, 0, 0, 919, 1136, 1137, 681, 682, 673, 0, 0, 0, 0, 0, 920, 921, 684, 683, 685, 686, 598, 595, 958, 0, 1262, 806, 676, 8, 4, 0, 0, 0, 1256, 0, 1275, 882, 800, 0, 675, 0, 650, 652, 808, 810, 657, 802, 804, 741, 674, 0, 0, 651, 653, 0, 0, 0, 0, 0, 981, 654, 0, 917, 0, 0, 0, 1258, 1280, 1255, 1277, 1287, 1282, 0, 0, 0, 1273, 0, 1270, 1253, 0, 0, 1259, 0, 0, 0, 0, 1272, 1271, 0, 658, 959, 654, 960, 873, 872, 882, 914, 871, 901, 972, 0, 913, 977, 0, 0, 0, 0, 0, 0, 1148, 0, 237, 236, 0, 0, 245, 0, 244, 2, 3, 0, 5, 0, 607, 606, 0, 0, 627, 0, 0, 0, 0, 745, 0, 725, 724, 0, 1151, 594, 664, 665, 666, 1145, 807, 8, 1257, 1276, 882, 801, 809, 811, 803, 805, 981, 989, 654, 0, 0, 1020, 0, 0, 0, 1031, 0, 0, 873, 0, 0, 872, 0, 0, 891, 0, 0, 585, 586, 587, 589, 590, 1044, 591, 588, 896, 794, 866, 788, 0, 798, 0, 790, 792, 741, 796, 0, 0, 1043, 0, 0, 1047, 1057, 0, 0, 0, 0, 0, 0, 982, 0, 688, 689, 690, 691, 692, 693, 695, 698, 699, 696, 697, 687, 694, 711, 700, 0, 0, 705, 704, 706, 707, 1181, 703, 0, 0, 778, 702, 784, 780, 782, 786, 701, 0, 1157, 0, 0, 0, 0, 1246, 1252, 594, 0, 1269, 1264, 1278, 0, 1265, 1281, 1263, 1279, 1274, 1286, 1289, 0, 0, 0, 0, 0, 1284, 1285, 1288, 1283, 1, 0, 1260, 1261, 1254, 0, 0, 458, 263, 0, 0, 0, 0, 0, 0, 352, 353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 0, 347, 0, 350, 0, 0, 346, 348, 349, 351, 0, 265, 0, 264, 306, 272, 271, 258, 457, 0, 344, 354, 0, 356, 363, 368, 374, 0, 383, 392, 397, 402, 407, 410, 413, 430, 0, 479, 478, 480, 482, 489, 494, 499, 508, 517, 522, 527, 532, 535, 538, 0, 260, 296, 297, 298, 299, 0, 0, 0, 0, 0, 659, 961, 0, 903, 0, 908, 0, 0, 0, 0, 0, 0, 0, 914, 973, 978, 0, 883, 975, 885, 980, 976, 673, 4, 229, 228, 227, 233, 0, 264, 354, 219, 480, 0, 206, 249, 0, 0, 248, 255, 0, 0, 1139, 1140, 0, 168, 0, 169, 170, 0, 0, 0, 0, 0, 172, 246, 0, 0, 0, 0, 29, 31, 163, 175, 188, 0, 187, 0, 116, 119, 0, 195, 128, 0, 164, 140, 0, 167, 183, 196, 199, 0, 0, 264, 0, 0, 176, 0, 985, 654, 0, 12, 18, 0, 813, 812, 820, 814, 0, 816, 818, 741, 825, 824, 250, 256, 247, 0, 0, 239, 238, 640, 599, 602, 639, 643, 629, 0, 0, 0, 222, 223, 224, 225, 0, 217, 0, 754, 747, 0, 0, 744, 751, 746, 0, 0, 757, 748, 0, 0, 727, 726, 0, 0, 0, 0, 0, 0, 982, 990, 0, 1022, 0, 0, 1242, 1248, 0, 1244, 1250, 1032, 1146, 0, 0, 0, 1147, 890, 0, 264, 583, 584, 0, 0, 0, 0, 607, 606, 608, 0, 728, 0, 0, 664, 0, 0, 1041, 795, 8, 882, 789, 799, 791, 793, 797, 914, 871, 654, 963, 962, 0, 0, 0, 895, 0, 0, 894, 0, 0, 0, 1073, 0, 892, 893, 983, 0, 984, 0, 0, 1155, 1143, 1154, 76, 1152, 691, 692, 693, 1141, 882, 779, 785, 781, 783, 787, 654, 0, 1156, 1153, 1144, 0, 1158, 0, 1245, 1251, 1159, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, 0, 700, 0, 0, 0, 157, 1077, 1078, 703, 0, 0, 0, 264, 0, 354, 0, 0, 480, 567, 572, 0, 1075, 1163, 1166, 1083, 1074, 1087, 0, 0, 0, 0, 1185, 1183, 1076, 1089, 0, 1090, 1081, 1088, 0, 1091, 1182, 0, 0, 1266, 882, 0, 0, 0, 1276, 0, 871, 989, 654, 0, 0, 0, 0, 1252, 1290, 0, 0, 413, 0, 0, 918, 0, 337, 472, 0, 333, 468, 334, 469, 0, 860, 850, 858, 852, 854, 856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 476, 0, 274, 0, 0, 0, 764, 760, 762, 766, 1035, 0, 261, 0, 301, 302, 0, 325, 0, 324, 0, 460, 93, 0, 270, 459, 0, 314, 315, 0, 0, 0, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 439, 0, 0, 336, 471, 335, 470, 0, 0, 0, 0, 0, 0, 0, 375, 500, 0, 0, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 677, 0, 322, 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 678, 679, 0, 0, 0, 1305, 1306, 0, 0, 0, 877, 0, 0, 0, 881, 0, 0, 0, 907, 906, 904, 905, 914, 973, 978, 884, 886, 1000, 10, 9, 0, 0, 0, 654, 962, 207, 0, 0, 264, 206, 0, 0, 832, 826, 828, 830, 0, 0, 0, 16, 20, 0, 185, 184, 186, 0, 0, 0, 0, 347, 0, 264, 0, 26, 0, 21, 28, 24, 0, 25, 23, 22, 30, 32, 190, 83, 191, 122, 162, 0, 0, 0, 0, 132, 0, 0, 134, 0, 0, 143, 161, 200, 197, 202, 201, 198, 203, 115, 0, 0, 0, 882, 722, 177, 997, 0, 993, 654, 0, 11, 17, 712, 898, 1043, 0, 0, 0, 986, 0, 0, 173, 165, 192, 181, 0, 180, 0, 166, 882, 179, 0, 607, 606, 821, 815, 817, 819, 0, 0, 0, 604, 642, 0, 0, 7, 212, 208, 743, 0, 0, 0, 0, 1019, 1026, 1027, 1028, 1029, 64, 53, 92, 39, 38, 57, 69, 45, 48, 0, 74, 56, 0, 0, 0, 1010, 1012, 0, 1009, 1011, 0, 41, 44, 914, 983, 974, 991, 979, 1000, 992, 0, 1001, 1004, 1021, 1023, 1241, 1247, 1243, 1249, 1025, 1033, 1030, 1034, 889, 887, 888, 1070, 1052, 1061, 612, 611, 0, 0, 458, 729, 0, 0, 458, 730, 0, 0, 0, 944, 882, 0, 0, 654, 962, 0, 0, 0, 936, 0, 0, 0, 0, 0, 1042, 965, 0, 0, 964, 1046, 1045, 0, 865, 1069, 868, 1055, 1063, 0, 864, 1068, 867, 1053, 1062, 0, 1072, 1066, 869, 1048, 1058, 0, 1067, 870, 1050, 1059, 922, 923, 926, 925, 924, 0, 927, 929, 0, 0, 0, 0, 77, 0, 1142, 1160, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 1075, 1222, 1080, 1082, 0, 0, 1230, 1231, 1232, 0, 1238, 0, 0, 0, 0, 0, 0, 158, 144, 1086, 1085, 1084, 0, 0, 0, 573, 0, 1079, 0, 0, 0, 0, 453, 0, 0, 458, 0, 0, 0, 0, 1164, 1167, 1169, 0, 1165, 1168, 1170, 0, 1196, 1092, 1267, 1268, 237, 236, 0, 0, 0, 990, 0, 0, 1248, 0, 1250, 1251, 0, 0, 1149, 0, 0, 772, 264, 774, 768, 770, 776, 1037, 0, 0, 0, 0, 0, 0, 861, 851, 859, 853, 855, 857, 654, 968, 967, 0, 846, 836, 844, 838, 840, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 765, 761, 763, 767, 1036, 0, 0, 458, 0, 0, 0, 105, 0, 300, 458, 0, 0, 94, 458, 0, 0, 461, 313, 309, 329, 463, 464, 328, 465, 312, 0, 0, 435, 431, 303, 357, 483, 358, 484, 359, 485, 364, 490, 365, 491, 369, 495, 370, 496, 377, 502, 378, 503, 376, 501, 388, 513, 384, 509, 389, 514, 385, 510, 395, 520, 393, 518, 400, 525, 398, 523, 405, 530, 403, 528, 408, 533, 411, 536, 563, 0, 579, 0, 0, 0, 0, 437, 433, 462, 321, 318, 0, 466, 467, 320, 0, 0, 436, 432, 360, 486, 361, 487, 362, 488, 366, 492, 367, 493, 371, 497, 372, 498, 381, 506, 382, 507, 379, 504, 380, 505, 390, 515, 386, 511, 391, 516, 387, 512, 396, 521, 394, 519, 401, 526, 399, 524, 406, 531, 404, 529, 409, 534, 412, 537, 564, 0, 0, 0, 0, 438, 434, 0, 0, 1298, 1301, 0, 0, 1296, 1307, 1308, 0, 0, 876, 874, 875, 880, 878, 879, 234, 232, 231, 230, 264, 654, 965, 241, 0, 207, 240, 127, 0, 125, 833, 827, 829, 831, 0, 654, 0, 15, 19, 0, 182, 997, 654, 0, 139, 0, 137, 833, 0, 264, 654, 0, 27, 84, 117, 120, 118, 121, 129, 130, 131, 133, 141, 142, 114, 112, 113, 13, 714, 717, 0, 0, 910, 1043, 0, 0, 0, 998, 994, 0, 0, 713, 882, 899, 987, 988, 882, 193, 194, 178, 0, 0, 0, 0, 600, 601, 603, 0, 0, 632, 628, 0, 0, 0, 0, 0, 226, 218, 216, 0, 0, 0, 36, 37, 75, 54, 0, 55, 0, 63, 61, 72, 67, 73, 60, 90, 39, 70, 62, 91, 59, 71, 68, 0, 58, 0, 691, 33, 35, 34, 1013, 1014, 0, 620, 610, 0, 615, 609, 0, 458, 731, 0, 0, 0, 962, 0, 934, 945, 946, 939, 937, 938, 0, 966, 947, 0, 0, 940, 0, 0, 0, 1056, 1064, 1043, 1054, 1049, 1051, 1060, 933, 0, 0, 0, 930, 708, 709, 710, 458, 0, 0, 1117, 1127, 1122, 0, 0, 0, 1118, 1129, 1123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1221, 1209, 0, 1186, 264, 0, 0, 0, 1229, 1235, 1236, 1233, 1234, 0, 0, 0, 0, 145, 1114, 1124, 1119, 0, 159, 570, 568, 0, 0, 0, 451, 574, 571, 569, 452, 575, 0, 991, 1247, 1249, 1150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 775, 769, 771, 777, 1038, 0, 293, 291, 0, 0, 952, 654, 0, 0, 0, 0, 0, 0, 970, 0, 969, 0, 0, 0, 847, 837, 845, 839, 841, 843, 0, 267, 0, 266, 295, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0, 0, 0, 355, 481, 262, 108, 106, 327, 326, 99, 103, 310, 0, 311, 307, 308, 580, 0, 0, 0, 0, 0, 0, 319, 316, 317, 0, 0, 0, 0, 1300, 1299, 1303, 0, 0, 0, 1295, 1294, 0, 962, 218, 0, 0, 123, 126, 0, 0, 0, 0, 0, 998, 0, 135, 138, 0, 14, 458, 0, 0, 723, 0, 882, 911, 999, 995, 996, 715, 718, 900, 174, 822, 0, 243, 242, 0, 631, 0, 213, 214, 204, 209, 210, 220, 0, 0, 51, 46, 49, 52, 47, 50, 37, 43, 40, 42, 0, 0, 1017, 1018, 619, 0, 614, 0, 965, 964, 935, 948, 949, 942, 941, 943, 1040, 1039, 0, 932, 931, 79, 1115, 1125, 1120, 0, 1116, 1126, 1121, 0, 0, 0, 0, 0, 1225, 1199, 0, 0, 1198, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 1187, 1210, 1188, 1211, 0, 0, 0, 1099, 918, 1099, 0, 0, 155, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 292, 862, 0, 967, 0, 950, 953, 954, 277, 278, 0, 971, 955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 281, 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 0, 331, 330, 455, 581, 422, 555, 414, 539, 426, 559, 418, 547, 456, 582, 423, 556, 415, 540, 427, 560, 419, 548, 424, 557, 416, 541, 428, 561, 420, 549, 425, 558, 417, 542, 429, 562, 421, 550, 1302, 1304, 1297, 834, 0, 124, 150, 999, 0, 136, 86, 912, 0, 0, 823, 0, 0, 0, 0, 0, 0, 205, 0, 221, 0, 0, 1015, 1016, 1005, 0, 0, 0, 0, 928, 1189, 1190, 1193, 1194, 1197, 1227, 0, 0, 0, 0, 0, 0, 0, 1203, 1212, 0, 0, 0, 0, 1097, 0, 1094, 1107, 0, 1099, 0, 1099, 0, 0, 0, 0, 475, 474, 969, 951, 863, 956, 957, 275, 276, 848, 285, 286, 0, 0, 0, 0, 279, 280, 289, 290, 0, 0, 294, 1310, 1311, 1309, 343, 835, 0, 716, 719, 721, 720, 0, 0, 215, 211, 0, 1002, 1007, 0, 0, 0, 0, 0, 0, 0, 1217, 1201, 0, 0, 1202, 1214, 0, 1205, 1216, 0, 0, 0, 1099, 0, 1099, 0, 1099, 0, 1100, 0, 0, 0, 148, 0, 153, 0, 156, 0, 849, 283, 284, 0, 287, 288, 171, 1003, 1191, 1192, 0, 0, 1200, 1207, 0, 1204, 1215, 0, 1111, 1098, 0, 0, 0, 1108, 0, 0, 1099, 1099, 0, 1099, 147, 146, 151, 149, 0, 0, 355, 481, 269, 0, 0, 0, 1095, 0, 0, 1099, 1104, 0, 0, 1101, 0, 0, 154, 1208, 0, 1112, 1113, 1109, 0, 0, 0, 0, 1099, 152, 0, 0, 1105, 1106, 1102, 0, 1096, 1110, 0, 1103
123 static const yytype_int16 yydefgoto[] =
125 -1, 212, 56, 57, 981, 337, 445, 446, 447, 448, 449, 450, 451, 452, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 260, 261, 453, 454, 59, 338, 339, 752, 781, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 2100, 2101, 2102, 467, 652, 653, 654, 468, 469, 470, 471, 1794, 413, 509, 414, 510, 415, 511, 512, 873, 416, 417, 60, 61, 62, 63, 64, 340, 341, 342, 343, 344, 1008, 1009, 345, 346, 755, 1276, 347, 657, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 740, 835, 659, 1333, 364, 365, 660, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 661, 662, 1134, 1335, 559, 560, 214, 66, 502, 503, 215, 68, 216, 217, 69, 70, 71, 72, 73, 74, 218, 119, 219, 266, 938, 939, 220, 221, 222, 78, 79, 80, 81, 82, 223, 747, 1210, 269, 475, 84, 85, 492, 493, 883, 1233, 724, 1057, 1058, 125, 86, 476, 88, 477, 128, 129, 130, 942, 131, 120, 90, 1106, 1107, 1108, 91, 585, 1224, 479, 587, 1226, 134, 187, 480, 481, 189, 946, 136, 1026, 1544, 1014, 1015, 1545, 190, 191, 192, 193, 748, 1211, 227, 228, 229, 230, 231, 232, 665, 666, 2020, 2021, 667, 668, 669, 94, 482, 270, 95, 96, 271, 272, 273, 672, 673, 674, 675, 274, 676, 904, 1628, 1137, 679, 680, 681, 1138, 683, 97, 98, 379, 99, 100, 101, 102, 103, 104, 841, 1405, 1406, 842, 843, 380, 381, 382, 383
128 static const int yypact[] =
130 38766, -2034, -2034, -2034, -2034, 319, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 887, 344, -2034, -2034, -2034, -2034, -2034, -2034, 78, 244, 260, 389, 396, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 2702, 2912, -2034, -2034, -2034, 17, -2034, 371, 389, -11, -2034, 920, 408, 1047, -2034, 282, -2034, 332, -2034, 418, -2034, -2034, -2034, -2034, -2034, 839, -2034, 1010, 444, -2034, 489, 930, 38363, 2850, -17, 39066, -2034, 518, 527, -2034, 1204, 41733, 36912, -2034, -2034, -2034, -2034, -2034, -2034, 38870, 37954, 678, -2034, 344, -2034, -2034, 396, 396, 696, 591, 396, 29560, 389, -2034, -2034, 532, -2034, 2702, -2034, -2034, -2034, 610, -2034, -12, 810, -2034, -2034, 39165, -2034, -2034, 2912, 2746, 2357, 2539, 2016, 24201, -2034, 635, 798, 619, 30655, 41352, -2034, 30783, -2034, -2034, -2034, 389, -2034, 1184, 1066, 1086, 133, 41352, -2034, 41079, 30911, 41352, 31039, -2034, 31167, -2034, -2034, 389, -2034, -2034, 480, 647, 654, -2034, -2034, 952, -2034, 408, 577, -2034, -2034, -2034, -2034, -2034, 1256, 1423, 518, 2746, 1640, 2016, 41733, 41733, 573, -2034, 1163, 668, 671, 647, 654, 821, 518, 1197, -2034, 28140, 683, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 825, -2034, 335, -2034, 717, -2034, -2034, 754, -2034, 778, 2014, 36000, 401, 505, -2034, -2034, 539, 624, 815, 828, 164, 857, -2034, 164, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 873, 876, -2034, -2034, -2034, -2034, -2034, -2034, 85, 95, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 38565, -2034, 17872, 8187, 41940, 18013, -2034, 833, 929, 985, -2034, -2034, 408, 38464, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 418, 489, 39660, 41733, 39951, -2034, -2034, -2034, -2034, -2034, 902, 696, 696, -2034, 29560, 375, -2034, -2034, 29616, 29702, 29702, 909, 41534, 29560, -2034, -2034, 915, 960, 41534, 29560, 982, 990, 993, 1002, 1009, 29758, -2034, 1035, -2034, 12448, -2034, 396, 25738, -2034, -2034, -2034, -2034, 1046, -2034, 107, 1095, -2034, -2034, 344, -2034, -2034, 13083, -2034, 2029, 28196, -2034, 827, 685, 1198, 29560, 780, 1221, 1106, 1130, 1168, 1265, 38, 2029, 1228, 599, -2034, 2029, -2034, 922, 1112, 1250, 1166, 1435, 1258, 1266, 1212, 1349, 136, 2029, 696, -2034, -2034, -2034, -2034, 1297, 186, 41170, 1298, 1304, -2034, -2034, 28282, -2034, 28338, -2034, 630, 655, 1319, 1348, 2746, 2600, 2684, -12, -2034, -2034, 737, -2034, -2034, -2034, -2034, -2034, 915, 1046, -2034, -2034, -2034, -2034, 875, 1337, -2034, 1198, -2034, 1250, 36116, -2034, 24325, 41079, -2034, 367, 40806, 40048, -2034, -2034, 1363, -2034, 389, -2034, -2034, 344, 40242, 39854, 6126, 41443, -2034, -2034, 1307, 1364, 1364, 967, -2034, 1388, -2034, -2034, -2034, 114, 794, 129, -2034, -2034, 30007, 1395, -2034, 1225, -2034, -2034, 829, -2034, -2034, -2034, 1400, 30143, 30271, 267, 198, 599, 37124, 39264, -2034, 518, 1204, -2034, -2034, 37018, -2034, -2034, 1416, -2034, 389, -2034, -2034, -2034, 1417, 41534, -2034, 367, -2034, 30399, 30527, 1420, 1450, -2034, 1460, -2034, 1464, -2034, -2034, 3332, 1476, 886, -2034, -2034, -2034, -2034, 899, 594, 36116, 653, -2034, 31295, 31423, -2034, 653, -2034, 31551, 31679, 653, -2034, 31807, 31935, -2034, -2034, 2912, 2912, 2912, 2912, 22381, 737, 1256, 1423, 737, -2034, 28424, 8187, -2034, 833, 8187, -2034, 833, -2034, -2034, 2912, 2912, 737, -2034, -2034, 1459, 167, -2034, -2034, 1475, 1478, 40897, 1370, 1488, 1494, -2034, 32063, -2034, 32191, 450, -2034, 35765, 28480, 2912, -2034, 1219, 825, -2034, -2034, -2034, -2034, -2034, -12, 1491, 518, 181, 110, 199, 1798, 1499, -2034, 40533, 1501, -2034, 40624, 1502, 40715, 1503, 40988, -2034, -2034, -2034, 1305, -2034, 29560, 389, -2034, -2034, 1506, -2034, -2034, 480, 647, 654, -2034, 1498, -2034, -2034, -2034, -2034, -2034, 518, 1263, 668, -2034, -2034, 1510, -2034, 18154, -2034, 833, -2034, 215, 28566, 1507, 1518, 1519, 80, 18295, 1525, 344, 1524, 1529, 18436, 915, 2209, 1526, 1528, 344, -2034, -2034, 1046, 1530, 1540, 1542, 1324, 16312, 2029, 16603, 25794, 2029, 2029, -2034, 16744, 38666, -2034, -2034, -2034, -2034, -2034, 18577, 18718, 18859, 19000, -2034, -2034, -2034, 833, 19141, -2034, -2034, -2034, 19282, -2034, -2034, 396, 396, 696, 554, 389, 1344, 1548, -2034, -12, -17, -2034, 518, 2746, 41733, 41733, 8187, -2034, -2034, 39757, 29560, 158, 1544, 304, -2034, 24449, -2034, -2034, 28622, -2034, -2034, -2034, -2034, 41534, 1563, -2034, -2034, -2034, -2034, -2034, 36348, 41534, 24589, 344, 36464, 41534, 29560, 396, 396, 396, 29560, 12448, -2034, -2034, 10719, -2034, 13246, 13392, 13538, -2034, -2034, -2034, -2034, 36798, 1521, 159, 22521, -2034, -2034, 134, -2034, 585, -2034, 22661, 1556, -2034, 22801, -2034, -2034, 1485, -2034, -2034, 25880, 1508, 29560, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 28196, 165, -2034, -2034, -2034, -2034, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 1198, 1250, 29560, 29560, -2034, 29560, 28196, 28196, 28196, 28196, 28196, 29560, 29560, 13684, 28196, -2034, 1515, -2034, -2034, 25936, 1522, 29560, 28196, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 29560, 28196, 28196, 28196, 28196, 28196, 29560, 29560, 13830, 28196, -2034, -2034, 730, 825, 41443, -2034, -2034, 38054, 41170, 41170, -2034, 1551, 1553, 1555, -2034, 1566, 1567, 1568, -2034, -2034, -2034, -2034, -12, -2034, -2034, -2034, -2034, 1557, -2034, -2034, 24201, 24201, 35884, 518, 633, -2034, 324, 962, 1341, 36116, 995, 1575, 1586, -2034, -2034, -2034, 1417, 8921, 40145, -2034, -2034, 344, -2034, -2034, -2034, 37230, 1578, 344, 36232, 1987, 24713, 1826, 40339, -2034, 1585, -2034, 833, -2034, 833, -2034, -2034, -2034, 833, -2034, 1588, -2034, 799, -2034, -2034, 5167, 5167, 1364, 1364, -2034, 1364, 106, -2034, 1364, 1364, -2034, -2034, 811, -2034, 1400, 811, -2034, 1400, 862, 28708, 2513, 29560, 639, -2034, 1590, -12, 39363, -2034, 518, 2746, -2034, -2034, 1042, 683, 36000, 29871, 237, 164, -2034, 164, 2912, -2034, -2034, -2034, -2034, 189, -2034, 229, -2034, 267, 37124, 24201, -2034, -2034, 1599, -2034, -2034, -2034, 41079, 41079, 29560, 344, -2034, 32319, 149, -2034, 1125, 1135, -2034, 41079, 344, 802, 344, 1865, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 1364, -2034, -2034, -2034, -2034, -2034, 37336, 1404, -2034, 22941, 41837, 23081, -2034, -2034, 12738, -2034, -2034, 40436, -2034, -2034, -12, 1256, -2034, 1423, -2034, -12, -2034, 28424, -2034, -2034, -2034, -2034, -2034, 833, -2034, 833, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 1464, 183, 216, 1593, -2034, 32447, 32575, 1596, -2034, 32703, 32831, 32959, -2034, 615, 436, 449, 1523, 1722, 1603, 1604, 1605, -2034, 1595, 1597, 1600, 518, 737, 2016, 110, 39462, 28764, 181, -2034, -2034, 41261, -2034, -2034, 825, -2034, -2034, 41261, -2034, -2034, 825, -2034, -2034, 41261, -2034, -2034, 825, -2034, -2034, 41261, -2034, 825, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 1607, 1611, -2034, 1137, 1613, 1614, 223, -2034, 23221, -2034, -2034, 19423, 1608, 1609, 19564, 29560, 29560, -2034, 28850, 28906, 1610, 1616, 1621, 24802, 1622, 344, 26022, 2212, 1408, 26078, -2034, 1691, -2034, -2034, 26164, 1630, -2034, -2034, -2034, 1633, 1634, 26220, 16885, 396, 1642, 29560, 29560, 344, -2034, -2034, -2034, -2034, 22101, 305, 28196, -2034, 1220, -2034, 29560, 13976, 14122, 28196, -2034, 29560, 14268, 1510, 19705, 19846, 19987, 20128, -2034, -2034, -2034, 20269, -2034, -2034, -2034, 20410, -2034, -2034, 696, 696, 1648, 1649, 35519, 35646, 737, -2034, 737, 8187, -2034, 8187, -2034, -2034, 1637, 28196, -2034, 28196, 736, -2034, 267, -2034, -2034, -2034, -2034, 36798, 1647, 1650, 41625, 24201, 38967, 29560, 1652, -2034, -2034, -2034, -2034, -2034, 518, 1654, 1655, 1645, 1659, -2034, -2034, -2034, -2034, -2034, 36580, 26306, 1658, 1661, 1662, 29560, 1665, 36696, 1660, 382, 355, 366, 1664, 1669, 1675, -2034, 344, -2034, -2034, -2034, -2034, -2034, 29560, 396, 234, 37439, 23361, 1676, -2034, 28196, -2034, 242, 37542, 23501, -2034, 265, 37645, 23641, -2034, -2034, -2034, -2034, 1213, 1685, -2034, -2034, -2034, 26392, 4399, -2034, -2034, 1676, -2034, -2034, -2034, -2034, -2034, -2034, 827, 922, 827, 922, 685, 1112, 685, 1112, 1198, 1250, 1198, 1250, 1198, 1250, -2034, -2034, 780, 1166, -2034, -2034, 780, 1166, -2034, -2034, 1221, 1435, -2034, -2034, 1106, 1258, -2034, -2034, 1130, 1266, 1168, 1212, 1265, 1349, -2034, 94, -2034, 26451, 1651, 5970, 1681, -2034, -2034, -2034, -2034, -2034, 1237, -2034, -2034, -2034, 26537, 6518, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 827, 922, 827, 922, 685, 1112, 685, 1112, 1198, 1250, 1198, 1250, 1198, 1250, 1198, 1250, -2034, -2034, 780, 1166, -2034, -2034, 780, 1166, -2034, -2034, 1221, 1435, -2034, -2034, 1106, 1258, -2034, -2034, 1130, 1266, 1168, 1212, 1265, 1349, -2034, 26596, 1682, 6876, 1684, -2034, -2034, 344, 344, -2034, -2034, 567, 1099, -2034, -2034, -2034, 38157, 38260, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 1576, 2265, 633, -2034, 24201, 344, -2034, -2034, 24201, -2034, 880, -2034, -2034, -2034, 458, 518, 2746, -2034, -2034, 258, 1590, 1557, 518, 2746, -2034, 1695, -2034, 905, 464, 1493, 2912, 1697, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 2707, -2034, -2034, -2034, -2034, -2034, 23781, 1867, 683, 36000, 21961, 562, 737, -12, -2034, 737, 29560, -2034, 910, -2034, -2034, -2034, 1699, 1588, 1556, 1590, 1021, 24201, 1033, 1041, -2034, -2034, -2034, 33087, 33215, 1698, -2034, 4169, 41443, 41443, 41443, 41443, -2034, -2034, -2034, 29560, 1700, 28992, -2034, 833, -2034, -2034, 29048, -2034, 29134, -2034, -2034, -2034, 1429, 1404, -2034, -2034, 1364, -2034, -2034, -2034, -2034, -2034, 1429, 1404, -2034, 29190, 9625, -2034, -2034, -2034, -2034, -2034, 20551, -2034, -2034, 102, -2034, -2034, 120, 1701, -2034, 33343, 33471, 518, 1722, 1705, -2034, -2034, -2034, -2034, -2034, -2034, 737, 181, -2034, 1707, 1711, -2034, 1702, 1703, 1704, -2034, -2034, 36000, -2034, -2034, -2034, -2034, -2034, 29560, 1712, 1302, -2034, -2034, -2034, -2034, 276, 37748, 23921, -2034, -2034, -2034, 20692, 22101, 22101, -2034, -2034, -2034, 20833, 26682, 17026, 26768, 26854, 24942, 26940, 17167, 22241, 1715, 1716, 22241, 29560, 29276, 1793, 27026, 1634, 7280, 396, 22241, 1729, 12885, 24802, -2034, 1431, 27082, 9917, 27168, -2034, -2034, -2034, -2034, -2034, 143, 396, 1730, 1257, -2034, -2034, -2034, -2034, 20974, -2034, -2034, -2034, 1734, 1735, 344, -2034, -2034, -2034, -2034, -2034, -2034, 41079, -2034, -2034, -2034, -2034, 27224, 1728, 25222, 1731, 27310, 1732, 25308, 1733, 1738, 1742, -2034, -2034, -2034, -2034, -2034, -2034, 14414, -2034, -2034, 1744, 1057, -2034, 2008, 1750, 1751, 1754, 1745, 1746, 24201, 1655, 39561, 1654, 29560, 24201, 29560, 1762, -2034, -2034, -2034, -2034, -2034, 1752, -2034, 29332, -2034, -2034, 1753, 1755, 29560, 29560, 1759, 10719, -2034, 344, 344, 29560, 14560, 344, -2034, -2034, 696, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 14706, -2034, -2034, -2034, -2034, 28196, 14852, 14998, 28196, 15144, 15290, -2034, -2034, -2034, 15436, 15582, 15728, 15874, -2034, -2034, -2034, 730, 1761, 463, -2034, -2034, 518, 633, 1888, 1115, 24201, -2034, -2034, 1774, 737, 737, 1364, 737, 1557, 1780, -2034, -2034, 1784, -2034, 285, 37851, 24061, -2034, 518, 954, -2034, -12, -2034, -2034, 1778, 1783, -2034, -2034, -2034, 1147, -2034, -2034, 33599, 1790, 33727, -2034, 1802, 36116, -2034, 1803, -2034, 29560, 28424, 2262, -2034, -2034, 2262, -2034, -2034, -2034, 2262, -2034, -2034, 21115, 21256, -2034, -2034, -2034, 33855, -2034, 33983, 110, 181, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 2016, 27396, -2034, -2034, -2034, -2034, -2034, -2034, 21397, -2034, -2034, -2034, 21538, 24802, 7016, 24802, 7016, 16457, -2034, 25082, 17308, -2034, -2034, 22241, 22241, 27482, 24802, 27568, 11097, 1794, 12215, 27654, 174, 21679, -2034, 29560, -2034, 16457, -2034, 12885, 24802, 25394, 29418, 68, 1799, 68, 192, 1801, -2034, 344, 29560, 29560, 344, 28196, 28196, 28196, 28196, 28196, 28196, 28196, 28196, 16020, 16166, -2034, -2034, -2034, 518, 1655, 1796, -2034, -2034, -2034, -2034, -2034, 1177, 1654, -2034, 1808, 1809, 1800, 1810, 1178, 1814, 1815, 24201, 29560, 12448, -2034, -2034, -2034, 1817, 1823, 1824, 1825, 29560, 1819, 1837, 1838, 1839, -2034, 1841, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, 304, -2034, -2034, -2034, -2034, 1190, -2034, -2034, 1557, 28196, -2034, -2034, -2034, 29560, 29560, -2034, 34111, 34239, 34367, 34495, 34623, 41443, -2034, 41443, -2034, 25480, 21820, -2034, -2034, -2034, 34751, 34879, 35007, 35135, -2034, 1874, 1905, -2034, -2034, -2034, -2034, 24802, 29560, 29474, 1799, 17449, 17590, 25566, -2034, 16457, 25082, 27710, 17731, 344, -2034, 937, 606, -2034, 206, 68, 1844, 68, 299, 581, 1849, 1264, -2034, -2034, 1654, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, -2034, 1222, 1845, 1858, 1850, -2034, -2034, -2034, -2034, 1866, 1868, -2034, -2034, -2034, -2034, -2034, -2034, 1853, -2034, -2034, -2034, -2034, 35263, 35391, -2034, -2034, 27796, -2034, -2034, 24802, 24802, 27882, 25652, 24802, 27968, 11097, 1876, -2034, 24802, 29560, -2034, -2034, 25082, -2034, -2034, 1875, 1883, 68, 68, 29560, 68, 1885, 68, 976, -2034, 211, 1364, 561, -2034, 277, -2034, 1884, -2034, 344, -2034, -2034, -2034, 28992, -2034, -2034, -2034, -2034, -2034, -2034, 1876, 24802, -2034, -2034, 28054, -2034, -2034, 396, -2034, -2034, 1276, 1889, 1279, -2034, 1063, 1898, 68, 68, 1899, 68, -2034, -2034, -2034, -2034, 299, 607, -2034, -2034, -2034, 24802, 648, 1900, -2034, 1903, 1907, 68, -2034, 1285, 1296, -2034, 1073, 429, -2034, -2034, 29560, -2034, -2034, -2034, 1318, 1908, 1909, 1912, 68, -2034, 1913, 1914, -2034, -2034, -2034, 1342, -2034, -2034, 1930, -2034
133 static const yytype_int16 yypgoto[] =
135 -2034, 2396, 64, 9927, -2034, 2037, -2034, -2034, -2034, -2034, -2034, -2034, 1558, 1579, -998, -2034, -970, -749, 62, 65, -925, -901, -797, -2034, -731, -694, -2034, -2034, 1582, 1587, -2034, 1401, 3070, -2034, -222, 500, 575, -2034, -2034, -2034, -2034, 1589, -2034, -2034, -2034, -645, -2033, -83, -2034, -2034, -2034, -2034, 1820, 2003, -122, 11, 552, -826, -2034, -845, -2034, -860, -2034, 1091, -143, 1211, -877, -8, 1788, 15, 1795, -40, 0, -2034, 1149, -2034, -2034, 4986, 4663, -2034, 5940, -640, 1270, -2034, 3960, -2034, -328, 452, 692, 574, -2034, -13, -710, -453, -450, -120, -85, 477, 8670, 5187, -174, 8829, -766, 759, -2034, 4795, -275, 747, 753, 1380, 193, -47, 32, 34, -15, 43, 918, 3107, -56, 7473, -755, 1911, 264, 10823, -71, 1117, -129, 2980, 11098, 8509, -2034, -2034, -2034, -74, -20, -9, -2034, 7152, -2034, 320, -125, 631, -258, 3671, 9117, -2034, 11465, -2034, -2034, -2034, -53, 3758, -2034, -2034, 1143, 7030, -1, -2034, -2034, 1277, 1667, 1382, 1804, -86, -82, 5745, 10386, 3393, 4790, -407, -124, -464, 942, -856, -109, 3181, -2034, -2034, -1059, -2034, 3340, -406, -1215, 7619, -201, -711, 714, 200, 1082, 1683, -247, -597, -460, -990, -537, -918, -914, 316, 1150, 1027, -14, 1848, -720, -335, 538, -400, -448, -2034, -90, -77, 7278, -294, 33, -773, -2034, -2034, -2034, 2033, -2034, 2028, 2042, -48, 2627, -111, 1863, 919, 921, -2034, -2034, -2034, -91, 849, -1558, -262, -2034, -2034, -2034, -26, -2034, 2046, -43, 19, 2045, 1500, -2034, -2034, -2034, 2050, -784, 407, -2034, -753, 773, -2034, -2034, -2034, -2034
138 static const yytype_int16 yytable[] =
140 65, 225, 275, 1152, 1027, 226, 1235, 1422, 1529, 403, 1691, 941, 678, 177, 513, 947, 1468, 1239, 489, 1258, 1469, 784, 1421, 496, 404, 506, 1265, 290, 951, 1269, 489, 109, 111, 1543, 489, 1523, 518, 1533, 523, 397, 527, 1420, 116, 395, 175, 699, 284, 396, 291, 1585, 110, 286, 398, 124, 281, 805, 1259, 149, 1859, 1409, 141, 403, 117, 1266, 178, 150, 1270, 153, 1397, 2140, 1870, 199, 953, 107, 785, 179, 404, 542, 545, 1399, 1525, 1122, 1535, 164, 176, 124, 606, 213, 1481, 1493, 1410, 1315, 124, 282, 65, 1732, 608, 543, 546, 174, 292, 65, 65, 1815, 1526, 300, 1536, 200, 758, 280, 753, 107, 392, 1, 385, 910, 289, 388, 201, 1381, 142, 1817, 143, 393, 139, 2140, 1275, 301, 302, 213, 912, 305, 124, 124, 504, 1260, 1, 418, 2, 137, 1510, 150, 472, 485, 619, 472, 1871, 122, 303, 499, 1502, 501, 1, 833, 501, 485, 497, 514, 472, 485, 472, 1041, 472, 670, 303, 530, 1284, 1, 149, 519, 1, 524, 1341, 528, 780, 805, 150, 1871, 384, 303, 1074, 629, 700, 806, 1546, 124, 1, 722, 807, 1, 1490, 1082, 815, 722, 1088, 2025, 1094, 303, 1099, 933, 1075, 556, 112, 2019, 1123, 763, 764, 765, 1527, 2093, 1537, 177, 607, 150, 2134, 564, 624, 1549, 290, 1, 290, 177, 871, 164, 576, 609, 1, -454, 945, 1816, 1491, 976, -618, 124, 571, -109, 124, 759, 595, 291, 331, 291, 1442, -100, 911, 572, 284, 1818, 682, 976, -613, 286, 692, 135, 281, 622, 1524, 1530, 1534, 759, 1529, 1, 178, 505, 1261, 555, -104, 1529, 1872, 615, 1, 1529, 178, 179, 655, 859, 1873, -82, 686, 1503, 1, 834, 688, 876, 689, 1, -89, 1441, 53, 1533, 860, 1256, 65, 703, 65, 1261, 1533, 687, 760, 2010, 1533, 2009, 1, 1200, 881, 1072, 1278, 1873, 1, 702, 2, 837, 718, 1547, 987, 881, 1073, 2026, 718, 911, 76, 833, 766, -1040, -1040, 2027, 934, 1, -1040, 556, 767, 2094, 401, 768, 1535, 2090, 2135, 1680, 1, 2095, 2090, 1535, 625, 761, 2136, 1535, 1550, 1, 1588, 1319, 749, 2099, 980, 1323, 901, 903, 905, 907, 1536, 759, 303, 1486, -1065, 2, -109, 1536, 596, 972, 113, 1536, 1061, 303, -100, 2099, -458, -458, -458, 1385, 1176, 1180, 303, 1389, 1590, 1764, 114, 150, 839, 303, 147, 148, 950, 556, 1, 556, 226, -104, 1643, 105, 760, 124, 1246, 107, 589, 1247, 181, 124, -82, 2139, 678, 678, 678, 678, 1018, 151, 76, -89, 1541, 2, 150, 1591, 941, 76, 76, 839, 588, 874, 514, 1020, 1018, 878, 576, 947, 1, 1043, 1661, 889, 1665, 589, 890, 839, 878, 897, 839, 1020, 1048, 1663, 1052, 1667, 717, 1202, 592, 1028, 106, 1, 1030, 847, 699, 851, 1285, 1287, 1289, 1, 1537, 154, 1074, 155, 562, 1, 303, 1537, 472, 472, 150, 1537, 1903, 937, 213, 404, 2, 124, 941, 1062, 964, 1159, 1713, 1025, 1166, 968, 1349, 1351, 1353, 164, 969, 1478, 1063, 1714, 472, 472, 138, -458, 708, 941, -458, 2099, 1683, 947, 592, 1712, 982, 1530, 1534, 1286, 1288, 1290, 150, 986, 1530, 1534, 472, 472, 1530, 1534, 1701, 472, 472, 1831, 590, 472, 472, 1710, 591, 124, 124, 124, 124, 1, 124, 303, 146, 124, 595, 1350, 1352, 1354, 580, 1487, 1254, 1488, 156, 941, 124, 124, 124, 1542, 1757, 1813, 150, 1, 753, 2170, 2, 839, 501, 595, 1, 591, 472, 1422, 472, 530, 1, 1056, 556, 124, 548, 160, 150, 1049, 594, 1053, 1, 1054, 1756, 1481, 1, 753, 124, 1194, 1196, 1760, 1969, 1080, 1529, 753, 1086, 1769, 1092, 1, 1097, 1221, 1231, 1420, 181, 1221, 1231, 1111, 809, 810, 811, 531, 1, 303, 181, 753, 76, -873, -866, 1787, 1, 161, 1809, 1533, 1, 1780, 1810, 597, 1781, 1409, 1409, 290, 593, 589, 177, 1443, 594, 1236, 1065, 1440, 1133, 52, 1140, 135, 1, 27, 682, 682, 682, 682, 1153, 745, 291, 234, 1798, 303, 1074, 849, 592, 853, 1410, 1410, -458, -458, -458, 386, -1065, 1566, 1535, 1061, 596, 1110, 655, 655, 655, 655, 1428, 147, 148, 1575, 299, 1793, 2034, 1796, 1437, 178, 1325, 535, 1778, -1065, 150, 1188, 1536, 596, 258, 1451, 1748, 1580, 1749, 124, 147, 148, -1024, 303, -1024, 576, 1185, 1186, 2103, 1492, 535, 1205, 1277, 420, 1391, 1915, 1262, 147, 148, 1212, 945, 304, 1327, 1263, 985, 812, 1217, 1227, 556, 1237, 1217, 1227, 2092, 813, 2159, 1, 814, 1205, 147, 148, 839, 1, 1, 426, 1773, 580, -866, 391, 427, 1249, 1393, -1071, 1242, 1243, 1244, 598, 1316, 854, 1277, 868, 1436, 591, 147, 148, 424, 1272, 2, 2, 1540, 1279, 572, 1436, 1473, 135, 2161, 1070, 122, 1529, 532, -458, 1062, 1774, 855, 705, 1382, 533, 594, -458, 1307, 1311, -458, 1326, 705, 1063, 795, 796, 1537, 580, 705, 551, 186, 186, 531, -265, -265, -265, 1533, 1, -460, -460, -460, 1339, 1543, 1902, 561, 1344, 1373, 1377, 1909, 1392, -458, -458, -458, 1993, 1593, 789, 790, 1599, 1461, 1462, 1, 1463, 1495, 1496, 1465, 1466, 1320, 580, 1067, 1324, 1404, 150, 1407, 1530, 1534, 839, 839, 839, 400, 565, 1328, 1535, 1504, 397, 1402, 1403, 678, 1477, 1500, 678, 1558, 396, 717, 53, 1386, 1640, 398, 1390, 418, 1423, 213, -459, -459, -459, 982, 1536, 150, 986, 1394, 1176, 1180, 1176, 1180, 1971, 164, 1433, 576, 566, 864, 1153, 619, 1, 1, 576, 107, 1448, 1450, 678, 1452, 1118, 839, 923, 924, 474, 797, 798, 474, 1515, 1780, 1781, 567, 678, 678, 678, 678, 1, 980, 1548, 1551, 474, 108, 474, 425, 474, -265, 147, 148, -8, -265, 1718, 793, 1267, 1512, -460, 1554, 1, 200, 124, 403, 150, -902, 1990, 599, 213, 276, -458, 124, 201, 147, 148, 786, 1485, 534, 404, 124, 600, 124, 1489, 391, 1, 2, 925, 404, 157, 1020, 684, 150, 937, 418, 1025, 787, 788, -742, 1896, -742, 514, 514, 941, 501, 1537, 472, 501, 1719, 602, 1568, 186, 514, 1511, 150, 1513, 1, 1501, 107, 1923, 1308, 1312, -459, 1569, 186, 604, 865, 420, 605, 1813, 1758, 1880, 866, 29, 30, 105, 1814, 1675, 33, 1759, 1679, 124, 947, 941, 685, 39, 941, 1566, 1374, 1378, 983, 181, 1530, 1534, 183, 1758, 984, 1208, 704, 147, 148, 717, 1784, 2044, 1768, 544, 547, 726, 753, 44, 45, 816, 501, 501, 745, 144, 472, 472, 1, 145, 472, 472, 472, 1208, 150, 2060, 1208, 124, 124, 162, 2089, 817, 818, 1555, 2090, 1252, 496, 124, 2091, 124, 213, 556, 137, 147, 148, 839, 1978, 1993, 150, 534, 93, 839, 727, 1426, 150, 391, 619, 839, 682, 984, 150, 682, 906, 839, 135, 150, 258, 1040, 2024, 2132, 1, 1645, 107, 2090, 730, 1650, 1699, 2133, 1652, 150, 1654, 27, 731, 1699, 655, 732, 1429, 655, 2145, 630, 33, 677, 984, 1684, 733, 538, 1133, 1081, 1140, 682, 1087, 734, 1093, 135, 1098, 1571, 1685, 1625, 1100, 158, 701, 159, 1786, 682, 682, 682, 682, 588, 866, 1820, 1638, 44, 45, 135, 1788, 655, 1279, 738, 580, 2067, 984, 2068, 1789, 1101, 188, 1634, 147, 148, 984, 655, 655, 655, 655, 1483, 93, 757, 823, 824, 1893, 705, 1102, 293, 93, 500, 866, 1, 2151, 472, 472, 124, 2090, 124, 2047, 580, 2152, -626, 2168, -626, 1472, 497, 2090, 839, 580, 150, 2169, 1, 791, 792, 839, 580, 1103, 1104, 418, 213, 745, -625, 580, -625, 147, 148, 707, 1558, 183, -872, 760, -872, -872, 474, 474, 707, 2029, 1695, 695, 799, 800, 707, 1970, 1498, 1695, 1291, 1293, 801, 866, 988, 988, 988, 988, 150, 819, 820, 2096, 1505, 2098, 474, 474, -901, 1506, 401, 821, 822, 1583, 1507, 186, 186, 1584, 1669, 1508, 580, 1981, 1355, 1357, 802, 1994, 1720, 866, 474, 474, 29, 30, 804, 474, 474, 33, 580, 474, 474, 825, 826, 549, 39, 550, -872, 902, 917, 918, 908, 941, 941, 2036, 2041, 1834, 1838, -872, 1100, 866, 866, 1100, 1646, 1647, 1648, 803, 2059, 1850, 44, 45, 919, 2127, 866, 2129, 920, 2131, 921, 553, 474, 550, 474, 53, -872, 1101, -901, -901, 1101, 678, 678, -901, 1573, 1727, -872, 1, 137, 1728, -901, 1, 2107, 678, 1102, -216, 1820, 1102, 866, -216, 808, 391, 922, 831, -872, -872, -872, 2154, 2155, 1739, 2157, 188, 832, 1728, -901, -901, 1299, 1301, 1042, 1303, 1, 698, 1827, 293, 1103, 1104, 2165, 1103, 1104, 1876, -901, -901, -901, 1877, 33, 1611, 2105, 1114, 1029, 550, 2106, 1031, 829, 2176, 1363, 1365, 1367, 1369, 2148, 1746, 1747, 2150, 2090, 1750, 150, 2090, 830, 2166, 839, 839, 1566, 2090, 1457, 1459, 695, 44, 45, 1, 2167, 836, 150, -913, 2090, 1751, 1423, 1513, 844, 1105, 418, 507, 859, 899, 845, 520, 1761, 258, 124, 420, 420, 1638, 2172, 856, 2, 124, 2090, 860, 827, 828, 1770, 150, 124, 1814, 760, 1020, 1157, 147, 148, -216, 2142, 147, 148, -216, 867, -216, 2179, 760, 1427, -216, 2090, 760, 857, 124, 1189, 1777, 143, 1019, 124, 1687, 1022, 124, 1295, 1297, 150, 1271, 887, 1, 1025, 1458, 1460, 29, 30, 418, 258, 1, 33, -913, -913, 472, 472, 1707, -913, 39, 839, 839, 839, 839, 1278, -913, 1, 885, 1359, 1361, 909, 1338, 422, 1, 677, 677, 677, 677, 1343, 916, 1, 1, 926, 44, 45, 1673, 1520, 1994, 1521, -913, -913, 1292, 1294, 966, 760, 420, 1620, 973, 455, 1296, 1298, 455, 1195, 1197, 1198, -913, 2, -913, 2006, 472, 472, 1518, 124, 1519, 455, 122, 455, 760, 455, 1863, 124, 1356, 1358, -882, -882, 682, 682, 974, -882, 1360, 1362, 576, 1033, 1035, 1, -882, 1802, 682, 1805, 1803, 678, 1806, -216, 975, 1171, 1173, 1172, 1174, 976, 1988, 1036, 655, 655, 29, 30, 1905, 295, 298, 33, -882, -882, 1133, 979, 655, 1133, 39, 1037, 1133, 1906, 1038, 1574, 1625, 1411, 1412, 1044, 1133, 1577, 707, 1133, 760, 1045, 201, 1578, 1077, 1113, 1083, 1089, 1095, 1579, 44, 45, 1112, 1115, 1860, 1192, 1119, 540, 1120, 1121, 52, 695, 1255, 571, 1153, 1139, 1150, 1141, 1151, 401, 1874, 514, 1142, 1154, 572, 753, 753, 753, 753, 753, 753, 753, 753, 1155, 1982, 1156, 1985, 1201, 1930, 1973, 474, 474, 588, 1650, 1013, 1190, 1654, 989, 990, 991, 992, 1214, 1267, 1413, 418, 1414, 213, 1415, 393, 418, 1996, 1018, 1998, 147, 148, -216, 1032, 1034, 1416, 1417, 1418, -216, 1430, 760, 1431, 1447, 1020, 1249, 1455, 1924, 1925, 29, 30, 1928, 1456, 1474, 33, 1494, 2084, -734, 2087, 1, -737, 39, 1559, 1560, 1561, 1562, 1581, 1563, 794, 1582, 1564, 474, 1586, 1587, 1613, 1596, 1597, 1612, 1025, 1614, 1616, 1783, 1621, 1404, 2, 44, 45, 753, 678, 1025, 678, 1629, 418, 122, 1630, 1631, 124, 124, 1659, 124, 1635, -1019, 541, -1019, 1655, 426, 1676, 400, 1688, 1677, 1828, 150, 1690, 1215, 1692, 1693, 2143, 1703, 1735, 698, 1704, 1705, 420, 1711, 472, 2123, 472, 1715, 1716, 839, 580, 29, 30, 1076, 1708, 1983, 33, 1986, 1717, 422, 1722, 474, 474, 39, 1729, 474, 474, 474, 1738, 1743, 472, 1745, 472, 124, 1767, 682, 1771, 678, 1785, 1790, 695, 1997, 1799, 1999, 1821, -740, 1822, 44, 45, 2144, 1823, 1830, 1824, 1825, 1826, 1133, 1133, 1133, 1133, 1516, 571, 655, 1851, 1852, 1857, 1133, 1133, 1861, 1133, 1875, 1133, 572, 1878, 1879, 1213, 1882, 2065, 1889, 1884, 1886, 1888, 1890, 1133, 1892, 1, 455, 455, 29, 30, 1897, 1898, 1153, 33, 1899, 1638, 1900, 1901, 961, 1912, 39, 1192, 1913, 1968, 1916, 2022, 1917, 2022, 1013, 1922, 2, 580, 455, 455, -231, 1013, -882, -882, 1013, 122, 1972, -882, 695, 1975, 44, 45, 1979, 418, -882, 556, 1976, 1980, 1984, 2008, 455, 455, 2035, -1039, -1039, 455, 455, 2023, -1039, 455, 455, 1987, 1989, 2028, 2037, 2038, 1025, 2039, -882, -882, 2072, 29, 30, 29, 30, 2054, 33, 2040, 33, 474, 474, 2042, 2043, 39, 2048, 39, 695, 1908, 760, 1911, 2049, 2050, 2051, 2055, 2056, 2057, 677, 2058, 455, 677, 455, 2073, 2097, 1919, 1921, 2104, 2110, 44, 45, 44, 45, 2113, 2108, 472, 472, 472, 472, 472, 839, 52, 839, 682, 53, 682, 1514, 2109, 2066, 472, 472, 472, 472, 936, 420, 2111, 2119, 2112, 420, 677, 1133, 2137, 2138, 2125, 2124, 2130, 1025, 2149, 2141, 655, 1, 655, 2088, 677, 677, 677, 677, -958, 2153, 2156, 2162, 1153, 1638, 2163, 745, 19, 20, 2164, 2173, 2174, 58, 2177, 2175, 957, 2178, 2, 1657, 2022, 1658, 2022, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 2180, 2158, 682, 1797, 958, 29, 30, 959, 472, 472, 33, 420, 960, 1464, 963, 1133, 1133, 39, 1509, 1133, 1419, 1133, 115, 690, 1133, 1342, 29, 30, 655, 420, 691, 33, 29, 30, 29, 30, 1499, 33, 39, 33, 58, 44, 45, 1638, 39, 1153, 39, 152, 1775, 1153, 894, 52, 2022, 2022, 1240, 2022, 886, 2022, 580, 1991, 623, 1133, 44, 45, 58, 728, 2126, 58, 44, 45, 44, 45, 52, 259, 58, 1215, 1656, 294, 1022, 283, 671, 58, 58, 285, 1153, 1638, 2147, 287, 568, 1133, 297, 1013, 1013, 1013, 58, 2022, 2022, 387, 2022, 1967, 779, 1153, 0, 0, 0, 0, 0, 0, 0, 58, 400, 0, 0, 0, 2022, 0, 0, 412, 1300, 1302, 2046, 1304, 412, 259, 0, 412, 0, 0, 0, 2053, 0, 2022, 0, 0, 0, 259, 0, 58, 412, 259, 412, 0, 412, 0, 0, 0, 1364, 1366, 1368, 1370, 0, 0, 0, 0, 705, 705, 0, 705, 705, 0, 0, 0, 705, 705, 705, 705, 0, 725, 259, 259, 0, 0, 0, 729, 0, 0, 0, 745, 0, 0, 0, 412, 0, 0, 0, 0, 2062, 2064, 0, 422, 422, 0, 0, 0, 0, 563, 0, 19, 20, 1013, 19, 20, 474, 474, 58, 420, 0, 0, 0, 0, 420, 0, -458, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 29, 30, 0, 29, 30, 33, 928, 931, 33, 0, 0, 0, 39, 0, 0, 39, 627, 631, 848, 0, 852, 0, 259, 0, 0, 259, 259, 651, 0, 474, 474, 0, 928, 931, 0, 58, 44, 45, 0, 44, 45, 0, 0, 0, 0, 58, 259, 58, 420, 1148, 0, 0, 1619, 0, 928, 931, 29, 30, 0, 928, 931, 33, 422, 928, 931, 259, 0, 0, 39, 0, 0, 259, 0, 0, 705, 705, 705, 705, 705, 705, 705, 705, 412, 0, 0, 0, 0, 0, 0, 420, 0, 0, 44, 45, 1807, 455, 0, 1192, 0, 0, -458, -458, 52, 0, 0, 868, 0, 0, 0, 0, -458, 0, 55, 0, 0, 0, 572, 1013, 1013, -458, -458, -458, -458, -458, 1013, 1013, 0, 0, 1013, 1013, 0, 0, 0, 0, 0, 0, 0, 1656, 0, 58, 1022, 0, 0, 0, 412, 0, 412, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 39, 677, 677, 0, 0, 455, 455, 0, 705, 455, 455, 455, 0, 677, 0, 0, 58, 0, 412, 58, 0, 0, 259, 58, 44, 45, 0, 0, 888, 929, 932, 0, 58, 259, 0, 58, 172, 0, 406, 1066, 0, 0, 420, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 55, 55, 929, 932, 0, 0, 0, 0, 0, 0, 412, 412, 0, 0, 0, 58, 58, 0, 0, 1, 0, 0, 412, 0, 929, 932, 0, 967, 0, 929, 932, 0, 259, 929, 932, 0, 412, 412, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1117, 0, 0, 0, 0, 474, 122, 474, 58, 0, 0, 412, 412, 0, 0, 0, 412, 412, 0, 0, 412, 412, 0, 0, 0, 0, 627, 0, 651, 627, 0, 474, 0, 474, 0, 259, 0, 0, 259, 0, 0, 0, 0, 0, 29, 30, 455, 455, 0, 33, 422, 0, 0, 0, 58, 0, 39, 0, 0, 412, 0, 412, 0, 0, 58, 412, 0, 0, 0, 0, 29, 30, 1013, 0, 0, 33, 574, 0, 0, 0, 44, 45, 39, 0, 58, 0, 0, 58, 0, 58, 52, 58, 0, 53, 1470, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 44, 45, 1936, 1940, 0, 1946, 1950, 0, 0, 0, 1954, 1958, 1962, 1966, 408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 172, 0, 33, 0, 0, 0, 0, 0, 0, 39, 172, 0, 55, 0, 0, 0, 0, 0, 677, 0, 627, 631, 1177, 1181, 0, 0, 1656, 1022, 0, 651, 651, 651, 651, 44, 45, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 861, 0, 0, 627, 0, 0, 0, 0, 1013, 1013, 259, 259, 259, 0, 0, 58, 474, 474, 474, 474, 474, 412, 19, 20, 1, 0, 0, 0, 0, 259, 474, 474, 474, 474, 29, 30, 259, 259, 412, 33, 259, 259, 0, 0, 0, 0, 39, 412, 0, 2, 58, 0, 29, 30, 0, 0, 0, 33, 122, 58, 0, 0, 651, 0, 39, 0, 0, 0, 0, 651, 44, 45, 651, 0, 707, 707, 707, 707, 707, 707, 707, 707, 422, 0, 862, 0, 422, 0, 44, 45, 0, 0, 0, 0, 574, 0, 29, 30, 52, 474, 474, 33, 0, 0, -458, -458, 0, 0, 39, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, -458, -458, -458, 1471, -458, -458, -458, -458, -458, 1, 0, 0, 0, 44, 45, 0, 0, 0, 0, 0, 0, 677, 0, 677, 928, 931, 53, 574, 928, 931, 422, 0, 0, 58, 2, 0, 58, 58, 58, 0, 0, 0, 1497, 194, 195, 196, 0, 0, 422, 707, 0, 0, 0, 0, 0, 628, 632, 455, 455, 412, 412, 58, 0, 0, 0, 0, 0, 574, 58, 0, 0, 1, 1013, 1013, 0, 0, 259, 58, 0, 0, 0, 29, 30, 0, 58, 0, 33, 259, 0, 412, 677, 58, 0, 39, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 455, 455, 0, 0, 0, 0, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, 0, 58, 0, 67, 0, 0, 0, 1572, 0, 58, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 39, 0, 0, 58, 412, 0, 0, 0, 0, 0, 0, 58, 58, 0, 0, 0, 412, 0, 0, 0, 0, 0, 58, 0, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 1610, 53, 0, 0, 0, 0, 0, 651, 259, 651, 0, 0, 0, 0, 0, 259, 929, 932, 0, 0, 929, 932, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 422, 0, 0, 0, 0, 422, 67, 0, 0, 0, 0, 0, 0, 67, 67, 0, 0, 412, 412, 0, 0, 412, 412, 412, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 1204, 0, 0, 0, 58, 412, 0, 0, 0, 58, 0, 0, 0, 0, 0, 58, 0, 0, 487, 0, 0, 58, 1686, 0, 0, 0, 1204, 58, 0, 1204, 487, 0, 0, 422, 487, 0, 0, 0, 0, 1594, 0, 0, 1600, 0, 1706, 651, 0, 0, 651, 0, 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 0, 0, 628, 0, 0, 0, 0, 0, 0, 422, 0, 89, 0, 0, 0, 1641, 0, 0, 0, 0, 0, 455, 0, 455, 651, 0, 0, 0, 0, 1177, 1181, 1177, 1181, 0, 0, 0, 0, 0, 651, 651, 651, 651, 456, 0, 0, 456, 0, 455, 0, 455, 378, 0, 627, 0, 627, 0, 412, 412, 456, 0, 456, 259, 456, 259, 132, 0, 574, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 58, 0, 0, 259, 412, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 165, 184, 198, 0, 0, 0, 259, 574, 67, 236, 67, 89, 0, 259, 0, 0, 574, 0, 89, 89, 0, 0, 0, 574, 0, 0, 0, 0, 422, 0, 574, 259, 651, 628, 632, 1178, 1182, 0, 259, 651, 0, 0, 259, 651, 558, 0, 0, 0, 0, 198, 405, 407, 409, 410, 0, 0, 928, 931, 0, 478, 0, 0, 478, 628, 0, 0, 0, 0, 0, 977, 0, -641, 0, 0, 0, 478, 0, 478, 0, 478, 0, 574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -641, 574, 0, 0, 0, 0, 539, 407, 409, -641, -641, -641, 0, 0, 928, 931, 0, 0, 0, 0, 0, 0, 0, 455, 455, 455, 455, 455, 0, 0, 0, 0, 0, 87, 1782, 0, 0, 455, 455, 455, 455, 0, 0, 0, 569, 584, 0, -641, -641, 487, 0, 0, -641, 0, 0, 0, 0, 0, 0, -641, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, -641, -641, 0, 87, 0, 58, 58, 621, 0, 0, -641, 0, 0, -641, 0, 0, 978, 0, 976, -641, 184, 412, 0, 455, 455, 412, 0, 0, 0, 487, 696, 0, 89, 0, 87, 87, 0, 0, 0, 0, 0, 0, 87, 0, 87, 0, 0, 0, 0, 0, 0, 87, 87, 0, 0, 558, 0, 558, 0, 0, 929, 932, 0, 0, 0, 0, 0, 651, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 87, 0, 0, 0, 0, 412, 0, 0, 0, 0, 0, 412, 412, 0, 456, 456, 58, 58, 58, 58, 0, 0, 0, 0, 0, 0, 962, 0, 0, 0, 0, 929, 932, 0, 0, 0, 0, 0, 0, 0, 456, 456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 405, 407, 409, 0, 0, 0, 0, 0, 456, 456, 0, 412, 412, 456, 456, 0, 0, 456, 456, 1668, 0, 0, 0, 1907, 869, 1910, 1670, 0, 0, 0, 0, 478, 0, 58, 664, 0, 0, 0, 0, 1918, 1920, 0, 132, 0, 1835, 1839, 87, 259, 651, 87, 0, 0, 0, 651, 651, 0, 456, 1594, 456, 0, 1600, 0, 1012, 0, 0, 0, 651, 0, 1641, 651, 0, 478, 478, 0, 0, 0, 943, 651, 0, 0, 954, 0, 87, 478, 0, 0, 0, 0, 0, 0, 0, 77, 165, 0, 0, 87, 0, 478, 478, 558, 0, 0, 0, 67, 0, 87, 0, 87, 0, 0, 0, 0, 58, 0, 0, 0, 869, 0, 0, 478, 478, 0, 0, 0, 478, 478, 0, 0, 478, 478, 0, 378, 198, 198, 198, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 58, 0, 0, 412, 198, 198, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 1595, 0, 0, 1601, 478, 58, 478, 0, 0, 1059, 0, 1068, 77, 0, 0, 83, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 409, 0, 0, 77, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1642, 900, 0, 0, 0, 0, 0, 0, 87, 0, 0, 412, 0, 0, 1178, 1182, 1178, 1182, 928, 931, 0, 928, 931, 0, 0, 0, 259, 651, 0, 0, 490, 0, 928, 931, 928, 931, 0, 628, 0, 628, 2045, 0, 490, 412, 0, 412, 490, 0, 58, 2052, 87, 0, 0, 378, 0, 0, 0, 378, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 412, 0, 412, 0, 1012, 0, 83, 83, 0, 0, 487, 1012, 0, 0, 1012, 0, 0, 0, 0, 574, 0, 487, 0, 0, 0, 1193, 1835, 1839, 0, 0, 0, 696, 928, 931, 378, 651, 651, 2061, 2063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 0, 1223, 0, 0, 0, 1223, 0, 0, 0, 491, 378, 0, 0, 491, 0, 0, 0, 0, 378, 0, 87, 87, 87, 87, 869, 87, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 87, 87, 87, 0, 0, 0, 412, 0, 412, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 87, 77, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0, 0, 0, 1135, 0, 0, 0, 0, 0, 0, 929, 932, 0, 929, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 932, 929, 932, 0, 0, 0, 0, 0, 0, 0, 664, 664, 664, 664, 0, 0, 0, 0, 0, 412, 412, 412, 412, 412, 58, 0, 58, 0, 0, 0, 0, 0, 0, 412, 412, 412, 412, 0, 0, 0, 83, 1012, 0, 558, 0, 0, 0, 0, 456, 1424, 83, 0, 83, 0, 0, 0, 869, 0, 0, 0, 0, 0, 0, 165, 869, 1438, 0, 0, 929, 932, 0, 0, 1445, 348, 0, 869, 0, 1453, 0, 0, 0, 0, 558, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 87, 419, 0, 0, 490, 0, 412, 412, 0, 0, 0, 0, 0, 0, 0, 490, 1012, 0, 1012, 0, 132, 0, 456, 456, 0, 0, 456, 456, 456, 1482, 0, 0, 0, 0, 584, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 0, 419, 0, 490, 0, 0, 0, 0, 0, 407, 1791, 0, -630, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, 0, 0, 0, 882, 0, 0, 0, 574, 0, 0, 943, 0, 0, -630, 882, 0, 0, 0, 0, 0, 0, 0, -630, -630, -630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 1836, 1840, 0, 0, 0, 0, 478, 478, 558, 0, 478, 478, 478, 632, 0, 0, 632, 1556, 405, 0, 0, -630, -630, 0, 632, 0, -630, 882, 409, 0, 0, 0, 0, -630, 378, 378, 456, 456, 0, 0, 0, 419, 0, 0, 0, 710, 713, 715, 0, 0, 419, 0, 0, 0, 0, 0, 419, -630, -630, 0, 0, 0, 736, 0, 1484, 0, 87, -630, 0, 348, -630, 0, 0, 1792, 0, 976, -630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 87, 0, 0, 419, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 378, 478, 478, 0, 1012, 77, 0, 0, 1012, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 869, 0, 0, 869, 0, 1682, 0, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 87, 0, 0, 664, 0, 0, 664, 0, 83, 0, 0, 0, 311, 0, 0, 1135, 0, 0, 312, 313, 314, 0, 0, 0, 0, 632, 632, 0, 0, 0, 0, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 664, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 664, 664, 664, 664, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 0, 1168, 0, 0, 0, 419, 331, 332, 1731, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 490, 0, 0, 0, 0, 456, 456, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 0, 87, 0, 87, 0, 0, 0, 558, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1763, 378, 0, 0, 456, 456, 1012, 405, 1012, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 882, 0, 0, 0, 1012, 0, 0, 0, 0, 0, 0, 882, 0, 0, 1776, 0, 584, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 478, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 348, 0, 0, 0, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 419, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 478, 0, 405, 0, 348, 0, 0, 0, 0, 0, 419, 419, 419, 419, 419, 419, 419, 0, 0, 419, 419, 584, 419, 419, 419, 419, 419, 419, 419, 419, 0, 348, 0, 0, 0, 0, 0, 0, 0, 348, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 0, 348, 0, 0, 0, 558, 0, 558, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, 0, 558, 558, 0, 0, 0, 0, 0, 378, 0, 0, 0, 419, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 456, 1894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 127, 0, 0, 0, 0, 0, 1012, 235, 0, 0, 0, 456, 0, 456, 0, 0, 0, 0, 0, 419, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 0, 0, 419, 0, 0, 0, 0, 0, 421, 0, 0, 419, 664, 664, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 1135, 664, 87, 0, 664, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 1135, 0, 419, 0, 419, 0, 0, 0, 478, 0, 478, 0, 537, 869, 0, 0, 0, 0, 0, 0, 0, 0, 378, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 478, 0, 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 0, 0, 783, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 601, 0, 0, 603, 0, 0, 558, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 456, 456, 456, 456, 0, 0, 127, 0, 0, 0, 0, 0, 0, 456, 456, 456, 456, 0, 0, 182, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 558, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 711, 714, 716, 0, 0, 421, 0, 348, 348, 0, 0, 421, 0, 0, 0, 0, 0, 737, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 456, 456, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 478, 478, 478, 478, 306, 0, 1, 307, 107, 0, 419, 0, 419, 478, 478, 478, 478, 1135, 1135, 1135, 1135, 0, 421, 1135, 421, 127, 0, 664, 664, 0, 1135, 2, 1135, 0, 419, 378, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 0, 0, 87, 0, 0, 419, 0, 378, 0, 419, 421, 0, 348, 0, 0, 0, 419, 0, 0, 0, 419, 127, 0, 311, 0, 0, 0, 0, 0, 312, 313, 0, 0, 0, 0, 0, 478, 478, 0, 0, 0, 0, 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 378, 235, 318, 319, 320, 321, 322, 323, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 712, 0, 0, 0, 0, 0, 0, 0, 0, 363, 331, 332, 0, 0, 0, 1145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 127, 127, 127, 127, 0, 1017, 0, 0, 603, 421, 0, 0, 0, 0, 782, 0, 0, 0, 0, 127, 127, 127, 0, 0, 0, 0, 1135, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 1135, 0, 0, 127, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1135, 0, 0, 1135, 0, 1135, 0, 0, 1135, 0, 0, 0, 1135, 0, 0, 421, 1274, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 1135, 0, 0, 658, 1306, 1310, 1314, 1318, 1322, 0, 0, 1331, 0, 0, 419, 0, 348, 1274, 0, 0, 0, 419, 0, 419, 0, 0, 0, 0, 1135, 235, 0, 0, 1372, 1376, 1380, 1384, 1388, 0, 0, 1331, 419, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 756, 0, 0, 0, 0, 0, 366, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 419, 421, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 421, 421, 421, 421, 421, 421, 421, 0, 0, 421, 421, 0, 421, 421, 421, 421, 421, 421, 421, 421, 0, 366, 0, 0, 0, 0, 0, 0, 0, 366, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 1144, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 419, 419, 419, 0, 0, 0, 0, 0, 0, 421, 421, 348, 0, 0, 0, 0, 419, 419, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 419, 419, 0, 419, 419, 0, 0, 0, 419, 419, 419, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 127, 0, 0, 1024, 421, 0, 421, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 601, 0, 603, 127, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0, 0, 0, 0, 419, 0, 421, 0, 0, 0, 0, 1282, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1305, 1309, 1313, 1317, 1321, 0, 1109, 1330, 1336, 1617, 0, 0, 0, 754, 0, 421, 1347, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1371, 1375, 1379, 1383, 1387, 0, 0, 1330, 1400, 1644, 0, 0, 658, 0, 0, 0, 1651, 0, 0, 0, 0, 0, 0, 0, 0, 348, 348, 0, 419, 419, 419, 419, 419, 419, 419, 419, 127, 127, 0, 0, 0, 0, 0, 0, 658, 658, 658, 658, 0, 0, 1331, 0, 1331, 0, 0, 421, 0, 0, 0, 419, 419, 0, 0, 0, 0, 402, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 421, 0, 1245, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 419, 0, 0, 0, 419, 419, 0, 0, 0, 0, 366, 366, 0, 0, 0, 0, 0, 0, 756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1283, 0, 582, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 601, 0, 603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1337, 0, 0, 0, 2, 756, 0, 0, 1348, 0, 0, 0, 0, 0, 0, 421, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 311, 693, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 421, 0, 348, 0, 421, 315, 316, 366, 0, 0, 0, 421, 0, 0, 0, 421, 0, 0, 0, 317, 348, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 473, 0, 0, 473, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 473, 1736, 473, 0, 473, 1737, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 1144, 0, 0, 0, 348, 0, 0, 0, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 858, 1282, 0, 0, 0, 0, 863, 0, 1347, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1330, 0, 1330, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 1024, 315, 316, 39, 656, 0, 0, 0, 0, 0, 940, 0, 421, 0, 0, 317, 421, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 0, 0, 0, 0, 127, 0, 326, 327, 895, 1723, 0, 896, 739, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 1016, 0, 0, 1021, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 1016, 0, 0, 0, 0, 0, 658, 0, 0, 658, 421, 0, 366, 0, 0, 0, 0, 421, 658, 421, 0, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 582, 0, 421, 0, 0, 0, 1636, 1637, 0, 0, 0, 0, 0, 658, 0, 1283, 127, 0, 0, 1649, 0, 0, 1348, 0, 1653, 0, 0, 658, 658, 658, 658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 1929, 0, 0, 0, 0, 1932, 1934, 1938, 1942, 1944, 1948, 0, 0, 0, 1952, 1956, 1960, 1964, 0, 473, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 473, 0, 0, 0, 0, 693, 0, 0, 0, 0, 0, 693, 1724, 0, 0, 0, 0, 0, 0, 0, 0, 473, 473, 0, 0, 0, 473, 473, 0, 0, 473, 473, 0, 0, 0, 0, 0, 0, 1010, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 421, 421, 421, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 421, 421, 0, 473, 0, 473, 0, 366, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 421, 421, 0, 421, 421, 0, 0, 0, 421, 421, 421, 421, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 421, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 0, 0, 0, 0, 127, 656, 656, 656, 656, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 693, 0, 0, 0, 0, 0, 0, 1444, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 0, 1168, 0, 0, 0, 0, 331, 332, 1741, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 366, 0, 421, 421, 421, 421, 421, 421, 421, 421, 0, 0, 0, 0, 0, 1480, 1010, 0, 0, 0, 582, 0, 0, 1010, 0, 0, 1010, 1024, 0, 0, 0, 0, 0, 421, 421, 0, 940, 0, 0, 0, 1723, 0, 0, 421, 0, 1931, 1933, 1937, 1941, 1943, 1947, 0, 0, 0, 1951, 1955, 1959, 1963, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 421, 421, 0, 0, 0, 0, 0, 0, 0, 658, 658, 0, 0, 0, 0, 0, 0, 0, 0, 658, 0, 658, 658, 0, 0, 658, 0, 0, 0, 0, 0, 402, 0, 658, 0, 0, 658, 0, 0, 0, 582, 0, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1933, 1937, 1943, 1947, 1951, 1955, 1959, 1963, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 366, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1926, 0, 2, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1724, 0, 0, 473, 0, 1649, 0, 0, 1653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 693, 0, 693, 0, 0, 0, 311, 0, 0, 1010, 0, 1010, 312, 313, 314, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 1024, 473, 473, 0, 0, 473, 473, 473, 326, 327, 328, 1024, 0, 329, 1167, 330, 0, 0, 1736, 0, 0, 0, 1744, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 658, 658, 658, 658, 0, 0, 658, 0, 0, 0, 658, 658, 0, 658, 0, 658, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1010, 0, 658, 656, 0, 0, 656, 0, 0, 0, 0, 0, 2030, 2031, 0, 656, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 33, 656, 0, 0, 0, 315, 316, 1132, 0, 646, 647, 648, 0, 0, 0, 656, 656, 656, 656, 317, 0, 224, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 473, 473, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, -453, 330, 649, 0, -453, 0, 258, 0, 650, 331, 332, 75, 333, 334, 335, 336, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 693, 0, 0, 515, 0, 0, 0, 1766, 0, 0, 658, 0, 0, 0, 0, 1010, 0, 0, 0, 658, 118, 658, 1010, 0, 0, 0, 1010, 0, 0, 0, 0, 0, 0, 0, 0, 1444, 0, 582, 0, 0, 1779, 0, 0, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 0, 0, 265, 75, 0, 0, 0, 0, 0, 0, 75, 75, 0, 1024, 0, 0, 658, 658, 0, 0, 658, 0, 658, 0, 0, 658, 0, 0, 389, 658, 0, 0, 0, 0, 0, 0, 2128, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 488, 0, 1024, 0, 0, 0, 0, 858, 0, 0, 658, 0, 488, 2, 0, 582, 488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 658, 0, 0, 0, 0, 0, 0, 265, 265, 0, 0, 0, 0, 311, 0, 2171, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 1633, 0, 1168, 0, 0, 0, 1010, 331, 332, 840, 333, 334, 335, 336, 618, 0, 0, 265, 265, 265, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 473, 473, 0, 0, 180, 265, 75, 0, 0, 0, 0, 0, 0, 0, 0, 875, 515, 0, 0, 1010, 884, 1010, 0, 0, 721, 0, 0, 0, 0, 891, 721, 0, 898, 0, 0, 0, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 949, 693, 693, 0, 1974, 0, 965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1010, 0, 0, 0, 0, 656, 656, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 656, 656, 0, 0, 656, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 656, 1016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, 0, 0, 0, 880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 880, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 224, 0, 0, 224, 0, 224, 579, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, 0, 121, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, 0, 0, 265, 0, 0, 265, 0, 0, 0, 0, 0, 185, 133, 0, 0, 0, 233, 0, 0, 0, 0, 92, 1010, 0, 0, 0, 0, 0, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 473, 0, 473, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, 0, 0, 399, 0, 0, 0, 0, 473, 0, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 656, 656, 656, 0, 0, 656, 0, 0, 0, 656, 656, 0, 656, 0, 656, 1149, 0, 0, 0, 0, 742, 536, 0, 0, 0, 0, 656, 0, 0, 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 265, 265, 265, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 586, 0, 0, 0, 0, 0, 0, 265, 265, 265, 0, 0, 180, 0, 0, 0, 0, 0, 1207, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 840, 840, 840, 1220, 1230, 744, 0, 1220, 1230, 0, 0, 0, 0, 0, 1207, 133, 0, 1207, 0, 0, 0, 0, 0, 423, 423, 224, 1251, 0, 185, 265, 0, 0, 0, 0, 0, 0, 265, 0, 697, 265, 92, 742, 0, 1136, 0, 0, 0, 0, 0, 473, 473, 473, 473, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 473, 473, 473, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 1175, 1179, 0, 0, 0, 0, 656, 0, 656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 515, 515, 473, 473, 0, 0, 0, 0, 0, 656, 656, 515, 0, 656, 0, 656, 0, 0, 656, 0, 0, 0, 656, 0, 579, 0, 0, 0, 0, 0, 0, 0, 1435, 579, 0, 0, 0, 0, 0, 870, 579, 0, 0, 1435, 118, 744, 0, 579, 0, 0, 0, 0, 0, 0, 0, 656, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 0, 0, 0, 0, 0, 944, 0, 0, 952, 0, 0, 0, 579, 224, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 1576, 0, 0, 1147, 579, 0, 1576, 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 1165, 0, 870, 0, 0, 0, 0, 0, 0, 0, 0, 663, 663, 663, 663, 0, 0, 0, 133, 133, 133, 133, 0, 0, 0, 265, 265, 265, 0, 0, 0, 0, 0, 618, 0, 0, 0, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 742, 0, 0, 626, 0, 1060, 0, 1069, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1071, 0, 0, 0, 0, 742, 0, 0, 0, 0, 0, 1165, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 552, 1281, 0, 0, 423, 224, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 265, 0, 33, 265, 0, 0, 265, 0, 251, 39, 252, 0, 0, 0, 1334, 0, 0, 0, 0, 1149, 0, 0, 1346, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 1398, 0, 265, 0, 0, 0, 0, 0, 1191, 0, 0, 258, 0, 0, 0, 697, 265, 265, 265, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 265, 1225, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1672, 0, 0, 618, 870, 0, 0, 742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1698, 0, 0, 0, 0, 0, 0, 1698, 0, 1592, 0, 0, 1598, 0, 0, 0, 0, 0, 0, 0, 0, 1615, 0, 0, 0, 265, 265, 0, 0, 0, 0, 0, 265, 265, 0, 0, 265, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1639, 0, 0, 0, 0, 0, 840, 840, 0, 0, 0, 0, 0, 0, 1175, 1179, 1175, 1179, 0, 0, 0, 0, 423, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 870, 1425, 0, 0, 0, 0, 0, 870, 0, 0, 0, 0, 0, 0, 0, 870, 1439, 0, 0, 0, 0, 0, 0, 1446, 0, 0, 870, 121, 133, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 1795, 423, 1795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 1479, 0, 0, 0, 0, 0, 586, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 944, 0, 0, 0, 0, 663, 0, 0, 663, 1603, 1605, 0, 1608, 0, 0, 0, 0, 0, 264, 0, 1618, 0, 0, 0, 0, 0, 0, 0, 1627, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 265, 0, 0, 579, 0, 663, 0, 944, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 1165, 0, 663, 663, 663, 663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1662, 0, 1666, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 515, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, 224, 0, 0, 423, 0, 0, 0, 0, 579, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 0, 0, 0, 265, 265, 0, 0, 0, 0, 265, 265, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, 0, 617, 0, 0, 264, 264, 264, 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 720, 0, 0, 0, 0, 0, 720, 0, 870, 0, 0, 870, 0, 1225, 0, 0, 0, 743, 0, 0, 0, 1689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 744, 0, 0, 0, 0, 0, 1165, 0, 557, 0, 0, 1833, 1837, 0, 0, 0, 0, 0, 0, 0, 0, 1846, 0, 1849, 1592, 0, 0, 1598, 0, 0, 0, 0, 0, 0, 0, 1639, 0, 0, 1862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 265, 265, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, 579, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 706, 0, 0, 0, 0, 0, 0, 0, 0, 557, 578, 0, 0, 0, 250, 557, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 265, 265, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 423, 0, 423, 0, 0, 253, 0, 578, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 52, 1755, 264, 868, 0, 0, 0, 0, 0, 264, 1432, 0, 264, 0, 572, 1762, 0, 0, 0, 557, 0, 557, 1765, 0, 744, 0, 0, 663, 663, 0, 399, 0, 0, 1165, 0, 1165, 0, 0, 1165, 663, 0, 0, 0, 0, 1853, 1856, 0, 1858, 0, 0, 0, 1446, 0, 586, 0, 0, 0, 1165, 0, 1869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2001, 2002, 2003, 2004, 0, 0, 2005, 0, 0, 0, 1833, 1837, 0, 1846, 1165, 1849, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 2014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1819, 0, 0, 0, 264, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 264, 264, 264, 267, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0, 0, 0, 0, 1219, 1229, 743, 0, 1219, 1229, 0, 0, 0, 557, 0, 1206, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 0, 1250, 0, 0, 264, 0, 0, 0, 0, 0, 0, 264, 0, 0, 264, 741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2005, 0, 0, 0, 0, 0, 0, 0, 0, 2083, 0, 2086, 0, 0, 0, 0, 1895, 1165, 557, 0, 267, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 1165, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 0, 1858, 0, 2012, 0, 0, 0, 0, 0, 0, 581, 0, 2018, 0, 0, 0, 0, 0, 578, 2115, 2116, 0, 0, 2083, 0, 2086, 0, 0, 2120, 0, 0, 0, 2122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 1199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 620, 742, 0, 267, 267, 267, 0, 578, 0, 1765, 2122, 0, 0, 0, 578, 0, 0, 0, 0, 743, 0, 578, 0, 0, 267, 0, 0, 0, 870, 0, 0, 0, 0, 0, 1011, 0, 0, 0, 2160, 0, 0, 1011, 0, 723, 1011, 0, 0, 0, 0, 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1146, 0, 578, 0, 0, 0, 0, 0, 0, 2075, 2078, 0, 1165, 0, 1165, 0, 1164, 663, 1165, 663, 1169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 264, 264, 264, 0, 0, 0, 0, 0, 617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 581, 741, 0, 0, 0, 0, 0, 1165, 0, 0, 1165, 0, 0, 0, 0, 1234, 0, 0, 663, 0, 0, 0, 0, 0, 741, 0, 0, 0, 0, 0, 1164, 1169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 0, 1165, 0, 0, 1280, 0, 0, 0, 0, 0, 0, 1011, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 264, -873, 0, 264, -873, -873, -873, 581, -873, -873, 1332, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 557, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, 0, 0, 0, 267, 0, 0, 267, 1396, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 1011, 0, 0, 264, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, -873, 0, 0, 0, 0, 0, -873, -873, -873, 0, 0, 0, 264, 0, 264, 0, 0, 0, 0, -873, 0, 0, 0, 0, 0, 0, 0, 0, 1671, 0, 0, 617, 0, -873, 741, 0, 0, -873, -873, -873, -873, -873, -873, -873, -873, 0, 0, 0, 0, 0, 0, 1697, 557, -873, -873, 0, 0, 0, 1697, 0, -873, -873, 0, -873, -873, -873, 0, 0, -873, -873, 0, -873, -873, -873, -873, 0, 264, 264, 0, 0, 0, 0, 0, 264, 264, 0, 0, 264, 264, 0, 0, 0, 1011, 0, 0, 0, 267, 267, 267, 267, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 267, 267, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, 0, 0, 0, 1222, 1232, 746, 0, 1222, 1232, 0, 0, 0, 0, 0, 1209, 0, 0, 1209, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 267, 0, 0, 0, 0, 0, 0, 267, 0, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1865, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 1011, 0, 0, 0, 0, 0, 0, 1011, 0, 0, 0, 1011, 0, 0, 0, 0, 2, 0, 0, 0, 1602, 1604, 0, 1607, 0, 0, 0, 0, 581, 0, 0, 1146, 0, 0, 1169, 0, 0, 0, 0, 1626, 0, 0, 0, 0, 0, 0, 1164, 1169, 0, 0, 0, 123, 0, 264, 311, 0, 578, 0, 140, 0, 312, 313, 314, 581, 1164, 1169, 0, 0, 0, 1164, 0, 0, 581, 315, 316, 0, 0, 0, 0, 581, 0, 163, 173, 197, 746, 0, 581, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 1660, 0, 1664, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 1866, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 123, 123, 0, 0, 1164, 0, 0, 581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 498, 0, 0, 0, 0, 0, 581, 0, 0, 578, 0, 0, 0, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, 0, 264, 264, 0, 0, 1164, 1169, 0, 123, 0, 0, 0, 0, 0, 264, 0, 0, 264, 267, 267, 267, 0, 0, 0, 0, 264, 620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 0, 0, 0, 0, 0, 163, 575, 0, 557, 0, 0, 0, 0, 0, 0, 0, 1164, 0, 1169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 1169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 1011, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 743, 0, 0, 0, 0, 1164, 0, 1169, 0, 0, 267, 0, 0, 267, 0, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, 0, 267, 267, 267, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 0, 267, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 1674, 0, 0, 620, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1700, 0, 0, 0, 0, 0, 0, 1700, 0, 0, 264, 264, 557, 0, 557, 0, 0, 0, 575, 0, 0, 0, 0, 0, 0, 267, 267, 0, 557, 557, 0, 0, 267, 267, 0, 0, 267, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 0, 1935, 1939, 0, 1945, 1949, 0, 0, 1829, 1953, 1957, 1961, 1965, 0, 0, 163, 0, 0, 0, 0, 743, 0, 0, 0, 0, 0, 0, 0, 1164, 1169, 1164, 1169, 0, 1164, 1848, 0, 126, 0, 0, 1602, 1855, 1011, 1626, 0, 1169, 0, 0, 0, 0, 0, 0, 0, 1164, 1169, 1626, 123, 123, 123, 123, 0, 123, 0, 0, 123, 0, 0, 0, 126, 126, 0, 0, 0, 0, 0, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 0, 1169, 0, 1164, 0, 1169, 529, 0, 575, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 126, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1935, 1939, 1945, 1949, 1953, 1957, 1961, 1965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 267, 0, 557, 581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, 1187, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011, 0, 0, 0, 557, 557, 0, 0, 0, 0, 126, 0, 0, 1164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 694, 0, 0, 0, 1169, 0, 1164, 1848, 0, 1169, 1626, 0, 2011, 0, 2013, 581, 0, 0, 0, 0, 1169, 2017, 0, 0, 0, 0, 0, 0, 0, 267, 267, 0, 0, 0, 0, 267, 267, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 267, 0, 0, 267, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0, 0, 0, 741, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 28, 0, 0, 0, 0, 583, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 163, 0, 575, 0, 0, 0, 0, 0, 0, 575, 0, 41, 0, 0, 575, 0, 0, 0, 126, 746, 0, 44, 45, 46, 47, 48, 49, 0, 2074, 2077, 0, 1164, 1169, 1164, 0, 0, 0, 1164, 1848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 123, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 267, 267, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 1169, 0, 1164, 1848, 0, 0, 0, 2121, 581, 0, 0, 0, 262, 126, 126, 126, 126, 0, 126, 0, 0, 694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 126, 0, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 0, 0, 0, 0, 0, 0, 126, 0, 583, 0, 0, 0, 0, 0, 0, 486, 0, 267, 267, 0, 0, 583, 0, 0, 0, 0, 0, 486, 0, 0, 0, 486, 0, 0, 0, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 694, 0, 0, 0, 0, 0, 694, 0, 0, 616, 0, 0, 262, 262, 262, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 123, 0, 123, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 315, 316, 1132, 0, 646, 647, 648, 0, 0, 263, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 649, 0, 1168, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 263, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 879, 263, 0, 0, 0, 263, 0, 0, 0, 0, 0, 879, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 126, 0, 0, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 583, 0, 0, 577, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, 262, 123, 263, 262, 0, 263, 263, 263, 123, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 583, 0, 123, 0, 575, 0, 0, 123, 0, 0, 123, 263, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 0, 0, 0, 0, 0, 0, 0, 0, 583, 0, 583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 123, 262, 262, 262, 262, 0, 0, 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 262, 262, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 262, 0, 0, 0, 0, 0, 0, 1218, 1228, 0, 0, 1218, 1228, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 694, 0, 694, 262, 0, 0, 262, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 263, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 123, 0, 123, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 1434, 577, 0, 0, 0, 0, 0, 0, 577, 0, 0, 1434, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 268, 268, 268, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 263, 577, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 263, 263, 0, 583, 263, 263, 262, 262, 262, 0, 583, 0, 0, 0, 616, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 263, 0, 0, 263, 0, 583, 0, 583, 0, 0, 583, 0, 0, 583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 262, 0, 0, 262, 126, 0, 0, 0, 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 262, 262, 262, 262, 0, 0, 268, 0, 0, 0, 0, 0, 0, 268, 0, 0, 268, 0, 0, 0, 0, 0, 0, 262, 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1696, 0, 0, 0, 0, 0, 0, 1696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, 262, 262, 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 583, 0, 583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 268, 268, 0, 0, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 263, 0, 0, 263, 268, 306, 263, 1, 307, 107, 308, 268, 309, 310, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 263, 0, 263, 0, 262, 0, 0, 577, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 263, 0, 0, 326, 327, 328, 0, 263, 329, 1167, 330, 1866, 0, 1168, 0, 0, 0, 268, 331, 332, 0, 333, 334, 335, 336, 263, 263, 0, 268, 0, 0, 0, 263, 263, 0, 0, 263, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 262, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 268, 0, 0, 0, 2, 0, 268, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 0, 0, 326, 327, 328, 0, 263, 329, 739, 330, 0, 0, 0, 268, 0, 0, 268, 331, 332, 268, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, 0, 0, 0, 0, 263, 263, 0, 0, 268, 0, 0, 0, 0, 0, 0, 268, 0, 263, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 268, 268, 0, 0, 0, 0, 0, 268, 268, 0, 0, 268, 268, 0, 0, 0, 762, 0, 0, 0, 0, 0, 763, 764, 765, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, 0, 0, 0, 0, 0, 0, 0, -345, -345, 0, 0, 0, -345, 0, 0, 0, 0, 0, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, -345, -345, -345, 766, 0, 0, -345, 1538, -345, -345, 0, 767, 263, 263, 768, 0, -345, -345, -345, 0, -345, -345, -345, -345, -345, 0, 0, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 263, -458, 0, 0, 0, 0, 0, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, -458, 0, -458, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 0, 0, 0, 0, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 268, 0, 0, 0, 0, 0, -345, 762, 268, -345, -345, -345, -345, 763, 764, 765, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, -345, -345, 0, -345, 0, 0, -345, -345, -345, -345, -345, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, 0, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 766, -345, -345, -345, -345, -345, -345, -345, 767, -345, -345, 768, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 268, 0, 0, 0, 0, 0, 0, -450, 1160, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, 0, -450, -450, 0, -450, 268, 268, -450, -450, -450, -450, -450, 0, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, 0, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -304, 306, 0, 1, 307, 107, 308, -304, 309, 310, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 2, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 0, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, 0, 0, 311, -304, 0, -304, 0, 0, 312, 313, 314, -304, -304, 0, 0, -304, -304, -304, -304, -304, -304, 315, 316, -304, -304, -304, -304, -304, -304, -304, -304, -304, 0, -304, 0, 317, -304, -304, 0, 318, 319, 320, 321, 322, 323, 324, 325, -304, -304, -304, -304, -304, -304, -304, -304, 326, 327, 328, -304, -304, 329, 1248, 330, -304, -304, 1163, -304, -304, -304, -304, 331, 332, -304, 333, 334, 335, 336, -304, -304, -304, -304, -304, -305, 306, 0, 1, 307, 107, 308, -305, 309, 310, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 2, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 0, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, 0, 0, 311, -305, 0, -305, 0, 0, 312, 313, 314, -305, -305, 0, 0, -305, -305, -305, -305, -305, -305, 315, 316, -305, -305, -305, -305, -305, -305, -305, -305, -305, 0, -305, 0, 317, -305, -305, 0, 318, 319, 320, 321, 322, 323, 324, 325, -305, -305, -305, -305, -305, -305, -305, -305, 326, 327, 328, -305, -305, 329, 1167, 330, -305, -305, 1168, -305, -305, -305, -305, 331, 332, -305, 333, 334, 335, 336, -305, -305, -305, -305, -305, -565, 306, 0, 1, 307, 107, 308, -565, 309, 310, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, 2, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, 0, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, -565, 0, 0, 311, -565, 0, -565, 0, 0, 312, 313, 314, -565, -565, 0, 0, -565, -565, -565, -565, -565, -565, 315, 316, -565, -565, -565, -565, -565, -565, -565, -565, -565, 0, -565, 0, 317, -565, -565, 0, 318, 319, 320, 321, 322, 323, 324, 325, -565, -565, -565, -565, -565, -565, -565, -565, 326, 327, 328, -565, -565, 329, -565, 330, -565, -565, -565, -565, 750, -565, 1329, 331, 332, -565, 333, 334, 335, 336, -565, -565, -565, -565, -565, -566, 306, 0, 1, 307, 107, 308, -566, 309, 310, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, 2, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, 0, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, -566, 0, 0, 311, -566, 0, -566, 0, 0, 312, 313, 314, -566, -566, 0, 0, -566, -566, -566, -566, -566, -566, 315, 316, -566, -566, -566, -566, -566, -566, -566, -566, -566, 0, -566, 0, 317, -566, -566, 0, 318, 319, 320, 321, 322, 323, 324, 325, -566, -566, -566, -566, -566, -566, -566, -566, 326, 327, 328, -566, -566, 329, -566, 330, -566, -566, -566, -566, 750, -566, 1395, 331, 332, -566, 333, 334, 335, 336, -566, -566, -566, -566, -566, -576, 306, 0, 1, 307, 107, 308, -576, 309, 310, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, 2, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, 0, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, -576, 0, 0, 311, -576, 0, -576, 0, 0, 312, 313, 314, -576, -576, 0, 0, -576, -576, -576, -576, -576, -576, 315, 316, -576, -576, -576, -576, -576, -576, -576, -576, -576, 0, -576, 0, 317, -576, -576, 0, 318, 319, 320, 321, 322, 323, 324, 325, -576, -576, -576, -576, -576, -576, -576, -576, 326, 327, 328, -576, -576, 329, -576, 330, -576, -576, 1163, -576, -576, -576, -576, 331, 332, -576, 333, 334, 335, 336, -576, -576, -576, -576, -576, -578, 306, 0, 1, 307, 107, 308, -578, 309, 310, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, 2, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, 0, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, -578, 0, 0, 311, -578, 0, -578, 0, 0, 312, 313, 314, -578, -578, 0, 0, -578, -578, -578, -578, -578, -578, 315, 316, -578, -578, -578, -578, -578, -578, -578, -578, -578, 0, -578, 0, 317, -578, -578, 0, 318, 319, 320, 321, 322, 323, 324, 325, -578, -578, -578, -578, -578, -578, -578, -578, 326, 327, 328, -578, -578, 329, 1167, 330, -578, -578, 1168, -578, -578, -578, -578, 331, 332, -578, 333, 334, 335, 336, -578, -578, -578, -578, -578, -577, 306, 0, 1, 307, 107, 308, -577, 309, 310, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 2, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, 0, 311, -577, 0, -577, 0, 0, 312, 313, 314, -577, -577, 0, 0, -577, -577, -577, -577, -577, -577, 315, 316, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, 0, 317, -577, -577, 0, 318, 319, 320, 321, 322, 323, 324, 325, -577, -577, -577, -577, -577, -577, -577, -577, 326, 327, 328, -577, -577, 329, -577, 330, -577, -577, 1163, -577, -577, -577, -577, 331, 332, -577, 333, 334, 335, 336, -577, -577, -577, -577, -577, -338, 1891, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, 0, 0, -338, -338, 0, -338, 0, 0, -338, -338, -338, -338, -338, 0, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, 0, -338, 0, -338, -338, -338, 0, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, -342, 1927, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 0, 0, -342, -342, 0, -342, 0, 0, -342, -342, -342, -342, -342, 0, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 0, -342, 0, -342, -342, -342, 0, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -332, 306, 0, 1, 307, 107, 308, -332, 309, 310, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, 2, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, 0, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, 0, 0, 311, -332, 0, -332, 0, 0, 312, 313, 314, -332, -332, 0, 0, -332, -332, -332, -332, -332, -332, 315, 316, -332, -332, -332, -332, -332, -332, -332, -332, -332, 0, -332, 0, 317, -332, -332, 0, 318, 319, 320, 321, 322, 323, 324, 325, -332, -332, -332, -332, -332, -332, -332, -332, 326, 327, 328, -332, -332, 329, -332, 330, -332, -332, -332, -332, 750, -332, -332, 331, 332, -332, 333, 334, 335, 336, -332, -332, -332, -332, -332, -543, 306, 0, 1, 307, 107, 308, -543, 309, 310, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, 2, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, 0, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, 0, 0, 311, -543, 0, -543, 0, 0, 312, 313, 314, -543, -543, 0, 0, -543, -543, -543, -543, -543, -543, 315, 316, -543, -543, -543, -543, -543, -543, -543, -543, -543, 0, -543, 0, 317, -543, -543, 0, 318, 319, 320, 321, 322, 323, 324, 325, -543, -543, -543, -543, -543, -543, -543, -543, 326, 327, 328, -543, -543, 329, -543, 330, -543, -543, -543, -543, 750, -543, -543, 331, 332, -543, 333, 334, 335, 336, -543, -543, -543, -543, -543, -551, 306, 0, 1, 307, 107, 308, -551, 309, 310, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, 2, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, 0, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, 0, 0, 311, -551, 0, -551, 0, 0, 312, 313, 314, -551, -551, 0, 0, -551, -551, -551, -551, -551, -551, 315, 316, -551, -551, -551, -551, -551, -551, -551, -551, -551, 0, -551, 0, 317, -551, -551, 0, 318, 319, 320, 321, 322, 323, 324, 325, -551, -551, -551, -551, -551, -551, -551, -551, 326, 327, 328, -551, -551, 329, -551, 330, -551, -551, -551, -551, 750, -551, -551, 331, 332, -551, 333, 334, 335, 336, -551, -551, -551, -551, -551, -544, 306, 0, 1, 307, 107, 308, -544, 309, 310, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, 2, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, 0, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, -544, 0, 0, 311, -544, 0, -544, 0, 0, 312, 313, 314, -544, -544, 0, 0, -544, -544, -544, -544, -544, -544, 315, 316, -544, -544, -544, -544, -544, -544, -544, -544, -544, 0, -544, 0, 317, -544, -544, 0, 318, 319, 320, 321, 322, 323, 324, 325, -544, -544, -544, -544, -544, -544, -544, -544, 326, 327, 328, -544, -544, 329, -544, 330, -544, -544, -544, -544, 750, -544, -544, 331, 332, -544, 333, 334, 335, 336, -544, -544, -544, -544, -544, -552, 306, 0, 1, 307, 107, 308, -552, 309, 310, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, 2, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, 0, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, 0, 0, 311, -552, 0, -552, 0, 0, 312, 313, 314, -552, -552, 0, 0, -552, -552, -552, -552, -552, -552, 315, 316, -552, -552, -552, -552, -552, -552, -552, -552, -552, 0, -552, 0, 317, -552, -552, 0, 318, 319, 320, 321, 322, 323, 324, 325, -552, -552, -552, -552, -552, -552, -552, -552, 326, 327, 328, -552, -552, 329, -552, 330, -552, -552, -552, -552, 750, -552, -552, 331, 332, -552, 333, 334, 335, 336, -552, -552, -552, -552, -552, -545, 306, 0, 1, 307, 107, 308, -545, 309, 310, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, 2, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, 0, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, -545, 0, 0, 311, -545, 0, -545, 0, 0, 312, 313, 314, -545, -545, 0, 0, -545, -545, -545, -545, -545, -545, 315, 316, -545, -545, -545, -545, -545, -545, -545, -545, -545, 0, -545, 0, 317, -545, -545, 0, 318, 319, 320, 321, 322, 323, 324, 325, -545, -545, -545, -545, -545, -545, -545, -545, 326, 327, 328, -545, -545, 329, -545, 330, -545, -545, -545, -545, 750, -545, -545, 331, 332, -545, 333, 334, 335, 336, -545, -545, -545, -545, -545, -553, 306, 0, 1, 307, 107, 308, -553, 309, 310, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, 2, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, 0, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, 0, 0, 311, -553, 0, -553, 0, 0, 312, 313, 314, -553, -553, 0, 0, -553, -553, -553, -553, -553, -553, 315, 316, -553, -553, -553, -553, -553, -553, -553, -553, -553, 0, -553, 0, 317, -553, -553, 0, 318, 319, 320, 321, 322, 323, 324, 325, -553, -553, -553, -553, -553, -553, -553, -553, 326, 327, 328, -553, -553, 329, -553, 330, -553, -553, -553, -553, 750, -553, -553, 331, 332, -553, 333, 334, 335, 336, -553, -553, -553, -553, -553, -546, 306, 0, 1, 307, 107, 308, -546, 309, 310, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, 2, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, 0, 311, -546, 0, -546, 0, 0, 312, 313, 314, -546, -546, 0, 0, -546, -546, -546, -546, -546, -546, 315, 316, -546, -546, -546, -546, -546, -546, -546, -546, -546, 0, -546, 0, 317, -546, -546, 0, 318, 319, 320, 321, 322, 323, 324, 325, -546, -546, -546, -546, -546, -546, -546, -546, 326, 327, 328, -546, -546, 329, -546, 330, -546, -546, -546, -546, 750, -546, -546, 331, 332, -546, 333, 334, 335, 336, -546, -546, -546, -546, -546, -554, 306, 0, 1, 307, 107, 308, -554, 309, 310, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, 2, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, 0, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, -554, 0, 0, 311, -554, 0, -554, 0, 0, 312, 313, 314, -554, -554, 0, 0, -554, -554, -554, -554, -554, -554, 315, 316, -554, -554, -554, -554, -554, -554, -554, -554, -554, 0, -554, 0, 317, -554, -554, 0, 318, 319, 320, 321, 322, 323, 324, 325, -554, -554, -554, -554, -554, -554, -554, -554, 326, 327, 328, -554, -554, 329, -554, 330, -554, -554, -554, -554, 750, -554, -554, 331, 332, -554, 333, 334, 335, 336, -554, -554, -554, -554, -554, -340, 2032, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 0, 0, -340, -340, 0, -340, 0, 0, -340, -340, -340, -340, -340, 0, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, 0, -340, 0, -340, -340, -340, 0, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, -339, 2033, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 0, 0, -339, -339, 0, -339, 0, 0, -339, -339, -339, -339, -339, 0, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, 0, -339, 0, -339, -339, -339, 0, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, -345, 762, 0, -345, -345, -345, -345, 763, 764, 765, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, 0, -345, -345, 0, -345, 0, 0, -345, -345, -345, -345, -345, 0, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 0, -345, 0, -345, -345, -345, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, 766, -345, -345, -345, -345, -345, -345, -345, 1158, -345, -345, 768, 0, -345, -345, -345, -345, -345, -345, -345, -345, -345, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, 0, 0, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -458, 0, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, 0, 0, 0, 0, 0, 0, 0, 0, -458, -458, -458, -458, -458, -458, -458, -458, 0, -458, -458, 0, 0, -458, 0, -458, -458, 0, -458, -458, -458, -458, -458, -458, -458, -458, -458, -450, 1160, 0, -450, -450, -450, -450, 0, -450, -450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, 0, -450, -450, 0, -450, 0, 0, -450, -450, -450, -450, -450, 0, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, -450, 0, -450, -450, -450, 0, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, -450, 0, 0, -450, -450, -450, -450, 0, -450, -450, -450, 1161, -450, -450, -450, 0, -450, -450, -450, -450, -1093, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, 0, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, 0, 0, 311, -1093, 0, -1093, 0, 0, 312, 313, 314, -1093, -1093, 0, 0, -1093, -1093, -1093, -1093, -1093, -1093, 315, 316, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, 0, -1093, 0, 317, -1093, -1093, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, 326, 327, 328, 0, 0, 329, 1167, 330, -1093, 0, 1168, -1093, -1093, 0, -1093, 331, 332, 0, 333, 334, 335, 336, -1237, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, 0, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, 0, 0, 311, -1237, 0, -1237, 0, 0, 312, 313, 314, -1237, -1237, 0, 0, -1237, -1237, -1237, -1237, -1237, -1237, 315, 316, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, 0, -1237, 0, 317, -1237, -1237, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1237, -1237, -1237, -1237, -1237, -1237, -1237, -1237, 326, 327, 328, 0, 0, 329, 1167, 330, 1633, 0, 1168, -1237, -1237, 0, -1237, 331, 332, 0, 333, 334, 335, 336, -1195, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, 0, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, 0, 0, 311, -1195, 0, -1195, 0, 0, 312, 313, 314, -1195, -1195, 0, 0, -1195, -1195, -1195, -1195, -1195, -1195, 315, 316, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, 0, -1195, 0, 317, -1195, -1195, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1195, -1195, -1195, -1195, -1195, -1195, -1195, -1195, 326, 327, 328, 0, 0, 329, 1842, 330, -1195, 0, 1168, -1195, -1195, 0, -1195, 331, 332, 0, 333, 334, 335, 336, -1226, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, -1226, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, -1226, 0, -1226, 0, 0, 312, 313, 314, -1226, -1226, 0, 0, -1226, 33, -1226, -1226, -1226, -1226, 315, 316, 1132, -1226, 646, 647, 648, -1226, -1226, -1226, -1226, 0, -1226, 0, 317, -1226, -1226, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, -1226, -1226, -1226, -1226, -1226, -1226, 326, 327, 328, 0, 0, 329, 1167, 330, 649, 0, 1168, -1226, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -577, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, 0, 311, -577, 0, -577, 0, 0, 312, 313, 314, -577, -577, 0, 0, -577, -577, -577, -577, -577, -577, 315, 316, -577, -577, -577, -577, -577, -577, -577, -577, -577, 0, -577, 0, 317, -577, -577, 0, 318, 319, 320, 321, 322, 323, 324, 325, -577, -577, -577, -577, -577, -577, -577, -577, 326, 327, 328, 0, 0, 329, -577, 330, 1162, 0, 1163, -577, -577, 0, -577, 331, 332, 0, 333, 334, 335, 336, -1218, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, 0, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, 0, 0, 311, -1218, 0, -1218, 0, 0, 312, 313, 314, -1218, -1218, 0, 0, -1218, -1218, -1218, -1218, -1218, -1218, 315, 316, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, 0, -1218, 0, 317, -1218, -1218, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, 326, 327, 328, 0, 0, 329, 2079, 330, -1218, 0, 1163, -1218, -1218, 0, -1218, 331, 332, 0, 333, 334, 335, 336, -1219, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, 0, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, 0, 0, 311, -1219, 0, -1219, 0, 0, 312, 313, 314, -1219, -1219, 0, 0, -1219, -1219, -1219, -1219, -1219, -1219, 315, 316, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, 0, -1219, 0, 317, -1219, -1219, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, 326, 327, 328, 0, 0, 329, 1167, 330, 2080, 0, 1168, -1219, -1219, 0, -1219, 331, 332, 0, 333, 334, 335, 336, -1213, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, -1213, 0, -1213, 0, 0, 312, 313, 314, -1213, -1213, 0, 0, -1213, 33, -1213, -1213, -1213, -1213, 315, 316, 1132, -1213, 646, 647, 648, -1213, -1213, -1213, -1213, 0, -1213, 0, 317, -1213, -1213, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, -1213, -1213, -1213, -1213, -1213, -1213, 326, 327, 328, 0, 0, 329, 1167, 330, 649, 0, 1168, -1213, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1161, 624, 0, -1161, -1161, -1161, -1161, 0, -1161, -1161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, 0, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, 0, 0, -1161, -1161, 0, -1161, 0, 0, -1161, -1161, -1161, -1161, -1161, 0, 0, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, 0, -1161, 0, -1161, -1161, -1161, 0, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, -1161, 0, 0, -1161, 0, -1161, 625, 0, -1161, -1161, -1161, 0, -1161, -1161, -1161, 0, -1161, -1161, -1161, -1161, -1184, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1184, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1184, 33, -1184, -1184, -1184, -1184, 315, 644, 645, 252, 646, 647, 648, -1184, -1184, -1184, -1184, 0, -1184, 0, 317, -1184, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1184, -1184, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1162, 624, 0, -1162, -1162, -1162, -1162, 0, -1162, -1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, 0, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, 0, 0, -1162, -1162, 0, -1162, 0, 0, -1162, -1162, -1162, -1162, -1162, 0, 0, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, 0, -1162, 0, -1162, -1162, -1162, 0, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, -1162, 0, 0, -1162, 0, -1162, 625, 0, -1162, -1162, -1162, 0, -1162, -1162, -1162, 0, -1162, -1162, -1162, -1162, -1223, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, -1223, 0, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, -1223, 0, -1223, 0, 0, 312, 313, 314, -1223, -1223, 0, 0, -1223, 33, -1223, -1223, -1223, -1223, 315, 316, 1132, -1223, 646, 647, 648, -1223, -1223, -1223, -1223, 0, -1223, 0, 317, -1223, -1223, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, -1223, -1223, -1223, -1223, -1223, -1223, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1223, -1223, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1239, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, 0, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, 0, 0, 311, -1239, 0, -1239, 0, 0, 312, 313, 314, -1239, -1239, 0, 0, -1239, -1239, -1239, -1239, -1239, -1239, 315, 316, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, 0, -1239, 0, 317, -1239, -1239, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1239, -1239, -1239, -1239, -1239, -1239, -1239, -1239, 326, 327, 328, 0, 0, 329, 0, 330, 1143, 0, -1239, -1239, 750, 0, -1239, 331, 332, 0, 333, 334, 335, 336, -1174, 1170, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1174, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1174, 33, -1174, -1174, -1174, -1174, 315, 644, 645, 252, 646, 647, 648, -1174, -1174, -1174, -1174, 0, -1174, 0, 317, -1174, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1174, -1174, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1178, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1178, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1178, 33, -1178, -1178, -1178, -1178, 315, 644, 645, 252, 646, 647, 648, -1178, -1178, -1178, -1178, 0, -1178, 0, 317, -1178, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1178, -1178, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1173, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1173, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1173, 33, -1173, -1173, -1173, -1173, 315, 644, 645, 252, 646, 647, 648, -1173, -1173, -1173, -1173, 0, -1173, 0, 317, -1173, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1173, -1173, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1177, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1177, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1177, 33, -1177, -1177, -1177, -1177, 315, 644, 645, 252, 646, 647, 648, -1177, -1177, -1177, -1177, 0, -1177, 0, 317, -1177, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1177, -1177, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1080, 1183, 0, -1080, -1080, -1080, -1080, 0, -1080, -1080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, 0, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, 0, 0, -1080, -1080, 0, -1080, 0, 0, -1080, -1080, -1080, -1080, -1080, 0, 0, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, 0, -1080, 0, -1080, -1080, -1080, 0, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, -1080, 0, 0, -1080, 0, -1080, -1080, 0, -1080, -1080, -1080, 0, -1080, -1080, -1080, 0, -1080, -1080, -1080, -1080, -1082, 1184, 0, -1082, -1082, -1082, -1082, 0, -1082, -1082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, 0, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, 0, 0, -1082, -1082, 0, -1082, 0, 0, -1082, -1082, -1082, -1082, -1082, 0, 0, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, 0, -1082, 0, -1082, -1082, -1082, 0, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, 0, 0, -1082, 0, -1082, -1082, 0, -1082, -1082, -1082, 0, -1082, -1082, -1082, 0, -1082, -1082, -1082, -1082, -1128, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1128, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1128, 33, -1128, -1128, -1128, -1128, 315, 644, 645, 252, 646, 647, 648, -1128, -1128, -1128, -1128, 0, -1128, 0, 317, -1128, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1128, -1128, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1130, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1130, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1130, 33, -1130, -1130, -1130, -1130, 315, 644, 645, 252, 646, 647, 648, -1130, -1130, -1130, -1130, 0, -1130, 0, 317, -1130, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1130, -1130, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1175, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1175, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1175, 33, -1175, -1175, -1175, -1175, 315, 644, 645, 252, 646, 647, 648, -1175, -1175, -1175, -1175, 0, -1175, 0, 317, -1175, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1175, -1175, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1179, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1179, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1179, 33, -1179, -1179, -1179, -1179, 315, 644, 645, 252, 646, 647, 648, -1179, -1179, -1179, -1179, 0, -1179, 0, 317, -1179, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1179, -1179, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1176, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1176, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1176, 33, -1176, -1176, -1176, -1176, 315, 644, 645, 252, 646, 647, 648, -1176, -1176, -1176, -1176, 0, -1176, 0, 317, -1176, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1176, -1176, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1180, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, -1180, 0, 0, 312, 313, 314, 29, 30, 0, 0, -1180, 33, -1180, -1180, -1180, -1180, 315, 644, 645, 252, 646, 647, 648, -1180, -1180, -1180, -1180, 0, -1180, 0, 317, -1180, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, -1180, -1180, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, -1171, 624, 0, -1171, -1171, -1171, -1171, 0, -1171, -1171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, 0, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, 0, 0, -1171, -1171, 0, -1171, 0, 0, -1171, -1171, -1171, -1171, -1171, 0, 0, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, 0, -1171, 0, -1171, -1171, -1171, 0, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, 0, 0, -1171, 0, -1171, 625, 0, -1171, -1171, -1171, 0, -1171, -1171, -1171, 0, -1171, -1171, -1171, -1171, -1172, 624, 0, -1172, -1172, -1172, -1172, 0, -1172, -1172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, 0, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, 0, 0, -1172, -1172, 0, -1172, 0, 0, -1172, -1172, -1172, -1172, -1172, 0, 0, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, 0, -1172, 0, -1172, -1172, -1172, 0, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, 0, 0, -1172, 0, -1172, 625, 0, -1172, -1172, -1172, 0, -1172, -1172, -1172, 0, -1172, -1172, -1172, -1172, -1006, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 0, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 0, 0, 311, -1006, 0, -1006, 0, 0, 312, 313, 314, -1006, -1006, 0, 0, -1006, -1006, -1006, -1006, -1006, -1006, 315, 316, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 0, -1006, 0, 317, -1006, -1006, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1006, -1006, -1006, -1006, -1006, -1006, -1006, -1006, 326, 327, 328, 0, 0, 329, 0, 330, -1006, 0, 1811, 1812, 1023, 0, -1006, 331, 332, 0, 333, 334, 335, 336, -1134, 624, 0, -1134, -1134, -1134, -1134, 0, -1134, -1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, 0, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, 0, 0, -1134, -1134, 0, -1134, 0, 0, -1134, -1134, -1134, -1134, -1134, 0, 0, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, 0, -1134, 0, -1134, -1134, -1134, 0, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, -1134, 0, 0, -1134, 0, -1134, 625, 0, -1134, -1134, -1134, 0, -1134, -1134, -1134, 0, -1134, -1134, -1134, -1134, -1135, 624, 0, -1135, -1135, -1135, -1135, 0, -1135, -1135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, 0, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, 0, 0, -1135, -1135, 0, -1135, 0, 0, -1135, -1135, -1135, -1135, -1135, 0, 0, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, 0, -1135, 0, -1135, -1135, -1135, 0, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, -1135, 0, 0, -1135, 0, -1135, 625, 0, -1135, -1135, -1135, 0, -1135, -1135, -1135, 0, -1135, -1135, -1135, -1135, -1131, 624, 0, -1131, -1131, -1131, -1131, 0, -1131, -1131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, 0, -1131, -1131, 0, -1131, 0, 0, -1131, -1131, -1131, -1131, -1131, 0, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, -1131, 0, -1131, -1131, -1131, 0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, 0, 0, -1131, 0, -1131, 625, 0, -1131, -1131, -1131, 0, -1131, -1131, -1131, 0, -1131, -1131, -1131, -1131, -1008, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, 0, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, 0, 0, 311, -1008, 0, -1008, 0, 0, 312, 313, 314, -1008, -1008, 0, 0, -1008, -1008, -1008, -1008, -1008, -1008, 315, 316, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, 0, -1008, 0, 317, -1008, -1008, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1008, -1008, -1008, -1008, -1008, -1008, -1008, -1008, 326, 327, 328, 0, 0, 329, 0, 330, -1008, 0, -1008, 1992, 1023, 0, -1008, 331, 332, 0, 333, 334, 335, 336, -1002, 1995, 0, -1002, -1002, -1002, -1002, 0, -1002, -1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, 0, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, 0, 0, -1002, -1002, 0, -1002, 0, 0, -1002, -1002, -1002, -1002, -1002, 0, 0, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, 0, -1002, 0, -1002, -1002, -1002, 0, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, 0, 0, -1002, 0, -1002, -1002, 0, -1002, -1002, -1002, 0, -1002, -1002, -1002, 0, -1002, -1002, -1002, -1002, -1132, 624, 0, -1132, -1132, -1132, -1132, 0, -1132, -1132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, 0, -1132, -1132, 0, -1132, 0, 0, -1132, -1132, -1132, -1132, -1132, 0, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, -1132, 0, -1132, -1132, -1132, 0, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, 0, 0, -1132, 0, -1132, 625, 0, -1132, -1132, -1132, 0, -1132, -1132, -1132, 0, -1132, -1132, -1132, -1132, -1133, 624, 0, -1133, -1133, -1133, -1133, 0, -1133, -1133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, 0, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, 0, 0, -1133, -1133, 0, -1133, 0, 0, -1133, -1133, -1133, -1133, -1133, 0, 0, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, 0, -1133, 0, -1133, -1133, -1133, 0, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, -1133, 0, 0, -1133, 0, -1133, 625, 0, -1133, -1133, -1133, 0, -1133, -1133, -1133, 0, -1133, -1133, -1133, -1133, -1220, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, 0, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, 0, 0, 311, -1220, 0, -1220, 0, 0, 312, 313, 314, -1220, -1220, 0, 0, -1220, -1220, -1220, -1220, -1220, -1220, 315, 316, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, 0, -1220, 0, 317, -1220, -1220, 0, 318, 319, 320, 321, 322, 323, 324, 325, -1220, -1220, -1220, -1220, -1220, -1220, -1220, -1220, 326, 327, 328, 0, 0, 329, 0, 330, -1220, 0, -1220, -1220, -1220, 0, -1220, 331, 332, 0, 333, 334, 335, 336, -1003, 2071, 0, -1003, -1003, -1003, -1003, 0, -1003, -1003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 0, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 0, 0, -1003, -1003, 0, -1003, 0, 0, -1003, -1003, -1003, -1003, -1003, 0, 0, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 0, -1003, 0, -1003, -1003, -1003, 0, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, -1003, 0, 0, -1003, 0, -1003, -1003, 0, -1003, -1003, -1003, 0, -1003, -1003, -1003, 0, -1003, -1003, -1003, -1003, -909, 589, 0, -909, -909, -909, -909, 0, -909, -909, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, 0, 0, -909, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -909, -909, 0, -909, 0, 0, -909, -909, -909, -909, -909, 0, 0, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, 0, 0, -909, -909, -909, -909, 0, -909, 0, -909, -909, -909, 0, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, 0, 0, -909, 854, -909, -909, 0, 591, -909, -909, 0, 0, -909, -909, 0, -909, -909, -909, -909, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 645, 252, 646, 647, 648, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, 0, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 645, 252, 646, 647, 648, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, 0, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, 995, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 1257, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, -110, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 1264, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, -98, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 1268, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, -102, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1522, 0, 994, -65, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, 1532, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 1589, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, -81, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, -107, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, -97, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, -101, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 1772, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 993, 0, 994, -88, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, -78, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 250, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 315, 644, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 253, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 254, 255, 256, 257, 209, 210, 326, 327, 328, 0, 0, 329, 0, 330, 1531, 0, 994, -85, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 209, 210, 326, 327, 328, 0, 0, 329, 306, 330, 1, 307, 107, 308, 0, 309, 310, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 872, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 209, 210, 326, 327, 328, 0, 0, 329, 306, 330, 1, 307, 107, 308, 0, 309, 310, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1203, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 0, 0, 326, 327, 328, 0, 0, 329, 739, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 0, 0, 326, 327, 328, 0, 0, 329, 306, 330, 1, 307, 107, 308, 258, 309, 310, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 0, 0, 0, 312, 313, 314, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 315, 411, 39, 40, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 317, 0, 41, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 46, 47, 48, 49, 2, 0, 326, 327, 895, 0, 0, 896, 739, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 315, 316, 1132, 0, 646, 647, 648, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, 0, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 1845, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1124, 1125, 1126, 636, 1127, 1128, 1129, 1130, 641, 642, 1131, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 315, 316, 1132, 0, 646, 647, 648, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, 0, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 315, 316, 1132, 0, 646, 647, 648, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 44, 45, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 649, 0, 0, 0, 258, 0, 650, 331, 332, 0, 333, 334, 335, 336, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 0, 1736, 0, 0, 0, 1883, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 2015, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 0, 1736, 0, 0, 0, 1887, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 1866, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 2069, 2070, 1023, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2081, 330, 2082, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 2080, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 750, 0, 0, 331, 332, 751, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 1162, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1273, 330, 0, 312, 313, 314, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1340, 330, 0, 0, 0, 0, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 1143, 312, 313, 314, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 1622, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1167, 330, 0, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1623, 330, 1624, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 1632, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1702, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 306, 0, 1, 307, 107, 308, 311, 309, 310, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 311, 330, 0, 0, 1163, 0, 312, 313, 314, 331, 332, 1730, 333, 334, 335, 336, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 1733, 0, 0, 0, 1734, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 306, 0, 1, 307, 107, 308, 311, 309, 310, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 311, 330, 0, 0, 1163, 0, 312, 313, 314, 331, 332, 1740, 333, 334, 335, 336, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 1733, 0, 0, 0, 1742, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1841, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1843, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1844, 330, 0, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1847, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1623, 330, 1624, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 1867, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 1864, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1868, 330, 1624, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 1733, 0, 0, 0, 1881, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 1733, 0, 0, 0, 1885, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2000, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 1842, 330, 0, 0, 1168, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2007, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1868, 330, 1624, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2085, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 2114, 1023, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2117, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2118, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2146, 330, 0, 0, 1163, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 554, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 846, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 850, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 1023, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 1064, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 0, 0, 1116, 331, 332, 0, 333, 334, 335, 336, 315, 316, 1467, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 739, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 1570, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1606, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 0, 0, 1609, 331, 332, 0, 333, 334, 335, 336, 0, 0, 1801, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 1800, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 1804, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 1808, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 0, 330, 0, 0, 0, 0, 750, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 1854, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 1914, 0, 330, 0, 0, 0, 0, 1800, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 2016, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 329, 2076, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 329, 0, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 306, 0, 1, 307, 107, 308, 0, 309, 310, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 2, 0, 0, 0, 0, 326, 327, 328, 0, 0, 709, 0, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 0, 0, 306, 0, 1, 307, 107, 308, 0, 309, 310, 311, 0, 0, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 326, 327, 328, 311, 0, 712, 0, 330, 0, 312, 313, 314, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, 315, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, -897, 589, 0, -897, -897, -897, 326, 327, 328, 0, 0, 735, 0, 330, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 333, 334, 335, 336, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, -897, 0, 0, -897, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -897, -897, 0, -897, 0, 0, -897, -897, 0, -897, -897, 0, 0, -897, -897, -897, -897, -897, -897, 0, -897, -897, -897, -897, 0, 0, -897, -897, -897, -897, 0, -897, 0, -897, -897, -897, 0, -897, -897, -897, -897, -897, -897, -897, 0, -897, -897, -897, -897, -897, -897, -897, -897, -897, 0, -897, 0, 0, -897, 590, -897, -897, 0, 591, -897, 0, 0, 0, -897, -897, -189, 913, 0, -189, -189, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, 0, 0, -189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -189, -189, 0, -189, 0, 0, -189, -189, 0, -189, -189, 0, 0, -189, -189, -189, -189, -189, -189, 0, -189, -189, -189, -189, 0, 0, -189, -189, -189, -189, 0, -189, 0, -189, -189, -189, 0, -189, -189, -189, -189, -189, -189, -189, 0, -189, -189, -189, -189, -189, -189, -189, -189, -189, 0, -189, 0, 0, -189, 0, -189, 914, 0, 915, -189, 0, 0, 0, -189, -189, -253, 927, 0, 1, 307, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, -253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, -251, 930, -253, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, -254, 927, -251, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, -252, 930, -254, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, -252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 428, -252, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 494, 444, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 516, 495, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 521, 517, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 525, 522, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, 526, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -752, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -753, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -749, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -750, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -755, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 1046, -756, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 1050, 1047, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, 1051, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -649, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -732, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -733, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -735, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 1552, -736, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, 1553, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -644, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -645, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -738, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, -739, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, -648, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, -646, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, -624, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -623, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -637, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 306, -638, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -647, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -633, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -634, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -621, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -622, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -616, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 927, -617, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 930, -635, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 0, 428, -636, 1, 307, 107, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 0, 52, 0, 0, 441, 0, 442, 443, 494, 0, 1, 307, 107, 0, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 28, 0, 429, 0, 0, 312, 313, 0, 29, 30, 0, 0, 430, 33, 431, 432, 36, 37, 0, 411, 39, 40, 433, 0, 0, 434, 435, 436, 437, 0, 438, 0, 439, 440, 41, 0, 318, 319, 320, 321, 322, 323, 324, 0, 44, 45, 46, 47, 48, 49, 209, 210, 326, 202, 52, 1, 0, 441, 0, 442, 443, 0, 0, 0, 0, 0, 0, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 202, 52, 1, 0, 571, 1055, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 1, 0, 52, 0, 0, 868, 1055, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 1, 0, 52, 0, 0, 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 573, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 1, 0, 52, 0, 0, 868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 1, 0, 52, 0, 0, 868, 0, 0, 0, 0, 0, 0, 1449, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 1, 0, 52, 0, 0, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 1, 0, 52, 0, 0, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 1, 0, 52, 0, 0, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1694, 0, 0, 0, 0, 0, 0, 0, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 1, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 52, 0, 0, 1215, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1709, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 1, 0, 0, 0, 52, 0, 0, 868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 2, 3, 4, 277, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 278, 32, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 43, 0, 0, 1, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 279, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 429, 0, 0, 0, 0, 0, 29, 30, 0, 0, 430, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 955, 0, 442, 0, 0, 0, 0, 0, 0, 956, 2, 203, 204, 205, 206, 207, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 0, 936, 2, 203, 204, 205, 206, 207, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 1517, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 936, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, 0, 0, 0, 0, -66, -66, 0, 0, 0, -66, 0, 0, 0, 0, 0, -66, -66, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 1721, 0, 0, 0, 0, 0, 0, -66, -66, -66, -66, -66, -66, -66, -66, 0, 0, 0, 0, 0, 0, 0, 0, 1518, 0, 1519, -66, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 1725, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 1726, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -95, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -96, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 1977, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -80, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, -1291, 296, 0, 1, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, 33, 34, 35, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 1, 0, 0, 43, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 0, 0, 54, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 1, 0, 838, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1408, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 1, 0, 838, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1752, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 166, 0, 1, 0, 838, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1753, 2, 3, 4, 167, 6, 7, 8, 9, 10, 168, 169, 170, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 166, 0, 1, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 0, 0, 171, 0, 2, 3, 4, 167, 6, 7, 8, 9, 10, 168, 169, 170, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 610, 0, 1, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 0, 0, 171, 0, 2, 203, 204, 205, 206, 207, 237, 238, 239, 611, 612, 613, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, -917, 0, -917, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 52, 0, 0, 53, 0, 0, 614, 0, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, -917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -917, 0, 0, 0, 0, 0, 0, 0, -917, -917, 0, 0, 0, -917, 0, 0, 0, 0, 0, -917, -917, -917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -917, 0, 1, 0, 0, 0, 0, 0, 0, 0, -917, -917, -917, -917, -917, -917, -917, -917, 0, 0, -917, 0, 0, -917, 0, 0, -917, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, 33, 34, 35, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 0, -1292, 288, 43, 1, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 0, 0, 54, 0, 0, 0, 0, 2, 3, 4, 167, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 34, 35, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 1215, 1681, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 211, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 948, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 394, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1475, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 211, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 394, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 1567, 0, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 0, 1904, 0, 2, 3, 4, 167, 6, 7, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 2, 3, 4, 167, 6, 7, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 892, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 893, 2, 3, 4, 167, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 8, 9, 10, 570, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 727, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 0, 0, 0, 0, 0, 1454, 2, 203, 204, 205, 206, 207, 237, 238, 239, 1539, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1078, 0, 1, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 52, 0, 0, 53, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 1084, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 1090, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 877, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 508, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 838, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 483, 484, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 2, 203, 204, 205, 206, 207, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, 48, 49, 209, 210, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 52, 0, 0, 868, 1678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 2, 203, 204, 205, 206, 207, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 19, 20, 248, 249, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 33, 0, 0, 0, 0, 0, 251, 39, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 254, 255, 256, 257, 209, 210
143 static const yytype_int16 yycheck[] =
145 0, 87, 93, 648, 541, 87, 726, 867, 1006, 133, 1225, 475, 274, 84, 157, 475, 934, 728, 143, 750, 934, 349, 867, 145, 133, 154, 757, 101, 476, 760, 155, 31, 32, 1023, 159, 1005, 158, 1007, 160, 129, 162, 867, 42, 129, 84, 292, 94, 129, 101, 1108, 31, 94, 129, 53, 94, 17, 750, 65, 1616, 843, 60, 185, 43, 757, 84, 65, 760, 67, 834, 2102, 1628, 85, 479, 5, 349, 84, 185, 188, 189, 834, 1005, 1, 1007, 83, 84, 85, 1, 87, 944, 966, 843, 801, 92, 94, 94, 1, 1, 188, 189, 84, 101, 101, 102, 1, 1005, 105, 1007, 124, 1, 94, 332, 5, 124, 3, 114, 1, 101, 117, 135, 829, 131, 1, 133, 135, 60, 2158, 766, 108, 109, 129, 1, 112, 132, 133, 1, 1, 3, 137, 28, 122, 985, 141, 142, 143, 269, 145, 3, 37, 5, 149, 1, 151, 3, 17, 154, 155, 145, 157, 158, 159, 160, 561, 162, 274, 5, 165, 1, 3, 176, 158, 3, 160, 812, 162, 348, 17, 176, 3, 114, 5, 586, 272, 293, 145, 1, 185, 3, 312, 362, 3, 1, 591, 366, 318, 594, 3, 596, 5, 598, 1, 1, 201, 124, 135, 124, 7, 8, 9, 1005, 3, 1007, 282, 127, 213, 3, 215, 1, 1, 292, 3, 294, 292, 423, 223, 224, 130, 3, 133, 475, 127, 1, 129, 130, 233, 124, 1, 236, 130, 1, 292, 134, 294, 887, 1, 130, 135, 294, 127, 274, 129, 130, 294, 292, 53, 294, 269, 1005, 1006, 1007, 130, 1258, 3, 282, 130, 130, 201, 1, 1265, 125, 269, 3, 1269, 292, 282, 274, 399, 133, 1, 278, 130, 3, 145, 282, 426, 292, 3, 1, 884, 124, 1259, 399, 132, 292, 294, 294, 130, 1266, 278, 131, 125, 1270, 1859, 3, 145, 429, 124, 1, 133, 3, 294, 28, 125, 312, 130, 515, 440, 135, 125, 318, 130, 0, 17, 124, 124, 125, 133, 128, 3, 129, 329, 132, 125, 132, 135, 1259, 129, 125, 1214, 3, 133, 129, 1266, 127, 343, 133, 1270, 130, 3, 125, 802, 331, 74, 28, 803, 445, 446, 447, 448, 1259, 130, 5, 124, 125, 28, 130, 1266, 129, 492, 124, 1270, 571, 5, 130, 74, 7, 8, 9, 830, 672, 673, 5, 831, 1113, 125, 124, 385, 386, 5, 121, 122, 476, 391, 3, 393, 476, 130, 91, 78, 131, 399, 735, 5, 1, 738, 84, 405, 130, 130, 670, 671, 672, 673, 536, 131, 94, 130, 1013, 28, 418, 1113, 884, 101, 102, 423, 224, 425, 426, 536, 552, 429, 430, 891, 3, 562, 1200, 435, 1202, 1, 438, 439, 440, 441, 442, 552, 566, 1200, 568, 1202, 124, 145, 1, 542, 133, 3, 545, 391, 703, 393, 786, 787, 788, 3, 1259, 131, 870, 133, 131, 3, 5, 1266, 470, 471, 472, 1270, 1689, 475, 476, 586, 28, 479, 944, 571, 482, 657, 129, 541, 660, 487, 816, 817, 818, 491, 492, 941, 571, 129, 496, 497, 127, 132, 125, 965, 135, 74, 1215, 965, 1, 125, 508, 1258, 1259, 786, 787, 788, 514, 515, 1265, 1266, 518, 519, 1269, 1270, 1233, 523, 524, 1584, 125, 527, 528, 1240, 129, 531, 532, 533, 534, 3, 536, 5, 130, 539, 1, 816, 817, 818, 224, 952, 747, 954, 130, 1013, 550, 551, 552, 1013, 1431, 1545, 556, 3, 780, 130, 28, 561, 562, 1, 3, 129, 566, 1427, 568, 569, 3, 571, 572, 573, 1, 131, 576, 566, 129, 568, 3, 131, 1427, 1439, 3, 807, 586, 698, 699, 131, 127, 591, 1590, 815, 594, 131, 596, 3, 598, 724, 725, 1427, 282, 728, 729, 605, 7, 8, 9, 129, 3, 5, 292, 835, 294, 135, 1, 1494, 3, 130, 1538, 1591, 3, 1479, 1538, 1, 1482, 1411, 1412, 703, 125, 1, 703, 891, 129, 726, 572, 884, 638, 121, 640, 441, 3, 66, 670, 671, 672, 673, 648, 329, 703, 124, 1512, 5, 1060, 391, 1, 393, 1411, 1412, 7, 8, 9, 131, 125, 1071, 1591, 868, 129, 605, 670, 671, 672, 673, 875, 121, 122, 1077, 0, 1505, 1895, 1507, 883, 703, 804, 131, 124, 125, 688, 689, 1591, 129, 131, 894, 127, 1095, 129, 697, 121, 122, 127, 5, 129, 703, 685, 686, 125, 965, 131, 709, 766, 137, 832, 1703, 129, 121, 122, 717, 965, 128, 805, 136, 128, 124, 724, 725, 726, 727, 728, 729, 124, 132, 125, 3, 135, 735, 121, 122, 738, 3, 3, 122, 1473, 423, 129, 135, 127, 747, 833, 125, 731, 732, 733, 129, 801, 125, 812, 124, 883, 129, 121, 122, 127, 763, 28, 28, 1013, 767, 135, 894, 131, 571, 124, 573, 37, 1773, 129, 124, 868, 1473, 125, 304, 829, 129, 129, 132, 799, 800, 135, 804, 313, 868, 12, 13, 1591, 475, 319, 129, 84, 85, 129, 7, 8, 9, 1774, 3, 7, 8, 9, 809, 1800, 1688, 129, 813, 827, 828, 1693, 832, 7, 8, 9, 1811, 1116, 138, 139, 1119, 917, 918, 3, 920, 973, 974, 923, 924, 802, 515, 572, 803, 838, 839, 840, 1590, 1591, 843, 844, 845, 132, 130, 805, 1774, 979, 941, 122, 123, 1116, 941, 978, 1119, 1059, 941, 124, 124, 830, 1157, 941, 831, 866, 867, 868, 7, 8, 9, 872, 1774, 874, 875, 833, 1171, 1172, 1173, 1174, 1758, 882, 883, 884, 131, 11, 887, 1013, 3, 3, 891, 5, 893, 894, 1157, 896, 633, 898, 70, 71, 142, 122, 123, 145, 996, 1762, 1763, 130, 1171, 1172, 1173, 1174, 3, 28, 1044, 1045, 158, 31, 160, 122, 162, 128, 121, 122, 127, 132, 1255, 354, 130, 128, 132, 1054, 3, 124, 935, 1060, 937, 128, 1799, 125, 941, 93, 132, 944, 135, 121, 122, 121, 949, 129, 1060, 952, 125, 954, 955, 135, 3, 28, 130, 1069, 122, 1071, 130, 964, 965, 966, 1023, 141, 142, 131, 1682, 133, 973, 974, 1439, 976, 1774, 978, 979, 1255, 124, 1072, 269, 984, 985, 986, 987, 3, 978, 5, 1711, 799, 800, 132, 1072, 282, 124, 123, 425, 124, 1991, 122, 1648, 129, 75, 76, 78, 1545, 1210, 80, 131, 1213, 1013, 1474, 1479, 31, 87, 1482, 1425, 827, 828, 123, 703, 1773, 1774, 84, 122, 129, 709, 128, 121, 122, 124, 124, 1912, 131, 188, 189, 124, 1262, 111, 112, 121, 1044, 1045, 726, 127, 1048, 1049, 3, 131, 1052, 1053, 1054, 735, 1056, 1975, 738, 1059, 1060, 131, 125, 141, 142, 1054, 129, 747, 1190, 1069, 133, 1071, 1072, 1073, 122, 121, 122, 1077, 124, 2069, 1080, 129, 0, 1083, 124, 123, 1086, 135, 1213, 1089, 1116, 129, 1092, 1119, 127, 1095, 896, 1097, 131, 561, 1873, 125, 3, 1159, 5, 129, 124, 1163, 1233, 133, 1166, 1111, 1168, 66, 124, 1240, 1116, 124, 123, 1119, 2110, 272, 80, 274, 129, 1215, 124, 185, 1128, 591, 1130, 1157, 594, 124, 596, 935, 598, 1073, 1215, 1139, 3, 131, 293, 133, 123, 1171, 1172, 1173, 1174, 949, 129, 1557, 1152, 111, 112, 955, 123, 1157, 1158, 124, 840, 1987, 129, 1989, 123, 28, 84, 1148, 121, 122, 129, 1171, 1172, 1173, 1174, 133, 94, 131, 12, 13, 123, 704, 45, 101, 102, 1, 129, 3, 125, 1189, 1190, 1191, 129, 1193, 1914, 875, 133, 131, 125, 133, 936, 1190, 129, 1203, 884, 1205, 133, 3, 10, 11, 1210, 891, 75, 76, 1214, 1215, 896, 131, 898, 133, 121, 122, 304, 1424, 282, 6, 131, 8, 9, 470, 471, 313, 1877, 1233, 292, 14, 15, 319, 123, 975, 1240, 789, 790, 137, 129, 531, 532, 533, 534, 1249, 138, 139, 2025, 128, 2027, 496, 497, 1, 133, 1059, 10, 11, 125, 128, 550, 551, 129, 1203, 133, 949, 123, 819, 820, 143, 1811, 1256, 129, 518, 519, 75, 76, 16, 523, 524, 80, 965, 527, 528, 122, 123, 127, 87, 129, 74, 445, 70, 71, 448, 1762, 1763, 123, 123, 1596, 1597, 85, 3, 129, 129, 3, 89, 90, 91, 144, 123, 1608, 111, 112, 92, 2091, 129, 2093, 96, 2095, 98, 127, 566, 129, 568, 124, 110, 28, 75, 76, 28, 1596, 1597, 80, 1073, 125, 120, 3, 122, 129, 87, 3, 123, 1608, 45, 11, 1755, 45, 129, 11, 125, 135, 130, 144, 138, 139, 140, 2133, 2134, 125, 2136, 282, 16, 129, 111, 112, 795, 796, 1, 798, 3, 292, 1576, 294, 75, 76, 2152, 75, 76, 125, 127, 128, 129, 129, 80, 1124, 125, 127, 542, 129, 129, 545, 137, 2169, 823, 824, 825, 826, 125, 1402, 1403, 125, 129, 1406, 1407, 129, 143, 125, 1411, 1412, 1819, 129, 915, 916, 475, 111, 112, 3, 125, 125, 1423, 1, 129, 1407, 1427, 1428, 131, 125, 1431, 155, 1557, 127, 131, 159, 1437, 131, 1439, 866, 867, 1442, 125, 125, 28, 1446, 129, 1557, 14, 15, 1451, 1452, 1453, 1991, 131, 1565, 133, 121, 122, 123, 2106, 121, 122, 123, 128, 129, 125, 131, 128, 129, 129, 131, 125, 1474, 131, 1476, 133, 536, 1479, 1216, 539, 1482, 791, 792, 1485, 1, 124, 3, 1545, 915, 916, 75, 76, 1494, 131, 3, 80, 75, 76, 1500, 1501, 1238, 80, 87, 1505, 1506, 1507, 1508, 1, 87, 3, 430, 821, 822, 127, 1, 137, 3, 670, 671, 672, 673, 1, 129, 3, 3, 127, 111, 112, 1210, 127, 2069, 129, 111, 112, 789, 790, 122, 131, 966, 133, 122, 142, 791, 792, 145, 698, 699, 700, 127, 28, 129, 1847, 1554, 1555, 127, 1557, 129, 158, 37, 160, 131, 162, 133, 1565, 819, 820, 75, 76, 1596, 1597, 122, 80, 821, 822, 1576, 550, 551, 3, 87, 1519, 1608, 1521, 1519, 1847, 1521, 11, 128, 670, 671, 670, 671, 129, 1795, 136, 1596, 1597, 75, 76, 1690, 101, 102, 80, 111, 112, 1606, 131, 1608, 1609, 87, 136, 1612, 1690, 136, 1077, 1616, 844, 845, 131, 1620, 1083, 704, 1623, 131, 131, 135, 1089, 129, 131, 129, 129, 129, 1095, 111, 112, 130, 127, 1619, 697, 133, 1, 124, 124, 121, 703, 125, 124, 1648, 124, 124, 127, 124, 1453, 1635, 1655, 127, 127, 135, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 127, 1790, 127, 1792, 127, 1728, 1764, 915, 916, 1476, 1733, 535, 131, 1736, 531, 532, 533, 534, 122, 130, 136, 1688, 136, 1690, 136, 135, 1693, 1816, 1819, 1818, 121, 122, 123, 550, 551, 136, 136, 136, 129, 131, 131, 122, 131, 1819, 1711, 127, 1713, 1714, 75, 76, 1717, 130, 129, 80, 122, 2016, 130, 2018, 3, 130, 87, 125, 125, 125, 136, 125, 136, 354, 124, 136, 978, 125, 125, 124, 133, 133, 133, 1800, 124, 124, 1483, 57, 1749, 28, 111, 112, 1975, 2016, 1811, 2018, 127, 1758, 37, 127, 127, 1762, 1763, 127, 1765, 124, 127, 128, 129, 122, 122, 125, 1059, 122, 125, 1576, 1777, 124, 124, 135, 122, 2110, 125, 133, 703, 125, 125, 1214, 129, 1790, 2085, 1792, 129, 125, 1795, 1476, 75, 76, 1, 135, 1790, 80, 1792, 129, 425, 130, 1048, 1049, 87, 125, 1052, 1053, 1054, 133, 133, 1816, 133, 1818, 1819, 125, 1847, 125, 2085, 125, 127, 884, 1816, 128, 1818, 125, 130, 125, 111, 112, 2110, 125, 125, 136, 136, 136, 1841, 1842, 1843, 1844, 996, 124, 1847, 133, 133, 57, 1851, 1852, 124, 1854, 125, 1856, 135, 124, 124, 717, 133, 1984, 125, 133, 133, 133, 125, 1868, 125, 3, 470, 471, 75, 76, 125, 125, 1877, 80, 125, 1880, 136, 136, 482, 122, 87, 944, 135, 127, 136, 1871, 136, 1873, 750, 135, 28, 1576, 496, 497, 11, 757, 75, 76, 760, 37, 131, 80, 965, 128, 111, 112, 133, 1912, 87, 1914, 131, 133, 127, 124, 518, 519, 125, 124, 125, 523, 524, 127, 129, 527, 528, 128, 128, 131, 125, 125, 1991, 136, 111, 112, 65, 75, 76, 75, 76, 125, 80, 136, 80, 1189, 1190, 136, 136, 87, 136, 87, 1013, 1692, 131, 1694, 136, 136, 136, 125, 125, 125, 1116, 125, 566, 1119, 568, 65, 127, 1708, 1709, 125, 125, 111, 112, 111, 112, 127, 136, 1982, 1983, 1984, 1985, 1986, 1987, 121, 1989, 2016, 124, 2018, 128, 136, 1984, 1996, 1997, 1998, 1999, 133, 1427, 136, 127, 136, 1431, 1157, 2007, 2099, 2100, 127, 136, 127, 2069, 125, 131, 2016, 3, 2018, 2019, 1171, 1172, 1173, 1174, 37, 127, 127, 127, 2028, 2029, 127, 1711, 45, 46, 127, 127, 127, 0, 125, 127, 482, 127, 28, 1194, 2025, 1196, 2027, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 127, 2141, 2085, 1508, 482, 75, 76, 482, 2065, 2066, 80, 1494, 482, 921, 482, 2072, 2073, 87, 984, 2076, 866, 2078, 42, 292, 2081, 812, 75, 76, 2085, 1512, 292, 80, 75, 76, 75, 76, 976, 80, 87, 80, 60, 111, 112, 2100, 87, 2102, 87, 67, 1474, 2106, 440, 121, 2090, 2091, 729, 2093, 430, 2095, 1795, 1800, 269, 2118, 111, 112, 84, 318, 2090, 87, 111, 112, 111, 112, 121, 93, 94, 124, 1191, 101, 1193, 94, 274, 101, 102, 94, 2141, 2142, 2124, 94, 131, 2146, 102, 1005, 1006, 1007, 114, 2133, 2134, 117, 2136, 1749, 128, 2158, -1, -1, -1, -1, -1, -1, -1, 129, 1453, -1, -1, -1, 2152, -1, -1, 137, 795, 796, 1913, 798, 142, 143, -1, 145, -1, -1, -1, 1922, -1, 2169, -1, -1, -1, 155, -1, 157, 158, 159, 160, -1, 162, -1, -1, -1, 823, 824, 825, 826, -1, -1, -1, -1, 1734, 1735, -1, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, -1, 313, 188, 189, -1, -1, -1, 319, -1, -1, -1, 1914, -1, -1, -1, 201, -1, -1, -1, -1, 1979, 1980, -1, 866, 867, -1, -1, -1, -1, 215, -1, 45, 46, 1113, 45, 46, 1500, 1501, 224, 1688, -1, -1, -1, -1, 1693, -1, 7, -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, -1, 75, 76, -1, 75, 76, 80, 470, 471, 80, -1, -1, -1, 87, -1, -1, 87, 272, 273, 391, -1, 393, -1, 269, -1, -1, 272, 273, 274, -1, 1554, 1555, -1, 496, 497, -1, 282, 111, 112, -1, 111, 112, -1, -1, -1, -1, 292, 293, 294, 1758, 124, -1, -1, 124, -1, 518, 519, 75, 76, -1, 523, 524, 80, 966, 527, 528, 312, -1, -1, 87, -1, -1, 318, -1, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 329, -1, -1, -1, -1, -1, -1, 1799, -1, -1, 111, 112, 1529, 978, -1, 1439, -1, -1, 122, 123, 121, -1, -1, 124, -1, -1, -1, -1, 132, -1, 0, -1, -1, -1, 135, 1258, 1259, 141, 142, 143, 144, 145, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, -1, -1, -1, -1, 1479, -1, 386, 1482, -1, -1, -1, 391, -1, 393, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, 1596, 1597, -1, -1, 1048, 1049, -1, 1975, 1052, 1053, 1054, -1, 1608, -1, -1, 423, -1, 425, 426, -1, -1, 429, 430, 111, 112, -1, -1, 435, 470, 471, -1, 439, 440, -1, 442, 84, -1, 125, 572, -1, -1, 1912, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, 101, 102, 496, 497, -1, -1, -1, -1, -1, -1, 470, 471, -1, -1, -1, 475, 476, -1, -1, 3, -1, -1, 482, -1, 518, 519, -1, 487, -1, 523, 524, -1, 492, 527, 528, -1, 496, 497, -1, -1, -1, -1, -1, -1, 28, -1, -1, 633, -1, -1, -1, -1, 1790, 37, 1792, 515, -1, -1, 518, 519, -1, -1, -1, 523, 524, -1, -1, 527, 528, -1, -1, -1, -1, 542, -1, 535, 545, -1, 1816, -1, 1818, -1, 542, -1, -1, 545, -1, -1, -1, -1, -1, 75, 76, 1189, 1190, -1, 80, 1214, -1, -1, -1, 561, -1, 87, -1, -1, 566, -1, 568, -1, -1, 571, 572, -1, -1, -1, -1, 75, 76, 1473, -1, -1, 80, 224, -1, -1, -1, 111, 112, 87, -1, 591, -1, -1, 594, -1, 596, 121, 598, -1, 124, 125, -1, -1, -1, 605, -1, -1, -1, -1, -1, -1, -1, 111, 112, 1734, 1735, -1, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, 282, -1, 80, -1, -1, -1, -1, -1, -1, 87, 292, -1, 294, -1, -1, -1, -1, -1, 1847, -1, 670, 671, 672, 673, -1, -1, 1762, 1763, -1, 670, 671, 672, 673, 111, 112, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 125, -1, -1, 700, -1, -1, -1, -1, 1590, 1591, 698, 699, 700, -1, -1, 703, 1982, 1983, 1984, 1985, 1986, 709, 45, 46, 3, -1, -1, -1, -1, 717, 1996, 1997, 1998, 1999, 75, 76, 724, 725, 726, 80, 728, 729, -1, -1, -1, -1, 87, 735, -1, 28, 738, -1, 75, 76, -1, -1, -1, 80, 37, 747, -1, -1, 750, -1, 87, -1, -1, -1, -1, 757, 111, 112, 760, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1427, -1, 125, -1, 1431, -1, 111, 112, -1, -1, -1, -1, 423, -1, 75, 76, 121, 2065, 2066, 80, -1, -1, 122, 123, -1, -1, 87, -1, -1, -1, -1, -1, 132, -1, -1, -1, -1, 137, 138, 139, 936, 141, 142, 143, 144, 145, 3, -1, -1, -1, 111, 112, -1, -1, -1, -1, -1, -1, 2016, -1, 2018, 1048, 1049, 124, 475, 1052, 1053, 1494, -1, -1, 840, 28, -1, 843, 844, 845, -1, -1, -1, 975, 37, 38, 39, -1, -1, 1512, 1975, -1, -1, -1, -1, -1, 272, 273, 1500, 1501, 866, 867, 868, -1, -1, -1, -1, -1, 515, 875, -1, -1, 3, 1773, 1774, -1, -1, 883, 884, -1, -1, -1, 75, 76, -1, 891, -1, 80, 894, -1, 896, 2085, 898, -1, 87, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, 1554, 1555, -1, -1, -1, -1, 111, 112, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, 124, -1, -1, -1, 941, -1, 0, -1, -1, -1, 1073, -1, 949, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 965, 966, -1, -1, -1, -1, -1, -1, 973, 974, -1, -1, -1, 978, -1, -1, -1, -1, -1, 984, -1, 111, 112, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, 1124, 124, -1, -1, -1, -1, -1, 1005, 1006, 1007, -1, -1, -1, -1, -1, 1013, 1048, 1049, -1, -1, 1052, 1053, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, 1688, -1, -1, -1, -1, 1693, 94, -1, -1, -1, -1, -1, -1, 101, 102, -1, -1, 1048, 1049, -1, -1, 1052, 1053, 1054, -1, -1, -1, -1, -1, -1, -1, 703, -1, -1, -1, -1, -1, 709, -1, -1, -1, 1072, 1073, -1, -1, -1, 1077, -1, -1, -1, -1, -1, 1083, -1, -1, 143, -1, -1, 1089, 1216, -1, -1, -1, 735, 1095, -1, 738, 155, -1, -1, 1758, 159, -1, -1, -1, -1, 1116, -1, -1, 1119, -1, 1238, 1113, -1, -1, 1116, -1, -1, 1119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 542, -1, -1, 545, -1, -1, -1, -1, -1, -1, 1799, -1, 0, -1, -1, -1, 1157, -1, -1, -1, -1, -1, 1790, -1, 1792, 1157, -1, -1, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, 1171, 1172, 1173, 1174, 142, -1, -1, 145, -1, 1816, -1, 1818, 113, -1, 1194, -1, 1196, -1, 1189, 1190, 158, -1, 160, 1194, 162, 1196, 53, -1, 840, -1, -1, -1, 1203, -1, -1, -1, -1, -1, -1, 1210, -1, -1, 1213, 1214, 1215, -1, -1, -1, -1, -1, -1, -1, -1, -1, 282, -1, 83, 84, 85, -1, -1, -1, 1233, 875, 292, 92, 294, 94, -1, 1240, -1, -1, 884, -1, 101, 102, -1, -1, -1, 891, -1, -1, -1, -1, 1912, -1, 898, 1258, 1259, 670, 671, 672, 673, -1, 1265, 1266, -1, -1, 1269, 1270, 201, -1, -1, -1, -1, 132, 133, 134, 135, 136, -1, -1, 1500, 1501, -1, 142, -1, -1, 145, 700, -1, -1, -1, -1, -1, 1, -1, 3, -1, -1, -1, 158, -1, 160, -1, 162, -1, 949, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 965, -1, -1, -1, -1, 185, 186, 187, 37, 38, 39, -1, -1, 1554, 1555, -1, -1, -1, -1, -1, -1, -1, 1982, 1983, 1984, 1985, 1986, -1, -1, -1, -1, -1, 0, 1483, -1, -1, 1996, 1997, 1998, 1999, -1, -1, -1, 223, 224, -1, 75, 76, 429, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, 440, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 332, -1, -1, -1, 111, 112, -1, 53, -1, 1411, 1412, 269, -1, -1, 121, -1, -1, 124, -1, -1, 127, -1, 129, 130, 282, 1427, -1, 2065, 2066, 1431, -1, -1, -1, 492, 292, -1, 294, -1, 84, 85, -1, -1, -1, -1, -1, -1, 92, -1, 94, -1, -1, -1, -1, -1, -1, 101, 102, -1, -1, 391, -1, 393, -1, -1, 1500, 1501, -1, -1, -1, -1, -1, 1473, -1, -1, 1476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, -1, -1, -1, 1494, -1, -1, -1, -1, -1, 1500, 1501, -1, 470, 471, 1505, 1506, 1507, 1508, -1, -1, -1, -1, -1, -1, 482, -1, -1, -1, -1, 1554, 1555, -1, -1, -1, -1, -1, -1, -1, 496, 497, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, -1, 399, 400, 401, -1, -1, -1, -1, -1, 518, 519, -1, 1554, 1555, 523, 524, -1, -1, 527, 528, 1203, -1, -1, -1, 1692, 423, 1694, 1210, -1, -1, -1, -1, 430, -1, 1576, 274, -1, -1, -1, -1, 1708, 1709, -1, 441, -1, 1596, 1597, 233, 1590, 1591, 236, -1, -1, -1, 1596, 1597, -1, 566, 1609, 568, -1, 1612, -1, 535, -1, -1, -1, 1609, -1, 1620, 1612, -1, 470, 471, -1, -1, -1, 475, 1620, -1, -1, 479, -1, 269, 482, -1, -1, -1, -1, -1, -1, -1, 0, 491, -1, -1, 282, -1, 496, 497, 572, -1, -1, -1, 703, -1, 292, -1, 294, -1, -1, -1, -1, 1655, -1, -1, -1, 515, -1, -1, 518, 519, -1, -1, -1, 523, 524, -1, -1, 527, 528, -1, 604, 531, 532, 533, 534, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1688, -1, 1690, -1, -1, 1693, 550, 551, -1, -1, -1, -1, -1, -1, -1, 633, -1, -1, 1116, -1, -1, 1119, 566, 1711, 568, -1, -1, 571, -1, 573, 84, -1, -1, 0, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, 588, -1, -1, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1157, 445, -1, -1, -1, -1, -1, -1, 399, -1, -1, 1758, -1, -1, 1171, 1172, 1173, 1174, 1982, 1983, -1, 1985, 1986, -1, -1, -1, 1773, 1774, -1, -1, 143, -1, 1996, 1997, 1998, 1999, -1, 1194, -1, 1196, 1913, -1, 155, 1790, -1, 1792, 159, -1, 1795, 1922, 441, -1, -1, 730, -1, -1, -1, 734, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, 1816, -1, 1818, -1, 750, -1, 101, 102, -1, -1, 883, 757, -1, -1, 760, -1, -1, -1, -1, 1476, -1, 894, -1, -1, -1, 697, 1851, 1852, -1, -1, -1, 703, 2065, 2066, 780, 1851, 1852, 1979, 1980, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, -1, -1, 724, -1, -1, -1, 728, -1, -1, -1, 155, 807, -1, -1, 159, -1, -1, -1, -1, 815, -1, 531, 532, 533, 534, 747, 536, -1, -1, 539, -1, -1, -1, -1, -1, -1, -1, -1, -1, 835, 550, 551, 552, -1, -1, -1, 1912, -1, 1914, -1, 282, -1, -1, -1, -1, -1, -1, -1, -1, -1, 292, 571, 294, -1, -1, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, 638, -1, -1, -1, -1, -1, -1, 1982, 1983, -1, 1985, 1986, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1996, 1997, 1998, 1999, -1, -1, -1, -1, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, -1, -1, 1982, 1983, 1984, 1985, 1986, 1987, -1, 1989, -1, -1, -1, -1, -1, -1, 1996, 1997, 1998, 1999, -1, -1, -1, 282, 934, -1, 936, -1, -1, -1, -1, 978, 868, 292, -1, 294, -1, -1, -1, 875, -1, -1, -1, -1, -1, -1, 882, 883, 884, -1, -1, 2065, 2066, -1, -1, 891, 113, -1, 894, -1, 896, -1, -1, -1, -1, 975, -1, -1, -1, -1, -1, -1, -1, 697, -1, -1, -1, -1, -1, 703, 137, -1, -1, 429, -1, 2065, 2066, -1, -1, -1, -1, -1, -1, -1, 440, 1005, -1, 1007, -1, 935, -1, 1048, 1049, -1, -1, 1052, 1053, 1054, 944, -1, -1, -1, -1, 949, -1, -1, -1, -1, -1, 955, -1, -1, -1, -1, -1, -1, -1, -1, -1, 965, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 978, -1, 201, -1, 492, -1, -1, -1, -1, -1, 988, 1, -1, 3, -1, -1, -1, -1, -1, -1, -1, 1073, -1, -1, -1, -1, -1, -1, 429, -1, -1, -1, 1795, -1, -1, 1013, -1, -1, 28, 440, -1, -1, -1, -1, -1, -1, -1, 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1113, -1, -1, 1596, 1597, -1, -1, -1, -1, 1048, 1049, 1124, -1, 1052, 1053, 1054, 1609, -1, -1, 1612, 1059, 1060, -1, -1, 75, 76, -1, 1620, -1, 80, 492, 1070, -1, -1, -1, -1, 87, 1150, 1151, 1189, 1190, -1, -1, -1, 304, -1, -1, -1, 308, 309, 310, -1, -1, 313, -1, -1, -1, -1, -1, 319, 111, 112, -1, -1, -1, 325, -1, 947, -1, 896, 121, -1, 332, 124, -1, -1, 127, -1, 129, 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, 349, -1, -1, -1, -1, 354, -1, -1, -1, -1, -1, -1, -1, -1, 1216, -1, -1, -1, -1, 935, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1238, -1, -1, 955, -1, -1, 391, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1259, -1, -1, 1262, 1189, 1190, -1, 1266, 703, -1, -1, 1270, -1, -1, -1, -1, -1, -1, -1, 425, -1, -1, -1, -1, -1, 1210, -1, -1, 1213, -1, 1215, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1059, 1060, -1, -1, 1116, -1, -1, 1119, -1, 703, -1, -1, -1, 66, -1, -1, 1128, -1, -1, 72, 73, 74, -1, -1, -1, -1, 1851, 1852, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 535, -1, 1157, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, 1171, 1172, 1173, 1174, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, 572, 134, 135, 136, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 883, -1, -1, -1, -1, -1, -1, -1, -1, -1, 604, 894, -1, -1, -1, -1, 1500, 1501, -1, -1, -1, -1, -1, -1, -1, -1, 1473, -1, -1, -1, 1191, -1, 1193, -1, -1, -1, 1483, -1, -1, 633, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1424, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1439, 1514, -1, -1, 1554, 1555, 1519, 1446, 1521, -1, -1, -1, -1, -1, 1453, -1, -1, -1, -1, -1, -1, 883, -1, -1, -1, 1538, -1, -1, -1, -1, -1, -1, 894, -1, -1, 1474, -1, 1476, -1, -1, -1, -1, -1, -1, 704, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1500, 1501, -1, -1, -1, -1, -1, -1, -1, 730, -1, -1, -1, 734, -1, -1, -1, 1591, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 750, -1, -1, -1, -1, -1, -1, 757, -1, -1, 760, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1554, 1555, -1, 1557, -1, 780, -1, -1, -1, -1, -1, 786, 787, 788, 789, 790, 791, 792, -1, -1, 795, 796, 1576, 798, 799, 800, 801, 802, 803, 804, 805, -1, 807, -1, -1, -1, -1, -1, -1, -1, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, -1, 835, -1, -1, -1, 1692, -1, 1694, -1, -1, -1, -1, -1, -1, -1, -1, 1703, -1, -1, -1, -1, 1708, 1709, -1, -1, -1, -1, -1, 1715, -1, -1, -1, 866, 867, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, 1453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1790, -1, 1792, 1682, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 1774, 92, -1, -1, -1, 1816, -1, 1818, -1, -1, -1, -1, -1, 934, -1, 936, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 132, 133, -1, -1, 966, -1, -1, -1, -1, -1, 137, -1, -1, 975, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, 1606, -1, 1608, 1609, 1557, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, 1623, -1, 1005, -1, 1007, -1, -1, -1, 1790, -1, 1792, -1, 185, 1795, -1, -1, -1, -1, -1, -1, -1, -1, 1878, 1879, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, 1816, -1, 1818, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1828, -1, -1, 349, -1, -1, -1, -1, -1, -1, -1, 1913, -1, -1, 233, -1, -1, 236, -1, -1, 1922, -1, -1, -1, 1073, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1982, 1983, 1984, 1985, 1986, -1, -1, 269, -1, -1, -1, -1, -1, -1, 1996, 1997, 1998, 1999, -1, -1, 282, 1113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1124, -1, 1979, 1980, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, -1, 308, 309, 310, -1, -1, 313, -1, 1150, 1151, -1, -1, 319, -1, -1, -1, -1, -1, 325, -1, -1, -1, -1, -1, -1, 332, -1, -1, -1, -1, -1, -1, -1, 2065, 2066, -1, -1, -1, -1, -1, -1, -1, 349, -1, -1, -1, -1, 354, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1982, 1983, 1984, 1985, 1986, 1, -1, 3, 4, 5, -1, 1214, -1, 1216, 1996, 1997, 1998, 1999, 1841, 1842, 1843, 1844, -1, 391, 1847, 393, 399, -1, 1851, 1852, -1, 1854, 28, 1856, -1, 1238, 2092, -1, -1, -1, -1, -1, -1, -1, -1, 1868, -1, -1, -1, 1819, -1, -1, 1255, -1, 2110, -1, 1259, 425, -1, 1262, -1, -1, -1, 1266, -1, -1, -1, 1270, 441, -1, 66, -1, -1, -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, 2065, 2066, -1, -1, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 2161, 479, 103, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, 119, -1, -1, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 113, 134, 135, -1, -1, -1, 643, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 332, -1, -1, 531, 532, 533, 534, -1, 536, -1, -1, 539, 535, -1, -1, -1, -1, 349, -1, -1, -1, -1, 550, 551, 552, -1, -1, -1, -1, 2007, -1, -1, -1, -1, -1, -1, -1, -1, 2016, -1, 2018, -1, -1, 571, -1, -1, -1, -1, -1, 572, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1427, -1, -1, -1, 1431, -1, -1, -1, -1, -1, -1, -1, 604, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2072, 2073, -1, -1, 2076, -1, 2078, -1, -1, 2081, -1, -1, -1, 2085, -1, -1, 633, 766, -1, -1, -1, 1473, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1483, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1494, -1, -1, -1, 2118, -1, -1, 274, 799, 800, 801, 802, 803, -1, -1, 806, -1, -1, 1512, -1, 1514, 812, -1, -1, -1, 1519, -1, 1521, -1, -1, -1, -1, 2146, 697, -1, -1, 827, 828, 829, 830, 831, -1, -1, 834, 1538, 704, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 332, -1, -1, -1, -1, -1, 730, -1, -1, -1, 734, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 750, -1, -1, -1, -1, -1, 1591, 757, -1, -1, 760, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 780, -1, -1, -1, -1, -1, 786, 787, 788, 789, 790, 791, 792, -1, -1, 795, 796, -1, 798, 799, 800, 801, 802, 803, 804, 805, -1, 807, -1, -1, -1, -1, -1, -1, -1, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 643, 835, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1688, -1, -1, -1, 1692, 1693, 1694, -1, -1, -1, -1, -1, -1, 866, 867, 1703, -1, -1, -1, -1, 1708, 1709, -1, -1, -1, -1, -1, 1715, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 896, -1, -1, -1, -1, -1, -1, -1, 1734, 1735, -1, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1758, -1, -1, -1, -1, -1, -1, 935, -1, -1, 541, 934, -1, 936, -1, -1, 1774, -1, -1, -1, -1, -1, -1, -1, 952, -1, 954, 955, -1, -1, -1, -1, -1, -1, 766, -1, -1, -1, -1, -1, -1, 1799, -1, 966, -1, -1, -1, -1, 780, -1, -1, -1, 975, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 799, 800, 801, 802, 803, -1, 604, 806, 807, 1131, -1, -1, -1, 812, -1, 1005, 815, 1007, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 827, 828, 829, 830, 831, -1, -1, 834, 835, 1159, -1, -1, 638, -1, -1, -1, 1166, -1, -1, -1, -1, -1, -1, -1, -1, 1878, 1879, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1059, 1060, -1, -1, -1, -1, -1, -1, 670, 671, 672, 673, -1, -1, 1200, -1, 1202, -1, -1, 1073, -1, -1, -1, 1912, 1913, -1, -1, -1, -1, 133, -1, -1, -1, 1922, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1113, -1, -1, -1, -1, -1, -1, -1, -1, 730, -1, 1124, -1, 734, -1, -1, -1, -1, -1, -1, -1, -1, 185, -1, -1, -1, -1, 1975, -1, -1, -1, 1979, 1980, -1, -1, -1, -1, 1150, 1151, -1, -1, -1, -1, -1, -1, 766, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 780, -1, 224, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, 1191, -1, 1193, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 807, -1, -1, -1, 28, 812, -1, -1, 815, -1, -1, -1, -1, -1, -1, 1214, -1, 1216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 835, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1238, -1, -1, 66, 292, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 1255, -1, 2092, -1, 1259, 85, 86, 1262, -1, -1, -1, 1266, -1, -1, -1, 1270, -1, -1, -1, 99, 2110, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, 142, -1, -1, 145, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, 158, 129, 160, -1, 162, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, 1131, -1, -1, -1, 2161, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, 399, 1159, -1, -1, -1, -1, 405, -1, 1166, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1200, -1, 1202, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, 1023, 85, 86, 87, 274, -1, -1, -1, -1, -1, 475, -1, 1427, -1, -1, 99, 1431, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -1, -1, -1, -1, 1453, -1, 119, 120, 121, 1262, -1, 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, 1473, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1483, -1, -1, 536, -1, -1, 539, -1, -1, -1, -1, 1494, -1, -1, -1, -1, -1, -1, -1, 552, -1, -1, -1, -1, -1, 1116, -1, -1, 1119, 1512, -1, 1514, -1, -1, -1, -1, 1519, 1128, 1521, -1, 573, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 586, -1, 1538, -1, -1, -1, 1150, 1151, -1, -1, -1, -1, -1, 1157, -1, 1159, 1557, -1, -1, 1163, -1, -1, 1166, -1, 1168, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1591, -1, -1, -1, -1, 1728, -1, -1, -1, -1, 1733, 1734, 1735, 1736, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, -1, 470, 471, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 496, 497, -1, -1, -1, -1, 697, -1, -1, -1, -1, -1, 703, 1262, -1, -1, -1, -1, -1, -1, -1, -1, 518, 519, -1, -1, -1, 523, 524, -1, -1, 527, 528, -1, -1, -1, -1, -1, -1, 535, -1, -1, -1, -1, -1, -1, -1, 1688, -1, -1, -1, 1692, 1693, 1694, -1, -1, -1, -1, -1, -1, -1, -1, 1703, -1, -1, -1, -1, 1708, 1709, -1, 566, -1, 568, -1, 1715, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, 1734, 1735, -1, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, 1758, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1774, -1, -1, -1, -1, -1, -1, -1, -1, 638, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, 1799, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, 1819, 670, 671, 672, 673, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 884, -1, -1, -1, -1, -1, -1, 891, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1878, 1879, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, -1, -1, -1, -1, -1, 944, 750, -1, -1, -1, 949, -1, -1, 757, -1, -1, 760, 1514, -1, -1, -1, -1, -1, 1912, 1913, -1, 965, -1, -1, -1, 1728, -1, -1, 1922, -1, 1733, 1734, 1735, 1736, 1737, 1738, -1, -1, -1, 1742, 1743, 1744, 1745, 1545, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1013, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1975, -1, -1, -1, 1979, 1980, -1, -1, -1, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, 1606, -1, 1608, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, 1060, -1, 1620, -1, -1, 1623, -1, -1, -1, 1069, -1, 1071, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 915, 916, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, 2092, -1, -1, 1703, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1715, -1, 28, 2110, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1728, -1, -1, 978, -1, 1733, -1, -1, 1736, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1191, -1, 1193, -1, -1, -1, 66, -1, -1, 1005, -1, 1007, 72, 73, 74, -1, -1, -1, -1, -1, 2161, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 1800, 1048, 1049, -1, -1, 1052, 1053, 1054, 119, 120, 121, 1811, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, 1841, 1842, 1843, 1844, -1, -1, 1847, -1, -1, -1, 1851, 1852, -1, 1854, -1, 1856, 28, -1, -1, -1, -1, -1, -1, -1, -1, 1113, -1, 1868, 1116, -1, -1, 1119, -1, -1, -1, -1, -1, 1878, 1879, -1, 1128, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 80, 1157, -1, -1, -1, 85, 86, 87, -1, 89, 90, 91, -1, -1, -1, 1171, 1172, 1173, 1174, 99, -1, 87, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 1189, 1190, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, 131, -1, 133, 134, 135, 0, 137, 138, 139, 140, -1, -1, 129, -1, -1, -1, -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1991, -1, -1, -1, -1, -1, 1439, -1, -1, 157, -1, -1, -1, 1446, -1, -1, 2007, -1, -1, -1, -1, 1259, -1, -1, -1, 2016, 52, 2018, 1266, -1, -1, -1, 1270, -1, -1, -1, -1, -1, -1, -1, -1, 1474, -1, 1476, -1, -1, 1479, -1, -1, 1482, -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, -1, -1, 101, 102, -1, 2069, -1, -1, 2072, 2073, -1, -1, 2076, -1, 2078, -1, -1, 2081, -1, -1, 119, 2085, -1, -1, -1, -1, -1, -1, 2092, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, 143, -1, 2110, -1, -1, -1, -1, 1557, -1, -1, 2118, -1, 155, 28, -1, 1565, 159, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2146, -1, -1, -1, -1, -1, -1, 188, 189, -1, -1, -1, -1, 66, -1, 2161, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, -1, -1, 1473, 134, 135, 386, 137, 138, 139, 140, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, -1, -1, -1, 282, -1, -1, -1, -1, -1, 1500, 1501, -1, -1, 292, 293, 294, -1, -1, -1, -1, -1, -1, -1, -1, 425, 426, -1, -1, 1519, 430, 1521, -1, -1, 312, -1, -1, -1, -1, 439, 318, -1, 442, -1, -1, -1, -1, -1, -1, -1, -1, 329, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1554, 1555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 476, 1762, 1763, -1, 1765, -1, 482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, 1606, -1, 1608, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, 1623, 1819, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 423, -1, -1, -1, -1, -1, 429, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, 440, -1, -1, -1, -1, -1, -1, -1, -1, 571, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 591, -1, -1, 594, -1, 596, 475, 598, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 492, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 515, -1, -1, -1, 52, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 535, -1, -1, -1, -1, -1, -1, 542, -1, -1, 545, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, 89, -1, -1, -1, -1, 94, 1774, -1, -1, -1, -1, -1, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, 1790, -1, 1792, -1, -1, -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, 274, -1, -1, -1, 132, -1, -1, -1, -1, 1816, -1, 1818, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1841, 1842, 1843, 1844, -1, -1, 1847, -1, -1, -1, 1851, 1852, -1, 1854, -1, 1856, 645, -1, -1, -1, -1, 329, 184, -1, -1, -1, -1, 1868, -1, -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, 698, 699, 700, -1, -1, 703, -1, -1, -1, -1, -1, 709, -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, -1, 843, 844, 845, 724, 725, 726, -1, 728, 729, -1, -1, -1, -1, -1, 735, 269, -1, 738, -1, -1, -1, -1, -1, 866, 867, 868, 747, -1, 282, 750, -1, -1, -1, -1, -1, -1, 757, -1, 292, 760, 294, 441, -1, 638, -1, -1, -1, -1, -1, 1982, 1983, 1984, 1985, 1986, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1996, 1997, 1998, 1999, -1, -1, -1, -1, -1, -1, -1, 2007, -1, -1, 672, 673, -1, -1, -1, -1, 2016, -1, 2018, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 941, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 840, -1, -1, -1, 966, -1, -1, -1, -1, -1, -1, 973, 974, 2065, 2066, -1, -1, -1, -1, -1, 2072, 2073, 984, -1, 2076, -1, 2078, -1, -1, 2081, -1, -1, -1, 2085, -1, 875, -1, -1, -1, -1, -1, -1, -1, 883, 884, -1, -1, -1, -1, -1, 423, 891, -1, -1, 894, 895, 896, -1, 898, -1, -1, -1, -1, -1, -1, -1, 2118, -1, 441, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2146, -1, -1, -1, -1, -1, -1, -1, 475, -1, -1, 478, -1, -1, -1, 949, 1072, -1, -1, -1, -1, 1077, -1, -1, -1, -1, -1, 1083, -1, -1, 643, 965, -1, 1089, -1, -1, -1, -1, -1, 1095, -1, -1, -1, -1, -1, -1, 659, -1, 515, -1, -1, -1, -1, -1, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, 531, 532, 533, 534, -1, -1, -1, 1005, 1006, 1007, -1, -1, -1, -1, -1, 1013, -1, -1, -1, 550, 551, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 709, -1, -1, 712, -1, -1, 1, -1, 571, -1, 573, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 584, -1, -1, -1, -1, 735, -1, -1, -1, -1, -1, 741, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 621, 768, -1, -1, 1214, 1215, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, 1113, -1, 80, 1116, -1, -1, 1119, -1, 86, 87, 88, -1, -1, -1, 806, -1, -1, -1, -1, 1132, -1, -1, 814, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, 834, -1, 1157, -1, -1, -1, -1, -1, 696, -1, -1, 131, -1, -1, -1, 703, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 724, -1, -1, 1194, 728, 1196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1210, -1, -1, 1213, 747, -1, -1, 896, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, 1116, -1, -1, 1119, -1, -1, -1, -1, -1, -1, -1, -1, 1128, -1, -1, -1, 1258, 1259, -1, -1, -1, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1157, -1, -1, -1, -1, -1, 1411, 1412, -1, -1, -1, -1, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, 1427, -1, -1, -1, 1431, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 868, 869, -1, -1, -1, -1, -1, 875, -1, -1, -1, -1, -1, -1, -1, 883, 884, -1, -1, -1, -1, -1, -1, 891, -1, -1, 894, 895, 896, -1, -1, -1, -1, -1, -1, -1, -1, 1494, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1505, 1506, 1507, 1508, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 935, -1, -1, -1, -1, -1, -1, -1, 943, -1, -1, -1, -1, -1, 949, -1, -1, -1, -1, -1, 955, -1, -1, -1, -1, -1, -1, -1, -1, -1, 965, -1, -1, -1, -1, 1116, -1, -1, 1119, 1120, 1121, -1, 1123, -1, -1, -1, -1, -1, 93, -1, 1131, -1, -1, -1, -1, -1, -1, -1, 1139, -1, -1, -1, -1, -1, -1, 1146, -1, -1, -1, -1, -1, 1473, -1, -1, 1476, -1, 1157, -1, 1013, -1, -1, -1, -1, 1164, -1, -1, -1, -1, 1169, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1200, -1, 1202, -1, -1, 1059, -1, -1, -1, -1, -1, -1, 1655, -1, 1068, -1, -1, -1, -1, -1, -1, -1, -1, -1, 188, 189, -1, -1, -1, -1, -1, -1, -1, -1, 1234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1688, -1, 1690, -1, -1, 1693, -1, -1, -1, -1, 1576, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, 1280, -1, -1, -1, -1, -1, -1, -1, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, 1758, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 293, -1, -1, 1332, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1345, -1, -1, 312, -1, -1, -1, -1, -1, 318, -1, 1210, -1, -1, 1213, -1, 1215, -1, -1, -1, 329, -1, -1, -1, 1223, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, -1, -1, 1711, -1, -1, -1, -1, -1, 1396, -1, 201, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, 1606, -1, 1608, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, 1623, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 1773, 1774, -1, -1, -1, -1, -1, 423, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1912, -1, -1, -1, -1, 1795, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, 313, 475, -1, -1, -1, 67, 319, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, 1851, 1852, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, 1987, -1, 1989, -1, -1, 101, -1, 515, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, 1424, 535, 124, -1, -1, -1, -1, -1, 542, 131, -1, 545, -1, 135, 1438, -1, -1, -1, 391, -1, 393, 1445, -1, 1914, -1, -1, 1596, 1597, -1, 1453, -1, -1, 1602, -1, 1604, -1, -1, 1607, 1608, -1, -1, -1, -1, 1613, 1614, -1, 1616, -1, -1, -1, 1474, -1, 1476, -1, -1, -1, 1626, -1, 1628, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1841, 1842, 1843, 1844, -1, -1, 1847, -1, -1, -1, 1851, 1852, -1, 1854, 1660, 1856, -1, -1, 1664, -1, -1, -1, -1, -1, -1, -1, -1, 1868, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 329, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1556, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, -1, -1, -1, -1, 535, -1, 698, 699, 700, 93, -1, -1, -1, -1, -1, -1, -1, 709, -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, -1, -1, -1, -1, 724, 725, 726, -1, 728, 729, -1, -1, -1, 572, -1, 735, -1, -1, 738, -1, -1, -1, -1, -1, -1, -1, -1, 747, -1, -1, 750, -1, -1, -1, -1, -1, -1, 757, -1, -1, 760, 441, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2007, -1, -1, -1, -1, -1, -1, -1, -1, 2016, -1, 2018, -1, -1, -1, -1, 1682, 1829, 633, -1, 188, 189, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1847, 1848, -1, -1, -1, -1, -1, -1, 1855, -1, -1, -1, 1859, -1, 1861, -1, -1, -1, -1, -1, -1, 224, -1, 1870, -1, -1, -1, -1, -1, 840, 2072, 2073, -1, -1, 2076, -1, 2078, -1, -1, 2081, -1, -1, -1, 2085, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1754, 704, -1, -1, -1, -1, -1, -1, -1, -1, -1, 875, -1, 269, 1914, -1, 272, 273, 274, -1, 884, -1, 1776, 2118, -1, -1, -1, 891, -1, -1, -1, -1, 896, -1, 898, -1, -1, 293, -1, -1, -1, 1795, -1, -1, -1, -1, -1, 750, -1, -1, -1, 2146, -1, -1, 757, -1, 312, 760, -1, -1, -1, -1, 318, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 329, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 949, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 643, -1, 965, -1, -1, -1, -1, -1, -1, 2008, 2009, -1, 2011, -1, 2013, -1, 659, 2016, 2017, 2018, 663, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1894, 1005, 1006, 1007, -1, -1, -1, -1, -1, 1013, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 709, -1, 423, 712, -1, -1, -1, -1, -1, 2074, -1, -1, 2077, -1, -1, -1, -1, 726, -1, -1, 2085, -1, -1, -1, -1, -1, 735, -1, -1, -1, -1, -1, 741, 742, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 475, -1, 2121, -1, -1, 768, -1, -1, -1, -1, -1, -1, 934, -1, 936, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1113, -1, -1, 1116, 1, -1, 1119, 4, 5, 6, 515, 8, 9, 806, -1, -1, -1, -1, -1, -1, -1, 814, -1, 975, -1, -1, -1, -1, -1, -1, 535, -1, -1, -1, -1, -1, -1, 542, -1, -1, 545, 834, -1, -1, 1157, -1, -1, -1, -1, -1, -1, -1, -1, 1005, -1, 1007, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, 1194, -1, 1196, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, 1210, -1, -1, 1213, -1, 99, 896, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, 1233, 1073, 119, 120, -1, -1, -1, 1240, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, 1258, 1259, -1, -1, -1, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, 1113, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, 1124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 698, 699, 700, -1, -1, -1, -1, -1, -1, -1, -1, 709, -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, -1, -1, -1, -1, 724, 725, 726, -1, 728, 729, -1, -1, -1, -1, -1, 735, -1, -1, 738, -1, -1, -1, -1, -1, -1, -1, -1, 747, -1, -1, 750, -1, -1, -1, -1, -1, -1, 757, -1, -1, 760, -1, -1, -1, -1, -1, -1, -1, -1, 1216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1238, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, 1259, -1, -1, -1, -1, -1, -1, 1266, -1, -1, -1, 1270, -1, -1, -1, -1, 28, -1, -1, -1, 1120, 1121, -1, 1123, -1, -1, -1, -1, 840, -1, -1, 1131, -1, -1, 1134, -1, -1, -1, -1, 1139, -1, -1, -1, -1, -1, -1, 1146, 1147, -1, -1, -1, 53, -1, 1473, 66, -1, 1476, -1, 60, -1, 72, 73, 74, 875, 1164, 1165, -1, -1, -1, 1169, -1, -1, 884, 85, 86, -1, -1, -1, -1, 891, -1, 83, 84, 85, 896, -1, 898, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, 1200, -1, 1202, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, 132, 133, -1, -1, 1234, -1, -1, 949, -1, -1, -1, -1, -1, -1, -1, -1, -1, 149, -1, -1, -1, -1, -1, 965, -1, -1, 1576, -1, -1, -1, -1, -1, -1, 165, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, 1280, 1281, -1, 185, -1, -1, -1, -1, -1, 1609, -1, -1, 1612, 1005, 1006, 1007, -1, -1, -1, -1, 1620, 1013, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1473, -1, -1, -1, -1, -1, -1, 223, 224, -1, 1483, -1, -1, -1, -1, -1, -1, -1, 1332, -1, 1334, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1345, 1346, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1519, -1, 1521, -1, -1, -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1538, 282, -1, -1, -1, -1, -1, -1, -1, -1, -1, 292, 1711, -1, -1, -1, -1, 1396, -1, 1398, -1, -1, 1113, -1, -1, 1116, -1, -1, 1119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1591, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1157, -1, -1, -1, -1, -1, -1, -1, 1773, 1774, -1, -1, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1795, -1, -1, -1, -1, -1, -1, 1194, -1, 1196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 399, 1210, -1, -1, 1213, -1, 405, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, -1, 1851, 1852, 1692, -1, 1694, -1, -1, -1, 441, -1, -1, -1, -1, -1, -1, 1258, 1259, -1, 1708, 1709, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 475, -1, 1734, 1735, -1, 1737, 1738, -1, -1, 1582, 1742, 1743, 1744, 1745, -1, -1, 491, -1, -1, -1, -1, 1914, -1, -1, -1, -1, -1, -1, -1, 1602, 1603, 1604, 1605, -1, 1607, 1608, -1, 53, -1, -1, 1613, 1614, 1774, 1616, -1, 1618, -1, -1, -1, -1, -1, -1, -1, 1626, 1627, 1628, 531, 532, 533, 534, -1, 536, -1, -1, 539, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 550, 551, 552, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1660, -1, 1662, -1, 1664, -1, 1666, 569, -1, 571, -1, 573, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 586, -1, -1, -1, -1, 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1913, -1, -1, -1, -1, -1, -1, 1473, -1, 1922, 1476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, 689, -1, -1, -1, -1, -1, -1, -1, 697, -1, -1, -1, -1, -1, 703, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1975, -1, -1, -1, 1979, 1980, -1, -1, -1, -1, 269, -1, -1, 1829, -1, -1, -1, -1, -1, -1, -1, -1, -1, 282, -1, -1, -1, -1, -1, -1, -1, -1, 1848, 292, -1, -1, -1, 1853, -1, 1855, 1856, -1, 1858, 1859, -1, 1861, -1, 1863, 1576, -1, -1, -1, -1, 1869, 1870, -1, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, -1, -1, -1, 1914, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 399, 67, -1, -1, -1, -1, 405, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, 882, -1, 884, -1, -1, -1, -1, -1, -1, 891, -1, 101, -1, -1, 896, -1, -1, -1, 441, 1711, -1, 111, 112, 113, 114, 115, 116, -1, 2008, 2009, -1, 2011, 2012, 2013, -1, -1, -1, 2017, 2018, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 475, 935, -1, -1, -1, -1, -1, -1, -1, -1, 944, -1, -1, -1, -1, 949, -1, -1, -1, -1, -1, 955, -1, -1, -1, -1, -1, -1, -1, 1773, 1774, 965, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2074, 2075, -1, 2077, 2078, -1, -1, -1, 2082, 1795, -1, -1, -1, 93, 531, 532, 533, 534, -1, 536, -1, -1, 539, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 550, 551, 552, -1, 1013, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2121, -1, -1, -1, -1, -1, -1, 571, -1, 573, -1, -1, -1, -1, -1, -1, 143, -1, 1851, 1852, -1, -1, 586, -1, -1, -1, -1, -1, 155, -1, -1, -1, 159, -1, -1, -1, 1059, 1060, -1, -1, -1, -1, -1, -1, -1, -1, 1069, -1, 1071, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 188, 189, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1914, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 697, -1, -1, -1, -1, -1, 703, -1, -1, 269, -1, -1, 272, 273, 274, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, 293, -1, 1191, -1, 1193, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, 318, -1, -1, -1, -1, -1, -1, -1, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, -1, 89, 90, 91, -1, -1, 93, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, 143, -1, -1, -1, -1, 423, -1, -1, -1, -1, -1, 429, 155, -1, -1, -1, 159, -1, -1, -1, -1, -1, 440, -1, -1, -1, -1, -1, -1, 884, -1, -1, -1, -1, -1, -1, 891, -1, -1, -1, -1, 896, -1, -1, -1, 188, 189, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 475, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 492, -1, -1, -1, -1, -1, 935, -1, -1, -1, -1, -1, -1, -1, -1, 944, -1, -1, -1, -1, 949, -1, -1, 515, -1, -1, 955, -1, -1, -1, -1, -1, -1, -1, -1, -1, 965, -1, -1, -1, -1, -1, -1, 535, -1, -1, -1, -1, -1, -1, 542, 1439, 269, 545, -1, 272, 273, 274, 1446, -1, -1, -1, -1, -1, -1, 1453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 293, -1, -1, -1, -1, -1, -1, -1, 1013, -1, 1474, -1, 1476, -1, -1, 1479, -1, -1, 1482, 312, -1, -1, -1, -1, -1, 318, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1059, 1060, -1, -1, -1, -1, -1, -1, -1, -1, 1069, -1, 1071, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1557, -1, -1, -1, -1, -1, -1, -1, 1565, 670, 671, 672, 673, -1, -1, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 698, 699, 700, -1, -1, -1, 429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 440, -1, 717, -1, -1, -1, -1, -1, -1, 724, 725, -1, -1, 728, 729, -1, -1, -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 750, -1, -1, -1, 1191, -1, 1193, 757, -1, -1, 760, -1, -1, -1, -1, -1, -1, 492, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 155, -1, -1, -1, 159, -1, -1, -1, -1, -1, -1, -1, -1, 535, -1, -1, -1, -1, -1, -1, 542, -1, -1, 545, -1, -1, -1, -1, -1, -1, -1, -1, -1, 188, 189, -1, -1, -1, -1, -1, -1, -1, -1, 840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1762, 1763, -1, 1765, -1, -1, -1, -1, -1, 875, -1, -1, -1, -1, -1, -1, -1, 883, 884, -1, -1, -1, -1, -1, -1, 891, -1, -1, 894, -1, -1, -1, 898, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, -1, -1, -1, -1, -1, -1, 1819, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 293, -1, -1, -1, -1, -1, -1, -1, -1, -1, 670, 671, 672, 673, 949, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, 318, -1, -1, -1, -1, 965, -1, -1, -1, -1, -1, -1, -1, 698, 699, 700, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, -1, -1, -1, -1, 724, 725, -1, 1439, 728, 729, 1005, 1006, 1007, -1, 1446, -1, -1, -1, 1013, -1, -1, 1453, -1, -1, -1, -1, -1, -1, -1, -1, 750, -1, -1, -1, -1, -1, -1, 757, -1, -1, 760, -1, 1474, -1, 1476, -1, -1, 1479, -1, -1, 1482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 440, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1113, -1, -1, 1116, -1, -1, 1119, 1557, -1, -1, -1, -1, -1, -1, -1, 1565, -1, -1, -1, -1, -1, 492, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1157, 883, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 894, -1, 1171, 1172, 1173, 1174, -1, -1, 535, -1, -1, -1, -1, -1, -1, 542, -1, -1, 545, -1, -1, -1, -1, -1, -1, 1194, -1, 1196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1213, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1258, 1259, -1, -1, -1, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1005, 1006, 1007, -1, -1, -1, -1, -1, 1013, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 670, 671, 672, 673, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1762, 1763, -1, 1765, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 698, 699, 700, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, -1, -1, -1, -1, 724, 725, -1, -1, 728, 729, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1819, -1, -1, -1, -1, -1, 1113, -1, -1, 1116, 750, 1, 1119, 3, 4, 5, 6, 757, 8, 9, 760, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1157, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, 1194, -1, 1196, -1, 1473, -1, -1, 1476, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1213, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, 1233, -1, -1, 119, 120, 121, -1, 1240, 124, 125, 126, 127, -1, 129, -1, -1, -1, 883, 134, 135, -1, 137, 138, 139, 140, 1258, 1259, -1, 894, -1, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1576, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1005, 1006, 1007, -1, -1, -1, 28, -1, 1013, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -1, -1, 119, 120, 121, -1, 1473, 124, 125, 126, -1, -1, -1, 1113, -1, -1, 1116, 134, 135, 1119, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, 1773, 1774, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1795, -1, -1, -1, 1157, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1171, 1172, 1173, 1174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1194, -1, 1196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1851, 1852, -1, -1, 1213, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, 1233, -1, -1, -1, -1, -1, -1, 1240, -1, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, -1, -1, 1620, -1, -1, -1, -1, 1258, 1259, -1, -1, -1, -1, -1, 1265, 1266, -1, -1, 1269, 1270, -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, 122, 123, 124, -1, -1, 127, 128, 129, 130, -1, 132, 1773, 1774, 135, -1, 137, 138, 139, -1, 141, 142, 143, 144, 145, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1851, 1852, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, -1, -1, 132, -1, 134, 135, -1, 137, 138, 139, 140, 141, 142, 143, 144, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1590, 1591, -1, -1, -1, -1, 1596, 1597, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1609, -1, -1, 1612, -1, -1, -1, -1, -1, 0, 1, 1620, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1773, 1774, -1, -1, -1, -1, -1, -1, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, 1851, 1852, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -1, 137, 138, 139, 140, 141, 142, 143, 144, 145, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, -1, -1, 132, -1, 134, 135, -1, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, 132, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 0, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, 89, 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, 89, 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 1, 126, 3, 4, 5, 6, -1, 8, 9, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, 1, 126, 3, 4, 5, 6, -1, 8, 9, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, -1, -1, 119, 120, 121, -1, -1, 124, 1, 126, 3, 4, 5, 6, 131, 8, 9, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 72, 73, 74, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, 85, 86, 87, 88, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 99, -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 28, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, -1, 89, 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, -1, 89, 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, 85, 86, 87, -1, 89, 90, 91, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, -1, -1, 131, -1, 133, 134, 135, -1, 137, 138, 139, 140, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, 129, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, 136, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, -1, -1, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, 127, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, 127, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 66, 8, 9, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 66, 126, -1, -1, 129, -1, 72, 73, 74, 134, 135, 136, 137, 138, 139, 140, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 66, 8, 9, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 66, 126, -1, -1, 129, -1, 72, 73, 74, 134, 135, 136, 137, 138, 139, 140, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, 127, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, 127, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, 127, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, 129, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, 127, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, 130, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, 129, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, 131, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, 125, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, 1, -1, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, 28, -1, -1, -1, -1, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, -1, -1, 1, -1, 3, 4, 5, 6, -1, 8, 9, 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, 66, -1, 124, -1, 126, -1, 72, 73, 74, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, 0, 1, -1, 3, 4, 5, 119, 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, 137, 138, 139, 140, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, 125, 126, 127, -1, 129, 130, -1, -1, -1, 134, 135, 0, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 129, 130, -1, -1, -1, 134, 135, 0, 1, -1, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 0, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 0, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 0, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, -1, 1, 130, 3, 4, 5, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, -1, 124, -1, 126, 127, 1, -1, 3, 4, 5, -1, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, -1, 72, 73, -1, 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, 92, 93, 94, 95, -1, 97, -1, 99, 100, 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, 1, 121, 3, -1, 124, -1, 126, 127, -1, -1, -1, -1, -1, -1, 134, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, 1, 121, 3, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, 137, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, 131, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 3, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, 3, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, 135, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 3, -1, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, 106, -1, -1, 3, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 133, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, -1, -1, -1, 75, 76, -1, -1, 79, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, 3, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, 133, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, 3, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 133, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, 1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, 133, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, 127, -1, 129, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 0, 1, -1, 3, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, -1, 80, 81, 82, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 102, 3, -1, -1, 106, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, 3, -1, 108, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, 3, -1, 108, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, 1, -1, 3, -1, 108, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 1, -1, 3, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 1, -1, 3, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 1, -1, 3, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 3, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, -1, 80, 81, 82, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 102, -1, 0, 1, 106, 3, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, -1, -1, 127, -1, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, 81, 82, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 101, 3, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, 1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, 1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, 1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, 108, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, 83, 84, -1, 86, 87, 88, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 130, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, -1, -1, -1, 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, 118
148 static const yytype_uint16 yystos[] =
150 0, 3, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 66, 67, 75, 76, 77, 78, 80, 81, 82, 83, 84, 86, 87, 88, 101, 102, 106, 111, 112, 113, 114, 115, 116, 117, 118, 121, 124, 127, 147, 148, 149, 151, 176, 213, 214, 215, 216, 217, 218, 270, 273, 274, 277, 278, 279, 280, 281, 282, 283, 285, 289, 292, 293, 294, 295, 296, 297, 302, 303, 312, 313, 314, 321, 322, 326, 329, 334, 363, 366, 367, 385, 386, 388, 389, 390, 391, 392, 393, 78, 133, 5, 31, 218, 387, 218, 124, 124, 124, 151, 218, 387, 283, 284, 321, 329, 37, 149, 218, 311, 312, 314, 316, 317, 318, 320, 321, 329, 332, 333, 338, 122, 127, 148, 149, 218, 131, 133, 127, 131, 130, 121, 122, 213, 218, 131, 151, 218, 131, 133, 130, 122, 131, 133, 131, 130, 131, 149, 218, 321, 1, 31, 37, 38, 39, 127, 147, 149, 215, 217, 218, 270, 280, 281, 283, 285, 314, 318, 321, 329, 332, 333, 334, 336, 344, 345, 346, 347, 37, 38, 39, 149, 321, 346, 124, 135, 1, 29, 30, 31, 32, 33, 66, 117, 118, 125, 147, 218, 269, 273, 275, 276, 283, 285, 289, 290, 291, 297, 301, 309, 310, 350, 351, 352, 353, 354, 355, 329, 124, 314, 321, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 67, 86, 88, 101, 113, 114, 115, 116, 131, 151, 172, 173, 269, 274, 275, 283, 286, 290, 292, 300, 365, 368, 369, 370, 375, 376, 377, 31, 77, 133, 215, 217, 302, 366, 367, 385, 386, 393, 1, 215, 279, 296, 302, 334, 363, 389, 1, 388, 389, 0, 218, 387, 387, 5, 128, 387, 1, 4, 6, 8, 9, 66, 72, 73, 74, 85, 86, 99, 103, 104, 105, 106, 107, 108, 109, 110, 119, 120, 121, 124, 126, 134, 135, 137, 138, 139, 140, 151, 177, 178, 218, 219, 220, 221, 222, 225, 226, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 387, 399, 400, 401, 402, 148, 218, 131, 151, 218, 283, 329, 135, 124, 135, 125, 309, 310, 354, 355, 329, 332, 333, 311, 316, 320, 321, 125, 321, 125, 321, 321, 86, 151, 203, 205, 207, 211, 212, 218, 230, 235, 251, 255, 301, 127, 122, 122, 127, 1, 69, 79, 81, 82, 89, 92, 93, 94, 95, 97, 99, 100, 124, 126, 127, 130, 152, 153, 154, 155, 156, 157, 158, 159, 174, 175, 177, 178, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 194, 198, 199, 200, 201, 218, 226, 249, 301, 313, 315, 321, 329, 334, 335, 364, 81, 82, 218, 269, 273, 283, 286, 289, 297, 304, 305, 1, 130, 200, 201, 149, 218, 1, 218, 271, 272, 1, 130, 272, 305, 66, 204, 206, 208, 209, 210, 218, 301, 1, 130, 200, 201, 305, 1, 130, 200, 201, 1, 130, 200, 201, 149, 218, 129, 129, 129, 129, 131, 329, 314, 318, 321, 1, 128, 369, 376, 377, 369, 376, 377, 1, 127, 129, 129, 329, 127, 136, 148, 218, 244, 263, 267, 268, 129, 131, 151, 218, 130, 131, 130, 131, 321, 37, 124, 135, 137, 147, 149, 218, 269, 275, 283, 285, 290, 311, 312, 321, 327, 329, 330, 333, 1, 125, 129, 1, 125, 129, 1, 129, 1, 129, 125, 125, 314, 124, 314, 124, 124, 1, 127, 1, 130, 1, 37, 38, 39, 127, 218, 269, 275, 283, 286, 290, 321, 346, 347, 1, 127, 1, 365, 368, 376, 377, 365, 368, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 86, 87, 89, 90, 91, 127, 133, 151, 195, 196, 197, 218, 226, 230, 245, 247, 251, 263, 264, 265, 326, 356, 357, 360, 361, 362, 369, 370, 371, 372, 373, 374, 376, 377, 379, 380, 381, 382, 383, 384, 130, 31, 218, 387, 218, 213, 214, 216, 217, 311, 312, 318, 321, 329, 334, 336, 369, 377, 215, 302, 128, 243, 244, 262, 125, 124, 230, 251, 124, 230, 251, 230, 251, 124, 218, 269, 275, 283, 286, 290, 308, 267, 124, 124, 308, 267, 124, 124, 124, 124, 124, 124, 230, 251, 124, 125, 245, 247, 265, 275, 283, 285, 290, 298, 348, 387, 131, 136, 179, 180, 223, 227, 245, 131, 1, 130, 131, 218, 1, 7, 8, 9, 124, 132, 135, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 128, 246, 180, 223, 224, 232, 252, 121, 141, 142, 138, 139, 10, 11, 235, 255, 12, 13, 122, 123, 14, 15, 137, 143, 144, 16, 17, 145, 246, 125, 7, 8, 9, 124, 132, 135, 246, 121, 141, 142, 138, 139, 10, 11, 12, 13, 122, 123, 14, 15, 137, 143, 144, 16, 17, 145, 246, 125, 125, 108, 218, 301, 394, 397, 398, 131, 131, 136, 148, 267, 268, 136, 148, 267, 268, 125, 125, 125, 125, 311, 316, 320, 125, 125, 311, 11, 123, 129, 128, 124, 321, 329, 330, 66, 210, 218, 301, 210, 1, 218, 269, 283, 286, 297, 306, 301, 334, 335, 124, 151, 218, 218, 301, 1, 124, 306, 121, 124, 218, 301, 127, 326, 376, 377, 376, 377, 376, 127, 376, 377, 127, 1, 130, 1, 1, 127, 129, 129, 70, 71, 92, 96, 98, 130, 70, 71, 130, 127, 1, 198, 199, 1, 198, 199, 1, 128, 124, 133, 218, 287, 288, 311, 317, 319, 321, 329, 336, 337, 338, 1, 301, 309, 352, 329, 315, 321, 124, 133, 158, 159, 174, 175, 177, 178, 187, 218, 301, 122, 151, 218, 218, 269, 283, 286, 122, 122, 128, 129, 1, 127, 131, 28, 150, 218, 123, 129, 128, 218, 330, 332, 344, 344, 344, 344, 127, 129, 130, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 223, 224, 226, 244, 263, 300, 341, 342, 311, 314, 316, 318, 320, 311, 318, 131, 245, 264, 339, 340, 376, 377, 376, 377, 344, 345, 344, 345, 136, 136, 136, 52, 350, 351, 1, 272, 131, 131, 1, 130, 200, 201, 1, 130, 200, 201, 131, 125, 218, 309, 310, 321, 329, 330, 354, 355, 136, 148, 267, 268, 321, 329, 333, 329, 124, 135, 327, 1, 1, 129, 1, 52, 218, 350, 351, 129, 1, 52, 218, 350, 351, 129, 1, 52, 218, 350, 351, 129, 52, 218, 350, 351, 3, 28, 45, 75, 76, 125, 323, 324, 325, 245, 148, 218, 130, 131, 127, 127, 133, 267, 268, 133, 124, 124, 1, 124, 53, 54, 55, 57, 58, 59, 60, 63, 87, 218, 265, 326, 356, 379, 383, 124, 218, 127, 127, 127, 223, 224, 247, 265, 124, 283, 124, 124, 191, 218, 127, 127, 127, 133, 132, 246, 1, 132, 127, 129, 247, 265, 246, 125, 129, 247, 1, 371, 372, 371, 372, 356, 357, 365, 368, 356, 357, 365, 368, 1, 1, 387, 387, 149, 218, 131, 131, 329, 318, 321, 369, 377, 369, 377, 377, 244, 145, 127, 145, 66, 147, 218, 275, 283, 285, 290, 299, 349, 218, 300, 122, 124, 135, 218, 269, 275, 283, 286, 290, 321, 328, 329, 331, 218, 269, 275, 283, 286, 290, 307, 247, 348, 376, 218, 135, 331, 307, 245, 387, 387, 387, 245, 349, 349, 125, 218, 275, 283, 285, 290, 330, 125, 132, 1, 170, 171, 1, 130, 129, 136, 1, 170, 171, 130, 1, 170, 171, 1, 218, 125, 224, 227, 228, 264, 1, 218, 247, 265, 223, 245, 1, 232, 252, 232, 252, 232, 252, 233, 253, 233, 253, 234, 254, 234, 254, 235, 255, 235, 255, 235, 255, 223, 224, 237, 256, 223, 224, 237, 256, 223, 224, 238, 257, 223, 224, 239, 258, 223, 224, 240, 259, 241, 260, 242, 261, 133, 223, 224, 247, 248, 265, 266, 223, 245, 1, 218, 125, 227, 228, 1, 218, 247, 265, 223, 245, 232, 252, 232, 252, 232, 252, 233, 253, 233, 253, 234, 254, 234, 254, 235, 255, 235, 255, 235, 255, 235, 255, 223, 224, 237, 256, 223, 224, 237, 256, 223, 224, 238, 257, 223, 224, 239, 258, 223, 224, 240, 259, 241, 260, 242, 261, 133, 247, 248, 265, 266, 223, 245, 122, 123, 218, 395, 396, 218, 130, 394, 397, 398, 398, 136, 136, 136, 136, 136, 136, 211, 203, 205, 207, 218, 321, 329, 123, 128, 330, 123, 131, 122, 131, 218, 269, 283, 286, 330, 321, 329, 336, 337, 191, 288, 311, 321, 329, 131, 218, 131, 218, 330, 218, 321, 124, 127, 130, 181, 182, 181, 182, 376, 376, 376, 220, 376, 376, 1, 341, 342, 125, 267, 268, 131, 129, 1, 301, 309, 352, 329, 311, 319, 321, 133, 326, 218, 124, 315, 315, 218, 1, 1, 288, 212, 122, 210, 210, 267, 268, 271, 200, 201, 1, 130, 272, 128, 133, 128, 133, 209, 205, 218, 128, 218, 128, 376, 377, 1, 127, 129, 127, 129, 127, 162, 163, 166, 167, 168, 130, 160, 163, 127, 130, 162, 163, 166, 167, 168, 128, 37, 336, 337, 338, 339, 340, 343, 1, 130, 272, 1, 130, 272, 1, 130, 200, 201, 321, 329, 330, 125, 125, 125, 136, 136, 136, 329, 327, 125, 354, 355, 136, 148, 267, 268, 350, 351, 301, 350, 350, 350, 351, 125, 124, 125, 129, 324, 125, 125, 125, 1, 170, 171, 356, 357, 365, 368, 133, 133, 356, 357, 365, 368, 247, 265, 247, 265, 125, 247, 265, 133, 267, 268, 133, 124, 124, 356, 124, 224, 265, 124, 133, 57, 1, 125, 127, 218, 247, 265, 378, 127, 127, 127, 127, 127, 387, 124, 245, 245, 218, 356, 357, 365, 368, 91, 224, 264, 89, 90, 91, 245, 264, 224, 264, 245, 264, 122, 318, 377, 377, 127, 247, 248, 265, 266, 247, 248, 265, 266, 147, 148, 147, 275, 283, 285, 290, 330, 125, 125, 125, 330, 212, 125, 321, 331, 354, 355, 267, 268, 122, 329, 124, 328, 135, 122, 135, 218, 269, 275, 283, 286, 290, 331, 125, 125, 125, 125, 267, 268, 135, 135, 331, 129, 125, 129, 129, 129, 125, 129, 232, 252, 387, 1, 130, 223, 245, 1, 1, 125, 129, 125, 136, 136, 1, 129, 133, 133, 129, 133, 133, 125, 136, 136, 133, 133, 133, 133, 218, 218, 127, 129, 218, 387, 130, 130, 321, 329, 205, 212, 122, 131, 131, 218, 329, 321, 125, 329, 311, 125, 131, 131, 218, 125, 1, 170, 171, 287, 321, 218, 124, 311, 319, 319, 267, 268, 124, 125, 123, 212, 123, 123, 127, 1, 127, 203, 202, 301, 203, 202, 207, 128, 131, 1, 164, 165, 1, 164, 165, 377, 1, 341, 342, 129, 130, 339, 340, 1, 127, 1, 127, 329, 327, 125, 125, 125, 136, 136, 136, 330, 333, 247, 125, 324, 1, 356, 357, 365, 368, 356, 357, 365, 368, 125, 125, 125, 125, 1, 356, 125, 247, 356, 357, 133, 133, 265, 125, 247, 265, 57, 265, 378, 387, 124, 356, 133, 127, 1, 127, 1, 125, 265, 378, 3, 125, 133, 387, 125, 125, 129, 124, 124, 191, 133, 133, 133, 133, 133, 133, 133, 133, 125, 125, 1, 125, 123, 321, 329, 331, 125, 125, 125, 136, 136, 212, 328, 125, 354, 355, 267, 268, 212, 267, 268, 122, 135, 124, 339, 136, 136, 267, 268, 267, 268, 135, 348, 218, 218, 245, 1, 218, 224, 264, 223, 224, 223, 224, 244, 262, 223, 224, 244, 262, 223, 224, 223, 224, 244, 262, 223, 224, 244, 262, 223, 224, 244, 262, 223, 224, 244, 262, 223, 224, 244, 262, 223, 224, 244, 262, 395, 127, 127, 123, 212, 131, 376, 311, 128, 131, 1, 124, 133, 133, 123, 200, 201, 127, 200, 201, 128, 330, 128, 207, 343, 130, 339, 340, 1, 200, 201, 200, 201, 125, 356, 356, 356, 356, 356, 357, 125, 124, 378, 125, 247, 265, 247, 356, 1, 125, 247, 265, 135, 358, 359, 387, 127, 359, 3, 125, 133, 131, 191, 245, 245, 1, 1, 328, 125, 123, 125, 125, 136, 136, 123, 136, 136, 212, 267, 268, 348, 136, 136, 136, 136, 267, 268, 125, 125, 125, 125, 125, 123, 341, 267, 268, 267, 268, 200, 201, 203, 203, 129, 130, 1, 65, 65, 247, 265, 125, 247, 265, 125, 127, 125, 127, 356, 357, 125, 356, 357, 218, 125, 129, 133, 124, 3, 125, 133, 359, 127, 359, 74, 191, 192, 193, 125, 125, 125, 129, 123, 136, 136, 125, 136, 136, 127, 130, 356, 356, 125, 125, 127, 356, 247, 356, 357, 136, 127, 358, 359, 245, 359, 127, 359, 125, 133, 3, 125, 133, 376, 376, 130, 192, 131, 191, 232, 252, 339, 125, 387, 125, 125, 125, 125, 133, 127, 359, 359, 127, 359, 193, 125, 356, 124, 127, 127, 127, 359, 125, 125, 125, 133, 130, 245, 125, 127, 127, 127, 359, 125, 127, 125, 127
153 void exit(int status);
155 void * calloc(size_t nmemb, size_t size);
157 void free(void * ptr);
159 void * malloc(size_t size);
161 void * realloc(void * ptr, size_t size);
163 long int strtol(const char * nptr, char ** endptr, int base);
165 long long int strtoll(const char * nptr, char ** endptr, int base);
167 unsigned long long int strtoull(const char * nptr, char ** endptr, int base);
169 typedef __builtin_va_list va_list;
173 FILE * bsl_stdin(void);
175 FILE * bsl_stdout(void);
177 FILE * bsl_stderr(void);
179 char * fgets(char * s, int size, FILE * stream);
181 FILE * fopen(const char * path, const char * mode);
183 int fclose(FILE * fp);
185 int fflush(FILE * stream);
187 int fgetc(FILE * stream);
189 int fprintf(FILE * stream, const char * format, ...);
191 int fputc(int c, FILE * stream);
193 size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
195 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
197 int vsnprintf(char *, size_t, const char *, va_list args);
199 int snprintf(char * str, size_t, const char * format, ...);
201 int fseek(FILE * stream, long offset, int whence);
203 long ftell(FILE * stream);
205 int feof(FILE * stream);
207 int ferror(FILE * stream);
209 int fileno(FILE * stream);
219 extern unsigned int skipErrors;
221 extern int structDeclMode;
225 extern int defaultDeclMode;
227 struct __ecereNameSpace__ecere__sys__OldList
236 struct __ecereNameSpace__ecere__sys__BTNode;
240 struct __ecereNameSpace__ecere__com__DataValue
255 } ecere_gcc_struct __anon1;
258 struct __ecereNameSpace__ecere__com__SerialBuffer
260 unsigned char * _buffer;
266 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
268 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
270 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
272 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
274 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
286 struct PropertyWatch;
288 struct TemplateParameter;
290 struct TemplateDatatype;
304 extern char * __ecereNameSpace__ecere__sys__CopyString(const char * string);
310 extern size_t strlen(const char * );
312 extern void Compiler_Error(const char * format, ...);
314 extern const char * __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char * string, const char * stringAndContext);
316 extern char * __ecereNameSpace__ecere__sys__RSearchString(const char * buffer, const char * subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
318 extern char * strcpy(char * , const char * );
320 extern char * strcat(char * , const char * );
322 extern void Compiler_Warning(const char * format, ...);
324 extern void * memcpy(void * , const void * , size_t size);
326 struct __ecereNameSpace__ecere__com__LinkList
333 extern int strcmp(const char * , const char * );
335 static void yy_stack_print(yytype_int16 * yybottom, yytype_int16 * yytop)
337 fprintf((bsl_stderr()), "Stack now");
338 for(; yybottom <= yytop; yybottom++)
340 int yybot = *yybottom;
342 fprintf((bsl_stderr()), " %d", yybot);
344 fprintf((bsl_stderr()), "\n");
347 struct __ecereNameSpace__ecere__sys__OldList * ast;
349 extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (* FreeFunction)(void * ));
351 extern struct __ecereNameSpace__ecere__sys__OldList * MkList(void);
353 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void * item);
355 extern struct __ecereNameSpace__ecere__sys__OldList * MkListOne(void * item);
357 extern void FreeEnumerator(struct Enumerator * enumerator);
359 extern void FreePointer(struct Pointer * pointer);
361 extern struct Pointer * MkPointer(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Pointer * pointer);
363 extern void FreeTypeName(struct TypeName * typeName);
365 extern struct Context * curContext;
367 extern void PopContext(struct Context * ctx);
369 extern void FreeContext(struct Context * context);
371 extern struct Context * globalContext;
373 extern struct Context * PushContext(void);
375 extern void FreeExtDecl(struct ExtDecl * extDecl);
377 extern struct ExtDecl * MkExtDeclString(char * s);
379 extern void FreeTemplateParameter(struct TemplateParameter * param);
381 extern void FreeTemplateDataType(struct TemplateDatatype * type);
385 struct CodePosition start;
386 struct CodePosition end;
389 extern void resetScannerPos(struct CodePosition * pos);
391 extern struct Location yylloc;
393 struct Location yylloc;
399 struct __ecereNameSpace__ecere__sys__OldList * attribs;
402 extern void FreeAttrib(struct Attrib * attr);
404 extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
406 extern struct Attrib * MkAttrib(int type, struct __ecereNameSpace__ecere__sys__OldList * attribs);
408 struct __ecereNameSpace__ecere__com__Class;
410 struct __ecereNameSpace__ecere__com__Instance
413 struct __ecereNameSpace__ecere__com__Class * _class;
417 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
419 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
421 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
423 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
425 extern struct __ecereNameSpace__ecere__com__Instance * fileInput;
427 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
429 struct __ecereNameSpace__ecere__com__Property;
431 struct __ecereNameSpace__ecere__com__Property
433 struct __ecereNameSpace__ecere__com__Property * prev;
434 struct __ecereNameSpace__ecere__com__Property * next;
436 unsigned int isProperty;
439 struct __ecereNameSpace__ecere__com__Class * _class;
440 const char * dataTypeString;
441 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
442 struct Type * dataType;
443 void (* Set)(void * , int);
444 int (* Get)(void * );
445 unsigned int (* IsSet)(void * );
449 unsigned int conversion;
450 unsigned int watcherOffset;
451 const char * category;
452 unsigned int compiled;
453 unsigned int selfWatchable;
454 unsigned int isWatchable;
457 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
459 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
461 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
463 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
467 extern void FreeSpecifier(struct Specifier * spec);
469 extern struct Specifier * MkSpecifierName(const char * name);
471 extern void SetClassTemplateArgs(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
473 extern struct Specifier * MkSpecifier(int specifier);
475 extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl);
477 extern struct Specifier * MkSpecifierSubClass(struct Specifier * _class);
479 extern void AddStructDefinitions(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * definitions);
481 extern struct Specifier * MkSpecifierNameArgs(const char * name, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
483 struct ClassFunction;
485 extern void FreeClassFunction(struct ClassFunction * func);
489 extern void FreeMemberInit(struct MemberInit * init);
493 extern void FreeMembersInit(struct MembersInit * init);
495 extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sys__OldList * dataMembers);
499 struct MembersInit * prev;
500 struct MembersInit * next;
505 struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
506 struct ClassFunction * function;
507 } ecere_gcc_struct __anon1;
510 extern struct MembersInit * MkMembersInitMethod(struct ClassFunction * function);
512 struct Instantiation;
514 extern void FreeInstance(struct Instantiation * inst);
518 extern void FreeProperty(struct PropertyDef * def);
522 extern void FreeClassDef(struct ClassDef * def);
524 extern struct ClassDef * MkClassDefDefaultProperty(struct __ecereNameSpace__ecere__sys__OldList * defProperties);
526 extern struct ClassDef * MkClassDefFunction(struct ClassFunction * function);
528 extern struct ClassDef * MkClassDefProperty(struct PropertyDef * propertyDef);
530 extern struct ClassDef * MkClassDefClassProperty(struct PropertyDef * propertyDef);
532 extern struct ClassDef * MkClassDefNoExpansion(void);
534 extern struct ClassDef * MkClassDefFixed(void);
536 extern struct ClassDef * MkClassDefMemberAccess(void);
538 extern struct ClassDef * MkClassDefPropertyWatch(struct PropertyWatch * watcher);
540 extern struct ClassDef * MkClassDefDesigner(const char * designer);
542 struct TemplateArgument;
544 extern void FreeTemplateArgument(struct TemplateArgument * arg);
546 extern struct TemplateArgument * MkTemplateTypeArgument(struct TemplateDatatype * tplDatatype);
548 struct ClassDefinition;
550 extern void FreeClass(struct ClassDefinition * _class);
554 extern void FreeIdentifier(struct Identifier * id);
556 extern struct ClassDef * MkClassDefAccessOverride(int access, struct Identifier * id);
558 extern struct ClassDef * MkClassDefDesignerDefaultProperty(struct Identifier * id);
560 extern struct TemplateParameter * MkTypeTemplateParameter(struct Identifier * identifier, struct TemplateDatatype * baseTplDatatype, struct TemplateArgument * defaultArgument);
562 extern struct Identifier * MkIdentifier(const char * string);
564 extern struct TemplateArgument * MkTemplateIdentifierArgument(struct Identifier * ident);
566 extern struct TemplateParameter * MkIdentifierTemplateParameter(struct Identifier * identifier, int memberType, struct TemplateArgument * defaultArgument);
568 extern struct TemplateParameter * MkExpressionTemplateParameter(struct Identifier * identifier, struct TemplateDatatype * dataType, struct TemplateArgument * defaultArgument);
570 extern struct Specifier * MkEnum(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * list);
572 extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions);
574 extern struct DBTableEntry * MkDBFieldEntry(struct TypeName * type, struct Identifier * id, char * name);
576 extern struct DBIndexItem * MkDBIndexItem(struct Identifier * id, int order);
578 extern struct DBTableEntry * MkDBIndexEntry(struct __ecereNameSpace__ecere__sys__OldList * items, struct Identifier * id);
582 extern void FreeExpression(struct Expression * exp);
584 extern struct Expression * MkExpDummy(void);
586 extern struct Instantiation * MkInstantiationNamed(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
588 extern struct Expression * MkExpIdentifier(struct Identifier * id);
590 extern struct Instantiation * MkInstantiation(struct Specifier * _class, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
592 extern struct TemplateArgument * MkTemplateExpressionArgument(struct Expression * expr);
594 struct TemplateArgument
596 struct TemplateArgument * prev;
597 struct TemplateArgument * next;
599 struct Identifier * name;
603 struct Expression * expression;
604 struct Identifier * identifier;
605 struct TemplateDatatype * templateDatatype;
606 } ecere_gcc_struct __anon1;
609 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
611 extern struct Expression * MkExpString(const char * string);
613 extern struct Expression * MkExpIntlString(const char * string, const char * context);
615 extern struct Expression * MkExpConstant(const char * string);
617 extern struct Expression * MkExpInstance(struct Instantiation * inst);
619 extern struct Expression * MkExpExtensionExpression(struct __ecereNameSpace__ecere__sys__OldList * expressions);
621 extern struct Expression * MkExpMember(struct Expression * expression, struct Identifier * member);
623 extern struct Expression * MkExpWideString(const char * string);
625 extern struct Expression * MkExpNew(struct TypeName * type, struct Expression * size);
627 extern struct Expression * MkExpNew0(struct TypeName * type, struct Expression * size);
629 extern struct Expression * MkExpRenew(struct Expression * memExp, struct TypeName * type, struct Expression * size);
631 extern struct Expression * MkExpRenew0(struct Expression * memExp, struct TypeName * type, struct Expression * size);
633 extern struct Expression * MkExpVaArg(struct Expression * exp, struct TypeName * type);
635 extern struct Expression * MkExpClassData(struct Identifier * id);
637 extern struct Expression * MkExpArray(struct __ecereNameSpace__ecere__sys__OldList * expressions);
639 extern struct Expression * MkExpIndex(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * index);
641 extern struct Expression * MkExpCall(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * arguments);
643 extern struct Expression * MkExpPointer(struct Expression * expression, struct Identifier * member);
645 extern struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2);
647 extern struct Expression * MkExpTypeSize(struct TypeName * typeName);
649 extern struct Expression * MkExpClassSize(struct Specifier * _class);
651 extern struct Expression * MkExpTypeAlign(struct TypeName * typeName);
653 extern struct Expression * MkExpOffsetOf(struct TypeName * typeName, struct Identifier * id);
655 extern struct Expression * MkExpCast(struct TypeName * typeName, struct Expression * expression);
657 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
659 extern struct Enumerator * MkEnumerator(struct Identifier * id, struct Expression * exp);
661 extern struct Specifier * MkSpecifierTypeOf(struct Expression * expression);
663 extern struct Expression * MkExpDBOpen(struct Expression * ds, struct Expression * dbName);
665 extern struct Expression * MkExpDBField(char * table, struct Identifier * id);
667 extern struct Expression * MkExpDBIndex(char * table, struct Identifier * id);
669 extern struct Expression * MkExpDBTable(char * table);
673 extern void FreeDeclarator(struct Declarator * decl);
675 extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Specifier * _class, struct Declarator * decl, struct __ecereNameSpace__ecere__sys__OldList * declList);
677 extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Expression * exp);
679 extern struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * parameters);
681 extern struct TemplateDatatype * MkTemplateDatatype(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * decl);
683 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
685 extern struct Expression * MkExpClass(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * decl);
687 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
689 extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
691 extern struct Declarator * MkDeclaratorEnumArray(struct Declarator * declarator, struct Specifier * _class);
693 extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator);
695 extern struct Declarator * MkDeclaratorExtended(struct ExtDecl * extended, struct Declarator * declarator);
697 extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declarator * declarator);
699 extern struct Declarator * MkDeclaratorExtendedEnd(struct ExtDecl * extended, struct Declarator * declarator);
701 extern struct TypeName * MkTypeNameGuessDecl(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
705 extern void FreeAttribute(struct Attribute * attr);
707 extern struct Attribute * MkAttribute(char * attr, struct Expression * exp);
711 struct Attribute * prev;
712 struct Attribute * next;
715 struct Expression * exp;
720 extern void FreeInitializer(struct Initializer * initializer);
722 extern struct MemberInit * MkMemberInitExp(struct Expression * idExp, struct Initializer * initializer);
726 struct MemberInit * prev;
727 struct MemberInit * next;
729 struct Location realLoc;
730 struct __ecereNameSpace__ecere__sys__OldList * identifiers;
731 struct Initializer * initializer;
733 unsigned int variable;
734 unsigned int takeOutExp;
739 struct Initializer * prev;
740 struct Initializer * next;
745 struct Expression * exp;
746 struct __ecereNameSpace__ecere__sys__OldList * list;
747 } ecere_gcc_struct __anon1;
748 unsigned int isConstant;
749 struct Identifier * id;
752 extern struct MemberInit * MkMemberInit(struct __ecereNameSpace__ecere__sys__OldList * ids, struct Initializer * initializer);
754 extern struct Initializer * MkInitializerAssignment(struct Expression * exp);
756 extern struct ClassDef * MkClassDefClassPropertyValue(struct Identifier * id, struct Initializer * initializer);
758 extern struct Expression * MkExpExtensionInitializer(struct TypeName * typeName, struct Initializer * initializer);
760 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
762 struct InitDeclarator;
764 extern void FreeInitDeclarator(struct InitDeclarator * decl);
766 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
768 struct InitDeclarator
770 struct InitDeclarator * prev;
771 struct InitDeclarator * next;
773 struct Declarator * declarator;
774 struct Initializer * initializer;
779 extern void FreeStatement(struct Statement * stmt);
781 extern void ProcessClassFunctionBody(struct ClassFunction * func, struct Statement * body);
785 struct Expression * prev;
786 struct Expression * next;
794 struct Identifier * identifier;
795 } ecere_gcc_struct __anon1;
796 struct Statement * compound;
797 struct Instantiation * instance;
801 unsigned int intlString;
802 unsigned int wideString;
803 } ecere_gcc_struct __anon2;
804 struct __ecereNameSpace__ecere__sys__OldList * list;
807 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
808 struct Declarator * decl;
809 } ecere_gcc_struct _classExp;
812 struct Identifier * id;
813 } ecere_gcc_struct classData;
816 struct Expression * exp;
817 struct __ecereNameSpace__ecere__sys__OldList * arguments;
818 struct Location argLoc;
819 } ecere_gcc_struct call;
822 struct Expression * exp;
823 struct __ecereNameSpace__ecere__sys__OldList * index;
824 } ecere_gcc_struct index;
827 struct Expression * exp;
828 struct Identifier * member;
830 unsigned int thisPtr;
831 } ecere_gcc_struct member;
835 struct Expression * exp1;
836 struct Expression * exp2;
837 } ecere_gcc_struct op;
838 struct TypeName * typeName;
839 struct Specifier * _class;
842 struct TypeName * typeName;
843 struct Expression * exp;
844 } ecere_gcc_struct cast;
847 struct Expression * cond;
848 struct __ecereNameSpace__ecere__sys__OldList * exp;
849 struct Expression * elseExp;
850 } ecere_gcc_struct cond;
853 struct TypeName * typeName;
854 struct Expression * size;
855 } ecere_gcc_struct _new;
858 struct TypeName * typeName;
859 struct Expression * size;
860 struct Expression * exp;
861 } ecere_gcc_struct _renew;
865 struct Identifier * id;
866 } ecere_gcc_struct db;
869 struct Expression * ds;
870 struct Expression * name;
871 } ecere_gcc_struct dbopen;
874 struct TypeName * typeName;
875 struct Initializer * initializer;
876 } ecere_gcc_struct initializer;
879 struct Expression * exp;
880 struct TypeName * typeName;
881 } ecere_gcc_struct vaArg;
884 struct TypeName * typeName;
885 struct Identifier * id;
886 } ecere_gcc_struct offset;
887 } ecere_gcc_struct __anon1;
888 unsigned int debugValue;
889 struct __ecereNameSpace__ecere__com__DataValue val;
891 unsigned int hasAddress;
892 struct Type * expType;
893 struct Type * destType;
896 unsigned int byReference;
897 unsigned int isConstant;
898 unsigned int addedThis;
899 unsigned int needCast;
900 unsigned int thisPtr;
901 unsigned int opDestType;
902 unsigned int usedInComparison;
903 unsigned int ambiguousUnits;
904 unsigned int parentOpDestType;
905 unsigned int needTemplateCast;
908 extern struct PropertyDef * MkProperty(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl, struct Identifier * id, struct Statement * setStmt, struct Statement * getStmt);
910 extern struct PropertyWatch * MkPropertyWatch(struct __ecereNameSpace__ecere__sys__OldList * properties, struct Statement * compound);
912 extern struct PropertyWatch * MkDeleteWatch(struct Statement * compound);
914 extern struct Statement * MkWatchStmt(struct Expression * watcher, struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
916 extern struct Statement * MkStopWatchingStmt(struct Expression * watcher, struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
918 extern struct Statement * MkFireWatchersStmt(struct Expression * object, struct __ecereNameSpace__ecere__sys__OldList * watches);
920 extern struct Expression * MkExpExtensionCompound(struct Statement * compound);
922 extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
924 extern struct Statement * MkAsmStmt(struct Specifier * spec, char * statements, struct __ecereNameSpace__ecere__sys__OldList * inputFields, struct __ecereNameSpace__ecere__sys__OldList * outputFields, struct __ecereNameSpace__ecere__sys__OldList * clobberedFields);
926 extern struct Statement * MkLabeledStmt(struct Identifier * id, struct Statement * statement);
928 extern struct Statement * MkCaseStmt(struct Expression * exp, struct Statement * statement);
930 extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements);
932 extern struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement, struct Statement * elseStmt);
934 extern struct Statement * MkSwitchStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
936 extern struct Statement * MkWhileStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement);
938 extern struct Statement * MkDoWhileStmt(struct Statement * statement, struct __ecereNameSpace__ecere__sys__OldList * exp);
940 extern struct Statement * MkForStmt(struct Statement * init, struct Statement * check, struct __ecereNameSpace__ecere__sys__OldList * inc, struct Statement * statement);
942 extern struct Statement * MkForEachStmt(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * exp, struct __ecereNameSpace__ecere__sys__OldList * filter, struct Statement * statement);
944 extern struct Statement * MkGotoStmt(struct Identifier * id);
946 extern struct Statement * MkContinueStmt(void);
948 extern struct Statement * MkBreakStmt(void);
950 extern struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * exp);
954 extern void FreeDeclaration(struct Declaration * decl);
958 struct Statement * prev;
959 struct Statement * next;
964 struct __ecereNameSpace__ecere__sys__OldList * expressions;
967 struct Identifier * id;
968 struct Statement * stmt;
969 } ecere_gcc_struct labeled;
972 struct Expression * exp;
973 struct Statement * stmt;
974 } ecere_gcc_struct caseStmt;
977 struct __ecereNameSpace__ecere__sys__OldList * declarations;
978 struct __ecereNameSpace__ecere__sys__OldList * statements;
979 struct Context * context;
980 unsigned int isSwitch;
981 } ecere_gcc_struct compound;
984 struct __ecereNameSpace__ecere__sys__OldList * exp;
985 struct Statement * stmt;
986 struct Statement * elseStmt;
987 } ecere_gcc_struct ifStmt;
990 struct __ecereNameSpace__ecere__sys__OldList * exp;
991 struct Statement * stmt;
992 } ecere_gcc_struct switchStmt;
995 struct __ecereNameSpace__ecere__sys__OldList * exp;
996 struct Statement * stmt;
997 } ecere_gcc_struct whileStmt;
1000 struct __ecereNameSpace__ecere__sys__OldList * exp;
1001 struct Statement * stmt;
1002 } ecere_gcc_struct doWhile;
1005 struct Statement * init;
1006 struct Statement * check;
1007 struct __ecereNameSpace__ecere__sys__OldList * increment;
1008 struct Statement * stmt;
1009 } ecere_gcc_struct forStmt;
1012 struct Identifier * id;
1013 } ecere_gcc_struct gotoStmt;
1016 struct Specifier * spec;
1018 struct __ecereNameSpace__ecere__sys__OldList * inputFields;
1019 struct __ecereNameSpace__ecere__sys__OldList * outputFields;
1020 struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
1021 } ecere_gcc_struct asmStmt;
1024 struct Expression * watcher;
1025 struct Expression * object;
1026 struct __ecereNameSpace__ecere__sys__OldList * watches;
1027 } ecere_gcc_struct _watch;
1030 struct Identifier * id;
1031 struct __ecereNameSpace__ecere__sys__OldList * exp;
1032 struct __ecereNameSpace__ecere__sys__OldList * filter;
1033 struct Statement * stmt;
1034 } ecere_gcc_struct forEachStmt;
1035 struct Declaration * decl;
1036 } ecere_gcc_struct __anon1;
1041 struct ClassDef * prev;
1042 struct ClassDef * next;
1043 struct Location loc;
1047 struct Declaration * decl;
1048 struct ClassFunction * function;
1049 struct __ecereNameSpace__ecere__sys__OldList * defProperties;
1050 struct PropertyDef * propertyDef;
1051 struct PropertyWatch * propertyWatch;
1053 struct Identifier * defaultProperty;
1056 struct Identifier * id;
1057 struct Initializer * initializer;
1058 } ecere_gcc_struct __anon1;
1059 } ecere_gcc_struct __anon1;
1064 extern struct ClassDef * MkClassDefDeclaration(struct Declaration * decl);
1066 extern struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage);
1068 extern struct Declaration * MkDeclarationClassInst(struct Instantiation * inst);
1070 extern struct ClassDef * MkClassDefClassData(struct Declaration * decl);
1072 extern struct Statement * MkBadDeclStmt(struct Declaration * decl);
1074 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
1076 extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
1078 extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
1080 struct FunctionDefinition;
1082 extern void FreeFunction(struct FunctionDefinition * func);
1084 extern struct FunctionDefinition * MkFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * declarationList);
1086 extern void ProcessFunctionBody(struct FunctionDefinition * func, struct Statement * body);
1090 extern void FreeExternal(struct External * external);
1092 extern struct External * MkExternalFunction(struct FunctionDefinition * function);
1094 extern struct External * MkExternalClass(struct ClassDefinition * _class);
1096 extern struct External * MkExternalDeclaration(struct Declaration * declaration);
1098 extern struct External * MkExternalImport(char * name, int importType, int importAccess);
1100 extern struct External * MkExternalNameSpace(struct Identifier * identifier);
1104 extern struct Symbol * _DeclClass(struct Specifier * _class, const char * name);
1108 struct Identifier * prev;
1109 struct Identifier * next;
1110 struct Location loc;
1111 struct Symbol * classSym;
1112 struct Specifier * _class;
1114 struct Identifier * badID;
1119 struct Specifier * prev;
1120 struct Specifier * next;
1121 struct Location loc;
1128 struct ExtDecl * extDecl;
1130 struct Symbol * symbol;
1131 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
1132 struct Specifier * nsSpec;
1133 } ecere_gcc_struct __anon1;
1136 struct Identifier * id;
1137 struct __ecereNameSpace__ecere__sys__OldList * list;
1138 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
1139 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1140 unsigned int addNameSpace;
1141 struct Context * ctx;
1142 struct ExtDecl * extDeclStruct;
1143 } ecere_gcc_struct __anon2;
1144 struct Expression * expression;
1145 struct Specifier * _class;
1146 struct TemplateParameter * templateParameter;
1147 } ecere_gcc_struct __anon1;
1150 struct ClassFunction
1152 struct ClassFunction * prev;
1153 struct ClassFunction * next;
1154 struct Location loc;
1155 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1156 struct Declarator * declarator;
1157 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1158 struct Statement * body;
1159 struct __ecereNameSpace__ecere__com__Class * _class;
1160 struct __ecereNameSpace__ecere__sys__OldList attached;
1163 struct Symbol * propSet;
1164 unsigned int isVirtual;
1165 unsigned int isConstructor;
1166 unsigned int isDestructor;
1167 unsigned int dontMangle;
1174 struct Declarator * prev;
1175 struct Declarator * next;
1176 struct Location loc;
1178 struct Symbol * symbol;
1179 struct Declarator * declarator;
1182 struct Identifier * identifier;
1185 struct Expression * exp;
1186 struct Expression * posExp;
1187 struct Attrib * attrib;
1188 } ecere_gcc_struct structDecl;
1191 struct Expression * exp;
1192 struct Specifier * enumClass;
1193 } ecere_gcc_struct array;
1196 struct __ecereNameSpace__ecere__sys__OldList * parameters;
1197 } ecere_gcc_struct function;
1200 struct Pointer * pointer;
1201 } ecere_gcc_struct pointer;
1204 struct ExtDecl * extended;
1205 } ecere_gcc_struct extended;
1206 } ecere_gcc_struct __anon1;
1209 struct Instantiation
1211 struct Instantiation * prev;
1212 struct Instantiation * next;
1213 struct Location loc;
1214 struct Specifier * _class;
1215 struct Expression * exp;
1216 struct __ecereNameSpace__ecere__sys__OldList * members;
1217 struct Symbol * symbol;
1218 unsigned int fullSet;
1219 unsigned int isConstant;
1220 unsigned char * data;
1221 struct Location nameLoc;
1222 struct Location insideLoc;
1228 struct PropertyDef * prev;
1229 struct PropertyDef * next;
1230 struct Location loc;
1231 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1232 struct Declarator * declarator;
1233 struct Identifier * id;
1234 struct Statement * getStmt;
1235 struct Statement * setStmt;
1236 struct Statement * issetStmt;
1237 struct Symbol * symbol;
1238 struct Expression * category;
1241 unsigned int conversion : 1;
1242 unsigned int isWatchable : 1;
1243 unsigned int isDBProp : 1;
1244 } ecere_gcc_struct __anon1;
1249 struct Declaration * prev;
1250 struct Declaration * next;
1251 struct Location loc;
1257 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1258 struct __ecereNameSpace__ecere__sys__OldList * declarators;
1259 } ecere_gcc_struct __anon1;
1260 struct Instantiation * inst;
1263 struct Identifier * id;
1264 struct Expression * exp;
1265 } ecere_gcc_struct __anon2;
1266 } ecere_gcc_struct __anon1;
1267 struct Specifier * extStorage;
1268 struct Symbol * symbol;
1272 extern struct Symbol * DeclClassAddNameSpace(struct Specifier * _class, const char * className);
1274 extern struct Symbol * DeclClass(struct Specifier * _class, const char * name);
1276 struct ClassDefinition
1278 struct ClassDefinition * prev;
1279 struct ClassDefinition * next;
1280 struct Location loc;
1281 struct Specifier * _class;
1282 struct __ecereNameSpace__ecere__sys__OldList * baseSpecs;
1283 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1284 struct Symbol * symbol;
1285 struct Location blockStart;
1286 struct Location nameLoc;
1288 unsigned int deleteWatchable;
1291 extern struct ClassDefinition * MkClass(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs, struct __ecereNameSpace__ecere__sys__OldList * definitions);
1293 extern void SetupBaseSpecs(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs);
1295 struct FunctionDefinition
1297 struct FunctionDefinition * prev;
1298 struct FunctionDefinition * next;
1299 struct Location loc;
1300 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
1301 struct Declarator * declarator;
1302 struct __ecereNameSpace__ecere__sys__OldList * declarations;
1303 struct Statement * body;
1304 struct __ecereNameSpace__ecere__com__Class * _class;
1305 struct __ecereNameSpace__ecere__sys__OldList attached;
1308 struct Symbol * propSet;
1310 unsigned int propertyNoThis;
1316 struct Symbol * symbol;
1317 struct __ecereNameSpace__ecere__sys__OldList * definitions;
1323 struct External * prev;
1324 struct External * next;
1325 struct Location loc;
1327 struct Symbol * symbol;
1330 struct FunctionDefinition * function;
1331 struct ClassDefinition * _class;
1332 struct Declaration * declaration;
1333 char * importString;
1334 struct Identifier * id;
1335 struct DBTableDef * table;
1336 } ecere_gcc_struct __anon1;
1338 struct External * fwdDecl;
1339 struct __ecereNameSpace__ecere__com__Instance * outgoing;
1340 struct __ecereNameSpace__ecere__com__Instance * incoming;
1341 int nonBreakableIncoming;
1344 extern struct External * MkExternalDBTable(struct DBTableDef * table);
1346 extern struct DBTableDef * MkDBTableDef(char * name, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * definitions);
1348 struct __ecereNameSpace__ecere__sys__BinaryTree;
1350 struct __ecereNameSpace__ecere__sys__BinaryTree
1352 struct __ecereNameSpace__ecere__sys__BTNode * root;
1354 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
1355 void (* FreeKey)(void * key);
1358 struct __ecereNameSpace__ecere__com__Method;
1360 struct __ecereNameSpace__ecere__com__Method
1363 struct __ecereNameSpace__ecere__com__Method * parent;
1364 struct __ecereNameSpace__ecere__com__Method * left;
1365 struct __ecereNameSpace__ecere__com__Method * right;
1370 struct __ecereNameSpace__ecere__com__Class * _class;
1372 const char * dataTypeString;
1373 struct Type * dataType;
1380 struct Symbol * parent;
1381 struct Symbol * left;
1382 struct Symbol * right;
1387 struct __ecereNameSpace__ecere__com__Method * method;
1388 struct __ecereNameSpace__ecere__com__Property * _property;
1389 struct __ecereNameSpace__ecere__com__Class * registered;
1390 } ecere_gcc_struct __anon1;
1391 unsigned int notYetDeclared;
1396 struct External * pointerExternal;
1397 struct External * structExternal;
1398 } ecere_gcc_struct __anon1;
1401 struct External * externalGet;
1402 struct External * externalSet;
1403 struct External * externalPtr;
1404 struct External * externalIsSet;
1405 } ecere_gcc_struct __anon2;
1408 struct External * methodExternal;
1409 struct External * methodCodeExternal;
1410 } ecere_gcc_struct __anon3;
1411 } ecere_gcc_struct __anon2;
1412 unsigned int imported;
1413 unsigned int declaredStructSym;
1414 struct __ecereNameSpace__ecere__com__Class * _class;
1415 unsigned int declaredStruct;
1416 unsigned int needConstructor;
1417 unsigned int needDestructor;
1418 char * constructorName;
1421 char * destructorName;
1422 struct ModuleImport * module;
1423 struct ClassImport * _import;
1424 struct Location nameLoc;
1425 unsigned int isParam;
1426 unsigned int isRemote;
1427 unsigned int isStruct;
1428 unsigned int fireWatchersDone;
1430 unsigned int classData;
1431 unsigned int isStatic;
1433 struct __ecereNameSpace__ecere__sys__OldList * templateParams;
1434 struct __ecereNameSpace__ecere__sys__OldList templatedClasses;
1435 struct Context * ctx;
1437 struct Expression * propCategory;
1438 unsigned int mustRegister;
1443 typedef union YYSTYPE
1448 struct Identifier * id;
1449 struct Expression * exp;
1450 struct Specifier * specifier;
1451 struct __ecereNameSpace__ecere__sys__OldList * list;
1452 struct Enumerator * enumerator;
1453 struct Declarator * declarator;
1454 struct Pointer * pointer;
1455 struct Initializer * initializer;
1456 struct InitDeclarator * initDeclarator;
1457 struct TypeName * typeName;
1458 struct Declaration * declaration;
1459 struct Statement * stmt;
1460 struct FunctionDefinition * function;
1461 struct External * external;
1462 struct Context * context;
1463 struct AsmField * asmField;
1464 struct Attrib * attrib;
1465 struct ExtDecl * extDecl;
1466 struct Attribute * attribute;
1467 struct Instantiation * instance;
1468 struct MembersInit * membersInit;
1469 struct MemberInit * memberInit;
1470 struct ClassFunction * classFunction;
1471 struct ClassDefinition * _class;
1472 struct ClassDef * classDef;
1473 struct PropertyDef * prop;
1475 struct Symbol * symbol;
1476 struct PropertyWatch * propertyWatch;
1477 struct TemplateParameter * templateParameter;
1478 struct TemplateArgument * templateArgument;
1479 struct TemplateDatatype * templateDatatype;
1480 struct DBTableEntry * dbtableEntry;
1481 struct DBIndexItem * dbindexItem;
1482 struct DBTableDef * dbtableDef;
1483 } ecere_gcc_struct YYSTYPE;
1485 extern YYSTYPE yylval;
1489 yytype_int16 yyss_alloc;
1491 struct Location yyls_alloc;
1494 static void yy_symbol_value_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1498 ((void)(yylocationp));
1509 extern struct AsmField * MkAsmField(char * command, struct Expression * expression, struct Identifier * symbolic);
1513 struct AsmField * prev;
1514 struct AsmField * next;
1515 struct Location loc;
1517 struct Expression * expression;
1518 struct Identifier * symbolic;
1521 static void yy_symbol_print(FILE * yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct Location const * const yylocationp)
1524 fprintf(yyoutput, "token %s (", yytname[yytype]);
1526 fprintf(yyoutput, "nterm %s (", yytname[yytype]);
1528 fprintf(yyoutput, ": ");
1529 yy_symbol_value_print(yyoutput, yytype, yyvaluep, yylocationp);
1530 fprintf(yyoutput, ")");
1533 static void yy_reduce_print(YYSTYPE * yyvsp, struct Location * yylsp, int yyrule)
1535 int yynrhs = yyr2[yyrule];
1537 unsigned long int yylno = yyrline[yyrule];
1539 fprintf((bsl_stderr()), "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno);
1540 for(yyi = 0; yyi < yynrhs; yyi++)
1542 fprintf((bsl_stderr()), " $%d = ", yyi + 1);
1543 yy_symbol_print((bsl_stderr()), yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]), &(yylsp[(yyi + 1) - (yynrhs)]));
1544 fprintf((bsl_stderr()), "\n");
1548 struct __ecereNameSpace__ecere__com__NameSpace;
1550 struct __ecereNameSpace__ecere__com__NameSpace
1553 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
1554 struct __ecereNameSpace__ecere__com__NameSpace * left;
1555 struct __ecereNameSpace__ecere__com__NameSpace * right;
1557 struct __ecereNameSpace__ecere__com__NameSpace * parent;
1558 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
1559 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
1560 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
1561 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
1564 struct __ecereNameSpace__ecere__com__Application
1567 const char * * argv;
1569 unsigned int isGUIApp;
1570 struct __ecereNameSpace__ecere__sys__OldList allModules;
1571 char * parsedCommand;
1572 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
1575 struct __ecereNameSpace__ecere__com__DataMember;
1577 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
1583 const char * dataTypeString;
1584 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1585 } ecere_gcc_struct __anon1;
1586 struct __ecereNameSpace__ecere__com__DataValue expression;
1589 const char * memberString;
1592 struct __ecereNameSpace__ecere__com__DataMember * member;
1593 struct __ecereNameSpace__ecere__com__Property * prop;
1594 struct __ecereNameSpace__ecere__com__Method * method;
1595 } ecere_gcc_struct __anon1;
1596 } ecere_gcc_struct __anon2;
1597 } ecere_gcc_struct __anon1;
1600 struct __ecereNameSpace__ecere__com__DataMember
1602 struct __ecereNameSpace__ecere__com__DataMember * prev;
1603 struct __ecereNameSpace__ecere__com__DataMember * next;
1605 unsigned int isProperty;
1608 struct __ecereNameSpace__ecere__com__Class * _class;
1609 const char * dataTypeString;
1610 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
1611 struct Type * dataType;
1615 struct __ecereNameSpace__ecere__sys__OldList members;
1616 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
1618 short structAlignment;
1619 short pointerAlignment;
1622 struct __ecereNameSpace__ecere__com__Module;
1624 struct __ecereNameSpace__ecere__com__Module
1626 struct __ecereNameSpace__ecere__com__Instance * application;
1627 struct __ecereNameSpace__ecere__sys__OldList classes;
1628 struct __ecereNameSpace__ecere__sys__OldList defines;
1629 struct __ecereNameSpace__ecere__sys__OldList functions;
1630 struct __ecereNameSpace__ecere__sys__OldList modules;
1631 struct __ecereNameSpace__ecere__com__Instance * prev;
1632 struct __ecereNameSpace__ecere__com__Instance * next;
1638 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1639 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1642 struct __ecereNameSpace__ecere__com__Class
1644 struct __ecereNameSpace__ecere__com__Class * prev;
1645 struct __ecereNameSpace__ecere__com__Class * next;
1651 unsigned int (* Constructor)(void * );
1652 void (* Destructor)(void * );
1655 struct __ecereNameSpace__ecere__com__Class * base;
1656 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
1657 struct __ecereNameSpace__ecere__sys__BinaryTree members;
1658 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
1659 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
1660 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
1661 struct __ecereNameSpace__ecere__sys__OldList derivatives;
1665 struct __ecereNameSpace__ecere__com__Instance * module;
1666 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
1667 const char * dataTypeString;
1668 struct Type * dataType;
1670 int defaultAlignment;
1671 void (* Initialize)();
1673 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
1674 const char * designerClass;
1675 unsigned int noExpansion;
1676 const char * defaultProperty;
1677 unsigned int comRedefinition;
1680 unsigned int internalDecl;
1682 unsigned int computeSize;
1683 short structAlignment;
1684 short pointerAlignment;
1685 int destructionWatchOffset;
1687 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
1688 int inheritanceAccess;
1689 const char * fullName;
1691 struct __ecereNameSpace__ecere__sys__OldList conversions;
1692 struct __ecereNameSpace__ecere__sys__OldList templateParams;
1693 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
1694 struct __ecereNameSpace__ecere__com__Class * templateClass;
1695 struct __ecereNameSpace__ecere__sys__OldList templatized;
1697 unsigned int isInstanceClass;
1698 unsigned int byValueSystemClass;
1701 void __ecereRegisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
1703 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
1707 void __ecereUnregisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
1712 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
1714 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
1716 static void yydestruct(const char * yymsg, int yytype, YYSTYPE * yyvaluep, struct Location * yylocationp)
1719 ((void)(yylocationp));
1726 fprintf((bsl_stderr()), "%s ", yymsg);
1727 yy_symbol_print((bsl_stderr()), yytype, yyvaluep, yylocationp);
1728 fprintf((bsl_stderr()), "\n");
1735 FreeSpecifier((*yyvaluep).specifier);
1741 FreeSpecifier((*yyvaluep).specifier);
1747 FreeSpecifier((*yyvaluep).specifier);
1753 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
1759 FreeSpecifier((*yyvaluep).specifier);
1765 FreeClassFunction((*yyvaluep).classFunction);
1771 FreeClassFunction((*yyvaluep).classFunction);
1777 FreeClassFunction((*yyvaluep).classFunction);
1783 FreeClassFunction((*yyvaluep).classFunction);
1789 FreeClassFunction((*yyvaluep).classFunction);
1795 FreeClassFunction((*yyvaluep).classFunction);
1801 FreeClassFunction((*yyvaluep).classFunction);
1807 FreeClassFunction((*yyvaluep).classFunction);
1813 FreeClassFunction((*yyvaluep).classFunction);
1819 FreeClassFunction((*yyvaluep).classFunction);
1825 FreeClassFunction((*yyvaluep).classFunction);
1831 FreeClassFunction((*yyvaluep).classFunction);
1837 FreeMemberInit((*yyvaluep).memberInit);
1843 FreeMemberInit((*yyvaluep).memberInit);
1849 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1855 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1861 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1867 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1873 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1879 FreeList((*yyvaluep).list, (void *)(FreeMembersInit));
1885 FreeInstance((*yyvaluep).instance);
1891 FreeInstance((*yyvaluep).instance);
1897 FreeInstance((*yyvaluep).instance);
1903 FreeInstance((*yyvaluep).instance);
1909 FreeMemberInit((*yyvaluep).memberInit);
1915 FreeMemberInit((*yyvaluep).memberInit);
1921 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1927 FreeList((*yyvaluep).list, (void *)(FreeMemberInit));
1933 FreeProperty((*yyvaluep).prop);
1939 FreeClassDef((*yyvaluep).classDef);
1945 FreeClassDef((*yyvaluep).classDef);
1951 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
1957 FreeList((*yyvaluep).list, (void *)(FreeClassDef));
1963 FreeTemplateDataType((*yyvaluep).templateDatatype);
1969 FreeTemplateArgument((*yyvaluep).templateArgument);
1975 FreeTemplateParameter((*yyvaluep).templateParameter);
1981 FreeTemplateArgument((*yyvaluep).templateArgument);
1987 FreeTemplateParameter((*yyvaluep).templateParameter);
1993 FreeTemplateArgument((*yyvaluep).templateArgument);
1999 FreeTemplateParameter((*yyvaluep).templateParameter);
2005 FreeTemplateParameter((*yyvaluep).templateParameter);
2011 FreeList((*yyvaluep).list, (void *)(FreeTemplateParameter));
2017 FreeTemplateArgument((*yyvaluep).templateArgument);
2023 FreeList((*yyvaluep).list, (void *)(FreeTemplateArgument));
2029 struct Context * ctx = curContext;
2033 ((ctx ? __extension__ ({
2034 void * __ecerePtrToDelete = (ctx);
2036 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2043 struct Context * ctx = curContext;
2047 ((ctx ? __extension__ ({
2048 void * __ecerePtrToDelete = (ctx);
2050 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2057 FreeClass((*yyvaluep)._class);
2063 FreeClass((*yyvaluep)._class);
2069 FreeClass((*yyvaluep)._class);
2075 FreeIdentifier((*yyvaluep).id);
2081 FreeExpression((*yyvaluep).exp);
2087 FreeExpression((*yyvaluep).exp);
2093 FreeExpression((*yyvaluep).exp);
2099 FreeExpression((*yyvaluep).exp);
2105 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2111 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2117 FreeExpression((*yyvaluep).exp);
2123 FreeExpression((*yyvaluep).exp);
2129 FreeExpression((*yyvaluep).exp);
2135 FreeExpression((*yyvaluep).exp);
2141 FreeExpression((*yyvaluep).exp);
2147 FreeExpression((*yyvaluep).exp);
2153 FreeExpression((*yyvaluep).exp);
2159 FreeExpression((*yyvaluep).exp);
2165 FreeExpression((*yyvaluep).exp);
2171 FreeExpression((*yyvaluep).exp);
2177 FreeExpression((*yyvaluep).exp);
2183 FreeExpression((*yyvaluep).exp);
2189 FreeExpression((*yyvaluep).exp);
2195 FreeExpression((*yyvaluep).exp);
2201 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2207 FreeExpression((*yyvaluep).exp);
2213 FreeExpression((*yyvaluep).exp);
2219 FreeExpression((*yyvaluep).exp);
2225 FreeExpression((*yyvaluep).exp);
2231 FreeExpression((*yyvaluep).exp);
2237 FreeExpression((*yyvaluep).exp);
2243 FreeExpression((*yyvaluep).exp);
2249 FreeExpression((*yyvaluep).exp);
2255 FreeExpression((*yyvaluep).exp);
2261 FreeExpression((*yyvaluep).exp);
2267 FreeExpression((*yyvaluep).exp);
2273 FreeExpression((*yyvaluep).exp);
2279 FreeExpression((*yyvaluep).exp);
2285 FreeExpression((*yyvaluep).exp);
2291 FreeExpression((*yyvaluep).exp);
2297 FreeList((*yyvaluep).list, (void *)(FreeExpression));
2303 FreeExpression((*yyvaluep).exp);
2309 FreeExpression((*yyvaluep).exp);
2315 FreeSpecifier((*yyvaluep).specifier);
2321 FreeSpecifier((*yyvaluep).specifier);
2327 FreeEnumerator((*yyvaluep).enumerator);
2333 FreeList((*yyvaluep).list, (void *)(FreeEnumerator));
2339 FreeSpecifier((*yyvaluep).specifier);
2345 FreeSpecifier((*yyvaluep).specifier);
2351 FreeSpecifier((*yyvaluep).specifier);
2357 FreeSpecifier((*yyvaluep).specifier);
2363 FreeSpecifier((*yyvaluep).specifier);
2369 FreeSpecifier((*yyvaluep).specifier);
2375 FreeSpecifier((*yyvaluep).specifier);
2381 FreeSpecifier((*yyvaluep).specifier);
2387 FreeSpecifier((*yyvaluep).specifier);
2393 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2399 FreeSpecifier((*yyvaluep).specifier);
2405 FreeSpecifier((*yyvaluep).specifier);
2411 FreeDeclarator((*yyvaluep).declarator);
2417 FreeList((*yyvaluep).list, (void *)(FreeDeclarator));
2423 FreeSpecifier((*yyvaluep).specifier);
2429 FreeSpecifier((*yyvaluep).specifier);
2435 FreeSpecifier((*yyvaluep).specifier);
2441 FreeSpecifier((*yyvaluep).specifier);
2447 FreeSpecifier((*yyvaluep).specifier);
2453 FreeSpecifier((*yyvaluep).specifier);
2459 FreeSpecifier((*yyvaluep).specifier);
2465 FreeSpecifier((*yyvaluep).specifier);
2471 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2477 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2483 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2489 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2495 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2501 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2507 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2513 FreeList((*yyvaluep).list, (void *)(FreeSpecifier));
2519 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2525 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2531 FreeDeclarator((*yyvaluep).declarator);
2537 FreeDeclarator((*yyvaluep).declarator);
2543 FreeDeclarator((*yyvaluep).declarator);
2549 FreeDeclarator((*yyvaluep).declarator);
2555 FreeDeclarator((*yyvaluep).declarator);
2561 FreeDeclarator((*yyvaluep).declarator);
2567 FreeDeclarator((*yyvaluep).declarator);
2573 FreeDeclarator((*yyvaluep).declarator);
2579 FreeDeclarator((*yyvaluep).declarator);
2585 FreeDeclarator((*yyvaluep).declarator);
2591 FreeExtDecl((*yyvaluep).extDecl);
2597 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2603 FreeAttribute((*yyvaluep).attribute);
2609 FreeList((*yyvaluep).list, (void *)(FreeAttribute));
2615 FreeAttrib((*yyvaluep).attrib);
2621 FreeDeclarator((*yyvaluep).declarator);
2627 FreeDeclarator((*yyvaluep).declarator);
2633 FreePointer((*yyvaluep).pointer);
2639 FreeDeclarator((*yyvaluep).declarator);
2645 FreeDeclarator((*yyvaluep).declarator);
2651 FreeDeclarator((*yyvaluep).declarator);
2657 FreeDeclarator((*yyvaluep).declarator);
2663 FreeDeclarator((*yyvaluep).declarator);
2669 FreeDeclarator((*yyvaluep).declarator);
2675 FreeDeclarator((*yyvaluep).declarator);
2681 FreeDeclarator((*yyvaluep).declarator);
2687 FreeDeclarator((*yyvaluep).declarator);
2693 FreeInitializer((*yyvaluep).initializer);
2699 FreeInitializer((*yyvaluep).initializer);
2705 FreeInitializer((*yyvaluep).initializer);
2711 FreeInitializer((*yyvaluep).initializer);
2717 FreeList((*yyvaluep).list, (void *)(FreeInitializer));
2723 FreeInitDeclarator((*yyvaluep).initDeclarator);
2729 FreeInitDeclarator((*yyvaluep).initDeclarator);
2735 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
2741 FreeList((*yyvaluep).list, (void *)(FreeInitDeclarator));
2747 FreeTypeName((*yyvaluep).typeName);
2753 FreeTypeName((*yyvaluep).typeName);
2759 FreeTypeName((*yyvaluep).typeName);
2765 FreeTypeName((*yyvaluep).typeName);
2771 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2777 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2783 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2789 FreeList((*yyvaluep).list, (void *)(FreeTypeName));
2795 FreeStatement((*yyvaluep).stmt);
2801 FreeStatement((*yyvaluep).stmt);
2807 FreeStatement((*yyvaluep).stmt);
2813 FreeStatement((*yyvaluep).stmt);
2824 FreeDeclaration((*yyvaluep).declaration);
2830 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
2836 FreeList((*yyvaluep).list, (void *)(FreeDeclaration));
2842 FreeList((*yyvaluep).list, (void *)(FreeStatement));
2848 FreeList((*yyvaluep).list, (void *)(FreeStatement));
2854 FreeStatement((*yyvaluep).stmt);
2860 FreeStatement((*yyvaluep).stmt);
2866 PopContext((*yyvaluep).context);
2867 FreeContext((*yyvaluep).context);
2868 (((*yyvaluep).context ? __extension__ ({
2869 void * __ecerePtrToDelete = ((*yyvaluep).context);
2871 __ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)__ecerePtrToDelete) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(__ecerePtrToDelete);
2872 }) : 0), (*yyvaluep).context = 0);
2878 FreeStatement((*yyvaluep).stmt);
2884 FreeStatement((*yyvaluep).stmt);
2890 FreeStatement((*yyvaluep).stmt);
2896 FreeStatement((*yyvaluep).stmt);
2902 FreeStatement((*yyvaluep).stmt);
2908 FreeStatement((*yyvaluep).stmt);
2914 FreeStatement((*yyvaluep).stmt);
2920 FreeStatement((*yyvaluep).stmt);
2926 FreeStatement((*yyvaluep).stmt);
2932 FreeFunction((*yyvaluep).function);
2938 FreeFunction((*yyvaluep).function);
2944 (__ecereNameSpace__ecere__com__eSystem_Delete((*yyvaluep).string), (*yyvaluep).string = 0);
2950 FreeExternal((*yyvaluep).external);
2956 FreeExternal((*yyvaluep).external);
2962 if((*yyvaluep).list != ast)
2963 FreeList((*yyvaluep).list, (void *)(FreeExternal));
2969 if((*yyvaluep).list != ast)
2970 FreeList((*yyvaluep).list, (void *)(FreeExternal));
2983 yytype_int16 yyssa[200];
2984 yytype_int16 * yyss;
2985 yytype_int16 * yyssp;
2989 struct Location yylsa[200];
2990 struct Location * yyls;
2991 struct Location * yylsp;
2992 struct Location yyerror_range[2];
2998 struct Location yyloc;
3009 fprintf((bsl_stderr()), "Starting parse\n");
3023 if(yyss + yystacksize - 1 <= yyssp)
3025 size_t yysize = yyssp - yyss + 1;
3027 if(10000 <= yystacksize)
3028 goto yyexhaustedlab;
3030 if(10000 < yystacksize)
3031 yystacksize = 10000;
3033 yytype_int16 * yyss1 = yyss;
3034 union yyalloc * yyptr = (union yyalloc *)malloc(((yystacksize) * (sizeof(yytype_int16) + sizeof(YYSTYPE) + sizeof(struct Location)) + 2 * (sizeof(union yyalloc) - 1)));
3037 goto yyexhaustedlab;
3042 __builtin_memcpy(&(*yyptr).yyss_alloc, yyss, (yysize) * sizeof (*(yyss)));
3043 yyss = &(*yyptr).yyss_alloc;
3044 yynewbytes = yystacksize * sizeof (*yyss) + (sizeof(union yyalloc) - 1);
3045 yyptr += yynewbytes / sizeof (*yyptr);
3051 __builtin_memcpy(&(*yyptr).yyvs_alloc, yyvs, (yysize) * sizeof (*(yyvs)));
3052 yyvs = &(*yyptr).yyvs_alloc;
3053 yynewbytes = yystacksize * sizeof (*yyvs) + (sizeof(union yyalloc) - 1);
3054 yyptr += yynewbytes / sizeof (*yyptr);
3060 __builtin_memcpy(&(*yyptr).yyls_alloc, yyls, (yysize) * sizeof (*(yyls)));
3061 yyls = &(*yyptr).yyls_alloc;
3062 yynewbytes = yystacksize * sizeof (*yyls) + (sizeof(union yyalloc) - 1);
3063 yyptr += yynewbytes / sizeof (*yyptr);
3068 yyssp = yyss + yysize - 1;
3069 yyvsp = yyvs + yysize - 1;
3070 yylsp = yyls + yysize - 1;
3074 fprintf((bsl_stderr()), "Stack size increased to %lu\n", (unsigned long int)yystacksize);
3076 if(yyss + yystacksize - 1 <= yyssp)
3082 fprintf((bsl_stderr()), "Entering state %d\n", yystate);
3088 yyn = yypact[yystate];
3096 fprintf((bsl_stderr()), "Reading a token: ");
3102 yychar = yytoken = 0;
3106 fprintf((bsl_stderr()), "Now at end of input.\n");
3111 yytoken = ((unsigned int)(yychar) <= 375 ? yytranslate[yychar] : 2);
3116 fprintf((bsl_stderr()), "%s ", "Next token is");
3117 yy_symbol_print((bsl_stderr()), yytoken, &yylval, &yylloc);
3118 fprintf((bsl_stderr()), "\n");
3123 if(yyn < 0 || 42058 < yyn || yycheck[yyn] != yytoken)
3128 if(yyn == 0 || yyn == -1293)
3139 fprintf((bsl_stderr()), "%s ", "Shifting");
3140 yy_symbol_print((bsl_stderr()), yytoken, &yylval, &yylloc);
3141 fprintf((bsl_stderr()), "\n");
3150 yyn = yydefact[yystate];
3156 yyval = yyvsp[1 - yylen];
3157 (yyloc.start = ((yylsp - yylen))[1].start);
3158 (yyloc.end = ((yylsp - yylen))[yylen].end);
3163 yy_reduce_print(yyvsp, yylsp, yyn);
3169 yyval.specifier = (((void *)0));
3170 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3171 FreeIdentifier(yyvsp[(1) - (2)].id);
3173 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
3175 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3176 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3178 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3179 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
3180 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
3182 resetScannerPos(&(yylsp[(1) - (2)]).start);
3184 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3189 yy_stack_print((yyss), (yyssp));
3191 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3196 yy_stack_print((yyss), (yyssp));
3204 yyval.specifier = (((void *)0));
3205 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3206 FreeIdentifier(yyvsp[(1) - (2)].id);
3208 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
3210 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3211 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3213 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3214 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
3215 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
3217 resetScannerPos(&(yylsp[(1) - (2)]).start);
3219 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3224 yy_stack_print((yyss), (yyssp));
3226 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3231 yy_stack_print((yyss), (yyssp));
3239 yyval.specifier = yyvsp[(1) - (1)].specifier;
3245 if(!yyvsp[(1) - (2)].id->string[0])
3247 yyval.specifier = MkSpecifierName(yyvsp[(1) - (2)].id->string);
3248 FreeIdentifier(yyvsp[(1) - (2)].id);
3249 FreeIdentifier(yyvsp[(2) - (2)].id);
3253 _DeclClass(yyvsp[(1) - (2)].id->_class, yyvsp[(1) - (2)].id->string);
3254 FreeIdentifier(yyvsp[(1) - (2)].id);
3255 FreeIdentifier(yyvsp[(2) - (2)].id);
3257 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
3259 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3260 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3262 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3263 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
3264 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
3266 resetScannerPos(&(yylsp[(1) - (2)]).start);
3268 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3273 yy_stack_print((yyss), (yyssp));
3275 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
3280 yy_stack_print((yyss), (yyssp));
3289 yyval.specifier = MkSpecifierName(yytext);
3295 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
3301 yyval.specifier = yyvsp[(1) - (4)].specifier;
3302 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
3303 yyval.specifier->loc = (yyloc);
3309 yyval.specifier = yyvsp[(1) - (4)].specifier;
3310 SetClassTemplateArgs(yyval.specifier, yyvsp[(3) - (4)].list);
3311 yyval.specifier->loc = (yyloc);
3312 (yylsp[(4) - (4)]).end.pos--;
3314 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
3316 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3317 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3319 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3320 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
3321 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(4) - (4)]).end.pos, 0) : (unsigned int)1;
3323 resetScannerPos(&(yylsp[(4) - (4)]).end);
3330 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3331 yyval.classFunction->loc = (yyloc);
3337 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
3338 yyval.classFunction->loc = (yyloc);
3344 yyval.classFunction = MkClassFunction(yyvsp[(1) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)));
3345 yyval.classFunction->isConstructor = 1;
3346 yyval.classFunction->loc = (yyloc);
3352 yyval.classFunction = MkClassFunction(yyvsp[(2) - (4)].list, (((void *)0)), (((void *)0)), (((void *)0)));
3353 yyval.classFunction->isDestructor = 1;
3354 yyval.classFunction->loc = (yyloc);
3360 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
3361 yyval.classFunction->isVirtual = 1;
3362 yyval.classFunction->loc = (yyloc);
3368 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3369 yyval.classFunction->isVirtual = 1;
3370 yyval.classFunction->loc = (yyloc);
3376 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3377 yyval.classFunction->loc = (yyloc);
3383 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(1) - (1)].declarator, (((void *)0)));
3384 yyval.classFunction->loc = (yyloc);
3390 yyval.classFunction = MkClassFunction(yyvsp[(2) - (3)].list, (((void *)0)), yyvsp[(3) - (3)].declarator, (((void *)0)));
3391 yyval.classFunction->isVirtual = 1;
3392 yyval.classFunction->loc = (yyloc);
3398 yyval.classFunction = MkClassFunction((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3399 yyval.classFunction->isVirtual = 1;
3400 yyval.classFunction->loc = (yyloc);
3406 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3407 yyval.classFunction->loc = (yyloc);
3413 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3414 yyval.classFunction->loc = (yyloc);
3420 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3421 yyval.classFunction->loc = (yyloc);
3427 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3428 yyval.classFunction->loc = (yyloc);
3434 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3435 yyval.classFunction->loc = (yyloc);
3441 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3442 yyval.classFunction->loc = (yyloc);
3448 if(yyvsp[(1) - (3)].classFunction->declarator)
3450 yyvsp[(1) - (3)].classFunction->declarator = MkStructDeclarator(yyvsp[(1) - (3)].classFunction->declarator, (((void *)0)));
3451 yyvsp[(1) - (3)].classFunction->declarator->__anon1.structDecl.attrib = yyvsp[(2) - (3)].attrib;
3453 ProcessClassFunctionBody(yyvsp[(1) - (3)].classFunction, (((void *)0)));
3454 yyval.classFunction->loc = (yyloc);
3460 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3461 yyval.classFunction->loc = (yyloc);
3462 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3468 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3469 yyval.classFunction->loc = (yyloc);
3470 yyval.classFunction->loc.end.charPos++;
3471 yyval.classFunction->loc.end.pos++;
3477 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3478 yyval.classFunction->loc = (yyloc);
3479 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3485 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3486 yyval.classFunction->loc = (yyloc);
3487 yyval.classFunction->loc.end.charPos++;
3488 yyval.classFunction->loc.end.pos++;
3494 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, (((void *)0)));
3495 yyval.classFunction->loc = (yyloc);
3496 yyval.classFunction->loc.end.charPos++;
3497 yyval.classFunction->loc.end.pos++;
3503 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3504 yyval.classFunction->loc = (yyloc);
3510 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), MkDeclaratorFunction(yyvsp[(2) - (2)].declarator, (((void *)0))), (((void *)0)));
3511 yyval.classFunction->loc = (yyloc);
3517 yyval.classFunction = MkClassFunction(yyvsp[(1) - (2)].list, (((void *)0)), yyvsp[(2) - (2)].declarator, (((void *)0)));
3518 yyval.classFunction->loc = (yyloc);
3524 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3525 yyval.classFunction->loc = (yyloc);
3531 ProcessClassFunctionBody(yyvsp[(1) - (2)].classFunction, yyvsp[(2) - (2)].stmt);
3532 yyval.classFunction->loc = (yyloc);
3533 yyval.classFunction->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
3534 yyval.classFunction->loc.end.charPos++;
3535 yyval.classFunction->loc.end.pos++;
3541 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3542 yyval.classFunction->loc = (yyloc);
3543 yyval.classFunction->loc.end.charPos++;
3544 yyval.classFunction->loc.end.pos++;
3550 ProcessClassFunctionBody(yyvsp[(1) - (1)].classFunction, (((void *)0)));
3551 yyval.classFunction->loc = (yyloc);
3552 yyval.classFunction->loc.end.charPos++;
3553 yyval.classFunction->loc.end.pos++;
3559 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
3560 yyval.memberInit->loc = (yyloc);
3561 yyval.memberInit->realLoc = (yyloc);
3562 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
3568 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
3569 yyval.memberInit->loc = (yyloc);
3570 yyval.memberInit->realLoc = (yyloc);
3576 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
3577 yyval.memberInit->loc = (yyloc);
3578 yyval.memberInit->realLoc = (yyloc);
3579 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
3585 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, MkInitializerAssignment(MkExpDummy()));
3586 yyval.memberInit->loc = (yyloc);
3587 yyval.memberInit->realLoc = (yyloc);
3588 yyval.memberInit->initializer->loc.start = yyval.memberInit->initializer->loc.end = (yylsp[(2) - (3)]).end;
3590 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
3592 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
3593 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
3595 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
3596 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
3597 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(2) - (3)]).end.pos, 0) : (unsigned int)1;
3600 resetScannerPos(&(yylsp[(2) - (3)]).end);
3601 (yyloc.start = (yylsp[(1) - (3)]).start);
3602 (yyloc.end = (yylsp[(2) - (3)]).end);
3608 yyval.memberInit = MkMemberInit((((void *)0)), yyvsp[(1) - (1)].initializer);
3609 yyval.memberInit->loc = (yyloc);
3610 yyval.memberInit->realLoc = (yyloc);
3616 yyval.list = MkList();
3617 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
3623 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3624 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3625 yyval.list = yyvsp[(1) - (3)].list;
3631 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3632 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3633 yyval.list = yyvsp[(1) - (3)].list;
3639 yyval.list = MkList();
3640 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
3646 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3647 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3648 yyval.list = yyvsp[(1) - (3)].list;
3654 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
3655 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
3656 yyval.list = yyvsp[(1) - (3)].list;
3662 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(2) - (3)]).end;
3664 struct Initializer * dummy = MkInitializerAssignment(MkExpDummy());
3665 struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy);
3667 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(2) - (3)]).end;
3668 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(2) - (3)]).end;
3669 ListAdd(yyvsp[(1) - (3)].list, memberInit);
3671 yyval.list = yyvsp[(1) - (3)].list;
3677 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(2) - (3)]).end;
3679 struct Initializer * dummy = MkInitializerAssignment(MkExpDummy());
3680 struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy);
3682 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(2) - (3)]).end;
3683 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(2) - (3)]).end;
3684 ListAdd(yyvsp[(1) - (3)].list, memberInit);
3686 yyval.list = yyvsp[(1) - (3)].list;
3692 struct Initializer * dummy = MkInitializerAssignment(MkExpDummy());
3693 struct MemberInit * memberInit = MkMemberInit((((void *)0)), dummy);
3695 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(1) - (1)]).start;
3696 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(1) - (1)]).start;
3697 yyval.list = MkList();
3698 ListAdd(yyval.list, memberInit);
3699 dummy = MkInitializerAssignment(MkExpDummy());
3700 memberInit = MkMemberInit((((void *)0)), dummy);
3701 memberInit->realLoc.start = memberInit->loc.start = dummy->loc.start = (yylsp[(1) - (1)]).end;
3702 memberInit->realLoc.end = memberInit->loc.end = dummy->loc.end = (yylsp[(1) - (1)]).end;
3703 ListAdd(yyval.list, memberInit);
3709 if((*yyvsp[(1) - (2)].list).last)
3710 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
3711 yyval.list = yyvsp[(1) - (2)].list;
3717 if((*yyvsp[(1) - (2)].list).last)
3718 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).end;
3719 yyval.list = yyvsp[(1) - (2)].list;
3725 struct MembersInit * members = MkMembersInitList(yyvsp[(1) - (1)].list);
3727 yyval.list = MkList();
3728 ListAdd(yyval.list, members);
3729 members->loc = (yylsp[(1) - (1)]);
3735 yyval.list = MkList();
3736 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
3737 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3743 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
3745 ListAdd(yyval.list, members);
3746 members->loc = (yylsp[(2) - (2)]);
3747 yyval.list = yyvsp[(1) - (2)].list;
3753 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3754 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3755 yyval.list = yyvsp[(1) - (2)].list;
3761 struct MembersInit * members = MkMembersInitList(yyvsp[(2) - (2)].list);
3763 ListAdd(yyval.list, members);
3764 members->loc = (yylsp[(2) - (2)]);
3765 yyval.list = yyvsp[(1) - (2)].list;
3771 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3772 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3773 yyval.list = yyvsp[(1) - (2)].list;
3779 struct MembersInit * members = (struct MembersInit *)(*yyval.list).last;
3781 if(members->type == 0)
3782 (members->loc.end = yyloc.end);
3785 struct MembersInit * members = MkMembersInitList(MkList());
3787 ListAdd(yyval.list, members);
3788 members->loc = (yylsp[(2) - (2)]);
3790 yyval.list = yyvsp[(1) - (2)].list;
3796 struct MembersInit * members = MkMembersInitList(MkList());
3798 yyval.list = MkList();
3799 ListAdd(yyval.list, members);
3800 members->loc = (yylsp[(1) - (1)]);
3806 yyval.list = MkList();
3807 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
3808 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3814 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
3815 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3821 ListAdd(yyvsp[(1) - (2)].list, MkMembersInitList(yyvsp[(2) - (2)].list));
3822 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3828 yyval.list = MkList();
3829 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(1) - (1)].classFunction));
3830 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3836 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3837 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3838 yyval.list = yyvsp[(1) - (2)].list;
3844 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3845 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3846 yyval.list = yyvsp[(1) - (2)].list;
3852 ListAdd(yyval.list, MkMembersInitMethod(yyvsp[(2) - (2)].classFunction));
3853 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3854 yyval.list = yyvsp[(1) - (2)].list;
3860 ListAdd(yyval.list, MkMembersInitList(yyvsp[(2) - (2)].list));
3861 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3862 yyval.list = yyvsp[(1) - (2)].list;
3868 yyval.list = MkList();
3869 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (1)].list));
3870 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(1) - (1)]);
3876 yyval.list = MkList();
3877 ListAdd(yyval.list, MkMembersInitList(yyvsp[(1) - (2)].list));
3878 ((struct MembersInit *)(*yyval.list).last)->loc = (yylsp[(2) - (2)]);
3884 yyval.instance->loc = (yyloc);
3885 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
3886 yyval.instance = yyvsp[(1) - (2)].instance;
3892 yyval.instance->loc = (yyloc);
3893 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
3894 yyval.instance = yyvsp[(1) - (3)].instance;
3900 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3901 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3902 yyval.instance->loc = (yyloc);
3903 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3904 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3905 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3906 yyval.instance->loc.end.charPos++;
3907 yyval.instance->loc.end.pos++;
3913 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
3914 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
3915 yyval.instance->loc = (yyloc);
3916 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
3917 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
3918 yyval.instance->insideLoc.end = (yylsp[(4) - (5)]).end;
3919 yyval.instance->loc.end.charPos++;
3920 yyval.instance->loc.end.pos++;
3926 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3927 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3928 yyval.instance->loc = (yyloc);
3929 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3930 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3931 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3932 yyval.instance->loc.end.charPos++;
3933 yyval.instance->loc.end.pos++;
3939 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (3)].list, MkExpIdentifier(yyvsp[(2) - (3)].id), (((void *)0)));
3940 yyval.instance->exp->loc = (yylsp[(2) - (3)]);
3941 yyval.instance->loc = (yyloc);
3942 yyval.instance->nameLoc = (yylsp[(2) - (3)]);
3943 yyval.instance->insideLoc.start = (yylsp[(3) - (3)]).end;
3944 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
3945 yyval.instance->loc.end.charPos++;
3946 yyval.instance->loc.end.pos++;
3952 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), (((void *)0)));
3953 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3954 yyval.instance->loc = (yyloc);
3955 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3956 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3957 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
3958 yyval.instance->loc.end.charPos++;
3959 yyval.instance->loc.end.pos++;
3965 yyval.instance->loc = (yyloc);
3966 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
3972 yyval.instance->loc = (yyloc);
3973 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
3979 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
3980 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
3981 yyval.instance->loc = (yyloc);
3982 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
3983 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
3984 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
3985 yyval.instance->loc.end.charPos++;
3986 yyval.instance->loc.end.pos++;
3992 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
3993 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
3994 yyval.instance->loc = (yyloc);
3995 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
3996 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
3997 yyval.instance->insideLoc.end = (yylsp[(4) - (5)]).end;
3998 yyval.instance->loc.end.charPos++;
3999 yyval.instance->loc.end.pos++;
4005 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), yyvsp[(4) - (4)].list);
4006 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
4007 yyval.instance->loc = (yyloc);
4008 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
4009 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
4010 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).end;
4011 yyval.instance->loc.end.charPos++;
4012 yyval.instance->loc.end.pos++;
4018 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (3)].list, MkExpIdentifier(yyvsp[(2) - (3)].id), (((void *)0)));
4019 yyval.instance->exp->loc = (yylsp[(2) - (3)]);
4020 yyval.instance->loc = (yyloc);
4021 yyval.instance->nameLoc = (yylsp[(2) - (3)]);
4022 yyval.instance->insideLoc.start = (yylsp[(3) - (3)]).end;
4023 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4024 yyval.instance->loc.end.charPos++;
4025 yyval.instance->loc.end.pos++;
4031 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), (((void *)0)));
4032 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
4033 yyval.instance->loc = (yyloc);
4034 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
4035 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
4036 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
4037 yyval.instance->loc.end.charPos++;
4038 yyval.instance->loc.end.pos++;
4044 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
4045 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
4046 yyval.instance->loc = (yyloc);
4047 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
4048 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
4049 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
4055 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (5)].list, MkExpIdentifier(yyvsp[(2) - (5)].id), yyvsp[(4) - (5)].list);
4056 yyval.instance->exp->loc = (yylsp[(2) - (5)]);
4057 yyval.instance->loc = (yyloc);
4058 yyval.instance->nameLoc = (yylsp[(2) - (5)]);
4059 yyval.instance->insideLoc.start = (yylsp[(3) - (5)]).end;
4060 yyval.instance->insideLoc.end = (yylsp[(5) - (5)]).start;
4066 yyval.instance = MkInstantiationNamed(yyvsp[(1) - (4)].list, MkExpIdentifier(yyvsp[(2) - (4)].id), MkList());
4067 yyval.instance->exp->loc = (yylsp[(2) - (4)]);
4068 yyval.instance->loc = (yyloc);
4069 yyval.instance->nameLoc = (yylsp[(2) - (4)]);
4070 yyval.instance->insideLoc.start = (yylsp[(3) - (4)]).end;
4071 yyval.instance->insideLoc.end = (yylsp[(4) - (4)]).start;
4077 yyval.instance->loc = (yyloc);
4078 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
4079 yyval.instance = yyvsp[(1) - (2)].instance;
4085 yyval.instance->loc = (yyloc);
4086 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
4087 yyval.instance = yyvsp[(1) - (3)].instance;
4093 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), yyvsp[(3) - (3)].list);
4094 yyval.instance->loc = (yyloc);
4095 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4096 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4097 yyval.instance->loc.end.charPos++;
4098 yyval.instance->loc.end.pos++;
4104 struct Location tmpLoc = yylloc;
4106 yylloc = (yylsp[(1) - (3)]);
4108 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), yyvsp[(3) - (3)].list);
4109 yyval.instance->loc = (yyloc);
4110 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4111 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4112 FreeIdentifier(yyvsp[(1) - (3)].id);
4118 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), yyvsp[(3) - (3)].list);
4119 yyval.instance->loc = (yyloc);
4120 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4121 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4122 yyval.instance->loc.end.charPos++;
4123 yyval.instance->loc.end.pos++;
4129 yyval.instance = MkInstantiation(yyvsp[(1) - (2)].specifier, (((void *)0)), (((void *)0)));
4130 yyval.instance->loc = (yyloc);
4131 yyval.instance->insideLoc.start = (yylsp[(2) - (2)]).end;
4132 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4133 yyval.instance->loc.end.charPos++;
4134 yyval.instance->loc.end.pos++;
4140 yyval.instance = MkInstantiation(yyvsp[(1) - (4)].specifier, (((void *)0)), yyvsp[(3) - (4)].list);
4141 yyval.instance->loc = (yyloc);
4142 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
4143 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
4144 yyval.instance->loc.end.charPos++;
4145 yyval.instance->loc.end.pos++;
4151 yyval.instance = MkInstantiation(yyvsp[(1) - (3)].specifier, (((void *)0)), (((void *)0)));
4152 yyval.instance->loc = (yyloc);
4153 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4154 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4155 yyval.instance->loc.end.charPos++;
4156 yyval.instance->loc.end.pos++;
4162 struct Location tmpLoc = yylloc;
4164 yylloc = (yylsp[(1) - (3)]);
4166 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), yyvsp[(3) - (3)].list);
4167 yyval.instance->loc = (yyloc);
4168 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4169 yyval.instance->insideLoc.end = (yylsp[(3) - (3)]).end;
4170 yyval.instance->loc.end.charPos++;
4171 yyval.instance->loc.end.pos++;
4172 FreeIdentifier(yyvsp[(1) - (3)].id);
4178 struct Location tmpLoc = yylloc;
4180 yylloc = (yylsp[(1) - (2)]);
4182 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (2)].id->string), (((void *)0)), (((void *)0)));
4183 yyval.instance->loc = (yyloc);
4184 yyval.instance->insideLoc.start = (yylsp[(2) - (2)]).end;
4185 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4186 yyval.instance->loc.end.charPos++;
4187 yyval.instance->loc.end.pos++;
4188 FreeIdentifier(yyvsp[(1) - (2)].id);
4194 struct Location tmpLoc = yylloc;
4196 yylloc = (yylsp[(1) - (4)]);
4198 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (4)].id->string), (((void *)0)), yyvsp[(3) - (4)].list);
4199 yyval.instance->loc = (yyloc);
4200 yyval.instance->insideLoc.start = (yylsp[(2) - (4)]).end;
4201 yyval.instance->insideLoc.end = (yylsp[(3) - (4)]).end;
4202 yyval.instance->loc.end.charPos++;
4203 yyval.instance->loc.end.pos++;
4204 FreeIdentifier(yyvsp[(1) - (4)].id);
4210 struct Location tmpLoc = yylloc;
4212 yylloc = (yylsp[(1) - (3)]);
4214 yyval.instance = MkInstantiation(MkSpecifierName(yyvsp[(1) - (3)].id->string), (((void *)0)), (((void *)0)));
4215 yyval.instance->loc = (yyloc);
4216 yyval.instance->insideLoc.start = (yylsp[(2) - (3)]).end;
4217 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4218 yyval.instance->loc.end.charPos++;
4219 yyval.instance->loc.end.pos++;
4220 FreeIdentifier(yyvsp[(1) - (3)].id);
4226 yyval.instance->loc = (yyloc);
4227 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).start;
4233 yyval.instance->loc = (yyloc);
4234 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).start;
4240 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].list);
4241 yyval.instance->loc = (yyloc);
4242 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4243 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4244 yyval.instance->loc.end.charPos++;
4245 yyval.instance->loc.end.pos++;
4251 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (3)].list);
4252 yyval.instance->loc = (yyloc);
4253 yyval.instance->insideLoc.start = (yylsp[(1) - (3)]).end;
4254 yyval.instance->insideLoc.end = (yylsp[(2) - (3)]).end;
4255 yyval.instance->loc.end.charPos++;
4256 yyval.instance->loc.end.pos++;
4262 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), (((void *)0)));
4263 yyval.instance->loc = (yyloc);
4264 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4265 yyval.instance->insideLoc.end = (yylsp[(1) - (2)]).end;
4266 yyval.instance->loc.end.charPos++;
4267 yyval.instance->loc.end.pos++;
4273 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), (((void *)0)));
4274 yyval.instance->loc = (yyloc);
4275 yyval.instance->insideLoc.start = (yylsp[(1) - (1)]).end;
4276 yyval.instance->insideLoc.end = (yylsp[(1) - (1)]).end;
4277 yyval.instance->loc.end.charPos++;
4278 yyval.instance->loc.end.pos++;
4284 yyval.instance = MkInstantiation((((void *)0)), (((void *)0)), yyvsp[(2) - (2)].list);
4285 yyval.instance->loc = (yyloc);
4286 yyval.instance->insideLoc.start = (yylsp[(1) - (2)]).end;
4287 yyval.instance->insideLoc.end = (yylsp[(2) - (2)]).end;
4288 yyval.instance->loc.end.charPos++;
4289 yyval.instance->loc.end.pos++;
4295 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4296 yyval.memberInit->loc = (yyloc);
4297 yyval.memberInit->realLoc = (yyloc);
4303 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].initializer);
4304 yyval.memberInit->loc = (yyloc);
4305 yyval.memberInit->realLoc = (yyloc);
4306 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
4312 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (3)].exp, MkInitializerAssignment(MkExpDummy()));
4313 yyval.memberInit->loc = (yyloc);
4314 yyval.memberInit->realLoc = (yyloc);
4315 yyval.memberInit->initializer->loc.start = (yylsp[(2) - (3)]).end;
4316 yyval.memberInit->initializer->loc.end = (yylsp[(2) - (3)]).end;
4322 yyval.memberInit = MkMemberInitExp(yyvsp[(1) - (2)].exp, (((void *)0)));
4323 yyval.memberInit->loc = (yyloc);
4324 yyval.memberInit->realLoc = (yyloc);
4330 yyval.list = MkList();
4331 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4332 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4338 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4339 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4340 yyval.list = yyvsp[(1) - (3)].list;
4346 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4347 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4348 yyval.list = yyvsp[(1) - (3)].list;
4354 yyval.list = MkList();
4355 ListAdd(yyval.list, yyvsp[(1) - (1)].memberInit);
4356 ((struct MemberInit *)(*yyval.list).last)->loc = (yyloc);
4362 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4363 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4364 yyval.list = yyvsp[(1) - (3)].list;
4370 ((struct MemberInit *)(*yyvsp[(1) - (3)].list).last)->loc.end = (yylsp[(3) - (3)]).start;
4371 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].memberInit);
4372 yyval.list = yyvsp[(1) - (3)].list;
4378 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), yyvsp[(3) - (4)].id, (((void *)0)), (((void *)0)));
4379 yyval.prop->loc = (yyloc);
4385 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, yyvsp[(4) - (5)].id, (((void *)0)), (((void *)0)));
4386 yyval.prop->loc = (yyloc);
4392 yyval.prop = MkProperty(yyvsp[(2) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4393 yyval.prop->loc = (yyloc);
4399 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4400 yyval.prop->loc = (yyloc);
4406 yyval.prop = MkProperty((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4407 yyval.prop->loc = (yyloc);
4413 yyvsp[(1) - (3)].prop->setStmt = yyvsp[(3) - (3)].stmt;
4419 yyvsp[(1) - (3)].prop->getStmt = yyvsp[(3) - (3)].stmt;
4425 yyvsp[(1) - (3)].prop->issetStmt = yyvsp[(3) - (3)].stmt;
4431 yyvsp[(1) - (2)].prop->__anon1.isWatchable = 1;
4437 yyvsp[(1) - (3)].prop->category = yyvsp[(3) - (3)].exp;
4443 yyvsp[(1) - (2)].prop->loc.end = (yylsp[(2) - (2)]).end;
4444 yyval.prop = yyvsp[(1) - (2)].prop;
4450 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, (((void *)0)), yyvsp[(3) - (4)].id, (((void *)0)), (((void *)0)));
4451 yyval.prop->loc = (yyloc);
4457 yyval.prop = MkProperty(yyvsp[(2) - (5)].list, yyvsp[(3) - (5)].declarator, yyvsp[(4) - (5)].id, (((void *)0)), (((void *)0)));
4458 yyval.prop->loc = (yyloc);
4464 yyval.prop = MkProperty(yyvsp[(2) - (3)].list, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4465 yyval.prop->loc = (yyloc);
4471 yyval.prop = MkProperty(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].declarator, (((void *)0)), (((void *)0)), (((void *)0)));
4472 yyval.prop->loc = (yyloc);
4478 yyval.prop = MkProperty((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
4479 yyval.prop->loc = (yyloc);
4485 yyvsp[(1) - (3)].prop->setStmt = yyvsp[(3) - (3)].stmt;
4491 yyvsp[(1) - (3)].prop->getStmt = yyvsp[(3) - (3)].stmt;
4497 yyvsp[(1) - (2)].prop->loc.end = (yylsp[(2) - (2)]).end;
4503 yyval.list = MkListOne(yyvsp[(1) - (1)].id);
4509 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].id);
4515 yyval.propertyWatch = MkPropertyWatch(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
4521 yyval.propertyWatch = MkDeleteWatch(yyvsp[(2) - (2)].stmt);
4527 yyval.list = MkListOne(yyvsp[(1) - (1)].propertyWatch);
4533 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].propertyWatch);
4539 yyval.propertyWatch = MkPropertyWatch(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
4545 yyval.stmt = MkWatchStmt((((void *)0)), yyvsp[(3) - (7)].exp, yyvsp[(6) - (7)].list);
4551 yyval.stmt = MkWatchStmt(yyvsp[(1) - (9)].exp, yyvsp[(5) - (9)].exp, yyvsp[(8) - (9)].list);
4557 yyval.stmt = MkStopWatchingStmt((((void *)0)), yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].list);
4563 yyval.stmt = MkStopWatchingStmt(yyvsp[(1) - (8)].exp, yyvsp[(5) - (8)].exp, yyvsp[(7) - (8)].list);
4569 yyval.stmt = MkStopWatchingStmt((((void *)0)), yyvsp[(3) - (4)].exp, (((void *)0)));
4575 yyval.stmt = MkStopWatchingStmt(yyvsp[(1) - (6)].exp, yyvsp[(5) - (6)].exp, (((void *)0)));
4581 yyval.stmt = MkFireWatchersStmt((((void *)0)), (((void *)0)));
4587 yyval.stmt = MkFireWatchersStmt((((void *)0)), yyvsp[(2) - (2)].list);
4593 yyval.stmt = MkFireWatchersStmt(yyvsp[(1) - (3)].exp, (((void *)0)));
4599 yyval.stmt = MkFireWatchersStmt(yyvsp[(1) - (4)].exp, yyvsp[(4) - (4)].list);
4605 yyval.classDef = yyvsp[(1) - (2)].classDef;
4606 yyval.classDef->loc.end = (yylsp[(2) - (2)]).end;
4612 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (2)].list);
4613 if((*yyvsp[(1) - (2)].list).last)
4614 ((struct MemberInit *)(*yyvsp[(1) - (2)].list).last)->loc.end = (yylsp[(2) - (2)]).start;
4615 yyval.classDef->loc = (yyloc);
4621 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4622 yyval.classDef->loc = (yyloc);
4623 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4629 yyval.classDef = MkClassDefProperty(yyvsp[(1) - (1)].prop);
4630 yyval.classDef->loc = (yyloc);
4631 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4637 yyval.classDef = MkClassDefFunction(yyvsp[(2) - (2)].classFunction);
4638 yyval.classDef->loc = (yyloc);
4639 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4645 yyval.classDef = MkClassDefProperty(yyvsp[(2) - (2)].prop);
4646 yyval.classDef->loc = (yyloc);
4647 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4653 yyval.classDef = MkClassDefClassProperty(yyvsp[(1) - (1)].prop);
4654 yyval.classDef->loc = (yyloc);
4660 yyval.classDef = (((void *)0));
4661 deleteWatchable = 1;
4667 yyval.classDef = MkClassDefNoExpansion();
4673 yyval.classDef = MkClassDefFixed();
4679 yyval.classDef = MkClassDefClassPropertyValue(yyvsp[(3) - (7)].id, yyvsp[(6) - (7)].initializer);
4680 yyval.classDef->loc = (yyloc);
4686 yyval.classDef = (((void *)0));
4692 memberAccessStack[defaultMemberAccess] = yyvsp[(1) - (2)].declMode;
4693 if(defaultMemberAccess == 0)
4695 yyval.classDef = MkClassDefMemberAccess();
4696 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4697 yyval.classDef->loc = (yyloc);
4700 yyval.classDef = (((void *)0));
4706 yyval.classDef = MkClassDefAccessOverride(yyvsp[(1) - (4)].declMode, yyvsp[(3) - (4)].id);
4707 yyval.classDef->loc = (yyloc);
4713 yyval.classDef = MkClassDefFunction(yyvsp[(1) - (1)].classFunction);
4714 yyval.classDef->loc = yyvsp[(1) - (1)].classFunction->loc;
4715 yyval.classDef->loc.end.charPos++;
4716 yyval.classDef->loc.end.pos++;
4717 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4723 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (1)].list, (((void *)0)), (((void *)0))));
4724 yyval.classDef->__anon1.decl->loc = (yyloc);
4725 yyval.classDef->loc = (yyloc);
4726 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4732 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list, (((void *)0))));
4733 yyval.classDef->__anon1.decl->loc = (yyloc);
4734 yyval.classDef->loc = (yyloc);
4735 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4741 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
4742 yyval.classDef->__anon1.decl->loc = (yyloc);
4743 yyval.classDef->loc = (yyloc);
4744 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4750 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (2)].list, (((void *)0)), (((void *)0))));
4751 yyval.classDef->__anon1.decl->loc = (yyloc);
4752 yyval.classDef->loc = (yyloc);
4753 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4759 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
4760 yyval.classDef->loc = (yyloc);
4761 yyval.classDef->__anon1.decl->loc = (yyloc);
4762 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4768 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
4769 yyval.classDef->loc = (yyloc);
4770 yyval.classDef->__anon1.decl->loc = (yyloc);
4771 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4777 yyval.classDef = MkClassDefClassData(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
4778 yyval.classDef->__anon1.decl->loc = (yyloc);
4779 yyval.classDef->loc = (yyloc);
4785 yyval.classDef = MkClassDefPropertyWatch(yyvsp[(1) - (1)].propertyWatch);
4786 yyval.classDef->loc = (yyloc);
4792 yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].id->string);
4793 FreeIdentifier(yyvsp[(2) - (2)].id);
4799 yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
4800 FreeSpecifier(yyvsp[(2) - (2)].specifier);
4806 yyval.classDef = MkClassDefDesignerDefaultProperty(yyvsp[(2) - (2)].id);
4812 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
4813 yyval.classDef->loc = (yyloc);
4814 yyval.classDef->__anon1.decl->loc = (yyloc);
4815 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4821 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
4822 yyval.classDef->loc = (yyloc);
4823 yyval.classDef->__anon1.decl->loc = (yyloc);
4824 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4830 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (1)].list);
4831 if((*yyvsp[(1) - (1)].list).last)
4832 ((struct MemberInit *)(*yyvsp[(1) - (1)].list).last)->loc.end = (yylsp[(1) - (1)]).end;
4833 yyval.classDef->loc = (yyloc);
4839 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4840 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
4841 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4842 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4848 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
4849 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
4850 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4851 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
4857 yyval.classDef = MkClassDefFunction(yyvsp[(2) - (2)].classFunction);
4858 yyval.classDef->loc = (yyloc);
4859 yyval.classDef->loc.end.charPos++;
4860 yyval.classDef->loc.end.pos++;
4861 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
4867 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
4868 yyval.classDef->loc = (yyloc);
4869 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4870 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4876 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
4877 yyval.classDef->loc = (yyloc);
4878 yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
4879 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
4885 yyval.classDef = MkClassDefDefaultProperty(yyvsp[(1) - (1)].list);
4886 yyval.classDef->loc = (yyloc);
4887 yyval.classDef->loc.end.charPos++;
4888 yyval.classDef->loc.end.pos++;
4894 yyval.list = MkList();
4895 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4901 yyval.list = yyvsp[(1) - (2)].list;
4902 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4908 yyval.list = yyvsp[(1) - (2)].list;
4909 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].classDef);
4916 yyval.list = MkList();
4917 ListAdd(yyval.list, yyvsp[(1) - (1)].classDef);
4924 yyval.list = yyvsp[(1) - (2)].list;
4925 ListAdd(yyval.list, yyvsp[(2) - (2)].classDef);
4931 yyval.list = yyvsp[(1) - (2)].list;
4932 ListAdd(yyval.list, yyvsp[(2) - (2)].classDef);
4938 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0)));
4944 yyval.templateDatatype = MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
4950 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (1)].list, (((void *)0))));
4956 yyval.templateArgument = MkTemplateTypeArgument(MkTemplateDatatype(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator));
4962 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (2)].id, (((void *)0)), (((void *)0)));
4968 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (4)].id, (((void *)0)), yyvsp[(4) - (4)].templateArgument);
4974 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (4)].id, yyvsp[(4) - (4)].templateDatatype, (((void *)0)));
4980 yyval.templateParameter = MkTypeTemplateParameter(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].templateDatatype, yyvsp[(6) - (6)].templateArgument);
4986 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (2)].string), (((void *)0)), (((void *)0)));
4987 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
4993 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (4)].string), (((void *)0)), yyvsp[(4) - (4)].templateArgument);
4999 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (4)].string), yyvsp[(4) - (4)].templateDatatype, (((void *)0)));
5005 yyval.templateParameter = MkTypeTemplateParameter(MkIdentifier(yyvsp[(2) - (6)].string), yyvsp[(4) - (6)].templateDatatype, yyvsp[(6) - (6)].templateArgument);
5011 yyval.templateArgument = MkTemplateIdentifierArgument(yyvsp[(1) - (1)].id);
5017 yyval.templateParameter = MkIdentifierTemplateParameter(yyvsp[(1) - (1)].id, 0, (((void *)0)));
5023 yyval.templateParameter = MkIdentifierTemplateParameter(yyvsp[(1) - (3)].id, 0, yyvsp[(3) - (3)].templateArgument);
5029 yyval.templateArgument = MkTemplateExpressionArgument(yyvsp[(1) - (1)].exp);
5035 yyval.templateParameter = MkExpressionTemplateParameter(yyvsp[(2) - (4)].id, MkTemplateDatatype(yyvsp[(1) - (4)].list, (((void *)0))), yyvsp[(4) - (4)].templateArgument);
5041 yyval.templateParameter = MkExpressionTemplateParameter(yyvsp[(3) - (5)].id, MkTemplateDatatype(yyvsp[(1) - (5)].list, yyvsp[(2) - (5)].declarator), yyvsp[(5) - (5)].templateArgument);
5047 yyval.list = MkList();
5048 ListAdd(yyval.list, yyvsp[(1) - (1)].templateParameter);
5054 yyval.list = yyvsp[(1) - (3)].list;
5055 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateParameter);
5061 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5062 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5063 yyval.templateArgument->loc = (yyloc);
5069 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5070 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5071 yyval.templateArgument->loc = (yyloc);
5077 yyval.templateArgument = yyvsp[(3) - (3)].templateArgument;
5078 yyval.templateArgument->name = yyvsp[(1) - (3)].id;
5079 yyval.templateArgument->loc = (yyloc);
5085 yyval.list = MkList();
5086 ListAdd(yyval.list, yyvsp[(1) - (1)].templateArgument);
5092 yyval.list = yyvsp[(1) - (3)].list;
5093 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].templateArgument);
5099 if(curContext != globalContext)
5100 PopContext(curContext);
5101 yyval.context = PushContext();
5107 (void)yyvsp[(1) - (2)].context;
5108 yyval.symbol = DeclClassAddNameSpace(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
5109 FreeIdentifier(yyvsp[(2) - (2)].id);
5110 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
5111 memberAccessStack[++defaultMemberAccess] = 2;
5117 (void)yyvsp[(1) - (2)].context;
5118 yyval.symbol = DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
5119 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
5120 FreeSpecifier(yyvsp[(2) - (2)].specifier);
5121 ++defaultMemberAccess;
5122 memberAccessStack[defaultMemberAccess] = 2;
5128 (void)yyvsp[(2) - (3)].context;
5129 yyval.symbol = DeclClassAddNameSpace(yyvsp[(3) - (3)].id->_class, yyvsp[(3) - (3)].id->string);
5130 FreeIdentifier(yyvsp[(1) - (3)].id);
5131 FreeIdentifier(yyvsp[(3) - (3)].id);
5132 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
5133 yyval.symbol->isRemote = 1;
5134 memberAccessStack[++defaultMemberAccess] = 2;
5140 (void)yyvsp[(2) - (3)].context;
5141 yyval.symbol = DeclClass(yyvsp[(3) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
5142 FreeIdentifier(yyvsp[(1) - (3)].id);
5143 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
5144 yyval.symbol->isRemote = 1;
5145 FreeSpecifier(yyvsp[(3) - (3)].specifier);
5146 memberAccessStack[++defaultMemberAccess] = 2;
5152 (void)yyvsp[(1) - (5)].context;
5153 yyval.symbol = DeclClassAddNameSpace(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
5154 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
5155 FreeIdentifier(yyvsp[(2) - (5)].id);
5156 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
5157 memberAccessStack[++defaultMemberAccess] = 2;
5163 (void)yyvsp[(1) - (5)].context;
5164 yyval.symbol = DeclClass(yyvsp[(2) - (5)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
5165 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
5166 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
5167 FreeSpecifier(yyvsp[(2) - (5)].specifier);
5168 ++defaultMemberAccess;
5169 memberAccessStack[defaultMemberAccess] = 2;
5175 (void)yyvsp[(2) - (6)].context;
5176 yyval.symbol = DeclClassAddNameSpace(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
5177 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
5178 FreeIdentifier(yyvsp[(1) - (6)].id);
5179 FreeIdentifier(yyvsp[(3) - (6)].id);
5180 yyval.symbol->nameLoc = (yylsp[(3) - (6)]);
5181 yyval.symbol->isRemote = 1;
5182 memberAccessStack[++defaultMemberAccess] = 2;
5188 (void)yyvsp[(2) - (6)].context;
5189 yyval.symbol = DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
5190 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
5191 FreeIdentifier(yyvsp[(1) - (6)].id);
5192 yyval.symbol->nameLoc = (yylsp[(3) - (6)]);
5193 yyval.symbol->isRemote = 1;
5194 FreeSpecifier(yyvsp[(3) - (6)].specifier);
5195 memberAccessStack[++defaultMemberAccess] = 2;
5201 yyval._class->loc = (yyloc);
5202 yyval._class = yyvsp[(1) - (2)]._class;
5208 yyval._class = yyvsp[(1) - (2)]._class;
5209 yyval._class->definitions = MkList();
5210 yyval._class->blockStart = (yylsp[(2) - (2)]);
5211 yyval._class->loc = (yyloc);
5212 if(defaultMemberAccess > -1)
5213 defaultMemberAccess--;
5214 PopContext(curContext);
5220 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), MkList());
5221 yyval._class->blockStart = (yylsp[(2) - (3)]);
5222 yyval._class->loc = (yyloc);
5223 if(defaultMemberAccess > -1)
5224 defaultMemberAccess--;
5225 PopContext(curContext);
5231 yyval._class = yyvsp[(1) - (3)]._class;
5232 yyval._class->definitions = MkList();
5233 yyval._class->blockStart = (yylsp[(2) - (3)]);
5234 yyval._class->loc = (yyloc);
5235 if(defaultMemberAccess > -1)
5236 defaultMemberAccess--;
5237 PopContext(curContext);
5243 (void)yyvsp[(1) - (3)].context;
5244 yyval._class = MkClass(DeclClassAddNameSpace(yyvsp[(2) - (3)].id->_class, yyvsp[(2) - (3)].id->string), (((void *)0)), (((void *)0)));
5245 FreeIdentifier(yyvsp[(2) - (3)].id);
5246 if(defaultMemberAccess > -1)
5247 defaultMemberAccess--;
5248 PopContext(curContext);
5254 (void)yyvsp[(1) - (3)].context;
5255 yyval._class = MkClass(DeclClass(yyvsp[(2) - (3)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (3)].specifier->__anon1.__anon1.name), (((void *)0)), (((void *)0)));
5256 FreeSpecifier(yyvsp[(2) - (3)].specifier);
5257 if(defaultMemberAccess > -1)
5258 defaultMemberAccess--;
5259 PopContext(curContext);
5265 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, yyvsp[(3) - (3)].list, (((void *)0)));
5271 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), yyvsp[(3) - (3)].list);
5272 yyval._class->deleteWatchable = deleteWatchable;
5273 deleteWatchable = 0;
5274 yyval._class->blockStart = (yylsp[(2) - (3)]);
5275 yyval._class->loc = (yyloc);
5276 yyval._class->loc.end.charPos++;
5277 yyval._class->loc.end.pos++;
5278 if(defaultMemberAccess > -1)
5279 defaultMemberAccess--;
5280 PopContext(curContext);
5286 yyval._class = yyvsp[(1) - (3)]._class;
5287 yyval._class->definitions = yyvsp[(3) - (3)].list;
5288 yyval._class->deleteWatchable = deleteWatchable;
5289 deleteWatchable = 0;
5290 yyval._class->blockStart = (yylsp[(2) - (3)]);
5291 yyval._class->loc = (yyloc);
5292 yyval._class->loc.end.charPos++;
5293 yyval._class->loc.end.pos++;
5294 if(defaultMemberAccess > -1)
5295 defaultMemberAccess--;
5296 PopContext(curContext);
5302 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), yyvsp[(3) - (3)].list);
5303 yyval._class->deleteWatchable = deleteWatchable;
5304 deleteWatchable = 0;
5305 yyval._class->blockStart = (yylsp[(2) - (3)]);
5306 yyval._class->loc = (yyloc);
5307 yyval._class->loc.end.charPos++;
5308 yyval._class->loc.end.pos++;
5309 if(defaultMemberAccess > -1)
5310 defaultMemberAccess--;
5311 PopContext(curContext);
5317 yyval._class = yyvsp[(1) - (3)]._class;
5318 yyval._class->definitions = yyvsp[(3) - (3)].list;
5319 yyval._class->deleteWatchable = deleteWatchable;
5320 deleteWatchable = 0;
5321 yyval._class->blockStart = (yylsp[(2) - (3)]);
5322 yyval._class->loc = (yyloc);
5323 yyval._class->loc.end.charPos++;
5324 yyval._class->loc.end.pos++;
5325 if(defaultMemberAccess > -1)
5326 defaultMemberAccess--;
5327 PopContext(curContext);
5333 yyval._class = MkClass(yyvsp[(1) - (3)].symbol, (((void *)0)), MkList());
5334 yyval._class->deleteWatchable = deleteWatchable;
5335 deleteWatchable = 0;
5336 yyval._class->blockStart = (yylsp[(2) - (3)]);
5337 yyval._class->loc = (yyloc);
5338 yyval._class->loc.end.charPos++;
5339 yyval._class->loc.end.pos++;
5340 if(defaultMemberAccess > -1)
5341 defaultMemberAccess--;
5342 PopContext(curContext);
5348 yyval._class = yyvsp[(1) - (3)]._class;
5349 yyval._class->definitions = MkList();
5350 yyval._class->deleteWatchable = deleteWatchable;
5351 deleteWatchable = 0;
5352 yyval._class->blockStart = (yylsp[(2) - (3)]);
5353 yyval._class->loc = (yyloc);
5354 yyval._class->loc.end.charPos++;
5355 yyval._class->loc.end.pos++;
5356 if(defaultMemberAccess > -1)
5357 defaultMemberAccess--;
5358 PopContext(curContext);
5364 yyval.id = MkIdentifier(yytext);
5365 yyval.id->loc = (yylsp[(1) - (1)]);
5371 yyval.exp = MkExpBrackets(yyvsp[(2) - (3)].list);
5372 yyval.exp->loc = (yyloc);
5378 yyval.exp = MkExpString(yyvsp[(1) - (1)].string);
5379 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (1)].string), yyvsp[(1) - (1)].string = 0);
5380 yyval.exp->loc = (yyloc);
5386 yyval.exp = MkExpIntlString(yyvsp[(2) - (2)].string, (((void *)0)));
5387 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (2)].string), yyvsp[(2) - (2)].string = 0);
5388 yyval.exp->loc = (yyloc);
5394 yyval.exp = MkExpIntlString(yyvsp[(4) - (4)].string, yyvsp[(2) - (4)].string);
5395 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(2) - (4)].string), yyvsp[(2) - (4)].string = 0);
5396 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(4) - (4)].string), yyvsp[(4) - (4)].string = 0);
5397 yyval.exp->loc = (yyloc);
5403 yyval.exp = MkExpConstant(yytext);
5404 yyval.exp->loc = (yyloc);
5410 yyval.exp = MkExpIdentifier(yyvsp[(1) - (1)].id);
5411 yyval.exp->loc = (yyloc);
5417 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
5418 yyval.exp->loc = (yyloc);
5424 yyval.exp = MkExpExtensionCompound(yyvsp[(3) - (4)].stmt);
5425 yyval.exp->loc = (yyloc);
5431 yyval.exp = MkExpExtensionExpression(yyvsp[(3) - (4)].list);
5432 yyval.exp->loc = (yyloc);
5438 yyval.exp = MkExpExtensionInitializer(yyvsp[(3) - (5)].typeName, yyvsp[(5) - (5)].initializer);
5439 yyval.exp->loc = (yyloc);
5445 yyval.exp = MkExpExtensionInitializer(yyvsp[(3) - (8)].typeName, MkInitializerAssignment(MkExpExtensionInitializer(yyvsp[(6) - (8)].typeName, yyvsp[(8) - (8)].initializer)));
5446 yyval.exp->loc = (yyloc);
5452 char * constant = yyvsp[(1) - (2)].exp->__anon1.__anon1.constant;
5453 int len = strlen(constant);
5455 if(constant[len - 1] == '.')
5457 constant[len - 1] = 0;
5458 yyval.exp = MkExpMember(yyvsp[(1) - (2)].exp, yyvsp[(2) - (2)].id);
5459 yyval.exp->loc = (yyloc);
5468 yyval.exp = yyvsp[(1) - (1)].exp;
5474 yyval.exp = MkExpWideString(yytext);
5475 yyval.exp->loc = (yyloc);
5481 struct Expression * exp = MkExpDummy();
5483 exp->loc.start = (yylsp[(1) - (2)]).end;
5484 exp->loc.end = (yylsp[(2) - (2)]).start;
5485 yyval.exp = MkExpBrackets(MkListOne(exp));
5486 yyval.exp->loc = (yyloc);
5493 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5494 yyval.exp->loc = (yyloc);
5500 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5501 yyval.exp->loc = (yyloc);
5507 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5508 yyval.exp->loc = (yyloc);
5514 yyval.exp = MkExpNew(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5515 yyval.exp->loc = (yyloc);
5521 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5522 yyval.exp->loc = (yyloc);
5528 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (6)].list, yyvsp[(3) - (6)].declarator), yyvsp[(5) - (6)].exp);
5529 yyval.exp->loc = (yyloc);
5535 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5536 yyval.exp->loc = (yyloc);
5542 yyval.exp = MkExpNew0(MkTypeName(yyvsp[(2) - (5)].list, (((void *)0))), yyvsp[(4) - (5)].exp);
5543 yyval.exp->loc = (yyloc);
5549 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5550 yyval.exp->loc = (yyloc);
5556 yyval.exp = MkExpRenew(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5557 yyval.exp->loc = (yyloc);
5563 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5564 yyval.exp->loc = (yyloc);
5570 yyval.exp = MkExpRenew(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5571 yyval.exp->loc = (yyloc);
5577 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5578 yyval.exp->loc = (yyloc);
5584 yyval.exp = MkExpRenew0(yyvsp[(2) - (7)].exp, MkTypeName(yyvsp[(3) - (7)].list, yyvsp[(4) - (7)].declarator), yyvsp[(6) - (7)].exp);
5585 yyval.exp->loc = (yyloc);
5591 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5592 yyval.exp->loc = (yyloc);
5598 yyval.exp = MkExpRenew0(yyvsp[(2) - (6)].exp, MkTypeName(yyvsp[(3) - (6)].list, (((void *)0))), yyvsp[(5) - (6)].exp);
5599 yyval.exp->loc = (yyloc);
5605 yyval.exp = MkExpClass(yyvsp[(3) - (4)].list, (((void *)0)));
5606 yyval.exp->loc = (yyloc);
5612 yyval.exp = MkExpClass(yyvsp[(3) - (5)].list, yyvsp[(4) - (5)].declarator);
5613 yyval.exp->loc = (yyloc);
5619 yyval.exp = MkExpClass(MkListOne(MkSpecifierName(yyvsp[(3) - (4)].id->string)), (((void *)0)));
5620 FreeIdentifier(yyvsp[(3) - (4)].id);
5621 yyval.exp->loc = (yyloc);
5627 yyval.exp = MkExpVaArg(yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].typeName);
5628 yyval.exp->loc = (yyloc);
5634 yyval.exp = MkExpClassData(yyvsp[(3) - (4)].id);
5635 yyval.exp->loc = (yyloc);
5641 yyval.exp = MkExpArray(yyvsp[(2) - (3)].list);
5642 yyval.exp->loc = (yyloc);
5648 yyval.exp = MkExpArray((((void *)0)));
5649 yyval.exp->loc = (yyloc);
5655 yyval.exp = MkExpInstance(yyvsp[(1) - (1)].instance);
5656 yyval.exp->loc = (yyloc);
5662 yyval.exp = MkExpInstance(yyvsp[(1) - (2)].instance);
5663 yyval.exp->loc = (yyloc);
5670 yyval.exp = MkExpBrackets(yyvsp[(2) - (2)].list);
5671 yyval.exp->loc = (yyloc);
5677 yyval.exp = MkExpBrackets(yyvsp[(2) - (2)].list);
5678 yyval.exp->loc = (yyloc);
5684 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5685 yyval.exp->loc = (yyloc);
5691 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5692 yyval.exp->loc = (yyloc);
5698 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
5699 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
5700 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
5701 yyval.exp->loc = (yyloc);
5707 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5708 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5709 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5710 yyval.exp->loc = (yyloc);
5716 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5717 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5718 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5719 yyval.exp->loc = (yyloc);
5720 if((*yyvsp[(3) - (4)].list).last)
5721 ((struct Expression *)(*yyvsp[(3) - (4)].list).last)->loc.end = (yylsp[(4) - (4)]).start;
5727 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5728 yyval.exp->loc = (yyloc);
5734 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5735 yyval.exp->loc = (yyloc);
5741 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
5742 yyval.exp->loc = (yyloc);
5748 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
5749 yyval.exp->loc = (yyloc);
5755 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5756 yyval.exp->loc = (yyloc);
5762 yyval.exp = MkExpIndex(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5763 yyval.exp->loc = (yyloc);
5769 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
5770 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
5771 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
5772 yyval.exp->loc = (yyloc);
5778 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
5779 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
5780 yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
5781 yyval.exp->loc = (yyloc);
5787 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5788 yyval.exp->loc = (yyloc);
5794 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].id);
5795 yyval.exp->loc = (yyloc);
5801 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, INC_OP, (((void *)0)));
5802 yyval.exp->loc = (yyloc);
5808 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, DEC_OP, (((void *)0)));
5809 yyval.exp->loc = (yyloc);
5815 yyval.list = MkList();
5816 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5822 yyval.list = MkList();
5823 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5829 yyval.list = yyvsp[(1) - (3)].list;
5830 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5836 yyval.list = yyvsp[(1) - (3)].list;
5837 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5843 yyval.list = MkList();
5844 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5850 yyval.list = MkList();
5851 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
5857 yyval.list = yyvsp[(1) - (3)].list;
5858 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5864 yyval.list = yyvsp[(1) - (3)].list;
5865 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
5871 struct Expression * exp = MkExpDummy();
5874 exp->loc.start = (yylsp[(2) - (2)]).end;
5875 exp->loc.end = (yylsp[(2) - (2)]).end;
5876 yyval.list = yyvsp[(1) - (2)].list;
5877 ListAdd(yyvsp[(1) - (2)].list, exp);
5883 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
5884 yyval.exp->loc = (yyloc);
5890 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
5891 yyval.exp->loc = (yyloc);
5897 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
5898 yyval.exp->loc = (yyloc);
5904 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
5905 yyval.exp->loc = (yyloc);
5911 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
5912 yyval.exp->loc = (yyloc);
5918 yyval.exp = MkExpTypeSize(yyvsp[(3) - (4)].typeName);
5919 yyval.exp->loc = (yyloc);
5925 yyval.exp = MkExpClassSize(yyvsp[(4) - (5)].specifier);
5926 yyval.exp->loc = (yyloc);
5932 yyval.exp = MkExpClassSize(yyvsp[(4) - (5)].specifier);
5933 yyval.exp->loc = (yyloc);
5939 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
5940 yyval.exp->loc = (yyloc);
5946 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (4)].typeName);
5947 yyval.exp->loc = (yyloc);
5953 yyval.exp = MkExpOffsetOf(yyvsp[(3) - (6)].typeName, yyvsp[(5) - (6)].id);
5954 yyval.exp->loc = (yyloc);
6008 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
6009 yyval.exp->loc = (yyloc);
6015 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
6016 yyval.exp->loc = (yyloc);
6022 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
6023 yyval.exp->loc = (yyloc);
6029 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6030 yyval.exp->loc = (yyloc);
6036 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
6037 yyval.exp->loc = (yyloc);
6043 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
6044 yyval.exp->loc = (yyloc);
6050 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6051 yyval.exp->loc = (yyloc);
6057 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6058 yyval.exp->loc = (yyloc);
6064 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6065 yyval.exp->loc = (yyloc);
6071 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6072 yyval.exp->loc = (yyloc);
6078 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6079 yyval.exp->loc = (yyloc);
6085 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6086 yyval.exp->loc = (yyloc);
6092 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6093 yyval.exp->loc = (yyloc);
6099 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6100 yyval.exp->loc = (yyloc);
6106 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6107 yyval.exp->loc = (yyloc);
6113 yyval.exp = yyvsp[(1) - (2)].exp;
6121 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
6122 yyval.exp->loc = (yyloc);
6128 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6129 yyval.exp->loc = (yyloc);
6135 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6136 yyval.exp->loc = (yyloc);
6142 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6143 yyval.exp->loc = (yyloc);
6149 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp);
6150 yyval.exp->loc = (yyloc);
6156 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6157 yyval.exp->loc = (yyloc);
6163 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6164 yyval.exp->loc = (yyloc);
6170 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6171 yyval.exp->loc = (yyloc);
6177 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6178 yyval.exp->loc = (yyloc);
6184 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6185 yyval.exp->loc = (yyloc);
6191 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6192 yyval.exp->loc = (yyloc);
6198 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6199 yyval.exp->loc = (yyloc);
6205 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6206 yyval.exp->loc = (yyloc);
6212 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6213 yyval.exp->loc = (yyloc);
6219 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6220 yyval.exp->loc = (yyloc);
6226 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6227 yyval.exp->loc = (yyloc);
6233 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6234 yyval.exp->loc = (yyloc);
6240 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6241 yyval.exp->loc = (yyloc);
6247 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6248 yyval.exp->loc = (yyloc);
6254 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
6255 yyval.exp->loc = (yyloc);
6261 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6262 yyval.exp->loc = (yyloc);
6268 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6269 yyval.exp->loc = (yyloc);
6275 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6276 yyval.exp->loc = (yyloc);
6282 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
6283 yyval.exp->loc = (yyloc);
6289 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6290 yyval.exp->loc = (yyloc);
6296 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6297 yyval.exp->loc = (yyloc);
6303 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6304 yyval.exp->loc = (yyloc);
6310 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
6311 yyval.exp->loc = (yyloc);
6317 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
6318 yyval.exp->loc = (yyloc);
6324 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
6325 yyval.exp->loc = (yyloc);
6331 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
6332 yyval.exp->loc = (yyloc);
6338 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
6339 yyval.exp->loc = (yyloc);
6345 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6346 yyval.exp->loc = (yyloc);
6352 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6353 yyval.exp->loc = (yyloc);
6359 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6360 yyval.exp->loc = (yyloc);
6366 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6367 yyval.exp->loc = (yyloc);
6373 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6374 yyval.exp->loc = (yyloc);
6380 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6381 yyval.exp->loc = (yyloc);
6387 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6388 yyval.exp->loc = (yyloc);
6394 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6395 yyval.exp->loc = (yyloc);
6401 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6402 yyval.exp->loc = (yyloc);
6408 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6409 yyval.exp->loc = (yyloc);
6415 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6416 yyval.exp->loc = (yyloc);
6422 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6423 yyval.exp->loc = (yyloc);
6429 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6430 yyval.exp->loc = (yyloc);
6436 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6437 yyval.exp->loc = (yyloc);
6443 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6444 yyval.exp->loc = (yyloc);
6450 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
6451 yyval.exp->loc = (yyloc);
6457 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6458 yyval.exp->loc = (yyloc);
6464 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6465 yyval.exp->loc = (yyloc);
6471 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "l-value expected\n", (((void *)0))));
6472 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6473 yyval.exp->loc = (yyloc);
6479 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "l-value expected\n", (((void *)0))));
6480 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6481 yyval.exp->loc = (yyloc);
6487 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6488 yyval.exp->loc = (yyloc);
6494 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6495 yyval.exp->loc = (yyloc);
6501 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6502 yyval.exp->loc = (yyloc);
6508 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
6509 yyval.exp->loc = (yyloc);
6521 yyval.i = MUL_ASSIGN;
6527 yyval.i = DIV_ASSIGN;
6533 yyval.i = MOD_ASSIGN;
6539 yyval.i = ADD_ASSIGN;
6545 yyval.i = SUB_ASSIGN;
6551 yyval.i = LEFT_ASSIGN;
6557 yyval.i = RIGHT_ASSIGN;
6563 yyval.i = AND_ASSIGN;
6569 yyval.i = XOR_ASSIGN;
6575 yyval.i = OR_ASSIGN;
6581 yyval.list = MkList();
6582 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
6588 yyval.list = yyvsp[(1) - (3)].list;
6589 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6595 yyval.list = yyvsp[(1) - (3)].list;
6596 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6602 yyval.list = MkList();
6603 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
6609 yyval.list = yyvsp[(1) - (3)].list;
6610 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6616 yyval.list = yyvsp[(1) - (3)].list;
6617 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
6623 yyval.exp = MkExpDummy();
6624 yyval.exp->loc = (yyloc);
6630 yyval.exp = MkExpInstance(yyvsp[(1) - (2)].instance);
6631 yyval.exp->loc = (yyloc);
6637 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, (((void *)0)));
6638 yyval.exp->loc = (yyloc);
6644 yyval.exp = MkExpPointer(yyvsp[(1) - (3)].exp, (((void *)0)));
6645 yyval.exp->loc = (yyloc);
6652 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6653 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
6654 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
6655 yyval.exp->loc = (yyloc);
6656 yyval.exp->__anon1.call.argLoc.end.charPos++;
6662 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6663 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
6664 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
6665 yyval.exp->loc = (yyloc);
6666 yyval.exp->__anon1.call.argLoc.end.charPos++;
6672 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, (((void *)0)));
6673 yyval.exp->loc = (yyloc);
6679 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
6680 yyval.exp->loc = (yyloc);
6681 yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
6682 yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
6683 yyval.exp->__anon1.call.argLoc.end.charPos++;
6689 yyval.exp = MkExpMember(yyvsp[(1) - (3)].exp, (((void *)0)));
6690 yyval.exp->loc = (yyloc);
6696 yyval.exp = MkExpOp((((void *)0)), INC_OP, yyvsp[(2) - (2)].exp);
6697 yyval.exp->loc = (yyloc);
6703 yyval.exp = MkExpOp((((void *)0)), DEC_OP, yyvsp[(2) - (2)].exp);
6704 yyval.exp->loc = (yyloc);
6710 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
6711 yyval.exp->loc = (yyloc);
6717 yyval.exp = MkExpOp((((void *)0)), yyvsp[(1) - (2)].i, yyvsp[(2) - (2)].exp);
6718 yyval.exp->loc = (yyloc);
6724 yyval.exp = MkExpOp((((void *)0)), SIZEOF, yyvsp[(2) - (2)].exp);
6725 yyval.exp->loc = (yyloc);
6731 yyval.exp = MkExpTypeSize(yyvsp[(3) - (5)].typeName);
6732 yyval.exp->loc = (yyloc);
6738 yyval.exp = MkExpClassSize(yyvsp[(4) - (6)].specifier);
6739 yyval.exp->loc = (yyloc);
6745 yyval.exp = MkExpClassSize(yyvsp[(4) - (6)].specifier);
6746 yyval.exp->loc = (yyloc);
6752 yyval.exp = MkExpOp((((void *)0)), ALIGNOF, yyvsp[(2) - (2)].exp);
6753 yyval.exp->loc = (yyloc);
6759 yyval.exp = MkExpTypeAlign(yyvsp[(3) - (5)].typeName);
6760 yyval.exp->loc = (yyloc);
6766 yyval.exp = MkExpCast(yyvsp[(2) - (4)].typeName, yyvsp[(4) - (4)].exp);
6767 yyval.exp->loc = (yyloc);
6773 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
6774 yyval.exp->loc = (yyloc);
6780 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
6781 yyval.exp->loc = (yyloc);
6787 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6788 yyval.exp->loc = (yyloc);
6794 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '*', yyvsp[(3) - (3)].exp);
6795 yyval.exp->loc = (yyloc);
6801 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '/', yyvsp[(3) - (3)].exp);
6802 yyval.exp->loc = (yyloc);
6808 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '%', yyvsp[(3) - (3)].exp);
6809 yyval.exp->loc = (yyloc);
6815 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6816 yyval.exp->loc = (yyloc);
6822 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6823 yyval.exp->loc = (yyloc);
6829 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '+', yyvsp[(3) - (3)].exp);
6830 yyval.exp->loc = (yyloc);
6836 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '-', yyvsp[(3) - (3)].exp);
6837 yyval.exp->loc = (yyloc);
6843 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6844 yyval.exp->loc = (yyloc);
6850 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6851 yyval.exp->loc = (yyloc);
6857 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LEFT_OP, yyvsp[(3) - (3)].exp);
6858 yyval.exp->loc = (yyloc);
6864 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, RIGHT_OP, yyvsp[(3) - (3)].exp);
6865 yyval.exp->loc = (yyloc);
6871 if(yyvsp[(1) - (2)].exp->type == 0)
6873 _DeclClass(yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->_class, yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->string);
6875 FreeExpression(yyvsp[(1) - (2)].exp);
6876 FreeExpression(yyvsp[(2) - (2)].exp);
6878 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
6880 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
6881 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
6883 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
6884 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
6885 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).start.pos, 0) : (unsigned int)1;
6887 resetScannerPos(&(yylsp[(1) - (2)]).start);
6889 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
6894 yy_stack_print((yyss), (yyssp));
6896 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
6901 yy_stack_print((yyss), (yyssp));
6908 yyval.exp = MkExpOp(yyvsp[(1) - (2)].exp, '<', yyvsp[(2) - (2)].exp);
6909 yyval.exp->loc = (yyloc);
6917 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6918 yyval.exp->loc = (yyloc);
6924 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6925 yyval.exp->loc = (yyloc);
6931 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6932 yyval.exp->loc = (yyloc);
6938 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '<', yyvsp[(3) - (3)].exp);
6939 yyval.exp->loc = (yyloc);
6945 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '>', yyvsp[(3) - (3)].exp);
6946 yyval.exp->loc = (yyloc);
6952 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, LE_OP, yyvsp[(3) - (3)].exp);
6953 yyval.exp->loc = (yyloc);
6959 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, GE_OP, yyvsp[(3) - (3)].exp);
6960 yyval.exp->loc = (yyloc);
6966 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6967 yyval.exp->loc = (yyloc);
6973 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6974 yyval.exp->loc = (yyloc);
6980 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6981 yyval.exp->loc = (yyloc);
6987 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
6988 yyval.exp->loc = (yyloc);
6994 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
6995 yyval.exp->loc = (yyloc);
7001 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
7002 yyval.exp->loc = (yyloc);
7008 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, EQ_OP, yyvsp[(3) - (3)].exp);
7009 yyval.exp->loc = (yyloc);
7015 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, NE_OP, yyvsp[(3) - (3)].exp);
7016 yyval.exp->loc = (yyloc);
7022 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
7023 yyval.exp->loc = (yyloc);
7029 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
7030 yyval.exp->loc = (yyloc);
7036 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
7037 yyval.exp->loc = (yyloc);
7043 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '&', yyvsp[(3) - (3)].exp);
7044 yyval.exp->loc = (yyloc);
7050 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7051 yyval.exp->loc = (yyloc);
7057 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7058 yyval.exp->loc = (yyloc);
7064 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7065 yyval.exp->loc = (yyloc);
7071 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '^', yyvsp[(3) - (3)].exp);
7072 yyval.exp->loc = (yyloc);
7078 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7079 yyval.exp->loc = (yyloc);
7085 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7086 yyval.exp->loc = (yyloc);
7092 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7093 yyval.exp->loc = (yyloc);
7099 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, '|', yyvsp[(3) - (3)].exp);
7100 yyval.exp->loc = (yyloc);
7106 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
7107 yyval.exp->loc = (yyloc);
7113 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, AND_OP, yyvsp[(3) - (3)].exp);
7114 yyval.exp->loc = (yyloc);
7120 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
7121 yyval.exp->loc = (yyloc);
7127 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, OR_OP, yyvsp[(3) - (3)].exp);
7128 yyval.exp->loc = (yyloc);
7134 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7135 yyval.exp->loc = (yyloc);
7141 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7142 yyval.exp->loc = (yyloc);
7148 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7149 yyval.exp->loc = (yyloc);
7155 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7156 yyval.exp->loc = (yyloc);
7162 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7163 yyval.exp->loc = (yyloc);
7164 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7170 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7171 yyval.exp->loc = (yyloc);
7172 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7178 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7179 yyval.exp->loc = (yyloc);
7180 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7186 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7187 yyval.exp->loc = (yyloc);
7188 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7194 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7195 yyval.exp->loc = (yyloc);
7201 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7202 yyval.exp->loc = (yyloc);
7208 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7209 yyval.exp->loc = (yyloc);
7215 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7216 yyval.exp->loc = (yyloc);
7222 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7223 yyval.exp->loc = (yyloc);
7224 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7230 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7231 yyval.exp->loc = (yyloc);
7232 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7238 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7239 yyval.exp->loc = (yyloc);
7240 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7246 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
7247 yyval.exp->loc = (yyloc);
7248 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
7254 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7255 yyval.exp->loc = (yyloc);
7261 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7262 yyval.exp->loc = (yyloc);
7268 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7269 yyval.exp->loc = (yyloc);
7275 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7276 yyval.exp->loc = (yyloc);
7282 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7283 yyval.exp->loc = (yyloc);
7289 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7290 yyval.exp->loc = (yyloc);
7296 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7297 yyval.exp->loc = (yyloc);
7303 yyval.exp = MkExpCondition(yyvsp[(1) - (5)].exp, yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].exp);
7304 yyval.exp->loc = (yyloc);
7311 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7312 yyval.exp->loc = (yyloc);
7313 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
7314 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
7320 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7321 yyval.exp->loc = (yyloc);
7322 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
7323 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
7330 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7331 yyval.exp->loc = (yyloc);
7332 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
7333 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
7339 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
7340 yyval.exp->loc = (yyloc);
7341 ((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
7342 yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
7348 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7349 yyval.exp->loc = (yyloc);
7355 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7356 yyval.exp->loc = (yyloc);
7362 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7363 yyval.exp->loc = (yyloc);
7369 yyval.exp = MkExpOp(yyvsp[(1) - (3)].exp, yyvsp[(2) - (3)].i, yyvsp[(3) - (3)].exp);
7370 yyval.exp->loc = (yyloc);
7376 yyval.list = MkList();
7377 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
7383 yyval.list = MkList();
7384 ListAdd(yyval.list, yyvsp[(1) - (2)].exp);
7390 yyval.list = yyvsp[(1) - (3)].list;
7391 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7397 yyval.list = yyvsp[(1) - (3)].list;
7398 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7405 yyval.list = yyvsp[(1) - (2)].list;
7406 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7412 yyval.list = yyvsp[(1) - (2)].list;
7413 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7419 yyval.list = yyvsp[(1) - (2)].list;
7420 FreeList(yyvsp[(2) - (2)].list, (void *)(FreeExpression));
7426 yyval.list = MkList();
7427 ListAdd(yyval.list, yyvsp[(1) - (1)].exp);
7433 yyval.list = MkList();
7434 ListAdd(yyval.list, yyvsp[(1) - (2)].exp);
7440 yyval.list = yyvsp[(1) - (3)].list;
7441 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7447 yyval.list = yyvsp[(1) - (3)].list;
7448 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].exp);
7454 yyval.specifier = MkSpecifier(TYPEDEF);
7460 yyval.specifier = MkSpecifier(EXTERN);
7466 yyval.specifier = MkSpecifier(STATIC);
7472 yyval.specifier = MkSpecifier(THREAD);
7478 yyval.specifier = MkSpecifier(AUTO);
7484 yyval.specifier = MkSpecifier(REGISTER);
7490 yyval.specifier = MkSpecifier(RESTRICT);
7496 yyval.specifier = MkSpecifier(TYPEDEF);
7497 structDeclMode = declMode = 0;
7503 yyval.specifier = MkSpecifier(EXTERN);
7509 yyval.specifier = MkSpecifier(STATIC);
7510 structDeclMode = declMode = 3;
7516 yyval.specifier = MkSpecifier(THREAD);
7522 yyval.specifier = MkSpecifier(AUTO);
7528 yyval.specifier = MkSpecifier(REGISTER);
7534 yyval.specifier = MkSpecifier(RESTRICT);
7540 yyval.enumerator = MkEnumerator(yyvsp[(1) - (1)].id, (((void *)0)));
7546 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
7552 yyval.enumerator = MkEnumerator(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].exp);
7558 yyval.list = MkList();
7559 ListAdd(yyval.list, yyvsp[(1) - (1)].enumerator);
7565 yyval.list = yyvsp[(1) - (3)].list;
7566 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].enumerator);
7572 memberAccessStack[++defaultMemberAccess] = 1;
7578 yyval.specifier = MkEnum(yyvsp[(2) - (2)].id, (((void *)0)));
7579 if(defaultMemberAccess > -1)
7580 defaultMemberAccess--;
7586 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
7587 if(defaultMemberAccess > -1)
7588 defaultMemberAccess--;
7594 yyval.specifier->loc = (yyloc);
7595 if(defaultMemberAccess > -1)
7596 defaultMemberAccess--;
7597 yyval.specifier = yyvsp[(1) - (2)].specifier;
7603 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, (((void *)0)));
7604 yyval.specifier->loc = (yyloc);
7605 if(defaultMemberAccess > -1)
7606 defaultMemberAccess--;
7612 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
7613 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7614 yyval.specifier->loc = (yyloc);
7615 if(defaultMemberAccess > -1)
7616 defaultMemberAccess--;
7622 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (3)].list);
7623 yyval.specifier->loc = (yyloc);
7624 if(defaultMemberAccess > -1)
7625 defaultMemberAccess--;
7631 yyval.specifier = MkEnum((((void *)0)), (((void *)0)));
7632 yyval.specifier->loc = (yyloc);
7633 if(defaultMemberAccess > -1)
7634 defaultMemberAccess--;
7640 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, yyvsp[(4) - (4)].list);
7641 yyval.specifier->loc = (yyloc);
7642 if(defaultMemberAccess > -1)
7643 defaultMemberAccess--;
7649 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
7650 yyval.specifier->loc = (yyloc);
7651 if(defaultMemberAccess > -1)
7652 defaultMemberAccess--;
7658 yyval.specifier = MkEnum(yyvsp[(2) - (4)].id, (((void *)0)));
7659 yyval.specifier->loc = (yyloc);
7660 if(defaultMemberAccess > -1)
7661 defaultMemberAccess--;
7667 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
7668 yyval.specifier->loc = (yyloc);
7669 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7670 if(defaultMemberAccess > -1)
7671 defaultMemberAccess--;
7677 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
7678 yyval.specifier->loc = (yyloc);
7679 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7680 if(defaultMemberAccess > -1)
7681 defaultMemberAccess--;
7687 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), yyvsp[(4) - (4)].list);
7688 yyval.specifier->loc = (yyloc);
7689 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7690 if(defaultMemberAccess > -1)
7691 defaultMemberAccess--;
7697 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
7698 yyval.specifier->loc = (yyloc);
7699 FreeSpecifier(yyvsp[(2) - (5)].specifier);
7700 if(defaultMemberAccess > -1)
7701 defaultMemberAccess--;
7707 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
7708 yyval.specifier->loc = (yyloc);
7709 FreeSpecifier(yyvsp[(2) - (4)].specifier);
7710 if(defaultMemberAccess > -1)
7711 defaultMemberAccess--;
7717 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
7718 yyval.specifier->loc = (yyloc);
7719 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7720 FreeSpecifier(yyvsp[(2) - (6)].specifier);
7721 if(defaultMemberAccess > -1)
7722 defaultMemberAccess--;
7728 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
7729 yyval.specifier->loc = (yyloc);
7730 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
7731 FreeSpecifier(yyvsp[(2) - (6)].specifier);
7732 if(defaultMemberAccess > -1)
7733 defaultMemberAccess--;
7739 yyval.specifier = MkEnum(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].list);
7740 yyval.specifier->loc = (yyloc);
7741 if(defaultMemberAccess > -1)
7742 defaultMemberAccess--;
7748 yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
7749 yyval.specifier->loc = (yyloc);
7750 FreeSpecifier(yyvsp[(2) - (5)].specifier);
7751 if(defaultMemberAccess > -1)
7752 defaultMemberAccess--;
7758 yyval.id = yyvsp[(2) - (2)].id;
7760 DeclClassAddNameSpace(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
7766 yyval.id = MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
7768 DeclClass(yyvsp[(2) - (2)].specifier->__anon1.__anon1.nsSpec, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
7769 FreeSpecifier(yyvsp[(2) - (2)].specifier);
7775 yyval.specifier = yyvsp[(1) - (2)].specifier;
7776 yyval.specifier->loc = (yyloc);
7782 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
7783 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7784 yyval.specifier->loc = (yyloc);
7785 if(defaultMemberAccess > -1)
7786 defaultMemberAccess--;
7792 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, (((void *)0)));
7793 if(defaultMemberAccess > -1)
7794 defaultMemberAccess--;
7800 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(5) - (5)].list);
7801 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7802 yyval.specifier->loc = (yyloc);
7803 if(defaultMemberAccess > -1)
7804 defaultMemberAccess--;
7810 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
7811 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7812 yyval.specifier->loc = (yyloc);
7813 if(defaultMemberAccess > -1)
7814 defaultMemberAccess--;
7820 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
7821 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
7822 yyval.specifier->loc = (yyloc);
7823 if(defaultMemberAccess > -1)
7824 defaultMemberAccess--;
7830 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7831 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7832 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7833 yyval.specifier->loc = (yyloc);
7834 if(defaultMemberAccess > -1)
7835 defaultMemberAccess--;
7841 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7842 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7843 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7844 yyval.specifier->loc = (yyloc);
7845 if(defaultMemberAccess > -1)
7846 defaultMemberAccess--;
7852 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
7853 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
7854 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
7855 yyval.specifier->loc = (yyloc);
7856 if(defaultMemberAccess > -1)
7857 defaultMemberAccess--;
7863 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
7864 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
7865 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
7866 yyval.specifier->loc = (yyloc);
7867 if(defaultMemberAccess > -1)
7868 defaultMemberAccess--;
7874 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0)));
7875 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7876 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7877 yyval.specifier->loc = (yyloc);
7878 if(defaultMemberAccess > -1)
7879 defaultMemberAccess--;
7885 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0)));
7886 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7887 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
7888 yyval.specifier->loc = (yyloc);
7889 if(defaultMemberAccess > -1)
7890 defaultMemberAccess--;
7896 yyval.specifier = MkEnum((((void *)0)), yyvsp[(3) - (3)].list);
7897 yyval.specifier->loc = (yyloc);
7898 if(defaultMemberAccess > -1)
7899 defaultMemberAccess--;
7905 yyval.specifier = MkEnum((((void *)0)), (((void *)0)));
7906 yyval.specifier->loc = (yyloc);
7907 if(defaultMemberAccess > -1)
7908 defaultMemberAccess--;
7914 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].list);
7915 yyval.specifier->loc = (yyloc);
7916 if(defaultMemberAccess > -1)
7917 defaultMemberAccess--;
7923 yyval.specifier = MkEnum(yyvsp[(1) - (4)].id, yyvsp[(3) - (4)].list);
7924 yyval.specifier->loc = (yyloc);
7925 if(defaultMemberAccess > -1)
7926 defaultMemberAccess--;
7932 yyval.specifier = MkEnum(yyvsp[(1) - (3)].id, (((void *)0)));
7933 yyval.specifier->loc = (yyloc);
7934 if(defaultMemberAccess > -1)
7935 defaultMemberAccess--;
7941 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
7942 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
7943 yyval.specifier->loc = (yyloc);
7944 if(defaultMemberAccess > -1)
7945 defaultMemberAccess--;
7951 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
7952 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
7953 yyval.specifier->loc = (yyloc);
7954 if(defaultMemberAccess > -1)
7955 defaultMemberAccess--;
7961 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
7962 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7963 yyval.specifier->loc = (yyloc);
7964 if(defaultMemberAccess > -1)
7965 defaultMemberAccess--;
7971 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
7972 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
7973 yyval.specifier->loc = (yyloc);
7974 if(defaultMemberAccess > -1)
7975 defaultMemberAccess--;
7981 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, (((void *)0)));
7982 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
7983 yyval.specifier->loc = (yyloc);
7984 if(defaultMemberAccess > -1)
7985 defaultMemberAccess--;
7991 yyval.specifier = MkEnum(yyvsp[(1) - (4)].id, yyvsp[(3) - (4)].list);
7992 yyval.specifier->loc = (yyloc);
7993 if(defaultMemberAccess > -1)
7994 defaultMemberAccess--;
8000 yyval.specifier = MkSpecifierExtended(yyvsp[(1) - (1)].extDecl);
8006 yyval.specifier = MkSpecifier(CONST);
8012 yyval.specifier = MkSpecifier(VOLATILE);
8018 yyval.specifier = yyvsp[(1) - (1)].specifier;
8024 yyval.list = MkList();
8025 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8031 yyval.list = yyvsp[(1) - (2)].list;
8032 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8038 yyval.specifier = MkSpecifier(VOID);
8044 yyval.specifier = MkSpecifier(CHAR);
8050 yyval.specifier = MkSpecifier(SHORT);
8056 yyval.specifier = MkSpecifier(INT);
8062 yyval.specifier = MkSpecifier(UINT);
8068 yyval.specifier = MkSpecifier(INT64);
8074 yyval.specifier = MkSpecifier(INT128);
8080 yyval.specifier = MkSpecifier(VALIST);
8086 yyval.specifier = MkSpecifier(LONG);
8092 yyval.specifier = MkSpecifier(FLOAT);
8098 yyval.specifier = MkSpecifier(DOUBLE);
8104 yyval.specifier = MkSpecifier(SIGNED);
8110 yyval.specifier = MkSpecifier(UNSIGNED);
8116 yyval.specifier = MkSpecifier(EXTENSION);
8122 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
8128 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
8134 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
8135 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
8136 FreeIdentifier(yyvsp[(3) - (4)].id);
8142 yyval.specifier = MkSpecifier(THISCLASS);
8148 yyval.specifier = MkSpecifier(TYPED_OBJECT);
8154 yyval.specifier = MkSpecifier(ANY_OBJECT);
8160 yyval.specifier = MkSpecifier(_BOOL);
8166 yyval.specifier = MkSpecifier(BOOL);
8172 yyval.specifier = MkSpecifier(_COMPLEX);
8178 yyval.specifier = MkSpecifier(_IMAGINARY);
8184 yyval.specifier = MkSpecifier(VOID);
8190 yyval.specifier = MkSpecifier(CHAR);
8196 yyval.specifier = MkSpecifier(SHORT);
8202 yyval.specifier = MkSpecifier(INT);
8208 yyval.specifier = MkSpecifier(UINT);
8214 yyval.specifier = MkSpecifier(INT64);
8220 yyval.specifier = MkSpecifier(INT128);
8226 yyval.specifier = MkSpecifier(VALIST);
8232 yyval.specifier = MkSpecifier(LONG);
8238 yyval.specifier = MkSpecifier(FLOAT);
8244 yyval.specifier = MkSpecifier(DOUBLE);
8250 yyval.specifier = MkSpecifier(SIGNED);
8256 yyval.specifier = MkSpecifier(UNSIGNED);
8262 yyval.specifier = MkSpecifier(EXTENSION);
8268 yyval.specifier = MkSpecifier(_BOOL);
8274 yyval.specifier = MkSpecifier(BOOL);
8280 yyval.specifier = MkSpecifier(_COMPLEX);
8286 yyval.specifier = MkSpecifier(_IMAGINARY);
8292 yyval.specifier = MkSpecifierTypeOf(yyvsp[(3) - (4)].exp);
8298 yyval.specifier = MkSpecifierSubClass(yyvsp[(3) - (4)].specifier);
8304 _DeclClass(yyvsp[(3) - (4)].id->_class, yyvsp[(3) - (4)].id->string);
8305 yyval.specifier = MkSpecifierSubClass(MkSpecifierName(yyvsp[(3) - (4)].id->string));
8306 FreeIdentifier(yyvsp[(3) - (4)].id);
8312 yyval.specifier = MkSpecifier(THISCLASS);
8318 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
8319 yyval.declarator->loc = (yyloc);
8325 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
8326 yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
8327 yyval.declarator->loc = (yyloc);
8333 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
8334 yyval.declarator->loc = (yyloc);
8340 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
8341 yyval.declarator->loc = (yyloc);
8347 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8348 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8349 yyval.declarator->loc = (yyloc);
8355 yyval.declarator = MkStructDeclarator((((void *)0)), yyvsp[(2) - (2)].exp);
8356 yyval.declarator->loc = (yyloc);
8362 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].exp);
8363 yyval.declarator->loc = (yyloc);
8369 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8370 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8371 yyval.declarator->loc = (yyloc);
8377 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8378 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8379 yyval.declarator->loc = (yyloc);
8385 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
8386 yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
8387 yyval.declarator->loc = (yyloc);
8393 yyval.list = MkList();
8394 ListAdd(yyval.list, yyvsp[(1) - (1)].declarator);
8400 yyval.list = yyvsp[(1) - (3)].list;
8401 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].declarator);
8407 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
8408 yyval.specifier->__anon1.__anon2.addNameSpace = 1;
8409 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8415 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
8416 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8417 FreeSpecifier(yyvsp[(2) - (2)].specifier);
8423 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
8424 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
8425 yyval.specifier->__anon1.__anon2.addNameSpace = 1;
8426 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8432 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
8433 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
8434 yyval.specifier->__anon1.__anon2.ctx = PushContext();
8435 FreeSpecifier(yyvsp[(3) - (3)].specifier);
8441 yyval.specifier = yyvsp[(1) - (2)].specifier;
8442 yyval.specifier->loc = (yyloc);
8448 yyval.specifier = yyvsp[(1) - (3)].specifier;
8449 yyval.specifier->loc = (yyloc);
8450 if(defaultMemberAccess > -1)
8451 defaultMemberAccess--;
8452 PopContext(curContext);
8458 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8459 yyval.specifier->loc = (yyloc);
8460 if(defaultMemberAccess > -1)
8461 defaultMemberAccess--;
8467 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
8468 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8469 yyval.specifier->loc = (yyloc);
8470 if(defaultMemberAccess > -1)
8471 defaultMemberAccess--;
8477 yyval.specifier = yyvsp[(1) - (3)].specifier;
8478 AddStructDefinitions(yyvsp[(1) - (3)].specifier, yyvsp[(3) - (3)].list);
8479 if(defaultMemberAccess > -1)
8480 defaultMemberAccess--;
8481 PopContext(curContext);
8487 yyval.specifier = yyvsp[(1) - (3)].specifier;
8488 AddStructDefinitions(yyvsp[(1) - (3)].specifier, yyvsp[(3) - (3)].list);
8489 if(defaultMemberAccess > -1)
8490 defaultMemberAccess--;
8491 PopContext(curContext);
8497 yyval.specifier = yyvsp[(1) - (3)].specifier;
8498 if(defaultMemberAccess > -1)
8499 defaultMemberAccess--;
8500 PopContext(curContext);
8506 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8507 if(defaultMemberAccess > -1)
8508 defaultMemberAccess--;
8514 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8515 if(defaultMemberAccess > -1)
8516 defaultMemberAccess--;
8522 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8523 if(defaultMemberAccess > -1)
8524 defaultMemberAccess--;
8530 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
8531 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8532 if(defaultMemberAccess > -1)
8533 defaultMemberAccess--;
8539 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
8540 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8541 if(defaultMemberAccess > -1)
8542 defaultMemberAccess--;
8548 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
8549 yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
8550 if(defaultMemberAccess > -1)
8551 defaultMemberAccess--;
8557 yyval.specifier = yyvsp[(1) - (1)].specifier;
8558 if(defaultMemberAccess > -1)
8559 defaultMemberAccess--;
8560 PopContext(curContext);
8566 yyval.specifier = yyvsp[(1) - (1)].specifier;
8569 (yyvsp[(1) - (1)].specifier->__anon1.__anon2.addNameSpace ? DeclClassAddNameSpace : DeclClass)(yyvsp[(1) - (1)].specifier->__anon1.__anon2.id->_class, yyvsp[(1) - (1)].specifier->__anon1.__anon2.id->string);
8576 struct Symbol * symbol = (yyvsp[(1) - (4)].specifier->__anon1.__anon2.addNameSpace ? DeclClassAddNameSpace : DeclClass)(yyvsp[(1) - (4)].specifier->__anon1.__anon2.id->_class, yyvsp[(1) - (4)].specifier->__anon1.__anon2.id->string);
8578 yyval.specifier = yyvsp[(1) - (4)].specifier;
8579 symbol->templateParams = yyvsp[(3) - (4)].list;
8585 yyval.specifier = yyvsp[(1) - (3)].specifier;
8586 yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (3)].list;
8587 SetupBaseSpecs((((void *)0)), yyvsp[(3) - (3)].list);
8593 yyval.specifier = yyvsp[(1) - (2)].specifier;
8594 yyval.specifier->loc = (yyloc);
8600 yyval.specifier = yyvsp[(1) - (3)].specifier;
8601 if(defaultMemberAccess > -1)
8602 defaultMemberAccess--;
8603 PopContext(curContext);
8609 yyval.specifier = yyvsp[(1) - (3)].specifier;
8610 if(defaultMemberAccess > -1)
8611 defaultMemberAccess--;
8612 PopContext(curContext);
8618 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8619 if(defaultMemberAccess > -1)
8620 defaultMemberAccess--;
8626 yyval.specifier = yyvsp[(1) - (3)].specifier;
8627 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8628 if(defaultMemberAccess > -1)
8629 defaultMemberAccess--;
8630 PopContext(curContext);
8636 yyval.specifier = yyvsp[(1) - (3)].specifier;
8637 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8638 if(defaultMemberAccess > -1)
8639 defaultMemberAccess--;
8640 PopContext(curContext);
8646 yyval.specifier = yyvsp[(1) - (3)].specifier;
8647 if(defaultMemberAccess > -1)
8648 defaultMemberAccess--;
8649 PopContext(curContext);
8655 PopContext(curContext);
8658 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
8659 yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
8660 FreeSpecifier(yyvsp[(1) - (3)].specifier);
8663 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8664 if(defaultMemberAccess > -1)
8665 defaultMemberAccess--;
8671 PopContext(curContext);
8674 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
8675 yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
8676 FreeSpecifier(yyvsp[(1) - (3)].specifier);
8679 yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
8680 if(defaultMemberAccess > -1)
8681 defaultMemberAccess--;
8687 yyval.specifier = yyvsp[(1) - (3)].specifier;
8688 if(defaultMemberAccess > -1)
8689 defaultMemberAccess--;
8690 PopContext(curContext);
8696 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8697 if(defaultMemberAccess > -1)
8698 defaultMemberAccess--;
8704 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), yyvsp[(3) - (3)].list);
8705 if(defaultMemberAccess > -1)
8706 defaultMemberAccess--;
8712 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)), (((void *)0)));
8713 if(defaultMemberAccess > -1)
8714 defaultMemberAccess--;
8720 yyval.specifierType = 3;
8721 memberAccessStack[++defaultMemberAccess] = 1;
8727 yyval.specifierType = 4;
8728 memberAccessStack[++defaultMemberAccess] = 1;
8734 yyval.list = MkList();
8735 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8741 yyval.list = yyvsp[(1) - (2)].list;
8742 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8748 yyval.list = MkList();
8749 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8755 yyval.list = yyvsp[(1) - (2)].list;
8756 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8762 yyval.list = MkList();
8763 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8769 yyval.list = yyvsp[(1) - (2)].list;
8770 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8776 yyval.list = MkList();
8777 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8783 yyval.list = yyvsp[(1) - (2)].list;
8784 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8790 yyval.list = MkList();
8791 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8797 yyval.list = yyvsp[(1) - (2)].list;
8798 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8804 yyval.list = MkList();
8805 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8811 yyval.list = yyvsp[(1) - (2)].list;
8812 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8818 yyval.list = MkList();
8819 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8825 yyval.list = yyvsp[(1) - (2)].list;
8826 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8832 yyval.list = MkList();
8833 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8839 yyval.list = yyvsp[(1) - (2)].list;
8840 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8846 yyval.list = MkList();
8847 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8853 yyval.list = yyvsp[(1) - (2)].list;
8854 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8860 yyval.list = MkList();
8861 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8867 yyval.list = yyvsp[(1) - (2)].list;
8868 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8874 yyval.list = MkList();
8875 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8881 yyval.list = yyvsp[(1) - (2)].list;
8882 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8888 yyval.list = MkList();
8889 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8895 yyval.list = yyvsp[(1) - (2)].list;
8896 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8902 yyval.list = MkList();
8903 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8909 yyval.list = yyvsp[(1) - (2)].list;
8910 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8916 yyval.list = MkList();
8917 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8923 yyval.list = yyvsp[(1) - (2)].list;
8924 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8930 yyval.list = MkList();
8931 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8937 yyval.list = yyvsp[(1) - (2)].list;
8938 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8944 yyval.list = MkList();
8945 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8951 yyval.list = yyvsp[(1) - (2)].list;
8952 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8958 yyval.list = MkList();
8959 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8965 yyval.list = yyvsp[(1) - (2)].list;
8966 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8972 yyval.list = MkList();
8973 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8979 yyval.list = yyvsp[(1) - (2)].list;
8980 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
8986 yyval.list = MkList();
8987 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
8993 yyval.list = yyvsp[(1) - (2)].list;
8994 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9000 yyval.list = MkList();
9001 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9007 yyval.list = yyvsp[(1) - (2)].list;
9008 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9014 yyval.list = MkList();
9015 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9021 yyval.list = yyvsp[(1) - (2)].list;
9022 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9028 yyval.list = MkList();
9029 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9035 yyval.list = yyvsp[(1) - (2)].list;
9036 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9042 yyval.list = MkList();
9043 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9049 yyval.list = yyvsp[(1) - (2)].list;
9050 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9056 yyval.list = MkList();
9057 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9063 yyval.list = yyvsp[(1) - (2)].list;
9064 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9070 yyval.list = MkList();
9071 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9077 yyval.list = yyvsp[(1) - (2)].list;
9078 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9084 yyval.list = MkList();
9085 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9091 yyval.list = yyvsp[(1) - (2)].list;
9092 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9098 yyval.list = MkList();
9099 ListAdd(yyval.list, MkSpecifier(PRIVATE));
9105 yyval.list = MkList();
9106 ListAdd(yyval.list, MkSpecifier(PUBLIC));
9112 yyval.list = MkList();
9113 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9119 yyval.list = yyvsp[(1) - (2)].list;
9120 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9126 yyval.list = MkList();
9127 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9133 yyval.list = yyvsp[(1) - (2)].list;
9134 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9140 yyval.list = MkList();
9141 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9147 yyval.list = yyvsp[(1) - (2)].list;
9148 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9154 _DeclClass(yyvsp[(1) - (1)].id->_class, yyvsp[(1) - (1)].id->string);
9155 yyval.list = MkListOne(MkSpecifierName(yyvsp[(1) - (1)].id->string));
9156 FreeIdentifier(yyvsp[(1) - (1)].id);
9162 yyval.list = yyvsp[(1) - (2)].list;
9163 _DeclClass(yyvsp[(2) - (2)].id->_class, yyvsp[(2) - (2)].id->string);
9164 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9165 FreeIdentifier(yyvsp[(2) - (2)].id);
9171 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9172 yyval.list = MkList();
9173 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9174 FreeIdentifier(yyvsp[(1) - (4)].id);
9180 yyval.list = yyvsp[(1) - (5)].list;
9181 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9182 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9183 FreeIdentifier(yyvsp[(2) - (5)].id);
9189 yyval.list = MkListOne(MkStructOrUnion(yyvsp[(1) - (1)].specifierType, (((void *)0)), (((void *)0))));
9190 if(defaultMemberAccess > -1)
9191 defaultMemberAccess--;
9197 yyval.list = MkList();
9198 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9204 yyval.list = yyvsp[(1) - (2)].list;
9205 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9211 yyval.list = MkList();
9212 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9218 yyval.list = yyvsp[(1) - (2)].list;
9219 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9225 yyval.list = MkList();
9226 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9232 yyval.list = yyvsp[(1) - (2)].list;
9233 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9239 yyval.list = MkList();
9240 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9241 FreeIdentifier(yyvsp[(1) - (1)].id);
9246 yyval.list = yyvsp[(1) - (2)].list;
9247 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9248 FreeIdentifier(yyvsp[(2) - (2)].id);
9253 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9254 yyval.list = MkList();
9255 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9256 FreeIdentifier(yyvsp[(1) - (4)].id);
9262 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9263 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9264 FreeIdentifier(yyvsp[(2) - (5)].id);
9270 yyval.list = MkList();
9271 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9277 yyval.list = yyvsp[(1) - (2)].list;
9278 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9284 yyval.list = MkList();
9285 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9291 yyval.list = yyvsp[(1) - (2)].list;
9292 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9298 yyval.list = MkList();
9299 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9305 yyval.list = yyvsp[(1) - (2)].list;
9306 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9312 yyval.list = MkList();
9313 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9319 yyval.list = yyvsp[(1) - (2)].list;
9320 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9326 yyval.list = MkList();
9327 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9333 yyval.list = yyvsp[(1) - (2)].list;
9334 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9340 yyval.list = MkList();
9341 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9342 FreeIdentifier(yyvsp[(1) - (1)].id);
9347 yyval.list = yyvsp[(1) - (2)].list;
9348 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9349 FreeIdentifier(yyvsp[(2) - (2)].id);
9354 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9355 yyval.list = MkList();
9356 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9357 FreeIdentifier(yyvsp[(1) - (4)].id);
9363 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9364 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9365 FreeIdentifier(yyvsp[(2) - (5)].id);
9371 yyval.list = MkList();
9372 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9378 yyval.list = yyvsp[(1) - (2)].list;
9379 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9385 yyval.list = MkList();
9386 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9392 yyval.list = yyvsp[(1) - (2)].list;
9393 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9399 yyval.list = MkList();
9400 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9406 yyval.list = yyvsp[(1) - (2)].list;
9407 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9413 yyval.list = MkList();
9414 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9420 yyval.list = yyvsp[(1) - (2)].list;
9421 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9427 yyval.list = MkList();
9428 ListAdd(yyval.list, yyvsp[(1) - (1)].specifier);
9434 yyval.list = yyvsp[(1) - (2)].list;
9435 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].specifier);
9441 yyval.list = MkList();
9442 ListAdd(yyval.list, MkSpecifierName(yyvsp[(1) - (1)].id->string));
9443 FreeIdentifier(yyvsp[(1) - (1)].id);
9448 yyval.list = yyvsp[(1) - (2)].list;
9449 ListAdd(yyvsp[(1) - (2)].list, MkSpecifierName(yyvsp[(2) - (2)].id->string));
9450 FreeIdentifier(yyvsp[(2) - (2)].id);
9455 _DeclClass(yyvsp[(1) - (4)].id->_class, yyvsp[(1) - (4)].id->string);
9456 yyval.list = MkList();
9457 ListAdd(yyval.list, MkSpecifierNameArgs(yyvsp[(1) - (4)].id->string, yyvsp[(3) - (4)].list));
9458 FreeIdentifier(yyvsp[(1) - (4)].id);
9464 _DeclClass(yyvsp[(2) - (5)].id->_class, yyvsp[(2) - (5)].id->string);
9465 ListAdd(yyvsp[(1) - (5)].list, MkSpecifierNameArgs(yyvsp[(2) - (5)].id->string, yyvsp[(4) - (5)].list));
9466 FreeIdentifier(yyvsp[(2) - (5)].id);
9472 yyval.list = yyvsp[(1) - (3)].list;
9473 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
9479 yyval.list = yyvsp[(1) - (3)].list;
9480 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
9486 yyval.list = MkList();
9487 ListAdd(yyval.list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(1) - (1)].id)));
9493 yyval.list = yyvsp[(1) - (3)].list;
9494 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9500 yyval.list = yyvsp[(1) - (3)].list;
9501 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9507 yyval.list = yyvsp[(1) - (3)].list;
9508 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9514 yyval.list = yyvsp[(1) - (3)].list;
9515 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(yyvsp[(3) - (3)].id)));
9521 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name), 1, 0);
9522 char * s = colon ? colon + 2 : yyvsp[(1) - (1)].specifier->__anon1.__anon1.name;
9524 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier(s));
9525 FreeSpecifier(yyvsp[(1) - (1)].specifier);
9531 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier("uint"));
9537 struct Declarator * decl;
9538 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9539 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9541 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9542 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9543 yyval.declarator = MkDeclaratorArray(decl, yyvsp[(3) - (4)].exp);
9549 struct Declarator * decl;
9550 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9551 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9553 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9554 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9555 yyval.declarator = MkDeclaratorArray(decl, yyvsp[(3) - (4)].exp);
9561 struct Declarator * decl;
9562 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 1, 0);
9563 char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
9565 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9566 FreeSpecifier(yyvsp[(1) - (4)].specifier);
9567 yyval.declarator = MkDeclaratorEnumArray(decl, yyvsp[(3) - (4)].specifier);
9573 struct Declarator * decl;
9574 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 1, 0);
9575 char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
9577 decl = MkDeclaratorIdentifier(MkIdentifier(s));
9578 FreeSpecifier(yyvsp[(1) - (3)].specifier);
9579 yyval.declarator = MkDeclaratorEnumArray(decl, (((void *)0)));
9585 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9591 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9597 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
9603 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
9609 yyval.declarator = MkDeclaratorIdentifier(yyvsp[(1) - (1)].id);
9615 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
9621 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
9627 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
9633 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
9639 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9645 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
9651 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
9657 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
9663 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9669 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9675 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9681 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9687 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9693 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, yyvsp[(2) - (2)].list);
9695 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9697 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9698 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9700 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9701 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9702 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1;
9705 resetScannerPos(&(yylsp[(1) - (2)]).end);
9706 (yyloc.start = (yylsp[(1) - (2)]).start);
9707 (yyloc.end = (yylsp[(1) - (2)]).end);
9713 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9715 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9717 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9718 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9720 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9721 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9722 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1;
9725 resetScannerPos(&(yylsp[(1) - (2)]).end);
9726 (yyloc.start = (yylsp[(1) - (2)]).start);
9727 (yyloc.end = (yylsp[(1) - (2)]).end);
9733 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9735 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9737 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9738 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9740 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9741 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9742 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (3)]).end.pos, 0) : (unsigned int)1;
9745 resetScannerPos(&(yylsp[(1) - (3)]).end);
9746 (yyloc.start = (yylsp[(1) - (3)]).start);
9747 (yyloc.end = (yylsp[(1) - (3)]).end);
9753 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, (((void *)0)));
9755 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9757 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9758 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9760 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9761 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9762 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (4)]).end.pos, 0) : (unsigned int)1;
9765 resetScannerPos(&(yylsp[(1) - (4)]).end);
9766 (yyloc.start = (yylsp[(1) - (4)]).start);
9767 (yyloc.end = (yylsp[(1) - (4)]).end);
9768 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
9769 FreeIdentifier(yyvsp[(3) - (4)].id);
9775 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9781 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9787 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9793 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9799 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9805 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, yyvsp[(2) - (2)].list);
9807 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9809 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9810 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9812 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9813 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9814 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1;
9817 resetScannerPos(&(yylsp[(1) - (2)]).end);
9818 (yyloc.start = (yylsp[(1) - (2)]).start);
9819 (yyloc.end = (yylsp[(1) - (2)]).end);
9825 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (2)].declarator, (((void *)0)));
9827 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9829 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9830 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9832 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9833 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9834 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (2)]).end.pos, 0) : (unsigned int)1;
9837 resetScannerPos(&(yylsp[(1) - (2)]).end);
9838 (yyloc.start = (yylsp[(1) - (2)]).start);
9839 (yyloc.end = (yylsp[(1) - (2)]).end);
9845 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
9847 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9849 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9850 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9852 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9853 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9854 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (3)]).end.pos, 0) : (unsigned int)1;
9857 resetScannerPos(&(yylsp[(1) - (3)]).end);
9858 (yyloc.start = (yylsp[(1) - (3)]).start);
9859 (yyloc.end = (yylsp[(1) - (3)]).end);
9865 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, (((void *)0)));
9867 unsigned int (* __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode);
9869 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
9870 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
9872 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
9873 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek]);
9874 __internal_VirtualMethod ? __internal_VirtualMethod(fileInput, (yylsp[(1) - (4)]).end.pos, 0) : (unsigned int)1;
9877 resetScannerPos(&(yylsp[(1) - (4)]).end);
9878 (yyloc.start = (yylsp[(1) - (4)]).start);
9879 (yyloc.end = (yylsp[(1) - (4)]).end);
9880 FreeList(yyvsp[(2) - (4)].list, (void *)(FreeSpecifier));
9881 FreeIdentifier(yyvsp[(3) - (4)].id);
9887 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
9893 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(yytext));
9899 yyval.extDecl = MkExtDeclAttrib(yyvsp[(1) - (1)].attrib);
9907 strcpy(temp, "__asm__(");
9908 strcat(temp, yyvsp[(3) - (4)].string);
9910 yyval.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(temp));
9911 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(3) - (4)].string), yyvsp[(3) - (4)].string = 0);
9923 yyval.i = ATTRIB_DEP;
9935 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9941 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9947 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9953 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9959 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
9965 yyval.attribute = MkAttribute(yyvsp[(1) - (1)].string, (((void *)0)));
9966 yyval.attribute->loc = (yyloc);
9972 yyval.attribute = MkAttribute(yyvsp[(1) - (4)].string, MkExpBrackets(yyvsp[(3) - (4)].list));
9973 yyval.attribute->loc = (yyloc);
9979 yyval.list = MkListOne(yyvsp[(1) - (1)].attribute);
9985 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].attribute);
9986 yyval.list = yyvsp[(1) - (2)].list;
9992 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].attribute);
9993 yyval.list = yyvsp[(1) - (3)].list;
9999 yyval.attrib = MkAttrib(yyvsp[(1) - (6)].i, yyvsp[(4) - (6)].list);
10000 yyval.attrib->loc = (yyloc);
10006 yyval.attrib = MkAttrib(yyvsp[(1) - (5)].i, (((void *)0)));
10007 yyval.attrib->loc = (yyloc);
10013 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
10019 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
10025 yyval.declarator = MkDeclaratorArray((((void *)0)), (((void *)0)));
10031 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
10037 yyval.declarator = MkDeclaratorArray((((void *)0)), yyvsp[(2) - (3)].exp);
10043 yyval.declarator = MkDeclaratorEnumArray((((void *)0)), yyvsp[(2) - (3)].specifier);
10049 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (3)].declarator, (((void *)0)));
10055 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
10061 yyval.declarator = MkDeclaratorEnumArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].specifier);
10067 yyval.declarator = MkDeclaratorArray(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].exp);
10073 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
10079 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10085 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10091 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
10097 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10103 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10109 yyval.declarator = MkDeclaratorBrackets(yyvsp[(2) - (3)].declarator);
10115 yyval.declarator = MkDeclaratorBrackets(MkDeclaratorExtended(yyvsp[(2) - (4)].extDecl, yyvsp[(3) - (4)].declarator));
10121 yyval.declarator = MkDeclaratorFunction((((void *)0)), (((void *)0)));
10127 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10133 yyval.declarator = MkDeclaratorFunction((((void *)0)), yyvsp[(2) - (3)].list);
10139 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (3)].declarator, (((void *)0)));
10145 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10151 yyval.declarator = MkDeclaratorFunction(yyvsp[(1) - (4)].declarator, yyvsp[(3) - (4)].list);
10157 yyval.pointer = MkPointer((((void *)0)), (((void *)0)));
10163 yyval.pointer = MkPointer(yyvsp[(2) - (2)].list, (((void *)0)));
10169 yyval.pointer = MkPointer((((void *)0)), yyvsp[(2) - (2)].pointer);
10175 yyval.pointer = MkPointer(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].pointer);
10181 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
10187 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10193 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
10199 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10205 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (1)].pointer, (((void *)0)));
10211 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10217 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (2)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (2)].pointer, (((void *)0))));
10223 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10229 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10235 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10241 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10247 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10253 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10259 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10265 yyval.declarator = MkDeclaratorExtendedEnd(yyvsp[(2) - (2)].extDecl, yyvsp[(1) - (2)].declarator);
10271 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10277 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10283 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10289 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10295 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10301 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10307 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10313 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10319 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10325 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10331 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10337 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10343 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (2)].pointer, yyvsp[(2) - (2)].declarator);
10349 yyval.declarator = MkDeclaratorExtended(yyvsp[(1) - (3)].extDecl, MkDeclaratorPointer(yyvsp[(2) - (3)].pointer, yyvsp[(3) - (3)].declarator));
10355 yyval.declarator = MkDeclaratorPointer(yyvsp[(1) - (3)].pointer, MkDeclaratorExtended(yyvsp[(2) - (3)].extDecl, yyvsp[(3) - (3)].declarator));
10361 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10362 yyval.initializer->loc = (yyloc);
10368 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
10369 yyval.initializer->loc = (yyloc);
10375 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "extra comma\n", (((void *)0))));
10376 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
10377 yyval.initializer->loc = (yyloc);
10379 struct Expression * exp = MkExpDummy();
10380 struct Initializer * init = MkInitializerAssignment(exp);
10382 init->loc = (yylsp[(3) - (4)]);
10383 exp->loc = (yylsp[(3) - (4)]);
10384 ListAdd(yyvsp[(2) - (4)].list, init);
10391 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10392 yyval.initializer->loc = (yyloc);
10398 yyval.initializer = MkInitializerList(yyvsp[(2) - (4)].list);
10399 yyval.initializer->loc = (yyloc);
10406 yyval.initializer = MkInitializerList(yyvsp[(2) - (2)].list);
10407 yyval.initializer->loc = (yyloc);
10413 yyval.initializer = MkInitializerList(yyvsp[(2) - (5)].list);
10414 yyval.initializer->loc = (yyloc);
10416 struct Expression * exp = MkExpDummy();
10417 struct Initializer * init = MkInitializerAssignment(exp);
10419 init->loc = (yylsp[(3) - (5)]);
10420 exp->loc = (yylsp[(3) - (5)]);
10421 ListAdd(yyvsp[(2) - (5)].list, init);
10429 yyval.initializer = MkInitializerList(yyvsp[(2) - (3)].list);
10430 yyval.initializer->loc = (yyloc);
10432 struct Expression * exp = MkExpDummy();
10433 struct Initializer * init = MkInitializerAssignment(exp);
10435 init->loc = (yylsp[(3) - (3)]);
10436 exp->loc = (yylsp[(3) - (3)]);
10437 ListAdd(yyvsp[(2) - (3)].list, init);
10444 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10445 yyval.initializer->loc = (yyloc);
10451 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10452 yyval.initializer->loc = (yyloc);
10458 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10459 yyval.initializer->loc = (yyloc);
10465 yyval.initializer = MkInitializerAssignment(yyvsp[(1) - (1)].exp);
10466 yyval.initializer->loc = (yyloc);
10472 yyval.list = MkList();
10473 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
10479 yyval.list = MkList();
10480 ListAdd(yyval.list, yyvsp[(1) - (1)].initializer);
10486 yyval.list = yyvsp[(1) - (3)].list;
10487 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
10493 yyval.list = yyvsp[(1) - (3)].list;
10494 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initializer);
10501 yyval.list = yyvsp[(1) - (2)].list;
10502 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].initializer);
10508 yyval.list = yyvsp[(1) - (2)].list;
10509 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].initializer);
10515 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
10516 yyval.initDeclarator->loc = (yyloc);
10522 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (1)].declarator, (((void *)0)));
10523 yyval.initDeclarator->loc = (yyloc);
10529 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
10530 yyval.initDeclarator->loc = (yyloc);
10531 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
10537 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
10538 yyval.initDeclarator->loc = (yyloc);
10544 yyval.initDeclarator = MkInitDeclarator(yyvsp[(1) - (3)].declarator, yyvsp[(3) - (3)].initializer);
10545 yyval.initDeclarator->loc = (yyloc);
10546 yyval.initDeclarator->initializer->loc.start = (yylsp[(2) - (3)]).end;
10552 yyval.list = MkList();
10553 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
10559 yyval.list = yyvsp[(1) - (3)].list;
10560 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10566 yyval.list = MkList();
10567 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), (((void *)0))));
10568 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10574 yyval.list = MkList();
10575 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), (((void *)0))));
10576 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10582 yyval.list = MkList();
10583 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__int128")), (((void *)0))));
10584 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10590 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 1, 0);
10591 char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
10593 yyval.list = MkList();
10594 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
10595 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
10596 FreeSpecifier(yyvsp[(1) - (3)].specifier);
10602 yyval.list = yyvsp[(1) - (3)].list;
10603 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10609 yyval.list = MkList();
10610 ListAdd(yyval.list, yyvsp[(1) - (1)].initDeclarator);
10616 yyval.list = MkList();
10617 ListAdd(yyval.list, yyvsp[(1) - (2)].initDeclarator);
10623 yyval.list = yyvsp[(1) - (3)].list;
10624 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10630 yyval.list = yyvsp[(1) - (3)].list;
10631 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].initDeclarator);
10637 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
10643 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10649 yyval.typeName = MkTypeName(yyvsp[(1) - (1)].list, (((void *)0)));
10655 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10661 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10667 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declarator);
10673 yyval.typeName = MkTypeName(yyvsp[(1) - (2)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
10679 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), yyvsp[(3) - (3)].declarator));
10685 yyval.typeName = MkTypeNameGuessDecl(yyvsp[(1) - (1)].list, (((void *)0)));
10691 yyval.typeName = MkTypeName(MkListOne(MkSpecifier(CLASS)), (((void *)0)));
10697 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator);
10703 yyval.typeName = MkTypeName(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator);
10709 yyval.list = MkList();
10710 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
10716 yyval.list = yyvsp[(1) - (3)].list;
10717 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10723 yyval.list = yyvsp[(1) - (4)].list;
10724 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10730 yyval.list = yyvsp[(1) - (3)].list;
10731 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10737 yyval.list = yyvsp[(1) - (4)].list;
10738 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10744 yyval.list = MkList();
10745 ListAdd(yyval.list, MkTypeName(MkList(), (((void *)0))));
10746 ListAdd(yyval.list, yyvsp[(3) - (3)].typeName);
10752 yyval.list = yyvsp[(1) - (3)].list;
10753 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10759 yyval.list = yyvsp[(1) - (4)].list;
10760 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10766 yyval.list = yyvsp[(1) - (3)].list;
10767 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10773 yyval.list = yyvsp[(1) - (4)].list;
10774 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10780 yyval.list = MkList();
10781 ListAdd(yyval.list, yyvsp[(1) - (1)].typeName);
10787 yyval.list = yyvsp[(1) - (3)].list;
10788 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10794 yyval.list = yyvsp[(1) - (3)].list;
10795 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10801 yyval.list = yyvsp[(1) - (4)].list;
10802 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10808 yyval.list = MkList();
10809 ListAdd(yyval.list, MkTypeName(MkList(), (((void *)0))));
10810 ListAdd(yyval.list, yyvsp[(3) - (3)].typeName);
10816 yyval.list = yyvsp[(1) - (3)].list;
10817 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10823 yyval.list = yyvsp[(1) - (3)].list;
10824 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].typeName);
10830 yyval.list = yyvsp[(1) - (4)].list;
10831 ListAdd(yyvsp[(1) - (4)].list, yyvsp[(4) - (4)].typeName);
10837 yyval.list = yyvsp[(1) - (3)].list;
10838 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10844 yyval.list = yyvsp[(1) - (3)].list;
10845 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10851 yyval.list = yyvsp[(1) - (3)].list;
10852 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10858 yyval.list = yyvsp[(1) - (3)].list;
10859 ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), (((void *)0))));
10865 yyval.list = MkList();
10866 ListAdd(yyval.list, MkTypeName((((void *)0)), (((void *)0))));
10872 yyval.list = yyvsp[(1) - (3)].list;
10873 ListAdd(yyvsp[(1) - (3)].list, (((void *)0)));
10879 yyval.stmt = MkExpressionStmt((((void *)0)));
10880 FreeAttrib(yyvsp[(1) - (1)].attrib);
10886 yyval.stmt = MkExpressionStmt((((void *)0)));
10892 yyval.stmt = MkExpressionStmt((((void *)0)));
10898 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
10899 yyval.stmt->loc = (yyloc);
10905 yyval.stmt = yyvsp[(1) - (1)].stmt;
10906 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10912 yyval.stmt = yyvsp[(1) - (1)].stmt;
10913 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10919 yyval.stmt = yyvsp[(1) - (1)].stmt;
10920 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10926 yyval.stmt = yyvsp[(1) - (1)].stmt;
10927 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10933 yyval.stmt = yyvsp[(1) - (1)].stmt;
10934 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10940 yyval.stmt = yyvsp[(1) - (2)].stmt;
10941 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10947 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (1)].list);
10948 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "syntax error\n", (((void *)0))));
10949 yyval.stmt->loc = (yylsp[(1) - (1)]);
10955 yyval.asmField = MkAsmField(yyvsp[(1) - (1)].string, (((void *)0)), (((void *)0)));
10956 yyval.asmField->loc = (yylsp[(1) - (1)]);
10962 yyval.asmField = MkAsmField(yyvsp[(1) - (4)].string, yyvsp[(3) - (4)].exp, (((void *)0)));
10963 yyval.asmField->loc = (yyloc);
10969 yyval.asmField = MkAsmField(yyvsp[(4) - (7)].string, yyvsp[(6) - (7)].exp, yyvsp[(2) - (7)].id);
10970 yyval.asmField->loc = (yyloc);
10976 yyval.list = MkListOne(yyvsp[(1) - (1)].asmField);
10982 ListAdd(yyval.list, yyvsp[(3) - (3)].asmField);
10988 yyval.list = (((void *)0));
10994 yyval.stmt = MkAsmStmt(yyvsp[(2) - (6)].specifier, yyvsp[(4) - (6)].string, (((void *)0)), (((void *)0)), (((void *)0)));
10995 yyval.stmt->loc = (yyloc);
11001 yyval.stmt = MkAsmStmt(yyvsp[(2) - (8)].specifier, yyvsp[(4) - (8)].string, yyvsp[(6) - (8)].list, (((void *)0)), (((void *)0)));
11002 yyval.stmt->loc = (yyloc);
11008 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, yyvsp[(6) - (10)].list, yyvsp[(8) - (10)].list, (((void *)0)));
11009 yyval.stmt->loc = (yyloc);
11015 yyval.stmt = MkAsmStmt(yyvsp[(2) - (12)].specifier, yyvsp[(4) - (12)].string, yyvsp[(6) - (12)].list, yyvsp[(8) - (12)].list, yyvsp[(10) - (12)].list);
11016 yyval.stmt->loc = (yyloc);
11022 yyval.stmt = MkAsmStmt(yyvsp[(2) - (8)].specifier, yyvsp[(4) - (8)].string, (((void *)0)), yyvsp[(6) - (8)].list, (((void *)0)));
11023 yyval.stmt->loc = (yyloc);
11029 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, (((void *)0)), yyvsp[(6) - (10)].list, yyvsp[(8) - (10)].list);
11030 yyval.stmt->loc = (yyloc);
11036 yyval.stmt = MkAsmStmt(yyvsp[(2) - (10)].specifier, yyvsp[(4) - (10)].string, yyvsp[(6) - (10)].list, (((void *)0)), yyvsp[(8) - (10)].list);
11037 yyval.stmt->loc = (yyloc);
11043 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (5)].string, (((void *)0)), (((void *)0)), (((void *)0)));
11044 yyval.stmt->loc = (yyloc);
11050 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (7)].string, yyvsp[(5) - (7)].list, (((void *)0)), (((void *)0)));
11051 yyval.stmt->loc = (yyloc);
11057 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list, (((void *)0)));
11058 yyval.stmt->loc = (yyloc);
11064 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (11)].string, yyvsp[(5) - (11)].list, yyvsp[(7) - (11)].list, yyvsp[(9) - (11)].list);
11065 yyval.stmt->loc = (yyloc);
11071 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (7)].string, (((void *)0)), yyvsp[(5) - (7)].list, (((void *)0)));
11072 yyval.stmt->loc = (yyloc);
11078 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, (((void *)0)), yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list);
11079 yyval.stmt->loc = (yyloc);
11085 yyval.stmt = MkAsmStmt((((void *)0)), yyvsp[(3) - (9)].string, yyvsp[(5) - (9)].list, (((void *)0)), yyvsp[(7) - (9)].list);
11086 yyval.stmt->loc = (yyloc);
11092 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
11093 yyval.stmt->loc = (yyloc);
11099 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11100 yyval.stmt->loc = (yyloc);
11101 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11107 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11108 yyval.stmt->loc = (yyloc);
11109 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11115 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
11116 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11117 yyval.stmt->loc = (yyloc);
11118 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11124 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
11125 yyval.stmt->loc = (yyloc);
11131 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11133 stmt->loc = (yylsp[(3) - (3)]);
11134 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11135 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, stmt);
11136 yyval.stmt->loc = (yyloc);
11142 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11144 stmt->loc = (yylsp[(4) - (4)]);
11145 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11146 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11147 yyval.stmt->loc = (yyloc);
11148 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11154 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11156 stmt->loc = (yylsp[(4) - (4)]);
11157 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11158 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11159 yyval.stmt->loc = (yyloc);
11160 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11166 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11168 stmt->loc = (yylsp[(3) - (3)]);
11169 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11170 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
11171 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11172 yyval.stmt->loc = (yyloc);
11173 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11179 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11181 stmt->loc = (yylsp[(3) - (3)]);
11182 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11183 yyval.stmt = MkCaseStmt((((void *)0)), stmt);
11184 yyval.stmt->loc = (yyloc);
11190 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, yyvsp[(3) - (3)].stmt);
11191 yyval.stmt->loc = (yyloc);
11197 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11198 yyval.stmt->loc = (yyloc);
11199 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11205 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, yyvsp[(4) - (4)].stmt);
11206 yyval.stmt->loc = (yyloc);
11207 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11213 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
11214 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11215 yyval.stmt->loc = (yyloc);
11216 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11222 yyval.stmt = MkCaseStmt(MkExpDummy(), (((void *)0)));
11223 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (2)]);
11224 yyval.stmt->loc = (yyloc);
11225 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (2)]).end;
11231 yyval.stmt = MkCaseStmt((((void *)0)), yyvsp[(3) - (3)].stmt);
11232 yyval.stmt->loc = (yyloc);
11238 yyval.stmt = MkCaseStmt((((void *)0)), (((void *)0)));
11239 yyval.stmt->loc = (yyloc);
11245 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11247 stmt->loc = (yylsp[(3) - (3)]);
11248 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11249 yyval.stmt = MkLabeledStmt(yyvsp[(1) - (3)].id, stmt);
11250 yyval.stmt->loc = (yyloc);
11256 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11258 stmt->loc = (yylsp[(4) - (4)]);
11259 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11260 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11261 yyval.stmt->loc = (yyloc);
11262 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11268 struct Statement * stmt = MkBadDeclStmt(yyvsp[(4) - (4)].declaration);
11270 stmt->loc = (yylsp[(4) - (4)]);
11271 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11272 yyval.stmt = MkCaseStmt(yyvsp[(2) - (4)].exp, stmt);
11273 yyval.stmt->loc = (yyloc);
11274 yyvsp[(2) - (4)].exp->loc.start = (yylsp[(1) - (4)]).end;
11280 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11282 stmt->loc = (yylsp[(3) - (3)]);
11283 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11284 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
11285 yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
11286 yyval.stmt->loc = (yyloc);
11287 yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
11293 struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
11295 stmt->loc = (yylsp[(3) - (3)]);
11296 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11297 yyval.stmt = MkCaseStmt((((void *)0)), stmt);
11298 yyval.stmt->loc = (yyloc);
11304 yyval.declMode = structDeclMode = declMode = 1;
11310 yyval.declMode = structDeclMode = declMode = 2;
11316 yyval.declMode = structDeclMode = declMode = 0;
11322 yyval.declMode = 1;
11328 yyval.declMode = 2;
11334 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11335 yyval.declaration->loc = (yyloc);
11336 structDeclMode = defaultDeclMode;
11342 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11343 yyval.declaration->loc = (yyloc);
11344 structDeclMode = defaultDeclMode;
11350 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11351 yyval.declaration->loc = (yyloc);
11352 structDeclMode = defaultDeclMode;
11358 yyval.declaration = yyvsp[(1) - (2)].declaration;
11359 structDeclMode = defaultDeclMode;
11365 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11366 yyval.declaration->loc = (yyloc);
11372 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11373 yyval.declaration->loc = (yyloc);
11379 yyval.declaration = MkDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list);
11380 yyval.declaration->loc = (yyloc);
11386 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11387 yyval.declaration->loc = (yyloc);
11393 yyval.declaration = MkDeclarationDefine(yyvsp[(2) - (5)].id, yyvsp[(4) - (5)].exp);
11394 yyval.declaration->loc = (yyloc);
11400 structDeclMode = declMode = 3;
11401 yyval.declaration = MkDeclarationDefine(yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].exp);
11402 yyval.declaration->loc = (yyloc);
11408 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11409 yyval.declaration->loc = (yyloc);
11416 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, (((void *)0)));
11417 yyval.declaration->loc = (yyloc);
11418 structDeclMode = defaultDeclMode;
11424 structDeclMode = defaultDeclMode;
11430 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11431 yyval.declaration->loc = (yyloc);
11432 structDeclMode = defaultDeclMode;
11438 yyval.declaration = MkDeclarationInst(yyvsp[(1) - (2)].instance);
11439 yyval.declaration->loc = (yyloc);
11440 structDeclMode = defaultDeclMode;
11446 yyval.declaration = MkDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11447 yyval.declaration->loc = (yyloc);
11448 structDeclMode = defaultDeclMode;
11454 yyval.list = MkList();
11455 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
11461 yyval.list = yyvsp[(1) - (2)].list;
11462 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11468 yyval.list = yyvsp[(1) - (2)].list;
11469 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11475 yyval.list = yyvsp[(1) - (3)].list;
11481 yyval.list = MkList();
11482 ListAdd(yyval.list, yyvsp[(1) - (1)].declaration);
11488 yyval.list = yyvsp[(1) - (2)].list;
11489 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].declaration);
11495 yyval.list = MkList();
11496 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
11502 yyval.list = yyvsp[(1) - (2)].list;
11503 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11509 yyval.list = yyvsp[(1) - (2)].list;
11510 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11516 yyval.list = MkList();
11517 ListAdd(yyval.list, yyvsp[(1) - (1)].stmt);
11523 yyval.list = yyvsp[(1) - (2)].list;
11524 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11530 yyval.list = yyvsp[(1) - (2)].list;
11531 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].stmt);
11537 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11539 stmt->loc = (yylsp[(2) - (2)]);
11540 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11541 yyval.list = yyvsp[(1) - (2)].list;
11542 ListAdd(yyvsp[(1) - (2)].list, stmt);
11548 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11550 stmt->loc = (yylsp[(2) - (2)]);
11551 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11552 yyval.list = yyvsp[(1) - (2)].list;
11553 ListAdd(yyvsp[(1) - (2)].list, stmt);
11559 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11561 stmt->loc = (yylsp[(2) - (2)]);
11562 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11563 yyval.list = yyvsp[(1) - (2)].list;
11564 ListAdd(yyvsp[(1) - (2)].list, stmt);
11570 struct Statement * stmt = MkBadDeclStmt(yyvsp[(2) - (2)].declaration);
11572 stmt->loc = (yylsp[(2) - (2)]);
11573 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "eC expects all declarations to precede statements in the block (C89 style)\n", (((void *)0))));
11574 yyval.list = yyvsp[(1) - (2)].list;
11575 ListAdd(yyvsp[(1) - (2)].list, stmt);
11581 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
11587 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
11593 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11599 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11605 yyval.stmt = MkCompoundStmt((((void *)0)), yyvsp[(1) - (1)].list);
11611 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (1)].list, (((void *)0)));
11617 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11623 yyval.stmt = MkCompoundStmt(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list);
11629 yyval.context = PushContext();
11635 yyval.stmt = yyvsp[(1) - (2)].stmt;
11636 yyval.stmt->loc = (yyloc);
11642 yyval.stmt = yyvsp[(2) - (2)].stmt;
11643 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
11644 PopContext(yyvsp[(1) - (2)].context);
11645 yyval.stmt->loc = (yyloc);
11646 yyval.stmt->loc.end.charPos++;
11647 yyval.stmt->loc.end.pos++;
11653 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
11654 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (1)].context;
11655 PopContext(yyvsp[(1) - (1)].context);
11656 yyval.stmt->loc = (yyloc);
11657 yyval.stmt->loc.end.charPos++;
11658 yyval.stmt->loc.end.pos++;
11664 yyval.stmt = yyvsp[(2) - (2)].stmt;
11665 yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
11666 PopContext(yyvsp[(1) - (2)].context);
11667 yyval.stmt->loc = (yyloc);
11668 yyval.stmt->loc.end.charPos++;
11669 yyval.stmt->loc.end.pos++;
11675 yyval.stmt = MkExpressionStmt((((void *)0)));
11676 yyval.stmt->loc = (yyloc);
11682 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
11683 yyval.stmt->loc = (yyloc);
11689 yyval.stmt = MkExpressionStmt(yyvsp[(1) - (2)].list);
11690 yyval.stmt->loc = (yyloc);
11696 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
11697 yyval.stmt->loc = (yyloc);
11703 yyval.stmt = MkIfStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt, (((void *)0)));
11704 yyval.stmt->loc = (yyloc);
11710 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
11711 yyval.stmt->loc = (yyloc);
11717 yyval.stmt = MkIfStmt(yyvsp[(3) - (7)].list, yyvsp[(5) - (7)].stmt, yyvsp[(7) - (7)].stmt);
11718 yyval.stmt->loc = (yyloc);
11724 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11725 yyval.stmt->loc = (yyloc);
11731 yyval.stmt = MkSwitchStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11732 yyval.stmt->loc = (yyloc);
11738 yyval.stmt = MkIfStmt(yyvsp[(3) - (3)].list, (((void *)0)), (((void *)0)));
11739 yyval.stmt->loc = (yyloc);
11745 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11746 yyval.stmt->loc = (yyloc);
11752 yyval.stmt = MkWhileStmt(yyvsp[(3) - (4)].list, yyvsp[(4) - (4)].stmt);
11753 yyval.stmt->loc = (yyloc);
11760 yyval.stmt = MkWhileStmt((((void *)0)), yyvsp[(4) - (4)].stmt);
11761 yyval.stmt->loc = (yyloc);
11767 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (7)].stmt, yyvsp[(5) - (7)].list);
11768 yyval.stmt->loc = (yyloc);
11774 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (6)].stmt, yyvsp[(5) - (6)].list);
11775 yyval.stmt->loc = (yyloc);
11781 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
11782 yyval.stmt->loc = (yyloc);
11789 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, (((void *)0)), (((void *)0)), yyvsp[(5) - (5)].stmt);
11790 yyval.stmt->loc = (yyloc);
11796 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
11797 yyval.stmt->loc = (yyloc);
11803 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, yyvsp[(5) - (6)].list, yyvsp[(6) - (6)].stmt);
11804 yyval.stmt->loc = (yyloc);
11811 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), yyvsp[(4) - (4)].stmt);
11812 yyval.stmt->loc = (yyloc);
11818 yyval.stmt = MkForEachStmt(yyvsp[(3) - (7)].id, yyvsp[(5) - (7)].list, (((void *)0)), yyvsp[(7) - (7)].stmt);
11819 yyval.stmt->loc = (yyloc);
11825 yyval.stmt = MkForEachStmt(yyvsp[(3) - (9)].id, yyvsp[(5) - (9)].list, yyvsp[(7) - (9)].list, yyvsp[(9) - (9)].stmt);
11826 yyval.stmt->loc = (yyloc);
11832 yyval.stmt = MkForStmt((((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
11833 yyval.stmt->loc = (yyloc);
11839 yyval.stmt = MkForStmt(MkExpressionStmt(yyvsp[(3) - (4)].list), (((void *)0)), (((void *)0)), (((void *)0)));
11840 yyval.stmt->__anon1.forStmt.init->loc = (yylsp[(3) - (4)]);
11841 yyval.stmt->loc = (yyloc);
11847 yyval.stmt = MkForStmt(yyvsp[(3) - (4)].stmt, (((void *)0)), (((void *)0)), (((void *)0)));
11848 yyval.stmt->loc = (yyloc);
11854 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, MkExpressionStmt(yyvsp[(4) - (5)].list), (((void *)0)), (((void *)0)));
11855 yyval.stmt->loc = (yyloc);
11856 yyval.stmt->__anon1.forStmt.check->loc = (yylsp[(4) - (5)]);
11862 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, yyvsp[(4) - (5)].stmt, yyvsp[(5) - (5)].list, (((void *)0)));
11863 yyval.stmt->loc = (yyloc);
11869 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, (((void *)0)), yyvsp[(6) - (6)].stmt);
11870 yyval.stmt->loc = (yyloc);
11876 yyval.stmt = MkForStmt(yyvsp[(3) - (7)].stmt, yyvsp[(4) - (7)].stmt, yyvsp[(5) - (7)].list, yyvsp[(7) - (7)].stmt);
11877 yyval.stmt->loc = (yyloc);
11883 yyval.stmt = MkForStmt(yyvsp[(3) - (6)].stmt, yyvsp[(4) - (6)].stmt, yyvsp[(5) - (6)].list, yyvsp[(6) - (6)].stmt);
11884 yyval.stmt->loc = (yyloc);
11891 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (6)].stmt, yyvsp[(5) - (6)].list);
11892 yyval.stmt->loc = (yyloc);
11899 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (5)].stmt, yyvsp[(5) - (5)].list);
11900 yyval.stmt->loc = (yyloc);
11906 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (5)].stmt, yyvsp[(5) - (5)].list);
11907 yyval.stmt->loc = (yyloc);
11913 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (4)].stmt, (((void *)0)));
11914 yyval.stmt->loc = (yyloc);
11921 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (3)].stmt, (((void *)0)));
11922 yyval.stmt->loc = (yyloc);
11929 yyval.stmt = MkDoWhileStmt(yyvsp[(2) - (2)].stmt, (((void *)0)));
11930 yyval.stmt->loc = (yyloc);
11937 yyval.stmt = MkDoWhileStmt((((void *)0)), (((void *)0)));
11938 yyval.stmt->loc = (yyloc);
11944 yyval.stmt = MkWhileStmt((((void *)0)), (((void *)0)));
11945 yyval.stmt->loc = (yyloc);
11951 yyval.stmt = MkWhileStmt((((void *)0)), (((void *)0)));
11952 yyval.stmt->loc = (yyloc);
11958 yyval.stmt = MkWhileStmt(yyvsp[(3) - (3)].list, (((void *)0)));
11959 yyval.stmt->loc = (yyloc);
11965 yyval.stmt = MkWhileStmt(yyvsp[(3) - (5)].list, yyvsp[(5) - (5)].stmt);
11966 yyval.stmt->loc = (yyloc);
11972 yyval.stmt = MkWhileStmt(yyvsp[(3) - (4)].list, yyvsp[(4) - (4)].stmt);
11973 yyval.stmt->loc = (yyloc);
11979 yyval.stmt = MkGotoStmt(yyvsp[(2) - (3)].id);
11980 yyval.stmt->loc = (yyloc);
11986 yyval.stmt = MkContinueStmt();
11987 yyval.stmt->loc = (yyloc);
11993 yyval.stmt = MkBreakStmt();
11994 yyval.stmt->loc = (yyloc);
12000 struct Expression * exp = MkExpDummy();
12002 yyval.stmt = MkReturnStmt(MkListOne(exp));
12003 yyval.stmt->loc = (yyloc);
12004 exp->loc = (yylsp[(2) - (2)]);
12010 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
12011 yyval.stmt->loc = (yyloc);
12017 yyval.stmt = MkReturnStmt(yyvsp[(2) - (3)].list);
12018 yyval.stmt->loc = (yyloc);
12024 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (3)].exp));
12025 yyval.stmt->loc = (yyloc);
12031 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (3)].exp));
12032 yyval.stmt->loc = (yyloc);
12038 yyval.stmt = MkReturnStmt(yyvsp[(2) - (2)].list);
12039 yyval.stmt->loc = (yyloc);
12045 yyval.stmt = MkReturnStmt(MkListOne(yyvsp[(2) - (2)].exp));
12046 yyval.stmt->loc = (yyloc);
12052 struct Expression * exp = MkExpDummy();
12054 yyval.stmt = MkReturnStmt(MkListOne(exp));
12055 yyval.stmt->loc = (yyloc);
12056 exp->loc.start = exp->loc.end = (yylsp[(1) - (1)]).end;
12062 yyval.stmt = MkGotoStmt((((void *)0)));
12063 yyval.stmt->loc = (yyloc);
12069 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
12070 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12071 yyval.function->loc = (yyloc);
12077 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12078 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12079 yyval.function->loc = (yyloc);
12085 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
12086 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12087 yyval.function->loc = (yyloc);
12093 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12094 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12095 yyval.function->loc = (yyloc);
12101 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
12102 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12103 yyval.function->loc = (yyloc);
12109 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (2)].declarator, (((void *)0)));
12110 ProcessFunctionBody(yyval.function, yyvsp[(2) - (2)].stmt);
12111 yyval.function->loc = (yyloc);
12117 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
12118 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12119 yyval.function->loc = (yyloc);
12120 yyval.function->loc.end = yyvsp[(4) - (4)].stmt->loc.end;
12126 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12127 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12128 yyval.function->loc = (yyloc);
12129 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12135 yyval.function = MkFunction(yyvsp[(1) - (4)].list, yyvsp[(2) - (4)].declarator, yyvsp[(3) - (4)].list);
12136 ProcessFunctionBody(yyval.function, yyvsp[(4) - (4)].stmt);
12137 yyval.function->loc = (yyloc);
12138 yyval.function->loc.end = yyvsp[(4) - (4)].stmt->loc.end;
12144 yyval.function = MkFunction(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].declarator, (((void *)0)));
12145 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12146 yyval.function->loc = (yyloc);
12147 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12153 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (3)].declarator, yyvsp[(2) - (3)].list);
12154 ProcessFunctionBody(yyval.function, yyvsp[(3) - (3)].stmt);
12155 yyval.function->loc = (yyloc);
12156 yyval.function->loc.end = yyvsp[(3) - (3)].stmt->loc.end;
12162 yyval.function = MkFunction((((void *)0)), yyvsp[(1) - (2)].declarator, (((void *)0)));
12163 ProcessFunctionBody(yyval.function, yyvsp[(2) - (2)].stmt);
12164 yyval.function->loc = (yyloc);
12165 yyval.function->loc.end = yyvsp[(2) - (2)].stmt->loc.end;
12171 yyval.string = __ecereNameSpace__ecere__sys__CopyString(yytext);
12177 int len1 = strlen(yyvsp[(1) - (2)].string);
12178 int len2 = strlen(yytext);
12180 yyval.string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (len1 - 1 + len2 - 1 + 1));
12181 memcpy(yyval.string, yyvsp[(1) - (2)].string, len1 - 1);
12182 memcpy(yyval.string + len1 - 1, yytext + 1, len2);
12183 (__ecereNameSpace__ecere__com__eSystem_Delete(yyvsp[(1) - (2)].string), yyvsp[(1) - (2)].string = 0);
12189 yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
12190 yyval.external->loc = (yyloc);
12191 yyvsp[(1) - (1)].function->declMode = declMode;
12192 structDeclMode = declMode = defaultDeclMode;
12198 yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
12199 yyval.external->loc = (yyloc);
12200 yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
12201 structDeclMode = declMode = defaultDeclMode;
12207 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12208 yyval.external->loc = (yyloc);
12209 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12210 structDeclMode = declMode = defaultDeclMode;
12211 FreeList(yyvsp[(1) - (2)].list, (void *)(FreeSpecifier));
12217 yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
12218 yyval.external->loc = (yyloc);
12219 yyvsp[(1) - (1)].declaration->declMode = declMode;
12220 structDeclMode = declMode = defaultDeclMode;
12226 yyval.external = MkExternalImport(yyvsp[(2) - (2)].string, 0, (declMode != 0) ? declMode : 2);
12227 yyval.external->loc = (yyloc);
12233 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 1, (declMode != 0) ? declMode : 2);
12234 yyval.external->loc = (yyloc);
12240 unsigned int isRemote = !strcmp(yyvsp[(2) - (3)].id->string, "remote");
12242 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, isRemote ? 2 : 0, (declMode != 0) ? declMode : 2);
12243 yyval.external->loc = (yyloc);
12244 FreeIdentifier(yyvsp[(2) - (3)].id);
12252 yyval.external = (((void *)0));
12258 yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
12259 yyval.external->loc = (yyloc);
12260 yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
12261 structDeclMode = declMode = defaultDeclMode;
12267 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12268 yyval.external->loc = (yyloc);
12269 yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
12270 structDeclMode = declMode = defaultDeclMode;
12276 yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
12277 yyval.external->loc = (yyloc);
12278 yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
12279 structDeclMode = declMode = defaultDeclMode;
12285 yyval.external = MkExternalImport(yyvsp[(3) - (3)].string, 0, (yyvsp[(1) - (3)].declMode != 0) ? yyvsp[(1) - (3)].declMode : 2);
12286 yyval.external->loc = (yyloc);
12287 structDeclMode = declMode = defaultDeclMode;
12293 yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, 1, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
12294 yyval.external->loc = (yyloc);
12295 structDeclMode = declMode = defaultDeclMode;
12301 unsigned int isRemote = !strcmp(yyvsp[(3) - (4)].id->string, "remote");
12303 yyval.external = MkExternalImport(yyvsp[(4) - (4)].string, isRemote ? 2 : 0, (yyvsp[(1) - (4)].declMode != 0) ? yyvsp[(1) - (4)].declMode : 2);
12304 yyval.external->loc = (yyloc);
12305 FreeIdentifier(yyvsp[(3) - (4)].id);
12306 structDeclMode = declMode = defaultDeclMode;
12314 defaultDeclMode = yyvsp[(1) - (2)].declMode;
12315 yyval.external = (((void *)0));
12321 defaultDeclMode = 3;
12322 yyval.external = (((void *)0));
12328 yyval.external = MkExternalNameSpace(yyvsp[(2) - (2)].id);
12329 yyval.external->loc = (yyloc);
12335 yyval.external = MkExternalNameSpace(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name));
12336 FreeSpecifier(yyvsp[(2) - (2)].specifier);
12337 yyval.external->loc = (yyloc);
12343 yyval.external = MkExternalDBTable(yyvsp[(1) - (1)].dbtableDef);
12344 yyval.external->loc = (yyloc);
12345 yyvsp[(1) - (1)].dbtableDef->declMode = (declMode != 0) ? declMode : 2;
12346 structDeclMode = declMode = defaultDeclMode;
12352 yyval.external = MkExternalDBTable(yyvsp[(2) - (2)].dbtableDef);
12353 yyval.external->loc = (yyloc);
12354 yyvsp[(2) - (2)].dbtableDef->declMode = (yyvsp[(1) - (2)].declMode != 0) ? declMode : 2;
12355 structDeclMode = declMode = defaultDeclMode;
12362 yyval.external = MkExternalClass(yyvsp[(1) - (1)]._class);
12363 yyval.external->loc = yyvsp[(1) - (1)]._class->loc;
12364 yyvsp[(1) - (1)]._class->declMode = (declMode != 0) ? declMode : 2;
12365 structDeclMode = declMode = defaultDeclMode;
12372 FreeList(yyvsp[(1) - (2)].list, (void *)(FreeSpecifier));
12373 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12374 yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
12375 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12376 structDeclMode = declMode = defaultDeclMode;
12383 yyval.external = MkExternalFunction(yyvsp[(1) - (1)].function);
12384 yyval.external->loc = yyvsp[(1) - (1)].function->loc;
12385 yyvsp[(1) - (1)].function->declMode = declMode;
12386 structDeclMode = declMode = defaultDeclMode;
12393 yyval.external = MkExternalClass(yyvsp[(2) - (2)]._class);
12394 yyval.external->loc = yyvsp[(2) - (2)]._class->loc;
12395 yyvsp[(2) - (2)]._class->declMode = (yyvsp[(1) - (2)].declMode != 0) ? yyvsp[(1) - (2)].declMode : 2;
12396 structDeclMode = declMode = defaultDeclMode;
12403 yyval.external = MkExternalFunction(yyvsp[(2) - (2)].function);
12404 yyval.external->loc = yyvsp[(2) - (2)].function->loc;
12405 yyvsp[(2) - (2)].function->declMode = yyvsp[(1) - (2)].declMode;
12406 structDeclMode = declMode = defaultDeclMode;
12413 yyval.external = MkExternalDeclaration(yyvsp[(1) - (1)].declaration);
12414 yyval.external->loc = (yyloc);
12415 yyvsp[(1) - (1)].declaration->declMode = declMode;
12416 structDeclMode = declMode = defaultDeclMode;
12423 yyval.external = MkExternalDeclaration(yyvsp[(2) - (2)].declaration);
12424 yyval.external->loc = (yyloc);
12425 yyvsp[(2) - (2)].declaration->declMode = yyvsp[(1) - (2)].declMode;
12426 structDeclMode = declMode = defaultDeclMode;
12432 yyval.list = MkList();
12433 ListAdd(yyval.list, yyvsp[(1) - (1)].external);
12440 yyval.list = yyvsp[(1) - (2)].list;
12441 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12447 yyval.list = yyvsp[(1) - (2)].list;
12448 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12454 yyval.list = MkList();
12455 ListAdd(yyval.list, yyvsp[(1) - (1)].external);
12462 yyval.list = yyvsp[(1) - (2)].list;
12463 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].external);
12469 struct External * _class = MkExternalClass(yyvsp[(2) - (2)]._class);
12471 yyval.list = yyvsp[(1) - (2)].list;
12472 ListAdd(yyvsp[(1) - (2)].list, _class);
12473 _class->loc = (yylsp[(2) - (2)]);
12474 yyvsp[(2) - (2)]._class->declMode = (declMode != 0) ? declMode : 2;
12475 structDeclMode = declMode = defaultDeclMode;
12481 struct External * _class = MkExternalClass(yyvsp[(3) - (3)]._class);
12483 yyval.list = yyvsp[(1) - (3)].list;
12484 ListAdd(yyvsp[(1) - (3)].list, _class);
12485 _class->loc = (yylsp[(3) - (3)]);
12486 yyvsp[(3) - (3)]._class->declMode = (yyvsp[(2) - (3)].declMode != 0) ? yyvsp[(2) - (3)].declMode : 2;
12487 structDeclMode = declMode = defaultDeclMode;
12499 struct Symbol * symbol = DeclClassAddNameSpace(yyvsp[(3) - (6)].id->_class, yyvsp[(3) - (6)].id->string);
12501 FreeIdentifier(yyvsp[(3) - (6)].id);
12502 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list);
12508 struct Symbol * symbol = DeclClass(yyvsp[(3) - (6)].specifier->__anon1.__anon1.nsSpec, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
12510 FreeSpecifier(yyvsp[(3) - (6)].specifier);
12511 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list);
12517 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (5)].string, (((void *)0)), yyvsp[(4) - (5)].list);
12523 yyval.dbtableEntry = MkDBFieldEntry(MkTypeName(yyvsp[(1) - (4)].list, (((void *)0))), yyvsp[(2) - (4)].id, yyvsp[(3) - (4)].string);
12529 yyval.dbindexItem = MkDBIndexItem(yyvsp[(1) - (1)].id, 0);
12535 yyval.dbindexItem = MkDBIndexItem(yyvsp[(2) - (2)].id, 1);
12541 yyval.dbindexItem = MkDBIndexItem(yyvsp[(2) - (2)].id, 0);
12547 yyval.list = MkList();
12548 ListAdd(yyval.list, yyvsp[(1) - (1)].dbindexItem);
12554 ListAdd(yyvsp[(1) - (3)].list, yyvsp[(3) - (3)].dbindexItem);
12560 yyval.dbtableEntry = MkDBIndexEntry(yyvsp[(2) - (3)].list, (((void *)0)));
12566 yyval.dbtableEntry = MkDBIndexEntry(yyvsp[(2) - (4)].list, yyvsp[(3) - (4)].id);
12572 yyval.list = MkList();
12573 ListAdd(yyval.list, yyvsp[(1) - (1)].dbtableEntry);
12579 yyval.list = MkList();
12580 ListAdd(yyval.list, yyvsp[(1) - (1)].dbtableEntry);
12586 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].dbtableEntry);
12592 ListAdd(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].dbtableEntry);
12598 yyval.exp = MkExpDBOpen(yyvsp[(3) - (6)].exp, yyvsp[(5) - (6)].exp);
12604 yyval.exp = MkExpDBField(yyvsp[(3) - (6)].string, yyvsp[(5) - (6)].id);
12610 yyval.exp = MkExpDBIndex(yyvsp[(3) - (6)].string, yyvsp[(5) - (6)].id);
12616 yyval.exp = MkExpDBTable(yyvsp[(3) - (4)].string);
12627 fprintf((bsl_stderr()), "%s ", "-> $$ =");
12628 yy_symbol_print((bsl_stderr()), yyr1[yyn], &yyval, &yyloc);
12629 fprintf((bsl_stderr()), "\n");
12632 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12637 yy_stack_print((yyss), (yyssp));
12642 yystate = yypgoto[yyn - 146] + *yyssp;
12643 if(0 <= yystate && yystate <= 42058 && yycheck[yystate] == *yyssp)
12644 yystate = yytable[yystate];
12646 yystate = yydefgoto[yyn - 146];
12652 yyerror("syntax error");
12654 yyerror_range[0] = yylloc;
12655 if(yyerrstatus == 3)
12664 yydestruct("Error: discarding", yytoken, &yylval, &yylloc);
12672 yyerror_range[0] = yylsp[1 - yylen];
12673 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12678 yy_stack_print((yyss), (yyssp));
12686 yyn = yypact[yystate];
12690 if(0 <= yyn && yyn <= 42058 && yycheck[yyn] == 1)
12692 yyn = yytable[yyn];
12699 yyerror_range[0] = *yylsp;
12700 yydestruct("Error: popping", yystos[yystate], yyvsp, yylsp);
12701 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));
12706 yy_stack_print((yyss), (yyssp));
12710 yyerror_range[1] = yylloc;
12711 (yyloc.start = ((yyerror_range - 1))[1].start);
12712 (yyloc.end = ((yyerror_range - 1))[2].end);
12719 fprintf((bsl_stderr()), "%s ", "Shifting");
12720 yy_symbol_print((bsl_stderr()), yystos[yyn], yyvsp, yylsp);
12721 fprintf((bsl_stderr()), "\n");
12733 yyerror("memory exhausted");
12737 yydestruct("Cleanup: discarding lookahead", yytoken, &yylval, &yylloc);
12738 (yyvsp -= (yylen), yyssp -= (yylen), yylsp -= (yylen));
12742 yy_stack_print((yyss), (yyssp));
12744 while(yyssp != yyss)
12746 yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp, yylsp);
12747 (yyvsp -= (1), yyssp -= (1), yylsp -= (1));