diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ae7d4d0650b..fbda5964103 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +Mon Apr 26 23:28:54 1999 Mumit Khan + Donn Terry + + * c-parse.in (absdcl1): Allow attributes in explicit typespecs. + (%expect): Update. + * c-parse.y: Regenerate. + * c-parse.c: Likewise. + * objc/objc-parse.c: Likewise. + * objc/objc-parse.y: Likewise. + Mon Apr 26 21:17:41 1999 Jason Merrill * c-pragma.c (push_alignment): Don't ignore alignments greater than diff --git a/gcc/c-parse.c b/gcc/c-parse.c index c12dc182bb8..85a70035d5f 100644 --- a/gcc/c-parse.c +++ b/gcc/c-parse.c @@ -134,7 +134,7 @@ extern void yyprint PROTO ((FILE *, int, YYSTYPE)); -#define YYFINAL 689 +#define YYFINAL 692 #define YYFLAG -32768 #define YYNTBASE 84 @@ -206,18 +206,18 @@ static const short yyprhs[] = { 0, 820, 822, 825, 826, 830, 833, 837, 839, 843, 845, 847, 850, 852, 856, 861, 868, 874, 876, 880, 882, 884, 888, 891, 894, 895, 897, 899, 902, 903, 906, - 910, 914, 917, 921, 926, 930, 933, 937, 940, 942, - 944, 947, 950, 951, 953, 956, 957, 958, 960, 962, - 965, 969, 971, 974, 976, 979, 986, 992, 998, 1001, - 1004, 1009, 1010, 1015, 1016, 1017, 1021, 1026, 1030, 1032, - 1034, 1036, 1038, 1041, 1042, 1047, 1049, 1053, 1054, 1055, - 1063, 1069, 1072, 1073, 1074, 1075, 1088, 1089, 1096, 1099, - 1102, 1105, 1109, 1116, 1125, 1136, 1149, 1153, 1158, 1160, - 1162, 1163, 1170, 1174, 1180, 1183, 1187, 1188, 1190, 1191, - 1193, 1194, 1196, 1198, 1202, 1207, 1209, 1213, 1214, 1217, - 1220, 1221, 1226, 1229, 1230, 1232, 1234, 1238, 1240, 1244, - 1249, 1254, 1259, 1264, 1269, 1270, 1273, 1275, 1278, 1280, - 1284, 1286, 1290 + 910, 914, 917, 921, 926, 930, 933, 937, 940, 944, + 946, 948, 951, 954, 955, 957, 960, 961, 962, 964, + 966, 969, 973, 975, 978, 980, 983, 990, 996, 1002, + 1005, 1008, 1013, 1014, 1019, 1020, 1021, 1025, 1030, 1034, + 1036, 1038, 1040, 1042, 1045, 1046, 1051, 1053, 1057, 1058, + 1059, 1067, 1073, 1076, 1077, 1078, 1079, 1092, 1093, 1100, + 1103, 1106, 1109, 1113, 1120, 1129, 1140, 1153, 1157, 1162, + 1164, 1166, 1167, 1174, 1178, 1184, 1187, 1191, 1192, 1194, + 1195, 1197, 1198, 1200, 1202, 1206, 1211, 1213, 1217, 1218, + 1221, 1224, 1225, 1230, 1233, 1234, 1236, 1238, 1242, 1244, + 1248, 1253, 1258, 1263, 1268, 1273, 1274, 1277, 1279, 1282, + 1284, 1288, 1290, 1294 }; static const short yyrhs[] = { -1, @@ -314,43 +314,43 @@ static const short yyrhs[] = { -1, 0, 0, 188, 7, 0, 59, 189, 76, 0, 50, 188, 189, 0, 50, 188, 0, 189, 59, 228, 0, 189, 60, 99, 83, 0, 189, 60, 83, 0, 59, - 228, 0, 60, 99, 83, 0, 60, 83, 0, 191, - 0, 208, 0, 191, 208, 0, 191, 193, 0, 0, - 190, 0, 1, 77, 0, 0, 0, 196, 0, 197, - 0, 196, 197, 0, 32, 239, 77, 0, 200, 0, - 1, 200, 0, 82, 0, 199, 78, 0, 199, 194, - 195, 121, 192, 78, 0, 199, 194, 195, 1, 78, - 0, 199, 194, 195, 190, 78, 0, 202, 207, 0, - 202, 1, 0, 15, 59, 99, 76, 0, 0, 18, - 204, 207, 17, 0, 0, 0, 205, 206, 210, 0, - 205, 206, 221, 207, 0, 205, 206, 209, 0, 210, - 0, 221, 0, 200, 0, 218, 0, 99, 77, 0, - 0, 201, 16, 211, 207, 0, 201, 0, 201, 16, - 1, 0, 0, 0, 17, 212, 59, 99, 76, 213, - 207, 0, 203, 59, 99, 76, 77, 0, 203, 1, - 0, 0, 0, 0, 19, 59, 223, 77, 214, 223, - 77, 215, 223, 76, 216, 207, 0, 0, 20, 59, - 99, 76, 217, 207, 0, 23, 77, 0, 24, 77, - 0, 25, 77, 0, 25, 99, 77, 0, 27, 222, - 59, 99, 76, 77, 0, 27, 222, 59, 99, 38, - 224, 76, 77, 0, 27, 222, 59, 99, 38, 224, - 38, 224, 76, 77, 0, 27, 222, 59, 99, 38, - 224, 38, 224, 38, 227, 76, 77, 0, 26, 97, - 77, 0, 26, 50, 99, 77, 0, 77, 0, 219, - 0, 0, 19, 59, 113, 76, 220, 207, 0, 21, - 107, 38, 0, 21, 107, 10, 107, 38, 0, 22, - 38, 0, 97, 38, 142, 0, 0, 7, 0, 0, - 99, 0, 0, 225, 0, 226, 0, 225, 81, 226, - 0, 9, 59, 99, 76, 0, 115, 0, 227, 81, - 115, 0, 0, 229, 230, 0, 232, 76, 0, 0, - 233, 77, 231, 230, 0, 1, 76, 0, 0, 10, - 0, 233, 0, 233, 81, 10, 0, 234, 0, 233, - 81, 234, 0, 125, 122, 166, 142, 0, 125, 122, - 167, 142, 0, 125, 122, 186, 142, 0, 129, 122, - 167, 142, 0, 129, 122, 186, 142, 0, 0, 236, - 237, 0, 230, 0, 238, 76, 0, 3, 0, 238, - 81, 3, 0, 97, 0, 239, 81, 97, 0, 31, - 0 + 228, 0, 60, 99, 83, 0, 60, 83, 0, 143, + 123, 189, 0, 191, 0, 208, 0, 191, 208, 0, + 191, 193, 0, 0, 190, 0, 1, 77, 0, 0, + 0, 196, 0, 197, 0, 196, 197, 0, 32, 239, + 77, 0, 200, 0, 1, 200, 0, 82, 0, 199, + 78, 0, 199, 194, 195, 121, 192, 78, 0, 199, + 194, 195, 1, 78, 0, 199, 194, 195, 190, 78, + 0, 202, 207, 0, 202, 1, 0, 15, 59, 99, + 76, 0, 0, 18, 204, 207, 17, 0, 0, 0, + 205, 206, 210, 0, 205, 206, 221, 207, 0, 205, + 206, 209, 0, 210, 0, 221, 0, 200, 0, 218, + 0, 99, 77, 0, 0, 201, 16, 211, 207, 0, + 201, 0, 201, 16, 1, 0, 0, 0, 17, 212, + 59, 99, 76, 213, 207, 0, 203, 59, 99, 76, + 77, 0, 203, 1, 0, 0, 0, 0, 19, 59, + 223, 77, 214, 223, 77, 215, 223, 76, 216, 207, + 0, 0, 20, 59, 99, 76, 217, 207, 0, 23, + 77, 0, 24, 77, 0, 25, 77, 0, 25, 99, + 77, 0, 27, 222, 59, 99, 76, 77, 0, 27, + 222, 59, 99, 38, 224, 76, 77, 0, 27, 222, + 59, 99, 38, 224, 38, 224, 76, 77, 0, 27, + 222, 59, 99, 38, 224, 38, 224, 38, 227, 76, + 77, 0, 26, 97, 77, 0, 26, 50, 99, 77, + 0, 77, 0, 219, 0, 0, 19, 59, 113, 76, + 220, 207, 0, 21, 107, 38, 0, 21, 107, 10, + 107, 38, 0, 22, 38, 0, 97, 38, 142, 0, + 0, 7, 0, 0, 99, 0, 0, 225, 0, 226, + 0, 225, 81, 226, 0, 9, 59, 99, 76, 0, + 115, 0, 227, 81, 115, 0, 0, 229, 230, 0, + 232, 76, 0, 0, 233, 77, 231, 230, 0, 1, + 76, 0, 0, 10, 0, 233, 0, 233, 81, 10, + 0, 234, 0, 233, 81, 234, 0, 125, 122, 166, + 142, 0, 125, 122, 167, 142, 0, 125, 122, 186, + 142, 0, 129, 122, 167, 142, 0, 129, 122, 186, + 142, 0, 0, 236, 237, 0, 230, 0, 238, 76, + 0, 3, 0, 238, 81, 3, 0, 97, 0, 239, + 81, 97, 0, 31, 0 }; #endif @@ -386,18 +386,18 @@ static const short yyrline[] = { 0, 1373, 1376, 1381, 1383, 1385, 1399, 1406, 1411, 1417, 1422, 1424, 1429, 1431, 1435, 1439, 1443, 1453, 1455, 1460, 1465, 1468, 1472, 1475, 1479, 1482, 1485, 1488, 1492, 1495, 1499, - 1503, 1505, 1507, 1509, 1511, 1513, 1515, 1517, 1527, 1535, - 1537, 1539, 1543, 1545, 1548, 1551, 1562, 1564, 1569, 1571, - 1574, 1588, 1591, 1594, 1596, 1598, 1606, 1614, 1625, 1630, - 1633, 1647, 1656, 1660, 1664, 1668, 1674, 1678, 1683, 1686, - 1691, 1694, 1695, 1712, 1717, 1720, 1732, 1734, 1744, 1754, - 1755, 1763, 1766, 1778, 1782, 1799, 1809, 1818, 1823, 1828, - 1833, 1837, 1841, 1852, 1859, 1866, 1873, 1884, 1890, 1893, - 1898, 1921, 1955, 1986, 2017, 2032, 2046, 2050, 2054, 2057, - 2062, 2064, 2067, 2069, 2073, 2078, 2081, 2087, 2092, 2097, - 2099, 2108, 2109, 2115, 2117, 2127, 2129, 2133, 2136, 2142, - 2152, 2161, 2170, 2180, 2194, 2199, 2204, 2206, 2215, 2218, - 2223, 2226, 2230 + 1503, 1505, 1507, 1509, 1511, 1513, 1515, 1517, 1521, 1529, + 1537, 1539, 1541, 1545, 1547, 1550, 1553, 1564, 1566, 1571, + 1573, 1576, 1590, 1593, 1596, 1598, 1600, 1608, 1616, 1627, + 1632, 1635, 1649, 1658, 1662, 1666, 1670, 1676, 1680, 1685, + 1688, 1693, 1696, 1697, 1714, 1719, 1722, 1734, 1736, 1746, + 1756, 1757, 1765, 1768, 1780, 1784, 1801, 1811, 1820, 1825, + 1830, 1835, 1839, 1843, 1854, 1861, 1868, 1875, 1886, 1892, + 1895, 1900, 1923, 1957, 1988, 2019, 2034, 2048, 2052, 2056, + 2059, 2064, 2066, 2069, 2071, 2075, 2080, 2083, 2089, 2094, + 2099, 2101, 2110, 2111, 2117, 2119, 2129, 2131, 2135, 2138, + 2144, 2154, 2163, 2172, 2182, 2196, 2201, 2206, 2208, 2217, + 2220, 2225, 2228, 2232 }; #endif @@ -471,18 +471,18 @@ static const short yyr1[] = { 0, 178, 178, 179, 179, 179, 180, 180, 180, 180, 180, 180, 181, 181, 182, 182, 182, 183, 183, 183, 184, 184, 185, 185, 186, 186, 187, 187, 188, 188, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 190, 191, - 191, 191, 192, 192, 193, 194, 195, 195, 196, 196, - 197, 198, 198, 199, 200, 200, 200, 200, 201, 201, - 202, 204, 203, 205, 206, 207, 207, 208, 209, 209, - 210, 210, 210, 211, 210, 210, 210, 212, 213, 210, - 210, 210, 214, 215, 216, 210, 217, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 218, - 220, 219, 221, 221, 221, 221, 222, 222, 223, 223, - 224, 224, 225, 225, 226, 227, 227, 229, 228, 230, - 231, 230, 230, 232, 232, 232, 232, 233, 233, 234, - 234, 234, 234, 234, 236, 235, 237, 237, 238, 238, - 239, 239, 240 + 189, 189, 189, 189, 189, 189, 189, 189, 189, 190, + 191, 191, 191, 192, 192, 193, 194, 195, 195, 196, + 196, 197, 198, 198, 199, 200, 200, 200, 200, 201, + 201, 202, 204, 203, 205, 206, 207, 207, 208, 209, + 209, 210, 210, 210, 211, 210, 210, 210, 212, 213, + 210, 210, 210, 214, 215, 216, 210, 217, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 218, 220, 219, 221, 221, 221, 221, 222, 222, 223, + 223, 224, 224, 225, 225, 226, 227, 227, 229, 228, + 230, 231, 230, 230, 232, 232, 232, 232, 233, 233, + 234, 234, 234, 234, 234, 236, 235, 237, 237, 238, + 238, 239, 239, 240 }; static const short yyr2[] = { 0, @@ -515,23 +515,23 @@ static const short yyr2[] = { 0, 1, 2, 0, 3, 2, 3, 1, 3, 1, 1, 2, 1, 3, 4, 6, 5, 1, 3, 1, 1, 3, 2, 2, 0, 1, 1, 2, 0, 2, 3, - 3, 2, 3, 4, 3, 2, 3, 2, 1, 1, - 2, 2, 0, 1, 2, 0, 0, 1, 1, 2, - 3, 1, 2, 1, 2, 6, 5, 5, 2, 2, - 4, 0, 4, 0, 0, 3, 4, 3, 1, 1, - 1, 1, 2, 0, 4, 1, 3, 0, 0, 7, - 5, 2, 0, 0, 0, 12, 0, 6, 2, 2, - 2, 3, 6, 8, 10, 12, 3, 4, 1, 1, - 0, 6, 3, 5, 2, 3, 0, 1, 0, 1, - 0, 1, 1, 3, 4, 1, 3, 0, 2, 2, - 0, 4, 2, 0, 1, 1, 3, 1, 3, 4, - 4, 4, 4, 4, 0, 2, 1, 2, 1, 3, - 1, 3, 1 + 3, 2, 3, 4, 3, 2, 3, 2, 3, 1, + 1, 2, 2, 0, 1, 2, 0, 0, 1, 1, + 2, 3, 1, 2, 1, 2, 6, 5, 5, 2, + 2, 4, 0, 4, 0, 0, 3, 4, 3, 1, + 1, 1, 1, 2, 0, 4, 1, 3, 0, 0, + 7, 5, 2, 0, 0, 0, 12, 0, 6, 2, + 2, 2, 3, 6, 8, 10, 12, 3, 4, 1, + 1, 0, 6, 3, 5, 2, 3, 0, 1, 0, + 1, 0, 1, 1, 3, 4, 1, 3, 0, 2, + 2, 0, 4, 2, 0, 1, 1, 3, 1, 3, + 4, 4, 4, 4, 4, 0, 2, 1, 2, 1, + 3, 1, 3, 1 }; static const short yydefact[] = { 3, 5, 0, 0, 0, 152, 143, 150, 142, 242, 238, - 240, 0, 0, 0, 403, 18, 4, 8, 7, 0, + 240, 0, 0, 0, 404, 18, 4, 8, 7, 0, 118, 118, 138, 129, 139, 172, 0, 0, 0, 151, 0, 6, 16, 17, 243, 239, 241, 0, 0, 0, 237, 288, 0, 0, 160, 119, 0, 15, 0, 14, @@ -540,7 +540,7 @@ static const short yydefact[] = { 3, 56, 57, 0, 0, 0, 33, 35, 34, 0, 36, 37, 0, 38, 39, 0, 0, 40, 58, 0, 0, 62, 43, 45, 88, 0, 286, 0, 284, 148, 0, - 284, 177, 0, 0, 11, 0, 0, 30, 0, 395, + 284, 177, 0, 0, 11, 0, 0, 30, 0, 396, 0, 0, 170, 222, 288, 0, 0, 158, 119, 0, 214, 215, 0, 0, 128, 131, 155, 156, 130, 132, 157, 0, 0, 244, 0, 248, 0, 252, 54, 55, @@ -548,653 +548,661 @@ static const short yydefact[] = { 3, 50, 0, 52, 0, 0, 79, 77, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 98, 0, 0, 41, 0, 100, 47, 153, 288, - 378, 0, 282, 285, 146, 154, 287, 148, 283, 183, - 184, 185, 182, 0, 175, 178, 289, 232, 231, 161, - 162, 236, 0, 230, 0, 0, 235, 0, 0, 28, - 0, 324, 106, 325, 169, 171, 0, 0, 13, 0, - 0, 22, 0, 170, 395, 0, 12, 26, 0, 170, - 270, 265, 118, 262, 118, 0, 263, 170, 263, 279, - 280, 259, 277, 0, 90, 89, 314, 306, 0, 0, - 9, 44, 0, 0, 85, 84, 0, 0, 0, 0, - 73, 74, 72, 71, 70, 68, 69, 63, 64, 65, - 66, 67, 96, 95, 0, 42, 0, 292, 0, 296, - 0, 298, 0, 378, 0, 149, 147, 0, 177, 41, - 0, 0, 399, 385, 118, 118, 397, 0, 386, 388, - 396, 0, 233, 234, 305, 0, 108, 103, 107, 0, - 167, 220, 216, 159, 221, 20, 166, 217, 219, 0, - 24, 246, 324, 264, 324, 271, 0, 250, 0, 0, - 260, 0, 259, 315, 307, 92, 60, 59, 51, 53, - 0, 0, 78, 76, 93, 94, 291, 290, 379, 297, - 293, 295, 0, 174, 176, 86, 0, 163, 383, 284, - 284, 380, 381, 0, 398, 0, 0, 29, 312, 104, - 118, 118, 135, 0, 0, 164, 218, 0, 266, 272, - 325, 268, 170, 170, 281, 278, 170, 0, 0, 0, - 308, 309, 0, 80, 83, 294, 179, 0, 181, 229, - 288, 378, 119, 170, 170, 170, 288, 170, 170, 0, - 387, 389, 400, 313, 111, 0, 112, 0, 135, 133, - 189, 187, 186, 168, 21, 0, 25, 324, 0, 245, - 249, 255, 170, 401, 0, 0, 0, 324, 0, 0, - 115, 325, 300, 310, 202, 86, 0, 0, 199, 0, - 201, 0, 257, 192, 198, 0, 0, 0, 0, 292, - 0, 395, 0, 390, 391, 392, 292, 393, 394, 382, - 0, 0, 162, 134, 137, 136, 0, 165, 273, 0, - 170, 253, 311, 0, 317, 117, 116, 304, 0, 318, - 302, 325, 301, 0, 205, 0, 0, 196, 61, 0, - 191, 0, 204, 195, 81, 180, 227, 288, 228, 223, - 0, 226, 0, 109, 110, 0, 170, 0, 274, 402, - 316, 0, 152, 0, 338, 322, 0, 0, 0, 0, - 0, 0, 0, 0, 367, 359, 0, 0, 113, 118, - 118, 331, 336, 0, 0, 328, 329, 332, 360, 330, - 0, 0, 207, 0, 0, 193, 194, 0, 224, 225, - 188, 276, 170, 0, 0, 324, 369, 0, 0, 365, - 349, 350, 351, 0, 0, 0, 368, 0, 170, 333, - 124, 0, 125, 0, 0, 320, 325, 319, 342, 0, - 126, 0, 200, 197, 275, 0, 0, 0, 370, 45, - 0, 0, 0, 363, 352, 0, 357, 0, 366, 0, - 122, 208, 0, 123, 211, 337, 324, 0, 0, 206, - 321, 0, 323, 361, 343, 347, 0, 358, 0, 120, - 0, 121, 0, 335, 326, 324, 0, 339, 324, 369, - 324, 364, 371, 0, 209, 212, 327, 341, 324, 362, - 0, 348, 0, 0, 372, 373, 353, 0, 0, 340, - 344, 0, 371, 0, 0, 210, 213, 369, 0, 0, - 354, 374, 0, 375, 0, 0, 345, 376, 0, 355, - 324, 0, 0, 346, 356, 377, 0, 0, 0 + 379, 0, 119, 282, 285, 146, 154, 287, 148, 283, + 183, 184, 185, 182, 0, 175, 178, 289, 232, 231, + 161, 162, 236, 0, 230, 0, 0, 235, 0, 0, + 28, 0, 325, 106, 326, 169, 171, 0, 0, 13, + 0, 0, 22, 0, 170, 396, 0, 12, 26, 0, + 170, 270, 265, 118, 262, 118, 0, 263, 170, 263, + 279, 280, 259, 277, 0, 90, 89, 315, 307, 0, + 0, 9, 44, 0, 0, 85, 84, 0, 0, 0, + 0, 73, 74, 72, 71, 70, 68, 69, 63, 64, + 65, 66, 67, 96, 95, 0, 42, 0, 292, 0, + 296, 0, 298, 0, 0, 379, 0, 149, 147, 0, + 177, 41, 0, 0, 400, 386, 118, 118, 398, 0, + 387, 389, 397, 0, 233, 234, 306, 0, 108, 103, + 107, 0, 167, 220, 216, 159, 221, 20, 166, 217, + 219, 0, 24, 246, 325, 264, 325, 271, 0, 250, + 0, 0, 260, 0, 259, 316, 308, 92, 60, 59, + 51, 53, 0, 0, 78, 76, 93, 94, 291, 290, + 380, 297, 299, 293, 295, 0, 174, 176, 86, 0, + 163, 384, 284, 284, 381, 382, 0, 399, 0, 0, + 29, 313, 104, 118, 118, 135, 0, 0, 164, 218, + 0, 266, 272, 326, 268, 170, 170, 281, 278, 170, + 0, 0, 0, 309, 310, 0, 80, 83, 294, 179, + 0, 181, 229, 288, 379, 119, 170, 170, 170, 288, + 119, 170, 170, 0, 388, 390, 401, 314, 111, 0, + 112, 0, 135, 133, 189, 187, 186, 168, 21, 0, + 25, 325, 0, 245, 249, 255, 170, 402, 0, 0, + 0, 325, 0, 0, 115, 326, 301, 311, 202, 86, + 0, 0, 199, 0, 201, 0, 257, 192, 198, 0, + 0, 0, 0, 292, 0, 396, 0, 391, 392, 393, + 292, 0, 394, 395, 383, 0, 0, 162, 134, 137, + 136, 0, 165, 273, 0, 170, 253, 312, 0, 318, + 117, 116, 305, 0, 319, 303, 326, 302, 0, 205, + 0, 0, 196, 61, 0, 191, 0, 204, 195, 81, + 180, 227, 228, 223, 0, 226, 0, 109, 110, 0, + 170, 0, 274, 403, 317, 0, 152, 0, 339, 323, + 0, 0, 0, 0, 0, 0, 0, 0, 368, 360, + 0, 0, 113, 118, 118, 332, 337, 0, 0, 329, + 330, 333, 361, 331, 0, 0, 207, 0, 0, 193, + 194, 224, 225, 188, 276, 170, 0, 0, 325, 370, + 0, 0, 366, 350, 351, 352, 0, 0, 0, 369, + 0, 170, 334, 124, 0, 125, 0, 0, 321, 326, + 320, 343, 0, 126, 0, 200, 197, 275, 0, 0, + 0, 371, 45, 0, 0, 0, 364, 353, 0, 358, + 0, 367, 0, 122, 208, 0, 123, 211, 338, 325, + 0, 0, 206, 322, 0, 324, 362, 344, 348, 0, + 359, 0, 120, 0, 121, 0, 336, 327, 325, 0, + 340, 325, 370, 325, 365, 372, 0, 209, 212, 328, + 342, 325, 363, 0, 349, 0, 0, 373, 374, 354, + 0, 0, 341, 345, 0, 372, 0, 0, 210, 213, + 370, 0, 0, 355, 375, 0, 376, 0, 0, 346, + 377, 0, 356, 325, 0, 0, 347, 357, 378, 0, + 0, 0 }; -static const short yydefgoto[] = { 687, - 1, 2, 3, 17, 18, 19, 223, 375, 229, 378, - 112, 306, 450, 85, 144, 275, 87, 88, 89, 90, - 91, 393, 92, 260, 259, 257, 458, 258, 93, 145, - 94, 210, 211, 212, 370, 437, 438, 20, 107, 539, - 295, 57, 371, 420, 296, 23, 98, 185, 24, 129, - 117, 44, 113, 118, 426, 45, 374, 215, 216, 26, - 194, 195, 196, 424, 477, 452, 453, 454, 555, 455, - 497, 456, 457, 611, 631, 658, 614, 633, 659, 201, - 121, 507, 122, 27, 28, 29, 30, 237, 239, 244, - 137, 501, 332, 132, 133, 234, 379, 380, 242, 243, - 100, 183, 101, 103, 184, 439, 440, 489, 213, 335, - 390, 391, 392, 368, 248, 369, 543, 544, 545, 566, - 587, 310, 588, 443, 546, 547, 617, 565, 649, 640, - 668, 681, 641, 548, 549, 639, 550, 578, 601, 654, - 655, 656, 679, 280, 281, 297, 410, 298, 299, 300, - 204, 205, 301, 302, 435, 95 +static const short yydefgoto[] = { 690, + 1, 2, 3, 17, 18, 19, 224, 378, 230, 381, + 112, 308, 454, 85, 144, 276, 87, 88, 89, 90, + 91, 396, 92, 261, 260, 258, 462, 259, 93, 145, + 94, 211, 212, 213, 373, 441, 442, 20, 107, 543, + 297, 57, 374, 424, 298, 23, 98, 186, 24, 129, + 117, 44, 113, 118, 430, 45, 377, 216, 217, 26, + 195, 196, 197, 428, 482, 456, 457, 458, 559, 459, + 502, 460, 461, 614, 634, 661, 617, 636, 662, 202, + 121, 407, 122, 27, 28, 29, 30, 238, 240, 245, + 137, 506, 334, 132, 133, 235, 382, 383, 243, 244, + 100, 184, 101, 103, 185, 443, 444, 494, 214, 337, + 393, 394, 395, 371, 249, 372, 547, 548, 549, 569, + 590, 312, 591, 447, 550, 551, 620, 568, 652, 643, + 671, 684, 644, 552, 553, 642, 554, 581, 604, 657, + 658, 659, 682, 281, 282, 299, 414, 300, 301, 302, + 205, 206, 303, 304, 439, 95 }; -static const short yypact[] = { 74, - 97, 2227, 2227, 54,-32768,-32768,-32768,-32768, 17, 17, - 17, 87, 94, 134,-32768,-32768,-32768,-32768,-32768, 369, - 5, 476, 261,-32768, 17,-32768, 59, 61, 90,-32768, - 2227,-32768,-32768,-32768, 17, 17, 17, 2089, 2023, 189, --32768,-32768, 369, 129,-32768, 17, 320,-32768, 519,-32768, - 369, 261,-32768, 17,-32768,-32768, 793,-32768,-32768,-32768, --32768, 114,-32768, 181,-32768, 191,-32768,-32768,-32768,-32768, --32768,-32768, 2089, 2089, 241,-32768,-32768,-32768, 2089,-32768, --32768, 708,-32768,-32768, 2089, 40, 211,-32768, 2116, 2143, --32768, 2293, 1062, 286, 2089,-32768, 247, 210,-32768, 254, - 1674, 639, 272, 276,-32768, 519, 369,-32768, 238,-32768, - 1451, 357, 17,-32768,-32768, 519, 137,-32768, 17, 1438, - 378, 395, 232, 1376, 793,-32768,-32768,-32768,-32768, 17, --32768, 259, 870,-32768, 282,-32768, 228,-32768,-32768,-32768, --32768,-32768, 305, 307, 328, 337,-32768, 277, 2089, 708, --32768, 708,-32768, 2089, 2089, 355,-32768,-32768, 2089, 2089, - 2089, 2089, 2089, 2089, 2089, 2089, 2089, 2089, 2089, 2089, --32768,-32768, 241, 241, 2089, 2089,-32768,-32768,-32768,-32768, - 210, 1478,-32768, 398, 438,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 14,-32768, 361,-32768, 395,-32768,-32768, - 400, 395, 426,-32768, 402, 1533,-32768, 363, 371,-32768, - 767, 48,-32768,-32768, 430, 17, 461, 281,-32768, 519, - 519,-32768, 357, 17,-32768, 1560,-32768,-32768, 357, 17, --32768,-32768, 385, 392, 209, 1323,-32768, 17,-32768,-32768, - 457, 393,-32768, 228,-32768,-32768,-32768, 416, 420, 1912, --32768, 2293, 421, 423, 2293, 2293, 2089, 463, 2089, 2089, - 1667, 1881, 2060, 936, 1098, 760, 760, 294, 294,-32768, --32768,-32768,-32768,-32768, 432, 211, 419, 246, 315,-32768, - 1052,-32768, 431,-32768, 1615,-32768, 438, 433, 639, 2170, - 44, 437,-32768,-32768,-32768, 1542,-32768, 439, 239,-32768, --32768, 66,-32768,-32768,-32768, 47,-32768,-32768,-32768, 1027, --32768, 378,-32768,-32768, 378,-32768, 480,-32768,-32768, 436, --32768,-32768,-32768,-32768,-32768,-32768, 443,-32768, 447, 2089, - 241, 449, 393,-32768, 496,-32768,-32768,-32768,-32768,-32768, - 493, 2089, 2328, 1586,-32768,-32768, 398,-32768,-32768,-32768, --32768,-32768, 455,-32768,-32768, 99, 465,-32768,-32768, 221, - 374,-32768,-32768, 1465,-32768, 543, 328,-32768,-32768,-32768, - 471, 172,-32768, 1312, 47,-32768,-32768, 47, 469,-32768, --32768, 469, 17, 17, 2293,-32768, 17, 477, 241, 813, - 496,-32768, 1132,-32768, 2222,-32768,-32768, 2089,-32768,-32768, --32768, 374, 17, 135, 258, 17,-32768, 258, 17, 1052, --32768,-32768,-32768,-32768,-32768, 519,-32768, 369,-32768, 845, --32768,-32768, 2293,-32768,-32768, 1312,-32768,-32768, 205,-32768, --32768,-32768, 17,-32768, 278, 394, 646, 478, 483, 912, --32768,-32768,-32768,-32768,-32768, 516, 241, 2089,-32768, 520, - 2293, 485, 484,-32768,-32768, 123, 1252, 2089, 111, 167, - 688,-32768, 1642,-32768,-32768,-32768, 269,-32768,-32768,-32768, - 301, 311, 225, 845,-32768,-32768, 1132,-32768,-32768, 2089, - 160,-32768,-32768, 241,-32768,-32768,-32768,-32768, 486,-32768, --32768,-32768,-32768, 1778,-32768, 2266, 1132,-32768,-32768, 1192, --32768, 1367,-32768,-32768, 2222,-32768, 417,-32768, 417,-32768, - 1697,-32768, 489,-32768,-32768, 490, 1799, 2089,-32768,-32768, --32768, 1858, 529, 514,-32768,-32768, 515, 534, 2089, 537, - 502, 518, 2036, 52, 589,-32768, 559, 522,-32768, 523, - 607,-32768, 585, 995, 45,-32768,-32768,-32768,-32768,-32768, - 1969, 2089,-32768, 525, 1367,-32768,-32768, 950,-32768,-32768, --32768,-32768, 1799, 2089, 545,-32768, 2089, 2089, 1722,-32768, --32768,-32768,-32768, 528, 2089, 532,-32768, 557, 17,-32768, --32768, 519,-32768, 369, 1075,-32768,-32768,-32768,-32768, 2089, --32768, 2248,-32768,-32768,-32768, 541, 2089, 601,-32768, 849, - 546, 549, 2089,-32768,-32768, 556,-32768, 2089,-32768, 317, --32768, 359, 345,-32768, 672,-32768,-32768, 1858, 550,-32768, --32768, 558,-32768,-32768,-32768,-32768, 2315,-32768, 23,-32768, - 357,-32768, 357,-32768,-32768,-32768, 561,-32768,-32768, 2089, --32768,-32768, 613, 563,-32768,-32768,-32768,-32768,-32768,-32768, - 571,-32768, 577, 33, 581,-32768,-32768, 328, 328,-32768, --32768, 2089, 613, 606, 613,-32768,-32768, 2089, 602, 34, --32768,-32768, 609,-32768, 426, 610,-32768, 286, 157,-32768, --32768, 611, 426,-32768,-32768, 286, 690, 693,-32768 +static const short yypact[] = { 95, + 110, 2206, 2206, 260,-32768,-32768,-32768,-32768, 40, 40, + 40, 57, 59, 89,-32768,-32768,-32768,-32768,-32768, 42, + 99, 2234, 79,-32768, 40,-32768, 87, 93, 108,-32768, + 2206,-32768,-32768,-32768, 40, 40, 40, 2068, 2002, 125, +-32768,-32768, 42, 147,-32768, 40, 1355,-32768, 257,-32768, + 42, 79,-32768, 40,-32768,-32768, 696,-32768,-32768,-32768, +-32768, 76,-32768, 124,-32768, 132,-32768,-32768,-32768,-32768, +-32768,-32768, 2068, 2068, 373,-32768,-32768,-32768, 2068,-32768, +-32768, 721,-32768,-32768, 2068, 149, 153,-32768, 2095, 2122, +-32768, 2335, 881, 231, 2068,-32768, 186, 319,-32768, 203, + 578, 708, 627, 304,-32768, 257, 42,-32768, 194,-32768, + 1430, 438, 40,-32768,-32768, 257, 177,-32768, 40, 276, + 398, 417, 188, 1417, 696,-32768,-32768,-32768,-32768, 40, +-32768, 208, 778,-32768, 214,-32768, 468,-32768,-32768,-32768, +-32768,-32768, 223, 269, 288, 312,-32768, 315, 2068, 721, +-32768, 721,-32768, 2068, 2068, 362,-32768,-32768, 2068, 2068, + 2068, 2068, 2068, 2068, 2068, 2068, 2068, 2068, 2068, 2068, +-32768,-32768, 373, 373, 2068, 2068,-32768,-32768,-32768,-32768, + 319, 1457, 40,-32768, 426, 760,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 50,-32768, 344,-32768, 417,-32768, +-32768, 385, 417, 419,-32768, 611, 1512,-32768, 349, 361, +-32768, 316, 70,-32768,-32768, 405, 40, 545, 323,-32768, + 257, 257,-32768, 438, 40,-32768, 1539,-32768,-32768, 438, + 40,-32768,-32768, 428, 370, 198, 953,-32768, 40,-32768, +-32768, 413, 383,-32768, 468,-32768,-32768,-32768, 376, 391, + 1891,-32768, 2335, 402, 411, 2335, 2335, 2068, 443, 2068, + 2068, 1564, 1645, 1859, 1078, 747, 838, 838, 356, 356, +-32768,-32768,-32768,-32768,-32768, 432, 153, 412, 463, 485, +-32768, 871,-32768, 434, 319,-32768, 1594,-32768, 760, 445, + 708, 2149, 54, 448,-32768,-32768,-32768, 1036,-32768, 450, + 197,-32768,-32768, 81,-32768,-32768,-32768, 39,-32768,-32768, +-32768, 846,-32768, 398,-32768,-32768, 398,-32768, 483,-32768, +-32768, 452,-32768,-32768,-32768,-32768,-32768,-32768, 461,-32768, + 473, 2068, 373, 480, 383,-32768, 496,-32768,-32768,-32768, +-32768,-32768, 508, 2068, 2258, 1483,-32768,-32768, 426,-32768, +-32768,-32768, 426,-32768,-32768, 493,-32768,-32768, 85, 510, +-32768,-32768, 550, 497,-32768,-32768, 1006,-32768, 585, 288, +-32768,-32768,-32768, 512, 328,-32768, 1291, 39,-32768,-32768, + 39, 513,-32768,-32768, 513, 40, 40, 2335,-32768, 40, + 515, 373, 814, 496,-32768, 1111,-32768, 2351,-32768,-32768, + 2068,-32768,-32768,-32768, 497, 40, 133, 140, 40,-32768, + 40, 140, 40, 871,-32768,-32768,-32768,-32768,-32768, 257, +-32768, 42,-32768, 692,-32768,-32768, 2335,-32768,-32768, 1291, +-32768,-32768, 430,-32768,-32768,-32768, 40,-32768, 220, 433, + 641, 518, 520, 894,-32768,-32768,-32768,-32768,-32768, 563, + 373, 2068,-32768, 564, 2335, 525, 526,-32768,-32768, 326, + 1231, 2068, 146, 500, 550,-32768, 1621,-32768,-32768,-32768, + 423, 497,-32768,-32768,-32768, 237, 250, 112, 692,-32768, +-32768, 1111,-32768,-32768, 2068, 49,-32768,-32768, 373,-32768, +-32768,-32768,-32768, 541,-32768,-32768,-32768,-32768, 1757,-32768, + 2245, 1111,-32768,-32768, 1171,-32768, 1346,-32768,-32768, 2351, +-32768, 504, 504,-32768, 1676,-32768, 537,-32768,-32768, 544, + 1778, 2068,-32768,-32768,-32768, 1837, 588, 570,-32768,-32768, + 572, 576, 2068, 598, 566, 596, 2015, 193, 633,-32768, + 638, 601,-32768, 602, 2238,-32768, 664, 974, 66,-32768, +-32768,-32768,-32768,-32768, 1948, 2068,-32768, 604, 1346,-32768, +-32768,-32768,-32768,-32768,-32768, 1778, 2068, 624,-32768, 2068, + 2068, 1701,-32768,-32768,-32768,-32768, 615, 2068, 616,-32768, + 629, 40,-32768,-32768, 257,-32768, 42, 1054,-32768,-32768, +-32768,-32768, 2068,-32768, 2290,-32768,-32768,-32768, 618, 2068, + 714,-32768, 687, 659, 662, 2068,-32768,-32768, 666,-32768, + 2068,-32768, 271,-32768, 266, 284,-32768, 158,-32768,-32768, + 1837, 663,-32768,-32768, 672,-32768,-32768,-32768,-32768, 2308, +-32768, 24,-32768, 438,-32768, 438,-32768,-32768,-32768, 674, +-32768,-32768, 2068,-32768,-32768, 744, 679,-32768,-32768,-32768, +-32768,-32768,-32768, 681,-32768, 700, 43, 684,-32768,-32768, + 288, 288,-32768,-32768, 2068, 744, 691, 744,-32768,-32768, + 2068, 702, 61,-32768,-32768, 705,-32768, 419, 706,-32768, + 231, 176,-32768,-32768, 709, 419,-32768,-32768, 231, 787, + 789,-32768 }; static const short yypgoto[] = {-32768, --32768,-32768,-32768, 81,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, -24,-32768, -38, 407, -139, 193,-32768,-32768, - -4,-32768, 422,-32768,-32768,-32768,-32768,-32768, 131,-32768, - -196, -202, 491,-32768,-32768, 268,-32768, -5, -91, 156, - 9, 657,-32768, 308, 11, -7, -88, 542, 4, -163, - -378, -45, -100, -65,-32768,-32768,-32768, 223, 57, 82, --32768, 424,-32768, 303,-32768, -401,-32768, 233,-32768, -422, --32768,-32768, 279,-32768,-32768,-32768,-32768,-32768,-32768, -39, - -59, -316, -18,-32768,-32768,-32768, -33,-32768,-32768,-32768, --32768,-32768, 401, -32,-32768, 507, 425, 316, 501, 415, - 39, -67, -79, -97, -152, 321,-32768,-32768, -179,-32768, --32768,-32768, 364, -209,-32768, -126,-32768,-32768,-32768,-32768, - -89, -331, -514, 314,-32768, 142,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 143,-32768, -553, 102, --32768, 101,-32768, 492,-32768, -242,-32768,-32768,-32768, 405, - -195,-32768,-32768,-32768,-32768, 6 +-32768,-32768,-32768, 103,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, -24,-32768, -38, 516, -110, 477,-32768,-32768, + -21,-32768, 255,-32768,-32768,-32768,-32768,-32768, 232,-32768, + -194, -199, 591,-32768,-32768, 363,-32768, -3, -60, 252, + 10, 757,-32768, 389, 19, -14, -90, 635, 27, -169, + -390, -49, -114, -68,-32768,-32768,-32768, -171, 26, 68, +-32768, 522,-32768, 386,-32768, -347,-32768, 325,-32768, -405, +-32768,-32768, 406,-32768,-32768,-32768,-32768,-32768,-32768, -42, + -77, 105, -9,-32768,-32768,-32768, -43,-32768,-32768,-32768, +-32768,-32768, 511, -37,-32768, 612, 538, 435, 625, 546, + -35, -92, -72, -91, -105, 429,-32768,-32768, -185,-32768, +-32768,-32768, 486, 16,-32768, -125,-32768,-32768,-32768,-32768, + -57, -361, -461, 456,-32768, 261,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 283,-32768, -503, 226, +-32768, 238,-32768, 621,-32768, -250,-32768,-32768,-32768, 543, + -193,-32768,-32768,-32768,-32768, 13 }; -#define YYLAST 2380 +#define YYLAST 2403 static const short yytable[] = { 86, - 97, 47, 62, 64, 66, 123, 291, 31, 31, 120, - 21, 21, 22, 22, 52, 49, 51, 217, 249, 224, - 316, 286, 214, 131, 104, 53, 321, 221, 279, 318, - 135, 307, 124, 189, 504, 276, 31, 471, 349, 21, - 200, 22, 99, 404, 233, 589, 14, 367, -102, 429, - 141, 598, 177, 235, 59, 60, 218, 308, 25, 25, - 643, 59, 60, 59, 60, 35, 36, 37, 139, 140, - 663, 675, 208, -1, 142, 516, 46, 193, 54, 557, - 147, 48, 278, 32, 198, 99, 651, 25, 202, 288, - 178, 131, 59, 60, 289, 554, -2, 104, 644, 46, - 224, 575, 634, 590, 188, 119, 58, 46, 664, 676, - 494, 67, 241, 130, 673, 148, 58, 58, 58, 358, - 146, 647, 214, 286, 650, 347, 652, 58, 247, -102, - 33, 34, 594, 214, 660, 58, 99, 277, 236, 214, - 61, 365, 63, 283, 509, 38, 366, 233, 273, 274, - 276, 131, 39, 99, 314, 99, 235, 312, 502, 46, - 522, 315, 119, 46, 14, 425, 684, 470, 427, 41, - 400, 65, 119, 197, 397, 5, 55, 7, 56, 398, - 447, 130, 448, 9, 10, 11, 506, 320, 253, 14, - 254, 149, 40, 462, 463, 134, 14, 518, 198, 13, - 58, 142, 202, 610, 327, 105, 329, 41, 114, 106, - 441, 58, 5, 219, 7, 187, 401, 220, 341, 241, - 9, 10, 11, 41, 400, 402, 182, 323, 240, 325, - 59, 60, 682, 381, 14, 381, 13, 683, 188, 99, - 414, 236, 480, 59, 60, 338, 353, 102, 417, 279, - 14, 109, 197, 131, 115, 618, 476, 486, 459, 180, - 491, 25, 136, 116, 193, 55, 510, 56, 181, 182, - 401, 41, 138, 119, 41, 197, 119, 119, 197, 402, - 182, 151, 153, 110, 111, -269, -269, 14, 52, 360, - 361, 149, 406, 409, 177, 180, 203, 58, 14, 53, - 442, 14, 372, 460, 181, 182, 241, 347, 227, 467, - 476, 461, 106, 373, 347, 363, 110, 111, 407, 364, - 108, 42, 179, -27, -27, -27, -27, 402, 182, 186, - 43, -27, -27, -27, 110, 111, 230, 25, 381, 225, - 226, 405, 408, 168, 169, 170, 109, -27, 442, -162, - 492, 199, 54, 251, 483, -162, 313, 209, 484, 238, - -324, -324, -324, -324, 434, 416, 418, 542, -324, -324, - -324, 41, 472, 284, 285, 419, 41, 514, 110, 111, - 245, 220, 246, 104, -324, 109, 131, 515, -162, 481, - 348, 106, -82, 630, -162, 542, -162, 220, 14, 473, - -162, -27, 292, 14, 293, 5, 6, 7, 8, 247, - 558, 294, 250, 9, 10, 11, 403, 46, 42, 290, - 25, 632, 495, 407, 513, 106, 109, 43, 645, 13, - 646, 14, 402, 182, 70, -162, 225, 226, -101, -162, - 131, 198, 202, 127, 128, 304, 317, 305, 198, 9, - 10, 11, 322, 110, 111, 538, 284, 285, 46, 520, - 328, -267, -267, 41, 114, 311, 25, 197, 324, 537, - 305, 485, 119, 331, 46, 462, 463, -384, 678, 5, - 6, 7, 8, 538, 58, 119, 686, 9, 10, 11, - 14, 542, 330, 334, 574, 336, 339, 537, 340, 551, - 342, 346, 540, 13, 541, 14, 142, 345, 354, 576, - 115, 224, 359, 350, 362, 376, 403, 403, 377, 116, - 383, 41, 114, 46, 384, 596, 387, 389, 599, 602, - 394, 666, 667, 52, 582, 584, 606, 396, 613, 198, - 399, 214, 612, 214, 53, 413, 178, 415, 14, 428, - 25, 619, 50, -31, 433, -303, 551, 498, 622, 540, - 490, 541, 499, 521, 500, 615, -32, 561, 115, 629, - 252, 560, 564, 567, 570, 255, 256, 116, 571, 538, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 568, 537, 572, 577, 579, 54, 580, 581, - 585, 599, 593, 597, 605, 430, 431, 25, 607, 432, - 5, 6, 7, 8, 403, 608, 621, 623, 9, 10, - 11, 653, 625, 669, 626, 637, 464, 465, 466, 599, - 468, 469, 628, 638, 13, 662, 14, 648, 119, 657, - 46, 59, 60, 190, 191, 192, 209, 661, -114, -114, - -114, -114, -114, -114, -114, 482, -114, -114, -114, -114, - -114, 665, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, 674, -114, -114, - 343, 344, 671, 583, 677, -114, 680, 685, -114, 688, - 41, 400, 689, -114, -114, -114, 357, 600, 109, -114, - -114, -162, 309, 519, -114, 487, 591, -162, 143, 125, - 68, 5, 355, 7, 96, 69, 70, 14, 71, 9, - 10, 11, -114, -114, -114, -114, 474, -114, 478, 287, - 110, 111, 556, 388, 503, 13, 72, 508, 15, 562, - 73, 74, 326, 479, 333, 386, 43, 75, -162, 382, - 76, 385, -162, 493, 444, 77, 78, 79, 488, 635, - 636, 80, 81, 395, 670, 672, 82, 209, 412, 0, - -105, -105, -105, -105, 0, 351, -105, 0, -105, -105, - -105, 0, 0, 0, 0, 595, 83, 84, 0, -91, - 0, 0, 0, 0, -105, 423, 0, 126, 127, 128, - 0, 609, 0, 0, 9, 10, 11, 166, 167, 168, - 169, 170, 0, 436, 451, -324, -324, -324, -324, -324, - -324, -324, 14, -324, -324, -324, -324, -324, 0, -324, - -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, - -324, -324, -324, -324, 0, -324, -324, 423, -105, 475, - 127, 128, -324, 0, 0, -324, 9, 10, 11, 0, - -324, -324, -324, 0, 0, 0, -324, -324, 0, 496, - 231, -324, 0, 5, 0, 7, 96, 0, 451, 505, - 0, 9, 10, 11, 0, 0, 0, 0, 0, -324, - 0, -324, -324, 0, -324, 0, 0, 13, 451, 0, - 15, 517, 171, 172, 0, 173, 174, 175, 176, 0, - 0, 0, 209, 0, -324, -324, 0, 0, 451, -324, - -324, 451, -324, 451, 624, 0, -324, 0, -324, -324, - -324, -324, -324, -324, -324, -324, -324, -324, -324, 563, - -324, 0, -324, 0, -324, -324, 232, -261, 0, 0, - 569, -324, 41, 400, -324, 0, 197, 0, 0, -324, - -324, -324, 0, 0, 0, -324, -324, 0, 0, 0, - -324, 0, 0, 592, 0, 0, 451, 0, 0, 14, - 163, 164, 165, 166, 167, 168, 169, 170, -324, -299, - -324, -324, 0, -324, 0, 586, 0, -324, -324, 508, - 0, 0, -324, -324, 0, -324, 0, 0, 43, -324, - 0, -324, -324, -324, -324, -324, -324, -324, -324, -324, - -324, -324, 0, -324, 627, -324, 0, -324, -324, 0, - 5, 6, 7, 8, -324, 0, 0, -324, 9, 10, - 11, 0, -324, -324, -324, 0, 0, 0, -324, -324, - 0, 0, 292, -324, 13, 5, 6, 7, 8, 0, - 0, 294, 0, 9, 10, 11, 0, 0, 0, 0, - 0, -324, 0, -324, -324, 616, -324, -334, -334, 13, - 0, 14, -334, -334, 0, -334, 0, 0, 0, -334, - 0, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -334, 0, -334, 0, -334, 0, -334, -334, 0, - 0, 0, 0, 0, -334, 171, 172, -334, 173, 174, - 175, 176, -334, -334, -334, 0, 0, -384, -334, -334, - 0, 0, 445, -334, 446, 60, 0, 0, 0, 69, - 70, 0, 71, 164, 165, 166, 167, 168, 169, 170, - 0, -334, 0, -334, -334, 0, -334, 0, 0, 0, - 72, 0, 15, 0, 73, 74, 0, 0, 0, 0, + 97, 123, 62, 64, 66, 225, 120, 52, 190, 293, + 47, 21, 21, 131, 31, 31, 288, 49, 51, 250, + 22, 22, 433, 218, 318, 135, 309, 25, 25, 476, + 323, 351, 320, 104, 35, 36, 37, 201, 219, 370, + 21, 124, 234, 31, 41, 46, 146, 54, 53, 22, + 141, 139, 140, 319, 215, 509, 25, 142, 222, 324, + 236, 646, 177, 147, 277, 99, 592, 330, 46, 14, + -102, 14, 209, 178, 119, 280, 46, 194, 14, 310, + 666, 131, 130, 55, 499, 56, 522, 225, 279, 59, + 60, 42, 58, 199, -1, 59, 60, 203, 678, 647, + 43, 561, 58, 58, 58, 32, 104, 601, 99, -2, + 59, 60, 242, 58, 254, 38, 255, 39, 667, 288, + 248, 58, 285, 183, 593, 290, 183, 189, 46, 361, + 291, 119, 46, 67, 520, 526, 679, 278, 109, 654, + 314, 119, 131, 284, 317, 237, 234, 40, 274, 275, + 130, -102, 316, 597, 558, 215, 368, 134, 637, 99, + 400, 369, 14, 475, 236, 401, 215, 676, 61, 14, + 110, 111, 215, 349, 63, 48, 99, 650, 99, 353, + 653, 277, 655, 102, 109, 142, 58, -162, 322, 65, + 663, 466, 467, -162, 613, 59, 60, 58, 110, 111, + 329, 5, 331, 7, 188, 136, 183, 445, 199, 9, + 10, 11, 203, 138, 434, 435, 110, 111, 436, 343, + 242, 511, 687, 105, 148, 13, 149, 106, 621, 340, + 325, 25, 327, 149, -162, 468, 469, 470, -162, 177, + 473, 474, 578, 119, 418, 131, 119, 119, 356, 237, + 58, 685, 204, 220, 481, 491, 686, 221, 496, 41, + 114, 179, 189, 99, 228, 487, 194, 384, 106, 384, + 409, 413, 514, 366, -269, -269, 223, 367, 187, -19, + -19, -19, -19, 52, 58, 231, 14, -19, -19, -19, + 463, 239, 109, 363, 364, -162, 488, 375, 246, 280, + 489, -162, 109, -19, 183, -162, 115, 25, 242, 481, + 183, -162, 464, 518, 523, 116, 210, 221, 471, -105, + -105, -105, -105, 54, 53, -105, 519, -105, -105, -105, + 106, 5, 55, 7, 56, 446, 33, 34, 376, 9, + 10, 11, -162, -105, 247, 465, -162, 633, 14, 565, + 472, 221, -162, 408, 412, 13, -162, -19, 349, 353, + 635, 507, 110, 111, 106, 349, 353, 438, 180, 248, + 420, 422, 477, 546, 384, 59, 60, 181, 182, 200, + 131, 226, 227, 451, 446, 452, 497, 251, 406, 411, + 486, 252, 25, 429, 598, 104, 431, -105, 315, -82, + 546, 423, 292, 253, 421, 168, 169, 170, 256, 257, + 612, 109, 478, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 41, 500, 70, 517, 198, + 411, 306, 41, 114, 648, 131, 649, 307, 210, 25, + 313, -325, -325, -325, -325, 119, 326, 46, 332, -325, + -325, -325, 14, 336, 199, 203, 226, 227, 119, 14, + 542, 199, 203, 333, 524, -325, 338, 485, 241, 198, + 59, 60, 410, 58, 541, 110, 111, 341, 58, 115, + 344, 405, 182, 681, 286, 287, 342, 542, 116, 406, + 406, 689, 14, 142, 348, 546, 411, 411, 577, 41, + 225, 541, 41, 403, -267, -267, 198, 347, 544, 307, + 490, 555, 180, 579, 345, 346, 352, 545, 379, -101, + 357, 181, 182, 362, 25, 365, 14, 392, 599, 14, + 52, 602, 605, 178, 380, 669, 670, 616, 386, 609, + 585, 587, 615, 286, 287, 397, 410, 41, 114, 404, + 387, 198, 41, 403, 622, 405, 182, 390, 405, 182, + 350, 625, 466, 467, 544, 151, 153, 555, 512, 513, + 54, 53, 632, 545, 14, 399, 215, 618, 215, 14, + 25, 5, 542, 7, 188, 402, 388, 417, 419, 9, + 10, 11, 437, 432, 115, -304, 541, 495, 398, 404, + -31, 503, 504, 116, 602, 13, 505, 14, 405, 182, + 119, 294, 46, 295, 5, 6, 7, 8, 525, 563, + 296, 564, 9, 10, 11, -32, 672, 180, 567, 41, + 570, 427, 602, 198, 571, 573, 181, 182, 13, 580, + 14, 210, 574, -114, -114, -114, -114, -114, -114, -114, + 455, -114, -114, -114, -114, -114, 14, -114, -114, -114, + -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, + -114, -114, 575, -114, -114, 582, 42, 583, 584, 588, + -114, 596, 600, -114, 427, 43, -385, 611, -114, -114, + -114, 608, 610, 624, -114, -114, 480, 127, 128, -114, + 126, 127, 128, 9, 10, 11, 501, 9, 10, 11, + 59, 60, 191, 192, 193, 455, 510, -114, -114, -114, + -114, 143, -114, 68, 5, 14, 7, 96, 69, 70, + 626, 71, 9, 10, 11, 628, 455, 629, 640, 521, + 171, 172, 631, 173, 174, 175, 176, 641, 13, 72, + 651, 15, 656, 73, 74, 660, 455, 664, 665, 455, + 75, 455, 627, 76, 668, 127, 128, 674, 77, 78, + 79, 9, 10, 11, 80, 81, 566, 677, 232, 82, + 680, 5, 683, 7, 96, 688, 691, 572, 692, 9, + 10, 11, 164, 165, 166, 167, 168, 169, 170, 83, + 84, 603, -91, 311, 492, 13, 594, 360, 15, 125, + 595, 479, 358, 455, 440, 483, -325, -325, -325, -325, + -325, -325, -325, 289, -325, -325, -325, -325, -325, 560, + -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, + -325, -325, -325, -325, -325, 391, -325, -325, 328, 5, + 6, 7, 8, -325, 233, -261, -325, 9, 10, 11, + 630, -325, -325, -325, 385, 508, 484, -325, -325, 335, + 493, 294, -325, 13, 5, 6, 7, 8, 389, 448, + 296, 638, 9, 10, 11, 166, 167, 168, 169, 170, + -325, 673, -325, -325, 210, -325, -325, -325, 13, 498, + 14, -325, -325, 639, -325, 675, 354, 0, -325, 416, + -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, + -325, 0, -325, 0, -325, 0, -325, -325, 0, 0, + 0, 0, 0, -325, 171, 172, -325, 173, 174, 175, + 176, -325, -325, -325, 0, 0, -385, -325, -325, 0, + 0, 0, -325, 232, 0, 0, 5, 0, 7, 96, + 0, 0, 0, 0, 9, 10, 11, 0, 0, 0, + -325, -300, -325, -325, 589, -325, -325, -325, 0, 0, + 13, -325, -325, 15, -325, 0, 0, 0, -325, 0, + -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, + -325, 0, -325, 0, -325, 0, -325, -325, 0, 5, + 6, 7, 8, -325, 0, 415, -325, 9, 10, 11, + 0, -325, -325, -325, 0, 0, 0, -325, -325, 0, + 0, 0, -325, 13, 0, 14, 0, 0, 0, 5, + 6, 7, 8, 0, 0, 0, 0, 9, 10, 11, + -325, 0, -325, -325, 619, -325, -335, -335, 0, 0, + 0, -335, -335, 13, -335, 14, 0, 0, -335, 0, + -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, + -335, 0, -335, 0, -335, 0, -335, -335, 0, 0, + 0, 0, 0, -335, 0, 0, -335, 0, 0, 0, + 0, -335, -335, -335, 0, 0, 0, -335, -335, 0, + 0, 449, -335, 450, 60, 0, 0, 0, 69, 70, + 0, 71, 163, 164, 165, 166, 167, 168, 169, 170, + -335, 0, -335, -335, 0, -335, 0, 0, 0, 72, + 0, 15, 0, 73, 74, 0, 0, 0, 0, 0, + 75, 0, 0, 76, 0, 0, 0, 0, 77, 78, + 79, 0, 0, 0, 80, 81, 0, 0, 451, 82, + 452, 449, 0, 450, 60, 0, 0, 0, 69, 70, + 0, 71, 0, 0, 0, 0, 0, 0, -190, 83, + 84, 0, 453, 0, 0, 0, 0, 0, 0, 72, + 0, 15, 0, 73, 74, 0, 0, 0, 0, 0, + 75, 0, 0, 76, 0, 0, 0, 0, 77, 78, + 79, 0, 0, 0, 80, 81, 0, 0, 451, 82, + 452, 449, 0, 68, 0, 0, 0, 0, 69, 70, + 0, 71, 0, 0, 0, 0, 0, 0, -258, 83, + 84, 0, 453, 0, 0, 0, 0, 0, 0, 72, + 0, 15, 0, 73, 74, 0, -203, 0, 0, 0, + 75, 0, 0, 76, 0, 0, 0, 0, 77, 78, + 79, 0, 0, 0, 80, 81, 0, 0, -203, 82, + -203, 425, 0, 68, 0, 0, 0, 0, 69, 70, + 0, 71, 0, 0, 0, 0, 0, 0, 0, 83, + 84, 0, 453, 0, 0, 0, 0, 0, 0, 72, + 0, 15, 0, 73, 74, 0, 0, 0, 0, 0, + 75, 0, 0, 76, 0, 0, 0, 0, 77, 78, + 79, 0, 0, 0, 80, 81, 449, 0, 68, 82, + 0, 0, 0, 69, 70, 108, 71, 0, -27, -27, + -27, -27, 0, 0, 0, 0, -27, -27, -27, 83, + 84, 0, 426, 0, 72, 0, 15, 0, 73, 74, + 0, 109, -27, 0, -162, 75, 0, 0, 76, 0, + -162, 0, 0, 77, 78, 79, 0, 0, 0, 80, + 81, 0, 0, 0, 82, 0, 0, 0, 0, 0, + 0, 0, 0, 110, 111, 0, 0, 229, 0, 0, + -23, -23, -23, -23, 83, 84, 0, 453, -23, -23, + -23, -162, 68, 0, 0, -162, -27, 69, 70, 0, + 71, 0, 0, 109, -23, 0, -162, 0, 0, 0, + 0, 0, -162, 0, 0, 0, 0, 0, 72, 68, + 15, 0, 73, 74, 69, 70, 0, 71, 0, 75, + 0, 0, 76, 0, 0, 110, 111, 77, 78, 207, + 0, 0, 0, 80, 81, 72, 0, 15, 82, 73, + 74, 0, 0, -162, 0, 0, 75, -162, -23, 76, + 0, 0, 0, 0, 77, 78, 79, 0, 83, 84, + 80, 81, 208, 0, 68, 82, 0, 0, 0, 69, + 70, 0, 71, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 83, 84, 0, 0, 283, + 72, 68, 15, 0, 73, 74, 69, 70, 0, 71, 0, 75, 0, 0, 76, 0, 0, 0, 0, 77, - 78, 79, 0, 0, 0, 80, 81, 0, 0, 447, - 82, 448, 445, 0, 446, 60, 0, 0, 0, 69, - 70, 0, 71, 0, 0, 0, 0, 0, 0, -190, - 83, 84, 0, 449, 0, 0, 0, 0, 0, 0, - 72, 0, 15, 0, 73, 74, 0, 0, 0, 0, - 0, 75, 0, 0, 76, 0, 0, 0, 0, 77, - 78, 79, 0, 0, 0, 80, 81, 0, 0, 447, - 82, 448, 445, 0, 68, 0, 0, 0, 0, 69, - 70, 0, 71, 0, 0, 0, 0, 0, 0, -258, - 83, 84, 0, 449, 0, 0, 0, 0, 0, 0, - 72, 0, 15, 0, 73, 74, 0, -203, 0, 0, - 0, 75, 0, 0, 76, 0, 0, 0, 0, 77, - 78, 79, 0, 0, 0, 80, 81, 0, 0, -203, - 82, -203, 421, 0, 68, 0, 0, 0, 0, 69, - 70, 0, 71, 231, 0, 0, 5, 0, 7, 96, - 83, 84, 0, 449, 9, 10, 11, 0, 0, 0, - 72, 0, 15, 0, 73, 74, 0, 0, 0, 0, - 13, 75, 0, 15, 76, 0, 0, 0, 0, 77, - 78, 79, 0, 0, 0, 80, 81, 445, 0, 68, - 82, 0, 0, 0, 69, 70, 228, 71, 0, -23, - -23, -23, -23, 0, 0, 0, 0, -23, -23, -23, - 83, 84, 0, 422, 0, 72, 0, 15, 0, 73, - 74, 0, 109, -23, 0, -162, 75, 0, 0, 76, - 0, -162, 0, 0, 77, 78, 79, 0, 0, 0, - 80, 81, 0, 0, 0, 82, 0, 0, 0, 0, - 0, 0, 0, 0, 110, 111, 0, 0, 222, 0, - 0, -19, -19, -19, -19, 83, 84, 0, 449, -19, - -19, -19, -162, 68, 0, 0, -162, -23, 69, 70, - 0, 71, 0, 0, 109, -19, 0, -162, 5, 6, - 7, 8, 0, -162, 411, 0, 9, 10, 11, 72, - 68, 15, 0, 73, 74, 69, 70, 0, 71, 0, - 75, 0, 13, 76, 14, 0, 0, 0, 77, 78, - 206, 0, 0, 0, 80, 81, 72, 0, 15, 82, - 73, 74, 0, 0, -162, 0, 0, 75, -162, -19, - 76, 0, 0, 0, 0, 77, 78, 79, 0, 83, - 84, 80, 81, 207, 0, 68, 82, 0, 0, 0, - 69, 70, 0, 71, 0, 5, 6, 7, 8, 0, - 0, 0, 0, 9, 10, 11, 83, 84, 0, 0, - 282, 72, 68, 15, 0, 73, 74, 69, 70, 13, - 71, 14, 75, 0, 0, 76, 0, 0, 0, 0, - 77, 78, 79, 0, 0, 0, 80, 81, 72, 0, - 15, 82, 73, 74, 0, 0, 0, 0, 0, 75, - 0, 0, 76, 0, 0, 0, 0, 77, 78, 79, - 0, 83, 84, 80, 81, 303, 0, 68, 82, 0, - 0, 0, 69, 70, 0, 71, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 83, 84, - 0, 0, 319, 72, 68, 15, 0, 73, 74, 69, - 70, 0, 71, 0, 75, 0, 0, 76, 0, 0, - 0, 0, 77, 78, 79, 0, 0, 0, 80, 81, - 72, 0, 15, 82, 73, 74, 0, 5, 0, 7, - 187, 75, 0, 0, 76, 9, 10, 11, 0, 77, - 78, 511, 0, 83, 84, 80, 81, 352, 0, 68, - 82, 13, 0, 0, 69, 70, 0, 71, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 0, - 83, 84, 0, 180, 512, 72, 0, 15, 0, 73, - 74, 603, 181, 182, 0, 0, 75, 0, 0, 76, + 78, 79, 0, 0, 0, 80, 81, 72, 0, 15, + 82, 73, 74, 0, 0, 0, 0, 0, 75, 0, + 0, 76, 0, 0, 0, 0, 77, 78, 79, 0, + 83, 84, 80, 81, 305, 0, 68, 82, 0, 0, + 0, 69, 70, 0, 71, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 0, 83, 84, 0, + 0, 321, 72, 68, 15, 0, 73, 74, 69, 70, + 0, 71, 0, 75, 0, 0, 76, 0, 0, 0, + 0, 77, 78, 79, 0, 0, 0, 80, 81, 72, + 0, 15, 82, 73, 74, 0, 0, 0, 0, 0, + 75, 0, 0, 76, 0, 0, 0, 0, 77, 78, + 515, 0, 83, 84, 80, 81, 355, 0, 68, 82, + 0, 0, 0, 69, 70, 0, 71, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 0, 0, 83, + 84, 0, 0, 516, 72, 0, 15, 0, 73, 74, + 606, 0, 0, 0, 0, 75, 0, 0, 76, 0, + 0, 0, 0, 77, 78, 79, 0, 0, 0, 80, + 81, 0, 0, 0, 82, 154, 155, 156, 607, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 0, 83, 84, 0, 0, 562, 450, + 527, 6, 7, 8, 69, 70, 0, 71, 9, 10, + 11, 528, 0, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 13, 72, 14, 15, 0, 73, + 74, 0, 0, 0, 0, 0, 75, 0, 0, 76, + 0, 0, 0, 0, 77, 78, 79, 14, 0, 0, + 80, 81, 154, 155, 156, 82, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 0, 0, 0, 540, 0, 83, 84, 0, 248, 450, + 60, 0, 0, 0, 69, 70, 0, 71, 0, 0, + 0, 528, 0, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 0, 72, 0, 15, 0, 73, + 74, 0, 0, 0, 0, 0, 75, 0, 0, 76, 0, 0, 0, 0, 77, 78, 79, 0, 0, 0, - 80, 81, 0, 0, 0, 82, 154, 155, 156, 604, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 0, 83, 84, 0, 0, 559, - 446, 523, 6, 7, 8, 69, 70, 0, 71, 9, - 10, 11, 524, 0, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 13, 72, 14, 15, 0, - 73, 74, 0, 0, 0, 0, 0, 75, 0, 0, - 76, 0, 0, 0, 0, 77, 78, 79, 14, 0, - 0, 80, 81, 154, 155, 156, 82, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 0, 0, 0, 536, 0, 83, 84, 0, 247, - 446, 60, 0, 0, 0, 69, 70, 0, 71, 0, - 0, 0, 524, 0, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 0, 72, 0, 15, 0, + 80, 81, 0, 68, 0, 82, 0, 0, 69, 70, + 0, 71, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 0, 0, 540, 0, 83, 84, 0, 248, 72, + 0, 15, 0, 73, 74, 0, 0, 0, 0, 0, + 75, 0, 0, 76, 0, 0, 0, 0, 77, 78, + 79, 0, 0, 0, 80, 81, 0, 0, 0, 82, + 68, 5, 6, 7, 8, 69, 70, 0, 71, 9, + 10, 11, 0, 0, 0, 0, 0, 0, 0, 83, + 84, 0, 339, 0, 0, 13, 72, 14, 15, 0, 73, 74, 0, 0, 0, 0, 0, 75, 0, 0, 76, 0, 0, 0, 0, 77, 78, 79, 0, 0, - 0, 80, 81, 0, 68, 0, 82, 0, 0, 69, - 70, 0, 71, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 0, 536, 0, 83, 84, 0, 247, + 0, 80, 81, 0, 68, 5, 82, 7, 96, 69, + 70, 0, 71, 9, 10, 11, 0, 68, 0, 0, + 0, 0, 69, 70, 0, 71, 83, 84, 0, 13, 72, 0, 15, 0, 73, 74, 0, 0, 0, 0, + 0, 75, 0, 72, 76, 15, 0, 73, 74, 77, + 78, 79, 0, 0, 75, 80, 81, 76, 0, 0, + 82, 0, 77, 78, 79, 0, 0, 0, 80, 81, + 68, 0, 0, 82, 0, 69, 70, 0, 71, 0, + 83, 84, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 576, 0, 83, 84, 0, 72, 68, 15, 0, + 73, 74, 69, 70, 0, 71, 0, 75, 0, 0, + 76, 0, 0, 0, 0, 77, 78, 79, 0, 0, + 0, 80, 81, 72, 68, 15, 82, 73, 74, 69, + 70, 0, 71, 0, 75, 0, 0, 76, 0, 0, + 0, 0, 77, 78, 79, 0, 83, 84, 80, 81, + 72, 359, 15, 150, 73, 74, 69, 70, 0, 71, 0, 75, 0, 0, 76, 0, 0, 0, 0, 77, - 78, 79, 0, 0, 0, 80, 81, 0, 0, 0, - 82, 68, 5, 6, 7, 8, 69, 70, 0, 71, - 9, 10, 11, 0, 0, 0, 0, 0, 0, 0, - 83, 84, 0, 337, 0, 0, 13, 72, 14, 15, - 0, 73, 74, 0, 0, 0, 0, 0, 75, 0, + 78, 79, 0, 83, 84, 80, 81, 72, 0, 15, + 152, 73, 74, 0, 0, 0, 0, 0, 75, 0, 0, 76, 0, 0, 0, 0, 77, 78, 79, 0, - 0, 0, 80, 81, 0, 68, 5, 82, 7, 96, - 69, 70, 0, 71, 9, 10, 11, 0, 68, 0, - 0, 0, 0, 69, 70, 0, 71, 83, 84, 0, - 13, 72, 0, 15, 0, 73, 74, 0, 0, 0, - 0, 0, 75, 0, 72, 76, 15, 0, 73, 74, - 77, 78, 79, 0, 0, 75, 80, 81, 76, 0, - 0, 82, 0, 77, 78, 79, 0, 0, 0, 80, - 81, 68, 0, 0, 82, 0, 69, 70, 0, 71, - 0, 83, 84, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 573, 0, 83, 84, 0, 72, 68, 15, - 0, 73, 74, 69, 70, 0, 71, 0, 75, 0, - 0, 76, 0, 0, 0, 0, 77, 78, 79, 0, - 0, 0, 80, 81, 72, 68, 15, 82, 73, 74, - 69, 70, 0, 71, 0, 75, 0, 0, 76, 0, - 0, 0, 0, 77, 78, 79, 0, 83, 84, 80, - 81, 72, 356, 15, 150, 73, 74, 69, 70, 0, - 71, 0, 75, 0, 0, 76, 0, 0, 0, 0, - 77, 78, 79, 0, 83, 84, 80, 81, 72, 0, - 15, 152, 73, 74, 0, 0, 0, 0, 0, 75, - 0, 0, 76, 0, 0, 0, 0, 77, 78, 79, - 0, 83, 84, 80, 81, 0, 0, 4, 82, -118, - 5, 6, 7, 8, 0, 0, 0, 0, 9, 10, - 11, 0, 0, 0, 0, 0, 0, 0, 83, 84, - 0, 0, 0, 12, 13, 0, 14, 15, 156, 0, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 0, 552, -118, 0, 0, 0, - 0, 0, 154, 155, 156, -118, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 154, 155, 156, 16, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 154, 155, 156, - 620, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 0, 0, 0, 553, 154, - 155, 156, 642, 157, 158, 159, 160, 161, 162, 163, + 83, 84, 80, 81, 0, 0, 4, 82, -118, 5, + 6, 7, 8, 0, 0, 0, 0, 9, 10, 11, + 0, 0, 0, 0, 0, 0, 0, 83, 84, 0, + 0, 0, 12, 13, 0, 14, 15, 5, 6, 7, + 8, 5, 6, 7, 8, 9, 10, 11, 0, 9, + 10, 11, 0, 0, 556, -118, 0, 0, 0, 0, + 0, 13, 0, 14, -118, 13, 0, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, + 155, 156, 16, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170 + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 50, 0, 0, 0, 586, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 154, 155, 156, 557, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 154, 155, 156, 645, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, + 155, 156, 623, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 156, 0, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170 }; static const short yycheck[] = { 38, - 39, 20, 27, 28, 29, 51, 203, 2, 3, 49, - 2, 3, 2, 3, 22, 21, 22, 115, 145, 120, - 223, 185, 112, 57, 43, 22, 229, 119, 181, 225, - 63, 211, 51, 101, 457, 175, 31, 416, 281, 31, - 106, 31, 39, 360, 133, 1, 30, 1, 1, 381, - 75, 566, 9, 133, 3, 4, 116, 10, 2, 3, - 38, 3, 4, 3, 4, 9, 10, 11, 73, 74, - 38, 38, 111, 0, 79, 477, 20, 102, 22, 502, - 85, 77, 180, 3, 103, 82, 640, 31, 107, 76, - 95, 125, 3, 4, 81, 497, 0, 116, 76, 43, - 201, 50, 617, 59, 101, 49, 25, 51, 76, 76, - 442, 31, 137, 57, 668, 76, 35, 36, 37, 76, - 82, 636, 212, 287, 639, 278, 641, 46, 82, 82, - 77, 78, 555, 223, 649, 54, 133, 176, 133, 229, - 82, 76, 82, 182, 461, 59, 81, 236, 173, 174, - 290, 185, 59, 150, 220, 152, 236, 217, 36, 103, - 492, 221, 106, 107, 30, 375, 681, 410, 378, 3, - 4, 82, 116, 7, 76, 4, 5, 6, 7, 81, - 58, 125, 60, 12, 13, 14, 76, 226, 150, 30, - 152, 81, 59, 59, 60, 82, 30, 38, 217, 28, - 119, 206, 221, 582, 237, 77, 239, 3, 4, 81, - 390, 130, 4, 77, 6, 7, 50, 81, 257, 244, - 12, 13, 14, 3, 4, 59, 60, 233, 1, 235, - 3, 4, 76, 323, 30, 325, 28, 81, 235, 236, - 367, 236, 38, 3, 4, 250, 285, 59, 77, 402, - 30, 27, 7, 287, 50, 587, 420, 437, 398, 50, - 440, 205, 82, 59, 289, 5, 462, 7, 59, 60, - 50, 3, 82, 217, 3, 7, 220, 221, 7, 59, - 60, 89, 90, 59, 60, 77, 78, 30, 296, 295, - 296, 81, 360, 361, 9, 50, 59, 216, 30, 296, - 390, 30, 310, 401, 59, 60, 331, 460, 77, 407, - 474, 403, 81, 310, 467, 77, 59, 60, 50, 81, - 1, 50, 76, 4, 5, 6, 7, 59, 60, 76, - 59, 12, 13, 14, 59, 60, 78, 281, 428, 59, - 60, 360, 361, 50, 51, 52, 27, 28, 438, 30, - 440, 76, 296, 77, 77, 36, 76, 1, 81, 78, - 4, 5, 6, 7, 389, 371, 372, 494, 12, 13, - 14, 3, 418, 59, 60, 372, 3, 77, 59, 60, - 76, 81, 76, 402, 28, 27, 420, 77, 30, 429, - 76, 81, 38, 77, 36, 522, 77, 81, 30, 418, - 81, 82, 1, 30, 3, 4, 5, 6, 7, 82, - 508, 10, 76, 12, 13, 14, 360, 361, 50, 59, - 364, 77, 447, 50, 463, 81, 27, 59, 631, 28, - 633, 30, 59, 60, 9, 77, 59, 60, 82, 81, - 474, 460, 461, 6, 7, 83, 224, 77, 467, 12, - 13, 14, 230, 59, 60, 494, 59, 60, 402, 484, - 238, 77, 78, 3, 4, 36, 410, 7, 77, 494, - 77, 78, 416, 81, 418, 59, 60, 76, 675, 4, - 5, 6, 7, 522, 403, 429, 683, 12, 13, 14, - 30, 618, 36, 78, 533, 76, 76, 522, 76, 494, - 38, 83, 494, 28, 494, 30, 511, 76, 76, 534, - 50, 612, 76, 83, 76, 36, 460, 461, 83, 59, - 78, 3, 4, 467, 78, 564, 78, 32, 567, 568, - 38, 658, 659, 541, 540, 541, 575, 83, 584, 558, - 76, 631, 582, 633, 541, 3, 551, 77, 30, 81, - 494, 590, 77, 38, 78, 78, 551, 38, 597, 551, - 78, 551, 78, 78, 81, 584, 38, 78, 50, 608, - 149, 83, 59, 59, 38, 154, 155, 59, 77, 618, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 59, 618, 77, 7, 38, 541, 77, 77, - 16, 640, 78, 59, 77, 383, 384, 551, 77, 387, - 4, 5, 6, 7, 558, 59, 76, 17, 12, 13, - 14, 9, 77, 662, 76, 76, 404, 405, 406, 668, - 408, 409, 77, 76, 28, 59, 30, 77, 582, 77, - 584, 3, 4, 5, 6, 7, 1, 77, 3, 4, - 5, 6, 7, 8, 9, 433, 11, 12, 13, 14, - 15, 81, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 76, 33, 34, - 259, 260, 77, 77, 76, 40, 77, 77, 43, 0, - 3, 4, 0, 48, 49, 50, 290, 567, 27, 54, - 55, 30, 212, 481, 59, 438, 551, 36, 1, 53, - 3, 4, 289, 6, 7, 8, 9, 30, 11, 12, - 13, 14, 77, 78, 79, 80, 419, 82, 426, 188, - 59, 60, 500, 333, 456, 28, 29, 50, 31, 517, - 33, 34, 236, 428, 244, 331, 59, 40, 77, 325, - 43, 330, 81, 440, 391, 48, 49, 50, 438, 618, - 618, 54, 55, 342, 663, 665, 59, 1, 364, -1, - 4, 5, 6, 7, -1, 284, 10, -1, 12, 13, - 14, -1, -1, -1, -1, 563, 79, 80, -1, 82, - -1, -1, -1, -1, 28, 374, -1, 5, 6, 7, - -1, 579, -1, -1, 12, 13, 14, 48, 49, 50, - 51, 52, -1, 1, 393, 3, 4, 5, 6, 7, - 8, 9, 30, 11, 12, 13, 14, 15, -1, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, -1, 33, 34, 426, 82, 5, - 6, 7, 40, -1, -1, 43, 12, 13, 14, -1, - 48, 49, 50, -1, -1, -1, 54, 55, -1, 448, - 1, 59, -1, 4, -1, 6, 7, -1, 457, 458, - -1, 12, 13, 14, -1, -1, -1, -1, -1, 77, - -1, 79, 80, -1, 82, -1, -1, 28, 477, -1, - 31, 480, 54, 55, -1, 57, 58, 59, 60, -1, - -1, -1, 1, -1, 3, 4, -1, -1, 497, 8, - 9, 500, 11, 502, 76, -1, 15, -1, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 518, - 29, -1, 31, -1, 33, 34, 77, 78, -1, -1, - 529, 40, 3, 4, 43, -1, 7, -1, -1, 48, - 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, - 59, -1, -1, 552, -1, -1, 555, -1, -1, 30, - 45, 46, 47, 48, 49, 50, 51, 52, 77, 78, - 79, 80, -1, 82, -1, 1, -1, 3, 4, 50, - -1, -1, 8, 9, -1, 11, -1, -1, 59, 15, - -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, -1, 29, 603, 31, -1, 33, 34, -1, - 4, 5, 6, 7, 40, -1, -1, 43, 12, 13, - 14, -1, 48, 49, 50, -1, -1, -1, 54, 55, - -1, -1, 1, 59, 28, 4, 5, 6, 7, -1, - -1, 10, -1, 12, 13, 14, -1, -1, -1, -1, - -1, 77, -1, 79, 80, 1, 82, 3, 4, 28, - -1, 30, 8, 9, -1, 11, -1, -1, -1, 15, - -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, -1, 29, -1, 31, -1, 33, 34, -1, - -1, -1, -1, -1, 40, 54, 55, 43, 57, 58, - 59, 60, 48, 49, 50, -1, -1, 76, 54, 55, - -1, -1, 1, 59, 3, 4, -1, -1, -1, 8, - 9, -1, 11, 46, 47, 48, 49, 50, 51, 52, - -1, 77, -1, 79, 80, -1, 82, -1, -1, -1, - 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, - -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, - 49, 50, -1, -1, -1, 54, 55, -1, -1, 58, - 59, 60, 1, -1, 3, 4, -1, -1, -1, 8, - 9, -1, 11, -1, -1, -1, -1, -1, -1, 78, - 79, 80, -1, 82, -1, -1, -1, -1, -1, -1, - 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, - -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, - 49, 50, -1, -1, -1, 54, 55, -1, -1, 58, - 59, 60, 1, -1, 3, -1, -1, -1, -1, 8, - 9, -1, 11, -1, -1, -1, -1, -1, -1, 78, - 79, 80, -1, 82, -1, -1, -1, -1, -1, -1, - 29, -1, 31, -1, 33, 34, -1, 36, -1, -1, - -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, - 49, 50, -1, -1, -1, 54, 55, -1, -1, 58, - 59, 60, 1, -1, 3, -1, -1, -1, -1, 8, - 9, -1, 11, 1, -1, -1, 4, -1, 6, 7, - 79, 80, -1, 82, 12, 13, 14, -1, -1, -1, - 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, - 28, 40, -1, 31, 43, -1, -1, -1, -1, 48, - 49, 50, -1, -1, -1, 54, 55, 1, -1, 3, - 59, -1, -1, -1, 8, 9, 1, 11, -1, 4, + 39, 51, 27, 28, 29, 120, 49, 22, 101, 204, + 20, 2, 3, 57, 2, 3, 186, 21, 22, 145, + 2, 3, 384, 115, 224, 63, 212, 2, 3, 420, + 230, 282, 226, 43, 9, 10, 11, 106, 116, 1, + 31, 51, 133, 31, 3, 20, 82, 22, 22, 31, + 75, 73, 74, 225, 112, 461, 31, 79, 119, 231, + 133, 38, 9, 85, 175, 39, 1, 239, 43, 30, + 1, 30, 111, 95, 49, 181, 51, 102, 30, 10, + 38, 125, 57, 5, 446, 7, 38, 202, 180, 3, + 4, 50, 25, 103, 0, 3, 4, 107, 38, 76, + 59, 507, 35, 36, 37, 3, 116, 569, 82, 0, + 3, 4, 137, 46, 150, 59, 152, 59, 76, 289, + 82, 54, 183, 98, 59, 76, 101, 101, 103, 76, + 81, 106, 107, 31, 482, 497, 76, 176, 27, 643, + 218, 116, 186, 182, 222, 133, 237, 59, 173, 174, + 125, 82, 221, 559, 502, 213, 76, 82, 620, 133, + 76, 81, 30, 414, 237, 81, 224, 671, 82, 30, + 59, 60, 230, 279, 82, 77, 150, 639, 152, 285, + 642, 292, 644, 59, 27, 207, 119, 30, 227, 82, + 652, 59, 60, 36, 585, 3, 4, 130, 59, 60, + 238, 4, 240, 6, 7, 82, 181, 393, 218, 12, + 13, 14, 222, 82, 386, 387, 59, 60, 390, 258, + 245, 76, 684, 77, 76, 28, 81, 81, 590, 251, + 234, 206, 236, 81, 77, 407, 408, 409, 81, 9, + 412, 413, 50, 218, 370, 289, 221, 222, 287, 237, + 183, 76, 59, 77, 424, 441, 81, 81, 444, 3, + 4, 76, 236, 237, 77, 437, 291, 325, 81, 327, + 363, 364, 466, 77, 77, 78, 1, 81, 76, 4, + 5, 6, 7, 298, 217, 78, 30, 12, 13, 14, + 401, 78, 27, 297, 298, 30, 77, 312, 76, 405, + 81, 36, 27, 28, 279, 30, 50, 282, 333, 479, + 285, 36, 404, 77, 486, 59, 1, 81, 410, 4, + 5, 6, 7, 298, 298, 10, 77, 12, 13, 14, + 81, 4, 5, 6, 7, 393, 77, 78, 312, 12, + 13, 14, 77, 28, 76, 406, 81, 77, 30, 521, + 411, 81, 77, 363, 364, 28, 81, 82, 464, 465, + 77, 36, 59, 60, 81, 471, 472, 392, 50, 82, + 374, 375, 422, 499, 432, 3, 4, 59, 60, 76, + 424, 59, 60, 58, 442, 60, 444, 76, 363, 364, + 433, 77, 367, 378, 566, 405, 381, 82, 76, 38, + 526, 375, 59, 149, 77, 50, 51, 52, 154, 155, + 582, 27, 422, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 3, 451, 9, 467, 7, + 405, 83, 3, 4, 634, 479, 636, 77, 1, 414, + 36, 4, 5, 6, 7, 420, 77, 422, 36, 12, + 13, 14, 30, 78, 464, 465, 59, 60, 433, 30, + 499, 471, 472, 81, 489, 28, 76, 38, 1, 7, + 3, 4, 50, 406, 499, 59, 60, 76, 411, 50, + 38, 59, 60, 678, 59, 60, 76, 526, 59, 464, + 465, 686, 30, 515, 83, 621, 471, 472, 537, 3, + 615, 526, 3, 4, 77, 78, 7, 76, 499, 77, + 78, 499, 50, 538, 260, 261, 83, 499, 36, 82, + 76, 59, 60, 76, 499, 76, 30, 32, 567, 30, + 545, 570, 571, 555, 83, 661, 662, 587, 78, 578, + 544, 545, 585, 59, 60, 38, 50, 3, 4, 50, + 78, 7, 3, 4, 593, 59, 60, 78, 59, 60, + 76, 600, 59, 60, 555, 89, 90, 555, 464, 465, + 545, 545, 611, 555, 30, 83, 634, 587, 636, 30, + 555, 4, 621, 6, 7, 76, 332, 3, 77, 12, + 13, 14, 78, 81, 50, 78, 621, 78, 344, 50, + 38, 38, 78, 59, 643, 28, 81, 30, 59, 60, + 585, 1, 587, 3, 4, 5, 6, 7, 78, 83, + 10, 78, 12, 13, 14, 38, 665, 50, 59, 3, + 59, 377, 671, 7, 59, 38, 59, 60, 28, 7, + 30, 1, 77, 3, 4, 5, 6, 7, 8, 9, + 396, 11, 12, 13, 14, 15, 30, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 77, 33, 34, 38, 50, 77, 77, 16, + 40, 78, 59, 43, 430, 59, 76, 59, 48, 49, + 50, 77, 77, 76, 54, 55, 5, 6, 7, 59, + 5, 6, 7, 12, 13, 14, 452, 12, 13, 14, + 3, 4, 5, 6, 7, 461, 462, 77, 78, 79, + 80, 1, 82, 3, 4, 30, 6, 7, 8, 9, + 17, 11, 12, 13, 14, 77, 482, 76, 76, 485, + 54, 55, 77, 57, 58, 59, 60, 76, 28, 29, + 77, 31, 9, 33, 34, 77, 502, 77, 59, 505, + 40, 507, 76, 43, 81, 6, 7, 77, 48, 49, + 50, 12, 13, 14, 54, 55, 522, 76, 1, 59, + 76, 4, 77, 6, 7, 77, 0, 533, 0, 12, + 13, 14, 46, 47, 48, 49, 50, 51, 52, 79, + 80, 570, 82, 213, 442, 28, 555, 292, 31, 53, + 556, 423, 291, 559, 1, 430, 3, 4, 5, 6, + 7, 8, 9, 189, 11, 12, 13, 14, 15, 505, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 335, 33, 34, 237, 4, + 5, 6, 7, 40, 77, 78, 43, 12, 13, 14, + 606, 48, 49, 50, 327, 460, 432, 54, 55, 245, + 442, 1, 59, 28, 4, 5, 6, 7, 333, 394, + 10, 621, 12, 13, 14, 48, 49, 50, 51, 52, + 77, 666, 79, 80, 1, 82, 3, 4, 28, 444, + 30, 8, 9, 621, 11, 668, 286, -1, 15, 367, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, -1, 29, -1, 31, -1, 33, 34, -1, -1, + -1, -1, -1, 40, 54, 55, 43, 57, 58, 59, + 60, 48, 49, 50, -1, -1, 76, 54, 55, -1, + -1, -1, 59, 1, -1, -1, 4, -1, 6, 7, + -1, -1, -1, -1, 12, 13, 14, -1, -1, -1, + 77, 78, 79, 80, 1, 82, 3, 4, -1, -1, + 28, 8, 9, 31, 11, -1, -1, -1, 15, -1, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, -1, 29, -1, 31, -1, 33, 34, -1, 4, + 5, 6, 7, 40, -1, 10, 43, 12, 13, 14, + -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, + -1, -1, 59, 28, -1, 30, -1, -1, -1, 4, 5, 6, 7, -1, -1, -1, -1, 12, 13, 14, - 79, 80, -1, 82, -1, 29, -1, 31, -1, 33, - 34, -1, 27, 28, -1, 30, 40, -1, -1, 43, - -1, 36, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 60, -1, -1, 1, -1, - -1, 4, 5, 6, 7, 79, 80, -1, 82, 12, - 13, 14, 77, 3, -1, -1, 81, 82, 8, 9, - -1, 11, -1, -1, 27, 28, -1, 30, 4, 5, - 6, 7, -1, 36, 10, -1, 12, 13, 14, 29, - 3, 31, -1, 33, 34, 8, 9, -1, 11, -1, - 40, -1, 28, 43, 30, -1, -1, -1, 48, 49, - 50, -1, -1, -1, 54, 55, 29, -1, 31, 59, - 33, 34, -1, -1, 77, -1, -1, 40, 81, 82, - 43, -1, -1, -1, -1, 48, 49, 50, -1, 79, - 80, 54, 55, 83, -1, 3, 59, -1, -1, -1, - 8, 9, -1, 11, -1, 4, 5, 6, 7, -1, - -1, -1, -1, 12, 13, 14, 79, 80, -1, -1, - 83, 29, 3, 31, -1, 33, 34, 8, 9, 28, - 11, 30, 40, -1, -1, 43, -1, -1, -1, -1, - 48, 49, 50, -1, -1, -1, 54, 55, 29, -1, - 31, 59, 33, 34, -1, -1, -1, -1, -1, 40, - -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, - -1, 79, 80, 54, 55, 83, -1, 3, 59, -1, - -1, -1, 8, 9, -1, 11, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 79, 80, - -1, -1, 83, 29, 3, 31, -1, 33, 34, 8, - 9, -1, 11, -1, 40, -1, -1, 43, -1, -1, - -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, - 29, -1, 31, 59, 33, 34, -1, 4, -1, 6, - 7, 40, -1, -1, 43, 12, 13, 14, -1, 48, - 49, 50, -1, 79, 80, 54, 55, 83, -1, 3, - 59, 28, -1, -1, 8, 9, -1, 11, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, - 79, 80, -1, 50, 83, 29, -1, 31, -1, 33, - 34, 10, 59, 60, -1, -1, 40, -1, -1, 43, + 77, -1, 79, 80, 1, 82, 3, 4, -1, -1, + -1, 8, 9, 28, 11, 30, -1, -1, 15, -1, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, -1, 29, -1, 31, -1, 33, 34, -1, -1, + -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, + -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, + -1, 1, 59, 3, 4, -1, -1, -1, 8, 9, + -1, 11, 45, 46, 47, 48, 49, 50, 51, 52, + 77, -1, 79, 80, -1, 82, -1, -1, -1, 29, + -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, + 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, + 50, -1, -1, -1, 54, 55, -1, -1, 58, 59, + 60, 1, -1, 3, 4, -1, -1, -1, 8, 9, + -1, 11, -1, -1, -1, -1, -1, -1, 78, 79, + 80, -1, 82, -1, -1, -1, -1, -1, -1, 29, + -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, + 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, + 50, -1, -1, -1, 54, 55, -1, -1, 58, 59, + 60, 1, -1, 3, -1, -1, -1, -1, 8, 9, + -1, 11, -1, -1, -1, -1, -1, -1, 78, 79, + 80, -1, 82, -1, -1, -1, -1, -1, -1, 29, + -1, 31, -1, 33, 34, -1, 36, -1, -1, -1, + 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, + 50, -1, -1, -1, 54, 55, -1, -1, 58, 59, + 60, 1, -1, 3, -1, -1, -1, -1, 8, 9, + -1, 11, -1, -1, -1, -1, -1, -1, -1, 79, + 80, -1, 82, -1, -1, -1, -1, -1, -1, 29, + -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, + 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, + 50, -1, -1, -1, 54, 55, 1, -1, 3, 59, + -1, -1, -1, 8, 9, 1, 11, -1, 4, 5, + 6, 7, -1, -1, -1, -1, 12, 13, 14, 79, + 80, -1, 82, -1, 29, -1, 31, -1, 33, 34, + -1, 27, 28, -1, 30, 40, -1, -1, 43, -1, + 36, -1, -1, 48, 49, 50, -1, -1, -1, 54, + 55, -1, -1, -1, 59, -1, -1, -1, -1, -1, + -1, -1, -1, 59, 60, -1, -1, 1, -1, -1, + 4, 5, 6, 7, 79, 80, -1, 82, 12, 13, + 14, 77, 3, -1, -1, 81, 82, 8, 9, -1, + 11, -1, -1, 27, 28, -1, 30, -1, -1, -1, + -1, -1, 36, -1, -1, -1, -1, -1, 29, 3, + 31, -1, 33, 34, 8, 9, -1, 11, -1, 40, + -1, -1, 43, -1, -1, 59, 60, 48, 49, 50, + -1, -1, -1, 54, 55, 29, -1, 31, 59, 33, + 34, -1, -1, 77, -1, -1, 40, 81, 82, 43, + -1, -1, -1, -1, 48, 49, 50, -1, 79, 80, + 54, 55, 83, -1, 3, 59, -1, -1, -1, 8, + 9, -1, 11, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 79, 80, -1, -1, 83, + 29, 3, 31, -1, 33, 34, 8, 9, -1, 11, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, 29, -1, 31, + 59, 33, 34, -1, -1, -1, -1, -1, 40, -1, + -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, + 79, 80, 54, 55, 83, -1, 3, 59, -1, -1, + -1, 8, 9, -1, 11, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, -1, 79, 80, -1, + -1, 83, 29, 3, 31, -1, 33, 34, 8, 9, + -1, 11, -1, 40, -1, -1, 43, -1, -1, -1, + -1, 48, 49, 50, -1, -1, -1, 54, 55, 29, + -1, 31, 59, 33, 34, -1, -1, -1, -1, -1, + 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, + 50, -1, 79, 80, 54, 55, 83, -1, 3, 59, + -1, -1, -1, 8, 9, -1, 11, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, -1, -1, 79, + 80, -1, -1, 83, 29, -1, 31, -1, 33, 34, + 10, -1, -1, -1, -1, 40, -1, -1, 43, -1, + -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, + 55, -1, -1, -1, 59, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, -1, 79, 80, -1, -1, 83, 3, + 4, 5, 6, 7, 8, 9, -1, 11, 12, 13, + 14, 15, -1, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, -1, 33, + 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, + -1, -1, -1, -1, 48, 49, 50, 30, -1, -1, + 54, 55, 35, 36, 37, 59, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + -1, -1, -1, 77, -1, 79, 80, -1, 82, 3, + 4, -1, -1, -1, 8, 9, -1, 11, -1, -1, + -1, 15, -1, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, -1, 29, -1, 31, -1, 33, + 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, -1, 79, 80, -1, -1, 83, + 54, 55, -1, 3, -1, 59, -1, -1, 8, 9, + -1, 11, 44, 45, 46, 47, 48, 49, 50, 51, + 52, -1, -1, 77, -1, 79, 80, -1, 82, 29, + -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, + 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, + 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, 3, 4, 5, 6, 7, 8, 9, -1, 11, 12, - 13, 14, 15, -1, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, - 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, - 43, -1, -1, -1, -1, 48, 49, 50, 30, -1, - -1, 54, 55, 35, 36, 37, 59, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, -1, -1, -1, 77, -1, 79, 80, -1, 82, - 3, 4, -1, -1, -1, 8, 9, -1, 11, -1, - -1, -1, 15, -1, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, -1, 29, -1, 31, -1, + 13, 14, -1, -1, -1, -1, -1, -1, -1, 79, + 80, -1, 82, -1, -1, 28, 29, 30, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, - -1, 54, 55, -1, 3, -1, 59, -1, -1, 8, - 9, -1, 11, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, -1, 77, -1, 79, 80, -1, 82, + -1, 54, 55, -1, 3, 4, 59, 6, 7, 8, + 9, -1, 11, 12, 13, 14, -1, 3, -1, -1, + -1, -1, 8, 9, -1, 11, 79, 80, -1, 28, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, 29, 43, 31, -1, 33, 34, 48, + 49, 50, -1, -1, 40, 54, 55, 43, -1, -1, + 59, -1, 48, 49, 50, -1, -1, -1, 54, 55, + 3, -1, -1, 59, -1, 8, 9, -1, 11, -1, + 79, 80, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 77, -1, 79, 80, -1, 29, 3, 31, -1, + 33, 34, 8, 9, -1, 11, -1, 40, -1, -1, + 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, + -1, 54, 55, 29, 3, 31, 59, 33, 34, 8, + 9, -1, 11, -1, 40, -1, -1, 43, -1, -1, + -1, -1, 48, 49, 50, -1, 79, 80, 54, 55, + 29, 3, 31, 59, 33, 34, 8, 9, -1, 11, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, - 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, - 59, 3, 4, 5, 6, 7, 8, 9, -1, 11, - 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, - 79, 80, -1, 82, -1, -1, 28, 29, 30, 31, - -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, + 49, 50, -1, 79, 80, 54, 55, 29, -1, 31, + 59, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, - -1, -1, 54, 55, -1, 3, 4, 59, 6, 7, - 8, 9, -1, 11, 12, 13, 14, -1, 3, -1, - -1, -1, -1, 8, 9, -1, 11, 79, 80, -1, - 28, 29, -1, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, 29, 43, 31, -1, 33, 34, - 48, 49, 50, -1, -1, 40, 54, 55, 43, -1, - -1, 59, -1, 48, 49, 50, -1, -1, -1, 54, - 55, 3, -1, -1, 59, -1, 8, 9, -1, 11, - -1, 79, 80, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 77, -1, 79, 80, -1, 29, 3, 31, - -1, 33, 34, 8, 9, -1, 11, -1, 40, -1, - -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, - -1, -1, 54, 55, 29, 3, 31, 59, 33, 34, - 8, 9, -1, 11, -1, 40, -1, -1, 43, -1, - -1, -1, -1, 48, 49, 50, -1, 79, 80, 54, - 55, 29, 3, 31, 59, 33, 34, 8, 9, -1, - 11, -1, 40, -1, -1, 43, -1, -1, -1, -1, - 48, 49, 50, -1, 79, 80, 54, 55, 29, -1, - 31, 59, 33, 34, -1, -1, -1, -1, -1, 40, - -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, - -1, 79, 80, 54, 55, -1, -1, 1, 59, 3, - 4, 5, 6, 7, -1, -1, -1, -1, 12, 13, - 14, -1, -1, -1, -1, -1, -1, -1, 79, 80, - -1, -1, -1, 27, 28, -1, 30, 31, 37, -1, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, -1, 10, 50, -1, -1, -1, - -1, -1, 35, 36, 37, 59, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 35, 36, 37, 77, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 35, 36, 37, - 83, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, -1, -1, -1, 83, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 79, 80, 54, 55, -1, -1, 1, 59, 3, 4, + 5, 6, 7, -1, -1, -1, -1, 12, 13, 14, + -1, -1, -1, -1, -1, -1, -1, 79, 80, -1, + -1, -1, 27, 28, -1, 30, 31, 4, 5, 6, + 7, 4, 5, 6, 7, 12, 13, 14, -1, 12, + 13, 14, -1, -1, 10, 50, -1, -1, -1, -1, + -1, 28, -1, 30, 59, 28, -1, 30, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 35, + 36, 37, 77, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 77, -1, -1, -1, 77, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 35, 36, 37, 83, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 35, + 36, 37, 83, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 37, -1, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/lib/bison.simple" @@ -3042,22 +3050,26 @@ case 298: { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ; break;} case 299: -#line 1529 "c-parse.y" +#line 1522 "c-parse.y" +{ yyval.ttype = yyvsp[0].ttype; ; + break;} +case 300: +#line 1531 "c-parse.y" { if (pedantic && yyvsp[0].ends_in_label) pedwarn ("ANSI C forbids label at end of compound statement"); ; break;} -case 301: -#line 1538 "c-parse.y" -{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; - break;} case 302: #line 1540 "c-parse.y" +{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; + break;} +case 303: +#line 1542 "c-parse.y" { yyval.ends_in_label = 0; ; break;} -case 306: -#line 1552 "c-parse.y" +case 307: +#line 1554 "c-parse.y" { emit_line_note (input_filename, lineno); pushlevel (0); clear_last_expr (); @@ -3065,13 +3077,13 @@ case 306: expand_start_bindings (0); ; break;} -case 308: -#line 1565 "c-parse.y" +case 309: +#line 1567 "c-parse.y" { if (pedantic) pedwarn ("ANSI C forbids label declarations"); ; break;} -case 311: -#line 1576 "c-parse.y" +case 312: +#line 1578 "c-parse.y" { tree link; for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) { @@ -3081,20 +3093,20 @@ case 311: } ; break;} -case 312: -#line 1590 "c-parse.y" +case 313: +#line 1592 "c-parse.y" {; break;} -case 314: -#line 1594 "c-parse.y" -{ compstmt_count++; ; - break;} case 315: -#line 1597 "c-parse.y" -{ yyval.ttype = convert (void_type_node, integer_zero_node); ; +#line 1596 "c-parse.y" +{ compstmt_count++; ; break;} case 316: #line 1599 "c-parse.y" +{ yyval.ttype = convert (void_type_node, integer_zero_node); ; + break;} +case 317: +#line 1601 "c-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), 1, 0); yyval.ttype = poplevel (1, 1, 0); @@ -3103,18 +3115,8 @@ case 316: else pop_momentary (); ; break;} -case 317: -#line 1607 "c-parse.y" -{ emit_line_note (input_filename, lineno); - expand_end_bindings (getdecls (), kept_level_p (), 0); - yyval.ttype = poplevel (kept_level_p (), 0, 0); - if (yychar == CONSTANT || yychar == STRING) - pop_momentary_nofree (); - else - pop_momentary (); ; - break;} case 318: -#line 1615 "c-parse.y" +#line 1609 "c-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); yyval.ttype = poplevel (kept_level_p (), 0, 0); @@ -3123,8 +3125,18 @@ case 318: else pop_momentary (); ; break;} -case 321: -#line 1635 "c-parse.y" +case 319: +#line 1617 "c-parse.y" +{ emit_line_note (input_filename, lineno); + expand_end_bindings (getdecls (), kept_level_p (), 0); + yyval.ttype = poplevel (kept_level_p (), 0, 0); + if (yychar == CONSTANT || yychar == STRING) + pop_momentary_nofree (); + else + pop_momentary (); ; + break;} +case 322: +#line 1637 "c-parse.y" { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0, compstmt_count); @@ -3133,8 +3145,8 @@ case 321: if_stmt_line = yyvsp[-4].lineno; position_after_white_space (); ; break;} -case 322: -#line 1649 "c-parse.y" +case 323: +#line 1651 "c-parse.y" { stmt_count++; compstmt_count++; emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); @@ -3143,44 +3155,44 @@ case 322: expand_start_loop_continue_elsewhere (1); position_after_white_space (); ; break;} -case 323: -#line 1657 "c-parse.y" +case 324: +#line 1659 "c-parse.y" { expand_loop_continue_here (); ; break;} -case 324: -#line 1661 "c-parse.y" +case 325: +#line 1663 "c-parse.y" { yyval.filename = input_filename; ; break;} -case 325: -#line 1665 "c-parse.y" +case 326: +#line 1667 "c-parse.y" { yyval.lineno = lineno; ; break;} -case 326: -#line 1670 "c-parse.y" -{ ; - break;} case 327: -#line 1675 "c-parse.y" +#line 1672 "c-parse.y" { ; break;} case 328: -#line 1680 "c-parse.y" -{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; +#line 1677 "c-parse.y" +{ ; break;} case 329: -#line 1685 "c-parse.y" -{ yyval.ends_in_label = 0; ; +#line 1682 "c-parse.y" +{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; break;} case 330: #line 1687 "c-parse.y" -{ yyval.ends_in_label = 1; ; +{ yyval.ends_in_label = 0; ; break;} case 331: -#line 1693 "c-parse.y" +#line 1689 "c-parse.y" +{ yyval.ends_in_label = 1; ; + break;} +case 332: +#line 1695 "c-parse.y" { stmt_count++; ; break;} -case 333: -#line 1696 "c-parse.y" +case 334: +#line 1698 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); /* It appears that this should not be done--that a non-lvalue array @@ -3198,20 +3210,20 @@ case 333: iterator_expand (yyvsp[-1].ttype); clear_momentary (); ; break;} -case 334: -#line 1713 "c-parse.y" +case 335: +#line 1715 "c-parse.y" { c_expand_start_else (); yyvsp[-1].itype = stmt_count; position_after_white_space (); ; break;} -case 335: -#line 1717 "c-parse.y" +case 336: +#line 1719 "c-parse.y" { c_expand_end_cond (); if (extra_warnings && stmt_count == yyvsp[-3].itype) warning ("empty body in an else-statement"); ; break;} -case 336: -#line 1721 "c-parse.y" +case 337: +#line 1723 "c-parse.y" { c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an @@ -3221,12 +3233,12 @@ case 336: warning_with_file_and_line (if_stmt_file, if_stmt_line, "empty body in an if-statement"); ; break;} -case 337: -#line 1733 "c-parse.y" -{ c_expand_end_cond (); ; - break;} case 338: #line 1735 "c-parse.y" +{ c_expand_end_cond (); ; + break;} +case 339: +#line 1737 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); /* The emit_nop used to come before emit_line_note, @@ -3237,8 +3249,8 @@ case 338: We will see. --rms, July 15, 1991. */ emit_nop (); ; break;} -case 339: -#line 1745 "c-parse.y" +case 340: +#line 1747 "c-parse.y" { /* Don't start the loop till we have succeeded in parsing the end test. This is to make sure that we end every loop we start. */ @@ -3248,25 +3260,25 @@ case 339: truthvalue_conversion (yyvsp[-1].ttype)); position_after_white_space (); ; break;} -case 340: -#line 1754 "c-parse.y" +case 341: +#line 1756 "c-parse.y" { expand_end_loop (); ; break;} -case 341: -#line 1757 "c-parse.y" +case 342: +#line 1759 "c-parse.y" { emit_line_note (input_filename, lineno); expand_exit_loop_if_false (NULL_PTR, truthvalue_conversion (yyvsp[-2].ttype)); expand_end_loop (); clear_momentary (); ; break;} -case 342: -#line 1764 "c-parse.y" +case 343: +#line 1766 "c-parse.y" { expand_end_loop (); clear_momentary (); ; break;} -case 343: -#line 1768 "c-parse.y" +case 344: +#line 1770 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); /* See comment in `while' alternative, above. */ @@ -3278,13 +3290,13 @@ case 343: fn without calling expand_end_loop. */ ; break;} -case 344: -#line 1780 "c-parse.y" +case 345: +#line 1782 "c-parse.y" { yyvsp[0].lineno = lineno; yyval.filename = input_filename; ; break;} -case 345: -#line 1783 "c-parse.y" +case 346: +#line 1785 "c-parse.y" { /* Start the loop. Doing this after parsing all the expressions ensures we will end the loop. */ @@ -3301,8 +3313,8 @@ case 345: yyvsp[-2].filename = input_filename; position_after_white_space (); ; break;} -case 346: -#line 1799 "c-parse.y" +case 347: +#line 1801 "c-parse.y" { /* Emit the increment expression, with a line number. */ emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno); expand_loop_continue_here (); @@ -3314,8 +3326,8 @@ case 346: pop_momentary (); expand_end_loop (); ; break;} -case 347: -#line 1810 "c-parse.y" +case 348: +#line 1812 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); c_expand_start_case (yyvsp[-1].ttype); @@ -3324,42 +3336,42 @@ case 347: push_momentary (); position_after_white_space (); ; break;} -case 348: -#line 1818 "c-parse.y" +case 349: +#line 1820 "c-parse.y" { expand_end_case (yyvsp[-3].ttype); if (yychar == CONSTANT || yychar == STRING) pop_momentary_nofree (); else pop_momentary (); ; break;} -case 349: -#line 1824 "c-parse.y" +case 350: +#line 1826 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); if ( ! expand_exit_something ()) error ("break statement not within loop or switch"); ; break;} -case 350: -#line 1829 "c-parse.y" +case 351: +#line 1831 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); if (! expand_continue_loop (NULL_PTR)) error ("continue statement not within a loop"); ; break;} -case 351: -#line 1834 "c-parse.y" +case 352: +#line 1836 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); c_expand_return (NULL_TREE); ; break;} -case 352: -#line 1838 "c-parse.y" +case 353: +#line 1840 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); c_expand_return (yyvsp[-1].ttype); ; break;} -case 353: -#line 1842 "c-parse.y" +case 354: +#line 1844 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno); STRIP_NOPS (yyvsp[-2].ttype); @@ -3370,32 +3382,32 @@ case 353: else error ("argument of `asm' is not a constant string"); ; break;} -case 354: -#line 1853 "c-parse.y" +case 355: +#line 1855 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno); c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 355: -#line 1860 "c-parse.y" +case 356: +#line 1862 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno); c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 356: -#line 1868 "c-parse.y" +case 357: +#line 1870 "c-parse.y" { stmt_count++; emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno); c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 357: -#line 1874 "c-parse.y" +case 358: +#line 1876 "c-parse.y" { tree decl; stmt_count++; emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); @@ -3407,16 +3419,16 @@ case 357: } ; break;} -case 358: -#line 1885 "c-parse.y" +case 359: +#line 1887 "c-parse.y" { if (pedantic) pedwarn ("ANSI C forbids `goto *expr;'"); stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ; break;} -case 361: -#line 1900 "c-parse.y" +case 362: +#line 1902 "c-parse.y" { /* The value returned by this action is */ /* 1 if everything is OK */ @@ -3438,15 +3450,15 @@ case 361: } ; break;} -case 362: -#line 1921 "c-parse.y" +case 363: +#line 1923 "c-parse.y" { if (yyvsp[-1].itype) iterator_for_loop_end (yyvsp[-3].ttype); ; break;} -case 363: -#line 1956 "c-parse.y" +case 364: +#line 1958 "c-parse.y" { register tree value = check_case_value (yyvsp[-1].ttype); register tree label = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE); @@ -3478,8 +3490,8 @@ case 363: } position_after_white_space (); ; break;} -case 364: -#line 1987 "c-parse.y" +case 365: +#line 1989 "c-parse.y" { register tree value1 = check_case_value (yyvsp[-3].ttype); register tree value2 = check_case_value (yyvsp[-1].ttype); register tree label @@ -3511,8 +3523,8 @@ case 364: } position_after_white_space (); ; break;} -case 365: -#line 2018 "c-parse.y" +case 366: +#line 2020 "c-parse.y" { tree duplicate; register tree label @@ -3528,8 +3540,8 @@ case 365: } position_after_white_space (); ; break;} -case 366: -#line 2033 "c-parse.y" +case 367: +#line 2035 "c-parse.y" { tree label = define_label (input_filename, lineno, yyvsp[-2].ttype); stmt_count++; emit_nop (); @@ -3540,53 +3552,53 @@ case 366: } position_after_white_space (); ; break;} -case 367: -#line 2048 "c-parse.y" +case 368: +#line 2050 "c-parse.y" { emit_line_note (input_filename, lineno); yyval.ttype = NULL_TREE; ; break;} -case 368: -#line 2051 "c-parse.y" +case 369: +#line 2053 "c-parse.y" { emit_line_note (input_filename, lineno); ; break;} -case 369: -#line 2056 "c-parse.y" +case 370: +#line 2058 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 371: -#line 2063 "c-parse.y" +case 372: +#line 2065 "c-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 374: -#line 2070 "c-parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} case 375: -#line 2075 "c-parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; +#line 2072 "c-parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 376: -#line 2080 "c-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; +#line 2077 "c-parse.y" +{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 377: #line 2082 "c-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; +{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; break;} case 378: -#line 2088 "c-parse.y" +#line 2084 "c-parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; + break;} +case 379: +#line 2090 "c-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (0); ; break;} -case 379: -#line 2092 "c-parse.y" +case 380: +#line 2094 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} -case 381: -#line 2100 "c-parse.y" +case 382: +#line 2102 "c-parse.y" { tree parm; if (pedantic) pedwarn ("ANSI C forbids forward parameter declarations"); @@ -3595,20 +3607,20 @@ case 381: TREE_ASM_WRITTEN (parm) = 1; clear_parm_order (); ; break;} -case 382: -#line 2108 "c-parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} case 383: #line 2110 "c-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; +{ yyval.ttype = yyvsp[0].ttype; ; break;} case 384: -#line 2116 "c-parse.y" -{ yyval.ttype = get_parm_info (0); ; +#line 2112 "c-parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; break;} case 385: #line 2118 "c-parse.y" +{ yyval.ttype = get_parm_info (0); ; + break;} +case 386: +#line 2120 "c-parse.y" { yyval.ttype = get_parm_info (0); /* Gcc used to allow this as an extension. However, it does not work for all targets, and thus has been disabled. @@ -3619,24 +3631,24 @@ case 385: error ("ANSI C requires a named argument before `...'"); ; break;} -case 386: -#line 2128 "c-parse.y" -{ yyval.ttype = get_parm_info (1); ; - break;} case 387: #line 2130 "c-parse.y" -{ yyval.ttype = get_parm_info (0); ; +{ yyval.ttype = get_parm_info (1); ; break;} case 388: -#line 2135 "c-parse.y" -{ push_parm_decl (yyvsp[0].ttype); ; +#line 2132 "c-parse.y" +{ yyval.ttype = get_parm_info (0); ; break;} case 389: #line 2137 "c-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 390: -#line 2144 "c-parse.y" +#line 2139 "c-parse.y" +{ push_parm_decl (yyvsp[0].ttype); ; + break;} +case 391: +#line 2146 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -3646,8 +3658,8 @@ case 390: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 391: -#line 2153 "c-parse.y" +case 392: +#line 2155 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -3657,8 +3669,8 @@ case 391: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 392: -#line 2162 "c-parse.y" +case 393: +#line 2164 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -3668,19 +3680,8 @@ case 392: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 393: -#line 2171 "c-parse.y" -{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, - yyvsp[-1].ttype), - build_tree_list (prefix_attributes, - yyvsp[0].ttype)); - current_declspecs = TREE_VALUE (declspec_stack); - prefix_attributes = TREE_PURPOSE (declspec_stack); - declspec_stack = TREE_CHAIN (declspec_stack); - resume_momentary (yyvsp[-2].itype); ; - break;} case 394: -#line 2181 "c-parse.y" +#line 2173 "c-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -3691,43 +3692,54 @@ case 394: resume_momentary (yyvsp[-2].itype); ; break;} case 395: -#line 2195 "c-parse.y" +#line 2183 "c-parse.y" +{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, + yyvsp[-1].ttype), + build_tree_list (prefix_attributes, + yyvsp[0].ttype)); + current_declspecs = TREE_VALUE (declspec_stack); + prefix_attributes = TREE_PURPOSE (declspec_stack); + declspec_stack = TREE_CHAIN (declspec_stack); + resume_momentary (yyvsp[-2].itype); ; + break;} +case 396: +#line 2197 "c-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (1); ; break;} -case 396: -#line 2199 "c-parse.y" +case 397: +#line 2201 "c-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} -case 398: -#line 2207 "c-parse.y" +case 399: +#line 2209 "c-parse.y" { tree t; for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) if (TREE_VALUE (t) == NULL_TREE) error ("`...' in old-style identifier list"); yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ; break;} -case 399: -#line 2217 "c-parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; - break;} case 400: #line 2219 "c-parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; +{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 401: -#line 2225 "c-parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; +#line 2221 "c-parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 402: #line 2227 "c-parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; +{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 403: -#line 2232 "c-parse.y" +#line 2229 "c-parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; + break;} +case 404: +#line 2234 "c-parse.y" { yyval.itype = pedantic; pedantic = 0; ; break;} @@ -3929,5 +3941,5 @@ yyerrhandle: yystate = yyn; goto yynewstate; } -#line 2236 "c-parse.y" +#line 2238 "c-parse.y" diff --git a/gcc/c-parse.in b/gcc/c-parse.in index c8ff12de753..6757c4d464a 100644 --- a/gcc/c-parse.in +++ b/gcc/c-parse.in @@ -31,7 +31,7 @@ ifobjc %expect 66 end ifobjc ifc -%expect 46 +%expect 51 /* These are the 23 conflicts you should get in parse.output; the state numbers may vary if minor changes in the grammar are made. @@ -1709,6 +1709,8 @@ absdcl1: /* a nonempty absolute declarator */ { $$ = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); } /* ??? It appears we have to support attributes here, however using prefix_attributes is wrong. */ + | attributes setattrs absdcl1 + { $$ = $3; } ; /* at least one statement, the first of which parses without error. */ diff --git a/gcc/c-parse.y b/gcc/c-parse.y index 59c2be93bad..bb69dfed313 100644 --- a/gcc/c-parse.y +++ b/gcc/c-parse.y @@ -28,7 +28,7 @@ Boston, MA 02111-1307, USA. */ /* To whomever it may concern: I have heard that such a thing was once written by AT&T, but I have never seen it. */ -%expect 46 +%expect 51 /* These are the 23 conflicts you should get in parse.output; the state numbers may vary if minor changes in the grammar are made. @@ -1518,6 +1518,8 @@ absdcl1: /* a nonempty absolute declarator */ { $$ = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); } /* ??? It appears we have to support attributes here, however using prefix_attributes is wrong. */ + | attributes setattrs absdcl1 + { $$ = $3; } ; /* at least one statement, the first of which parses without error. */ diff --git a/gcc/objc/objc-parse.c b/gcc/objc/objc-parse.c index d878dfe483c..b95312d8708 100644 --- a/gcc/objc/objc-parse.c +++ b/gcc/objc/objc-parse.c @@ -146,7 +146,7 @@ extern void yyprint PROTO ((FILE *, int, YYSTYPE)); -#define YYFINAL 952 +#define YYFINAL 955 #define YYFLAG -32768 #define YYNTBASE 84 @@ -220,32 +220,32 @@ static const short yyprhs[] = { 0, 861, 863, 866, 868, 872, 877, 884, 890, 892, 896, 898, 900, 904, 907, 910, 911, 913, 915, 918, 919, 922, 926, 930, 933, 937, 942, 946, 949, 953, 956, - 958, 960, 963, 966, 967, 969, 972, 973, 974, 976, - 978, 981, 985, 987, 990, 992, 995, 1002, 1008, 1014, - 1017, 1020, 1025, 1026, 1031, 1032, 1033, 1037, 1042, 1046, - 1048, 1050, 1052, 1054, 1057, 1058, 1063, 1065, 1069, 1070, - 1071, 1079, 1085, 1088, 1089, 1090, 1091, 1104, 1105, 1112, - 1115, 1118, 1121, 1125, 1132, 1141, 1152, 1165, 1169, 1174, - 1176, 1178, 1179, 1186, 1190, 1196, 1199, 1203, 1204, 1206, - 1207, 1209, 1210, 1212, 1214, 1218, 1223, 1225, 1229, 1230, - 1233, 1236, 1237, 1242, 1245, 1246, 1248, 1250, 1254, 1256, - 1260, 1265, 1270, 1275, 1280, 1285, 1286, 1289, 1291, 1294, - 1296, 1300, 1302, 1306, 1308, 1310, 1312, 1314, 1316, 1318, - 1320, 1322, 1326, 1330, 1335, 1336, 1337, 1348, 1349, 1356, - 1357, 1358, 1371, 1372, 1381, 1382, 1389, 1392, 1393, 1402, - 1407, 1408, 1418, 1424, 1425, 1432, 1433, 1435, 1439, 1443, - 1445, 1447, 1449, 1451, 1452, 1456, 1459, 1463, 1467, 1469, - 1470, 1472, 1476, 1478, 1482, 1485, 1486, 1487, 1488, 1496, - 1497, 1498, 1499, 1507, 1508, 1509, 1512, 1514, 1516, 1519, - 1520, 1524, 1526, 1528, 1529, 1530, 1536, 1537, 1538, 1544, - 1549, 1551, 1557, 1560, 1561, 1564, 1565, 1567, 1569, 1571, - 1574, 1577, 1582, 1585, 1588, 1590, 1594, 1597, 1600, 1603, - 1604, 1607, 1608, 1612, 1614, 1616, 1619, 1621, 1623, 1625, - 1627, 1629, 1631, 1633, 1635, 1637, 1639, 1641, 1643, 1645, - 1647, 1649, 1651, 1653, 1655, 1657, 1659, 1661, 1663, 1665, - 1667, 1669, 1676, 1680, 1686, 1689, 1691, 1693, 1695, 1698, - 1700, 1704, 1707, 1709, 1711, 1712, 1713, 1720, 1722, 1724, - 1726, 1729, 1732, 1734, 1739, 1744 + 960, 962, 964, 967, 970, 971, 973, 976, 977, 978, + 980, 982, 985, 989, 991, 994, 996, 999, 1006, 1012, + 1018, 1021, 1024, 1029, 1030, 1035, 1036, 1037, 1041, 1046, + 1050, 1052, 1054, 1056, 1058, 1061, 1062, 1067, 1069, 1073, + 1074, 1075, 1083, 1089, 1092, 1093, 1094, 1095, 1108, 1109, + 1116, 1119, 1122, 1125, 1129, 1136, 1145, 1156, 1169, 1173, + 1178, 1180, 1182, 1183, 1190, 1194, 1200, 1203, 1207, 1208, + 1210, 1211, 1213, 1214, 1216, 1218, 1222, 1227, 1229, 1233, + 1234, 1237, 1240, 1241, 1246, 1249, 1250, 1252, 1254, 1258, + 1260, 1264, 1269, 1274, 1279, 1284, 1289, 1290, 1293, 1295, + 1298, 1300, 1304, 1306, 1310, 1312, 1314, 1316, 1318, 1320, + 1322, 1324, 1326, 1330, 1334, 1339, 1340, 1341, 1352, 1353, + 1360, 1361, 1362, 1375, 1376, 1385, 1386, 1393, 1396, 1397, + 1406, 1411, 1412, 1422, 1428, 1429, 1436, 1437, 1439, 1443, + 1447, 1449, 1451, 1453, 1455, 1456, 1460, 1463, 1467, 1471, + 1473, 1474, 1476, 1480, 1482, 1486, 1489, 1490, 1491, 1492, + 1500, 1501, 1502, 1503, 1511, 1512, 1513, 1516, 1518, 1520, + 1523, 1524, 1528, 1530, 1532, 1533, 1534, 1540, 1541, 1542, + 1548, 1553, 1555, 1561, 1564, 1565, 1568, 1569, 1571, 1573, + 1575, 1578, 1581, 1586, 1589, 1592, 1594, 1598, 1601, 1604, + 1607, 1608, 1611, 1612, 1616, 1618, 1620, 1623, 1625, 1627, + 1629, 1631, 1633, 1635, 1637, 1639, 1641, 1643, 1645, 1647, + 1649, 1651, 1653, 1655, 1657, 1659, 1661, 1663, 1665, 1667, + 1669, 1671, 1673, 1680, 1684, 1690, 1693, 1695, 1697, 1699, + 1702, 1704, 1708, 1711, 1713, 1715, 1716, 1717, 1724, 1726, + 1728, 1730, 1733, 1736, 1738, 1743, 1748 }; static const short yyrhs[] = { -1, @@ -344,86 +344,87 @@ static const short yyrhs[] = { -1, 0, 59, 190, 76, 0, 50, 189, 190, 0, 50, 189, 0, 190, 59, 229, 0, 190, 60, 99, 83, 0, 190, 60, 83, 0, 59, 229, 0, 60, 99, - 83, 0, 60, 83, 0, 192, 0, 209, 0, 192, - 209, 0, 192, 194, 0, 0, 191, 0, 1, 77, - 0, 0, 0, 197, 0, 198, 0, 197, 198, 0, - 32, 240, 77, 0, 201, 0, 1, 201, 0, 82, - 0, 200, 78, 0, 200, 195, 196, 122, 193, 78, - 0, 200, 195, 196, 1, 78, 0, 200, 195, 196, - 191, 78, 0, 203, 208, 0, 203, 1, 0, 15, - 59, 99, 76, 0, 0, 18, 205, 208, 17, 0, - 0, 0, 206, 207, 211, 0, 206, 207, 222, 208, - 0, 206, 207, 210, 0, 211, 0, 222, 0, 201, - 0, 219, 0, 99, 77, 0, 0, 202, 16, 212, - 208, 0, 202, 0, 202, 16, 1, 0, 0, 0, - 17, 213, 59, 99, 76, 214, 208, 0, 204, 59, - 99, 76, 77, 0, 204, 1, 0, 0, 0, 0, - 19, 59, 224, 77, 215, 224, 77, 216, 224, 76, - 217, 208, 0, 0, 20, 59, 99, 76, 218, 208, - 0, 23, 77, 0, 24, 77, 0, 25, 77, 0, - 25, 99, 77, 0, 27, 223, 59, 99, 76, 77, - 0, 27, 223, 59, 99, 38, 225, 76, 77, 0, - 27, 223, 59, 99, 38, 225, 38, 225, 76, 77, - 0, 27, 223, 59, 99, 38, 225, 38, 225, 38, - 228, 76, 77, 0, 26, 97, 77, 0, 26, 50, - 99, 77, 0, 77, 0, 220, 0, 0, 19, 59, - 113, 76, 221, 208, 0, 21, 107, 38, 0, 21, - 107, 10, 107, 38, 0, 22, 38, 0, 97, 38, - 143, 0, 0, 7, 0, 0, 99, 0, 0, 226, - 0, 227, 0, 226, 81, 227, 0, 9, 59, 99, - 76, 0, 115, 0, 228, 81, 115, 0, 0, 230, - 231, 0, 233, 76, 0, 0, 234, 77, 232, 231, - 0, 1, 76, 0, 0, 10, 0, 234, 0, 234, - 81, 10, 0, 235, 0, 234, 81, 235, 0, 126, - 123, 167, 143, 0, 126, 123, 168, 143, 0, 126, - 123, 187, 143, 0, 130, 123, 168, 143, 0, 130, - 123, 187, 143, 0, 0, 237, 238, 0, 231, 0, - 239, 76, 0, 3, 0, 239, 81, 3, 0, 97, - 0, 240, 81, 97, 0, 31, 0, 246, 0, 244, - 0, 245, 0, 256, 0, 266, 0, 63, 0, 97, - 0, 243, 81, 97, 0, 73, 243, 77, 0, 74, - 97, 97, 77, 0, 0, 0, 61, 97, 258, 82, - 247, 260, 78, 248, 273, 63, 0, 0, 61, 97, - 258, 249, 273, 63, 0, 0, 0, 61, 97, 38, - 97, 258, 82, 250, 260, 78, 251, 273, 63, 0, - 0, 61, 97, 38, 97, 258, 252, 273, 63, 0, - 0, 62, 97, 82, 253, 260, 78, 0, 62, 97, - 0, 0, 62, 97, 38, 97, 82, 254, 260, 78, - 0, 62, 97, 38, 97, 0, 0, 61, 97, 59, - 97, 76, 258, 255, 273, 63, 0, 62, 97, 59, - 97, 76, 0, 0, 71, 97, 258, 257, 273, 63, - 0, 0, 259, 0, 45, 243, 45, 0, 260, 261, - 262, 0, 262, 0, 69, 0, 70, 0, 68, 0, - 0, 262, 263, 77, 0, 262, 77, 0, 132, 123, - 264, 0, 188, 123, 264, 0, 1, 0, 0, 265, - 0, 264, 81, 265, 0, 165, 0, 165, 38, 107, - 0, 38, 107, 0, 0, 0, 0, 48, 267, 283, - 268, 284, 269, 199, 0, 0, 0, 0, 49, 270, - 283, 271, 284, 272, 199, 0, 0, 0, 274, 275, - 0, 278, 0, 89, 0, 275, 278, 0, 0, 275, - 276, 89, 0, 77, 0, 1, 0, 0, 0, 48, - 279, 283, 280, 277, 0, 0, 0, 49, 281, 283, - 282, 277, 0, 59, 186, 76, 292, 0, 292, 0, - 59, 186, 76, 293, 290, 0, 293, 290, 0, 0, - 77, 285, 0, 0, 286, 0, 287, 0, 194, 0, - 286, 287, 0, 287, 194, 0, 126, 123, 288, 77, - 0, 126, 77, 0, 130, 77, 0, 289, 0, 288, - 81, 289, 0, 167, 143, 0, 168, 143, 0, 187, - 143, 0, 0, 81, 10, 0, 0, 81, 291, 233, - 0, 294, 0, 296, 0, 293, 296, 0, 3, 0, - 4, 0, 72, 0, 295, 0, 12, 0, 13, 0, - 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, - 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, - 24, 0, 25, 0, 26, 0, 27, 0, 11, 0, - 28, 0, 29, 0, 6, 0, 7, 0, 294, 38, - 59, 186, 76, 97, 0, 294, 38, 97, 0, 38, - 59, 186, 76, 97, 0, 38, 97, 0, 294, 0, - 298, 0, 300, 0, 298, 300, 0, 101, 0, 294, - 38, 299, 0, 38, 299, 0, 99, 0, 67, 0, - 0, 0, 60, 303, 301, 304, 297, 83, 0, 294, - 0, 306, 0, 307, 0, 306, 307, 0, 294, 38, - 0, 38, 0, 64, 59, 305, 76, 0, 71, 59, - 97, 76, 0, 66, 59, 186, 76, 0 + 83, 0, 60, 83, 0, 144, 124, 190, 0, 192, + 0, 209, 0, 192, 209, 0, 192, 194, 0, 0, + 191, 0, 1, 77, 0, 0, 0, 197, 0, 198, + 0, 197, 198, 0, 32, 240, 77, 0, 201, 0, + 1, 201, 0, 82, 0, 200, 78, 0, 200, 195, + 196, 122, 193, 78, 0, 200, 195, 196, 1, 78, + 0, 200, 195, 196, 191, 78, 0, 203, 208, 0, + 203, 1, 0, 15, 59, 99, 76, 0, 0, 18, + 205, 208, 17, 0, 0, 0, 206, 207, 211, 0, + 206, 207, 222, 208, 0, 206, 207, 210, 0, 211, + 0, 222, 0, 201, 0, 219, 0, 99, 77, 0, + 0, 202, 16, 212, 208, 0, 202, 0, 202, 16, + 1, 0, 0, 0, 17, 213, 59, 99, 76, 214, + 208, 0, 204, 59, 99, 76, 77, 0, 204, 1, + 0, 0, 0, 0, 19, 59, 224, 77, 215, 224, + 77, 216, 224, 76, 217, 208, 0, 0, 20, 59, + 99, 76, 218, 208, 0, 23, 77, 0, 24, 77, + 0, 25, 77, 0, 25, 99, 77, 0, 27, 223, + 59, 99, 76, 77, 0, 27, 223, 59, 99, 38, + 225, 76, 77, 0, 27, 223, 59, 99, 38, 225, + 38, 225, 76, 77, 0, 27, 223, 59, 99, 38, + 225, 38, 225, 38, 228, 76, 77, 0, 26, 97, + 77, 0, 26, 50, 99, 77, 0, 77, 0, 220, + 0, 0, 19, 59, 113, 76, 221, 208, 0, 21, + 107, 38, 0, 21, 107, 10, 107, 38, 0, 22, + 38, 0, 97, 38, 143, 0, 0, 7, 0, 0, + 99, 0, 0, 226, 0, 227, 0, 226, 81, 227, + 0, 9, 59, 99, 76, 0, 115, 0, 228, 81, + 115, 0, 0, 230, 231, 0, 233, 76, 0, 0, + 234, 77, 232, 231, 0, 1, 76, 0, 0, 10, + 0, 234, 0, 234, 81, 10, 0, 235, 0, 234, + 81, 235, 0, 126, 123, 167, 143, 0, 126, 123, + 168, 143, 0, 126, 123, 187, 143, 0, 130, 123, + 168, 143, 0, 130, 123, 187, 143, 0, 0, 237, + 238, 0, 231, 0, 239, 76, 0, 3, 0, 239, + 81, 3, 0, 97, 0, 240, 81, 97, 0, 31, + 0, 246, 0, 244, 0, 245, 0, 256, 0, 266, + 0, 63, 0, 97, 0, 243, 81, 97, 0, 73, + 243, 77, 0, 74, 97, 97, 77, 0, 0, 0, + 61, 97, 258, 82, 247, 260, 78, 248, 273, 63, + 0, 0, 61, 97, 258, 249, 273, 63, 0, 0, + 0, 61, 97, 38, 97, 258, 82, 250, 260, 78, + 251, 273, 63, 0, 0, 61, 97, 38, 97, 258, + 252, 273, 63, 0, 0, 62, 97, 82, 253, 260, + 78, 0, 62, 97, 0, 0, 62, 97, 38, 97, + 82, 254, 260, 78, 0, 62, 97, 38, 97, 0, + 0, 61, 97, 59, 97, 76, 258, 255, 273, 63, + 0, 62, 97, 59, 97, 76, 0, 0, 71, 97, + 258, 257, 273, 63, 0, 0, 259, 0, 45, 243, + 45, 0, 260, 261, 262, 0, 262, 0, 69, 0, + 70, 0, 68, 0, 0, 262, 263, 77, 0, 262, + 77, 0, 132, 123, 264, 0, 188, 123, 264, 0, + 1, 0, 0, 265, 0, 264, 81, 265, 0, 165, + 0, 165, 38, 107, 0, 38, 107, 0, 0, 0, + 0, 48, 267, 283, 268, 284, 269, 199, 0, 0, + 0, 0, 49, 270, 283, 271, 284, 272, 199, 0, + 0, 0, 274, 275, 0, 278, 0, 89, 0, 275, + 278, 0, 0, 275, 276, 89, 0, 77, 0, 1, + 0, 0, 0, 48, 279, 283, 280, 277, 0, 0, + 0, 49, 281, 283, 282, 277, 0, 59, 186, 76, + 292, 0, 292, 0, 59, 186, 76, 293, 290, 0, + 293, 290, 0, 0, 77, 285, 0, 0, 286, 0, + 287, 0, 194, 0, 286, 287, 0, 287, 194, 0, + 126, 123, 288, 77, 0, 126, 77, 0, 130, 77, + 0, 289, 0, 288, 81, 289, 0, 167, 143, 0, + 168, 143, 0, 187, 143, 0, 0, 81, 10, 0, + 0, 81, 291, 233, 0, 294, 0, 296, 0, 293, + 296, 0, 3, 0, 4, 0, 72, 0, 295, 0, + 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, + 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, + 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, + 27, 0, 11, 0, 28, 0, 29, 0, 6, 0, + 7, 0, 294, 38, 59, 186, 76, 97, 0, 294, + 38, 97, 0, 38, 59, 186, 76, 97, 0, 38, + 97, 0, 294, 0, 298, 0, 300, 0, 298, 300, + 0, 101, 0, 294, 38, 299, 0, 38, 299, 0, + 99, 0, 67, 0, 0, 0, 60, 303, 301, 304, + 297, 83, 0, 294, 0, 306, 0, 307, 0, 306, + 307, 0, 294, 38, 0, 38, 0, 64, 59, 305, + 76, 0, 71, 59, 97, 76, 0, 66, 59, 186, + 76, 0 }; #endif @@ -460,33 +461,33 @@ static const short yyrline[] = { 0, 1466, 1469, 1474, 1476, 1478, 1482, 1506, 1513, 1518, 1524, 1529, 1531, 1536, 1538, 1542, 1546, 1550, 1560, 1562, 1567, 1572, 1575, 1579, 1582, 1586, 1589, 1592, 1595, 1599, 1602, - 1606, 1610, 1612, 1614, 1616, 1618, 1620, 1622, 1624, 1634, - 1642, 1644, 1646, 1650, 1652, 1655, 1658, 1671, 1673, 1678, - 1680, 1683, 1697, 1700, 1703, 1705, 1707, 1715, 1723, 1734, - 1739, 1742, 1756, 1765, 1769, 1773, 1777, 1783, 1787, 1792, - 1795, 1800, 1803, 1804, 1821, 1826, 1829, 1841, 1843, 1853, - 1863, 1864, 1872, 1875, 1887, 1891, 1908, 1918, 1927, 1932, - 1937, 1942, 1946, 1950, 1961, 1968, 1975, 1982, 1993, 1999, - 2002, 2007, 2030, 2064, 2095, 2126, 2141, 2155, 2159, 2163, - 2166, 2171, 2173, 2176, 2178, 2182, 2187, 2190, 2196, 2201, - 2206, 2208, 2217, 2218, 2224, 2226, 2236, 2238, 2242, 2245, - 2251, 2261, 2270, 2279, 2289, 2303, 2308, 2313, 2315, 2324, - 2327, 2332, 2335, 2339, 2347, 2349, 2350, 2351, 2352, 2353, - 2367, 2370, 2374, 2380, 2386, 2393, 2398, 2404, 2411, 2417, - 2423, 2428, 2434, 2441, 2447, 2453, 2459, 2467, 2473, 2479, - 2487, 2494, 2500, 2509, 2516, 2524, 2529, 2532, 2542, 2544, - 2547, 2549, 2550, 2553, 2558, 2559, 2576, 2583, 2589, 2593, - 2596, 2597, 2600, 2608, 2614, 2623, 2633, 2640, 2644, 2649, - 2658, 2665, 2669, 2679, 2681, 2682, 2684, 2686, 2687, 2688, - 2689, 2691, 2693, 2696, 2704, 2711, 2711, 2718, 2724, 2726, - 2732, 2737, 2742, 2751, 2753, 2759, 2761, 2764, 2766, 2767, - 2768, 2771, 2777, 2779, 2783, 2786, 2793, 2799, 2804, 2811, - 2816, 2821, 2826, 2833, 2837, 2840, 2846, 2848, 2849, 2850, - 2853, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, 2863, - 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, - 2873, 2876, 2882, 2887, 2892, 2898, 2900, 2903, 2905, 2912, - 2924, 2929, 2935, 2937, 2943, 2947, 2948, 2954, 2956, 2959, - 2961, 2967, 2972, 2978, 2985, 2994 + 1606, 1610, 1612, 1614, 1616, 1618, 1620, 1622, 1624, 1628, + 1636, 1644, 1646, 1648, 1652, 1654, 1657, 1660, 1673, 1675, + 1680, 1682, 1685, 1699, 1702, 1705, 1707, 1709, 1717, 1725, + 1736, 1741, 1744, 1758, 1767, 1771, 1775, 1779, 1785, 1789, + 1794, 1797, 1802, 1805, 1806, 1823, 1828, 1831, 1843, 1845, + 1855, 1865, 1866, 1874, 1877, 1889, 1893, 1910, 1920, 1929, + 1934, 1939, 1944, 1948, 1952, 1963, 1970, 1977, 1984, 1995, + 2001, 2004, 2009, 2032, 2066, 2097, 2128, 2143, 2157, 2161, + 2165, 2168, 2173, 2175, 2178, 2180, 2184, 2189, 2192, 2198, + 2203, 2208, 2210, 2219, 2220, 2226, 2228, 2238, 2240, 2244, + 2247, 2253, 2263, 2272, 2281, 2291, 2305, 2310, 2315, 2317, + 2326, 2329, 2334, 2337, 2341, 2349, 2351, 2352, 2353, 2354, + 2355, 2369, 2372, 2376, 2382, 2388, 2395, 2400, 2406, 2413, + 2419, 2425, 2430, 2436, 2443, 2449, 2455, 2461, 2469, 2475, + 2481, 2489, 2496, 2502, 2511, 2518, 2526, 2531, 2534, 2544, + 2546, 2549, 2551, 2552, 2555, 2560, 2561, 2578, 2585, 2591, + 2595, 2598, 2599, 2602, 2610, 2616, 2625, 2635, 2642, 2646, + 2651, 2660, 2667, 2671, 2681, 2683, 2684, 2686, 2688, 2689, + 2690, 2691, 2693, 2695, 2698, 2706, 2713, 2713, 2720, 2726, + 2728, 2734, 2739, 2744, 2753, 2755, 2761, 2763, 2766, 2768, + 2769, 2770, 2773, 2779, 2781, 2785, 2788, 2795, 2801, 2806, + 2813, 2818, 2823, 2828, 2835, 2839, 2842, 2848, 2850, 2851, + 2852, 2855, 2857, 2858, 2859, 2860, 2861, 2862, 2863, 2864, + 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, + 2875, 2875, 2878, 2884, 2889, 2894, 2900, 2902, 2905, 2907, + 2914, 2926, 2931, 2937, 2939, 2945, 2949, 2950, 2956, 2958, + 2961, 2963, 2969, 2974, 2980, 2987, 2996 }; #endif @@ -570,33 +571,33 @@ static const short yyr1[] = { 0, 179, 179, 180, 180, 180, 180, 181, 181, 181, 181, 181, 181, 182, 182, 183, 183, 183, 184, 184, 184, 185, 185, 186, 186, 187, 187, 188, 188, 189, 189, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 191, - 192, 192, 192, 193, 193, 194, 195, 196, 196, 197, - 197, 198, 199, 199, 200, 201, 201, 201, 201, 202, - 202, 203, 205, 204, 206, 207, 208, 208, 209, 210, - 210, 211, 211, 211, 212, 211, 211, 211, 213, 214, - 211, 211, 211, 215, 216, 217, 211, 218, 211, 211, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 191, 192, 192, 192, 193, 193, 194, 195, 196, 196, + 197, 197, 198, 199, 199, 200, 201, 201, 201, 201, + 202, 202, 203, 205, 204, 206, 207, 208, 208, 209, + 210, 210, 211, 211, 211, 212, 211, 211, 211, 213, + 214, 211, 211, 211, 215, 216, 217, 211, 218, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 219, 221, 220, 222, 222, 222, 222, 223, 223, 224, - 224, 225, 225, 226, 226, 227, 228, 228, 230, 229, - 231, 232, 231, 231, 233, 233, 233, 233, 234, 234, - 235, 235, 235, 235, 235, 237, 236, 238, 238, 239, - 239, 240, 240, 241, 242, 242, 242, 242, 242, 242, - 243, 243, 244, 245, 247, 248, 246, 249, 246, 250, - 251, 246, 252, 246, 253, 246, 246, 254, 246, 246, - 255, 246, 246, 257, 256, 258, 258, 259, 260, 260, - 261, 261, 261, 262, 262, 262, 263, 263, 263, 264, - 264, 264, 265, 265, 265, 267, 268, 269, 266, 270, - 271, 272, 266, 273, 274, 273, 275, 275, 275, 276, - 275, 277, 277, 279, 280, 278, 281, 282, 278, 283, - 283, 283, 283, 284, 284, 285, 285, 286, 286, 286, - 286, 287, 287, 287, 288, 288, 289, 289, 289, 290, - 290, 291, 290, 292, 293, 293, 294, 294, 294, 294, + 211, 219, 221, 220, 222, 222, 222, 222, 223, 223, + 224, 224, 225, 225, 226, 226, 227, 228, 228, 230, + 229, 231, 232, 231, 231, 233, 233, 233, 233, 234, + 234, 235, 235, 235, 235, 235, 237, 236, 238, 238, + 239, 239, 240, 240, 241, 242, 242, 242, 242, 242, + 242, 243, 243, 244, 245, 247, 248, 246, 249, 246, + 250, 251, 246, 252, 246, 253, 246, 246, 254, 246, + 246, 255, 246, 246, 257, 256, 258, 258, 259, 260, + 260, 261, 261, 261, 262, 262, 262, 263, 263, 263, + 264, 264, 264, 265, 265, 265, 267, 268, 269, 266, + 270, 271, 272, 266, 273, 274, 273, 275, 275, 275, + 276, 275, 277, 277, 279, 280, 278, 281, 282, 278, + 283, 283, 283, 283, 284, 284, 285, 285, 286, 286, + 286, 286, 287, 287, 287, 288, 288, 289, 289, 289, + 290, 290, 291, 290, 292, 293, 293, 294, 294, 294, + 294, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, - 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, - 295, 296, 296, 296, 296, 297, 297, 298, 298, 299, - 300, 300, 301, 301, 303, 304, 302, 305, 305, 306, - 306, 307, 307, 308, 309, 310 + 295, 295, 296, 296, 296, 296, 297, 297, 298, 298, + 299, 300, 300, 301, 301, 303, 304, 302, 305, 305, + 306, 306, 307, 307, 308, 309, 310 }; static const short yyr2[] = { 0, @@ -630,56 +631,56 @@ static const short yyr2[] = { 0, 1, 2, 0, 3, 2, 4, 3, 1, 3, 1, 1, 2, 1, 3, 4, 6, 5, 1, 3, 1, 1, 3, 2, 2, 0, 1, 1, 2, 0, 2, - 3, 3, 2, 3, 4, 3, 2, 3, 2, 1, - 1, 2, 2, 0, 1, 2, 0, 0, 1, 1, - 2, 3, 1, 2, 1, 2, 6, 5, 5, 2, - 2, 4, 0, 4, 0, 0, 3, 4, 3, 1, - 1, 1, 1, 2, 0, 4, 1, 3, 0, 0, - 7, 5, 2, 0, 0, 0, 12, 0, 6, 2, - 2, 2, 3, 6, 8, 10, 12, 3, 4, 1, - 1, 0, 6, 3, 5, 2, 3, 0, 1, 0, - 1, 0, 1, 1, 3, 4, 1, 3, 0, 2, - 2, 0, 4, 2, 0, 1, 1, 3, 1, 3, - 4, 4, 4, 4, 4, 0, 2, 1, 2, 1, - 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 3, 4, 0, 0, 10, 0, 6, 0, - 0, 12, 0, 8, 0, 6, 2, 0, 8, 4, - 0, 9, 5, 0, 6, 0, 1, 3, 3, 1, - 1, 1, 1, 0, 3, 2, 3, 3, 1, 0, - 1, 3, 1, 3, 2, 0, 0, 0, 7, 0, - 0, 0, 7, 0, 0, 2, 1, 1, 2, 0, - 3, 1, 1, 0, 0, 5, 0, 0, 5, 4, - 1, 5, 2, 0, 2, 0, 1, 1, 1, 2, - 2, 4, 2, 2, 1, 3, 2, 2, 2, 0, - 2, 0, 3, 1, 1, 2, 1, 1, 1, 1, + 3, 3, 2, 3, 4, 3, 2, 3, 2, 3, + 1, 1, 2, 2, 0, 1, 2, 0, 0, 1, + 1, 2, 3, 1, 2, 1, 2, 6, 5, 5, + 2, 2, 4, 0, 4, 0, 0, 3, 4, 3, + 1, 1, 1, 1, 2, 0, 4, 1, 3, 0, + 0, 7, 5, 2, 0, 0, 0, 12, 0, 6, + 2, 2, 2, 3, 6, 8, 10, 12, 3, 4, + 1, 1, 0, 6, 3, 5, 2, 3, 0, 1, + 0, 1, 0, 1, 1, 3, 4, 1, 3, 0, + 2, 2, 0, 4, 2, 0, 1, 1, 3, 1, + 3, 4, 4, 4, 4, 4, 0, 2, 1, 2, + 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 3, 4, 0, 0, 10, 0, 6, + 0, 0, 12, 0, 8, 0, 6, 2, 0, 8, + 4, 0, 9, 5, 0, 6, 0, 1, 3, 3, + 1, 1, 1, 1, 0, 3, 2, 3, 3, 1, + 0, 1, 3, 1, 3, 2, 0, 0, 0, 7, + 0, 0, 0, 7, 0, 0, 2, 1, 1, 2, + 0, 3, 1, 1, 0, 0, 5, 0, 0, 5, + 4, 1, 5, 2, 0, 2, 0, 1, 1, 1, + 2, 2, 4, 2, 2, 1, 3, 2, 2, 2, + 0, 2, 0, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 6, 3, 5, 2, 1, 1, 1, 2, 1, - 3, 2, 1, 1, 0, 0, 6, 1, 1, 1, - 2, 2, 1, 4, 4, 4 + 1, 1, 6, 3, 5, 2, 1, 1, 1, 2, + 1, 3, 2, 1, 1, 0, 0, 6, 1, 1, + 1, 2, 2, 1, 4, 4, 4 }; static const short yydefact[] = { 3, 5, 0, 0, 0, 162, 153, 160, 152, 252, 248, - 250, 0, 0, 0, 414, 0, 466, 470, 0, 0, - 420, 446, 0, 446, 0, 0, 19, 4, 8, 7, + 250, 0, 0, 0, 415, 0, 467, 471, 0, 0, + 421, 447, 0, 447, 0, 0, 19, 4, 8, 7, 0, 128, 128, 148, 139, 149, 185, 0, 0, 0, - 161, 0, 9, 416, 417, 415, 418, 165, 419, 6, + 161, 0, 9, 417, 418, 416, 419, 165, 420, 6, 17, 18, 253, 249, 251, 0, 0, 0, 32, 33, - 35, 34, 421, 0, 0, 0, 446, 437, 163, 447, - 446, 164, 0, 0, 247, 299, 0, 0, 173, 129, + 35, 34, 422, 0, 0, 0, 447, 438, 163, 448, + 447, 164, 0, 0, 247, 299, 0, 0, 173, 129, 0, 16, 0, 15, 0, 150, 139, 151, 155, 154, 137, 186, 273, 257, 273, 261, 264, 266, 11, 89, 90, 107, 59, 60, 0, 0, 0, 36, 38, 37, - 0, 39, 40, 0, 555, 0, 0, 0, 109, 41, + 0, 39, 40, 0, 556, 0, 0, 0, 109, 41, 42, 0, 0, 43, 61, 0, 0, 65, 46, 48, 91, 106, 0, 102, 103, 104, 105, 297, 0, 295, - 158, 0, 295, 190, 448, 0, 517, 518, 540, 541, - 537, 521, 522, 523, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 538, 539, 0, - 0, 519, 467, 491, 510, 514, 520, 515, 471, 0, - 0, 428, 0, 0, 435, 444, 423, 0, 0, 0, - 12, 0, 0, 31, 0, 406, 0, 0, 183, 233, + 158, 0, 295, 190, 449, 0, 518, 519, 541, 542, + 538, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 539, 540, 0, + 0, 520, 468, 492, 511, 515, 521, 516, 472, 0, + 0, 429, 0, 0, 436, 445, 424, 0, 0, 0, + 12, 0, 0, 31, 0, 407, 0, 0, 183, 233, 299, 0, 234, 0, 171, 129, 0, 225, 226, 0, 0, 138, 141, 168, 169, 140, 142, 170, 0, 0, 0, 254, 0, 258, 0, 262, 57, 58, 52, 49, @@ -687,886 +688,910 @@ static const short yydefact[] = { 3, 0, 0, 53, 0, 55, 0, 0, 82, 80, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 0, 0, 44, 0, 108, 110, - 50, 166, 299, 389, 0, 293, 296, 156, 167, 298, - 158, 294, 196, 197, 198, 195, 0, 188, 191, 422, - 0, 545, 0, 494, 512, 493, 0, 516, 0, 494, - 446, 0, 425, 475, 440, 0, 454, 475, 424, 300, - 243, 242, 174, 175, 246, 0, 241, 0, 245, 0, - 0, 29, 0, 335, 116, 336, 182, 184, 0, 0, - 14, 0, 0, 23, 0, 183, 406, 0, 13, 27, - 0, 0, 183, 281, 275, 128, 272, 128, 0, 273, - 183, 273, 290, 291, 269, 288, 0, 93, 92, 325, - 317, 0, 0, 554, 553, 556, 563, 558, 0, 559, - 560, 0, 0, 10, 47, 0, 0, 88, 87, 0, - 0, 0, 0, 76, 77, 75, 74, 73, 71, 72, - 66, 67, 68, 69, 70, 99, 98, 0, 45, 0, - 303, 0, 307, 0, 309, 0, 389, 0, 159, 157, - 0, 190, 44, 0, 0, 0, 468, 511, 395, 0, - 543, 472, 433, 446, 454, 0, 0, 438, 443, 0, - 0, 0, 0, 0, 410, 396, 128, 128, 408, 0, - 397, 399, 407, 0, 244, 316, 0, 118, 113, 117, - 0, 180, 231, 227, 172, 232, 21, 179, 228, 230, - 0, 25, 0, 256, 335, 274, 335, 282, 0, 260, - 0, 0, 270, 0, 269, 326, 318, 95, 63, 62, - 0, 562, 564, 0, 561, 566, 565, 54, 56, 0, - 0, 81, 79, 96, 97, 302, 301, 390, 308, 304, - 306, 0, 187, 189, 89, 0, 0, 490, 510, 128, - 0, 499, 495, 497, 0, 0, 513, 397, 0, 0, - 430, 475, 441, 0, 429, 484, 487, 478, 0, 128, - 128, 480, 477, 454, 453, 451, 452, 436, 454, 459, - 456, 128, 128, 0, 445, 176, 394, 295, 295, 391, - 392, 0, 409, 0, 0, 30, 323, 114, 128, 128, - 145, 0, 0, 177, 229, 0, 276, 277, 283, 336, - 279, 183, 183, 292, 289, 183, 0, 0, 0, 319, - 320, 0, 0, 546, 0, 547, 548, 83, 86, 305, - 192, 0, 194, 544, 492, 503, 295, 504, 500, 501, - 469, 0, 473, 454, 0, 475, 426, 0, 0, 175, - 0, 0, 0, 479, 0, 0, 460, 460, 455, 240, - 299, 389, 129, 183, 183, 183, 299, 183, 183, 0, - 398, 400, 411, 324, 121, 0, 122, 0, 145, 143, - 202, 200, 199, 181, 22, 0, 26, 335, 0, 255, - 259, 265, 183, 412, 0, 0, 0, 335, 0, 0, - 125, 336, 311, 321, 215, 89, 0, 212, 0, 214, - 0, 267, 205, 211, 0, 0, 550, 552, 0, 557, - 0, 549, 0, 0, 183, 183, 183, 0, 505, 542, - 0, 434, 0, 475, 485, 488, 481, 439, 0, 463, - 457, 461, 458, 303, 0, 406, 0, 401, 402, 403, - 303, 404, 405, 393, 0, 0, 144, 147, 146, 0, - 178, 284, 0, 183, 263, 322, 0, 328, 127, 126, - 315, 0, 329, 313, 336, 312, 0, 218, 0, 209, - 64, 0, 204, 0, 217, 208, 551, 84, 193, 507, - 508, 509, 502, 295, 431, 442, 0, 0, 0, 465, - 0, 0, 238, 299, 239, 235, 237, 0, 119, 120, - 0, 183, 0, 285, 413, 327, 0, 162, 0, 349, - 333, 0, 0, 0, 0, 0, 0, 0, 0, 378, - 446, 446, 370, 0, 0, 123, 128, 128, 342, 347, - 0, 0, 339, 340, 343, 371, 341, 0, 0, 0, - 206, 207, 506, 475, 427, 483, 482, 486, 489, 464, - 462, 0, 236, 201, 287, 183, 0, 0, 335, 380, - 0, 0, 376, 360, 361, 362, 0, 0, 0, 379, - 0, 183, 344, 134, 0, 135, 0, 0, 331, 336, - 330, 353, 0, 136, 213, 210, 0, 286, 0, 0, - 0, 381, 48, 0, 0, 0, 374, 363, 0, 368, - 0, 377, 0, 132, 219, 0, 133, 222, 348, 335, - 0, 0, 432, 332, 0, 334, 372, 354, 358, 0, - 369, 0, 130, 0, 131, 0, 346, 337, 335, 0, - 350, 335, 380, 335, 375, 382, 0, 220, 223, 338, - 352, 335, 373, 0, 359, 0, 0, 383, 384, 364, - 0, 0, 351, 355, 0, 382, 0, 0, 221, 224, - 380, 0, 0, 365, 385, 0, 386, 0, 0, 356, - 387, 0, 366, 335, 0, 0, 357, 367, 388, 0, - 0, 0 + 50, 166, 299, 390, 0, 129, 293, 296, 156, 167, + 298, 158, 294, 196, 197, 198, 195, 0, 188, 191, + 423, 0, 546, 0, 495, 513, 494, 0, 517, 0, + 495, 447, 0, 426, 476, 441, 0, 455, 476, 425, + 300, 243, 242, 174, 175, 246, 0, 241, 0, 245, + 0, 0, 29, 0, 336, 116, 337, 182, 184, 0, + 0, 14, 0, 0, 23, 0, 183, 407, 0, 13, + 27, 0, 0, 183, 281, 275, 128, 272, 128, 0, + 273, 183, 273, 290, 291, 269, 288, 0, 93, 92, + 326, 318, 0, 0, 555, 554, 557, 564, 559, 0, + 560, 561, 0, 0, 10, 47, 0, 0, 88, 87, + 0, 0, 0, 0, 76, 77, 75, 74, 73, 71, + 72, 66, 67, 68, 69, 70, 99, 98, 0, 45, + 0, 303, 0, 307, 0, 309, 0, 0, 390, 0, + 159, 157, 0, 190, 44, 0, 0, 0, 469, 512, + 396, 0, 544, 473, 434, 447, 455, 0, 0, 439, + 444, 0, 0, 0, 0, 0, 411, 397, 128, 128, + 409, 0, 398, 400, 408, 0, 244, 317, 0, 118, + 113, 117, 0, 180, 231, 227, 172, 232, 21, 179, + 228, 230, 0, 25, 0, 256, 336, 274, 336, 282, + 0, 260, 0, 0, 270, 0, 269, 327, 319, 95, + 63, 62, 0, 563, 565, 0, 562, 567, 566, 54, + 56, 0, 0, 81, 79, 96, 97, 302, 301, 391, + 308, 310, 304, 306, 0, 187, 189, 89, 0, 0, + 491, 511, 128, 0, 500, 496, 498, 0, 0, 514, + 398, 0, 0, 431, 476, 442, 0, 430, 485, 488, + 479, 0, 128, 128, 481, 478, 455, 454, 452, 453, + 437, 455, 460, 457, 128, 128, 0, 446, 176, 395, + 295, 295, 392, 393, 0, 410, 0, 0, 30, 324, + 114, 128, 128, 145, 0, 0, 177, 229, 0, 276, + 277, 283, 337, 279, 183, 183, 292, 289, 183, 0, + 0, 0, 320, 321, 0, 0, 547, 0, 548, 549, + 83, 86, 305, 192, 0, 194, 545, 493, 504, 295, + 505, 501, 502, 470, 0, 474, 455, 0, 476, 427, + 0, 0, 175, 0, 0, 0, 480, 0, 0, 461, + 461, 456, 240, 299, 390, 129, 183, 183, 183, 299, + 129, 183, 183, 0, 399, 401, 412, 325, 121, 0, + 122, 0, 145, 143, 202, 200, 199, 181, 22, 0, + 26, 336, 0, 255, 259, 265, 183, 413, 0, 0, + 0, 336, 0, 0, 125, 337, 312, 322, 215, 89, + 0, 212, 0, 214, 0, 267, 205, 211, 0, 0, + 551, 553, 0, 558, 0, 550, 0, 0, 183, 183, + 183, 0, 506, 543, 0, 435, 0, 476, 486, 489, + 482, 440, 0, 464, 458, 462, 459, 303, 0, 407, + 0, 402, 403, 404, 303, 0, 405, 406, 394, 0, + 0, 144, 147, 146, 0, 178, 284, 0, 183, 263, + 323, 0, 329, 127, 126, 316, 0, 330, 314, 337, + 313, 0, 218, 0, 209, 64, 0, 204, 0, 217, + 208, 552, 84, 193, 508, 509, 510, 503, 295, 432, + 443, 0, 0, 0, 466, 0, 0, 238, 239, 235, + 237, 0, 119, 120, 0, 183, 0, 285, 414, 328, + 0, 162, 0, 350, 334, 0, 0, 0, 0, 0, + 0, 0, 0, 379, 447, 447, 371, 0, 0, 123, + 128, 128, 343, 348, 0, 0, 340, 341, 344, 372, + 342, 0, 0, 0, 206, 207, 507, 476, 428, 484, + 483, 487, 490, 465, 463, 236, 201, 287, 183, 0, + 0, 336, 381, 0, 0, 377, 361, 362, 363, 0, + 0, 0, 380, 0, 183, 345, 134, 0, 135, 0, + 0, 332, 337, 331, 354, 0, 136, 213, 210, 0, + 286, 0, 0, 0, 382, 48, 0, 0, 0, 375, + 364, 0, 369, 0, 378, 0, 132, 219, 0, 133, + 222, 349, 336, 0, 0, 433, 333, 0, 335, 373, + 355, 359, 0, 370, 0, 130, 0, 131, 0, 347, + 338, 336, 0, 351, 336, 381, 336, 376, 383, 0, + 220, 223, 339, 353, 336, 374, 0, 360, 0, 0, + 384, 385, 365, 0, 0, 352, 356, 0, 383, 0, + 0, 221, 224, 381, 0, 0, 366, 386, 0, 387, + 0, 0, 357, 388, 0, 367, 336, 0, 0, 358, + 368, 389, 0, 0, 0 }; -static const short yydefgoto[] = { 950, - 1, 2, 3, 28, 29, 30, 335, 563, 341, 566, - 198, 447, 669, 122, 232, 398, 124, 125, 126, 127, - 128, 582, 129, 383, 382, 380, 683, 381, 130, 233, - 131, 132, 322, 323, 324, 558, 657, 658, 31, 193, - 796, 437, 91, 559, 640, 438, 34, 140, 278, 35, - 216, 204, 78, 199, 205, 646, 79, 562, 327, 328, - 37, 287, 288, 289, 644, 720, 671, 672, 673, 810, - 674, 739, 675, 676, 874, 894, 921, 877, 896, 922, - 314, 208, 685, 209, 38, 39, 40, 41, 350, 352, - 357, 225, 743, 474, 220, 221, 347, 568, 569, 355, - 356, 142, 687, 143, 189, 277, 659, 660, 732, 325, - 477, 579, 580, 581, 556, 361, 557, 800, 801, 802, - 829, 850, 451, 851, 663, 803, 804, 880, 828, 912, - 903, 931, 944, 904, 805, 806, 902, 807, 841, 864, - 917, 918, 919, 942, 403, 404, 439, 630, 440, 441, - 442, 317, 318, 443, 444, 655, 133, 43, 64, 44, - 45, 46, 425, 694, 304, 604, 814, 522, 307, 534, - 606, 47, 308, 69, 48, 430, 539, 431, 544, 701, - 702, 49, 65, 294, 516, 66, 300, 520, 426, 427, - 532, 613, 818, 533, 608, 758, 609, 759, 173, 417, - 513, 514, 515, 688, 689, 296, 419, 174, 175, 176, - 177, 178, 585, 586, 678, 587, 366, 134, 235, 481, - 369, 370, 371, 135, 136, 137 +static const short yydefgoto[] = { 953, + 1, 2, 3, 28, 29, 30, 336, 566, 342, 569, + 198, 449, 673, 122, 232, 399, 124, 125, 126, 127, + 128, 585, 129, 384, 383, 381, 687, 382, 130, 233, + 131, 132, 323, 324, 325, 561, 661, 662, 31, 193, + 800, 439, 91, 562, 644, 440, 34, 140, 279, 35, + 216, 204, 78, 199, 205, 650, 79, 565, 328, 329, + 37, 288, 289, 290, 648, 725, 675, 676, 677, 814, + 678, 744, 679, 680, 877, 897, 924, 880, 899, 925, + 315, 208, 689, 209, 38, 39, 40, 41, 351, 353, + 358, 225, 748, 476, 220, 221, 348, 571, 572, 356, + 357, 142, 691, 143, 189, 278, 663, 664, 737, 326, + 479, 582, 583, 584, 559, 362, 560, 804, 805, 806, + 832, 853, 453, 854, 667, 807, 808, 883, 831, 915, + 906, 934, 947, 907, 809, 810, 905, 811, 844, 867, + 920, 921, 922, 945, 404, 405, 441, 634, 442, 443, + 444, 318, 319, 445, 446, 659, 133, 43, 64, 44, + 45, 46, 427, 698, 305, 607, 818, 525, 308, 537, + 609, 47, 309, 69, 48, 432, 542, 433, 547, 705, + 706, 49, 65, 295, 519, 66, 301, 523, 428, 429, + 535, 616, 822, 536, 611, 763, 612, 764, 173, 419, + 516, 517, 518, 692, 693, 297, 421, 174, 175, 176, + 177, 178, 588, 589, 682, 590, 367, 134, 235, 483, + 370, 371, 372, 135, 136, 137 }; -static const short yypact[] = { 171, - 186, 3077, 3077, 193,-32768,-32768,-32768,-32768, 172, 172, - 172, 145, 174, 199,-32768, 85,-32768,-32768, 85, 85, --32768, 249, 85, 249, 85, 85,-32768,-32768,-32768,-32768, - 363, 242, 2557, 237,-32768, 172,-32768, 94, 117, 256, --32768, 3077,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 172, 172, 172, 2786, 2624, 266,-32768,-32768, --32768,-32768,-32768, 143, 3367, 3367, 72, 54,-32768,-32768, - 249,-32768, 42, 85,-32768,-32768, 363, 48,-32768, 172, - 1802,-32768, 283,-32768, 363, 237,-32768, 172,-32768,-32768, - 859,-32768, 243, 265, 243, 279,-32768, 289,-32768,-32768, --32768,-32768,-32768,-32768, 2786, 2786, 85,-32768,-32768,-32768, - 2786,-32768,-32768, 1407,-32768, 268, 315, 337,-32768,-32768, --32768, 2786, 326, 323,-32768, 2840, 2894,-32768, 3634, 1152, - 412, 364, 2786,-32768,-32768,-32768,-32768,-32768, 365, 445, --32768, 368, 635, 139,-32768, 85,-32768,-32768,-32768,-32768, +static const short yypact[] = { 109, + 118, 3183, 3183, 412,-32768,-32768,-32768,-32768, 91, 91, + 91, 65, 100, 136,-32768, 270,-32768,-32768, 270, 270, +-32768, 132, 270, 132, 270, 270,-32768,-32768,-32768,-32768, + 103, 128, 699, 378,-32768, 91,-32768, 119, 131, 203, +-32768, 3183,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 91, 91, 91, 2892, 2730, 155,-32768,-32768, +-32768,-32768,-32768, 68, 3447, 3447, 70, 61,-32768,-32768, + 132,-32768, 112, 270,-32768,-32768, 103, 167,-32768, 91, + 1306,-32768, 434,-32768, 103, 378,-32768, 91,-32768,-32768, + 900,-32768, 160, 153, 160, 159,-32768, 175,-32768,-32768, +-32768,-32768,-32768,-32768, 2892, 2892, 270,-32768,-32768,-32768, + 2892,-32768,-32768, 1480,-32768, 195, 231, 239,-32768,-32768, +-32768, 2892, 216, 225,-32768, 2946, 3000,-32768, 3714, 1127, + 315, 255, 2892,-32768,-32768,-32768,-32768,-32768, 251, 418, +-32768, 279, 2078, 314,-32768, 270,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 434, - 716,-32768,-32768,-32768, 2518, 409,-32768,-32768,-32768, 85, - 85, 386, 85, 85,-32768,-32768,-32768, 375, 286, 149, --32768, 283, 363,-32768, 414,-32768, 1987, 1947, 172,-32768, --32768, 283,-32768, 115,-32768, 172, 1900, 224, 370, 159, - 1821, 859,-32768,-32768,-32768,-32768, 172,-32768, 425, 408, - 1733,-32768, 411,-32768, 123,-32768,-32768,-32768,-32768,-32768, - 418, 421, 417, 469, 2678, 3395, 716, 85,-32768, 433, - 2786, 1407,-32768, 1407,-32768, 2786, 2786, 482,-32768,-32768, - 2786, 2786, 2786, 2786, 2786, 2786, 2786, 2786, 2786, 2786, - 2786, 2786,-32768,-32768, 85, 85, 2786, 2786,-32768,-32768, --32768,-32768,-32768, 445, 2046,-32768, 419, 898,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 147,-32768, 489,-32768, - 716,-32768, 479, 484, 556,-32768, 409,-32768, 477, 484, - 249, 492,-32768, 514, 497, 508,-32768, 514,-32768,-32768, - 370,-32768,-32768, 561, 370, 581,-32768, 878,-32768, 509, - 523,-32768, 378, 101,-32768,-32768, 568, 172, 262, 239, --32768, 283, 283,-32768, 1947, 172,-32768, 2105,-32768,-32768, - 1947, 541, 172,-32768,-32768, 535, 529, 463, 3305, 243, - 172, 243,-32768, 579, 537,-32768, 123,-32768,-32768,-32768, - 544, 558, 2438,-32768,-32768,-32768,-32768, 594, 564, 3395, --32768, 569, 574,-32768, 3634, 588, 592, 3634, 3634, 2786, - 617, 2786, 2786, 1617, 1959, 2595, 1794, 1891, 522, 522, - 602, 602,-32768,-32768,-32768,-32768,-32768, 593, 323, 554, - 272, 299,-32768, 3208,-32768, 589,-32768, 2164,-32768, 898, - 603, 139, 2948, 610, 3431, 670,-32768,-32768, 3488, 716, --32768,-32768, 596, 249,-32768, 624, 3152,-32768,-32768, 525, - 3025, 634, 74, 627,-32768,-32768,-32768, 3534,-32768, 628, - 258,-32768,-32768, 197,-32768,-32768, 86,-32768,-32768,-32768, - 3530,-32768, 224,-32768,-32768, 224,-32768, 663,-32768,-32768, - 622,-32768, 638,-32768,-32768,-32768,-32768,-32768, 632,-32768, - 633, 2786, 85, 646, 537,-32768, 693,-32768,-32768,-32768, - 3459,-32768,-32768, 594,-32768,-32768,-32768,-32768,-32768, 689, - 2786, 1382, 1538,-32768,-32768, 419,-32768,-32768,-32768,-32768, --32768, 648,-32768,-32768, 225, 657, 85,-32768, 2518, 666, - 3228,-32768,-32768, 3534, 1919, 86,-32768, 654, 664, 86, --32768, 514,-32768, 623,-32768,-32768,-32768,-32768, 363, 242, - 2557, 362,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 3564, 672,-32768,-32768,-32768, 539, 551,-32768, --32768, 3500,-32768, 747, 417,-32768,-32768,-32768, 676, 3285, --32768, 1647, 86,-32768,-32768, 86,-32768, 675,-32768,-32768, - 675, 172, 172, 3634,-32768, 172, 687, 85, 1083, 693, --32768, 1487, 2786, 731, 694, 3459,-32768,-32768, 1460,-32768, --32768, 2786,-32768,-32768,-32768,-32768, 539,-32768,-32768,-32768, --32768, 85,-32768,-32768, 709, 514,-32768, 3367, 3367, 327, - 283, 363, 3180,-32768, 690, 3043, 213, 213,-32768,-32768, --32768, 551, 172, 290, 340, 172,-32768, 340, 172, 3208, --32768,-32768,-32768,-32768,-32768, 283,-32768, 363,-32768, 402, --32768,-32768, 3634,-32768,-32768, 1647,-32768,-32768, 452,-32768, --32768,-32768, 172,-32768, 296, 550, 1003, 695, 698, 913, --32768,-32768,-32768,-32768,-32768, 741, 85,-32768, 746, 3634, - 707, 705,-32768,-32768, 70, 1240, 323,-32768, 2786,-32768, - 731,-32768, 2786, 275, 290, 340, 172, 406,-32768,-32768, - 825,-32768, 726, 514,-32768,-32768,-32768,-32768, 2786, 753, - 714,-32768, 714, 658, 245,-32768, 2223,-32768,-32768,-32768, - 231,-32768,-32768,-32768, 435, 444, 402,-32768,-32768, 1487, --32768,-32768, 2786, 78,-32768,-32768, 85,-32768,-32768,-32768, --32768, 722,-32768,-32768,-32768,-32768, 2304,-32768, 1487,-32768, --32768, 1567,-32768, 1722,-32768,-32768,-32768, 1460,-32768,-32768, --32768,-32768,-32768, 539,-32768,-32768, 736, 100, 100, 3634, - 2786, 213, 599,-32768, 599,-32768,-32768, 720,-32768,-32768, - 727, 3598, 2786,-32768,-32768,-32768, 2384, 770, 752,-32768, --32768, 758, 761, 2786, 783, 745, 750, 2732, 293, 817, - 69, 113,-32768, 793, 771,-32768, 773, 3257,-32768, 835, - 1165, 89,-32768,-32768,-32768,-32768,-32768, 2546, 774, 1722, --32768,-32768,-32768, 514,-32768,-32768,-32768,-32768,-32768, 3634, --32768, 760,-32768,-32768,-32768, 3598, 2786, 795,-32768, 2786, - 2786, 3575,-32768,-32768,-32768,-32768, 781, 2786, 786,-32768, - 808, 172,-32768,-32768, 283,-32768, 363, 1327,-32768,-32768, --32768,-32768, 2786,-32768,-32768,-32768, 805,-32768, 798, 2786, - 860,-32768, 802, 799, 804, 2786,-32768,-32768, 809,-32768, - 2786,-32768, 446,-32768, 436, 451,-32768, 721,-32768,-32768, - 2384, 811,-32768,-32768, 820,-32768,-32768,-32768,-32768, 3616, --32768, 77,-32768, 1947,-32768, 1947,-32768,-32768,-32768, 823, --32768,-32768, 2786,-32768,-32768, 900, 830,-32768,-32768,-32768, --32768,-32768,-32768, 836,-32768, 856, 84, 837,-32768,-32768, - 417, 417,-32768,-32768, 2786, 900, 842, 900,-32768,-32768, - 2786, 844, 109,-32768,-32768, 849,-32768, 581, 850,-32768, - 412, 313,-32768,-32768, 852, 581,-32768,-32768, 412, 941, - 943,-32768 +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 292, + 3610,-32768,-32768,-32768, 2624, 327,-32768,-32768,-32768, 270, + 270, 286, 270, 270,-32768,-32768,-32768, 321, 252, 301, +-32768, 434, 103,-32768, 319,-32768, 2093, 744, 91,-32768, +-32768, 434,-32768, 188,-32768, 91, 1969, 422, 471, 259, + 1950, 900,-32768,-32768,-32768,-32768, 91,-32768, 332, 340, + 1881,-32768, 347,-32768, 227,-32768,-32768,-32768,-32768,-32768, + 357, 359, 338, 368, 2784, 3475, 3610, 270,-32768, 377, + 2892, 1480,-32768, 1480,-32768, 2892, 2892, 408,-32768,-32768, + 2892, 2892, 2892, 2892, 2892, 2892, 2892, 2892, 2892, 2892, + 2892, 2892,-32768,-32768, 270, 270, 2892, 2892,-32768,-32768, +-32768,-32768,-32768, 418, 2152, 91,-32768, 481, 708,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 22,-32768, 411, +-32768, 3610,-32768, 391, 402, 491,-32768, 327,-32768, 404, + 402, 132, 433,-32768, 449, 441, 439,-32768, 449,-32768, +-32768, 471,-32768,-32768, 518, 471, 538,-32768, 3336,-32768, + 467, 483,-32768, 1021, 82,-32768,-32768, 536, 91, 386, + 350,-32768, 434, 434,-32768, 744, 91,-32768, 2211,-32768, +-32768, 744, 520, 91,-32768,-32768, 475, 502, 1385, 3385, + 160, 91, 160,-32768, 560, 523,-32768, 227,-32768,-32768, +-32768, 540, 525, 2544,-32768,-32768,-32768,-32768, 578, 544, + 3475,-32768, 562, 565,-32768, 3714, 569, 570, 3714, 3714, + 2892, 604, 2892, 2892, 1690, 1278, 969, 958, 1297, 563, + 563, 533, 533,-32768,-32768,-32768,-32768,-32768, 571, 225, + 577, 369, 355,-32768, 3355,-32768, 579, 418,-32768, 2270, +-32768, 708, 580, 314, 3054, 588, 3511, 2048,-32768,-32768, + 3568, 3610,-32768,-32768, 583, 132,-32768, 590, 3258,-32768, +-32768, 457, 3131, 608, 75, 591,-32768,-32768,-32768, 3614, +-32768, 596, 276,-32768,-32768, 232,-32768,-32768, 90,-32768, +-32768,-32768, 848,-32768, 422,-32768,-32768, 422,-32768, 637, +-32768,-32768, 593,-32768, 601,-32768,-32768,-32768,-32768,-32768, + 600,-32768, 602, 2892, 270, 603, 523,-32768, 650,-32768, +-32768,-32768, 3539,-32768,-32768, 578,-32768,-32768,-32768,-32768, +-32768, 646, 2892, 1612, 996,-32768,-32768, 481,-32768,-32768, +-32768, 481,-32768,-32768, 612,-32768,-32768, 234, 609, 270, +-32768, 2624, 610, 2663,-32768,-32768, 3614, 2067, 90,-32768, + 618, 624, 90,-32768, 449,-32768, 530,-32768,-32768,-32768, +-32768, 103, 128, 699, 450,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768, 3644, 631,-32768,-32768,-32768, + 573, 344,-32768,-32768, 3580,-32768, 706, 338,-32768,-32768, +-32768, 640, 550,-32768, 1795, 90,-32768,-32768, 90,-32768, + 629,-32768,-32768, 629, 91, 91, 3714,-32768, 91, 641, + 270, 1056, 650,-32768, 1560, 2892, 685, 643, 3539,-32768, +-32768, 1533,-32768,-32768, 2892,-32768,-32768,-32768,-32768, 573, +-32768,-32768,-32768,-32768, 270,-32768,-32768, 661, 449,-32768, + 3447, 3447, 245, 434, 103, 3286,-32768, 561, 3149, 284, + 284,-32768,-32768,-32768, 344, 91, 202, 220, 91,-32768, + 91, 220, 91, 3355,-32768,-32768,-32768,-32768,-32768, 434, +-32768, 103,-32768, 796,-32768,-32768, 3714,-32768,-32768, 1795, +-32768,-32768, 436,-32768,-32768,-32768, 91,-32768, 285, 512, + 920, 652, 653, 1140,-32768,-32768,-32768,-32768,-32768, 694, + 270,-32768, 695, 3714, 656, 654,-32768,-32768, 80, 1720, + 225,-32768, 2892,-32768, 685,-32768, 2892, 250, 202, 220, + 91, 294,-32768,-32768, 581,-32768, 675, 449,-32768,-32768, +-32768,-32768, 2892, 702, 662,-32768, 662, 633, 573,-32768, + 2329,-32768,-32768,-32768, 342, 344,-32768,-32768,-32768, 336, + 426, 796,-32768,-32768, 1560,-32768,-32768, 2892, 89,-32768, +-32768, 270,-32768,-32768,-32768,-32768, 664,-32768,-32768,-32768, +-32768, 2410,-32768, 1560,-32768,-32768, 1640,-32768, 1870,-32768, +-32768,-32768, 1533,-32768,-32768,-32768,-32768,-32768, 573,-32768, +-32768, 683, 81, 81, 3714, 2892, 284, 566, 566,-32768, +-32768, 669,-32768,-32768, 677, 3678, 2892,-32768,-32768,-32768, + 2490, 715, 700,-32768,-32768, 701, 705, 2892, 727, 691, + 707, 2838, 170, 780, 222, 233,-32768, 750, 716,-32768, + 717, 3366,-32768, 776, 1220, 87,-32768,-32768,-32768,-32768, +-32768, 2652, 720, 1870,-32768,-32768,-32768, 449,-32768,-32768, +-32768,-32768,-32768, 3714,-32768,-32768,-32768,-32768, 3678, 2892, + 736,-32768, 2892, 2892, 3655,-32768,-32768,-32768,-32768, 722, + 2892, 729,-32768, 753, 91,-32768,-32768, 434,-32768, 103, + 1400,-32768,-32768,-32768,-32768, 2892,-32768,-32768,-32768, 751, +-32768, 739, 2892, 802,-32768, 787, 743, 746, 2892,-32768, +-32768, 748,-32768, 2892,-32768, 447,-32768, 172, 462,-32768, + 461,-32768,-32768, 2490, 747,-32768,-32768, 754,-32768,-32768, +-32768,-32768, 3696,-32768, 64,-32768, 744,-32768, 744,-32768, +-32768,-32768, 752,-32768,-32768, 2892,-32768,-32768, 818, 756, +-32768,-32768,-32768,-32768,-32768,-32768, 760,-32768, 779, 79, + 762,-32768,-32768, 338, 338,-32768,-32768, 2892, 818, 771, + 818,-32768,-32768, 2892, 775, 162,-32768,-32768, 781,-32768, + 538, 782,-32768, 315, 257,-32768,-32768, 788, 538,-32768, +-32768, 315, 858, 867,-32768 }; static const short yypgoto[] = {-32768, --32768,-32768,-32768, 97, -345,-32768,-32768,-32768,-32768,-32768, --32768,-32768, -11,-32768, -56, 536, -220, 540,-32768,-32768, - -54,-32768, 582,-32768,-32768,-32768,-32768,-32768, 118,-32768, - -303,-32768, -263, 631,-32768,-32768, 294,-32768, 16, -166, - 158, 1, 864,-32768, 318, 4, -2, -184, 688, 20, - -243, -571, -60, -205, -125,-32768,-32768,-32768, 273, 8, - 50,-32768, 559,-32768, 324,-32768, -602,-32768, 232,-32768, - -595,-32768,-32768, 300,-32768,-32768,-32768,-32768,-32768,-32768, - -53, -107, -474, -15,-32768,-32768,-32768, -57,-32768,-32768, --32768,-32768,-32768, 501, -50,-32768, 629, 515, 333, 626, - 513, -39, -84, -155, -179, -219, 329,-32768,-32768, -262, --32768,-32768,-32768, 416, -13,-32768, -175,-32768,-32768,-32768, --32768, -160, -506, -667, 334,-32768, 108,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 119,-32768, -791, - 73,-32768, 75,-32768, 591,-32768, -350,-32768, 583, 586, - 449, -301,-32768,-32768,-32768,-32768, 18,-32768, 988,-32768, +-32768,-32768,-32768, 83, -371,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, -14,-32768, -56, 453, -228, 508,-32768,-32768, + -32,-32768, 628,-32768,-32768,-32768,-32768,-32768, 38,-32768, + -297,-32768, -305, 548,-32768,-32768, 215,-32768, 3, -166, + 88, 5, 804,-32768, 249, 12, -29, -170, 613, 47, + -249, -572, -69, -189, -111,-32768,-32768,-32768, 207, 54, + 17,-32768, 480,-32768, 253,-32768, -630,-32768, 152,-32768, + -605,-32768,-32768, 229,-32768,-32768,-32768,-32768,-32768,-32768, + -51, -113, -482, -18,-32768,-32768,-32768, -64,-32768,-32768, +-32768,-32768,-32768, 424, -50,-32768, 559, 442, 258, 558, + 443, -59, -99, -169, -173, -198, 260,-32768,-32768, -282, +-32768,-32768,-32768, 334, -412,-32768, -223,-32768,-32768,-32768, +-32768, -160, -524, -755, 288,-32768, 35,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 71,-32768, -738, + 27,-32768, 26,-32768, 549,-32768, -357,-32768, 541, 543, + 406, -304,-32768,-32768,-32768,-32768, 19,-32768, 934,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 9, 2, -354,-32768, 480,-32768, 420, - 277,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -276,-32768, --32768,-32768, 276, 510,-32768,-32768,-32768,-32768, -22, 740, --32768,-32768, 527,-32768, 295, 538,-32768, 640, 641, -152, --32768, -133,-32768,-32768, 371, 458,-32768,-32768,-32768,-32768, --32768,-32768, 691,-32768,-32768,-32768 +-32768,-32768,-32768, -21, -5, -349,-32768, 425,-32768, 345, + 204,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -286,-32768, +-32768,-32768, 208, 438,-32768,-32768,-32768,-32768, -37, 676, +-32768,-32768, 459,-32768, 219, 469,-32768, 568, 572, -142, +-32768, -132,-32768,-32768, 299, 399,-32768,-32768,-32768,-32768, +-32768,-32768, 619,-32768,-32768,-32768 }; -#define YYLAST 3686 +#define YYLAST 3766 static const short yytable[] = { 123, - 139, 336, 32, 32, 63, 33, 33, 67, 68, 36, - 36, 71, 433, 63, 74, 81, 53, 54, 55, 42, - 42, 329, 297, 70, 210, 70, 94, 96, 98, 207, - 86, 432, 72, 218, 409, 459, 346, 326, 80, 333, - 88, 298, 32, 179, 223, 33, 399, 83, 85, 36, - 227, 228, 87, 498, 402, 276, 230, 362, 282, 42, - 448, 190, 188, 649, 715, 348, 313, 239, 70, 211, - 524, 457, 70, 624, 234, 182, 141, 462, 271, 186, - 746, 528, 269, 368, 80, 92, 555, 59, 60, 852, - 206, 183, 80, 401, 330, 229, 59, 60, 217, 50, - 816, -112, 92, 92, 92, 744, -35, 14, 336, 180, - 449, 914, 184, 16, 906, 773, 16, 771, 187, 59, - 60, 926, 146, 353, 191, 59, 60, 667, 192, 92, - 181, 293, 286, 141, 290, 185, 809, 92, 99, 936, - 320, 59, 60, 283, 284, 285, 938, 853, 812, 546, - -34, 61, 907, 512, 218, 737, 62, 16, 292, 927, - 61, 861, 281, 326, 346, 62, 409, 360, 301, 302, - -1, 305, 306, 311, 326, 93, 817, 315, 365, 615, - 326, 496, -112, 61, 939, -2, 190, 145, 62, 61, - 141, 331, 399, 348, 62, 332, 80, 372, 95, 206, - 80, 14, 376, 56, 377, 61, 455, 196, 197, 206, - 62, 400, 897, 354, 856, 75, 200, 484, 406, 217, - 218, 453, 411, 146, 312, 456, 373, 412, 777, 763, - 765, 910, 57, 75, 913, 339, 915, 310, 349, 192, - 141, 89, 14, 90, 923, 605, 542, 75, 620, 691, - 699, 414, 600, 396, 397, 92, 141, 58, 59, 60, - 14, 141, 201, 141, 75, 200, 92, 697, 310, 51, - 52, 202, 553, 873, 14, 543, 947, 554, 310, 714, - 627, 461, 337, 338, 203, 75, 200, 421, 75, 622, - 275, 14, 310, 16, 764, 59, 60, 337, 338, 469, - 591, 471, 70, 77, 570, 592, 570, 219, 480, 423, - 141, 201, 14, 311, 454, 14, 661, 315, 82, 14, - 202, 273, 61, 490, 144, 36, 236, 62, 584, 693, - 274, 275, 201, 203, 551, 76, 206, 97, 552, 206, - 206, 202, 838, 881, 77, 354, 222, 763, 706, 707, - 749, 502, 218, 195, 203, 241, 297, 407, 408, 61, - 224, 465, 677, 467, 62, 75, 349, 281, 141, 14, - 226, 684, 726, 237, 497, 298, 727, 92, 321, 634, - 519, -115, -115, -115, -115, 196, 197, -115, 945, -115, - -115, -115, 14, 946, 729, 238, 719, 734, 196, 197, - 286, 240, 402, 241, 766, -115, 718, 214, 215, 526, - 527, 36, 76, 9, 10, 11, 510, 757, 662, 511, - 269, 77, -115, 36, -476, 70, 36, 530, 196, 197, - 531, 542, 523, 681, 36, 86, 59, 60, 270, 141, - 272, 704, 529, 279, -115, 88, 299, 711, 560, -115, - 141, 309, 548, 549, 75, 200, 705, 87, 677, -115, - 543, 354, 195, 626, 629, -175, 5, 303, 7, 280, - 561, -175, 316, 719, 9, 10, 11, 407, 408, 59, - 60, 14, 753, 342, 496, 343, 754, 570, 351, 723, - 13, 496, 291, 358, 273, 594, 359, 662, 360, 735, - 61, 201, 601, 274, 275, 62, 603, 16, 86, 374, - 202, 769, -175, 610, 510, 332, -175, 511, 88, -85, - 770, 36, 893, 203, 192, 597, 332, 895, 86, 22, - 87, 192, 625, 628, 24, 420, 80, 857, 88, -280, - -280, 75, 620, 61, 363, 611, 612, 413, 62, 645, - 87, 210, 647, 75, 415, 623, 80, 617, 618, 36, - 416, 799, 281, 700, 700, 418, 654, 424, 14, 258, - 259, 260, 261, 262, 636, 638, -474, 716, 428, 639, - 14, 686, 218, 429, 822, 695, 696, 195, 621, 102, - 690, 445, 535, 536, 537, 724, 610, 622, 275, 446, - 627, 799, 538, 452, 623, 466, 190, 463, 458, 622, - 275, -278, -278, 530, 472, 464, 531, 473, 206, 80, - 36, 476, 610, 470, 206, 206, 446, 728, 529, 80, - 908, 482, 909, 478, 941, 141, 495, 36, 5, 483, - 7, 280, 949, 206, 486, 80, 9, 10, 11, 487, - 768, 260, 261, 262, 491, 738, 206, 706, 707, 218, - 75, 620, 13, 488, 310, 243, 245, 489, 494, 336, - 321, 499, 92, 5, 6, 7, 8, 521, 503, 16, - 795, 9, 10, 11, 273, 507, 525, 14, 311, 315, - 535, 536, 537, 274, 275, 311, 545, 13, 564, 14, - 607, 22, 547, 550, 565, 799, 24, 621, 700, 572, - 573, 623, 623, 567, 16, 775, 622, 275, 80, 5, - 795, 7, 138, 576, 578, 794, 588, 9, 10, 11, - 590, 837, 593, 326, 552, 326, 22, 797, 686, 602, - 798, 24, 596, 13, 36, 929, 930, 195, 619, 633, - -175, -496, 635, 271, 808, 648, -175, 535, 536, 537, - 16, 623, 75, 620, 653, 794, 310, 698, 679, 206, - 859, 692, -314, 862, 865, 733, 680, 839, -32, 196, - 197, 869, 22, 740, 741, 742, 876, 24, 756, 14, - 761, 875, 70, 70, 762, 86, 882, -175, 815, 776, - 72, -175, 823, 885, 824, 88, 311, -33, 797, 764, - 827, 798, 845, 847, 892, 36, 830, 87, 77, 831, - 833, 834, 375, 840, 795, 808, 835, 378, 379, 623, - 842, 878, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 650, 651, 862, 843, 652, 844, - 848, 855, 206, 860, 80, 263, 264, 868, 265, 266, - 267, 268, 870, 213, 214, 215, 871, 883, 932, 794, - 9, 10, 11, 884, 862, 888, 886, 887, 434, 889, - 435, 5, 6, 7, 8, 891, 900, 436, 14, 9, - 10, 11, 535, 536, 537, 901, 708, 709, 710, 911, - 712, 713, 755, 214, 215, 13, 920, 14, 916, 9, - 10, 11, 924, 321, 925, -335, -335, 928, 934, 937, - -335, -335, 16, -335, 940, 725, 943, -335, 948, -335, - -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, - 951, -335, 952, -335, 22, -335, -335, 863, 506, 24, - 212, 730, -335, -395, 450, -335, 717, 750, 751, 752, - -335, -335, -335, 492, 493, 854, -335, -335, 410, 721, - 504, -335, -335, 811, 745, 577, -335, 468, -335, -335, - 722, 571, 475, -335, -335, 575, 731, -335, 898, -335, - -310, -335, -335, 736, -335, 664, 774, 500, 933, 899, - 632, 517, 935, 321, 518, -124, -124, -124, -124, -124, - -124, -124, 73, -124, -124, -124, -124, -124, 616, -124, + 139, 63, 72, 86, 67, 68, 32, 32, 71, 363, + 63, 74, 81, 33, 33, 210, 70, 337, 70, 435, + 42, 42, 434, 94, 96, 98, 218, 330, 179, 411, + 459, 207, 298, 461, 83, 85, 464, 327, 400, 334, + 277, 450, 299, 283, 223, 182, 32, 500, 653, 186, + 347, 349, 92, 33, 234, 36, 36, 531, 190, 188, + 42, 70, 53, 54, 55, 70, 211, 720, 627, 92, + 92, 92, 227, 228, 751, 403, 864, 527, 230, 87, + 314, 820, -112, 269, 80, 50, 88, 855, 331, 239, + 558, 451, 229, 369, 775, 36, 92, 413, 183, 402, + 271, 909, 414, 141, 92, 75, 604, 180, -1, 408, + 606, 294, 145, 813, 16, 749, 929, -2, 14, 184, + 14, 59, 60, 56, 99, 337, 777, 900, 181, 287, + 80, 291, 14, 59, 60, 515, 206, 671, 80, 910, + 321, 742, 185, 816, 217, 856, 913, 218, 146, 916, + 549, 918, 76, 649, 930, 293, 651, 821, 57, 926, + 141, 77, 411, -112, 327, 302, 303, 917, 306, 307, + 312, 361, 59, 60, 316, 327, 16, 373, 366, 347, + 349, 327, 377, 190, 378, 61, 400, 618, 187, 282, + 62, 950, 146, 276, 58, 939, 276, 61, 195, 941, + 93, -175, 62, 498, 82, 59, 60, -175, 859, 502, + 355, 401, 95, 144, 218, 781, 455, 141, 407, 841, + 458, 457, 92, 374, 219, 768, 769, 354, 486, 59, + 60, 14, 416, 92, 222, 603, 61, 942, 608, 350, + 224, 62, 80, 191, 701, 206, 80, 192, -175, 14, + 397, 398, -175, 236, 75, 206, 226, 695, 311, -35, + 710, 711, 545, 546, 332, 217, 16, 141, 333, 61, + -34, 195, 59, 60, 62, 876, 719, 16, 196, 197, + 425, 14, 463, 141, 97, 423, 75, 200, 141, 237, + 141, 240, 92, 61, 59, 60, 70, 238, 62, 665, + 471, 76, 473, 196, 197, 241, 573, 556, 573, 594, + 77, 312, 557, 14, 595, 316, 59, 60, 284, 285, + 286, 703, 697, 269, 492, 754, 272, 276, 884, 270, + 241, 482, 948, 201, 638, 340, 61, 949, 141, 192, + 587, 62, 202, 355, 75, 92, 75, 218, 311, 467, + 292, 469, 554, 505, 280, 203, 555, 681, 61, 196, + 197, 731, 522, 62, 300, 732, 688, 304, 350, 298, + 758, 14, 36, 14, 759, 311, 313, 317, 734, 299, + 61, 739, 89, 206, 90, 62, 206, 206, 75, 200, + 343, 630, 311, 630, 724, 282, 141, 310, 14, 287, + 625, 275, 625, 275, 526, 770, 59, 60, 338, 339, + 86, 762, 773, 409, 410, 14, 333, 344, 273, 361, + 70, 666, 513, 563, 352, 456, 403, 274, 275, 514, + 499, 532, 359, 533, 360, 201, 75, 200, 75, 200, + 534, 551, 552, 364, 202, -85, 685, 14, 545, 546, + 708, 629, 633, 375, 681, 276, 715, 203, 36, 709, + 355, 276, 422, 14, 716, 14, 417, 273, 141, 415, + 61, 36, 724, 728, 36, 62, 274, 275, 418, 141, + 338, 339, 36, 201, 86, 201, 87, 195, 51, 52, + -175, 573, 202, 88, 202, 597, -175, 529, 530, 564, + 420, 666, 774, 740, 86, 203, 192, 203, 426, 498, + 502, -475, -477, 613, 431, 600, 498, 502, 803, 196, + 197, 513, 430, 896, 538, 539, 540, 333, 514, 196, + 197, 860, 628, 632, 541, 614, 615, -175, 898, 409, + 410, -175, 192, 460, 195, 210, 102, 620, 621, 447, + 466, -278, -278, 5, 89, 7, 90, 803, 472, 448, + 87, 9, 10, 11, 640, 642, 658, 88, 704, 704, + 36, 454, 721, 699, 700, 75, 623, 13, 468, 218, + 87, 690, 260, 261, 262, 80, 465, 88, 448, 733, + 694, 911, 282, 912, 16, 474, 613, 538, 539, 540, + 480, 729, 14, 475, 626, 631, 190, 610, 36, 643, + 258, 259, 260, 261, 262, 484, 22, 478, 532, 485, + 533, 24, 624, 613, 710, 711, 641, 534, 538, 539, + 540, 625, 275, 243, 245, 75, 623, 488, 702, 311, + 489, 493, 92, 944, 490, 491, 496, 92, 538, 539, + 540, 952, 528, 626, 772, 506, 743, 218, 760, 497, + 803, 501, 14, 510, 524, 141, 550, 206, 80, 36, + 548, 553, 567, 206, 206, 568, 570, 575, 631, 576, + 579, 581, 624, 591, 596, 799, 599, 36, 337, 312, + 316, 625, 275, 206, 593, 80, 312, 316, 555, 605, + 932, 933, 5, 6, 7, 8, 206, 622, 637, 652, + 9, 10, 11, 214, 215, 704, 639, 779, 657, 9, + 10, 11, 683, 696, 799, 684, 13, 798, 14, -315, + 738, -32, 745, 746, 747, 840, 327, 761, 327, 766, + 690, 780, 767, 16, 322, 819, 801, -336, -336, -336, + -336, 826, -33, 802, 827, -336, -336, -336, 830, 833, + 812, 626, 626, 834, 836, 22, 798, 837, 631, 631, + 24, -336, 86, 862, 72, 84, 865, 868, 842, 271, + 879, 654, 655, 838, 872, 656, 843, 845, -336, 70, + 70, 851, 846, 847, 863, 36, 878, 858, 871, 885, + 723, 214, 215, 848, 850, 873, 888, 9, 10, 11, + -336, 874, 626, 886, 887, -336, 801, 895, 889, 891, + 206, 892, 903, 802, 894, -111, 919, 799, 914, 904, + 812, 881, 923, 712, 713, 714, 927, 928, 717, 718, + 263, 264, 931, 265, 266, 267, 268, 937, 87, 865, + 940, 5, 6, 7, 8, 88, 943, 954, 946, 9, + 10, 11, 890, 730, 951, 36, 955, 509, 376, 798, + 866, 935, 452, 379, 380, 13, 735, 865, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 212, 722, 16, 507, 412, 755, 756, 757, 815, 857, + 580, 206, 726, 80, 213, 214, 215, 750, 470, 727, + 574, 9, 10, 11, 22, 477, 668, 578, 901, 24, + 322, 736, -124, -124, -124, -124, -124, -124, -124, 14, + -124, -124, -124, -124, -124, 778, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, -124, -124, 819, -124, -124, 703, 821, 422, - 599, 614, -124, 682, 825, -124, 595, -124, 813, 747, - -124, -124, -124, 574, 508, 509, -124, -124, 0, 0, - 485, -124, -124, 0, 0, 0, -124, 0, -124, -124, - 0, 0, 589, -124, -124, 0, 0, -124, 0, -124, - -124, -124, -124, 656, -124, -335, -335, -335, -335, -335, - -335, -335, 0, -335, -335, -335, -335, -335, 858, -335, - -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, - -335, -335, -335, -335, 872, -335, -335, 0, 0, 0, - 0, 0, -335, 0, 0, -335, 0, -335, 0, 0, - -335, -335, -335, 0, 0, 0, -335, -335, 0, 0, - 0, -335, -335, 643, 0, 0, -335, 0, -335, -335, - 0, 0, 0, -335, -335, 0, 0, -335, 0, -335, - 0, -335, -335, 670, -335, 849, 0, -335, -335, 0, - 0, 0, -335, -335, 0, -335, 0, 0, 0, -335, - 0, -335, -335, -335, -335, -335, -335, -335, -335, -335, - -335, -335, 0, -335, 0, -335, 0, -335, -335, 0, - 0, 0, 0, 0, -335, 263, 264, -335, 265, 266, - 267, 268, -335, -335, -335, 0, 0, 0, -335, -335, - 0, 0, 0, -335, -335, 0, 0, 643, -335, 0, - -335, -335, 0, 0, 0, -335, -335, 0, 0, -335, - 665, -335, 100, -335, -335, 0, -335, 101, 102, 0, - 103, 0, 0, 0, 0, 0, 0, 670, 0, 0, - 0, 0, 0, 0, 748, 0, 0, 0, 104, 0, - 15, 0, 105, 106, 0, -216, 0, 0, 0, 107, - 760, 0, 108, 0, 0, 0, 0, 109, 110, 111, - 0, 0, 0, 112, 113, 0, 0, -216, 114, 115, - 0, 670, 0, 116, 772, 117, 0, 0, 0, 0, - 118, 0, 0, 0, 119, 0, 0, 0, 120, 121, - 670, 668, 0, 670, 0, 670, 0, 879, 0, -345, - -345, 0, 0, 0, -345, -345, 0, -345, 0, 0, - 0, -345, 820, -345, -345, -345, -345, -345, -345, -345, - -345, -345, -345, -345, 826, -345, 0, -345, 0, -345, - -345, 0, 0, 0, 0, 832, -345, 0, 0, -345, - 0, 0, 0, 0, -345, -345, -345, 0, 0, 0, - -345, -345, 0, 0, 0, -345, -345, 0, 0, 0, - -345, 670, -345, -345, 0, 0, 0, -345, -345, 0, - 0, -345, 0, -345, 0, -345, -345, 231, -345, 100, - 5, 0, 7, 138, 101, 102, 0, 103, 9, 10, - 11, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 13, 104, 0, 15, 0, 105, - 106, 0, 0, 0, 0, 0, 107, 890, 0, 108, - 0, 16, 0, 0, 109, 110, 111, 0, 0, 0, - 112, 113, 0, 0, 0, 114, 115, 0, 0, 0, - 116, 0, 117, 22, 0, 0, 0, 118, 24, 0, - 0, 119, 0, 0, 0, 120, 121, 665, -94, 666, - 60, 0, 0, 0, 101, 102, 248, 103, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 0, 0, 0, 104, 0, 15, 0, 105, - 106, 0, 0, 0, 0, 0, 107, 0, 0, 108, - 0, 0, 0, 0, 109, 110, 111, 0, 0, 0, - 112, 113, 0, 0, 667, 114, 115, 0, 0, 0, - 116, 0, 117, 61, 0, 0, 0, 118, 62, 0, - 0, 119, 0, 0, -203, 120, 121, 665, 668, 666, - 60, 0, 0, 0, 101, 102, 0, 103, 251, 252, + -124, 741, -124, -124, 902, 936, 938, 503, 73, -124, + 636, 520, -124, 521, -124, 707, 619, -124, -124, -124, + 825, 823, 617, -124, -124, 602, 424, 817, -124, -124, + 598, 752, 828, -124, 511, -124, -124, 686, 512, 487, + -124, -124, 0, 0, -124, 0, -124, -124, -124, -124, + 0, -124, 255, 256, 257, 258, 259, 260, 261, 262, + 494, 495, 254, 255, 256, 257, 258, 259, 260, 261, + 262, 322, 0, 0, -115, -115, -115, -115, 0, 0, + -115, 0, -115, -115, -115, 861, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, -115, 0, + 0, 875, 0, 0, 0, 0, 660, 0, -336, -336, + -336, -336, -336, -336, -336, -115, -336, -336, -336, -336, + -336, 0, -336, -336, -336, -336, -336, -336, -336, -336, + -336, -336, -336, -336, -336, -336, -336, -115, -336, -336, + 0, 0, -115, 0, 0, -336, 0, 0, -336, 0, + -336, 577, -115, -336, -336, -336, 0, 0, 0, -336, + -336, 0, 0, 0, -336, -336, 0, 0, 0, -336, + 592, -336, -336, 0, 0, 0, -336, -336, 0, 0, + -336, 0, -336, 0, -336, -336, 0, -336, 0, 0, + 322, 0, -336, -336, 0, 0, 0, -336, -336, 0, + -336, 0, 0, 0, -336, 0, -336, -336, -336, -336, + -336, -336, -336, -336, -336, -336, -336, 0, -336, 0, + -336, 0, -336, -336, 0, 0, 0, 0, 0, -336, + 263, 264, -336, 265, 266, 267, 268, -336, -336, -336, + 0, 0, 647, -336, -336, 0, 0, 0, -336, -336, + 0, 0, 0, -336, 0, -336, -336, 0, 0, 0, + -336, -336, 674, 0, -336, 0, -336, -311, -336, -336, + 852, -336, -336, -336, 0, 0, 0, -336, -336, 0, + -336, 0, 0, 0, -336, 0, -336, -336, -336, -336, + -336, -336, -336, -336, -336, -336, -336, 0, -336, 0, + -336, 0, -336, -336, 0, 0, 0, 0, 0, -336, + 0, 0, -336, 0, 0, 0, 0, -336, -336, -336, + 0, 0, 0, -336, -336, 0, 0, 647, -336, -336, + 0, 0, 0, -336, 0, -336, -336, 0, 0, 0, + -336, -336, 0, 0, -336, 0, -336, 0, -336, -336, + 0, -336, 0, 0, 0, 0, 194, 674, 0, -28, + -28, -28, -28, 0, 753, 0, 0, -28, -28, -28, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 0, 0, 0, 0, 0, 104, 0, 15, 0, 105, - 106, 0, 0, 0, 0, 0, 107, 0, 0, 108, - 0, 0, 0, 0, 109, 110, 111, 0, 0, 0, - 112, 113, 0, 0, 667, 114, 115, 0, 0, 0, - 116, 0, 117, 61, 0, 0, 0, 118, 62, 0, - 0, 119, 0, 0, -268, 120, 121, 641, 668, 100, - 0, 0, 0, 0, 101, 102, 0, 103, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, - 0, 0, 0, 0, 0, 104, 0, 15, 0, 105, - 106, 0, 0, 0, 0, 0, 107, 0, 0, 108, - 0, 0, 0, 0, 109, 110, 111, 0, 0, 0, - 112, 113, 0, 0, 0, 114, 115, 0, 0, 0, - 116, 0, 117, 0, 0, 0, 0, 118, 0, 0, - 0, 119, 665, 0, 100, 120, 121, 0, 642, 101, - 102, 0, 103, 344, 0, 0, 5, 0, 7, 138, - 0, 0, 0, 0, 9, 10, 11, 0, 0, 0, - 104, 0, 15, 0, 105, 106, 0, 0, 0, 0, - 13, 107, 0, 15, 108, 0, 0, 0, 0, 109, - 110, 111, 0, 0, 0, 112, 113, 16, 0, 0, - 114, 115, 0, 0, 0, 116, 0, 117, 0, 0, - 0, 0, 118, 0, 0, 0, 119, 0, 0, 22, - 120, 121, 194, 668, 24, -28, -28, -28, -28, 345, - -271, 0, 0, -28, -28, -28, 0, 0, 0, 0, - 0, 340, 0, 0, -24, -24, -24, -24, 195, -28, - 0, -175, -24, -24, -24, 0, 0, -175, 255, 256, - 257, 258, 259, 260, 261, 262, -28, 195, -24, 0, - -175, 0, 0, 0, 0, 0, -175, 0, 0, 0, - 196, 197, 0, 0, 0, -24, 0, 0, -28, 0, - 0, 0, 0, -28, 0, 0, 0, 0, -175, 196, - 197, 0, -175, -28, 0, 0, 0, -24, 0, 0, - 0, 0, -24, 0, 0, 0, 0, -175, 0, 0, - 334, -175, -24, -20, -20, -20, -20, 0, 0, 0, - 0, -20, -20, -20, 0, 0, 0, 0, 0, 321, - 0, 0, -498, -498, -498, -498, 195, -20, 0, -175, - -498, -498, -498, 0, 0, -175, 256, 257, 258, 259, - 260, 261, 262, 0, -20, 0, -498, 321, -498, 0, - -335, -335, -335, -335, 0, 0, 0, 0, -335, -335, - -335, 0, 0, -498, 0, 0, -20, 0, 0, 0, - 0, -20, 0, 0, -335, 0, -175, 0, 0, 0, - -175, -20, 0, 0, 0, -498, 0, 0, 0, 100, - -498, -335, 0, 0, 101, 102, 0, 103, 0, 0, - -498, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 0, 0, -335, 0, 104, 0, 15, -335, 105, - 106, 0, 0, 0, 0, 0, 107, 0, -111, 108, - 0, 0, 0, 0, 109, 110, 111, 0, 0, 0, - 112, 113, 0, 0, 0, 114, 115, 0, 100, 0, - 116, 0, 117, 101, 102, 0, 103, 118, 0, 0, - 0, 119, 0, 0, 0, 120, 121, 0, 0, 319, - 0, 0, 0, 0, 104, 0, 15, 0, 105, 106, - 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, - 0, 0, 0, 109, 110, 111, 0, 0, 0, 112, - 113, 0, 0, 0, 114, 115, 0, 100, 0, 116, - 0, 117, 101, 102, 0, 103, 118, 0, 0, 0, - 119, 0, 0, 0, 120, 121, 0, 0, 405, 0, + 765, 0, 195, -28, 0, -175, 0, 0, 0, 0, + 0, -175, 256, 257, 258, 259, 260, 261, 262, 0, + -28, 0, 674, 0, 0, 776, 0, 0, 0, 0, + 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, + 0, 674, -28, 0, 674, 0, 674, -28, 0, 0, + 0, 0, -175, 0, 0, 0, -175, -28, 5, 0, + 7, 281, 0, 824, 0, 0, 9, 10, 11, 0, + 882, 0, -346, -346, 829, 0, 0, -346, -346, 0, + -346, 0, 13, 0, -346, 835, -346, -346, -346, -346, + -346, -346, -346, -346, -346, -346, -346, 0, -346, 16, + -346, 0, -346, -346, 0, 0, 0, 0, 0, -346, + 0, 674, -346, 0, 0, 0, 0, -346, -346, -346, + 0, 22, 0, -346, -346, 0, 24, 0, -346, -346, + 0, -280, -280, -346, 0, -346, -346, 0, 0, 0, + -346, -346, 0, 0, -346, 0, -346, 0, -346, -346, + 231, -346, 100, 5, 0, 7, 138, 101, 102, 0, + 103, 9, 10, 11, 0, 0, 893, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 13, 104, 0, + 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, + 0, 0, 108, 0, 16, 0, 0, 109, 110, 111, + 0, 0, 0, 112, 113, 0, 0, 0, 114, 115, + 0, 0, 0, 116, 0, 117, 22, 0, 0, 0, + 118, 24, 0, 0, 119, 0, 0, 0, 120, 121, + 669, -94, 670, 60, 0, 0, 0, 101, 102, 248, + 103, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 0, 0, 0, 104, 0, + 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, + 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, + 0, 0, 0, 112, 113, 0, 0, 671, 114, 115, + 0, 0, 0, 116, 0, 117, 61, 0, 0, 0, + 118, 62, 0, 0, 119, 0, 0, -203, 120, 121, + 669, 672, 670, 60, 0, 0, 0, 101, 102, 0, + 103, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 0, 0, 0, 0, 104, 0, + 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, + 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, + 0, 0, 0, 112, 113, 0, 0, 671, 114, 115, + 0, 0, 0, 116, 0, 117, 61, 0, 0, 0, + 118, 62, 0, 0, 119, 0, 0, -268, 120, 121, + 669, 672, 100, 0, 0, 0, 0, 101, 102, 0, + 103, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 0, 0, 0, 0, 0, 0, 104, 0, + 15, 0, 105, 106, 0, -216, 0, 0, 0, 107, + 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, + 0, 0, 0, 112, 113, 0, 0, -216, 114, 115, + 0, 0, 0, 116, 0, 117, 0, 0, 0, 0, + 118, 0, 0, 0, 119, 645, 0, 100, 120, 121, + 0, 672, 101, 102, 0, 103, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, 0, 0, 0, 112, 113, - 0, 0, 0, 114, 115, 0, 100, 0, 116, 0, - 117, 101, 102, 0, 103, 118, 0, 0, 0, 119, - 0, 0, 0, 120, 121, 0, 0, 460, 0, 0, + 0, 0, 0, 114, 115, 0, 0, 0, 116, 0, + 117, 0, 0, 0, 0, 118, 0, 0, 0, 119, + 669, 0, 100, 120, 121, 0, 646, 101, 102, 0, + 103, 345, 0, 0, 5, 0, 7, 138, 0, 0, + 0, 0, 9, 10, 11, 0, 0, 0, 104, 0, + 15, 0, 105, 106, 0, 0, 0, 0, 13, 107, + 0, 15, 108, 0, 0, 0, 0, 109, 110, 111, + 0, 0, 0, 112, 113, 16, 0, 0, 114, 115, + 0, 0, 0, 116, 0, 117, 0, 0, 0, 0, + 118, 0, 0, 0, 119, 0, 0, 22, 120, 121, + 341, 672, 24, -24, -24, -24, -24, 346, -271, 0, + 0, -24, -24, -24, 0, 0, 0, 0, 0, 335, + 0, 0, -20, -20, -20, -20, 195, -24, 0, -175, + -20, -20, -20, 0, 0, -175, 0, 0, 0, 0, + 0, 0, 0, 0, -24, 195, -20, 0, -175, 0, + 0, 0, 0, 0, -175, 0, 0, 0, 196, 197, + 0, 0, 0, -20, 0, 0, -24, 0, 0, 0, + 0, -24, 0, 0, 0, 0, -175, 0, 0, 0, + -175, -24, 0, 0, 0, -20, 0, 0, 0, 0, + -20, 0, 0, 0, 0, -175, 0, 0, 322, -175, + -20, 5, 6, 7, 8, 0, 0, 0, 0, 9, + 10, 11, 0, 0, 0, 0, 0, 322, 0, 0, + -499, -499, -499, -499, 0, 13, 0, 14, -499, -499, + -499, 5, 0, 7, 281, 0, 0, 0, 0, 9, + 10, 11, 16, 0, -499, 100, -499, 0, 0, 0, + 101, 102, 0, 103, 0, 13, 0, 14, 0, 0, + 0, -499, 0, 0, 22, 0, 0, 0, 0, 24, + 0, 104, 16, 15, 0, 105, 106, 273, 0, -497, + 0, 0, 107, -499, 0, 108, 274, 275, -499, 0, + 109, 110, 111, 0, 22, 0, 112, 113, -499, 24, + 0, 114, 115, 0, 100, 0, 116, 0, 117, 101, + 102, 0, 103, 118, 0, 0, 0, 119, 0, 0, + 0, 120, 121, 0, 0, 320, 0, 0, 0, 0, + 104, 0, 15, 0, 105, 106, 0, 0, 0, 0, + 0, 107, 0, 0, 108, 0, 0, 0, 0, 109, + 110, 111, 0, 0, 0, 112, 113, 0, 0, 0, + 114, 115, 0, 100, 0, 116, 0, 117, 101, 102, + 0, 103, 118, 0, 0, 0, 119, 0, 0, 0, + 120, 121, 0, 0, 406, 0, 0, 0, 0, 104, + 0, 15, 0, 105, 106, 0, 0, 0, 0, 0, + 107, 0, 0, 108, 0, 0, 0, 0, 109, 110, + 111, 0, 0, 0, 112, 113, 0, 0, 0, 114, + 115, 0, 100, 0, 116, 0, 117, 101, 102, 0, + 103, 118, 0, 0, 0, 119, 0, 0, 0, 120, + 121, 0, 0, 462, 0, 0, 0, 0, 104, 0, + 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, + 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, + 0, 0, 0, 112, 113, 0, 0, 0, 114, 115, + 0, 100, 0, 116, 0, 117, 101, 102, 0, 103, + 118, 0, 0, 0, 119, 0, 0, 0, 120, 121, + 0, 0, 504, 0, 0, 0, 0, 104, 0, 15, + 0, 105, 106, 0, 0, 0, 0, 0, 107, 0, + 0, 108, 0, 0, 0, 0, 109, 110, 111, 0, + 0, 0, 112, 113, 0, 0, 0, 114, 115, 0, + 0, 0, 116, 0, 117, 0, 0, 0, 0, 118, + 0, 0, 0, 119, 0, 0, 0, 120, 121, 0, + 0, 771, 670, 782, 6, 7, 8, 101, 102, 0, + 103, 9, 10, 11, 783, 0, 784, 785, 786, 787, + 788, 789, 790, 791, 792, 793, 794, 13, 104, 14, + 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, + 0, 0, 108, 0, 16, 0, 0, 109, 110, 111, + 0, 0, 0, 112, 113, 0, 0, 0, 114, 115, + 0, 0, 0, 116, 0, 117, 795, 0, 0, 0, + 118, 796, 0, 0, 119, 0, 797, 0, 120, 121, + 0, 361, 670, 60, 0, 0, 0, 101, 102, 0, + 103, 0, 0, 0, 783, 0, 784, 785, 786, 787, + 788, 789, 790, 791, 792, 793, 794, 0, 104, 0, + 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, + 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, + 0, 0, 0, 112, 113, 0, 100, 0, 114, 115, + 0, 101, 102, 116, 103, 117, 61, 0, 0, 0, + 118, 62, 0, 0, 119, 0, 797, 0, 120, 121, + 0, 361, 104, 0, 15, 0, 105, 106, 0, 0, + 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, + 0, 109, 110, 111, 0, 0, 0, 112, 113, 0, + 0, 0, 114, 115, 0, 0, 0, 116, 0, 117, + 0, 0, 0, 0, 118, 0, 0, 0, 119, 0, + 0, 0, 120, 121, 0, 481, 147, 148, 0, 149, + 150, 0, 0, 0, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 0, 100, 5, 6, 7, 8, 101, + 102, 170, 103, 9, 10, 11, 5, 6, 7, 8, + 0, 0, 0, 0, 9, 10, 11, 0, 0, 13, + 104, 14, 15, 0, 105, 106, 0, 0, 0, 0, + 13, 107, 14, 0, 108, 172, 16, 0, 0, 109, + 110, 111, 0, 0, 296, 112, 113, 16, 0, 0, + 114, 115, 0, 0, 0, 116, 0, 117, 22, 0, + 0, 0, 118, 24, 0, 0, 119, 0, 0, 22, + 120, 121, 100, 5, 24, 7, 138, 101, 102, 601, + 103, 9, 10, 11, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 13, 104, 0, + 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, + 0, 0, 108, 0, 16, 0, 0, 109, 110, 111, + 0, 0, 0, 112, 113, 0, 100, 0, 114, 115, + 0, 101, 102, 116, 103, 117, 22, 0, 0, 0, + 118, 24, 0, 0, 119, 0, 0, 0, 120, 121, 0, 0, 104, 0, 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, 0, 0, 0, 112, 113, 0, - 0, 0, 114, 115, 0, 100, 0, 116, 0, 117, - 101, 102, 0, 103, 118, 0, 0, 0, 119, 0, - 0, 0, 120, 121, 0, 0, 501, 0, 0, 0, - 0, 104, 0, 15, 0, 105, 106, 0, 0, 0, - 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, - 109, 110, 111, 0, 0, 0, 112, 113, 0, 0, - 0, 114, 115, 0, 0, 0, 116, 0, 117, 0, - 0, 0, 0, 118, 0, 0, 0, 119, 0, 0, - 0, 120, 121, 0, 0, 767, 666, 778, 6, 7, - 8, 101, 102, 0, 103, 9, 10, 11, 779, 0, - 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, - 790, 13, 104, 14, 15, 0, 105, 106, 0, 0, - 0, 0, 0, 107, 0, 0, 108, 0, 16, 0, - 0, 109, 110, 111, 0, 0, 0, 112, 113, 0, - 0, 0, 114, 115, 0, 0, 0, 116, 0, 117, - 791, 0, 0, 0, 118, 792, 0, 0, 119, 0, - 793, 0, 120, 121, 0, 360, 666, 60, 0, 0, - 0, 101, 102, 0, 103, 0, 0, 0, 779, 0, - 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, - 790, 0, 104, 0, 15, 0, 105, 106, 0, 0, - 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, - 0, 109, 110, 111, 0, 0, 0, 112, 113, 0, 100, 0, 114, 115, 0, 101, 102, 116, 103, 117, - 61, 0, 0, 0, 118, 62, 0, 0, 119, 0, - 793, 0, 120, 121, 0, 360, 104, 0, 15, 0, - 105, 106, 0, 0, 0, 0, 0, 107, 0, 0, - 108, 0, 0, 0, 0, 109, 110, 111, 0, 0, - 0, 112, 113, 0, 0, 0, 114, 115, 0, 0, - 0, 116, 0, 117, 0, 0, 0, 0, 118, 0, - 0, 0, 119, 0, 0, 0, 120, 121, 0, 479, - 147, 148, 0, 149, 150, 0, 0, 0, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 0, 100, 5, - 6, 7, 8, 101, 102, 170, 103, 9, 10, 11, - 5, 6, 7, 8, 0, 0, 0, 0, 9, 10, - 11, 0, 0, 13, 104, 14, 15, 0, 105, 106, - 0, 0, 0, 0, 13, 107, 14, 0, 108, 172, - 16, 0, 0, 109, 110, 111, 0, 0, 295, 112, - 113, 16, 0, 0, 114, 115, 0, 0, 0, 116, - 0, 117, 22, 0, 0, 0, 118, 24, 0, 0, - 119, 0, 0, 22, 120, 121, 100, 5, 24, 7, - 138, 101, 102, 84, 103, 9, 10, 11, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 0, 0, - 0, 13, 104, 0, 15, 0, 105, 106, 0, 0, - 0, 0, 0, 107, 0, 0, 108, 0, 16, 0, - 0, 109, 110, 111, 0, 0, 0, 112, 113, 0, - 100, 0, 114, 115, 0, 101, 102, 116, 103, 117, - 22, 0, 0, 0, 118, 24, 0, 0, 119, 0, + 365, 0, 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 120, 121, 0, 0, 104, 0, 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, 0, 0, 0, 112, 113, 0, 100, 0, 114, 115, 0, 101, - 102, 116, 103, 117, 364, 0, 0, 0, 118, 0, - 0, 0, 119, 0, 0, 0, 120, 121, 0, 0, + 102, 116, 103, 117, 0, 0, 0, 0, 118, 0, + 0, 0, 119, 0, 839, 0, 120, 121, 0, 0, 104, 0, 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, 0, 0, 0, 112, 113, 0, 100, 0, 114, 115, 0, 101, 102, 116, 103, 117, 0, 0, - 0, 0, 118, 0, 0, 0, 119, 0, 836, 0, + 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 120, 121, 0, 0, 104, 0, 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, 0, 0, 0, 112, - 113, 0, 100, 0, 114, 115, 0, 101, 102, 116, + 113, 0, 100, 0, 242, 115, 0, 101, 102, 116, 103, 117, 0, 0, 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 120, 121, 0, 0, 104, 0, 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, - 0, 0, 0, 112, 113, 0, 100, 0, 242, 115, + 0, 0, 0, 112, 113, 0, 508, 0, 244, 115, 0, 101, 102, 116, 103, 117, 0, 0, 0, 0, 118, 0, 0, 0, 119, 0, 0, 0, 120, 121, 0, 0, 104, 0, 15, 0, 105, 106, 0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 0, 0, 109, 110, 111, 0, 0, 0, 112, 113, 0, - 505, 0, 244, 115, 0, 101, 102, 116, 103, 117, + 0, 0, 114, 115, 0, 0, 0, 116, 0, 117, 0, 0, 0, 0, 118, 0, 0, 0, 119, 0, - 0, 0, 120, 121, 0, 0, 104, 0, 15, 0, - 105, 106, 0, 0, 0, 0, 0, 107, 0, 0, - 108, 0, 0, 0, 0, 109, 110, 111, 0, 0, - 0, 112, 113, 0, 0, 0, 114, 115, 0, 0, - 0, 116, 0, 117, 0, 0, 0, 0, 118, 0, - 0, 0, 119, 0, 0, 540, 120, 121, 5, 0, - 7, 138, 0, 0, 0, 0, 9, 10, 11, 0, - 0, 0, 0, 540, 0, 0, 5, 0, 7, 138, - 0, 0, 13, 0, 9, 10, 11, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 13, 0, 0, 0, 0, 0, 0, 4, 0, -128, - 5, 6, 7, 8, 0, 0, 0, 16, 9, 10, - 11, 22, -450, -450, -450, 0, 24, 0, 0, 0, - 0, 541, -450, 12, 13, 0, 14, 15, 0, 22, - -449, -449, -449, 0, 24, 0, 0, 0, 0, 541, - -449, 16, 0, 0, 17, 18, -128, 0, 0, 0, - 0, 0, 0, 0, 0, -128, 0, 19, 20, 21, - 0, 0, 0, 22, 0, 0, 0, 23, 24, 25, - 26, 0, 4, 27, -128, 5, 6, 7, 8, 0, - 0, 0, 0, 9, 10, 11, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, - 4, 14, -128, 5, 6, 7, 8, 0, 0, 0, - 0, 9, 10, 11, 0, 0, 16, 0, 0, 526, - 527, -128, 0, 0, 0, 0, 0, 13, 434, 14, - -128, 5, 6, 7, 8, 0, 0, 436, 22, 9, - 10, 11, 0, 24, 16, 0, 0, 0, 27, -128, - 0, 5, 6, 7, 8, 13, 0, 14, -128, 9, - 10, 11, 0, 0, 0, 0, 22, 0, 0, 0, - 0, 24, 16, 0, 0, 13, 27, 14, 0, 0, - 5, 6, 7, 8, 0, 0, 0, 0, 9, 10, - 11, 0, 16, 0, 22, 0, 0, 0, 0, 24, - 0, 0, 0, -395, 13, 0, 14, 0, 5, 89, - 7, 90, 0, 0, 22, 0, 9, 10, 11, 24, - 0, 16, 0, 0, 598, 344, 0, 0, 5, 0, - 7, 138, 13, 0, 0, 0, 9, 10, 11, 0, - 0, 0, 0, 22, 0, 0, 0, 0, 24, 16, - 0, 0, 13, 846, 0, 15, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 0, 22, 0, 0, 0, 0, 24, 0, 0, 0, - 0, 637, 0, 0, 0, 0, 0, 0, 0, 147, + 0, 543, 120, 121, 5, 0, 7, 138, 0, 0, + 0, 0, 9, 10, 11, 0, 0, 0, 0, 543, + 0, 0, 5, 0, 7, 138, 0, 0, 13, 0, + 9, 10, 11, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 13, 0, 0, 0, + 0, 0, 0, 4, 0, -128, 5, 6, 7, 8, + 0, 0, 0, 16, 9, 10, 11, 22, -451, -451, + -451, 0, 24, 0, 0, 0, 0, 544, -451, 12, + 13, 0, 14, 15, 0, 22, -450, -450, -450, 0, + 24, 0, 0, 0, 0, 544, -450, 16, 0, 0, + 17, 18, -128, 0, 0, 0, 0, 0, 0, 0, + 0, -128, 0, 19, 20, 21, 0, 0, 0, 22, + 0, 0, 0, 23, 24, 25, 26, 0, 4, 27, + -128, 5, 6, 7, 8, 0, 0, 0, 0, 9, + 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 13, 4, 14, -128, 5, + 6, 7, 8, 0, 0, 0, 0, 9, 10, 11, + 0, 0, 16, 0, 0, 529, 530, -128, 0, 0, + 0, 0, 0, 13, 0, 14, -128, 0, 0, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 0, 24, + 16, 0, 0, 0, 27, -128, 436, 0, 437, 5, + 6, 7, 8, 0, -128, 438, 0, 9, 10, 11, + 0, 0, 22, 0, 0, 436, 0, 24, 5, 6, + 7, 8, 27, 13, 438, 14, 9, 10, 11, 5, + 6, 7, 8, 0, 0, 0, 0, 9, 10, 11, + 16, 0, 13, 0, 14, 345, 0, 0, 5, 0, + 7, 138, 0, 13, 0, 14, 9, 10, 11, 16, + 0, 0, 22, 0, 0, 0, 0, 24, 0, 0, + 16, -396, 13, 0, 0, 15, 0, 0, 0, 0, + 0, 22, 0, 0, 0, 0, 24, 0, 0, 16, + -396, 0, 22, 0, 0, 0, 0, 24, 0, 0, + 0, 0, 849, 0, 0, 0, 0, 0, 0, 147, 148, 22, 149, 150, 0, 0, 24, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 0, 147, 148, 0, 149, 150, 0, 0, 170, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 0, 171, 0, 0, 0, 0, - 0, 0, 367, 147, 148, 0, 149, 150, 172, 0, + 0, 0, 368, 147, 148, 0, 149, 150, 172, 0, 0, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 0, 147, 148, 0, 149, 150, 172, 0, 170, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 0, 0, - 0, 5, 6, 7, 8, 0, 583, 436, 0, 9, - 10, 11, 172, 5, 6, 7, 8, 0, 0, 631, + 0, 5, 6, 7, 8, 0, 586, 438, 0, 9, + 10, 11, 172, 5, 6, 7, 8, 0, 0, 635, 0, 9, 10, 11, 0, 13, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 14, - 172, 0, 16, 5, 6, 7, 8, 5, 6, 7, + 172, 0, 16, 5, 0, 7, 138, 5, 6, 7, 8, 9, 10, 11, 16, 9, 10, 11, 0, 0, 0, 0, 0, 0, 22, 0, 0, 13, 0, 24, 0, 13, 0, 14, 0, 0, 22, 5, 0, 7, - 280, 24, 0, 0, 16, 9, 10, 11, 16, 0, - 0, 0, 0, 0, 866, 0, 0, 0, 0, 0, + 281, 24, 0, 0, 16, 9, 10, 11, 16, 0, + 0, 0, 0, 0, 869, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 22, 0, 0, 0, 22, 24, 0, 0, 0, 24, 0, 0, 16, 246, - 247, 248, 867, 249, 250, 251, 252, 253, 254, 255, + 247, 248, 870, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 14, 0, 0, 22, 0, 246, 247, 248, 24, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 246, 247, 248, 905, 249, 250, 251, 252, 253, 254, + 246, 247, 248, 908, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 246, 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262 }; static const short yycheck[] = { 56, - 57, 207, 2, 3, 16, 2, 3, 19, 20, 2, - 3, 23, 316, 25, 26, 31, 9, 10, 11, 2, - 3, 201, 175, 22, 85, 24, 38, 39, 40, 83, - 33, 308, 24, 91, 278, 337, 221, 198, 31, 206, - 33, 175, 42, 66, 95, 42, 267, 32, 33, 42, - 105, 106, 33, 404, 274, 140, 111, 233, 143, 42, - 323, 77, 74, 570, 636, 221, 192, 122, 67, 85, - 425, 335, 71, 548, 114, 67, 57, 341, 133, 71, - 676, 427, 9, 236, 77, 36, 1, 3, 4, 1, - 83, 38, 85, 273, 202, 107, 3, 4, 91, 3, - 1, 1, 53, 54, 55, 36, 38, 30, 314, 38, - 10, 903, 59, 45, 38, 38, 45, 720, 77, 3, - 4, 38, 81, 1, 77, 3, 4, 58, 81, 80, - 59, 171, 144, 114, 146, 82, 739, 88, 42, 931, - 197, 3, 4, 5, 6, 7, 38, 59, 744, 76, - 38, 67, 76, 416, 212, 662, 72, 45, 170, 76, - 67, 829, 143, 324, 349, 72, 410, 82, 180, 181, - 0, 183, 184, 189, 335, 82, 77, 193, 235, 534, - 341, 401, 82, 67, 76, 0, 202, 45, 72, 67, - 171, 77, 413, 349, 72, 81, 189, 237, 82, 192, - 193, 30, 242, 59, 244, 67, 332, 59, 60, 202, - 72, 268, 880, 225, 810, 3, 4, 370, 275, 212, - 278, 329, 76, 81, 76, 333, 238, 81, 735, 704, - 705, 899, 59, 3, 902, 77, 904, 7, 221, 81, - 221, 5, 30, 7, 912, 522, 431, 3, 4, 604, - 38, 291, 515, 265, 266, 206, 237, 59, 3, 4, - 30, 242, 50, 244, 3, 4, 217, 613, 7, 77, - 78, 59, 76, 845, 30, 431, 944, 81, 7, 630, - 50, 338, 59, 60, 72, 3, 4, 299, 3, 59, - 60, 30, 7, 45, 50, 3, 4, 59, 60, 350, - 76, 352, 301, 59, 465, 81, 467, 65, 363, 301, - 291, 50, 30, 329, 76, 30, 579, 333, 77, 30, - 59, 50, 67, 380, 59, 318, 59, 72, 481, 606, - 59, 60, 50, 72, 77, 50, 329, 82, 81, 332, - 333, 59, 50, 850, 59, 357, 82, 822, 59, 60, - 76, 408, 410, 27, 72, 81, 509, 59, 60, 67, - 82, 346, 583, 348, 72, 3, 349, 348, 349, 30, - 82, 592, 77, 59, 76, 509, 81, 328, 1, 555, - 420, 4, 5, 6, 7, 59, 60, 10, 76, 12, - 13, 14, 30, 81, 657, 59, 640, 660, 59, 60, - 412, 76, 622, 81, 706, 28, 5, 6, 7, 48, - 49, 404, 50, 12, 13, 14, 416, 694, 579, 416, - 9, 59, 45, 416, 63, 424, 419, 427, 59, 60, - 427, 616, 424, 586, 427, 438, 3, 4, 75, 420, - 76, 621, 427, 76, 67, 438, 38, 627, 451, 72, - 431, 77, 437, 438, 3, 4, 623, 438, 679, 82, - 616, 473, 27, 548, 549, 30, 4, 82, 6, 7, - 451, 36, 59, 717, 12, 13, 14, 59, 60, 3, - 4, 30, 77, 59, 704, 78, 81, 648, 78, 38, - 28, 711, 59, 76, 50, 507, 76, 658, 82, 660, - 67, 50, 516, 59, 60, 72, 520, 45, 511, 77, - 59, 77, 77, 529, 514, 81, 81, 514, 511, 38, - 77, 514, 77, 72, 81, 510, 81, 77, 531, 67, - 511, 81, 548, 549, 72, 59, 529, 814, 531, 77, - 78, 3, 4, 67, 76, 530, 531, 59, 72, 563, - 531, 612, 566, 3, 76, 548, 549, 542, 543, 552, - 77, 737, 543, 617, 618, 10, 578, 76, 30, 48, - 49, 50, 51, 52, 559, 560, 63, 638, 82, 560, - 30, 597, 640, 76, 764, 608, 609, 27, 50, 9, - 602, 83, 68, 69, 70, 649, 612, 59, 60, 77, - 50, 777, 78, 36, 597, 77, 622, 67, 336, 59, - 60, 77, 78, 613, 36, 343, 613, 81, 611, 612, - 613, 78, 638, 351, 617, 618, 77, 78, 613, 622, - 894, 38, 896, 76, 938, 616, 83, 630, 4, 76, - 6, 7, 946, 636, 76, 638, 12, 13, 14, 76, - 707, 50, 51, 52, 38, 667, 649, 59, 60, 717, - 3, 4, 28, 76, 7, 126, 127, 76, 76, 875, - 1, 83, 623, 4, 5, 6, 7, 82, 76, 45, - 737, 12, 13, 14, 50, 76, 63, 30, 704, 705, - 68, 69, 70, 59, 60, 711, 63, 28, 36, 30, - 78, 67, 76, 76, 83, 881, 72, 50, 762, 78, - 78, 704, 705, 76, 45, 727, 59, 60, 711, 4, - 777, 6, 7, 78, 32, 737, 38, 12, 13, 14, - 83, 788, 76, 894, 81, 896, 67, 737, 754, 76, - 737, 72, 77, 28, 737, 921, 922, 27, 77, 3, - 30, 82, 77, 808, 737, 81, 36, 68, 69, 70, - 45, 754, 3, 4, 78, 777, 7, 78, 38, 762, - 827, 63, 78, 830, 831, 78, 83, 789, 38, 59, - 60, 838, 67, 38, 78, 81, 847, 72, 63, 30, - 38, 845, 791, 792, 81, 798, 853, 77, 63, 78, - 792, 81, 83, 860, 78, 798, 822, 38, 808, 50, - 59, 808, 797, 798, 871, 808, 59, 798, 59, 59, - 38, 77, 241, 7, 881, 808, 77, 246, 247, 822, - 38, 847, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 572, 573, 903, 77, 576, 77, - 16, 78, 845, 59, 847, 54, 55, 77, 57, 58, - 59, 60, 77, 5, 6, 7, 59, 63, 925, 881, - 12, 13, 14, 76, 931, 77, 17, 76, 1, 76, - 3, 4, 5, 6, 7, 77, 76, 10, 30, 12, - 13, 14, 68, 69, 70, 76, 624, 625, 626, 77, - 628, 629, 78, 6, 7, 28, 77, 30, 9, 12, - 13, 14, 77, 1, 59, 3, 4, 81, 77, 76, - 8, 9, 45, 11, 76, 653, 77, 15, 77, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 0, 29, 0, 31, 67, 33, 34, 830, 413, 72, - 87, 658, 40, 76, 324, 43, 639, 685, 686, 687, - 48, 49, 50, 382, 383, 808, 54, 55, 281, 646, - 412, 59, 60, 742, 675, 475, 64, 349, 66, 67, - 648, 467, 357, 71, 72, 473, 658, 75, 881, 77, - 78, 79, 80, 660, 82, 580, 724, 407, 926, 881, - 552, 419, 928, 1, 419, 3, 4, 5, 6, 7, - 8, 9, 25, 11, 12, 13, 14, 15, 539, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 759, 33, 34, 618, 762, 300, - 514, 532, 40, 586, 772, 43, 509, 45, 754, 679, - 48, 49, 50, 472, 415, 415, 54, 55, -1, -1, - 370, 59, 60, -1, -1, -1, 64, -1, 66, 67, - -1, -1, 491, 71, 72, -1, -1, 75, -1, 77, - 78, 79, 80, 1, 82, 3, 4, 5, 6, 7, - 8, 9, -1, 11, 12, 13, 14, 15, 826, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 842, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, - 48, 49, 50, -1, -1, -1, 54, 55, -1, -1, - -1, 59, 60, 562, -1, -1, 64, -1, 66, 67, - -1, -1, -1, 71, 72, -1, -1, 75, -1, 77, - -1, 79, 80, 582, 82, 1, -1, 3, 4, -1, - -1, -1, 8, 9, -1, 11, -1, -1, -1, 15, - -1, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, -1, 29, -1, 31, -1, 33, 34, -1, - -1, -1, -1, -1, 40, 54, 55, 43, 57, 58, - 59, 60, 48, 49, 50, -1, -1, -1, 54, 55, - -1, -1, -1, 59, 60, -1, -1, 646, 64, -1, - 66, 67, -1, -1, -1, 71, 72, -1, -1, 75, - 1, 77, 3, 79, 80, -1, 82, 8, 9, -1, - 11, -1, -1, -1, -1, -1, -1, 676, -1, -1, - -1, -1, -1, -1, 683, -1, -1, -1, 29, -1, - 31, -1, 33, 34, -1, 36, -1, -1, -1, 40, - 699, -1, 43, -1, -1, -1, -1, 48, 49, 50, - -1, -1, -1, 54, 55, -1, -1, 58, 59, 60, - -1, 720, -1, 64, 723, 66, -1, -1, -1, -1, - 71, -1, -1, -1, 75, -1, -1, -1, 79, 80, - 739, 82, -1, 742, -1, 744, -1, 1, -1, 3, - 4, -1, -1, -1, 8, 9, -1, 11, -1, -1, - -1, 15, 761, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 773, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, 784, 40, -1, -1, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, 60, -1, -1, -1, - 64, 810, 66, 67, -1, -1, -1, 71, 72, -1, - -1, 75, -1, 77, -1, 79, 80, 1, 82, 3, - 4, -1, 6, 7, 8, 9, -1, 11, 12, 13, - 14, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 28, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, 866, -1, 43, - -1, 45, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, 60, -1, -1, -1, - 64, -1, 66, 67, -1, -1, -1, 71, 72, -1, - -1, 75, -1, -1, -1, 79, 80, 1, 82, 3, - 4, -1, -1, -1, 8, 9, 37, 11, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, -1, -1, -1, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, 58, 59, 60, -1, -1, -1, - 64, -1, 66, 67, -1, -1, -1, 71, 72, -1, - -1, 75, -1, -1, 78, 79, 80, 1, 82, 3, - 4, -1, -1, -1, 8, 9, -1, 11, 41, 42, + 57, 16, 24, 33, 19, 20, 2, 3, 23, 233, + 25, 26, 31, 2, 3, 85, 22, 207, 24, 317, + 2, 3, 309, 38, 39, 40, 91, 201, 66, 279, + 336, 83, 175, 338, 32, 33, 342, 198, 267, 206, + 140, 324, 175, 143, 95, 67, 42, 405, 573, 71, + 221, 221, 36, 42, 114, 2, 3, 429, 77, 74, + 42, 67, 9, 10, 11, 71, 85, 640, 551, 53, + 54, 55, 105, 106, 680, 274, 832, 427, 111, 33, + 192, 1, 1, 9, 31, 3, 33, 1, 202, 122, + 1, 10, 107, 236, 725, 42, 80, 76, 38, 273, + 133, 38, 81, 57, 88, 3, 519, 38, 0, 276, + 523, 171, 45, 744, 45, 36, 38, 0, 30, 59, + 30, 3, 4, 59, 42, 315, 38, 883, 59, 144, + 77, 146, 30, 3, 4, 418, 83, 58, 85, 76, + 197, 666, 82, 749, 91, 59, 902, 212, 81, 905, + 76, 907, 50, 566, 76, 170, 569, 77, 59, 915, + 114, 59, 412, 82, 325, 180, 181, 906, 183, 184, + 189, 82, 3, 4, 193, 336, 45, 237, 235, 350, + 350, 342, 242, 202, 244, 67, 415, 537, 77, 143, + 72, 947, 81, 140, 59, 934, 143, 67, 27, 38, + 82, 30, 72, 402, 77, 3, 4, 36, 814, 408, + 225, 268, 82, 59, 279, 740, 330, 171, 275, 50, + 334, 333, 206, 238, 65, 708, 709, 1, 371, 3, + 4, 30, 292, 217, 82, 518, 67, 76, 525, 221, + 82, 72, 189, 77, 616, 192, 193, 81, 77, 30, + 265, 266, 81, 59, 3, 202, 82, 607, 7, 38, + 59, 60, 433, 433, 77, 212, 45, 221, 81, 67, + 38, 27, 3, 4, 72, 848, 634, 45, 59, 60, + 302, 30, 339, 237, 82, 300, 3, 4, 242, 59, + 244, 76, 276, 67, 3, 4, 302, 59, 72, 582, + 351, 50, 353, 59, 60, 81, 467, 76, 469, 76, + 59, 330, 81, 30, 81, 334, 3, 4, 5, 6, + 7, 38, 609, 9, 381, 76, 76, 274, 853, 75, + 81, 364, 76, 50, 558, 77, 67, 81, 292, 81, + 483, 72, 59, 358, 3, 329, 3, 412, 7, 347, + 59, 349, 77, 410, 76, 72, 81, 586, 67, 59, + 60, 77, 422, 72, 38, 81, 595, 82, 350, 512, + 77, 30, 319, 30, 81, 7, 76, 59, 661, 512, + 67, 664, 5, 330, 7, 72, 333, 334, 3, 4, + 59, 50, 7, 50, 644, 349, 350, 77, 30, 414, + 59, 60, 59, 60, 426, 710, 3, 4, 59, 60, + 440, 698, 77, 59, 60, 30, 81, 78, 50, 82, + 426, 582, 418, 453, 78, 76, 625, 59, 60, 418, + 76, 429, 76, 429, 76, 50, 3, 4, 3, 4, + 429, 439, 440, 76, 59, 38, 589, 30, 619, 619, + 624, 551, 552, 77, 683, 402, 630, 72, 405, 626, + 475, 408, 59, 30, 631, 30, 76, 50, 422, 59, + 67, 418, 722, 38, 421, 72, 59, 60, 77, 433, + 59, 60, 429, 50, 514, 50, 440, 27, 77, 78, + 30, 652, 59, 440, 59, 510, 36, 48, 49, 453, + 10, 662, 77, 664, 534, 72, 81, 72, 76, 708, + 709, 63, 63, 532, 76, 513, 715, 716, 742, 59, + 60, 517, 82, 77, 68, 69, 70, 81, 517, 59, + 60, 818, 551, 552, 78, 533, 534, 77, 77, 59, + 60, 81, 81, 337, 27, 615, 9, 545, 546, 83, + 344, 77, 78, 4, 5, 6, 7, 781, 352, 77, + 514, 12, 13, 14, 562, 563, 581, 514, 620, 621, + 517, 36, 642, 611, 612, 3, 4, 28, 77, 644, + 534, 600, 50, 51, 52, 532, 67, 534, 77, 78, + 605, 897, 546, 899, 45, 36, 615, 68, 69, 70, + 76, 653, 30, 81, 551, 552, 625, 78, 555, 563, + 48, 49, 50, 51, 52, 38, 67, 78, 616, 76, + 616, 72, 50, 642, 59, 60, 77, 616, 68, 69, + 70, 59, 60, 126, 127, 3, 4, 76, 78, 7, + 76, 38, 626, 941, 76, 76, 76, 631, 68, 69, + 70, 949, 63, 600, 711, 76, 671, 722, 78, 83, + 884, 83, 30, 76, 82, 619, 76, 614, 615, 616, + 63, 76, 36, 620, 621, 83, 76, 78, 625, 78, + 78, 32, 50, 38, 76, 742, 77, 634, 878, 708, + 709, 59, 60, 640, 83, 642, 715, 716, 81, 76, + 924, 925, 4, 5, 6, 7, 653, 77, 3, 81, + 12, 13, 14, 6, 7, 767, 77, 732, 78, 12, + 13, 14, 38, 63, 781, 83, 28, 742, 30, 78, + 78, 38, 38, 78, 81, 792, 897, 63, 899, 38, + 759, 78, 81, 45, 1, 63, 742, 4, 5, 6, + 7, 83, 38, 742, 78, 12, 13, 14, 59, 59, + 742, 708, 709, 59, 38, 67, 781, 77, 715, 716, + 72, 28, 802, 830, 796, 77, 833, 834, 793, 812, + 850, 575, 576, 77, 841, 579, 7, 38, 45, 795, + 796, 16, 77, 77, 59, 742, 848, 78, 77, 856, + 5, 6, 7, 801, 802, 77, 863, 12, 13, 14, + 67, 59, 759, 63, 76, 72, 812, 874, 17, 77, + 767, 76, 76, 812, 77, 82, 9, 884, 77, 76, + 812, 850, 77, 627, 628, 629, 77, 59, 632, 633, + 54, 55, 81, 57, 58, 59, 60, 77, 802, 906, + 76, 4, 5, 6, 7, 802, 76, 0, 77, 12, + 13, 14, 76, 657, 77, 812, 0, 415, 241, 884, + 833, 928, 325, 246, 247, 28, 662, 934, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 87, 643, 45, 414, 282, 689, 690, 691, 747, 812, + 477, 848, 650, 850, 5, 6, 7, 679, 350, 652, + 469, 12, 13, 14, 67, 358, 583, 475, 884, 72, + 1, 662, 3, 4, 5, 6, 7, 8, 9, 30, + 11, 12, 13, 14, 15, 729, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 664, 33, 34, 884, 929, 931, 409, 25, 40, + 555, 421, 43, 421, 45, 621, 542, 48, 49, 50, + 767, 764, 535, 54, 55, 517, 301, 759, 59, 60, + 512, 683, 776, 64, 417, 66, 67, 589, 417, 371, + 71, 72, -1, -1, 75, -1, 77, 78, 79, 80, + -1, 82, 45, 46, 47, 48, 49, 50, 51, 52, + 383, 384, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 1, -1, -1, 4, 5, 6, 7, -1, -1, + 10, -1, 12, 13, 14, 829, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 28, -1, + -1, 845, -1, -1, -1, -1, 1, -1, 3, 4, + 5, 6, 7, 8, 9, 45, 11, 12, 13, 14, + 15, -1, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 67, 33, 34, + -1, -1, 72, -1, -1, 40, -1, -1, 43, -1, + 45, 474, 82, 48, 49, 50, -1, -1, -1, 54, + 55, -1, -1, -1, 59, 60, -1, -1, -1, 64, + 493, 66, 67, -1, -1, -1, 71, 72, -1, -1, + 75, -1, 77, -1, 79, 80, -1, 82, -1, -1, + 1, -1, 3, 4, -1, -1, -1, 8, 9, -1, + 11, -1, -1, -1, 15, -1, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, -1, 29, -1, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + 54, 55, 43, 57, 58, 59, 60, 48, 49, 50, + -1, -1, 565, 54, 55, -1, -1, -1, 59, 60, + -1, -1, -1, 64, -1, 66, 67, -1, -1, -1, + 71, 72, 585, -1, 75, -1, 77, 78, 79, 80, + 1, 82, 3, 4, -1, -1, -1, 8, 9, -1, + 11, -1, -1, -1, 15, -1, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, -1, 29, -1, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, -1, 650, 59, 60, + -1, -1, -1, 64, -1, 66, 67, -1, -1, -1, + 71, 72, -1, -1, 75, -1, 77, -1, 79, 80, + -1, 82, -1, -1, -1, -1, 1, 680, -1, 4, + 5, 6, 7, -1, 687, -1, -1, 12, 13, 14, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - -1, -1, -1, -1, -1, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, 58, 59, 60, -1, -1, -1, - 64, -1, 66, 67, -1, -1, -1, 71, 72, -1, - -1, 75, -1, -1, 78, 79, 80, 1, 82, 3, - -1, -1, -1, -1, 8, 9, -1, 11, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, - -1, -1, -1, -1, -1, 29, -1, 31, -1, 33, - 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, 60, -1, -1, -1, - 64, -1, 66, -1, -1, -1, -1, 71, -1, -1, - -1, 75, 1, -1, 3, 79, 80, -1, 82, 8, - 9, -1, 11, 1, -1, -1, 4, -1, 6, 7, - -1, -1, -1, -1, 12, 13, 14, -1, -1, -1, - 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, - 28, 40, -1, 31, 43, -1, -1, -1, -1, 48, - 49, 50, -1, -1, -1, 54, 55, 45, -1, -1, - 59, 60, -1, -1, -1, 64, -1, 66, -1, -1, - -1, -1, 71, -1, -1, -1, 75, -1, -1, 67, - 79, 80, 1, 82, 72, 4, 5, 6, 7, 77, - 78, -1, -1, 12, 13, 14, -1, -1, -1, -1, - -1, 1, -1, -1, 4, 5, 6, 7, 27, 28, - -1, 30, 12, 13, 14, -1, -1, 36, 45, 46, - 47, 48, 49, 50, 51, 52, 45, 27, 28, -1, - 30, -1, -1, -1, -1, -1, 36, -1, -1, -1, - 59, 60, -1, -1, -1, 45, -1, -1, 67, -1, - -1, -1, -1, 72, -1, -1, -1, -1, 77, 59, - 60, -1, 81, 82, -1, -1, -1, 67, -1, -1, - -1, -1, 72, -1, -1, -1, -1, 77, -1, -1, - 1, 81, 82, 4, 5, 6, 7, -1, -1, -1, - -1, 12, 13, 14, -1, -1, -1, -1, -1, 1, - -1, -1, 4, 5, 6, 7, 27, 28, -1, 30, - 12, 13, 14, -1, -1, 36, 46, 47, 48, 49, - 50, 51, 52, -1, 45, -1, 28, 1, 30, -1, - 4, 5, 6, 7, -1, -1, -1, -1, 12, 13, - 14, -1, -1, 45, -1, -1, 67, -1, -1, -1, - -1, 72, -1, -1, 28, -1, 77, -1, -1, -1, - 81, 82, -1, -1, -1, 67, -1, -1, -1, 3, - 72, 45, -1, -1, 8, 9, -1, 11, -1, -1, - 82, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, -1, -1, 67, -1, 29, -1, 31, 72, 33, - 34, -1, -1, -1, -1, -1, 40, -1, 82, 43, - -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, - 54, 55, -1, -1, -1, 59, 60, -1, 3, -1, - 64, -1, 66, 8, 9, -1, 11, 71, -1, -1, - -1, 75, -1, -1, -1, 79, 80, -1, -1, 83, - -1, -1, -1, -1, 29, -1, 31, -1, 33, 34, - -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, - -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, - 55, -1, -1, -1, 59, 60, -1, 3, -1, 64, - -1, 66, 8, 9, -1, 11, 71, -1, -1, -1, - 75, -1, -1, -1, 79, 80, -1, -1, 83, -1, + 703, -1, 27, 28, -1, 30, -1, -1, -1, -1, + -1, 36, 46, 47, 48, 49, 50, 51, 52, -1, + 45, -1, 725, -1, -1, 728, -1, -1, -1, -1, + -1, -1, -1, -1, 59, 60, -1, -1, -1, -1, + -1, 744, 67, -1, 747, -1, 749, 72, -1, -1, + -1, -1, 77, -1, -1, -1, 81, 82, 4, -1, + 6, 7, -1, 766, -1, -1, 12, 13, 14, -1, + 1, -1, 3, 4, 777, -1, -1, 8, 9, -1, + 11, -1, 28, -1, 15, 788, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, -1, 29, 45, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + -1, 814, 43, -1, -1, -1, -1, 48, 49, 50, + -1, 67, -1, 54, 55, -1, 72, -1, 59, 60, + -1, 77, 78, 64, -1, 66, 67, -1, -1, -1, + 71, 72, -1, -1, 75, -1, 77, -1, 79, 80, + 1, 82, 3, 4, -1, 6, 7, 8, 9, -1, + 11, 12, 13, 14, -1, -1, 869, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 28, 29, -1, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, 43, -1, 45, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, -1, -1, 59, 60, + -1, -1, -1, 64, -1, 66, 67, -1, -1, -1, + 71, 72, -1, -1, 75, -1, -1, -1, 79, 80, + 1, 82, 3, 4, -1, -1, -1, 8, 9, 37, + 11, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, -1, -1, -1, 29, -1, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, -1, 58, 59, 60, + -1, -1, -1, 64, -1, 66, 67, -1, -1, -1, + 71, 72, -1, -1, 75, -1, -1, 78, 79, 80, + 1, 82, 3, 4, -1, -1, -1, 8, 9, -1, + 11, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, -1, -1, -1, -1, 29, -1, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, -1, 58, 59, 60, + -1, -1, -1, 64, -1, 66, 67, -1, -1, -1, + 71, 72, -1, -1, 75, -1, -1, 78, 79, 80, + 1, 82, 3, -1, -1, -1, -1, 8, 9, -1, + 11, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, -1, -1, -1, -1, -1, -1, 29, -1, + 31, -1, 33, 34, -1, 36, -1, -1, -1, 40, + -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, -1, 58, 59, 60, + -1, -1, -1, 64, -1, 66, -1, -1, -1, -1, + 71, -1, -1, -1, 75, 1, -1, 3, 79, 80, + -1, 82, 8, 9, -1, 11, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, - -1, -1, -1, 59, 60, -1, 3, -1, 64, -1, - 66, 8, 9, -1, 11, 71, -1, -1, -1, 75, - -1, -1, -1, 79, 80, -1, -1, 83, -1, -1, + -1, -1, -1, 59, 60, -1, -1, -1, 64, -1, + 66, -1, -1, -1, -1, 71, -1, -1, -1, 75, + 1, -1, 3, 79, 80, -1, 82, 8, 9, -1, + 11, 1, -1, -1, 4, -1, 6, 7, -1, -1, + -1, -1, 12, 13, 14, -1, -1, -1, 29, -1, + 31, -1, 33, 34, -1, -1, -1, -1, 28, 40, + -1, 31, 43, -1, -1, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, 45, -1, -1, 59, 60, + -1, -1, -1, 64, -1, 66, -1, -1, -1, -1, + 71, -1, -1, -1, 75, -1, -1, 67, 79, 80, + 1, 82, 72, 4, 5, 6, 7, 77, 78, -1, + -1, 12, 13, 14, -1, -1, -1, -1, -1, 1, + -1, -1, 4, 5, 6, 7, 27, 28, -1, 30, + 12, 13, 14, -1, -1, 36, -1, -1, -1, -1, + -1, -1, -1, -1, 45, 27, 28, -1, 30, -1, + -1, -1, -1, -1, 36, -1, -1, -1, 59, 60, + -1, -1, -1, 45, -1, -1, 67, -1, -1, -1, + -1, 72, -1, -1, -1, -1, 77, -1, -1, -1, + 81, 82, -1, -1, -1, 67, -1, -1, -1, -1, + 72, -1, -1, -1, -1, 77, -1, -1, 1, 81, + 82, 4, 5, 6, 7, -1, -1, -1, -1, 12, + 13, 14, -1, -1, -1, -1, -1, 1, -1, -1, + 4, 5, 6, 7, -1, 28, -1, 30, 12, 13, + 14, 4, -1, 6, 7, -1, -1, -1, -1, 12, + 13, 14, 45, -1, 28, 3, 30, -1, -1, -1, + 8, 9, -1, 11, -1, 28, -1, 30, -1, -1, + -1, 45, -1, -1, 67, -1, -1, -1, -1, 72, + -1, 29, 45, 31, -1, 33, 34, 50, -1, 82, + -1, -1, 40, 67, -1, 43, 59, 60, 72, -1, + 48, 49, 50, -1, 67, -1, 54, 55, 82, 72, + -1, 59, 60, -1, 3, -1, 64, -1, 66, 8, + 9, -1, 11, 71, -1, -1, -1, 75, -1, -1, + -1, 79, 80, -1, -1, 83, -1, -1, -1, -1, + 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, + -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, + 49, 50, -1, -1, -1, 54, 55, -1, -1, -1, + 59, 60, -1, 3, -1, 64, -1, 66, 8, 9, + -1, 11, 71, -1, -1, -1, 75, -1, -1, -1, + 79, 80, -1, -1, 83, -1, -1, -1, -1, 29, + -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, + 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, + 50, -1, -1, -1, 54, 55, -1, -1, -1, 59, + 60, -1, 3, -1, 64, -1, 66, 8, 9, -1, + 11, 71, -1, -1, -1, 75, -1, -1, -1, 79, + 80, -1, -1, 83, -1, -1, -1, -1, 29, -1, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, -1, -1, 59, 60, + -1, 3, -1, 64, -1, 66, 8, 9, -1, 11, + 71, -1, -1, -1, 75, -1, -1, -1, 79, 80, + -1, -1, 83, -1, -1, -1, -1, 29, -1, 31, + -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, + -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, + -1, -1, 54, 55, -1, -1, -1, 59, 60, -1, + -1, -1, 64, -1, 66, -1, -1, -1, -1, 71, + -1, -1, -1, 75, -1, -1, -1, 79, 80, -1, + -1, 83, 3, 4, 5, 6, 7, 8, 9, -1, + 11, 12, 13, 14, 15, -1, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, 43, -1, 45, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, -1, -1, 59, 60, + -1, -1, -1, 64, -1, 66, 67, -1, -1, -1, + 71, 72, -1, -1, 75, -1, 77, -1, 79, 80, + -1, 82, 3, 4, -1, -1, -1, 8, 9, -1, + 11, -1, -1, -1, 15, -1, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, -1, 29, -1, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, 3, -1, 59, 60, + -1, 8, 9, 64, 11, 66, 67, -1, -1, -1, + 71, 72, -1, -1, 75, -1, 77, -1, 79, 80, + -1, 82, 29, -1, 31, -1, 33, 34, -1, -1, + -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, + -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, + -1, -1, 59, 60, -1, -1, -1, 64, -1, 66, + -1, -1, -1, -1, 71, -1, -1, -1, 75, -1, + -1, -1, 79, 80, -1, 82, 3, 4, -1, 6, + 7, -1, -1, -1, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, -1, 3, 4, 5, 6, 7, 8, + 9, 38, 11, 12, 13, 14, 4, 5, 6, 7, + -1, -1, -1, -1, 12, 13, 14, -1, -1, 28, + 29, 30, 31, -1, 33, 34, -1, -1, -1, -1, + 28, 40, 30, -1, 43, 72, 45, -1, -1, 48, + 49, 50, -1, -1, 81, 54, 55, 45, -1, -1, + 59, 60, -1, -1, -1, 64, -1, 66, 67, -1, + -1, -1, 71, 72, -1, -1, 75, -1, -1, 67, + 79, 80, 3, 4, 72, 6, 7, 8, 9, 77, + 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 28, 29, -1, + 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, + -1, -1, 43, -1, 45, -1, -1, 48, 49, 50, + -1, -1, -1, 54, 55, -1, 3, -1, 59, 60, + -1, 8, 9, 64, 11, 66, 67, -1, -1, -1, + 71, 72, -1, -1, 75, -1, -1, -1, 79, 80, -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, - -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, - -1, -1, 59, 60, -1, 3, -1, 64, -1, 66, - 8, 9, -1, 11, 71, -1, -1, -1, 75, -1, - -1, -1, 79, 80, -1, -1, 83, -1, -1, -1, - -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, - 48, 49, 50, -1, -1, -1, 54, 55, -1, -1, - -1, 59, 60, -1, -1, -1, 64, -1, 66, -1, - -1, -1, -1, 71, -1, -1, -1, 75, -1, -1, - -1, 79, 80, -1, -1, 83, 3, 4, 5, 6, - 7, 8, 9, -1, 11, 12, 13, 14, 15, -1, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, -1, 33, 34, -1, -1, - -1, -1, -1, 40, -1, -1, 43, -1, 45, -1, - -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, - -1, -1, 59, 60, -1, -1, -1, 64, -1, 66, - 67, -1, -1, -1, 71, 72, -1, -1, 75, -1, - 77, -1, 79, 80, -1, 82, 3, 4, -1, -1, - -1, 8, 9, -1, 11, -1, -1, -1, 15, -1, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, -1, 29, -1, 31, -1, 33, 34, -1, -1, - -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, 3, -1, 59, 60, -1, 8, 9, 64, 11, 66, - 67, -1, -1, -1, 71, 72, -1, -1, 75, -1, - 77, -1, 79, 80, -1, 82, 29, -1, 31, -1, - 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, - 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, - -1, 54, 55, -1, -1, -1, 59, 60, -1, -1, - -1, 64, -1, 66, -1, -1, -1, -1, 71, -1, - -1, -1, 75, -1, -1, -1, 79, 80, -1, 82, - 3, 4, -1, 6, 7, -1, -1, -1, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 3, 4, - 5, 6, 7, 8, 9, 38, 11, 12, 13, 14, - 4, 5, 6, 7, -1, -1, -1, -1, 12, 13, - 14, -1, -1, 28, 29, 30, 31, -1, 33, 34, - -1, -1, -1, -1, 28, 40, 30, -1, 43, 72, - 45, -1, -1, 48, 49, 50, -1, -1, 81, 54, - 55, 45, -1, -1, 59, 60, -1, -1, -1, 64, - -1, 66, 67, -1, -1, -1, 71, 72, -1, -1, - 75, -1, -1, 67, 79, 80, 3, 4, 72, 6, - 7, 8, 9, 77, 11, 12, 13, 14, 44, 45, - 46, 47, 48, 49, 50, 51, 52, -1, -1, -1, - -1, 28, 29, -1, 31, -1, 33, 34, -1, -1, - -1, -1, -1, 40, -1, -1, 43, -1, 45, -1, - -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, - 3, -1, 59, 60, -1, 8, 9, 64, 11, 66, - 67, -1, -1, -1, 71, 72, -1, -1, 75, -1, + 67, -1, -1, -1, 71, -1, -1, -1, 75, -1, -1, -1, 79, 80, -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, 3, -1, 59, 60, -1, 8, - 9, 64, 11, 66, 67, -1, -1, -1, 71, -1, - -1, -1, 75, -1, -1, -1, 79, 80, -1, -1, + 9, 64, 11, 66, -1, -1, -1, -1, 71, -1, + -1, -1, 75, -1, 77, -1, 79, 80, -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, 3, -1, 59, 60, -1, 8, 9, 64, 11, 66, -1, -1, - -1, -1, 71, -1, -1, -1, 75, -1, 77, -1, + -1, -1, 71, -1, -1, -1, 75, -1, -1, -1, 79, 80, -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, @@ -1581,48 +1606,40 @@ static const short yycheck[] = { 56, -1, -1, 29, -1, 31, -1, 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, -1, 54, 55, -1, - 3, -1, 59, 60, -1, 8, 9, 64, 11, 66, + -1, -1, 59, 60, -1, -1, -1, 64, -1, 66, -1, -1, -1, -1, 71, -1, -1, -1, 75, -1, - -1, -1, 79, 80, -1, -1, 29, -1, 31, -1, - 33, 34, -1, -1, -1, -1, -1, 40, -1, -1, - 43, -1, -1, -1, -1, 48, 49, 50, -1, -1, - -1, 54, 55, -1, -1, -1, 59, 60, -1, -1, - -1, 64, -1, 66, -1, -1, -1, -1, 71, -1, - -1, -1, 75, -1, -1, 1, 79, 80, 4, -1, - 6, 7, -1, -1, -1, -1, 12, 13, 14, -1, - -1, -1, -1, 1, -1, -1, 4, -1, 6, 7, - -1, -1, 28, -1, 12, 13, 14, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, - 28, -1, -1, -1, -1, -1, -1, 1, -1, 3, - 4, 5, 6, 7, -1, -1, -1, 45, 12, 13, - 14, 67, 68, 69, 70, -1, 72, -1, -1, -1, - -1, 77, 78, 27, 28, -1, 30, 31, -1, 67, - 68, 69, 70, -1, 72, -1, -1, -1, -1, 77, - 78, 45, -1, -1, 48, 49, 50, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, 61, 62, 63, - -1, -1, -1, 67, -1, -1, -1, 71, 72, 73, - 74, -1, 1, 77, 3, 4, 5, 6, 7, -1, - -1, -1, -1, 12, 13, 14, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, - 1, 30, 3, 4, 5, 6, 7, -1, -1, -1, - -1, 12, 13, 14, -1, -1, 45, -1, -1, 48, - 49, 50, -1, -1, -1, -1, -1, 28, 1, 30, - 59, 4, 5, 6, 7, -1, -1, 10, 67, 12, - 13, 14, -1, 72, 45, -1, -1, -1, 77, 50, - -1, 4, 5, 6, 7, 28, -1, 30, 59, 12, - 13, 14, -1, -1, -1, -1, 67, -1, -1, -1, - -1, 72, 45, -1, -1, 28, 77, 30, -1, -1, - 4, 5, 6, 7, -1, -1, -1, -1, 12, 13, - 14, -1, 45, -1, 67, -1, -1, -1, -1, 72, - -1, -1, -1, 76, 28, -1, 30, -1, 4, 5, - 6, 7, -1, -1, 67, -1, 12, 13, 14, 72, - -1, 45, -1, -1, 77, 1, -1, -1, 4, -1, - 6, 7, 28, -1, -1, -1, 12, 13, 14, -1, - -1, -1, -1, 67, -1, -1, -1, -1, 72, 45, - -1, -1, 28, 77, -1, 31, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, - -1, 67, -1, -1, -1, -1, 72, -1, -1, -1, - -1, 77, -1, -1, -1, -1, -1, -1, -1, 3, + -1, 1, 79, 80, 4, -1, 6, 7, -1, -1, + -1, -1, 12, 13, 14, -1, -1, -1, -1, 1, + -1, -1, 4, -1, 6, 7, -1, -1, 28, -1, + 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 45, 28, -1, -1, -1, + -1, -1, -1, 1, -1, 3, 4, 5, 6, 7, + -1, -1, -1, 45, 12, 13, 14, 67, 68, 69, + 70, -1, 72, -1, -1, -1, -1, 77, 78, 27, + 28, -1, 30, 31, -1, 67, 68, 69, 70, -1, + 72, -1, -1, -1, -1, 77, 78, 45, -1, -1, + 48, 49, 50, -1, -1, -1, -1, -1, -1, -1, + -1, 59, -1, 61, 62, 63, -1, -1, -1, 67, + -1, -1, -1, 71, 72, 73, 74, -1, 1, 77, + 3, 4, 5, 6, 7, -1, -1, -1, -1, 12, + 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 28, 1, 30, 3, 4, + 5, 6, 7, -1, -1, -1, -1, 12, 13, 14, + -1, -1, 45, -1, -1, 48, 49, 50, -1, -1, + -1, -1, -1, 28, -1, 30, 59, -1, -1, -1, + -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, + 45, -1, -1, -1, 77, 50, 1, -1, 3, 4, + 5, 6, 7, -1, 59, 10, -1, 12, 13, 14, + -1, -1, 67, -1, -1, 1, -1, 72, 4, 5, + 6, 7, 77, 28, 10, 30, 12, 13, 14, 4, + 5, 6, 7, -1, -1, -1, -1, 12, 13, 14, + 45, -1, 28, -1, 30, 1, -1, -1, 4, -1, + 6, 7, -1, 28, -1, 30, 12, 13, 14, 45, + -1, -1, 67, -1, -1, -1, -1, 72, -1, -1, + 45, 76, 28, -1, -1, 31, -1, -1, -1, -1, + -1, 67, -1, -1, -1, -1, 72, -1, -1, 45, + 76, -1, 67, -1, -1, -1, -1, 72, -1, -1, + -1, -1, 77, -1, -1, -1, -1, -1, -1, 3, 4, 67, 6, 7, -1, -1, 72, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3, 4, -1, @@ -1639,7 +1656,7 @@ static const short yycheck[] = { 56, 13, 14, 72, 4, 5, 6, 7, -1, -1, 10, -1, 12, 13, 14, -1, 28, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, 30, - 72, -1, 45, 4, 5, 6, 7, 4, 5, 6, + 72, -1, 45, 4, -1, 6, 7, 4, 5, 6, 7, 12, 13, 14, 45, 12, 13, 14, -1, -1, -1, -1, -1, -1, 67, -1, -1, 28, -1, 72, -1, 28, -1, 30, -1, -1, 67, 4, -1, 6, @@ -3608,22 +3625,26 @@ case 309: { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ; break;} case 310: -#line 1636 "objc-parse.y" +#line 1629 "objc-parse.y" +{ yyval.ttype = yyvsp[0].ttype; ; + break;} +case 311: +#line 1638 "objc-parse.y" { if (pedantic && yyvsp[0].ends_in_label) pedwarn ("ANSI C forbids label at end of compound statement"); ; break;} -case 312: -#line 1645 "objc-parse.y" -{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; - break;} case 313: #line 1647 "objc-parse.y" +{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; + break;} +case 314: +#line 1649 "objc-parse.y" { yyval.ends_in_label = 0; ; break;} -case 317: -#line 1659 "objc-parse.y" +case 318: +#line 1661 "objc-parse.y" { emit_line_note (input_filename, lineno); pushlevel (0); clear_last_expr (); @@ -3633,13 +3654,13 @@ case 317: add_objc_decls (); ; break;} -case 319: -#line 1674 "objc-parse.y" +case 320: +#line 1676 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids label declarations"); ; break;} -case 322: -#line 1685 "objc-parse.y" +case 323: +#line 1687 "objc-parse.y" { tree link; for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) { @@ -3649,20 +3670,20 @@ case 322: } ; break;} -case 323: -#line 1699 "objc-parse.y" +case 324: +#line 1701 "objc-parse.y" {; break;} -case 325: -#line 1703 "objc-parse.y" -{ compstmt_count++; ; - break;} case 326: -#line 1706 "objc-parse.y" -{ yyval.ttype = convert (void_type_node, integer_zero_node); ; +#line 1705 "objc-parse.y" +{ compstmt_count++; ; break;} case 327: #line 1708 "objc-parse.y" +{ yyval.ttype = convert (void_type_node, integer_zero_node); ; + break;} +case 328: +#line 1710 "objc-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), 1, 0); yyval.ttype = poplevel (1, 1, 0); @@ -3671,18 +3692,8 @@ case 327: else pop_momentary (); ; break;} -case 328: -#line 1716 "objc-parse.y" -{ emit_line_note (input_filename, lineno); - expand_end_bindings (getdecls (), kept_level_p (), 0); - yyval.ttype = poplevel (kept_level_p (), 0, 0); - if (yychar == CONSTANT || yychar == STRING) - pop_momentary_nofree (); - else - pop_momentary (); ; - break;} case 329: -#line 1724 "objc-parse.y" +#line 1718 "objc-parse.y" { emit_line_note (input_filename, lineno); expand_end_bindings (getdecls (), kept_level_p (), 0); yyval.ttype = poplevel (kept_level_p (), 0, 0); @@ -3691,8 +3702,18 @@ case 329: else pop_momentary (); ; break;} -case 332: -#line 1744 "objc-parse.y" +case 330: +#line 1726 "objc-parse.y" +{ emit_line_note (input_filename, lineno); + expand_end_bindings (getdecls (), kept_level_p (), 0); + yyval.ttype = poplevel (kept_level_p (), 0, 0); + if (yychar == CONSTANT || yychar == STRING) + pop_momentary_nofree (); + else + pop_momentary (); ; + break;} +case 333: +#line 1746 "objc-parse.y" { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0, compstmt_count); @@ -3701,8 +3722,8 @@ case 332: if_stmt_line = yyvsp[-4].lineno; position_after_white_space (); ; break;} -case 333: -#line 1758 "objc-parse.y" +case 334: +#line 1760 "objc-parse.y" { stmt_count++; compstmt_count++; emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); @@ -3711,44 +3732,44 @@ case 333: expand_start_loop_continue_elsewhere (1); position_after_white_space (); ; break;} -case 334: -#line 1766 "objc-parse.y" +case 335: +#line 1768 "objc-parse.y" { expand_loop_continue_here (); ; break;} -case 335: -#line 1770 "objc-parse.y" +case 336: +#line 1772 "objc-parse.y" { yyval.filename = input_filename; ; break;} -case 336: -#line 1774 "objc-parse.y" +case 337: +#line 1776 "objc-parse.y" { yyval.lineno = lineno; ; break;} -case 337: -#line 1779 "objc-parse.y" -{ ; - break;} case 338: -#line 1784 "objc-parse.y" +#line 1781 "objc-parse.y" { ; break;} case 339: -#line 1789 "objc-parse.y" -{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; +#line 1786 "objc-parse.y" +{ ; break;} case 340: -#line 1794 "objc-parse.y" -{ yyval.ends_in_label = 0; ; +#line 1791 "objc-parse.y" +{ yyval.ends_in_label = yyvsp[0].ends_in_label; ; break;} case 341: #line 1796 "objc-parse.y" -{ yyval.ends_in_label = 1; ; +{ yyval.ends_in_label = 0; ; break;} case 342: -#line 1802 "objc-parse.y" +#line 1798 "objc-parse.y" +{ yyval.ends_in_label = 1; ; + break;} +case 343: +#line 1804 "objc-parse.y" { stmt_count++; ; break;} -case 344: -#line 1805 "objc-parse.y" +case 345: +#line 1807 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); /* It appears that this should not be done--that a non-lvalue array @@ -3766,20 +3787,20 @@ case 344: iterator_expand (yyvsp[-1].ttype); clear_momentary (); ; break;} -case 345: -#line 1822 "objc-parse.y" +case 346: +#line 1824 "objc-parse.y" { c_expand_start_else (); yyvsp[-1].itype = stmt_count; position_after_white_space (); ; break;} -case 346: -#line 1826 "objc-parse.y" +case 347: +#line 1828 "objc-parse.y" { c_expand_end_cond (); if (extra_warnings && stmt_count == yyvsp[-3].itype) warning ("empty body in an else-statement"); ; break;} -case 347: -#line 1830 "objc-parse.y" +case 348: +#line 1832 "objc-parse.y" { c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an @@ -3789,12 +3810,12 @@ case 347: warning_with_file_and_line (if_stmt_file, if_stmt_line, "empty body in an if-statement"); ; break;} -case 348: -#line 1842 "objc-parse.y" -{ c_expand_end_cond (); ; - break;} case 349: #line 1844 "objc-parse.y" +{ c_expand_end_cond (); ; + break;} +case 350: +#line 1846 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno); /* The emit_nop used to come before emit_line_note, @@ -3805,8 +3826,8 @@ case 349: We will see. --rms, July 15, 1991. */ emit_nop (); ; break;} -case 350: -#line 1854 "objc-parse.y" +case 351: +#line 1856 "objc-parse.y" { /* Don't start the loop till we have succeeded in parsing the end test. This is to make sure that we end every loop we start. */ @@ -3816,25 +3837,25 @@ case 350: truthvalue_conversion (yyvsp[-1].ttype)); position_after_white_space (); ; break;} -case 351: -#line 1863 "objc-parse.y" +case 352: +#line 1865 "objc-parse.y" { expand_end_loop (); ; break;} -case 352: -#line 1866 "objc-parse.y" +case 353: +#line 1868 "objc-parse.y" { emit_line_note (input_filename, lineno); expand_exit_loop_if_false (NULL_PTR, truthvalue_conversion (yyvsp[-2].ttype)); expand_end_loop (); clear_momentary (); ; break;} -case 353: -#line 1873 "objc-parse.y" +case 354: +#line 1875 "objc-parse.y" { expand_end_loop (); clear_momentary (); ; break;} -case 354: -#line 1877 "objc-parse.y" +case 355: +#line 1879 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); /* See comment in `while' alternative, above. */ @@ -3846,13 +3867,13 @@ case 354: fn without calling expand_end_loop. */ ; break;} -case 355: -#line 1889 "objc-parse.y" +case 356: +#line 1891 "objc-parse.y" { yyvsp[0].lineno = lineno; yyval.filename = input_filename; ; break;} -case 356: -#line 1892 "objc-parse.y" +case 357: +#line 1894 "objc-parse.y" { /* Start the loop. Doing this after parsing all the expressions ensures we will end the loop. */ @@ -3869,8 +3890,8 @@ case 356: yyvsp[-2].filename = input_filename; position_after_white_space (); ; break;} -case 357: -#line 1908 "objc-parse.y" +case 358: +#line 1910 "objc-parse.y" { /* Emit the increment expression, with a line number. */ emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno); expand_loop_continue_here (); @@ -3882,8 +3903,8 @@ case 357: pop_momentary (); expand_end_loop (); ; break;} -case 358: -#line 1919 "objc-parse.y" +case 359: +#line 1921 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); c_expand_start_case (yyvsp[-1].ttype); @@ -3892,42 +3913,42 @@ case 358: push_momentary (); position_after_white_space (); ; break;} -case 359: -#line 1927 "objc-parse.y" +case 360: +#line 1929 "objc-parse.y" { expand_end_case (yyvsp[-3].ttype); if (yychar == CONSTANT || yychar == STRING) pop_momentary_nofree (); else pop_momentary (); ; break;} -case 360: -#line 1933 "objc-parse.y" +case 361: +#line 1935 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); if ( ! expand_exit_something ()) error ("break statement not within loop or switch"); ; break;} -case 361: -#line 1938 "objc-parse.y" +case 362: +#line 1940 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); if (! expand_continue_loop (NULL_PTR)) error ("continue statement not within a loop"); ; break;} -case 362: -#line 1943 "objc-parse.y" +case 363: +#line 1945 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno); c_expand_return (NULL_TREE); ; break;} -case 363: -#line 1947 "objc-parse.y" +case 364: +#line 1949 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); c_expand_return (yyvsp[-1].ttype); ; break;} -case 364: -#line 1951 "objc-parse.y" +case 365: +#line 1953 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno); STRIP_NOPS (yyvsp[-2].ttype); @@ -3938,32 +3959,32 @@ case 364: else error ("argument of `asm' is not a constant string"); ; break;} -case 365: -#line 1962 "objc-parse.y" +case 366: +#line 1964 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno); c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 366: -#line 1969 "objc-parse.y" +case 367: +#line 1971 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno); c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 367: -#line 1977 "objc-parse.y" +case 368: +#line 1979 "objc-parse.y" { stmt_count++; emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno); c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE], input_filename, lineno); ; break;} -case 368: -#line 1983 "objc-parse.y" +case 369: +#line 1985 "objc-parse.y" { tree decl; stmt_count++; emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno); @@ -3975,16 +3996,16 @@ case 368: } ; break;} -case 369: -#line 1994 "objc-parse.y" +case 370: +#line 1996 "objc-parse.y" { if (pedantic) pedwarn ("ANSI C forbids `goto *expr;'"); stmt_count++; emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno); expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ; break;} -case 372: -#line 2009 "objc-parse.y" +case 373: +#line 2011 "objc-parse.y" { /* The value returned by this action is */ /* 1 if everything is OK */ @@ -4006,15 +4027,15 @@ case 372: } ; break;} -case 373: -#line 2030 "objc-parse.y" +case 374: +#line 2032 "objc-parse.y" { if (yyvsp[-1].itype) iterator_for_loop_end (yyvsp[-3].ttype); ; break;} -case 374: -#line 2065 "objc-parse.y" +case 375: +#line 2067 "objc-parse.y" { register tree value = check_case_value (yyvsp[-1].ttype); register tree label = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE); @@ -4046,8 +4067,8 @@ case 374: } position_after_white_space (); ; break;} -case 375: -#line 2096 "objc-parse.y" +case 376: +#line 2098 "objc-parse.y" { register tree value1 = check_case_value (yyvsp[-3].ttype); register tree value2 = check_case_value (yyvsp[-1].ttype); register tree label @@ -4079,8 +4100,8 @@ case 375: } position_after_white_space (); ; break;} -case 376: -#line 2127 "objc-parse.y" +case 377: +#line 2129 "objc-parse.y" { tree duplicate; register tree label @@ -4096,8 +4117,8 @@ case 376: } position_after_white_space (); ; break;} -case 377: -#line 2142 "objc-parse.y" +case 378: +#line 2144 "objc-parse.y" { tree label = define_label (input_filename, lineno, yyvsp[-2].ttype); stmt_count++; emit_nop (); @@ -4108,53 +4129,53 @@ case 377: } position_after_white_space (); ; break;} -case 378: -#line 2157 "objc-parse.y" +case 379: +#line 2159 "objc-parse.y" { emit_line_note (input_filename, lineno); yyval.ttype = NULL_TREE; ; break;} -case 379: -#line 2160 "objc-parse.y" +case 380: +#line 2162 "objc-parse.y" { emit_line_note (input_filename, lineno); ; break;} -case 380: -#line 2165 "objc-parse.y" +case 381: +#line 2167 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 382: -#line 2172 "objc-parse.y" +case 383: +#line 2174 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 385: -#line 2179 "objc-parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; - break;} case 386: -#line 2184 "objc-parse.y" -{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; +#line 2181 "objc-parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 387: -#line 2189 "objc-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; +#line 2186 "objc-parse.y" +{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 388: #line 2191 "objc-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; +{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ; break;} case 389: -#line 2197 "objc-parse.y" +#line 2193 "objc-parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ; + break;} +case 390: +#line 2199 "objc-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (0); ; break;} -case 390: -#line 2201 "objc-parse.y" +case 391: +#line 2203 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} -case 392: -#line 2209 "objc-parse.y" +case 393: +#line 2211 "objc-parse.y" { tree parm; if (pedantic) pedwarn ("ANSI C forbids forward parameter declarations"); @@ -4163,20 +4184,20 @@ case 392: TREE_ASM_WRITTEN (parm) = 1; clear_parm_order (); ; break;} -case 393: -#line 2217 "objc-parse.y" -{ yyval.ttype = yyvsp[0].ttype; ; - break;} case 394: #line 2219 "objc-parse.y" -{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; +{ yyval.ttype = yyvsp[0].ttype; ; break;} case 395: -#line 2225 "objc-parse.y" -{ yyval.ttype = get_parm_info (0); ; +#line 2221 "objc-parse.y" +{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; break;} case 396: #line 2227 "objc-parse.y" +{ yyval.ttype = get_parm_info (0); ; + break;} +case 397: +#line 2229 "objc-parse.y" { yyval.ttype = get_parm_info (0); /* Gcc used to allow this as an extension. However, it does not work for all targets, and thus has been disabled. @@ -4187,24 +4208,24 @@ case 396: error ("ANSI C requires a named argument before `...'"); ; break;} -case 397: -#line 2237 "objc-parse.y" -{ yyval.ttype = get_parm_info (1); ; - break;} case 398: #line 2239 "objc-parse.y" -{ yyval.ttype = get_parm_info (0); ; +{ yyval.ttype = get_parm_info (1); ; break;} case 399: -#line 2244 "objc-parse.y" -{ push_parm_decl (yyvsp[0].ttype); ; +#line 2241 "objc-parse.y" +{ yyval.ttype = get_parm_info (0); ; break;} case 400: #line 2246 "objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 401: -#line 2253 "objc-parse.y" +#line 2248 "objc-parse.y" +{ push_parm_decl (yyvsp[0].ttype); ; + break;} +case 402: +#line 2255 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4214,8 +4235,8 @@ case 401: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 402: -#line 2262 "objc-parse.y" +case 403: +#line 2264 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4225,8 +4246,8 @@ case 402: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 403: -#line 2271 "objc-parse.y" +case 404: +#line 2273 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4236,19 +4257,8 @@ case 403: declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 404: -#line 2280 "objc-parse.y" -{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, - yyvsp[-1].ttype), - build_tree_list (prefix_attributes, - yyvsp[0].ttype)); - current_declspecs = TREE_VALUE (declspec_stack); - prefix_attributes = TREE_PURPOSE (declspec_stack); - declspec_stack = TREE_CHAIN (declspec_stack); - resume_momentary (yyvsp[-2].itype); ; - break;} case 405: -#line 2290 "objc-parse.y" +#line 2282 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, @@ -4259,48 +4269,59 @@ case 405: resume_momentary (yyvsp[-2].itype); ; break;} case 406: -#line 2304 "objc-parse.y" +#line 2292 "objc-parse.y" +{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, + yyvsp[-1].ttype), + build_tree_list (prefix_attributes, + yyvsp[0].ttype)); + current_declspecs = TREE_VALUE (declspec_stack); + prefix_attributes = TREE_PURPOSE (declspec_stack); + declspec_stack = TREE_CHAIN (declspec_stack); + resume_momentary (yyvsp[-2].itype); ; + break;} +case 407: +#line 2306 "objc-parse.y" { pushlevel (0); clear_parm_order (); declare_parm_level (1); ; break;} -case 407: -#line 2308 "objc-parse.y" +case 408: +#line 2310 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; parmlist_tags_warning (); poplevel (0, 0, 0); ; break;} -case 409: -#line 2316 "objc-parse.y" +case 410: +#line 2318 "objc-parse.y" { tree t; for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) if (TREE_VALUE (t) == NULL_TREE) error ("`...' in old-style identifier list"); yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ; break;} -case 410: -#line 2326 "objc-parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; - break;} case 411: #line 2328 "objc-parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; +{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 412: -#line 2334 "objc-parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; +#line 2330 "objc-parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 413: #line 2336 "objc-parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; +{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 414: -#line 2341 "objc-parse.y" +#line 2338 "objc-parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; + break;} +case 415: +#line 2343 "objc-parse.y" { yyval.itype = pedantic; pedantic = 0; ; break;} -case 420: -#line 2354 "objc-parse.y" +case 421: +#line 2356 "objc-parse.y" { if (objc_implementation_context) { @@ -4312,115 +4333,115 @@ case 420: warning ("`@end' must appear in an implementation context"); ; break;} -case 421: -#line 2369 "objc-parse.y" -{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; - break;} case 422: #line 2371 "objc-parse.y" -{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; +{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 423: -#line 2376 "objc-parse.y" +#line 2373 "objc-parse.y" +{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; + break;} +case 424: +#line 2378 "objc-parse.y" { objc_declare_class (yyvsp[-1].ttype); ; break;} -case 424: -#line 2382 "objc-parse.y" +case 425: +#line 2384 "objc-parse.y" { objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} -case 425: -#line 2388 "objc-parse.y" +case 426: +#line 2390 "objc-parse.y" { objc_interface_context = objc_ivar_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype); objc_public_flag = 0; ; break;} -case 426: -#line 2394 "objc-parse.y" +case 427: +#line 2396 "objc-parse.y" { continue_class (objc_interface_context); ; break;} -case 427: -#line 2399 "objc-parse.y" +case 428: +#line 2401 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 428: -#line 2405 "objc-parse.y" +case 429: +#line 2407 "objc-parse.y" { objc_interface_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} -case 429: -#line 2412 "objc-parse.y" +case 430: +#line 2414 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 430: -#line 2418 "objc-parse.y" +case 431: +#line 2420 "objc-parse.y" { objc_interface_context = objc_ivar_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); objc_public_flag = 0; ; break;} -case 431: -#line 2424 "objc-parse.y" +case 432: +#line 2426 "objc-parse.y" { continue_class (objc_interface_context); ; break;} -case 432: -#line 2429 "objc-parse.y" +case 433: +#line 2431 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 433: -#line 2435 "objc-parse.y" +case 434: +#line 2437 "objc-parse.y" { objc_interface_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} -case 434: -#line 2442 "objc-parse.y" +case 435: +#line 2444 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 435: -#line 2448 "objc-parse.y" +case 436: +#line 2450 "objc-parse.y" { objc_implementation_context = objc_ivar_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); objc_public_flag = 0; ; break;} -case 436: -#line 2454 "objc-parse.y" +case 437: +#line 2456 "objc-parse.y" { objc_ivar_chain = continue_class (objc_implementation_context); ; break;} -case 437: -#line 2460 "objc-parse.y" +case 438: +#line 2462 "objc-parse.y" { objc_implementation_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE); @@ -4428,23 +4449,23 @@ case 437: = continue_class (objc_implementation_context); ; break;} -case 438: -#line 2468 "objc-parse.y" +case 439: +#line 2470 "objc-parse.y" { objc_implementation_context = objc_ivar_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); objc_public_flag = 0; ; break;} -case 439: -#line 2474 "objc-parse.y" +case 440: +#line 2476 "objc-parse.y" { objc_ivar_chain = continue_class (objc_implementation_context); ; break;} -case 440: -#line 2480 "objc-parse.y" +case 441: +#line 2482 "objc-parse.y" { objc_implementation_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); @@ -4452,23 +4473,23 @@ case 440: = continue_class (objc_implementation_context); ; break;} -case 441: -#line 2488 "objc-parse.y" +case 442: +#line 2490 "objc-parse.y" { objc_interface_context = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} -case 442: -#line 2495 "objc-parse.y" +case 443: +#line 2497 "objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 443: -#line 2501 "objc-parse.y" +case 444: +#line 2503 "objc-parse.y" { objc_implementation_context = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); @@ -4476,30 +4497,30 @@ case 443: = continue_class (objc_implementation_context); ; break;} -case 444: -#line 2511 "objc-parse.y" +case 445: +#line 2513 "objc-parse.y" { remember_protocol_qualifiers (); objc_interface_context = start_protocol(PROTOCOL_INTERFACE_TYPE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 445: -#line 2517 "objc-parse.y" +case 446: +#line 2519 "objc-parse.y" { forget_protocol_qualifiers(); finish_protocol(objc_interface_context); objc_interface_context = NULL_TREE; ; break;} -case 446: -#line 2526 "objc-parse.y" +case 447: +#line 2528 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 448: -#line 2534 "objc-parse.y" +case 449: +#line 2536 "objc-parse.y" { if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR) yyval.ttype = yyvsp[-1].ttype; @@ -4507,41 +4528,33 @@ case 448: YYERROR1; ; break;} -case 451: -#line 2548 "objc-parse.y" +case 452: +#line 2550 "objc-parse.y" { objc_public_flag = 2; ; break;} -case 452: -#line 2549 "objc-parse.y" +case 453: +#line 2551 "objc-parse.y" { objc_public_flag = 0; ; break;} -case 453: -#line 2550 "objc-parse.y" +case 454: +#line 2552 "objc-parse.y" { objc_public_flag = 1; ; break;} -case 454: -#line 2555 "objc-parse.y" +case 455: +#line 2557 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 456: -#line 2560 "objc-parse.y" +case 457: +#line 2562 "objc-parse.y" { if (pedantic) pedwarn ("extra semicolon in struct or union specified"); ; break;} -case 457: -#line 2578 "objc-parse.y" -{ yyval.ttype = yyvsp[0].ttype; - current_declspecs = TREE_VALUE (declspec_stack); - prefix_attributes = TREE_PURPOSE (declspec_stack); - declspec_stack = TREE_CHAIN (declspec_stack); - resume_momentary (yyvsp[-1].itype); ; - break;} case 458: -#line 2584 "objc-parse.y" +#line 2580 "objc-parse.y" { yyval.ttype = yyvsp[0].ttype; current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); @@ -4549,15 +4562,23 @@ case 458: resume_momentary (yyvsp[-1].itype); ; break;} case 459: -#line 2590 "objc-parse.y" -{ yyval.ttype = NULL_TREE; ; +#line 2586 "objc-parse.y" +{ yyval.ttype = yyvsp[0].ttype; + current_declspecs = TREE_VALUE (declspec_stack); + prefix_attributes = TREE_PURPOSE (declspec_stack); + declspec_stack = TREE_CHAIN (declspec_stack); + resume_momentary (yyvsp[-1].itype); ; break;} case 460: -#line 2595 "objc-parse.y" +#line 2592 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 463: -#line 2602 "objc-parse.y" +case 461: +#line 2597 "objc-parse.y" +{ yyval.ttype = NULL_TREE; ; + break;} +case 464: +#line 2604 "objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, @@ -4565,16 +4586,16 @@ case 463: NULL_TREE); ; break;} -case 464: -#line 2609 "objc-parse.y" +case 465: +#line 2611 "objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, yyvsp[-2].ttype, current_declspecs, yyvsp[0].ttype); ; break;} -case 465: -#line 2615 "objc-parse.y" +case 466: +#line 2617 "objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, @@ -4582,8 +4603,8 @@ case 465: current_declspecs, yyvsp[0].ttype); ; break;} -case 466: -#line 2625 "objc-parse.y" +case 467: +#line 2627 "objc-parse.y" { remember_protocol_qualifiers (); if (objc_implementation_context) @@ -4592,8 +4613,8 @@ case 466: fatal ("method definition not in class context"); ; break;} -case 467: -#line 2633 "objc-parse.y" +case 468: +#line 2635 "objc-parse.y" { forget_protocol_qualifiers (); add_class_method (objc_implementation_context, yyvsp[0].ttype); @@ -4601,21 +4622,21 @@ case 467: objc_method_context = yyvsp[0].ttype; ; break;} -case 468: -#line 2640 "objc-parse.y" +case 469: +#line 2642 "objc-parse.y" { continue_method_def (); ; break;} -case 469: -#line 2644 "objc-parse.y" +case 470: +#line 2646 "objc-parse.y" { finish_method_def (); objc_method_context = NULL_TREE; ; break;} -case 470: -#line 2650 "objc-parse.y" +case 471: +#line 2652 "objc-parse.y" { remember_protocol_qualifiers (); if (objc_implementation_context) @@ -4624,8 +4645,8 @@ case 470: fatal ("method definition not in class context"); ; break;} -case 471: -#line 2658 "objc-parse.y" +case 472: +#line 2660 "objc-parse.y" { forget_protocol_qualifiers (); add_instance_method (objc_implementation_context, yyvsp[0].ttype); @@ -4633,268 +4654,268 @@ case 471: objc_method_context = yyvsp[0].ttype; ; break;} -case 472: -#line 2665 "objc-parse.y" +case 473: +#line 2667 "objc-parse.y" { continue_method_def (); ; break;} -case 473: -#line 2669 "objc-parse.y" +case 474: +#line 2671 "objc-parse.y" { finish_method_def (); objc_method_context = NULL_TREE; ; break;} -case 475: -#line 2681 "objc-parse.y" +case 476: +#line 2683 "objc-parse.y" {yyval.ttype = NULL_TREE; ; break;} -case 480: -#line 2688 "objc-parse.y" +case 481: +#line 2690 "objc-parse.y" {yyval.ttype = NULL_TREE; ; break;} -case 484: -#line 2698 "objc-parse.y" +case 485: +#line 2700 "objc-parse.y" { /* Remember protocol qualifiers in prototypes. */ remember_protocol_qualifiers (); objc_inherit_code = CLASS_METHOD_DECL; ; break;} -case 485: -#line 2704 "objc-parse.y" +case 486: +#line 2706 "objc-parse.y" { /* Forget protocol qualifiers here. */ forget_protocol_qualifiers (); add_class_method (objc_interface_context, yyvsp[0].ttype); ; break;} -case 487: -#line 2712 "objc-parse.y" +case 488: +#line 2714 "objc-parse.y" { /* Remember protocol qualifiers in prototypes. */ remember_protocol_qualifiers (); objc_inherit_code = INSTANCE_METHOD_DECL; ; break;} -case 488: -#line 2718 "objc-parse.y" +case 489: +#line 2720 "objc-parse.y" { /* Forget protocol qualifiers here. */ forget_protocol_qualifiers (); add_instance_method (objc_interface_context, yyvsp[0].ttype); ; break;} -case 490: -#line 2728 "objc-parse.y" +case 491: +#line 2730 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} -case 491: -#line 2733 "objc-parse.y" +case 492: +#line 2735 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} -case 492: -#line 2738 "objc-parse.y" +case 493: +#line 2740 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 493: -#line 2743 "objc-parse.y" +case 494: +#line 2745 "objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 502: -#line 2773 "objc-parse.y" +case 503: +#line 2775 "objc-parse.y" { current_declspecs = TREE_VALUE (declspec_stack); prefix_attributes = TREE_PURPOSE (declspec_stack); declspec_stack = TREE_CHAIN (declspec_stack); resume_momentary (yyvsp[-2].itype); ; break;} -case 503: -#line 2778 "objc-parse.y" -{ shadow_tag (yyvsp[-1].ttype); ; - break;} case 504: #line 2780 "objc-parse.y" -{ pedwarn ("empty declaration"); ; +{ shadow_tag (yyvsp[-1].ttype); ; break;} case 505: -#line 2785 "objc-parse.y" -{ push_parm_decl (yyvsp[0].ttype); ; +#line 2782 "objc-parse.y" +{ pedwarn ("empty declaration"); ; break;} case 506: #line 2787 "objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 507: -#line 2795 "objc-parse.y" -{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, - yyvsp[-1].ttype), - build_tree_list (prefix_attributes, - yyvsp[0].ttype)); ; +#line 2789 "objc-parse.y" +{ push_parm_decl (yyvsp[0].ttype); ; break;} case 508: -#line 2800 "objc-parse.y" +#line 2797 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, yyvsp[0].ttype)); ; break;} case 509: -#line 2805 "objc-parse.y" +#line 2802 "objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), build_tree_list (prefix_attributes, yyvsp[0].ttype)); ; break;} case 510: -#line 2813 "objc-parse.y" +#line 2807 "objc-parse.y" +{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs, + yyvsp[-1].ttype), + build_tree_list (prefix_attributes, + yyvsp[0].ttype)); ; + break;} +case 511: +#line 2815 "objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} -case 511: -#line 2817 "objc-parse.y" +case 512: +#line 2819 "objc-parse.y" { /* oh what a kludge! */ yyval.ttype = (tree)1; ; break;} -case 512: -#line 2822 "objc-parse.y" +case 513: +#line 2824 "objc-parse.y" { pushlevel (0); ; break;} -case 513: -#line 2826 "objc-parse.y" +case 514: +#line 2828 "objc-parse.y" { /* returns a tree list node generated by get_parm_info */ yyval.ttype = yyvsp[0].ttype; poplevel (0, 0, 0); ; break;} -case 516: -#line 2841 "objc-parse.y" +case 517: +#line 2843 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 521: -#line 2854 "objc-parse.y" -{ yyval.ttype = get_identifier (token_buffer); ; - break;} case 522: -#line 2855 "objc-parse.y" -{ yyval.ttype = get_identifier (token_buffer); ; - break;} -case 523: #line 2856 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 524: +case 523: #line 2857 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 525: +case 524: #line 2858 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 526: +case 525: #line 2859 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 527: +case 526: #line 2860 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 528: +case 527: #line 2861 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 529: +case 528: #line 2862 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 530: +case 529: #line 2863 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 531: +case 530: #line 2864 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 532: +case 531: #line 2865 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 533: +case 532: #line 2866 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 534: +case 533: #line 2867 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 535: +case 534: #line 2868 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 536: +case 535: #line 2869 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 537: +case 536: #line 2870 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 538: +case 537: #line 2871 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 539: +case 538: #line 2872 "objc-parse.y" { yyval.ttype = get_identifier (token_buffer); ; break;} -case 542: -#line 2878 "objc-parse.y" +case 539: +#line 2873 "objc-parse.y" +{ yyval.ttype = get_identifier (token_buffer); ; + break;} +case 540: +#line 2874 "objc-parse.y" +{ yyval.ttype = get_identifier (token_buffer); ; + break;} +case 543: +#line 2880 "objc-parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} -case 543: -#line 2883 "objc-parse.y" +case 544: +#line 2885 "objc-parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype); ; break;} -case 544: -#line 2888 "objc-parse.y" +case 545: +#line 2890 "objc-parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} -case 545: -#line 2893 "objc-parse.y" +case 546: +#line 2895 "objc-parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; break;} -case 549: -#line 2906 "objc-parse.y" +case 550: +#line 2908 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 550: -#line 2914 "objc-parse.y" +case 551: +#line 2916 "objc-parse.y" { if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE) /* just return the expr., remove a level of indirection */ @@ -4904,70 +4925,70 @@ case 550: yyval.ttype = yyvsp[0].ttype; ; break;} -case 551: -#line 2926 "objc-parse.y" +case 552: +#line 2928 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} -case 552: -#line 2930 "objc-parse.y" +case 553: +#line 2932 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} -case 554: -#line 2938 "objc-parse.y" +case 555: +#line 2940 "objc-parse.y" { yyval.ttype = get_class_reference (yyvsp[0].ttype); ; break;} -case 555: -#line 2945 "objc-parse.y" -{ objc_receiver_context = 1; ; - break;} case 556: #line 2947 "objc-parse.y" -{ objc_receiver_context = 0; ; +{ objc_receiver_context = 1; ; break;} case 557: #line 2949 "objc-parse.y" +{ objc_receiver_context = 0; ; + break;} +case 558: +#line 2951 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} -case 561: -#line 2962 "objc-parse.y" +case 562: +#line 2964 "objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} -case 562: -#line 2969 "objc-parse.y" +case 563: +#line 2971 "objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE); ; break;} -case 563: -#line 2973 "objc-parse.y" +case 564: +#line 2975 "objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE); ; break;} -case 564: -#line 2980 "objc-parse.y" -{ - yyval.ttype = yyvsp[-1].ttype; - ; - break;} case 565: -#line 2987 "objc-parse.y" +#line 2982 "objc-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 566: -#line 2996 "objc-parse.y" +#line 2989 "objc-parse.y" +{ + yyval.ttype = yyvsp[-1].ttype; + ; + break;} +case 567: +#line 2998 "objc-parse.y" { yyval.ttype = groktypename (yyvsp[-1].ttype); ; @@ -5170,5 +5191,5 @@ yyerrhandle: yystate = yyn; goto yynewstate; } -#line 3001 "objc-parse.y" +#line 3003 "objc-parse.y" diff --git a/gcc/objc/objc-parse.y b/gcc/objc/objc-parse.y index 8b4684364f3..1ad13219c4d 100644 --- a/gcc/objc/objc-parse.y +++ b/gcc/objc/objc-parse.y @@ -1625,6 +1625,8 @@ absdcl1: /* a nonempty absolute declarator */ { $$ = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); } /* ??? It appears we have to support attributes here, however using prefix_attributes is wrong. */ + | attributes setattrs absdcl1 + { $$ = $3; } ; /* at least one statement, the first of which parses without error. */