Changeset 2871210
- Timestamp:
- Jul 3, 2015, 6:08:20 PM (10 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- f6d7e0f
- Parents:
- 0df292b
- Files:
-
- 10 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
include/bfd.h
r0df292b r2871210 10 10 // Created On : Thu Jan 8 15:50:56 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at May 16 07:54:59201513 // Update Count : 512 // Last Modified On : Sun Jun 28 09:07:14 2015 13 // Update Count : 7 14 14 15 15 // This include file uses the CFA keyword "type" as a field name of a structure. 16 16 // The name is changed only for the include file. 17 17 18 #ifndef type // nesting ? 18 19 #define type `type` 19 #include_next <math.h> 20 #define __CFA_BFD_H__ 21 #endif // type 22 #include_next <bfd.h> 23 #ifdef __CFA_BFD_H__ 20 24 #undef type 25 #endif // __CFA_BFD_H__ 21 26 22 27 // Local Variables: // -
include/math.h
r0df292b r2871210 10 10 // Created On : Mon Nov 10 23:41:29 2014 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at May 16 07:55:52 201513 // Update Count : 312 // Last Modified On : Sun Jun 28 09:05:22 2015 13 // Update Count : 6 14 14 15 15 // This include file uses the CFA keyword "type" as a field name of a structure. 16 16 // The name is changed only for the include file. 17 17 18 #ifndef type // nesting ? 18 19 #define type `type` 20 #define __CFA_MATH_H__ 21 #endif // type 19 22 #include_next <math.h> 23 #ifdef __CFA_MATH_H__ 20 24 #undef type 25 #endif // __CFA_MATH_H__ 21 26 22 27 // Local Variables: // -
src/Common/utility.h
r0df292b r2871210 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 8 14:43:54201513 // Update Count : 1 312 // Last Modified On : Thu Jul 2 18:04:41 2015 13 // Update Count : 16 14 14 // 15 15 … … 86 86 } 87 87 88 static inline std::string assign_strptr( std::string *str ) {88 static inline std::string assign_strptr( const std::string *str ) { 89 89 if ( str == 0 ) { 90 90 return ""; … … 97 97 } 98 98 99 template< class T, typename ResultType, ResultType (T::* memfunc)() >99 template< class T, typename ResultType, ResultType( T::* memfunc )() > 100 100 ResultType dispatch( T *pT ) { 101 101 return (pT->*memfunc)(); -
src/ControlStruct/LabelFixer.h
r0df292b r2871210 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Tue Jun 23 15:47:25201513 // Update Count : 2 811 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 29 17:24:39 2015 13 // Update Count : 29 14 14 // 15 15 … … 94 94 } 95 95 96 void add_uses ( Entry &other ) { usage.insert( usage.end(), other.usage.begin(), usage.end() ); }96 void add_uses ( Entry &other ) { usage.insert( usage.end(), other.usage.begin(), other.usage.end() ); } 97 97 private: 98 98 Label label; -
src/Parser/DeclarationNode.cc
r0df292b r2871210 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Ju n 26 23:36:03201513 // Update Count : 10 512 // Last Modified On : Fri Jul 3 12:35:02 2015 13 // Update Count : 108 14 14 // 15 15 … … 173 173 } 174 174 175 DeclarationNode *DeclarationNode::newAggregate( Aggregate kind, std::string *name, ExpressionNode *actuals, DeclarationNode *fields ) {175 DeclarationNode *DeclarationNode::newAggregate( Aggregate kind, const std::string *name, ExpressionNode *actuals, DeclarationNode *fields ) { 176 176 DeclarationNode *newnode = new DeclarationNode; 177 177 newnode->type = new TypeData( TypeData::Aggregate ); 178 178 newnode->type->aggregate->kind = kind; 179 179 newnode->type->aggregate->name = assign_strptr( name ); 180 if ( newnode->type->aggregate->name == "" ) { 180 if ( newnode->type->aggregate->name == "" ) { // anonymous aggregate ? 181 181 newnode->type->aggregate->name = DeclarationNode::anonymous.newName(); 182 } // if 183 184 // SKULLDUGGERY: generate a typedef for the aggregate name so that the aggregate does not have to be qualified by 185 // "struct" 186 typedefTable.addToEnclosingScope( newnode->type->aggregate->name, TypedefTable::TD ); 187 DeclarationNode *typedf = new DeclarationNode; 188 typedf->name = newnode->type->aggregate->name; 189 newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() ); 190 182 } else { 183 // SKULLDUGGERY: generate a typedef for the aggregate name so that the aggregate does not have to be qualified 184 // by "struct" 185 typedefTable.addToEnclosingScope( newnode->type->aggregate->name, TypedefTable::TD ); 186 DeclarationNode *typedf = new DeclarationNode; 187 typedf->name = newnode->type->aggregate->name; 188 newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() ); 189 } // if 191 190 newnode->type->aggregate->actuals = actuals; 192 191 newnode->type->aggregate->fields = fields; … … 199 198 newnode->type = new TypeData( TypeData::Enum ); 200 199 newnode->type->enumeration->name = newnode->name; 201 if ( newnode->type->enumeration->name == "" ) { 200 if ( newnode->type->enumeration->name == "" ) { // anonymous enumeration ? 202 201 newnode->type->enumeration->name = DeclarationNode::anonymous.newName(); 203 } // if 204 205 // SKULLDUGGERY: generate a typedef for the enumeration name so that the enumeration does not have to be qualified 206 // by "enum" 207 typedefTable.addToEnclosingScope( newnode->type->enumeration->name, TypedefTable::TD ); 208 DeclarationNode *typedf = new DeclarationNode; 209 typedf->name = newnode->type->enumeration->name; 210 newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() ); 211 202 } else { 203 // SKULLDUGGERY: generate a typedef for the enumeration name so that the enumeration does not have to be 204 // qualified by "enum" 205 typedefTable.addToEnclosingScope( newnode->type->enumeration->name, TypedefTable::TD ); 206 DeclarationNode *typedf = new DeclarationNode; 207 typedf->name = newnode->type->enumeration->name; 208 newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() ); 209 } // if 212 210 newnode->type->enumeration->constants = constants; 213 211 return newnode; -
src/Parser/ParseNode.h
r0df292b r2871210 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Ju n 25 17:27:42201513 // Update Count : 8 312 // Last Modified On : Thu Jul 2 17:57:05 2015 13 // Update Count : 84 14 14 // 15 15 … … 287 287 static DeclarationNode *newForall( DeclarationNode *); 288 288 static DeclarationNode *newFromTypedef( std::string *); 289 static DeclarationNode *newAggregate( Aggregate kind, std::string *name, ExpressionNode *actuals, DeclarationNode *fields );289 static DeclarationNode *newAggregate( Aggregate kind, const std::string *name, ExpressionNode *actuals, DeclarationNode *fields ); 290 290 static DeclarationNode *newEnum( std::string *name, DeclarationNode *constants ); 291 291 static DeclarationNode *newEnumConstant( std::string *name, ExpressionNode *constant ); -
src/Parser/parser.cc
r0df292b r2871210 568 568 569 569 /* YYFINAL -- State number of the termination state. */ 570 #define YYFINAL 24 0570 #define YYFINAL 246 571 571 /* YYLAST -- Last index in YYTABLE. */ 572 #define YYLAST 11 462572 #define YYLAST 11363 573 573 574 574 /* YYNTOKENS -- Number of terminals. */ 575 575 #define YYNTOKENS 125 576 576 /* YYNNTS -- Number of nonterminals. */ 577 #define YYNNTS 23 5577 #define YYNNTS 236 578 578 /* YYNRULES -- Number of rules. */ 579 #define YYNRULES 73 1579 #define YYNRULES 732 580 580 /* YYNRULES -- Number of states. */ 581 #define YYNSTATES 15 29581 #define YYNSTATES 1505 582 582 583 583 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ … … 644 644 270, 274, 278, 282, 286, 288, 292, 296, 298, 302, 645 645 304, 308, 310, 314, 316, 320, 322, 326, 328, 334, 646 339, 345, 347, 349, 353, 357, 360, 361, 363, 36 8,647 37 4, 381, 389, 391, 395, 397, 399, 401, 403, 405,648 40 7, 409, 411, 413, 415, 417, 421, 422, 424, 426,649 42 8, 430, 432, 434, 436, 438, 440, 445, 448, 456,650 45 8, 462, 464, 467, 469, 472, 474, 477, 480, 486,651 49 4, 500, 510, 516, 526, 528, 532, 534, 536, 540,652 54 4, 547, 549, 552, 555, 556, 558, 561, 565, 566,653 56 8, 571, 575, 579, 584, 585, 587, 589, 592, 598,654 60 6, 613, 620, 625, 629, 634, 637, 641, 644, 648,655 65 2, 656, 659, 663, 667, 672, 674, 680, 687, 697,656 70 8, 711, 713, 716, 719, 722, 724, 731, 740, 751,657 76 4, 765, 767, 769, 773, 778, 780, 784, 786, 788,658 7 90, 794, 796, 798, 800, 804, 805, 807, 811, 816,659 81 8, 822, 824, 826, 830, 834, 838, 842, 846, 849,660 85 3, 860, 864, 868, 873, 875, 878, 881, 885, 891,661 902, 913, 921, 929, 935, 945, 948, 951, 957, 961,662 9 67, 972, 976, 981, 986, 994, 998, 1002, 1006, 1010,663 10 15, 1022, 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1038,664 10 39, 1041, 1043, 1046, 1048, 1050, 1052, 1054, 1056, 1058,665 10 60, 1061, 1067, 1069, 1072, 1076, 1078, 1081, 1083, 1085,666 10 87, 1089, 1091, 1093, 1095, 1097, 1099, 1101, 1103, 1105,667 1 107, 1109, 1111, 1113, 1115, 1117, 1119, 1121, 1123, 1125,668 11 28, 1131, 1135, 1139, 1141, 1145, 1147, 1150, 1153, 1156,669 11 61, 1166, 1171, 1176, 1178, 1181, 1184, 1188, 1190, 1193,670 11 96, 1198, 1201, 1204, 1208, 1210, 1213, 1216, 1218, 1220,671 12 25, 1228, 1234, 1242, 1248, 1251, 1254, 1256, 1259, 1262,672 12 66, 1269, 1273, 1275, 1278, 1282, 1285, 1288, 1293, 1294,673 12 96, 1299, 1302, 1304, 1305, 1307, 1310, 1313, 1319, 1326,674 13 29, 1332, 1337, 1338, 1341, 1342, 1344, 1346, 1348, 1354,675 13 60, 1366, 1368, 1374, 1380, 1390, 1392, 1398, 1399, 1401,676 1 403, 1409, 1411, 1413, 1419, 1425, 1427, 1431, 1435, 1440,677 14 42, 1444, 1446, 1448, 1451, 1453, 1457, 1461, 1463, 1466,678 14 68, 1472, 1474, 1476, 1478, 1480, 1482, 1484, 1486, 1488,679 14 90, 1492, 1494, 1497, 1499, 1501, 1503, 1506, 1507, 1510,680 1 512, 1517, 1519, 1522, 1526, 1531, 1534, 1537, 1539, 1542,681 15 45, 1551, 1557, 1565, 1572, 1574, 1577, 1580, 1584, 1589,682 15 95, 1598, 1601, 1606, 1607, 1612, 1615, 1617, 1619, 1621,683 16 22, 1625, 1631, 1637, 1651, 1653, 1655, 1659, 1663, 1666,684 16 70, 1674, 1677, 1682, 1684, 1691, 1701, 1702, 1714, 1716,685 17 20, 1724, 1728, 1730, 1732, 1738, 1741, 1747, 1748, 1750,686 17 52, 1756, 1757, 1759, 1761, 1763, 1765, 1766, 1773, 1776,687 17 78, 1781, 1786, 1789, 1793, 1797, 1801, 1806, 1812, 1818,688 18 24, 1831, 1833, 1835, 1837, 1841, 1842, 1848, 1849, 1851,689 18 53, 1856, 1863, 1865, 1869, 1870, 1872, 1877, 1879, 1881,690 18 83, 1885, 1888, 1890, 1893, 1896, 1898, 1902, 1905, 1909,691 1 913, 1916, 1921, 1926, 1930, 1939, 1943, 1946, 1948, 1951,692 19 58, 1967, 1971, 1974, 1978, 1982, 1987, 1992, 1996, 1998,693 2000, 2002, 2007, 2014, 2018, 2021, 2025, 2029, 2034, 2039,694 20 43, 2046, 2048, 2051, 2054, 2056, 2060, 2063, 2067, 2071,695 20 74, 2079, 2084, 2088, 2095, 2104, 2108, 2111, 2113, 2116,696 21 19, 2122, 2126, 2130, 2133, 2138, 2143, 2147, 2154, 2163,697 21 67, 2170, 2172, 2175, 2178, 2180, 2183, 2187, 2191, 2194,698 21 99, 2206, 2215, 2217, 2220, 2223, 2225, 2228, 2231, 2235,699 22 39, 2241, 2246, 2251, 2255, 2261, 2270, 2274, 2279, 2285,700 22 87, 2293, 2299, 2306, 2313, 2315, 2318, 2321, 2323, 2326,701 23 29, 2333, 2337, 2339, 2344, 2349, 2353, 2359, 2368, 2372,702 23 74, 2377, 2379, 2384, 2391, 2397, 2404, 2412, 2420, 2422,703 2 425, 2428, 2430, 2433, 2436, 2440, 2444, 2446, 2451, 2456,704 24 60, 2469, 2473, 2475, 2477, 2480, 2482, 2484, 2487, 2491,705 24 94, 2498, 2501, 2505, 2511, 2514, 2521, 2525, 2528, 2534,706 25 37, 2544, 2548, 2551, 2558, 2565, 2572, 2580, 2582, 2585,707 25 87, 2589, 2591, 2594, 2598, 2601, 2605, 2608, 2612, 2618,708 2 625, 2628, 2634, 2641, 2644, 2650, 2658, 2665, 2672, 2673,709 26 75, 2676646 339, 345, 347, 349, 353, 357, 360, 361, 363, 366, 647 372, 379, 387, 389, 393, 395, 397, 399, 401, 403, 648 405, 407, 409, 411, 413, 415, 419, 420, 422, 424, 649 426, 428, 430, 432, 434, 436, 438, 443, 446, 454, 650 456, 460, 462, 465, 467, 470, 472, 475, 478, 484, 651 492, 498, 508, 514, 524, 526, 530, 532, 534, 538, 652 542, 545, 547, 550, 553, 554, 556, 559, 563, 564, 653 566, 569, 573, 577, 582, 583, 585, 587, 590, 596, 654 604, 611, 618, 623, 627, 632, 635, 639, 642, 646, 655 650, 654, 657, 661, 665, 670, 672, 678, 685, 695, 656 706, 709, 711, 714, 717, 720, 722, 729, 738, 749, 657 762, 763, 765, 767, 771, 776, 778, 782, 784, 786, 658 788, 792, 794, 796, 798, 802, 803, 805, 809, 814, 659 816, 820, 822, 824, 828, 832, 836, 840, 844, 847, 660 851, 858, 862, 866, 871, 873, 876, 879, 883, 889, 661 898, 906, 914, 920, 930, 933, 936, 942, 946, 952, 662 957, 961, 966, 971, 979, 983, 987, 991, 995, 1000, 663 1007, 1009, 1011, 1013, 1015, 1017, 1019, 1021, 1023, 1024, 664 1026, 1028, 1031, 1033, 1035, 1037, 1039, 1041, 1043, 1045, 665 1046, 1052, 1054, 1057, 1061, 1063, 1066, 1068, 1070, 1072, 666 1074, 1076, 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 667 1094, 1096, 1098, 1100, 1102, 1104, 1106, 1108, 1110, 1113, 668 1116, 1120, 1124, 1126, 1130, 1132, 1135, 1138, 1141, 1146, 669 1151, 1156, 1161, 1163, 1166, 1169, 1173, 1175, 1178, 1181, 670 1183, 1186, 1189, 1193, 1195, 1198, 1201, 1203, 1205, 1210, 671 1213, 1219, 1227, 1230, 1233, 1236, 1238, 1241, 1244, 1248, 672 1251, 1255, 1257, 1260, 1264, 1267, 1270, 1275, 1276, 1278, 673 1281, 1284, 1286, 1287, 1289, 1292, 1295, 1301, 1308, 1311, 674 1314, 1319, 1320, 1323, 1324, 1326, 1328, 1330, 1336, 1342, 675 1348, 1350, 1356, 1362, 1372, 1374, 1380, 1381, 1383, 1385, 676 1391, 1393, 1395, 1401, 1407, 1409, 1413, 1417, 1422, 1424, 677 1426, 1428, 1430, 1433, 1435, 1439, 1443, 1445, 1448, 1450, 678 1454, 1456, 1458, 1460, 1462, 1464, 1466, 1468, 1470, 1472, 679 1474, 1476, 1479, 1481, 1483, 1485, 1488, 1489, 1492, 1494, 680 1499, 1501, 1504, 1508, 1513, 1516, 1519, 1521, 1524, 1527, 681 1533, 1539, 1547, 1554, 1556, 1559, 1562, 1566, 1568, 1571, 682 1574, 1579, 1582, 1587, 1588, 1593, 1596, 1598, 1600, 1602, 683 1603, 1606, 1612, 1618, 1632, 1634, 1636, 1640, 1644, 1647, 684 1651, 1655, 1658, 1663, 1665, 1672, 1682, 1683, 1695, 1697, 685 1701, 1705, 1709, 1711, 1713, 1719, 1722, 1728, 1729, 1731, 686 1733, 1737, 1738, 1740, 1742, 1744, 1746, 1747, 1754, 1757, 687 1759, 1762, 1767, 1770, 1774, 1778, 1782, 1787, 1793, 1799, 688 1805, 1812, 1814, 1816, 1818, 1822, 1823, 1829, 1830, 1832, 689 1834, 1837, 1844, 1846, 1850, 1851, 1853, 1858, 1860, 1862, 690 1864, 1866, 1869, 1871, 1874, 1877, 1879, 1883, 1886, 1890, 691 1894, 1897, 1902, 1907, 1911, 1920, 1924, 1927, 1929, 1932, 692 1939, 1948, 1952, 1955, 1959, 1963, 1968, 1973, 1977, 1979, 693 1981, 1983, 1988, 1995, 1999, 2002, 2006, 2010, 2015, 2020, 694 2024, 2027, 2029, 2032, 2035, 2037, 2041, 2044, 2048, 2052, 695 2055, 2060, 2065, 2069, 2076, 2085, 2089, 2092, 2094, 2097, 696 2100, 2103, 2107, 2111, 2114, 2119, 2124, 2128, 2135, 2144, 697 2148, 2151, 2153, 2156, 2159, 2161, 2163, 2166, 2170, 2174, 698 2177, 2182, 2189, 2198, 2200, 2203, 2206, 2208, 2211, 2214, 699 2218, 2222, 2224, 2229, 2234, 2238, 2244, 2253, 2257, 2260, 700 2264, 2266, 2272, 2278, 2285, 2292, 2294, 2297, 2300, 2302, 701 2305, 2308, 2312, 2316, 2318, 2323, 2328, 2332, 2338, 2347, 702 2351, 2353, 2356, 2358, 2361, 2368, 2374, 2381, 2389, 2397, 703 2399, 2402, 2405, 2407, 2410, 2413, 2417, 2421, 2423, 2428, 704 2433, 2437, 2446, 2450, 2452, 2454, 2457, 2459, 2461, 2464, 705 2468, 2471, 2475, 2478, 2482, 2486, 2489, 2494, 2498, 2501, 706 2505, 2508, 2513, 2517, 2520, 2527, 2534, 2541, 2549, 2551, 707 2554, 2556, 2558, 2560, 2563, 2567, 2570, 2574, 2577, 2581, 708 2585, 2590, 2593, 2597, 2602, 2605, 2611, 2617, 2624, 2631, 709 2632, 2634, 2635 710 710 }; 711 711 … … 713 713 static const yytype_int16 yyrhs[] = 714 714 { 715 28 8, 0, -1, -1, -1, 72, -1, 73, -1, 74,715 289, 0, -1, -1, -1, 72, -1, 73, -1, 74, 716 716 -1, 65, -1, 69, -1, 132, -1, 65, -1, 69, 717 717 -1, 65, -1, 76, -1, 77, -1, 75, -1, 133, … … 722 722 138, 127, 104, -1, 135, 78, 131, -1, 135, 78, 723 723 103, 126, 138, 127, 104, -1, 135, 79, -1, 135, 724 80, -1, 101, 262, 102, 106, 266, 35 8, 107, -1,724 80, -1, 101, 262, 102, 106, 266, 359, 107, -1, 725 725 137, -1, 136, 108, 137, -1, -1, 155, -1, 131, 726 726 109, 155, -1, 103, 126, 155, 127, 104, 109, 155, … … 748 748 160, 109, 153, -1, 152, 122, 109, 153, -1, 152, 749 749 122, 160, 109, 157, -1, 153, -1, 153, -1, 140, 750 123, 155, -1, 140, 159, 155, -1, 157, 359, -1, 751 -1, 155, -1, 103, 126, 127, 104, -1, 103, 126, 752 155, 127, 104, -1, 103, 126, 108, 158, 127, 104, 753 -1, 103, 126, 155, 108, 158, 127, 104, -1, 156, 754 -1, 158, 108, 156, -1, 90, -1, 91, -1, 92, 755 -1, 93, -1, 94, -1, 95, -1, 96, -1, 97, 756 -1, 98, -1, 99, -1, 155, -1, 160, 108, 155, 757 -1, -1, 160, -1, 163, -1, 164, -1, 168, -1, 758 169, -1, 181, -1, 183, -1, 184, -1, 189, -1, 759 131, 109, 298, 162, -1, 106, 107, -1, 106, 126, 760 126, 198, 165, 127, 107, -1, 166, -1, 165, 126, 761 166, -1, 201, -1, 38, 201, -1, 294, -1, 162, 762 127, -1, 162, -1, 167, 162, -1, 161, 124, -1, 763 39, 101, 160, 102, 162, -1, 39, 101, 160, 102, 764 162, 40, 162, -1, 41, 101, 160, 102, 174, -1, 765 41, 101, 160, 102, 106, 126, 194, 175, 107, -1, 766 51, 101, 160, 102, 174, -1, 51, 101, 160, 102, 767 106, 126, 194, 177, 107, -1, 154, -1, 154, 89, 768 154, -1, 296, -1, 170, -1, 171, 108, 170, -1, 769 42, 171, 109, -1, 43, 109, -1, 172, -1, 173, 770 172, -1, 173, 162, -1, -1, 176, -1, 173, 167, 771 -1, 176, 173, 167, -1, -1, 178, -1, 173, 180, 772 -1, 173, 167, 179, -1, 178, 173, 180, -1, 178, 773 173, 167, 179, -1, -1, 180, -1, 52, -1, 52, 774 124, -1, 45, 101, 160, 102, 162, -1, 44, 162, 775 45, 101, 160, 102, 124, -1, 46, 101, 126, 182, 776 102, 162, -1, 161, 127, 124, 161, 124, 161, -1, 777 201, 161, 124, 161, -1, 49, 131, 124, -1, 49, 778 111, 160, 124, -1, 48, 124, -1, 48, 131, 124, 779 -1, 47, 124, -1, 47, 131, 124, -1, 50, 161, 780 124, -1, 56, 155, 124, -1, 56, 124, -1, 53, 781 164, 185, -1, 53, 164, 187, -1, 53, 164, 185, 782 187, -1, 186, -1, 54, 101, 89, 102, 164, -1, 783 186, 54, 101, 89, 102, 164, -1, 54, 101, 126, 784 126, 188, 127, 102, 164, 127, -1, 186, 54, 101, 785 126, 126, 188, 127, 102, 164, 127, -1, 55, 164, 786 -1, 214, -1, 214, 295, -1, 214, 343, -1, 352, 787 131, -1, 352, -1, 57, 215, 101, 154, 102, 124, 788 -1, 57, 215, 101, 154, 109, 190, 102, 124, -1, 789 57, 215, 101, 154, 109, 190, 109, 190, 102, 124, 790 -1, 57, 215, 101, 154, 109, 190, 109, 190, 109, 791 193, 102, 124, -1, -1, 191, -1, 192, -1, 191, 792 108, 192, -1, 75, 101, 154, 102, -1, 75, -1, 793 193, 108, 75, -1, 127, -1, 195, -1, 201, -1, 794 195, 126, 201, -1, 127, -1, 197, -1, 211, -1, 795 197, 126, 211, -1, -1, 199, -1, 28, 200, 124, 796 -1, 199, 28, 200, 124, -1, 261, -1, 200, 108, 797 261, -1, 202, -1, 211, -1, 203, 127, 124, -1, 798 208, 127, 124, -1, 205, 127, 124, -1, 279, 127, 799 124, -1, 282, 127, 124, -1, 204, 264, -1, 220, 800 204, 264, -1, 203, 127, 108, 126, 259, 264, -1, 801 353, 259, 297, -1, 356, 259, 297, -1, 216, 356, 802 259, 297, -1, 206, -1, 216, 206, -1, 220, 206, 803 -1, 220, 216, 206, -1, 205, 127, 108, 126, 259, 804 -1, 103, 126, 127, 104, 129, 101, 126, 247, 127, 805 102, -1, 103, 126, 127, 104, 67, 101, 126, 247, 806 127, 102, -1, 356, 259, 101, 126, 247, 127, 102, 807 -1, 207, 259, 101, 126, 247, 127, 102, -1, 103, 808 126, 249, 127, 104, -1, 103, 126, 249, 127, 108, 809 126, 250, 127, 104, -1, 3, 204, -1, 3, 206, 810 -1, 208, 127, 108, 126, 131, -1, 3, 214, 295, 811 -1, 209, 127, 108, 126, 295, -1, 216, 3, 214, 812 295, -1, 214, 3, 295, -1, 214, 3, 216, 295, 813 -1, 3, 131, 123, 155, -1, 210, 127, 108, 126, 814 131, 123, 155, -1, 212, 127, 124, -1, 209, 127, 815 124, -1, 210, 127, 124, -1, 229, 127, 124, -1, 816 213, 295, 297, 264, -1, 212, 108, 298, 295, 297, 817 264, -1, 225, -1, 229, -1, 231, -1, 270, -1, 818 226, -1, 230, -1, 232, -1, 271, -1, -1, 216, 819 -1, 217, -1, 216, 217, -1, 218, -1, 300, -1, 820 10, -1, 12, -1, 11, -1, 14, -1, 60, -1, 821 -1, 13, 101, 219, 272, 102, -1, 221, -1, 216, 822 221, -1, 220, 216, 221, -1, 222, -1, 221, 222, 823 -1, 223, -1, 5, -1, 7, -1, 4, -1, 6, 824 -1, 8, -1, 9, -1, 62, -1, 64, -1, 16, 825 -1, 21, -1, 20, -1, 18, -1, 19, -1, 17, 826 -1, 22, -1, 23, -1, 15, -1, 24, -1, 25, 827 -1, 26, -1, 226, -1, 220, 226, -1, 225, 222, 828 -1, 225, 222, 216, -1, 225, 222, 226, -1, 227, 829 -1, 215, 228, 215, -1, 224, -1, 216, 224, -1, 830 227, 217, -1, 227, 224, -1, 27, 101, 263, 102, 831 -1, 27, 101, 160, 102, -1, 71, 101, 263, 102, 832 -1, 71, 101, 160, 102, -1, 230, -1, 220, 230, 833 -1, 229, 222, -1, 229, 222, 216, -1, 233, -1, 834 216, 233, -1, 230, 217, -1, 232, -1, 220, 232, 835 -1, 231, 222, -1, 231, 222, 216, -1, 67, -1, 836 216, 67, -1, 232, 217, -1, 234, -1, 244, -1, 837 235, 106, 236, 107, -1, 235, 261, -1, 235, 261, 838 106, 236, 107, -1, 235, 101, 278, 102, 106, 236, 839 107, -1, 235, 101, 278, 102, 261, -1, 30, 298, 840 -1, 31, 298, -1, 237, -1, 236, 237, -1, 238, 841 124, -1, 38, 238, 124, -1, 239, 124, -1, 38, 842 239, 124, -1, 352, -1, 352, 261, -1, 238, 108, 843 261, -1, 238, 108, -1, 214, 240, -1, 239, 108, 844 298, 240, -1, -1, 242, -1, 304, 241, -1, 317, 845 241, -1, 343, -1, -1, 242, -1, 109, 154, -1, 846 29, 298, -1, 243, 106, 245, 358, 107, -1, 243, 847 261, 106, 245, 358, 107, -1, 243, 261, -1, 261, 848 246, -1, 245, 108, 261, 246, -1, -1, 123, 154, 849 -1, -1, 248, -1, 250, -1, 249, -1, 249, 127, 850 108, 126, 250, -1, 250, 127, 108, 126, 89, -1, 851 249, 127, 108, 126, 89, -1, 254, -1, 250, 127, 852 108, 126, 254, -1, 249, 127, 108, 126, 254, -1, 853 249, 127, 108, 126, 250, 127, 108, 126, 254, -1, 854 255, -1, 250, 127, 108, 126, 255, -1, -1, 252, 855 -1, 253, -1, 253, 127, 108, 126, 89, -1, 257, 856 -1, 256, -1, 253, 127, 108, 126, 257, -1, 253, 857 127, 108, 126, 256, -1, 256, -1, 348, 259, 359, 858 -1, 356, 259, 359, -1, 216, 356, 259, 359, -1, 859 206, -1, 257, -1, 348, -1, 356, -1, 216, 356, 860 -1, 357, -1, 213, 322, 359, -1, 213, 326, 359, 861 -1, 213, -1, 213, 337, -1, 131, -1, 258, 108, 862 131, -1, 129, -1, 67, -1, 68, -1, 130, -1, 863 67, -1, 68, -1, 131, -1, 67, -1, 68, -1, 864 352, -1, 214, -1, 214, 343, -1, 352, -1, 357, 865 -1, 214, -1, 214, 331, -1, -1, 123, 265, -1, 866 155, -1, 106, 266, 358, 107, -1, 265, -1, 267, 867 265, -1, 266, 108, 265, -1, 266, 108, 267, 265, 868 -1, 268, 109, -1, 261, 109, -1, 269, -1, 268, 869 269, -1, 105, 261, -1, 103, 126, 155, 127, 104, 870 -1, 103, 126, 296, 127, 104, -1, 103, 126, 154, 871 89, 154, 127, 104, -1, 105, 103, 126, 138, 127, 872 104, -1, 271, -1, 220, 271, -1, 270, 222, -1, 873 270, 222, 216, -1, 68, 101, 278, 102, -1, 216, 874 68, 101, 278, 102, -1, 271, 217, -1, 273, 359, 875 -1, 272, 108, 273, 359, -1, -1, 275, 261, 274, 876 276, -1, 214, 322, -1, 32, -1, 34, -1, 33, 877 -1, -1, 276, 277, -1, 121, 261, 101, 278, 102, 878 -1, 121, 106, 126, 284, 107, -1, 121, 101, 126, 879 272, 127, 102, 106, 126, 284, 107, 101, 278, 102, 880 -1, 263, -1, 155, -1, 278, 108, 263, -1, 278, 881 108, 155, -1, 32, 280, -1, 221, 32, 280, -1, 882 279, 108, 280, -1, 281, 276, -1, 281, 276, 123, 883 263, -1, 261, -1, 260, 101, 126, 272, 127, 102, 884 -1, 35, 261, 101, 126, 272, 127, 102, 106, 107, 885 -1, -1, 35, 261, 101, 126, 272, 127, 102, 106, 886 283, 284, 107, -1, 285, -1, 284, 126, 285, -1, 887 286, 127, 124, -1, 287, 127, 124, -1, 204, -1, 888 206, -1, 286, 127, 108, 126, 259, -1, 214, 295, 889 -1, 287, 127, 108, 126, 295, -1, -1, 289, -1, 890 291, -1, 289, 126, 291, -1, -1, 289, -1, 201, 891 -1, 293, -1, 189, -1, -1, 5, 75, 292, 106, 892 290, 107, -1, 38, 291, -1, 294, -1, 309, 164, 893 -1, 313, 126, 196, 164, -1, 205, 164, -1, 213, 894 309, 164, -1, 216, 309, 164, -1, 220, 309, 164, 895 -1, 220, 216, 309, 164, -1, 213, 313, 126, 196, 896 164, -1, 216, 313, 126, 196, 164, -1, 220, 313, 897 126, 196, 164, -1, 220, 216, 313, 126, 196, 164, 898 -1, 304, -1, 309, -1, 317, -1, 154, 115, 154, 899 -1, -1, 57, 101, 133, 102, 298, -1, -1, 299, 900 -1, 300, -1, 299, 300, -1, 37, 101, 101, 301, 901 102, 102, -1, 302, -1, 301, 108, 302, -1, -1, 902 303, -1, 303, 101, 161, 102, -1, 259, -1, 223, 903 -1, 224, -1, 217, -1, 305, 298, -1, 306, -1, 904 307, 298, -1, 308, 298, -1, 129, -1, 101, 305, 905 102, -1, 111, 304, -1, 111, 216, 304, -1, 101, 906 306, 102, -1, 305, 335, -1, 101, 306, 102, 335, 907 -1, 101, 307, 102, 336, -1, 101, 307, 102, -1, 908 101, 306, 102, 101, 126, 251, 127, 102, -1, 101, 909 308, 102, -1, 310, 298, -1, 311, -1, 312, 298, 910 -1, 305, 101, 126, 251, 127, 102, -1, 101, 311, 911 102, 101, 126, 251, 127, 102, -1, 101, 310, 102, 912 -1, 111, 309, -1, 111, 216, 309, -1, 101, 311, 913 102, -1, 101, 311, 102, 335, -1, 101, 312, 102, 914 336, -1, 101, 312, 102, -1, 314, -1, 315, -1, 915 316, -1, 305, 101, 258, 102, -1, 101, 315, 102, 916 101, 258, 102, -1, 101, 314, 102, -1, 111, 313, 917 -1, 111, 216, 313, -1, 101, 315, 102, -1, 101, 918 315, 102, 335, -1, 101, 316, 102, 336, -1, 101, 919 316, 102, -1, 318, 298, -1, 319, -1, 320, 298, 920 -1, 321, 298, -1, 67, -1, 101, 318, 102, -1, 921 111, 317, -1, 111, 216, 317, -1, 101, 319, 102, 922 -1, 318, 335, -1, 101, 319, 102, 335, -1, 101, 923 320, 102, 336, -1, 101, 320, 102, -1, 318, 101, 924 126, 251, 127, 102, -1, 101, 319, 102, 101, 126, 925 251, 127, 102, -1, 101, 321, 102, -1, 305, 298, 926 -1, 323, -1, 324, 298, -1, 325, 298, -1, 111, 927 322, -1, 111, 216, 322, -1, 101, 323, 102, -1, 928 305, 341, -1, 101, 323, 102, 335, -1, 101, 324, 929 102, 336, -1, 101, 324, 102, -1, 305, 101, 126, 930 251, 127, 102, -1, 101, 323, 102, 101, 126, 251, 931 127, 102, -1, 101, 325, 102, -1, 327, 298, -1, 932 328, -1, 329, 298, -1, 330, 298, -1, 67, -1, 933 111, 326, -1, 111, 216, 326, -1, 101, 328, 102, 934 -1, 327, 341, -1, 101, 328, 102, 341, -1, 327, 935 101, 126, 251, 127, 102, -1, 101, 328, 102, 101, 936 126, 251, 127, 102, -1, 332, -1, 333, 298, -1, 937 334, 298, -1, 111, -1, 111, 216, -1, 111, 331, 938 -1, 111, 216, 331, -1, 101, 332, 102, -1, 335, 939 -1, 101, 332, 102, 335, -1, 101, 333, 102, 336, 940 -1, 101, 333, 102, -1, 101, 126, 251, 127, 102, 941 -1, 101, 332, 102, 101, 126, 251, 127, 102, -1, 942 101, 334, 102, -1, 103, 126, 127, 104, -1, 103, 943 126, 127, 104, 336, -1, 336, -1, 103, 126, 155, 944 127, 104, -1, 103, 126, 111, 127, 104, -1, 336, 945 103, 126, 155, 127, 104, -1, 336, 103, 126, 111, 946 127, 104, -1, 338, -1, 339, 298, -1, 340, 298, 947 -1, 111, -1, 111, 216, -1, 111, 337, -1, 111, 948 216, 337, -1, 101, 338, 102, -1, 341, -1, 101, 949 338, 102, 341, -1, 101, 339, 102, 336, -1, 101, 950 339, 102, -1, 101, 126, 251, 127, 102, -1, 101, 951 338, 102, 101, 126, 251, 127, 102, -1, 101, 340, 952 102, -1, 342, -1, 342, 336, -1, 336, -1, 103, 953 126, 127, 104, -1, 103, 126, 216, 111, 127, 104, 954 -1, 103, 126, 216, 127, 104, -1, 103, 126, 216, 955 155, 127, 104, -1, 103, 126, 7, 215, 155, 127, 956 104, -1, 103, 126, 216, 7, 155, 127, 104, -1, 957 344, -1, 345, 298, -1, 346, 298, -1, 111, -1, 958 111, 216, -1, 111, 343, -1, 111, 216, 343, -1, 959 101, 344, 102, -1, 335, -1, 101, 344, 102, 335, 960 -1, 101, 345, 102, 336, -1, 101, 345, 102, -1, 961 101, 344, 102, 101, 126, 251, 127, 102, -1, 101, 962 346, 102, -1, 348, -1, 356, -1, 216, 356, -1, 963 349, -1, 350, -1, 111, 214, -1, 216, 111, 214, 964 -1, 111, 357, -1, 216, 111, 357, -1, 111, 347, 965 -1, 216, 111, 347, -1, 103, 126, 127, 104, 214, 966 -1, 351, 214, -1, 103, 126, 127, 104, 336, 214, 967 -1, 351, 336, 214, -1, 336, 214, -1, 103, 126, 968 127, 104, 349, -1, 351, 349, -1, 103, 126, 127, 969 104, 336, 349, -1, 351, 336, 349, -1, 336, 349, 750 123, 155, -1, 140, 159, 155, -1, 157, 360, -1, 751 -1, 155, -1, 103, 104, -1, 103, 126, 155, 127, 752 104, -1, 103, 126, 108, 158, 127, 104, -1, 103, 753 126, 155, 108, 158, 127, 104, -1, 156, -1, 158, 754 108, 156, -1, 90, -1, 91, -1, 92, -1, 93, 755 -1, 94, -1, 95, -1, 96, -1, 97, -1, 98, 756 -1, 99, -1, 155, -1, 160, 108, 155, -1, -1, 757 160, -1, 163, -1, 164, -1, 168, -1, 169, -1, 758 181, -1, 183, -1, 184, -1, 189, -1, 131, 109, 759 299, 162, -1, 106, 107, -1, 106, 126, 126, 198, 760 165, 127, 107, -1, 166, -1, 165, 126, 166, -1, 761 201, -1, 38, 201, -1, 295, -1, 162, 127, -1, 762 162, -1, 167, 162, -1, 161, 124, -1, 39, 101, 763 160, 102, 162, -1, 39, 101, 160, 102, 162, 40, 764 162, -1, 41, 101, 160, 102, 174, -1, 41, 101, 765 160, 102, 106, 126, 194, 175, 107, -1, 51, 101, 766 160, 102, 174, -1, 51, 101, 160, 102, 106, 126, 767 194, 177, 107, -1, 154, -1, 154, 89, 154, -1, 768 297, -1, 170, -1, 171, 108, 170, -1, 42, 171, 769 109, -1, 43, 109, -1, 172, -1, 173, 172, -1, 770 173, 162, -1, -1, 176, -1, 173, 167, -1, 176, 771 173, 167, -1, -1, 178, -1, 173, 180, -1, 173, 772 167, 179, -1, 178, 173, 180, -1, 178, 173, 167, 773 179, -1, -1, 180, -1, 52, -1, 52, 124, -1, 774 45, 101, 160, 102, 162, -1, 44, 162, 45, 101, 775 160, 102, 124, -1, 46, 101, 126, 182, 102, 162, 776 -1, 161, 127, 124, 161, 124, 161, -1, 201, 161, 777 124, 161, -1, 49, 131, 124, -1, 49, 111, 160, 778 124, -1, 48, 124, -1, 48, 131, 124, -1, 47, 779 124, -1, 47, 131, 124, -1, 50, 161, 124, -1, 780 56, 155, 124, -1, 56, 124, -1, 53, 164, 185, 781 -1, 53, 164, 187, -1, 53, 164, 185, 187, -1, 782 186, -1, 54, 101, 89, 102, 164, -1, 186, 54, 783 101, 89, 102, 164, -1, 54, 101, 126, 126, 188, 784 127, 102, 164, 127, -1, 186, 54, 101, 126, 126, 785 188, 127, 102, 164, 127, -1, 55, 164, -1, 214, 786 -1, 214, 296, -1, 214, 344, -1, 353, 131, -1, 787 353, -1, 57, 215, 101, 154, 102, 124, -1, 57, 788 215, 101, 154, 109, 190, 102, 124, -1, 57, 215, 789 101, 154, 109, 190, 109, 190, 102, 124, -1, 57, 790 215, 101, 154, 109, 190, 109, 190, 109, 193, 102, 791 124, -1, -1, 191, -1, 192, -1, 191, 108, 192, 792 -1, 75, 101, 154, 102, -1, 75, -1, 193, 108, 793 75, -1, 127, -1, 195, -1, 201, -1, 195, 126, 794 201, -1, 127, -1, 197, -1, 211, -1, 197, 126, 795 211, -1, -1, 199, -1, 28, 200, 124, -1, 199, 796 28, 200, 124, -1, 261, -1, 200, 108, 261, -1, 797 202, -1, 211, -1, 203, 127, 124, -1, 208, 127, 798 124, -1, 205, 127, 124, -1, 280, 127, 124, -1, 799 283, 127, 124, -1, 204, 264, -1, 220, 204, 264, 800 -1, 203, 127, 108, 126, 259, 264, -1, 354, 259, 801 298, -1, 357, 259, 298, -1, 216, 357, 259, 298, 802 -1, 206, -1, 216, 206, -1, 220, 206, -1, 220, 803 216, 206, -1, 205, 127, 108, 126, 259, -1, 103, 804 104, 259, 101, 126, 247, 127, 102, -1, 357, 259, 805 101, 126, 247, 127, 102, -1, 207, 259, 101, 126, 806 247, 127, 102, -1, 103, 126, 249, 127, 104, -1, 807 103, 126, 249, 127, 108, 126, 250, 127, 104, -1, 808 3, 204, -1, 3, 206, -1, 208, 127, 108, 126, 809 131, -1, 3, 214, 296, -1, 209, 127, 108, 126, 810 296, -1, 216, 3, 214, 296, -1, 214, 3, 296, 811 -1, 214, 3, 216, 296, -1, 3, 131, 123, 155, 812 -1, 210, 127, 108, 126, 131, 123, 155, -1, 212, 813 127, 124, -1, 209, 127, 124, -1, 210, 127, 124, 814 -1, 229, 127, 124, -1, 213, 296, 298, 264, -1, 815 212, 108, 299, 296, 298, 264, -1, 225, -1, 229, 816 -1, 231, -1, 270, -1, 226, -1, 230, -1, 232, 817 -1, 271, -1, -1, 216, -1, 217, -1, 216, 217, 818 -1, 218, -1, 301, -1, 10, -1, 12, -1, 11, 819 -1, 14, -1, 60, -1, -1, 13, 101, 219, 273, 820 102, -1, 221, -1, 216, 221, -1, 220, 216, 221, 821 -1, 222, -1, 221, 222, -1, 223, -1, 5, -1, 822 7, -1, 4, -1, 6, -1, 8, -1, 9, -1, 823 62, -1, 64, -1, 16, -1, 21, -1, 20, -1, 824 18, -1, 19, -1, 17, -1, 22, -1, 23, -1, 825 15, -1, 24, -1, 25, -1, 26, -1, 226, -1, 826 220, 226, -1, 225, 222, -1, 225, 222, 216, -1, 827 225, 222, 226, -1, 227, -1, 215, 228, 215, -1, 828 224, -1, 216, 224, -1, 227, 217, -1, 227, 224, 829 -1, 27, 101, 263, 102, -1, 27, 101, 160, 102, 830 -1, 71, 101, 263, 102, -1, 71, 101, 160, 102, 831 -1, 230, -1, 220, 230, -1, 229, 222, -1, 229, 832 222, 216, -1, 233, -1, 216, 233, -1, 230, 217, 833 -1, 232, -1, 220, 232, -1, 231, 222, -1, 231, 834 222, 216, -1, 67, -1, 216, 67, -1, 232, 217, 835 -1, 234, -1, 244, -1, 235, 106, 236, 107, -1, 836 235, 261, -1, 235, 261, 106, 236, 107, -1, 235, 837 101, 279, 102, 106, 236, 107, -1, 235, 272, -1, 838 30, 299, -1, 31, 299, -1, 237, -1, 236, 237, 839 -1, 238, 124, -1, 38, 238, 124, -1, 239, 124, 840 -1, 38, 239, 124, -1, 353, -1, 353, 261, -1, 841 238, 108, 261, -1, 238, 108, -1, 214, 240, -1, 842 239, 108, 299, 240, -1, -1, 242, -1, 305, 241, 843 -1, 318, 241, -1, 344, -1, -1, 242, -1, 109, 844 154, -1, 29, 299, -1, 243, 106, 245, 359, 107, 845 -1, 243, 261, 106, 245, 359, 107, -1, 243, 261, 846 -1, 261, 246, -1, 245, 108, 261, 246, -1, -1, 847 123, 154, -1, -1, 248, -1, 250, -1, 249, -1, 848 249, 127, 108, 126, 250, -1, 250, 127, 108, 126, 849 89, -1, 249, 127, 108, 126, 89, -1, 254, -1, 850 250, 127, 108, 126, 254, -1, 249, 127, 108, 126, 851 254, -1, 249, 127, 108, 126, 250, 127, 108, 126, 852 254, -1, 255, -1, 250, 127, 108, 126, 255, -1, 853 -1, 252, -1, 253, -1, 253, 127, 108, 126, 89, 854 -1, 257, -1, 256, -1, 253, 127, 108, 126, 257, 855 -1, 253, 127, 108, 126, 256, -1, 256, -1, 349, 856 259, 360, -1, 357, 259, 360, -1, 216, 357, 259, 857 360, -1, 206, -1, 257, -1, 349, -1, 357, -1, 858 216, 357, -1, 358, -1, 213, 323, 360, -1, 213, 859 327, 360, -1, 213, -1, 213, 338, -1, 131, -1, 860 258, 108, 131, -1, 129, -1, 67, -1, 68, -1, 861 130, -1, 67, -1, 68, -1, 131, -1, 67, -1, 862 68, -1, 353, -1, 214, -1, 214, 344, -1, 353, 863 -1, 358, -1, 214, -1, 214, 332, -1, -1, 123, 864 265, -1, 155, -1, 106, 266, 359, 107, -1, 265, 865 -1, 267, 265, -1, 266, 108, 265, -1, 266, 108, 866 267, 265, -1, 268, 109, -1, 261, 109, -1, 269, 867 -1, 268, 269, -1, 105, 261, -1, 103, 126, 155, 868 127, 104, -1, 103, 126, 297, 127, 104, -1, 103, 869 126, 154, 89, 154, 127, 104, -1, 105, 103, 126, 870 138, 127, 104, -1, 271, -1, 220, 271, -1, 270, 871 222, -1, 270, 222, 216, -1, 272, -1, 216, 272, 872 -1, 271, 217, -1, 68, 101, 279, 102, -1, 274, 873 360, -1, 273, 108, 274, 360, -1, -1, 276, 261, 874 275, 277, -1, 214, 323, -1, 32, -1, 34, -1, 875 33, -1, -1, 277, 278, -1, 121, 261, 101, 279, 876 102, -1, 121, 106, 126, 285, 107, -1, 121, 101, 877 126, 273, 127, 102, 106, 126, 285, 107, 101, 279, 878 102, -1, 263, -1, 155, -1, 279, 108, 263, -1, 879 279, 108, 155, -1, 32, 281, -1, 221, 32, 281, 880 -1, 280, 108, 281, -1, 282, 277, -1, 282, 277, 881 123, 263, -1, 261, -1, 260, 101, 126, 273, 127, 882 102, -1, 35, 261, 101, 126, 273, 127, 102, 106, 883 107, -1, -1, 35, 261, 101, 126, 273, 127, 102, 884 106, 284, 285, 107, -1, 286, -1, 285, 126, 286, 885 -1, 287, 127, 124, -1, 288, 127, 124, -1, 204, 886 -1, 206, -1, 287, 127, 108, 126, 259, -1, 214, 887 296, -1, 288, 127, 108, 126, 296, -1, -1, 290, 888 -1, 292, -1, 290, 126, 292, -1, -1, 290, -1, 889 201, -1, 294, -1, 189, -1, -1, 5, 75, 293, 890 106, 291, 107, -1, 38, 292, -1, 295, -1, 310, 891 164, -1, 314, 126, 196, 164, -1, 205, 164, -1, 892 213, 310, 164, -1, 216, 310, 164, -1, 220, 310, 893 164, -1, 220, 216, 310, 164, -1, 213, 314, 126, 894 196, 164, -1, 216, 314, 126, 196, 164, -1, 220, 895 314, 126, 196, 164, -1, 220, 216, 314, 126, 196, 896 164, -1, 305, -1, 310, -1, 318, -1, 154, 115, 897 154, -1, -1, 57, 101, 133, 102, 299, -1, -1, 898 300, -1, 301, -1, 300, 301, -1, 37, 101, 101, 899 302, 102, 102, -1, 303, -1, 302, 108, 303, -1, 900 -1, 304, -1, 304, 101, 161, 102, -1, 259, -1, 901 223, -1, 224, -1, 217, -1, 306, 299, -1, 307, 902 -1, 308, 299, -1, 309, 299, -1, 129, -1, 101, 903 306, 102, -1, 111, 305, -1, 111, 216, 305, -1, 904 101, 307, 102, -1, 306, 336, -1, 101, 307, 102, 905 336, -1, 101, 308, 102, 337, -1, 101, 308, 102, 906 -1, 101, 307, 102, 101, 126, 251, 127, 102, -1, 907 101, 309, 102, -1, 311, 299, -1, 312, -1, 313, 908 299, -1, 306, 101, 126, 251, 127, 102, -1, 101, 909 312, 102, 101, 126, 251, 127, 102, -1, 101, 311, 910 102, -1, 111, 310, -1, 111, 216, 310, -1, 101, 911 312, 102, -1, 101, 312, 102, 336, -1, 101, 313, 912 102, 337, -1, 101, 313, 102, -1, 315, -1, 316, 913 -1, 317, -1, 306, 101, 258, 102, -1, 101, 316, 914 102, 101, 258, 102, -1, 101, 315, 102, -1, 111, 915 314, -1, 111, 216, 314, -1, 101, 316, 102, -1, 916 101, 316, 102, 336, -1, 101, 317, 102, 337, -1, 917 101, 317, 102, -1, 319, 299, -1, 320, -1, 321, 918 299, -1, 322, 299, -1, 328, -1, 101, 319, 102, 919 -1, 111, 318, -1, 111, 216, 318, -1, 101, 320, 920 102, -1, 319, 336, -1, 101, 320, 102, 336, -1, 921 101, 321, 102, 337, -1, 101, 321, 102, -1, 319, 922 101, 126, 251, 127, 102, -1, 101, 320, 102, 101, 923 126, 251, 127, 102, -1, 101, 322, 102, -1, 306, 924 299, -1, 324, -1, 325, 299, -1, 326, 299, -1, 925 111, 323, -1, 111, 216, 323, -1, 101, 324, 102, 926 -1, 306, 342, -1, 101, 324, 102, 336, -1, 101, 927 325, 102, 337, -1, 101, 325, 102, -1, 306, 101, 928 126, 251, 127, 102, -1, 101, 324, 102, 101, 126, 929 251, 127, 102, -1, 101, 326, 102, -1, 328, 299, 930 -1, 329, -1, 330, 299, -1, 331, 299, -1, 67, 931 -1, 68, -1, 111, 327, -1, 111, 216, 327, -1, 932 101, 329, 102, -1, 328, 342, -1, 101, 329, 102, 933 342, -1, 328, 101, 126, 251, 127, 102, -1, 101, 934 329, 102, 101, 126, 251, 127, 102, -1, 333, -1, 935 334, 299, -1, 335, 299, -1, 111, -1, 111, 216, 936 -1, 111, 332, -1, 111, 216, 332, -1, 101, 333, 937 102, -1, 336, -1, 101, 333, 102, 336, -1, 101, 938 334, 102, 337, -1, 101, 334, 102, -1, 101, 126, 939 251, 127, 102, -1, 101, 333, 102, 101, 126, 251, 940 127, 102, -1, 101, 335, 102, -1, 103, 104, -1, 941 103, 104, 337, -1, 337, -1, 103, 126, 155, 127, 942 104, -1, 103, 126, 111, 127, 104, -1, 337, 103, 943 126, 155, 127, 104, -1, 337, 103, 126, 111, 127, 944 104, -1, 339, -1, 340, 299, -1, 341, 299, -1, 945 111, -1, 111, 216, -1, 111, 338, -1, 111, 216, 946 338, -1, 101, 339, 102, -1, 342, -1, 101, 339, 947 102, 342, -1, 101, 340, 102, 337, -1, 101, 340, 948 102, -1, 101, 126, 251, 127, 102, -1, 101, 339, 949 102, 101, 126, 251, 127, 102, -1, 101, 341, 102, 950 -1, 343, -1, 343, 337, -1, 337, -1, 103, 104, 970 951 -1, 103, 126, 216, 111, 127, 104, -1, 103, 126, 971 216, 155, 127, 104, -1, 103, 126, 220, 155, 127, 972 104, -1, 103, 126, 220, 216, 155, 127, 104, -1, 973 356, -1, 216, 356, -1, 353, -1, 354, -1, 355, 974 -1, 111, 214, -1, 216, 111, 214, -1, 111, 357, 975 -1, 216, 111, 357, -1, 111, 352, -1, 216, 111, 976 352, -1, 103, 126, 127, 104, 214, -1, 103, 126, 977 127, 104, 336, 214, -1, 336, 214, -1, 103, 126, 978 127, 104, 354, -1, 103, 126, 127, 104, 336, 354, 979 -1, 336, 354, -1, 103, 126, 250, 127, 104, -1, 980 103, 126, 127, 104, 101, 247, 102, -1, 356, 101, 981 126, 247, 127, 102, -1, 207, 101, 126, 247, 127, 982 102, -1, -1, 108, -1, -1, 123, 155, -1 952 216, 127, 104, -1, 103, 126, 216, 155, 127, 104, 953 -1, 103, 126, 7, 215, 155, 127, 104, -1, 103, 954 126, 216, 7, 155, 127, 104, -1, 345, -1, 346, 955 299, -1, 347, 299, -1, 111, -1, 111, 216, -1, 956 111, 344, -1, 111, 216, 344, -1, 101, 345, 102, 957 -1, 336, -1, 101, 345, 102, 336, -1, 101, 346, 958 102, 337, -1, 101, 346, 102, -1, 101, 345, 102, 959 101, 126, 251, 127, 102, -1, 101, 347, 102, -1, 960 349, -1, 357, -1, 216, 357, -1, 350, -1, 351, 961 -1, 111, 214, -1, 216, 111, 214, -1, 111, 358, 962 -1, 216, 111, 358, -1, 111, 348, -1, 216, 111, 963 348, -1, 103, 104, 214, -1, 352, 214, -1, 103, 964 104, 337, 214, -1, 352, 337, 214, -1, 337, 214, 965 -1, 103, 104, 350, -1, 352, 350, -1, 103, 104, 966 337, 350, -1, 352, 337, 350, -1, 337, 350, -1, 967 103, 126, 216, 111, 127, 104, -1, 103, 126, 216, 968 155, 127, 104, -1, 103, 126, 220, 155, 127, 104, 969 -1, 103, 126, 220, 216, 155, 127, 104, -1, 357, 970 -1, 216, 357, -1, 354, -1, 355, -1, 356, -1, 971 111, 214, -1, 216, 111, 214, -1, 111, 358, -1, 972 216, 111, 358, -1, 111, 353, -1, 216, 111, 353, 973 -1, 103, 104, 214, -1, 103, 104, 337, 214, -1, 974 337, 214, -1, 103, 104, 355, -1, 103, 104, 337, 975 355, -1, 337, 355, -1, 103, 126, 250, 127, 104, 976 -1, 103, 104, 101, 247, 102, -1, 357, 101, 126, 977 247, 127, 102, -1, 207, 101, 126, 247, 127, 102, 978 -1, -1, 108, -1, -1, 123, 155, -1 983 979 }; 984 980 … … 1011 1007 927, 931, 932, 947, 948, 949, 950, 951, 955, 960, 1012 1008 967, 977, 982, 987, 995, 1000, 1005, 1010, 1015, 1023, 1013 10 28, 1040, 1045, 1052, 1054, 1061, 1066, 1071, 1082, 1087,1014 1 092, 1097, 1102, 1111, 1116, 1124, 1125, 1126, 1127, 1133,1015 11 38, 1146, 1147, 1148, 1149, 1153, 1154, 1155, 1156, 1161,1016 11 62, 1171, 1172, 1177, 1178, 1183, 1185, 1187, 1189, 1191,1017 119 4, 1193, 1205, 1206, 1208, 1218, 1219, 1224, 1228, 1230,1018 123 2, 1234, 1236, 1238, 1240, 1242, 1247, 1249, 1251, 1253,1019 12 55, 1257, 1259, 1261, 1263, 1265, 1267, 1269, 1275, 1276,1020 12 78, 1280, 1282, 1287, 1288, 1294, 1295, 1297, 1299, 1304,1021 13 06, 1308, 1310, 1315, 1316, 1318, 1320, 1325, 1326, 1328,1022 133 3, 1334, 1336, 1338, 1343, 1345, 1347, 1352, 1353, 1357,1023 13 59, 1361, 1371, 1373, 1380, 1382, 1387, 1389, 1394, 1395,1024 139 7, 1398, 1403, 1404, 1406, 1408, 1413, 1415, 1421, 1422,1025 142 4, 1427, 1430, 1435, 1436, 1441, 1446, 1450, 1452, 1454,1026 145 9, 1461, 1467, 1468, 1476, 1477, 1481, 1482, 1483, 1485,1027 148 7, 1494, 1495, 1497, 1499, 1504, 1505, 1511, 1512, 1516,1028 1517, 15 22, 1523, 1524, 1526, 1534, 1535, 1537, 1540, 1542,1029 154 6, 1547, 1548, 1550, 1552, 1556, 1561, 1569, 1570, 1579,1030 1581, 158 6, 1587, 1588, 1592, 1593, 1594, 1598, 1599, 1600,1031 160 4, 1605, 1606, 1611, 1612, 1613, 1614, 1620, 1621, 1625,1032 1626, 16 30, 1631, 1632, 1633, 1648, 1649, 1654, 1655, 1660,1033 1662, 166 5, 1667, 1669, 1692, 1693, 1695, 1697, 1702, 1704,1034 170 6, 1711, 1712, 1718, 1717, 1721, 1725, 1727, 1729, 1735,1035 173 6, 1741, 1746, 1748, 1753, 1755, 1756, 1758, 1763, 1765,1036 176 7, 1772, 1774, 1779, 1784, 1792, 1798, 1797, 1811, 1812,1037 181 7, 1818, 1822, 1827, 1832, 1840, 1845, 1856, 1857, 1868,1038 18 69, 1875, 1876, 1880, 1881, 1882, 1885, 1884, 1895, 1900,1009 1045, 1050, 1057, 1059, 1066, 1071, 1076, 1087, 1092, 1097, 1010 1102, 1107, 1116, 1121, 1129, 1130, 1131, 1132, 1138, 1143, 1011 1151, 1152, 1153, 1154, 1158, 1159, 1160, 1161, 1166, 1167, 1012 1176, 1177, 1182, 1183, 1188, 1190, 1192, 1194, 1196, 1199, 1013 1198, 1210, 1211, 1213, 1223, 1224, 1229, 1233, 1235, 1237, 1014 1239, 1241, 1243, 1245, 1247, 1252, 1254, 1256, 1258, 1260, 1015 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1280, 1281, 1283, 1016 1285, 1287, 1292, 1293, 1299, 1300, 1302, 1304, 1309, 1311, 1017 1313, 1315, 1320, 1321, 1323, 1325, 1330, 1331, 1333, 1338, 1018 1339, 1341, 1343, 1348, 1350, 1352, 1357, 1358, 1362, 1364, 1019 1366, 1368, 1370, 1375, 1377, 1382, 1384, 1389, 1390, 1392, 1020 1393, 1398, 1399, 1401, 1403, 1408, 1410, 1416, 1417, 1419, 1021 1422, 1425, 1430, 1431, 1436, 1441, 1445, 1447, 1449, 1454, 1022 1456, 1462, 1463, 1471, 1472, 1476, 1477, 1478, 1480, 1482, 1023 1489, 1490, 1492, 1494, 1499, 1500, 1506, 1507, 1511, 1512, 1024 1517, 1518, 1519, 1521, 1529, 1530, 1532, 1535, 1537, 1541, 1025 1542, 1543, 1545, 1547, 1551, 1556, 1564, 1565, 1574, 1576, 1026 1581, 1582, 1583, 1587, 1588, 1589, 1593, 1594, 1595, 1599, 1027 1600, 1601, 1606, 1607, 1608, 1609, 1615, 1616, 1621, 1622, 1028 1626, 1627, 1628, 1629, 1644, 1645, 1650, 1651, 1657, 1659, 1029 1662, 1664, 1666, 1689, 1690, 1692, 1694, 1699, 1700, 1702, 1030 1707, 1712, 1713, 1719, 1718, 1722, 1726, 1728, 1730, 1736, 1031 1737, 1742, 1747, 1749, 1754, 1756, 1757, 1759, 1764, 1766, 1032 1768, 1773, 1775, 1780, 1785, 1793, 1799, 1798, 1812, 1813, 1033 1818, 1819, 1823, 1828, 1833, 1841, 1846, 1857, 1858, 1869, 1034 1870, 1876, 1877, 1881, 1882, 1883, 1886, 1885, 1896, 1901, 1039 1035 1906, 1912, 1921, 1927, 1933, 1939, 1945, 1953, 1959, 1967, 1040 1036 1973, 1982, 1983, 1984, 1988, 1992, 1994, 1997, 1999, 2003, … … 1044 1040 2117, 2119, 2124, 2126, 2128, 2133, 2135, 2137, 2146, 2147, 1045 1041 2148, 2152, 2154, 2156, 2161, 2163, 2165, 2170, 2172, 2174, 1046 2189, 2190, 2191, 2192, 2196, 2 201, 2206, 2208, 2210, 2215,1047 221 7, 2219, 2221, 2226, 2228, 2230, 2240, 2241, 2242, 2243,1048 224 7, 2249, 2251, 2256, 2258, 2260, 2262, 2267, 2269, 2271,1049 2 302, 2303, 2304, 2305, 2309, 2317, 2319, 2321, 2326, 2328,1050 23 33, 2335, 2349, 2350, 2351, 2355, 2357, 2359, 2361, 2363,1051 236 8, 2369, 2371, 2373, 2378, 2380, 2382, 2388, 2390, 2392,1052 239 6, 2398, 2400, 2402, 2416, 2417, 2418, 2422, 2424, 2426,1053 242 8, 2430, 2435, 2436, 2438, 2440, 2445, 2447, 2449, 2455,1054 2456, 245 8, 2467, 2470, 2472, 2475, 2477, 2479, 2492, 2493,1055 2494, 249 8, 2500, 2502, 2504, 2506, 2511, 2512, 2514, 2516,1056 25 21, 2523, 2531, 2532, 2533, 2538, 2539, 2543, 2545, 2547,1057 254 9, 2551, 2553, 2560, 2562, 2564, 2566, 2568, 2570, 2572,1058 257 4, 2576, 2578, 2583, 2585, 2587, 2592, 2618, 2619, 2621,1059 262 5, 2626, 2630, 2632, 2634, 2636, 2638, 2640, 2647, 2649,1060 265 1, 2653, 2655, 2657, 2662, 2667, 2669, 2671, 2689, 2691,1061 269 6, 26971042 2189, 2190, 2191, 2192, 2196, 2197, 2202, 2204, 2206, 2211, 1043 2213, 2215, 2217, 2222, 2224, 2226, 2236, 2237, 2238, 2239, 1044 2243, 2245, 2247, 2252, 2254, 2256, 2258, 2263, 2265, 2267, 1045 2298, 2299, 2300, 2301, 2305, 2310, 2318, 2320, 2322, 2327, 1046 2329, 2334, 2336, 2350, 2351, 2352, 2356, 2358, 2360, 2362, 1047 2364, 2369, 2370, 2372, 2374, 2379, 2381, 2383, 2389, 2391, 1048 2393, 2397, 2399, 2401, 2403, 2417, 2418, 2419, 2423, 2425, 1049 2427, 2429, 2431, 2436, 2437, 2439, 2441, 2446, 2448, 2450, 1050 2456, 2457, 2459, 2468, 2471, 2473, 2476, 2478, 2480, 2493, 1051 2494, 2495, 2499, 2501, 2503, 2505, 2507, 2512, 2513, 2515, 1052 2517, 2522, 2524, 2532, 2533, 2534, 2539, 2540, 2544, 2546, 1053 2548, 2550, 2552, 2554, 2561, 2563, 2565, 2567, 2569, 2571, 1054 2573, 2575, 2577, 2579, 2584, 2586, 2588, 2593, 2619, 2620, 1055 2622, 2626, 2627, 2631, 2633, 2635, 2637, 2639, 2641, 2648, 1056 2650, 2652, 2654, 2656, 2658, 2663, 2668, 2670, 2672, 2690, 1057 2692, 2697, 2698 1062 1058 }; 1063 1059 #endif … … 1133 1129 "new_abstract_parameter_declaration", "parameter_declaration", 1134 1130 "abstract_parameter_declaration", "identifier_list", 1135 "identifier_or_type def_name", "no_01_identifier_or_typedef_name",1136 "no_attr_identifier_or_type def_name", "type_name_no_function",1137 " type_name", "initializer_opt", "initializer", "initializer_list",1138 "designat ion", "designator_list", "designator",1139 "typegen_ declaration_specifier", "typegen_type_specifier",1140 "type_parameter _list", "type_parameter", "$@2", "type_class",1141 " assertion_list_opt", "assertion", "type_name_list",1142 "type_declar ing_list", "type_declarator", "type_declarator_name",1143 "context_ specifier", "$@3", "context_declaration_list",1144 " context_declaration", "new_context_declaring_list",1145 " context_declaring_list", "translation_unit", "external_definition_list",1131 "identifier_or_type_name", "no_01_identifier_or_type_name", 1132 "no_attr_identifier_or_type_name", "type_name_no_function", "type_name", 1133 "initializer_opt", "initializer", "initializer_list", "designation", 1134 "designator_list", "designator", "typegen_declaration_specifier", 1135 "typegen_type_specifier", "typegen_name", "type_parameter_list", 1136 "type_parameter", "$@2", "type_class", "assertion_list_opt", "assertion", 1137 "type_name_list", "type_declaring_list", "type_declarator", 1138 "type_declarator_name", "context_specifier", "$@3", 1139 "context_declaration_list", "context_declaration", 1140 "new_context_declaring_list", "context_declaring_list", 1141 "translation_unit", "external_definition_list", 1146 1142 "external_definition_list_opt", "external_definition", "$@4", 1147 1143 "external_function_definition", "function_definition", "declarator", … … 1152 1148 "function_no_ptr", "function_ptr", "function_array", 1153 1149 "old_function_declarator", "old_function_no_ptr", "old_function_ptr", 1154 "old_function_array", "type def_redeclarator", "paren_typedef",1155 "type def_ptr", "typedef_array", "typedef_function",1156 "identifier_parameter_ declarator", "identifier_parameter_ptr",1157 "identifier_parameter_ array", "identifier_parameter_function",1158 "typedef _parameter_redeclarator", "typedef", "typedef_parameter_ptr",1159 "type def_parameter_array", "typedef_parameter_function",1160 "abstract_ declarator", "abstract_ptr", "abstract_array",1161 " abstract_function", "array_dimension", "multi_array_dimension",1162 "abstract_parameter_ declarator", "abstract_parameter_ptr",1163 "abstract_parameter_ array", "abstract_parameter_function",1164 "array_parameter_ dimension", "array_parameter_1st_dimension",1165 "variable_abstract_ declarator", "variable_abstract_ptr",1166 "variable_abstract_ array", "variable_abstract_function",1150 "old_function_array", "type_redeclarator", "paren_type", "type_ptr", 1151 "type_array", "type_function", "identifier_parameter_declarator", 1152 "identifier_parameter_ptr", "identifier_parameter_array", 1153 "identifier_parameter_function", "type_parameter_redeclarator", 1154 "typedef", "type_parameter_ptr", "type_parameter_array", 1155 "type_parameter_function", "abstract_declarator", "abstract_ptr", 1156 "abstract_array", "abstract_function", "array_dimension", 1157 "multi_array_dimension", "abstract_parameter_declarator", 1158 "abstract_parameter_ptr", "abstract_parameter_array", 1159 "abstract_parameter_function", "array_parameter_dimension", 1160 "array_parameter_1st_dimension", "variable_abstract_declarator", 1161 "variable_abstract_ptr", "variable_abstract_array", 1162 "variable_abstract_function", 1167 1163 "new_identifier_parameter_declarator_tuple", 1168 1164 "new_identifier_parameter_declarator_no_tuple", … … 1224 1220 200, 201, 201, 202, 202, 202, 202, 202, 203, 203, 1225 1221 203, 204, 204, 204, 205, 205, 205, 205, 205, 206, 1226 206, 206, 20 6, 207, 207, 208, 208, 208, 209, 209,1227 209, 209, 2 09, 210, 210, 211, 211, 211, 211, 212,1228 21 2, 213, 213, 213, 213, 214, 214, 214, 214, 215,1229 21 5, 216, 216, 217, 217, 218, 218, 218, 218, 218,1230 21 9, 218, 220, 220, 220, 221, 221, 222, 223, 223,1231 223, 223, 223, 223, 223, 22 3, 224, 224, 224, 224,1232 224, 224, 224, 224, 224, 224, 224, 22 4, 225, 225,1233 225, 225, 22 5, 226, 226, 227, 227, 227, 227, 228,1234 228, 228, 22 8, 229, 229, 229, 229, 230, 230, 230,1235 231, 231, 231, 23 1, 232, 232, 232, 233, 233, 234,1236 234, 234, 234, 23 4, 235, 235, 236, 236, 237, 237,1237 237, 23 7, 238, 238, 238, 238, 239, 239, 240, 240,1238 240, 240, 24 0, 241, 241, 242, 243, 244, 244, 244,1239 245, 24 5, 246, 246, 247, 247, 248, 248, 248, 248,1240 24 8, 249, 249, 249, 249, 250, 250, 251, 251, 252,1241 25 2, 253, 253, 253, 253, 254, 254, 254, 254, 254,1242 255, 255, 255, 255, 25 5, 256, 256, 257, 257, 258,1243 25 8, 259, 259, 259, 260, 260, 260, 261, 261, 261,1244 262, 262, 26 2, 263, 263, 263, 263, 264, 264, 265,1245 26 5, 266, 266, 266, 266, 267, 267, 268, 268, 269,1246 269, 269, 269, 2 69, 270, 270, 270, 270, 271, 271,1247 27 1, 272, 272, 274, 273, 273, 275, 275, 275, 276,1248 27 6, 277, 277, 277, 278, 278, 278, 278, 279, 279,1249 2 79, 280, 280, 281, 281, 282, 283, 282, 284, 284,1250 28 5, 285, 286, 286, 286, 287, 287, 288, 288, 289,1251 2 89, 290, 290, 291, 291, 291, 292, 291, 291, 293,1252 29 3, 293, 294, 294, 294, 294, 294, 294, 294, 294,1253 29 4, 295, 295, 295, 296, 297, 297, 298, 298, 299,1254 299, 300, 301, 301, 302, 302, 302, 303, 303, 303,1255 30 3, 304, 304, 304, 304, 305, 305, 306, 306, 306,1256 30 7, 307, 307, 307, 308, 308, 309, 309, 309, 310,1257 31 0, 310, 311, 311, 311, 312, 312, 312, 313, 313,1258 31 3, 314, 314, 314, 315, 315, 315, 316, 316, 316,1259 31 7, 317, 317, 317, 318, 318, 319, 319, 319, 320,1260 32 0, 320, 320, 321, 321, 321, 322, 322, 322, 322,1261 32 3, 323, 323, 324, 324, 324, 324, 325, 325, 325,1262 32 6, 326, 326, 326, 327, 328, 328, 328, 329, 329,1263 330, 33 0, 331, 331, 331, 332, 332, 332, 332, 332,1264 333, 33 3, 333, 333, 334, 334, 334, 335, 335, 335,1265 336, 33 6, 336, 336, 337, 337, 337, 338, 338, 338,1266 33 8, 338, 339, 339, 339, 339, 340, 340, 340, 341,1267 34 1, 341, 342, 342, 342, 342, 342, 342, 343, 343,1268 34 3, 344, 344, 344, 344, 344, 345, 345, 345, 345,1269 346, 34 6, 347, 347, 347, 348, 348, 349, 349, 349,1270 3 49, 349, 349, 350, 350, 350, 350, 350, 350, 350,1271 35 0, 350, 350, 351, 351, 351, 351, 352, 352, 352,1272 353, 35 3, 354, 354, 354, 354, 354, 354, 355, 355,1273 35 5, 355, 355, 355, 356, 357, 357, 357, 358, 358,1274 359, 3 591222 206, 206, 207, 207, 208, 208, 208, 209, 209, 209, 1223 209, 209, 210, 210, 211, 211, 211, 211, 212, 212, 1224 213, 213, 213, 213, 214, 214, 214, 214, 215, 215, 1225 216, 216, 217, 217, 218, 218, 218, 218, 218, 219, 1226 218, 220, 220, 220, 221, 221, 222, 223, 223, 223, 1227 223, 223, 223, 223, 223, 224, 224, 224, 224, 224, 1228 224, 224, 224, 224, 224, 224, 224, 225, 225, 225, 1229 225, 225, 226, 226, 227, 227, 227, 227, 228, 228, 1230 228, 228, 229, 229, 229, 229, 230, 230, 230, 231, 1231 231, 231, 231, 232, 232, 232, 233, 233, 234, 234, 1232 234, 234, 234, 235, 235, 236, 236, 237, 237, 237, 1233 237, 238, 238, 238, 238, 239, 239, 240, 240, 240, 1234 240, 240, 241, 241, 242, 243, 244, 244, 244, 245, 1235 245, 246, 246, 247, 247, 248, 248, 248, 248, 248, 1236 249, 249, 249, 249, 250, 250, 251, 251, 252, 252, 1237 253, 253, 253, 253, 254, 254, 254, 254, 254, 255, 1238 255, 255, 255, 255, 256, 256, 257, 257, 258, 258, 1239 259, 259, 259, 260, 260, 260, 261, 261, 261, 262, 1240 262, 262, 263, 263, 263, 263, 264, 264, 265, 265, 1241 266, 266, 266, 266, 267, 267, 268, 268, 269, 269, 1242 269, 269, 269, 270, 270, 270, 270, 271, 271, 271, 1243 272, 273, 273, 275, 274, 274, 276, 276, 276, 277, 1244 277, 278, 278, 278, 279, 279, 279, 279, 280, 280, 1245 280, 281, 281, 282, 282, 283, 284, 283, 285, 285, 1246 286, 286, 287, 287, 287, 288, 288, 289, 289, 290, 1247 290, 291, 291, 292, 292, 292, 293, 292, 292, 294, 1248 294, 294, 295, 295, 295, 295, 295, 295, 295, 295, 1249 295, 296, 296, 296, 297, 298, 298, 299, 299, 300, 1250 300, 301, 302, 302, 303, 303, 303, 304, 304, 304, 1251 304, 305, 305, 305, 305, 306, 306, 307, 307, 307, 1252 308, 308, 308, 308, 309, 309, 310, 310, 310, 311, 1253 311, 311, 312, 312, 312, 313, 313, 313, 314, 314, 1254 314, 315, 315, 315, 316, 316, 316, 317, 317, 317, 1255 318, 318, 318, 318, 319, 319, 320, 320, 320, 321, 1256 321, 321, 321, 322, 322, 322, 323, 323, 323, 323, 1257 324, 324, 324, 325, 325, 325, 325, 326, 326, 326, 1258 327, 327, 327, 327, 328, 328, 329, 329, 329, 330, 1259 330, 331, 331, 332, 332, 332, 333, 333, 333, 333, 1260 333, 334, 334, 334, 334, 335, 335, 335, 336, 336, 1261 336, 337, 337, 337, 337, 338, 338, 338, 339, 339, 1262 339, 339, 339, 340, 340, 340, 340, 341, 341, 341, 1263 342, 342, 342, 343, 343, 343, 343, 343, 343, 344, 1264 344, 344, 345, 345, 345, 345, 345, 346, 346, 346, 1265 346, 347, 347, 348, 348, 348, 349, 349, 350, 350, 1266 350, 350, 350, 350, 351, 351, 351, 351, 351, 351, 1267 351, 351, 351, 351, 352, 352, 352, 352, 353, 353, 1268 353, 354, 354, 355, 355, 355, 355, 355, 355, 356, 1269 356, 356, 356, 356, 356, 357, 358, 358, 358, 359, 1270 359, 360, 360 1275 1271 }; 1276 1272 … … 1288 1284 3, 3, 3, 3, 1, 3, 3, 1, 3, 1, 1289 1285 3, 1, 3, 1, 3, 1, 3, 1, 5, 4, 1290 5, 1, 1, 3, 3, 2, 0, 1, 4, 5,1286 5, 1, 1, 3, 3, 2, 0, 1, 2, 5, 1291 1287 6, 7, 1, 3, 1, 1, 1, 1, 1, 1, 1292 1288 1, 1, 1, 1, 1, 3, 0, 1, 1, 1, … … 1302 1298 3, 1, 1, 1, 3, 0, 1, 3, 4, 1, 1303 1299 3, 1, 1, 3, 3, 3, 3, 3, 2, 3, 1304 6, 3, 3, 4, 1, 2, 2, 3, 5, 10,1305 10, 7, 7, 5, 9, 2, 2, 5, 3, 5,1306 4, 3, 4, 4, 7, 3, 3, 3, 3, 4,1307 6, 1, 1, 1, 1, 1, 1, 1, 1, 0,1308 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,1309 0, 5, 1, 2, 3, 1, 2, 1, 1, 1,1300 6, 3, 3, 4, 1, 2, 2, 3, 5, 8, 1301 7, 7, 5, 9, 2, 2, 5, 3, 5, 4, 1302 3, 4, 4, 7, 3, 3, 3, 3, 4, 6, 1303 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1304 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 1305 5, 1, 2, 3, 1, 2, 1, 1, 1, 1, 1310 1306 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1311 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,1312 2, 3, 3, 1, 3, 1, 2, 2, 2, 4,1313 4, 4, 4, 1, 2, 2, 3, 1, 2, 2,1314 1, 2, 2, 3, 1, 2, 2, 1, 1, 4,1315 2, 5, 7, 5, 2, 2, 1, 2, 2, 3,1316 2, 3, 1, 2, 3, 2, 2, 4, 0, 1,1317 2, 2, 1, 0, 1, 2, 2, 5, 6, 2,1318 2, 4, 0, 2, 0, 1, 1, 1, 5, 5,1319 5, 1, 5, 5, 9, 1, 5, 0, 1, 1,1320 5, 1, 1, 5, 5, 1, 3, 3, 4, 1,1321 1, 1, 1, 2, 1, 3, 3, 1, 2, 1,1322 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,1323 1, 1, 2, 1, 1, 1, 2, 0, 2, 1,1324 4, 1, 2, 3, 4, 2, 2, 1, 2, 2,1325 5, 5, 7, 6, 1, 2, 2, 3, 4, 5,1326 2, 2, 4, 0, 4, 2, 1, 1, 1, 0,1307 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1308 3, 3, 1, 3, 1, 2, 2, 2, 4, 4, 1309 4, 4, 1, 2, 2, 3, 1, 2, 2, 1, 1310 2, 2, 3, 1, 2, 2, 1, 1, 4, 2, 1311 5, 7, 2, 2, 2, 1, 2, 2, 3, 2, 1312 3, 1, 2, 3, 2, 2, 4, 0, 1, 2, 1313 2, 1, 0, 1, 2, 2, 5, 6, 2, 2, 1314 4, 0, 2, 0, 1, 1, 1, 5, 5, 5, 1315 1, 5, 5, 9, 1, 5, 0, 1, 1, 5, 1316 1, 1, 5, 5, 1, 3, 3, 4, 1, 1, 1317 1, 1, 2, 1, 3, 3, 1, 2, 1, 3, 1318 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1319 1, 2, 1, 1, 1, 2, 0, 2, 1, 4, 1320 1, 2, 3, 4, 2, 2, 1, 2, 2, 5, 1321 5, 7, 6, 1, 2, 2, 3, 1, 2, 2, 1322 4, 2, 4, 0, 4, 2, 1, 1, 1, 0, 1327 1323 2, 5, 5, 13, 1, 1, 3, 3, 2, 3, 1328 1324 3, 2, 4, 1, 6, 9, 0, 11, 1, 3, … … 1339 1335 4, 4, 3, 6, 8, 3, 2, 1, 2, 2, 1340 1336 2, 3, 3, 2, 4, 4, 3, 6, 8, 3, 1341 2, 1, 2, 2, 1, 2, 3, 3, 2, 4,1342 6, 8, 1, 2, 2, 1, 2, 2, 3, 3,1343 1, 4, 4, 3, 5, 8, 3, 4, 5, 1,1344 5, 5, 6, 6, 1, 2, 2, 1, 2, 2,1345 3, 3, 1, 4, 4, 3, 5, 8, 3, 1,1346 2, 1, 4, 6, 5, 6, 7, 7, 1, 2,1347 2, 1, 2, 2, 3, 3, 1, 4, 4, 3,1348 8, 3, 1, 1, 2, 1, 1, 2, 3, 2,1349 3, 2, 3, 5, 2, 6, 3, 2, 5, 2,1350 6, 3, 2, 6, 6, 6, 7, 1, 2, 1,1351 1, 1, 2, 3, 2, 3, 2, 3, 5, 6,1352 2, 5, 6, 2, 5, 7, 6, 6, 0, 1,1353 0, 21337 2, 1, 2, 2, 1, 1, 2, 3, 3, 2, 1338 4, 6, 8, 1, 2, 2, 1, 2, 2, 3, 1339 3, 1, 4, 4, 3, 5, 8, 3, 2, 3, 1340 1, 5, 5, 6, 6, 1, 2, 2, 1, 2, 1341 2, 3, 3, 1, 4, 4, 3, 5, 8, 3, 1342 1, 2, 1, 2, 6, 5, 6, 7, 7, 1, 1343 2, 2, 1, 2, 2, 3, 3, 1, 4, 4, 1344 3, 8, 3, 1, 1, 2, 1, 1, 2, 3, 1345 2, 3, 2, 3, 3, 2, 4, 3, 2, 3, 1346 2, 4, 3, 2, 6, 6, 6, 7, 1, 2, 1347 1, 1, 1, 2, 3, 2, 3, 2, 3, 3, 1348 4, 2, 3, 4, 2, 5, 5, 6, 6, 0, 1349 1, 0, 2 1354 1350 }; 1355 1351 … … 1359 1355 static const yytype_uint16 yydefact[] = 1360 1356 { 1361 279, 279, 300, 298, 301, 299, 302, 303, 285, 287, 1362 286, 0, 288, 314, 306, 311, 309, 310, 308, 307, 1363 312, 313, 315, 316, 317, 527, 527, 527, 0, 0, 1364 0, 279, 279, 289, 304, 305, 7, 344, 0, 8, 1365 13, 14, 0, 2, 279, 545, 9, 505, 503, 231, 1366 3, 437, 3, 244, 0, 3, 3, 3, 232, 3, 1367 0, 0, 0, 280, 281, 283, 279, 292, 295, 297, 1368 325, 271, 318, 323, 272, 333, 273, 340, 337, 347, 1369 0, 0, 348, 274, 454, 3, 3, 0, 2, 499, 1370 504, 509, 284, 0, 0, 527, 557, 527, 2, 568, 1371 569, 570, 279, 0, 710, 711, 0, 12, 279, 0, 1372 255, 256, 0, 280, 275, 276, 277, 278, 506, 290, 1373 376, 528, 529, 354, 355, 12, 428, 429, 11, 424, 1374 427, 0, 483, 478, 469, 428, 429, 0, 0, 508, 1375 0, 280, 279, 0, 0, 0, 0, 0, 0, 0, 1376 0, 279, 2, 0, 712, 280, 562, 574, 716, 709, 1377 707, 714, 0, 0, 238, 2, 0, 512, 422, 423, 1378 421, 0, 0, 0, 0, 527, 0, 584, 0, 0, 1379 525, 521, 527, 542, 527, 527, 522, 2, 523, 527, 1380 581, 527, 527, 0, 0, 0, 279, 279, 298, 345, 1381 0, 2, 279, 245, 282, 293, 326, 338, 0, 2, 1382 0, 437, 246, 280, 319, 334, 341, 455, 0, 2, 1383 0, 296, 320, 327, 328, 0, 335, 339, 342, 346, 1384 279, 279, 350, 0, 379, 456, 460, 0, 0, 0, 1385 1, 279, 2, 510, 556, 558, 279, 2, 720, 280, 1386 723, 525, 525, 280, 0, 0, 0, 258, 527, 522, 1387 2, 279, 0, 0, 279, 530, 2, 481, 2, 534, 1388 0, 0, 0, 0, 17, 56, 4, 5, 6, 15, 1389 0, 0, 0, 279, 2, 0, 279, 62, 63, 64, 1390 65, 19, 18, 20, 23, 47, 66, 0, 69, 73, 1391 76, 79, 84, 87, 89, 91, 93, 95, 97, 102, 1392 475, 730, 435, 474, 0, 433, 434, 0, 546, 561, 1393 564, 567, 573, 576, 579, 2, 279, 0, 3, 409, 1394 0, 417, 280, 279, 292, 318, 272, 333, 340, 3, 1395 3, 391, 395, 405, 410, 454, 279, 411, 685, 686, 1396 279, 412, 414, 279, 2, 563, 575, 708, 2, 2, 1397 233, 2, 0, 0, 439, 438, 137, 2, 2, 235, 1398 2, 2, 234, 2, 266, 2, 267, 0, 265, 0, 1399 0, 0, 0, 0, 0, 0, 0, 0, 547, 586, 1400 0, 437, 2, 541, 550, 639, 543, 544, 513, 279, 1401 2, 580, 589, 582, 583, 0, 261, 279, 279, 324, 1402 0, 280, 279, 279, 713, 717, 715, 514, 279, 525, 1403 239, 247, 294, 0, 2, 515, 279, 479, 321, 322, 1404 268, 336, 343, 0, 279, 2, 368, 279, 356, 0, 1405 0, 362, 707, 279, 728, 382, 0, 457, 480, 236, 1406 237, 500, 279, 419, 0, 279, 221, 0, 2, 223, 1407 0, 280, 0, 241, 2, 242, 263, 0, 0, 2, 1408 279, 525, 279, 466, 468, 467, 0, 0, 730, 0, 1409 279, 0, 279, 470, 279, 540, 538, 539, 537, 0, 1410 532, 535, 66, 101, 0, 279, 54, 50, 279, 59, 1411 279, 279, 48, 49, 61, 2, 124, 0, 0, 431, 1412 0, 430, 279, 52, 53, 16, 0, 30, 31, 35, 1413 2, 0, 114, 115, 116, 117, 118, 119, 120, 121, 1414 122, 123, 0, 0, 51, 0, 0, 0, 0, 0, 1357 278, 278, 299, 297, 300, 298, 301, 302, 284, 286, 1358 285, 0, 287, 313, 305, 310, 308, 309, 307, 306, 1359 311, 312, 314, 315, 316, 527, 527, 527, 0, 0, 1360 0, 278, 278, 288, 303, 304, 7, 343, 0, 8, 1361 13, 14, 0, 2, 278, 545, 9, 505, 503, 231, 1362 3, 436, 3, 244, 0, 3, 3, 3, 232, 3, 1363 0, 0, 0, 279, 280, 282, 278, 291, 294, 296, 1364 324, 270, 317, 322, 271, 332, 272, 339, 336, 346, 1365 0, 0, 347, 273, 453, 457, 3, 3, 0, 2, 1366 499, 504, 509, 283, 0, 0, 527, 557, 527, 2, 1367 568, 569, 570, 278, 0, 711, 712, 0, 12, 278, 1368 0, 254, 255, 0, 279, 274, 275, 276, 277, 506, 1369 289, 375, 528, 529, 353, 354, 12, 427, 428, 11, 1370 423, 426, 0, 483, 478, 469, 427, 428, 0, 0, 1371 508, 0, 279, 278, 0, 0, 0, 0, 0, 0, 1372 0, 0, 278, 278, 2, 0, 713, 279, 562, 574, 1373 717, 710, 708, 715, 0, 0, 238, 2, 0, 512, 1374 421, 422, 420, 0, 0, 0, 0, 527, 0, 614, 1375 615, 0, 0, 525, 521, 527, 542, 527, 527, 522, 1376 2, 523, 527, 581, 527, 527, 584, 0, 0, 0, 1377 278, 278, 297, 344, 2, 278, 245, 281, 292, 325, 1378 337, 458, 0, 2, 0, 436, 246, 279, 318, 333, 1379 340, 454, 0, 2, 0, 295, 319, 326, 327, 0, 1380 334, 338, 341, 345, 428, 278, 278, 349, 352, 0, 1381 378, 455, 459, 0, 0, 0, 1, 278, 2, 510, 1382 556, 558, 278, 2, 721, 279, 724, 525, 525, 279, 1383 0, 0, 0, 257, 527, 522, 2, 278, 0, 0, 1384 278, 530, 2, 481, 2, 534, 0, 0, 0, 0, 1385 17, 56, 4, 5, 6, 15, 0, 0, 0, 278, 1386 2, 0, 278, 62, 63, 64, 65, 19, 18, 20, 1387 23, 47, 66, 0, 69, 73, 76, 79, 84, 87, 1388 89, 91, 93, 95, 97, 102, 475, 731, 434, 474, 1389 0, 432, 433, 0, 546, 561, 564, 567, 573, 576, 1390 579, 343, 0, 2, 719, 0, 278, 722, 2, 278, 1391 3, 408, 0, 416, 279, 278, 291, 317, 271, 332, 1392 339, 3, 3, 390, 394, 404, 409, 453, 278, 410, 1393 686, 687, 278, 411, 413, 278, 2, 563, 575, 709, 1394 2, 2, 233, 2, 0, 0, 438, 437, 137, 2, 1395 2, 235, 2, 2, 234, 2, 265, 2, 266, 0, 1396 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1397 547, 586, 0, 436, 2, 541, 550, 640, 543, 544, 1398 513, 278, 2, 580, 589, 582, 583, 0, 260, 278, 1399 278, 323, 0, 279, 0, 278, 714, 718, 716, 514, 1400 278, 525, 239, 247, 293, 0, 2, 515, 278, 479, 1401 320, 321, 267, 335, 342, 0, 278, 2, 367, 278, 1402 355, 0, 0, 361, 708, 278, 729, 381, 0, 456, 1403 480, 236, 237, 500, 278, 418, 0, 278, 221, 0, 1404 2, 223, 0, 279, 0, 241, 2, 242, 262, 0, 1405 0, 2, 278, 525, 278, 466, 468, 467, 0, 0, 1406 731, 0, 278, 0, 278, 470, 278, 540, 538, 539, 1407 537, 0, 532, 535, 66, 101, 0, 278, 54, 50, 1408 278, 59, 278, 278, 48, 49, 61, 2, 124, 0, 1409 0, 430, 0, 429, 108, 278, 52, 53, 16, 0, 1410 30, 31, 35, 2, 0, 114, 115, 116, 117, 118, 1411 119, 120, 121, 122, 123, 0, 0, 51, 0, 0, 1415 1412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1416 0, 0, 0, 0, 0, 105, 2, 625, 436, 622, 1417 527, 527, 630, 458, 279, 2, 565, 2, 566, 0, 1418 577, 578, 279, 2, 279, 0, 687, 280, 691, 682, 1419 683, 689, 279, 0, 614, 2, 2, 647, 527, 730, 1420 597, 527, 527, 730, 527, 611, 527, 527, 661, 418, 1421 644, 527, 527, 652, 659, 279, 413, 280, 0, 0, 1422 279, 697, 280, 702, 730, 694, 279, 699, 730, 0, 1423 279, 279, 0, 3, 17, 2, 0, 0, 441, 728, 1424 0, 0, 447, 225, 0, 279, 0, 0, 0, 525, 1425 549, 553, 555, 585, 588, 592, 595, 548, 587, 0, 1426 269, 3, 0, 279, 262, 0, 0, 0, 0, 260, 1427 0, 2, 0, 0, 243, 516, 279, 0, 0, 0, 1428 0, 279, 0, 0, 671, 366, 369, 373, 527, 373, 1429 676, 372, 668, 527, 527, 349, 357, 365, 358, 527, 1430 360, 363, 279, 729, 0, 0, 380, 728, 280, 3, 1431 398, 3, 402, 401, 571, 0, 511, 279, 3, 3, 1432 279, 417, 280, 3, 411, 412, 2, 0, 0, 0, 1433 465, 291, 279, 461, 463, 3, 2, 2, 0, 482, 1434 3, 0, 534, 126, 0, 210, 0, 0, 2, 0, 1435 0, 36, 0, 0, 279, 21, 0, 22, 0, 671, 1436 432, 0, 106, 0, 3, 2, 28, 2, 0, 33, 1437 0, 2, 26, 103, 104, 70, 71, 72, 74, 75, 1438 77, 78, 82, 83, 80, 81, 85, 86, 88, 90, 1439 92, 94, 96, 0, 0, 731, 279, 0, 0, 0, 1440 626, 627, 623, 624, 477, 476, 279, 0, 0, 0, 1441 280, 279, 279, 641, 684, 344, 0, 718, 279, 721, 1442 640, 2, 279, 0, 0, 0, 0, 0, 0, 0, 1443 0, 3, 648, 600, 615, 649, 2, 596, 603, 415, 1444 598, 599, 416, 2, 610, 618, 612, 613, 645, 646, 1445 660, 688, 692, 690, 730, 253, 2, 724, 2, 406, 1446 696, 701, 407, 279, 3, 385, 3, 3, 3, 437, 1447 0, 3, 3, 2, 449, 446, 729, 0, 442, 2, 1448 445, 448, 0, 279, 226, 248, 3, 257, 259, 0, 1449 437, 2, 551, 552, 2, 590, 591, 0, 3, 0, 1450 517, 3, 330, 329, 332, 331, 459, 279, 0, 518, 1451 0, 519, 279, 353, 359, 361, 2, 0, 0, 0, 1452 0, 0, 375, 672, 673, 370, 374, 371, 669, 670, 1453 364, 368, 351, 382, 377, 383, 0, 0, 0, 420, 1454 224, 0, 0, 3, 2, 647, 413, 0, 507, 0, 1455 730, 469, 0, 279, 279, 279, 0, 531, 533, 127, 1456 0, 206, 0, 0, 211, 212, 55, 60, 279, 0, 1457 58, 57, 0, 0, 125, 672, 0, 67, 68, 107, 1458 112, 3, 108, 106, 0, 0, 3, 25, 35, 3, 1459 0, 99, 0, 3, 629, 633, 636, 628, 3, 572, 1460 108, 2, 279, 3, 3, 280, 0, 2, 2, 719, 1461 722, 0, 3, 602, 606, 609, 617, 651, 655, 658, 1462 279, 0, 3, 601, 616, 650, 279, 279, 408, 279, 1463 279, 279, 0, 0, 0, 0, 240, 108, 0, 101, 1464 0, 3, 3, 0, 443, 0, 440, 0, 0, 229, 1465 279, 0, 0, 126, 0, 0, 0, 0, 0, 126, 1466 0, 0, 0, 2, 0, 0, 3, 128, 129, 2, 1467 139, 130, 131, 132, 133, 134, 135, 141, 143, 0, 1468 0, 0, 270, 279, 279, 527, 637, 0, 0, 0, 1469 520, 279, 279, 279, 675, 679, 681, 674, 367, 381, 1470 378, 559, 2, 643, 642, 0, 648, 2, 462, 464, 1471 484, 3, 492, 493, 0, 2, 488, 3, 3, 0, 1472 0, 536, 0, 0, 210, 0, 3, 37, 108, 728, 1473 106, 0, 3, 640, 42, 3, 40, 3, 34, 0, 1474 3, 98, 100, 0, 2, 631, 632, 0, 693, 279, 1475 698, 279, 0, 0, 0, 3, 279, 279, 279, 617, 1476 0, 2, 604, 605, 2, 619, 2, 653, 654, 0, 1477 662, 0, 3, 0, 3, 3, 3, 3, 393, 392, 1478 396, 0, 727, 2, 2, 726, 109, 0, 0, 0, 1479 0, 3, 444, 3, 0, 227, 142, 3, 280, 279, 1413 0, 0, 0, 0, 0, 0, 0, 0, 105, 2, 1414 626, 435, 623, 527, 527, 631, 460, 278, 2, 565, 1415 566, 0, 577, 578, 0, 2, 720, 723, 108, 278, 1416 2, 278, 0, 688, 279, 692, 683, 684, 690, 0, 1417 2, 2, 648, 527, 731, 597, 527, 527, 731, 527, 1418 611, 527, 527, 662, 417, 645, 527, 527, 653, 660, 1419 278, 412, 279, 0, 0, 278, 698, 279, 703, 731, 1420 695, 278, 700, 731, 278, 278, 278, 0, 108, 0, 1421 17, 2, 0, 0, 440, 729, 0, 0, 446, 225, 1422 0, 278, 0, 0, 0, 525, 549, 553, 555, 585, 1423 588, 592, 595, 548, 587, 0, 268, 638, 0, 278, 1424 261, 0, 0, 0, 0, 259, 2, 0, 243, 516, 1425 278, 0, 0, 0, 0, 278, 278, 0, 0, 672, 1426 365, 368, 372, 527, 372, 677, 371, 669, 527, 527, 1427 348, 356, 364, 357, 527, 359, 362, 278, 730, 0, 1428 0, 379, 729, 279, 3, 397, 3, 401, 400, 571, 1429 0, 511, 278, 3, 3, 278, 416, 279, 3, 410, 1430 411, 2, 0, 0, 0, 465, 290, 278, 461, 463, 1431 3, 2, 2, 0, 482, 3, 0, 534, 126, 0, 1432 210, 0, 0, 2, 0, 0, 36, 0, 0, 108, 1433 278, 21, 0, 22, 0, 672, 431, 0, 106, 3, 1434 2, 28, 2, 0, 33, 0, 2, 26, 103, 104, 1435 70, 71, 72, 74, 75, 77, 78, 82, 83, 80, 1436 81, 85, 86, 88, 90, 92, 94, 96, 0, 0, 1437 732, 278, 0, 0, 0, 627, 628, 624, 625, 477, 1438 476, 278, 0, 3, 278, 694, 278, 699, 279, 278, 1439 278, 278, 642, 685, 641, 2, 278, 0, 0, 0, 1440 0, 0, 0, 0, 0, 663, 0, 649, 600, 616, 1441 650, 2, 596, 603, 414, 598, 599, 415, 2, 610, 1442 619, 612, 613, 646, 647, 661, 689, 693, 691, 731, 1443 252, 2, 725, 2, 405, 697, 702, 406, 0, 384, 1444 3, 3, 3, 3, 436, 3, 0, 2, 448, 445, 1445 730, 0, 441, 2, 444, 447, 0, 278, 226, 248, 1446 3, 256, 258, 0, 436, 2, 551, 552, 2, 590, 1447 591, 0, 639, 517, 3, 329, 328, 331, 330, 278, 1448 518, 0, 519, 278, 358, 360, 2, 0, 0, 0, 1449 0, 374, 673, 674, 369, 373, 370, 670, 671, 363, 1450 367, 350, 381, 376, 382, 0, 0, 0, 419, 224, 1451 0, 0, 3, 2, 648, 412, 0, 507, 0, 731, 1452 469, 0, 278, 278, 278, 0, 531, 533, 127, 0, 1453 206, 0, 0, 211, 212, 55, 60, 278, 0, 58, 1454 57, 0, 125, 673, 0, 67, 68, 107, 112, 3, 1455 106, 0, 0, 0, 25, 35, 3, 0, 99, 0, 1456 3, 630, 634, 637, 629, 3, 572, 3, 696, 701, 1457 2, 278, 3, 3, 279, 0, 3, 602, 606, 609, 1458 618, 652, 656, 659, 278, 3, 601, 617, 651, 278, 1459 278, 407, 278, 278, 726, 0, 0, 0, 0, 240, 1460 0, 101, 0, 3, 3, 0, 442, 0, 439, 0, 1461 0, 229, 278, 0, 0, 126, 0, 0, 0, 0, 1462 0, 126, 0, 0, 0, 2, 0, 0, 3, 128, 1463 129, 2, 139, 130, 131, 132, 133, 134, 135, 141, 1464 143, 0, 0, 0, 269, 278, 278, 527, 0, 520, 1465 278, 108, 676, 680, 682, 675, 366, 380, 377, 559, 1466 2, 644, 643, 0, 649, 2, 462, 464, 484, 3, 1467 492, 493, 0, 2, 488, 3, 3, 0, 0, 536, 1468 0, 0, 210, 0, 3, 37, 729, 106, 0, 3, 1469 641, 42, 3, 40, 3, 34, 0, 3, 98, 100, 1470 0, 2, 632, 633, 0, 0, 278, 0, 0, 0, 1471 3, 618, 0, 2, 604, 605, 2, 620, 2, 654, 1472 655, 0, 0, 3, 0, 3, 3, 3, 3, 392, 1473 391, 395, 2, 2, 728, 727, 109, 0, 0, 0, 1474 0, 3, 443, 3, 0, 227, 142, 3, 279, 278, 1480 1475 0, 0, 0, 0, 2, 187, 0, 185, 0, 0, 1481 0, 0, 0, 0, 191, 0, 279, 527, 147, 144, 1482 279, 0, 0, 252, 264, 3, 3, 526, 638, 593, 1483 279, 352, 0, 2, 677, 678, 279, 251, 279, 0, 1484 495, 472, 279, 0, 0, 471, 486, 0, 207, 0, 1485 213, 106, 0, 0, 113, 110, 0, 0, 0, 0, 1486 0, 0, 24, 0, 634, 279, 560, 695, 700, 703, 1487 704, 705, 0, 3, 3, 656, 279, 279, 279, 3, 1488 3, 0, 664, 0, 0, 0, 0, 725, 279, 279, 1489 3, 524, 109, 451, 0, 0, 230, 280, 0, 0, 1490 0, 0, 279, 188, 186, 0, 183, 189, 0, 0, 1491 0, 192, 195, 193, 190, 0, 126, 140, 138, 228, 1492 0, 0, 108, 279, 400, 404, 403, 0, 489, 2, 1493 490, 2, 491, 485, 279, 214, 0, 0, 3, 640, 1494 32, 111, 2, 45, 2, 43, 41, 29, 109, 27, 1495 3, 706, 0, 0, 3, 3, 3, 0, 0, 663, 1496 665, 607, 620, 254, 2, 390, 3, 389, 0, 453, 1497 450, 126, 0, 0, 126, 3, 0, 126, 184, 0, 1498 2, 200, 194, 0, 108, 136, 554, 594, 3, 2, 1499 0, 0, 2, 208, 215, 0, 0, 0, 0, 0, 1500 0, 250, 249, 0, 0, 0, 666, 667, 279, 0, 1501 452, 148, 0, 0, 2, 161, 126, 150, 0, 178, 1502 0, 126, 0, 2, 152, 0, 2, 2, 0, 279, 1503 494, 496, 487, 0, 0, 111, 38, 3, 3, 635, 1504 608, 621, 657, 394, 126, 154, 157, 0, 156, 160, 1505 3, 163, 162, 0, 126, 180, 126, 3, 0, 279, 1506 0, 2, 680, 2, 209, 216, 0, 0, 0, 149, 1507 0, 0, 159, 217, 164, 2, 219, 179, 0, 182, 1508 168, 196, 3, 201, 205, 0, 279, 0, 39, 46, 1509 44, 155, 158, 126, 0, 165, 279, 126, 126, 0, 1510 169, 0, 0, 671, 202, 203, 204, 197, 3, 279, 1511 145, 166, 151, 126, 220, 181, 176, 174, 170, 153, 1512 126, 0, 672, 0, 0, 146, 167, 177, 171, 175, 1513 174, 172, 3, 0, 473, 173, 198, 3, 199 1476 0, 0, 0, 0, 191, 0, 108, 527, 147, 144, 1477 278, 0, 0, 251, 263, 3, 3, 526, 593, 351, 1478 2, 678, 679, 278, 250, 278, 0, 495, 472, 278, 1479 0, 0, 471, 486, 0, 207, 0, 213, 106, 0, 1480 0, 113, 110, 0, 0, 0, 0, 0, 0, 24, 1481 0, 635, 278, 560, 249, 704, 705, 706, 0, 657, 1482 278, 278, 278, 3, 3, 0, 665, 0, 0, 0, 1483 0, 278, 278, 3, 524, 109, 450, 0, 0, 230, 1484 279, 0, 0, 0, 0, 278, 188, 186, 0, 183, 1485 189, 0, 0, 0, 192, 195, 193, 190, 126, 140, 1486 138, 228, 0, 0, 278, 399, 403, 402, 0, 489, 1487 2, 490, 2, 491, 485, 278, 214, 0, 0, 3, 1488 641, 32, 111, 2, 45, 2, 43, 41, 29, 109, 1489 27, 3, 707, 3, 3, 3, 0, 0, 664, 666, 1490 607, 621, 253, 2, 389, 3, 388, 0, 452, 449, 1491 126, 0, 0, 126, 3, 0, 126, 184, 0, 2, 1492 200, 194, 0, 136, 554, 594, 3, 2, 0, 0, 1493 2, 208, 215, 0, 0, 0, 0, 0, 0, 0, 1494 0, 0, 667, 668, 278, 0, 451, 148, 0, 0, 1495 2, 161, 126, 150, 0, 178, 0, 126, 0, 2, 1496 152, 0, 2, 2, 0, 278, 494, 496, 487, 0, 1497 0, 111, 38, 3, 3, 636, 608, 622, 658, 393, 1498 126, 154, 157, 0, 156, 160, 3, 163, 162, 0, 1499 126, 180, 126, 3, 0, 278, 0, 2, 681, 2, 1500 209, 216, 0, 0, 0, 149, 0, 0, 159, 217, 1501 164, 2, 219, 179, 0, 182, 168, 196, 3, 201, 1502 205, 0, 278, 0, 39, 46, 44, 155, 158, 126, 1503 0, 165, 278, 126, 126, 0, 169, 0, 0, 672, 1504 202, 203, 204, 197, 3, 278, 145, 166, 151, 126, 1505 220, 181, 176, 174, 170, 153, 126, 0, 673, 0, 1506 0, 146, 167, 177, 171, 175, 174, 172, 3, 0, 1507 473, 173, 198, 3, 199 1514 1508 }; 1515 1509 … … 1517 1511 static const yytype_int16 yydefgoto[] = 1518 1512 { 1519 -1, 8 12, 456, 291, 45, 129, 130, 292, 293, 294,1520 295, 758, 740, 1125, 1126, 296, 297, 298, 299, 300,1521 30 1, 302, 303, 304, 305, 306, 307, 308, 309, 1030,1522 5 06, 970, 311, 971, 533, 949, 1055, 1500, 1057, 1058,1523 10 59, 1060, 1501, 1061, 1062, 1436, 1437, 1405, 1406, 1407,1524 14 84, 1485, 1489, 1490, 1518, 1519, 1063, 1366, 1064, 1065,1525 1 301, 1302, 1303, 1472, 1066, 953, 954, 955, 1385, 1464,1526 14 65, 457, 458, 873, 874, 1038, 48, 49, 50, 51,1527 52, 3 29, 153, 55, 56, 57, 58, 59, 331, 61,1528 62, 25 3, 64, 65, 264, 333, 334, 68, 69, 70,1529 71, 11 4, 73, 196, 336, 115, 76, 116, 78, 79,1530 80, 4 37, 438, 439, 440, 675, 915, 676, 81, 82,1531 4 44, 696, 854, 855, 339, 340, 699, 700, 701, 341,1532 3 42, 343, 344, 454, 171, 131, 132, 510, 313, 164,1533 6 28, 629, 630, 631, 632, 83, 117, 477, 478, 941,1534 479, 267, 483, 314, 85, 133, 134, 86, 1324, 1105,1535 110 6, 1107, 1108, 87, 88, 717, 89, 263, 90, 91,1536 180, 1032, 664, 393, 121, 92, 489, 490, 491, 181,1537 258, 183, 184, 185, 259, 95, 96, 97, 98, 99,1538 100, 101, 1 88, 189, 190, 191, 192, 823, 590, 591,1539 592, 593, 594, 595, 596, 597, 558, 559, 560, 561,1540 680, 102, 599, 600, 601, 602, 603, 604, 914, 682,1541 6 83, 684, 578, 347, 348, 349, 350, 315, 159, 104,1542 105, 351, 352, 694, 5551513 -1, 826, 468, 297, 45, 130, 131, 298, 299, 300, 1514 301, 773, 755, 1122, 1123, 302, 303, 304, 305, 306, 1515 307, 308, 309, 310, 311, 312, 313, 314, 315, 1032, 1516 518, 978, 317, 979, 546, 958, 1057, 1476, 1059, 1060, 1517 1061, 1062, 1477, 1063, 1064, 1412, 1413, 1381, 1382, 1383, 1518 1460, 1461, 1465, 1466, 1494, 1495, 1065, 1345, 1066, 1067, 1519 1284, 1285, 1286, 1448, 1068, 962, 963, 964, 1363, 1440, 1520 1441, 469, 470, 887, 888, 1040, 48, 49, 50, 51, 1521 52, 341, 155, 55, 56, 57, 58, 59, 343, 61, 1522 62, 259, 64, 65, 270, 345, 346, 68, 69, 70, 1523 71, 115, 73, 200, 348, 116, 76, 117, 78, 79, 1524 80, 449, 450, 451, 452, 690, 924, 691, 81, 82, 1525 456, 711, 868, 869, 351, 352, 714, 715, 716, 353, 1526 354, 355, 356, 466, 335, 132, 133, 522, 319, 166, 1527 644, 645, 646, 647, 648, 83, 118, 85, 489, 490, 1528 950, 491, 273, 495, 320, 86, 134, 135, 87, 1305, 1529 1103, 1104, 1105, 1106, 88, 89, 732, 90, 269, 91, 1530 92, 183, 1034, 678, 405, 122, 93, 501, 502, 503, 1531 184, 264, 186, 187, 188, 265, 96, 97, 98, 99, 1532 100, 101, 102, 191, 192, 193, 194, 195, 838, 605, 1533 606, 607, 608, 196, 610, 611, 612, 571, 572, 573, 1534 574, 695, 103, 614, 615, 616, 617, 618, 619, 923, 1535 697, 698, 699, 595, 359, 360, 361, 362, 321, 161, 1536 105, 106, 107, 364, 709, 568 1543 1537 }; 1544 1538 1545 1539 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1546 1540 STATE-NUM. */ 1547 #define YYPACT_NINF -12 821541 #define YYPACT_NINF -1269 1548 1542 static const yytype_int16 yypact[] = 1549 1543 { 1550 6907, 3842, -1282, 1, -1282, -1282, -1282, -1282, -1282, -1282, 1551 -1282, -10, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, 1552 -1282, -1282, -1282, -1282, -1282, 136, 136, 136, 1007, 747, 1553 138, 7125, 631, -1282, -1282, -1282, -1282, -1282, 165, -1282, 1554 -1282, -1282, 345, -1282, 8928, -1282, -1282, -1282, -1282, -1282, 1555 -1282, 159, 189, -1282, 806, -1282, -1282, -1282, -1282, 201, 1556 317, 311, 94, 7234, -1282, -1282, 8997, 1005, -1282, -1282, 1557 -1282, 897, 331, 6148, 801, 1179, 897, 1220, -1282, -1282, 1558 383, 664, -1282, 897, 1643, 235, -1282, 351, 370, -1282, 1559 -1282, -1282, -1282, 274, 189, 136, -1282, 136, -1282, -1282, 1560 -1282, -1282, 9564, 806, -1282, -1282, 806, -1282, 9623, 255, 1561 -1282, -1282, 546, 9682, -1282, 631, 631, 631, -1282, -1282, 1562 -1282, 136, -1282, -1282, -1282, 287, 318, 341, -1282, -1282, 1563 -1282, 406, -1282, -1282, -1282, -1282, -1282, 415, 439, -1282, 1564 447, 631, 8436, 2364, 389, 451, 472, 499, 502, 515, 1565 552, 6455, -1282, 581, -1282, 9065, -1282, -1282, -1282, -1282, 1566 588, -1282, 55, 4976, -1282, 475, 111, -1282, -1282, -1282, 1567 -1282, 611, 144, 234, 273, 136, 575, -1282, 317, 1977, 1568 676, -1282, 41, -1282, 136, 136, 189, -1282, -1282, 67, 1569 -1282, 136, 136, 2855, 615, 637, 631, 10424, -1282, -1282, 1570 641, -1282, 8928, -1282, -1282, 897, -1282, -1282, 189, -1282, 1571 806, 159, -1282, 7408, -1282, 631, 631, 631, 189, -1282, 1572 1007, -1282, 3141, -1282, -1282, 638, 631, -1282, 631, -1282, 1573 8436, 5322, 660, 747, 666, 631, -1282, 1007, 652, 667, 1574 -1282, 7125, 719, -1282, -1282, -1282, 8867, -1282, -1282, 4559, 1575 -1282, 676, 99, 9682, 10704, 546, 2855, -1282, 98, -1282, 1576 -1282, 9623, 806, 682, 11366, -1282, -1282, 63, -1282, 11101, 1577 3465, 4662, 3465, 10932, -1282, 694, -1282, -1282, -1282, -1282, 1578 10989, 10989, 719, 8118, -1282, 3465, 8542, -1282, -1282, -1282, 1579 -1282, -1282, -1282, 723, -1282, 885, 1800, 3465, -1282, 510, 1580 450, 590, 569, 640, 705, 735, 743, 780, 45, -1282, 1581 -1282, 758, 602, -1282, 26, -1282, -1282, 2364, -1282, -1282, 1582 528, 787, -1282, 574, 787, -1282, 8224, 794, -1282, -1282, 1583 1199, 870, 7864, 10424, 897, -1282, 897, 631, 631, -1282, 1584 -1282, -1282, -1282, -1282, -1282, 631, 9741, 806, -1282, -1282, 1585 9800, 1563, -1282, 6455, -1282, -1282, -1282, -1282, -1282, -1282, 1586 -1282, -1282, 4863, 3465, -1282, -1282, -1282, -1282, -1282, -1282, 1587 -1282, -1282, -1282, -1282, -1282, -1282, -1282, 546, -1282, 892, 1588 814, 824, 846, 914, 866, 868, 873, 1977, -1282, -1282, 1589 871, 159, -1282, -1282, -1282, 877, -1282, -1282, -1282, 8867, 1590 -1282, -1282, -1282, -1282, -1282, 2855, -1282, 8436, 8436, -1282, 1591 546, 11394, 8436, 7516, -1282, -1282, -1282, -1282, 8867, 99, 1592 -1282, -1282, 897, 189, -1282, -1282, 8867, -1282, 6031, -1282, 1593 -1282, 631, 631, 195, 9859, -1282, 1756, 9269, -1282, 301, 1594 305, 747, -1282, 5322, 881, 875, 747, 631, -1282, -1282, 1595 -1282, -1282, 10160, -1282, 491, 7784, -1282, 189, 898, -1282, 1596 546, 11176, 10761, -1282, -1282, -1282, -1282, 938, 2855, -1282, 1597 7929, 676, 7016, -1282, -1282, -1282, 1054, 512, 758, 747, 1598 11366, 464, 9623, -1282, 11366, -1282, -1282, -1282, -1282, 598, 1599 -1282, 933, -1282, -1282, 243, 8118, -1282, -1282, 8118, -1282, 1600 8330, 8118, -1282, -1282, -1282, -1282, -1282, 609, 942, 657, 1601 947, -1282, 6119, -1282, -1282, -1282, 71, -1282, -1282, 10818, 1602 -1282, 182, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, 1603 -1282, -1282, 10704, 10704, -1282, 3465, 3465, 3465, 3465, 3465, 1604 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 1605 3465, 3465, 3465, 5365, 10704, -1282, 602, 1011, -1282, -1282, 1606 136, 136, -1282, -1282, 8436, -1282, -1282, -1282, 877, 719, 1607 -1282, 877, 6119, -1282, 8648, 949, -1282, 9918, -1282, -1282, 1608 588, -1282, 9201, 958, -1282, 297, -1282, 2232, 123, 758, 1609 -1282, 136, 136, 758, 253, -1282, 136, 136, 877, -1282, 1610 -1282, 136, 136, -1282, 787, 9977, 806, 11307, 145, 279, 1611 9977, -1282, 5246, -1282, 758, -1282, 9741, -1282, 23, 964, 1612 7581, 7581, 806, 5886, 969, -1282, 337, 975, -1282, 943, 1613 4976, 555, -1282, 1045, 806, 7581, 719, 546, 719, 676, 1614 767, 787, -1282, -1282, 783, 787, -1282, -1282, -1282, 1013, 1615 -1282, 10875, 189, 10160, -1282, 633, 987, 644, 988, -1282, 1616 645, -1282, 993, 189, -1282, -1282, 8867, 189, 683, 323, 1617 328, 6567, 1152, 3465, 2456, -1282, -1282, 983, 24, 983, 1618 -1282, -1282, -1282, 136, 136, -1282, -1282, 747, -1282, 136, 1619 -1282, -1282, 9328, 747, 995, 3465, -1282, 881, 11307, -1282, 1620 -1282, 1009, -1282, -1282, -1282, 719, -1282, 11242, 3465, -1282, 1621 7581, 700, 7864, -1282, -1282, 588, 1014, 1020, 1054, 2940, 1622 -1282, -1282, 11366, -1282, -1282, 1012, -1282, -1282, 1027, -1282, 1623 1012, 1030, 11101, 10704, 1010, 1058, 1034, 1035, -1282, 1032, 1624 1040, -1282, 1041, 1043, 6231, -1282, 10704, -1282, 657, 1148, 1625 -1282, 10647, 10704, 1044, 1042, -1282, -1282, -1282, 659, -1282, 1626 10704, -1282, -1282, -1282, -1282, -1282, -1282, -1282, 510, 510, 1627 450, 450, 590, 590, 590, 590, 569, 569, 640, 705, 1628 735, 743, 780, 3465, 751, -1282, 10160, 1049, 1052, 1061, 1629 1011, -1282, -1282, -1282, -1282, -1282, 10160, 10875, 677, 1060, 1630 6679, 8754, 6455, -1282, -1282, 1066, 1067, -1282, 9564, -1282, 1631 -1282, 297, 10160, 979, 1070, 1071, 1073, 1076, 1077, 1078, 1632 1079, 4326, 2232, -1282, -1282, -1282, -1282, -1282, -1282, -1282, 1633 -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, 1634 877, -1282, -1282, -1282, 758, -1282, -1282, -1282, -1282, -1282, 1635 -1282, -1282, -1282, 9446, -1282, -1282, 1082, 1085, -1282, 159, 1636 1065, 1042, 5886, -1282, -1282, -1282, 4863, 1087, -1282, -1282, 1637 -1282, -1282, 747, 5718, 1168, -1282, -1282, -1282, -1282, 1074, 1638 159, -1282, -1282, 877, -1282, -1282, 877, 101, 3465, 1096, 1639 -1282, -1282, -1282, -1282, -1282, -1282, -1282, 6455, 989, -1282, 1640 189, -1282, 5322, -1282, -1282, -1282, -1282, 1097, 775, 1104, 1641 1105, 1108, -1282, 2456, -1282, -1282, -1282, -1282, -1282, -1282, 1642 -1282, 1756, -1282, 875, -1282, -1282, 1106, 1109, 1112, -1282, 1643 -1282, 1110, 1120, -1282, 700, 1751, -1282, 355, -1282, 2940, 1644 758, -1282, 1125, 11366, 10036, 8436, 1134, -1282, -1282, 1129, 1645 1140, -1282, 1111, 394, 1135, -1282, 1138, 1138, 6119, 10704, 1646 -1282, -1282, 1138, 1141, -1282, 1148, 4863, -1282, -1282, -1282, 1647 -1282, 1142, 2180, 10704, 1161, 719, 5886, -1282, 10818, -1282, 1648 719, -1282, 10704, -1282, 786, 787, -1282, -1282, -1282, -1282, 1649 5608, -1282, 8224, -1282, -1282, 6791, 1165, -1282, -1282, -1282, 1650 -1282, 1150, -1282, 793, 787, -1282, 809, 821, 787, -1282, 1651 631, 1167, 4797, -1282, -1282, -1282, 10160, 10160, -1282, 7994, 1652 7994, 7581, 1154, 1164, 1171, 1182, -1282, -1282, 1177, 378, 1653 242, 1042, -1282, 719, -1282, 4976, -1282, 10704, 333, -1282, 1654 6002, 1184, 1185, 10590, 1187, 1188, 28, 84, 8, 10704, 1655 1190, 189, 4028, -1282, 1183, 1169, -1282, -1282, -1282, 1189, 1656 -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, 747, 1657 1195, 10704, -1282, 10160, 10160, 136, 787, 1196, 1200, 1066, 1658 -1282, 9387, 6119, 10095, 839, 787, -1282, -1282, -1282, -1282, 1659 -1282, -1282, -1282, -1282, -1282, 1201, 1751, -1282, -1282, 1191, 1660 -1282, 1012, -1282, -1282, 546, 1202, -1282, -1282, -1282, 717, 1661 1204, -1282, 3465, 1192, 1058, 1058, 1203, -1282, 4247, 943, 1662 10704, 1210, 1142, 371, 143, 1207, -1282, 1203, -1282, 1218, 1663 1207, -1282, -1282, 1206, -1282, -1282, 877, 1221, -1282, 9741, 1664 -1282, 6343, 1222, 1223, 1224, -1282, 9505, 7581, 7581, -1282, 1665 1238, -1282, -1282, 877, -1282, -1282, -1282, -1282, 877, 10704, 1666 -1282, 10704, 3465, 1240, -1282, -1282, -1282, -1282, -1282, -1282, 1667 -1282, 1243, -1282, -1282, -1282, -1282, -1282, 3465, 3465, 1242, 1668 1248, 1207, -1282, -1282, 747, -1282, -1282, -1282, 7343, 10036, 1669 10704, 10704, 1297, 10704, -1282, -1282, 1229, -1282, 1231, 10704, 1670 1233, 1234, 10704, 876, -1282, 1235, 6119, 136, -1282, -1282, 1671 5718, 1257, 359, -1282, -1282, -1282, -1282, -1282, 877, -1282, 1672 9133, -1282, 1265, -1282, -1282, 877, 10396, -1282, 7929, 1245, 1673 -1282, -1282, 10036, 425, 426, -1282, 1263, 1269, -1282, 493, 1674 -1282, 10704, 1274, 1266, -1282, -1282, 1275, 191, 219, 719, 1675 1280, 1282, -1282, 1285, -1282, 10160, -1282, -1282, -1282, -1282, 1676 -1282, -1282, 1288, -1282, -1282, -1282, 10160, 10160, 10160, -1282, 1677 -1282, 1289, -1282, 1290, 1298, 1302, 542, -1282, 7648, 7756, 1678 -1282, -1282, 560, -1282, 1303, 1307, -1282, 8059, 724, 726, 1679 1305, 729, 5867, -1282, -1282, 430, -1282, -1282, 731, 1311, 1680 189, 1359, 1361, -1282, -1282, 1313, 10590, -1282, -1282, -1282, 1681 1318, 1319, 3716, 10160, -1282, -1282, -1282, 1316, -1282, -1282, 1682 -1282, -1282, -1282, -1282, 10036, -1282, 1299, 1349, 1142, 321, 1683 -1282, -1282, -1282, -1282, -1282, -1282, -1282, -1282, 1320, -1282, 1684 -1282, -1282, 1325, 1330, -1282, -1282, -1282, 1332, 1335, -1282, 1685 -1282, -1282, -1282, -1282, -1282, -1282, 1340, -1282, 1339, -1282, 1686 -1282, 10590, 88, 10704, 10590, -1282, 1345, 10704, -1282, 119, 1687 1360, -1282, -1282, 1333, 8895, -1282, -1282, -1282, -1282, -1282, 1688 806, 546, 1341, -1282, -1282, 741, 1348, 10704, 719, 719, 1689 1352, -1282, -1282, 1354, 1355, 1356, -1282, -1282, 7994, 1351, 1690 -1282, 1420, 3465, 1357, -1282, -1282, 10510, -1282, 742, -1282, 1691 1343, 10590, 1346, -1282, -1282, 1367, -1282, 1374, 1369, 10036, 1692 -1282, -1282, -1282, 1350, 1401, 1370, -1282, 1207, 1207, -1282, 1693 -1282, -1282, -1282, -1282, 10590, 250, -1282, 848, -1282, -1282, 1694 4642, -1282, -1282, 1353, 10704, -1282, 10704, 4642, 189, 9859, 1695 1376, -1282, -1282, 1373, -1282, -1282, 10704, 1379, 1380, -1282, 1696 3465, 3465, -1282, -1282, 941, 285, -1282, -1282, 1364, -1282, 1697 941, -1282, -1282, 1486, 719, 189, 9859, 1389, -1282, -1282, 1698 -1282, -1282, -1282, 10510, 1384, 941, 5533, 10704, 10430, 1386, 1699 941, 1394, 1486, 2735, -1282, -1282, -1282, -1282, -1282, 8436, 1700 -1282, 10275, -1282, 10510, -1282, -1282, 1375, 10194, -1282, -1282, 1701 10430, 189, 2735, 1396, 750, -1282, 10275, -1282, -1282, -1282, 1702 10194, -1282, -1282, 189, -1282, -1282, -1282, -1282, -1282 1544 5632, 9056, -1269, 25, -1269, -1269, -1269, -1269, -1269, -1269, 1545 -1269, 17, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1546 -1269, -1269, -1269, -1269, -1269, 113, 113, 113, 803, 791, 1547 56, 6940, 839, -1269, -1269, -1269, -1269, -1269, 59, -1269, 1548 -1269, -1269, 628, 90, 8532, -1269, -1269, -1269, -1269, -1269, 1549 -1269, 88, 155, -1269, 911, -1269, -1269, -1269, -1269, 140, 1550 1450, 287, 96, 4240, -1269, -1269, 8601, 1048, -1269, -1269, 1551 -1269, 1246, 329, 6299, 1010, 880, 1246, 1728, -1269, -1269, 1552 332, 328, -1269, 1246, 1769, -1269, 227, -1269, 369, 379, 1553 -1269, -1269, -1269, -1269, 256, 155, 113, -1269, 113, -1269, 1554 -1269, -1269, -1269, 9292, 911, -1269, -1269, 911, -1269, 9351, 1555 266, -1269, -1269, 1507, 9410, -1269, 839, 839, 839, -1269, 1556 -1269, -1269, 113, -1269, -1269, -1269, 291, 341, 348, -1269, 1557 -1269, -1269, 361, -1269, -1269, -1269, -1269, -1269, 391, 401, 1558 -1269, 469, 839, 8040, 1076, 326, 352, 486, 522, 542, 1559 576, 588, 8805, 6382, 474, 482, -1269, 8669, -1269, -1269, 1560 -1269, -1269, 571, -1269, 47, 5492, -1269, 596, 239, -1269, 1561 -1269, -1269, -1269, 597, 315, 324, 359, 113, 614, -1269, 1562 -1269, 1450, 2466, 659, -1269, 128, -1269, 113, 113, 155, 1563 -1269, -1269, 131, -1269, 113, 113, -1269, 3629, 647, 656, 1564 839, 10211, -1269, -1269, 665, 8532, -1269, -1269, 1246, -1269, 1565 -1269, -1269, 155, -1269, 911, 88, -1269, 7183, -1269, 839, 1566 839, 839, 155, -1269, 803, -1269, 6072, -1269, -1269, 652, 1567 839, -1269, 839, -1269, 59, 8040, 9115, 675, -1269, 791, 1568 684, 839, -1269, 803, 674, 681, -1269, 6940, 744, -1269, 1569 -1269, -1269, 8471, -1269, -1269, 5138, -1269, 659, 73, 9410, 1570 10491, 1507, 3629, -1269, 138, -1269, -1269, 9351, 911, 708, 1571 11267, -1269, -1269, 713, -1269, 11002, 10719, 10776, 10719, 10833, 1572 -1269, 737, -1269, -1269, -1269, -1269, 10890, 10890, 744, 4439, 1573 751, 10719, 8146, -1269, -1269, -1269, -1269, -1269, -1269, 766, 1574 -1269, 828, 1924, 10719, -1269, 465, 544, 763, 389, 621, 1575 755, 754, 759, 813, 65, -1269, -1269, 782, 510, -1269, 1576 307, -1269, -1269, 1076, -1269, -1269, 774, 807, -1269, 784, 1577 807, 815, 59, -1269, -1269, 821, 9292, -1269, 826, 7828, 1578 -1269, -1269, 715, 2130, 7574, 10211, 1246, -1269, 1246, 839, 1579 839, -1269, -1269, -1269, -1269, -1269, -1269, 839, 9469, 911, 1580 -1269, -1269, 9528, 1378, -1269, 9174, -1269, -1269, -1269, -1269, 1581 -1269, -1269, -1269, 831, 4897, 10719, -1269, -1269, -1269, -1269, 1582 -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1507, 1583 -1269, 728, 842, 859, 891, 817, 925, 926, 927, 2466, 1584 -1269, -1269, 865, 88, 869, -1269, -1269, 928, -1269, -1269, 1585 -1269, 8471, -1269, -1269, -1269, -1269, -1269, 3629, -1269, 8040, 1586 8040, -1269, 1507, 11295, 911, 7639, -1269, -1269, -1269, -1269, 1587 8471, 73, -1269, -1269, 1246, 155, -1269, -1269, 8471, -1269, 1588 6187, -1269, -1269, 839, 839, 339, 9587, 909, 1932, 2385, 1589 -1269, 377, 414, 791, -1269, 9115, 924, 912, 791, 839, 1590 -1269, -1269, -1269, -1269, 9947, -1269, 512, 7494, -1269, 155, 1591 930, -1269, 1507, 11077, 10548, -1269, -1269, -1269, -1269, 824, 1592 3629, -1269, 7704, 659, 6831, -1269, -1269, -1269, 746, 592, 1593 782, 791, 11267, 530, 9351, -1269, 11267, -1269, -1269, -1269, 1594 -1269, 613, -1269, 932, -1269, -1269, 12, 4439, -1269, -1269, 1595 4439, -1269, 7934, 4439, -1269, -1269, -1269, 933, -1269, 625, 1596 936, 545, 939, -1269, 8873, 5389, -1269, -1269, -1269, 67, 1597 -1269, -1269, 10605, -1269, 249, -1269, -1269, -1269, -1269, -1269, 1598 -1269, -1269, -1269, -1269, -1269, 10491, 10491, -1269, 10719, 10719, 1599 10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719, 10719, 1600 10719, 10719, 10719, 10719, 10719, 10719, 4719, 10491, -1269, 510, 1601 1578, -1269, -1269, 113, 113, -1269, -1269, 8040, -1269, -1269, 1602 928, 744, -1269, 928, 10662, -1269, -1269, -1269, 4020, 5389, 1603 938, 8252, 941, -1269, 9646, -1269, -1269, 571, -1269, 942, 1604 1657, 947, 1802, 198, 782, -1269, 113, 113, 782, 245, 1605 -1269, 113, 113, 928, -1269, -1269, 113, 113, -1269, 807, 1606 9705, 911, 11208, 419, 426, 9705, -1269, 9882, -1269, 782, 1607 -1269, 9469, -1269, 144, 7291, 7291, 7291, 911, -1269, 10434, 1608 934, 831, 353, 949, -1269, 951, 5492, 583, -1269, 1032, 1609 911, 7291, 744, 1507, 744, 659, 795, 807, -1269, -1269, 1610 800, 807, -1269, -1269, -1269, 986, -1269, 807, 155, 9947, 1611 -1269, 635, 960, 638, 961, -1269, 962, 155, -1269, -1269, 1612 8471, 155, 958, 436, 443, 9764, 6494, 2437, 10719, 2673, 1613 -1269, -1269, 956, 32, 956, -1269, -1269, -1269, 113, 113, 1614 -1269, -1269, 791, -1269, 113, -1269, -1269, 2798, 791, 968, 1615 10719, -1269, 924, 11208, -1269, -1269, 967, -1269, -1269, -1269, 1616 744, -1269, 11143, 10719, -1269, 7291, 584, 7574, -1269, -1269, 1617 571, 969, 972, 746, 2082, -1269, -1269, 11267, -1269, -1269, 1618 965, -1269, -1269, 984, -1269, 965, 989, 11002, 10491, 944, 1619 1017, 991, 992, 751, 987, 996, -1269, 997, 1000, 2971, 1620 6158, -1269, 10491, -1269, 545, 1808, -1269, 5683, 10491, 998, 1621 -1269, -1269, 831, 639, -1269, 10491, -1269, -1269, -1269, -1269, 1622 -1269, -1269, -1269, 465, 465, 544, 544, 763, 763, 763, 1623 763, 389, 389, 621, 755, 754, 759, 813, 10719, 616, 1624 -1269, 9947, 1005, 1006, 1007, 1578, -1269, -1269, -1269, -1269, 1625 -1269, 9947, 643, 10719, 7291, -1269, 9469, -1269, 6606, 8358, 1626 9233, 6382, -1269, -1269, -1269, 1657, 9947, 846, 1012, 1013, 1627 1015, 1019, 1020, 1023, 1024, -1269, 3182, 1802, -1269, -1269, 1628 -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1629 -1269, -1269, -1269, -1269, -1269, 928, -1269, -1269, -1269, 782, 1630 -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1025, -1269, 1631 1026, 1029, -1269, -1269, 88, 998, 10434, -1269, -1269, -1269, 1632 4897, 1028, -1269, -1269, -1269, -1269, 791, 5798, 1104, -1269, 1633 -1269, -1269, -1269, 1027, 88, -1269, -1269, 928, -1269, -1269, 1634 928, 142, 928, -1269, -1269, -1269, -1269, -1269, -1269, 8737, 1635 -1269, 155, -1269, 9115, -1269, -1269, 1034, 761, 1031, 1038, 1636 1041, -1269, 2673, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1637 1932, -1269, 912, -1269, -1269, 1044, 1046, 1047, -1269, -1269, 1638 1042, 1050, -1269, 584, 1953, -1269, 534, -1269, 2082, 782, 1639 -1269, 1054, 11267, 9823, 8040, 1055, -1269, -1269, 1051, 1056, 1640 -1269, 1059, 169, 1057, -1269, 1058, 1058, 5389, 10491, -1269, 1641 -1269, 1058, -1269, 1808, 4897, -1269, -1269, -1269, -1269, 1060, 1642 10491, 1062, 744, 10434, -1269, 10605, -1269, 744, -1269, 10491, 1643 -1269, 840, 807, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1644 831, 7828, -1269, -1269, 6718, 1067, -1269, 864, 807, -1269, 1645 871, 882, 807, -1269, 839, 3327, -1269, -1269, -1269, 9947, 1646 9947, -1269, 7639, 7639, -1269, 1063, 1064, 1068, 1071, -1269, 1647 1074, 541, 48, 998, -1269, 744, -1269, 5492, -1269, 10491, 1648 455, -1269, 6043, 1080, 1081, 10377, 1083, 1084, 55, 173, 1649 23, 10491, 1085, 155, 4287, 1089, 1086, 1065, -1269, -1269, 1650 -1269, 1087, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1651 -1269, 791, 1094, 10491, -1269, 9947, 9947, 113, 1095, -1269, 1652 8997, 8935, 889, 807, -1269, -1269, -1269, -1269, -1269, -1269, 1653 -1269, -1269, -1269, 1098, 1953, -1269, -1269, 1082, -1269, 965, 1654 -1269, -1269, 1507, 1097, -1269, -1269, -1269, 650, 1096, -1269, 1655 10719, 1077, 1017, 1017, 1102, -1269, 951, 10491, 1111, 1060, 1656 559, 61, 1108, -1269, 1102, -1269, 1113, 1108, -1269, -1269, 1657 1118, -1269, -1269, 928, 1120, 1121, 6270, 1123, 1124, 1125, 1658 -1269, -1269, 1122, -1269, -1269, 928, -1269, -1269, -1269, -1269, 1659 928, 10491, 10491, 10719, 1127, -1269, -1269, -1269, -1269, -1269, 1660 -1269, -1269, -1269, -1269, -1269, -1269, -1269, 10719, 10719, 1128, 1661 1133, 1108, -1269, -1269, 791, -1269, -1269, -1269, 7118, 9823, 1662 10491, 10491, 1180, 10491, -1269, -1269, 1114, -1269, 1117, 10491, 1663 1135, 1137, 10491, 901, -1269, 1138, 8499, 113, -1269, -1269, 1664 5798, 1140, 467, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1665 -1269, -1269, 928, 10183, -1269, 7704, 1147, -1269, -1269, 9823, 1666 476, 481, -1269, 1157, 1165, -1269, 201, -1269, 10491, 1166, 1667 1167, -1269, -1269, 1168, 257, 313, 744, 1169, 1171, -1269, 1668 1172, -1269, 9947, -1269, -1269, -1269, -1269, -1269, 1174, -1269, 1669 9947, 9947, 9947, -1269, -1269, 1175, -1269, 1179, 1182, 1183, 1670 573, 7358, 7466, -1269, -1269, 609, -1269, 1184, 1185, -1269, 1671 7769, 651, 662, 1141, 664, 5921, -1269, -1269, 508, -1269, 1672 -1269, 687, 1189, 155, 1237, 1240, -1269, -1269, 10377, -1269, 1673 -1269, -1269, 1193, 1197, 9947, -1269, -1269, -1269, 1196, -1269, 1674 -1269, -1269, -1269, -1269, -1269, 9823, -1269, 1190, 1231, 1060, 1675 253, -1269, -1269, -1269, -1269, -1269, -1269, -1269, -1269, 1204, 1676 -1269, -1269, -1269, -1269, -1269, -1269, 1211, 1215, -1269, -1269, 1677 -1269, -1269, -1269, -1269, -1269, 1219, -1269, 1218, -1269, -1269, 1678 10377, 147, 10491, 10377, -1269, 1225, 10491, -1269, 264, 1239, 1679 -1269, -1269, 1229, -1269, -1269, -1269, -1269, -1269, 911, 1507, 1680 1233, -1269, -1269, 704, 1228, 10491, 744, 744, 1248, 1249, 1681 1250, 1251, -1269, -1269, 7639, 1256, -1269, 1301, 10719, 1259, 1682 -1269, -1269, 10297, -1269, 716, -1269, 1224, 10377, 1235, -1269, 1683 -1269, 1268, -1269, 1282, 1270, 9823, -1269, -1269, -1269, 1252, 1684 1302, 1273, -1269, 1108, 1108, -1269, -1269, -1269, -1269, -1269, 1685 10377, 54, -1269, 897, -1269, -1269, 7049, -1269, -1269, 1255, 1686 10491, -1269, 10491, 7049, 155, 9587, 1283, -1269, -1269, 1280, 1687 -1269, -1269, 10491, 1284, 1285, -1269, 10719, 10719, -1269, -1269, 1688 966, 99, -1269, -1269, 1266, -1269, 966, -1269, -1269, 2561, 1689 744, 155, 9587, 1290, -1269, -1269, -1269, -1269, -1269, 10297, 1690 1286, 966, 3510, 10491, 10217, 1287, 966, 1294, 2561, 3047, 1691 -1269, -1269, -1269, -1269, -1269, 8040, -1269, 10062, -1269, 10297, 1692 -1269, -1269, 1274, 9981, -1269, -1269, 10217, 155, 3047, 1297, 1693 717, -1269, 10062, -1269, -1269, -1269, 9981, -1269, -1269, 155, 1694 -1269, -1269, -1269, -1269, -1269 1703 1695 }; 1704 1696 … … 1706 1698 static const yytype_int16 yypgoto[] = 1707 1699 { 1708 -12 82, 3627, 2947, -1282, 196, -1282, -1, 2, 856, -1282,1709 -12 82, -1282, -501, -954, -132, 4826, -1282, 550, 462, 467,1710 565, 480, 962, 971, 961, 967, 974, -1282, 504, -258,1711 4 453, 393, -677, -933, -1282, 413, -701, 218, -1282, 102,1712 -12 82, 320, -898, -1282, -1282, 66, -1282, -1281, -919, 162,1713 -12 82, -1282, -1282, -1282, 13, -1141, -1282, -1282, -1282, -1282,1714 -12 82, -1282, 227, 64, 51, 431, -1282, 424, -1282, 97,1715 -12 82, -349, -1282, -1282, -1282, 477, -807, -1282, -1282, 6,1716 - 868, 230, 2325, -1282, -1282, -1282, -59, -1282, 481, 454,1717 -1 9, 1139, 3236, -1282, -1282, 158, 220, 716, -245, 1368,1718 -12 82, 1437, -1282, -1282, 109, 1702, -1282, 2029, 506, -1282,1719 -12 82, -372, -403, 1113, 1114, 639, 879, 266, -1282, -1282,1720 1118, 636, -572, -1282, -366, -43, 83, -1282, -1282, -918,1721 -966, 649, 1279, 997, 363, -1282, 1310, 185, -290, -186,1722 -14 2, 601, 702, -1282, 952, -1282, 2189, -442, 847, -1282,1723 -12 82, 632, -1282, -222, -1282, -94, -1282, -1282, -1282, -1269,1724 342, -1282, -1282, -1282, 1124, -1282, 29, -1282, -1282, -830,1725 -98, -1233, -171, 2043, -1282, 2998, -1282, 853, -1282, -164,1726 122, -172, -168, -167, 4, -41, -39, -37, 1629, 33,1727 68, 81, -150, -161, -159, -158, -155, -301, -486, -482,1728 - 474, -542, -1282, -470, -1282, -1282, -499, 1022, 1024, 1036,1729 1804, 4208, -559, -544, -538, -533, -397, -1282, -377, -641,1730 -6 36, -635, -566, -299, -293, -1282, -1282, 562, 89, -80,1731 -1282, 85, 134, -613, -3801700 -1269, 3902, 2604, -1269, 354, -1269, -1, 2, 742, -1269, 1701 -1269, -1269, -489, -961, -282, 4749, -1269, 570, 459, 468, 1702 357, 464, 844, 848, 849, 847, 850, -1269, -229, -231, 1703 4555, 296, -694, -919, -1269, 166, -721, 143, -1269, 86, 1704 -1269, 216, -1143, -1269, -1269, -17, -1269, -1146, -1036, 71, 1705 -1269, -1269, -1269, -1269, -75, -1160, -1269, -1269, -1269, -1269, 1706 -1269, -1269, 141, -26, 21, 316, -1269, 320, -1269, 13, 1707 -1269, -294, -1269, -1269, -1269, 364, -829, -1269, -1269, 11, 1708 -963, 125, 1704, -1269, -1269, -1269, -72, -1269, 82, 49, 1709 -18, 1039, 3754, -1269, -1269, 81, 133, 536, -256, 1629, 1710 -1269, 1307, -1269, -1269, 224, 1625, -1269, 1893, 1163, -1269, 1711 -1269, -426, -421, 993, 994, 507, 747, 306, -1269, -1269, 1712 980, 516, -433, -1269, -199, 75, 591, -1269, -1269, -894, 1713 -1000, 6, 910, 861, 176, -1269, 721, 158, -317, -210, 1714 -149, 478, 577, -1269, 809, -1269, 2211, 740, -443, 722, 1715 -1269, -1269, 511, -1269, -232, -1269, -46, -1269, -1269, -1269, 1716 -1268, 243, -1269, -1269, -1269, 981, -1269, -7, -1269, -1269, 1717 -827, -35, -1227, -161, 1978, -1269, 3527, -1269, 719, -1269, 1718 -157, 41, -172, -170, -163, 4, -41, -36, -34, 777, 1719 24, 33, 45, -143, -151, -150, -145, -139, -288, -529, 1720 -505, -476, -564, -323, -560, -1269, -1269, -516, 899, 906, 1721 915, 1643, 4256, -522, -566, -549, -514, -546, -1269, -372, 1722 -680, -674, -672, -603, -208, -186, -1269, -1269, 64, 293, 1723 -93, -1269, 3162, 208, -613, -396 1732 1724 }; 1733 1725 … … 1738 1730 static const yytype_int16 yytable[] = 1739 1731 { 1740 109, 145, 46, 146, 94, 147, 380, 110, 433, 391, 1741 381, 382, 494, 140, 257, 388, 867, 383, 759, 384, 1742 385, 365, 250, 386, 486, 420, 1130, 579, 825, 389, 1743 589, 909, 950, 46, 686, 94, 910, 911, 725, 842, 1744 1122, 818, 730, 1068, 46, 824, 46, 819, 156, 858, 1745 652, 47, 820, 613, 1170, 1382, 46, 617, 791, 681, 1746 139, 30, 46, 876, 186, 46, 1067, 208, 46, 663, 1747 218, 692, 211, 107, 968, 148, 118, 667, 30, 1181, 1748 463, 465, 47, 380, 926, 106, 106, 381, 382, 103, 1749 103, 119, 388, 107, 383, 406, 384, 385, 723, 814, 1750 386, 1168, 1169, 815, 30, 46, 389, 909, 46, 74, 1751 149, 816, 910, 911, 46, 817, 106, 656, 658, 1199, 1752 103, 194, 93, 150, 464, 1442, 427, 392, 563, 160, 1753 1402, 1403, 750, 552, 564, 30, 107, 145, 933, 146, 1754 74, 147, 242, 448, 392, 46, 554, 156, 210, 107, 1755 1453, 106, 1195, 93, 167, 103, 390, 46, 66, 355, 1756 30, 1402, 1403, 359, 144, 195, 93, 553, 400, 1438, 1757 392, 714, 1187, 30, 755, 720, 515, 409, 161, 360, 1758 46, 46, 182, 156, 481, 93, 482, 459, 93, 66, 1759 660, 828, 729, 160, 1404, 46, 243, 835, 262, 469, 1760 464, 392, 1442, 1075, 46, 650, 156, 1442, 1197, 829, 1761 742, 148, 46, 832, 145, 46, 146, 423, 147, 368, 1762 67, 1247, 1442, 647, 826, 1413, 586, 160, 1438, 1442, 1763 53, 111, 814, 1186, 849, 369, 815, 648, 852, 138, 1764 357, 453, 161, 46, 816, 94, 149, 107, 1248, 845, 1765 170, 67, 371, 846, 856, 856, 107, 46, 46, 150, 1766 156, 53, 1170, 1015, 46, 93, 142, 818, 372, 856, 1767 451, 46, 677, 819, 795, 579, 316, 93, 820, 639, 1768 1014, 504, 163, 205, 107, 761, 679, 160, 398, 686, 1769 30, 987, 47, 203, 1332, 165, 212, 668, 210, 170, 1770 379, 182, 170, 564, 647, 1132, 579, 654, 1328, 175, 1771 417, 579, 659, 1170, 193, 160, 442, 900, 648, 46, 1772 425, 355, 1334, 851, 93, 814, 106, -218, -218, 815, 1773 103, 1177, 46, 46, -275, 93, 416, 816, 357, 1460, 1774 459, 1001, 373, 237, 856, 734, 160, 1508, 1201, 46, 1775 74, 240, 735, 46, 833, 74, 586, 1178, 374, 459, 1776 1168, 1169, 36, 93, 316, 1178, 39, 459, 442, 1521, 1777 -498, 160, 714, 40, 41, 242, 825, 467, 254, 46, 1778 1068, 375, 36, 847, 177, 508, 39, 848, -10, 46, 1779 818, 355, -218, 40, 41, 416, 819, 376, 811, 66, 1780 586, 820, 107, 1067, 135, 136, 170, 46, 587, 687, 1781 36, 580, 46, 689, 39, 912, 828, 606, 178, -425, 1782 161, 40, 41, -109, 1187, 688, 842, 713, 179, 690, 1783 1387, 687, 1170, 422, 1427, 1428, 689, 925, 46, 93, 1784 863, 1184, -426, 421, -109, 714, 42, 904, 107, 1171, 1785 135, 136, 905, 588, 109, 112, 143, 1185, 170, 847, 1786 581, 67, 46, 1097, 1018, 170, 251, 1184, 880, 252, 1787 46, 53, 355, -109, 46, -109, 94, 1128, 46, -109, 1788 1433, 60, -102, 1309, 230, 1367, -102, 486, 868, 231, 1789 242, 318, 160, 160, -109, -109, 1113, 160, 154, 739, 1790 380, 1101, 809, 1114, 381, 382, 1243, 266, 74, 182, 1791 388, 383, 60, 384, 385, 756, 268, 386, 739, 442, 1792 762, 1013, 442, 47, 389, 665, 170, 74, 442, 107, 1793 1081, 135, 136, 1319, 1321, 74, 1087, 1015, 746, 878, 1794 269, 316, 316, 170, 681, 1483, 316, 170, 270, 1320, 1795 1322, 1488, 205, 319, 1368, 715, 248, 106, 678, 706, 1796 1098, 103, 154, 538, 539, 726, 1503, 160, 453, 207, 1797 727, 1510, 1187, 419, 320, 1263, 1264, 857, 857, 1187, 1798 442, 74, 366, 442, 46, 160, 442, 46, 1087, 46, 1799 1507, 1365, 857, 704, 93, 1326, 312, 508, 588, 705, 1800 508, 321, 1327, 508, 322, 1516, 158, 459, 46, 1155, 1801 1157, 36, 1520, 177, 721, 39, 316, 323, 1187, 207, 1802 722, 535, 40, 41, 46, 471, 536, 537, 713, 565, 1803 66, 392, 488, 1466, 316, 877, 46, 879, 1013, 46, 1804 1466, 8, 9, 10, 11, 12, 1353, 255, 930, 160, 1805 1354, 410, 542, 543, 324, 856, 414, 256, 869, 580, 1806 626, 207, 804, -450, 870, -450, 1412, 857, 30, -450, 1807 158, 540, 541, 1026, 46, 569, 46, 392, 686, 1504, 1808 736, 205, 354, 737, 312, 436, 743, 544, 545, 358, 1809 580, 33, 67, 579, 1072, 580, 507, 1140, 316, 378, 1810 731, 713, 53, 556, 929, 392, 732, 813, 581, 588, 1811 614, 745, 370, 557, 618, 414, 407, 746, 476, 207, 1812 46, 46, 60, 1109, 1034, 546, 547, 460, 1000, 107, 1813 801, 135, 136, 390, 46, 892, 891, 509, 408, 843, 1814 154, 746, 412, 1468, 581, 1469, 894, 896, 107, 647, 1815 135, 136, 746, 564, 890, 207, 715, 677, 748, 207, 1816 392, 977, 430, 648, 415, 899, 443, 978, 749, 901, 1817 233, 679, 446, 809, 493, 74, 449, 442, 806, 989, 1818 576, 856, 856, 221, 107, 705, 1505, 222, 472, 902, 1819 226, 450, 228, 441, 908, 500, 678, 936, 515, 235, 1820 611, 934, 170, 586, 615, 2, 198, 4, 5, 6, 1821 7, 935, 107, 46, 135, 136, 74, 548, 170, 1235, 1822 655, 657, 497, 415, 46, 564, 1361, 422, 1362, 715, 1823 170, 1364, 746, 1369, 746, 513, 514, 746, 207, 746, 1824 813, 588, 714, 1423, 1443, 511, 1258, 534, 158, 1424, 1825 746, 909, 1524, 1140, 1237, 549, 910, 911, 564, 746, 1826 982, 312, 312, 34, 550, 35, 312, 551, 881, 983, 1827 392, 36, 1054, 168, 169, 39, 514, 318, 392, 988, 1828 460, 554, 40, 41, 884, 606, 392, 1134, 436, 392, 1829 567, 436, 809, 1182, 1151, 1002, 392, 436, 582, 460, 1830 46, 2, 198, 4, 5, 6, 7, 460, 507, 112, 1831 1154, 507, 586, 514, 507, 46, 640, 207, 205, 1280, 1832 1281, 221, 1156, 46, 586, -3, 641, 1140, 170, 714, 1833 1299, 1300, 205, 813, 476, 36, 312, 584, 476, 39, 1834 1223, 46, 392, 916, 588, 916, 40, 41, 642, 509, 1835 1102, 711, 509, 60, 312, 509, 1461, 1462, 106, 34, 1836 801, 35, 103, 516, 517, 518, 784, 207, 644, 844, 1837 645, 585, 649, 586, 1124, 646, 1167, 739, 857, 1124, 1838 247, 587, 74, 1402, 1403, 859, 519, 442, 520, 693, 1839 521, 1159, 46, 242, 318, 392, 441, 875, 695, 441, 1840 768, 769, 1080, 809, -222, 441, 1230, 770, 771, 2, 1841 198, 4, 5, 6, 7, 400, 643, 392, 312, 1140, 1842 205, 8, 9, 10, 11, 12, 776, 777, 576, 106, 1843 160, 66, 1124, 103, 733, 678, 807, 220, 809, 469, 1844 318, 392, 1054, 678, 747, 1196, 1198, 1200, 30, 751, 1845 221, 866, 226, 803, 36, 801, 1079, 511, 39, 841, 1846 511, 588, 810, 511, 576, 40, 41, 34, 853, 35, 1847 850, 33, 125, 872, 126, 127, 128, 580, -12, 316, 1848 826, 318, 586, 207, 865, 765, 766, 767, 279, 893, 1849 895, 1056, 673, 67, 806, 488, 1495, 898, 713, 1165, 1850 1166, 702, 924, 53, 857, 857, 46, 772, 773, 774, 1851 775, -399, 556, 207, 392, 1333, 1335, 1336, 207, 36, 1852 722, -502, 557, 39, 514, 106, 843, 938, 945, 103, 1853 40, 41, 947, 952, 951, 1087, 956, 957, 221, 63, 1854 113, 959, 960, 961, 1435, 962, 436, 460, 972, 74, 1855 973, 984, 711, 1203, 985, 718, 1215, 1216, 8, 9, 1856 10, 11, 12, 986, 990, 719, 442, 997, 998, 1027, 1857 63, 141, 1003, 1004, 1103, 1005, 476, 493, 1006, 1007, 1858 1008, 1009, -276, 155, -387, 30, 806, -386, 460, 8, 1859 9, 10, 11, 12, 1036, 211, 1069, 1071, 1189, 493, 1860 1076, 1083, 1481, 1435, 207, 213, 1084, 1085, 33, 1054, 1861 1086, 1091, 1112, 1090, 1093, 422, 30, 36, 207, 177, 1862 1092, 39, 46, -277, 1094, 711, 715, 1100, 40, 41, 1863 8, 9, 10, 11, 12, 1356, 1110, 746, 1102, 33, 1864 801, 249, 1111, 1115, 966, 1118, 1124, 1124, 1124, 748, 1865 1120, 392, 1149, 672, 441, 392, 1172, 30, 514, 749, 1866 67, 1192, 999, 674, 36, 1123, 168, 169, 39, 1146, 1867 53, 1160, 1173, 210, 106, 40, 41, 1514, 103, 1174, 1868 33, 1176, 317, 1421, 1175, 1190, 1191, 981, 1193, 1194, 1869 332, 1202, 1207, 1208, 809, 106, -3, 1213, 1219, 103, 1870 354, 967, 702, 1227, 1220, 1054, 207, 807, 1254, 1231, 1871 1236, 1241, 481, 715, 1245, 1249, 1238, 106, 387, 74, 1872 380, 103, 1252, 1256, 381, 382, 1259, 1260, 1261, 388, 1873 1102, 383, 405, 384, 385, 141, 411, 386, 1340, 137, 1874 1265, 155, 1290, 389, 1272, 1277, 1282, 1317, 647, 1344, 1875 1345, 1346, 1283, 1293, 60, 1294, 436, 1296, 1297, 1304, 1876 1054, 428, 648, 1054, 1308, 431, 1029, 432, 66, 1312, 1877 1323, 1325, 210, 1330, 447, 1494, 46, 106, 1329, 1331, 1878 63, 103, 46, 46, 1337, 461, 1338, 1124, 1124, 1339, 1879 232, 234, 1341, 1349, 1350, 468, 1378, 476, 1104, 312, 1880 1351, 74, 1371, 411, 1352, 1054, 1363, 1359, 205, 106, 1881 1054, 1360, 1370, 103, 1300, 1373, 806, 1374, 203, 212, 1882 1376, 1377, 1379, 1383, 1384, 1102, 807, 1391, 1056, 1387, 1883 67, 206, 1392, 1054, 1417, 702, 1396, 72, 514, 1397, 1884 53, 224, -388, 1400, 1138, 702, 841, 1411, 1422, 1415, 1885 1189, 145, 1425, 146, 1429, 147, 1430, 1431, 1432, 1354, 1886 1434, 702, 1103, 1450, 441, 577, 1439, 1444, 72, 1448, 1887 1446, 1452, 607, 1496, 1454, 46, 1455, 1467, 1475, 1456, 1888 1477, 206, 1054, 1479, 1480, 612, 1131, 1054, 1487, 612, 1889 1499, 1502, 332, 1509, 46, 46, 1511, 156, 1523, 1517, 1890 1054, 207, 1054, 214, 106, 887, 1054, 422, 103, 1054, 1891 778, 780, 67, 1244, 46, 1054, 355, 421, 781, 1054, 1892 779, 460, 53, 206, 1375, 106, 782, 1482, 1372, 103, 1893 1307, 1414, 106, 1525, 442, 436, 103, 807, 461, 1240, 1894 1498, 1029, 514, 445, 1470, 1239, 1212, 669, 670, 74, 1895 1471, 36, 332, 177, 1103, 39, 74, 461, 917, 1089, 1896 1088, 442, 40, 41, 697, 461, 798, 1119, 1035, 940, 1897 806, 106, 807, 1099, 1318, 103, 170, 1497, 787, 1401, 1898 788, 206, 1409, 871, 160, 948, 0, 1492, 335, 392, 1899 497, 698, 789, 1257, 411, 74, 716, 1493, 1189, 0, 1900 1138, 0, 0, 1288, 1289, 1189, 1291, 0, 0, 712, 1901 0, 63, 1295, 1522, 467, 1298, 493, 206, 0, 411, 1902 0, 206, 711, 411, 1441, 1527, 0, 0, 36, 1445, 1903 168, 169, 39, 316, 0, 0, 0, 487, 0, 40, 1904 41, 0, 0, 441, 1189, 0, -278, 0, 0, 1103, 1905 0, 332, 1459, 8, 9, 10, 11, 12, 0, 429, 1906 67, 0, 0, 0, 358, 702, 702, 67, 0, 0, 1907 53, 0, 627, 157, 1138, 0, 0, 53, 72, 0, 1908 30, 493, 493, 72, 0, 0, 1104, 0, 0, 187, 1909 0, 60, 209, 0, 207, 219, 790, 0, 0, 0, 1910 206, 0, 75, 33, 0, 0, 67, 0, 0, 711, 1911 0, 800, 514, 577, 0, 0, 53, 0, 0, 1515, 1912 0, 249, 702, 702, 0, 1515, 822, 0, 0, 0, 1913 0, 703, 0, 75, 1515, 0, 0, 0, 1515, 0, 1914 0, 0, 0, 1420, 577, 0, 0, 0, 0, 577, 1915 0, 691, 0, 0, 0, 612, 445, 0, 0, 332, 1916 332, 8, 9, 10, 11, 12, 1138, 0, 215, 0, 1917 214, 0, 157, 460, 332, 0, 1408, 0, 1104, 206, 1918 0, 0, 0, 0, 356, 0, 0, 0, 30, 724, 1919 335, 728, 698, 207, 0, 0, 206, 0, 0, 0, 1920 0, 0, 0, 0, 0, 461, 0, 0, 157, 0, 1921 712, 33, 0, 913, 0, 0, 0, 0, 0, 0, 1922 0, 36, 0, 177, 0, 39, 0, 0, 807, 206, 1923 0, 157, 40, 41, 0, 0, 72, 0, 0, 0, 1924 0, 0, 424, 0, 0, 0, 461, 0, 0, 332, 1925 335, 0, 934, 337, 586, 72, 0, 672, 939, 392, 1926 0, 411, 935, 72, 0, 673, 0, 674, 0, 0, 1927 0, 0, 0, 1104, 0, 1315, 0, 0, 0, 0, 1928 0, 0, 0, 712, 0, 0, 0, 0, 965, 335, 1929 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 1930 0, 0, 0, 1473, 702, 0, 493, 335, 0, 72, 1931 0, 0, 0, 0, 0, 702, 702, 702, 0, 0, 1932 0, 460, 0, 532, 0, 698, 0, 0, 460, 0, 1933 1473, 0, 703, 0, 0, 698, 864, 0, 0, 0, 1934 995, 800, 0, 75, 0, 206, 356, 249, 75, 335, 1935 0, 698, 0, 312, 0, 0, 0, 0, 0, 0, 1936 1012, 0, 702, 0, 493, 493, 0, 460, 0, 0, 1937 0, 0, 0, 0, 0, 206, 0, 0, 903, 0, 1938 206, 0, 0, 0, 0, 0, 394, 8, 9, 10, 1939 11, 12, 249, 402, 0, 0, 0, 920, 0, 0, 1940 0, 0, 0, 923, 0, 0, 0, 0, 0, 335, 1941 0, 1474, 63, 0, 30, 0, 356, 0, 0, 0, 1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 1943 0, 0, 0, 0, 0, 215, 800, 33, 1474, 0, 1944 0, 0, 36, 0, 177, 0, 39, 0, 0, 0, 1945 0, 0, 0, 40, 41, 337, 0, 335, 335, 0, 1946 77, 0, 394, 0, 0, 703, 206, 0, 120, 123, 1947 124, 0, 335, 0, 1096, 703, 0, 0, 178, 0, 1948 206, 0, 411, 113, 0, 0, 0, 0, 179, 0, 1949 335, 703, 0, 0, 0, 216, 0, 332, 0, 0, 1950 487, 75, 0, 72, 0, 0, 0, 0, 335, 0, 1951 0, 249, 0, 0, 0, 337, 562, 0, 0, 0, 1952 75, 0, 0, 0, 566, 0, 0, 570, 75, 612, 1953 0, 577, 0, 0, 0, 0, 0, 0, 244, 0, 1954 245, 0, 0, 0, 72, 0, 0, 335, 0, 141, 1955 0, 0, 0, 0, 337, 698, 698, 0, 332, 332, 1956 332, 0, 0, 0, 0, 0, 0, 0, 206, 0, 1957 0, 0, 337, 0, 75, 0, 627, 0, 0, 1188, 1958 338, 335, 1039, 394, 0, 0, 0, 402, 0, 84, 1732 110, 146, 46, 445, 95, 432, 147, 918, 148, 392, 1733 256, 393, 111, 919, 141, 920, 377, 857, 394, 498, 1734 609, 47, 403, 1161, 140, 400, 1127, 959, 701, 707, 1735 395, 396, 881, 46, 832, 95, 397, 1360, 839, 401, 1736 831, 94, 398, 774, 46, 506, 46, 505, 158, 740, 1737 113, 833, 47, 745, 806, 604, 46, 843, 1069, 337, 1738 1070, 1119, 46, 850, 189, 46, 149, 212, 46, 30, 1739 222, 828, 94, 976, 1171, 150, 696, 215, 263, 1177, 1740 840, 66, 60, 145, 918, 94, 834, 151, 108, 392, 1741 919, 393, 920, 156, 738, 829, 475, 477, 394, 935, 1742 119, 185, 672, 674, 94, 400, 46, 94, 160, 46, 1743 395, 396, 66, 60, 749, 46, 397, 668, 120, 401, 1744 108, 750, 398, 198, 830, 53, 112, 1429, 1159, 1160, 1745 402, 596, 108, 67, 1189, 404, 677, 1167, 169, 1234, 1746 146, -218, -218, 1436, 681, 147, 46, 148, 158, 766, 1747 30, 1414, 254, 565, 46, 371, 53, 139, 156, 46, 1748 143, 367, 418, 1168, 67, 30, 1235, 199, 30, 1168, 1749 770, 372, 628, 160, 476, 30, 632, 744, 439, 1185, 1750 471, 249, 421, 46, 46, 94, 158, 566, 206, 1378, 1751 1379, 216, 318, 666, 152, 757, 208, 460, 94, 46, 1752 735, 334, 872, 873, 828, 149, -218, 46, 844, 158, 1753 1414, 165, 847, 1176, 150, 1161, 46, 528, 890, 46, 1754 146, 435, 391, 185, 74, 147, 151, 148, 829, 248, 1755 173, 404, 412, 864, 404, 30, 1418, 867, 108, 481, 1756 463, 404, 663, 587, 1077, 476, 94, 465, 177, 46, 1757 422, 95, 163, 1380, 426, 74, 664, 830, 94, 832, 1758 810, 167, 1161, 46, 46, 1005, 158, 567, 47, 427, 1759 46, 1111, 337, 1017, 729, 410, 833, 46, 1112, 609, 1760 257, 843, 30, 258, 318, 448, 701, 516, 94, 994, 1761 197, 692, 942, 104, 104, 1129, 828, 1187, 429, 841, 1762 453, 601, 479, 1307, 1484, 694, 1378, 1379, 437, 1309, 1763 1308, 834, 1177, 1418, 108, 1018, 426, 163, 1418, 488, 1764 829, 1483, 108, 663, 104, 46, 1497, 367, 66, 60, 1765 1191, 427, -274, 1418, 472, 243, 1492, 664, 521, 471, 1766 1418, 156, 433, 1496, 46, 46, 848, 380, 601, 830, 1767 434, 322, 776, 523, 655, -109, 160, 248, 471, 104, 1768 1313, 46, 1365, 381, 94, 46, 471, 1159, 1160, 246, 1769 1389, 1069, 53, 1070, 1161, 520, -109, 832, 108, -498, 1770 67, 997, 670, 596, 603, 586, 911, 675, 593, 260, 1771 431, 46, -10, 108, 833, 136, 137, 108, 857, 136, 1772 234, 46, 817, 367, 1459, 1403, 1404, 626, 172, 576, 1773 1464, 630, 596, 428, 334, 577, 1315, 596, 108, 46, 1774 136, 137, 840, 383, 46, 1479, 46, 248, 324, 834, 1775 1486, 337, 385, 235, 239, 870, 870, 870, 236, 384, 1776 185, 682, -424, 322, 483, 866, 1346, 577, 386, -425, 1777 46, 500, 870, 1177, 325, 519, 877, 921, 172, 505, 1778 1177, 172, 272, 1021, 1147, 1149, 110, 387, 318, 318, 1779 717, 74, 555, 556, 46, 428, 74, 208, 729, 934, 1780 1409, 505, 46, 388, 367, 702, 46, 1080, 95, 693, 1781 46, 498, 274, 472, 894, 448, 1125, 882, 448, 1177, 1782 163, 703, 275, 1230, 448, 47, 172, 557, 558, 1099, 1783 453, 754, 472, 453, 609, 392, 113, 393, 173, 453, 1784 472, 679, 704, 860, 394, 94, 870, 861, 771, 603, 1785 862, 754, 400, 777, 863, 629, 395, 396, 705, 633, 1786 104, 488, 397, 318, 702, 488, 401, 598, 398, 1016, 1787 1085, 704, 729, 1096, 1344, 721, 521, 728, 696, 521, 1788 914, 318, 521, 1174, 726, 66, 60, 915, 172, 988, 1789 276, 523, 1018, 334, 523, 1174, 548, 523, 365, 1175, 1790 465, 549, 550, 366, 1300, 671, 673, 1442, 326, 1302, 1791 46, 1291, 337, 520, 1442, 108, 520, 136, 137, 520, 1792 1301, 1085, 46, 225, 46, 1303, 208, 226, 471, 53, 1793 230, 569, 232, 404, 719, 870, 762, 67, 892, 241, 1794 720, 570, 172, 46, 327, 1388, 318, 322, 322, 172, 1795 999, 741, 1347, 1480, 817, 74, 742, 815, 862, 46, 1796 593, 827, 1095, 603, 328, -102, 764, 1031, 404, -102, 1797 939, 891, 46, 893, 74, 46, 765, 551, 552, 701, 1798 1016, -109, 74, -109, 1029, 751, 337, -109, 752, 856, 1799 819, 758, 370, 519, 593, 717, 519, 1332, 329, 519, 1800 865, 1333, -109, -109, 1074, 943, 883, 601, 642, 46, 1801 330, 46, 884, 36, 736, 944, 172, 39, 382, 1444, 1802 737, 1445, 322, 378, 40, 41, 559, 560, 74, 871, 1803 871, 871, -449, 172, -449, 746, 402, 172, -449, 938, 1804 322, 747, 1107, 817, 762, 989, 871, 761, 917, 42, 1805 693, 1036, 799, 762, 334, 46, 46, 905, 390, 144, 1806 907, 984, 1481, 762, 225, 996, 762, 985, 419, 46, 1807 138, 720, 1222, 1340, 903, 434, 448, 420, 577, 762, 1808 1128, 728, 472, 910, 1341, 663, 1343, 912, 726, 424, 1809 762, 453, 762, 692, 827, 603, 442, 104, 172, 664, 1810 36, 455, 170, 171, 39, 322, 488, 694, 918, 1348, 1811 458, 40, 41, 596, 919, 762, 920, 859, 461, 598, 1812 871, 237, 240, 211, 472, 462, 1399, 717, 334, 108, 1813 1031, 36, 1400, 874, 484, 39, 366, 717, 1419, 1500, 1814 238, 159, 40, 41, 762, 577, 889, 46, 858, 248, 1815 324, 404, 717, 598, 493, 728, 494, 190, 512, 46, 1816 213, 528, 726, 223, 553, 554, 208, 733, 509, 8, 1817 9, 10, 11, 12, 211, 524, 108, 734, 136, 137, 1818 208, 526, 527, 324, 404, 998, 827, 561, 126, 815, 1819 127, 128, 129, 547, 562, 578, 30, 404, 603, 1224, 1820 563, 505, 225, -275, 230, 581, 1056, 404, 1172, 871, 1821 8, 9, 10, 11, 12, 817, 895, 211, 404, 33, 1822 564, 898, 819, 404, 74, 567, 529, 530, 531, 527, 1823 333, 46, 787, 788, 789, 790, -421, 30, 412, 659, 1824 404, 159, 585, 500, 46, 481, 324, 404, 729, 532, 1825 588, 533, 46, 534, 368, 638, 1263, 1264, 505, 505, 1826 33, 1131, 172, 404, 656, 527, 74, 841, 324, 601, 1827 46, 208, 1314, 1316, 1317, 1282, 1283, 211, 815, 159, 1828 457, 657, 448, 693, 1100, 1143, 665, 404, 66, 60, 1829 225, 693, 1146, 667, 601, 172, 36, 453, 170, 171, 1830 39, 1121, 159, 1148, 754, 601, 1121, 40, 41, 603, 1831 1210, 172, 404, 658, 436, 211, 1151, 1079, 925, 211, 1832 925, 488, 1102, 318, 172, 1437, 1438, 729, 1378, 1379, 1833 783, 784, 53, 685, 2, 202, 4, 5, 6, 7, 1834 67, 785, 786, 791, 792, 717, 717, 660, 661, 662, 1835 1058, 253, 708, 748, 1121, 710, -222, 759, 763, 63, 1836 114, 767, 820, -12, 1056, 822, 824, 1186, 1188, 1190, 1837 856, 835, 2, 202, 4, 5, 6, 7, 879, 880, 1838 886, 285, 906, 908, 913, 688, 909, 1217, 960, -398, 1839 63, 142, 34, 737, 35, 933, -502, 1471, 1101, 947, 1840 224, 717, 717, 157, 211, 954, 8, 9, 10, 11, 1841 12, 956, 961, 965, 966, 643, 968, 1158, 969, 970, 1842 368, 172, 971, 337, 46, 217, 980, 991, 992, 993, 1843 34, 74, 35, 30, 1007, 1008, 1085, 1009, 780, 781, 1844 782, 1010, 1011, 1179, 472, 1012, 1013, 1024, -386, 448, 1845 815, -385, 1071, 1082, -3, 1038, 33, 434, 1081, 1193, 1846 1083, 36, 255, 1084, 453, 39, 1091, 1411, 1089, 505, 1847 1073, 1088, 40, 41, 1092, 1090, 1098, 1108, 1109, 762, 1848 1110, 527, 322, 211, 974, 1113, 1120, 53, 1117, 1141, 1849 1164, 1162, 1163, 1165, 706, 67, 368, 42, 1166, 457, 1850 104, 1180, 1181, 323, 1183, 1184, 1192, 144, 1182, 1198, 1851 215, 255, 344, 1196, -3, 1197, 1203, 1208, 46, 1056, 1852 1214, 1225, 1223, 493, 1218, 1457, 1411, 505, 505, 858, 1853 1228, 728, 739, 211, 743, 1232, 1236, 1239, 726, 1296, 1854 1241, 399, 1243, 1244, 1249, 1273, 210, 1245, 1246, 1247, 1855 1100, 1256, 1265, 1121, 1121, 1121, 417, 1266, 1276, 142, 1856 423, 1277, 1342, 1490, 157, 334, 104, 1290, 717, 1298, 1857 2, 202, 4, 5, 6, 7, 717, 717, 717, 1279, 1858 904, 1280, 1287, 172, 1304, 440, 74, 1306, 1102, 443, 1859 1310, 444, 1312, 1318, 1311, 1319, 1320, 210, 1322, 1328, 1860 459, 66, 60, 1329, 1330, 1331, 63, 1056, 1338, 1339, 1861 1349, 473, 1283, 527, 1352, 1354, 392, 726, 393, 1355, 1862 717, 480, 1357, 206, 216, 394, 1362, 72, 34, 423, 1863 35, 208, 400, 1365, 1361, 1372, 1100, 395, 396, 1373, 1864 210, -387, 1376, 397, 1397, 53, 401, 1387, 1391, 398, 1865 1393, 663, 1401, 67, 211, 104, 1335, 975, 72, 1056, 1866 1398, 1410, 1056, 1058, 1101, 664, 1271, 1272, 1420, 1274, 1867 1405, 1406, 1407, 1408, 1102, 1278, 1179, 472, 1281, 1422, 1868 46, 46, 211, 878, 1333, 1121, 1121, 211, 1415, 1350, 1869 1424, 1426, 1428, 218, 718, 255, 1430, 1431, 594, 1443, 1870 210, 1056, 1432, 527, 622, 1451, 1056, 1453, 1455, 1456, 1871 1463, 1475, 990, 1478, 1485, 433, 1487, 627, 1493, 1499, 1872 53, 627, 995, 434, 255, 793, 1100, 901, 67, 1056, 1873 794, 796, 795, 1231, 1470, 797, 1289, 1006, 210, 1390, 1874 1458, 1501, 210, 929, 74, 1351, 1474, 146, 1226, 932, 1875 1101, 1353, 147, 1227, 148, 1202, 1446, 1086, 712, 683, 1876 684, 926, 812, 36, 1102, 170, 171, 39, 1087, 1472, 1877 473, 46, 1116, 211, 40, 41, 885, 1037, 1056, 949, 1878 347, 1097, 1299, 1056, 344, 731, 957, 211, 802, 473, 1879 46, 46, 104, 158, 1449, 803, 1056, 473, 1056, 370, 1880 0, 0, 1056, 1377, 804, 1056, 1385, 0, 0, 1450, 1881 46, 1056, 367, 104, 0, 1056, 0, 1179, 472, 74, 1882 0, 1449, 0, 713, 1179, 472, 423, 210, 1384, 479, 1883 1447, 0, 104, 0, 0, 36, 1450, 179, 180, 39, 1884 1101, 727, 0, 63, 318, 1417, 40, 41, 0, 0, 1885 1421, 423, 0, 441, 1396, 423, 0, 1473, 0, 0, 1886 0, 53, 0, 1179, 472, 0, 0, 0, 53, 67, 1887 172, 181, 0, 1435, 72, 0, 67, 0, 211, 72, 1888 0, 182, 0, 255, 344, 0, 0, 0, 104, 0, 1889 0, 527, 36, 1498, 179, 180, 39, 0, 0, 718, 1890 0, 0, 0, 40, 41, 1503, 210, 53, 8, 9, 1891 10, 11, 12, 0, 0, 67, 0, 0, 104, 0, 1892 0, 643, 0, 0, 0, 0, 0, 1041, 261, 805, 1893 1156, 1157, 509, 0, 0, 30, 0, 0, 262, 0, 1894 1491, 0, 0, 0, 0, 75, 1491, 627, 818, 0, 1895 594, 0, 0, 0, 0, 1491, 210, 0, 33, 1491, 1896 74, 837, 0, 0, 0, 0, 0, 74, 0, 0, 1897 0, 0, 218, 0, 0, 0, 75, 0, 0, 594, 1898 0, 0, 0, 0, 594, 0, 1205, 1206, 0, 0, 1899 627, 0, 0, 344, 344, 344, 0, 0, 0, 569, 1900 0, 404, 0, 322, 0, 0, 74, 0, 104, 570, 1901 344, 219, 209, 0, 0, 643, 0, 0, 0, 0, 1902 0, 0, 228, 0, 54, 54, 0, 0, 713, 104, 1903 0, 718, 172, 0, 0, 0, 104, 0, 72, 473, 1904 0, 718, 36, 527, 255, 727, 39, 0, 922, 0, 1905 0, -276, 347, 40, 41, 54, 718, 72, 8, 9, 1906 10, 11, 12, 209, 211, 72, 0, 0, 0, 0, 1907 0, 0, 0, 0, 0, 104, 0, 210, 825, 0, 1908 601, 473, 0, 0, 344, 30, 0, 54, 602, 0, 1909 54, 347, -277, 948, 0, 0, 423, 0, 349, 8, 1910 9, 10, 11, 12, 0, 210, 209, 0, 33, 347, 1911 210, 72, 1041, 0, 0, 0, 0, 0, 255, 727, 1912 0, 0, 0, 0, 973, 0, 30, 0, 0, 0, 1913 0, 0, 8, 9, 10, 11, 12, 0, 8, 9, 1914 10, 11, 12, 0, 0, 0, 0, 0, 406, 33, 1915 0, 0, 347, 1321, 0, 414, 0, 0, 0, 30, 1916 713, 1323, 1324, 1325, 0, 30, 209, 0, 0, 0, 1917 713, 0, 0, 344, 0, 627, 0, 342, 1004, 627, 1918 818, 0, 33, 0, 0, 713, 0, 36, 33, 179, 1919 180, 39, 75, 0, 0, 1015, 210, 75, 40, 41, 1920 0, 0, 0, 0, 209, 1356, 0, 0, 209, 0, 1921 210, 0, 0, 77, 0, 1269, 347, 0, 0, 0, 1922 0, 0, 0, 600, 499, 601, 0, 406, 0, 764, 1923 0, 404, 0, 602, 0, 0, 0, 0, 211, 765, 1924 0, 54, 0, 0, 77, 0, 63, 0, 0, 718, 1925 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1926 0, 347, 347, 347, 0, 0, 0, 0, 627, 0, 1927 0, 54, 0, 0, 0, 0, 0, 0, 347, 220, 1928 0, 575, 0, 8, 9, 10, 11, 12, 0, 579, 1929 219, 0, 582, 209, 0, 0, 347, 0, 0, 0, 1930 0, 210, 0, 1094, 0, 718, 718, 72, 0, 0, 1931 30, 423, 114, 347, 0, 0, 0, 36, 0, 179, 1932 180, 39, 0, 121, 124, 125, 344, 0, 40, 41, 1933 211, 0, 0, 33, 535, 536, 537, 538, 539, 540, 1934 541, 542, 543, 544, 0, 0, 0, 0, 0, 72, 1935 0, 0, 347, 687, 406, 404, 75, 0, 414, 0, 1936 594, 688, 0, 689, 0, 0, 350, 545, 0, 0, 1937 349, 0, 209, 142, 943, 75, 601, 0, 713, 713, 1938 0, 344, 344, 75, 944, 0, 0, 347, 0, 209, 1939 0, 0, 0, 0, 250, 0, 251, 0, 0, 0, 1940 0, 1178, 0, 0, 0, 0, 0, 0, 0, 349, 1941 0, 0, 8, 9, 10, 11, 12, 0, 0, 0, 1942 0, 0, 209, 0, 0, 0, 0, 349, 347, 75, 1943 0, 0, 0, 0, 713, 713, 0, 0, 347, 30, 1944 627, 347, 406, 1297, 0, 0, 218, 0, 347, 342, 1945 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, 1946 77, 0, 33, 0, 0, 77, 0, 36, 0, 0, 1947 349, 39, 718, 0, 0, 389, 0, 0, 40, 41, 1948 718, 718, 718, 0, 0, 408, 409, 210, 0, 0, 1949 413, 0, 415, 416, 0, 727, 0, 0, 0, 0, 1950 0, 0, 0, 733, 0, 0, 0, 0, 54, 0, 1951 0, 0, 0, 734, 72, 36, 0, 179, 180, 39, 1952 0, 0, 0, 0, 718, 0, 40, 41, 0, 0, 1953 0, 84, 575, 575, 349, 0, 0, 0, 1270, 0, 1954 0, 0, 0, 209, 0, 0, 0, 0, 0, 342, 1955 0, 600, 0, 601, 0, 255, 0, 0, 220, 63, 1956 0, 602, 84, 0, 0, 0, 0, 0, 0, 0, 1957 0, 209, 713, 0, 727, 0, 209, 0, 114, 349, 1958 349, 349, 0, 0, 0, 0, 0, 0, 0, 0, 1959 0, 0, 0, 0, 347, 0, 349, 221, 0, 0, 1960 0, 713, 0, 0, 0, 0, 0, 0, 0, 713, 1961 713, 713, 0, 342, 349, 0, 0, 0, 0, 896, 1962 344, 344, 0, 899, 77, 75, 0, 0, 0, 0, 1963 0, 349, 0, 0, 1178, 0, 0, 0, 350, 0, 1964 0, 0, 0, 77, 0, 0, 347, 347, 0, 347, 1965 347, 77, 0, 713, 0, 0, 406, 0, 342, 342, 1966 342, 210, 209, 0, 114, 0, 0, 75, 0, 72, 1967 349, 0, 0, 0, 0, 342, 209, 350, 0, 0, 1968 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 1969 0, 0, 0, 0, 0, 350, 499, 77, 0, 0, 1970 0, 0, 347, 347, 0, 349, 0, 0, 0, 0, 1971 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 1972 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1973 23, 24, 0, 344, 25, 26, 27, 0, 350, 0, 1974 0, 0, 30, 446, 0, 0, 349, 0, 0, 342, 1975 0, 0, 0, 210, 114, 0, 349, 0, 0, 349, 1976 0, 0, 0, 347, 219, 33, 349, 209, 575, 0, 1977 0, 349, 37, 38, 0, 1178, 0, 0, 84, 0, 1978 0, 0, 1178, 84, 0, 0, 0, 0, 0, 0, 1979 0, 0, 0, 0, 0, 0, 8, 9, 10, 11, 1980 12, 0, 350, 0, 0, 0, 218, 0, 447, 0, 1981 0, 0, 700, 0, 0, 0, 109, 0, 0, 0, 1982 0, 1178, 36, 30, 179, 180, 39, 72, 1488, 0, 1983 0, 0, 75, 40, 41, 0, 0, 0, 342, 0, 1984 347, 0, 347, 0, 0, 342, 33, 350, 350, 350, 1985 0, 36, 0, 179, 180, 39, 0, 0, 687, 0, 1986 404, 0, 40, 41, 350, 0, 0, 0, 689, 347, 1987 0, 807, 808, 0, 0, 0, 221, 347, 347, 347, 1988 406, 0, 350, 0, 0, 0, 0, 181, 347, 347, 1989 0, 0, 0, 77, 0, 0, 0, 182, 0, 350, 1990 0, 842, 72, 0, 845, 846, 0, 849, 0, 851, 1991 852, 54, 349, 0, 853, 854, 0, 0, 0, 0, 1992 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, 1993 0, 0, 0, 0, 0, 77, 0, 0, 350, 0, 1994 0, 0, 84, 0, 0, 0, 36, 0, 179, 180, 1995 39, 0, 0, 209, 1132, 0, 357, 40, 41, 0, 1996 0, 84, 0, 0, 349, 349, 0, 349, 349, 84, 1997 1144, 0, 0, 350, 164, 0, 168, 54, 0, 174, 1998 175, 176, 1468, 178, 404, 0, 0, 75, 0, 0, 1999 0, 342, 1469, 0, 0, 357, 927, 928, 229, 0, 2000 0, 347, 930, 8, 9, 10, 11, 12, 0, 0, 2001 244, 245, 0, 357, 350, 84, 0, 0, 0, 0, 2002 349, 349, 0, 0, 350, 0, 0, 350, 0, 0, 2003 30, 0, 220, 0, 350, 0, 0, 0, 0, 350, 2004 0, 0, 0, 72, 0, 1211, 342, 342, 0, 0, 2005 72, 0, 0, 33, 0, 0, 357, 0, 36, 0, 2006 179, 180, 39, 0, 0, 0, 54, 0, 0, 40, 2007 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2008 0, 349, 0, 0, 0, 0, 0, 0, 0, 72, 2009 0, 0, 0, 0, 687, 0, 404, 0, 0, 0, 2010 77, 0, 0, 0, 689, 0, 0, 0, 0, 0, 2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2012 357, 0, 0, 0, 219, 0, 0, 209, 8, 9, 2013 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2014 20, 21, 22, 23, 24, 75, 0, 25, 26, 27, 2015 0, 0, 0, 0, 0, 30, 446, 0, 349, 0, 2016 349, 0, 0, 0, 0, 357, 357, 357, 0, 0, 2017 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2018 350, 0, 357, 0, 0, 37, 38, 349, 0, 0, 2019 0, 0, 0, 0, 0, 349, 349, 349, 0, 0, 2020 357, 0, 54, 54, 0, 0, 349, 349, 0, 0, 2021 0, 84, 0, 0, 0, 0, 0, 357, 0, 209, 2022 75, 447, 0, 0, 54, 931, 0, 0, 0, 109, 2023 0, 0, 350, 350, 0, 350, 350, 0, 0, 349, 2024 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 2025 0, 0, 0, 84, 0, 77, 357, 0, 0, 0, 2026 0, 0, 0, 592, 599, 0, 0, 0, 0, 0, 2027 0, 0, 0, 0, 0, 623, 624, 0, 0, 0, 2028 0, 0, 0, 0, 0, 342, 342, 0, 350, 350, 2029 0, 357, 0, 0, 54, 0, 0, 0, 0, 54, 2030 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2031 17, 18, 19, 20, 21, 22, 23, 24, -278, 349, 2032 25, 26, 27, 0, 0, 0, 0, 0, 30, 54, 2033 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 2034 0, 0, 357, 0, 0, 357, 0, 0, 0, 350, 2035 221, 33, 357, 0, 0, 0, 0, 357, 37, 38, 2036 0, 75, -278, 0, 0, 0, 0, 0, 75, 0, 2037 0, 0, 0, 0, 0, 1207, 0, 8, 9, 10, 2038 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 2039 0, 0, 220, 0, 333, 0, 0, 0, 342, 0, 2040 0, 0, 109, 0, 30, 0, 0, 75, 0, 0, 2041 0, 0, 0, 77, 0, 0, 0, 0, 84, 54, 2042 0, 0, 0, 0, 0, 0, 350, 33, 350, 0, 2043 0, 0, 36, 0, 179, 180, 39, 0, 0, 0, 2044 54, 0, 0, 40, 41, 0, 0, 54, 0, 0, 2045 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 2046 0, 0, 0, 350, 350, 350, 0, 0, 1468, 0, 2047 404, 0, 0, 0, 350, 350, 0, 0, 1469, 0, 2048 0, 0, 0, 0, 0, 0, 54, 0, 77, 0, 2049 0, 0, 0, 0, 0, 1288, 0, 0, 357, 0, 2050 0, 0, 0, 0, 0, 0, 0, 350, 0, 1014, 2051 0, 0, 8, 9, 10, 11, 12, 0, 0, 0, 2052 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 2053 0, 0, 0, 0, 0, 0, 0, 0, 277, 30, 2054 278, 0, 0, 0, 0, 214, 0, 0, 0, 0, 2055 357, 357, 0, 357, 357, 0, 0, 0, 0, 0, 2056 0, 279, 33, 0, 0, 0, 0, 280, 0, 0, 2057 0, 281, 0, 84, 282, 283, 284, 285, 40, 41, 2058 0, 286, 287, 0, 0, 0, 0, 350, 0, 288, 2059 0, 162, 0, 0, 0, 0, 268, 0, 0, 0, 2060 0, 0, 0, 289, 0, 373, 357, 357, 0, 0, 2061 0, 0, 291, 813, 293, 294, 295, 296, 0, 0, 2062 0, 0, 0, 0, 0, 162, 0, 0, 0, 77, 2063 0, 0, 0, 0, 0, 363, 77, 0, 936, 369, 2064 937, 0, 0, 0, 0, 0, 0, 940, 941, 0, 2065 0, 0, 946, 0, 1152, 0, 0, 8, 9, 10, 2066 11, 12, 0, 0, 951, 0, 0, 357, 0, 955, 2067 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 2068 0, 0, 0, 277, 30, 278, 0, 162, 0, 0, 2069 0, 0, 0, 981, 0, 0, 0, 0, 0, 214, 2070 0, 0, 0, 0, 0, 0, 279, 33, 0, 0, 2071 221, 0, 280, 0, 0, 0, 281, 162, 454, 282, 2072 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2073 0, 84, 0, 0, 288, 0, 0, 592, 0, 0, 2074 0, 369, 0, 0, 357, 0, 357, 0, 289, 162, 2075 373, 0, 0, 0, 0, 0, 0, 291, 1153, 293, 2076 294, 295, 296, 0, 0, 0, 0, 0, 0, 0, 2077 0, 454, 0, 357, 162, 0, 0, 0, 0, 0, 2078 0, 357, 357, 357, 0, 0, 0, 0, 0, 0, 2079 0, 0, 357, 357, 1025, 1026, 1027, 1028, 0, 1030, 2080 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 2081 0, 0, 0, 0, 1072, 0, 0, 0, 0, 0, 2082 0, 597, 0, 0, 0, 357, 621, 0, 1078, 0, 2083 0, 0, 0, 1, 2, 202, 4, 5, 6, 7, 1959 2084 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1960 18, 19, 20, 21, 22, 23, 24, -279, 0, 25, 1961 26, 27, 698, 698, 337, 0, 0, 30, 377, 0, 1962 84, 800, 249, 335, 0, 0, 0, 396, 397, 0, 1963 0, 0, 401, 335, 403, 404, 0, 0, 214, 335, 1964 33, 0, 8, 9, 10, 11, 12, 37, 38, 335, 1965 0, -279, 0, 0, 0, 217, 0, 249, 0, 0, 1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1967 77, 394, 0, 0, 337, 77, 627, 0, 612, 0, 1968 712, 1021, 0, 567, 0, 612, 332, 332, 0, 0, 1969 0, 108, 33, 0, 0, 703, 703, 36, 0, 584, 1970 0, 39, 0, 0, 0, 0, 0, 0, 40, 41, 1971 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1972 0, 0, 337, 337, 0, 54, 54, 0, 1287, 0, 1973 0, 0, 0, 585, 335, 586, 0, 337, 0, 0, 1974 345, 0, 0, 587, 0, 332, 0, 0, 0, 63, 1975 0, 0, 703, 703, 0, 337, 54, 0, 0, 612, 1976 562, 562, 216, 206, 0, 698, 0, 712, 75, 0, 1977 0, 113, 0, 337, 8, 9, 10, 11, 12, 1039, 1978 0, 0, 338, 0, 0, 0, 0, 0, 54, 0, 1979 0, 54, 0, 0, 698, 335, 0, 0, 0, 0, 1980 0, 30, 0, 0, 0, 698, 698, 698, 0, 75, 1981 0, 0, 337, 0, 0, 0, 0, 332, 332, 0, 1982 0, 0, 0, 0, 33, 0, 0, 0, 77, 36, 1983 84, 1188, 0, 39, 0, 84, 0, 0, 0, 0, 1984 40, 41, 338, 0, 882, 0, 337, 77, 885, 0, 1985 0, 612, 698, 335, 335, 77, 335, 335, 335, 0, 1986 0, 0, 0, 113, 0, 42, 8, 9, 10, 11, 1987 12, 0, 0, 0, 0, 143, 330, 72, 0, 0, 1988 0, 338, 394, 0, 0, 0, 0, 0, 337, 0, 1989 0, 0, 0, 30, 1286, 0, 0, 0, 337, 338, 1990 0, 77, 0, 215, 337, 1316, 0, 0, 0, 0, 1991 335, 335, 0, 249, 337, 0, 33, 0, 0, 335, 1992 0, 36, 217, 177, 0, 39, 0, 0, 0, 0, 1993 0, 0, 40, 41, 703, 0, 0, 332, 54, 0, 1994 0, 338, 345, 0, 0, 703, 703, 703, 0, 0, 1995 0, 0, 0, 0, 0, 0, 206, 672, 113, 392, 1996 0, 0, 0, 0, 0, 0, 54, 674, 0, 0, 1997 0, 0, 0, 0, 0, 75, 0, 0, 335, 1188, 1998 0, 0, 0, 0, 335, 335, 1188, 0, 84, 0, 1999 0, 0, 703, 0, 562, 0, 0, 0, 0, 337, 2000 0, 338, 345, 792, 793, 0, 0, 84, 0, 0, 2001 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 2002 0, 0, 0, 0, 0, 1188, 214, 0, 0, 0, 2003 0, 827, 1512, 0, 830, 831, 0, 834, 0, 836, 2004 837, 345, 0, 335, 838, 839, 0, 72, 0, 338, 2005 338, 0, 0, 0, 0, 206, 0, 0, 0, 345, 2006 337, 84, 0, 335, 338, 335, 0, 0, 0, 0, 2007 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, 2008 0, 0, 338, 0, 0, 0, 0, 0, 0, 0, 2009 0, 0, 335, 0, 0, 77, 0, 0, 0, 0, 2010 338, 345, 0, 335, 335, 335, 0, 0, 0, 0, 2011 0, 0, 394, 0, 0, 335, 335, 0, 337, 337, 2012 0, 337, 337, 337, 0, 0, 918, 919, 0, 72, 2013 0, 0, 921, 0, 0, 0, 77, 0, 330, 338, 2014 0, 0, 75, 0, 0, 8, 9, 10, 11, 12, 2015 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2016 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, 2017 0, 0, 30, 338, 0, 337, 337, 0, 0, 0, 2018 0, 0, 0, 0, 337, 0, 0, 0, 1135, 0, 2019 0, 0, 0, 0, 0, 33, 0, 54, 0, 0, 2020 36, 0, 177, 0, 39, 0, 0, 1152, 0, 345, 2021 345, 40, 41, 0, 0, 338, 0, 0, 0, 0, 2022 0, 0, 0, 0, 345, 338, 0, 0, 0, 0, 2023 216, 338, 0, 0, 0, 335, 1492, 330, 392, 0, 2024 0, 338, 345, 337, 0, 0, 1493, 0, 0, 337, 2025 337, 0, 0, 0, 0, 84, 0, 0, 0, 0, 2026 345, 0, 0, 0, 0, 8, 9, 10, 11, 12, 2027 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 2028 0, 0, 0, 0, 72, 0, 0, 0, 1224, 0, 2029 0, 215, 30, 0, 0, 0, 84, 330, 0, 345, 2030 0, 0, 77, 0, 0, 0, 0, 0, 337, 0, 2031 0, 0, 75, 0, 0, 33, 0, 0, 0, 0, 2032 36, 0, 177, 72, 39, 0, 338, 0, 337, 0, 2033 337, 40, 41, 345, 0, 0, 0, 0, 0, 0, 2034 0, 0, 0, 0, 0, 330, 330, 0, 0, 0, 2035 8, 9, 10, 11, 12, 0, 255, 337, 0, 0, 2036 330, 0, 0, 0, 0, 0, 256, 0, 337, 337, 2037 337, 0, 0, 0, 0, 345, 0, 30, 0, 0, 2038 337, 337, 0, 0, 0, 345, 0, 338, 0, 0, 2039 217, 345, 0, 0, 75, 0, 0, 162, 0, 166, 2040 33, 345, 172, 173, 174, 36, 176, 0, 0, 39, 2041 0, 0, 0, 0, 0, 337, 40, 41, 0, 0, 2042 0, 225, 0, 122, 122, 122, 0, 0, 0, 0, 2043 0, 0, 238, 239, 0, 330, 0, 0, 0, 0, 2044 0, 718, 0, 0, 0, 338, 338, 0, 338, 338, 2045 338, 719, 0, 0, 0, 0, 0, 0, 0, 0, 2046 0, 0, 84, 0, 0, 0, 0, 0, 0, 77, 2085 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2086 26, 27, 28, 0, 0, 29, 1093, 30, 0, 0, 2087 0, 0, 123, 123, 123, 0, 0, 0, 0, 0, 2047 2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2048 0, 0, 0, 0, 0, 0, 345, 0, 0, 0, 2049 0, 0, 0, 122, 0, 122, 0, 0, 327, 0, 2050 337, 0, 338, 338, 0, 0, 0, 0, 0, 0, 2051 0, 338, 0, 0, 0, 0, 0, 0, 1217, 265, 2052 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, 2089 33, 0, 34, 0, 35, 0, 0, 37, 38, 0, 2090 0, 162, 162, 1118, 0, 357, 0, 363, 0, 0, 2091 1126, 0, 0, 0, 1130, 0, 0, 0, 0, 1134, 2092 0, 1135, 0, 0, 0, 1137, 1138, 1139, 454, 0, 2093 1142, 454, 0, 43, 0, 0, 0, 454, 0, 1154, 2094 0, 109, 0, 123, 0, 123, 0, 84, 0, 0, 2095 0, 0, 0, 0, 84, 0, 0, 1169, 1170, 8, 2096 9, 10, 11, 12, 730, 0, 0, 0, 0, 271, 2097 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 2098 0, 0, 1199, 0, 0, 1201, 30, 0, 0, 454, 2099 0, 0, 454, 84, 162, 454, 0, 0, 0, 0, 2100 0, 0, 0, 0, 0, 0, 0, 363, 0, 33, 2101 0, 0, 0, 0, 36, 0, 179, 180, 39, 0, 2102 0, 0, 0, 1216, 123, 40, 41, 0, 0, 1220, 2103 1221, 0, 123, 0, 123, 123, 0, 0, 1229, 123, 2104 0, 123, 123, 1233, 0, 0, 1237, 0, 1238, 0, 2105 261, 1240, 0, 0, 0, 0, 0, 0, 0, 162, 2106 262, 0, 0, 0, 1248, 0, 0, 0, 0, 0, 2107 0, 363, 0, 597, 0, 0, 823, 1255, 0, 1257, 2108 1258, 1259, 1260, 0, 0, 0, 0, 0, 0, 0, 2109 0, 0, 0, 0, 0, 1267, 0, 1268, 0, 0, 2110 0, 168, 597, 0, 0, 0, 0, 597, 0, 0, 2111 0, 123, 0, 0, 0, 0, 363, 363, 363, 0, 2112 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 2113 1293, 0, 0, 363, 0, 0, 0, 207, 0, 0, 2114 0, 0, 0, 0, 0, 0, 0, 227, 0, 231, 2115 0, 233, 0, 0, 0, 0, 0, 0, 242, 0, 2116 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 2117 0, 0, 0, 0, 0, 0, 0, 1326, 1327, 0, 2118 0, 0, 0, 0, 0, 0, 0, 1337, 207, 454, 2119 231, 233, 242, 0, 0, 0, 0, 0, 0, 0, 2120 0, 0, 0, 0, 0, 0, 0, 363, 0, 945, 2121 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 2053 2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2054 0, 0, 75, 0, 0, 0, 0, 345, 0, 75, 2055 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2056 17, 18, 19, 20, 21, 22, 23, 24, -279, 0, 2057 338, 0, 0, 122, 0, 0, 338, 338, 30, 0, 2058 122, 0, 122, 122, 0, 0, 0, 122, 75, 122, 2059 122, 0, 0, 0, 0, 0, 0, 0, 54, 0, 2060 0, 33, 0, 0, 0, 345, 345, 0, 345, 345, 2061 345, 0, -279, 0, 0, 0, 0, 0, 216, 0, 2062 0, 0, 330, 0, 0, 0, 0, 0, 0, 84, 2063 0, 0, 0, 0, 0, 338, 0, 0, 0, 77, 2123 0, 207, 0, 1364, 0, 0, 0, 0, 0, 0, 2124 0, 0, 730, 0, 0, 1368, 0, 1369, 1370, 1371, 2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 1375, 2126 0, 0, 0, 0, 0, 153, 0, 0, 1386, 0, 2064 2127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2065 1306, 0, 0, 0, 0, 338, 122, 338, 0, 0, 2066 0, 0, 345, 345, 0, 0, 0, 0, 0, 54, 2067 0, 345, 0, 575, 0, 583, 0, 0, 0, 0, 2068 0, 0, 0, 330, 338, 0, 608, 609, 0, 0, 2069 0, 0, 0, 0, 0, 338, 338, 338, 0, 204, 2070 619, 0, 0, 0, 0, 0, 0, 338, 338, 223, 2071 0, 227, 0, 229, 0, 0, 0, 0, 0, 0, 2072 236, 77, 0, 0, 0, 0, 0, 0, 0, 0, 2073 345, 0, 0, 0, 0, 0, 345, 345, 0, 0, 2074 0, 0, 338, 0, 330, 330, 330, 0, 0, 204, 2075 0, 227, 229, 236, 0, 0, 0, 0, 0, 0, 2076 662, 0, 0, 0, 0, 54, 0, 0, 0, 0, 2077 0, 0, 0, 0, 0, 0, 0, 204, 217, 0, 2128 1394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2129 0, 207, 0, 231, 233, 242, 363, 0, 0, 0, 2130 621, 0, 0, 363, 0, 0, 0, 0, 0, 0, 2131 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 2132 0, 252, 0, 0, 0, 0, 0, 1433, 1434, 207, 2133 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 2134 1439, 0, 0, 0, 0, 0, 0, 1439, 0, 497, 2135 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2136 18, 19, 20, 21, 22, 23, 24, -278, 0, 25, 2137 26, 27, 1467, 0, 0, 0, 153, 30, 0, 0, 2138 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 2139 0, 0, 0, 0, 0, 454, 0, 207, 1489, 0, 2140 33, 0, 0, 0, 0, 36, 0, 331, 332, 39, 2141 0, -278, 411, 0, 0, 0, 40, 41, 207, 0, 2142 123, 123, 1502, 231, 233, 0, 425, 1504, 0, 0, 2143 0, 242, 0, 0, 0, 430, 162, 0, 0, 0, 2144 0, 634, 0, 333, 0, 438, 0, 0, 0, 363, 2145 123, 625, 0, 123, 123, 0, 123, 0, 123, 123, 2146 0, 0, 0, 123, 123, 0, 0, 0, 0, 0, 2147 464, 0, 0, 207, 0, 474, 0, 0, 0, 0, 2148 0, 0, 0, 597, 0, 0, 0, 0, 482, 0, 2149 0, 207, 0, 0, 492, 0, 496, 207, 0, 0, 2150 0, 0, 0, 0, 363, 363, 0, 0, 0, 0, 2151 0, 0, 525, 0, 207, 0, 0, 207, 207, 0, 2078 2152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2079 0, 204, 0, 0, 0, 345, 0, 0, 0, 84, 2080 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, 2081 0, 0, 0, 0, 0, 345, 0, 345, 0, 0, 2082 0, 0, 0, 0, 0, 0, 0, 338, 0, 0, 2153 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 2154 123, 0, 0, 0, 0, 123, 123, 207, 0, 0, 2155 0, 123, 0, 0, 207, 584, 0, 0, 0, 0, 2156 589, 0, 454, 201, 2, 202, 4, 5, 6, 7, 2157 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2158 18, 19, 20, 21, 22, 23, 24, 0, 635, 25, 2159 26, 27, 636, 637, 0, 639, 0, 30, 0, 0, 2160 0, 649, 650, 0, 651, 652, 0, 653, 0, 654, 2161 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 2162 33, 0, 34, 0, 35, 36, 584, 203, 38, 39, 2163 0, 0, 0, 0, 669, 0, 40, 41, 0, 0, 2164 0, 0, 0, 277, 0, 278, 0, 0, 0, 0, 2165 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, 2166 214, 42, 0, 204, 0, 0, 279, 0, 207, 686, 2167 0, 205, 280, 0, 0, 0, 281, 0, 0, 282, 2168 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2169 0, 0, 722, 0, 288, 0, 207, 730, 725, 0, 2170 0, 207, 0, 464, 0, 0, 0, 0, 289, 0, 2171 373, 0, 0, 0, 0, 0, 0, 291, 375, 293, 2172 294, 295, 296, 0, 0, 0, 0, 0, 336, 358, 2173 0, 1194, 0, 0, 0, 0, 0, 0, 0, 760, 2174 0, 0, 0, 363, 363, 0, 0, 0, 0, 0, 2175 0, 0, 214, 0, 0, 775, 0, 0, 0, 0, 2176 0, 407, 0, 0, 0, 0, 0, 0, 407, 8, 2177 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2178 19, 20, 21, 22, 23, 24, 0, 207, 25, 26, 2179 27, 801, 0, 0, 0, 277, 30, 278, 0, 0, 2180 811, 207, 0, 0, 0, 0, 0, 814, 0, 0, 2181 0, 0, 821, 0, 0, 0, 0, 0, 279, 33, 2182 0, 497, 0, 836, 280, 0, 37, 38, 281, 0, 2183 0, 282, 283, 284, 285, 40, 41, 0, 286, 287, 2184 407, 0, 0, 0, 0, 0, 288, 0, 0, 0, 2185 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 2186 289, 0, 517, 876, 0, 167, 0, 0, 0, 291, 2187 292, 293, 294, 295, 296, 0, 0, 0, 0, 207, 2083 2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2084 0, 0, 0, 0, 345, 0, 0, 0, 0, 204, 2085 0, 227, 229, 236, 0, 345, 345, 345, 0, 753, 2086 0, 0, 0, 0, 0, 0, 0, 345, 345, 77, 2087 0, 0, 330, 330, 0, 0, 77, 0, 0, 0, 2088 0, 84, 0, 0, 0, 204, 0, 0, 0, 204, 2189 0, 0, 207, 0, 407, 0, 0, 0, 821, 0, 2190 0, 0, 407, 580, 0, 407, 583, 454, 0, 0, 2191 0, 207, 0, 0, 0, 358, 0, 0, 0, 613, 2192 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 2193 0, 0, 0, 0, 454, 0, 0, 0, 631, 0, 2194 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, 2195 0, 0, 0, 247, 0, 0, 0, 162, 0, 0, 2196 0, 0, 0, 952, 953, 0, 0, 407, 0, 0, 2197 0, 407, 0, 0, 0, 967, 0, 0, 0, 0, 2089 2198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2090 0, 271, 345, 272, 0, 485, 0, 0, 0, 0, 2091 0, 0, 0, 54, 54, 77, 0, 0, 0, 799, 2092 0, 0, 0, 0, 273, 0, 0, 0, 0, 0, 2093 274, 330, 0, 0, 275, 54, 0, 276, 277, 278, 2094 279, 40, 41, 0, 280, 281, 0, 0, 0, 0, 2095 0, 0, 282, 204, 0, 0, 0, 54, 122, 122, 2096 0, 0, 0, 0, 0, 0, 283, 0, 204, 0, 2097 860, 0, 0, 227, 229, 285, 363, 287, 288, 289, 2098 290, 236, 0, 0, 0, 0, 122, 345, 0, 122, 2099 122, 0, 122, 0, 122, 122, 0, 0, 889, 122, 2100 122, 0, 0, 330, 330, 0, 0, 0, 0, 0, 2101 0, 0, 54, 0, 0, 0, 0, 54, 907, 0, 2102 0, 0, 0, 204, 0, 0, 0, 0, 0, 84, 2103 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 2104 0, 204, 0, 0, 0, 0, 927, 204, 928, 54, 2105 0, 0, 0, 0, 0, 931, 932, 0, 0, 0, 2106 937, 0, 0, 0, 204, 0, 0, 204, 204, 0, 2107 151, 0, 942, 0, 0, 84, 122, 946, 0, 0, 2108 0, 122, 122, 204, 0, 0, 0, 122, 0, 0, 2109 0, 963, 0, 0, 0, 0, 0, 204, 0, 0, 2110 0, 974, 0, 0, 204, 0, 0, 0, 0, 0, 2111 0, 0, 0, 0, 0, 241, 0, 0, 0, 0, 2112 0, 0, 0, 330, 0, 246, 8, 9, 10, 11, 2113 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2114 22, 23, 24, -279, 54, 25, 26, 27, 0, 996, 2115 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2116 0, 0, 0, 0, 0, 54, 0, 0, 1011, 0, 2117 0, 0, 54, 0, 0, 0, 33, 0, 0, 353, 2118 0, 0, 0, 37, 38, 0, 0, -279, 0, 0, 2119 0, 0, 367, 0, 0, 0, 0, 0, 0, 0, 2120 0, 1022, 0, 1023, 1024, 1025, 0, 0, 1028, 860, 2121 0, 54, 0, 204, 399, 0, 0, 1021, 0, 567, 2122 0, 0, 0, 1070, 0, 0, 0, 610, 413, 0, 2123 0, 0, 0, 0, 0, 575, 418, 0, 1077, 0, 2124 0, 0, 0, 204, 1078, 0, 426, 0, 204, 0, 2125 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2126 16, 17, 18, 19, 20, 21, 22, 23, 24, 452, 2127 0, 25, 26, 27, 462, 0, 0, 0, 0, 30, 2128 1095, 0, 0, 0, 0, 0, 0, 470, 0, 0, 2129 0, 0, 0, 480, 0, 484, 0, 0, 0, 0, 2130 0, 0, 33, 0, 0, 753, 0, 107, 0, 37, 2131 38, 512, 0, 0, 0, 0, 0, 0, 1121, 0, 2132 0, 0, 0, 860, 0, 0, 1129, 0, 0, 0, 2133 1133, 0, 0, 0, 204, 1137, 0, 0, 0, 1142, 2134 1143, 1144, 0, 0, 0, 43, 0, 0, 204, 1150, 2135 0, 0, 572, 108, 0, 0, 0, 0, 0, 1163, 2136 0, 0, 0, 0, 0, 0, 0, 0, 485, 0, 2137 0, 0, 0, 0, 0, 0, 0, 0, 1179, 1180, 2138 0, 620, 0, 0, 0, 621, 622, 0, 623, 0, 2139 0, 0, 0, 0, 633, 634, 0, 635, 636, 0, 2140 637, 0, 638, 1209, 0, 0, 1211, 0, 0, 0, 2141 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, 2142 0, 0, 0, 0, 0, 0, 204, 653, 0, 1222, 2143 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 2144 0, 0, 0, 0, 0, 0, 0, 0, 1229, 0, 2145 0, 666, 0, 0, 1233, 1234, 0, 0, 204, 0, 2146 0, 0, 671, 1242, 271, 0, 272, 0, 0, 1246, 2147 0, 0, 1250, 122, 1251, 0, 0, 1253, 0, 0, 2148 0, 0, 0, 0, 0, 707, 0, 273, 860, 0, 2149 0, 710, 1262, 274, 0, 0, 452, 275, 0, 0, 2150 276, 277, 278, 279, 40, 41, 0, 280, 281, 1271, 2151 0, 1273, 1274, 1275, 1276, 282, 0, 0, 0, 0, 2152 0, 0, 0, 0, 0, 0, 0, 0, 1284, 283, 2153 1285, 361, 744, 0, 166, 0, 0, 0, 285, 363, 2154 287, 288, 289, 290, 0, 0, 0, 760, 0, 204, 2155 0, 0, 1204, 1305, 0, 0, 0, 0, 0, 0, 2156 0, 0, 1310, 1311, 0, 0, 0, 0, 0, 0, 2157 0, 0, 0, 0, 0, 204, 0, 0, 0, 0, 2158 0, 0, 0, 786, 0, 0, 0, 0, 0, 0, 2159 0, 0, 796, 0, 797, 0, 0, 0, 0, 0, 2160 802, 204, 0, 0, 0, 122, 0, 0, 0, 0, 2161 1342, 1343, 0, 821, 0, 0, 1347, 1348, 0, 0, 2162 0, 0, 0, 0, 0, 0, 0, 1358, 0, 0, 2163 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 2164 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 2165 0, 0, 862, 0, 0, 0, 0, 8, 9, 10, 2166 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2167 21, 22, 23, 24, -279, 1386, 25, 26, 27, 0, 2168 0, 0, 0, 0, 30, 0, 0, 1390, 897, 0, 2169 0, 1393, 1394, 1395, 0, 0, 0, 0, 0, 0, 2170 0, 0, 0, 1399, 0, 0, 0, 33, 0, 0, 2171 0, 0, 1410, 0, 37, 38, 0, 0, -279, 0, 2172 0, 0, 0, 0, 0, 1418, 0, 0, 0, 0, 2173 0, 0, 204, 1010, 0, 0, 8, 9, 10, 11, 2174 12, 0, 0, 241, 0, 0, 0, 0, 0, 0, 2175 567, 0, 0, 943, 944, 0, 0, 0, 108, 346, 2176 0, 0, 271, 30, 272, 958, 0, 0, 0, 0, 2177 0, 0, 0, 0, 1457, 1458, 0, 0, 0, 0, 2178 0, 0, 975, 0, 976, 273, 33, 1463, 980, 0, 2179 395, 274, 0, 0, 1463, 275, 0, 395, 276, 277, 2180 278, 279, 40, 41, 0, 280, 281, 0, 0, 0, 2181 0, 0, 0, 282, 0, 0, 0, 0, 0, 1491, 2182 0, 0, 0, 0, 204, 0, 0, 283, 0, 361, 2183 0, 0, 0, 0, 0, 0, 285, 888, 287, 288, 2184 289, 290, 0, 0, 0, 1513, 0, 0, 0, 0, 2185 0, 0, 0, 1016, 0, 0, 0, 0, 0, 0, 2186 1017, 0, 0, 0, 0, 0, 395, 0, 0, 1526, 2187 0, 0, 0, 1019, 1528, 1020, 0, 0, 0, 0, 2199 0, 0, 982, 0, 983, 0, 207, 0, 987, 0, 2200 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 2201 0, 0, 0, 0, 0, 0, 0, 0, 316, 0, 2202 0, 0, 207, 0, 407, 0, 0, 0, 340, 0, 2188 2203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2189 1033, 0, 0, 0, 0, 0, 1037, 0, 0, 0, 2190 0, 0, 0, 0, 0, 0, 0, 0, 1073, 0, 2191 0, 1074, 0, 0, 0, 0, 0, 0, 0, 0, 2192 395, 0, 0, 204, 0, 0, 0, 0, 395, 568, 2193 0, 395, 571, 1082, 346, 0, 0, 0, 0, 598, 2204 376, 0, 0, 0, 123, 0, 0, 207, 0, 0, 2205 0, 0, 0, 0, 0, 407, 0, 0, 358, 0, 2206 0, 0, 0, 1019, 0, 0, 0, 0, 0, 0, 2207 1020, 0, 0, 0, 0, 277, 0, 278, 207, 0, 2208 0, 0, 0, 1022, 0, 1023, 0, 0, 0, 207, 2209 0, 0, 0, 0, 0, 0, 0, 407, 279, 1035, 2210 336, 358, 0, 0, 280, 1039, 0, 0, 281, 0, 2211 316, 282, 283, 284, 285, 40, 41, 1075, 286, 287, 2212 1076, 0, 0, 0, 0, 0, 288, 0, 0, 0, 2213 0, 0, 0, 0, 0, 478, 0, 0, 589, 0, 2214 289, 0, 373, 0, 0, 407, 407, 0, 798, 291, 2215 375, 293, 294, 295, 296, 0, 0, 0, 0, 0, 2216 0, 0, 0, 0, 816, 358, 0, 358, 207, 0, 2217 0, 0, 0, 0, 0, 0, 613, 0, 613, 613, 2218 0, 0, 0, 0, 0, 613, 0, 0, 0, 0, 2219 0, 0, 0, 0, 0, 855, 358, 0, 0, 0, 2220 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 2221 358, 358, 358, 0, 0, 0, 0, 0, 0, 0, 2222 0, 0, 1136, 0, 0, 0, 0, 358, 0, 0, 2223 0, 0, 407, 897, 0, 0, 407, 900, 0, 0, 2224 0, 0, 0, 902, 0, 0, 0, 0, 0, 376, 2225 0, 0, 207, 277, 0, 278, 0, 0, 0, 0, 2226 0, 336, 358, 407, 0, 407, 0, 0, 0, 407, 2227 0, 0, 0, 0, 0, 0, 279, 525, 0, 0, 2228 0, 0, 640, 1200, 136, 137, 281, 0, 0, 282, 2229 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2230 0, 358, 613, 0, 288, 0, 0, 0, 0, 0, 2231 0, 0, 1213, 0, 0, 0, 0, 1215, 289, 0, 2232 641, 0, 642, 374, 0, 1219, 0, 291, 375, 293, 2233 294, 295, 296, 0, 0, 336, 358, 0, 0, 0, 2234 407, 407, 0, 0, 207, 504, 508, 504, 511, 724, 2235 0, 0, 0, 1242, 0, 514, 515, 0, 0, 0, 2236 504, 504, 0, 0, 0, 1250, 0, 0, 1251, 0, 2237 1252, 0, 504, 0, 0, 0, 0, 0, 0, 0, 2238 0, 407, 0, 0, 1261, 1262, 0, 756, 0, 0, 2239 358, 0, 0, 0, 0, 0, 816, 358, 0, 0, 2240 769, 613, 0, 613, 0, 0, 1275, 756, 504, 0, 2241 0, 0, 0, 613, 0, 0, 0, 0, 0, 0, 2242 778, 779, 0, 0, 0, 0, 0, 0, 0, 0, 2243 0, 0, 1294, 0, 0, 0, 0, 0, 0, 0, 2244 0, 0, 800, 0, 504, 0, 0, 0, 0, 0, 2245 0, 0, 809, 0, 0, 0, 0, 0, 0, 340, 2246 0, 0, 0, 0, 769, 0, 0, 0, 8, 9, 2247 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2248 20, 21, 22, 23, 24, 816, 0, 25, 26, 27, 2249 0, 0, 0, 407, 0, 30, 0, 0, 407, 0, 2250 0, 0, 0, 0, 0, 0, 407, 0, 0, 0, 2251 0, 0, 0, 0, 875, 0, 0, 0, 33, 613, 2252 613, 376, 1358, 0, 1359, 203, 38, 0, 0, 0, 2253 0, 0, 0, 0, 0, 1366, 0, 1367, 0, 0, 2254 0, 0, 0, 358, 0, 0, 0, 0, 0, 407, 2255 0, 0, 0, 0, 0, 1374, 0, 0, 0, 0, 2256 0, 340, 207, 0, 0, 0, 0, 407, 1133, 267, 2257 0, 1392, 0, 0, 0, 0, 0, 358, 0, 1395, 2258 0, 0, 1219, 407, 1145, 0, 613, 613, 1150, 0, 2259 0, 0, 0, 0, 0, 0, 0, 0, 358, 358, 2260 0, 0, 1416, 0, 0, 0, 0, 0, 0, 0, 2261 0, 1423, 0, 0, 1425, 1427, 0, 504, 504, 504, 2262 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 2263 504, 504, 504, 504, 504, 769, 0, 972, 0, 0, 2264 0, 0, 0, 977, 0, 0, 0, 0, 0, 1452, 2265 986, 1219, 0, 0, 0, 0, 0, 816, 407, 1212, 2266 504, 0, 0, 1462, 0, 0, 0, 0, 0, 0, 2267 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2194 2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2195 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 2196 0, 346, 0, 0, 0, 0, 0, 0, 0, 8, 2269 0, 0, 0, 1002, 1003, 0, 340, 0, 0, 0, 2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2271 0, 340, 358, 2, 202, 4, 5, 6, 7, 8, 2197 2272 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2198 19, 20, 21, 22, 23, 24, 0, 395, 25, 26, 2199 27, 395, 0, 0, 0, 310, 30, 0, 0, 0, 2200 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 2201 0, 0, 0, 0, 0, 0, 364, 0, 1141, 33, 2202 0, 346, 0, 0, 1147, 1148, 199, 200, 0, 0, 2273 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2274 27, 0, 0, 0, 0, 277, 30, 278, 0, 0, 2275 0, 1033, 0, 0, 0, 376, 0, 504, 0, 0, 2276 0, 0, 0, 0, 0, 0, 0, 0, 279, 33, 2277 0, 34, 336, 35, 280, 0, 37, 38, 281, 504, 2278 0, 282, 283, 284, 285, 40, 41, 0, 286, 287, 2279 0, 358, 504, 0, 0, 0, 288, 0, 0, 0, 2203 2280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2204 0, 0, 0, 0, 395, 1, 2, 198, 4, 5, 2281 289, 0, 338, 0, 0, 0, 0, 768, 0, 291, 2282 339, 293, 294, 295, 296, 0, 0, 0, 0, 316, 2283 0, 0, 0, 0, 0, 0, 504, 358, 358, 0, 2284 0, 0, 1114, 1115, 0, 0, 0, 0, 277, 376, 2285 278, 0, 0, 0, 0, 977, 0, 0, 1124, 0, 2286 756, 0, 0, 0, 0, 0, 0, 504, 0, 0, 2287 0, 279, 0, 0, 0, 0, 0, 280, 0, 1140, 2288 0, 281, 504, 0, 282, 283, 284, 285, 40, 41, 2289 1155, 286, 287, 0, 0, 0, 0, 0, 0, 288, 2290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2291 0, 0, 376, 289, 1173, 373, 0, 0, 374, 0, 2292 0, 0, 291, 375, 293, 294, 295, 296, 0, 1195, 2293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2294 0, 0, 0, 0, 0, 0, 0, 0, 1204, 0, 2295 358, 0, -497, 0, 0, 1, 2, 3, 4, 5, 2205 2296 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2206 16, 17, 18, 19, 20, 21, 22, 23, 24, -279, 2207 261, 25, 26, 27, 28, 395, 0, 29, 346, 30, 2208 1206, 0, 0, 310, 0, 0, 1210, 0, 0, 0, 2209 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 2210 272, 0, 33, 0, 34, 0, 35, 466, 0, 37, 2211 38, 0, 0, -279, 0, 0, 0, 395, 0, 1226, 2212 346, 273, 0, 0, 1228, 0, 0, 274, 0, 0, 2213 0, 275, 1232, 0, 276, 277, 278, 279, 40, 41, 2214 0, 280, 281, 0, 0, 43, 0, 0, 204, 282, 2215 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 2216 0, 1255, 0, 495, 395, 395, 0, 0, 0, 0, 2217 0, 0, 285, 363, 287, 288, 289, 290, 1266, 0, 2218 346, 1267, 346, 1268, 0, 0, 0, 0, 0, 0, 2219 808, 0, 0, 598, 0, 598, 598, 0, 0, 0, 2220 1278, 1279, 598, 0, 1161, 0, 328, 8, 9, 10, 2221 11, 12, 840, 346, 0, 364, 0, 0, 346, 0, 2222 0, 1292, 0, 0, 0, 0, 0, 0, 346, 346, 2223 0, 0, 0, 271, 30, 272, 0, 0, 0, 0, 2224 0, 0, 0, 346, 0, 0, 0, 0, 395, 883, 2225 1313, 0, 395, 886, 0, 0, 273, 33, 0, 0, 2226 0, 0, 274, 0, 0, 310, 275, 0, 0, 276, 2227 277, 278, 279, 40, 41, 0, 280, 281, 0, 346, 2228 395, 0, 395, 0, 282, 0, 395, 0, 0, 0, 2229 0, 0, 0, 0, 0, 0, 0, 0, 283, 271, 2230 361, 272, 0, 0, 0, 0, 0, 285, 1162, 287, 2231 288, 289, 290, 0, 0, 709, 0, 0, 346, 598, 2232 0, 0, 273, 0, 0, 0, 0, 0, 624, 0, 2233 135, 136, 275, 0, 0, 276, 277, 278, 279, 40, 2234 41, 0, 280, 281, 0, 0, 1380, 0, 1381, 0, 2235 282, 0, 346, 741, 0, 0, 395, 395, 0, 1388, 2236 0, 1389, 0, 0, 283, 754, 625, 0, 626, 362, 2237 0, 0, 741, 285, 363, 287, 288, 289, 290, 0, 2238 0, 1398, 0, 0, 0, 763, 764, 0, 0, 0, 2239 0, 0, 0, 0, 0, 0, 0, 1416, 395, 0, 2240 0, 0, 0, 0, 0, 0, 1419, 785, 0, 1232, 2241 346, 0, 271, 0, 272, 0, 0, 794, 0, 598, 2242 0, 598, 0, 0, 0, 754, 0, 0, 0, 0, 2243 598, 1440, 0, 0, 0, 273, 0, 0, 0, 0, 2244 1447, 274, 0, 1449, 1451, 275, 0, 0, 276, 277, 2245 278, 279, 40, 41, 0, 280, 281, 0, 0, 0, 2246 0, 808, 0, 282, 0, 0, 0, 0, 0, 0, 2247 0, 0, 0, 0, 0, 0, 861, 283, 1476, 361, 2248 1232, 0, 362, 364, 0, 0, 285, 363, 287, 288, 2249 289, 290, 1486, 0, 0, 0, 492, 496, 492, 499, 2250 0, 0, 0, 0, 328, 346, 502, 503, 0, 0, 2251 0, 492, 492, 0, 0, 0, 395, 0, 0, 0, 2252 0, 395, 0, 492, 328, 0, 0, 0, 0, 395, 2253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2254 0, 0, 598, 598, 0, 0, 0, 0, 0, 0, 2255 0, 0, 492, 0, 0, 0, 0, 0, 0, 0, 2256 0, 0, 0, 0, 0, 0, 346, 0, 0, 0, 2257 0, 0, 0, 395, 0, 0, 0, 0, 0, 0, 2258 808, 0, 0, 0, 0, 0, 0, 0, 0, 492, 2259 0, 0, 395, 1136, 0, 0, 0, 754, 1139, 964, 2260 346, 0, 0, 0, 0, 969, 0, 0, 0, 0, 2261 0, 395, 1153, 979, 598, 598, 1158, 0, 0, 0, 2262 0, 0, 0, 0, 0, 0, 0, 346, 346, 346, 2297 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2298 0, 25, 26, 27, 28, 0, 0, 29, 0, 30, 2299 31, 0, 977, 0, 0, 0, 0, 0, 0, 0, 2300 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 2301 0, 875, 33, 0, 34, 0, 35, 36, 0, 37, 2302 38, 39, 0, 0, 0, 407, 1253, 1254, 40, 41, 2303 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 2304 0, 278, 0, 0, 407, 407, 0, 0, 0, 0, 2305 0, 0, 0, 42, 0, 43, 0, 0, 504, 0, 2306 0, 0, 279, 44, 407, 0, 0, 0, 280, 0, 2307 504, 0, 281, 0, 0, 282, 283, 284, 285, 40, 2308 41, 0, 286, 287, 0, 0, 0, 0, 0, 0, 2309 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310 0, 0, 0, 977, 289, 0, 373, 0, 0, 974, 2311 0, 504, 0, 291, 375, 293, 294, 295, 296, 0, 2312 0, 1, 2, 202, 4, 5, 6, 7, 8, 9, 2313 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2314 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2315 28, 0, 0, 29, 277, 30, 1042, 1043, 0, 1044, 2316 0, 0, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 2317 0, 1053, 0, 0, 1054, 32, 0, 279, 33, 504, 2318 34, 0, 35, 640, 0, 37, 38, 281, 0, 0, 2319 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2320 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 2321 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 2322 0, 1055, 504, 0, 167, 0, 0, 0, 291, 292, 2323 293, 294, 295, 296, 0, 0, 504, 504, 0, 0, 2324 1402, 0, -126, 0, 1, 2, 202, 4, 5, 6, 2325 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2326 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2327 25, 26, 27, 28, 0, 0, 29, 277, 30, 278, 2263 2328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2264 2329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2265 328, 0, 0, 993, 994, 328, 8, 9, 10, 11, 2266 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2267 22, 23, 24, 0, 328, 25, 26, 27, 0, 0, 2268 0, 0, 0, 30, 1218, 0, 0, 0, 0, 0, 2269 346, 808, 395, 1225, 0, 0, 0, 0, 0, 0, 2270 0, 0, 0, 0, 598, 0, 33, 0, 0, 0, 2271 0, 0, 0, 199, 200, 1031, 0, 0, 0, 364, 2272 0, 0, 0, 0, 0, 0, 808, 0, 0, 0, 2273 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2274 16, 17, 18, 19, 20, 21, 22, 23, 24, 346, 2275 328, 25, 26, 27, 1139, 346, 346, 605, 0, 30, 2276 434, 492, 492, 492, 492, 492, 492, 492, 492, 492, 2277 492, 492, 492, 492, 492, 492, 492, 492, 492, 0, 2278 0, 0, 33, 0, 0, 0, 0, 0, 0, 37, 2279 38, 0, 0, 0, 0, 0, 0, 0, 310, 0, 2280 492, 271, 0, 272, 0, 0, 0, 0, 0, 0, 2281 0, 1116, 1117, 0, 346, 0, 0, 0, 0, 364, 2282 0, 0, 0, 0, 273, 435, 969, 0, 1139, 1127, 2283 274, 741, 0, 108, 275, 0, 346, 276, 277, 278, 2284 279, 40, 41, 0, 280, 281, 0, 0, 1145, 0, 2285 0, 0, 282, 0, 0, 0, 0, 0, 0, 0, 2286 0, 0, 0, 0, 0, 1164, 283, 0, 361, 0, 2287 0, 0, 0, 0, 783, 285, 363, 287, 288, 289, 2288 290, 0, 0, 0, 0, 0, 346, 346, 364, 0, 2289 1183, 0, 0, 0, 0, 0, 0, 0, 0, 492, 2290 0, 0, 0, 0, 0, 1205, 0, 0, 0, 0, 2330 279, 33, 0, 34, 0, 35, 280, 1454, 37, 38, 2331 281, 0, 0, 282, 283, 284, 285, 40, 41, 0, 2332 286, 287, 0, 0, 0, 0, 0, 0, 288, 0, 2291 2333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2292 1139, 492, 0, 0, 1214, 0, 0, 0, 0, 0, 2293 0, 0, 0, 0, 492, 754, 1, 2, 198, 4, 2334 0, 0, 289, 0, 1055, 0, 0, 0, 0, 0, 2335 316, 291, 292, 293, 294, 295, 296, 0, 0, 0, 2336 0, 0, 0, 0, 0, -126, 1, 2, 202, 4, 2294 2337 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2295 2338 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2296 0, 0, 25, 26, 27, 28, 0, 0, 29, 0, 2297 30, 0, 0, 969, 0, 0, 0, 492, 0, 0, 2298 0, 0, 808, 0, 0, 0, 0, 0, 0, 0, 2299 0, 0, 0, 33, 861, 34, 0, 35, 0, 0, 2300 37, 38, 0, 0, 0, 0, 346, 0, 0, 492, 2301 0, 0, 1269, 0, 1270, 0, 0, 0, 8, 9, 2339 0, 0, 25, 26, 27, 28, 0, 0, 29, 277, 2340 30, 278, 8, 9, 10, 11, 12, 13, 14, 15, 2341 16, 17, 18, 19, 20, 21, 22, 23, 24, -278, 2342 0, 0, 279, 33, 0, 34, 0, 35, 280, 30, 2343 37, 38, 281, 0, 0, 282, 283, 284, 285, 40, 2344 41, 0, 286, 287, 0, 0, 0, 504, 0, 0, 2345 288, 0, 33, 0, 0, 0, 0, 0, 0, 0, 2346 0, 0, 0, -278, 289, 0, 43, 0, 0, 0, 2347 0, 0, 0, 291, 292, 293, 294, 295, 296, 0, 2348 0, 0, 2, 202, 4, 5, 6, 7, 8, 9, 2302 2349 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2303 20, 21, 22, 23, 24, -279, 43, 25, 26, 27, 2304 0, 0, 0, 0, 108, 30, 0, 0, 0, 0, 2305 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 2306 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2307 0, 0, 0, 36, 0, 805, 38, 39, 0, -279, 2308 0, 395, 0, 0, 40, 41, 0, 0, 0, 0, 2309 0, 0, 0, 0, 969, 0, 0, 0, 0, 0, 2310 395, 395, 0, 0, 0, 0, 0, 0, 0, 1021, 2311 0, 567, 0, 0, 492, 0, 0, 0, 0, 610, 2312 395, 1, 2, 198, 4, 5, 6, 7, 8, 9, 2313 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2314 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2315 28, 0, 0, 29, 271, 30, 1040, 1041, 0, 1042, 2316 0, 0, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 2317 0, 1051, 0, 0, 1052, 32, 0, 273, 33, 0, 2318 34, 0, 35, 624, 0, 37, 38, 275, 0, 0, 2319 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2320 0, 0, 0, 0, 0, 282, 0, 0, 492, 0, 2321 0, 0, 0, 0, 0, 0, 0, 0, 492, 283, 2322 0, 1053, 0, 0, 165, 0, 0, 0, 285, 286, 2323 287, 288, 289, 290, 0, 0, 0, 0, 0, 0, 2324 1426, 0, -126, 0, 0, 0, 0, 0, 0, 0, 2350 20, 21, 22, 23, 24, 504, 504, 25, 26, 27, 2351 0, 0, 0, 0, 277, 30, 278, 8, 9, 10, 2352 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2353 21, 22, 23, 24, -279, 0, 0, 279, 33, 0, 2354 34, 0, 35, 280, 30, 37, 38, 281, 0, 0, 2355 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2356 0, 0, 0, 0, 0, 288, 0, 33, 0, 0, 2357 0, 0, 0, 0, 0, 0, 0, 0, -279, 289, 2358 0, 916, 0, 0, 0, 0, 768, 0, 291, 339, 2359 293, 294, 295, 296, 2, 202, 4, 5, 6, 7, 2360 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2361 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2362 26, 27, 0, 0, 0, 0, 277, 30, 278, 8, 2363 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2364 19, 20, 21, 22, 23, 24, 0, 0, 0, 279, 2365 33, 0, 34, 0, 35, 280, 30, 37, 38, 281, 2366 0, 0, 282, 283, 284, 285, 40, 41, 0, 286, 2367 287, 0, 0, 0, 0, 0, 0, 288, 0, 33, 2325 2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2326 0, 0, 0, 0, 0, 0, 492, 0, 0, 0, 2327 1, 2, 198, 4, 5, 6, 7, 8, 9, 10, 2328 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2329 21, 22, 23, 24, 0, 0, 25, 26, 27, 28, 2330 0, 0, 29, 271, 30, 272, 0, 0, 0, 1478, 2331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2332 0, 0, 271, 0, 272, 0, 273, 33, 0, 34, 2333 0, 35, 274, 0, 37, 38, 275, 0, 492, 276, 2334 277, 278, 279, 40, 41, 273, 280, 281, 0, 0, 2335 0, 274, 310, 0, 282, 275, 0, 0, 276, 277, 2336 278, 279, 40, 41, 0, 280, 281, 0, 283, 0, 2337 1053, 0, 0, 282, 0, 0, 0, 285, 286, 287, 2338 288, 289, 290, 0, 0, 0, 0, 283, 492, 361, 2339 0, -126, 0, 0, 752, 0, 285, 363, 287, 288, 2340 289, 290, 0, 492, 492, 1, 2, 198, 4, 5, 2369 0, 289, 0, 916, 0, 0, 0, 0, 768, 0, 2370 291, 591, 293, 294, 295, 296, 2, 202, 4, 5, 2341 2371 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2342 2372 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2343 0, 25, 26, 27, 28, 0, 0, 29, 271, 30, 2344 272, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2345 17, 18, 19, 20, 21, 22, 23, 24, -280, 0, 2346 0, 273, 33, 0, 34, 0, 35, 274, 30, 37, 2347 38, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2348 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2349 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 2350 0, 0, -280, 283, 0, 43, 0, 0, 0, 0, 2351 0, 0, 285, 286, 287, 288, 289, 290, 0, 0, 2352 0, 0, 0, 2, 198, 4, 5, 6, 7, 8, 2353 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2354 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2355 27, 0, 0, 0, 0, 271, 30, 272, 8, 9, 2356 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2357 20, 21, 22, 23, 24, 0, 0, 0, 273, 33, 2358 0, 34, 0, 35, 274, 30, 37, 38, 275, 0, 2359 0, 276, 277, 278, 279, 40, 41, 0, 280, 281, 2360 0, 0, 0, 0, 0, 0, 282, 0, 33, 0, 2373 0, 25, 26, 27, 0, 0, 0, 0, 277, 30, 2374 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2361 2375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2362 283, 0, 325, -3, 0, 0, 0, 752, 492, 285, 2363 326, 287, 288, 289, 290, 2, 198, 4, 5, 6, 2364 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2365 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2366 25, 26, 27, 0, 0, 0, 0, 271, 30, 272, 2376 0, 279, 33, 0, 34, 0, 35, 280, 0, 37, 2377 38, 281, 0, 0, 282, 283, 284, 285, 40, 41, 2378 0, 286, 287, 0, 0, 0, 0, 0, 0, 288, 2367 2379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2368 0, 0, 0, 0, 0, 0, 492, 492, 0, 0, 2369 273, 33, 0, 34, 0, 35, 274, 0, 37, 38, 2370 275, 0, 0, 276, 277, 278, 279, 40, 41, 0, 2371 280, 281, 0, 0, 0, 0, 0, 0, 282, 0, 2372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2373 0, 0, 283, 0, 906, -3, 0, 0, 0, 752, 2374 0, 285, 326, 287, 288, 289, 290, 2, 198, 4, 2375 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2376 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2377 0, 0, 25, 26, 27, 0, 0, 0, 0, 271, 2378 30, 272, 0, 0, 0, 0, 0, 0, 0, 0, 2379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380 0, 0, 273, 33, 0, 34, 0, 35, 274, 0, 2381 37, 38, 275, 0, 0, 276, 277, 278, 279, 40, 2382 41, 0, 280, 281, 0, 0, 0, 0, 0, 0, 2383 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2384 0, 0, 0, 0, 283, 0, 906, -3, 0, 0, 2385 0, 752, 0, 285, 574, 287, 288, 289, 290, 2, 2386 198, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2387 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2388 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2389 0, 271, 30, 272, 0, 0, 0, 0, 0, 0, 2390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2391 0, 0, 0, 0, 273, 33, 0, 34, 0, 35, 2392 274, 0, 37, 38, 275, 0, 0, 276, 277, 278, 2393 279, 40, 41, 0, 280, 281, 0, 0, 0, 0, 2394 0, 0, 282, 0, 0, 0, 0, 0, 0, 0, 2395 0, 0, 0, 0, 0, 0, 283, 0, 325, -3, 2396 0, 0, 0, 0, 0, 285, 326, 287, 288, 289, 2397 290, 2, 198, 4, 5, 6, 7, 8, 9, 10, 2398 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2399 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2400 0, 0, 0, 271, 30, 272, 0, 0, 0, 0, 2401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2402 0, 0, 0, 0, 0, 0, 273, 33, 0, 34, 2403 0, 35, 274, 0, 37, 38, 275, 0, 0, 276, 2404 277, 278, 279, 40, 41, 0, 280, 281, 0, 0, 2405 0, 0, 0, 0, 282, 0, 0, 0, 0, 0, 2406 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 2407 906, -3, 0, 0, 0, 0, 0, 285, 326, 287, 2408 288, 289, 290, 2, 198, 4, 5, 6, 7, 8, 2409 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2410 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2411 27, 0, 0, 0, 0, 271, 30, 272, 0, 0, 2412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2413 0, 0, 0, 0, 0, 0, 0, 0, 273, 33, 2414 0, 34, 0, 35, 274, 0, 199, 200, 275, 0, 2415 0, 276, 277, 278, 279, 40, 41, 0, 280, 281, 2416 0, 0, 0, 0, 0, 0, 282, 0, 0, 0, 2417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2418 283, 0, 991, 0, 0, 0, 0, 0, 0, 285, 2419 992, 287, 288, 289, 290, 2, 198, 4, 5, 6, 2420 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2421 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2422 25, 26, 27, 0, 0, 0, 0, 271, 30, 272, 2423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2425 273, 33, 0, 34, 0, 35, 274, 0, 199, 200, 2426 275, 0, 0, 276, 277, 278, 279, 40, 41, 0, 2427 280, 281, 0, 0, 0, 0, 0, 0, 282, 0, 2428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2429 0, 0, 283, 0, 361, 0, 0, 0, 0, 0, 2430 0, 285, 363, 287, 288, 289, 290, -497, 0, 0, 2431 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2432 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2433 21, 22, 23, 24, 0, 0, 25, 26, 27, 28, 2434 0, 0, 29, 0, 30, 31, 0, 0, 0, 0, 2435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2436 0, 0, 0, 0, 32, 0, 0, 33, 0, 34, 2437 0, 35, 36, 0, 37, 38, 39, 0, 0, 0, 2438 0, 0, 0, 40, 41, 0, 0, 0, 0, 0, 2439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2440 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 2441 43, 0, 0, 0, 0, 0, 0, 0, 44, 1, 2442 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2443 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2444 22, 23, 24, 0, 0, 25, 26, 27, 28, 0, 2445 0, 29, 0, 30, 31, 0, 0, 0, 0, 0, 2446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2447 0, 0, 0, 32, 0, 0, 33, 0, 34, 0, 2448 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 2449 0, 0, 40, 41, 0, 0, 0, 0, 0, 0, 2450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451 0, 0, 0, 0, 0, 0, 0, 42, 0, 43, 2452 0, 0, 0, -501, 0, 0, 0, 44, 1, 2, 2453 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2454 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2455 23, 24, 0, 0, 25, 26, 27, 28, 0, 0, 2456 29, 0, 30, 31, 0, 0, 0, 0, 0, 0, 2457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2458 0, 0, 32, 0, 0, 33, 0, 34, 0, 35, 2459 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 2460 0, 40, 41, 0, 0, 0, 0, 0, 0, 0, 2461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2462 0, 0, 0, 0, 0, 0, 42, 0, 43, 0, 2463 0, 0, 0, 0, 0, 0, 44, 197, 2, 198, 2380 0, 0, 0, 289, 0, 338, 0, 0, 0, 0, 2381 0, 0, 291, 339, 293, 294, 295, 296, 2, 202, 2464 2382 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2465 2383 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2466 2384 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2467 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,2385 277, 30, 278, 0, 0, 0, 0, 0, 0, 0, 2468 2386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2469 0, 0, 0, 0, 33, 0, 34, 0, 35, 36, 2470 0, 199, 200, 39, 0, 0, 0, 0, 0, 0, 2471 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 2387 0, 0, 0, 279, 33, 0, 34, 0, 35, 280, 2388 0, 37, 38, 281, 0, 0, 282, 283, 284, 285, 2389 40, 41, 0, 286, 287, 0, 0, 0, 0, 0, 2390 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, 2391 0, 0, 0, 0, 0, 289, 0, 916, 0, 0, 2392 0, 0, 0, 0, 291, 339, 293, 294, 295, 296, 2393 2, 202, 4, 5, 6, 7, 8, 9, 10, 11, 2394 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2395 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2396 0, 0, 277, 30, 278, 0, 0, 0, 0, 0, 2472 2397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2473 0, 0, 0, 0, 0, 42, 0, 201, 0, 0, 2474 0, 0, 0, 0, 0, 202, 197, 2, 198, 4, 2398 0, 0, 0, 0, 0, 279, 33, 0, 34, 0, 2399 35, 280, 0, 203, 38, 281, 0, 0, 282, 283, 2400 284, 285, 40, 41, 0, 286, 287, 0, 0, 0, 2401 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, 2402 0, 0, 0, 0, 0, 0, 0, 289, 0, 1000, 2403 0, 0, 0, 0, 0, 0, 291, 1001, 293, 294, 2404 295, 296, 2, 202, 4, 5, 6, 7, 8, 9, 2405 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2406 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2407 0, 0, 0, 0, 277, 30, 278, 0, 0, 0, 2408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2409 0, 0, 0, 0, 0, 0, 0, 279, 33, 0, 2410 34, 0, 35, 280, 0, 203, 38, 281, 0, 0, 2411 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2412 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 2413 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 2414 0, 373, 0, 0, 0, 0, 0, 0, 291, 375, 2415 293, 294, 295, 296, 1, 2, 3, 4, 5, 6, 2416 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2417 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2418 25, 26, 27, 28, 0, 0, 29, 0, 30, 31, 2419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2420 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 2421 0, 33, 0, 34, 0, 35, 36, 0, 37, 38, 2422 39, 0, 0, 0, 0, 0, 0, 40, 41, 0, 2423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2425 0, 0, 42, 0, 43, 0, 0, 0, -501, 0, 2426 0, 0, 44, 1, 2, 3, 4, 5, 6, 7, 2427 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2428 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2429 26, 27, 28, 0, 0, 29, 0, 30, 31, 0, 2430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2431 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 2432 33, 0, 34, 0, 35, 36, 0, 37, 38, 39, 2433 0, 0, 0, 0, 0, 0, 40, 41, 0, 0, 2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2436 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, 2437 0, 44, 1, 2, 202, 4, 5, 6, 7, 8, 2438 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2439 19, 20, 21, 22, 23, 24, -278, 0, 25, 26, 2440 27, 28, 0, 0, 29, 0, 30, 0, 0, 0, 2441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2442 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2443 0, 34, 0, 35, 0, 0, 37, 38, 0, 0, 2444 -278, 201, 2, 202, 4, 5, 6, 7, 8, 9, 2445 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2446 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2447 0, 0, 43, 0, 0, 30, 0, 0, 0, 0, 2448 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2449 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2450 34, 0, 35, 0, 0, 203, 38, 2, 202, 4, 2475 2451 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2476 2452 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2477 2453 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2478 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,2454 30, 204, 0, 0, 0, 0, 0, 0, 0, 267, 2479 2455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2480 0, 0, 0, 33, 0, 34, 0, 35, 0, 0, 2481 199, 200, 2, 198, 4, 5, 6, 7, 8, 9, 2456 0, 0, 0, 33, 0, 34, 0, 35, 36, 0, 2457 203, 38, 39, 0, 0, 0, 0, 0, 0, 40, 2458 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2460 0, 0, 0, 0, 42, 0, 204, 0, 0, 0, 2461 0, 0, 0, 0, 205, 2, 202, 4, 5, 6, 2462 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2463 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2464 25, 26, 27, 0, 0, 0, 0, 0, 30, 0, 2465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2467 0, 33, 0, 34, 0, 35, 0, 0, 37, 38, 2468 0, 0, 2, 202, 4, 5, 6, 7, 8, 9, 2482 2469 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2483 2470 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2484 0, 0, 0, 0, 0, 30, 201, 0, 0, 0, 2485 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 2486 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2487 34, 0, 35, 36, 0, 199, 200, 39, 0, 0, 2488 0, 0, 0, 0, 40, 41, 0, 0, 0, 0, 2489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2490 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 2491 0, 201, 0, 0, 0, 0, 0, 0, 0, 202, 2492 2, 198, 4, 5, 6, 7, 8, 9, 10, 11, 2493 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2494 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2495 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2497 0, 0, 0, 0, 0, 0, 33, 0, 34, 0, 2498 35, 0, 0, 37, 38, 2, 198, 4, 5, 6, 2499 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2500 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2501 25, 26, 27, 0, 0, 0, 0, 0, 30, 661, 2502 -3, 0, 0, 0, 0, 0, 0, 610, 0, 0, 2503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2504 0, 33, 0, 34, 0, 35, 0, 0, 37, 38, 2505 0, 0, 2, 198, 4, 5, 6, 7, 8, 9, 2506 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2507 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2508 0, 0, 0, -384, 661, 30, 0, 0, 0, 0, 2509 0, 0, 610, 0, 0, 0, 0, 0, 0, 0, 2471 0, 0, 0, -383, 676, 30, 0, 0, 0, 0, 2472 0, 0, 625, 0, 0, 0, 0, 0, 0, 0, 2510 2473 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2511 2474 34, 0, 35, 0, 0, 37, 38, 0, 0, 0, 2512 2475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2513 0, 0, 0, 0, 0, 0, 0, 13 55, 0, 0,2476 0, 0, 0, 0, 0, 0, 0, 1334, 0, 0, 2514 2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2515 0, 6 61, 0, 0, 0, 0, 0, 0, 0, 610,2516 2, 198, 4, 5, 6, 7, 8, 9, 10, 11,2478 0, 676, 0, 0, 0, 0, 0, 0, 0, 625, 2479 2, 202, 4, 5, 6, 7, 8, 9, 10, 11, 2517 2480 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2518 2481 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, … … 2522 2485 35, 30, 0, 37, 38, 0, 0, 0, 0, 0, 2523 2486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2524 0, 0, 0, 0, 33, 13 57, 0, 0, 0, 107,2525 0, 37, 38, 0, 0, 0, 0, 0, 0, 6 61,2526 0, 0, 0, 0, 0, 0, 0, 6 10, 2, 198,2487 0, 0, 0, 0, 33, 1336, 0, 0, 0, 108, 2488 0, 37, 38, 0, 0, 0, 0, 0, 0, 676, 2489 0, 0, 0, 0, 0, 0, 0, 625, 2, 202, 2527 2490 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2528 2491 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, … … 2531 2494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2532 2495 0, 0, 0, 0, 33, 0, 34, 0, 35, 0, 2533 0, 199, 200, 2, 198, 4, 5, 6, 7, 8,2496 0, 203, 38, 2, 202, 4, 5, 6, 7, 8, 2534 2497 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2535 2498 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2536 27, 0, 0, 0, 0, 0, 30, 26 0, 0, 0,2537 0, 0, 0, 0, 0, 6 05, 0, 0, 0, 0,2499 27, 0, 0, 0, 0, 0, 30, 266, 0, 0, 2500 0, 0, 0, 0, 0, 620, 0, 0, 0, 0, 2538 2501 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2539 0, 34, 0, 35, 0, 0, 37, 38, 2, 198,2502 0, 34, 0, 35, 0, 0, 37, 38, 2, 202, 2540 2503 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2541 2504 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2542 2505 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2543 0, 30, 573, 0, 0, 0, 0, 0, 0, 0,2544 6 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,2506 0, 30, 676, 0, 0, 0, 0, 0, 0, 0, 2507 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2545 2508 0, 0, 0, 0, 33, 0, 34, 0, 35, 0, 2546 0, 37, 38, 2, 198, 4, 5, 6, 7, 8,2509 0, 37, 38, 2, 202, 4, 5, 6, 7, 8, 2547 2510 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2548 2511 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2549 27, 0, 0, 0, 0, 0, 30, 661, 0, 0,2550 0, 0, 0, 0, 0, 6 10, 0, 0, 0, 0,2512 27, 0, 0, 0, 0, 0, 30, 590, 0, 0, 2513 0, 0, 0, 0, 0, 625, 0, 0, 0, 0, 2551 2514 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2552 0, 34, 0, 35, 0, 0, 199, 200, 8, 9,2515 0, 34, 0, 35, 0, 0, 203, 38, 8, 9, 2553 2516 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2554 2517 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2555 0, 0, 0, 0, 27 1, 30, 272, 0, 0, 0,2556 0, 0, 20 1, 0, 0, 0, 0, 0, 0, 0,2557 26 1, 0, 0, 0, 0, 0, 0, 273, 33, 0,2558 0, 0, 0, 2 74, 0, 37, 38, 275, 0, 0,2559 2 76, 277, 278, 279, 40, 41, 0, 280, 281, 0,2560 0, 0, 0, 0, 0, 28 2, 0, 0, 0, 0,2561 0, 0, 0, 0, 0, 0, 0, 0, 0, 28 3,2562 0, 5 05, 0, 0, 165, 0, 0, 0, 285, 286,2563 2 87, 288, 289, 290, 8, 9, 10, 11, 12, 13,2518 0, 0, 0, 0, 277, 30, 278, 0, 0, 0, 2519 0, 0, 204, 0, 0, 0, 0, 0, 0, 0, 2520 267, 0, 0, 0, 0, 0, 0, 279, 33, 0, 2521 0, 0, 0, 280, 0, 37, 38, 281, 0, 0, 2522 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2523 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 2524 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 2525 0, 590, -3, 0, 0, 0, 0, 0, 291, 591, 2526 293, 294, 295, 296, 8, 9, 10, 11, 12, 13, 2564 2527 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2565 2528 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2566 27 1, 30, 272, 0, 0, 0, 0, 0, 0, 0,2529 277, 30, 278, 0, 0, 0, 0, 0, 0, 0, 2567 2530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568 0, 0, 0, 27 3, 33, 0, 0, 0, 0, 274,2569 0, 37, 38, 2 75, 0, 0, 276, 277, 278, 279,2570 40, 41, 0, 28 0, 281, 0, 0, 0, 0, 0,2571 0, 28 2, 0, 0, 0, 0, 0, 0, 0, 0,2572 0, 0, 0, 0, 0, 28 3, 0, 573, -3, 0,2573 0, 0, 0, 0, 2 85, 574, 287, 288, 289, 290,2531 0, 0, 0, 279, 33, 0, 0, 0, 0, 640, 2532 0, 37, 38, 281, 0, 0, 282, 283, 284, 285, 2533 40, 41, 0, 286, 287, 0, 0, 0, 0, 0, 2534 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, 2535 0, 0, 0, 0, 0, 289, -35, 753, 0, 0, 2536 0, 0, 0, 0, 291, 292, 293, 294, 295, 296, 2574 2537 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2575 2538 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2576 26, 27, 0, 0, 0, 0, 27 1, 30, 272, 0,2539 26, 27, 0, 0, 0, 0, 277, 30, 278, 0, 2577 2540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2578 0, 0, 0, 0, 0, 0, 0, 0, 0, 27 3,2579 33, 0, 0, 0, 0, 624, 0, 37, 38, 275,2580 0, 0, 2 76, 277, 278, 279, 40, 41, 0, 280,2581 28 1, 0, 0, 0, 0, 0, 0, 282, 0, 0,2541 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 2542 33, 0, 0, 0, 0, 280, 0, 37, 38, 281, 2543 0, 0, 282, 283, 284, 285, 40, 41, 0, 286, 2544 287, 0, 0, 0, 0, 0, 0, 288, 0, 0, 2582 2545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2583 0, 28 3, -35, 738, 0, 0, 0, 0, 0, 0,2584 2 85, 286, 287, 288, 289, 290, 8, 9, 10, 11,2546 0, 289, 0, 290, 0, 0, 0, 0, 0, 0, 2547 291, 292, 293, 294, 295, 296, 8, 9, 10, 11, 2585 2548 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2586 2549 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2587 0, 0, 27 1, 30, 272, 0, 0, 0, 0, 0,2550 0, 0, 277, 30, 278, 0, 0, 0, 0, 0, 2588 2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2589 0, 0, 0, 0, 0, 27 3, 33, 0, 0, 0,2590 0, 2 74, 0, 37, 38, 275, 0, 0, 276, 277,2591 2 78, 279, 40, 41, 0, 280, 281, 0, 0, 0,2592 0, 0, 0, 28 2, 0, 0, 0, 0, 0, 0,2593 0, 0, 0, 0, 0, 0, 0, 28 3, 0, 284,2594 0, 0, 0, 0, 0, 0, 2 85, 286, 287, 288,2595 2 89, 290, 8, 9, 10, 11, 12, 13, 14, 15,2552 0, 0, 0, 0, 0, 279, 33, 0, 0, 0, 2553 0, 280, 0, 37, 38, 281, 0, 0, 282, 283, 2554 284, 285, 40, 41, 0, 286, 287, 0, 0, 0, 2555 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, 2556 0, 0, 0, 0, 0, 0, 0, 289, 0, 154, 2557 0, 0, 0, 0, 0, 0, 291, 292, 293, 294, 2558 295, 296, 8, 9, 10, 11, 12, 13, 14, 15, 2596 2559 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2597 0, 25, 26, 27, 0, 0, 0, 0, 27 1, 30,2598 27 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,2560 0, 25, 26, 27, 0, 0, 0, 0, 277, 30, 2561 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2599 2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2600 0, 27 3, 33, 0, 0, 0, 0, 274, 0, 37,2601 38, 2 75, 0, 0, 276, 277, 278, 279, 40, 41,2602 0, 28 0, 281, 0, 0, 0, 0, 0, 0, 282,2563 0, 279, 33, 0, 0, 0, 0, 280, 0, 37, 2564 38, 281, 0, 0, 282, 283, 284, 285, 40, 41, 2565 0, 286, 287, 0, 0, 0, 0, 0, 0, 288, 2603 2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2604 0, 0, 0, 28 3, 0, 152, 0, 0, 0, 0,2605 0, 0, 2 85, 286, 287, 288, 289, 290, 8, 9,2567 0, 0, 0, 289, 0, 590, 0, 0, 0, 0, 2568 0, 0, 291, 591, 293, 294, 295, 296, 8, 9, 2606 2569 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2607 2570 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2608 0, 0, 0, 0, 27 1, 30, 272, 0, 0, 0,2571 0, 0, 0, 0, 277, 30, 278, 0, 0, 0, 2609 2572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2610 0, 0, 0, 0, 0, 0, 0, 273, 33, 0, 2611 0, 0, 0, 274, 0, 37, 38, 275, 0, 0, 2612 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2613 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2615 0, 573, 0, 0, 0, 0, 0, 0, 285, 574, 2616 287, 288, 289, 290, 8, 9, 10, 11, 12, 13, 2617 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2618 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2619 271, 30, 272, 0, 0, 0, 0, 0, 0, 0, 2573 0, 0, 0, 0, 0, 0, 0, 279, 33, 0, 2574 0, 0, 0, 280, 0, 37, 38, 281, 0, 0, 2575 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2576 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 2578 0, 373, 0, 0, 0, 0, 0, 0, 291, 375, 2579 293, 294, 295, 296, 467, 2, 202, 4, 5, 6, 2580 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2581 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2582 25, 26, 27, 0, 0, 0, 0, 0, 30, 8, 2583 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2584 19, 20, 21, 22, 23, 24, -278, 0, 25, 26, 2585 27, 33, 0, 34, 0, 35, 30, 0, 37, 38, 2586 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2587 16, 17, 18, 19, 20, 21, 22, 23, 24, 33, 2588 0, 25, 26, 27, 36, 0, 331, 332, 39, 30, 2589 -278, 0, 0, 0, 0, 40, 41, -3, 0, 0, 2620 2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2621 0, 0, 0, 273, 33, 0, 0, 0, 0, 274, 2622 0, 37, 38, 275, 0, 0, 276, 277, 278, 279, 2623 40, 41, 0, 280, 281, 0, 0, 0, 0, 0, 2624 0, 282, 0, 0, 0, 0, 0, 0, 0, 0, 2625 0, 0, 0, 0, 0, 283, 0, 361, 0, 0, 2626 0, 0, 0, 0, 285, 363, 287, 288, 289, 290, 2627 455, 2, 198, 4, 5, 6, 7, 8, 9, 10, 2628 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2629 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2630 0, 0, 0, 0, 30, 8, 9, 10, 11, 12, 2631 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2632 23, 24, -279, 0, 25, 26, 27, 33, 0, 34, 2633 0, 35, 30, 0, 37, 38, 0, 0, 8, 9, 2634 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2635 20, 21, 22, 23, 24, 33, 0, 25, 26, 27, 2636 36, 0, 805, 38, 39, 30, -279, 0, 0, 0, 2637 0, 40, 41, -3, 0, 0, 0, 0, 0, 0, 2638 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2639 0, 0, 0, 36, 0, 37, 38, 39, 567, 0, 2640 0, 0, 0, 0, 40, 41, 108, 8, 9, 10, 2641 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2642 21, 22, 23, 24, 0, 0, 25, 26, 27, 42, 2643 0, 152, 0, 0, 30, 0, 0, 0, 0, 44, 2591 0, 0, 33, 0, 0, 0, 0, 36, 0, 37, 2592 38, 39, 333, 0, 0, 0, 0, 0, 40, 41, 2593 109, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2594 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2595 25, 26, 27, 42, 0, 154, 0, 0, 30, 0, 2596 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 2644 2597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2645 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2646 0, 0, 36, 0, 37, 38, 39, 0, 0, 0, 2647 0, 0, 0, 40, 41, 8, 9, 10, 11, 12, 2648 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2649 23, 24, 0, 0, 25, 26, 27, 0, 42, 0, 2650 43, 0, 30, 0, 0, 0, 0, 0, 44, 0, 2651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2652 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2653 36, 0, 199, 200, 39, 0, 0, 0, 0, 0, 2654 0, 40, 41, 8, 9, 10, 11, 12, 13, 14, 2655 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2656 0, 0, 25, 26, 27, 0, 42, 0, 260, 0, 2657 30, 0, 0, 0, 0, 0, 202, 0, 0, 0, 2658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2659 0, 0, 0, 33, 0, 0, 0, 0, 36, 0, 2660 805, 38, 39, 0, 0, 0, 0, 0, 0, 40, 2661 41, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2662 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2663 25, 26, 27, 0, 1021, 0, 567, 0, 30, 0, 2664 0, 0, 0, 0, 610, 0, 0, 0, 0, 0, 2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2666 0, 33, 0, 0, 0, 0, 36, 0, 805, 38, 2598 0, 33, 0, 0, 0, 0, 36, 0, 37, 38, 2667 2599 39, 0, 0, 0, 0, 0, 0, 40, 41, 8, 2668 2600 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2669 2601 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2670 27, 0, 0, 0, 567, 0, 30, 434, 0, 0,2671 0, 0, 108, 0, 0, 0, 0, 0, 0, 0,2602 27, 0, 42, 0, 43, 0, 30, 0, 0, 0, 2603 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 2672 2604 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2673 0, 0, 0, 0, 0, 0, 37, 38, 8, 9, 2674 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2675 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2676 0, 0, 0, 0, 0, 30, 434, 0, 0, 0, 2677 0, 0, 435, 0, 0, 0, 685, 0, 0, 0, 2678 108, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2679 0, 0, 0, 0, 0, 37, 38, 8, 9, 10, 2605 0, 0, 0, 0, 36, 0, 203, 38, 39, 0, 2606 0, 0, 0, 0, 0, 40, 41, 8, 9, 10, 2680 2607 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2681 2608 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2682 0, 0, 0, 0, 30, 434, 0, 0, 0, 0, 2683 0, 435, 0, 0, 0, 922, 0, 0, 0, 108, 2609 42, 0, 266, 0, 30, 0, 0, 0, 0, 0, 2610 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2611 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2612 0, 0, 36, 0, 331, 332, 39, 0, 0, 0, 2613 0, 0, 0, 40, 41, 8, 9, 10, 11, 12, 2614 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2615 23, 24, 0, 0, 25, 26, 27, 0, 634, 0, 2616 333, 0, 30, 0, 0, 0, 0, 0, 625, 0, 2617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2618 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2619 36, 0, 331, 332, 39, 0, 0, 0, 0, 0, 2620 0, 40, 41, 8, 9, 10, 11, 12, 13, 14, 2621 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2622 -278, 0, 25, 26, 27, 0, 0, 0, 333, 0, 2623 30, 0, 0, 0, 0, 0, 109, 0, 0, 0, 2624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2625 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2626 37, 38, 0, 0, -278, 8, 9, 10, 11, 12, 2627 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2628 23, 24, -278, 0, 25, 26, 27, 0, 0, 0, 2629 0, 0, 30, 0, 634, 0, 333, 0, 0, 0, 2630 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 2631 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2632 0, 0, 37, 38, 0, 0, -278, 8, 9, 10, 2633 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2634 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2635 0, 0, 0, 0, 30, 446, 634, 0, 333, 0, 2636 0, 0, 0, 0, 0, 0, 625, 0, 0, 0, 2684 2637 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2685 2638 0, 0, 0, 0, 37, 38, 8, 9, 10, 11, … … 2687 2640 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2688 2641 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2689 4 35, 0, 0, 0, 1221, 0, 0, 0, 108, 0,2642 447, 0, 0, 0, 1209, 0, 0, 0, 109, 0, 2690 2643 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2691 0, 0, 0, 37, 38, 8, 9, 10, 11, 12,2644 0, 108, 0, 37, 38, 8, 9, 10, 11, 12, 2692 2645 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2693 2646 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2694 0, 0, 30, 0, 0, 0, 0, 1021, 0, 567,2695 0, 0, 0, 0, 0, 0, 0, 10 8, 0, 0,2647 0, 0, 30, 446, 0, 0, 0, 0, 0, 43, 2648 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 2696 2649 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2697 2650 0, 0, 37, 38, 8, 9, 10, 11, 12, 13, 2698 2651 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2699 2652 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2700 0, 30, 0, 0, 0, 0, 1021, 0, 567, 0,2701 0, 0, 0, 0, 0, 0, 610, 0, 0, 0,2653 0, 30, 0, 0, 0, 0, 0, 0, 447, 0, 2654 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 2702 2655 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2703 2656 0, 37, 38, 8, 9, 10, 11, 12, 13, 14, 2704 2657 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2705 2658 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2706 30, 0, 0, 0, 0, 0, 0, 247, 0, 0,2707 0, 0, 0, 0, 0, 10 8, 0, 0, 0, 0,2659 30, 0, 0, 0, 0, 634, 0, 333, 0, 0, 2660 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 2708 2661 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2709 2662 37, 38, 8, 9, 10, 11, 12, 13, 14, 15, 2710 2663 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2711 2664 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2712 0, 0, 0, 0, 0, 0, 152, 0, 0, 0,2713 0, 0, 0, 0, 108, 0, 0, 0, 0, 0,2714 0, 0, 33, 0, 0, 0, 0, 0, 0, 199,2715 200, 8, 9, 10, 11, 12, 13, 14, 15, 16,2665 0, 0, 0, 0, 634, 0, 333, 0, 0, 0, 2666 0, 0, 0, 0, 625, 0, 0, 0, 0, 0, 2667 0, 0, 33, 0, 0, 0, 0, 0, 0, 37, 2668 38, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2716 2669 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2717 2670 25, 26, 27, 0, 0, 0, 0, 0, 30, 0, 2718 0, 0, 0, 0, 0, 2 60, 0, 0, 0, 0,2719 0, 0, 0, 261, 0, 0, 0, 0, 0, 0,2671 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 2672 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 2720 2673 0, 33, 0, 0, 0, 0, 0, 0, 37, 38, 2721 2674 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2722 2675 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2723 2676 26, 27, 0, 0, 0, 0, 0, 30, 0, 0, 2724 0, 0, 0, 0, 247, 0, 0, 0, 0, 0,2725 0, 0, 610, 0, 0, 0, 0, 0, 0, 0,2726 33, 0, 0, 0, 0, 0, 0, 37, 38, 8,2677 0, 0, 0, 0, 154, 0, 0, 0, 0, 0, 2678 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 2679 33, 0, 0, 0, 0, 0, 0, 203, 38, 8, 2727 2680 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2728 2681 19, 20, 21, 22, 23, 24, 0, 0, 25, 26, 2729 2682 27, 0, 0, 0, 0, 0, 30, 0, 0, 0, 2730 0, 0, 0, 567, 0, 0, 0, 0, 0, 0,2731 0, 610, 0, 0, 0, 0, 0, 0, 0, 33,2683 0, 0, 0, 266, 0, 0, 0, 0, 0, 0, 2684 0, 267, 0, 0, 0, 0, 0, 0, 0, 33, 2732 2685 0, 0, 0, 0, 0, 0, 37, 38, 8, 9, 2733 2686 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2734 2687 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2735 2688 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 2736 0, 0, 435, 0, 0, 0, 0, 0, 0, 0,2737 108, 0, 0, 0, 0, 0, 0, 0, 33, 0,2738 0, 0, 0, 0, 0, 199, 200, 8, 9, 10,2689 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 2690 625, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2691 0, 0, 0, 0, 0, 37, 38, 8, 9, 10, 2739 2692 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2740 2693 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2741 2694 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2742 0, 260, 0, 0, 0, 0, 0, 0, 0, 605,2695 0, 333, 0, 0, 0, 0, 0, 0, 0, 625, 2743 2696 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2744 2697 0, 0, 0, 0, 37, 38, 8, 9, 10, 11, … … 2746 2699 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2747 2700 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2748 573, 0, 0, 0, 0, 0, 0, 0, 610, 0,2701 447, 0, 0, 0, 0, 0, 0, 0, 109, 0, 2749 2702 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2750 0, 0, 0, 37, 38, 8, 9, 10, 11, 12,2703 0, 0, 0, 203, 38, 8, 9, 10, 11, 12, 2751 2704 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2752 2705 23, 24, 0, 0, 25, 26, 27, 0, 0, 0, 2753 0, 0, 30, 0, 0, 0, 0, 0, 0, 43,2754 0, 0, 0, 0, 0, 0, 0, 108, 0, 0,2706 0, 0, 30, 0, 0, 0, 0, 0, 0, 266, 2707 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 2755 2708 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2756 0, 0, 37, 38, 2, 198, 4, 5, 6, 7, 2757 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2758 18, 19, 20, 21, 22, 23, 24, 0, 0, 25, 2759 26, 27, 0, 0, 0, 0, 0, 30, 567, 0, 2760 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, 2709 0, 0, 37, 38, 8, 9, 10, 11, 12, 13, 2710 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2711 24, 0, 0, 25, 26, 27, 0, 0, 0, 0, 2712 0, 30, 0, 0, 0, 0, 0, 0, 590, 0, 2713 0, 0, 0, 0, 0, 0, 625, 0, 0, 0, 2714 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2715 0, 37, 38, 8, 9, 10, 11, 12, 13, 14, 2716 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2717 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2718 30, 0, 0, 0, 0, 0, 0, 333, 0, 0, 2719 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 2720 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2721 37, 38, 8, 9, 10, 11, 12, 13, 14, 15, 2722 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2723 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2724 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 2725 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 2726 0, 0, 33, 0, 0, 0, 0, 0, 0, 203, 2727 38, 2, 202, 4, 5, 6, 7, 8, 9, 10, 2728 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2729 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, 2730 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2731 0, 0, 0, 620, 0, 0, 0, 0, 0, 0, 2732 0, 0, 0, 0, 0, 0, 0, 33, 0, 34, 2733 0, 35, 0, 0, 37, 38, 0, 277, 0, 278, 2734 1043, 0, 1044, 0, 0, 1045, 1046, 1047, 1048, 1049, 2735 1050, 1051, 1052, 1482, 1053, 0, 0, 1054, 32, 0, 2736 279, 0, 0, 0, 0, 0, 640, 0, 0, -396, 2737 281, 0, 0, 282, 283, 284, 285, 40, 41, 0, 2738 286, 287, 0, 0, 0, 0, 0, 0, 288, 0, 2761 2739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2762 33, 0, 34, 0, 35, 0, 0, 37, 38, 0, 2763 271, 0, 272, 1041, 0, 1042, 0, 0, 1043, 1044, 2764 1045, 1046, 1047, 1048, 1049, 1050, 1506, 1051, 0, 0, 2765 1052, 32, 0, 273, 0, 0, 0, 0, 0, 624, 2766 0, 0, -397, 275, 0, 0, 276, 277, 278, 279, 2767 40, 41, 0, 280, 281, 0, 0, 0, 0, 0, 2768 0, 282, 0, 0, 0, 0, 0, 0, 0, 0, 2769 0, 0, 0, 0, 0, 283, 0, 361, 0, 0, 2770 165, 0, 0, 0, 285, 363, 287, 288, 289, 290, 2771 0, 271, 0, 272, 1041, 0, 1042, 0, -126, 1043, 2772 1044, 1045, 1046, 1047, 1048, 1049, 1050, 0, 1051, 0, 2773 0, 1052, 32, 0, 273, 0, 0, 0, 0, 0, 2774 624, 0, 0, 0, 275, 0, 0, 276, 277, 278, 2775 279, 40, 41, 0, 280, 281, 0, 0, 0, 0, 2776 0, 0, 282, 0, 0, 0, 0, 0, 0, 0, 2777 0, 0, 0, 0, 0, 0, 283, 0, 361, 0, 2778 0, 165, 0, 0, 0, 285, 363, 287, 288, 289, 2779 290, 0, 0, 0, 0, 0, 0, 0, 0, -126, 2780 2, 198, 4, 5, 6, 7, 8, 9, 10, 11, 2781 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2782 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2783 0, 0, 0, 30, 8, 9, 10, 11, 12, 13, 2784 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2785 24, 0, 0, 25, 26, 27, 33, 0, 34, 0, 2786 35, 30, 0, 37, 38, 0, 271, 0, 272, 1041, 2787 0, 1042, 1402, 1403, 1043, 1044, 1045, 1046, 1047, 1048, 2788 1049, 1050, 1506, 1051, 33, 1314, 1052, 32, 0, 273, 2789 0, 37, 38, 0, 0, 624, 0, 0, 0, 275, 2790 0, 0, 276, 277, 278, 279, 40, 41, 0, 280, 2791 281, 0, 0, 0, 0, 0, 0, 282, 0, 0, 2740 0, 0, 289, 0, 373, 0, 0, 167, 0, 0, 2741 0, 291, 375, 293, 294, 295, 296, 0, 277, 0, 2742 278, 1043, 0, 1044, 0, -126, 1045, 1046, 1047, 1048, 2743 1049, 1050, 1051, 1052, 0, 1053, 0, 0, 1054, 32, 2744 0, 279, 0, 0, 0, 0, 0, 640, 0, 0, 2745 0, 281, 0, 0, 282, 283, 284, 285, 40, 41, 2746 0, 286, 287, 0, 0, 0, 0, 0, 0, 288, 2792 2747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2793 0, 283, 0, 361, 0, 0, 165, 0, 0, 0, 2794 285, 363, 287, 288, 289, 290, 271, 0, 272, 1041, 2795 0, 1042, 1402, 1403, 1043, 1044, 1045, 1046, 1047, 1048, 2796 1049, 1050, 0, 1051, 0, 0, 1052, 32, 0, 273, 2797 0, 0, 0, 0, 0, 624, 0, 0, 0, 275, 2798 0, 0, 276, 277, 278, 279, 40, 41, 0, 280, 2799 281, 0, 0, 0, 0, 0, 0, 282, 0, 0, 2748 0, 0, 0, 289, 0, 373, 0, 0, 167, 0, 2749 0, 0, 291, 375, 293, 294, 295, 296, 0, 0, 2750 0, 0, 0, 0, 0, 0, -126, 2, 202, 4, 2751 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2752 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2753 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2754 30, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2755 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2756 25, 26, 27, 33, 0, 34, 0, 35, 30, 0, 2757 37, 38, 0, 277, 0, 278, 1043, 0, 1044, 1378, 2758 1379, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1482, 2759 1053, 33, 1295, 1054, 32, 0, 279, 0, 37, 38, 2760 0, 0, 640, 0, 0, 0, 281, 0, 0, 282, 2761 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2762 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, 2763 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 2764 373, 0, 0, 167, 0, 0, 0, 291, 375, 293, 2765 294, 295, 296, 277, 0, 278, 1043, 0, 1044, 1378, 2766 1379, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 0, 2767 1053, 0, 0, 1054, 32, 0, 279, 0, 0, 0, 2768 0, 0, 640, 0, 0, 0, 281, 0, 0, 282, 2769 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2770 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, 2771 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 2772 373, 0, 0, 167, 0, 0, 0, 291, 375, 293, 2773 294, 295, 296, 277, 0, 278, 1043, 0, 1044, 0, 2774 0, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 0, 2775 1053, 0, 0, 1054, 32, 0, 279, 0, 0, 0, 2776 0, 0, 640, 0, 0, 0, 281, 0, 0, 282, 2777 283, 284, 285, 40, 41, 0, 286, 287, 0, 0, 2778 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, 2779 277, 0, 278, 0, 0, 0, 0, 0, 289, 0, 2780 373, 0, 0, 167, 0, 0, 0, 291, 375, 293, 2781 294, 295, 296, 279, 0, 0, 0, 0, 0, 280, 2782 0, 0, 0, 281, 0, 0, 282, 283, 284, 285, 2783 40, 41, 0, 286, 287, 0, 0, 0, 0, 0, 2784 0, 288, 0, 0, 0, 0, 0, 277, 0, 278, 2785 0, 0, 0, 0, 0, 289, 0, 373, 0, 0, 2786 0, 0, 768, 0, 291, 375, 293, 294, 295, 296, 2787 279, 0, 0, 0, 0, 0, 280, 0, 0, 0, 2788 281, 0, 0, 282, 283, 284, 285, 40, 41, 0, 2789 286, 287, 0, 0, 0, 0, 0, 0, 288, 0, 2790 0, 0, 0, 0, 277, 0, 278, 0, 0, 0, 2791 0, 0, 289, 0, 373, 0, 0, 0, 0, 0, 2792 0, 291, 375, 293, 294, 295, 296, 279, 0, 0, 2793 0, 0, 0, 280, 0, 0, 0, 281, 0, 0, 2794 282, 283, 284, 285, 40, 41, 0, 286, 287, 0, 2795 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 2796 0, 277, 0, 278, 0, 0, 0, 0, 0, 289, 2797 0, 373, 0, 0, 0, 0, 0, 0, 291, 723, 2798 293, 294, 295, 296, 279, 0, 0, 0, 0, 0, 2799 640, 0, 0, 0, 281, 0, 0, 282, 283, 284, 2800 285, 40, 41, 0, 286, 287, 0, 0, 0, 0, 2801 0, 0, 288, 0, 0, 0, 0, 0, 277, 0, 2802 278, 0, 0, 0, 0, 0, 289, 0, 772, 0, 2803 0, 0, 0, 0, 0, 291, 375, 293, 294, 295, 2804 296, 279, 0, 0, 0, 0, 0, 280, 0, 0, 2805 0, 281, 0, 0, 282, 283, 284, 285, 40, 41, 2806 0, 286, 287, 0, 0, 0, 0, 0, 0, 288, 2807 0, 0, 0, 0, 0, 277, 0, 278, 0, 0, 2808 0, 0, 0, 289, 0, 373, 0, 0, 0, 0, 2809 0, 0, 291, 813, 293, 294, 295, 296, 279, 0, 2810 0, 0, 0, 0, 280, 0, 0, 0, 281, 0, 2811 0, 282, 283, 284, 285, 40, 41, 0, 286, 287, 2812 0, 0, 0, 0, 0, 0, 288, 0, 0, 0, 2813 0, 0, 277, 0, 278, 0, 0, 0, 0, 0, 2814 289, 0, 0, 0, 0, 0, 0, 0, 0, 291, 2815 375, 293, 294, 295, 296, 279, 0, 0, 0, 0, 2816 0, 280, 0, 0, 0, 281, 0, 0, 282, 283, 2817 284, 285, 40, 41, 0, 286, 287, 0, 0, 0, 2818 0, 0, 0, 288, 0, 0, 0, 0, 0, 277, 2819 0, 278, 0, 0, 0, 0, 0, 507, 0, 0, 2820 0, 0, 0, 0, 0, 0, 291, 375, 293, 294, 2821 295, 296, 279, 0, 0, 0, 0, 0, 280, 0, 2822 0, 0, 281, 0, 0, 282, 283, 284, 285, 40, 2823 41, 0, 286, 287, 0, 0, 0, 0, 0, 0, 2824 288, 0, 0, 0, 0, 0, 277, 0, 278, 0, 2825 0, 0, 0, 0, 510, 0, 0, 0, 0, 0, 2826 0, 0, 0, 291, 375, 293, 294, 295, 296, 279, 2827 0, 0, 0, 0, 0, 280, 0, 0, 0, 281, 2828 0, 0, 282, 283, 284, 285, 40, 41, 0, 286, 2829 287, 0, 0, 0, 0, 0, 0, 288, 0, 0, 2800 2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2801 0, 283, 0, 361, 0, 0, 165, 0, 0, 0, 2802 285, 363, 287, 288, 289, 290, 271, 0, 272, 1041, 2803 0, 1042, 0, 0, 1043, 1044, 1045, 1046, 1047, 1048, 2804 1049, 1050, 0, 1051, 0, 0, 1052, 32, 0, 273, 2805 0, 0, 0, 0, 0, 624, 0, 0, 0, 275, 2806 0, 0, 276, 277, 278, 279, 40, 41, 0, 280, 2807 281, 0, 0, 0, 0, 0, 0, 282, 0, 0, 2808 0, 0, 0, 271, 0, 272, 0, 0, 0, 0, 2809 0, 283, 0, 361, 0, 0, 165, 0, 0, 0, 2810 285, 363, 287, 288, 289, 290, 273, 0, 0, 0, 2811 0, 0, 274, 0, 0, 0, 275, 0, 0, 276, 2812 277, 278, 279, 40, 41, 0, 280, 281, 0, 0, 2813 0, 0, 0, 0, 282, 0, 0, 0, 0, 0, 2814 271, 0, 272, 0, 0, 0, 0, 0, 283, 0, 2815 361, 0, 0, 966, 0, 0, 0, 285, 363, 287, 2816 288, 289, 290, 273, 0, 0, 0, 0, 0, 274, 2817 0, 0, 0, 275, 0, 0, 276, 277, 278, 279, 2818 40, 41, 0, 280, 281, 0, 0, 0, 0, 0, 2819 0, 282, 0, 0, 0, 0, 0, 271, 0, 272, 2820 0, 0, 0, 0, 0, 283, 0, 361, 0, 0, 2821 0, 0, 0, 0, 285, 363, 287, 288, 289, 290, 2822 273, 0, 0, 0, 0, 0, 274, 0, 0, 0, 2823 275, 0, 0, 276, 277, 278, 279, 40, 41, 0, 2824 280, 281, 0, 0, 0, 0, 0, 0, 282, 0, 2825 0, 0, 0, 0, 271, 0, 272, 0, 0, 0, 2826 0, 0, 283, 0, 361, 0, 0, 0, 0, 0, 2827 0, 285, 708, 287, 288, 289, 290, 273, 0, 0, 2828 0, 0, 0, 624, 0, 0, 0, 275, 0, 0, 2829 276, 277, 278, 279, 40, 41, 0, 280, 281, 0, 2830 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 2831 0, 271, 0, 272, 0, 0, 0, 0, 0, 283, 2832 0, 757, 0, 0, 0, 0, 0, 0, 285, 363, 2833 287, 288, 289, 290, 273, 0, 0, 0, 0, 0, 2834 274, 0, 0, 0, 275, 0, 0, 276, 277, 278, 2835 279, 40, 41, 0, 280, 281, 0, 0, 0, 0, 2836 0, 0, 282, 0, 0, 0, 0, 0, 271, 0, 2837 272, 0, 0, 0, 0, 0, 283, 0, 361, 0, 2838 0, 0, 0, 0, 0, 285, 888, 287, 288, 289, 2839 290, 273, 0, 0, 0, 0, 0, 274, 0, 0, 2840 0, 275, 0, 0, 276, 277, 278, 279, 40, 41, 2841 0, 280, 281, 0, 0, 0, 0, 0, 0, 282, 2842 0, 0, 0, 0, 0, 271, 0, 272, 0, 0, 2843 0, 0, 0, 498, 0, 0, 0, 0, 0, 0, 2844 0, 0, 285, 363, 287, 288, 289, 290, 273, 0, 2845 0, 0, 0, 0, 274, 0, 0, 0, 275, 0, 2846 0, 276, 277, 278, 279, 40, 41, 0, 280, 281, 2847 0, 0, 0, 0, 0, 0, 282, 0, 0, 0, 2848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2849 501, 0, 0, 0, 0, 0, 0, 0, 0, 285, 2850 363, 287, 288, 289, 290, 2, 198, 4, 5, 6, 2851 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2852 17, 18, 19, 20, 21, 22, 23, 24, 0, 0, 2853 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 2831 0, 513, 0, 0, 0, 0, 0, 0, 0, 0, 2832 291, 375, 293, 294, 295, 296, 2, 202, 4, 5, 2833 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2834 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2835 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 2854 2836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2855 2837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856 0, 33, 0, 34, 0, 35, 36, 0, 168, 169, 2857 39, 0, 0, 0, 0, 0, 0, 40, 41, 197, 2858 2, 198, 4, 5, 6, 7, 8, 9, 10, 11, 2859 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2860 22, 23, 24, 0, 0, 25, 26, 27, 0, 0, 2861 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2863 0, 0, 0, 0, 0, 0, 33, 0, 34, 0, 2864 35, 0, 0, 199, 200, 455, 2, 198, 4, 5, 2865 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2866 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, 2867 0, 25, 26, 27, 0, 0, 0, 0, 0, 30, 2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2870 0, 0, 33, 0, 34, 0, 35, 0, 0, 37, 2871 38, 2, 198, 4, 5, 6, 7, 8, 9, 10, 2838 0, 0, 33, 0, 34, 0, 35, 36, 0, 170, 2839 171, 39, 0, 0, 0, 0, 0, 0, 40, 41, 2840 201, 2, 202, 4, 5, 6, 7, 8, 9, 10, 2872 2841 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2873 2842 21, 22, 23, 24, 0, 0, 25, 26, 27, 0, … … 2875 2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2876 2845 0, 0, 0, 0, 0, 0, 0, 33, 0, 34, 2877 0, 35, 0, 0, 199, 200, 8, 9, 10, 11, 2878 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2879 22, 23, 24, 0, 0, 25, 26, 27, 473, 474, 2880 475, 0, 0, 30, 8, 9, 10, 11, 12, 13, 2881 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2882 24, 0, 0, 25, 26, 27, 33, 0, 0, 0, 2883 0, 30, 0, 37, 38, 0, 0, 0, 0, 0, 2846 0, 35, 0, 0, 203, 38, 467, 2, 202, 4, 2847 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2848 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2849 0, 0, 25, 26, 27, 0, 0, 0, 0, 0, 2850 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2884 2851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2885 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 2886 0, 199, 200 2852 0, 0, 0, 33, 0, 34, 0, 35, 0, 0, 2853 37, 38, 2, 202, 4, 5, 6, 7, 8, 9, 2854 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2855 20, 21, 22, 23, 24, 0, 0, 25, 26, 27, 2856 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2858 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2859 34, 0, 35, 0, 0, 203, 38, 8, 9, 10, 2860 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2861 21, 22, 23, 24, 0, 0, 25, 26, 27, 485, 2862 486, 487, 0, 0, 30, 8, 9, 10, 11, 12, 2863 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2864 23, 24, 0, 0, 25, 26, 27, 33, 0, 0, 2865 0, 0, 30, 0, 37, 38, 0, 0, 0, 0, 2866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2867 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2868 0, 0, 203, 38 2887 2869 }; 2888 2870 2889 2871 #define yypact_value_is_default(yystate) \ 2890 ((yystate) == (-12 82))2872 ((yystate) == (-1269)) 2891 2873 2892 2874 #define yytable_value_is_error(yytable_value) \ … … 2895 2877 static const yytype_int16 yycheck[] = 2896 2878 { 2897 1, 42, 0, 42, 0, 42, 178, 1, 230, 180, 2898 178, 178, 270, 32, 112, 179, 629, 178, 519, 178, 2899 178, 163, 102, 178, 269, 211, 980, 326, 587, 179, 2900 331, 672, 733, 31, 437, 31, 672, 672, 480, 605, 2901 973, 585, 484, 873, 42, 587, 44, 585, 44, 621, 2902 399, 0, 585, 346, 1020, 1324, 54, 350, 557, 436, 2903 31, 37, 60, 635, 60, 63, 873, 63, 66, 418, 2904 66, 443, 66, 65, 751, 42, 75, 426, 37, 1033, 2905 251, 252, 31, 255, 697, 0, 1, 255, 255, 0, 2906 1, 101, 256, 65, 255, 193, 255, 255, 478, 585, 2907 255, 1019, 1020, 585, 37, 103, 256, 748, 106, 0, 2908 42, 585, 748, 748, 112, 585, 31, 407, 408, 111, 2909 31, 27, 0, 42, 101, 1406, 220, 103, 102, 44, 2910 42, 43, 509, 88, 108, 37, 65, 178, 710, 178, 2911 31, 178, 101, 237, 103, 143, 123, 143, 63, 65, 2912 1419, 66, 124, 31, 52, 66, 57, 155, 0, 155, 2913 37, 42, 43, 108, 42, 71, 44, 122, 101, 1402, 2914 103, 470, 1040, 37, 103, 476, 75, 196, 44, 124, 2915 178, 179, 60, 179, 121, 63, 123, 246, 66, 31, 2916 412, 588, 482, 108, 106, 193, 94, 594, 113, 101, 2917 101, 103, 1483, 102, 202, 391, 202, 1488, 124, 589, 2918 500, 178, 210, 593, 255, 213, 255, 213, 255, 108, 2919 0, 78, 1503, 387, 101, 106, 103, 142, 1461, 1510, 2920 0, 1, 718, 1040, 614, 124, 718, 387, 618, 101, 2921 155, 242, 108, 241, 718, 241, 178, 65, 105, 104, 2922 54, 31, 108, 108, 620, 621, 65, 255, 256, 178, 2923 256, 31, 1228, 822, 262, 143, 101, 811, 124, 635, 2924 241, 269, 436, 811, 564, 574, 142, 155, 811, 377, 2925 822, 282, 123, 63, 65, 103, 436, 202, 186, 692, 2926 37, 790, 241, 63, 103, 106, 66, 102, 213, 103, 2927 178, 179, 106, 108, 468, 982, 605, 405, 1241, 108, 2928 208, 610, 410, 1279, 3, 230, 231, 666, 468, 317, 2929 218, 317, 103, 616, 202, 811, 241, 42, 43, 811, 2930 241, 89, 330, 331, 3, 213, 202, 811, 253, 89, 2931 399, 811, 108, 108, 710, 102, 261, 1488, 1049, 347, 2932 241, 0, 109, 351, 101, 246, 103, 115, 124, 418, 2933 1278, 1279, 65, 241, 230, 115, 69, 426, 283, 1510, 2934 0, 286, 671, 76, 77, 101, 935, 255, 123, 377, 2935 1210, 108, 65, 104, 67, 283, 69, 108, 101, 387, 2936 934, 387, 107, 76, 77, 261, 934, 124, 101, 241, 2937 103, 934, 65, 1210, 67, 68, 210, 405, 111, 108, 2938 65, 326, 410, 108, 69, 673, 813, 332, 101, 101, 2939 286, 76, 77, 102, 1292, 124, 992, 470, 111, 124, 2940 109, 108, 1398, 213, 1388, 1389, 108, 695, 436, 317, 2941 103, 108, 101, 213, 123, 744, 101, 124, 65, 1021, 2942 67, 68, 124, 331, 455, 1, 111, 124, 262, 104, 2943 326, 241, 460, 108, 844, 269, 103, 108, 639, 106, 2944 468, 241, 468, 102, 472, 104, 472, 978, 476, 108, 2945 1398, 0, 104, 124, 101, 1292, 108, 732, 630, 106, 2946 101, 102, 407, 408, 123, 124, 102, 412, 44, 500, 2947 672, 943, 582, 109, 672, 672, 1119, 101, 399, 387, 2948 674, 672, 31, 672, 672, 516, 101, 672, 519, 434, 2949 521, 822, 437, 472, 674, 423, 330, 418, 443, 65, 2950 902, 67, 68, 108, 108, 426, 913, 1096, 108, 637, 2951 101, 407, 408, 347, 921, 1464, 412, 351, 101, 124, 2952 124, 1470, 332, 102, 124, 470, 102, 472, 436, 457, 2953 940, 472, 108, 113, 114, 101, 1485, 482, 569, 63, 2954 106, 1490, 1440, 210, 102, 1147, 1148, 620, 621, 1447, 2955 495, 472, 107, 498, 582, 500, 501, 585, 965, 587, 2956 1488, 1292, 635, 102, 472, 102, 142, 495, 476, 108, 2957 498, 102, 109, 501, 102, 1503, 44, 666, 606, 1006, 2958 1007, 65, 1510, 67, 102, 69, 482, 102, 1486, 113, 2959 108, 111, 76, 77, 622, 262, 116, 117, 671, 101, 2960 472, 103, 269, 1440, 500, 636, 634, 638, 939, 637, 2961 1447, 10, 11, 12, 13, 14, 104, 101, 707, 564, 2962 108, 197, 83, 84, 102, 1021, 202, 111, 103, 574, 2963 105, 155, 577, 103, 109, 105, 1367, 710, 37, 109, 2964 108, 81, 82, 859, 672, 101, 674, 103, 1081, 1486, 2965 495, 461, 101, 498, 230, 231, 501, 118, 119, 101, 2966 605, 60, 472, 992, 880, 610, 283, 990, 564, 124, 2967 102, 744, 472, 101, 705, 103, 108, 585, 574, 587, 2968 347, 102, 101, 111, 351, 261, 101, 108, 264, 213, 2969 718, 719, 241, 945, 866, 85, 86, 246, 808, 65, 2970 572, 67, 68, 57, 732, 102, 653, 283, 101, 605, 2971 286, 108, 101, 1444, 610, 1446, 102, 102, 65, 913, 2972 67, 68, 108, 108, 652, 249, 671, 921, 101, 253, 2973 103, 102, 124, 913, 202, 663, 106, 108, 111, 667, 2974 106, 921, 106, 853, 270, 666, 124, 692, 582, 102, 2975 326, 1147, 1148, 67, 65, 108, 1487, 71, 106, 106, 2976 74, 124, 76, 231, 672, 101, 674, 712, 75, 83, 2977 346, 101, 606, 103, 350, 4, 5, 6, 7, 8, 2978 9, 111, 65, 811, 67, 68, 707, 112, 622, 102, 2979 407, 408, 272, 261, 822, 108, 102, 607, 102, 744, 2980 634, 102, 108, 102, 108, 285, 286, 108, 332, 108, 2981 718, 719, 1141, 102, 102, 283, 1139, 297, 286, 108, 2982 108, 1492, 102, 1146, 1112, 120, 1492, 1492, 108, 108, 2983 109, 407, 408, 62, 121, 64, 412, 87, 101, 786, 2984 103, 65, 873, 67, 68, 69, 326, 102, 103, 796, 2985 399, 123, 76, 77, 101, 800, 103, 101, 434, 103, 2986 103, 437, 972, 1035, 101, 812, 103, 443, 104, 418, 2987 898, 4, 5, 6, 7, 8, 9, 426, 495, 455, 2988 101, 498, 103, 363, 501, 913, 102, 411, 698, 1177, 2989 1178, 205, 101, 921, 103, 124, 102, 1220, 732, 1228, 2990 54, 55, 712, 811, 480, 65, 482, 67, 484, 69, 2991 101, 939, 103, 677, 822, 679, 76, 77, 102, 495, 2992 944, 470, 498, 472, 500, 501, 108, 109, 873, 62, 2993 802, 64, 873, 78, 79, 80, 553, 461, 102, 606, 2994 102, 101, 101, 103, 975, 102, 1019, 978, 1021, 980, 2995 103, 111, 873, 42, 43, 622, 101, 902, 103, 108, 2996 105, 1010, 990, 101, 102, 103, 434, 634, 123, 437, 2997 538, 539, 900, 1083, 106, 443, 1104, 540, 541, 4, 2998 5, 6, 7, 8, 9, 101, 102, 103, 564, 1312, 2999 800, 10, 11, 12, 13, 14, 546, 547, 574, 944, 3000 945, 873, 1033, 944, 101, 913, 582, 32, 1118, 101, 3001 102, 103, 1043, 921, 102, 1046, 1047, 1048, 37, 102, 3002 334, 108, 336, 104, 65, 897, 67, 495, 69, 605, 3003 498, 939, 104, 501, 610, 76, 77, 62, 104, 64, 3004 616, 60, 65, 28, 67, 68, 69, 992, 109, 945, 3005 101, 102, 103, 577, 109, 535, 536, 537, 75, 102, 3006 102, 873, 109, 873, 898, 732, 1473, 104, 1141, 1016, 3007 1017, 452, 107, 873, 1147, 1148, 1104, 542, 543, 544, 3008 545, 102, 101, 607, 103, 1247, 1248, 1249, 612, 65, 3009 108, 107, 111, 69, 574, 1040, 992, 107, 101, 1040, 3010 76, 77, 102, 75, 124, 1512, 102, 102, 422, 0, 3011 1, 109, 102, 102, 1402, 102, 692, 666, 104, 1040, 3012 108, 102, 671, 1051, 102, 101, 1073, 1074, 10, 11, 3013 12, 13, 14, 102, 104, 111, 1081, 101, 101, 104, 3014 31, 32, 102, 102, 944, 102, 722, 673, 102, 102, 3015 102, 102, 3, 44, 102, 37, 990, 102, 707, 10, 3016 11, 12, 13, 14, 107, 1189, 28, 123, 1040, 695, 3017 104, 104, 1460, 1461, 698, 66, 102, 102, 60, 1210, 3018 102, 102, 101, 107, 104, 995, 37, 65, 712, 67, 3019 108, 69, 1220, 3, 104, 744, 1141, 102, 76, 77, 3020 10, 11, 12, 13, 14, 1278, 102, 108, 1232, 60, 3021 1082, 102, 102, 108, 106, 104, 1247, 1248, 1249, 101, 3022 108, 103, 102, 101, 692, 103, 102, 37, 708, 111, 3023 1040, 1043, 808, 111, 65, 104, 67, 68, 69, 104, 3024 1040, 104, 108, 1188, 1189, 76, 77, 1499, 1189, 108, 3025 60, 104, 143, 1381, 102, 101, 101, 783, 101, 101, 3026 151, 101, 109, 124, 1374, 1210, 107, 102, 102, 1210, 3027 101, 751, 653, 102, 104, 1306, 800, 853, 102, 107, 3028 106, 108, 121, 1228, 104, 108, 124, 1232, 179, 1210, 3029 1492, 1232, 104, 102, 1492, 1492, 104, 104, 104, 1493, 3030 1324, 1492, 193, 1492, 1492, 196, 197, 1492, 1255, 29, 3031 102, 202, 45, 1493, 104, 102, 104, 102, 1512, 1266, 3032 1267, 1268, 104, 124, 873, 124, 902, 124, 124, 124, 3033 1361, 222, 1512, 1364, 107, 226, 862, 228, 1210, 104, 3034 107, 102, 1287, 107, 235, 1473, 1374, 1292, 104, 104, 3035 241, 1292, 1380, 1381, 104, 246, 104, 1388, 1389, 104, 3036 80, 81, 104, 104, 104, 256, 1313, 943, 944, 945, 3037 102, 1292, 1300, 264, 102, 1406, 101, 104, 1188, 1324, 3038 1411, 104, 101, 1324, 55, 54, 1220, 104, 1188, 1189, 3039 102, 102, 106, 124, 75, 1419, 972, 102, 1210, 109, 3040 1210, 63, 102, 1434, 101, 786, 104, 0, 888, 104, 3041 1210, 73, 102, 104, 990, 796, 992, 102, 107, 89, 3042 1292, 1492, 104, 1492, 102, 1492, 102, 102, 102, 108, 3043 40, 812, 1232, 89, 902, 326, 109, 124, 31, 102, 3044 124, 102, 333, 1474, 124, 1473, 75, 124, 102, 109, 3045 107, 113, 1483, 104, 104, 346, 982, 1488, 124, 350, 3046 101, 107, 353, 107, 1492, 1493, 102, 1493, 102, 124, 3047 1501, 995, 1503, 66, 1419, 649, 1507, 1287, 1419, 1510, 3048 548, 550, 1292, 1120, 1512, 1516, 1512, 1287, 551, 1520, 3049 549, 1040, 1292, 155, 1306, 1440, 552, 1461, 1301, 1440, 3050 1210, 1369, 1447, 1520, 1449, 1081, 1447, 1083, 399, 1115, 3051 1476, 1037, 992, 233, 1447, 1114, 1069, 434, 434, 1440, 3052 1448, 65, 413, 67, 1324, 69, 1447, 418, 679, 923, 3053 921, 1476, 76, 77, 446, 426, 569, 966, 866, 722, 3054 1374, 1486, 1118, 941, 1232, 1486, 1380, 1475, 556, 1361, 3055 556, 213, 1364, 631, 1499, 732, -1, 101, 151, 103, 3056 1040, 452, 556, 1139, 455, 1486, 472, 111, 1440, -1, 3057 1146, -1, -1, 1190, 1191, 1447, 1193, -1, -1, 470, 3058 -1, 472, 1199, 1511, 1492, 1202, 1112, 249, -1, 480, 3059 -1, 253, 1141, 484, 1406, 1523, -1, -1, 65, 1411, 3060 67, 68, 69, 1499, -1, -1, -1, 269, -1, 76, 3061 77, -1, -1, 1081, 1486, -1, 3, -1, -1, 1419, 3062 -1, 512, 1434, 10, 11, 12, 13, 14, -1, 222, 3063 1440, -1, -1, -1, 101, 1016, 1017, 1447, -1, -1, 3064 1440, -1, 362, 44, 1220, -1, -1, 1447, 241, -1, 3065 37, 1177, 1178, 246, -1, -1, 1232, -1, -1, 60, 3066 -1, 1210, 63, -1, 1188, 66, 557, -1, -1, -1, 3067 332, -1, 0, 60, -1, -1, 1486, -1, -1, 1228, 3068 -1, 572, 1162, 574, -1, -1, 1486, -1, -1, 1501, 3069 -1, 582, 1073, 1074, -1, 1507, 587, -1, -1, -1, 3070 -1, 452, -1, 31, 1516, -1, -1, -1, 1520, -1, 3071 -1, -1, -1, 1380, 605, -1, -1, -1, -1, 610, 3072 -1, 441, -1, -1, -1, 616, 446, -1, -1, 620, 3073 621, 10, 11, 12, 13, 14, 1312, -1, 66, -1, 3074 333, -1, 143, 1292, 635, -1, 1363, -1, 1324, 411, 3075 -1, -1, -1, -1, 155, -1, -1, -1, 37, 479, 3076 353, 481, 653, 1287, -1, -1, 428, -1, -1, -1, 3077 -1, -1, -1, -1, -1, 666, -1, -1, 179, -1, 3078 671, 60, -1, 674, -1, -1, -1, -1, -1, -1, 3079 -1, 65, -1, 67, -1, 69, -1, -1, 1374, 461, 3080 -1, 202, 76, 77, -1, -1, 399, -1, -1, -1, 3081 -1, -1, 213, -1, -1, -1, 707, -1, -1, 710, 3082 413, -1, 101, 151, 103, 418, -1, 101, 719, 103, 3083 -1, 722, 111, 426, -1, 109, -1, 111, -1, -1, 3084 -1, -1, -1, 1419, -1, 1226, -1, -1, -1, -1, 3085 -1, -1, -1, 744, -1, -1, -1, -1, 749, 452, 3086 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 3087 -1, -1, -1, 1449, 1255, -1, 1402, 470, -1, 472, 3088 -1, -1, -1, -1, -1, 1266, 1267, 1268, -1, -1, 3089 -1, 1440, -1, 123, -1, 786, -1, -1, 1447, -1, 3090 1476, -1, 653, -1, -1, 796, 626, -1, -1, -1, 3091 801, 802, -1, 241, -1, 577, 317, 808, 246, 512, 3092 -1, 812, -1, 1499, -1, -1, -1, -1, -1, -1, 3093 821, -1, 1313, -1, 1460, 1461, -1, 1486, -1, -1, 3094 -1, -1, -1, -1, -1, 607, -1, -1, 668, -1, 3095 612, -1, -1, -1, -1, -1, 182, 10, 11, 12, 3096 13, 14, 853, 189, -1, -1, -1, 687, -1, -1, 3097 -1, -1, -1, 693, -1, -1, -1, -1, -1, 572, 3098 -1, 1449, 873, -1, 37, -1, 387, -1, -1, -1, 3099 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 3100 -1, -1, -1, -1, -1, 333, 897, 60, 1476, -1, 3101 -1, -1, 65, -1, 67, -1, 69, -1, -1, -1, 3102 -1, -1, -1, 76, 77, 353, -1, 620, 621, -1, 3103 31, -1, 258, -1, -1, 786, 698, -1, 25, 26, 3104 27, -1, 635, -1, 935, 796, -1, -1, 101, -1, 3105 712, -1, 943, 944, -1, -1, -1, -1, 111, -1, 3106 653, 812, -1, -1, -1, 66, -1, 958, -1, -1, 3107 732, 399, -1, 666, -1, -1, -1, -1, 671, -1, 3108 -1, 972, -1, -1, -1, 413, 312, -1, -1, -1, 3109 418, -1, -1, -1, 320, -1, -1, 323, 426, 990, 3110 -1, 992, -1, -1, -1, -1, -1, -1, 95, -1, 3111 97, -1, -1, -1, 707, -1, -1, 710, -1, 1010, 3112 -1, -1, -1, -1, 452, 1016, 1017, -1, 1019, 1020, 3113 1021, -1, -1, -1, -1, -1, -1, -1, 800, -1, 3114 -1, -1, 470, -1, 472, -1, 866, -1, -1, 1040, 3115 151, 744, 872, 379, -1, -1, -1, 383, -1, 0, 2879 1, 42, 0, 235, 0, 215, 42, 687, 42, 181, 2880 103, 181, 1, 687, 32, 687, 165, 620, 181, 275, 2881 343, 0, 183, 1023, 31, 182, 987, 748, 449, 455, 2882 181, 181, 645, 31, 600, 31, 181, 1305, 602, 182, 2883 600, 0, 181, 532, 42, 276, 44, 276, 44, 492, 2884 1, 600, 31, 496, 570, 343, 54, 603, 887, 152, 2885 887, 980, 60, 609, 60, 63, 42, 63, 66, 37, 2886 66, 600, 31, 767, 1035, 42, 448, 66, 113, 1042, 2887 602, 0, 0, 42, 764, 44, 600, 42, 65, 261, 2888 764, 261, 764, 44, 490, 600, 257, 258, 261, 712, 2889 75, 60, 419, 420, 63, 262, 104, 66, 44, 107, 2890 261, 261, 31, 31, 102, 113, 261, 411, 101, 262, 2891 65, 109, 261, 27, 600, 0, 1, 1395, 1022, 1023, 2892 57, 339, 65, 0, 111, 103, 430, 89, 52, 78, 2893 181, 42, 43, 89, 438, 181, 144, 181, 144, 521, 2894 37, 1378, 103, 88, 152, 108, 31, 101, 109, 157, 2895 101, 157, 197, 115, 31, 37, 105, 71, 37, 115, 2896 103, 124, 358, 109, 101, 37, 362, 494, 224, 124, 2897 252, 95, 200, 181, 182, 144, 182, 122, 63, 42, 2898 43, 66, 143, 403, 104, 512, 63, 243, 157, 197, 2899 488, 152, 635, 636, 733, 181, 107, 205, 604, 205, 2900 1437, 123, 608, 1042, 181, 1215, 214, 75, 651, 217, 2901 261, 217, 181, 182, 0, 261, 181, 261, 733, 101, 2902 54, 103, 101, 629, 103, 37, 1382, 633, 65, 101, 2903 247, 103, 399, 336, 102, 101, 205, 248, 108, 247, 2904 201, 247, 44, 106, 205, 31, 399, 733, 217, 825, 2905 577, 106, 1262, 261, 262, 825, 262, 123, 247, 205, 2906 268, 102, 365, 837, 482, 189, 825, 275, 109, 602, 2907 104, 827, 37, 107, 235, 236, 707, 288, 247, 805, 2908 3, 448, 725, 0, 1, 989, 825, 124, 212, 101, 2909 236, 103, 261, 102, 1464, 448, 42, 43, 222, 1228, 2910 109, 825, 1275, 1459, 65, 837, 267, 109, 1464, 270, 2911 825, 1464, 65, 480, 31, 323, 1486, 323, 247, 247, 2912 1051, 267, 3, 1479, 252, 108, 1479, 480, 289, 411, 2913 1486, 292, 217, 1486, 342, 343, 101, 108, 103, 825, 2914 217, 143, 103, 289, 389, 102, 292, 101, 430, 66, 2915 103, 359, 109, 124, 323, 363, 438, 1261, 1262, 0, 2916 106, 1200, 247, 1200, 1374, 289, 123, 943, 65, 0, 2917 247, 814, 417, 591, 343, 336, 680, 422, 339, 123, 2918 214, 389, 101, 65, 943, 67, 68, 65, 1001, 67, 2919 68, 399, 588, 399, 1440, 1366, 1367, 358, 54, 102, 2920 1446, 362, 620, 205, 365, 108, 103, 625, 65, 417, 2921 67, 68, 944, 108, 422, 1461, 424, 101, 102, 943, 2922 1466, 524, 108, 101, 106, 634, 635, 636, 106, 124, 2923 399, 102, 101, 235, 268, 631, 1275, 108, 124, 101, 2924 448, 275, 651, 1416, 102, 289, 103, 688, 104, 688, 2925 1423, 107, 101, 859, 1010, 1011, 467, 108, 419, 420, 2926 464, 247, 83, 84, 472, 267, 252, 344, 686, 710, 2927 1374, 710, 480, 124, 480, 108, 484, 913, 484, 448, 2928 488, 747, 101, 411, 655, 446, 985, 646, 449, 1462, 2929 292, 124, 101, 1116, 455, 484, 152, 118, 119, 952, 2930 446, 512, 430, 449, 837, 687, 467, 687, 342, 455, 2931 438, 435, 108, 104, 687, 484, 725, 108, 529, 488, 2932 104, 532, 689, 534, 108, 359, 687, 687, 124, 363, 2933 247, 492, 687, 494, 108, 496, 689, 339, 687, 837, 2934 922, 108, 760, 949, 1275, 469, 507, 482, 930, 510, 2935 124, 512, 513, 108, 482, 484, 484, 124, 214, 798, 2936 101, 507, 1094, 524, 510, 108, 111, 513, 104, 124, 2937 581, 116, 117, 101, 108, 419, 420, 1416, 102, 108, 2938 588, 124, 685, 507, 1423, 65, 510, 67, 68, 513, 2939 124, 973, 600, 67, 602, 124, 473, 71, 680, 484, 2940 74, 101, 76, 103, 102, 814, 108, 484, 653, 83, 2941 108, 111, 268, 621, 102, 1346, 577, 419, 420, 275, 2942 816, 101, 124, 1462, 820, 411, 106, 588, 104, 637, 2943 591, 600, 108, 602, 102, 104, 101, 876, 103, 108, 2944 722, 652, 650, 654, 430, 653, 111, 113, 114, 1080, 2945 948, 102, 438, 104, 874, 507, 759, 108, 510, 620, 2946 589, 513, 101, 507, 625, 669, 510, 104, 102, 513, 2947 631, 108, 123, 124, 894, 101, 103, 103, 105, 687, 2948 102, 689, 109, 65, 102, 111, 342, 69, 101, 1420, 2949 108, 1422, 494, 107, 76, 77, 85, 86, 484, 634, 2950 635, 636, 103, 359, 105, 102, 57, 363, 109, 720, 2951 512, 108, 954, 909, 108, 109, 651, 102, 687, 101, 2952 689, 880, 566, 108, 685, 733, 734, 102, 124, 111, 2953 102, 102, 1463, 108, 208, 102, 108, 108, 101, 747, 2954 29, 108, 102, 102, 668, 622, 707, 101, 108, 108, 2955 989, 686, 680, 677, 102, 922, 102, 681, 686, 104, 2956 108, 707, 108, 930, 733, 734, 124, 484, 424, 922, 2957 65, 106, 67, 68, 69, 577, 737, 930, 1468, 102, 2958 106, 76, 77, 1001, 1468, 108, 1468, 621, 124, 591, 2959 725, 80, 81, 63, 722, 124, 102, 801, 759, 65, 2960 1039, 65, 108, 637, 106, 69, 101, 811, 102, 102, 2961 80, 44, 76, 77, 108, 108, 650, 825, 620, 101, 2962 102, 103, 826, 625, 121, 760, 123, 60, 101, 837, 2963 63, 75, 760, 66, 81, 82, 713, 101, 278, 10, 2964 11, 12, 13, 14, 114, 104, 65, 111, 67, 68, 2965 727, 291, 292, 102, 103, 816, 825, 112, 65, 820, 2966 67, 68, 69, 303, 120, 101, 37, 103, 837, 1110, 2967 121, 1110, 346, 3, 348, 101, 887, 103, 1037, 814, 2968 10, 11, 12, 13, 14, 1081, 101, 157, 103, 60, 2969 87, 101, 821, 103, 680, 123, 78, 79, 80, 339, 2970 103, 909, 555, 556, 557, 558, 101, 37, 101, 102, 2971 103, 144, 101, 747, 922, 101, 102, 103, 1136, 101, 2972 104, 103, 930, 105, 157, 104, 1167, 1168, 1167, 1168, 2973 60, 101, 588, 103, 102, 375, 722, 101, 102, 103, 2974 948, 818, 1234, 1235, 1236, 54, 55, 217, 909, 182, 2975 239, 102, 913, 922, 953, 101, 101, 103, 887, 887, 2976 434, 930, 101, 104, 103, 621, 65, 913, 67, 68, 2977 69, 982, 205, 101, 985, 103, 987, 76, 77, 948, 2978 101, 637, 103, 102, 217, 255, 1014, 911, 692, 259, 2979 694, 952, 953, 954, 650, 108, 109, 1215, 42, 43, 2980 551, 552, 887, 104, 4, 5, 6, 7, 8, 9, 2981 887, 553, 554, 559, 560, 1019, 1020, 102, 102, 102, 2982 887, 103, 108, 101, 1035, 123, 106, 104, 102, 0, 2983 1, 102, 104, 109, 1045, 104, 104, 1048, 1049, 1050, 2984 1001, 104, 4, 5, 6, 7, 8, 9, 109, 108, 2985 28, 75, 102, 102, 106, 109, 104, 1102, 124, 102, 2986 31, 32, 62, 108, 64, 107, 107, 1449, 953, 107, 2987 32, 1075, 1076, 44, 344, 101, 10, 11, 12, 13, 2988 14, 102, 75, 102, 102, 374, 109, 1022, 102, 102, 2989 323, 747, 102, 1196, 1102, 66, 108, 102, 102, 102, 2990 62, 887, 64, 37, 102, 102, 1488, 102, 548, 549, 2991 550, 102, 102, 1042, 1042, 102, 102, 102, 102, 1080, 2992 1081, 102, 28, 102, 124, 107, 60, 1004, 104, 1053, 2993 102, 65, 103, 102, 1080, 69, 104, 1378, 102, 1378, 2994 123, 107, 76, 77, 104, 108, 102, 102, 102, 108, 2995 101, 591, 954, 423, 106, 108, 104, 1042, 108, 102, 2996 102, 108, 108, 102, 453, 1042, 399, 101, 104, 458, 2997 887, 101, 101, 144, 101, 101, 101, 111, 1045, 124, 2998 1179, 152, 153, 104, 107, 109, 102, 102, 1196, 1200, 2999 102, 124, 106, 121, 107, 1436, 1437, 1436, 1437, 1001, 3000 108, 1136, 491, 473, 493, 104, 108, 104, 1136, 1213, 3001 102, 182, 102, 102, 102, 45, 63, 104, 104, 104, 3002 1219, 104, 104, 1234, 1235, 1236, 197, 104, 124, 200, 3003 201, 124, 101, 1475, 205, 1196, 953, 107, 1242, 102, 3004 4, 5, 6, 7, 8, 9, 1250, 1251, 1252, 124, 3005 669, 124, 124, 909, 107, 226, 1042, 102, 1219, 230, 3006 104, 232, 104, 104, 107, 104, 104, 114, 104, 104, 3007 241, 1200, 1200, 104, 102, 102, 247, 1288, 104, 104, 3008 101, 252, 55, 723, 54, 102, 1468, 1215, 1468, 102, 3009 1294, 262, 106, 1178, 1179, 1468, 75, 0, 62, 270, 3010 64, 1178, 1469, 109, 124, 104, 1305, 1468, 1468, 104, 3011 157, 102, 104, 1468, 1359, 1200, 1469, 102, 89, 1468, 3012 101, 1488, 104, 1200, 594, 1042, 1261, 767, 31, 1340, 3013 107, 40, 1343, 1200, 1219, 1488, 1180, 1181, 124, 1183, 3014 102, 102, 102, 102, 1305, 1189, 1275, 1275, 1192, 124, 3015 1358, 1359, 622, 642, 108, 1366, 1367, 627, 109, 1283, 3016 102, 89, 102, 66, 464, 336, 124, 75, 339, 124, 3017 217, 1382, 109, 813, 345, 102, 1387, 107, 104, 104, 3018 124, 101, 801, 107, 107, 1270, 102, 358, 124, 102, 3019 1275, 362, 811, 1270, 365, 561, 1395, 665, 1275, 1410, 3020 562, 564, 563, 1117, 1449, 565, 1200, 826, 255, 1348, 3021 1437, 1496, 259, 702, 1200, 1284, 1452, 1468, 1112, 708, 3022 1305, 1288, 1468, 1113, 1468, 1071, 1423, 930, 458, 446, 3023 446, 694, 581, 65, 1395, 67, 68, 69, 932, 1450, 3024 411, 1449, 974, 713, 76, 77, 647, 880, 1459, 737, 3025 153, 950, 1219, 1464, 425, 484, 747, 727, 569, 430, 3026 1468, 1469, 1179, 1469, 1425, 569, 1477, 438, 1479, 101, 3027 -1, -1, 1483, 1340, 569, 1486, 1343, -1, -1, 1425, 3028 1488, 1492, 1488, 1200, -1, 1496, -1, 1416, 1416, 1275, 3029 -1, 1452, -1, 464, 1423, 1423, 467, 344, 1342, 1468, 3030 1424, -1, 1219, -1, -1, 65, 1452, 67, 68, 69, 3031 1395, 482, -1, 484, 1475, 1382, 76, 77, -1, -1, 3032 1387, 492, -1, 226, 1358, 496, -1, 1451, -1, -1, 3033 -1, 1416, -1, 1462, 1462, -1, -1, -1, 1423, 1416, 3034 1196, 101, -1, 1410, 247, -1, 1423, -1, 818, 252, 3035 -1, 111, -1, 524, 525, -1, -1, -1, 1275, -1, 3036 -1, 1001, 65, 1487, 67, 68, 69, -1, -1, 669, 3037 -1, -1, -1, 76, 77, 1499, 423, 1462, 10, 11, 3038 12, 13, 14, -1, -1, 1462, -1, -1, 1305, -1, 3039 -1, 880, -1, -1, -1, -1, -1, 886, 101, 570, 3040 1019, 1020, 1042, -1, -1, 37, -1, -1, 111, -1, 3041 1477, -1, -1, -1, -1, 0, 1483, 588, 589, -1, 3042 591, -1, -1, -1, -1, 1492, 473, -1, 60, 1496, 3043 1416, 602, -1, -1, -1, -1, -1, 1423, -1, -1, 3044 -1, -1, 345, -1, -1, -1, 31, -1, -1, 620, 3045 -1, -1, -1, -1, 625, -1, 1075, 1076, -1, -1, 3046 631, -1, -1, 634, 635, 636, -1, -1, -1, 101, 3047 -1, 103, -1, 1475, -1, -1, 1462, -1, 1395, 111, 3048 651, 66, 63, -1, -1, 974, -1, -1, -1, -1, 3049 -1, -1, 73, -1, 0, 1, -1, -1, 669, 1416, 3050 -1, 801, 1358, -1, -1, -1, 1423, -1, 411, 680, 3051 -1, 811, 65, 1153, 685, 686, 69, -1, 689, -1, 3052 -1, 3, 425, 76, 77, 31, 826, 430, 10, 11, 3053 12, 13, 14, 114, 1004, 438, -1, -1, -1, -1, 3054 -1, -1, -1, -1, -1, 1462, -1, 594, 101, -1, 3055 103, 722, -1, -1, 725, 37, -1, 63, 111, -1, 3056 66, 464, 3, 734, -1, -1, 737, -1, 153, 10, 3057 11, 12, 13, 14, -1, 622, 157, -1, 60, 482, 3058 627, 484, 1071, -1, -1, -1, -1, -1, 759, 760, 3059 -1, -1, -1, -1, 765, -1, 37, -1, -1, -1, 3060 -1, -1, 10, 11, 12, 13, 14, -1, 10, 11, 3061 12, 13, 14, -1, -1, -1, -1, -1, 185, 60, 3062 -1, -1, 525, 1242, -1, 192, -1, -1, -1, 37, 3063 801, 1250, 1251, 1252, -1, 37, 217, -1, -1, -1, 3064 811, -1, -1, 814, -1, 816, -1, 153, 819, 820, 3065 821, -1, 60, -1, -1, 826, -1, 65, 60, 67, 3066 68, 69, 247, -1, -1, 836, 713, 252, 76, 77, 3067 -1, -1, -1, -1, 255, 1294, -1, -1, 259, -1, 3068 727, -1, -1, 0, -1, 1174, 589, -1, -1, -1, 3069 -1, -1, -1, 101, 275, 103, -1, 264, -1, 101, 3070 -1, 103, -1, 111, -1, -1, -1, -1, 1178, 111, 3071 -1, 217, -1, -1, 31, -1, 887, -1, -1, 1019, 3072 1020, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3073 -1, 634, 635, 636, -1, -1, -1, -1, 909, -1, 3074 -1, 247, -1, -1, -1, -1, -1, -1, 651, 66, 3075 -1, 318, -1, 10, 11, 12, 13, 14, -1, 326, 3076 345, -1, 329, 344, -1, -1, 669, -1, -1, -1, 3077 -1, 818, -1, 944, -1, 1075, 1076, 680, -1, -1, 3078 37, 952, 953, 686, -1, -1, -1, 65, -1, 67, 3079 68, 69, -1, 25, 26, 27, 967, -1, 76, 77, 3080 1270, -1, -1, 60, 90, 91, 92, 93, 94, 95, 3081 96, 97, 98, 99, -1, -1, -1, -1, -1, 722, 3082 -1, -1, 725, 101, 391, 103, 411, -1, 395, -1, 3083 1001, 109, -1, 111, -1, -1, 153, 123, -1, -1, 3084 425, -1, 423, 1014, 101, 430, 103, -1, 1019, 1020, 3085 -1, 1022, 1023, 438, 111, -1, -1, 760, -1, 440, 3086 -1, -1, -1, -1, 96, -1, 98, -1, -1, -1, 3087 -1, 1042, -1, -1, -1, -1, -1, -1, -1, 464, 3088 -1, -1, 10, 11, 12, 13, 14, -1, -1, -1, 3089 -1, -1, 473, -1, -1, -1, -1, 482, 801, 484, 3090 -1, -1, -1, -1, 1075, 1076, -1, -1, 811, 37, 3091 1081, 814, 479, 1213, -1, -1, 819, -1, 821, 425, 3092 -1, -1, -1, 826, -1, -1, -1, -1, -1, -1, 3093 247, -1, 60, -1, -1, 252, -1, 65, -1, -1, 3094 525, 69, 1242, -1, -1, 177, -1, -1, 76, 77, 3095 1250, 1251, 1252, -1, -1, 187, 188, 1004, -1, -1, 3096 192, -1, 194, 195, -1, 1136, -1, -1, -1, -1, 3097 -1, -1, -1, 101, -1, -1, -1, -1, 484, -1, 3098 -1, -1, -1, 111, 887, 65, -1, 67, 68, 69, 3099 -1, -1, -1, -1, 1294, -1, 76, 77, -1, -1, 3100 -1, 0, 569, 570, 589, -1, -1, -1, 1179, -1, 3101 -1, -1, -1, 594, -1, -1, -1, -1, -1, 525, 3102 -1, 101, -1, 103, -1, 1196, -1, -1, 345, 1200, 3103 -1, 111, 31, -1, -1, -1, -1, -1, -1, -1, 3104 -1, 622, 1213, -1, 1215, -1, 627, -1, 1219, 634, 3105 635, 636, -1, -1, -1, -1, -1, -1, -1, -1, 3106 -1, -1, -1, -1, 967, -1, 651, 66, -1, -1, 3107 -1, 1242, -1, -1, -1, -1, -1, -1, -1, 1250, 3108 1251, 1252, -1, 589, 669, -1, -1, -1, -1, 656, 3109 1261, 1262, -1, 660, 411, 680, -1, -1, -1, -1, 3110 -1, 686, -1, -1, 1275, -1, -1, -1, 425, -1, 3111 -1, -1, -1, 430, -1, -1, 1019, 1020, -1, 1022, 3112 1023, 438, -1, 1294, -1, -1, 693, -1, 634, 635, 3113 636, 1178, 713, -1, 1305, -1, -1, 722, -1, 1042, 3114 725, -1, -1, -1, -1, 651, 727, 464, -1, -1, 3115 -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, 3116 -1, -1, -1, -1, -1, 482, 747, 484, -1, -1, 3117 -1, -1, 1075, 1076, -1, 760, -1, -1, -1, -1, 3118 -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 3119 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3120 25, 26, -1, 1374, 29, 30, 31, -1, 525, -1, 3121 -1, -1, 37, 38, -1, -1, 801, -1, -1, 725, 3122 -1, -1, -1, 1270, 1395, -1, 811, -1, -1, 814, 3123 -1, -1, -1, 1136, 819, 60, 821, 818, 805, -1, 3124 -1, 826, 67, 68, -1, 1416, -1, -1, 247, -1, 3125 -1, -1, 1423, 252, -1, -1, -1, -1, -1, -1, 3126 -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, 3127 14, -1, 589, -1, -1, -1, 1179, -1, 103, -1, 3128 -1, -1, 107, -1, -1, -1, 111, -1, -1, -1, 3129 -1, 1462, 65, 37, 67, 68, 69, 1200, 1469, -1, 3130 -1, -1, 887, 76, 77, -1, -1, -1, 814, -1, 3131 1213, -1, 1215, -1, -1, 821, 60, 634, 635, 636, 3132 -1, 65, -1, 67, 68, 69, -1, -1, 101, -1, 3133 103, -1, 76, 77, 651, -1, -1, -1, 111, 1242, 3134 -1, 573, 574, -1, -1, -1, 345, 1250, 1251, 1252, 3135 917, -1, 669, -1, -1, -1, -1, 101, 1261, 1262, 3136 -1, -1, -1, 680, -1, -1, -1, 111, -1, 686, 3137 -1, 603, 1275, -1, 606, 607, -1, 609, -1, 611, 3138 612, 887, 967, -1, 616, 617, -1, -1, -1, -1, 3139 -1, 1294, -1, -1, -1, -1, -1, -1, -1, -1, 3140 -1, -1, -1, -1, -1, 722, -1, -1, 725, -1, 3141 -1, -1, 411, -1, -1, -1, 65, -1, 67, 68, 3142 69, -1, -1, 1004, 991, -1, 425, 76, 77, -1, 3143 -1, 430, -1, -1, 1019, 1020, -1, 1022, 1023, 438, 3144 1007, -1, -1, 760, 50, -1, 52, 953, -1, 55, 3145 56, 57, 101, 59, 103, -1, -1, 1042, -1, -1, 3146 -1, 967, 111, -1, -1, 464, 698, 699, 74, -1, 3147 -1, 1374, 704, 10, 11, 12, 13, 14, -1, -1, 3148 86, 87, -1, 482, 801, 484, -1, -1, -1, -1, 3149 1075, 1076, -1, -1, 811, -1, -1, 814, -1, -1, 3150 37, -1, 819, -1, 821, -1, -1, -1, -1, 826, 3151 -1, -1, -1, 1416, -1, 1082, 1022, 1023, -1, -1, 3152 1423, -1, -1, 60, -1, -1, 525, -1, 65, -1, 3153 67, 68, 69, -1, -1, -1, 1042, -1, -1, 76, 3154 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3155 -1, 1136, -1, -1, -1, -1, -1, -1, -1, 1462, 3156 -1, -1, -1, -1, 101, -1, 103, -1, -1, -1, 3157 887, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3158 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3159 589, -1, -1, -1, 1179, -1, -1, 1178, 10, 11, 3160 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3161 22, 23, 24, 25, 26, 1200, -1, 29, 30, 31, 3162 -1, -1, -1, -1, -1, 37, 38, -1, 1213, -1, 3163 1215, -1, -1, -1, -1, 634, 635, 636, -1, -1, 3164 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3165 967, -1, 651, -1, -1, 67, 68, 1242, -1, -1, 3166 -1, -1, -1, -1, -1, 1250, 1251, 1252, -1, -1, 3167 669, -1, 1178, 1179, -1, -1, 1261, 1262, -1, -1, 3168 -1, 680, -1, -1, -1, -1, -1, 686, -1, 1270, 3169 1275, 103, -1, -1, 1200, 107, -1, -1, -1, 111, 3170 -1, -1, 1019, 1020, -1, 1022, 1023, -1, -1, 1294, 3171 -1, -1, -1, 1219, -1, -1, -1, -1, -1, -1, 3172 -1, -1, -1, 722, -1, 1042, 725, -1, -1, -1, 3173 -1, -1, -1, 339, 340, -1, -1, -1, -1, -1, 3174 -1, -1, -1, -1, -1, 351, 352, -1, -1, -1, 3175 -1, -1, -1, -1, -1, 1261, 1262, -1, 1075, 1076, 3176 -1, 760, -1, -1, 1270, -1, -1, -1, -1, 1275, 3177 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3178 19, 20, 21, 22, 23, 24, 25, 26, 27, 1374, 3179 29, 30, 31, -1, -1, -1, -1, -1, 37, 1305, 3180 -1, -1, 801, -1, -1, -1, -1, -1, -1, -1, 3181 -1, -1, 811, -1, -1, 814, -1, -1, -1, 1136, 3182 819, 60, 821, -1, -1, -1, -1, 826, 67, 68, 3183 -1, 1416, 71, -1, -1, -1, -1, -1, 1423, -1, 3184 -1, -1, -1, -1, -1, 1077, -1, 10, 11, 12, 3185 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, 3186 -1, -1, 1179, -1, 103, -1, -1, -1, 1374, -1, 3187 -1, -1, 111, -1, 37, -1, -1, 1462, -1, -1, 3188 -1, -1, -1, 1200, -1, -1, -1, -1, 887, 1395, 3189 -1, -1, -1, -1, -1, -1, 1213, 60, 1215, -1, 3190 -1, -1, 65, -1, 67, 68, 69, -1, -1, -1, 3191 1416, -1, -1, 76, 77, -1, -1, 1423, -1, -1, 3192 -1, -1, -1, -1, -1, 1242, -1, -1, -1, -1, 3193 -1, -1, -1, 1250, 1251, 1252, -1, -1, 101, -1, 3194 103, -1, -1, -1, 1261, 1262, -1, -1, 111, -1, 3195 -1, -1, -1, -1, -1, -1, 1462, -1, 1275, -1, 3196 -1, -1, -1, -1, -1, 1197, -1, -1, 967, -1, 3197 -1, -1, -1, -1, -1, -1, -1, 1294, -1, 7, 3198 -1, -1, 10, 11, 12, 13, 14, -1, -1, -1, 3199 -1, -1, -1, -1, -1, -1, 44, -1, -1, -1, 3200 -1, -1, -1, -1, -1, -1, -1, -1, 36, 37, 3201 38, -1, -1, -1, -1, 63, -1, -1, -1, -1, 3202 1019, 1020, -1, 1022, 1023, -1, -1, -1, -1, -1, 3203 -1, 59, 60, -1, -1, -1, -1, 65, -1, -1, 3204 -1, 69, -1, 1042, 72, 73, 74, 75, 76, 77, 3205 -1, 79, 80, -1, -1, -1, -1, 1374, -1, 87, 3206 -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, 3207 -1, -1, -1, 101, -1, 103, 1075, 1076, -1, -1, 3208 -1, -1, 110, 111, 112, 113, 114, 115, -1, -1, 3209 -1, -1, -1, -1, -1, 143, -1, -1, -1, 1416, 3210 -1, -1, -1, -1, -1, 153, 1423, -1, 714, 157, 3211 716, -1, -1, -1, -1, -1, -1, 723, 724, -1, 3212 -1, -1, 728, -1, 7, -1, -1, 10, 11, 12, 3213 13, 14, -1, -1, 740, -1, -1, 1136, -1, 745, 3214 -1, -1, -1, -1, -1, 1462, -1, -1, -1, -1, 3215 -1, -1, -1, 36, 37, 38, -1, 205, -1, -1, 3216 -1, -1, -1, 769, -1, -1, -1, -1, -1, 217, 3217 -1, -1, -1, -1, -1, -1, 59, 60, -1, -1, 3218 1179, -1, 65, -1, -1, -1, 69, 235, 236, 72, 3219 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3220 -1, 1200, -1, -1, 87, -1, -1, 813, -1, -1, 3221 -1, 259, -1, -1, 1213, -1, 1215, -1, 101, 267, 3222 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 3223 113, 114, 115, -1, -1, -1, -1, -1, -1, -1, 3224 -1, 289, -1, 1242, 292, -1, -1, -1, -1, -1, 3225 -1, 1250, 1251, 1252, -1, -1, -1, -1, -1, -1, 3226 -1, -1, 1261, 1262, 870, 871, 872, 873, -1, 875, 3227 -1, -1, -1, -1, -1, -1, 1275, -1, -1, -1, 3228 -1, -1, -1, -1, 890, -1, -1, -1, -1, -1, 3229 -1, 339, -1, -1, -1, 1294, 344, -1, 904, -1, 3230 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 3231 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3232 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3233 30, 31, 32, -1, -1, 35, 942, 37, -1, -1, 3234 -1, -1, 25, 26, 27, -1, -1, -1, -1, -1, 3235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3236 60, -1, 62, -1, 64, -1, -1, 67, 68, -1, 3237 -1, 419, 420, 979, -1, 1374, -1, 425, -1, -1, 3238 986, -1, -1, -1, 990, -1, -1, -1, -1, 995, 3239 -1, 997, -1, -1, -1, 1001, 1002, 1003, 446, -1, 3240 1006, 449, -1, 103, -1, -1, -1, 455, -1, 1015, 3241 -1, 111, -1, 96, -1, 98, -1, 1416, -1, -1, 3242 -1, -1, -1, -1, 1423, -1, -1, 1033, 1034, 10, 3243 11, 12, 13, 14, 482, -1, -1, -1, -1, 122, 3244 -1, -1, -1, -1, -1, -1, 494, -1, -1, -1, 3245 -1, -1, 1058, -1, -1, 1061, 37, -1, -1, 507, 3246 -1, -1, 510, 1462, 512, 513, -1, -1, -1, -1, 3247 -1, -1, -1, -1, -1, -1, -1, 525, -1, 60, 3248 -1, -1, -1, -1, 65, -1, 67, 68, 69, -1, 3249 -1, -1, -1, 1099, 177, 76, 77, -1, -1, 1105, 3250 1106, -1, 185, -1, 187, 188, -1, -1, 1114, 192, 3251 -1, 194, 195, 1119, -1, -1, 1122, -1, 1124, -1, 3252 101, 1127, -1, -1, -1, -1, -1, -1, -1, 577, 3253 111, -1, -1, -1, 1140, -1, -1, -1, -1, -1, 3254 -1, 589, -1, 591, -1, -1, 594, 1153, -1, 1155, 3255 1156, 1157, 1158, -1, -1, -1, -1, -1, -1, -1, 3256 -1, -1, -1, -1, -1, 1171, -1, 1173, -1, -1, 3257 -1, 1177, 620, -1, -1, -1, -1, 625, -1, -1, 3258 -1, 264, -1, -1, -1, -1, 634, 635, 636, -1, 3259 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1205, 3260 1206, -1, -1, 651, -1, -1, -1, 63, -1, -1, 3261 -1, -1, -1, -1, -1, -1, -1, 73, -1, 75, 3262 -1, 77, -1, -1, -1, -1, -1, -1, 84, -1, 3263 -1, -1, -1, -1, -1, -1, -1, -1, 686, -1, 3264 -1, -1, -1, -1, -1, -1, -1, 1253, 1254, -1, 3265 -1, -1, -1, -1, -1, -1, -1, 1263, 114, 707, 3266 116, 117, 118, -1, -1, -1, -1, -1, -1, -1, 3267 -1, -1, -1, -1, -1, -1, -1, 725, -1, 727, 3268 -1, -1, -1, -1, -1, -1, 142, -1, -1, -1, 3269 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3270 -1, 157, -1, 1309, -1, -1, -1, -1, -1, -1, 3271 -1, -1, 760, -1, -1, 1321, -1, 1323, 1324, 1325, 3272 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1335, 3273 -1, -1, -1, -1, -1, 43, -1, -1, 1344, -1, 3274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3275 1356, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3276 -1, 217, -1, 219, 220, 221, 814, -1, -1, -1, 3277 818, -1, -1, 821, -1, -1, -1, -1, -1, -1, 3278 -1, 89, -1, -1, -1, -1, -1, -1, -1, -1, 3279 -1, 99, -1, -1, -1, -1, -1, 1403, 1404, 255, 3280 -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, 3281 1416, -1, -1, -1, -1, -1, -1, 1423, -1, 275, 3116 3282 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3117 3283 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, 3118 30, 31, 1073, 1074, 512, -1, -1, 37, 175, -1, 3119 31, 1082, 1083, 786, -1, -1, -1, 184, 185, -1, 3120 -1, -1, 189, 796, 191, 192, -1, -1, 801, 802, 3121 60, -1, 10, 11, 12, 13, 14, 67, 68, 812, 3122 -1, 71, -1, -1, -1, 66, -1, 1118, -1, -1, 3123 -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 3124 241, 467, -1, -1, 572, 246, 966, -1, 1139, -1, 3125 1141, 101, -1, 103, -1, 1146, 1147, 1148, -1, -1, 3126 -1, 111, 60, -1, -1, 1016, 1017, 65, -1, 67, 3127 -1, 69, -1, -1, -1, -1, -1, -1, 76, 77, 3128 873, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3129 -1, -1, 620, 621, -1, 0, 1, -1, 1189, -1, 3130 -1, -1, -1, 101, 897, 103, -1, 635, -1, -1, 3131 151, -1, -1, 111, -1, 1206, -1, -1, -1, 1210, 3132 -1, -1, 1073, 1074, -1, 653, 31, -1, -1, 1220, 3133 556, 557, 333, 995, -1, 1226, -1, 1228, 666, -1, 3134 -1, 1232, -1, 671, 10, 11, 12, 13, 14, 1069, 3135 -1, -1, 353, -1, -1, -1, -1, -1, 63, -1, 3136 -1, 66, -1, -1, 1255, 958, -1, -1, -1, -1, 3137 -1, 37, -1, -1, -1, 1266, 1267, 1268, -1, 707, 3138 -1, -1, 710, -1, -1, -1, -1, 1278, 1279, -1, 3139 -1, -1, -1, -1, 60, -1, -1, -1, 399, 65, 3140 241, 1292, -1, 69, -1, 246, -1, -1, -1, -1, 3141 76, 77, 413, -1, 640, -1, 744, 418, 644, -1, 3142 -1, 1312, 1313, 1016, 1017, 426, 1019, 1020, 1021, -1, 3143 -1, -1, -1, 1324, -1, 101, 10, 11, 12, 13, 3144 14, -1, -1, -1, -1, 111, 151, 1040, -1, -1, 3145 -1, 452, 678, -1, -1, -1, -1, -1, 786, -1, 3146 -1, -1, -1, 37, 1184, -1, -1, -1, 796, 470, 3147 -1, 472, -1, 801, 802, 1226, -1, -1, -1, -1, 3148 1073, 1074, -1, 1374, 812, -1, 60, -1, -1, 1082, 3149 -1, 65, 333, 67, -1, 69, -1, -1, -1, -1, 3150 -1, -1, 76, 77, 1255, -1, -1, 1398, 213, -1, 3151 -1, 512, 353, -1, -1, 1266, 1267, 1268, -1, -1, 3152 -1, -1, -1, -1, -1, -1, 1188, 101, 1419, 103, 3153 -1, -1, -1, -1, -1, -1, 241, 111, -1, -1, 3154 -1, -1, -1, -1, -1, 873, -1, -1, 1141, 1440, 3155 -1, -1, -1, -1, 1147, 1148, 1447, -1, 399, -1, 3156 -1, -1, 1313, -1, 790, -1, -1, -1, -1, 897, 3157 -1, 572, 413, 560, 561, -1, -1, 418, -1, -1, 3158 -1, -1, -1, -1, -1, 426, -1, -1, -1, -1, 3159 -1, -1, -1, -1, -1, 1486, 1189, -1, -1, -1, 3160 -1, 588, 1493, -1, 591, 592, -1, 594, -1, 596, 3161 597, 452, -1, 1206, 601, 602, -1, 1210, -1, 620, 3162 621, -1, -1, -1, -1, 1287, -1, -1, -1, 470, 3163 958, 472, -1, 1226, 635, 1228, -1, -1, -1, -1, 3164 -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, 3165 -1, -1, 653, -1, -1, -1, -1, -1, -1, -1, 3166 -1, -1, 1255, -1, -1, 666, -1, -1, -1, -1, 3167 671, 512, -1, 1266, 1267, 1268, -1, -1, -1, -1, 3168 -1, -1, 908, -1, -1, 1278, 1279, -1, 1016, 1017, 3169 -1, 1019, 1020, 1021, -1, -1, 683, 684, -1, 1292, 3170 -1, -1, 689, -1, -1, -1, 707, -1, 413, 710, 3171 -1, -1, 1040, -1, -1, 10, 11, 12, 13, 14, 3172 1313, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3173 -1, 572, -1, -1, -1, -1, -1, -1, -1, -1, 3174 -1, -1, 37, 744, -1, 1073, 1074, -1, -1, -1, 3175 -1, -1, -1, -1, 1082, -1, -1, -1, 984, -1, 3176 -1, -1, -1, -1, -1, 60, -1, 472, -1, -1, 3177 65, -1, 67, -1, 69, -1, -1, 1003, -1, 620, 3178 621, 76, 77, -1, -1, 786, -1, -1, -1, -1, 3179 -1, -1, -1, -1, 635, 796, -1, -1, -1, -1, 3180 801, 802, -1, -1, -1, 1398, 101, 512, 103, -1, 3181 -1, 812, 653, 1141, -1, -1, 111, -1, -1, 1147, 3182 1148, -1, -1, -1, -1, 666, -1, -1, -1, -1, 3183 671, -1, -1, -1, -1, 10, 11, 12, 13, 14, 3184 -1, -1, -1, -1, -1, -1, -1, 1440, -1, -1, 3185 -1, -1, -1, -1, 1447, -1, -1, -1, 1084, -1, 3186 -1, 1189, 37, -1, -1, -1, 707, 572, -1, 710, 3187 -1, -1, 873, -1, -1, -1, -1, -1, 1206, -1, 3188 -1, -1, 1210, -1, -1, 60, -1, -1, -1, -1, 3189 65, -1, 67, 1486, 69, -1, 897, -1, 1226, -1, 3190 1228, 76, 77, 744, -1, -1, -1, -1, -1, -1, 3191 -1, -1, -1, -1, -1, 620, 621, -1, -1, -1, 3192 10, 11, 12, 13, 14, -1, 101, 1255, -1, -1, 3193 635, -1, -1, -1, -1, -1, 111, -1, 1266, 1267, 3194 1268, -1, -1, -1, -1, 786, -1, 37, -1, -1, 3195 1278, 1279, -1, -1, -1, 796, -1, 958, -1, -1, 3196 801, 802, -1, -1, 1292, -1, -1, 50, -1, 52, 3197 60, 812, 55, 56, 57, 65, 59, -1, -1, 69, 3198 -1, -1, -1, -1, -1, 1313, 76, 77, -1, -1, 3199 -1, 74, -1, 25, 26, 27, -1, -1, -1, -1, 3200 -1, -1, 85, 86, -1, 710, -1, -1, -1, -1, 3201 -1, 101, -1, -1, -1, 1016, 1017, -1, 1019, 1020, 3202 1021, 111, -1, -1, -1, -1, -1, -1, -1, -1, 3203 -1, -1, 873, -1, -1, -1, -1, -1, -1, 1040, 3284 30, 31, 1448, -1, -1, -1, 154, 37, -1, -1, 3285 -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, 3286 -1, -1, -1, -1, -1, 913, -1, 323, 1474, -1, 3287 60, -1, -1, -1, -1, 65, -1, 67, 68, 69, 3288 -1, 71, 190, -1, -1, -1, 76, 77, 344, -1, 3289 573, 574, 1498, 349, 350, -1, 204, 1503, -1, -1, 3290 -1, 357, -1, -1, -1, 213, 954, -1, -1, -1, 3291 -1, 101, -1, 103, -1, 223, -1, -1, -1, 967, 3292 603, 111, -1, 606, 607, -1, 609, -1, 611, 612, 3293 -1, -1, -1, 616, 617, -1, -1, -1, -1, -1, 3294 248, -1, -1, 399, -1, 253, -1, -1, -1, -1, 3295 -1, -1, -1, 1001, -1, -1, -1, -1, 266, -1, 3296 -1, 417, -1, -1, 272, -1, 274, 423, -1, -1, 3297 -1, -1, -1, -1, 1022, 1023, -1, -1, -1, -1, 3298 -1, -1, 290, -1, 440, -1, -1, 443, 444, -1, 3204 3299 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3205 -1, -1, -1, -1, -1, -1, 897, -1, -1, -1, 3206 -1, -1, -1, 95, -1, 97, -1, -1, 151, -1, 3207 1398, -1, 1073, 1074, -1, -1, -1, -1, -1, -1, 3208 -1, 1082, -1, -1, -1, -1, -1, -1, 1075, 121, 3209 -1, -1, -1, -1, -1, -1, -1, 802, -1, -1, 3300 -1, -1, -1, 459, -1, -1, -1, -1, -1, -1, 3301 693, -1, -1, -1, -1, 698, 699, 473, -1, -1, 3302 -1, 704, -1, -1, 480, 333, -1, -1, -1, -1, 3303 338, -1, 1080, 3, 4, 5, 6, 7, 8, 9, 3304 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3305 20, 21, 22, 23, 24, 25, 26, -1, 366, 29, 3306 30, 31, 370, 371, -1, 373, -1, 37, -1, -1, 3307 -1, 379, 380, -1, 382, 383, -1, 385, -1, 387, 3308 -1, -1, -1, -1, -1, -1, -1, -1, 1136, -1, 3309 60, -1, 62, -1, 64, 65, 404, 67, 68, 69, 3310 -1, -1, -1, -1, 412, -1, 76, 77, -1, -1, 3311 -1, -1, -1, 36, -1, 38, -1, -1, -1, -1, 3312 -1, -1, -1, -1, -1, -1, -1, -1, 436, -1, 3313 1178, 101, -1, 103, -1, -1, 59, -1, 594, 447, 3314 -1, 111, 65, -1, -1, -1, 69, -1, -1, 72, 3315 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3316 -1, -1, 470, -1, 87, -1, 622, 1215, 476, -1, 3317 -1, 627, -1, 481, -1, -1, -1, -1, 101, -1, 3318 103, -1, -1, -1, -1, -1, -1, 110, 111, 112, 3319 113, 114, 115, -1, -1, -1, -1, -1, 152, 153, 3320 -1, 124, -1, -1, -1, -1, -1, -1, -1, 517, 3321 -1, -1, -1, 1261, 1262, -1, -1, -1, -1, -1, 3322 -1, -1, 1270, -1, -1, 533, -1, -1, -1, -1, 3323 -1, 185, -1, -1, -1, -1, -1, -1, 192, 10, 3324 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3325 21, 22, 23, 24, 25, 26, -1, 713, 29, 30, 3326 31, 569, -1, -1, -1, 36, 37, 38, -1, -1, 3327 578, 727, -1, -1, -1, -1, -1, 585, -1, -1, 3328 -1, -1, 590, -1, -1, -1, -1, -1, 59, 60, 3329 -1, 747, -1, 601, 65, -1, 67, 68, 69, -1, 3330 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3331 264, -1, -1, -1, -1, -1, 87, -1, -1, -1, 3332 -1, -1, -1, -1, -1, -1, 1374, -1, -1, -1, 3333 101, -1, 103, 641, -1, 106, -1, -1, -1, 110, 3334 111, 112, 113, 114, 115, -1, -1, -1, -1, 805, 3210 3335 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3211 -1, -1, 1440, -1, -1, -1, -1, 958, -1, 1447, 3212 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3213 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3214 1141, -1, -1, 175, -1, -1, 1147, 1148, 37, -1, 3215 182, -1, 184, 185, -1, -1, -1, 189, 1486, 191, 3216 192, -1, -1, -1, -1, -1, -1, -1, 873, -1, 3217 -1, 60, -1, -1, -1, 1016, 1017, -1, 1019, 1020, 3218 1021, -1, 71, -1, -1, -1, -1, -1, 1189, -1, 3219 -1, -1, 897, -1, -1, -1, -1, -1, -1, 1040, 3220 -1, -1, -1, -1, -1, 1206, -1, -1, -1, 1210, 3336 -1, -1, 818, -1, 318, -1, -1, -1, 676, -1, 3337 -1, -1, 326, 327, -1, 329, 330, 1425, -1, -1, 3338 -1, 837, -1, -1, -1, 339, -1, -1, -1, 343, 3339 -1, -1, -1, -1, 1077, -1, -1, -1, -1, -1, 3340 -1, -1, -1, -1, 1452, -1, -1, -1, 362, -1, 3341 -1, 365, -1, -1, -1, -1, -1, -1, -1, -1, 3342 -1, -1, -1, 731, -1, -1, -1, 1475, -1, -1, 3343 -1, -1, -1, 741, 742, -1, -1, 391, -1, -1, 3344 -1, 395, -1, -1, -1, 753, -1, -1, -1, -1, 3221 3345 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3222 1207, -1, -1, -1, -1, 1226, 258, 1228, -1, -1, 3223 -1, -1, 1073, 1074, -1, -1, -1, -1, -1, 944, 3224 -1, 1082, -1, 326, -1, 328, -1, -1, -1, -1, 3225 -1, -1, -1, 958, 1255, -1, 339, 340, -1, -1, 3226 -1, -1, -1, -1, -1, 1266, 1267, 1268, -1, 63, 3227 353, -1, -1, -1, -1, -1, -1, 1278, 1279, 73, 3228 -1, 75, -1, 77, -1, -1, -1, -1, -1, -1, 3229 84, 1292, -1, -1, -1, -1, -1, -1, -1, -1, 3230 1141, -1, -1, -1, -1, -1, 1147, 1148, -1, -1, 3231 -1, -1, 1313, -1, 1019, 1020, 1021, -1, -1, 113, 3232 -1, 115, 116, 117, -1, -1, -1, -1, -1, -1, 3233 413, -1, -1, -1, -1, 1040, -1, -1, -1, -1, 3234 -1, -1, -1, -1, -1, -1, -1, 141, 1189, -1, 3346 -1, -1, 770, -1, 772, -1, 922, -1, 776, -1, 3347 -1, 425, -1, -1, -1, -1, -1, -1, -1, -1, 3348 -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 3349 -1, -1, 948, -1, 448, -1, -1, -1, 153, -1, 3235 3350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3236 -1, 155, -1, -1, -1, 1206, -1, -1, -1, 1210, 3237 -1, -1, -1, -1, -1, -1, -1, 1082, -1, -1, 3238 -1, -1, -1, -1, -1, 1226, -1, 1228, -1, -1, 3239 -1, -1, -1, -1, -1, -1, -1, 1398, -1, -1, 3351 165, -1, -1, -1, 1197, -1, -1, 973, -1, -1, 3352 -1, -1, -1, -1, -1, 479, -1, -1, 482, -1, 3353 -1, -1, -1, 841, -1, -1, -1, -1, -1, -1, 3354 848, -1, -1, -1, -1, 36, -1, 38, 1004, -1, 3355 -1, -1, -1, 861, -1, 863, -1, -1, -1, 1015, 3356 -1, -1, -1, -1, -1, -1, -1, 521, 59, 877, 3357 524, 525, -1, -1, 65, 883, -1, -1, 69, -1, 3358 235, 72, 73, 74, 75, 76, 77, 895, 79, 80, 3359 898, -1, -1, -1, -1, -1, 87, -1, -1, -1, 3360 -1, -1, -1, -1, -1, 260, -1, -1, 916, -1, 3361 101, -1, 103, -1, -1, 569, 570, -1, 109, 110, 3362 111, 112, 113, 114, 115, -1, -1, -1, -1, -1, 3363 -1, -1, -1, -1, 588, 589, -1, 591, 1094, -1, 3364 -1, -1, -1, -1, -1, -1, 600, -1, 602, 603, 3365 -1, -1, -1, -1, -1, 609, -1, -1, -1, -1, 3366 -1, -1, -1, -1, -1, 619, 620, -1, -1, -1, 3367 -1, 625, -1, -1, -1, -1, -1, -1, -1, -1, 3368 634, 635, 636, -1, -1, -1, -1, -1, -1, -1, 3369 -1, -1, 1000, -1, -1, -1, -1, 651, -1, -1, 3370 -1, -1, 656, 657, -1, -1, 660, 661, -1, -1, 3371 -1, -1, -1, 667, -1, -1, -1, -1, -1, 374, 3372 -1, -1, 1178, 36, -1, 38, -1, -1, -1, -1, 3373 -1, 685, 686, 687, -1, 689, -1, -1, -1, 693, 3374 -1, -1, -1, -1, -1, -1, 59, 1055, -1, -1, 3375 -1, -1, 65, 1061, 67, 68, 69, -1, -1, 72, 3376 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3377 -1, 725, 726, -1, 87, -1, -1, -1, -1, -1, 3378 -1, -1, 1090, -1, -1, -1, -1, 1095, 101, -1, 3379 103, -1, 105, 106, -1, 1103, -1, 110, 111, 112, 3380 113, 114, 115, -1, -1, 759, 760, -1, -1, -1, 3381 764, 765, -1, -1, 1270, 276, 277, 278, 279, 474, 3382 -1, -1, -1, 1131, -1, 286, 287, -1, -1, -1, 3383 291, 292, -1, -1, -1, 1143, -1, -1, 1146, -1, 3384 1148, -1, 303, -1, -1, -1, -1, -1, -1, -1, 3385 -1, 805, -1, -1, 1162, 1163, -1, 512, -1, -1, 3386 814, -1, -1, -1, -1, -1, 820, 821, -1, -1, 3387 525, 825, -1, 827, -1, -1, 1184, 532, 339, -1, 3388 -1, -1, -1, 837, -1, -1, -1, -1, -1, -1, 3389 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, 3390 -1, -1, 1210, -1, -1, -1, -1, -1, -1, -1, 3391 -1, -1, 567, -1, 375, -1, -1, -1, -1, -1, 3392 -1, -1, 577, -1, -1, -1, -1, -1, -1, 584, 3393 -1, -1, -1, -1, 589, -1, -1, -1, 10, 11, 3394 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3395 22, 23, 24, 25, 26, 909, -1, 29, 30, 31, 3396 -1, -1, -1, 917, -1, 37, -1, -1, 922, -1, 3397 -1, -1, -1, -1, -1, -1, 930, -1, -1, -1, 3398 -1, -1, -1, -1, 639, -1, -1, -1, 60, 943, 3399 944, 646, 1300, -1, 1302, 67, 68, -1, -1, -1, 3400 -1, -1, -1, -1, -1, 1313, -1, 1315, -1, -1, 3401 -1, -1, -1, 967, -1, -1, -1, -1, -1, 973, 3402 -1, -1, -1, -1, -1, 1333, -1, -1, -1, -1, 3403 -1, 686, 1488, -1, -1, -1, -1, 991, 992, 111, 3404 -1, 1349, -1, -1, -1, -1, -1, 1001, -1, 1357, 3405 -1, -1, 1360, 1007, 1008, -1, 1010, 1011, 1012, -1, 3406 -1, -1, -1, -1, -1, -1, -1, -1, 1022, 1023, 3407 -1, -1, 1380, -1, -1, -1, -1, -1, -1, -1, 3408 -1, 1389, -1, -1, 1392, 1393, -1, 548, 549, 550, 3409 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 3410 561, 562, 563, 564, 565, 760, -1, 762, -1, -1, 3411 -1, -1, -1, 768, -1, -1, -1, -1, -1, 1427, 3412 775, 1429, -1, -1, -1, -1, -1, 1081, 1082, 1083, 3413 591, -1, -1, 1441, -1, -1, -1, -1, -1, -1, 3414 1094, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3240 3415 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3241 -1, -1, -1, -1, 1255, -1, -1, -1, -1, 213, 3242 -1, 215, 216, 217, -1, 1266, 1267, 1268, -1, 512, 3243 -1, -1, -1, -1, -1, -1, -1, 1278, 1279, 1440, 3244 -1, -1, 1147, 1148, -1, -1, 1447, -1, -1, -1, 3245 -1, 1292, -1, -1, -1, 249, -1, -1, -1, 253, 3416 -1, -1, -1, 818, 819, -1, 821, -1, -1, -1, 3246 3417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3247 -1, 36, 1313, 38, -1, 269, -1, -1, -1, -1, 3248 -1, -1, -1, 1188, 1189, 1486, -1, -1, -1, 572, 3249 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, 3250 65, 1206, -1, -1, 69, 1210, -1, 72, 73, 74, 3251 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3252 -1, -1, 87, 317, -1, -1, -1, 1232, 560, 561, 3253 -1, -1, -1, -1, -1, -1, 101, -1, 332, -1, 3254 623, -1, -1, 337, 338, 110, 111, 112, 113, 114, 3255 115, 345, -1, -1, -1, -1, 588, 1398, -1, 591, 3256 592, -1, 594, -1, 596, 597, -1, -1, 651, 601, 3257 602, -1, -1, 1278, 1279, -1, -1, -1, -1, -1, 3258 -1, -1, 1287, -1, -1, -1, -1, 1292, 671, -1, 3259 -1, -1, -1, 387, -1, -1, -1, -1, -1, 1440, 3260 -1, -1, -1, -1, -1, -1, 1447, -1, -1, -1, 3261 -1, 405, -1, -1, -1, -1, 699, 411, 701, 1324, 3262 -1, -1, -1, -1, -1, 708, 709, -1, -1, -1, 3263 713, -1, -1, -1, 428, -1, -1, 431, 432, -1, 3264 43, -1, 725, -1, -1, 1486, 678, 730, -1, -1, 3265 -1, 683, 684, 447, -1, -1, -1, 689, -1, -1, 3266 -1, 744, -1, -1, -1, -1, -1, 461, -1, -1, 3267 -1, 754, -1, -1, 468, -1, -1, -1, -1, -1, 3268 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1, 3269 -1, -1, -1, 1398, -1, 98, 10, 11, 12, 13, 3270 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3271 24, 25, 26, 27, 1419, 29, 30, 31, -1, 802, 3272 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, 3273 -1, -1, -1, -1, -1, 1440, -1, -1, 821, -1, 3274 -1, -1, 1447, -1, -1, -1, 60, -1, -1, 152, 3275 -1, -1, -1, 67, 68, -1, -1, 71, -1, -1, 3276 -1, -1, 165, -1, -1, -1, -1, -1, -1, -1, 3277 -1, 854, -1, 856, 857, 858, -1, -1, 861, 862, 3278 -1, 1486, -1, 577, 187, -1, -1, 101, -1, 103, 3279 -1, -1, -1, 876, -1, -1, -1, 111, 201, -1, 3280 -1, -1, -1, -1, -1, 888, 209, -1, 891, -1, 3281 -1, -1, -1, 607, 897, -1, 219, -1, 612, -1, 3282 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3283 18, 19, 20, 21, 22, 23, 24, 25, 26, 242, 3284 -1, 29, 30, 31, 247, -1, -1, -1, -1, 37, 3285 933, -1, -1, -1, -1, -1, -1, 260, -1, -1, 3286 -1, -1, -1, 266, -1, 268, -1, -1, -1, -1, 3287 -1, -1, 60, -1, -1, 958, -1, 65, -1, 67, 3288 68, 284, -1, -1, -1, -1, -1, -1, 971, -1, 3289 -1, -1, -1, 976, -1, -1, 979, -1, -1, -1, 3290 983, -1, -1, -1, 698, 988, -1, -1, -1, 992, 3291 993, 994, -1, -1, -1, 103, -1, -1, 712, 1002, 3292 -1, -1, 325, 111, -1, -1, -1, -1, -1, 1012, 3293 -1, -1, -1, -1, -1, -1, -1, -1, 732, -1, 3294 -1, -1, -1, -1, -1, -1, -1, -1, 1031, 1032, 3295 -1, 354, -1, -1, -1, 358, 359, -1, 361, -1, 3296 -1, -1, -1, -1, 367, 368, -1, 370, 371, -1, 3297 373, -1, 375, 1056, -1, -1, 1059, -1, -1, -1, 3298 -1, -1, -1, -1, -1, -1, -1, -1, -1, 392, 3299 -1, -1, -1, -1, -1, -1, 790, 400, -1, 1082, 3300 -1, -1, -1, -1, -1, -1, 800, -1, -1, -1, 3301 -1, -1, -1, -1, -1, -1, -1, -1, 1101, -1, 3302 -1, 424, -1, -1, 1107, 1108, -1, -1, 822, -1, 3303 -1, -1, 435, 1116, 36, -1, 38, -1, -1, 1122, 3304 -1, -1, 1125, 1075, 1127, -1, -1, 1130, -1, -1, 3305 -1, -1, -1, -1, -1, 458, -1, 59, 1141, -1, 3306 -1, 464, 1145, 65, -1, -1, 469, 69, -1, -1, 3307 72, 73, 74, 75, 76, 77, -1, 79, 80, 1162, 3308 -1, 1164, 1165, 1166, 1167, 87, -1, -1, -1, -1, 3309 -1, -1, -1, -1, -1, -1, -1, -1, 1181, 101, 3310 1183, 103, 505, -1, 1187, -1, -1, -1, 110, 111, 3311 112, 113, 114, 115, -1, -1, -1, 520, -1, 913, 3312 -1, -1, 124, 1206, -1, -1, -1, -1, -1, -1, 3313 -1, -1, 1215, 1216, -1, -1, -1, -1, -1, -1, 3314 -1, -1, -1, -1, -1, 939, -1, -1, -1, -1, 3315 -1, -1, -1, 556, -1, -1, -1, -1, -1, -1, 3316 -1, -1, 565, -1, 567, -1, -1, -1, -1, -1, 3317 573, 965, -1, -1, -1, 1207, -1, -1, -1, -1, 3318 1263, 1264, -1, 586, -1, -1, 1269, 1270, -1, -1, 3319 -1, -1, -1, -1, -1, -1, -1, 1280, -1, -1, 3320 -1, 995, -1, -1, -1, -1, -1, -1, -1, -1, 3321 -1, -1, -1, -1, -1, -1, -1, -1, 1012, -1, 3322 -1, -1, 625, -1, -1, -1, -1, 10, 11, 12, 3323 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3324 23, 24, 25, 26, 27, 1328, 29, 30, 31, -1, 3325 -1, -1, -1, -1, 37, -1, -1, 1340, 661, -1, 3326 -1, 1344, 1345, 1346, -1, -1, -1, -1, -1, -1, 3327 -1, -1, -1, 1356, -1, -1, -1, 60, -1, -1, 3328 -1, -1, 1365, -1, 67, 68, -1, -1, 71, -1, 3329 -1, -1, -1, -1, -1, 1378, -1, -1, -1, -1, 3330 -1, -1, 1096, 7, -1, -1, 10, 11, 12, 13, 3331 14, -1, -1, 716, -1, -1, -1, -1, -1, -1, 3332 103, -1, -1, 726, 727, -1, -1, -1, 111, 151, 3333 -1, -1, 36, 37, 38, 738, -1, -1, -1, -1, 3334 -1, -1, -1, -1, 1427, 1428, -1, -1, -1, -1, 3335 -1, -1, 755, -1, 757, 59, 60, 1440, 761, -1, 3336 182, 65, -1, -1, 1447, 69, -1, 189, 72, 73, 3337 74, 75, 76, 77, -1, 79, 80, -1, -1, -1, 3338 -1, -1, -1, 87, -1, -1, -1, -1, -1, 1472, 3339 -1, -1, -1, -1, 1188, -1, -1, 101, -1, 103, 3340 -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 3341 114, 115, -1, -1, -1, 1498, -1, -1, -1, -1, 3342 -1, -1, -1, 826, -1, -1, -1, -1, -1, -1, 3343 833, -1, -1, -1, -1, -1, 258, -1, -1, 1522, 3344 -1, -1, -1, 846, 1527, 848, -1, -1, -1, -1, 3418 -1, 836, 1136, 4, 5, 6, 7, 8, 9, 10, 3419 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3420 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3421 31, -1, -1, -1, -1, 36, 37, 38, -1, -1, 3422 -1, 876, -1, -1, -1, 880, -1, 688, -1, -1, 3423 -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, 3424 -1, 62, 1196, 64, 65, -1, 67, 68, 69, 710, 3425 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3426 -1, 1215, 723, -1, -1, -1, 87, -1, -1, -1, 3345 3427 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3346 863, -1, -1, -1, -1, -1, 869, -1, -1, -1, 3347 -1, -1, -1, -1, -1, -1, -1, -1, 881, -1, 3348 -1, 884, -1, -1, -1, -1, -1, -1, -1, -1, 3349 312, -1, -1, 1287, -1, -1, -1, -1, 320, 321, 3350 -1, 323, 324, 906, 326, -1, -1, -1, -1, 331, 3428 101, -1, 103, -1, -1, -1, -1, 108, -1, 110, 3429 111, 112, 113, 114, 115, -1, -1, -1, -1, 954, 3430 -1, -1, -1, -1, -1, -1, 767, 1261, 1262, -1, 3431 -1, -1, 967, 968, -1, -1, -1, -1, 36, 974, 3432 38, -1, -1, -1, -1, 980, -1, -1, 983, -1, 3433 985, -1, -1, -1, -1, -1, -1, 798, -1, -1, 3434 -1, 59, -1, -1, -1, -1, -1, 65, -1, 1004, 3435 -1, 69, 813, -1, 72, 73, 74, 75, 76, 77, 3436 1015, 79, 80, -1, -1, -1, -1, -1, -1, 87, 3351 3437 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3352 -1, -1, -1, -1, -1, -1, -1, -1, 350, -1, 3353 -1, 353, -1, -1, -1, -1, -1, -1, -1, 10, 3354 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3355 21, 22, 23, 24, 25, 26, -1, 379, 29, 30, 3356 31, 383, -1, -1, -1, 142, 37, -1, -1, -1, 3357 -1, -1, -1, -1, 151, -1, -1, -1, -1, -1, 3358 -1, -1, -1, -1, -1, -1, 163, -1, 991, 60, 3359 -1, 413, -1, -1, 997, 998, 67, 68, -1, -1, 3438 -1, -1, 1037, 101, 1039, 103, -1, -1, 106, -1, 3439 -1, -1, 110, 111, 112, 113, 114, 115, -1, 1054, 3360 3440 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3361 -1, -1, -1, -1, 436, 3, 4, 5, 6, 7, 3441 -1, -1, -1, -1, -1, -1, -1, -1, 1073, -1, 3442 1374, -1, 0, -1, -1, 3, 4, 5, 6, 7, 3362 3443 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3363 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3364 111, 29, 30, 31, 32, 467, -1, 35, 470, 37, 3365 1053, -1, -1, 230, -1, -1, 1059, -1, -1, -1, 3366 -1, -1, -1, -1, -1, -1, -1, -1, 36, -1, 3367 38, -1, 60, -1, 62, -1, 64, 254, -1, 67, 3368 68, -1, -1, 71, -1, -1, -1, 509, -1, 1092, 3369 512, 59, -1, -1, 1097, -1, -1, 65, -1, -1, 3370 -1, 69, 1105, -1, 72, 73, 74, 75, 76, 77, 3371 -1, 79, 80, -1, -1, 103, -1, -1, 1512, 87, 3372 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3373 -1, 1134, -1, 101, 556, 557, -1, -1, -1, -1, 3374 -1, -1, 110, 111, 112, 113, 114, 115, 1151, -1, 3375 572, 1154, 574, 1156, -1, -1, -1, -1, -1, -1, 3376 582, -1, -1, 585, -1, 587, 588, -1, -1, -1, 3377 1173, 1174, 594, -1, 7, -1, 353, 10, 11, 12, 3378 13, 14, 604, 605, -1, 362, -1, -1, 610, -1, 3379 -1, 1194, -1, -1, -1, -1, -1, -1, 620, 621, 3380 -1, -1, -1, 36, 37, 38, -1, -1, -1, -1, 3381 -1, -1, -1, 635, -1, -1, -1, -1, 640, 641, 3382 1223, -1, 644, 645, -1, -1, 59, 60, -1, -1, 3383 -1, -1, 65, -1, -1, 412, 69, -1, -1, 72, 3384 73, 74, 75, 76, 77, -1, 79, 80, -1, 671, 3385 672, -1, 674, -1, 87, -1, 678, -1, -1, -1, 3386 -1, -1, -1, -1, -1, -1, -1, -1, 101, 36, 3387 103, 38, -1, -1, -1, -1, -1, 110, 111, 112, 3388 113, 114, 115, -1, -1, 462, -1, -1, 710, 711, 3389 -1, -1, 59, -1, -1, -1, -1, -1, 65, -1, 3390 67, 68, 69, -1, -1, 72, 73, 74, 75, 76, 3391 77, -1, 79, 80, -1, -1, 1319, -1, 1321, -1, 3392 87, -1, 744, 500, -1, -1, 748, 749, -1, 1332, 3393 -1, 1334, -1, -1, 101, 512, 103, -1, 105, 106, 3394 -1, -1, 519, 110, 111, 112, 113, 114, 115, -1, 3395 -1, 1354, -1, -1, -1, 532, 533, -1, -1, -1, 3396 -1, -1, -1, -1, -1, -1, -1, 1370, 790, -1, 3397 -1, -1, -1, -1, -1, -1, 1379, 554, -1, 1382, 3398 802, -1, 36, -1, 38, -1, -1, 564, -1, 811, 3399 -1, 813, -1, -1, -1, 572, -1, -1, -1, -1, 3400 822, 1404, -1, -1, -1, 59, -1, -1, -1, -1, 3401 1413, 65, -1, 1416, 1417, 69, -1, -1, 72, 73, 3402 74, 75, 76, 77, -1, 79, 80, -1, -1, -1, 3403 -1, 853, -1, 87, -1, -1, -1, -1, -1, -1, 3404 -1, -1, -1, -1, -1, -1, 623, 101, 1451, 103, 3405 1453, -1, 106, 630, -1, -1, 110, 111, 112, 113, 3406 114, 115, 1465, -1, -1, -1, 270, 271, 272, 273, 3407 -1, -1, -1, -1, 651, 897, 280, 281, -1, -1, 3408 -1, 285, 286, -1, -1, -1, 908, -1, -1, -1, 3409 -1, 913, -1, 297, 671, -1, -1, -1, -1, 921, 3410 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3411 -1, -1, 934, 935, -1, -1, -1, -1, -1, -1, 3412 -1, -1, 326, -1, -1, -1, -1, -1, -1, -1, 3413 -1, -1, -1, -1, -1, -1, 958, -1, -1, -1, 3414 -1, -1, -1, 965, -1, -1, -1, -1, -1, -1, 3415 972, -1, -1, -1, -1, -1, -1, -1, -1, 363, 3416 -1, -1, 984, 985, -1, -1, -1, 744, 990, 746, 3417 992, -1, -1, -1, -1, 752, -1, -1, -1, -1, 3418 -1, 1003, 1004, 760, 1006, 1007, 1008, -1, -1, -1, 3419 -1, -1, -1, -1, -1, -1, -1, 1019, 1020, 1021, 3420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3421 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3422 797, -1, -1, 800, 801, 802, 10, 11, 12, 13, 3423 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3424 24, 25, 26, -1, 821, 29, 30, 31, -1, -1, 3425 -1, -1, -1, 37, 1076, -1, -1, -1, -1, -1, 3426 1082, 1083, 1084, 1085, -1, -1, -1, -1, -1, -1, 3427 -1, -1, -1, -1, 1096, -1, 60, -1, -1, -1, 3428 -1, -1, -1, 67, 68, 862, -1, -1, -1, 866, 3429 -1, -1, -1, -1, -1, -1, 1118, -1, -1, -1, 3430 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3431 18, 19, 20, 21, 22, 23, 24, 25, 26, 1141, 3432 897, 29, 30, 31, 1146, 1147, 1148, 111, -1, 37, 3433 38, 535, 536, 537, 538, 539, 540, 541, 542, 543, 3434 544, 545, 546, 547, 548, 549, 550, 551, 552, -1, 3435 -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, 3436 68, -1, -1, -1, -1, -1, -1, -1, 945, -1, 3437 574, 36, -1, 38, -1, -1, -1, -1, -1, -1, 3438 -1, 958, 959, -1, 1206, -1, -1, -1, -1, 966, 3439 -1, -1, -1, -1, 59, 103, 973, -1, 1220, 976, 3440 65, 978, -1, 111, 69, -1, 1228, 72, 73, 74, 3441 75, 76, 77, -1, 79, 80, -1, -1, 995, -1, 3442 -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 3443 -1, -1, -1, -1, -1, 1012, 101, -1, 103, -1, 3444 -1, -1, -1, -1, 109, 110, 111, 112, 113, 114, 3445 115, -1, -1, -1, -1, -1, 1278, 1279, 1035, -1, 3446 1037, -1, -1, -1, -1, -1, -1, -1, -1, 673, 3447 -1, -1, -1, -1, -1, 1052, -1, -1, -1, -1, 3448 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3449 1312, 695, -1, -1, 1071, -1, -1, -1, -1, -1, 3450 -1, -1, -1, -1, 708, 1082, 3, 4, 5, 6, 3451 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3452 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3453 -1, -1, 29, 30, 31, 32, -1, -1, 35, -1, 3454 37, -1, -1, 1120, -1, -1, -1, 751, -1, -1, 3455 -1, -1, 1374, -1, -1, -1, -1, -1, -1, -1, 3456 -1, -1, -1, 60, 1141, 62, -1, 64, -1, -1, 3457 67, 68, -1, -1, -1, -1, 1398, -1, -1, 783, 3458 -1, -1, 1159, -1, 1161, -1, -1, -1, 10, 11, 3459 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3460 22, 23, 24, 25, 26, 27, 103, 29, 30, 31, 3461 -1, -1, -1, -1, 111, 37, -1, -1, -1, -1, 3462 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1206, 3463 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3464 -1, -1, -1, 65, -1, 67, 68, 69, -1, 71, 3465 -1, 1473, -1, -1, 76, 77, -1, -1, -1, -1, 3466 -1, -1, -1, -1, 1241, -1, -1, -1, -1, -1, 3467 1492, 1493, -1, -1, -1, -1, -1, -1, -1, 101, 3468 -1, 103, -1, -1, 888, -1, -1, -1, -1, 111, 3469 1512, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3444 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3445 -1, 29, 30, 31, 32, -1, -1, 35, -1, 37, 3446 38, -1, 1117, -1, -1, -1, -1, -1, -1, -1, 3447 -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, 3448 -1, 1136, 60, -1, 62, -1, 64, 65, -1, 67, 3449 68, 69, -1, -1, -1, 1449, 1151, 1152, 76, 77, 3450 -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, 3451 -1, 38, -1, -1, 1468, 1469, -1, -1, -1, -1, 3452 -1, -1, -1, 101, -1, 103, -1, -1, 989, -1, 3453 -1, -1, 59, 111, 1488, -1, -1, -1, 65, -1, 3454 1001, -1, 69, -1, -1, 72, 73, 74, 75, 76, 3455 77, -1, 79, 80, -1, -1, -1, -1, -1, -1, 3456 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3457 -1, -1, -1, 1228, 101, -1, 103, -1, -1, 106, 3458 -1, 1042, -1, 110, 111, 112, 113, 114, 115, -1, 3459 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3470 3460 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3471 3461 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3472 3462 32, -1, -1, 35, 36, 37, 38, 39, -1, 41, 3473 3463 -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 3474 -1, 53, -1, -1, 56, 57, -1, 59, 60, -1,3464 -1, 53, -1, -1, 56, 57, -1, 59, 60, 1110, 3475 3465 62, -1, 64, 65, -1, 67, 68, 69, -1, -1, 3476 3466 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3477 -1, -1, -1, -1, -1, 87, -1, -1, 982, -1, 3478 -1, -1, -1, -1, -1, -1, -1, -1, 992, 101, 3479 -1, 103, -1, -1, 106, -1, -1, -1, 110, 111, 3480 112, 113, 114, 115, -1, -1, -1, -1, -1, -1, 3481 1387, -1, 124, -1, -1, -1, -1, -1, -1, -1, 3482 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3483 -1, -1, -1, -1, -1, -1, 1040, -1, -1, -1, 3484 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3485 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3486 23, 24, 25, 26, -1, -1, 29, 30, 31, 32, 3487 -1, -1, 35, 36, 37, 38, -1, -1, -1, 1456, 3488 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3489 -1, -1, 36, -1, 38, -1, 59, 60, -1, 62, 3490 -1, 64, 65, -1, 67, 68, 69, -1, 1112, 72, 3491 73, 74, 75, 76, 77, 59, 79, 80, -1, -1, 3492 -1, 65, 1499, -1, 87, 69, -1, -1, 72, 73, 3493 74, 75, 76, 77, -1, 79, 80, -1, 101, -1, 3494 103, -1, -1, 87, -1, -1, -1, 110, 111, 112, 3495 113, 114, 115, -1, -1, -1, -1, 101, 1162, 103, 3496 -1, 124, -1, -1, 108, -1, 110, 111, 112, 113, 3497 114, 115, -1, 1177, 1178, 3, 4, 5, 6, 7, 3498 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3499 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3500 -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 3501 38, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3502 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3503 -1, 59, 60, -1, 62, -1, 64, 65, 37, 67, 3504 68, 69, -1, -1, 72, 73, 74, 75, 76, 77, 3505 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 3506 -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, 3507 -1, -1, 71, 101, -1, 103, -1, -1, -1, -1, 3508 -1, -1, 110, 111, 112, 113, 114, 115, -1, -1, 3509 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10, 3510 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3511 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3512 31, -1, -1, -1, -1, 36, 37, 38, 10, 11, 3513 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3514 22, 23, 24, 25, 26, -1, -1, -1, 59, 60, 3515 -1, 62, -1, 64, 65, 37, 67, 68, 69, -1, 3516 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3517 -1, -1, -1, -1, -1, -1, 87, -1, 60, -1, 3518 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3519 101, -1, 103, 104, -1, -1, -1, 108, 1402, 110, 3520 111, 112, 113, 114, 115, 4, 5, 6, 7, 8, 3467 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 3468 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3469 -1, 103, 1153, -1, 106, -1, -1, -1, 110, 111, 3470 112, 113, 114, 115, -1, -1, 1167, 1168, -1, -1, 3471 1365, -1, 124, -1, 3, 4, 5, 6, 7, 8, 3521 3472 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3522 3473 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3523 29, 30, 31, -1, -1, -1, -1, 36, 37, 38, 3524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3525 -1, -1, -1, -1, -1, -1, 1460, 1461, -1, -1, 3526 59, 60, -1, 62, -1, 64, 65, -1, 67, 68, 3527 69, -1, -1, 72, 73, 74, 75, 76, 77, -1, 3528 79, 80, -1, -1, -1, -1, -1, -1, 87, -1, 3529 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3530 -1, -1, 101, -1, 103, 104, -1, -1, -1, 108, 3531 -1, 110, 111, 112, 113, 114, 115, 4, 5, 6, 3532 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3533 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3534 -1, -1, 29, 30, 31, -1, -1, -1, -1, 36, 3535 37, 38, -1, -1, -1, -1, -1, -1, -1, -1, 3536 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3537 -1, -1, 59, 60, -1, 62, -1, 64, 65, -1, 3538 67, 68, 69, -1, -1, 72, 73, 74, 75, 76, 3539 77, -1, 79, 80, -1, -1, -1, -1, -1, -1, 3540 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3541 -1, -1, -1, -1, 101, -1, 103, 104, -1, -1, 3542 -1, 108, -1, 110, 111, 112, 113, 114, 115, 4, 3543 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3544 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3545 25, 26, -1, -1, 29, 30, 31, -1, -1, -1, 3546 -1, 36, 37, 38, -1, -1, -1, -1, -1, -1, 3547 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3548 -1, -1, -1, -1, 59, 60, -1, 62, -1, 64, 3549 65, -1, 67, 68, 69, -1, -1, 72, 73, 74, 3550 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3551 -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 3552 -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, 3553 -1, -1, -1, -1, -1, 110, 111, 112, 113, 114, 3554 115, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3555 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3556 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3557 -1, -1, -1, 36, 37, 38, -1, -1, -1, -1, 3558 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3559 -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, 3560 -1, 64, 65, -1, 67, 68, 69, -1, -1, 72, 3561 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3562 -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, 3563 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 3564 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, 3565 113, 114, 115, 4, 5, 6, 7, 8, 9, 10, 3566 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3567 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3568 31, -1, -1, -1, -1, 36, 37, 38, -1, -1, 3569 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3570 -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, 3571 -1, 62, -1, 64, 65, -1, 67, 68, 69, -1, 3572 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 3573 -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 3574 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3575 101, -1, 103, -1, -1, -1, -1, -1, -1, 110, 3576 111, 112, 113, 114, 115, 4, 5, 6, 7, 8, 3577 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3578 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3579 29, 30, 31, -1, -1, -1, -1, 36, 37, 38, 3474 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, 3580 3475 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3581 3476 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3582 59, 60, -1, 62, -1, 64, 65, -1, 67, 68,3477 59, 60, -1, 62, -1, 64, 65, 1432, 67, 68, 3583 3478 69, -1, -1, 72, 73, 74, 75, 76, 77, -1, 3584 3479 79, 80, -1, -1, -1, -1, -1, -1, 87, -1, 3585 3480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3586 3481 -1, -1, 101, -1, 103, -1, -1, -1, -1, -1, 3587 -1, 110, 111, 112, 113, 114, 115, 0, -1, -1, 3588 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3482 1475, 110, 111, 112, 113, 114, 115, -1, -1, -1, 3483 -1, -1, -1, -1, -1, 124, 3, 4, 5, 6, 3484 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3485 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3486 -1, -1, 29, 30, 31, 32, -1, -1, 35, 36, 3487 37, 38, 10, 11, 12, 13, 14, 15, 16, 17, 3488 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3489 -1, -1, 59, 60, -1, 62, -1, 64, 65, 37, 3490 67, 68, 69, -1, -1, 72, 73, 74, 75, 76, 3491 77, -1, 79, 80, -1, -1, -1, 1378, -1, -1, 3492 87, -1, 60, -1, -1, -1, -1, -1, -1, -1, 3493 -1, -1, -1, 71, 101, -1, 103, -1, -1, -1, 3494 -1, -1, -1, 110, 111, 112, 113, 114, 115, -1, 3495 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11, 3496 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3497 22, 23, 24, 25, 26, 1436, 1437, 29, 30, 31, 3498 -1, -1, -1, -1, 36, 37, 38, 10, 11, 12, 3589 3499 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3590 23, 24, 25, 26, -1, -1, 29, 30, 31, 32, 3591 -1, -1, 35, -1, 37, 38, -1, -1, -1, -1, 3500 23, 24, 25, 26, 27, -1, -1, 59, 60, -1, 3501 62, -1, 64, 65, 37, 67, 68, 69, -1, -1, 3502 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3503 -1, -1, -1, -1, -1, 87, -1, 60, -1, -1, 3504 -1, -1, -1, -1, -1, -1, -1, -1, 71, 101, 3505 -1, 103, -1, -1, -1, -1, 108, -1, 110, 111, 3506 112, 113, 114, 115, 4, 5, 6, 7, 8, 9, 3507 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3508 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3509 30, 31, -1, -1, -1, -1, 36, 37, 38, 10, 3510 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3511 21, 22, 23, 24, 25, 26, -1, -1, -1, 59, 3512 60, -1, 62, -1, 64, 65, 37, 67, 68, 69, 3513 -1, -1, 72, 73, 74, 75, 76, 77, -1, 79, 3514 80, -1, -1, -1, -1, -1, -1, 87, -1, 60, 3592 3515 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3593 -1, -1, -1, -1, 57, -1, -1, 60, -1, 62, 3594 -1, 64, 65, -1, 67, 68, 69, -1, -1, -1, 3595 -1, -1, -1, 76, 77, -1, -1, -1, -1, -1, 3516 -1, 101, -1, 103, -1, -1, -1, -1, 108, -1, 3517 110, 111, 112, 113, 114, 115, 4, 5, 6, 7, 3518 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3519 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3520 -1, 29, 30, 31, -1, -1, -1, -1, 36, 37, 3521 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3596 3522 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3597 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 3598 103, -1, -1, -1, -1, -1, -1, -1, 111, 3, 3599 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3600 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3601 24, 25, 26, -1, -1, 29, 30, 31, 32, -1, 3602 -1, 35, -1, 37, 38, -1, -1, -1, -1, -1, 3523 -1, 59, 60, -1, 62, -1, 64, 65, -1, 67, 3524 68, 69, -1, -1, 72, 73, 74, 75, 76, 77, 3525 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 3603 3526 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3604 -1, -1, -1, 57, -1, -1, 60, -1, 62, -1, 3605 64, 65, -1, 67, 68, 69, -1, -1, -1, -1, 3606 -1, -1, 76, 77, -1, -1, -1, -1, -1, -1, 3607 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3608 -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 3609 -1, -1, -1, 107, -1, -1, -1, 111, 3, 4, 3610 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3611 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3612 25, 26, -1, -1, 29, 30, 31, 32, -1, -1, 3613 35, -1, 37, 38, -1, -1, -1, -1, -1, -1, 3614 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3615 -1, -1, 57, -1, -1, 60, -1, 62, -1, 64, 3616 65, -1, 67, 68, 69, -1, -1, -1, -1, -1, 3617 -1, 76, 77, -1, -1, -1, -1, -1, -1, -1, 3618 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3619 -1, -1, -1, -1, -1, -1, 101, -1, 103, -1, 3620 -1, -1, -1, -1, -1, -1, 111, 3, 4, 5, 3527 -1, -1, -1, 101, -1, 103, -1, -1, -1, -1, 3528 -1, -1, 110, 111, 112, 113, 114, 115, 4, 5, 3621 3529 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3622 3530 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3623 3531 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3624 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1,3532 36, 37, 38, -1, -1, -1, -1, -1, -1, -1, 3625 3533 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3626 -1, -1, -1, -1, 60, -1, 62, -1, 64, 65, 3627 -1, 67, 68, 69, -1, -1, -1, -1, -1, -1, 3628 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, 3534 -1, -1, -1, 59, 60, -1, 62, -1, 64, 65, 3535 -1, 67, 68, 69, -1, -1, 72, 73, 74, 75, 3536 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 3537 -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3538 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3539 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 3540 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3541 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3542 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3543 -1, -1, 36, 37, 38, -1, -1, -1, -1, -1, 3629 3544 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3630 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3631 -1, -1, -1, -1, -1, 111, 3, 4, 5, 6, 3545 -1, -1, -1, -1, -1, 59, 60, -1, 62, -1, 3546 64, 65, -1, 67, 68, 69, -1, -1, 72, 73, 3547 74, 75, 76, 77, -1, 79, 80, -1, -1, -1, 3548 -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 3549 -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 3550 -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 3551 114, 115, 4, 5, 6, 7, 8, 9, 10, 11, 3552 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3553 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3554 -1, -1, -1, -1, 36, 37, 38, -1, -1, -1, 3555 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3556 -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 3557 62, -1, 64, 65, -1, 67, 68, 69, -1, -1, 3558 72, 73, 74, 75, 76, 77, -1, 79, 80, -1, 3559 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 3560 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3561 -1, 103, -1, -1, -1, -1, -1, -1, 110, 111, 3562 112, 113, 114, 115, 3, 4, 5, 6, 7, 8, 3563 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3564 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3565 29, 30, 31, 32, -1, -1, 35, -1, 37, 38, 3566 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3567 -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, 3568 -1, 60, -1, 62, -1, 64, 65, -1, 67, 68, 3569 69, -1, -1, -1, -1, -1, -1, 76, 77, -1, 3570 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3571 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3572 -1, -1, 101, -1, 103, -1, -1, -1, 107, -1, 3573 -1, -1, 111, 3, 4, 5, 6, 7, 8, 9, 3574 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3575 20, 21, 22, 23, 24, 25, 26, -1, -1, 29, 3576 30, 31, 32, -1, -1, 35, -1, 37, 38, -1, 3577 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3578 -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, 3579 60, -1, 62, -1, 64, 65, -1, 67, 68, 69, 3580 -1, -1, -1, -1, -1, -1, 76, 77, -1, -1, 3581 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3582 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3583 -1, 101, -1, 103, -1, -1, -1, -1, -1, -1, 3584 -1, 111, 3, 4, 5, 6, 7, 8, 9, 10, 3585 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3586 21, 22, 23, 24, 25, 26, 27, -1, 29, 30, 3587 31, 32, -1, -1, 35, -1, 37, -1, -1, -1, 3588 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3589 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3590 -1, 62, -1, 64, -1, -1, 67, 68, -1, -1, 3591 71, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3592 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3593 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3594 -1, -1, 103, -1, -1, 37, -1, -1, -1, -1, 3595 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3596 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3597 62, -1, 64, -1, -1, 67, 68, 4, 5, 6, 3632 3598 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3633 3599 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3634 3600 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3635 37, -1, -1, -1, -1, -1, -1, -1, -1, -1,3601 37, 103, -1, -1, -1, -1, -1, -1, -1, 111, 3636 3602 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3637 -1, -1, -1, 60, -1, 62, -1, 64, -1, -1, 3638 67, 68, 4, 5, 6, 7, 8, 9, 10, 11, 3639 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3640 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3641 -1, -1, -1, -1, -1, 37, 103, -1, -1, -1, 3642 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3643 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3644 62, -1, 64, 65, -1, 67, 68, 69, -1, -1, 3645 -1, -1, -1, -1, 76, 77, -1, -1, -1, -1, 3603 -1, -1, -1, 60, -1, 62, -1, 64, 65, -1, 3604 67, 68, 69, -1, -1, -1, -1, -1, -1, 76, 3605 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3646 3606 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3647 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3648 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111, 3649 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3650 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3651 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3652 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, 3653 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3654 -1, -1, -1, -1, -1, -1, 60, -1, 62, -1, 3655 64, -1, -1, 67, 68, 4, 5, 6, 7, 8, 3607 -1, -1, -1, -1, 101, -1, 103, -1, -1, -1, 3608 -1, -1, -1, -1, 111, 4, 5, 6, 7, 8, 3656 3609 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3657 3610 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3658 29, 30, 31, -1, -1, -1, -1, -1, 37, 103,3659 104, -1, -1, -1, -1, -1, -1, 111, -1, -1,3611 29, 30, 31, -1, -1, -1, -1, -1, 37, -1, 3612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3660 3613 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3661 3614 -1, 60, -1, 62, -1, 64, -1, -1, 67, 68, … … 3717 3670 -1, -1, -1, -1, -1, 87, -1, -1, -1, -1, 3718 3671 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3719 -1, 103, -1, -1, 106, -1, -1, -1, 110, 111,3672 -1, 103, 104, -1, -1, -1, -1, -1, 110, 111, 3720 3673 112, 113, 114, 115, 10, 11, 12, 13, 14, 15, 3721 3674 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, … … 3727 3680 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 3728 3681 -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3729 -1, -1, -1, -1, -1, 101, -1, 103, 104, -1,3682 -1, -1, -1, -1, -1, 101, 102, 103, -1, -1, 3730 3683 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 3731 3684 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, … … 3738 3691 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 3739 3692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3740 -1, 101, 102, 103, -1, -1, -1, -1, -1, -1,3693 -1, 101, -1, 103, -1, -1, -1, -1, -1, -1, 3741 3694 110, 111, 112, 113, 114, 115, 10, 11, 12, 13, 3742 3695 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, … … 3771 3724 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, 3772 3725 -1, 103, -1, -1, -1, -1, -1, -1, 110, 111, 3773 112, 113, 114, 115, 10, 11, 12, 13, 14, 15, 3774 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3775 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3776 36, 37, 38, -1, -1, -1, -1, -1, -1, -1, 3726 112, 113, 114, 115, 3, 4, 5, 6, 7, 8, 3727 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3728 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3729 29, 30, 31, -1, -1, -1, -1, -1, 37, 10, 3730 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3731 21, 22, 23, 24, 25, 26, 27, -1, 29, 30, 3732 31, 60, -1, 62, -1, 64, 37, -1, 67, 68, 3733 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3734 18, 19, 20, 21, 22, 23, 24, 25, 26, 60, 3735 -1, 29, 30, 31, 65, -1, 67, 68, 69, 37, 3736 71, -1, -1, -1, -1, 76, 77, 106, -1, -1, 3777 3737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3778 -1, -1, -1, 59, 60, -1, -1, -1, -1, 65, 3779 -1, 67, 68, 69, -1, -1, 72, 73, 74, 75, 3780 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 3781 -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3782 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3783 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115, 3784 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3738 -1, -1, 60, -1, -1, -1, -1, 65, -1, 67, 3739 68, 69, 103, -1, -1, -1, -1, -1, 76, 77, 3740 111, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3741 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3742 29, 30, 31, 101, -1, 103, -1, -1, 37, -1, 3743 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3744 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3745 -1, 60, -1, -1, -1, -1, 65, -1, 67, 68, 3746 69, -1, -1, -1, -1, -1, -1, 76, 77, 10, 3747 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3748 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3749 31, -1, 101, -1, 103, -1, 37, -1, -1, -1, 3750 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, 3751 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3752 -1, -1, -1, -1, 65, -1, 67, 68, 69, -1, 3753 -1, -1, -1, -1, -1, 76, 77, 10, 11, 12, 3785 3754 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3786 3755 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3787 -1, -1, -1, -1, 37, 10, 11, 12, 13, 14, 3788 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3789 25, 26, 27, -1, 29, 30, 31, 60, -1, 62, 3790 -1, 64, 37, -1, 67, 68, -1, -1, 10, 11, 3791 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3792 22, 23, 24, 25, 26, 60, -1, 29, 30, 31, 3793 65, -1, 67, 68, 69, 37, 71, -1, -1, -1, 3794 -1, 76, 77, 106, -1, -1, -1, -1, -1, -1, 3795 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3796 -1, -1, -1, 65, -1, 67, 68, 69, 103, -1, 3797 -1, -1, -1, -1, 76, 77, 111, 10, 11, 12, 3798 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3799 23, 24, 25, 26, -1, -1, 29, 30, 31, 101, 3800 -1, 103, -1, -1, 37, -1, -1, -1, -1, 111, 3801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3756 101, -1, 103, -1, 37, -1, -1, -1, -1, -1, 3757 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3802 3758 -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, 3803 3759 -1, -1, 65, -1, 67, 68, 69, -1, -1, -1, … … 3811 3767 -1, 76, 77, 10, 11, 12, 13, 14, 15, 16, 3812 3768 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3813 -1, -1, 29, 30, 31, -1, 101, -1, 103, -1,3769 27, -1, 29, 30, 31, -1, -1, -1, 103, -1, 3814 3770 37, -1, -1, -1, -1, -1, 111, -1, -1, -1, 3815 3771 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3816 -1, -1, -1, 60, -1, -1, -1, -1, 65, -1,3817 67, 68, 69, -1, -1, -1, -1, -1, -1, 76,3818 77, 10, 11, 12, 13, 14, 15, 16, 17, 18,3819 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,3820 29, 30, 31, -1, 101, -1, 103, -1, 37, -1,3772 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 3773 67, 68, -1, -1, 71, 10, 11, 12, 13, 14, 3774 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3775 25, 26, 27, -1, 29, 30, 31, -1, -1, -1, 3776 -1, -1, 37, -1, 101, -1, 103, -1, -1, -1, 3821 3777 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3822 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3823 -1, 60, -1, -1, -1, -1, 65, -1, 67, 68, 3824 69, -1, -1, -1, -1, -1, -1, 76, 77, 10, 3825 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3826 21, 22, 23, 24, 25, 26, -1, -1, 29, 30, 3827 31, -1, -1, -1, 103, -1, 37, 38, -1, -1, 3828 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, 3829 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 3830 -1, -1, -1, -1, -1, -1, 67, 68, 10, 11, 3831 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3832 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 3833 -1, -1, -1, -1, -1, 37, 38, -1, -1, -1, 3834 -1, -1, 103, -1, -1, -1, 107, -1, -1, -1, 3835 111, -1, -1, -1, -1, -1, -1, -1, 60, -1, 3836 -1, -1, -1, -1, -1, 67, 68, 10, 11, 12, 3778 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 3779 -1, -1, 67, 68, -1, -1, 71, 10, 11, 12, 3837 3780 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3838 3781 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3839 -1, -1, -1, -1, 37, 38, -1, -1, -1, -1,3840 -1, 103, -1, -1, -1, 107, -1, -1, -1, 111,3782 -1, -1, -1, -1, 37, 38, 101, -1, 103, -1, 3783 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, 3841 3784 -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, 3842 3785 -1, -1, -1, -1, 67, 68, 10, 11, 12, 13, … … 3846 3789 103, -1, -1, -1, 107, -1, -1, -1, 111, -1, 3847 3790 -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, 3848 -1, -1, -1, 67, 68, 10, 11, 12, 13, 14,3791 -1, 65, -1, 67, 68, 10, 11, 12, 13, 14, 3849 3792 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3850 3793 25, 26, -1, -1, 29, 30, 31, -1, -1, -1, 3851 -1, -1, 37, -1, -1, -1, -1, 101, -1, 103,3794 -1, -1, 37, 38, -1, -1, -1, -1, -1, 103, 3852 3795 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, 3853 3796 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, … … 3855 3798 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3856 3799 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3857 -1, 37, -1, -1, -1, -1, 101, -1, 103, -1,3800 -1, 37, -1, -1, -1, -1, -1, -1, 103, -1, 3858 3801 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, 3859 3802 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, … … 3861 3804 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3862 3805 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3863 37, -1, -1, -1, -1, -1, -1, 103, -1, -1,3806 37, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3864 3807 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, 3865 3808 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, … … 3867 3810 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3868 3811 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 3869 -1, -1, -1, -1, -1, -1, 103, -1, -1, -1,3812 -1, -1, -1, -1, 101, -1, 103, -1, -1, -1, 3870 3813 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3871 3814 -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, … … 3911 3854 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1, 3912 3855 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 3913 -1, -1, 67, 68, 4, 5, 6, 7, 8, 9,3914 1 0, 11, 12, 13, 14, 15, 16, 17, 18, 19,3915 2 0, 21, 22, 23, 24, 25, 26, -1, -1, 29,3916 30, 31, -1, -1, -1, -1, -1, 37, 103, -1,3856 -1, -1, 67, 68, 10, 11, 12, 13, 14, 15, 3857 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3858 26, -1, -1, 29, 30, 31, -1, -1, -1, -1, 3859 -1, 37, -1, -1, -1, -1, -1, -1, 103, -1, 3917 3860 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1, 3861 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, 3862 -1, 67, 68, 10, 11, 12, 13, 14, 15, 16, 3863 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3864 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3865 37, -1, -1, -1, -1, -1, -1, 103, -1, -1, 3866 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1, 3867 -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, 3868 67, 68, 10, 11, 12, 13, 14, 15, 16, 17, 3869 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3870 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 3871 -1, -1, -1, -1, -1, -1, 103, -1, -1, -1, 3872 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3873 -1, -1, 60, -1, -1, -1, -1, -1, -1, 67, 3874 68, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3875 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3876 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, 3877 -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, 3878 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, 3879 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62, 3880 -1, 64, -1, -1, 67, 68, -1, 36, -1, 38, 3881 39, -1, 41, -1, -1, 44, 45, 46, 47, 48, 3882 49, 50, 51, 52, 53, -1, -1, 56, 57, -1, 3883 59, -1, -1, -1, -1, -1, 65, -1, -1, 102, 3884 69, -1, -1, 72, 73, 74, 75, 76, 77, -1, 3885 79, 80, -1, -1, -1, -1, -1, -1, 87, -1, 3918 3886 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3919 60, -1, 62, -1, 64, -1, -1, 67, 68, -1, 3920 36, -1, 38, 39, -1, 41, -1, -1, 44, 45, 3921 46, 47, 48, 49, 50, 51, 52, 53, -1, -1, 3922 56, 57, -1, 59, -1, -1, -1, -1, -1, 65, 3923 -1, -1, 102, 69, -1, -1, 72, 73, 74, 75, 3924 76, 77, -1, 79, 80, -1, -1, -1, -1, -1, 3925 -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3926 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3927 106, -1, -1, -1, 110, 111, 112, 113, 114, 115, 3928 -1, 36, -1, 38, 39, -1, 41, -1, 124, 44, 3929 45, 46, 47, 48, 49, 50, 51, -1, 53, -1, 3930 -1, 56, 57, -1, 59, -1, -1, -1, -1, -1, 3931 65, -1, -1, -1, 69, -1, -1, 72, 73, 74, 3932 75, 76, 77, -1, 79, 80, -1, -1, -1, -1, 3933 -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, 3934 -1, -1, -1, -1, -1, -1, 101, -1, 103, -1, 3935 -1, 106, -1, -1, -1, 110, 111, 112, 113, 114, 3936 115, -1, -1, -1, -1, -1, -1, -1, -1, 124, 3937 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3938 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3939 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 3940 -1, -1, -1, 37, 10, 11, 12, 13, 14, 15, 3941 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3942 26, -1, -1, 29, 30, 31, 60, -1, 62, -1, 3943 64, 37, -1, 67, 68, -1, 36, -1, 38, 39, 3944 -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 3945 50, 51, 52, 53, 60, 89, 56, 57, -1, 59, 3946 -1, 67, 68, -1, -1, 65, -1, -1, -1, 69, 3947 -1, -1, 72, 73, 74, 75, 76, 77, -1, 79, 3948 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 3887 -1, -1, 101, -1, 103, -1, -1, 106, -1, -1, 3888 -1, 110, 111, 112, 113, 114, 115, -1, 36, -1, 3889 38, 39, -1, 41, -1, 124, 44, 45, 46, 47, 3890 48, 49, 50, 51, -1, 53, -1, -1, 56, 57, 3891 -1, 59, -1, -1, -1, -1, -1, 65, -1, -1, 3892 -1, 69, -1, -1, 72, 73, 74, 75, 76, 77, 3893 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 3949 3894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3950 -1, 101, -1, 103, -1, -1, 106, -1, -1, -1, 3951 110, 111, 112, 113, 114, 115, 36, -1, 38, 39, 3952 -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 3953 50, 51, -1, 53, -1, -1, 56, 57, -1, 59, 3954 -1, -1, -1, -1, -1, 65, -1, -1, -1, 69, 3955 -1, -1, 72, 73, 74, 75, 76, 77, -1, 79, 3956 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 3957 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3958 -1, 101, -1, 103, -1, -1, 106, -1, -1, -1, 3959 110, 111, 112, 113, 114, 115, 36, -1, 38, 39, 3960 -1, 41, -1, -1, 44, 45, 46, 47, 48, 49, 3961 50, 51, -1, 53, -1, -1, 56, 57, -1, 59, 3962 -1, -1, -1, -1, -1, 65, -1, -1, -1, 69, 3963 -1, -1, 72, 73, 74, 75, 76, 77, -1, 79, 3964 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 3965 -1, -1, -1, 36, -1, 38, -1, -1, -1, -1, 3966 -1, 101, -1, 103, -1, -1, 106, -1, -1, -1, 3967 110, 111, 112, 113, 114, 115, 59, -1, -1, -1, 3895 -1, -1, -1, 101, -1, 103, -1, -1, 106, -1, 3896 -1, -1, 110, 111, 112, 113, 114, 115, -1, -1, 3897 -1, -1, -1, -1, -1, -1, 124, 4, 5, 6, 3898 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3899 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3900 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3901 37, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3902 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, 3903 29, 30, 31, 60, -1, 62, -1, 64, 37, -1, 3904 67, 68, -1, 36, -1, 38, 39, -1, 41, 42, 3905 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 3906 53, 60, 89, 56, 57, -1, 59, -1, 67, 68, 3907 -1, -1, 65, -1, -1, -1, 69, -1, -1, 72, 3908 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3909 -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, 3910 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 3911 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, 3912 113, 114, 115, 36, -1, 38, 39, -1, 41, 42, 3913 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 3914 53, -1, -1, 56, 57, -1, 59, -1, -1, -1, 3915 -1, -1, 65, -1, -1, -1, 69, -1, -1, 72, 3916 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, 3917 -1, -1, -1, -1, 87, -1, -1, -1, -1, -1, 3918 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 3919 103, -1, -1, 106, -1, -1, -1, 110, 111, 112, 3920 113, 114, 115, 36, -1, 38, 39, -1, 41, -1, 3921 -1, 44, 45, 46, 47, 48, 49, 50, 51, -1, 3922 53, -1, -1, 56, 57, -1, 59, -1, -1, -1, 3968 3923 -1, -1, 65, -1, -1, -1, 69, -1, -1, 72, 3969 3924 73, 74, 75, 76, 77, -1, 79, 80, -1, -1, … … 3976 3931 -1, 87, -1, -1, -1, -1, -1, 36, -1, 38, 3977 3932 -1, -1, -1, -1, -1, 101, -1, 103, -1, -1, 3978 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115,3933 -1, -1, 108, -1, 110, 111, 112, 113, 114, 115, 3979 3934 59, -1, -1, -1, -1, -1, 65, -1, -1, -1, 3980 3935 69, -1, -1, 72, 73, 74, 75, 76, 77, -1, … … 3998 3953 -1, 79, 80, -1, -1, -1, -1, -1, -1, 87, 3999 3954 -1, -1, -1, -1, -1, 36, -1, 38, -1, -1, 4000 -1, -1, -1, 101, -1, -1, -1, -1, -1, -1,3955 -1, -1, -1, 101, -1, 103, -1, -1, -1, -1, 4001 3956 -1, -1, 110, 111, 112, 113, 114, 115, 59, -1, 4002 3957 -1, -1, -1, -1, 65, -1, -1, -1, 69, -1, 4003 3958 -1, 72, 73, 74, 75, 76, 77, -1, 79, 80, 4004 3959 -1, -1, -1, -1, -1, -1, 87, -1, -1, -1, 3960 -1, -1, 36, -1, 38, -1, -1, -1, -1, -1, 3961 101, -1, -1, -1, -1, -1, -1, -1, -1, 110, 3962 111, 112, 113, 114, 115, 59, -1, -1, -1, -1, 3963 -1, 65, -1, -1, -1, 69, -1, -1, 72, 73, 3964 74, 75, 76, 77, -1, 79, 80, -1, -1, -1, 3965 -1, -1, -1, 87, -1, -1, -1, -1, -1, 36, 3966 -1, 38, -1, -1, -1, -1, -1, 101, -1, -1, 3967 -1, -1, -1, -1, -1, -1, 110, 111, 112, 113, 3968 114, 115, 59, -1, -1, -1, -1, -1, 65, -1, 3969 -1, -1, 69, -1, -1, 72, 73, 74, 75, 76, 3970 77, -1, 79, 80, -1, -1, -1, -1, -1, -1, 3971 87, -1, -1, -1, -1, -1, 36, -1, 38, -1, 3972 -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, 3973 -1, -1, -1, 110, 111, 112, 113, 114, 115, 59, 3974 -1, -1, -1, -1, -1, 65, -1, -1, -1, 69, 3975 -1, -1, 72, 73, 74, 75, 76, 77, -1, 79, 3976 80, -1, -1, -1, -1, -1, -1, 87, -1, -1, 4005 3977 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4006 101, -1, -1, -1, -1, -1, -1, -1, -1, 110,4007 11 1, 112, 113, 114, 115, 4, 5, 6, 7, 8,4008 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,4009 1 9, 20, 21, 22, 23, 24, 25, 26, -1, -1,4010 -1, -1, -1, -1, -1, -1, -1, -1, 37, -1,3978 -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, 3979 110, 111, 112, 113, 114, 115, 4, 5, 6, 7, 3980 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3981 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 3982 -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 4011 3983 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4012 3984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4013 -1, 60, -1, 62, -1, 64, 65, -1, 67, 68, 4014 69, -1, -1, -1, -1, -1, -1, 76, 77, 3, 4015 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4016 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4017 24, 25, 26, -1, -1, 29, 30, 31, -1, -1, 4018 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, 4019 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4020 -1, -1, -1, -1, -1, -1, 60, -1, 62, -1, 4021 64, -1, -1, 67, 68, 3, 4, 5, 6, 7, 4022 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 4023 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 4024 -1, 29, 30, 31, -1, -1, -1, -1, -1, 37, 4025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4026 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4027 -1, -1, 60, -1, 62, -1, 64, -1, -1, 67, 4028 68, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3985 -1, -1, 60, -1, 62, -1, 64, 65, -1, 67, 3986 68, 69, -1, -1, -1, -1, -1, -1, 76, 77, 3987 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 4029 3988 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4030 3989 23, 24, 25, 26, -1, -1, 29, 30, 31, -1, … … 4032 3991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4033 3992 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62, 4034 -1, 64, -1, -1, 67, 68, 10, 11, 12, 13, 4035 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4036 24, 25, 26, -1, -1, 29, 30, 31, 32, 33, 4037 34, -1, -1, 37, 10, 11, 12, 13, 14, 15, 4038 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 4039 26, -1, -1, 29, 30, 31, 60, -1, -1, -1, 4040 -1, 37, -1, 67, 68, -1, -1, -1, -1, -1, 3993 -1, 64, -1, -1, 67, 68, 3, 4, 5, 6, 3994 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3995 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3996 -1, -1, 29, 30, 31, -1, -1, -1, -1, -1, 3997 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4041 3998 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4042 -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, 4043 -1, 67, 68 3999 -1, -1, -1, 60, -1, 62, -1, 64, -1, -1, 4000 67, 68, 4, 5, 6, 7, 8, 9, 10, 11, 4001 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4002 22, 23, 24, 25, 26, -1, -1, 29, 30, 31, 4003 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, 4004 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4005 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 4006 62, -1, 64, -1, -1, 67, 68, 10, 11, 12, 4007 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4008 23, 24, 25, 26, -1, -1, 29, 30, 31, 32, 4009 33, 34, -1, -1, 37, 10, 11, 12, 13, 14, 4010 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 4011 25, 26, -1, -1, 29, 30, 31, 60, -1, -1, 4012 -1, -1, 37, -1, 67, 68, -1, -1, -1, -1, 4013 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4014 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, 4015 -1, -1, 67, 68 4044 4016 }; 4045 4017 … … 4056 4028 213, 214, 215, 216, 217, 218, 220, 221, 222, 223, 4057 4029 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 4058 235, 243, 244, 270, 271, 279, 282, 288, 289, 291, 4059 293, 294, 300, 305, 309, 310, 311, 312, 313, 314, 4060 315, 316, 336, 353, 354, 355, 356, 65, 111, 131, 4061 204, 206, 214, 216, 226, 230, 232, 271, 75, 101, 4062 298, 299, 300, 298, 298, 65, 67, 68, 69, 130, 4063 131, 260, 261, 280, 281, 67, 68, 261, 101, 291, 4064 215, 216, 101, 111, 305, 310, 311, 312, 314, 315, 4065 316, 126, 103, 207, 214, 216, 309, 313, 352, 353, 4066 356, 357, 127, 123, 264, 106, 127, 164, 67, 68, 4067 129, 259, 127, 127, 127, 108, 127, 67, 101, 111, 4068 295, 304, 305, 306, 307, 308, 309, 313, 317, 318, 4069 319, 320, 321, 3, 27, 71, 228, 3, 5, 67, 4070 68, 103, 111, 206, 217, 221, 224, 233, 309, 313, 4071 356, 204, 206, 216, 226, 230, 232, 271, 309, 313, 4072 32, 222, 222, 217, 224, 127, 222, 217, 222, 217, 4073 101, 106, 261, 106, 261, 222, 217, 108, 127, 127, 4074 0, 126, 101, 164, 298, 298, 126, 103, 214, 216, 4075 354, 259, 259, 216, 123, 101, 111, 295, 305, 309, 4076 103, 111, 356, 292, 219, 300, 101, 276, 101, 101, 4077 101, 36, 38, 59, 65, 69, 72, 73, 74, 75, 4078 79, 80, 87, 101, 103, 110, 111, 112, 113, 114, 4079 115, 128, 132, 133, 134, 135, 140, 141, 142, 143, 4080 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 4081 155, 157, 214, 263, 278, 352, 357, 216, 102, 102, 4082 102, 102, 102, 102, 102, 103, 111, 127, 155, 206, 4083 207, 213, 216, 220, 221, 226, 229, 230, 232, 249, 4084 250, 254, 255, 256, 257, 271, 336, 348, 349, 350, 4085 351, 356, 357, 126, 101, 309, 313, 356, 101, 108, 4086 124, 103, 106, 111, 155, 265, 107, 126, 108, 124, 4087 101, 108, 124, 108, 124, 108, 124, 298, 124, 305, 4088 306, 307, 308, 318, 319, 320, 321, 216, 304, 317, 4089 57, 297, 103, 298, 335, 336, 298, 298, 164, 126, 4090 101, 298, 335, 298, 298, 216, 295, 101, 101, 215, 4091 214, 216, 101, 126, 214, 352, 357, 164, 126, 259, 4092 264, 206, 221, 309, 313, 164, 126, 280, 216, 226, 4093 124, 216, 216, 278, 38, 103, 214, 236, 237, 238, 4094 239, 352, 356, 106, 245, 261, 106, 216, 280, 124, 4095 124, 291, 126, 131, 258, 3, 127, 196, 197, 211, 4096 213, 216, 126, 297, 101, 297, 155, 305, 216, 101, 4097 126, 259, 106, 32, 33, 34, 214, 272, 273, 275, 4098 126, 121, 123, 277, 126, 217, 223, 224, 259, 301, 4099 302, 303, 140, 153, 154, 101, 140, 142, 101, 140, 4100 101, 101, 140, 140, 131, 103, 155, 160, 164, 214, 4101 262, 352, 126, 142, 142, 75, 78, 79, 80, 101, 4102 103, 105, 90, 91, 92, 93, 94, 95, 96, 97, 4103 98, 99, 123, 159, 142, 111, 116, 117, 113, 114, 4104 81, 82, 83, 84, 118, 119, 85, 86, 112, 120, 4105 121, 87, 88, 122, 123, 359, 101, 111, 331, 332, 4106 333, 334, 335, 102, 108, 101, 335, 103, 336, 101, 4107 335, 336, 126, 103, 111, 127, 214, 216, 347, 348, 4108 356, 357, 104, 127, 67, 101, 103, 111, 305, 322, 4109 323, 324, 325, 326, 327, 328, 329, 330, 336, 337, 4110 338, 339, 340, 341, 342, 111, 356, 216, 127, 127, 4111 111, 214, 216, 349, 259, 214, 336, 349, 259, 127, 4112 126, 126, 126, 126, 65, 103, 105, 261, 265, 266, 4113 267, 268, 269, 126, 126, 126, 126, 126, 126, 295, 4114 102, 102, 102, 102, 102, 102, 102, 304, 317, 101, 4115 264, 126, 196, 126, 295, 160, 263, 160, 263, 295, 4116 278, 103, 127, 196, 297, 164, 126, 196, 102, 238, 4117 239, 126, 101, 109, 111, 240, 242, 304, 305, 317, 4118 335, 343, 344, 345, 346, 107, 237, 108, 124, 108, 4119 124, 261, 236, 108, 358, 123, 246, 245, 216, 251, 4120 252, 253, 256, 257, 102, 108, 164, 126, 111, 155, 4121 126, 213, 216, 250, 348, 356, 289, 290, 101, 111, 4122 322, 102, 108, 359, 261, 272, 101, 106, 261, 263, 4123 272, 102, 108, 101, 102, 109, 262, 262, 103, 131, 4124 137, 155, 263, 262, 126, 102, 108, 102, 101, 111, 4125 343, 102, 108, 127, 155, 103, 131, 103, 136, 137, 4126 126, 103, 131, 155, 155, 142, 142, 142, 143, 143, 4127 144, 144, 145, 145, 145, 145, 146, 146, 147, 148, 4128 149, 150, 151, 109, 160, 155, 126, 332, 333, 334, 4129 216, 331, 298, 298, 155, 263, 126, 126, 258, 127, 4130 216, 220, 126, 104, 356, 67, 129, 214, 336, 354, 4131 104, 101, 126, 305, 323, 324, 325, 328, 338, 339, 4132 340, 126, 216, 322, 326, 337, 101, 298, 341, 359, 4133 298, 298, 359, 101, 298, 341, 298, 298, 298, 298, 4134 336, 214, 347, 357, 259, 104, 108, 104, 108, 359, 4135 214, 349, 359, 104, 247, 248, 249, 250, 247, 259, 4136 127, 155, 126, 103, 261, 109, 108, 358, 265, 103, 4137 109, 269, 28, 198, 199, 259, 247, 131, 295, 131, 4138 297, 101, 335, 336, 101, 335, 336, 133, 111, 127, 4139 164, 251, 102, 102, 102, 102, 102, 126, 104, 164, 4140 196, 164, 106, 261, 124, 124, 103, 127, 305, 344, 4141 345, 346, 154, 216, 343, 241, 242, 241, 298, 298, 4142 261, 298, 107, 261, 107, 154, 358, 127, 127, 131, 4143 211, 127, 127, 247, 101, 111, 356, 127, 107, 216, 4144 273, 274, 127, 126, 126, 101, 127, 102, 302, 160, 4145 161, 124, 75, 190, 191, 192, 102, 102, 126, 109, 4146 102, 102, 102, 127, 155, 216, 106, 142, 157, 155, 4147 156, 158, 104, 108, 127, 126, 126, 102, 108, 155, 4148 126, 153, 109, 251, 102, 102, 102, 331, 251, 102, 4149 104, 103, 111, 155, 155, 216, 127, 101, 101, 214, 4150 354, 328, 251, 102, 102, 102, 102, 102, 102, 102, 4151 7, 127, 216, 322, 326, 337, 126, 126, 359, 126, 4152 126, 101, 127, 127, 127, 127, 264, 104, 127, 153, 4153 154, 155, 296, 126, 265, 267, 107, 126, 200, 261, 4154 38, 39, 41, 44, 45, 46, 47, 48, 49, 50, 4155 51, 53, 56, 103, 131, 161, 162, 163, 164, 165, 4156 166, 168, 169, 181, 183, 184, 189, 201, 294, 28, 4157 127, 123, 264, 126, 126, 102, 104, 127, 127, 67, 4158 164, 236, 126, 104, 102, 102, 102, 343, 240, 246, 4159 107, 102, 108, 104, 104, 127, 216, 108, 359, 276, 4160 102, 272, 204, 206, 214, 284, 285, 286, 287, 278, 4161 102, 102, 101, 102, 109, 108, 155, 155, 104, 266, 4162 108, 127, 158, 104, 131, 138, 139, 155, 137, 127, 4163 138, 153, 157, 127, 101, 335, 336, 127, 214, 336, 4164 349, 126, 127, 127, 127, 155, 104, 126, 126, 102, 4165 127, 101, 335, 336, 101, 341, 101, 341, 336, 215, 4166 104, 7, 111, 127, 155, 251, 251, 250, 254, 254, 4167 255, 247, 102, 108, 108, 102, 104, 89, 115, 127, 4030 235, 243, 244, 270, 271, 272, 280, 283, 289, 290, 4031 292, 294, 295, 301, 306, 310, 311, 312, 313, 314, 4032 315, 316, 317, 337, 354, 355, 356, 357, 65, 111, 4033 131, 204, 206, 214, 216, 226, 230, 232, 271, 75, 4034 101, 299, 300, 301, 299, 299, 65, 67, 68, 69, 4035 130, 131, 260, 261, 281, 282, 67, 68, 261, 101, 4036 292, 215, 216, 101, 111, 306, 311, 312, 313, 315, 4037 316, 317, 104, 126, 103, 207, 214, 216, 310, 314, 4038 353, 354, 357, 358, 127, 123, 264, 106, 127, 164, 4039 67, 68, 129, 259, 127, 127, 127, 108, 127, 67, 4040 68, 101, 111, 296, 305, 306, 307, 308, 309, 310, 4041 314, 318, 319, 320, 321, 322, 328, 3, 27, 71, 4042 228, 3, 5, 67, 103, 111, 206, 217, 221, 224, 4043 233, 272, 310, 314, 357, 204, 206, 216, 226, 230, 4044 232, 271, 310, 314, 32, 222, 222, 217, 224, 127, 4045 222, 217, 222, 217, 68, 101, 106, 261, 272, 106, 4046 261, 222, 217, 108, 127, 127, 0, 126, 101, 164, 4047 299, 299, 126, 103, 214, 216, 355, 259, 259, 216, 4048 123, 101, 111, 296, 306, 310, 103, 111, 357, 293, 4049 219, 301, 101, 277, 101, 101, 101, 36, 38, 59, 4050 65, 69, 72, 73, 74, 75, 79, 80, 87, 101, 4051 103, 110, 111, 112, 113, 114, 115, 128, 132, 133, 4052 134, 135, 140, 141, 142, 143, 144, 145, 146, 147, 4053 148, 149, 150, 151, 152, 153, 155, 157, 214, 263, 4054 279, 353, 358, 216, 102, 102, 102, 102, 102, 102, 4055 102, 67, 68, 103, 214, 259, 337, 355, 103, 111, 4056 155, 206, 207, 213, 216, 220, 221, 226, 229, 230, 4057 232, 249, 250, 254, 255, 256, 257, 271, 337, 349, 4058 350, 351, 352, 357, 358, 104, 101, 310, 314, 357, 4059 101, 108, 124, 103, 106, 111, 155, 265, 107, 126, 4060 108, 124, 101, 108, 124, 108, 124, 108, 124, 299, 4061 124, 306, 307, 308, 309, 319, 320, 321, 322, 216, 4062 305, 318, 57, 298, 103, 299, 336, 337, 299, 299, 4063 164, 126, 101, 299, 336, 299, 299, 216, 296, 101, 4064 101, 215, 214, 216, 104, 126, 214, 353, 358, 164, 4065 126, 259, 264, 206, 221, 310, 314, 164, 126, 281, 4066 216, 226, 124, 216, 216, 279, 38, 103, 214, 236, 4067 237, 238, 239, 353, 357, 106, 245, 261, 106, 216, 4068 281, 124, 124, 292, 126, 131, 258, 3, 127, 196, 4069 197, 211, 213, 216, 126, 298, 101, 298, 155, 306, 4070 216, 101, 126, 259, 106, 32, 33, 34, 214, 273, 4071 274, 276, 126, 121, 123, 278, 126, 217, 223, 224, 4072 259, 302, 303, 304, 140, 153, 154, 101, 140, 142, 4073 101, 140, 101, 101, 140, 140, 131, 103, 155, 160, 4074 164, 214, 262, 353, 104, 126, 142, 142, 75, 78, 4075 79, 80, 101, 103, 105, 90, 91, 92, 93, 94, 4076 95, 96, 97, 98, 99, 123, 159, 142, 111, 116, 4077 117, 113, 114, 81, 82, 83, 84, 118, 119, 85, 4078 86, 112, 120, 121, 87, 88, 122, 123, 360, 101, 4079 111, 332, 333, 334, 335, 336, 102, 108, 101, 336, 4080 337, 101, 336, 337, 126, 101, 214, 355, 104, 126, 4081 103, 111, 127, 214, 216, 348, 349, 357, 358, 127, 4082 101, 103, 111, 306, 323, 324, 325, 326, 327, 328, 4083 329, 330, 331, 337, 338, 339, 340, 341, 342, 343, 4084 111, 357, 216, 127, 127, 111, 214, 216, 350, 259, 4085 214, 337, 350, 259, 101, 126, 126, 126, 104, 126, 4086 65, 103, 105, 261, 265, 266, 267, 268, 269, 126, 4087 126, 126, 126, 126, 126, 296, 102, 102, 102, 102, 4088 102, 102, 102, 305, 318, 101, 264, 104, 196, 126, 4089 296, 160, 263, 160, 263, 296, 103, 196, 298, 164, 4090 126, 196, 102, 238, 239, 104, 126, 101, 109, 111, 4091 240, 242, 305, 306, 318, 336, 344, 345, 346, 347, 4092 107, 237, 108, 124, 108, 124, 261, 236, 108, 359, 4093 123, 246, 245, 216, 251, 252, 253, 256, 257, 102, 4094 108, 164, 126, 111, 155, 126, 213, 216, 250, 349, 4095 357, 290, 291, 101, 111, 323, 102, 108, 360, 261, 4096 273, 101, 106, 261, 263, 273, 102, 108, 101, 102, 4097 109, 262, 262, 103, 131, 137, 155, 263, 262, 104, 4098 126, 102, 108, 102, 101, 111, 344, 102, 108, 155, 4099 103, 131, 103, 136, 137, 126, 103, 131, 155, 155, 4100 142, 142, 142, 143, 143, 144, 144, 145, 145, 145, 4101 145, 146, 146, 147, 148, 149, 150, 151, 109, 160, 4102 155, 126, 333, 334, 335, 216, 332, 299, 299, 155, 4103 263, 126, 258, 111, 126, 214, 337, 350, 216, 220, 4104 104, 126, 104, 357, 104, 101, 126, 306, 324, 325, 4105 326, 329, 339, 340, 341, 104, 126, 216, 323, 327, 4106 338, 101, 299, 342, 360, 299, 299, 360, 101, 299, 4107 342, 299, 299, 299, 299, 337, 214, 348, 358, 259, 4108 104, 108, 104, 108, 360, 214, 350, 360, 247, 248, 4109 249, 250, 247, 247, 259, 155, 126, 103, 261, 109, 4110 108, 359, 265, 103, 109, 269, 28, 198, 199, 259, 4111 247, 131, 296, 131, 298, 101, 336, 337, 101, 336, 4112 337, 133, 337, 164, 251, 102, 102, 102, 102, 104, 4113 164, 196, 164, 106, 124, 124, 103, 306, 345, 346, 4114 347, 154, 216, 344, 241, 242, 241, 299, 299, 261, 4115 299, 107, 261, 107, 154, 359, 127, 127, 131, 211, 4116 127, 127, 247, 101, 111, 357, 127, 107, 216, 274, 4117 275, 127, 126, 126, 101, 127, 102, 303, 160, 161, 4118 124, 75, 190, 191, 192, 102, 102, 126, 109, 102, 4119 102, 102, 155, 216, 106, 142, 157, 155, 156, 158, 4120 108, 127, 126, 126, 102, 108, 155, 126, 153, 109, 4121 251, 102, 102, 102, 332, 251, 102, 247, 214, 350, 4122 103, 111, 155, 155, 216, 329, 251, 102, 102, 102, 4123 102, 102, 102, 102, 7, 216, 323, 327, 338, 126, 4124 126, 360, 126, 126, 102, 127, 127, 127, 127, 264, 4125 127, 153, 154, 155, 297, 126, 265, 267, 107, 126, 4126 200, 261, 38, 39, 41, 44, 45, 46, 47, 48, 4127 49, 50, 51, 53, 56, 103, 131, 161, 162, 163, 4128 164, 165, 166, 168, 169, 181, 183, 184, 189, 201, 4129 295, 28, 127, 123, 264, 126, 126, 102, 127, 164, 4130 236, 104, 102, 102, 102, 344, 240, 246, 107, 102, 4131 108, 104, 104, 127, 216, 108, 360, 277, 102, 273, 4132 204, 206, 214, 285, 286, 287, 288, 279, 102, 102, 4133 101, 102, 109, 108, 155, 155, 266, 108, 127, 158, 4134 104, 131, 138, 139, 155, 137, 127, 138, 153, 157, 4135 127, 101, 336, 337, 127, 127, 126, 127, 127, 127, 4136 155, 102, 127, 101, 336, 337, 101, 342, 101, 342, 4137 337, 215, 7, 111, 127, 155, 251, 251, 250, 254, 4138 254, 255, 108, 108, 102, 102, 104, 89, 115, 127, 4168 4139 127, 138, 265, 155, 108, 124, 201, 205, 216, 220, 4169 4140 101, 101, 162, 101, 101, 124, 131, 124, 131, 111, 4170 131, 161, 101, 164, 124, 155, 126, 109, 124, 127, 4171 126, 127, 200, 102, 155, 251, 251, 298, 336, 102, 4172 104, 107, 127, 101, 335, 336, 126, 102, 126, 127, 4173 295, 107, 126, 127, 127, 102, 106, 154, 124, 190, 4174 192, 108, 127, 358, 156, 104, 127, 78, 105, 108, 4175 127, 127, 104, 127, 102, 126, 102, 214, 349, 104, 4176 104, 104, 127, 247, 247, 102, 126, 126, 126, 155, 4177 155, 127, 104, 127, 127, 127, 127, 102, 126, 126, 4178 154, 154, 104, 104, 127, 127, 261, 216, 160, 160, 4179 45, 160, 126, 124, 124, 160, 124, 124, 160, 54, 4180 55, 185, 186, 187, 124, 127, 298, 166, 107, 124, 4181 127, 127, 104, 126, 89, 256, 257, 102, 285, 108, 4182 124, 108, 124, 107, 283, 102, 102, 109, 158, 104, 4183 107, 104, 103, 139, 103, 139, 139, 104, 104, 104, 4184 251, 104, 127, 127, 251, 251, 251, 127, 127, 104, 4185 104, 102, 102, 104, 108, 89, 250, 89, 127, 104, 4186 104, 102, 102, 101, 102, 161, 182, 201, 124, 102, 4187 101, 164, 187, 54, 104, 162, 102, 102, 251, 106, 4188 126, 126, 284, 124, 75, 193, 127, 109, 126, 126, 4189 127, 102, 102, 127, 127, 127, 104, 104, 126, 127, 4190 104, 162, 42, 43, 106, 172, 173, 174, 160, 162, 4191 127, 102, 161, 106, 174, 89, 126, 101, 127, 126, 4192 259, 295, 107, 102, 108, 104, 155, 138, 138, 102, 4193 102, 102, 102, 254, 40, 154, 170, 171, 296, 109, 4194 126, 162, 172, 102, 124, 162, 124, 126, 102, 126, 4195 89, 126, 102, 284, 124, 75, 109, 127, 127, 162, 4196 89, 108, 109, 127, 194, 195, 201, 124, 161, 161, 4197 194, 164, 188, 214, 352, 102, 126, 107, 155, 104, 4198 104, 154, 170, 173, 175, 176, 126, 124, 173, 177, 4199 178, 127, 101, 111, 295, 343, 131, 164, 188, 101, 4200 162, 167, 107, 173, 201, 161, 52, 167, 180, 107, 4201 173, 102, 216, 127, 278, 162, 167, 124, 179, 180, 4202 167, 180, 164, 102, 102, 179, 127, 164, 127 4141 131, 161, 101, 164, 124, 155, 104, 109, 124, 127, 4142 126, 127, 200, 102, 155, 251, 251, 299, 102, 107, 4143 101, 336, 337, 126, 102, 126, 127, 296, 107, 126, 4144 127, 127, 102, 106, 154, 124, 190, 192, 108, 127, 4145 359, 156, 104, 127, 78, 105, 108, 127, 127, 104, 4146 127, 102, 126, 102, 102, 104, 104, 104, 127, 102, 4147 126, 126, 126, 155, 155, 127, 104, 127, 127, 127, 4148 127, 126, 126, 154, 154, 104, 104, 127, 127, 261, 4149 216, 160, 160, 45, 160, 126, 124, 124, 160, 124, 4150 124, 160, 54, 55, 185, 186, 187, 124, 299, 166, 4151 107, 124, 127, 127, 126, 89, 256, 257, 102, 286, 4152 108, 124, 108, 124, 107, 284, 102, 102, 109, 158, 4153 104, 107, 104, 103, 139, 103, 139, 139, 104, 104, 4154 104, 251, 104, 251, 251, 251, 127, 127, 104, 104, 4155 102, 102, 104, 108, 89, 250, 89, 127, 104, 104, 4156 102, 102, 101, 102, 161, 182, 201, 124, 102, 101, 4157 164, 187, 54, 162, 102, 102, 251, 106, 126, 126, 4158 285, 124, 75, 193, 127, 109, 126, 126, 127, 127, 4159 127, 127, 104, 104, 126, 127, 104, 162, 42, 43, 4160 106, 172, 173, 174, 160, 162, 127, 102, 161, 106, 4161 174, 89, 126, 101, 127, 126, 259, 296, 107, 102, 4162 108, 104, 155, 138, 138, 102, 102, 102, 102, 254, 4163 40, 154, 170, 171, 297, 109, 126, 162, 172, 102, 4164 124, 162, 124, 126, 102, 126, 89, 126, 102, 285, 4165 124, 75, 109, 127, 127, 162, 89, 108, 109, 127, 4166 194, 195, 201, 124, 161, 161, 194, 164, 188, 214, 4167 353, 102, 126, 107, 155, 104, 104, 154, 170, 173, 4168 175, 176, 126, 124, 173, 177, 178, 127, 101, 111, 4169 296, 344, 131, 164, 188, 101, 162, 167, 107, 173, 4170 201, 161, 52, 167, 180, 107, 173, 102, 216, 127, 4171 279, 162, 167, 124, 179, 180, 167, 180, 164, 102, 4172 102, 179, 127, 164, 127 4203 4173 }; 4204 4174 … … 6313 6283 #line 1024 "parser.yy" 6314 6284 { 6315 typedefTable.setNextIdentifier( *( (yyvsp[(5) - (10)].tok) ) ); 6316 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(5) - (10)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(8) - (10)].decl), 0, true ); 6285 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); 6317 6286 } 6318 6287 break; … … 6321 6290 6322 6291 /* Line 1806 of yacc.c */ 6323 #line 1029 "parser.yy" 6324 { 6325 typedefTable.setNextIdentifier( *( (yyvsp[(5) - (10)].tok) ) ); 6326 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(5) - (10)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(8) - (10)].decl), 0, true ); 6327 } 6328 break; 6329 6330 case 251: 6331 6332 /* Line 1806 of yacc.c */ 6333 #line 1042 "parser.yy" 6292 #line 1047 "parser.yy" 6334 6293 { 6335 6294 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6337 6296 break; 6338 6297 6339 case 25 2:6340 6341 /* Line 1806 of yacc.c */ 6342 #line 10 46"parser.yy"6298 case 251: 6299 6300 /* Line 1806 of yacc.c */ 6301 #line 1051 "parser.yy" 6343 6302 { 6344 6303 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6346 6305 break; 6347 6306 6307 case 252: 6308 6309 /* Line 1806 of yacc.c */ 6310 #line 1058 "parser.yy" 6311 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6312 break; 6313 6348 6314 case 253: 6349 6315 6350 6316 /* Line 1806 of yacc.c */ 6351 #line 10 53"parser.yy"6352 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - ( 5)].decl) ); }6317 #line 1062 "parser.yy" 6318 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6353 6319 break; 6354 6320 6355 6321 case 254: 6356 6357 /* Line 1806 of yacc.c */6358 #line 1057 "parser.yy"6359 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }6360 break;6361 6362 case 255:6363 6364 /* Line 1806 of yacc.c */6365 #line 1062 "parser.yy"6366 {6367 typedefTable.addToEnclosingScope( TypedefTable::TD );6368 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addTypedef();6369 }6370 break;6371 6372 case 256:6373 6322 6374 6323 /* Line 1806 of yacc.c */ … … 6380 6329 break; 6381 6330 6382 case 25 7:6331 case 255: 6383 6332 6384 6333 /* Line 1806 of yacc.c */ 6385 6334 #line 1072 "parser.yy" 6335 { 6336 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6337 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addTypedef(); 6338 } 6339 break; 6340 6341 case 256: 6342 6343 /* Line 1806 of yacc.c */ 6344 #line 1077 "parser.yy" 6386 6345 { 6387 6346 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6390 6349 break; 6391 6350 6392 case 25 8:6393 6394 /* Line 1806 of yacc.c */ 6395 #line 108 3"parser.yy"6351 case 257: 6352 6353 /* Line 1806 of yacc.c */ 6354 #line 1088 "parser.yy" 6396 6355 { 6397 6356 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6400 6359 break; 6401 6360 6402 case 25 9:6403 6404 /* Line 1806 of yacc.c */ 6405 #line 10 88"parser.yy"6361 case 258: 6362 6363 /* Line 1806 of yacc.c */ 6364 #line 1093 "parser.yy" 6406 6365 { 6407 6366 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6410 6369 break; 6411 6370 6412 case 2 60:6413 6414 /* Line 1806 of yacc.c */ 6415 #line 109 3"parser.yy"6371 case 259: 6372 6373 /* Line 1806 of yacc.c */ 6374 #line 1098 "parser.yy" 6416 6375 { 6417 6376 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6420 6379 break; 6421 6380 6422 case 26 1:6423 6424 /* Line 1806 of yacc.c */ 6425 #line 1 098"parser.yy"6381 case 260: 6382 6383 /* Line 1806 of yacc.c */ 6384 #line 1103 "parser.yy" 6426 6385 { 6427 6386 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6430 6389 break; 6431 6390 6432 case 26 2:6433 6434 /* Line 1806 of yacc.c */ 6435 #line 110 3"parser.yy"6391 case 261: 6392 6393 /* Line 1806 of yacc.c */ 6394 #line 1108 "parser.yy" 6436 6395 { 6437 6396 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6440 6399 break; 6441 6400 6442 case 26 3:6443 6444 /* Line 1806 of yacc.c */ 6445 #line 111 2"parser.yy"6401 case 262: 6402 6403 /* Line 1806 of yacc.c */ 6404 #line 1117 "parser.yy" 6446 6405 { 6447 6406 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6450 6409 break; 6451 6410 6452 case 26 4:6453 6454 /* Line 1806 of yacc.c */ 6455 #line 11 17"parser.yy"6411 case 263: 6412 6413 /* Line 1806 of yacc.c */ 6414 #line 1122 "parser.yy" 6456 6415 { 6457 6416 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6460 6419 break; 6461 6420 6462 case 26 9:6463 6464 /* Line 1806 of yacc.c */ 6465 #line 113 4"parser.yy"6421 case 268: 6422 6423 /* Line 1806 of yacc.c */ 6424 #line 1139 "parser.yy" 6466 6425 { 6467 6426 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6470 6429 break; 6471 6430 6472 case 2 70:6473 6474 /* Line 1806 of yacc.c */ 6475 #line 11 39"parser.yy"6431 case 269: 6432 6433 /* Line 1806 of yacc.c */ 6434 #line 1144 "parser.yy" 6476 6435 { 6477 6436 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6480 6439 break; 6481 6440 6482 case 27 9:6483 6484 /* Line 1806 of yacc.c */ 6485 #line 116 1"parser.yy"6441 case 278: 6442 6443 /* Line 1806 of yacc.c */ 6444 #line 1166 "parser.yy" 6486 6445 { (yyval.decl) = 0; } 6487 6446 break; 6488 6447 6489 case 28 2:6490 6491 /* Line 1806 of yacc.c */ 6492 #line 117 3"parser.yy"6448 case 281: 6449 6450 /* Line 1806 of yacc.c */ 6451 #line 1178 "parser.yy" 6493 6452 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6494 6453 break; 6495 6454 6455 case 283: 6456 6457 /* Line 1806 of yacc.c */ 6458 #line 1184 "parser.yy" 6459 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Attribute ); } 6460 break; 6461 6496 6462 case 284: 6497 6463 6498 6464 /* Line 1806 of yacc.c */ 6499 #line 11 79 "parser.yy"6500 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Attribute); }6465 #line 1189 "parser.yy" 6466 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6501 6467 break; 6502 6468 … … 6504 6470 6505 6471 /* Line 1806 of yacc.c */ 6506 #line 11 84"parser.yy"6507 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Const ); }6472 #line 1191 "parser.yy" 6473 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6508 6474 break; 6509 6475 … … 6511 6477 6512 6478 /* Line 1806 of yacc.c */ 6513 #line 11 86"parser.yy"6514 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Restrict); }6479 #line 1193 "parser.yy" 6480 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6515 6481 break; 6516 6482 … … 6518 6484 6519 6485 /* Line 1806 of yacc.c */ 6520 #line 11 88"parser.yy"6521 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Volatile ); }6486 #line 1195 "parser.yy" 6487 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6522 6488 break; 6523 6489 … … 6525 6491 6526 6492 /* Line 1806 of yacc.c */ 6527 #line 119 0"parser.yy"6528 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Lvalue); }6493 #line 1197 "parser.yy" 6494 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6529 6495 break; 6530 6496 … … 6532 6498 6533 6499 /* Line 1806 of yacc.c */ 6534 #line 1192 "parser.yy" 6535 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6536 break; 6537 6538 case 290: 6539 6540 /* Line 1806 of yacc.c */ 6541 #line 1194 "parser.yy" 6500 #line 1199 "parser.yy" 6542 6501 { 6543 6502 typedefTable.enterScope(); … … 6545 6504 break; 6546 6505 6547 case 29 1:6548 6549 /* Line 1806 of yacc.c */ 6550 #line 1 198"parser.yy"6506 case 290: 6507 6508 /* Line 1806 of yacc.c */ 6509 #line 1203 "parser.yy" 6551 6510 { 6552 6511 typedefTable.leaveScope(); … … 6555 6514 break; 6556 6515 6516 case 292: 6517 6518 /* Line 1806 of yacc.c */ 6519 #line 1212 "parser.yy" 6520 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6521 break; 6522 6557 6523 case 293: 6558 6524 6559 6525 /* Line 1806 of yacc.c */ 6560 #line 1207 "parser.yy" 6526 #line 1214 "parser.yy" 6527 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6528 break; 6529 6530 case 295: 6531 6532 /* Line 1806 of yacc.c */ 6533 #line 1225 "parser.yy" 6561 6534 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6562 6535 break; 6563 6536 6564 case 294: 6565 6566 /* Line 1806 of yacc.c */ 6567 #line 1209 "parser.yy" 6537 case 297: 6538 6539 /* Line 1806 of yacc.c */ 6540 #line 1234 "parser.yy" 6541 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6542 break; 6543 6544 case 298: 6545 6546 /* Line 1806 of yacc.c */ 6547 #line 1236 "parser.yy" 6548 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6549 break; 6550 6551 case 299: 6552 6553 /* Line 1806 of yacc.c */ 6554 #line 1238 "parser.yy" 6555 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6556 break; 6557 6558 case 300: 6559 6560 /* Line 1806 of yacc.c */ 6561 #line 1240 "parser.yy" 6562 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6563 break; 6564 6565 case 301: 6566 6567 /* Line 1806 of yacc.c */ 6568 #line 1242 "parser.yy" 6569 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6570 break; 6571 6572 case 302: 6573 6574 /* Line 1806 of yacc.c */ 6575 #line 1244 "parser.yy" 6576 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6577 break; 6578 6579 case 303: 6580 6581 /* Line 1806 of yacc.c */ 6582 #line 1246 "parser.yy" 6583 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 6584 break; 6585 6586 case 304: 6587 6588 /* Line 1806 of yacc.c */ 6589 #line 1248 "parser.yy" 6590 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6591 break; 6592 6593 case 305: 6594 6595 /* Line 1806 of yacc.c */ 6596 #line 1253 "parser.yy" 6597 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6598 break; 6599 6600 case 306: 6601 6602 /* Line 1806 of yacc.c */ 6603 #line 1255 "parser.yy" 6604 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6605 break; 6606 6607 case 307: 6608 6609 /* Line 1806 of yacc.c */ 6610 #line 1257 "parser.yy" 6611 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6612 break; 6613 6614 case 308: 6615 6616 /* Line 1806 of yacc.c */ 6617 #line 1259 "parser.yy" 6618 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6619 break; 6620 6621 case 309: 6622 6623 /* Line 1806 of yacc.c */ 6624 #line 1261 "parser.yy" 6625 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6626 break; 6627 6628 case 310: 6629 6630 /* Line 1806 of yacc.c */ 6631 #line 1263 "parser.yy" 6632 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6633 break; 6634 6635 case 311: 6636 6637 /* Line 1806 of yacc.c */ 6638 #line 1265 "parser.yy" 6639 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6640 break; 6641 6642 case 312: 6643 6644 /* Line 1806 of yacc.c */ 6645 #line 1267 "parser.yy" 6646 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6647 break; 6648 6649 case 313: 6650 6651 /* Line 1806 of yacc.c */ 6652 #line 1269 "parser.yy" 6653 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6654 break; 6655 6656 case 314: 6657 6658 /* Line 1806 of yacc.c */ 6659 #line 1271 "parser.yy" 6660 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6661 break; 6662 6663 case 315: 6664 6665 /* Line 1806 of yacc.c */ 6666 #line 1273 "parser.yy" 6667 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6668 break; 6669 6670 case 316: 6671 6672 /* Line 1806 of yacc.c */ 6673 #line 1275 "parser.yy" 6674 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6675 break; 6676 6677 case 318: 6678 6679 /* Line 1806 of yacc.c */ 6680 #line 1282 "parser.yy" 6681 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6682 break; 6683 6684 case 319: 6685 6686 /* Line 1806 of yacc.c */ 6687 #line 1284 "parser.yy" 6688 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6689 break; 6690 6691 case 320: 6692 6693 /* Line 1806 of yacc.c */ 6694 #line 1286 "parser.yy" 6568 6695 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6569 6696 break; 6570 6697 6571 case 296: 6572 6573 /* Line 1806 of yacc.c */ 6574 #line 1220 "parser.yy" 6698 case 321: 6699 6700 /* Line 1806 of yacc.c */ 6701 #line 1288 "parser.yy" 6702 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6703 break; 6704 6705 case 323: 6706 6707 /* Line 1806 of yacc.c */ 6708 #line 1294 "parser.yy" 6709 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6710 break; 6711 6712 case 325: 6713 6714 /* Line 1806 of yacc.c */ 6715 #line 1301 "parser.yy" 6716 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6717 break; 6718 6719 case 326: 6720 6721 /* Line 1806 of yacc.c */ 6722 #line 1303 "parser.yy" 6575 6723 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6576 6724 break; 6577 6725 6578 case 298: 6579 6580 /* Line 1806 of yacc.c */ 6581 #line 1229 "parser.yy" 6582 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6583 break; 6584 6585 case 299: 6586 6587 /* Line 1806 of yacc.c */ 6588 #line 1231 "parser.yy" 6589 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6590 break; 6591 6592 case 300: 6593 6594 /* Line 1806 of yacc.c */ 6595 #line 1233 "parser.yy" 6596 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6597 break; 6598 6599 case 301: 6600 6601 /* Line 1806 of yacc.c */ 6602 #line 1235 "parser.yy" 6603 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6604 break; 6605 6606 case 302: 6607 6608 /* Line 1806 of yacc.c */ 6609 #line 1237 "parser.yy" 6610 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6611 break; 6612 6613 case 303: 6614 6615 /* Line 1806 of yacc.c */ 6616 #line 1239 "parser.yy" 6617 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6618 break; 6619 6620 case 304: 6621 6622 /* Line 1806 of yacc.c */ 6623 #line 1241 "parser.yy" 6624 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 6625 break; 6626 6627 case 305: 6628 6629 /* Line 1806 of yacc.c */ 6630 #line 1243 "parser.yy" 6631 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6632 break; 6633 6634 case 306: 6635 6636 /* Line 1806 of yacc.c */ 6637 #line 1248 "parser.yy" 6638 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6639 break; 6640 6641 case 307: 6642 6643 /* Line 1806 of yacc.c */ 6644 #line 1250 "parser.yy" 6645 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6646 break; 6647 6648 case 308: 6649 6650 /* Line 1806 of yacc.c */ 6651 #line 1252 "parser.yy" 6652 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6653 break; 6654 6655 case 309: 6656 6657 /* Line 1806 of yacc.c */ 6658 #line 1254 "parser.yy" 6659 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6660 break; 6661 6662 case 310: 6663 6664 /* Line 1806 of yacc.c */ 6665 #line 1256 "parser.yy" 6666 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6667 break; 6668 6669 case 311: 6670 6671 /* Line 1806 of yacc.c */ 6672 #line 1258 "parser.yy" 6673 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6674 break; 6675 6676 case 312: 6677 6678 /* Line 1806 of yacc.c */ 6679 #line 1260 "parser.yy" 6680 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6681 break; 6682 6683 case 313: 6684 6685 /* Line 1806 of yacc.c */ 6686 #line 1262 "parser.yy" 6687 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6688 break; 6689 6690 case 314: 6691 6692 /* Line 1806 of yacc.c */ 6693 #line 1264 "parser.yy" 6694 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6695 break; 6696 6697 case 315: 6698 6699 /* Line 1806 of yacc.c */ 6700 #line 1266 "parser.yy" 6701 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6702 break; 6703 6704 case 316: 6705 6706 /* Line 1806 of yacc.c */ 6707 #line 1268 "parser.yy" 6708 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6709 break; 6710 6711 case 317: 6712 6713 /* Line 1806 of yacc.c */ 6714 #line 1270 "parser.yy" 6715 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6716 break; 6717 6718 case 319: 6719 6720 /* Line 1806 of yacc.c */ 6721 #line 1277 "parser.yy" 6726 case 327: 6727 6728 /* Line 1806 of yacc.c */ 6729 #line 1305 "parser.yy" 6730 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6731 break; 6732 6733 case 328: 6734 6735 /* Line 1806 of yacc.c */ 6736 #line 1310 "parser.yy" 6737 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6738 break; 6739 6740 case 329: 6741 6742 /* Line 1806 of yacc.c */ 6743 #line 1312 "parser.yy" 6744 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6745 break; 6746 6747 case 330: 6748 6749 /* Line 1806 of yacc.c */ 6750 #line 1314 "parser.yy" 6751 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6752 break; 6753 6754 case 331: 6755 6756 /* Line 1806 of yacc.c */ 6757 #line 1316 "parser.yy" 6758 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6759 break; 6760 6761 case 333: 6762 6763 /* Line 1806 of yacc.c */ 6764 #line 1322 "parser.yy" 6722 6765 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6723 6766 break; 6724 6767 6725 case 3 20:6726 6727 /* Line 1806 of yacc.c */ 6728 #line 1 279"parser.yy"6768 case 334: 6769 6770 /* Line 1806 of yacc.c */ 6771 #line 1324 "parser.yy" 6729 6772 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6730 6773 break; 6731 6774 6732 case 3 21:6733 6734 /* Line 1806 of yacc.c */ 6735 #line 1 281"parser.yy"6775 case 335: 6776 6777 /* Line 1806 of yacc.c */ 6778 #line 1326 "parser.yy" 6736 6779 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6737 6780 break; 6738 6781 6739 case 322: 6740 6741 /* Line 1806 of yacc.c */ 6742 #line 1283 "parser.yy" 6743 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6744 break; 6745 6746 case 324: 6747 6748 /* Line 1806 of yacc.c */ 6749 #line 1289 "parser.yy" 6750 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6751 break; 6752 6753 case 326: 6754 6755 /* Line 1806 of yacc.c */ 6756 #line 1296 "parser.yy" 6782 case 337: 6783 6784 /* Line 1806 of yacc.c */ 6785 #line 1332 "parser.yy" 6757 6786 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6758 6787 break; 6759 6788 6760 case 3 27:6761 6762 /* Line 1806 of yacc.c */ 6763 #line 1 298"parser.yy"6789 case 338: 6790 6791 /* Line 1806 of yacc.c */ 6792 #line 1334 "parser.yy" 6764 6793 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6765 6794 break; 6766 6795 6767 case 328: 6768 6769 /* Line 1806 of yacc.c */ 6770 #line 1300 "parser.yy" 6771 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6772 break; 6773 6774 case 329: 6775 6776 /* Line 1806 of yacc.c */ 6777 #line 1305 "parser.yy" 6778 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6779 break; 6780 6781 case 330: 6782 6783 /* Line 1806 of yacc.c */ 6784 #line 1307 "parser.yy" 6785 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6786 break; 6787 6788 case 331: 6789 6790 /* Line 1806 of yacc.c */ 6791 #line 1309 "parser.yy" 6792 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6793 break; 6794 6795 case 332: 6796 6797 /* Line 1806 of yacc.c */ 6798 #line 1311 "parser.yy" 6799 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6800 break; 6801 6802 case 334: 6803 6804 /* Line 1806 of yacc.c */ 6805 #line 1317 "parser.yy" 6796 case 340: 6797 6798 /* Line 1806 of yacc.c */ 6799 #line 1340 "parser.yy" 6806 6800 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6807 6801 break; 6808 6802 6809 case 3 35:6810 6811 /* Line 1806 of yacc.c */ 6812 #line 13 19"parser.yy"6803 case 341: 6804 6805 /* Line 1806 of yacc.c */ 6806 #line 1342 "parser.yy" 6813 6807 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6814 6808 break; 6815 6809 6816 case 3 36:6817 6818 /* Line 1806 of yacc.c */ 6819 #line 13 21"parser.yy"6810 case 342: 6811 6812 /* Line 1806 of yacc.c */ 6813 #line 1344 "parser.yy" 6820 6814 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6821 6815 break; 6822 6816 6823 case 338: 6824 6825 /* Line 1806 of yacc.c */ 6826 #line 1327 "parser.yy" 6817 case 343: 6818 6819 /* Line 1806 of yacc.c */ 6820 #line 1349 "parser.yy" 6821 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6822 break; 6823 6824 case 344: 6825 6826 /* Line 1806 of yacc.c */ 6827 #line 1351 "parser.yy" 6828 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6829 break; 6830 6831 case 345: 6832 6833 /* Line 1806 of yacc.c */ 6834 #line 1353 "parser.yy" 6835 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6836 break; 6837 6838 case 348: 6839 6840 /* Line 1806 of yacc.c */ 6841 #line 1363 "parser.yy" 6842 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); } 6843 break; 6844 6845 case 349: 6846 6847 /* Line 1806 of yacc.c */ 6848 #line 1365 "parser.yy" 6849 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); } 6850 break; 6851 6852 case 350: 6853 6854 /* Line 1806 of yacc.c */ 6855 #line 1367 "parser.yy" 6856 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); } 6857 break; 6858 6859 case 351: 6860 6861 /* Line 1806 of yacc.c */ 6862 #line 1369 "parser.yy" 6863 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); } 6864 break; 6865 6866 case 352: 6867 6868 /* Line 1806 of yacc.c */ 6869 #line 1371 "parser.yy" 6870 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 6871 break; 6872 6873 case 353: 6874 6875 /* Line 1806 of yacc.c */ 6876 #line 1376 "parser.yy" 6877 { (yyval.aggKey) = DeclarationNode::Struct; } 6878 break; 6879 6880 case 354: 6881 6882 /* Line 1806 of yacc.c */ 6883 #line 1378 "parser.yy" 6884 { (yyval.aggKey) = DeclarationNode::Union; } 6885 break; 6886 6887 case 355: 6888 6889 /* Line 1806 of yacc.c */ 6890 #line 1383 "parser.yy" 6891 { (yyval.decl) = (yyvsp[(1) - (1)].decl); } 6892 break; 6893 6894 case 356: 6895 6896 /* Line 1806 of yacc.c */ 6897 #line 1385 "parser.yy" 6898 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 6899 break; 6900 6901 case 358: 6902 6903 /* Line 1806 of yacc.c */ 6904 #line 1391 "parser.yy" 6905 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 6906 break; 6907 6908 case 360: 6909 6910 /* Line 1806 of yacc.c */ 6911 #line 1394 "parser.yy" 6912 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 6913 break; 6914 6915 case 362: 6916 6917 /* Line 1806 of yacc.c */ 6918 #line 1400 "parser.yy" 6919 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 6920 break; 6921 6922 case 363: 6923 6924 /* Line 1806 of yacc.c */ 6925 #line 1402 "parser.yy" 6926 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 6927 break; 6928 6929 case 364: 6930 6931 /* Line 1806 of yacc.c */ 6932 #line 1404 "parser.yy" 6933 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 6934 break; 6935 6936 case 365: 6937 6938 /* Line 1806 of yacc.c */ 6939 #line 1409 "parser.yy" 6940 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6941 break; 6942 6943 case 366: 6944 6945 /* Line 1806 of yacc.c */ 6946 #line 1411 "parser.yy" 6947 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 6948 break; 6949 6950 case 367: 6951 6952 /* Line 1806 of yacc.c */ 6953 #line 1416 "parser.yy" 6954 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 6955 break; 6956 6957 case 368: 6958 6959 /* Line 1806 of yacc.c */ 6960 #line 1418 "parser.yy" 6961 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 6962 break; 6963 6964 case 369: 6965 6966 /* Line 1806 of yacc.c */ 6967 #line 1421 "parser.yy" 6968 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 6969 break; 6970 6971 case 370: 6972 6973 /* Line 1806 of yacc.c */ 6974 #line 1424 "parser.yy" 6975 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 6976 break; 6977 6978 case 372: 6979 6980 /* Line 1806 of yacc.c */ 6981 #line 1430 "parser.yy" 6982 { (yyval.en) = 0; } 6983 break; 6984 6985 case 373: 6986 6987 /* Line 1806 of yacc.c */ 6988 #line 1432 "parser.yy" 6989 { (yyval.en) = (yyvsp[(1) - (1)].en); } 6990 break; 6991 6992 case 374: 6993 6994 /* Line 1806 of yacc.c */ 6995 #line 1437 "parser.yy" 6996 { (yyval.en) = (yyvsp[(2) - (2)].en); } 6997 break; 6998 6999 case 376: 7000 7001 /* Line 1806 of yacc.c */ 7002 #line 1446 "parser.yy" 7003 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7004 break; 7005 7006 case 377: 7007 7008 /* Line 1806 of yacc.c */ 7009 #line 1448 "parser.yy" 7010 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); } 7011 break; 7012 7013 case 378: 7014 7015 /* Line 1806 of yacc.c */ 7016 #line 1450 "parser.yy" 7017 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); } 7018 break; 7019 7020 case 379: 7021 7022 /* Line 1806 of yacc.c */ 7023 #line 1455 "parser.yy" 7024 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7025 break; 7026 7027 case 380: 7028 7029 /* Line 1806 of yacc.c */ 7030 #line 1457 "parser.yy" 7031 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7032 break; 7033 7034 case 381: 7035 7036 /* Line 1806 of yacc.c */ 7037 #line 1462 "parser.yy" 7038 { (yyval.en) = 0; } 7039 break; 7040 7041 case 382: 7042 7043 /* Line 1806 of yacc.c */ 7044 #line 1464 "parser.yy" 7045 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7046 break; 7047 7048 case 383: 7049 7050 /* Line 1806 of yacc.c */ 7051 #line 1471 "parser.yy" 7052 { (yyval.decl) = 0; } 7053 break; 7054 7055 case 387: 7056 7057 /* Line 1806 of yacc.c */ 7058 #line 1479 "parser.yy" 7059 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7060 break; 7061 7062 case 388: 7063 7064 /* Line 1806 of yacc.c */ 7065 #line 1481 "parser.yy" 7066 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7067 break; 7068 7069 case 389: 7070 7071 /* Line 1806 of yacc.c */ 7072 #line 1483 "parser.yy" 7073 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7074 break; 7075 7076 case 391: 7077 7078 /* Line 1806 of yacc.c */ 7079 #line 1491 "parser.yy" 7080 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7081 break; 7082 7083 case 392: 7084 7085 /* Line 1806 of yacc.c */ 7086 #line 1493 "parser.yy" 7087 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7088 break; 7089 7090 case 393: 7091 7092 /* Line 1806 of yacc.c */ 7093 #line 1495 "parser.yy" 7094 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7095 break; 7096 7097 case 395: 7098 7099 /* Line 1806 of yacc.c */ 7100 #line 1501 "parser.yy" 7101 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7102 break; 7103 7104 case 396: 7105 7106 /* Line 1806 of yacc.c */ 7107 #line 1506 "parser.yy" 7108 { (yyval.decl) = 0; } 7109 break; 7110 7111 case 399: 7112 7113 /* Line 1806 of yacc.c */ 7114 #line 1513 "parser.yy" 7115 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7116 break; 7117 7118 case 402: 7119 7120 /* Line 1806 of yacc.c */ 7121 #line 1520 "parser.yy" 7122 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7123 break; 7124 7125 case 403: 7126 7127 /* Line 1806 of yacc.c */ 7128 #line 1522 "parser.yy" 7129 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7130 break; 7131 7132 case 405: 7133 7134 /* Line 1806 of yacc.c */ 7135 #line 1531 "parser.yy" 7136 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7137 break; 7138 7139 case 406: 7140 7141 /* Line 1806 of yacc.c */ 7142 #line 1534 "parser.yy" 7143 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7144 break; 7145 7146 case 407: 7147 7148 /* Line 1806 of yacc.c */ 7149 #line 1536 "parser.yy" 7150 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7151 break; 7152 7153 case 412: 7154 7155 /* Line 1806 of yacc.c */ 7156 #line 1546 "parser.yy" 6827 7157 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6828 7158 break; 6829 7159 6830 case 339: 6831 6832 /* Line 1806 of yacc.c */ 6833 #line 1329 "parser.yy" 6834 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6835 break; 6836 6837 case 341: 6838 6839 /* Line 1806 of yacc.c */ 6840 #line 1335 "parser.yy" 6841 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6842 break; 6843 6844 case 342: 6845 6846 /* Line 1806 of yacc.c */ 6847 #line 1337 "parser.yy" 6848 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6849 break; 6850 6851 case 343: 6852 6853 /* Line 1806 of yacc.c */ 6854 #line 1339 "parser.yy" 6855 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6856 break; 6857 6858 case 344: 6859 6860 /* Line 1806 of yacc.c */ 6861 #line 1344 "parser.yy" 6862 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6863 break; 6864 6865 case 345: 6866 6867 /* Line 1806 of yacc.c */ 6868 #line 1346 "parser.yy" 6869 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6870 break; 6871 6872 case 346: 6873 6874 /* Line 1806 of yacc.c */ 6875 #line 1348 "parser.yy" 6876 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6877 break; 6878 6879 case 349: 6880 6881 /* Line 1806 of yacc.c */ 6882 #line 1358 "parser.yy" 6883 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); } 6884 break; 6885 6886 case 350: 6887 6888 /* Line 1806 of yacc.c */ 6889 #line 1360 "parser.yy" 6890 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); } 6891 break; 6892 6893 case 351: 6894 6895 /* Line 1806 of yacc.c */ 6896 #line 1362 "parser.yy" 6897 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); } 6898 break; 6899 6900 case 352: 6901 6902 /* Line 1806 of yacc.c */ 6903 #line 1372 "parser.yy" 6904 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); } 6905 break; 6906 6907 case 353: 6908 6909 /* Line 1806 of yacc.c */ 6910 #line 1374 "parser.yy" 6911 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(5) - (5)].tok), (yyvsp[(3) - (5)].en), 0 ); } 6912 break; 6913 6914 case 354: 6915 6916 /* Line 1806 of yacc.c */ 6917 #line 1381 "parser.yy" 6918 { (yyval.aggKey) = DeclarationNode::Struct; } 6919 break; 6920 6921 case 355: 6922 6923 /* Line 1806 of yacc.c */ 6924 #line 1383 "parser.yy" 6925 { (yyval.aggKey) = DeclarationNode::Union; } 6926 break; 6927 6928 case 356: 6929 6930 /* Line 1806 of yacc.c */ 6931 #line 1388 "parser.yy" 6932 { (yyval.decl) = (yyvsp[(1) - (1)].decl); } 6933 break; 6934 6935 case 357: 6936 6937 /* Line 1806 of yacc.c */ 6938 #line 1390 "parser.yy" 6939 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 6940 break; 6941 6942 case 359: 6943 6944 /* Line 1806 of yacc.c */ 6945 #line 1396 "parser.yy" 6946 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 6947 break; 6948 6949 case 361: 6950 6951 /* Line 1806 of yacc.c */ 6952 #line 1399 "parser.yy" 6953 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 6954 break; 6955 6956 case 363: 6957 6958 /* Line 1806 of yacc.c */ 6959 #line 1405 "parser.yy" 6960 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 6961 break; 6962 6963 case 364: 6964 6965 /* Line 1806 of yacc.c */ 6966 #line 1407 "parser.yy" 6967 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 6968 break; 6969 6970 case 365: 6971 6972 /* Line 1806 of yacc.c */ 6973 #line 1409 "parser.yy" 6974 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 6975 break; 6976 6977 case 366: 6978 6979 /* Line 1806 of yacc.c */ 6980 #line 1414 "parser.yy" 6981 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6982 break; 6983 6984 case 367: 6985 6986 /* Line 1806 of yacc.c */ 6987 #line 1416 "parser.yy" 6988 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 6989 break; 6990 6991 case 368: 6992 6993 /* Line 1806 of yacc.c */ 6994 #line 1421 "parser.yy" 6995 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 6996 break; 6997 6998 case 369: 6999 7000 /* Line 1806 of yacc.c */ 7001 #line 1423 "parser.yy" 7002 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7003 break; 7004 7005 case 370: 7006 7007 /* Line 1806 of yacc.c */ 7008 #line 1426 "parser.yy" 7009 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7010 break; 7011 7012 case 371: 7013 7014 /* Line 1806 of yacc.c */ 7015 #line 1429 "parser.yy" 7016 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7017 break; 7018 7019 case 373: 7020 7021 /* Line 1806 of yacc.c */ 7022 #line 1435 "parser.yy" 7023 { (yyval.en) = 0; } 7024 break; 7025 7026 case 374: 7027 7028 /* Line 1806 of yacc.c */ 7029 #line 1437 "parser.yy" 7030 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7031 break; 7032 7033 case 375: 7034 7035 /* Line 1806 of yacc.c */ 7036 #line 1442 "parser.yy" 7037 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7038 break; 7039 7040 case 377: 7041 7042 /* Line 1806 of yacc.c */ 7043 #line 1451 "parser.yy" 7044 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7045 break; 7046 7047 case 378: 7048 7049 /* Line 1806 of yacc.c */ 7050 #line 1453 "parser.yy" 7051 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); } 7052 break; 7053 7054 case 379: 7055 7056 /* Line 1806 of yacc.c */ 7057 #line 1455 "parser.yy" 7058 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); } 7059 break; 7060 7061 case 380: 7062 7063 /* Line 1806 of yacc.c */ 7064 #line 1460 "parser.yy" 7065 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7066 break; 7067 7068 case 381: 7069 7070 /* Line 1806 of yacc.c */ 7071 #line 1462 "parser.yy" 7072 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7073 break; 7074 7075 case 382: 7076 7077 /* Line 1806 of yacc.c */ 7078 #line 1467 "parser.yy" 7079 { (yyval.en) = 0; } 7080 break; 7081 7082 case 383: 7083 7084 /* Line 1806 of yacc.c */ 7085 #line 1469 "parser.yy" 7086 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7087 break; 7088 7089 case 384: 7090 7091 /* Line 1806 of yacc.c */ 7092 #line 1476 "parser.yy" 7093 { (yyval.decl) = 0; } 7094 break; 7095 7096 case 388: 7097 7098 /* Line 1806 of yacc.c */ 7099 #line 1484 "parser.yy" 7100 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7101 break; 7102 7103 case 389: 7104 7105 /* Line 1806 of yacc.c */ 7106 #line 1486 "parser.yy" 7107 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7108 break; 7109 7110 case 390: 7111 7112 /* Line 1806 of yacc.c */ 7113 #line 1488 "parser.yy" 7114 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7115 break; 7116 7117 case 392: 7118 7119 /* Line 1806 of yacc.c */ 7120 #line 1496 "parser.yy" 7121 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7122 break; 7123 7124 case 393: 7125 7126 /* Line 1806 of yacc.c */ 7127 #line 1498 "parser.yy" 7128 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7129 break; 7130 7131 case 394: 7132 7133 /* Line 1806 of yacc.c */ 7134 #line 1500 "parser.yy" 7135 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7136 break; 7137 7138 case 396: 7139 7140 /* Line 1806 of yacc.c */ 7141 #line 1506 "parser.yy" 7142 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7143 break; 7144 7145 case 397: 7146 7147 /* Line 1806 of yacc.c */ 7148 #line 1511 "parser.yy" 7149 { (yyval.decl) = 0; } 7150 break; 7151 7152 case 400: 7153 7154 /* Line 1806 of yacc.c */ 7155 #line 1518 "parser.yy" 7156 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7157 break; 7158 7159 case 403: 7160 7161 /* Line 1806 of yacc.c */ 7162 #line 1525 "parser.yy" 7163 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7164 break; 7165 7166 case 404: 7167 7168 /* Line 1806 of yacc.c */ 7169 #line 1527 "parser.yy" 7170 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7171 break; 7172 7173 case 406: 7174 7175 /* Line 1806 of yacc.c */ 7176 #line 1536 "parser.yy" 7177 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7178 break; 7179 7180 case 407: 7181 7182 /* Line 1806 of yacc.c */ 7183 #line 1539 "parser.yy" 7184 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7185 break; 7186 7187 case 408: 7188 7189 /* Line 1806 of yacc.c */ 7190 #line 1541 "parser.yy" 7191 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7192 break; 7193 7194 case 413: 7195 7196 /* Line 1806 of yacc.c */ 7197 #line 1551 "parser.yy" 7198 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7160 case 414: 7161 7162 /* Line 1806 of yacc.c */ 7163 #line 1552 "parser.yy" 7164 { 7165 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7166 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) ); 7167 } 7199 7168 break; 7200 7169 … … 7209 7178 break; 7210 7179 7211 case 416: 7212 7213 /* Line 1806 of yacc.c */ 7214 #line 1562 "parser.yy" 7180 case 417: 7181 7182 /* Line 1806 of yacc.c */ 7183 #line 1566 "parser.yy" 7184 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7185 break; 7186 7187 case 418: 7188 7189 /* Line 1806 of yacc.c */ 7190 #line 1575 "parser.yy" 7191 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7192 break; 7193 7194 case 419: 7195 7196 /* Line 1806 of yacc.c */ 7197 #line 1577 "parser.yy" 7198 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7199 break; 7200 7201 case 431: 7202 7203 /* Line 1806 of yacc.c */ 7204 #line 1602 "parser.yy" 7205 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7206 break; 7207 7208 case 435: 7209 7210 /* Line 1806 of yacc.c */ 7211 #line 1610 "parser.yy" 7212 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7213 break; 7214 7215 case 436: 7216 7217 /* Line 1806 of yacc.c */ 7218 #line 1615 "parser.yy" 7219 { (yyval.in) = 0; } 7220 break; 7221 7222 case 437: 7223 7224 /* Line 1806 of yacc.c */ 7225 #line 1617 "parser.yy" 7226 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7227 break; 7228 7229 case 438: 7230 7231 /* Line 1806 of yacc.c */ 7232 #line 1621 "parser.yy" 7233 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7234 break; 7235 7236 case 439: 7237 7238 /* Line 1806 of yacc.c */ 7239 #line 1622 "parser.yy" 7240 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7241 break; 7242 7243 case 441: 7244 7245 /* Line 1806 of yacc.c */ 7246 #line 1627 "parser.yy" 7247 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7248 break; 7249 7250 case 442: 7251 7252 /* Line 1806 of yacc.c */ 7253 #line 1628 "parser.yy" 7254 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); } 7255 break; 7256 7257 case 443: 7258 7259 /* Line 1806 of yacc.c */ 7260 #line 1630 "parser.yy" 7261 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7262 break; 7263 7264 case 445: 7265 7266 /* Line 1806 of yacc.c */ 7267 #line 1646 "parser.yy" 7268 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); } 7269 break; 7270 7271 case 447: 7272 7273 /* Line 1806 of yacc.c */ 7274 #line 1652 "parser.yy" 7275 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); } 7276 break; 7277 7278 case 448: 7279 7280 /* Line 1806 of yacc.c */ 7281 #line 1658 "parser.yy" 7282 { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok) ); } 7283 break; 7284 7285 case 449: 7286 7287 /* Line 1806 of yacc.c */ 7288 #line 1661 "parser.yy" 7289 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7290 break; 7291 7292 case 450: 7293 7294 /* Line 1806 of yacc.c */ 7295 #line 1663 "parser.yy" 7296 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7297 break; 7298 7299 case 451: 7300 7301 /* Line 1806 of yacc.c */ 7302 #line 1665 "parser.yy" 7303 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ); } 7304 break; 7305 7306 case 452: 7307 7308 /* Line 1806 of yacc.c */ 7309 #line 1667 "parser.yy" 7310 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7311 break; 7312 7313 case 454: 7314 7315 /* Line 1806 of yacc.c */ 7316 #line 1691 "parser.yy" 7317 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7318 break; 7319 7320 case 455: 7321 7322 /* Line 1806 of yacc.c */ 7323 #line 1693 "parser.yy" 7324 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7325 break; 7326 7327 case 456: 7328 7329 /* Line 1806 of yacc.c */ 7330 #line 1695 "parser.yy" 7331 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7332 break; 7333 7334 case 458: 7335 7336 /* Line 1806 of yacc.c */ 7337 #line 1701 "parser.yy" 7338 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7339 break; 7340 7341 case 459: 7342 7343 /* Line 1806 of yacc.c */ 7344 #line 1703 "parser.yy" 7345 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7346 break; 7347 7348 case 460: 7349 7350 /* Line 1806 of yacc.c */ 7351 #line 1708 "parser.yy" 7352 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7353 break; 7354 7355 case 462: 7356 7357 /* Line 1806 of yacc.c */ 7358 #line 1714 "parser.yy" 7359 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7360 break; 7361 7362 case 463: 7363 7364 /* Line 1806 of yacc.c */ 7365 #line 1719 "parser.yy" 7366 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7367 break; 7368 7369 case 464: 7370 7371 /* Line 1806 of yacc.c */ 7372 #line 1721 "parser.yy" 7373 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7374 break; 7375 7376 case 466: 7377 7378 /* Line 1806 of yacc.c */ 7379 #line 1727 "parser.yy" 7380 { (yyval.tclass) = DeclarationNode::Type; } 7381 break; 7382 7383 case 467: 7384 7385 /* Line 1806 of yacc.c */ 7386 #line 1729 "parser.yy" 7387 { (yyval.tclass) = DeclarationNode::Ftype; } 7388 break; 7389 7390 case 468: 7391 7392 /* Line 1806 of yacc.c */ 7393 #line 1731 "parser.yy" 7394 { (yyval.tclass) = DeclarationNode::Dtype; } 7395 break; 7396 7397 case 469: 7398 7399 /* Line 1806 of yacc.c */ 7400 #line 1736 "parser.yy" 7401 { (yyval.decl) = 0; } 7402 break; 7403 7404 case 470: 7405 7406 /* Line 1806 of yacc.c */ 7407 #line 1738 "parser.yy" 7408 { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7409 break; 7410 7411 case 471: 7412 7413 /* Line 1806 of yacc.c */ 7414 #line 1743 "parser.yy" 7215 7415 { 7216 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7217 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) ); 7218 } 7219 break; 7220 7221 case 418: 7222 7223 /* Line 1806 of yacc.c */ 7224 #line 1571 "parser.yy" 7225 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7226 break; 7227 7228 case 419: 7229 7230 /* Line 1806 of yacc.c */ 7231 #line 1580 "parser.yy" 7232 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7233 break; 7234 7235 case 420: 7236 7237 /* Line 1806 of yacc.c */ 7238 #line 1582 "parser.yy" 7239 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7240 break; 7241 7242 case 432: 7243 7244 /* Line 1806 of yacc.c */ 7245 #line 1607 "parser.yy" 7246 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7247 break; 7248 7249 case 436: 7250 7251 /* Line 1806 of yacc.c */ 7252 #line 1615 "parser.yy" 7253 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7254 break; 7255 7256 case 437: 7257 7258 /* Line 1806 of yacc.c */ 7259 #line 1620 "parser.yy" 7260 { (yyval.in) = 0; } 7261 break; 7262 7263 case 438: 7264 7265 /* Line 1806 of yacc.c */ 7266 #line 1621 "parser.yy" 7267 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7268 break; 7269 7270 case 439: 7271 7272 /* Line 1806 of yacc.c */ 7273 #line 1625 "parser.yy" 7274 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7275 break; 7276 7277 case 440: 7278 7279 /* Line 1806 of yacc.c */ 7280 #line 1626 "parser.yy" 7281 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7282 break; 7283 7284 case 442: 7285 7286 /* Line 1806 of yacc.c */ 7287 #line 1631 "parser.yy" 7288 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7289 break; 7290 7291 case 443: 7292 7293 /* Line 1806 of yacc.c */ 7294 #line 1632 "parser.yy" 7295 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); } 7296 break; 7297 7298 case 444: 7299 7300 /* Line 1806 of yacc.c */ 7301 #line 1634 "parser.yy" 7302 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7303 break; 7304 7305 case 446: 7306 7307 /* Line 1806 of yacc.c */ 7308 #line 1650 "parser.yy" 7309 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); } 7310 break; 7311 7312 case 448: 7313 7314 /* Line 1806 of yacc.c */ 7315 #line 1655 "parser.yy" 7316 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); } 7317 break; 7318 7319 case 449: 7320 7321 /* Line 1806 of yacc.c */ 7322 #line 1661 "parser.yy" 7323 { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok) ); } 7324 break; 7325 7326 case 450: 7327 7328 /* Line 1806 of yacc.c */ 7329 #line 1664 "parser.yy" 7330 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7331 break; 7332 7333 case 451: 7334 7335 /* Line 1806 of yacc.c */ 7336 #line 1666 "parser.yy" 7337 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7338 break; 7339 7340 case 452: 7341 7342 /* Line 1806 of yacc.c */ 7343 #line 1668 "parser.yy" 7344 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ); } 7345 break; 7346 7347 case 453: 7348 7349 /* Line 1806 of yacc.c */ 7350 #line 1670 "parser.yy" 7351 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7352 break; 7353 7354 case 455: 7355 7356 /* Line 1806 of yacc.c */ 7357 #line 1694 "parser.yy" 7358 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7359 break; 7360 7361 case 456: 7362 7363 /* Line 1806 of yacc.c */ 7364 #line 1696 "parser.yy" 7365 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7366 break; 7367 7368 case 457: 7369 7370 /* Line 1806 of yacc.c */ 7371 #line 1698 "parser.yy" 7372 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7373 break; 7374 7375 case 458: 7376 7377 /* Line 1806 of yacc.c */ 7378 #line 1703 "parser.yy" 7379 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7380 break; 7381 7382 case 459: 7383 7384 /* Line 1806 of yacc.c */ 7385 #line 1705 "parser.yy" 7386 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); } 7387 break; 7388 7389 case 460: 7390 7391 /* Line 1806 of yacc.c */ 7392 #line 1707 "parser.yy" 7393 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7394 break; 7395 7396 case 462: 7397 7398 /* Line 1806 of yacc.c */ 7399 #line 1713 "parser.yy" 7400 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7401 break; 7402 7403 case 463: 7404 7405 /* Line 1806 of yacc.c */ 7406 #line 1718 "parser.yy" 7407 { typedefTable.addToEnclosingScope(*( (yyvsp[(2) - (2)].tok) ), TypedefTable::TD ); } 7408 break; 7409 7410 case 464: 7411 7412 /* Line 1806 of yacc.c */ 7413 #line 1720 "parser.yy" 7414 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7415 break; 7416 7417 case 466: 7418 7419 /* Line 1806 of yacc.c */ 7420 #line 1726 "parser.yy" 7421 { (yyval.tclass) = DeclarationNode::Type; } 7422 break; 7423 7424 case 467: 7425 7426 /* Line 1806 of yacc.c */ 7427 #line 1728 "parser.yy" 7428 { (yyval.tclass) = DeclarationNode::Ftype; } 7429 break; 7430 7431 case 468: 7432 7433 /* Line 1806 of yacc.c */ 7434 #line 1730 "parser.yy" 7435 { (yyval.tclass) = DeclarationNode::Dtype; } 7436 break; 7437 7438 case 469: 7439 7440 /* Line 1806 of yacc.c */ 7441 #line 1735 "parser.yy" 7442 { (yyval.decl) = 0; } 7443 break; 7444 7445 case 470: 7446 7447 /* Line 1806 of yacc.c */ 7448 #line 1737 "parser.yy" 7449 { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7450 break; 7451 7452 case 471: 7453 7454 /* Line 1806 of yacc.c */ 7455 #line 1742 "parser.yy" 7456 { 7457 typedefTable.openContext( *( (yyvsp[(2) - (5)].tok) ) ); 7416 typedefTable.openContext( *(yyvsp[(2) - (5)].tok) ); 7458 7417 (yyval.decl) = DeclarationNode::newContextUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) ); 7459 7418 } … … 7463 7422 7464 7423 /* Line 1806 of yacc.c */ 7465 #line 174 7"parser.yy"7424 #line 1748 "parser.yy" 7466 7425 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7467 7426 break; … … 7470 7429 7471 7430 /* Line 1806 of yacc.c */ 7472 #line 17 49"parser.yy"7431 #line 1750 "parser.yy" 7473 7432 { (yyval.decl) = 0; } 7474 7433 break; … … 7477 7436 7478 7437 /* Line 1806 of yacc.c */ 7479 #line 175 4"parser.yy"7438 #line 1755 "parser.yy" 7480 7439 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); } 7481 7440 break; … … 7484 7443 7485 7444 /* Line 1806 of yacc.c */ 7486 #line 175 7"parser.yy"7445 #line 1758 "parser.yy" 7487 7446 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); } 7488 7447 break; … … 7491 7450 7492 7451 /* Line 1806 of yacc.c */ 7493 #line 17 59"parser.yy"7452 #line 1760 "parser.yy" 7494 7453 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 7495 7454 break; … … 7498 7457 7499 7458 /* Line 1806 of yacc.c */ 7500 #line 176 4"parser.yy"7459 #line 1765 "parser.yy" 7501 7460 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7502 7461 break; … … 7505 7464 7506 7465 /* Line 1806 of yacc.c */ 7507 #line 176 6"parser.yy"7466 #line 1767 "parser.yy" 7508 7467 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7509 7468 break; … … 7512 7471 7513 7472 /* Line 1806 of yacc.c */ 7514 #line 176 8"parser.yy"7473 #line 1769 "parser.yy" 7515 7474 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7516 7475 break; … … 7519 7478 7520 7479 /* Line 1806 of yacc.c */ 7521 #line 177 3"parser.yy"7480 #line 1774 "parser.yy" 7522 7481 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7523 7482 break; … … 7526 7485 7527 7486 /* Line 1806 of yacc.c */ 7528 #line 177 5"parser.yy"7487 #line 1776 "parser.yy" 7529 7488 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7530 7489 break; … … 7533 7492 7534 7493 /* Line 1806 of yacc.c */ 7535 #line 178 0"parser.yy"7494 #line 1781 "parser.yy" 7536 7495 { 7537 7496 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7543 7502 7544 7503 /* Line 1806 of yacc.c */ 7545 #line 178 5"parser.yy"7504 #line 1786 "parser.yy" 7546 7505 { 7547 7506 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7553 7512 7554 7513 /* Line 1806 of yacc.c */ 7555 #line 179 3"parser.yy"7514 #line 1794 "parser.yy" 7556 7515 { 7557 7516 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7563 7522 7564 7523 /* Line 1806 of yacc.c */ 7565 #line 179 8"parser.yy"7524 #line 1799 "parser.yy" 7566 7525 { 7567 7526 typedefTable.enterContext( *(yyvsp[(2) - (8)].tok) ); … … 7573 7532 7574 7533 /* Line 1806 of yacc.c */ 7575 #line 180 3"parser.yy"7534 #line 1804 "parser.yy" 7576 7535 { 7577 7536 typedefTable.leaveContext(); … … 7584 7543 7585 7544 /* Line 1806 of yacc.c */ 7586 #line 181 3"parser.yy"7545 #line 1814 "parser.yy" 7587 7546 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7588 7547 break; … … 7591 7550 7592 7551 /* Line 1806 of yacc.c */ 7593 #line 182 3"parser.yy"7552 #line 1824 "parser.yy" 7594 7553 { 7595 7554 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7601 7560 7602 7561 /* Line 1806 of yacc.c */ 7603 #line 182 8"parser.yy"7562 #line 1829 "parser.yy" 7604 7563 { 7605 7564 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7611 7570 7612 7571 /* Line 1806 of yacc.c */ 7613 #line 183 3"parser.yy"7572 #line 1834 "parser.yy" 7614 7573 { 7615 7574 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7621 7580 7622 7581 /* Line 1806 of yacc.c */ 7623 #line 184 1"parser.yy"7582 #line 1842 "parser.yy" 7624 7583 { 7625 7584 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7631 7590 7632 7591 /* Line 1806 of yacc.c */ 7633 #line 184 6"parser.yy"7592 #line 1847 "parser.yy" 7634 7593 { 7635 7594 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7641 7600 7642 7601 /* Line 1806 of yacc.c */ 7643 #line 185 6"parser.yy"7602 #line 1857 "parser.yy" 7644 7603 {} 7645 7604 break; … … 7648 7607 7649 7608 /* Line 1806 of yacc.c */ 7650 #line 185 8"parser.yy"7609 #line 1859 "parser.yy" 7651 7610 { 7652 7611 if ( theTree ) { … … 7661 7620 7662 7621 /* Line 1806 of yacc.c */ 7663 #line 187 0"parser.yy"7622 #line 1871 "parser.yy" 7664 7623 { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7665 7624 break; … … 7668 7627 7669 7628 /* Line 1806 of yacc.c */ 7670 #line 187 5"parser.yy"7629 #line 1876 "parser.yy" 7671 7630 { (yyval.decl) = 0; } 7672 7631 break; … … 7675 7634 7676 7635 /* Line 1806 of yacc.c */ 7677 #line 188 3"parser.yy"7636 #line 1884 "parser.yy" 7678 7637 {} 7679 7638 break; … … 7682 7641 7683 7642 /* Line 1806 of yacc.c */ 7684 #line 188 5"parser.yy"7643 #line 1886 "parser.yy" 7685 7644 { 7686 7645 linkageStack.push( linkage ); … … 7692 7651 7693 7652 /* Line 1806 of yacc.c */ 7694 #line 189 0"parser.yy"7653 #line 1891 "parser.yy" 7695 7654 { 7696 7655 linkage = linkageStack.top(); … … 7703 7662 7704 7663 /* Line 1806 of yacc.c */ 7705 #line 189 6"parser.yy"7664 #line 1897 "parser.yy" 7706 7665 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7707 7666 break; … … 8069 8028 break; 8070 8029 8071 case 584:8072 8073 /* Line 1806 of yacc.c */8074 #line 2197 "parser.yy"8075 {8076 typedefTable.setNextIdentifier( *( (yyvsp[(1) - (1)].tok) ) );8077 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) );8078 }8079 break;8080 8081 8030 case 585: 8082 8031 8083 8032 /* Line 1806 of yacc.c */ 8084 #line 2 202"parser.yy"8033 #line 2198 "parser.yy" 8085 8034 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8086 8035 break; … … 8089 8038 8090 8039 /* Line 1806 of yacc.c */ 8040 #line 2203 "parser.yy" 8041 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8042 break; 8043 8044 case 587: 8045 8046 /* Line 1806 of yacc.c */ 8047 #line 2205 "parser.yy" 8048 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8049 break; 8050 8051 case 588: 8052 8053 /* Line 1806 of yacc.c */ 8091 8054 #line 2207 "parser.yy" 8055 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8056 break; 8057 8058 case 589: 8059 8060 /* Line 1806 of yacc.c */ 8061 #line 2212 "parser.yy" 8062 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8063 break; 8064 8065 case 590: 8066 8067 /* Line 1806 of yacc.c */ 8068 #line 2214 "parser.yy" 8069 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8070 break; 8071 8072 case 591: 8073 8074 /* Line 1806 of yacc.c */ 8075 #line 2216 "parser.yy" 8076 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8077 break; 8078 8079 case 592: 8080 8081 /* Line 1806 of yacc.c */ 8082 #line 2218 "parser.yy" 8083 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8084 break; 8085 8086 case 593: 8087 8088 /* Line 1806 of yacc.c */ 8089 #line 2223 "parser.yy" 8090 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8091 break; 8092 8093 case 594: 8094 8095 /* Line 1806 of yacc.c */ 8096 #line 2225 "parser.yy" 8097 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8098 break; 8099 8100 case 595: 8101 8102 /* Line 1806 of yacc.c */ 8103 #line 2227 "parser.yy" 8104 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8105 break; 8106 8107 case 600: 8108 8109 /* Line 1806 of yacc.c */ 8110 #line 2244 "parser.yy" 8092 8111 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8093 8112 break; 8094 8113 8095 case 587:8096 8097 /* Line 1806 of yacc.c */ 8098 #line 22 09"parser.yy"8114 case 601: 8115 8116 /* Line 1806 of yacc.c */ 8117 #line 2246 "parser.yy" 8099 8118 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8100 8119 break; 8101 8120 8102 case 588:8103 8104 /* Line 1806 of yacc.c */ 8105 #line 22 11"parser.yy"8121 case 602: 8122 8123 /* Line 1806 of yacc.c */ 8124 #line 2248 "parser.yy" 8106 8125 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8107 8126 break; 8108 8127 8109 case 589:8110 8111 /* Line 1806 of yacc.c */ 8112 #line 22 16"parser.yy"8128 case 603: 8129 8130 /* Line 1806 of yacc.c */ 8131 #line 2253 "parser.yy" 8113 8132 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8114 8133 break; 8115 8134 8116 case 590:8117 8118 /* Line 1806 of yacc.c */ 8119 #line 22 18"parser.yy"8135 case 604: 8136 8137 /* Line 1806 of yacc.c */ 8138 #line 2255 "parser.yy" 8120 8139 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8121 8140 break; 8122 8141 8123 case 591:8124 8125 /* Line 1806 of yacc.c */ 8126 #line 22 20"parser.yy"8142 case 605: 8143 8144 /* Line 1806 of yacc.c */ 8145 #line 2257 "parser.yy" 8127 8146 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8128 8147 break; 8129 8148 8130 case 592:8131 8132 /* Line 1806 of yacc.c */ 8133 #line 22 22"parser.yy"8149 case 606: 8150 8151 /* Line 1806 of yacc.c */ 8152 #line 2259 "parser.yy" 8134 8153 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8135 8154 break; 8136 8155 8137 case 593:8138 8139 /* Line 1806 of yacc.c */ 8140 #line 22 27"parser.yy"8156 case 607: 8157 8158 /* Line 1806 of yacc.c */ 8159 #line 2264 "parser.yy" 8141 8160 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8142 8161 break; 8143 8162 8144 case 594:8145 8146 /* Line 1806 of yacc.c */ 8147 #line 22 29"parser.yy"8163 case 608: 8164 8165 /* Line 1806 of yacc.c */ 8166 #line 2266 "parser.yy" 8148 8167 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8149 8168 break; 8150 8169 8151 case 595:8152 8153 /* Line 1806 of yacc.c */ 8154 #line 22 31"parser.yy"8170 case 609: 8171 8172 /* Line 1806 of yacc.c */ 8173 #line 2268 "parser.yy" 8155 8174 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8156 8175 break; 8157 8176 8158 case 600:8159 8160 /* Line 1806 of yacc.c */8161 #line 2248 "parser.yy"8162 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }8163 break;8164 8165 case 601:8166 8167 /* Line 1806 of yacc.c */8168 #line 2250 "parser.yy"8169 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }8170 break;8171 8172 case 602:8173 8174 /* Line 1806 of yacc.c */8175 #line 2252 "parser.yy"8176 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8177 break;8178 8179 case 603:8180 8181 /* Line 1806 of yacc.c */8182 #line 2257 "parser.yy"8183 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }8184 break;8185 8186 case 604:8187 8188 /* Line 1806 of yacc.c */8189 #line 2259 "parser.yy"8190 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8191 break;8192 8193 case 605:8194 8195 /* Line 1806 of yacc.c */8196 #line 2261 "parser.yy"8197 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8198 break;8199 8200 case 606:8201 8202 /* Line 1806 of yacc.c */8203 #line 2263 "parser.yy"8204 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8205 break;8206 8207 case 607:8208 8209 /* Line 1806 of yacc.c */8210 #line 2268 "parser.yy"8211 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }8212 break;8213 8214 case 608:8215 8216 /* Line 1806 of yacc.c */8217 #line 2270 "parser.yy"8218 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }8219 break;8220 8221 case 609:8222 8223 /* Line 1806 of yacc.c */8224 #line 2272 "parser.yy"8225 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8226 break;8227 8228 8177 case 614: 8229 8178 8230 8179 /* Line 1806 of yacc.c */ 8231 #line 23 10"parser.yy"8180 #line 2306 "parser.yy" 8232 8181 { 8233 8182 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8239 8188 8240 8189 /* Line 1806 of yacc.c */ 8241 #line 2318 "parser.yy" 8190 #line 2311 "parser.yy" 8191 { 8192 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8193 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 8194 } 8195 break; 8196 8197 case 616: 8198 8199 /* Line 1806 of yacc.c */ 8200 #line 2319 "parser.yy" 8242 8201 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8243 8202 break; 8244 8203 8245 case 61 6:8246 8247 /* Line 1806 of yacc.c */ 8248 #line 232 0"parser.yy"8204 case 617: 8205 8206 /* Line 1806 of yacc.c */ 8207 #line 2321 "parser.yy" 8249 8208 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8250 8209 break; 8251 8210 8252 case 61 7:8253 8254 /* Line 1806 of yacc.c */ 8255 #line 232 2"parser.yy"8211 case 618: 8212 8213 /* Line 1806 of yacc.c */ 8214 #line 2323 "parser.yy" 8256 8215 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8257 8216 break; 8258 8217 8259 case 61 8:8260 8261 /* Line 1806 of yacc.c */ 8262 #line 232 7"parser.yy"8218 case 619: 8219 8220 /* Line 1806 of yacc.c */ 8221 #line 2328 "parser.yy" 8263 8222 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8264 8223 break; 8265 8224 8266 case 6 19:8267 8268 /* Line 1806 of yacc.c */ 8269 #line 23 29"parser.yy"8225 case 620: 8226 8227 /* Line 1806 of yacc.c */ 8228 #line 2330 "parser.yy" 8270 8229 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8271 8230 break; 8272 8231 8273 case 62 0:8274 8275 /* Line 1806 of yacc.c */ 8276 #line 233 4"parser.yy"8232 case 621: 8233 8234 /* Line 1806 of yacc.c */ 8235 #line 2335 "parser.yy" 8277 8236 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8278 8237 break; 8279 8238 8280 case 62 1:8281 8282 /* Line 1806 of yacc.c */ 8283 #line 233 6"parser.yy"8239 case 622: 8240 8241 /* Line 1806 of yacc.c */ 8242 #line 2337 "parser.yy" 8284 8243 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8285 8244 break; 8286 8245 8287 case 62 5:8288 8289 /* Line 1806 of yacc.c */ 8290 #line 235 6"parser.yy"8246 case 626: 8247 8248 /* Line 1806 of yacc.c */ 8249 #line 2357 "parser.yy" 8291 8250 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8292 8251 break; 8293 8252 8294 case 62 6:8295 8296 /* Line 1806 of yacc.c */ 8297 #line 235 8"parser.yy"8253 case 627: 8254 8255 /* Line 1806 of yacc.c */ 8256 #line 2359 "parser.yy" 8298 8257 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8299 8258 break; 8300 8259 8301 case 62 7:8302 8303 /* Line 1806 of yacc.c */ 8304 #line 236 0"parser.yy"8260 case 628: 8261 8262 /* Line 1806 of yacc.c */ 8263 #line 2361 "parser.yy" 8305 8264 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8306 8265 break; 8307 8266 8308 case 62 8:8309 8310 /* Line 1806 of yacc.c */ 8311 #line 236 2"parser.yy"8267 case 629: 8268 8269 /* Line 1806 of yacc.c */ 8270 #line 2363 "parser.yy" 8312 8271 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8313 8272 break; 8314 8273 8315 case 6 29:8316 8317 /* Line 1806 of yacc.c */ 8318 #line 236 4"parser.yy"8274 case 630: 8275 8276 /* Line 1806 of yacc.c */ 8277 #line 2365 "parser.yy" 8319 8278 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8320 8279 break; 8321 8280 8322 case 63 1:8323 8324 /* Line 1806 of yacc.c */ 8325 #line 237 0"parser.yy"8281 case 632: 8282 8283 /* Line 1806 of yacc.c */ 8284 #line 2371 "parser.yy" 8326 8285 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8327 8286 break; 8328 8287 8329 case 63 2:8330 8331 /* Line 1806 of yacc.c */ 8332 #line 237 2"parser.yy"8288 case 633: 8289 8290 /* Line 1806 of yacc.c */ 8291 #line 2373 "parser.yy" 8333 8292 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8334 8293 break; 8335 8294 8336 case 63 3:8337 8338 /* Line 1806 of yacc.c */ 8339 #line 237 4"parser.yy"8295 case 634: 8296 8297 /* Line 1806 of yacc.c */ 8298 #line 2375 "parser.yy" 8340 8299 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8341 8300 break; 8342 8301 8343 case 63 4:8344 8345 /* Line 1806 of yacc.c */ 8346 #line 23 79"parser.yy"8302 case 635: 8303 8304 /* Line 1806 of yacc.c */ 8305 #line 2380 "parser.yy" 8347 8306 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8348 8307 break; 8349 8308 8350 case 63 5:8351 8352 /* Line 1806 of yacc.c */ 8353 #line 238 1"parser.yy"8309 case 636: 8310 8311 /* Line 1806 of yacc.c */ 8312 #line 2382 "parser.yy" 8354 8313 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8355 8314 break; 8356 8315 8357 case 63 6:8358 8359 /* Line 1806 of yacc.c */ 8360 #line 238 3"parser.yy"8316 case 637: 8317 8318 /* Line 1806 of yacc.c */ 8319 #line 2384 "parser.yy" 8361 8320 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8362 8321 break; 8363 8322 8364 case 63 7:8365 8366 /* Line 1806 of yacc.c */ 8367 #line 23 89"parser.yy"8323 case 638: 8324 8325 /* Line 1806 of yacc.c */ 8326 #line 2390 "parser.yy" 8368 8327 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8369 8328 break; 8370 8329 8371 case 63 8:8372 8373 /* Line 1806 of yacc.c */ 8374 #line 239 1"parser.yy"8375 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[( 5) - (5)].decl) ); }8376 break; 8377 8378 case 64 0:8379 8380 /* Line 1806 of yacc.c */ 8381 #line 239 7"parser.yy"8330 case 639: 8331 8332 /* Line 1806 of yacc.c */ 8333 #line 2392 "parser.yy" 8334 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8335 break; 8336 8337 case 641: 8338 8339 /* Line 1806 of yacc.c */ 8340 #line 2398 "parser.yy" 8382 8341 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8383 8342 break; 8384 8343 8385 case 64 1:8386 8387 /* Line 1806 of yacc.c */ 8388 #line 2 399"parser.yy"8344 case 642: 8345 8346 /* Line 1806 of yacc.c */ 8347 #line 2400 "parser.yy" 8389 8348 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8390 8349 break; 8391 8350 8392 case 64 2:8393 8394 /* Line 1806 of yacc.c */ 8395 #line 240 1"parser.yy"8351 case 643: 8352 8353 /* Line 1806 of yacc.c */ 8354 #line 2402 "parser.yy" 8396 8355 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8397 8356 break; 8398 8357 8399 case 64 3:8400 8401 /* Line 1806 of yacc.c */ 8402 #line 240 3"parser.yy"8358 case 644: 8359 8360 /* Line 1806 of yacc.c */ 8361 #line 2404 "parser.yy" 8403 8362 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8404 8363 break; 8405 8364 8406 case 64 7:8407 8408 /* Line 1806 of yacc.c */ 8409 #line 242 3"parser.yy"8365 case 648: 8366 8367 /* Line 1806 of yacc.c */ 8368 #line 2424 "parser.yy" 8410 8369 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8411 8370 break; 8412 8371 8413 case 64 8:8414 8415 /* Line 1806 of yacc.c */ 8416 #line 242 5"parser.yy"8372 case 649: 8373 8374 /* Line 1806 of yacc.c */ 8375 #line 2426 "parser.yy" 8417 8376 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8418 8377 break; 8419 8378 8420 case 6 49:8421 8422 /* Line 1806 of yacc.c */ 8423 #line 242 7"parser.yy"8379 case 650: 8380 8381 /* Line 1806 of yacc.c */ 8382 #line 2428 "parser.yy" 8424 8383 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8425 8384 break; 8426 8385 8427 case 65 0:8428 8429 /* Line 1806 of yacc.c */ 8430 #line 24 29"parser.yy"8386 case 651: 8387 8388 /* Line 1806 of yacc.c */ 8389 #line 2430 "parser.yy" 8431 8390 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8432 8391 break; 8433 8392 8434 case 65 1:8435 8436 /* Line 1806 of yacc.c */ 8437 #line 243 1"parser.yy"8393 case 652: 8394 8395 /* Line 1806 of yacc.c */ 8396 #line 2432 "parser.yy" 8438 8397 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8439 8398 break; 8440 8399 8441 case 65 3:8442 8443 /* Line 1806 of yacc.c */ 8444 #line 243 7"parser.yy"8400 case 654: 8401 8402 /* Line 1806 of yacc.c */ 8403 #line 2438 "parser.yy" 8445 8404 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8446 8405 break; 8447 8406 8448 case 65 4:8449 8450 /* Line 1806 of yacc.c */ 8451 #line 24 39"parser.yy"8407 case 655: 8408 8409 /* Line 1806 of yacc.c */ 8410 #line 2440 "parser.yy" 8452 8411 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8453 8412 break; 8454 8413 8455 case 65 5:8456 8457 /* Line 1806 of yacc.c */ 8458 #line 244 1"parser.yy"8414 case 656: 8415 8416 /* Line 1806 of yacc.c */ 8417 #line 2442 "parser.yy" 8459 8418 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8460 8419 break; 8461 8420 8462 case 65 6:8463 8464 /* Line 1806 of yacc.c */ 8465 #line 244 6"parser.yy"8421 case 657: 8422 8423 /* Line 1806 of yacc.c */ 8424 #line 2447 "parser.yy" 8466 8425 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8467 8426 break; 8468 8427 8469 case 65 7:8470 8471 /* Line 1806 of yacc.c */ 8472 #line 244 8"parser.yy"8428 case 658: 8429 8430 /* Line 1806 of yacc.c */ 8431 #line 2449 "parser.yy" 8473 8432 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8474 8433 break; 8475 8434 8476 case 65 8:8477 8478 /* Line 1806 of yacc.c */ 8479 #line 245 0"parser.yy"8435 case 659: 8436 8437 /* Line 1806 of yacc.c */ 8438 #line 2451 "parser.yy" 8480 8439 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8481 8440 break; 8482 8441 8483 case 66 0:8484 8485 /* Line 1806 of yacc.c */ 8486 #line 245 7"parser.yy"8442 case 661: 8443 8444 /* Line 1806 of yacc.c */ 8445 #line 2458 "parser.yy" 8487 8446 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8488 8447 break; 8489 8448 8490 case 66 2:8491 8492 /* Line 1806 of yacc.c */ 8493 #line 246 8"parser.yy"8449 case 663: 8450 8451 /* Line 1806 of yacc.c */ 8452 #line 2469 "parser.yy" 8494 8453 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8495 8454 break; 8496 8455 8497 case 66 3:8498 8499 /* Line 1806 of yacc.c */ 8500 #line 247 1"parser.yy"8456 case 664: 8457 8458 /* Line 1806 of yacc.c */ 8459 #line 2472 "parser.yy" 8501 8460 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8502 8461 break; 8503 8462 8504 case 66 4:8505 8506 /* Line 1806 of yacc.c */ 8507 #line 247 3"parser.yy"8463 case 665: 8464 8465 /* Line 1806 of yacc.c */ 8466 #line 2474 "parser.yy" 8508 8467 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8509 8468 break; 8510 8469 8511 case 66 5:8512 8513 /* Line 1806 of yacc.c */ 8514 #line 247 6"parser.yy"8470 case 666: 8471 8472 /* Line 1806 of yacc.c */ 8473 #line 2477 "parser.yy" 8515 8474 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8516 8475 break; 8517 8476 8518 case 66 6:8519 8520 /* Line 1806 of yacc.c */ 8521 #line 247 8"parser.yy"8477 case 667: 8478 8479 /* Line 1806 of yacc.c */ 8480 #line 2479 "parser.yy" 8522 8481 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8523 8482 break; 8524 8483 8525 case 66 7:8526 8527 /* Line 1806 of yacc.c */ 8528 #line 248 0"parser.yy"8484 case 668: 8485 8486 /* Line 1806 of yacc.c */ 8487 #line 2481 "parser.yy" 8529 8488 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8530 8489 break; 8531 8490 8532 case 67 1:8533 8534 /* Line 1806 of yacc.c */ 8535 #line 2 499"parser.yy"8491 case 672: 8492 8493 /* Line 1806 of yacc.c */ 8494 #line 2500 "parser.yy" 8536 8495 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8537 8496 break; 8538 8497 8539 case 67 2:8540 8541 /* Line 1806 of yacc.c */ 8542 #line 250 1"parser.yy"8498 case 673: 8499 8500 /* Line 1806 of yacc.c */ 8501 #line 2502 "parser.yy" 8543 8502 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8544 8503 break; 8545 8504 8546 case 67 3:8547 8548 /* Line 1806 of yacc.c */ 8549 #line 250 3"parser.yy"8505 case 674: 8506 8507 /* Line 1806 of yacc.c */ 8508 #line 2504 "parser.yy" 8550 8509 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8551 8510 break; 8552 8511 8553 case 67 4:8554 8555 /* Line 1806 of yacc.c */ 8556 #line 250 5"parser.yy"8512 case 675: 8513 8514 /* Line 1806 of yacc.c */ 8515 #line 2506 "parser.yy" 8557 8516 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8558 8517 break; 8559 8518 8560 case 67 5:8561 8562 /* Line 1806 of yacc.c */ 8563 #line 250 7"parser.yy"8519 case 676: 8520 8521 /* Line 1806 of yacc.c */ 8522 #line 2508 "parser.yy" 8564 8523 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8565 8524 break; 8566 8525 8567 case 67 7:8568 8569 /* Line 1806 of yacc.c */ 8570 #line 251 3"parser.yy"8526 case 678: 8527 8528 /* Line 1806 of yacc.c */ 8529 #line 2514 "parser.yy" 8571 8530 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8572 8531 break; 8573 8532 8574 case 67 8:8575 8576 /* Line 1806 of yacc.c */ 8577 #line 251 5"parser.yy"8533 case 679: 8534 8535 /* Line 1806 of yacc.c */ 8536 #line 2516 "parser.yy" 8578 8537 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8579 8538 break; 8580 8539 8581 case 6 79:8582 8583 /* Line 1806 of yacc.c */ 8584 #line 251 7"parser.yy"8540 case 680: 8541 8542 /* Line 1806 of yacc.c */ 8543 #line 2518 "parser.yy" 8585 8544 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8586 8545 break; 8587 8546 8588 case 68 0:8589 8590 /* Line 1806 of yacc.c */ 8591 #line 252 2"parser.yy"8547 case 681: 8548 8549 /* Line 1806 of yacc.c */ 8550 #line 2523 "parser.yy" 8592 8551 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8593 8552 break; 8594 8553 8595 case 68 1:8596 8597 /* Line 1806 of yacc.c */ 8598 #line 252 4"parser.yy"8554 case 682: 8555 8556 /* Line 1806 of yacc.c */ 8557 #line 2525 "parser.yy" 8599 8558 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8600 8559 break; 8601 8560 8602 case 68 4:8603 8604 /* Line 1806 of yacc.c */ 8605 #line 253 4"parser.yy"8561 case 685: 8562 8563 /* Line 1806 of yacc.c */ 8564 #line 2535 "parser.yy" 8606 8565 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8607 8566 break; 8608 8567 8609 case 68 7:8610 8611 /* Line 1806 of yacc.c */ 8612 #line 254 4"parser.yy"8568 case 688: 8569 8570 /* Line 1806 of yacc.c */ 8571 #line 2545 "parser.yy" 8613 8572 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8614 8573 break; 8615 8574 8616 case 68 8:8617 8618 /* Line 1806 of yacc.c */ 8619 #line 254 6"parser.yy"8575 case 689: 8576 8577 /* Line 1806 of yacc.c */ 8578 #line 2547 "parser.yy" 8620 8579 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8621 8580 break; 8622 8581 8623 case 6 89:8624 8625 /* Line 1806 of yacc.c */ 8626 #line 254 8"parser.yy"8582 case 690: 8583 8584 /* Line 1806 of yacc.c */ 8585 #line 2549 "parser.yy" 8627 8586 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8628 8587 break; 8629 8588 8630 case 69 0:8631 8632 /* Line 1806 of yacc.c */ 8633 #line 255 0"parser.yy"8589 case 691: 8590 8591 /* Line 1806 of yacc.c */ 8592 #line 2551 "parser.yy" 8634 8593 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8635 8594 break; 8636 8595 8637 case 69 1:8638 8639 /* Line 1806 of yacc.c */ 8640 #line 255 2"parser.yy"8596 case 692: 8597 8598 /* Line 1806 of yacc.c */ 8599 #line 2553 "parser.yy" 8641 8600 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8642 8601 break; 8643 8602 8644 case 69 2:8645 8646 /* Line 1806 of yacc.c */ 8647 #line 255 4"parser.yy"8603 case 693: 8604 8605 /* Line 1806 of yacc.c */ 8606 #line 2555 "parser.yy" 8648 8607 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8649 8608 break; 8650 8609 8651 case 693:8652 8653 /* Line 1806 of yacc.c */8654 #line 2561 "parser.yy"8655 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8656 break;8657 8658 8610 case 694: 8659 8611 8660 8612 /* Line 1806 of yacc.c */ 8661 #line 2563 "parser.yy" 8613 #line 2562 "parser.yy" 8614 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8615 break; 8616 8617 case 695: 8618 8619 /* Line 1806 of yacc.c */ 8620 #line 2564 "parser.yy" 8662 8621 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8663 8622 break; 8664 8623 8665 case 695:8666 8667 /* Line 1806 of yacc.c */8668 #line 2565 "parser.yy"8669 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8670 break;8671 8672 8624 case 696: 8673 8625 8674 8626 /* Line 1806 of yacc.c */ 8675 #line 2567 "parser.yy" 8627 #line 2566 "parser.yy" 8628 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8629 break; 8630 8631 case 697: 8632 8633 /* Line 1806 of yacc.c */ 8634 #line 2568 "parser.yy" 8676 8635 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8677 8636 break; 8678 8637 8679 case 69 7:8680 8681 /* Line 1806 of yacc.c */ 8682 #line 25 69"parser.yy"8638 case 698: 8639 8640 /* Line 1806 of yacc.c */ 8641 #line 2570 "parser.yy" 8683 8642 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8684 8643 break; 8685 8644 8686 case 698:8687 8688 /* Line 1806 of yacc.c */8689 #line 2571 "parser.yy"8690 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8691 break;8692 8693 8645 case 699: 8694 8646 8695 8647 /* Line 1806 of yacc.c */ 8696 #line 2573 "parser.yy" 8648 #line 2572 "parser.yy" 8649 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8650 break; 8651 8652 case 700: 8653 8654 /* Line 1806 of yacc.c */ 8655 #line 2574 "parser.yy" 8697 8656 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8698 8657 break; 8699 8658 8700 case 700:8701 8702 /* Line 1806 of yacc.c */8703 #line 2575 "parser.yy"8704 { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8705 break;8706 8707 8659 case 701: 8708 8660 8709 8661 /* Line 1806 of yacc.c */ 8710 #line 2577 "parser.yy" 8662 #line 2576 "parser.yy" 8663 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8664 break; 8665 8666 case 702: 8667 8668 /* Line 1806 of yacc.c */ 8669 #line 2578 "parser.yy" 8711 8670 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8712 8671 break; 8713 8672 8714 case 70 2:8715 8716 /* Line 1806 of yacc.c */ 8717 #line 25 79"parser.yy"8673 case 703: 8674 8675 /* Line 1806 of yacc.c */ 8676 #line 2580 "parser.yy" 8718 8677 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8719 8678 break; 8720 8679 8721 case 70 3:8722 8723 /* Line 1806 of yacc.c */ 8724 #line 258 4"parser.yy"8680 case 704: 8681 8682 /* Line 1806 of yacc.c */ 8683 #line 2585 "parser.yy" 8725 8684 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8726 8685 break; 8727 8686 8728 case 70 4:8729 8730 /* Line 1806 of yacc.c */ 8731 #line 258 6"parser.yy"8687 case 705: 8688 8689 /* Line 1806 of yacc.c */ 8690 #line 2587 "parser.yy" 8732 8691 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8733 8692 break; 8734 8693 8735 case 70 5:8736 8737 /* Line 1806 of yacc.c */ 8738 #line 259 1"parser.yy"8694 case 706: 8695 8696 /* Line 1806 of yacc.c */ 8697 #line 2592 "parser.yy" 8739 8698 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 8740 8699 break; 8741 8700 8742 case 70 6:8743 8744 /* Line 1806 of yacc.c */ 8745 #line 259 3"parser.yy"8701 case 707: 8702 8703 /* Line 1806 of yacc.c */ 8704 #line 2594 "parser.yy" 8746 8705 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 8747 8706 break; 8748 8707 8749 case 70 8:8750 8751 /* Line 1806 of yacc.c */ 8752 #line 262 0"parser.yy"8708 case 709: 8709 8710 /* Line 1806 of yacc.c */ 8711 #line 2621 "parser.yy" 8753 8712 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8754 8713 break; 8755 8714 8756 case 71 2:8757 8758 /* Line 1806 of yacc.c */ 8759 #line 263 1"parser.yy"8715 case 713: 8716 8717 /* Line 1806 of yacc.c */ 8718 #line 2632 "parser.yy" 8760 8719 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8761 8720 break; 8762 8721 8763 case 71 3:8764 8765 /* Line 1806 of yacc.c */ 8766 #line 263 3"parser.yy"8722 case 714: 8723 8724 /* Line 1806 of yacc.c */ 8725 #line 2634 "parser.yy" 8767 8726 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8768 8727 break; 8769 8728 8770 case 71 4:8771 8772 /* Line 1806 of yacc.c */ 8773 #line 263 5"parser.yy"8729 case 715: 8730 8731 /* Line 1806 of yacc.c */ 8732 #line 2636 "parser.yy" 8774 8733 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8775 8734 break; 8776 8735 8777 case 71 5:8778 8779 /* Line 1806 of yacc.c */ 8780 #line 263 7"parser.yy"8736 case 716: 8737 8738 /* Line 1806 of yacc.c */ 8739 #line 2638 "parser.yy" 8781 8740 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8782 8741 break; 8783 8742 8784 case 71 6:8785 8786 /* Line 1806 of yacc.c */ 8787 #line 26 39"parser.yy"8743 case 717: 8744 8745 /* Line 1806 of yacc.c */ 8746 #line 2640 "parser.yy" 8788 8747 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8789 8748 break; 8790 8749 8791 case 71 7:8792 8793 /* Line 1806 of yacc.c */ 8794 #line 264 1"parser.yy"8750 case 718: 8751 8752 /* Line 1806 of yacc.c */ 8753 #line 2642 "parser.yy" 8795 8754 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8796 8755 break; 8797 8756 8798 case 718:8799 8800 /* Line 1806 of yacc.c */8801 #line 2648 "parser.yy"8802 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8803 break;8804 8805 8757 case 719: 8806 8758 8807 8759 /* Line 1806 of yacc.c */ 8808 #line 26 50"parser.yy"8809 { (yyval.decl) = (yyvsp[( 6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl))->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8760 #line 2649 "parser.yy" 8761 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8810 8762 break; 8811 8763 … … 8813 8765 8814 8766 /* Line 1806 of yacc.c */ 8815 #line 2652 "parser.yy" 8767 #line 2651 "parser.yy" 8768 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8769 break; 8770 8771 case 721: 8772 8773 /* Line 1806 of yacc.c */ 8774 #line 2653 "parser.yy" 8816 8775 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8817 8776 break; 8818 8777 8819 case 721:8820 8821 /* Line 1806 of yacc.c */8822 #line 2654 "parser.yy"8823 { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8824 break;8825 8826 8778 case 722: 8827 8779 8828 8780 /* Line 1806 of yacc.c */ 8829 #line 265 6"parser.yy"8830 { (yyval.decl) = (yyvsp[( 6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl))->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8781 #line 2655 "parser.yy" 8782 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8831 8783 break; 8832 8784 … … 8834 8786 8835 8787 /* Line 1806 of yacc.c */ 8836 #line 2658 "parser.yy" 8788 #line 2657 "parser.yy" 8789 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8790 break; 8791 8792 case 724: 8793 8794 /* Line 1806 of yacc.c */ 8795 #line 2659 "parser.yy" 8837 8796 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8838 8797 break; 8839 8798 8840 case 72 4:8841 8842 /* Line 1806 of yacc.c */ 8843 #line 266 3"parser.yy"8799 case 725: 8800 8801 /* Line 1806 of yacc.c */ 8802 #line 2664 "parser.yy" 8844 8803 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 8845 8804 break; 8846 8805 8847 case 725:8848 8849 /* Line 1806 of yacc.c */8850 #line 2668 "parser.yy"8851 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (7)].decl), 0 ); }8852 break;8853 8854 8806 case 726: 8855 8807 8856 8808 /* Line 1806 of yacc.c */ 8857 #line 2670 "parser.yy" 8809 #line 2669 "parser.yy" 8810 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); } 8811 break; 8812 8813 case 727: 8814 8815 /* Line 1806 of yacc.c */ 8816 #line 2671 "parser.yy" 8858 8817 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 8859 8818 break; 8860 8819 8861 case 72 7:8862 8863 /* Line 1806 of yacc.c */ 8864 #line 267 2"parser.yy"8820 case 728: 8821 8822 /* Line 1806 of yacc.c */ 8823 #line 2673 "parser.yy" 8865 8824 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 8866 8825 break; 8867 8826 8868 case 73 0:8869 8870 /* Line 1806 of yacc.c */ 8871 #line 269 6"parser.yy"8827 case 731: 8828 8829 /* Line 1806 of yacc.c */ 8830 #line 2697 "parser.yy" 8872 8831 { (yyval.en) = 0; } 8873 8832 break; 8874 8833 8875 case 73 1:8876 8877 /* Line 1806 of yacc.c */ 8878 #line 269 8"parser.yy"8834 case 732: 8835 8836 /* Line 1806 of yacc.c */ 8837 #line 2699 "parser.yy" 8879 8838 { (yyval.en) = (yyvsp[(2) - (2)].en); } 8880 8839 break; … … 8883 8842 8884 8843 /* Line 1806 of yacc.c */ 8885 #line 88 86"Parser/parser.cc"8844 #line 8845 "Parser/parser.cc" 8886 8845 default: break; 8887 8846 } … … 9114 9073 9115 9074 /* Line 2067 of yacc.c */ 9116 #line 270 1"parser.yy"9075 #line 2702 "parser.yy" 9117 9076 9118 9077 // ----end of grammar---- -
src/Parser/parser.yy
r0df292b r2871210 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Jun 25 22:36:33201513 // Update Count : 1 12012 // Last Modified On : Fri Jul 3 13:53:45 2015 13 // Update Count : 1220 14 14 // 15 15 … … 118 118 119 119 %type<tok> zero_one identifier no_attr_identifier no_01_identifier 120 %type<tok> identifier_or_type def_name no_attr_identifier_or_typedef_name no_01_identifier_or_typedef_name120 %type<tok> identifier_or_type_name no_attr_identifier_or_type_name no_01_identifier_or_type_name 121 121 %type<constant> string_literal_list 122 122 … … 204 204 %type<decl> parameter_type_list_opt 205 205 206 %type<decl> paren_identifier paren_type def206 %type<decl> paren_identifier paren_type 207 207 208 208 %type<decl> storage_class storage_class_name storage_class_list … … 213 213 %type<decl> type_declarator type_declarator_name type_declaring_list 214 214 215 %type<decl> typedef type def_array typedef_declaration typedef_declaration_specifier typedef_expression216 %type<decl> type def_function typedef_parameter_array typedef_parameter_function typedef_parameter_ptr217 %type<decl> type def_parameter_redeclarator typedef_ptr typedef_redeclarator typedef_type_specifier218 %type<decl> typegen_declaration_specifier typegen_type_specifier 215 %type<decl> typedef type_array typedef_declaration typedef_declaration_specifier typedef_expression 216 %type<decl> type_function type_parameter_array type_parameter_function type_parameter_ptr 217 %type<decl> type_parameter_redeclarator type_ptr type_redeclarator typedef_type_specifier 218 %type<decl> typegen_declaration_specifier typegen_type_specifier typegen_name 219 219 220 220 %type<decl> type_name type_name_no_function … … 376 376 | no_attr_identifier ':' assignment_expression 377 377 { $$ = $3->set_asArgName( $1 ); } 378 // Only a list of no_attr_identifier_or_type def_name is allowed in this context. However, there is insufficient378 // Only a list of no_attr_identifier_or_type_name is allowed in this context. However, there is insufficient 379 379 // look ahead to distinguish between this list of parameter names and a tuple, so the tuple form must be used 380 380 // with an appropriate semantic check. … … 564 564 // CFA, one assignment_expression is factored out of comma_expression to eliminate a shift/reduce conflict with 565 565 // comma_expression in new_identifier_parameter_array and new_abstract_array 566 '[' push pop']'566 '[' ']' 567 567 { $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); } 568 568 | '[' push assignment_expression pop ']' … … 924 924 925 925 label_list: // GCC, local label 926 no_attr_identifier_or_type def_name {}927 | label_list ',' no_attr_identifier_or_type def_name {}926 no_attr_identifier_or_type_name {} 927 | label_list ',' no_attr_identifier_or_type_name {} 928 928 ; 929 929 … … 965 965 $$ = $2->addQualifiers( $1 ); 966 966 } 967 | new_variable_declaration pop ',' push identifier_or_type def_name initializer_opt967 | new_variable_declaration pop ',' push identifier_or_type_name initializer_opt 968 968 { 969 969 typedefTable.addToEnclosingScope( *$5, TypedefTable::ID ); … … 975 975 // A semantic check is required to ensure asm_name only appears on declarations with implicit or explicit static 976 976 // storage-class 977 new_abstract_declarator_no_tuple identifier_or_type def_name asm_name_opt977 new_abstract_declarator_no_tuple identifier_or_type_name asm_name_opt 978 978 { 979 979 typedefTable.setNextIdentifier( *$2 ); 980 980 $$ = $1->addName( $2 ); 981 981 } 982 | new_abstract_tuple identifier_or_type def_name asm_name_opt982 | new_abstract_tuple identifier_or_type_name asm_name_opt 983 983 { 984 984 typedefTable.setNextIdentifier( *$2 ); 985 985 $$ = $1->addName( $2 ); 986 986 } 987 | type_qualifier_list new_abstract_tuple identifier_or_type def_name asm_name_opt987 | type_qualifier_list new_abstract_tuple identifier_or_type_name asm_name_opt 988 988 { 989 989 typedefTable.setNextIdentifier( *$3 ); … … 1013 1013 $$ = $3->addQualifiers( $1 )->addQualifiers( $2 ); 1014 1014 } 1015 | new_function_declaration pop ',' push identifier_or_type def_name1015 | new_function_declaration pop ',' push identifier_or_type_name 1016 1016 { 1017 1017 typedefTable.addToEnclosingScope( *$5, TypedefTable::ID ); … … 1021 1021 1022 1022 new_function_specifier: // CFA 1023 '[' push pop ']' identifier '(' push new_parameter_type_list_opt pop ')' 1024 { 1025 typedefTable.setNextIdentifier( *( $5 ) ); 1026 $$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true ); 1027 } 1028 | '[' push pop ']' TYPEDEFname '(' push new_parameter_type_list_opt pop ')' 1029 { 1030 typedefTable.setNextIdentifier( *( $5 ) ); 1031 $$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true ); 1032 } 1033 // identifier_or_typedef_name must be broken apart because of the sequence: 1023 '[' ']' identifier_or_type_name '(' push new_parameter_type_list_opt pop ')' // S/R conflict 1024 { 1025 $$ = DeclarationNode::newFunction( $3, DeclarationNode::newTuple( 0 ), $6, 0, true ); 1026 } 1027 // '[' ']' identifier '(' push new_parameter_type_list_opt pop ')' 1028 // { 1029 // typedefTable.setNextIdentifier( *$5 ); 1030 // $$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true ); 1031 // } 1032 // | '[' ']' TYPEDEFname '(' push new_parameter_type_list_opt pop ')' 1033 // { 1034 // typedefTable.setNextIdentifier( *$5 ); 1035 // $$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true ); 1036 // } 1037 // | '[' ']' typegen_name 1038 // identifier_or_type_name must be broken apart because of the sequence: 1034 1039 // 1035 // '[' ']' identifier_or_type def_name '(' new_parameter_type_list_opt ')'1040 // '[' ']' identifier_or_type_name '(' new_parameter_type_list_opt ')' 1036 1041 // '[' ']' type_specifier 1037 1042 // 1038 // type_specifier can resolve to just TYPEDEFname (e.g. typedef int T; int f( T );). Therefore this must be1039 // flattened to allow lookahead to the '(' without having to reduce identifier_or_type def_name.1040 | new_abstract_tuple identifier_or_type def_name '(' push new_parameter_type_list_opt pop ')'1043 // type_specifier can resolve to just TYPEDEFname (e.g., typedef int T; int f( T );). Therefore this must be 1044 // flattened to allow lookahead to the '(' without having to reduce identifier_or_type_name. 1045 | new_abstract_tuple identifier_or_type_name '(' push new_parameter_type_list_opt pop ')' 1041 1046 // To obtain LR(1 ), this rule must be factored out from function return type (see new_abstract_declarator). 1042 1047 { 1043 1048 $$ = DeclarationNode::newFunction( $2, $1, $5, 0, true ); 1044 1049 } 1045 | new_function_return identifier_or_type def_name '(' push new_parameter_type_list_opt pop ')'1050 | new_function_return identifier_or_type_name '(' push new_parameter_type_list_opt pop ')' 1046 1051 { 1047 1052 $$ = DeclarationNode::newFunction( $2, $1, $5, 0, true ); … … 1357 1362 aggregate_key '{' field_declaration_list '}' 1358 1363 { $$ = DeclarationNode::newAggregate( $1, 0, 0, $3 ); } 1359 | aggregate_key no_attr_identifier_or_type def_name1364 | aggregate_key no_attr_identifier_or_type_name 1360 1365 { $$ = DeclarationNode::newAggregate( $1, $2, 0, 0 ); } 1361 | aggregate_key no_attr_identifier_or_type def_name '{' field_declaration_list '}'1366 | aggregate_key no_attr_identifier_or_type_name '{' field_declaration_list '}' 1362 1367 { $$ = DeclarationNode::newAggregate( $1, $2, 0, $4 ); } 1363 // | aggregate_key '(' push type_parameter_list pop ')' '{' field_declaration_list '}' // CFA1364 // { $$ = DeclarationNode::newAggregate( $1, 0, $4, 0, $8 ); }1365 // | aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name // CFA1366 // { $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, 0 ); }1367 // | aggregate_key '(' push type_parameter_list pop ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA1368 // { $$ = DeclarationNode::newAggregate( $1, $7, $4, 0, $9 ); }1369 // | aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' '{' field_declaration_list '}' // CFA1370 // { $$ = DeclarationNode::newAggregate( $1, 0, $4, $8, $11 ); }1371 1368 | aggregate_key '(' type_name_list ')' '{' field_declaration_list '}' // CFA 1372 1369 { $$ = DeclarationNode::newAggregate( $1, 0, $3, $6 ); } 1373 | aggregate_key '(' type_name_list ')' no_attr_identifier_or_typedef_name // CFA 1374 { $$ = DeclarationNode::newAggregate( $1, $5, $3, 0 ); } 1375 // | aggregate_key '(' push type_parameter_list pop ')' '(' type_name_list ')' no_attr_identifier_or_typedef_name '{' field_declaration_list '}' // CFA 1376 // { $$ = DeclarationNode::newAggregate( $1, $10, $4, $8, $12 ); } 1370 | aggregate_key typegen_name // CFA, S/R conflict 1371 { $$ = $2; } 1377 1372 ; 1378 1373 … … 1402 1397 new_field_declaring_list: // CFA, new style field declaration 1403 1398 new_abstract_declarator_tuple // CFA, no field name 1404 | new_abstract_declarator_tuple no_attr_identifier_or_type def_name1399 | new_abstract_declarator_tuple no_attr_identifier_or_type_name 1405 1400 { $$ = $1->addName( $2 ); } 1406 | new_field_declaring_list ',' no_attr_identifier_or_type def_name1401 | new_field_declaring_list ',' no_attr_identifier_or_type_name 1407 1402 { $$ = $1->appendList( $1->cloneType( $3 ) ); } 1408 1403 | new_field_declaring_list ',' // CFA, no field name … … 1425 1420 // A semantic check is required to ensure bit_subrange only appears on base type int. 1426 1421 { $$ = $1->addBitfield( $2 ); } 1427 | type def_redeclarator bit_subrange_size_opt1422 | type_redeclarator bit_subrange_size_opt 1428 1423 // A semantic check is required to ensure bit_subrange only appears on base type int. 1429 1424 { $$ = $1->addBitfield( $2 ); } … … 1450 1445 enum_key '{' enumerator_list comma_opt '}' 1451 1446 { $$ = DeclarationNode::newEnum( 0, $3 ); } 1452 | enum_key no_attr_identifier_or_type def_name '{' enumerator_list comma_opt '}'1447 | enum_key no_attr_identifier_or_type_name '{' enumerator_list comma_opt '}' 1453 1448 { $$ = DeclarationNode::newEnum( $2, $4 ); } 1454 | enum_key no_attr_identifier_or_type def_name1449 | enum_key no_attr_identifier_or_type_name 1455 1450 { $$ = DeclarationNode::newEnum( $2, 0 ); } 1456 1451 ; 1457 1452 1458 1453 enumerator_list: 1459 no_attr_identifier_or_type def_name enumerator_value_opt1454 no_attr_identifier_or_type_name enumerator_value_opt 1460 1455 { $$ = DeclarationNode::newEnumConstant( $1, $2 ); } 1461 | enumerator_list ',' no_attr_identifier_or_type def_name enumerator_value_opt1456 | enumerator_list ',' no_attr_identifier_or_type_name enumerator_value_opt 1462 1457 { $$ = $1->appendList( DeclarationNode::newEnumConstant( $3, $4 ) ); } 1463 1458 ; … … 1529 1524 1530 1525 // Provides optional identifier names (abstract_declarator/variable_declarator), no initialization, different semantics 1531 // for typedef name by using type def_parameter_redeclarator instead of typedef_redeclarator, and function prototypes.1526 // for typedef name by using type_parameter_redeclarator instead of typedef_redeclarator, and function prototypes. 1532 1527 1533 1528 new_parameter_declaration: // CFA, new & old style parameter declaration 1534 1529 parameter_declaration 1535 | new_identifier_parameter_declarator_no_tuple identifier_or_type def_name assignment_opt1530 | new_identifier_parameter_declarator_no_tuple identifier_or_type_name assignment_opt 1536 1531 { $$ = $1->addName( $2 ); } 1537 | new_abstract_tuple identifier_or_type def_name assignment_opt1532 | new_abstract_tuple identifier_or_type_name assignment_opt 1538 1533 // To obtain LR(1), these rules must be duplicated here (see new_abstract_declarator). 1539 1534 { $$ = $1->addName( $2 ); } 1540 | type_qualifier_list new_abstract_tuple identifier_or_type def_name assignment_opt1535 | type_qualifier_list new_abstract_tuple identifier_or_type_name assignment_opt 1541 1536 { $$ = $2->addName( $3 )->addQualifiers( $1 ); } 1542 1537 | new_function_specifier … … 1559 1554 $$ = $2->addType( $1 )->addInitializer( new InitializerNode( $3 ) ); 1560 1555 } 1561 | declaration_specifier type def_parameter_redeclarator assignment_opt1556 | declaration_specifier type_parameter_redeclarator assignment_opt 1562 1557 { 1563 1558 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 1583 1578 ; 1584 1579 1585 identifier_or_type def_name:1580 identifier_or_type_name: 1586 1581 identifier 1587 1582 | TYPEDEFname … … 1589 1584 ; 1590 1585 1591 no_01_identifier_or_type def_name:1586 no_01_identifier_or_type_name: 1592 1587 no_01_identifier 1593 1588 | TYPEDEFname … … 1595 1590 ; 1596 1591 1597 no_attr_identifier_or_type def_name:1592 no_attr_identifier_or_type_name: 1598 1593 no_attr_identifier 1599 1594 | TYPEDEFname … … 1619 1614 // empty 1620 1615 { $$ = 0; } 1621 | '=' initializer { $$ = $2; } 1616 | '=' initializer 1617 { $$ = $2; } 1622 1618 ; 1623 1619 … … 1647 1643 designation: 1648 1644 designator_list ':' // C99, CFA uses ":" instead of "=" 1649 | no_attr_identifier_or_type def_name ':'// GCC, field name1650 1645 | no_attr_identifier_or_type_name ':' // GCC, field name 1646 { $$ = new VarRefNode( $1 ); } 1651 1647 ; 1652 1648 1653 1649 designator_list: // C99 1654 1650 designator 1655 | designator_list designator { $$ = (ExpressionNode *)( $1->set_link( $2 )); } 1651 | designator_list designator 1652 { $$ = (ExpressionNode *)( $1->set_link( $2 )); } 1656 1653 //| designator_list designator { $$ = new CompositeExprNode( $1, $2 ); } 1657 1654 ; 1658 1655 1659 1656 designator: 1660 '.' no_attr_identifier_or_type def_name// C99, field name1657 '.' no_attr_identifier_or_type_name // C99, field name 1661 1658 { $$ = new VarRefNode( $2 ); } 1662 1659 | '[' push assignment_expression pop ']' // C99, single array element … … 1700 1697 1701 1698 typegen_type_specifier: // CFA 1699 typegen_name 1700 | type_qualifier_list typegen_name 1701 { $$ = $2->addQualifiers( $1 ); } 1702 | typegen_type_specifier type_qualifier 1703 { $$ = $1->addQualifiers( $2 ); } 1704 ; 1705 1706 typegen_name: // CFA 1702 1707 TYPEGENname '(' type_name_list ')' 1703 1708 { $$ = DeclarationNode::newFromTypeGen( $1, $3 ); } 1704 | type_qualifier_list TYPEGENname '(' type_name_list ')'1705 { $$ = DeclarationNode::newFromTypeGen( $2, $4 )->addQualifiers( $1 ); }1706 | typegen_type_specifier type_qualifier1707 { $$ = $1->addQualifiers( $2 ); }1708 1709 ; 1709 1710 … … 1715 1716 1716 1717 type_parameter: // CFA 1717 type_class no_attr_identifier_or_type def_name1718 { typedefTable.addToEnclosingScope( *( $2 ), TypedefTable::TD ); }1718 type_class no_attr_identifier_or_type_name 1719 { typedefTable.addToEnclosingScope( *$2, TypedefTable::TD ); } 1719 1720 assertion_list_opt 1720 1721 { $$ = DeclarationNode::newTypeParam( $1, $2 )->addAssertions( $4 ); } … … 1739 1740 1740 1741 assertion: // CFA 1741 '|' no_attr_identifier_or_type def_name '(' type_name_list ')'1742 { 1743 typedefTable.openContext( * ( $2 ));1742 '|' no_attr_identifier_or_type_name '(' type_name_list ')' 1743 { 1744 typedefTable.openContext( *$2 ); 1744 1745 $$ = DeclarationNode::newContextUse( $2, $4 ); 1745 1746 } … … 1777 1778 1778 1779 type_declarator_name: // CFA 1779 no_attr_identifier_or_type def_name1780 no_attr_identifier_or_type_name 1780 1781 { 1781 1782 typedefTable.addToEnclosingScope( *$1, TypedefTable::TD ); 1782 1783 $$ = DeclarationNode::newTypeDecl( $1, 0 ); 1783 1784 } 1784 | no_01_identifier_or_type def_name '(' push type_parameter_list pop ')'1785 | no_01_identifier_or_type_name '(' push type_parameter_list pop ')' 1785 1786 { 1786 1787 typedefTable.addToEnclosingScope( *$1, TypedefTable::TG ); … … 1790 1791 1791 1792 context_specifier: // CFA 1792 CONTEXT no_attr_identifier_or_type def_name '(' push type_parameter_list pop ')' '{' '}'1793 CONTEXT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{' '}' 1793 1794 { 1794 1795 typedefTable.addToEnclosingScope( *$2, TypedefTable::ID ); 1795 1796 $$ = DeclarationNode::newContext( $2, $5, 0 ); 1796 1797 } 1797 | CONTEXT no_attr_identifier_or_type def_name '(' push type_parameter_list pop ')' '{'1798 | CONTEXT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{' 1798 1799 { 1799 1800 typedefTable.enterContext( *$2 ); … … 1830 1831 $$ = $1; 1831 1832 } 1832 | new_context_declaring_list pop ',' push identifier_or_type def_name1833 | new_context_declaring_list pop ',' push identifier_or_type_name 1833 1834 { 1834 1835 typedefTable.addToEnclosingScope2( *$5, TypedefTable::ID ); … … 1899 1900 external_function_definition: 1900 1901 function_definition 1901 1902 1902 // These rules are a concession to the "implicit int" type_specifier because there is a significant amount of 1903 1903 // code with functions missing a type-specifier on the return type. Parsing is possible because … … 1982 1982 variable_declarator 1983 1983 | function_declarator 1984 | type def_redeclarator1984 | type_redeclarator 1985 1985 ; 1986 1986 … … 2021 2021 2022 2022 any_word: // GCC 2023 identifier_or_type def_name {}2023 identifier_or_type_name {} 2024 2024 | storage_class_name {} 2025 2025 | basic_type_name {} … … 2103 2103 // This pattern parses a function declarator that is not redefining a typedef name. Because functions cannot be nested, 2104 2104 // there is no context where a function definition can redefine a typedef name. To allow nested functions requires 2105 // further separation of variable and function declarators in type def_redeclarator. The pattern precludes returning2105 // further separation of variable and function declarators in type_redeclarator. The pattern precludes returning 2106 2106 // arrays and functions versus pointers to arrays and functions. 2107 2107 … … 2176 2176 ; 2177 2177 2178 // This pattern parses a declaration for a variable or function prototype that redefines a type defname, e.g.:2178 // This pattern parses a declaration for a variable or function prototype that redefines a type name, e.g.: 2179 2179 // 2180 2180 // typedef int foo; … … 2186 2186 // and functions versus pointers to arrays and functions. 2187 2187 2188 typedef_redeclarator: 2189 paren_typedef attribute_list_opt 2190 | typedef_ptr 2191 | typedef_array attribute_list_opt 2192 | typedef_function attribute_list_opt 2193 ; 2194 2195 paren_typedef: 2196 TYPEDEFname 2197 { 2198 typedefTable.setNextIdentifier( *( $1 ) ); 2199 $$ = DeclarationNode::newName( $1 ); 2200 } 2201 | '(' paren_typedef ')' 2202 { $$ = $2; } 2203 ; 2204 2205 typedef_ptr: 2206 '*' typedef_redeclarator 2188 type_redeclarator: 2189 paren_type attribute_list_opt 2190 | type_ptr 2191 | type_array attribute_list_opt 2192 | type_function attribute_list_opt 2193 ; 2194 2195 paren_type: 2196 typedef 2197 | '(' paren_type ')' 2198 { $$ = $2; } 2199 ; 2200 2201 type_ptr: 2202 '*' type_redeclarator 2207 2203 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); } 2208 | '*' type_qualifier_list type def_redeclarator2204 | '*' type_qualifier_list type_redeclarator 2209 2205 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); } 2210 | '(' type def_ptr ')'2211 { $$ = $2; } 2212 ; 2213 2214 type def_array:2215 paren_type defarray_dimension2206 | '(' type_ptr ')' 2207 { $$ = $2; } 2208 ; 2209 2210 type_array: 2211 paren_type array_dimension 2216 2212 { $$ = $1->addArray( $2 ); } 2217 | '(' type def_ptr ')' array_dimension2213 | '(' type_ptr ')' array_dimension 2218 2214 { $$ = $2->addArray( $4 ); } 2219 | '(' type def_array ')' multi_array_dimension// redundant parenthesis2215 | '(' type_array ')' multi_array_dimension // redundant parenthesis 2220 2216 { $$ = $2->addArray( $4 ); } 2221 | '(' type def_array ')' // redundant parenthesis2222 { $$ = $2; } 2223 ; 2224 2225 type def_function:2226 paren_type def'(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)2217 | '(' type_array ')' // redundant parenthesis 2218 { $$ = $2; } 2219 ; 2220 2221 type_function: 2222 paren_type '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3) 2227 2223 { $$ = $1->addParamList( $4 ); } 2228 | '(' type def_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)2224 | '(' type_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3) 2229 2225 { $$ = $2->addParamList( $6 ); } 2230 | '(' type def_function ')'// redundant parenthesis2226 | '(' type_function ')' // redundant parenthesis 2231 2227 { $$ = $2; } 2232 2228 ; … … 2299 2295 // functions. 2300 2296 2301 type def_parameter_redeclarator:2297 type_parameter_redeclarator: 2302 2298 typedef attribute_list_opt 2303 | type def_parameter_ptr2304 | type def_parameter_array attribute_list_opt2305 | type def_parameter_function attribute_list_opt2299 | type_parameter_ptr 2300 | type_parameter_array attribute_list_opt 2301 | type_parameter_function attribute_list_opt 2306 2302 ; 2307 2303 … … 2312 2308 $$ = DeclarationNode::newName( $1 ); 2313 2309 } 2314 ; 2315 2316 typedef_parameter_ptr: 2317 '*' typedef_parameter_redeclarator 2310 | TYPEGENname 2311 { 2312 typedefTable.setNextIdentifier( *$1 ); 2313 $$ = DeclarationNode::newName( $1 ); 2314 } 2315 ; 2316 2317 type_parameter_ptr: 2318 '*' type_parameter_redeclarator 2318 2319 { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); } 2319 | '*' type_qualifier_list type def_parameter_redeclarator2320 | '*' type_qualifier_list type_parameter_redeclarator 2320 2321 { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); } 2321 | '(' type def_parameter_ptr ')'2322 { $$ = $2; } 2323 ; 2324 2325 type def_parameter_array:2322 | '(' type_parameter_ptr ')' 2323 { $$ = $2; } 2324 ; 2325 2326 type_parameter_array: 2326 2327 typedef array_parameter_dimension 2327 2328 { $$ = $1->addArray( $2 ); } 2328 | '(' type def_parameter_ptr ')' array_parameter_dimension2329 | '(' type_parameter_ptr ')' array_parameter_dimension 2329 2330 { $$ = $2->addArray( $4 ); } 2330 2331 ; 2331 2332 2332 type def_parameter_function:2333 type_parameter_function: 2333 2334 typedef '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3) 2334 2335 { $$ = $1->addParamList( $4 ); } 2335 | '(' type def_parameter_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3)2336 | '(' type_parameter_ptr ')' '(' push parameter_type_list_opt pop ')' // empty parameter list OBSOLESCENT (see 3) 2336 2337 { $$ = $2->addParamList( $6 ); } 2337 2338 ; … … 2386 2387 array_dimension: 2387 2388 // Only the first dimension can be empty. 2388 '[' push pop']'2389 '[' ']' 2389 2390 { $$ = DeclarationNode::newArray( 0, 0, false ); } 2390 | '[' push pop']' multi_array_dimension2391 { $$ = DeclarationNode::newArray( 0, 0, false )->addArray( $ 5); }2391 | '[' ']' multi_array_dimension 2392 { $$ = DeclarationNode::newArray( 0, 0, false )->addArray( $3 ); } 2392 2393 | multi_array_dimension 2393 2394 ; … … 2465 2466 2466 2467 array_parameter_1st_dimension: 2467 '[' push pop']'2468 '[' ']' 2468 2469 { $$ = DeclarationNode::newArray( 0, 0, false ); } 2469 2470 // multi_array_dimension handles the '[' '*' ']' case … … 2558 2559 // Only the first dimension can be empty or have qualifiers. Empty dimension must be factored out due to 2559 2560 // shift/reduce conflict with new-style empty (void) function return type. 2560 '[' push pop']' type_specifier2561 { $$ = $ 5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2561 '[' ']' type_specifier 2562 { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2562 2563 | new_array_parameter_1st_dimension type_specifier 2563 2564 { $$ = $2->addNewArray( $1 ); } 2564 | '[' push pop']' multi_array_dimension type_specifier2565 { $$ = $ 6->addNewArray( $5)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2565 | '[' ']' multi_array_dimension type_specifier 2566 { $$ = $4->addNewArray( $3 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2566 2567 | new_array_parameter_1st_dimension multi_array_dimension type_specifier 2567 2568 { $$ = $3->addNewArray( $2 )->addNewArray( $1 ); } 2568 2569 | multi_array_dimension type_specifier 2569 2570 { $$ = $2->addNewArray( $1 ); } 2570 | '[' push pop']' new_identifier_parameter_ptr2571 { $$ = $ 5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2571 | '[' ']' new_identifier_parameter_ptr 2572 { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2572 2573 | new_array_parameter_1st_dimension new_identifier_parameter_ptr 2573 2574 { $$ = $2->addNewArray( $1 ); } 2574 | '[' push pop']' multi_array_dimension new_identifier_parameter_ptr2575 { $$ = $ 6->addNewArray( $5)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2575 | '[' ']' multi_array_dimension new_identifier_parameter_ptr 2576 { $$ = $4->addNewArray( $3 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2576 2577 | new_array_parameter_1st_dimension multi_array_dimension new_identifier_parameter_ptr 2577 2578 { $$ = $3->addNewArray( $2 )->addNewArray( $1 ); } … … 2602 2603 // These rules need LR(3): 2603 2604 // 2604 // new_abstract_tuple identifier_or_type def_name2605 // '[' new_parameter_list ']' identifier_or_type def_name '(' new_parameter_type_list_opt ')'2605 // new_abstract_tuple identifier_or_type_name 2606 // '[' new_parameter_list ']' identifier_or_type_name '(' new_parameter_type_list_opt ')' 2606 2607 // 2607 2608 // since a function return type can be syntactically identical to a tuple type: … … 2610 2611 // [int, int] f( int ); 2611 2612 // 2612 // Therefore, it is necessary to look at the token after identifier_or_type def_name to know when to reduce2613 // Therefore, it is necessary to look at the token after identifier_or_type_name to know when to reduce 2613 2614 // new_abstract_tuple. To make this LR(1), several rules have to be flattened (lengthened) to allow the necessary 2614 2615 // lookahead. To accomplish this, new_abstract_declarator has an entry point without tuple, and tuple declarations are … … 2645 2646 // Only the first dimension can be empty. Empty dimension must be factored out due to shift/reduce conflict with 2646 2647 // empty (void) function return type. 2647 '[' push pop']' type_specifier2648 { $$ = $ 5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2649 | '[' push pop']' multi_array_dimension type_specifier2650 { $$ = $ 6->addNewArray( $5)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2648 '[' ']' type_specifier 2649 { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2650 | '[' ']' multi_array_dimension type_specifier 2651 { $$ = $4->addNewArray( $3 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2651 2652 | multi_array_dimension type_specifier 2652 2653 { $$ = $2->addNewArray( $1 ); } 2653 | '[' push pop']' new_abstract_ptr2654 { $$ = $ 5->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2655 | '[' push pop']' multi_array_dimension new_abstract_ptr2656 { $$ = $ 6->addNewArray( $5)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }2654 | '[' ']' new_abstract_ptr 2655 { $$ = $3->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2656 | '[' ']' multi_array_dimension new_abstract_ptr 2657 { $$ = $4->addNewArray( $3 )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 2657 2658 | multi_array_dimension new_abstract_ptr 2658 2659 { $$ = $2->addNewArray( $1 ); } … … 2665 2666 2666 2667 new_abstract_function: // CFA 2667 '[' push pop']' '(' new_parameter_type_list_opt ')'2668 { $$ = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), $ 6, 0 ); }2668 '[' ']' '(' new_parameter_type_list_opt ')' 2669 { $$ = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), $4, 0 ); } 2669 2670 | new_abstract_tuple '(' push new_parameter_type_list_opt pop ')' 2670 2671 { $$ = DeclarationNode::newFunction( 0, $1, $4, 0 ); } -
src/ResolvExpr/AlternativeFinder.cc
r0df292b r2871210 10 10 // Created On : Sat May 16 23:52:08 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 22 17:19:54201513 // Update Count : 1712 // Last Modified On : Fri Jul 3 17:58:39 2015 13 // Update Count : 22 14 14 // 15 15 … … 543 543 544 544 AlternativeFinder funcFinder( indexer, env ); { 545 NameExpr *fname ;545 NameExpr *fname = 0;; 546 546 if ( ( fname = dynamic_cast<NameExpr *>( untypedExpr->get_function())) 547 547 && ( fname->get_name() == std::string("&&")) ) { 548 alternatives.push_back( Alternative( untypedExpr->clone(), env, Cost()) ); 548 VoidType v = Type::Qualifiers(); // resolve to type void * 549 PointerType pt( Type::Qualifiers(), v.clone() ); 550 UntypedExpr *vexpr = untypedExpr->clone(); 551 vexpr->get_results().push_front( pt.clone() ); 552 alternatives.push_back( Alternative( vexpr, env, Cost()) ); 549 553 return; 550 554 } -
src/ResolvExpr/Resolver.cc
r0df292b r2871210 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 12:17:01 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Wed Jun 24 16:20:35201513 // Update Count : 15 611 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 3 16:18:20 2015 13 // Update Count : 159 14 14 // 15 15 … … 274 274 // must resolve the argument for a computed goto 275 275 if ( branchStmt->get_type() == BranchStmt::Goto ) { // check for computed goto statement 276 if ( NameExpr * arg = dynamic_cast< NameExpr * >( branchStmt->get_computedTarget()) ) {276 if ( Expression * arg = branchStmt->get_computedTarget() ) { 277 277 VoidType v = Type::Qualifiers(); // cast to void * for the alternative finder 278 278 PointerType pt( Type::Qualifiers(), v.clone() ); -
src/SynTree/Statement.cc
r0df292b r2871210 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jun 23 11:42:09201513 // Update Count : 2 112 // Last Modified On : Mon Jun 29 17:37:10 2015 13 // Update Count : 22 14 14 // 15 15 … … 28 28 using std::endl; 29 29 30 Statement::Statement( std::list<Label> _labels ) : labels( _labels ) {}30 Statement::Statement( std::list<Label> _labels ) : labels( _labels ) {} 31 31 32 32 void Statement::print( std::ostream &, int indent ) const {} … … 34 34 Statement::~Statement() {} 35 35 36 ExprStmt::ExprStmt( std::list<Label> _labels, Expression *_expr ) : Statement( _labels ), expr(_expr ) {}36 ExprStmt::ExprStmt( std::list<Label> _labels, Expression *_expr ) : Statement( _labels ), expr( _expr ) {} 37 37 38 38 ExprStmt::~ExprStmt() {} … … 46 46 47 47 BranchStmt::BranchStmt( std::list<Label> labels, Label _target, Type _type ) throw ( SemanticError ) : 48 Statement( labels ), originalTarget( _target ), target(_target ), type(_type ) {48 Statement( labels ), originalTarget( _target ), target( _target ), computedTarget( NULL ), type( _type ) { 49 49 //actually this is a syntactic error signaled by the parser 50 50 if ( type == BranchStmt::Goto && target.size() == 0 ) … … 53 53 54 54 BranchStmt::BranchStmt( std::list<Label> labels, Expression *_computedTarget, Type _type ) throw ( SemanticError ) : 55 Statement( labels ), computedTarget( _computedTarget ), type(_type ) {55 Statement( labels ), computedTarget( _computedTarget ), type( _type ) { 56 56 if ( type != BranchStmt::Goto || computedTarget == 0 ) 57 57 throw SemanticError("Computed target not valid in branch statement"); … … 75 75 76 76 IfStmt::IfStmt( std::list<Label> _labels, Expression *_condition, Statement *_thenPart, Statement *_elsePart ): 77 Statement( _labels ), condition(_condition ), thenPart(_thenPart ), elsePart(_elsePart ) {}77 Statement( _labels ), condition( _condition ), thenPart( _thenPart ), elsePart( _elsePart ) {} 78 78 79 79 IfStmt::~IfStmt() {} … … 93 93 94 94 SwitchStmt::SwitchStmt( std::list<Label> _labels, Expression * _condition, std::list<Statement *> &_branches ): 95 Statement( _labels ), condition(_condition ), branches(_branches ) {95 Statement( _labels ), condition( _condition ), branches( _branches ) { 96 96 } 97 97 … … 117 117 118 118 CaseStmt::CaseStmt( std::list<Label> _labels, Expression *_condition, std::list<Statement *> &_statements, bool deflt ) throw ( SemanticError ) : 119 Statement( _labels ), condition(_condition ), stmts(_statements ), _isDefault( deflt ) {119 Statement( _labels ), condition( _condition ), stmts( _statements ), _isDefault( deflt ) { 120 120 if ( isDefault() && condition != 0 ) 121 121 throw SemanticError("default with conditions"); … … 149 149 //ChooseStmt::ChooseStmt( std::list<Label> labels, Expression *condition, Statement *body ) {} 150 150 ChooseStmt::ChooseStmt( std::list<Label> _labels, Expression * _condition, std::list<Statement *> &_branches ): 151 Statement( _labels ), condition(_condition ), branches(_branches ) {151 Statement( _labels ), condition( _condition ), branches( _branches ) { 152 152 } 153 153 -
src/Tests/LabelledExit.c
r0df292b r2871210 1 1 int main() { 2 3 2 int i; 3 int x, y; 4 4 5 5 x = 0; y = 0; 6 6 7 // block, labelled exits7 // block, labelled exits 8 8 9 9 Block: { 10 if ( x == y ) {11 12 y += 1;13 if ( y < 10 ) break Block;14 15 }16 10 if ( x == y ) { 11 for ( ; i < y; ) { 12 y += 1; 13 if ( y < 10 ) break Block; 14 } 15 } 16 } 17 17 18 // loops, labelled exits18 // loops, labelled exits 19 19 20 20 w1: while ( y == 10 ); 21 21 22 22 w2: while ( x < 10 ) { 23 24 25 26 27 }23 while (y < 5 ) { 24 if ( y == 3 ) break w2; 25 } 26 x += 1; 27 } 28 28 29 29 A: for ( i = 0; i < 10; i += 1 ) { 30 B: for ( i = 0; i < 10; i += 1 ) {31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 }30 B: for ( i = 0; i < 10; i += 1 ) { 31 C: for ( i = 0; i < 10; i += 1 ) { 32 goto A; 33 goto B; 34 goto C; 35 continue A; 36 continue B; 37 continue C; 38 continue; 39 break A; 40 break B; 41 break C; 42 break; 43 } 44 } 45 } 46 46 47 47 D: for ( ;; ) { 48 49 50 }48 break D; 49 continue D; 50 } 51 51 52 53 52 Z : i += 1; 53 goto Z; 54 54 X: Y: for ( ;; ) { 55 56 57 58 59 60 }55 i += 1; 56 if ( i > 5 ) continue X; 57 if ( i < 5 ) break X; 58 if ( i < 5 ) break Y; 59 break; 60 } 61 61 XX: for ( ;; ) { 62 YY: for ( ;; ) {63 64 65 66 67 68 69 70 71 72 73 74 }62 YY: for ( ;; ) { 63 ZZ: for ( ;; ) { 64 i += 1; 65 if ( i > 5 ) continue XX; 66 if ( i < 5 ) continue YY; 67 if ( i < 5 ) continue ZZ; 68 if ( i > 5 ) break XX; 69 if ( i < 5 ) break YY; 70 if ( i < 5 ) break ZZ; 71 break; 72 } 73 } 74 } 75 75 76 77 78 79 76 for ( ;; ) ; 77 for ( int i = 0 ;; ) ; 78 for ( ; i < 0; ) ; 79 for ( ; ; i += 1 ) ; 80 80 L0: L1: L2: L3: L4: L5: L6: L7: L8: L9: 81 81 L10: L11: L12: L13: L14: L15: L16: L17: L18: L19: 82 82 L20: L21: L22: L23: L24: L25: L26: L27: L28: L29: 83 83 L31: L32: L33: L34: 84 85 break L0;86 84 for ( ;; ) { 85 break L0; 86 } 87 87 88 // switch/choose, labelled exits88 // switch/choose, labelled exits 89 89 90 90 Switch: switch ( i ) { 91 default:92 93 case 0:94 95 96 case 1:97 98 99 100 101 102 103 }91 default: 92 i += 1; 93 case 0: 94 i += 1; 95 break Switch; 96 case 1: 97 switch ( i ) { 98 case 0: 99 break Switch; 100 default: 101 ; break; 102 } 103 } 104 104 105 105 Choose: choose ( i ) { 106 default: 107 i += 1; 108 case 0: 109 i += 1; 110 break Choose; 111 case 1: 112 choose ( i ) { 113 case 0: 114 break; 115 default: 116 break Choose; 117 } 118 fallthru; 119 case 2: 120 i += 1; 121 } 122 #if 0 123 // computed goto 106 default: 107 i += 1; 108 case 0: 109 i += 1; 110 break Choose; 111 case 1: 112 choose ( i ) { 113 case 0: 114 break; 115 default: 116 break Choose; 117 } 118 fallthru; 119 case 2: 120 i += 1; 121 } 124 122 125 { 126 static void *array[] = { &&foo, &&bar, &&hack }; 123 // computed goto 124 { 125 void *array[] = { &&foo, &&bar, &&hack }; 126 foo: bar: hack: 127 &&foo; 128 &&bar; 129 goto *array[i]; 130 } 127 131 128 foo: bar: hack:129 goto *array[i];130 }131 #endif132 132 #if 0 133 133 Q: if ( i > 5 ) { 134 135 136 137 134 i += 1; 135 break Q; 136 } else 137 i += 1; 138 138 #endif 139 139 } 140 141 // Local Variables: // 142 // tab-width: 4 // 143 // compile-command: "cfa LabelledExit.c" // 144 // End: // -
src/main.cc
r0df292b r2871210 10 10 // Created On : Fri May 15 23:12:02 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jun 2 2 17:02:11 201513 // Update Count : 7 312 // Last Modified On : Mon Jun 29 17:09:21 2015 13 // Update Count : 77 14 14 // 15 15 … … 277 277 GenPoly::box( translationUnit ); 278 278 279 // print thetree right before code generation279 // print tree right before code generation 280 280 if ( codegenp ) { 281 281 printAll( translationUnit, std::cout );
Note: See TracChangeset
for help on using the changeset viewer.