From: Todd C. Miller Date: Thu, 31 Aug 2000 17:08:35 +0000 (+0000) Subject: Allow special characters (including '#') to be embedded in pathnames X-Git-Tag: SUDO_1_6_4~260 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d64ad7751591ce1c8f48e5a35ac5dc57e2de54c9;p=sudo Allow special characters (including '#') to be embedded in pathnames if quoted by a '\\'. The quoted chars will be dealt with by fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'. --- diff --git a/lex.yy.c b/lex.yy.c index 4e9ff8260..6053feb8f 100644 --- a/lex.yy.c +++ b/lex.yy.c @@ -286,7 +286,7 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); #define YY_NUM_RULES 31 #define YY_END_OF_BUFFER 32 -static yyconst short int yy_accept[472] = +static yyconst short int yy_accept[476] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 29, 1, 7, 11, 29, 29, 20, 30, 29, 10, 29, @@ -297,49 +297,49 @@ static yyconst short int yy_accept[472] = 21, 21, 30, 25, 5, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24, 24, 30, 29, 0, 1, 11, 29, 0, 8, 0, 17, 0, 16, 0, 28, - 28, 29, 29, 29, 29, 29, 24, 24, 24, 29, - - 2, 29, 29, 29, 29, 29, 9, 9, 9, 0, - 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 3, 3, 22, 0, 17, 0, 16, 0, 22, - 22, 22, 22, 22, 22, 21, 21, 21, 22, 25, - 0, 25, 0, 0, 25, 0, 5, 0, 17, 0, - 16, 0, 25, 25, 25, 25, 25, 25, 24, 24, - 24, 25, 29, 29, 29, 24, 24, 0, 29, 29, - 29, 29, 29, 17, 16, 9, 9, 9, 9, 9, - 22, 22, 22, 21, 21, 4, 4, 0, 4, 25, - 25, 25, 25, 24, 24, 29, 29, 29, 29, 29, - - 24, 24, 29, 29, 29, 9, 9, 9, 9, 9, - 9, 9, 22, 22, 22, 22, 22, 21, 21, 4, - 25, 25, 25, 25, 25, 24, 24, 29, 29, 29, - 24, 24, 29, 29, 9, 9, 9, 9, 9, 22, - 22, 22, 21, 21, 25, 25, 25, 24, 24, 29, - 29, 29, 29, 29, 24, 24, 29, 29, 9, 9, - 9, 9, 9, 9, 9, 22, 22, 22, 22, 22, - 21, 21, 25, 25, 25, 25, 25, 24, 24, 18, - 18, 18, 24, 0, 15, 29, 29, 9, 9, 9, - 9, 18, 18, 18, 21, 18, 18, 18, 24, 29, - - 18, 18, 18, 18, 24, 29, 26, 9, 9, 9, - 9, 9, 9, 22, 18, 18, 18, 18, 21, 25, - 18, 18, 18, 18, 24, 29, 19, 19, 19, 0, - 14, 29, 26, 9, 9, 9, 9, 22, 19, 19, - 19, 25, 19, 19, 19, 29, 29, 19, 19, 19, - 19, 19, 27, 9, 9, 9, 9, 9, 9, 9, - 22, 22, 19, 19, 19, 19, 19, 25, 25, 19, - 19, 19, 19, 19, 29, 29, 29, 19, 19, 9, - 9, 9, 9, 9, 22, 22, 22, 19, 19, 25, - 25, 25, 19, 19, 29, 29, 29, 29, 29, 9, - - 9, 9, 9, 9, 22, 22, 22, 22, 22, 25, - 25, 25, 25, 25, 29, 29, 29, 9, 9, 9, - 22, 22, 22, 25, 25, 25, 29, 29, 29, 29, - 29, 9, 9, 9, 9, 9, 22, 22, 22, 22, - 22, 25, 25, 25, 25, 25, 18, 18, 18, 9, - 9, 9, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 9, 9, 9, 18, 18, 18, 18, 18, 18, - 0 + 28, 0, 29, 29, 29, 29, 29, 24, 24, 24, + + 29, 2, 29, 29, 29, 29, 29, 9, 9, 9, + 0, 9, 0, 9, 0, 9, 9, 9, 9, 9, + 9, 9, 9, 3, 3, 22, 0, 17, 0, 16, + 0, 22, 0, 22, 22, 22, 22, 22, 21, 21, + 21, 22, 25, 0, 25, 0, 0, 25, 0, 5, + 0, 17, 0, 16, 0, 25, 0, 25, 25, 25, + 25, 25, 24, 24, 24, 25, 29, 29, 29, 24, + 24, 0, 29, 29, 29, 29, 29, 17, 16, 9, + 9, 9, 9, 9, 22, 22, 22, 21, 21, 4, + 4, 0, 4, 25, 25, 25, 25, 24, 24, 29, + + 29, 29, 29, 29, 24, 24, 29, 29, 29, 9, + 9, 9, 9, 9, 9, 9, 22, 22, 22, 22, + 22, 21, 21, 4, 25, 25, 25, 25, 25, 24, + 24, 29, 29, 29, 24, 24, 29, 29, 9, 9, + 9, 9, 9, 22, 22, 22, 21, 21, 25, 25, + 25, 24, 24, 29, 29, 29, 29, 29, 24, 24, + 29, 29, 9, 9, 9, 9, 9, 9, 9, 22, + 22, 22, 22, 22, 21, 21, 25, 25, 25, 25, + 25, 24, 24, 18, 18, 18, 24, 0, 15, 29, + 29, 9, 9, 9, 9, 18, 18, 18, 21, 18, + + 18, 18, 24, 29, 18, 18, 18, 18, 24, 29, + 26, 9, 9, 9, 9, 9, 9, 22, 18, 18, + 18, 18, 21, 25, 18, 18, 18, 18, 24, 29, + 19, 19, 19, 0, 14, 29, 26, 9, 9, 9, + 9, 22, 19, 19, 19, 25, 19, 19, 19, 29, + 29, 19, 19, 19, 19, 19, 27, 9, 9, 9, + 9, 9, 9, 9, 22, 22, 19, 19, 19, 19, + 19, 25, 25, 19, 19, 19, 19, 19, 29, 29, + 29, 19, 19, 9, 9, 9, 9, 9, 22, 22, + 22, 19, 19, 25, 25, 25, 19, 19, 29, 29, + + 29, 29, 29, 9, 9, 9, 9, 9, 22, 22, + 22, 22, 22, 25, 25, 25, 25, 25, 29, 29, + 29, 9, 9, 9, 22, 22, 22, 25, 25, 25, + 29, 29, 29, 29, 29, 9, 9, 9, 9, 9, + 22, 22, 22, 22, 22, 25, 25, 25, 25, 25, + 18, 18, 18, 9, 9, 9, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 9, 9, 9, 18, 18, + 18, 18, 18, 18, 0 } ; static yyconst int yy_ec[256] = @@ -383,132 +383,132 @@ static yyconst int yy_meta[51] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static yyconst short int yy_base[497] = +static yyconst short int yy_base[501] = { 0, - 0, 25, 59, 0, 109, 0, 159, 0, 1170, 1133, - 1166, 2983, 1163, 208, 1130, 2983, 2983, 1123, 2983, 214, - 239, 246, 224, 2983, 2983, 275, 1125, 1130, 324, 1101, - 1102, 1095, 1090, 1090, 0, 2983, 1125, 330, 332, 2983, - 226, 357, 366, 375, 2983, 0, 382, 1090, 1087, 418, - 1072, 1047, 1046, 2983, 1045, 419, 444, 253, 342, 480, - 1040, 1045, 529, 1032, 2983, 551, 586, 1030, 1025, 429, - 611, 429, 452, 647, 1030, 1027, 696, 1012, 718, 1045, - 1042, 740, 1041, 2983, 1038, 1004, 775, 1003, 797, 535, - 0, 807, 209, 0, 0, 1018, 0, 1006, 993, 211, - - 2983, 179, 192, 198, 190, 18, 0, 1021, 557, 0, - 560, 0, 230, 458, 1001, 832, 841, 586, 0, 975, - 958, 53, 2983, 954, 860, 949, 882, 948, 904, 609, - 914, 213, 0, 0, 957, 0, 925, 922, 294, 916, - 949, 971, 293, 400, 1006, 946, 2983, 920, 878, 1041, - 875, 1063, 632, 1073, 331, 0, 0, 890, 0, 876, - 869, 448, 1098, 1107, 1116, 877, 859, 275, 247, 306, - 301, 313, 394, 1135, 1170, 1195, 1204, 1213, 856, 846, - 1222, 1231, 1240, 846, 821, 809, 2983, 326, 0, 837, - 1249, 1258, 1267, 792, 782, 1274, 352, 1299, 1308, 1317, - - 774, 769, 395, 329, 386, 694, 791, 1326, 1335, 716, - 767, 760, 1344, 467, 1353, 1362, 1371, 761, 750, 421, - 1380, 534, 1389, 1398, 1407, 742, 738, 1416, 1425, 1434, - 739, 738, 465, 327, 1443, 1452, 1461, 726, 719, 1470, - 1479, 1488, 712, 711, 1497, 1506, 1515, 704, 689, 1522, - 545, 1547, 1556, 1565, 614, 481, 499, 498, 738, 634, - 1574, 1583, 752, 576, 546, 1592, 563, 1601, 1610, 1619, - 571, 589, 1628, 580, 1637, 1646, 1655, 550, 612, 1663, - 773, 795, 557, 618, 2983, 382, 576, 1687, 1695, 1703, - 550, 1712, 814, 821, 522, 1721, 858, 880, 518, 1728, - - 550, 0, 0, 516, 635, 540, 598, 902, 478, 1752, - 1760, 922, 648, 1768, 622, 0, 0, 468, 649, 1776, - 688, 0, 0, 462, 700, 1785, 1794, 1803, 1812, 704, - 2983, 667, 2983, 1821, 1830, 1839, 1848, 1857, 1866, 1875, - 1884, 1893, 1902, 1911, 1920, 1927, 711, 1952, 1961, 1970, - 1979, 766, 417, 928, 392, 1988, 1997, 2006, 2015, 851, - 2024, 724, 2033, 2042, 2051, 2060, 873, 2069, 738, 2078, - 2087, 2096, 2105, 947, 2114, 2123, 2132, 2141, 950, 2150, - 2159, 2168, 981, 628, 2177, 2186, 2195, 2204, 953, 2213, - 2222, 2231, 2240, 988, 2247, 805, 2272, 2281, 2290, 1016, - - 336, 2299, 2308, 1004, 2315, 888, 2340, 2349, 2358, 2365, - 942, 2390, 2399, 2408, 2417, 2426, 2435, 2444, 2453, 2462, - 2471, 2480, 2489, 2498, 2507, 2516, 2525, 969, 2534, 2543, - 2552, 1039, 272, 2561, 2570, 1061, 2579, 975, 2588, 2597, - 2606, 2615, 976, 2624, 2633, 2642, 2651, 2660, 2669, 1080, - 1087, 1133, 2678, 2687, 2696, 2705, 2714, 2723, 243, 2730, - 1146, 0, 1169, 1180, 238, 2753, 1285, 191, 2776, 1533, - 2983, 2812, 2819, 2826, 2833, 2840, 2847, 2853, 2860, 2867, - 2873, 2880, 2887, 2894, 2901, 2908, 2915, 2922, 2929, 2936, - 2943, 2950, 2954, 2961, 2968, 2975 + 0, 25, 59, 0, 109, 0, 159, 0, 1174, 1113, + 1146, 3053, 1135, 208, 1100, 3053, 3053, 1098, 3053, 214, + 239, 246, 224, 3053, 3053, 275, 1102, 1103, 324, 1082, + 1077, 1068, 1063, 1064, 0, 3053, 1106, 330, 332, 3053, + 261, 357, 366, 375, 3053, 0, 382, 1075, 1080, 418, + 1067, 1056, 1055, 3053, 1054, 419, 444, 254, 342, 480, + 1058, 1061, 529, 1048, 3053, 551, 586, 1047, 1046, 429, + 611, 429, 452, 647, 1051, 1046, 696, 1033, 718, 1066, + 1053, 740, 1053, 3053, 1052, 1014, 775, 1012, 797, 535, + 1011, 819, 829, 209, 0, 0, 1026, 0, 1003, 1000, + + 211, 3053, 179, 191, 198, 190, 18, 0, 1028, 557, + 0, 560, 0, 343, 599, 458, 1019, 854, 863, 599, + 0, 998, 995, 53, 3053, 985, 882, 977, 904, 976, + 926, 632, 948, 958, 213, 0, 0, 983, 0, 969, + 966, 327, 960, 993, 1015, 243, 400, 1050, 990, 3053, + 965, 931, 1085, 922, 1107, 702, 1129, 1139, 216, 0, + 0, 935, 0, 920, 912, 448, 1164, 1173, 1182, 912, + 896, 275, 197, 248, 295, 260, 301, 1201, 1236, 1261, + 1270, 1279, 900, 890, 1288, 1297, 1306, 890, 878, 874, + 3053, 417, 0, 902, 1315, 1324, 1333, 878, 868, 1340, + + 331, 1365, 1374, 1383, 859, 841, 314, 368, 443, 716, + 855, 1392, 1401, 738, 831, 803, 1410, 352, 1419, 1428, + 1437, 804, 794, 421, 1446, 534, 1455, 1464, 1473, 793, + 787, 1482, 1491, 1500, 783, 780, 465, 398, 1509, 1518, + 1527, 761, 745, 1536, 1545, 1554, 713, 718, 1563, 1572, + 1581, 691, 688, 1588, 545, 1613, 1622, 1631, 679, 481, + 499, 498, 750, 700, 1640, 1649, 773, 635, 546, 1658, + 563, 1667, 1676, 1685, 615, 582, 1694, 564, 1703, 1712, + 1721, 614, 583, 1729, 795, 817, 617, 622, 3053, 446, + 550, 1753, 1761, 1769, 607, 1778, 836, 843, 579, 1787, + + 880, 902, 565, 1794, 599, 0, 0, 571, 630, 394, + 680, 924, 564, 1818, 1826, 947, 635, 1834, 606, 0, + 0, 543, 637, 1842, 633, 0, 0, 529, 700, 1851, + 1860, 1869, 1878, 707, 3053, 597, 3053, 1887, 1896, 1905, + 1914, 1923, 1932, 1941, 1950, 1959, 1968, 1977, 1986, 1993, + 566, 2018, 2027, 2036, 2045, 759, 509, 965, 524, 2054, + 2063, 2072, 2081, 766, 2090, 701, 2099, 2108, 2117, 2126, + 788, 2135, 711, 2144, 2153, 2162, 2171, 873, 2180, 2189, + 2198, 2207, 917, 2216, 2225, 2234, 972, 744, 2243, 2252, + 2261, 2270, 991, 2279, 2288, 2297, 2306, 994, 2313, 781, + + 2338, 2347, 2356, 1025, 491, 2365, 2374, 1048, 2381, 827, + 2406, 2415, 2424, 2431, 910, 2456, 2465, 2474, 2483, 2492, + 2501, 2510, 2519, 2528, 2537, 2546, 2555, 2564, 2573, 2582, + 2591, 986, 2600, 2609, 2618, 1060, 419, 2627, 2636, 1083, + 2645, 999, 2654, 2663, 2672, 2681, 1013, 2690, 2699, 2708, + 2717, 2726, 2735, 1105, 1127, 1146, 2744, 2753, 2762, 2771, + 2780, 2789, 334, 2796, 1199, 0, 1153, 1211, 326, 2819, + 1234, 306, 2842, 1247, 3053, 2878, 2885, 2892, 2899, 2906, + 2913, 2919, 2926, 2933, 2940, 2947, 2954, 2961, 2968, 2975, + 2982, 2989, 2996, 3003, 3010, 3017, 3024, 3031, 3038, 3045 } ; -static yyconst short int yy_def[497] = +static yyconst short int yy_def[501] = { 0, - 471, 1, 471, 3, 471, 5, 471, 7, 471, 472, - 471, 471, 471, 473, 474, 471, 471, 475, 471, 476, - 472, 21, 21, 471, 471, 471, 26, 26, 472, 26, - 26, 26, 26, 26, 477, 471, 477, 478, 479, 471, - 480, 477, 477, 477, 471, 477, 477, 47, 47, 471, - 481, 481, 482, 471, 483, 484, 481, 57, 57, 471, - 60, 60, 481, 485, 471, 486, 487, 488, 489, 490, - 485, 71, 71, 471, 74, 74, 485, 472, 472, 471, - 471, 473, 491, 471, 473, 474, 474, 475, 475, 476, - 492, 472, 472, 21, 21, 21, 26, 26, 26, 472, - - 471, 472, 472, 472, 472, 472, 477, 477, 478, 493, - 479, 494, 480, 477, 477, 477, 477, 477, 47, 47, - 47, 471, 471, 481, 481, 482, 482, 483, 483, 484, - 481, 481, 57, 57, 57, 60, 60, 60, 481, 485, - 485, 486, 495, 486, 487, 496, 471, 487, 488, 488, - 489, 489, 490, 485, 485, 71, 71, 71, 74, 74, - 74, 485, 21, 21, 21, 26, 26, 471, 472, 472, - 472, 472, 472, 493, 494, 477, 477, 477, 47, 47, - 57, 57, 57, 60, 60, 485, 471, 495, 142, 142, - 71, 71, 71, 74, 74, 472, 472, 21, 21, 21, - - 26, 26, 472, 472, 472, 477, 477, 477, 477, 477, - 47, 47, 57, 481, 57, 57, 57, 60, 60, 495, - 71, 485, 71, 71, 71, 74, 74, 21, 21, 21, - 26, 26, 472, 472, 477, 477, 477, 47, 47, 57, - 57, 57, 60, 60, 71, 71, 71, 74, 74, 472, - 472, 21, 21, 21, 26, 26, 472, 472, 477, 477, - 477, 477, 477, 47, 47, 57, 481, 57, 57, 57, - 60, 60, 71, 485, 71, 71, 71, 74, 74, 472, - 280, 280, 26, 471, 471, 472, 472, 477, 477, 477, - 47, 57, 292, 292, 60, 71, 296, 296, 74, 472, - - 472, 280, 280, 280, 26, 472, 472, 477, 477, 477, - 477, 477, 47, 292, 481, 292, 292, 292, 60, 296, - 485, 296, 296, 296, 74, 21, 21, 21, 21, 471, - 471, 472, 471, 477, 477, 477, 477, 57, 57, 57, - 57, 71, 71, 71, 71, 472, 472, 21, 21, 21, - 21, 472, 472, 477, 477, 477, 477, 477, 477, 477, - 57, 481, 57, 57, 57, 57, 481, 71, 485, 71, - 71, 71, 71, 485, 21, 21, 21, 21, 472, 477, - 477, 477, 477, 477, 57, 57, 57, 57, 481, 71, - 71, 71, 71, 485, 472, 472, 21, 21, 21, 477, - - 477, 477, 477, 477, 481, 481, 57, 57, 57, 485, - 485, 71, 71, 71, 21, 21, 21, 477, 477, 477, - 57, 57, 57, 71, 71, 71, 21, 472, 21, 21, - 21, 477, 477, 477, 477, 477, 57, 481, 57, 57, - 57, 71, 485, 71, 71, 71, 21, 21, 21, 477, - 477, 477, 57, 57, 57, 71, 71, 71, 472, 472, - 472, 477, 477, 477, 481, 481, 481, 485, 485, 485, - 0, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471 + 475, 1, 475, 3, 475, 5, 475, 7, 475, 476, + 475, 475, 475, 477, 478, 475, 475, 479, 475, 480, + 476, 21, 21, 475, 475, 475, 26, 26, 476, 26, + 26, 26, 26, 26, 481, 475, 481, 482, 483, 475, + 484, 481, 481, 481, 475, 481, 481, 47, 47, 475, + 485, 485, 486, 475, 487, 488, 485, 57, 57, 475, + 60, 60, 485, 489, 475, 490, 491, 492, 493, 494, + 489, 71, 71, 475, 74, 74, 489, 476, 476, 475, + 475, 477, 495, 475, 477, 478, 478, 479, 479, 480, + 496, 476, 476, 476, 21, 21, 21, 26, 26, 26, + + 476, 475, 476, 476, 476, 476, 476, 481, 481, 482, + 497, 483, 498, 484, 475, 481, 481, 481, 481, 481, + 47, 47, 47, 475, 475, 485, 485, 486, 486, 487, + 487, 488, 485, 485, 485, 57, 57, 57, 60, 60, + 60, 485, 489, 489, 490, 499, 490, 491, 500, 475, + 491, 492, 492, 493, 493, 494, 489, 489, 489, 71, + 71, 71, 74, 74, 74, 489, 21, 21, 21, 26, + 26, 475, 476, 476, 476, 476, 476, 497, 498, 481, + 481, 481, 47, 47, 57, 57, 57, 60, 60, 489, + 475, 499, 145, 145, 71, 71, 71, 74, 74, 476, + + 476, 21, 21, 21, 26, 26, 476, 476, 476, 481, + 481, 481, 481, 481, 47, 47, 57, 485, 57, 57, + 57, 60, 60, 499, 71, 489, 71, 71, 71, 74, + 74, 21, 21, 21, 26, 26, 476, 476, 481, 481, + 481, 47, 47, 57, 57, 57, 60, 60, 71, 71, + 71, 74, 74, 476, 476, 21, 21, 21, 26, 26, + 476, 476, 481, 481, 481, 481, 481, 47, 47, 57, + 485, 57, 57, 57, 60, 60, 71, 489, 71, 71, + 71, 74, 74, 476, 284, 284, 26, 475, 475, 476, + 476, 481, 481, 481, 47, 57, 296, 296, 60, 71, + + 300, 300, 74, 476, 476, 284, 284, 284, 26, 476, + 476, 481, 481, 481, 481, 481, 47, 296, 485, 296, + 296, 296, 60, 300, 489, 300, 300, 300, 74, 21, + 21, 21, 21, 475, 475, 476, 475, 481, 481, 481, + 481, 57, 57, 57, 57, 71, 71, 71, 71, 476, + 476, 21, 21, 21, 21, 476, 476, 481, 481, 481, + 481, 481, 481, 481, 57, 485, 57, 57, 57, 57, + 485, 71, 489, 71, 71, 71, 71, 489, 21, 21, + 21, 21, 476, 481, 481, 481, 481, 481, 57, 57, + 57, 57, 485, 71, 71, 71, 71, 489, 476, 476, + + 21, 21, 21, 481, 481, 481, 481, 481, 485, 485, + 57, 57, 57, 489, 489, 71, 71, 71, 21, 21, + 21, 481, 481, 481, 57, 57, 57, 71, 71, 71, + 21, 476, 21, 21, 21, 481, 481, 481, 481, 481, + 57, 485, 57, 57, 57, 71, 489, 71, 71, 71, + 21, 21, 21, 481, 481, 481, 57, 57, 57, 71, + 71, 71, 476, 476, 476, 481, 481, 481, 485, 485, + 485, 489, 489, 489, 0, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475 } ; -static yyconst short int yy_nxt[3034] = +static yyconst short int yy_nxt[3104] = { 0, 10, 11, 12, 13, 10, 14, 15, 16, 17, 18, 19, 10, 20, 21, 22, 23, 21, 21, 21, 21, 24, 25, 17, 26, 26, 26, 26, 26, 27, 26, 28, 26, 26, 26, 26, 29, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 30, 31, 32, 79, 168, 101, 33, 173, 34, 35, + 30, 31, 32, 79, 172, 102, 33, 177, 34, 35, 11, 36, 37, 35, 35, 38, 35, 35, 39, 40, 35, 41, 42, 43, 44, 42, 42, 42, 42, 45, 46, 35, 47, 47, 47, 47, 47, 48, 47, 49, @@ -526,327 +526,335 @@ static yyconst short int yy_nxt[3034] = 74, 74, 74, 74, 77, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 83, - 84, 83, 168, 101, 79, 83, 83, 91, 83, 78, - 92, 91, 91, 169, 131, 79, 141, 79, 83, 83, - 83, 107, 170, 79, 172, 107, 91, 95, 95, 95, - 95, 95, 96, 85, 79, 171, 79, 107, 125, 79, - 92, 107, 93, 93, 93, 93, 93, 93, 93, 94, - 94, 94, 94, 94, 94, 94, 133, 133, 133, 133, - 133, 133, 133, 125, 79, 78, 168, 101, 79, 78, - 78, 78, 79, 432, 78, 203, 78, 78, 97, 97, - 97, 97, 97, 97, 97, 168, 101, 187, 97, 97, - - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 79, 97, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 100, 101, 78, 188, 125, - 220, 78, 78, 107, 78, 107, 79, 107, 107, 107, - 107, 79, 154, 204, 78, 78, 78, 400, 79, 203, - 205, 107, 107, 107, 107, 134, 134, 134, 134, 134, - 135, 188, 79, 196, 79, 110, 141, 112, 114, 258, - 115, 115, 115, 115, 115, 115, 115, 114, 234, 116, - 116, 116, 116, 116, 116, 116, 114, 79, 117, 117, - 117, 117, 117, 118, 115, 119, 119, 119, 119, 119, - - 119, 119, 143, 354, 189, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 79, 119, 122, - 101, 79, 91, 306, 124, 187, 91, 91, 123, 79, - 79, 233, 91, 203, 140, 190, 91, 91, 123, 123, - 203, 91, 156, 156, 156, 156, 156, 156, 156, 168, - 101, 91, 79, 123, 125, 131, 188, 132, 132, 132, - 132, 132, 132, 132, 141, 157, 157, 157, 157, 157, - 158, 176, 177, 178, 176, 176, 176, 176, 213, 125, - 124, 140, 284, 141, 124, 124, 124, 124, 257, 124, - 308, 124, 124, 136, 136, 136, 136, 136, 136, 136, - - 79, 285, 125, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 125, 136, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 139, 101, 124, 79, 79, 78, 124, 124, 91, 124, - 78, 286, 91, 91, 325, 221, 287, 284, 319, 124, - 124, 124, 143, 143, 143, 140, 250, 91, 143, 143, - 107, 143, 300, 107, 107, 107, 285, 107, 107, 141, - 79, 143, 143, 143, 266, 79, 313, 332, 107, 107, - 79, 107, 107, 305, 299, 79, 144, 146, 147, 146, - 284, 273, 110, 146, 146, 112, 146, 114, 125, 115, - - 115, 115, 115, 115, 115, 295, 146, 146, 146, 285, - 291, 79, 91, 284, 124, 141, 91, 91, 333, 284, - 333, 148, 154, 307, 155, 155, 155, 155, 155, 155, - 155, 91, 285, 79, 314, 91, 330, 140, 285, 91, - 91, 384, 384, 384, 125, 259, 141, 140, 283, 330, - 330, 140, 140, 140, 91, 331, 140, 125, 140, 140, - 159, 159, 159, 159, 159, 159, 159, 141, 331, 331, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 141, 159, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 162, 101, 140, - - 320, 330, 79, 140, 140, 330, 140, 235, 236, 237, - 235, 235, 235, 235, 353, 279, 140, 140, 140, 78, - 331, 78, 346, 141, 331, 78, 78, 206, 78, 207, - 207, 207, 207, 207, 207, 361, 278, 272, 78, 78, - 78, 83, 84, 83, 271, 265, 79, 83, 83, 368, - 83, 288, 289, 290, 288, 288, 288, 288, 264, 125, - 83, 83, 83, 259, 256, 260, 260, 260, 260, 260, - 260, 255, 249, 141, 248, 85, 86, 346, 86, 379, - 379, 379, 86, 86, 244, 86, 302, 302, 302, 302, - 302, 302, 302, 243, 239, 86, 86, 86, 88, 238, - - 88, 79, 206, 232, 88, 88, 231, 88, 303, 303, - 303, 303, 303, 304, 227, 226, 395, 88, 88, 88, - 163, 164, 165, 163, 163, 163, 163, 316, 316, 316, - 316, 316, 316, 316, 317, 317, 317, 317, 317, 318, - 79, 189, 79, 114, 141, 115, 115, 115, 115, 115, - 115, 115, 114, 219, 115, 115, 115, 115, 115, 115, - 115, 124, 354, 124, 384, 384, 384, 124, 124, 218, - 124, 322, 322, 322, 322, 322, 322, 322, 212, 211, - 124, 124, 124, 126, 361, 126, 389, 389, 389, 126, - 126, 202, 126, 323, 323, 323, 323, 323, 324, 405, - - 201, 195, 126, 126, 126, 128, 194, 128, 125, 140, - 152, 128, 128, 150, 128, 334, 335, 336, 337, 334, - 334, 334, 147, 125, 128, 128, 128, 181, 182, 183, - 181, 181, 181, 181, 308, 309, 309, 309, 309, 309, - 309, 380, 381, 382, 380, 380, 380, 380, 147, 125, - 140, 141, 140, 410, 185, 184, 140, 140, 368, 140, - 394, 394, 394, 379, 379, 379, 389, 389, 389, 140, - 140, 140, 143, 143, 143, 186, 124, 141, 143, 143, - 427, 143, 141, 129, 127, 79, 437, 442, 125, 125, - 180, 143, 143, 143, 383, 383, 383, 383, 383, 383, - - 383, 394, 394, 394, 79, 179, 144, 146, 147, 146, - 125, 141, 114, 146, 146, 400, 146, 401, 401, 401, - 401, 401, 401, 141, 108, 167, 146, 146, 146, 418, - 419, 420, 418, 418, 418, 418, 166, 78, 89, 87, - 84, 148, 149, 84, 149, 81, 80, 79, 149, 149, - 161, 149, 450, 451, 452, 450, 450, 450, 450, 160, - 152, 149, 149, 149, 151, 150, 151, 141, 138, 137, - 151, 151, 432, 151, 433, 433, 433, 433, 433, 433, - 129, 127, 125, 151, 151, 151, 191, 192, 193, 191, - 191, 191, 191, 462, 462, 462, 462, 462, 462, 462, - - 450, 450, 450, 450, 450, 450, 450, 125, 141, 196, - 121, 197, 197, 197, 197, 197, 197, 197, 196, 120, - 198, 198, 198, 198, 198, 198, 198, 196, 108, 199, - 199, 199, 199, 199, 200, 197, 471, 106, 471, 105, - 104, 103, 471, 471, 102, 471, 463, 463, 463, 463, - 463, 464, 462, 99, 98, 471, 471, 471, 89, 459, - 459, 459, 459, 459, 459, 87, 81, 80, 79, 471, - 110, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 79, 462, 462, 462, 462, 462, 462, 462, 471, - 471, 471, 471, 462, 462, 462, 462, 462, 462, 471, - - 471, 471, 471, 471, 471, 112, 206, 471, 207, 207, - 207, 207, 207, 207, 207, 206, 471, 208, 208, 208, - 208, 208, 208, 208, 206, 471, 209, 209, 209, 209, - 209, 210, 207, 213, 471, 214, 214, 214, 214, 214, - 214, 214, 213, 471, 215, 215, 215, 215, 215, 215, - 215, 213, 471, 216, 216, 216, 216, 216, 217, 214, - 221, 471, 222, 222, 222, 222, 222, 222, 222, 221, - 471, 223, 223, 223, 223, 223, 223, 223, 221, 471, - 224, 224, 224, 224, 224, 225, 222, 228, 229, 230, - 228, 228, 228, 228, 471, 471, 471, 471, 465, 465, - - 465, 465, 465, 465, 471, 471, 471, 471, 471, 79, - 196, 471, 197, 197, 197, 197, 197, 197, 197, 196, - 125, 197, 197, 197, 197, 197, 197, 197, 196, 471, - 197, 197, 197, 197, 197, 197, 78, 206, 471, 207, - 207, 207, 207, 207, 207, 207, 206, 471, 207, 207, - 207, 207, 207, 207, 207, 124, 471, 240, 241, 242, - 240, 240, 240, 240, 213, 471, 214, 214, 214, 214, - 214, 214, 214, 213, 471, 214, 214, 214, 214, 214, - 214, 214, 213, 471, 214, 214, 214, 214, 214, 214, - 124, 140, 471, 245, 246, 247, 245, 245, 245, 245, - - 221, 471, 222, 222, 222, 222, 222, 222, 222, 221, - 471, 222, 222, 222, 222, 222, 222, 222, 221, 471, - 222, 222, 222, 222, 222, 222, 140, 250, 471, 251, - 251, 251, 251, 251, 251, 251, 250, 471, 252, 252, - 252, 252, 252, 252, 252, 250, 471, 253, 253, 253, - 253, 253, 254, 251, 259, 471, 260, 260, 260, 260, - 260, 260, 260, 259, 471, 261, 261, 261, 261, 261, - 261, 261, 259, 471, 262, 262, 262, 262, 262, 263, - 260, 266, 471, 267, 267, 267, 267, 267, 267, 267, - 266, 471, 268, 268, 268, 268, 268, 268, 268, 266, - - 471, 269, 269, 269, 269, 269, 270, 267, 273, 471, - 274, 274, 274, 274, 274, 274, 274, 273, 471, 275, - 275, 275, 275, 275, 275, 275, 273, 471, 276, 276, - 276, 276, 276, 277, 274, 280, 281, 282, 280, 280, - 280, 280, 471, 471, 471, 471, 468, 468, 468, 468, - 468, 468, 471, 471, 471, 471, 471, 79, 250, 471, - 251, 251, 251, 251, 251, 251, 251, 250, 141, 251, - 251, 251, 251, 251, 251, 251, 250, 471, 251, 251, - 251, 251, 251, 251, 78, 259, 471, 260, 260, 260, - 260, 260, 260, 260, 259, 471, 260, 260, 260, 260, - - 260, 260, 260, 124, 471, 292, 293, 294, 292, 292, - 292, 292, 266, 471, 267, 267, 267, 267, 267, 267, - 267, 266, 471, 267, 267, 267, 267, 267, 267, 267, - 266, 471, 267, 267, 267, 267, 267, 267, 124, 140, - 471, 296, 297, 298, 296, 296, 296, 296, 273, 471, - 274, 274, 274, 274, 274, 274, 274, 273, 471, 274, - 274, 274, 274, 274, 274, 274, 273, 471, 274, 274, - 274, 274, 274, 274, 140, 300, 301, 301, 301, 301, - 301, 301, 301, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 79, 308, - - 309, 309, 309, 309, 309, 309, 309, 308, 310, 310, - 310, 310, 310, 310, 310, 308, 311, 311, 311, 311, - 311, 312, 309, 124, 314, 315, 315, 315, 315, 315, - 315, 315, 140, 320, 321, 321, 321, 321, 321, 321, - 321, 326, 327, 328, 329, 326, 326, 326, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 79, 308, 309, 309, 309, 309, 309, - 309, 309, 308, 309, 309, 309, 309, 309, 309, 309, - 124, 338, 339, 340, 341, 338, 338, 338, 140, 342, - 343, 344, 345, 342, 342, 342, 346, 471, 347, 347, - - 347, 347, 347, 347, 347, 346, 471, 348, 348, 348, - 348, 348, 348, 348, 346, 471, 349, 349, 349, 349, - 349, 350, 351, 346, 471, 352, 352, 352, 347, 347, - 347, 347, 354, 471, 355, 355, 355, 355, 355, 355, - 355, 354, 471, 356, 356, 356, 356, 356, 356, 356, - 354, 471, 357, 357, 357, 357, 357, 358, 359, 354, - 471, 360, 360, 360, 355, 355, 355, 355, 361, 471, - 362, 362, 362, 362, 362, 362, 362, 361, 471, 363, - 363, 363, 363, 363, 363, 363, 361, 471, 364, 364, - 364, 364, 364, 365, 366, 361, 471, 367, 367, 367, - - 362, 362, 362, 362, 368, 471, 369, 369, 369, 369, - 369, 369, 369, 368, 471, 370, 370, 370, 370, 370, - 370, 370, 368, 471, 371, 371, 371, 371, 371, 372, - 373, 368, 471, 374, 374, 374, 369, 369, 369, 369, - 375, 376, 377, 375, 375, 375, 375, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 79, 346, 471, 351, 351, 351, 351, 351, - 351, 351, 346, 471, 351, 351, 351, 351, 351, 351, - 351, 346, 471, 351, 351, 351, 351, 351, 351, 378, - 346, 471, 378, 378, 378, 378, 378, 378, 378, 354, - - 471, 359, 359, 359, 359, 359, 359, 359, 354, 471, - 359, 359, 359, 359, 359, 359, 359, 354, 471, 359, - 359, 359, 359, 359, 359, 383, 354, 471, 383, 383, - 383, 383, 383, 383, 383, 124, 471, 385, 386, 387, - 385, 385, 385, 385, 361, 471, 366, 366, 366, 366, - 366, 366, 366, 361, 471, 366, 366, 366, 366, 366, - 366, 366, 361, 471, 366, 366, 366, 366, 366, 366, - 388, 361, 471, 388, 388, 388, 388, 388, 388, 388, - 140, 471, 390, 391, 392, 390, 390, 390, 390, 368, - 471, 373, 373, 373, 373, 373, 373, 373, 368, 471, - - 373, 373, 373, 373, 373, 373, 373, 368, 471, 373, - 373, 373, 373, 373, 373, 393, 368, 471, 393, 393, - 393, 393, 393, 393, 393, 395, 471, 396, 396, 396, - 396, 396, 396, 396, 395, 471, 397, 397, 397, 397, - 397, 397, 397, 395, 471, 398, 398, 398, 398, 398, - 399, 396, 78, 471, 378, 378, 378, 378, 378, 378, - 378, 400, 471, 401, 401, 401, 401, 401, 401, 401, - 400, 471, 402, 402, 402, 402, 402, 402, 402, 400, - 471, 403, 403, 403, 403, 403, 404, 401, 405, 471, - 406, 406, 406, 406, 406, 406, 406, 405, 471, 407, - - 407, 407, 407, 407, 407, 407, 405, 471, 408, 408, - 408, 408, 408, 409, 406, 124, 471, 388, 388, 388, - 388, 388, 388, 388, 410, 471, 411, 411, 411, 411, - 411, 411, 411, 410, 471, 412, 412, 412, 412, 412, - 412, 412, 410, 471, 413, 413, 413, 413, 413, 414, - 411, 140, 471, 393, 393, 393, 393, 393, 393, 393, - 415, 416, 417, 415, 415, 415, 415, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 79, 395, 471, 396, 396, 396, 396, 396, - 396, 396, 395, 471, 396, 396, 396, 396, 396, 396, - - 396, 395, 471, 396, 396, 396, 396, 396, 396, 78, - 400, 471, 401, 401, 401, 401, 401, 401, 401, 400, - 471, 401, 401, 401, 401, 401, 401, 401, 421, 422, - 423, 421, 421, 421, 421, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 125, 405, 471, 406, 406, 406, 406, 406, 406, 406, - 405, 471, 406, 406, 406, 406, 406, 406, 406, 405, - 471, 406, 406, 406, 406, 406, 406, 124, 424, 425, - 426, 424, 424, 424, 424, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - - 141, 410, 471, 411, 411, 411, 411, 411, 411, 411, - 410, 471, 411, 411, 411, 411, 411, 411, 411, 410, - 471, 411, 411, 411, 411, 411, 411, 140, 427, 471, - 428, 428, 428, 428, 428, 428, 428, 427, 471, 429, - 429, 429, 429, 429, 429, 429, 427, 471, 430, 430, - 430, 430, 430, 431, 428, 432, 471, 433, 433, 433, - 433, 433, 433, 433, 432, 471, 434, 434, 434, 434, - 434, 434, 434, 432, 471, 435, 435, 435, 435, 435, - 436, 433, 437, 471, 438, 438, 438, 438, 438, 438, - 438, 437, 471, 439, 439, 439, 439, 439, 439, 439, - - 437, 471, 440, 440, 440, 440, 440, 441, 438, 442, - 471, 443, 443, 443, 443, 443, 443, 443, 442, 471, - 444, 444, 444, 444, 444, 444, 444, 442, 471, 445, - 445, 445, 445, 445, 446, 443, 78, 471, 447, 448, - 449, 447, 447, 447, 447, 427, 471, 428, 428, 428, - 428, 428, 428, 428, 427, 471, 428, 428, 428, 428, - 428, 428, 428, 427, 471, 428, 428, 428, 428, 428, - 428, 78, 432, 471, 433, 433, 433, 433, 433, 433, - 433, 432, 471, 433, 433, 433, 433, 433, 433, 433, - 124, 471, 453, 454, 455, 453, 453, 453, 453, 437, - - 471, 438, 438, 438, 438, 438, 438, 438, 437, 471, - 438, 438, 438, 438, 438, 438, 438, 437, 471, 438, - 438, 438, 438, 438, 438, 124, 140, 471, 456, 457, - 458, 456, 456, 456, 456, 442, 471, 443, 443, 443, - 443, 443, 443, 443, 442, 471, 443, 443, 443, 443, - 443, 443, 443, 442, 471, 443, 443, 443, 443, 443, - 443, 140, 78, 471, 459, 459, 459, 459, 459, 459, - 459, 78, 471, 447, 447, 447, 447, 447, 447, 447, - 78, 471, 460, 460, 460, 460, 460, 461, 459, 124, - 471, 465, 465, 465, 465, 465, 465, 465, 124, 471, - - 453, 453, 453, 453, 453, 453, 453, 124, 471, 466, - 466, 466, 466, 466, 467, 465, 140, 471, 468, 468, - 468, 468, 468, 468, 468, 140, 471, 456, 456, 456, - 456, 456, 456, 456, 140, 471, 469, 469, 469, 469, - 469, 470, 468, 459, 459, 459, 459, 459, 459, 459, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 79, 465, 465, 465, 465, - 465, 465, 465, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 125, 468, - 468, 468, 468, 468, 468, 468, 471, 471, 471, 471, - - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 141, 78, 471, 471, 471, 78, 471, 78, 82, - 82, 82, 82, 82, 82, 82, 86, 471, 471, 471, - 86, 471, 86, 88, 471, 471, 471, 88, 471, 88, - 90, 471, 471, 90, 90, 471, 90, 107, 471, 471, - 107, 107, 107, 109, 471, 471, 109, 109, 109, 109, - 111, 471, 471, 111, 111, 111, 111, 113, 471, 471, - 113, 113, 113, 124, 471, 471, 471, 124, 471, 124, - 126, 471, 471, 471, 126, 471, 126, 128, 471, 471, - 471, 128, 471, 128, 130, 471, 471, 130, 130, 471, - - 130, 140, 471, 471, 471, 140, 471, 140, 142, 142, - 142, 142, 142, 142, 142, 145, 145, 145, 145, 145, - 145, 145, 149, 471, 471, 471, 149, 471, 149, 151, - 471, 471, 471, 151, 471, 151, 153, 471, 471, 153, - 153, 471, 153, 83, 83, 83, 83, 83, 83, 83, - 91, 471, 471, 91, 174, 174, 471, 174, 174, 174, - 174, 175, 175, 471, 175, 175, 175, 175, 143, 143, - 143, 143, 143, 143, 143, 146, 146, 146, 146, 146, - 146, 146, 9, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471 + 84, 83, 172, 102, 79, 83, 83, 91, 83, 78, + 93, 91, 91, 173, 134, 79, 79, 158, 83, 83, + 83, 174, 79, 79, 176, 207, 91, 96, 96, 96, + 96, 96, 97, 85, 79, 175, 79, 191, 127, 92, + 93, 144, 94, 94, 94, 94, 94, 94, 94, 95, + 95, 95, 95, 95, 95, 95, 108, 136, 136, 136, + 136, 136, 136, 136, 79, 78, 172, 102, 192, 78, + 78, 78, 108, 79, 78, 208, 78, 78, 98, 98, + 98, 98, 98, 98, 98, 79, 115, 209, 98, 98, + + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 79, 98, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 101, 102, 78, 172, 102, + 79, 78, 78, 108, 78, 108, 79, 108, 108, 108, + 108, 144, 200, 207, 78, 78, 78, 207, 108, 79, + 237, 108, 108, 108, 108, 137, 137, 137, 137, 137, + 138, 127, 127, 217, 108, 111, 79, 113, 116, 79, + 117, 117, 117, 117, 117, 117, 117, 116, 115, 118, + 118, 118, 118, 118, 118, 118, 116, 127, 119, 119, + 119, 119, 119, 120, 117, 121, 121, 121, 121, 121, + + 121, 121, 146, 79, 193, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 238, 121, 124, + 102, 224, 91, 125, 126, 191, 91, 91, 125, 79, + 436, 336, 91, 79, 143, 194, 91, 91, 125, 125, + 262, 91, 160, 160, 160, 160, 160, 160, 160, 172, + 102, 91, 192, 125, 133, 134, 192, 135, 135, 135, + 135, 135, 135, 135, 157, 161, 161, 161, 161, 161, + 162, 180, 181, 182, 180, 180, 180, 180, 79, 127, + 126, 79, 288, 144, 126, 126, 126, 310, 261, 126, + 207, 126, 126, 139, 139, 139, 139, 139, 139, 139, + + 79, 289, 404, 139, 139, 139, 139, 139, 139, 139, + 139, 139, 139, 139, 139, 127, 139, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 142, 102, 126, 79, 79, 358, 126, 126, 91, 126, + 78, 290, 91, 91, 79, 225, 291, 288, 143, 126, + 126, 126, 146, 146, 146, 143, 254, 91, 146, 146, + 108, 146, 126, 108, 108, 108, 289, 108, 108, 144, + 92, 146, 146, 146, 270, 277, 312, 350, 108, 108, + 79, 108, 108, 288, 288, 79, 147, 149, 150, 149, + 78, 329, 111, 149, 149, 113, 149, 311, 127, 144, + + 91, 79, 289, 289, 91, 323, 149, 149, 149, 91, + 116, 304, 117, 117, 117, 117, 117, 117, 318, 91, + 91, 151, 158, 288, 159, 159, 159, 159, 159, 159, + 159, 334, 79, 317, 79, 91, 334, 126, 334, 91, + 91, 127, 289, 309, 357, 324, 144, 143, 303, 299, + 335, 143, 143, 143, 91, 335, 143, 335, 143, 143, + 163, 163, 163, 163, 163, 163, 163, 133, 144, 295, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 144, 163, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 166, 102, 143, + + 337, 334, 337, 143, 143, 91, 143, 143, 334, 91, + 91, 263, 365, 287, 283, 79, 143, 143, 143, 78, + 335, 78, 372, 282, 91, 78, 78, 335, 78, 239, + 240, 241, 239, 239, 239, 239, 127, 157, 78, 78, + 78, 83, 84, 83, 276, 275, 144, 83, 83, 210, + 83, 211, 211, 211, 211, 211, 211, 388, 388, 388, + 83, 83, 83, 292, 293, 294, 292, 292, 292, 292, + 350, 269, 383, 383, 383, 85, 86, 358, 86, 388, + 388, 388, 86, 86, 263, 86, 264, 264, 264, 264, + 264, 264, 399, 268, 79, 86, 86, 86, 88, 365, + + 88, 393, 393, 393, 88, 88, 260, 88, 306, 306, + 306, 306, 306, 306, 306, 259, 79, 88, 88, 88, + 90, 253, 78, 127, 90, 252, 78, 78, 248, 90, + 307, 307, 307, 307, 307, 308, 247, 243, 409, 90, + 90, 78, 167, 168, 169, 167, 167, 167, 167, 320, + 320, 320, 320, 320, 320, 320, 321, 321, 321, 321, + 321, 322, 127, 242, 79, 116, 210, 117, 117, 117, + 117, 117, 117, 117, 116, 236, 117, 117, 117, 117, + 117, 117, 117, 126, 372, 126, 398, 398, 398, 126, + 126, 235, 126, 326, 326, 326, 326, 326, 326, 326, + + 231, 230, 126, 126, 126, 128, 193, 128, 144, 144, + 223, 128, 128, 222, 128, 327, 327, 327, 327, 327, + 328, 414, 216, 215, 128, 128, 128, 130, 206, 130, + 383, 383, 383, 130, 130, 205, 130, 338, 339, 340, + 341, 338, 338, 338, 199, 144, 130, 130, 130, 132, + 198, 126, 79, 132, 143, 126, 126, 155, 132, 312, + 313, 313, 313, 313, 313, 313, 153, 150, 132, 132, + 126, 185, 186, 187, 185, 185, 185, 185, 384, 385, + 386, 384, 384, 384, 384, 387, 387, 387, 387, 387, + 387, 387, 150, 127, 143, 144, 143, 431, 189, 188, + + 143, 143, 126, 143, 393, 393, 393, 398, 398, 398, + 441, 131, 129, 143, 143, 143, 146, 146, 146, 190, + 127, 79, 146, 146, 446, 146, 127, 184, 183, 144, + 116, 109, 171, 170, 127, 146, 146, 146, 422, 423, + 424, 422, 422, 422, 422, 78, 115, 89, 144, 87, + 147, 149, 150, 149, 84, 84, 81, 149, 149, 404, + 149, 405, 405, 405, 405, 405, 405, 80, 79, 165, + 149, 149, 149, 454, 455, 456, 454, 454, 454, 454, + 164, 155, 153, 144, 141, 151, 152, 140, 152, 131, + 129, 127, 152, 152, 436, 152, 437, 437, 437, 437, + + 437, 437, 127, 123, 122, 152, 152, 152, 154, 109, + 154, 107, 106, 105, 154, 154, 104, 154, 466, 466, + 466, 466, 466, 466, 466, 103, 100, 154, 154, 154, + 156, 99, 143, 89, 156, 87, 143, 143, 81, 156, + 454, 454, 454, 454, 454, 454, 454, 80, 79, 156, + 156, 143, 195, 196, 197, 195, 195, 195, 195, 467, + 467, 467, 467, 467, 468, 466, 466, 466, 466, 466, + 466, 466, 466, 475, 144, 200, 475, 201, 201, 201, + 201, 201, 201, 201, 200, 475, 202, 202, 202, 202, + 202, 202, 202, 200, 475, 203, 203, 203, 203, 203, + + 204, 201, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 463, 463, 463, 463, 463, 463, 475, 475, + 475, 475, 475, 475, 466, 466, 466, 466, 466, 466, + 475, 475, 475, 475, 79, 475, 111, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 469, 469, 469, + 469, 469, 469, 475, 475, 475, 475, 475, 475, 475, + 472, 472, 472, 472, 472, 472, 475, 475, 475, 127, + 475, 113, 210, 475, 211, 211, 211, 211, 211, 211, + 211, 210, 144, 212, 212, 212, 212, 212, 212, 212, + 210, 475, 213, 213, 213, 213, 213, 214, 211, 217, + + 475, 218, 218, 218, 218, 218, 218, 218, 217, 475, + 219, 219, 219, 219, 219, 219, 219, 217, 475, 220, + 220, 220, 220, 220, 221, 218, 225, 475, 226, 226, + 226, 226, 226, 226, 226, 225, 475, 227, 227, 227, + 227, 227, 227, 227, 225, 475, 228, 228, 228, 228, + 228, 229, 226, 232, 233, 234, 232, 232, 232, 232, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 79, 200, 475, 201, 201, + 201, 201, 201, 201, 201, 200, 475, 201, 201, 201, + 201, 201, 201, 201, 200, 475, 201, 201, 201, 201, + + 201, 201, 78, 210, 475, 211, 211, 211, 211, 211, + 211, 211, 210, 475, 211, 211, 211, 211, 211, 211, + 211, 126, 475, 244, 245, 246, 244, 244, 244, 244, + 217, 475, 218, 218, 218, 218, 218, 218, 218, 217, + 475, 218, 218, 218, 218, 218, 218, 218, 217, 475, + 218, 218, 218, 218, 218, 218, 126, 143, 475, 249, + 250, 251, 249, 249, 249, 249, 225, 475, 226, 226, + 226, 226, 226, 226, 226, 225, 475, 226, 226, 226, + 226, 226, 226, 226, 225, 475, 226, 226, 226, 226, + 226, 226, 143, 254, 475, 255, 255, 255, 255, 255, + + 255, 255, 254, 475, 256, 256, 256, 256, 256, 256, + 256, 254, 475, 257, 257, 257, 257, 257, 258, 255, + 263, 475, 264, 264, 264, 264, 264, 264, 264, 263, + 475, 265, 265, 265, 265, 265, 265, 265, 263, 475, + 266, 266, 266, 266, 266, 267, 264, 270, 475, 271, + 271, 271, 271, 271, 271, 271, 270, 475, 272, 272, + 272, 272, 272, 272, 272, 270, 475, 273, 273, 273, + 273, 273, 274, 271, 277, 475, 278, 278, 278, 278, + 278, 278, 278, 277, 475, 279, 279, 279, 279, 279, + 279, 279, 277, 475, 280, 280, 280, 280, 280, 281, + + 278, 284, 285, 286, 284, 284, 284, 284, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 79, 254, 475, 255, 255, 255, 255, + 255, 255, 255, 254, 475, 255, 255, 255, 255, 255, + 255, 255, 254, 475, 255, 255, 255, 255, 255, 255, + 78, 263, 475, 264, 264, 264, 264, 264, 264, 264, + 263, 475, 264, 264, 264, 264, 264, 264, 264, 126, + 475, 296, 297, 298, 296, 296, 296, 296, 270, 475, + 271, 271, 271, 271, 271, 271, 271, 270, 475, 271, + 271, 271, 271, 271, 271, 271, 270, 475, 271, 271, + + 271, 271, 271, 271, 126, 143, 475, 300, 301, 302, + 300, 300, 300, 300, 277, 475, 278, 278, 278, 278, + 278, 278, 278, 277, 475, 278, 278, 278, 278, 278, + 278, 278, 277, 475, 278, 278, 278, 278, 278, 278, + 143, 304, 305, 305, 305, 305, 305, 305, 305, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 79, 312, 313, 313, 313, 313, + 313, 313, 313, 312, 314, 314, 314, 314, 314, 314, + 314, 312, 315, 315, 315, 315, 315, 316, 313, 126, + 318, 319, 319, 319, 319, 319, 319, 319, 143, 324, + + 325, 325, 325, 325, 325, 325, 325, 330, 331, 332, + 333, 330, 330, 330, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 79, + 312, 313, 313, 313, 313, 313, 313, 313, 312, 313, + 313, 313, 313, 313, 313, 313, 126, 342, 343, 344, + 345, 342, 342, 342, 143, 346, 347, 348, 349, 346, + 346, 346, 350, 475, 351, 351, 351, 351, 351, 351, + 351, 350, 475, 352, 352, 352, 352, 352, 352, 352, + 350, 475, 353, 353, 353, 353, 353, 354, 355, 350, + 475, 356, 356, 356, 351, 351, 351, 351, 358, 475, + + 359, 359, 359, 359, 359, 359, 359, 358, 475, 360, + 360, 360, 360, 360, 360, 360, 358, 475, 361, 361, + 361, 361, 361, 362, 363, 358, 475, 364, 364, 364, + 359, 359, 359, 359, 365, 475, 366, 366, 366, 366, + 366, 366, 366, 365, 475, 367, 367, 367, 367, 367, + 367, 367, 365, 475, 368, 368, 368, 368, 368, 369, + 370, 365, 475, 371, 371, 371, 366, 366, 366, 366, + 372, 475, 373, 373, 373, 373, 373, 373, 373, 372, + 475, 374, 374, 374, 374, 374, 374, 374, 372, 475, + 375, 375, 375, 375, 375, 376, 377, 372, 475, 378, + + 378, 378, 373, 373, 373, 373, 379, 380, 381, 379, + 379, 379, 379, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 79, 350, + 475, 355, 355, 355, 355, 355, 355, 355, 350, 475, + 355, 355, 355, 355, 355, 355, 355, 350, 475, 355, + 355, 355, 355, 355, 355, 382, 350, 475, 382, 382, + 382, 382, 382, 382, 382, 358, 475, 363, 363, 363, + 363, 363, 363, 363, 358, 475, 363, 363, 363, 363, + 363, 363, 363, 358, 475, 363, 363, 363, 363, 363, + 363, 387, 358, 475, 387, 387, 387, 387, 387, 387, + + 387, 126, 475, 389, 390, 391, 389, 389, 389, 389, + 365, 475, 370, 370, 370, 370, 370, 370, 370, 365, + 475, 370, 370, 370, 370, 370, 370, 370, 365, 475, + 370, 370, 370, 370, 370, 370, 392, 365, 475, 392, + 392, 392, 392, 392, 392, 392, 143, 475, 394, 395, + 396, 394, 394, 394, 394, 372, 475, 377, 377, 377, + 377, 377, 377, 377, 372, 475, 377, 377, 377, 377, + 377, 377, 377, 372, 475, 377, 377, 377, 377, 377, + 377, 397, 372, 475, 397, 397, 397, 397, 397, 397, + 397, 399, 475, 400, 400, 400, 400, 400, 400, 400, + + 399, 475, 401, 401, 401, 401, 401, 401, 401, 399, + 475, 402, 402, 402, 402, 402, 403, 400, 78, 475, + 382, 382, 382, 382, 382, 382, 382, 404, 475, 405, + 405, 405, 405, 405, 405, 405, 404, 475, 406, 406, + 406, 406, 406, 406, 406, 404, 475, 407, 407, 407, + 407, 407, 408, 405, 409, 475, 410, 410, 410, 410, + 410, 410, 410, 409, 475, 411, 411, 411, 411, 411, + 411, 411, 409, 475, 412, 412, 412, 412, 412, 413, + 410, 126, 475, 392, 392, 392, 392, 392, 392, 392, + 414, 475, 415, 415, 415, 415, 415, 415, 415, 414, + + 475, 416, 416, 416, 416, 416, 416, 416, 414, 475, + 417, 417, 417, 417, 417, 418, 415, 143, 475, 397, + 397, 397, 397, 397, 397, 397, 419, 420, 421, 419, + 419, 419, 419, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 79, 399, + 475, 400, 400, 400, 400, 400, 400, 400, 399, 475, + 400, 400, 400, 400, 400, 400, 400, 399, 475, 400, + 400, 400, 400, 400, 400, 78, 404, 475, 405, 405, + 405, 405, 405, 405, 405, 404, 475, 405, 405, 405, + 405, 405, 405, 405, 425, 426, 427, 425, 425, 425, + + 425, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 127, 409, 475, 410, + 410, 410, 410, 410, 410, 410, 409, 475, 410, 410, + 410, 410, 410, 410, 410, 409, 475, 410, 410, 410, + 410, 410, 410, 126, 428, 429, 430, 428, 428, 428, + 428, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 144, 414, 475, 415, + 415, 415, 415, 415, 415, 415, 414, 475, 415, 415, + 415, 415, 415, 415, 415, 414, 475, 415, 415, 415, + 415, 415, 415, 143, 431, 475, 432, 432, 432, 432, + + 432, 432, 432, 431, 475, 433, 433, 433, 433, 433, + 433, 433, 431, 475, 434, 434, 434, 434, 434, 435, + 432, 436, 475, 437, 437, 437, 437, 437, 437, 437, + 436, 475, 438, 438, 438, 438, 438, 438, 438, 436, + 475, 439, 439, 439, 439, 439, 440, 437, 441, 475, + 442, 442, 442, 442, 442, 442, 442, 441, 475, 443, + 443, 443, 443, 443, 443, 443, 441, 475, 444, 444, + 444, 444, 444, 445, 442, 446, 475, 447, 447, 447, + 447, 447, 447, 447, 446, 475, 448, 448, 448, 448, + 448, 448, 448, 446, 475, 449, 449, 449, 449, 449, + + 450, 447, 78, 475, 451, 452, 453, 451, 451, 451, + 451, 431, 475, 432, 432, 432, 432, 432, 432, 432, + 431, 475, 432, 432, 432, 432, 432, 432, 432, 431, + 475, 432, 432, 432, 432, 432, 432, 78, 436, 475, + 437, 437, 437, 437, 437, 437, 437, 436, 475, 437, + 437, 437, 437, 437, 437, 437, 126, 475, 457, 458, + 459, 457, 457, 457, 457, 441, 475, 442, 442, 442, + 442, 442, 442, 442, 441, 475, 442, 442, 442, 442, + 442, 442, 442, 441, 475, 442, 442, 442, 442, 442, + 442, 126, 143, 475, 460, 461, 462, 460, 460, 460, + + 460, 446, 475, 447, 447, 447, 447, 447, 447, 447, + 446, 475, 447, 447, 447, 447, 447, 447, 447, 446, + 475, 447, 447, 447, 447, 447, 447, 143, 78, 475, + 463, 463, 463, 463, 463, 463, 463, 78, 475, 451, + 451, 451, 451, 451, 451, 451, 78, 475, 464, 464, + 464, 464, 464, 465, 463, 126, 475, 469, 469, 469, + 469, 469, 469, 469, 126, 475, 457, 457, 457, 457, + 457, 457, 457, 126, 475, 470, 470, 470, 470, 470, + 471, 469, 143, 475, 472, 472, 472, 472, 472, 472, + 472, 143, 475, 460, 460, 460, 460, 460, 460, 460, + + 143, 475, 473, 473, 473, 473, 473, 474, 472, 463, + 463, 463, 463, 463, 463, 463, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 79, 469, 469, 469, 469, 469, 469, 469, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 127, 472, 472, 472, 472, 472, + 472, 472, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 144, 78, 475, + 475, 475, 78, 475, 78, 82, 82, 82, 82, 82, + 82, 82, 86, 475, 475, 475, 86, 475, 86, 88, + + 475, 475, 475, 88, 475, 88, 90, 475, 475, 90, + 90, 475, 90, 108, 475, 475, 108, 108, 108, 110, + 475, 475, 110, 110, 110, 110, 112, 475, 475, 112, + 112, 112, 112, 114, 475, 475, 114, 114, 114, 114, + 126, 475, 475, 475, 126, 475, 126, 128, 475, 475, + 475, 128, 475, 128, 130, 475, 475, 475, 130, 475, + 130, 132, 475, 475, 132, 132, 475, 132, 143, 475, + 475, 475, 143, 475, 143, 145, 145, 145, 145, 145, + 145, 145, 148, 148, 148, 148, 148, 148, 148, 152, + 475, 475, 475, 152, 475, 152, 154, 475, 475, 475, + + 154, 475, 154, 156, 475, 475, 156, 156, 475, 156, + 83, 83, 83, 83, 83, 83, 83, 91, 475, 475, + 91, 475, 475, 91, 178, 178, 475, 178, 178, 178, + 178, 179, 179, 475, 179, 179, 179, 179, 146, 146, + 146, 146, 146, 146, 146, 149, 149, 149, 149, 149, + 149, 149, 9, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + + 475, 475, 475 } ; -static yyconst short int yy_chk[3034] = +static yyconst short int yy_chk[3104] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 106, 122, 122, 2, 106, 2, 3, + 2, 2, 2, 107, 124, 124, 2, 107, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -864,317 +872,325 @@ static yyconst short int yy_chk[3034] = 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, - 14, 14, 100, 100, 102, 14, 14, 20, 14, 20, - 93, 20, 20, 102, 132, 105, 468, 103, 14, 14, - 14, 41, 103, 104, 105, 113, 20, 23, 23, 23, - 23, 23, 23, 14, 93, 104, 100, 41, 132, 20, - 21, 113, 21, 21, 21, 21, 21, 21, 21, 22, - 22, 22, 22, 22, 22, 22, 58, 58, 58, 58, - 58, 58, 58, 465, 21, 26, 168, 168, 459, 26, - 26, 26, 169, 433, 26, 169, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 139, 139, 143, 26, 26, + 14, 14, 101, 101, 103, 14, 14, 20, 14, 20, + 94, 20, 20, 103, 135, 106, 104, 159, 14, 14, + 14, 104, 173, 105, 106, 173, 20, 23, 23, 23, + 23, 23, 23, 14, 94, 105, 101, 146, 135, 20, + 21, 159, 21, 21, 21, 21, 21, 21, 21, 22, + 22, 22, 22, 22, 22, 22, 41, 58, 58, 58, + 58, 58, 58, 58, 21, 26, 172, 172, 146, 26, + 26, 26, 41, 174, 26, 174, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 176, 41, 176, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 29, 29, 29, 143, 139, - 188, 29, 29, 38, 29, 39, 171, 38, 38, 39, - 39, 170, 155, 170, 29, 29, 29, 401, 172, 171, - 172, 38, 38, 39, 39, 59, 59, 59, 59, 59, - 59, 188, 234, 197, 204, 38, 155, 39, 42, 234, - 42, 42, 42, 42, 42, 42, 42, 43, 204, 43, - 43, 43, 43, 43, 43, 43, 44, 197, 44, 44, + 26, 26, 26, 26, 26, 29, 29, 29, 142, 142, + 175, 29, 29, 38, 29, 39, 177, 38, 38, 39, + 39, 472, 201, 175, 29, 29, 29, 177, 114, 207, + 207, 38, 38, 39, 39, 59, 59, 59, 59, 59, + 59, 469, 142, 218, 114, 38, 201, 39, 42, 463, + 42, 42, 42, 42, 42, 42, 42, 43, 114, 43, + 43, 43, 43, 43, 43, 43, 44, 218, 44, 44, 44, 44, 44, 44, 44, 47, 47, 47, 47, 47, - 47, 47, 144, 355, 144, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 286, 47, 50, - 50, 205, 56, 286, 56, 220, 56, 56, 50, 173, - 203, 203, 70, 205, 70, 144, 70, 70, 50, 50, - 173, 56, 72, 72, 72, 72, 72, 72, 72, 162, - 162, 70, 353, 50, 56, 57, 220, 57, 57, 57, + 47, 47, 147, 208, 147, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 208, 47, 50, + 50, 192, 56, 50, 56, 224, 56, 56, 50, 310, + 437, 310, 70, 238, 70, 147, 70, 70, 50, 50, + 238, 56, 72, 72, 72, 72, 72, 72, 72, 166, + 166, 70, 192, 50, 56, 57, 224, 57, 57, 57, 57, 57, 57, 57, 70, 73, 73, 73, 73, 73, - 73, 114, 114, 114, 114, 114, 114, 114, 214, 57, - 60, 324, 256, 162, 60, 60, 60, 318, 233, 60, - 309, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 73, 116, 116, 116, 116, 116, 116, 116, 209, 57, + 60, 290, 260, 166, 60, 60, 60, 290, 237, 60, + 209, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 233, 256, 214, 60, 60, 60, 60, 60, 60, 60, + 237, 260, 405, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 63, 63, 63, 258, 257, 304, 63, 63, 90, 63, - 90, 257, 90, 90, 299, 222, 258, 265, 295, 63, - 63, 63, 66, 66, 66, 66, 251, 90, 66, 66, - 109, 66, 301, 111, 109, 109, 265, 111, 111, 222, - 90, 66, 66, 66, 267, 306, 291, 306, 109, 109, - 251, 111, 111, 283, 278, 301, 66, 67, 67, 67, - 272, 274, 109, 67, 67, 111, 67, 118, 267, 118, - - 118, 118, 118, 118, 118, 271, 67, 67, 67, 272, - 264, 287, 130, 279, 130, 274, 130, 130, 307, 284, - 307, 67, 71, 287, 71, 71, 71, 71, 71, 71, - 71, 130, 279, 307, 315, 153, 305, 153, 284, 153, - 153, 384, 384, 384, 130, 260, 71, 74, 255, 313, - 319, 74, 74, 74, 153, 305, 74, 315, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 153, 313, 319, + 63, 63, 63, 262, 261, 359, 63, 63, 90, 63, + 90, 261, 90, 90, 357, 226, 262, 269, 328, 63, + 63, 63, 66, 66, 66, 66, 255, 90, 66, 66, + 110, 66, 322, 112, 110, 110, 269, 112, 112, 226, + 90, 66, 66, 66, 271, 278, 313, 351, 110, 110, + 255, 112, 112, 276, 283, 291, 66, 67, 67, 67, + 308, 303, 110, 67, 67, 112, 67, 291, 271, 278, + + 115, 351, 276, 283, 115, 299, 67, 67, 67, 115, + 120, 305, 120, 120, 120, 120, 120, 120, 319, 115, + 115, 67, 71, 288, 71, 71, 71, 71, 71, 71, + 71, 309, 336, 295, 305, 132, 317, 132, 323, 132, + 132, 319, 288, 287, 336, 325, 71, 74, 282, 275, + 309, 74, 74, 74, 132, 317, 74, 323, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 132, 325, 268, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 77, 77, 77, - 321, 325, 332, 77, 77, 330, 77, 206, 206, 206, - 206, 206, 206, 206, 332, 249, 77, 77, 77, 79, - 325, 79, 347, 321, 330, 79, 79, 210, 79, 210, - 210, 210, 210, 210, 210, 362, 248, 244, 79, 79, - 79, 82, 82, 82, 243, 239, 347, 82, 82, 369, - 82, 259, 259, 259, 259, 259, 259, 259, 238, 362, - 82, 82, 82, 263, 232, 263, 263, 263, 263, 263, - 263, 231, 227, 369, 226, 82, 87, 352, 87, 352, - 352, 352, 87, 87, 219, 87, 281, 281, 281, 281, - 281, 281, 281, 218, 212, 87, 87, 87, 89, 211, - - 89, 352, 207, 202, 89, 89, 201, 89, 282, 282, - 282, 282, 282, 282, 195, 194, 396, 89, 89, 89, - 92, 92, 92, 92, 92, 92, 92, 293, 293, 293, - 293, 293, 293, 293, 294, 294, 294, 294, 294, 294, - 396, 190, 92, 116, 186, 116, 116, 116, 116, 116, - 116, 116, 117, 185, 117, 117, 117, 117, 117, 117, - 117, 125, 360, 125, 360, 360, 360, 125, 125, 184, - 125, 297, 297, 297, 297, 297, 297, 297, 180, 179, - 125, 125, 125, 127, 367, 127, 367, 367, 367, 127, - 127, 167, 127, 298, 298, 298, 298, 298, 298, 406, - - 166, 161, 127, 127, 127, 129, 160, 129, 367, 158, - 151, 129, 129, 149, 129, 308, 308, 308, 308, 308, - 308, 308, 148, 406, 129, 129, 129, 131, 131, 131, - 131, 131, 131, 131, 312, 312, 312, 312, 312, 312, - 312, 354, 354, 354, 354, 354, 354, 354, 146, 131, - 141, 140, 141, 411, 138, 137, 141, 141, 374, 141, - 374, 374, 374, 379, 379, 379, 389, 389, 389, 141, - 141, 141, 142, 142, 142, 142, 135, 411, 142, 142, - 428, 142, 374, 128, 126, 379, 438, 443, 389, 124, - 121, 142, 142, 142, 383, 383, 383, 383, 383, 383, - - 383, 394, 394, 394, 428, 120, 142, 145, 145, 145, - 438, 443, 115, 145, 145, 404, 145, 404, 404, 404, - 404, 404, 404, 394, 108, 99, 145, 145, 145, 400, - 400, 400, 400, 400, 400, 400, 98, 96, 88, 86, - 85, 145, 150, 83, 150, 81, 80, 78, 150, 150, - 76, 150, 432, 432, 432, 432, 432, 432, 432, 75, - 69, 150, 150, 150, 152, 68, 152, 64, 62, 61, - 152, 152, 436, 152, 436, 436, 436, 436, 436, 436, - 55, 53, 52, 152, 152, 152, 154, 154, 154, 154, - 154, 154, 154, 450, 450, 450, 450, 450, 450, 450, - - 451, 451, 451, 451, 451, 451, 451, 51, 154, 163, - 49, 163, 163, 163, 163, 163, 163, 163, 164, 48, - 164, 164, 164, 164, 164, 164, 164, 165, 37, 165, - 165, 165, 165, 165, 165, 165, 174, 34, 174, 33, - 32, 31, 174, 174, 30, 174, 452, 452, 452, 452, - 452, 452, 452, 28, 27, 174, 174, 174, 18, 461, - 461, 461, 461, 461, 461, 15, 13, 11, 10, 9, - 174, 175, 0, 175, 0, 0, 0, 175, 175, 0, - 175, 461, 463, 463, 463, 463, 463, 463, 463, 0, - 175, 175, 175, 464, 464, 464, 464, 464, 464, 0, - - 0, 0, 0, 0, 0, 175, 176, 0, 176, 176, - 176, 176, 176, 176, 176, 177, 0, 177, 177, 177, - 177, 177, 177, 177, 178, 0, 178, 178, 178, 178, - 178, 178, 178, 181, 0, 181, 181, 181, 181, 181, - 181, 181, 182, 0, 182, 182, 182, 182, 182, 182, - 182, 183, 0, 183, 183, 183, 183, 183, 183, 183, - 191, 0, 191, 191, 191, 191, 191, 191, 191, 192, - 0, 192, 192, 192, 192, 192, 192, 192, 193, 0, - 193, 193, 193, 193, 193, 193, 193, 196, 196, 196, - 196, 196, 196, 196, 0, 0, 0, 0, 467, 467, - - 467, 467, 467, 467, 0, 0, 0, 0, 0, 196, - 198, 0, 198, 198, 198, 198, 198, 198, 198, 199, - 467, 199, 199, 199, 199, 199, 199, 199, 200, 0, - 200, 200, 200, 200, 200, 200, 200, 208, 0, 208, - 208, 208, 208, 208, 208, 208, 209, 0, 209, 209, - 209, 209, 209, 209, 209, 213, 0, 213, 213, 213, - 213, 213, 213, 213, 215, 0, 215, 215, 215, 215, - 215, 215, 215, 216, 0, 216, 216, 216, 216, 216, - 216, 216, 217, 0, 217, 217, 217, 217, 217, 217, - 217, 221, 0, 221, 221, 221, 221, 221, 221, 221, - - 223, 0, 223, 223, 223, 223, 223, 223, 223, 224, - 0, 224, 224, 224, 224, 224, 224, 224, 225, 0, - 225, 225, 225, 225, 225, 225, 225, 228, 0, 228, - 228, 228, 228, 228, 228, 228, 229, 0, 229, 229, - 229, 229, 229, 229, 229, 230, 0, 230, 230, 230, - 230, 230, 230, 230, 235, 0, 235, 235, 235, 235, - 235, 235, 235, 236, 0, 236, 236, 236, 236, 236, - 236, 236, 237, 0, 237, 237, 237, 237, 237, 237, - 237, 240, 0, 240, 240, 240, 240, 240, 240, 240, - 241, 0, 241, 241, 241, 241, 241, 241, 241, 242, - - 0, 242, 242, 242, 242, 242, 242, 242, 245, 0, - 245, 245, 245, 245, 245, 245, 245, 246, 0, 246, - 246, 246, 246, 246, 246, 246, 247, 0, 247, 247, - 247, 247, 247, 247, 247, 250, 250, 250, 250, 250, - 250, 250, 0, 0, 0, 0, 470, 470, 470, 470, - 470, 470, 0, 0, 0, 0, 0, 250, 252, 0, - 252, 252, 252, 252, 252, 252, 252, 253, 470, 253, - 253, 253, 253, 253, 253, 253, 254, 0, 254, 254, - 254, 254, 254, 254, 254, 261, 0, 261, 261, 261, - 261, 261, 261, 261, 262, 0, 262, 262, 262, 262, - - 262, 262, 262, 266, 0, 266, 266, 266, 266, 266, - 266, 266, 268, 0, 268, 268, 268, 268, 268, 268, - 268, 269, 0, 269, 269, 269, 269, 269, 269, 269, - 270, 0, 270, 270, 270, 270, 270, 270, 270, 273, - 0, 273, 273, 273, 273, 273, 273, 273, 275, 0, - 275, 275, 275, 275, 275, 275, 275, 276, 0, 276, - 276, 276, 276, 276, 276, 276, 277, 0, 277, 277, - 277, 277, 277, 277, 277, 280, 280, 280, 280, 280, - 280, 280, 280, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 280, 288, - - 288, 288, 288, 288, 288, 288, 288, 289, 289, 289, - 289, 289, 289, 289, 289, 290, 290, 290, 290, 290, - 290, 290, 290, 292, 292, 292, 292, 292, 292, 292, - 292, 292, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 300, 300, 300, 300, 300, 300, 300, 0, 0, + 311, 329, 311, 77, 77, 156, 77, 156, 334, 156, + 156, 264, 366, 259, 253, 311, 77, 77, 77, 79, + 329, 79, 373, 252, 156, 79, 79, 334, 79, 210, + 210, 210, 210, 210, 210, 210, 366, 156, 79, 79, + 79, 82, 82, 82, 248, 247, 373, 82, 82, 214, + 82, 214, 214, 214, 214, 214, 214, 388, 388, 388, + 82, 82, 82, 263, 263, 263, 263, 263, 263, 263, + 356, 243, 356, 356, 356, 82, 87, 364, 87, 364, + 364, 364, 87, 87, 267, 87, 267, 267, 267, 267, + 267, 267, 400, 242, 356, 87, 87, 87, 89, 371, + + 89, 371, 371, 371, 89, 89, 236, 89, 285, 285, + 285, 285, 285, 285, 285, 235, 400, 89, 89, 89, + 92, 231, 92, 371, 92, 230, 92, 92, 223, 92, + 286, 286, 286, 286, 286, 286, 222, 216, 410, 92, + 92, 92, 93, 93, 93, 93, 93, 93, 93, 297, + 297, 297, 297, 297, 297, 297, 298, 298, 298, 298, + 298, 298, 410, 215, 93, 118, 211, 118, 118, 118, + 118, 118, 118, 118, 119, 206, 119, 119, 119, 119, + 119, 119, 119, 127, 378, 127, 378, 378, 378, 127, + 127, 205, 127, 301, 301, 301, 301, 301, 301, 301, + + 199, 198, 127, 127, 127, 129, 194, 129, 378, 190, + 189, 129, 129, 188, 129, 302, 302, 302, 302, 302, + 302, 415, 184, 183, 129, 129, 129, 131, 171, 131, + 383, 383, 383, 131, 131, 170, 131, 312, 312, 312, + 312, 312, 312, 312, 165, 415, 131, 131, 131, 133, + 164, 133, 383, 133, 162, 133, 133, 154, 133, 316, + 316, 316, 316, 316, 316, 316, 152, 151, 133, 133, + 133, 134, 134, 134, 134, 134, 134, 134, 358, 358, + 358, 358, 358, 358, 358, 387, 387, 387, 387, 387, + 387, 387, 149, 134, 144, 143, 144, 432, 141, 140, + + 144, 144, 138, 144, 393, 393, 393, 398, 398, 398, + 442, 130, 128, 144, 144, 144, 145, 145, 145, 145, + 126, 432, 145, 145, 447, 145, 393, 123, 122, 398, + 117, 109, 100, 99, 442, 145, 145, 145, 404, 404, + 404, 404, 404, 404, 404, 97, 91, 88, 447, 86, + 145, 148, 148, 148, 85, 83, 81, 148, 148, 408, + 148, 408, 408, 408, 408, 408, 408, 80, 78, 76, + 148, 148, 148, 436, 436, 436, 436, 436, 436, 436, + 75, 69, 68, 64, 62, 148, 153, 61, 153, 55, + 53, 52, 153, 153, 440, 153, 440, 440, 440, 440, + + 440, 440, 51, 49, 48, 153, 153, 153, 155, 37, + 155, 34, 33, 32, 155, 155, 31, 155, 454, 454, + 454, 454, 454, 454, 454, 30, 28, 155, 155, 155, + 157, 27, 157, 18, 157, 15, 157, 157, 13, 157, + 455, 455, 455, 455, 455, 455, 455, 11, 10, 157, + 157, 157, 158, 158, 158, 158, 158, 158, 158, 456, + 456, 456, 456, 456, 456, 456, 467, 467, 467, 467, + 467, 467, 467, 9, 158, 167, 0, 167, 167, 167, + 167, 167, 167, 167, 168, 0, 168, 168, 168, 168, + 168, 168, 168, 169, 0, 169, 169, 169, 169, 169, + + 169, 169, 178, 0, 178, 0, 0, 0, 178, 178, + 0, 178, 465, 465, 465, 465, 465, 465, 0, 0, + 0, 178, 178, 178, 468, 468, 468, 468, 468, 468, + 0, 0, 0, 0, 465, 0, 178, 179, 0, 179, + 0, 0, 0, 179, 179, 0, 179, 471, 471, 471, + 471, 471, 471, 0, 0, 0, 179, 179, 179, 0, + 474, 474, 474, 474, 474, 474, 0, 0, 0, 471, + 0, 179, 180, 0, 180, 180, 180, 180, 180, 180, + 180, 181, 474, 181, 181, 181, 181, 181, 181, 181, + 182, 0, 182, 182, 182, 182, 182, 182, 182, 185, + + 0, 185, 185, 185, 185, 185, 185, 185, 186, 0, + 186, 186, 186, 186, 186, 186, 186, 187, 0, 187, + 187, 187, 187, 187, 187, 187, 195, 0, 195, 195, + 195, 195, 195, 195, 195, 196, 0, 196, 196, 196, + 196, 196, 196, 196, 197, 0, 197, 197, 197, 197, + 197, 197, 197, 200, 200, 200, 200, 200, 200, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 300, 310, 310, 310, 310, 310, 310, - 310, 310, 311, 311, 311, 311, 311, 311, 311, 311, - 314, 314, 314, 314, 314, 314, 314, 314, 320, 320, - 320, 320, 320, 320, 320, 320, 326, 0, 326, 326, - - 326, 326, 326, 326, 326, 327, 0, 327, 327, 327, - 327, 327, 327, 327, 328, 0, 328, 328, 328, 328, - 328, 328, 328, 329, 0, 329, 329, 329, 329, 329, - 329, 329, 334, 0, 334, 334, 334, 334, 334, 334, - 334, 335, 0, 335, 335, 335, 335, 335, 335, 335, - 336, 0, 336, 336, 336, 336, 336, 336, 336, 337, - 0, 337, 337, 337, 337, 337, 337, 337, 338, 0, + 0, 0, 0, 0, 0, 200, 202, 0, 202, 202, + 202, 202, 202, 202, 202, 203, 0, 203, 203, 203, + 203, 203, 203, 203, 204, 0, 204, 204, 204, 204, + + 204, 204, 204, 212, 0, 212, 212, 212, 212, 212, + 212, 212, 213, 0, 213, 213, 213, 213, 213, 213, + 213, 217, 0, 217, 217, 217, 217, 217, 217, 217, + 219, 0, 219, 219, 219, 219, 219, 219, 219, 220, + 0, 220, 220, 220, 220, 220, 220, 220, 221, 0, + 221, 221, 221, 221, 221, 221, 221, 225, 0, 225, + 225, 225, 225, 225, 225, 225, 227, 0, 227, 227, + 227, 227, 227, 227, 227, 228, 0, 228, 228, 228, + 228, 228, 228, 228, 229, 0, 229, 229, 229, 229, + 229, 229, 229, 232, 0, 232, 232, 232, 232, 232, + + 232, 232, 233, 0, 233, 233, 233, 233, 233, 233, + 233, 234, 0, 234, 234, 234, 234, 234, 234, 234, + 239, 0, 239, 239, 239, 239, 239, 239, 239, 240, + 0, 240, 240, 240, 240, 240, 240, 240, 241, 0, + 241, 241, 241, 241, 241, 241, 241, 244, 0, 244, + 244, 244, 244, 244, 244, 244, 245, 0, 245, 245, + 245, 245, 245, 245, 245, 246, 0, 246, 246, 246, + 246, 246, 246, 246, 249, 0, 249, 249, 249, 249, + 249, 249, 249, 250, 0, 250, 250, 250, 250, 250, + 250, 250, 251, 0, 251, 251, 251, 251, 251, 251, + + 251, 254, 254, 254, 254, 254, 254, 254, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 254, 256, 0, 256, 256, 256, 256, + 256, 256, 256, 257, 0, 257, 257, 257, 257, 257, + 257, 257, 258, 0, 258, 258, 258, 258, 258, 258, + 258, 265, 0, 265, 265, 265, 265, 265, 265, 265, + 266, 0, 266, 266, 266, 266, 266, 266, 266, 270, + 0, 270, 270, 270, 270, 270, 270, 270, 272, 0, + 272, 272, 272, 272, 272, 272, 272, 273, 0, 273, + 273, 273, 273, 273, 273, 273, 274, 0, 274, 274, + + 274, 274, 274, 274, 274, 277, 0, 277, 277, 277, + 277, 277, 277, 277, 279, 0, 279, 279, 279, 279, + 279, 279, 279, 280, 0, 280, 280, 280, 280, 280, + 280, 280, 281, 0, 281, 281, 281, 281, 281, 281, + 281, 284, 284, 284, 284, 284, 284, 284, 284, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 284, 292, 292, 292, 292, 292, + 292, 292, 292, 293, 293, 293, 293, 293, 293, 293, + 293, 294, 294, 294, 294, 294, 294, 294, 294, 296, + 296, 296, 296, 296, 296, 296, 296, 296, 300, 300, + + 300, 300, 300, 300, 300, 300, 300, 304, 304, 304, + 304, 304, 304, 304, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 314, 314, 314, 314, 314, 314, 314, 314, 315, 315, + 315, 315, 315, 315, 315, 315, 318, 318, 318, 318, + 318, 318, 318, 318, 324, 324, 324, 324, 324, 324, + 324, 324, 330, 0, 330, 330, 330, 330, 330, 330, + 330, 331, 0, 331, 331, 331, 331, 331, 331, 331, + 332, 0, 332, 332, 332, 332, 332, 332, 332, 333, + 0, 333, 333, 333, 333, 333, 333, 333, 338, 0, + 338, 338, 338, 338, 338, 338, 338, 339, 0, 339, 339, 339, 339, 339, 339, 339, 340, 0, 340, 340, 340, 340, 340, 340, 340, 341, 0, 341, 341, 341, - 341, 341, 341, 341, 342, 0, 342, 342, 342, 342, 342, 342, 342, 343, 0, 343, 343, 343, 343, 343, 343, 343, 344, 0, 344, 344, 344, 344, 344, 344, 344, 345, 0, 345, 345, 345, 345, 345, 345, 345, - 346, 346, 346, 346, 346, 346, 346, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 346, 348, 0, 348, 348, 348, 348, 348, - 348, 348, 349, 0, 349, 349, 349, 349, 349, 349, - 349, 350, 0, 350, 350, 350, 350, 350, 350, 350, - 351, 0, 351, 351, 351, 351, 351, 351, 351, 356, - - 0, 356, 356, 356, 356, 356, 356, 356, 357, 0, - 357, 357, 357, 357, 357, 357, 357, 358, 0, 358, - 358, 358, 358, 358, 358, 358, 359, 0, 359, 359, - 359, 359, 359, 359, 359, 361, 0, 361, 361, 361, - 361, 361, 361, 361, 363, 0, 363, 363, 363, 363, - 363, 363, 363, 364, 0, 364, 364, 364, 364, 364, - 364, 364, 365, 0, 365, 365, 365, 365, 365, 365, - 365, 366, 0, 366, 366, 366, 366, 366, 366, 366, - 368, 0, 368, 368, 368, 368, 368, 368, 368, 370, - 0, 370, 370, 370, 370, 370, 370, 370, 371, 0, - - 371, 371, 371, 371, 371, 371, 371, 372, 0, 372, - 372, 372, 372, 372, 372, 372, 373, 0, 373, 373, - 373, 373, 373, 373, 373, 375, 0, 375, 375, 375, - 375, 375, 375, 375, 376, 0, 376, 376, 376, 376, - 376, 376, 376, 377, 0, 377, 377, 377, 377, 377, - 377, 377, 378, 0, 378, 378, 378, 378, 378, 378, - 378, 380, 0, 380, 380, 380, 380, 380, 380, 380, - 381, 0, 381, 381, 381, 381, 381, 381, 381, 382, - 0, 382, 382, 382, 382, 382, 382, 382, 385, 0, - 385, 385, 385, 385, 385, 385, 385, 386, 0, 386, - - 386, 386, 386, 386, 386, 386, 387, 0, 387, 387, - 387, 387, 387, 387, 387, 388, 0, 388, 388, 388, - 388, 388, 388, 388, 390, 0, 390, 390, 390, 390, - 390, 390, 390, 391, 0, 391, 391, 391, 391, 391, - 391, 391, 392, 0, 392, 392, 392, 392, 392, 392, - 392, 393, 0, 393, 393, 393, 393, 393, 393, 393, - 395, 395, 395, 395, 395, 395, 395, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 395, 397, 0, 397, 397, 397, 397, 397, - 397, 397, 398, 0, 398, 398, 398, 398, 398, 398, - - 398, 399, 0, 399, 399, 399, 399, 399, 399, 399, - 402, 0, 402, 402, 402, 402, 402, 402, 402, 403, - 0, 403, 403, 403, 403, 403, 403, 403, 405, 405, - 405, 405, 405, 405, 405, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 405, 407, 0, 407, 407, 407, 407, 407, 407, 407, - 408, 0, 408, 408, 408, 408, 408, 408, 408, 409, - 0, 409, 409, 409, 409, 409, 409, 409, 410, 410, - 410, 410, 410, 410, 410, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 410, 412, 0, 412, 412, 412, 412, 412, 412, 412, - 413, 0, 413, 413, 413, 413, 413, 413, 413, 414, - 0, 414, 414, 414, 414, 414, 414, 414, 415, 0, - 415, 415, 415, 415, 415, 415, 415, 416, 0, 416, + 346, 0, 346, 346, 346, 346, 346, 346, 346, 347, + 0, 347, 347, 347, 347, 347, 347, 347, 348, 0, + 348, 348, 348, 348, 348, 348, 348, 349, 0, 349, + + 349, 349, 349, 349, 349, 349, 350, 350, 350, 350, + 350, 350, 350, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 350, 352, + 0, 352, 352, 352, 352, 352, 352, 352, 353, 0, + 353, 353, 353, 353, 353, 353, 353, 354, 0, 354, + 354, 354, 354, 354, 354, 354, 355, 0, 355, 355, + 355, 355, 355, 355, 355, 360, 0, 360, 360, 360, + 360, 360, 360, 360, 361, 0, 361, 361, 361, 361, + 361, 361, 361, 362, 0, 362, 362, 362, 362, 362, + 362, 362, 363, 0, 363, 363, 363, 363, 363, 363, + + 363, 365, 0, 365, 365, 365, 365, 365, 365, 365, + 367, 0, 367, 367, 367, 367, 367, 367, 367, 368, + 0, 368, 368, 368, 368, 368, 368, 368, 369, 0, + 369, 369, 369, 369, 369, 369, 369, 370, 0, 370, + 370, 370, 370, 370, 370, 370, 372, 0, 372, 372, + 372, 372, 372, 372, 372, 374, 0, 374, 374, 374, + 374, 374, 374, 374, 375, 0, 375, 375, 375, 375, + 375, 375, 375, 376, 0, 376, 376, 376, 376, 376, + 376, 376, 377, 0, 377, 377, 377, 377, 377, 377, + 377, 379, 0, 379, 379, 379, 379, 379, 379, 379, + + 380, 0, 380, 380, 380, 380, 380, 380, 380, 381, + 0, 381, 381, 381, 381, 381, 381, 381, 382, 0, + 382, 382, 382, 382, 382, 382, 382, 384, 0, 384, + 384, 384, 384, 384, 384, 384, 385, 0, 385, 385, + 385, 385, 385, 385, 385, 386, 0, 386, 386, 386, + 386, 386, 386, 386, 389, 0, 389, 389, 389, 389, + 389, 389, 389, 390, 0, 390, 390, 390, 390, 390, + 390, 390, 391, 0, 391, 391, 391, 391, 391, 391, + 391, 392, 0, 392, 392, 392, 392, 392, 392, 392, + 394, 0, 394, 394, 394, 394, 394, 394, 394, 395, + + 0, 395, 395, 395, 395, 395, 395, 395, 396, 0, + 396, 396, 396, 396, 396, 396, 396, 397, 0, 397, + 397, 397, 397, 397, 397, 397, 399, 399, 399, 399, + 399, 399, 399, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 399, 401, + 0, 401, 401, 401, 401, 401, 401, 401, 402, 0, + 402, 402, 402, 402, 402, 402, 402, 403, 0, 403, + 403, 403, 403, 403, 403, 403, 406, 0, 406, 406, + 406, 406, 406, 406, 406, 407, 0, 407, 407, 407, + 407, 407, 407, 407, 409, 409, 409, 409, 409, 409, + + 409, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 409, 411, 0, 411, + 411, 411, 411, 411, 411, 411, 412, 0, 412, 412, + 412, 412, 412, 412, 412, 413, 0, 413, 413, 413, + 413, 413, 413, 413, 414, 414, 414, 414, 414, 414, + 414, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 414, 416, 0, 416, 416, 416, 416, 416, 416, 416, 417, 0, 417, 417, 417, 417, 417, 417, 417, 418, 0, 418, 418, 418, 418, 418, 418, 418, 419, 0, 419, 419, 419, 419, + 419, 419, 419, 420, 0, 420, 420, 420, 420, 420, 420, 420, 421, 0, 421, 421, 421, 421, 421, 421, 421, 422, 0, 422, 422, 422, 422, 422, 422, 422, - 423, 0, 423, 423, 423, 423, 423, 423, 423, 424, 0, 424, 424, 424, 424, 424, 424, 424, 425, 0, 425, 425, 425, 425, 425, 425, 425, 426, 0, 426, 426, 426, 426, 426, 426, 426, 427, 0, 427, 427, - 427, 427, 427, 427, 427, 429, 0, 429, 429, 429, - 429, 429, 429, 429, 430, 0, 430, 430, 430, 430, - 430, 430, 430, 431, 0, 431, 431, 431, 431, 431, - 431, 431, 434, 0, 434, 434, 434, 434, 434, 434, - 434, 435, 0, 435, 435, 435, 435, 435, 435, 435, - 437, 0, 437, 437, 437, 437, 437, 437, 437, 439, - - 0, 439, 439, 439, 439, 439, 439, 439, 440, 0, - 440, 440, 440, 440, 440, 440, 440, 441, 0, 441, - 441, 441, 441, 441, 441, 441, 442, 0, 442, 442, - 442, 442, 442, 442, 442, 444, 0, 444, 444, 444, - 444, 444, 444, 444, 445, 0, 445, 445, 445, 445, - 445, 445, 445, 446, 0, 446, 446, 446, 446, 446, - 446, 446, 447, 0, 447, 447, 447, 447, 447, 447, - 447, 448, 0, 448, 448, 448, 448, 448, 448, 448, - 449, 0, 449, 449, 449, 449, 449, 449, 449, 453, - 0, 453, 453, 453, 453, 453, 453, 453, 454, 0, - - 454, 454, 454, 454, 454, 454, 454, 455, 0, 455, - 455, 455, 455, 455, 455, 455, 456, 0, 456, 456, - 456, 456, 456, 456, 456, 457, 0, 457, 457, 457, + 427, 427, 427, 427, 427, 428, 0, 428, 428, 428, + 428, 428, 428, 428, 429, 0, 429, 429, 429, 429, + 429, 429, 429, 430, 0, 430, 430, 430, 430, 430, + + 430, 430, 431, 0, 431, 431, 431, 431, 431, 431, + 431, 433, 0, 433, 433, 433, 433, 433, 433, 433, + 434, 0, 434, 434, 434, 434, 434, 434, 434, 435, + 0, 435, 435, 435, 435, 435, 435, 435, 438, 0, + 438, 438, 438, 438, 438, 438, 438, 439, 0, 439, + 439, 439, 439, 439, 439, 439, 441, 0, 441, 441, + 441, 441, 441, 441, 441, 443, 0, 443, 443, 443, + 443, 443, 443, 443, 444, 0, 444, 444, 444, 444, + 444, 444, 444, 445, 0, 445, 445, 445, 445, 445, + 445, 445, 446, 0, 446, 446, 446, 446, 446, 446, + + 446, 448, 0, 448, 448, 448, 448, 448, 448, 448, + 449, 0, 449, 449, 449, 449, 449, 449, 449, 450, + 0, 450, 450, 450, 450, 450, 450, 450, 451, 0, + 451, 451, 451, 451, 451, 451, 451, 452, 0, 452, + 452, 452, 452, 452, 452, 452, 453, 0, 453, 453, + 453, 453, 453, 453, 453, 457, 0, 457, 457, 457, 457, 457, 457, 457, 458, 0, 458, 458, 458, 458, - 458, 458, 458, 460, 460, 460, 460, 460, 460, 460, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 460, 466, 466, 466, 466, - 466, 466, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 466, 469, - 469, 469, 469, 469, 469, 469, 0, 0, 0, 0, + 458, 458, 458, 459, 0, 459, 459, 459, 459, 459, + 459, 459, 460, 0, 460, 460, 460, 460, 460, 460, + 460, 461, 0, 461, 461, 461, 461, 461, 461, 461, + 462, 0, 462, 462, 462, 462, 462, 462, 462, 464, + 464, 464, 464, 464, 464, 464, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 464, 470, 470, 470, 470, 470, 470, 470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 469, 472, 0, 0, 0, 472, 0, 472, 473, - 473, 473, 473, 473, 473, 473, 474, 0, 0, 0, - 474, 0, 474, 475, 0, 0, 0, 475, 0, 475, - 476, 0, 0, 476, 476, 0, 476, 477, 0, 0, - 477, 477, 477, 478, 0, 0, 478, 478, 478, 478, - 479, 0, 0, 479, 479, 479, 479, 480, 0, 0, - 480, 480, 480, 481, 0, 0, 0, 481, 0, 481, - 482, 0, 0, 0, 482, 0, 482, 483, 0, 0, - 0, 483, 0, 483, 484, 0, 0, 484, 484, 0, - - 484, 485, 0, 0, 0, 485, 0, 485, 486, 486, - 486, 486, 486, 486, 486, 487, 487, 487, 487, 487, - 487, 487, 488, 0, 0, 0, 488, 0, 488, 489, - 0, 0, 0, 489, 0, 489, 490, 0, 0, 490, - 490, 0, 490, 491, 491, 491, 491, 491, 491, 491, - 492, 0, 0, 492, 493, 493, 0, 493, 493, 493, - 493, 494, 494, 0, 494, 494, 494, 494, 495, 495, - 495, 495, 495, 495, 495, 496, 496, 496, 496, 496, - 496, 496, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471 + 0, 0, 0, 0, 470, 473, 473, 473, 473, 473, + 473, 473, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 473, 476, 0, + 0, 0, 476, 0, 476, 477, 477, 477, 477, 477, + 477, 477, 478, 0, 0, 0, 478, 0, 478, 479, + + 0, 0, 0, 479, 0, 479, 480, 0, 0, 480, + 480, 0, 480, 481, 0, 0, 481, 481, 481, 482, + 0, 0, 482, 482, 482, 482, 483, 0, 0, 483, + 483, 483, 483, 484, 0, 0, 484, 484, 484, 484, + 485, 0, 0, 0, 485, 0, 485, 486, 0, 0, + 0, 486, 0, 486, 487, 0, 0, 0, 487, 0, + 487, 488, 0, 0, 488, 488, 0, 488, 489, 0, + 0, 0, 489, 0, 489, 490, 490, 490, 490, 490, + 490, 490, 491, 491, 491, 491, 491, 491, 491, 492, + 0, 0, 0, 492, 0, 492, 493, 0, 0, 0, + + 493, 0, 493, 494, 0, 0, 494, 494, 0, 494, + 495, 495, 495, 495, 495, 495, 495, 496, 0, 0, + 496, 0, 0, 496, 497, 497, 0, 497, 497, 497, + 497, 498, 498, 0, 498, 498, 498, 498, 499, 499, + 499, 499, 499, 499, 499, 500, 500, 500, 500, 500, + 500, 500, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, + + 475, 475, 475 } ; static yy_state_type yy_last_accepting_state; @@ -1286,7 +1302,7 @@ extern void yyerror __P((char *)); #define GOTDEFS 3 -#line 1290 "lex.yy.c" +#line 1306 "lex.yy.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1442,7 +1458,7 @@ YY_DECL #line 102 "parse.lex" -#line 1446 "lex.yy.c" +#line 1462 "lex.yy.c" if ( yy_init ) { @@ -1494,13 +1510,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 >= 472 ) + if ( yy_current_state >= 476 ) 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] != 2983 ); + while ( yy_base[yy_current_state] != 3053 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1842,7 +1858,7 @@ YY_RULE_SETUP #line 324 "parse.lex" ECHO; YY_BREAK -#line 1846 "lex.yy.c" +#line 1862 "lex.yy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(GOTCMND): case YY_STATE_EOF(GOTRUNAS): @@ -2138,7 +2154,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 >= 472 ) + if ( yy_current_state >= 476 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2173,11 +2189,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 >= 472 ) + if ( yy_current_state >= 476 ) 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 == 471); + yy_is_jam = (yy_current_state == 475); return yy_is_jam ? 0 : yy_current_state; } @@ -2767,7 +2783,7 @@ fill_cmnd(s, len) if (yylval.command.cmnd == NULL) yyerror("unable to allocate memory"); - /* copy the string and NULL-terminate it */ + /* copy the string and NULL-terminate it (escapes handled by fnmatch) */ (void) strncpy(yylval.command.cmnd, s, len); yylval.command.cmnd[len] = '\0'; diff --git a/parse.lex b/parse.lex index 2768805f4..12e13c490 100644 --- a/parse.lex +++ b/parse.lex @@ -110,7 +110,7 @@ WORD ([^@!=:,\(\) \t\n\\]|\\[^\n])+ LEXTRACE("\n\t"); } /* throw away EOL after \ */ -\\[:\,=\\ \t] { +\\[:\,=\\ \t#] { LEXTRACE("QUOTEDCHAR "); fill_args(yytext + 1, 1, sawspace); sawspace = FALSE; @@ -296,7 +296,7 @@ PASSWD[[:blank:]]*: { } } -\/[^\,:=\\ \t\n#]+ { +\/(\\[\,:= \t#]|[^\,:=\\ \t\n#])+ { /* directories can't have args... */ if (yytext[yyleng - 1] == '/') { LEXTRACE("COMMAND "); @@ -354,7 +354,7 @@ fill_cmnd(s, len) if (yylval.command.cmnd == NULL) yyerror("unable to allocate memory"); - /* copy the string and NULL-terminate it */ + /* copy the string and NULL-terminate it (escapes handled by fnmatch) */ (void) strncpy(yylval.command.cmnd, s, len); yylval.command.cmnd[len] = '\0';