From: Todd C. Miller Date: Thu, 17 Mar 2011 20:42:28 +0000 (-0400) Subject: We normaly transition from GOTDEFS to STARTDEFS on whitespace, but X-Git-Tag: SUDO_1_7_6~39 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9e196ba02698cecebce99dd2220780be3d8e08d2;p=sudo We normaly transition from GOTDEFS to STARTDEFS on whitespace, but if that whitespace is followed by a comma, we want to treat it as part of a list and not transition. --HG-- branch : 1.7 --- diff --git a/toke.c b/toke.c index 9d1e72799..2c55f4040 100644 --- a/toke.c +++ b/toke.c @@ -289,74 +289,76 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 54 -#define YY_END_OF_BUFFER 55 -static yyconst short int yy_accept[589] = +#define YY_NUM_RULES 55 +#define YY_END_OF_BUFFER 56 +static yyconst short int yy_accept[592] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 42, 50, 49, 48, 41, 53, 42, - 43, 44, 42, 45, 42, 42, 42, 42, 47, 46, - 53, 37, 37, 37, 37, 37, 37, 37, 53, 42, - 42, 50, 53, 37, 37, 37, 37, 37, 1, 53, - 42, 42, 16, 15, 16, 15, 15, 53, 53, 53, - 2, 8, 7, 8, 3, 8, 4, 53, 12, 12, - 12, 10, 11, 42, 0, 50, 48, 0, 52, 0, - 42, 32, 0, 0, 31, 0, 40, 40, 0, 42, - 42, 0, 42, 42, 42, 42, 0, 35, 37, 37, - - 37, 37, 37, 37, 37, 42, 51, 42, 50, 0, - 0, 0, 0, 0, 0, 42, 42, 42, 42, 42, - 1, 0, 38, 38, 0, 42, 16, 16, 14, 13, - 14, 0, 0, 2, 8, 0, 5, 6, 8, 8, - 12, 0, 12, 12, 0, 9, 0, 0, 32, 0, - 0, 42, 42, 42, 42, 42, 0, 0, 35, 35, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 42, - 0, 0, 0, 0, 0, 0, 42, 42, 42, 42, - 42, 0, 42, 9, 0, 42, 42, 42, 42, 42, - 42, 0, 36, 36, 36, 0, 0, 35, 35, 35, - - 35, 35, 35, 35, 37, 37, 37, 37, 37, 37, - 37, 37, 37, 42, 0, 0, 0, 0, 0, 0, - 42, 42, 42, 42, 42, 42, 42, 0, 0, 36, - 36, 36, 0, 35, 35, 0, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 0, 24, 37, - 37, 37, 37, 37, 37, 37, 37, 42, 0, 0, - 0, 0, 42, 42, 42, 42, 42, 42, 42, 42, - 0, 36, 0, 35, 35, 35, 0, 0, 0, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 37, 37, 37, 37, 37, 37, 37, 37, - - 42, 0, 0, 0, 42, 42, 42, 33, 33, 33, - 0, 0, 35, 35, 35, 35, 35, 35, 35, 0, - 0, 0, 0, 0, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 37, 37, - 0, 23, 37, 37, 37, 37, 0, 22, 0, 25, - 42, 0, 0, 0, 42, 42, 42, 42, 33, 33, - 33, 33, 0, 35, 0, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 0, 0, 0, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 37, 37, 37, 37, 37, 37, 39, 0, - - 0, 0, 42, 19, 38, 42, 34, 34, 34, 35, - 0, 0, 0, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 0, 0, 0, 0, - 0, 35, 35, 35, 35, 35, 35, 35, 35, 37, - 37, 37, 37, 0, 21, 0, 26, 0, 19, 0, - 0, 42, 0, 42, 42, 42, 34, 34, 34, 34, - 34, 0, 0, 0, 0, 0, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 0, 29, 37, 37, - 37, 0, 0, 0, 20, 19, 0, 0, 0, 19, - - 0, 42, 42, 42, 34, 34, 0, 0, 0, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 0, 27, 37, - 37, 20, 0, 17, 0, 42, 42, 42, 42, 42, - 0, 0, 0, 0, 0, 35, 35, 35, 35, 35, - 35, 35, 35, 0, 30, 37, 0, 42, 42, 42, - 35, 35, 35, 35, 35, 35, 0, 28, 0, 42, - 42, 42, 42, 42, 35, 35, 35, 35, 35, 0, - 18, 33, 33, 33, 33, 33, 33, 0 + 0, 0, 56, 43, 51, 50, 49, 42, 54, 43, + 44, 45, 43, 46, 43, 43, 43, 43, 48, 47, + 54, 38, 38, 38, 38, 38, 38, 38, 54, 43, + 43, 51, 54, 38, 38, 38, 38, 38, 2, 54, + 1, 43, 43, 17, 16, 17, 16, 16, 54, 54, + 54, 3, 9, 8, 9, 4, 9, 5, 54, 13, + 13, 13, 11, 12, 43, 0, 51, 49, 0, 53, + 0, 43, 33, 0, 0, 32, 0, 41, 41, 0, + 43, 43, 0, 43, 43, 43, 43, 0, 36, 38, + + 38, 38, 38, 38, 38, 38, 43, 52, 43, 51, + 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, + 43, 2, 1, 0, 1, 39, 39, 0, 43, 17, + 17, 15, 14, 15, 0, 0, 3, 9, 0, 6, + 7, 9, 9, 13, 0, 13, 13, 0, 10, 0, + 0, 33, 0, 0, 43, 43, 43, 43, 43, 0, + 0, 36, 36, 38, 38, 38, 38, 38, 38, 38, + 38, 38, 43, 0, 0, 0, 0, 0, 0, 43, + 43, 43, 43, 43, 0, 43, 10, 0, 43, 43, + 43, 43, 43, 43, 0, 37, 37, 37, 0, 0, + + 36, 36, 36, 36, 36, 36, 36, 38, 38, 38, + 38, 38, 38, 38, 38, 38, 43, 0, 0, 0, + 0, 0, 0, 43, 43, 43, 43, 43, 43, 43, + 0, 0, 37, 37, 37, 0, 36, 36, 0, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 0, 25, 38, 38, 38, 38, 38, 38, 38, 38, + 43, 0, 0, 0, 0, 43, 43, 43, 43, 43, + 43, 43, 43, 0, 37, 0, 36, 36, 36, 0, + 0, 0, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 38, 38, 38, 38, 38, + + 38, 38, 38, 43, 0, 0, 0, 43, 43, 43, + 34, 34, 34, 0, 0, 36, 36, 36, 36, 36, + 36, 36, 0, 0, 0, 0, 0, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 38, 38, 0, 24, 38, 38, 38, 38, 0, + 23, 0, 26, 43, 0, 0, 0, 43, 43, 43, + 43, 34, 34, 34, 34, 0, 36, 0, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 0, + 0, 0, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 38, 38, 38, 38, 38, + + 38, 40, 0, 0, 0, 43, 20, 39, 43, 35, + 35, 35, 36, 0, 0, 0, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 0, + 0, 0, 0, 0, 36, 36, 36, 36, 36, 36, + 36, 36, 38, 38, 38, 38, 0, 22, 0, 27, + 0, 20, 0, 0, 43, 0, 43, 43, 43, 35, + 35, 35, 35, 35, 0, 0, 0, 0, 0, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 0, + 30, 38, 38, 38, 0, 0, 0, 21, 20, 0, + + 0, 0, 20, 0, 43, 43, 43, 35, 35, 0, + 0, 0, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 0, 28, 38, 38, 21, 0, 18, 0, 43, 43, + 43, 43, 43, 0, 0, 0, 0, 0, 36, 36, + 36, 36, 36, 36, 36, 36, 0, 31, 38, 0, + 43, 43, 43, 36, 36, 36, 36, 36, 36, 0, + 29, 0, 43, 43, 43, 43, 43, 36, 36, 36, + 36, 36, 0, 19, 34, 34, 34, 34, 34, 34, + 0 + } ; static yyconst int yy_ec[256] = @@ -402,159 +404,159 @@ static yyconst int yy_meta[66] = 13, 13, 13, 13, 13 } ; -static yyconst short int yy_base[653] = +static yyconst short int yy_base[656] = { 0, - 0, 64, 65, 66, 72, 87, 134, 198, 262, 309, - 83, 98, 2691, 2633, 2678, 3620, 2675, 3620, 355, 58, - 3620, 3620, 2630, 3620, 113, 365, 131, 139, 2647, 3620, - 3620, 420, 2622, 470, 2621, 2586, 2589, 2570, 524, 148, - 44, 175, 548, 2536, 2540, 2532, 2527, 2514, 2560, 204, - 275, 59, 0, 3620, 2551, 3620, 0, 292, 603, 111, - 0, 2506, 3620, 79, 3620, 85, 3620, 113, 2505, 71, - 75, 3620, 139, 2495, 625, 2530, 2525, 2525, 3620, 212, - 220, 155, 2479, 323, 2470, 650, 397, 2460, 675, 343, - 686, 2473, 2480, 487, 495, 194, 2469, 110, 726, 0, - - 2451, 2449, 249, 2439, 2437, 170, 3620, 127, 542, 2414, - 2417, 2401, 2362, 2361, 66, 222, 230, 82, 228, 29, - 2421, 536, 534, 2374, 780, 128, 0, 2417, 205, 3620, - 3620, 571, 269, 0, 2372, 331, 3620, 3620, 2354, 290, - 2344, 2369, 130, 293, 275, 2350, 2348, 2347, 2286, 805, - 572, 818, 853, 888, 923, 2305, 2288, 963, 275, 1004, - 1044, 2281, 2261, 2242, 2247, 2249, 2235, 2224, 2222, 257, - 2190, 2194, 2183, 2184, 2189, 300, 271, 2192, 278, 258, - 282, 636, 306, 2230, 2216, 591, 332, 1086, 1121, 649, - 221, 2187, 2185, 672, 382, 2184, 2183, 285, 703, 1156, - - 711, 391, 1197, 745, 2181, 345, 316, 2152, 2148, 2138, - 2135, 2131, 2138, 291, 2088, 2090, 2074, 2087, 2057, 367, - 355, 553, 366, 374, 1239, 1274, 1309, 2094, 2093, 777, - 2043, 2041, 2040, 2024, 516, 802, 621, 826, 629, 1344, - 0, 836, 1355, 861, 753, 1396, 871, 422, 3620, 2009, - 2002, 2012, 1977, 1983, 1982, 1969, 1934, 493, 1929, 1912, - 1881, 516, 115, 487, 527, 899, 378, 1438, 1473, 909, - 1903, 1901, 1900, 1899, 1506, 580, 942, 982, 1023, 617, - 658, 736, 1061, 788, 1548, 0, 1096, 1559, 1069, 879, - 1600, 1105, 1882, 1878, 561, 563, 1859, 1866, 662, 711, - - 811, 1858, 1826, 494, 599, 551, 855, 1641, 1675, 1709, - 1840, 1839, 1809, 1129, 1744, 1137, 950, 1784, 1175, 1145, - 1815, 1216, 1249, 1259, 909, 973, 1230, 1284, 1284, 1295, - 1826, 0, 1297, 1837, 1317, 990, 1878, 1327, 1783, 1771, - 751, 3620, 1772, 1726, 1724, 1675, 862, 3620, 911, 3620, - 884, 1643, 1521, 860, 981, 886, 983, 1373, 663, 1919, - 1953, 1382, 1525, 1493, 1415, 802, 1446, 1176, 1988, 0, - 473, 1999, 1454, 1032, 2039, 1483, 1493, 1525, 1578, 1207, - 1259, 1429, 1464, 1617, 1651, 2081, 0, 1653, 2092, 1625, - 1335, 1662, 1399, 1298, 1284, 1246, 948, 988, 1237, 1207, - - 1138, 1128, 662, 1695, 1151, 2134, 2169, 2204, 2239, 1112, - 1686, 1719, 1730, 1108, 1415, 1484, 1694, 1526, 2274, 0, - 768, 2285, 1761, 1464, 2325, 1803, 1769, 1087, 1856, 1897, - 1929, 1569, 1730, 1888, 813, 847, 2367, 0, 1046, 1069, - 987, 945, 898, 1180, 3620, 1181, 3620, 881, 1527, 1517, - 614, 1070, 1198, 1236, 1935, 1272, 2377, 2412, 2447, 2482, - 1814, 1943, 851, 1968, 2018, 1978, 834, 809, 1745, 1857, - 2056, 1979, 2517, 0, 1201, 2528, 2064, 1586, 2568, 2111, - 2143, 2152, 2178, 1794, 800, 1228, 1380, 3620, 1421, 765, - 743, 720, 749, 1067, 650, 1878, 1976, 2040, 2204, 2131, - - 2239, 2610, 2645, 2680, 2252, 1670, 2217, 2262, 2304, 661, - 622, 2019, 2102, 2342, 2125, 2715, 0, 1259, 2726, 2350, - 2312, 2387, 625, 2396, 2421, 2430, 613, 1531, 3620, 1584, - 560, 3620, 597, 3620, 1378, 2436, 1374, 2768, 2803, 2458, - 2469, 565, 2493, 2503, 2547, 538, 513, 2190, 520, 418, - 2587, 0, 1418, 1625, 3620, 1732, 2200, 2838, 2873, 2908, - 2553, 2618, 2626, 366, 0, 339, 1769, 3620, 347, 2634, - 1504, 2943, 2978, 2656, 3620, 2667, 2689, 2595, 3620, 304, - 3620, 2702, 2744, 2752, 126, 2785, 2793, 3620, 3026, 3040, - 3054, 3068, 3082, 3096, 3110, 3124, 3138, 3144, 3158, 3172, - - 1612, 3186, 3200, 3214, 3228, 3242, 3256, 3270, 3276, 3283, - 3297, 3311, 3317, 3324, 3330, 3336, 3342, 3349, 3355, 3361, - 3367, 3374, 3382, 3388, 3394, 3400, 3407, 3415, 3421, 3427, - 3434, 3442, 3448, 3456, 3463, 3471, 3477, 3485, 3492, 3500, - 3514, 3528, 3534, 3542, 3549, 3563, 3569, 3577, 3583, 3591, - 1871, 3605 + 0, 64, 65, 66, 85, 100, 147, 211, 275, 322, + 71, 111, 2682, 2625, 2636, 3633, 2626, 3633, 368, 45, + 3633, 3633, 2567, 3633, 113, 378, 124, 146, 2584, 3633, + 3633, 433, 2560, 483, 2567, 2566, 2562, 2543, 537, 154, + 31, 150, 561, 2509, 2513, 2505, 2491, 2482, 80, 203, + 2540, 288, 35, 0, 3633, 2537, 3633, 0, 305, 616, + 82, 0, 2492, 3633, 82, 3633, 86, 3633, 124, 2483, + 84, 131, 3633, 152, 2473, 638, 2508, 2503, 2503, 3633, + 211, 219, 75, 2448, 336, 2447, 663, 410, 2446, 688, + 234, 699, 2469, 2472, 356, 500, 169, 2460, 145, 739, + + 0, 2443, 2407, 262, 2395, 2393, 134, 3633, 130, 524, + 2376, 2380, 2372, 2350, 2342, 98, 198, 76, 235, 241, + 195, 283, 2385, 569, 2363, 567, 2316, 793, 257, 0, + 2359, 190, 3633, 3633, 578, 242, 0, 2299, 344, 3633, + 3633, 2284, 310, 2277, 2319, 289, 312, 245, 2321, 2299, + 2296, 2242, 818, 545, 831, 866, 901, 936, 2266, 2255, + 976, 307, 1017, 1057, 2237, 2214, 2215, 2220, 2229, 2224, + 2213, 2213, 242, 2172, 2172, 2161, 2162, 2167, 303, 304, + 2170, 295, 270, 303, 600, 271, 2216, 2214, 635, 368, + 1099, 1134, 511, 315, 2173, 2170, 685, 350, 2169, 2168, + + 388, 716, 1169, 724, 404, 1210, 758, 2167, 381, 378, + 2158, 2099, 2089, 2087, 2083, 2048, 387, 2026, 2028, 2013, + 2011, 1998, 401, 389, 580, 379, 391, 1252, 1287, 1322, + 2035, 2015, 790, 2015, 1992, 1989, 1985, 529, 815, 593, + 839, 596, 1357, 0, 849, 1368, 874, 660, 1409, 884, + 603, 3633, 1941, 1932, 1945, 1925, 1915, 1908, 1908, 1893, + 561, 1888, 1871, 1855, 153, 575, 306, 568, 912, 612, + 1451, 1486, 922, 1893, 1875, 1860, 1853, 1519, 598, 955, + 995, 1036, 646, 671, 749, 1074, 772, 1561, 0, 1109, + 1572, 1082, 892, 1613, 1118, 1836, 1803, 724, 513, 1796, + + 1802, 764, 780, 625, 1796, 1765, 507, 508, 460, 768, + 1654, 1688, 1722, 1759, 1743, 1709, 1142, 1757, 1150, 963, + 1797, 1188, 1158, 1700, 1229, 1262, 1272, 857, 901, 1243, + 1297, 1297, 1308, 1839, 0, 1310, 1850, 1330, 1003, 1891, + 1340, 1596, 1598, 875, 3633, 1577, 1553, 1535, 1519, 924, + 3633, 961, 3633, 736, 1505, 1498, 645, 889, 611, 897, + 1386, 676, 1932, 1966, 1395, 1522, 1508, 1428, 617, 1459, + 815, 2001, 0, 688, 2012, 1467, 1044, 2052, 1496, 1506, + 1538, 1591, 986, 1027, 1442, 1477, 1630, 1664, 2094, 0, + 1666, 2105, 1638, 1196, 1675, 1452, 1398, 1326, 1321, 1001, + + 1042, 1289, 1245, 1190, 1141, 675, 1708, 1155, 2147, 2182, + 2217, 2252, 1171, 1699, 1732, 1743, 1125, 1230, 1263, 1707, + 1341, 2287, 0, 818, 2298, 1774, 1278, 2338, 1816, 1782, + 1128, 1869, 1910, 1942, 1506, 1529, 1901, 860, 1067, 2380, + 0, 1061, 1194, 1088, 1070, 1066, 1235, 3633, 1393, 3633, + 993, 1541, 1962, 627, 899, 1448, 1450, 1950, 1319, 2390, + 2425, 2460, 2495, 1827, 1974, 988, 1985, 2031, 2071, 927, + 920, 1592, 1744, 2077, 1758, 2530, 0, 1123, 2541, 2122, + 1877, 2581, 2157, 2131, 2166, 2191, 1807, 912, 1221, 1434, + 3633, 1509, 835, 802, 765, 818, 318, 767, 1614, 1930, + + 2007, 2217, 2053, 2252, 2623, 2658, 2693, 2265, 1683, 2230, + 2275, 2317, 779, 761, 1986, 2013, 2355, 2032, 2728, 0, + 1233, 2739, 2363, 2325, 2400, 768, 2409, 2434, 2443, 750, + 1596, 3633, 1597, 655, 3633, 663, 3633, 1366, 2449, 1387, + 2781, 2816, 2471, 2482, 635, 2506, 2516, 2560, 549, 543, + 2148, 536, 495, 2600, 0, 1371, 1615, 3633, 1745, 2213, + 2851, 2886, 2921, 2566, 2631, 2639, 387, 0, 379, 1782, + 3633, 281, 2647, 1483, 2956, 2991, 2669, 3633, 2680, 2702, + 2608, 3633, 135, 3633, 2715, 2757, 2765, 72, 2798, 2806, + 3633, 3039, 3053, 3067, 3081, 3095, 3109, 3123, 3137, 3151, + + 3157, 3171, 3185, 1480, 3199, 3213, 3227, 3241, 3255, 3269, + 3283, 3289, 3296, 3310, 3324, 3330, 3337, 3343, 3349, 3355, + 3362, 3368, 3374, 3380, 3387, 3395, 3401, 3407, 3413, 3420, + 3428, 3434, 3440, 3447, 3455, 3461, 3469, 3476, 3484, 3490, + 3498, 3505, 3513, 3527, 3541, 3547, 3555, 3562, 3576, 3582, + 3590, 3596, 3604, 862, 3618 } ; -static yyconst short int yy_def[653] = +static yyconst short int yy_def[656] = { 0, - 588, 1, 1, 1, 589, 589, 590, 590, 591, 591, - 592, 592, 588, 593, 588, 588, 588, 588, 594, 595, - 588, 588, 596, 588, 597, 593, 26, 26, 598, 588, - 588, 588, 32, 32, 34, 34, 34, 34, 593, 26, - 593, 588, 594, 32, 32, 34, 34, 34, 588, 588, - 599, 593, 600, 588, 600, 588, 600, 588, 594, 588, - 601, 602, 588, 602, 588, 602, 588, 603, 604, 604, - 604, 588, 588, 593, 593, 588, 588, 605, 588, 606, - 588, 595, 607, 595, 596, 596, 597, 608, 593, 593, - 26, 598, 91, 91, 91, 91, 609, 610, 32, 34, - - 34, 34, 34, 34, 34, 593, 588, 593, 588, 588, - 588, 588, 588, 588, 605, 593, 91, 593, 593, 593, - 588, 588, 599, 611, 593, 593, 600, 600, 588, 588, - 588, 606, 588, 601, 602, 602, 588, 588, 602, 602, - 604, 588, 604, 604, 588, 588, 605, 612, 607, 607, - 588, 593, 593, 593, 91, 155, 613, 588, 614, 588, - 32, 34, 34, 34, 34, 34, 34, 34, 34, 593, - 588, 588, 588, 588, 588, 605, 593, 155, 593, 593, - 593, 588, 593, 588, 612, 593, 593, 593, 593, 593, - 593, 615, 616, 616, 194, 617, 616, 618, 160, 588, - - 200, 200, 588, 200, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 593, 588, 588, 588, 588, 588, 605, - 593, 593, 593, 593, 593, 593, 593, 588, 619, 619, - 230, 619, 620, 621, 622, 588, 623, 203, 623, 623, - 240, 623, 588, 243, 243, 588, 243, 588, 588, 34, - 34, 34, 34, 34, 34, 34, 34, 593, 588, 588, - 588, 605, 593, 593, 593, 593, 593, 593, 593, 593, - 624, 624, 625, 626, 588, 588, 588, 588, 588, 627, - 627, 628, 246, 628, 628, 285, 628, 588, 288, 288, - 588, 288, 34, 34, 34, 34, 34, 34, 34, 34, - - 593, 588, 588, 605, 593, 593, 593, 593, 593, 593, - 588, 629, 630, 275, 588, 315, 315, 588, 315, 588, - 588, 588, 588, 588, 588, 631, 631, 632, 291, 632, - 632, 331, 632, 588, 334, 334, 588, 334, 34, 34, - 588, 588, 34, 34, 34, 34, 588, 588, 588, 588, - 593, 588, 588, 605, 593, 593, 593, 593, 593, 593, - 593, 593, 588, 633, 588, 634, 318, 634, 634, 369, - 369, 588, 372, 372, 588, 372, 588, 588, 588, 588, - 635, 635, 636, 337, 636, 636, 386, 636, 588, 389, - 389, 389, 34, 34, 34, 34, 34, 34, 593, 588, - - 588, 605, 593, 593, 593, 593, 593, 593, 593, 588, - 588, 588, 588, 637, 637, 638, 375, 638, 638, 419, - 419, 588, 422, 422, 588, 422, 588, 588, 588, 588, - 588, 588, 639, 639, 640, 640, 640, 437, 437, 34, - 34, 34, 34, 588, 588, 588, 588, 588, 588, 605, - 605, 593, 641, 642, 593, 593, 593, 593, 593, 593, - 593, 588, 588, 588, 588, 588, 588, 643, 643, 644, - 425, 644, 644, 473, 473, 588, 476, 476, 588, 476, - 588, 588, 588, 588, 645, 645, 588, 588, 34, 34, - 34, 588, 646, 605, 593, 641, 641, 641, 641, 642, - - 642, 593, 593, 593, 593, 593, 588, 588, 588, 588, - 647, 647, 648, 479, 648, 648, 516, 516, 588, 519, - 519, 519, 588, 588, 588, 588, 588, 588, 588, 34, - 34, 588, 646, 588, 605, 593, 593, 593, 593, 593, - 588, 588, 588, 588, 588, 588, 649, 649, 650, 650, - 650, 551, 551, 588, 588, 34, 605, 593, 593, 593, - 588, 588, 588, 588, 651, 651, 588, 588, 652, 593, - 593, 593, 593, 593, 588, 588, 588, 588, 588, 652, - 588, 593, 593, 593, 593, 593, 593, 0, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588 + 591, 1, 1, 1, 592, 592, 593, 593, 594, 594, + 595, 595, 591, 596, 591, 591, 591, 591, 597, 598, + 591, 591, 599, 591, 600, 596, 26, 26, 601, 591, + 591, 591, 32, 32, 34, 34, 34, 34, 596, 26, + 596, 591, 597, 32, 32, 34, 34, 34, 591, 591, + 591, 602, 596, 603, 591, 603, 591, 603, 591, 597, + 591, 604, 605, 591, 605, 591, 605, 591, 606, 607, + 607, 607, 591, 591, 596, 596, 591, 591, 608, 591, + 609, 591, 598, 610, 598, 599, 599, 600, 611, 596, + 596, 26, 601, 92, 92, 92, 92, 612, 613, 32, + + 34, 34, 34, 34, 34, 34, 596, 591, 596, 591, + 591, 591, 591, 591, 591, 608, 596, 92, 596, 596, + 596, 591, 591, 591, 591, 602, 614, 596, 596, 603, + 603, 591, 591, 591, 609, 591, 604, 605, 605, 591, + 591, 605, 605, 607, 591, 607, 607, 591, 591, 608, + 615, 610, 610, 591, 596, 596, 596, 92, 158, 616, + 591, 617, 591, 32, 34, 34, 34, 34, 34, 34, + 34, 34, 596, 591, 591, 591, 591, 591, 608, 596, + 158, 596, 596, 596, 591, 596, 591, 615, 596, 596, + 596, 596, 596, 596, 618, 619, 619, 197, 620, 619, + + 621, 163, 591, 203, 203, 591, 203, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 596, 591, 591, 591, + 591, 591, 608, 596, 596, 596, 596, 596, 596, 596, + 591, 622, 622, 233, 622, 623, 624, 625, 591, 626, + 206, 626, 626, 243, 626, 591, 246, 246, 591, 246, + 591, 591, 34, 34, 34, 34, 34, 34, 34, 34, + 596, 591, 591, 591, 608, 596, 596, 596, 596, 596, + 596, 596, 596, 627, 627, 628, 629, 591, 591, 591, + 591, 591, 630, 630, 631, 249, 631, 631, 288, 631, + 591, 291, 291, 591, 291, 34, 34, 34, 34, 34, + + 34, 34, 34, 596, 591, 591, 608, 596, 596, 596, + 596, 596, 596, 591, 632, 633, 278, 591, 318, 318, + 591, 318, 591, 591, 591, 591, 591, 591, 634, 634, + 635, 294, 635, 635, 334, 635, 591, 337, 337, 591, + 337, 34, 34, 591, 591, 34, 34, 34, 34, 591, + 591, 591, 591, 596, 591, 591, 608, 596, 596, 596, + 596, 596, 596, 596, 596, 591, 636, 591, 637, 321, + 637, 637, 372, 372, 591, 375, 375, 591, 375, 591, + 591, 591, 591, 638, 638, 639, 340, 639, 639, 389, + 639, 591, 392, 392, 392, 34, 34, 34, 34, 34, + + 34, 596, 591, 591, 608, 596, 596, 596, 596, 596, + 596, 596, 591, 591, 591, 591, 640, 640, 641, 378, + 641, 641, 422, 422, 591, 425, 425, 591, 425, 591, + 591, 591, 591, 591, 591, 642, 642, 643, 643, 643, + 440, 440, 34, 34, 34, 34, 591, 591, 591, 591, + 591, 591, 608, 608, 596, 644, 645, 596, 596, 596, + 596, 596, 596, 596, 591, 591, 591, 591, 591, 591, + 646, 646, 647, 428, 647, 647, 476, 476, 591, 479, + 479, 591, 479, 591, 591, 591, 591, 648, 648, 591, + 591, 34, 34, 34, 591, 649, 608, 596, 644, 644, + + 644, 644, 645, 645, 596, 596, 596, 596, 596, 591, + 591, 591, 591, 650, 650, 651, 482, 651, 651, 519, + 519, 591, 522, 522, 522, 591, 591, 591, 591, 591, + 591, 591, 34, 34, 591, 649, 591, 608, 596, 596, + 596, 596, 596, 591, 591, 591, 591, 591, 591, 652, + 652, 653, 653, 653, 554, 554, 591, 591, 34, 608, + 596, 596, 596, 591, 591, 591, 591, 654, 654, 591, + 591, 655, 596, 596, 596, 596, 596, 591, 591, 591, + 591, 591, 655, 591, 596, 596, 596, 596, 596, 596, + 0, 591, 591, 591, 591, 591, 591, 591, 591, 591, + + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591 } ; -static yyconst short int yy_nxt[3686] = +static yyconst short int yy_nxt[3699] = { 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 14, 23, 24, 14, 14, 25, 26, 27, 28, 26, 26, @@ -562,408 +564,410 @@ static yyconst short int yy_nxt[3686] = 32, 33, 34, 34, 34, 34, 35, 36, 34, 37, 34, 38, 34, 34, 34, 34, 34, 39, 14, 40, 40, 40, 40, 40, 40, 14, 14, 14, 14, 14, - 14, 14, 41, 14, 14, 42, 49, 49, 79, 43, - 50, 50, 143, 15, 54, 55, 75, 56, 144, 51, - 51, 83, 181, 56, 70, 16, 71, 72, 15, 54, - 55, 75, 56, 44, 45, 56, 57, 46, 56, 70, - - 16, 71, 72, 137, 47, 84, 75, 48, 108, 138, - 56, 57, 133, 107, 140, 107, 88, 88, 142, 58, - 88, 88, 142, 126, 158, 176, 136, 52, 52, 75, - 73, 143, 136, 160, 58, 15, 16, 17, 88, 59, - 145, 146, 305, 141, 179, 73, 94, 94, 94, 94, - 94, 94, 94, 94, 95, 95, 95, 95, 95, 96, - 89, 74, 75, 93, 93, 93, 93, 93, 93, 93, - 93, 133, 107, 75, 75, 75, 109, 142, 588, 170, - 183, 60, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 15, - - 16, 17, 84, 59, 110, 111, 133, 107, 112, 156, - 156, 156, 156, 156, 156, 113, 122, 75, 114, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 74, 92, 60, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 15, 16, 17, 63, 59, 75, 75, - 133, 107, 64, 65, 66, 75, 145, 146, 124, 124, - 164, 177, 124, 124, 178, 165, 67, 180, 166, 158, - 167, 133, 107, 129, 107, 130, 144, 131, 199, 158, - - 124, 130, 79, 131, 75, 75, 581, 223, 199, 68, - 15, 16, 17, 63, 59, 131, 131, 214, 75, 64, - 65, 66, 125, 221, 82, 75, 82, 82, 82, 75, - 82, 82, 135, 67, 82, 135, 135, 136, 75, 131, - 142, 221, 135, 221, 258, 186, 248, 82, 82, 581, - 250, 220, 365, 75, 251, 135, 68, 79, 152, 153, - 154, 152, 152, 152, 152, 152, 224, 80, 249, 79, - 81, 81, 81, 81, 81, 81, 81, 81, 90, 75, - 91, 91, 91, 91, 91, 91, 91, 91, 92, 514, - 75, 266, 93, 93, 93, 93, 93, 232, 232, 232, - - 88, 88, 75, 263, 88, 88, 241, 241, 241, 241, - 241, 242, 75, 75, 93, 93, 93, 93, 93, 93, - 74, 75, 88, 248, 262, 75, 74, 265, 221, 74, - 74, 588, 74, 74, 74, 99, 99, 99, 99, 99, - 99, 99, 99, 92, 89, 249, 74, 99, 99, 99, - 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 100, 75, 100, 93, - 93, 93, 93, 93, 93, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 100, 100, 100, 100, 100, - 100, 100, 100, 588, 414, 414, 79, 100, 100, 100, - - 100, 100, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 79, 74, - 74, 74, 74, 74, 74, 106, 107, 74, 74, 74, - 158, 74, 74, 365, 75, 74, 514, 124, 124, 199, - 75, 124, 124, 109, 306, 301, 354, 74, 74, 74, - 79, 81, 81, 81, 81, 81, 81, 81, 81, 124, - 80, 471, 341, 81, 81, 81, 81, 81, 81, 81, - 81, 110, 111, 88, 75, 112, 92, 88, 541, 307, - 304, 125, 113, 88, 342, 114, 588, 588, 588, 588, - 588, 588, 588, 588, 158, 88, 88, 343, 75, 534, - - 75, 344, 556, 199, 115, 79, 225, 226, 227, 225, - 225, 225, 225, 225, 356, 132, 79, 264, 588, 588, - 588, 588, 588, 588, 588, 588, 74, 158, 74, 74, - 74, 158, 74, 74, 236, 158, 74, 124, 75, 158, - 238, 124, 588, 158, 238, 471, 75, 124, 74, 74, - 74, 85, 238, 85, 85, 85, 355, 85, 85, 124, - 124, 85, 186, 347, 187, 187, 187, 187, 187, 187, - 494, 236, 158, 85, 85, 85, 87, 358, 74, 74, - 87, 238, 74, 74, 417, 348, 87, 230, 230, 231, - 232, 232, 232, 232, 232, 196, 75, 75, 87, 87, - - 74, 155, 155, 155, 155, 155, 155, 155, 155, 75, - 75, 452, 349, 155, 155, 155, 155, 155, 204, 204, - 204, 204, 204, 204, 204, 204, 240, 240, 240, 240, - 240, 240, 240, 240, 350, 155, 155, 155, 155, 155, - 155, 161, 161, 161, 161, 161, 161, 161, 161, 236, - 158, 534, 341, 161, 161, 161, 161, 161, 588, 283, - 239, 239, 239, 239, 239, 239, 239, 239, 286, 286, - 286, 286, 286, 287, 342, 155, 155, 155, 155, 155, - 155, 123, 532, 74, 74, 123, 531, 74, 74, 468, - 468, 123, 272, 272, 272, 272, 272, 272, 272, 272, - - 196, 588, 158, 123, 123, 74, 149, 530, 149, 149, - 149, 283, 149, 149, 158, 365, 149, 277, 278, 279, - 277, 277, 277, 277, 277, 367, 236, 158, 149, 149, - 149, 186, 417, 187, 187, 187, 187, 187, 187, 187, - 187, 247, 247, 247, 247, 247, 247, 247, 247, 236, - 158, 281, 281, 281, 281, 281, 281, 367, 75, 238, - 588, 158, 79, 347, 462, 75, 186, 351, 188, 188, - 188, 188, 188, 188, 188, 188, 285, 285, 285, 285, - 285, 285, 285, 285, 588, 348, 284, 284, 284, 284, - 284, 284, 284, 284, 332, 332, 332, 332, 332, 333, - - 75, 186, 75, 189, 189, 189, 189, 189, 190, 187, - 187, 357, 349, 402, 308, 309, 310, 308, 308, 308, - 308, 308, 266, 158, 267, 267, 267, 267, 267, 267, - 492, 75, 238, 75, 350, 75, 74, 491, 191, 191, - 191, 191, 191, 191, 191, 191, 75, 399, 404, 444, - 191, 191, 191, 191, 191, 320, 75, 321, 321, 321, - 321, 321, 321, 321, 321, 370, 370, 370, 370, 370, - 371, 445, 191, 191, 191, 191, 191, 191, 193, 194, - 195, 195, 195, 195, 195, 195, 196, 158, 490, 446, - 197, 197, 197, 197, 197, 320, 283, 322, 322, 322, - - 322, 322, 322, 322, 322, 387, 387, 387, 387, 387, - 388, 447, 197, 197, 197, 197, 197, 197, 158, 200, - 201, 202, 200, 200, 200, 200, 200, 203, 75, 489, - 75, 204, 204, 204, 204, 204, 320, 403, 323, 323, - 323, 323, 323, 324, 321, 321, 405, 420, 420, 420, - 420, 420, 421, 204, 204, 204, 204, 204, 204, 205, - 205, 205, 205, 205, 205, 205, 205, 485, 485, 79, - 487, 205, 205, 205, 205, 205, 292, 292, 292, 292, - 292, 292, 292, 292, 331, 331, 331, 331, 331, 331, - 331, 331, 488, 191, 191, 191, 191, 191, 191, 186, - - 427, 187, 187, 187, 187, 187, 187, 187, 187, 236, - 158, 327, 327, 327, 327, 327, 327, 75, 588, 283, - 330, 330, 330, 330, 330, 330, 330, 330, 535, 450, - 79, 367, 495, 75, 186, 314, 187, 187, 187, 187, - 187, 187, 187, 187, 319, 319, 319, 319, 319, 319, - 319, 319, 369, 369, 369, 369, 369, 369, 369, 369, - 377, 378, 379, 377, 377, 377, 377, 377, 75, 236, - 158, 237, 237, 237, 237, 237, 237, 237, 237, 238, - 451, 444, 446, 239, 239, 239, 239, 239, 588, 588, - 368, 368, 368, 368, 368, 368, 368, 368, 75, 367, - - 449, 497, 498, 445, 447, 239, 239, 239, 239, 239, - 239, 158, 243, 244, 245, 243, 243, 243, 243, 243, - 246, 158, 511, 511, 247, 247, 247, 247, 247, 320, - 283, 321, 321, 321, 321, 321, 321, 321, 321, 497, - 498, 236, 158, 236, 158, 499, 247, 247, 247, 247, - 247, 247, 266, 283, 267, 267, 267, 267, 267, 267, - 267, 267, 320, 448, 321, 321, 321, 321, 321, 321, - 321, 321, 320, 158, 321, 321, 321, 321, 321, 321, - 547, 547, 329, 501, 75, 455, 75, 266, 443, 268, - 268, 268, 268, 268, 268, 268, 268, 236, 158, 338, - - 338, 338, 338, 338, 338, 338, 338, 329, 588, 158, - 236, 158, 382, 382, 382, 382, 382, 382, 329, 75, - 329, 75, 266, 442, 269, 269, 269, 269, 269, 270, - 267, 267, 386, 386, 386, 386, 386, 386, 386, 386, - 588, 441, 385, 385, 385, 385, 385, 385, 385, 385, - 438, 438, 438, 438, 438, 439, 75, 236, 158, 281, - 281, 281, 281, 281, 281, 281, 281, 238, 236, 158, - 282, 282, 282, 282, 282, 282, 282, 282, 283, 557, - 79, 487, 284, 284, 284, 284, 284, 536, 406, 407, - 408, 409, 406, 406, 406, 406, 358, 359, 359, 359, - - 359, 359, 359, 488, 284, 284, 284, 284, 284, 284, - 158, 288, 289, 290, 288, 288, 288, 288, 288, 291, - 75, 75, 528, 292, 292, 292, 292, 292, 365, 75, - 411, 412, 413, 411, 411, 411, 411, 411, 367, 565, - 565, 440, 236, 158, 529, 292, 292, 292, 292, 292, - 292, 266, 329, 267, 267, 267, 267, 267, 267, 267, - 267, 376, 376, 376, 376, 376, 376, 376, 376, 419, - 419, 419, 419, 419, 419, 419, 419, 236, 158, 474, - 474, 474, 474, 474, 475, 75, 266, 384, 267, 267, - 267, 267, 267, 267, 267, 267, 588, 365, 418, 418, - - 418, 418, 418, 418, 418, 418, 427, 417, 428, 428, - 428, 428, 428, 428, 428, 428, 314, 570, 450, 79, - 75, 315, 316, 317, 315, 315, 315, 315, 315, 318, - 453, 493, 528, 319, 319, 319, 319, 319, 427, 588, - 429, 429, 429, 429, 429, 429, 429, 429, 234, 417, - 453, 75, 453, 453, 529, 319, 319, 319, 319, 319, - 319, 236, 158, 327, 327, 327, 327, 327, 327, 327, - 327, 283, 236, 158, 328, 328, 328, 328, 328, 328, - 328, 328, 329, 158, 401, 554, 330, 330, 330, 330, - 330, 427, 329, 430, 430, 430, 430, 430, 431, 428, - - 428, 517, 517, 517, 517, 517, 518, 555, 330, 330, - 330, 330, 330, 330, 158, 334, 335, 336, 334, 334, - 334, 334, 334, 337, 134, 134, 554, 338, 338, 338, - 338, 338, 392, 392, 392, 392, 392, 392, 392, 392, - 437, 437, 437, 437, 437, 437, 437, 437, 555, 338, - 338, 338, 338, 338, 338, 358, 359, 359, 359, 359, - 359, 359, 359, 359, 588, 158, 236, 158, 434, 434, - 434, 434, 434, 434, 384, 588, 384, 436, 436, 436, - 436, 436, 436, 436, 436, 506, 506, 506, 75, 358, - 360, 360, 360, 360, 360, 360, 360, 360, 453, 462, - - 400, 463, 463, 463, 463, 463, 463, 463, 463, 426, - 426, 426, 426, 426, 426, 426, 426, 75, 453, 398, - 453, 454, 75, 358, 361, 361, 361, 361, 361, 362, - 359, 359, 462, 567, 464, 464, 464, 464, 464, 464, - 464, 464, 75, 462, 158, 465, 465, 465, 465, 465, - 466, 463, 463, 384, 397, 568, 75, 365, 365, 366, - 366, 366, 366, 366, 366, 366, 366, 367, 417, 396, - 567, 368, 368, 368, 368, 368, 473, 473, 473, 473, - 473, 473, 473, 473, 481, 482, 483, 481, 481, 481, - 481, 481, 568, 368, 368, 368, 368, 368, 368, 372, - - 373, 374, 372, 372, 372, 372, 372, 375, 158, 395, - 394, 376, 376, 376, 376, 376, 588, 384, 472, 472, - 472, 472, 472, 472, 472, 472, 393, 455, 320, 506, - 506, 506, 314, 376, 376, 376, 376, 376, 376, 236, - 158, 382, 382, 382, 382, 382, 382, 382, 382, 329, - 236, 158, 383, 383, 383, 383, 383, 383, 383, 383, - 384, 75, 234, 196, 385, 385, 385, 385, 385, 427, - 365, 428, 428, 428, 428, 428, 428, 428, 428, 579, - 471, 588, 588, 353, 579, 352, 385, 385, 385, 385, - 385, 385, 158, 389, 390, 391, 389, 389, 389, 389, - - 389, 236, 158, 346, 345, 392, 392, 392, 392, 392, - 427, 384, 428, 428, 428, 428, 428, 428, 428, 428, - 340, 339, 314, 234, 196, 499, 196, 392, 392, 392, - 392, 392, 392, 358, 359, 359, 359, 359, 359, 359, - 359, 359, 427, 259, 428, 428, 428, 428, 428, 428, - 502, 503, 504, 502, 502, 502, 502, 502, 507, 508, - 509, 507, 507, 507, 507, 507, 75, 358, 359, 359, - 359, 359, 359, 359, 359, 359, 303, 302, 300, 588, - 498, 462, 75, 463, 463, 463, 463, 463, 463, 463, - 463, 462, 588, 463, 463, 463, 463, 463, 463, 299, - - 75, 365, 471, 415, 415, 415, 415, 415, 415, 415, - 415, 367, 365, 298, 416, 416, 416, 416, 416, 416, - 416, 416, 417, 499, 297, 296, 418, 418, 418, 418, - 418, 462, 365, 463, 463, 463, 463, 463, 463, 463, - 463, 295, 471, 588, 588, 294, 293, 275, 418, 418, - 418, 418, 418, 418, 422, 423, 424, 422, 422, 422, - 422, 422, 425, 234, 196, 271, 426, 426, 426, 426, - 426, 480, 480, 480, 480, 480, 480, 480, 480, 516, - 516, 516, 516, 516, 516, 516, 516, 499, 426, 426, - 426, 426, 426, 426, 236, 158, 434, 434, 434, 434, - - 434, 434, 434, 434, 384, 236, 158, 435, 435, 435, - 435, 435, 435, 435, 435, 365, 196, 98, 259, 436, - 436, 436, 436, 436, 588, 514, 515, 515, 515, 515, - 515, 515, 515, 515, 588, 588, 261, 259, 588, 260, - 259, 436, 436, 436, 436, 436, 436, 455, 514, 456, - 456, 456, 456, 456, 456, 456, 456, 158, 523, 523, - 523, 523, 523, 523, 523, 523, 158, 524, 524, 524, - 524, 524, 524, 524, 524, 257, 256, 255, 501, 254, - 253, 75, 455, 252, 457, 457, 457, 457, 457, 457, - 457, 457, 158, 525, 525, 525, 525, 525, 526, 523, - - 523, 557, 79, 365, 92, 496, 196, 234, 196, 496, - 98, 496, 496, 514, 569, 496, 75, 455, 79, 458, - 458, 458, 458, 458, 459, 460, 460, 496, 496, 496, - 541, 184, 542, 542, 542, 542, 542, 542, 542, 542, - 500, 222, 219, 218, 500, 217, 500, 500, 216, 215, - 500, 75, 455, 213, 461, 461, 461, 456, 456, 456, - 456, 456, 500, 500, 500, 212, 211, 505, 505, 505, - 505, 505, 505, 505, 505, 541, 210, 543, 543, 543, - 543, 543, 543, 543, 543, 209, 75, 365, 208, 469, - 469, 469, 469, 469, 469, 469, 469, 417, 365, 75, - - 470, 470, 470, 470, 470, 470, 470, 470, 471, 207, - 206, 98, 472, 472, 472, 472, 472, 541, 90, 544, - 544, 544, 544, 544, 545, 542, 542, 552, 552, 552, - 552, 552, 553, 150, 472, 472, 472, 472, 472, 472, - 476, 477, 478, 476, 476, 476, 476, 476, 479, 79, - 79, 184, 480, 480, 480, 480, 480, 522, 522, 522, - 522, 522, 522, 522, 522, 551, 551, 551, 551, 551, - 551, 551, 551, 141, 480, 480, 480, 480, 480, 480, - 236, 158, 486, 486, 486, 486, 486, 486, 486, 486, - 455, 142, 460, 460, 460, 460, 460, 460, 460, 460, - - 588, 136, 550, 550, 550, 550, 550, 550, 550, 550, - 158, 523, 523, 523, 523, 523, 523, 523, 523, 136, - 128, 182, 121, 175, 75, 455, 174, 460, 460, 460, - 460, 460, 460, 460, 460, 158, 523, 523, 523, 523, - 523, 523, 523, 523, 158, 523, 523, 523, 523, 523, - 523, 558, 559, 560, 558, 558, 558, 558, 558, 75, - 455, 173, 460, 460, 460, 460, 460, 460, 505, 505, - 172, 536, 171, 537, 537, 537, 537, 537, 537, 169, - 168, 163, 162, 75, 561, 562, 563, 561, 561, 561, - 561, 561, 98, 74, 75, 455, 98, 505, 505, 505, - - 505, 505, 505, 505, 505, 75, 541, 151, 542, 542, - 542, 542, 542, 542, 542, 542, 541, 86, 542, 542, - 542, 542, 542, 542, 542, 542, 150, 79, 77, 75, - 365, 76, 512, 512, 512, 512, 512, 512, 512, 512, - 471, 365, 75, 513, 513, 513, 513, 513, 513, 513, - 513, 514, 142, 136, 128, 515, 515, 515, 515, 515, - 541, 121, 542, 542, 542, 542, 542, 542, 575, 575, - 575, 575, 575, 575, 575, 575, 120, 515, 515, 515, - 515, 515, 515, 519, 520, 521, 519, 519, 519, 519, - 519, 119, 118, 117, 116, 522, 522, 522, 522, 522, - - 365, 105, 566, 566, 566, 566, 566, 566, 566, 566, - 575, 575, 575, 575, 575, 575, 104, 522, 522, 522, - 522, 522, 522, 536, 103, 537, 537, 537, 537, 537, - 537, 537, 537, 576, 576, 576, 576, 576, 576, 576, - 576, 577, 577, 577, 577, 577, 578, 575, 575, 582, - 583, 584, 582, 582, 582, 582, 582, 75, 536, 102, - 538, 538, 538, 538, 538, 538, 538, 538, 101, 570, - 98, 571, 571, 571, 571, 571, 571, 86, 77, 76, - 75, 75, 575, 575, 575, 575, 575, 575, 575, 575, - 588, 588, 75, 536, 588, 539, 539, 539, 539, 539, - - 540, 537, 537, 75, 575, 575, 575, 575, 575, 575, - 575, 575, 588, 588, 588, 588, 588, 585, 585, 585, - 585, 585, 585, 585, 585, 588, 588, 75, 365, 588, - 548, 548, 548, 548, 548, 548, 548, 548, 514, 365, - 588, 549, 549, 549, 549, 549, 549, 549, 549, 75, - 588, 588, 588, 550, 550, 550, 550, 550, 588, 582, - 582, 582, 582, 582, 582, 582, 582, 586, 586, 586, - 586, 586, 587, 585, 585, 550, 550, 550, 550, 550, - 550, 536, 588, 537, 537, 537, 537, 537, 537, 537, - 537, 75, 588, 588, 588, 588, 588, 588, 588, 75, - - 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, - 585, 585, 585, 585, 588, 75, 536, 588, 537, 537, - 537, 537, 537, 537, 537, 537, 588, 588, 588, 588, - 588, 588, 75, 588, 588, 588, 588, 588, 588, 588, - 75, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 75, 570, 588, 571, 571, 571, 571, 571, 571, 571, - 571, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 75, 570, 588, 572, 572, - 572, 572, 572, 572, 572, 572, 588, 588, 588, 588, - - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 75, 570, 588, 573, 573, 573, 573, 573, 574, 571, - 571, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 75, 570, 588, 571, 571, - 571, 571, 571, 571, 571, 571, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 75, 570, 588, 571, 571, 571, 571, 571, 571, 571, - - 571, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 75, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 69, 69, - 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 69, 69, 74, 588, 588, 588, 588, 588, 74, 74, - 74, 588, 588, 74, 74, 74, 78, 78, 78, 78, - - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 82, 588, 588, 588, 588, 588, 82, 82, 82, 82, - 588, 82, 82, 82, 85, 588, 588, 588, 588, 588, - 85, 85, 85, 588, 588, 85, 85, 85, 87, 588, - 588, 87, 87, 87, 87, 87, 87, 588, 588, 87, - 87, 87, 97, 97, 588, 588, 588, 97, 123, 588, - 588, 123, 123, 123, 123, 123, 123, 588, 588, 123, - 123, 123, 127, 588, 588, 127, 127, 127, 127, 127, - 127, 588, 127, 588, 127, 127, 135, 588, 588, 135, - 588, 135, 135, 135, 135, 135, 588, 135, 135, 135, - - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 141, 141, 588, 141, 588, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 148, 148, 588, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 149, 588, 588, 588, - 588, 588, 149, 149, 149, 588, 588, 149, 149, 149, - 88, 588, 588, 88, 88, 88, 88, 88, 88, 588, - 588, 88, 88, 88, 157, 157, 588, 588, 588, 157, - 159, 159, 159, 588, 588, 588, 159, 124, 588, 588, - - 124, 124, 124, 124, 124, 124, 588, 588, 124, 124, - 124, 185, 185, 185, 185, 185, 185, 185, 185, 185, - 185, 185, 185, 185, 185, 192, 192, 588, 588, 588, - 192, 198, 198, 198, 588, 588, 588, 198, 228, 228, - 588, 588, 588, 228, 229, 229, 588, 588, 588, 229, - 233, 233, 588, 588, 588, 233, 235, 235, 235, 588, - 588, 588, 235, 271, 271, 588, 588, 588, 271, 273, - 273, 588, 588, 588, 273, 274, 274, 588, 588, 588, - 274, 276, 276, 276, 588, 588, 588, 276, 280, 280, - 280, 280, 588, 588, 588, 280, 311, 311, 588, 588, - - 588, 311, 312, 312, 588, 588, 588, 312, 313, 313, - 588, 588, 588, 313, 325, 325, 325, 588, 588, 588, - 325, 326, 326, 326, 326, 588, 588, 588, 326, 363, - 363, 588, 588, 588, 363, 364, 364, 588, 588, 588, - 364, 380, 380, 380, 588, 588, 588, 380, 381, 381, - 381, 381, 588, 588, 588, 381, 410, 410, 588, 588, - 588, 410, 414, 588, 414, 414, 588, 588, 588, 414, - 432, 432, 432, 588, 588, 588, 432, 433, 433, 433, - 433, 588, 588, 588, 433, 467, 467, 588, 588, 588, - 467, 468, 588, 468, 468, 588, 588, 588, 468, 484, - - 484, 484, 588, 588, 588, 484, 485, 485, 485, 588, - 588, 588, 588, 485, 496, 588, 588, 496, 496, 588, - 496, 496, 496, 588, 588, 496, 496, 496, 500, 588, - 588, 500, 500, 588, 500, 500, 500, 588, 588, 500, - 500, 500, 510, 510, 588, 588, 588, 510, 511, 588, - 511, 511, 588, 588, 588, 511, 527, 527, 588, 588, - 588, 588, 527, 533, 533, 533, 533, 533, 533, 533, - 533, 533, 533, 533, 533, 533, 533, 546, 546, 588, - 588, 588, 546, 547, 588, 547, 547, 588, 588, 588, - 547, 564, 564, 588, 588, 588, 564, 565, 588, 565, - - 588, 588, 588, 588, 565, 580, 580, 580, 580, 580, - 580, 580, 580, 580, 580, 580, 580, 580, 580, 13, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588 + 14, 14, 41, 14, 14, 42, 49, 49, 84, 43, + 50, 50, 71, 16, 72, 73, 51, 51, 76, 52, + 52, 122, 76, 136, 108, 146, 15, 55, 56, 75, + 57, 123, 85, 44, 45, 109, 57, 46, 591, 129, + + 80, 15, 55, 56, 47, 57, 140, 48, 57, 58, + 141, 57, 71, 16, 72, 73, 89, 89, 74, 76, + 89, 89, 85, 57, 58, 143, 108, 53, 53, 139, + 181, 145, 59, 139, 147, 136, 108, 584, 89, 95, + 95, 95, 95, 95, 95, 95, 95, 59, 15, 16, + 17, 110, 60, 148, 149, 80, 144, 179, 74, 161, + 90, 96, 96, 96, 96, 96, 97, 75, 163, 94, + 94, 94, 94, 94, 94, 94, 94, 76, 145, 111, + 112, 76, 173, 113, 159, 159, 159, 159, 159, 159, + 114, 136, 108, 115, 61, 62, 62, 62, 62, 62, + + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 15, 16, 17, 124, 60, 307, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 76, 136, 108, 76, 148, 149, 184, 155, + 156, 157, 155, 155, 155, 155, 155, 180, 61, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 15, 16, 17, 64, + 60, 76, 76, 584, 122, 65, 66, 67, 76, 76, + 146, 127, 127, 167, 123, 127, 127, 182, 168, 68, + + 183, 169, 217, 170, 76, 80, 132, 108, 133, 186, + 134, 136, 108, 127, 133, 147, 134, 76, 76, 226, + 80, 161, 69, 15, 16, 17, 64, 60, 134, 134, + 202, 227, 65, 66, 67, 128, 145, 83, 93, 83, + 83, 83, 76, 83, 83, 138, 68, 83, 138, 138, + 76, 76, 134, 76, 223, 138, 224, 139, 224, 145, + 83, 83, 76, 309, 224, 235, 235, 235, 138, 69, + 80, 159, 159, 159, 159, 159, 159, 159, 159, 538, + 81, 189, 251, 82, 82, 82, 82, 82, 82, 82, + 82, 91, 368, 92, 92, 92, 92, 92, 92, 92, + + 92, 93, 161, 80, 252, 94, 94, 94, 94, 94, + 517, 202, 253, 89, 89, 76, 254, 89, 89, 244, + 244, 244, 244, 244, 245, 76, 76, 94, 94, 94, + 94, 94, 94, 75, 76, 89, 76, 266, 76, 75, + 261, 224, 75, 75, 268, 75, 75, 75, 100, 100, + 100, 100, 100, 100, 100, 100, 93, 90, 265, 75, + 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 76, 101, 94, 94, 94, 94, 94, 94, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 101, 101, + + 101, 101, 101, 101, 101, 101, 591, 76, 591, 80, + 101, 101, 101, 101, 101, 159, 159, 159, 159, 159, + 159, 159, 159, 359, 189, 110, 190, 190, 190, 190, + 190, 190, 75, 75, 75, 75, 75, 75, 107, 108, + 75, 75, 75, 161, 75, 75, 89, 346, 75, 368, + 89, 347, 202, 111, 112, 76, 89, 113, 76, 357, + 75, 75, 75, 80, 114, 358, 517, 115, 89, 89, + 127, 127, 474, 81, 127, 127, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 127, 591, 591, 591, 591, 591, 591, 591, + + 591, 127, 308, 93, 251, 127, 239, 161, 76, 591, + 161, 127, 161, 304, 128, 76, 241, 116, 80, 241, + 310, 202, 76, 127, 127, 269, 252, 76, 135, 80, + 368, 591, 591, 591, 591, 591, 591, 591, 591, 75, + 370, 75, 75, 75, 267, 75, 75, 80, 544, 75, + 228, 229, 230, 228, 228, 228, 228, 228, 76, 76, + 161, 75, 75, 75, 86, 537, 86, 86, 86, 241, + 86, 86, 76, 407, 86, 289, 289, 289, 289, 289, + 290, 354, 76, 497, 239, 161, 86, 86, 86, 88, + 361, 75, 75, 88, 241, 75, 75, 559, 405, 88, + + 233, 233, 234, 235, 235, 235, 235, 235, 199, 417, + 417, 88, 88, 75, 158, 158, 158, 158, 158, 158, + 158, 158, 76, 76, 455, 344, 158, 158, 158, 158, + 158, 207, 207, 207, 207, 207, 207, 207, 207, 243, + 243, 243, 243, 243, 243, 243, 243, 345, 158, 158, + 158, 158, 158, 158, 164, 164, 164, 164, 164, 164, + 164, 164, 239, 161, 161, 350, 164, 164, 164, 164, + 164, 591, 286, 242, 242, 242, 242, 242, 242, 242, + 242, 352, 161, 76, 474, 591, 161, 351, 158, 158, + 158, 158, 158, 158, 126, 286, 75, 75, 126, 402, + + 75, 75, 420, 353, 126, 275, 275, 275, 275, 275, + 275, 275, 275, 199, 76, 76, 126, 126, 75, 152, + 537, 152, 152, 152, 360, 152, 152, 535, 591, 152, + 280, 281, 282, 280, 280, 280, 280, 280, 370, 471, + 471, 152, 152, 152, 189, 534, 190, 190, 190, 190, + 190, 190, 190, 190, 250, 250, 250, 250, 250, 250, + 250, 250, 239, 161, 284, 284, 284, 284, 284, 284, + 582, 161, 241, 239, 161, 582, 344, 533, 76, 189, + 241, 191, 191, 191, 191, 191, 191, 191, 191, 288, + 288, 288, 288, 288, 288, 288, 288, 591, 345, 287, + + 287, 287, 287, 287, 287, 287, 287, 335, 335, 335, + 335, 335, 336, 76, 189, 161, 192, 192, 192, 192, + 192, 193, 190, 190, 286, 350, 161, 311, 312, 313, + 311, 311, 311, 311, 311, 269, 76, 270, 270, 270, + 270, 270, 270, 420, 76, 406, 76, 351, 76, 75, + 370, 194, 194, 194, 194, 194, 194, 194, 194, 76, + 408, 498, 352, 194, 194, 194, 194, 194, 323, 76, + 324, 324, 324, 324, 324, 324, 324, 324, 373, 373, + 373, 373, 373, 374, 353, 194, 194, 194, 194, 194, + 194, 196, 197, 198, 198, 198, 198, 198, 198, 199, + + 161, 465, 447, 200, 200, 200, 200, 200, 323, 286, + 325, 325, 325, 325, 325, 325, 325, 325, 390, 390, + 390, 390, 390, 391, 448, 200, 200, 200, 200, 200, + 200, 161, 203, 204, 205, 203, 203, 203, 203, 203, + 206, 161, 495, 449, 207, 207, 207, 207, 207, 323, + 332, 326, 326, 326, 326, 326, 327, 324, 324, 423, + 423, 423, 423, 423, 424, 450, 207, 207, 207, 207, + 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, + 591, 161, 488, 488, 208, 208, 208, 208, 208, 295, + 295, 295, 295, 295, 295, 295, 295, 334, 334, 334, + + 334, 334, 334, 334, 334, 494, 194, 194, 194, 194, + 194, 194, 189, 493, 190, 190, 190, 190, 190, 190, + 190, 190, 239, 161, 330, 330, 330, 330, 330, 330, + 492, 591, 286, 333, 333, 333, 333, 333, 333, 333, + 333, 430, 453, 80, 514, 514, 76, 189, 370, 190, + 190, 190, 190, 190, 190, 190, 190, 322, 322, 322, + 322, 322, 322, 322, 322, 372, 372, 372, 372, 372, + 372, 372, 372, 380, 381, 382, 380, 380, 380, 380, + 380, 76, 239, 161, 240, 240, 240, 240, 240, 240, + 240, 240, 241, 454, 317, 490, 242, 242, 242, 242, + + 242, 591, 76, 371, 371, 371, 371, 371, 371, 371, + 371, 441, 441, 441, 441, 441, 442, 491, 242, 242, + 242, 242, 242, 242, 161, 246, 247, 248, 246, 246, + 246, 246, 246, 249, 239, 161, 447, 250, 250, 250, + 250, 250, 323, 368, 324, 324, 324, 324, 324, 324, + 324, 324, 452, 370, 550, 550, 239, 161, 448, 250, + 250, 250, 250, 250, 250, 269, 286, 270, 270, 270, + 270, 270, 270, 270, 270, 323, 368, 324, 324, 324, + 324, 324, 324, 324, 324, 323, 420, 324, 324, 324, + 324, 324, 324, 477, 477, 477, 477, 477, 478, 76, + + 269, 451, 271, 271, 271, 271, 271, 271, 271, 271, + 239, 161, 341, 341, 341, 341, 341, 341, 341, 341, + 332, 591, 161, 239, 161, 385, 385, 385, 385, 385, + 385, 332, 458, 332, 76, 269, 76, 272, 272, 272, + 272, 272, 273, 270, 270, 389, 389, 389, 389, 389, + 389, 389, 389, 591, 591, 388, 388, 388, 388, 388, + 388, 388, 388, 446, 420, 445, 76, 560, 80, 76, + 239, 161, 284, 284, 284, 284, 284, 284, 284, 284, + 241, 239, 161, 285, 285, 285, 285, 285, 285, 285, + 285, 286, 568, 568, 449, 287, 287, 287, 287, 287, + + 539, 409, 410, 411, 412, 409, 409, 409, 409, 361, + 362, 362, 362, 362, 362, 362, 450, 287, 287, 287, + 287, 287, 287, 161, 291, 292, 293, 291, 291, 291, + 291, 291, 294, 76, 76, 490, 295, 295, 295, 295, + 295, 444, 76, 414, 415, 416, 414, 414, 414, 414, + 414, 500, 501, 500, 501, 239, 161, 491, 295, 295, + 295, 295, 295, 295, 269, 332, 270, 270, 270, 270, + 270, 270, 270, 270, 379, 379, 379, 379, 379, 379, + 379, 379, 422, 422, 422, 422, 422, 422, 422, 422, + 239, 161, 137, 137, 443, 502, 573, 504, 76, 269, + + 387, 270, 270, 270, 270, 270, 270, 270, 270, 591, + 531, 421, 421, 421, 421, 421, 421, 421, 421, 430, + 161, 431, 431, 431, 431, 431, 431, 431, 431, 332, + 76, 317, 532, 76, 318, 319, 320, 318, 318, 318, + 318, 318, 321, 161, 456, 237, 322, 322, 322, 322, + 322, 430, 387, 432, 432, 432, 432, 432, 432, 432, + 432, 404, 403, 401, 456, 400, 456, 456, 322, 322, + 322, 322, 322, 322, 239, 161, 330, 330, 330, 330, + 330, 330, 330, 330, 286, 239, 161, 331, 331, 331, + 331, 331, 331, 331, 331, 332, 399, 531, 557, 333, + + 333, 333, 333, 333, 430, 368, 433, 433, 433, 433, + 433, 434, 431, 431, 398, 420, 557, 591, 591, 532, + 558, 333, 333, 333, 333, 333, 333, 161, 337, 338, + 339, 337, 337, 337, 337, 337, 340, 397, 558, 396, + 341, 341, 341, 341, 341, 395, 395, 395, 395, 395, + 395, 395, 395, 440, 440, 440, 440, 440, 440, 440, + 440, 502, 341, 341, 341, 341, 341, 341, 361, 362, + 362, 362, 362, 362, 362, 362, 362, 591, 161, 239, + 161, 437, 437, 437, 437, 437, 437, 387, 591, 387, + 439, 439, 439, 439, 439, 439, 439, 439, 509, 509, + + 509, 76, 361, 363, 363, 363, 363, 363, 363, 363, + 363, 456, 465, 323, 466, 466, 466, 466, 466, 466, + 466, 466, 429, 429, 429, 429, 429, 429, 429, 429, + 76, 456, 317, 456, 457, 76, 361, 364, 364, 364, + 364, 364, 365, 362, 362, 465, 570, 467, 467, 467, + 467, 467, 467, 467, 467, 76, 465, 368, 468, 468, + 468, 468, 468, 469, 466, 466, 237, 474, 571, 76, + 368, 591, 369, 369, 369, 369, 369, 369, 369, 369, + 370, 474, 199, 570, 371, 371, 371, 371, 371, 476, + 476, 476, 476, 476, 476, 476, 476, 484, 485, 486, + + 484, 484, 484, 484, 484, 571, 371, 371, 371, 371, + 371, 371, 375, 376, 377, 375, 375, 375, 375, 375, + 378, 161, 356, 355, 379, 379, 379, 379, 379, 591, + 387, 475, 475, 475, 475, 475, 475, 475, 475, 349, + 458, 348, 509, 509, 509, 343, 379, 379, 379, 379, + 379, 379, 239, 161, 385, 385, 385, 385, 385, 385, + 385, 385, 332, 239, 161, 386, 386, 386, 386, 386, + 386, 386, 386, 387, 76, 342, 317, 388, 388, 388, + 388, 388, 430, 237, 431, 431, 431, 431, 431, 431, + 431, 431, 520, 520, 520, 520, 520, 521, 199, 388, + + 388, 388, 388, 388, 388, 161, 392, 393, 394, 392, + 392, 392, 392, 392, 239, 161, 199, 262, 395, 395, + 395, 395, 395, 430, 387, 431, 431, 431, 431, 431, + 431, 431, 431, 591, 501, 306, 305, 303, 302, 301, + 395, 395, 395, 395, 395, 395, 361, 362, 362, 362, + 362, 362, 362, 362, 362, 430, 300, 431, 431, 431, + 431, 431, 431, 453, 80, 505, 506, 507, 505, 505, + 505, 505, 505, 299, 298, 297, 496, 502, 296, 76, + 361, 362, 362, 362, 362, 362, 362, 362, 362, 510, + 511, 512, 510, 510, 510, 510, 510, 76, 465, 368, + + 466, 466, 466, 466, 466, 466, 466, 466, 278, 474, + 591, 591, 237, 76, 368, 199, 418, 418, 418, 418, + 418, 418, 418, 418, 370, 368, 368, 419, 419, 419, + 419, 419, 419, 419, 419, 420, 517, 274, 199, 421, + 421, 421, 421, 421, 465, 591, 466, 466, 466, 466, + 466, 466, 466, 466, 502, 517, 591, 591, 99, 262, + 264, 421, 421, 421, 421, 421, 421, 425, 426, 427, + 425, 425, 425, 425, 425, 428, 262, 263, 262, 429, + 429, 429, 429, 429, 465, 260, 466, 466, 466, 466, + 466, 466, 483, 483, 483, 483, 483, 483, 483, 483, + + 504, 429, 429, 429, 429, 429, 429, 239, 161, 437, + 437, 437, 437, 437, 437, 437, 437, 387, 239, 161, + 438, 438, 438, 438, 438, 438, 438, 438, 259, 258, + 257, 256, 439, 439, 439, 439, 439, 519, 519, 519, + 519, 519, 519, 519, 519, 161, 526, 526, 526, 526, + 526, 526, 526, 526, 439, 439, 439, 439, 439, 439, + 458, 368, 459, 459, 459, 459, 459, 459, 459, 459, + 591, 517, 518, 518, 518, 518, 518, 518, 518, 518, + 161, 527, 527, 527, 527, 527, 527, 527, 527, 255, + 93, 199, 237, 199, 76, 458, 99, 460, 460, 460, + + 460, 460, 460, 460, 460, 161, 528, 528, 528, 528, + 528, 529, 526, 526, 560, 80, 80, 187, 499, 225, + 222, 221, 499, 220, 499, 499, 219, 572, 499, 76, + 458, 218, 461, 461, 461, 461, 461, 462, 463, 463, + 499, 499, 499, 544, 216, 545, 545, 545, 545, 545, + 545, 545, 545, 503, 215, 214, 213, 503, 212, 503, + 503, 211, 210, 503, 76, 458, 209, 464, 464, 464, + 459, 459, 459, 459, 459, 503, 503, 503, 99, 91, + 508, 508, 508, 508, 508, 508, 508, 508, 544, 153, + 546, 546, 546, 546, 546, 546, 546, 546, 80, 76, + + 368, 80, 472, 472, 472, 472, 472, 472, 472, 472, + 420, 368, 76, 473, 473, 473, 473, 473, 473, 473, + 473, 474, 187, 144, 145, 475, 475, 475, 475, 475, + 544, 139, 547, 547, 547, 547, 547, 548, 545, 545, + 555, 555, 555, 555, 555, 556, 139, 475, 475, 475, + 475, 475, 475, 479, 480, 481, 479, 479, 479, 479, + 479, 482, 131, 185, 125, 483, 483, 483, 483, 483, + 525, 525, 525, 525, 525, 525, 525, 525, 554, 554, + 554, 554, 554, 554, 554, 554, 125, 483, 483, 483, + 483, 483, 483, 239, 161, 489, 489, 489, 489, 489, + + 489, 489, 489, 458, 178, 463, 463, 463, 463, 463, + 463, 463, 463, 591, 177, 553, 553, 553, 553, 553, + 553, 553, 553, 161, 526, 526, 526, 526, 526, 526, + 526, 526, 176, 175, 174, 172, 171, 76, 458, 166, + 463, 463, 463, 463, 463, 463, 463, 463, 161, 526, + 526, 526, 526, 526, 526, 526, 526, 161, 526, 526, + 526, 526, 526, 526, 561, 562, 563, 561, 561, 561, + 561, 561, 76, 458, 165, 463, 463, 463, 463, 463, + 463, 508, 508, 99, 539, 75, 540, 540, 540, 540, + 540, 540, 99, 154, 87, 153, 76, 564, 565, 566, + + 564, 564, 564, 564, 564, 80, 78, 76, 458, 77, + 508, 508, 508, 508, 508, 508, 508, 508, 76, 544, + 76, 545, 545, 545, 545, 545, 545, 545, 545, 544, + 145, 545, 545, 545, 545, 545, 545, 545, 545, 139, + 131, 125, 76, 368, 121, 515, 515, 515, 515, 515, + 515, 515, 515, 474, 368, 120, 516, 516, 516, 516, + 516, 516, 516, 516, 517, 119, 118, 117, 518, 518, + 518, 518, 518, 544, 106, 545, 545, 545, 545, 545, + 545, 578, 578, 578, 578, 578, 578, 578, 578, 105, + 518, 518, 518, 518, 518, 518, 522, 523, 524, 522, + + 522, 522, 522, 522, 104, 103, 102, 99, 525, 525, + 525, 525, 525, 368, 87, 569, 569, 569, 569, 569, + 569, 569, 569, 578, 578, 578, 578, 578, 578, 78, + 525, 525, 525, 525, 525, 525, 539, 77, 540, 540, + 540, 540, 540, 540, 540, 540, 579, 579, 579, 579, + 579, 579, 579, 579, 580, 580, 580, 580, 580, 581, + 578, 578, 585, 586, 587, 585, 585, 585, 585, 585, + 76, 539, 76, 541, 541, 541, 541, 541, 541, 541, + 541, 591, 573, 591, 574, 574, 574, 574, 574, 574, + 591, 591, 591, 591, 76, 578, 578, 578, 578, 578, + + 578, 578, 578, 591, 591, 76, 539, 591, 542, 542, + 542, 542, 542, 543, 540, 540, 76, 578, 578, 578, + 578, 578, 578, 578, 578, 591, 591, 591, 591, 591, + 588, 588, 588, 588, 588, 588, 588, 588, 591, 591, + 76, 368, 591, 551, 551, 551, 551, 551, 551, 551, + 551, 517, 368, 591, 552, 552, 552, 552, 552, 552, + 552, 552, 76, 591, 591, 591, 553, 553, 553, 553, + 553, 591, 585, 585, 585, 585, 585, 585, 585, 585, + 589, 589, 589, 589, 589, 590, 588, 588, 553, 553, + 553, 553, 553, 553, 539, 591, 540, 540, 540, 540, + + 540, 540, 540, 540, 76, 591, 591, 591, 591, 591, + 591, 591, 76, 588, 588, 588, 588, 588, 588, 588, + 588, 588, 588, 588, 588, 588, 588, 591, 76, 539, + 591, 540, 540, 540, 540, 540, 540, 540, 540, 591, + 591, 591, 591, 591, 591, 76, 591, 591, 591, 591, + 591, 591, 591, 76, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 76, 573, 591, 574, 574, 574, 574, + 574, 574, 574, 574, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 76, 573, + + 591, 575, 575, 575, 575, 575, 575, 575, 575, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 76, 573, 591, 576, 576, 576, 576, + 576, 577, 574, 574, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 76, 573, + 591, 574, 574, 574, 574, 574, 574, 574, 574, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + + 591, 591, 591, 76, 573, 591, 574, 574, 574, 574, + 574, 574, 574, 574, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 76, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 70, 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 75, 591, 591, 591, 591, + + 591, 75, 75, 75, 591, 591, 75, 75, 75, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 83, 591, 591, 591, 591, 591, 83, + 83, 83, 83, 591, 83, 83, 83, 86, 591, 591, + 591, 591, 591, 86, 86, 86, 591, 591, 86, 86, + 86, 88, 591, 591, 88, 88, 88, 88, 88, 88, + 591, 591, 88, 88, 88, 98, 98, 591, 591, 591, + 98, 126, 591, 591, 126, 126, 126, 126, 126, 126, + 591, 591, 126, 126, 126, 130, 591, 591, 130, 130, + 130, 130, 130, 130, 591, 130, 591, 130, 130, 138, + + 591, 591, 138, 591, 138, 138, 138, 138, 138, 591, + 138, 138, 138, 142, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 144, 144, 591, + 144, 591, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 151, 151, 591, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 152, + 591, 591, 591, 591, 591, 152, 152, 152, 591, 591, + 152, 152, 152, 89, 591, 591, 89, 89, 89, 89, + 89, 89, 591, 591, 89, 89, 89, 160, 160, 591, + + 591, 591, 160, 162, 162, 162, 591, 591, 591, 162, + 127, 591, 591, 127, 127, 127, 127, 127, 127, 591, + 591, 127, 127, 127, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 195, 195, + 591, 591, 591, 195, 201, 201, 201, 591, 591, 591, + 201, 231, 231, 591, 591, 591, 231, 232, 232, 591, + 591, 591, 232, 236, 236, 591, 591, 591, 236, 238, + 238, 238, 591, 591, 591, 238, 274, 274, 591, 591, + 591, 274, 276, 276, 591, 591, 591, 276, 277, 277, + 591, 591, 591, 277, 279, 279, 279, 591, 591, 591, + + 279, 283, 283, 283, 283, 591, 591, 591, 283, 314, + 314, 591, 591, 591, 314, 315, 315, 591, 591, 591, + 315, 316, 316, 591, 591, 591, 316, 328, 328, 328, + 591, 591, 591, 328, 329, 329, 329, 329, 591, 591, + 591, 329, 366, 366, 591, 591, 591, 366, 367, 367, + 591, 591, 591, 367, 383, 383, 383, 591, 591, 591, + 383, 384, 384, 384, 384, 591, 591, 591, 384, 413, + 413, 591, 591, 591, 413, 417, 591, 417, 417, 591, + 591, 591, 417, 435, 435, 435, 591, 591, 591, 435, + 436, 436, 436, 436, 591, 591, 591, 436, 470, 470, + + 591, 591, 591, 470, 471, 591, 471, 471, 591, 591, + 591, 471, 487, 487, 487, 591, 591, 591, 487, 488, + 488, 488, 591, 591, 591, 591, 488, 499, 591, 591, + 499, 499, 591, 499, 499, 499, 591, 591, 499, 499, + 499, 503, 591, 591, 503, 503, 591, 503, 503, 503, + 591, 591, 503, 503, 503, 513, 513, 591, 591, 591, + 513, 514, 591, 514, 514, 591, 591, 591, 514, 530, + 530, 591, 591, 591, 591, 530, 536, 536, 536, 536, + 536, 536, 536, 536, 536, 536, 536, 536, 536, 536, + 549, 549, 591, 591, 591, 549, 550, 591, 550, 550, + + 591, 591, 591, 550, 567, 567, 591, 591, 591, 567, + 568, 591, 568, 591, 591, 591, 591, 568, 583, 583, + 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, + 583, 583, 13, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591 + } ; -static yyconst short int yy_chk[3686] = +static yyconst short int yy_chk[3699] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -971,405 +975,407 @@ static yyconst short int yy_chk[3686] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 3, 4, 115, 2, - 3, 4, 70, 5, 5, 5, 120, 5, 71, 3, - 4, 20, 120, 5, 11, 11, 11, 11, 6, 6, - 6, 41, 6, 2, 2, 5, 5, 2, 6, 12, - - 12, 12, 12, 64, 2, 20, 52, 2, 41, 66, - 6, 6, 60, 60, 68, 68, 25, 25, 70, 5, - 25, 25, 71, 52, 98, 115, 64, 3, 4, 118, - 11, 143, 66, 98, 6, 7, 7, 7, 25, 7, - 73, 73, 263, 73, 118, 12, 27, 27, 27, 27, - 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, - 25, 40, 263, 40, 40, 40, 40, 40, 40, 40, - 40, 106, 106, 585, 108, 126, 42, 143, 82, 108, - 126, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, - - 8, 8, 82, 8, 42, 42, 129, 129, 42, 96, - 96, 96, 96, 96, 96, 42, 50, 106, 42, 50, - 50, 50, 50, 50, 50, 50, 50, 80, 80, 80, - 80, 80, 80, 80, 80, 81, 81, 81, 81, 81, - 81, 81, 81, 117, 191, 8, 8, 8, 8, 8, + 1, 1, 1, 1, 1, 2, 3, 4, 20, 2, + 3, 4, 11, 11, 11, 11, 3, 4, 41, 3, + 4, 49, 53, 61, 61, 71, 5, 5, 5, 118, + 5, 49, 20, 2, 2, 41, 5, 2, 83, 53, + + 116, 6, 6, 6, 2, 6, 65, 2, 5, 5, + 67, 6, 12, 12, 12, 12, 25, 25, 11, 588, + 25, 25, 83, 6, 6, 69, 69, 3, 4, 65, + 118, 71, 5, 67, 72, 107, 107, 583, 25, 27, + 27, 27, 27, 27, 27, 27, 27, 6, 7, 7, + 7, 42, 7, 74, 74, 265, 74, 116, 12, 99, + 25, 28, 28, 28, 28, 28, 28, 40, 99, 40, + 40, 40, 40, 40, 40, 40, 40, 109, 72, 42, + 42, 107, 109, 42, 97, 97, 97, 97, 97, 97, + 42, 132, 132, 42, 7, 7, 7, 7, 7, 7, + + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 8, 8, 8, 50, 8, 265, 50, 50, + 50, 50, 50, 50, 50, 50, 81, 81, 81, 81, + 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, + 82, 82, 121, 136, 136, 117, 148, 148, 121, 91, + 91, 91, 91, 91, 91, 91, 91, 117, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 9, 9, 9, 9, 9, 191, 116, - 133, 133, 9, 9, 9, 119, 145, 145, 51, 51, - 103, 116, 51, 51, 117, 103, 9, 119, 103, 159, - 103, 140, 140, 58, 58, 58, 144, 58, 159, 198, - - 51, 58, 176, 58, 170, 180, 580, 180, 198, 9, - 10, 10, 10, 10, 10, 58, 58, 170, 177, 10, - 10, 10, 51, 177, 84, 179, 84, 84, 84, 181, - 84, 84, 136, 10, 84, 136, 136, 140, 214, 58, - 144, 179, 136, 181, 214, 187, 206, 84, 84, 569, - 207, 176, 566, 183, 207, 136, 10, 19, 90, 90, - 90, 90, 90, 90, 90, 90, 183, 19, 206, 220, - 19, 19, 19, 19, 19, 19, 19, 19, 26, 187, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 564, - 90, 267, 26, 26, 26, 26, 26, 195, 195, 195, - - 87, 87, 221, 221, 87, 87, 202, 202, 202, 202, - 202, 202, 26, 223, 26, 26, 26, 26, 26, 26, - 32, 224, 87, 248, 220, 267, 32, 224, 223, 32, - 32, 550, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 87, 248, 32, 32, 32, 32, + 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, + 9, 91, 119, 572, 122, 9, 9, 9, 120, 173, + 146, 52, 52, 104, 122, 52, 52, 119, 104, 9, + + 120, 104, 173, 104, 129, 179, 59, 59, 59, 129, + 59, 143, 143, 52, 59, 147, 59, 183, 186, 183, + 497, 162, 9, 10, 10, 10, 10, 10, 59, 59, + 162, 186, 10, 10, 10, 52, 146, 85, 194, 85, + 85, 85, 182, 85, 85, 139, 10, 85, 139, 139, + 184, 180, 59, 267, 179, 139, 180, 143, 182, 147, + 85, 85, 194, 267, 184, 198, 198, 198, 139, 10, + 19, 95, 95, 95, 95, 95, 95, 95, 95, 497, + 19, 190, 209, 19, 19, 19, 19, 19, 19, 19, + 19, 26, 569, 26, 26, 26, 26, 26, 26, 26, + + 26, 26, 201, 223, 209, 26, 26, 26, 26, 26, + 567, 201, 210, 88, 88, 190, 210, 88, 88, 205, + 205, 205, 205, 205, 205, 26, 226, 26, 26, 26, + 26, 26, 26, 32, 217, 88, 224, 224, 227, 32, + 217, 226, 32, 32, 227, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 88, 223, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 371, 371, 304, 34, 34, 34, - - 34, 34, 94, 94, 94, 94, 94, 94, 94, 94, - 95, 95, 95, 95, 95, 95, 95, 95, 262, 34, - 34, 34, 34, 34, 34, 39, 39, 39, 39, 39, - 235, 39, 39, 549, 264, 39, 547, 123, 123, 235, - 258, 123, 123, 109, 264, 258, 304, 39, 39, 39, - 43, 122, 122, 122, 122, 122, 122, 122, 122, 123, - 43, 546, 295, 43, 43, 43, 43, 43, 43, 43, - 43, 109, 109, 151, 265, 109, 222, 151, 542, 265, - 262, 123, 109, 151, 295, 109, 132, 132, 132, 132, - 132, 132, 132, 132, 276, 151, 151, 296, 306, 533, - - 222, 296, 531, 276, 43, 59, 186, 186, 186, 186, - 186, 186, 186, 186, 306, 59, 451, 222, 59, 59, - 59, 59, 59, 59, 59, 59, 75, 527, 75, 75, - 75, 280, 75, 75, 237, 237, 75, 182, 186, 523, - 280, 182, 239, 239, 237, 511, 305, 182, 75, 75, - 75, 86, 239, 86, 86, 86, 305, 86, 86, 182, - 182, 86, 190, 299, 190, 190, 190, 190, 190, 190, - 451, 281, 281, 86, 86, 86, 89, 359, 89, 89, - 89, 281, 89, 89, 510, 299, 89, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 190, 495, 89, 89, - - 89, 91, 91, 91, 91, 91, 91, 91, 91, 403, - 359, 403, 300, 91, 91, 91, 91, 91, 199, 199, - 199, 199, 199, 199, 199, 199, 201, 201, 201, 201, - 201, 201, 201, 201, 300, 91, 91, 91, 91, 91, - 91, 99, 99, 99, 99, 99, 99, 99, 99, 282, - 282, 493, 341, 99, 99, 99, 99, 99, 204, 282, - 204, 204, 204, 204, 204, 204, 204, 204, 245, 245, - 245, 245, 245, 245, 341, 99, 99, 99, 99, 99, - 99, 125, 492, 125, 125, 125, 491, 125, 125, 421, - 421, 125, 230, 230, 230, 230, 230, 230, 230, 230, - - 230, 284, 284, 125, 125, 125, 150, 490, 150, 150, - 150, 284, 150, 150, 485, 366, 150, 236, 236, 236, - 236, 236, 236, 236, 236, 366, 435, 435, 150, 150, - 150, 152, 468, 152, 152, 152, 152, 152, 152, 152, - 152, 238, 238, 238, 238, 238, 238, 238, 238, 242, - 242, 242, 242, 242, 242, 242, 242, 467, 301, 242, - 436, 436, 354, 347, 463, 152, 153, 301, 153, 153, - 153, 153, 153, 153, 153, 153, 244, 244, 244, 244, - 244, 244, 244, 244, 247, 347, 247, 247, 247, 247, - 247, 247, 247, 247, 290, 290, 290, 290, 290, 290, - - 153, 154, 307, 154, 154, 154, 154, 154, 154, 154, - 154, 307, 349, 354, 266, 266, 266, 266, 266, 266, - 266, 266, 270, 325, 270, 270, 270, 270, 270, 270, - 448, 351, 325, 356, 349, 154, 155, 443, 155, 155, - 155, 155, 155, 155, 155, 155, 266, 351, 356, 397, - 155, 155, 155, 155, 155, 277, 270, 277, 277, 277, - 277, 277, 277, 277, 277, 317, 317, 317, 317, 317, - 317, 397, 155, 155, 155, 155, 155, 155, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 326, 442, 398, - 158, 158, 158, 158, 158, 278, 326, 278, 278, 278, - - 278, 278, 278, 278, 278, 336, 336, 336, 336, 336, - 336, 398, 158, 158, 158, 158, 158, 158, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 355, 441, - 357, 160, 160, 160, 160, 160, 279, 355, 279, 279, - 279, 279, 279, 279, 279, 279, 357, 374, 374, 374, - 374, 374, 374, 160, 160, 160, 160, 160, 160, 161, - 161, 161, 161, 161, 161, 161, 161, 439, 439, 494, - 440, 161, 161, 161, 161, 161, 283, 283, 283, 283, - 283, 283, 283, 283, 289, 289, 289, 289, 289, 289, - 289, 289, 440, 161, 161, 161, 161, 161, 161, 188, - - 428, 188, 188, 188, 188, 188, 188, 188, 188, 287, - 287, 287, 287, 287, 287, 287, 287, 452, 292, 287, - 292, 292, 292, 292, 292, 292, 292, 292, 494, 402, - 402, 414, 452, 188, 189, 410, 189, 189, 189, 189, - 189, 189, 189, 189, 314, 314, 314, 314, 314, 314, - 314, 314, 316, 316, 316, 316, 316, 316, 316, 316, - 320, 320, 320, 320, 320, 320, 320, 320, 189, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 402, 444, 446, 200, 200, 200, 200, 200, 319, 368, - 319, 319, 319, 319, 319, 319, 319, 319, 405, 368, - - 401, 453, 453, 444, 446, 200, 200, 200, 200, 200, - 200, 203, 203, 203, 203, 203, 203, 203, 203, 203, - 203, 380, 475, 475, 203, 203, 203, 203, 203, 322, - 380, 322, 322, 322, 322, 322, 322, 322, 322, 454, - 454, 486, 486, 327, 327, 453, 203, 203, 203, 203, - 203, 203, 225, 327, 225, 225, 225, 225, 225, 225, - 225, 225, 323, 400, 323, 323, 323, 323, 323, 323, - 323, 323, 324, 381, 324, 324, 324, 324, 324, 324, - 518, 518, 381, 454, 399, 456, 225, 226, 396, 226, - 226, 226, 226, 226, 226, 226, 226, 328, 328, 329, - - 329, 329, 329, 329, 329, 329, 329, 328, 330, 330, - 333, 333, 333, 333, 333, 333, 333, 333, 330, 456, - 333, 226, 227, 395, 227, 227, 227, 227, 227, 227, - 227, 227, 335, 335, 335, 335, 335, 335, 335, 335, - 338, 394, 338, 338, 338, 338, 338, 338, 338, 338, - 391, 391, 391, 391, 391, 391, 227, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 535, - 535, 487, 243, 243, 243, 243, 243, 537, 358, 358, - 358, 358, 358, 358, 358, 358, 362, 362, 362, 362, - - 362, 362, 362, 487, 243, 243, 243, 243, 243, 243, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 358, 537, 489, 246, 246, 246, 246, 246, 415, 362, - 365, 365, 365, 365, 365, 365, 365, 365, 415, 553, - 553, 393, 382, 382, 489, 246, 246, 246, 246, 246, - 246, 268, 382, 268, 268, 268, 268, 268, 268, 268, - 268, 367, 367, 367, 367, 367, 367, 367, 367, 373, - 373, 373, 373, 373, 373, 373, 373, 383, 383, 424, - 424, 424, 424, 424, 424, 268, 269, 383, 269, 269, - 269, 269, 269, 269, 269, 269, 376, 416, 376, 376, - - 376, 376, 376, 376, 376, 376, 377, 416, 377, 377, - 377, 377, 377, 377, 377, 377, 364, 571, 450, 450, - 269, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 449, 450, 528, 275, 275, 275, 275, 275, 378, 418, - 378, 378, 378, 378, 378, 378, 378, 378, 363, 418, - 449, 571, 449, 449, 528, 275, 275, 275, 275, 275, - 275, 285, 285, 285, 285, 285, 285, 285, 285, 285, - 285, 285, 288, 288, 288, 288, 288, 288, 288, 288, - 288, 288, 288, 432, 353, 530, 288, 288, 288, 288, - 288, 379, 432, 379, 379, 379, 379, 379, 379, 379, - - 379, 478, 478, 478, 478, 478, 478, 530, 288, 288, - 288, 288, 288, 288, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 601, 601, 554, 291, 291, 291, - 291, 291, 384, 384, 384, 384, 384, 384, 384, 384, - 390, 390, 390, 390, 390, 390, 390, 390, 554, 291, - 291, 291, 291, 291, 291, 308, 308, 308, 308, 308, - 308, 308, 308, 308, 385, 385, 388, 388, 388, 388, - 388, 388, 388, 388, 385, 392, 388, 392, 392, 392, - 392, 392, 392, 392, 392, 506, 506, 506, 308, 309, - 309, 309, 309, 309, 309, 309, 309, 309, 404, 411, - - 352, 411, 411, 411, 411, 411, 411, 411, 411, 417, - 417, 417, 417, 417, 417, 417, 417, 506, 404, 346, - 404, 404, 309, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 412, 556, 412, 412, 412, 412, 412, 412, - 412, 412, 404, 413, 433, 413, 413, 413, 413, 413, - 413, 413, 413, 433, 345, 556, 310, 315, 469, 315, - 315, 315, 315, 315, 315, 315, 315, 315, 469, 344, - 567, 315, 315, 315, 315, 315, 423, 423, 423, 423, - 423, 423, 423, 423, 427, 427, 427, 427, 427, 427, - 427, 427, 567, 315, 315, 315, 315, 315, 315, 318, - - 318, 318, 318, 318, 318, 318, 318, 318, 484, 343, - 340, 318, 318, 318, 318, 318, 426, 484, 426, 426, - 426, 426, 426, 426, 426, 426, 339, 461, 321, 461, - 461, 461, 313, 318, 318, 318, 318, 318, 318, 331, - 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, - 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, - 334, 461, 312, 311, 334, 334, 334, 334, 334, 429, - 470, 429, 429, 429, 429, 429, 429, 429, 429, 651, - 470, 496, 496, 303, 651, 302, 334, 334, 334, 334, - 334, 334, 337, 337, 337, 337, 337, 337, 337, 337, - - 337, 434, 434, 298, 297, 337, 337, 337, 337, 337, - 430, 434, 430, 430, 430, 430, 430, 430, 430, 430, - 294, 293, 274, 273, 272, 496, 271, 337, 337, 337, - 337, 337, 337, 360, 360, 360, 360, 360, 360, 360, - 360, 360, 431, 261, 431, 431, 431, 431, 431, 431, - 455, 455, 455, 455, 455, 455, 455, 455, 462, 462, - 462, 462, 462, 462, 462, 462, 360, 361, 361, 361, - 361, 361, 361, 361, 361, 361, 260, 259, 257, 497, - 497, 464, 455, 464, 464, 464, 464, 464, 464, 464, - 464, 466, 472, 466, 466, 466, 466, 466, 466, 256, - - 361, 369, 472, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 372, 255, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 497, 254, 253, 372, 372, 372, 372, - 372, 465, 512, 465, 465, 465, 465, 465, 465, 465, - 465, 252, 512, 498, 498, 251, 250, 234, 372, 372, - 372, 372, 372, 372, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 233, 232, 231, 375, 375, 375, 375, - 375, 471, 471, 471, 471, 471, 471, 471, 471, 477, - 477, 477, 477, 477, 477, 477, 477, 498, 375, 375, - 375, 375, 375, 375, 386, 386, 386, 386, 386, 386, - - 386, 386, 386, 386, 386, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 513, 229, 228, 219, 389, - 389, 389, 389, 389, 480, 513, 480, 480, 480, 480, - 480, 480, 480, 480, 500, 500, 218, 217, 515, 216, - 215, 389, 389, 389, 389, 389, 389, 406, 515, 406, - 406, 406, 406, 406, 406, 406, 406, 481, 481, 481, - 481, 481, 481, 481, 481, 481, 482, 482, 482, 482, - 482, 482, 482, 482, 482, 213, 212, 211, 500, 210, - 209, 406, 407, 208, 407, 407, 407, 407, 407, 407, - 407, 407, 483, 483, 483, 483, 483, 483, 483, 483, - - 483, 557, 557, 548, 205, 499, 197, 196, 193, 499, - 192, 499, 499, 548, 557, 499, 407, 408, 185, 408, - 408, 408, 408, 408, 408, 408, 408, 499, 499, 499, - 507, 184, 507, 507, 507, 507, 507, 507, 507, 507, - 501, 178, 175, 174, 501, 173, 501, 501, 172, 171, - 501, 408, 409, 169, 409, 409, 409, 409, 409, 409, - 409, 409, 501, 501, 501, 168, 167, 505, 505, 505, - 505, 505, 505, 505, 505, 508, 166, 508, 508, 508, - 508, 508, 508, 508, 508, 165, 409, 419, 164, 419, - 419, 419, 419, 419, 419, 419, 419, 419, 422, 505, - - 422, 422, 422, 422, 422, 422, 422, 422, 422, 163, - 162, 157, 422, 422, 422, 422, 422, 509, 156, 509, - 509, 509, 509, 509, 509, 509, 509, 521, 521, 521, - 521, 521, 521, 149, 422, 422, 422, 422, 422, 422, - 425, 425, 425, 425, 425, 425, 425, 425, 425, 148, - 147, 146, 425, 425, 425, 425, 425, 514, 514, 514, - 514, 514, 514, 514, 514, 520, 520, 520, 520, 520, - 520, 520, 520, 142, 425, 425, 425, 425, 425, 425, - 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, - 457, 141, 457, 457, 457, 457, 457, 457, 457, 457, - - 522, 139, 522, 522, 522, 522, 522, 522, 522, 522, - 524, 524, 524, 524, 524, 524, 524, 524, 524, 135, - 128, 124, 121, 114, 457, 458, 113, 458, 458, 458, - 458, 458, 458, 458, 458, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 526, 526, 526, 526, 526, 526, - 526, 536, 536, 536, 536, 536, 536, 536, 536, 458, - 459, 112, 459, 459, 459, 459, 459, 459, 459, 459, - 111, 540, 110, 540, 540, 540, 540, 540, 540, 105, - 104, 102, 101, 536, 541, 541, 541, 541, 541, 541, - 541, 541, 97, 93, 459, 460, 92, 460, 460, 460, - - 460, 460, 460, 460, 460, 540, 543, 88, 543, 543, - 543, 543, 543, 543, 543, 543, 544, 85, 544, 544, - 544, 544, 544, 544, 544, 544, 83, 78, 77, 460, - 473, 76, 473, 473, 473, 473, 473, 473, 473, 473, - 473, 476, 74, 476, 476, 476, 476, 476, 476, 476, - 476, 476, 69, 62, 55, 476, 476, 476, 476, 476, - 545, 49, 545, 545, 545, 545, 545, 545, 561, 561, - 561, 561, 561, 561, 561, 561, 48, 476, 476, 476, - 476, 476, 476, 479, 479, 479, 479, 479, 479, 479, - 479, 47, 46, 45, 44, 479, 479, 479, 479, 479, - - 551, 38, 551, 551, 551, 551, 551, 551, 551, 551, - 578, 578, 578, 578, 578, 578, 37, 479, 479, 479, - 479, 479, 479, 502, 36, 502, 502, 502, 502, 502, - 502, 502, 502, 562, 562, 562, 562, 562, 562, 562, - 562, 563, 563, 563, 563, 563, 563, 563, 563, 570, - 570, 570, 570, 570, 570, 570, 570, 502, 503, 35, - 503, 503, 503, 503, 503, 503, 503, 503, 33, 574, - 29, 574, 574, 574, 574, 574, 574, 23, 17, 15, - 14, 570, 576, 576, 576, 576, 576, 576, 576, 576, - 13, 0, 503, 504, 0, 504, 504, 504, 504, 504, - - 504, 504, 504, 574, 577, 577, 577, 577, 577, 577, - 577, 577, 0, 0, 0, 0, 0, 582, 582, 582, - 582, 582, 582, 582, 582, 0, 0, 504, 516, 0, - 516, 516, 516, 516, 516, 516, 516, 516, 516, 519, - 0, 519, 519, 519, 519, 519, 519, 519, 519, 582, - 0, 0, 0, 519, 519, 519, 519, 519, 0, 583, - 583, 583, 583, 583, 583, 583, 583, 584, 584, 584, - 584, 584, 584, 584, 584, 519, 519, 519, 519, 519, - 519, 538, 0, 538, 538, 538, 538, 538, 538, 538, - 538, 583, 0, 0, 0, 0, 0, 0, 0, 584, - - 586, 586, 586, 586, 586, 586, 586, 586, 587, 587, - 587, 587, 587, 587, 0, 538, 539, 0, 539, 539, - 539, 539, 539, 539, 539, 539, 0, 0, 0, 0, - 0, 0, 586, 0, 0, 0, 0, 0, 0, 0, - 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 539, 558, 0, 558, 558, 558, 558, 558, 558, 558, - 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 32, 32, 32, 32, 32, 32, 32, 32, 34, 34, + + 34, 34, 34, 34, 34, 34, 34, 309, 553, 307, + 34, 34, 34, 34, 34, 96, 96, 96, 96, 96, + 96, 96, 96, 309, 193, 110, 193, 193, 193, 193, + 193, 193, 34, 34, 34, 34, 34, 34, 39, 39, + 39, 39, 39, 238, 39, 39, 154, 299, 39, 552, + 154, 299, 238, 110, 110, 308, 154, 110, 193, 307, + 39, 39, 39, 43, 110, 308, 550, 110, 154, 154, + 126, 126, 549, 43, 126, 126, 43, 43, 43, 43, + 43, 43, 43, 43, 124, 124, 124, 124, 124, 124, + 124, 124, 126, 135, 135, 135, 135, 135, 135, 135, + + 135, 185, 266, 225, 251, 185, 240, 240, 261, 242, + 242, 185, 279, 261, 126, 268, 240, 43, 60, 242, + 268, 279, 266, 185, 185, 270, 251, 225, 60, 454, + 369, 60, 60, 60, 60, 60, 60, 60, 60, 76, + 369, 76, 76, 76, 225, 76, 76, 357, 545, 76, + 189, 189, 189, 189, 189, 189, 189, 189, 359, 270, + 283, 76, 76, 76, 87, 536, 87, 87, 87, 283, + 87, 87, 304, 359, 87, 248, 248, 248, 248, 248, + 248, 304, 189, 454, 284, 284, 87, 87, 87, 90, + 362, 90, 90, 90, 284, 90, 90, 534, 357, 90, + + 197, 197, 197, 197, 197, 197, 197, 197, 197, 374, + 374, 90, 90, 90, 92, 92, 92, 92, 92, 92, + 92, 92, 406, 362, 406, 298, 92, 92, 92, 92, + 92, 202, 202, 202, 202, 202, 202, 202, 202, 204, + 204, 204, 204, 204, 204, 204, 204, 298, 92, 92, + 92, 92, 92, 92, 100, 100, 100, 100, 100, 100, + 100, 100, 285, 285, 530, 302, 100, 100, 100, 100, + 100, 207, 285, 207, 207, 207, 207, 207, 207, 207, + 207, 303, 526, 354, 514, 287, 287, 302, 100, 100, + 100, 100, 100, 100, 128, 287, 128, 128, 128, 354, + + 128, 128, 513, 303, 128, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 498, 310, 128, 128, 128, 153, + 496, 153, 153, 153, 310, 153, 153, 495, 371, 153, + 239, 239, 239, 239, 239, 239, 239, 239, 371, 424, + 424, 153, 153, 153, 155, 494, 155, 155, 155, 155, + 155, 155, 155, 155, 241, 241, 241, 241, 241, 241, + 241, 241, 245, 245, 245, 245, 245, 245, 245, 245, + 654, 328, 245, 438, 438, 654, 344, 493, 155, 156, + 328, 156, 156, 156, 156, 156, 156, 156, 156, 247, + 247, 247, 247, 247, 247, 247, 247, 250, 344, 250, + + 250, 250, 250, 250, 250, 250, 250, 293, 293, 293, + 293, 293, 293, 156, 157, 329, 157, 157, 157, 157, + 157, 157, 157, 157, 329, 350, 488, 269, 269, 269, + 269, 269, 269, 269, 269, 273, 358, 273, 273, 273, + 273, 273, 273, 471, 360, 358, 455, 350, 157, 158, + 470, 158, 158, 158, 158, 158, 158, 158, 158, 269, + 360, 455, 352, 158, 158, 158, 158, 158, 280, 273, + 280, 280, 280, 280, 280, 280, 280, 280, 320, 320, + 320, 320, 320, 320, 352, 158, 158, 158, 158, 158, + 158, 161, 161, 161, 161, 161, 161, 161, 161, 161, + + 383, 466, 400, 161, 161, 161, 161, 161, 281, 383, + 281, 281, 281, 281, 281, 281, 281, 281, 339, 339, + 339, 339, 339, 339, 400, 161, 161, 161, 161, 161, + 161, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 384, 451, 401, 163, 163, 163, 163, 163, 282, + 384, 282, 282, 282, 282, 282, 282, 282, 282, 377, + 377, 377, 377, 377, 377, 401, 163, 163, 163, 163, + 163, 163, 164, 164, 164, 164, 164, 164, 164, 164, + 439, 439, 442, 442, 164, 164, 164, 164, 164, 286, + 286, 286, 286, 286, 286, 286, 286, 292, 292, 292, + + 292, 292, 292, 292, 292, 446, 164, 164, 164, 164, + 164, 164, 191, 445, 191, 191, 191, 191, 191, 191, + 191, 191, 290, 290, 290, 290, 290, 290, 290, 290, + 444, 295, 290, 295, 295, 295, 295, 295, 295, 295, + 295, 431, 405, 405, 478, 478, 191, 192, 417, 192, + 192, 192, 192, 192, 192, 192, 192, 317, 317, 317, + 317, 317, 317, 317, 317, 319, 319, 319, 319, 319, + 319, 319, 319, 323, 323, 323, 323, 323, 323, 323, + 323, 192, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 405, 413, 443, 203, 203, 203, 203, + + 203, 322, 408, 322, 322, 322, 322, 322, 322, 322, + 322, 394, 394, 394, 394, 394, 394, 443, 203, 203, + 203, 203, 203, 203, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 489, 489, 447, 206, 206, 206, + 206, 206, 325, 418, 325, 325, 325, 325, 325, 325, + 325, 325, 404, 418, 521, 521, 330, 330, 447, 206, + 206, 206, 206, 206, 206, 228, 330, 228, 228, 228, + 228, 228, 228, 228, 228, 326, 419, 326, 326, 326, + 326, 326, 326, 326, 326, 327, 419, 327, 327, 327, + 327, 327, 327, 427, 427, 427, 427, 427, 427, 228, + + 229, 403, 229, 229, 229, 229, 229, 229, 229, 229, + 331, 331, 332, 332, 332, 332, 332, 332, 332, 332, + 331, 333, 333, 336, 336, 336, 336, 336, 336, 336, + 336, 333, 459, 336, 229, 230, 402, 230, 230, 230, + 230, 230, 230, 230, 230, 338, 338, 338, 338, 338, + 338, 338, 338, 341, 421, 341, 341, 341, 341, 341, + 341, 341, 341, 399, 421, 398, 459, 538, 538, 230, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 556, 556, 449, 246, 246, 246, 246, 246, + + 540, 361, 361, 361, 361, 361, 361, 361, 361, 365, + 365, 365, 365, 365, 365, 365, 449, 246, 246, 246, + 246, 246, 246, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 361, 540, 490, 249, 249, 249, 249, + 249, 397, 365, 368, 368, 368, 368, 368, 368, 368, + 368, 456, 456, 457, 457, 385, 385, 490, 249, 249, + 249, 249, 249, 249, 271, 385, 271, 271, 271, 271, + 271, 271, 271, 271, 370, 370, 370, 370, 370, 370, + 370, 370, 376, 376, 376, 376, 376, 376, 376, 376, + 386, 386, 604, 604, 396, 456, 574, 457, 271, 272, + + 386, 272, 272, 272, 272, 272, 272, 272, 272, 379, + 492, 379, 379, 379, 379, 379, 379, 379, 379, 380, + 435, 380, 380, 380, 380, 380, 380, 380, 380, 435, + 574, 367, 492, 272, 278, 278, 278, 278, 278, 278, + 278, 278, 278, 436, 452, 366, 278, 278, 278, 278, + 278, 381, 436, 381, 381, 381, 381, 381, 381, 381, + 381, 356, 355, 349, 452, 348, 452, 452, 278, 278, + 278, 278, 278, 278, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 347, 531, 533, 291, + + 291, 291, 291, 291, 382, 472, 382, 382, 382, 382, + 382, 382, 382, 382, 346, 472, 557, 499, 499, 531, + 533, 291, 291, 291, 291, 291, 291, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 343, 557, 342, + 294, 294, 294, 294, 294, 387, 387, 387, 387, 387, + 387, 387, 387, 393, 393, 393, 393, 393, 393, 393, + 393, 499, 294, 294, 294, 294, 294, 294, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 388, 388, 391, + 391, 391, 391, 391, 391, 391, 391, 388, 395, 391, + 395, 395, 395, 395, 395, 395, 395, 395, 509, 509, + + 509, 311, 312, 312, 312, 312, 312, 312, 312, 312, + 312, 407, 414, 324, 414, 414, 414, 414, 414, 414, + 414, 414, 420, 420, 420, 420, 420, 420, 420, 420, + 509, 407, 316, 407, 407, 312, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 415, 559, 415, 415, 415, + 415, 415, 415, 415, 415, 407, 416, 473, 416, 416, + 416, 416, 416, 416, 416, 416, 315, 473, 559, 313, + 318, 475, 318, 318, 318, 318, 318, 318, 318, 318, + 318, 475, 314, 570, 318, 318, 318, 318, 318, 426, + 426, 426, 426, 426, 426, 426, 426, 430, 430, 430, + + 430, 430, 430, 430, 430, 570, 318, 318, 318, 318, + 318, 318, 321, 321, 321, 321, 321, 321, 321, 321, + 321, 487, 306, 305, 321, 321, 321, 321, 321, 429, + 487, 429, 429, 429, 429, 429, 429, 429, 429, 301, + 464, 300, 464, 464, 464, 297, 321, 321, 321, 321, + 321, 321, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 334, 334, 337, 337, 337, 337, 337, 337, 337, + 337, 337, 337, 337, 464, 296, 277, 337, 337, 337, + 337, 337, 432, 276, 432, 432, 432, 432, 432, 432, + 432, 432, 481, 481, 481, 481, 481, 481, 275, 337, + + 337, 337, 337, 337, 337, 340, 340, 340, 340, 340, + 340, 340, 340, 340, 437, 437, 274, 264, 340, 340, + 340, 340, 340, 433, 437, 433, 433, 433, 433, 433, + 433, 433, 433, 500, 500, 263, 262, 260, 259, 258, + 340, 340, 340, 340, 340, 340, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 434, 257, 434, 434, 434, + 434, 434, 434, 453, 453, 458, 458, 458, 458, 458, + 458, 458, 458, 256, 255, 254, 453, 500, 253, 363, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 465, + 465, 465, 465, 465, 465, 465, 465, 458, 467, 515, + + 467, 467, 467, 467, 467, 467, 467, 467, 237, 515, + 501, 501, 236, 364, 372, 235, 372, 372, 372, 372, + 372, 372, 372, 372, 372, 375, 516, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 516, 234, 232, 375, + 375, 375, 375, 375, 468, 518, 468, 468, 468, 468, + 468, 468, 468, 468, 501, 518, 503, 503, 231, 222, + 221, 375, 375, 375, 375, 375, 375, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 220, 219, 218, 378, + 378, 378, 378, 378, 469, 216, 469, 469, 469, 469, + 469, 469, 474, 474, 474, 474, 474, 474, 474, 474, + + 503, 378, 378, 378, 378, 378, 378, 389, 389, 389, + 389, 389, 389, 389, 389, 389, 389, 389, 392, 392, + 392, 392, 392, 392, 392, 392, 392, 392, 215, 214, + 213, 212, 392, 392, 392, 392, 392, 480, 480, 480, + 480, 480, 480, 480, 480, 484, 484, 484, 484, 484, + 484, 484, 484, 484, 392, 392, 392, 392, 392, 392, + 409, 551, 409, 409, 409, 409, 409, 409, 409, 409, + 483, 551, 483, 483, 483, 483, 483, 483, 483, 483, + 485, 485, 485, 485, 485, 485, 485, 485, 485, 211, + 208, 200, 199, 196, 409, 410, 195, 410, 410, 410, + + 410, 410, 410, 410, 410, 486, 486, 486, 486, 486, + 486, 486, 486, 486, 560, 560, 188, 187, 502, 181, + 178, 177, 502, 176, 502, 502, 175, 560, 502, 410, + 411, 174, 411, 411, 411, 411, 411, 411, 411, 411, + 502, 502, 502, 510, 172, 510, 510, 510, 510, 510, + 510, 510, 510, 504, 171, 170, 169, 504, 168, 504, + 504, 167, 166, 504, 411, 412, 165, 412, 412, 412, + 412, 412, 412, 412, 412, 504, 504, 504, 160, 159, + 508, 508, 508, 508, 508, 508, 508, 508, 511, 152, + 511, 511, 511, 511, 511, 511, 511, 511, 151, 412, + + 422, 150, 422, 422, 422, 422, 422, 422, 422, 422, + 422, 425, 508, 425, 425, 425, 425, 425, 425, 425, + 425, 425, 149, 145, 144, 425, 425, 425, 425, 425, + 512, 142, 512, 512, 512, 512, 512, 512, 512, 512, + 524, 524, 524, 524, 524, 524, 138, 425, 425, 425, + 425, 425, 425, 428, 428, 428, 428, 428, 428, 428, + 428, 428, 131, 127, 125, 428, 428, 428, 428, 428, + 517, 517, 517, 517, 517, 517, 517, 517, 523, 523, + 523, 523, 523, 523, 523, 523, 123, 428, 428, 428, + 428, 428, 428, 440, 440, 440, 440, 440, 440, 440, + + 440, 440, 440, 460, 115, 460, 460, 460, 460, 460, + 460, 460, 460, 525, 114, 525, 525, 525, 525, 525, + 525, 525, 525, 527, 527, 527, 527, 527, 527, 527, + 527, 527, 113, 112, 111, 106, 105, 460, 461, 103, + 461, 461, 461, 461, 461, 461, 461, 461, 528, 528, + 528, 528, 528, 528, 528, 528, 528, 529, 529, 529, + 529, 529, 529, 529, 539, 539, 539, 539, 539, 539, + 539, 539, 461, 462, 102, 462, 462, 462, 462, 462, + 462, 462, 462, 98, 543, 94, 543, 543, 543, 543, + 543, 543, 93, 89, 86, 84, 539, 544, 544, 544, + + 544, 544, 544, 544, 544, 79, 78, 462, 463, 77, + 463, 463, 463, 463, 463, 463, 463, 463, 543, 546, + 75, 546, 546, 546, 546, 546, 546, 546, 546, 547, + 70, 547, 547, 547, 547, 547, 547, 547, 547, 63, + 56, 51, 463, 476, 48, 476, 476, 476, 476, 476, + 476, 476, 476, 476, 479, 47, 479, 479, 479, 479, + 479, 479, 479, 479, 479, 46, 45, 44, 479, 479, + 479, 479, 479, 548, 38, 548, 548, 548, 548, 548, + 548, 564, 564, 564, 564, 564, 564, 564, 564, 37, + 479, 479, 479, 479, 479, 479, 482, 482, 482, 482, + + 482, 482, 482, 482, 36, 35, 33, 29, 482, 482, + 482, 482, 482, 554, 23, 554, 554, 554, 554, 554, + 554, 554, 554, 581, 581, 581, 581, 581, 581, 17, + 482, 482, 482, 482, 482, 482, 505, 15, 505, 505, + 505, 505, 505, 505, 505, 505, 565, 565, 565, 565, + 565, 565, 565, 565, 566, 566, 566, 566, 566, 566, + 566, 566, 573, 573, 573, 573, 573, 573, 573, 573, + 505, 506, 14, 506, 506, 506, 506, 506, 506, 506, + 506, 13, 577, 0, 577, 577, 577, 577, 577, 577, + 0, 0, 0, 0, 573, 579, 579, 579, 579, 579, + + 579, 579, 579, 0, 0, 506, 507, 0, 507, 507, + 507, 507, 507, 507, 507, 507, 577, 580, 580, 580, + 580, 580, 580, 580, 580, 0, 0, 0, 0, 0, + 585, 585, 585, 585, 585, 585, 585, 585, 0, 0, + 507, 519, 0, 519, 519, 519, 519, 519, 519, 519, + 519, 519, 522, 0, 522, 522, 522, 522, 522, 522, + 522, 522, 585, 0, 0, 0, 522, 522, 522, 522, + 522, 0, 586, 586, 586, 586, 586, 586, 586, 586, + 587, 587, 587, 587, 587, 587, 587, 587, 522, 522, + 522, 522, 522, 522, 541, 0, 541, 541, 541, 541, + + 541, 541, 541, 541, 586, 0, 0, 0, 0, 0, + 0, 0, 587, 589, 589, 589, 589, 589, 589, 589, + 589, 590, 590, 590, 590, 590, 590, 0, 541, 542, + 0, 542, 542, 542, 542, 542, 542, 542, 542, 0, + 0, 0, 0, 0, 0, 589, 0, 0, 0, 0, + 0, 0, 0, 590, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 542, 561, 0, 561, 561, 561, 561, + 561, 561, 561, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 558, 559, 0, 559, 559, - 559, 559, 559, 559, 559, 559, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 561, 562, + 0, 562, 562, 562, 562, 562, 562, 562, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 559, 560, 0, 560, 560, 560, 560, 560, 560, 560, - 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 562, 563, 0, 563, 563, 563, 563, + 563, 563, 563, 563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 560, 572, 0, 572, 572, - 572, 572, 572, 572, 572, 572, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 563, 575, + 0, 575, 575, 575, 575, 575, 575, 575, 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 572, 573, 0, 573, 573, 573, 573, 573, 573, 573, - 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 575, 576, 0, 576, 576, 576, 576, + 576, 576, 576, 576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 573, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, - 590, 590, 590, 590, 591, 591, 591, 591, 591, 591, - 591, 591, 591, 591, 591, 591, 591, 591, 592, 592, + 0, 0, 0, 0, 0, 0, 0, 0, 576, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, - 592, 592, 593, 0, 0, 0, 0, 0, 593, 593, - 593, 0, 0, 593, 593, 593, 594, 594, 594, 594, - + 592, 592, 592, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, - 595, 0, 0, 0, 0, 0, 595, 595, 595, 595, - 0, 595, 595, 595, 596, 0, 0, 0, 0, 0, - 596, 596, 596, 0, 0, 596, 596, 596, 597, 0, - 0, 597, 597, 597, 597, 597, 597, 0, 0, 597, - 597, 597, 598, 598, 0, 0, 0, 598, 599, 0, - 0, 599, 599, 599, 599, 599, 599, 0, 0, 599, - 599, 599, 600, 0, 0, 600, 600, 600, 600, 600, - 600, 0, 600, 0, 600, 600, 602, 0, 0, 602, - 0, 602, 602, 602, 602, 602, 0, 602, 602, 602, - - 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, - 603, 603, 603, 603, 604, 604, 0, 604, 0, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 605, 605, - 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, - 605, 605, 606, 606, 0, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 607, 0, 0, 0, - 0, 0, 607, 607, 607, 0, 0, 607, 607, 607, - 608, 0, 0, 608, 608, 608, 608, 608, 608, 0, - 0, 608, 608, 608, 609, 609, 0, 0, 0, 609, - 610, 610, 610, 0, 0, 0, 610, 611, 0, 0, - - 611, 611, 611, 611, 611, 611, 0, 0, 611, 611, - 611, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 613, 613, 0, 0, 0, - 613, 614, 614, 614, 0, 0, 0, 614, 615, 615, - 0, 0, 0, 615, 616, 616, 0, 0, 0, 616, - 617, 617, 0, 0, 0, 617, 618, 618, 618, 0, - 0, 0, 618, 619, 619, 0, 0, 0, 619, 620, - 620, 0, 0, 0, 620, 621, 621, 0, 0, 0, - 621, 622, 622, 622, 0, 0, 0, 622, 623, 623, - 623, 623, 0, 0, 0, 623, 624, 624, 0, 0, - - 0, 624, 625, 625, 0, 0, 0, 625, 626, 626, - 0, 0, 0, 626, 627, 627, 627, 0, 0, 0, - 627, 628, 628, 628, 628, 0, 0, 0, 628, 629, - 629, 0, 0, 0, 629, 630, 630, 0, 0, 0, - 630, 631, 631, 631, 0, 0, 0, 631, 632, 632, - 632, 632, 0, 0, 0, 632, 633, 633, 0, 0, - 0, 633, 634, 0, 634, 634, 0, 0, 0, 634, - 635, 635, 635, 0, 0, 0, 635, 636, 636, 636, - 636, 0, 0, 0, 636, 637, 637, 0, 0, 0, - 637, 638, 0, 638, 638, 0, 0, 0, 638, 639, - - 639, 639, 0, 0, 0, 639, 640, 640, 640, 0, - 0, 0, 0, 640, 641, 0, 0, 641, 641, 0, - 641, 641, 641, 0, 0, 641, 641, 641, 642, 0, - 0, 642, 642, 0, 642, 642, 642, 0, 0, 642, - 642, 642, 643, 643, 0, 0, 0, 643, 644, 0, - 644, 644, 0, 0, 0, 644, 645, 645, 0, 0, - 0, 0, 645, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 647, 647, 0, - 0, 0, 647, 648, 0, 648, 648, 0, 0, 0, - 648, 649, 649, 0, 0, 0, 649, 650, 0, 650, - - 0, 0, 0, 0, 650, 652, 652, 652, 652, 652, - 652, 652, 652, 652, 652, 652, 652, 652, 652, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, - 588, 588, 588, 588, 588 + 594, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 596, 0, 0, 0, 0, + + 0, 596, 596, 596, 0, 0, 596, 596, 596, 597, + 597, 597, 597, 597, 597, 597, 597, 597, 597, 597, + 597, 597, 597, 598, 0, 0, 0, 0, 0, 598, + 598, 598, 598, 0, 598, 598, 598, 599, 0, 0, + 0, 0, 0, 599, 599, 599, 0, 0, 599, 599, + 599, 600, 0, 0, 600, 600, 600, 600, 600, 600, + 0, 0, 600, 600, 600, 601, 601, 0, 0, 0, + 601, 602, 0, 0, 602, 602, 602, 602, 602, 602, + 0, 0, 602, 602, 602, 603, 0, 0, 603, 603, + 603, 603, 603, 603, 0, 603, 0, 603, 603, 605, + + 0, 0, 605, 0, 605, 605, 605, 605, 605, 0, + 605, 605, 605, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 607, 607, 0, + 607, 0, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 608, 608, 608, 608, 608, 608, 608, 608, 608, + 608, 608, 608, 608, 608, 609, 609, 0, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 610, + 0, 0, 0, 0, 0, 610, 610, 610, 0, 0, + 610, 610, 610, 611, 0, 0, 611, 611, 611, 611, + 611, 611, 0, 0, 611, 611, 611, 612, 612, 0, + + 0, 0, 612, 613, 613, 613, 0, 0, 0, 613, + 614, 0, 0, 614, 614, 614, 614, 614, 614, 0, + 0, 614, 614, 614, 615, 615, 615, 615, 615, 615, + 615, 615, 615, 615, 615, 615, 615, 615, 616, 616, + 0, 0, 0, 616, 617, 617, 617, 0, 0, 0, + 617, 618, 618, 0, 0, 0, 618, 619, 619, 0, + 0, 0, 619, 620, 620, 0, 0, 0, 620, 621, + 621, 621, 0, 0, 0, 621, 622, 622, 0, 0, + 0, 622, 623, 623, 0, 0, 0, 623, 624, 624, + 0, 0, 0, 624, 625, 625, 625, 0, 0, 0, + + 625, 626, 626, 626, 626, 0, 0, 0, 626, 627, + 627, 0, 0, 0, 627, 628, 628, 0, 0, 0, + 628, 629, 629, 0, 0, 0, 629, 630, 630, 630, + 0, 0, 0, 630, 631, 631, 631, 631, 0, 0, + 0, 631, 632, 632, 0, 0, 0, 632, 633, 633, + 0, 0, 0, 633, 634, 634, 634, 0, 0, 0, + 634, 635, 635, 635, 635, 0, 0, 0, 635, 636, + 636, 0, 0, 0, 636, 637, 0, 637, 637, 0, + 0, 0, 637, 638, 638, 638, 0, 0, 0, 638, + 639, 639, 639, 639, 0, 0, 0, 639, 640, 640, + + 0, 0, 0, 640, 641, 0, 641, 641, 0, 0, + 0, 641, 642, 642, 642, 0, 0, 0, 642, 643, + 643, 643, 0, 0, 0, 0, 643, 644, 0, 0, + 644, 644, 0, 644, 644, 644, 0, 0, 644, 644, + 644, 645, 0, 0, 645, 645, 0, 645, 645, 645, + 0, 0, 645, 645, 645, 646, 646, 0, 0, 0, + 646, 647, 0, 647, 647, 0, 0, 0, 647, 648, + 648, 0, 0, 0, 0, 648, 649, 649, 649, 649, + 649, 649, 649, 649, 649, 649, 649, 649, 649, 649, + 650, 650, 0, 0, 0, 650, 651, 0, 651, 651, + + 0, 0, 0, 651, 652, 652, 0, 0, 0, 652, + 653, 0, 653, 0, 0, 0, 0, 653, 655, 655, + 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, + 655, 655, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591 + } ; static yy_state_type yy_last_accepting_state; @@ -1491,7 +1497,7 @@ static char *parse_include __P((char *)); #define INSTR 5 -#line 1494 "lex.yy.c" +#line 1500 "lex.yy.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1647,7 +1653,7 @@ YY_DECL #line 119 "toke.l" -#line 1650 "lex.yy.c" +#line 1656 "lex.yy.c" if ( yy_init ) { @@ -1699,13 +1705,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 589 ) + if ( yy_current_state >= 592 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 3620 ); + while ( yy_base[yy_current_state] != 3633 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1734,11 +1740,19 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP #line 120 "toke.l" -BEGIN STARTDEFS; +{ + LEXTRACE(", "); + return ','; + } /* return ',' */ YY_BREAK case 2: YY_RULE_SETUP -#line 122 "toke.l" +#line 125 "toke.l" +BEGIN STARTDEFS; + YY_BREAK +case 3: +YY_RULE_SETUP +#line 127 "toke.l" { BEGIN INDEFS; LEXTRACE("DEFVAR "); @@ -1748,42 +1762,42 @@ YY_RULE_SETUP } YY_BREAK -case 3: +case 4: YY_RULE_SETUP -#line 131 "toke.l" +#line 136 "toke.l" { BEGIN STARTDEFS; LEXTRACE(", "); return ','; } /* return ',' */ YY_BREAK -case 4: +case 5: YY_RULE_SETUP -#line 137 "toke.l" +#line 142 "toke.l" { LEXTRACE("= "); return '='; } /* return '=' */ YY_BREAK -case 5: +case 6: YY_RULE_SETUP -#line 142 "toke.l" +#line 147 "toke.l" { LEXTRACE("+= "); return '+'; } /* return '+' */ YY_BREAK -case 6: +case 7: YY_RULE_SETUP -#line 147 "toke.l" +#line 152 "toke.l" { LEXTRACE("-= "); return '-'; } /* return '-' */ YY_BREAK -case 7: +case 8: YY_RULE_SETUP -#line 152 "toke.l" +#line 157 "toke.l" { LEXTRACE("BEGINSTR "); yylval.string = NULL; @@ -1791,9 +1805,9 @@ YY_RULE_SETUP BEGIN INSTR; } YY_BREAK -case 8: +case 9: YY_RULE_SETUP -#line 159 "toke.l" +#line 164 "toke.l" { LEXTRACE("WORD(2) "); if (!fill(yytext, yyleng)) @@ -1803,18 +1817,18 @@ YY_RULE_SETUP YY_BREAK -case 9: +case 10: YY_RULE_SETUP -#line 168 "toke.l" +#line 173 "toke.l" { /* Line continuation char followed by newline. */ ++sudolineno; LEXTRACE("\n"); } YY_BREAK -case 10: +case 11: YY_RULE_SETUP -#line 174 "toke.l" +#line 179 "toke.l" { LEXTRACE("ENDSTR "); BEGIN prev_state; @@ -1832,18 +1846,18 @@ YY_RULE_SETUP return WORD; } YY_BREAK -case 11: +case 12: YY_RULE_SETUP -#line 191 "toke.l" +#line 196 "toke.l" { LEXTRACE("BACKSLASH "); if (!append(yytext, yyleng)) yyterminate(); } YY_BREAK -case 12: +case 13: YY_RULE_SETUP -#line 197 "toke.l" +#line 202 "toke.l" { LEXTRACE("STRBODY "); if (!append(yytext, yyleng)) @@ -1852,9 +1866,9 @@ YY_RULE_SETUP YY_BREAK -case 13: +case 14: YY_RULE_SETUP -#line 205 "toke.l" +#line 210 "toke.l" { /* quoted fnmatch glob char, pass verbatim */ LEXTRACE("QUOTEDCHAR "); @@ -1863,9 +1877,9 @@ YY_RULE_SETUP sawspace = FALSE; } YY_BREAK -case 14: +case 15: YY_RULE_SETUP -#line 213 "toke.l" +#line 218 "toke.l" { /* quoted sudoers special char, strip backslash */ LEXTRACE("QUOTEDCHAR "); @@ -1874,18 +1888,18 @@ YY_RULE_SETUP sawspace = FALSE; } YY_BREAK -case 15: +case 16: YY_RULE_SETUP -#line 221 "toke.l" +#line 226 "toke.l" { BEGIN INITIAL; yyless(0); return COMMAND; } /* end of command line args */ YY_BREAK -case 16: +case 17: YY_RULE_SETUP -#line 227 "toke.l" +#line 232 "toke.l" { LEXTRACE("ARG "); if (!fill_args(yytext, yyleng, sawspace)) @@ -1894,9 +1908,9 @@ YY_RULE_SETUP } /* a command line arg */ YY_BREAK -case 17: +case 18: YY_RULE_SETUP -#line 235 "toke.l" +#line 240 "toke.l" { char *path; @@ -1910,9 +1924,9 @@ YY_RULE_SETUP yyterminate(); } YY_BREAK -case 18: +case 19: YY_RULE_SETUP -#line 248 "toke.l" +#line 253 "toke.l" { char *path; @@ -1929,9 +1943,9 @@ YY_RULE_SETUP yyterminate(); } YY_BREAK -case 19: +case 20: YY_RULE_SETUP -#line 264 "toke.l" +#line 269 "toke.l" { int n; for (n = 0; isblank((unsigned char)yytext[n]); n++) @@ -1961,9 +1975,9 @@ YY_RULE_SETUP } } YY_BREAK -case 20: +case 21: YY_RULE_SETUP -#line 293 "toke.l" +#line 298 "toke.l" { int n; for (n = 0; isblank((unsigned char)yytext[n]); n++) @@ -1984,91 +1998,91 @@ YY_RULE_SETUP } } YY_BREAK -case 21: +case 22: YY_RULE_SETUP -#line 313 "toke.l" +#line 318 "toke.l" { /* cmnd does not require passwd for this user */ LEXTRACE("NOPASSWD "); return NOPASSWD; } YY_BREAK -case 22: +case 23: YY_RULE_SETUP -#line 319 "toke.l" +#line 324 "toke.l" { /* cmnd requires passwd for this user */ LEXTRACE("PASSWD "); return PASSWD; } YY_BREAK -case 23: +case 24: YY_RULE_SETUP -#line 325 "toke.l" +#line 330 "toke.l" { LEXTRACE("NOEXEC "); return NOEXEC; } YY_BREAK -case 24: +case 25: YY_RULE_SETUP -#line 330 "toke.l" +#line 335 "toke.l" { LEXTRACE("EXEC "); return EXEC; } YY_BREAK -case 25: +case 26: YY_RULE_SETUP -#line 335 "toke.l" +#line 340 "toke.l" { LEXTRACE("SETENV "); return SETENV; } YY_BREAK -case 26: +case 27: YY_RULE_SETUP -#line 340 "toke.l" +#line 345 "toke.l" { LEXTRACE("NOSETENV "); return NOSETENV; } YY_BREAK -case 27: +case 28: YY_RULE_SETUP -#line 345 "toke.l" +#line 350 "toke.l" { LEXTRACE("LOG_OUTPUT "); return LOG_OUTPUT; } YY_BREAK -case 28: +case 29: YY_RULE_SETUP -#line 350 "toke.l" +#line 355 "toke.l" { LEXTRACE("NOLOG_OUTPUT "); return NOLOG_OUTPUT; } YY_BREAK -case 29: +case 30: YY_RULE_SETUP -#line 355 "toke.l" +#line 360 "toke.l" { LEXTRACE("LOG_INPUT "); return LOG_INPUT; } YY_BREAK -case 30: +case 31: YY_RULE_SETUP -#line 360 "toke.l" +#line 365 "toke.l" { LEXTRACE("NOLOG_INPUT "); return NOLOG_INPUT; } YY_BREAK -case 31: +case 32: YY_RULE_SETUP -#line 365 "toke.l" +#line 370 "toke.l" { /* netgroup */ if (!fill(yytext, yyleng)) @@ -2077,9 +2091,9 @@ YY_RULE_SETUP return NETGROUP; } YY_BREAK -case 32: +case 33: YY_RULE_SETUP -#line 373 "toke.l" +#line 378 "toke.l" { /* UN*X group */ if (!fill(yytext, yyleng)) @@ -2088,9 +2102,9 @@ YY_RULE_SETUP return USERGROUP; } YY_BREAK -case 33: +case 34: YY_RULE_SETUP -#line 381 "toke.l" +#line 386 "toke.l" { if (!fill(yytext, yyleng)) yyterminate(); @@ -2098,9 +2112,9 @@ YY_RULE_SETUP return NTWKADDR; } YY_BREAK -case 34: +case 35: YY_RULE_SETUP -#line 388 "toke.l" +#line 393 "toke.l" { if (!fill(yytext, yyleng)) yyterminate(); @@ -2108,9 +2122,9 @@ YY_RULE_SETUP return NTWKADDR; } YY_BREAK -case 35: +case 36: YY_RULE_SETUP -#line 395 "toke.l" +#line 400 "toke.l" { if (!ipv6_valid(yytext)) { LEXTRACE("ERROR "); @@ -2122,9 +2136,9 @@ YY_RULE_SETUP return NTWKADDR; } YY_BREAK -case 36: +case 37: YY_RULE_SETUP -#line 406 "toke.l" +#line 411 "toke.l" { if (!ipv6_valid(yytext)) { LEXTRACE("ERROR "); @@ -2136,9 +2150,9 @@ YY_RULE_SETUP return NTWKADDR; } YY_BREAK -case 37: +case 38: YY_RULE_SETUP -#line 417 "toke.l" +#line 422 "toke.l" { if (strcmp(yytext, "ALL") == 0) { LEXTRACE("ALL "); @@ -2161,9 +2175,9 @@ YY_RULE_SETUP return ALIAS; } YY_BREAK -case 38: +case 39: YY_RULE_SETUP -#line 439 "toke.l" +#line 444 "toke.l" { /* no command args allowed for Defaults!/path */ if (!fill_cmnd(yytext, yyleng)) @@ -2172,9 +2186,9 @@ YY_RULE_SETUP return COMMAND; } YY_BREAK -case 39: +case 40: YY_RULE_SETUP -#line 447 "toke.l" +#line 452 "toke.l" { BEGIN GOTCMND; LEXTRACE("COMMAND "); @@ -2182,9 +2196,9 @@ YY_RULE_SETUP yyterminate(); } /* sudo -e */ YY_BREAK -case 40: +case 41: YY_RULE_SETUP -#line 454 "toke.l" +#line 459 "toke.l" { /* directories can't have args... */ if (yytext[yyleng - 1] == '/') { @@ -2200,9 +2214,9 @@ YY_RULE_SETUP } } /* a pathname */ YY_BREAK -case 41: +case 42: YY_RULE_SETUP -#line 469 "toke.l" +#line 474 "toke.l" { LEXTRACE("BEGINSTR "); yylval.string = NULL; @@ -2210,9 +2224,9 @@ YY_RULE_SETUP BEGIN INSTR; } YY_BREAK -case 42: +case 43: YY_RULE_SETUP -#line 476 "toke.l" +#line 481 "toke.l" { /* a word */ if (!fill(yytext, yyleng)) @@ -2221,57 +2235,57 @@ YY_RULE_SETUP return WORD; } YY_BREAK -case 43: +case 44: YY_RULE_SETUP -#line 484 "toke.l" +#line 489 "toke.l" { LEXTRACE("( "); return '('; } YY_BREAK -case 44: +case 45: YY_RULE_SETUP -#line 489 "toke.l" +#line 494 "toke.l" { LEXTRACE(") "); return ')'; } YY_BREAK -case 45: +case 46: YY_RULE_SETUP -#line 494 "toke.l" +#line 499 "toke.l" { LEXTRACE(", "); return ','; } /* return ',' */ YY_BREAK -case 46: +case 47: YY_RULE_SETUP -#line 499 "toke.l" +#line 504 "toke.l" { LEXTRACE("= "); return '='; } /* return '=' */ YY_BREAK -case 47: +case 48: YY_RULE_SETUP -#line 504 "toke.l" +#line 509 "toke.l" { LEXTRACE(": "); return ':'; } /* return ':' */ YY_BREAK -case 48: +case 49: YY_RULE_SETUP -#line 509 "toke.l" +#line 514 "toke.l" { if (yyleng % 2 == 1) return '!'; /* return '!' */ } YY_BREAK -case 49: +case 50: YY_RULE_SETUP -#line 514 "toke.l" +#line 519 "toke.l" { BEGIN INITIAL; ++sudolineno; @@ -2279,25 +2293,25 @@ YY_RULE_SETUP return COMMENT; } /* return newline */ YY_BREAK -case 50: +case 51: YY_RULE_SETUP -#line 521 "toke.l" +#line 526 "toke.l" { /* throw away space/tabs */ sawspace = TRUE; /* but remember for fill_args */ } YY_BREAK -case 51: +case 52: YY_RULE_SETUP -#line 525 "toke.l" +#line 530 "toke.l" { sawspace = TRUE; /* remember for fill_args */ ++sudolineno; LEXTRACE("\n\t"); } /* throw away EOL after \ */ YY_BREAK -case 52: +case 53: YY_RULE_SETUP -#line 531 "toke.l" +#line 536 "toke.l" { BEGIN INITIAL; ++sudolineno; @@ -2305,9 +2319,9 @@ YY_RULE_SETUP return COMMENT; } /* comment, not uid/gid */ YY_BREAK -case 53: +case 54: YY_RULE_SETUP -#line 538 "toke.l" +#line 543 "toke.l" { LEXTRACE("ERROR "); return ERROR; @@ -2319,7 +2333,7 @@ case YY_STATE_EOF(GOTCMND): case YY_STATE_EOF(STARTDEFS): case YY_STATE_EOF(INDEFS): case YY_STATE_EOF(INSTR): -#line 543 "toke.l" +#line 548 "toke.l" { if (YY_START != INITIAL) { BEGIN INITIAL; @@ -2330,12 +2344,12 @@ case YY_STATE_EOF(INSTR): yyterminate(); } YY_BREAK -case 54: +case 55: YY_RULE_SETUP -#line 553 "toke.l" +#line 558 "toke.l" ECHO; YY_BREAK -#line 2338 "lex.yy.c" +#line 2352 "lex.yy.c" case YY_END_OF_BUFFER: { @@ -2626,7 +2640,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 589 ) + if ( yy_current_state >= 592 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2661,11 +2675,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 589 ) + if ( yy_current_state >= 592 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 588); + yy_is_jam = (yy_current_state == 591); return yy_is_jam ? 0 : yy_current_state; } @@ -3226,7 +3240,7 @@ int main() return 0; } #endif -#line 553 "toke.l" +#line 558 "toke.l" struct path_list { char *path; diff --git a/toke.l b/toke.l index 7e15e4955..122fc3e47 100644 --- a/toke.l +++ b/toke.l @@ -117,6 +117,11 @@ DEFVAR [a-z_]+ %x INSTR %% +[[:blank:]]*,[[:blank:]]* { + LEXTRACE(", "); + return ','; + } /* return ',' */ + [[:blank:]]+ BEGIN STARTDEFS; {DEFVAR} {