From: Todd C. Miller Date: Mon, 27 Sep 2004 16:08:18 +0000 (+0000) Subject: regen X-Git-Tag: SUDO_1_7_0~938 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=741177ad128a20462f433e621d35ad390cc2cf60;p=sudo regen --- diff --git a/lex.yy.c b/lex.yy.c index a93ae2195..a59960539 100644 --- a/lex.yy.c +++ b/lex.yy.c @@ -285,49 +285,51 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 41 -#define YY_END_OF_BUFFER 42 -static yyconst short int yy_accept[360] = +#define YY_NUM_RULES 42 +#define YY_END_OF_BUFFER 43 +static yyconst short int yy_accept[374] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 42, 31, 37, 36, 35, 40, 31, 25, - 40, 31, 32, 31, 31, 31, 31, 34, 33, 26, - 26, 26, 26, 26, 40, 31, 26, 26, 26, 26, - 26, 27, 40, 27, 28, 27, 27, 27, 27, 27, - 26, 26, 26, 26, 26, 40, 27, 1, 12, 11, - 12, 11, 11, 40, 40, 2, 8, 8, 8, 3, - 8, 4, 40, 31, 0, 37, 35, 0, 39, 22, - 0, 21, 0, 30, 30, 0, 31, 31, 31, 31, - 31, 26, 26, 26, 26, 26, 31, 38, 31, 31, - - 31, 31, 31, 31, 27, 0, 27, 22, 0, 21, - 0, 27, 0, 27, 27, 27, 27, 27, 26, 26, - 26, 26, 26, 27, 27, 1, 12, 12, 10, 9, - 10, 0, 2, 8, 0, 8, 0, 0, 5, 6, - 8, 8, 0, 31, 31, 31, 26, 26, 26, 26, - 26, 26, 31, 31, 31, 31, 31, 31, 27, 27, - 27, 26, 26, 26, 26, 26, 26, 27, 7, 7, - 0, 7, 8, 31, 31, 31, 31, 31, 26, 26, - 26, 26, 26, 26, 31, 31, 31, 31, 27, 27, - 27, 27, 27, 26, 26, 26, 26, 26, 26, 27, - - 7, 31, 31, 31, 0, 18, 26, 26, 26, 26, - 26, 31, 31, 31, 27, 27, 27, 26, 26, 26, - 26, 26, 27, 31, 31, 31, 31, 31, 26, 26, - 26, 26, 0, 20, 31, 31, 31, 27, 27, 27, - 27, 27, 26, 26, 26, 26, 27, 23, 23, 23, - 0, 17, 26, 26, 0, 16, 31, 31, 31, 23, - 23, 23, 26, 26, 27, 31, 23, 23, 23, 23, - 26, 0, 19, 29, 31, 13, 27, 23, 23, 23, - 23, 26, 27, 31, 24, 24, 24, 0, 15, 31, - 13, 27, 24, 24, 24, 31, 31, 24, 24, 24, - - 24, 24, 14, 27, 27, 24, 24, 24, 24, 24, - 31, 31, 31, 24, 24, 27, 27, 27, 24, 24, - 31, 31, 31, 31, 31, 27, 27, 27, 27, 27, - 31, 31, 31, 27, 27, 27, 31, 31, 31, 31, - 31, 27, 27, 27, 27, 27, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 0 + 0, 0, 43, 32, 38, 37, 36, 41, 32, 26, + 41, 32, 33, 32, 32, 32, 32, 35, 34, 27, + 27, 27, 27, 27, 41, 32, 41, 27, 27, 27, + 27, 27, 28, 41, 28, 29, 28, 28, 28, 28, + 28, 27, 27, 27, 27, 27, 41, 28, 1, 12, + 11, 12, 11, 11, 41, 41, 2, 8, 8, 8, + 3, 8, 4, 41, 32, 0, 38, 36, 0, 40, + 23, 0, 22, 0, 31, 31, 0, 32, 32, 32, + 32, 32, 27, 27, 27, 27, 27, 32, 39, 32, + + 0, 32, 32, 32, 32, 32, 28, 0, 28, 23, + 0, 22, 0, 28, 0, 28, 28, 28, 28, 28, + 27, 27, 27, 27, 27, 28, 28, 1, 12, 12, + 10, 9, 10, 0, 2, 8, 0, 8, 0, 0, + 5, 6, 8, 8, 0, 32, 32, 32, 27, 27, + 27, 27, 27, 27, 32, 0, 32, 32, 32, 32, + 32, 28, 28, 28, 27, 27, 27, 27, 27, 27, + 28, 7, 7, 0, 7, 8, 32, 32, 32, 32, + 32, 27, 27, 27, 27, 27, 27, 32, 0, 32, + 32, 32, 28, 28, 28, 28, 28, 27, 27, 27, + + 27, 27, 27, 28, 7, 32, 32, 32, 0, 19, + 27, 27, 27, 27, 27, 32, 0, 32, 32, 28, + 28, 28, 27, 27, 27, 27, 27, 28, 32, 32, + 32, 32, 32, 27, 27, 27, 27, 0, 21, 32, + 0, 32, 32, 28, 28, 28, 28, 28, 27, 27, + 27, 27, 28, 24, 24, 24, 0, 18, 27, 27, + 0, 17, 32, 0, 32, 32, 24, 24, 24, 27, + 27, 28, 32, 24, 24, 24, 24, 27, 0, 20, + 30, 0, 32, 14, 28, 24, 24, 24, 24, 27, + 28, 32, 25, 25, 25, 0, 16, 0, 32, 0, + + 28, 25, 25, 25, 32, 32, 25, 25, 25, 25, + 25, 0, 0, 13, 15, 14, 0, 28, 28, 25, + 25, 25, 25, 25, 32, 32, 32, 25, 25, 28, + 28, 28, 25, 25, 32, 32, 32, 32, 32, 28, + 28, 28, 28, 28, 32, 32, 32, 28, 28, 28, + 32, 32, 32, 32, 32, 28, 28, 28, 28, 28, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 0 } ; static yyconst int yy_ec[256] = @@ -341,10 +343,10 @@ static yyconst int yy_ec[256] = 24, 25, 10, 25, 26, 27, 28, 29, 30, 27, 27, 31, 27, 27, 27, 27, 27, 32, 33, 34, 27, 35, 36, 37, 38, 27, 39, 40, 27, 27, - 10, 41, 10, 1, 42, 1, 43, 44, 44, 45, + 10, 41, 10, 1, 42, 1, 43, 44, 45, 46, - 46, 47, 44, 44, 48, 44, 44, 49, 50, 51, - 52, 44, 44, 53, 54, 55, 56, 44, 44, 44, + 47, 48, 44, 44, 49, 44, 44, 50, 51, 52, + 53, 44, 44, 54, 55, 56, 57, 44, 44, 44, 44, 44, 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, @@ -362,784 +364,804 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[57] = +static yyconst int yy_meta[58] = { 0, 1, 2, 2, 3, 1, 4, 1, 3, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7 + 7, 7, 7, 7, 7, 7, 7 } ; -static yyconst short int yy_base[379] = +static yyconst short int yy_base[395] = { 0, - 0, 29, 67, 0, 57, 122, 123, 130, 170, 225, - 280, 320, 965, 922, 960, 2998, 955, 954, 914, 2998, - 2998, 909, 2998, 136, 348, 376, 404, 2998, 2998, 445, - 901, 906, 912, 900, 500, 96, 883, 885, 874, 869, - 861, 873, 162, 870, 2998, 868, 161, 512, 540, 568, - 609, 867, 869, 872, 861, 664, 100, 893, 0, 2998, - 890, 0, 2998, 688, 59, 0, 852, 293, 107, 2998, - 114, 2998, 147, 849, 728, 885, 881, 880, 2998, 839, - 752, 838, 776, 302, 829, 800, 216, 125, 812, 840, - 189, 0, 839, 155, 829, 829, 155, 2998, 118, 146, - - 121, 147, 149, 152, 811, 880, 226, 796, 904, 795, - 928, 304, 952, 319, 153, 964, 992, 332, 0, 805, - 219, 791, 796, 248, 150, 819, 0, 816, 238, 2998, - 2998, 252, 0, 778, 295, 375, 247, 259, 2998, 2998, - 777, 313, 407, 1020, 1048, 1076, 788, 775, 788, 778, - 775, 779, 262, 218, 217, 287, 277, 249, 1104, 1132, - 1160, 777, 763, 772, 754, 751, 753, 306, 738, 2998, - 289, 539, 567, 386, 341, 1188, 1216, 497, 361, 744, - 727, 731, 716, 714, 158, 315, 318, 331, 416, 369, - 1244, 1272, 580, 377, 713, 706, 715, 700, 703, 330, - - 370, 1300, 1328, 1356, 389, 2998, 693, 663, 669, 664, - 426, 220, 360, 102, 1384, 1412, 1440, 643, 633, 590, - 588, 445, 398, 661, 374, 1468, 1496, 687, 446, 576, - 573, 517, 520, 2998, 403, 486, 399, 697, 400, 1524, - 1552, 706, 544, 525, 519, 545, 507, 1579, 1606, 1633, - 548, 2998, 491, 572, 581, 2998, 466, 564, 388, 1660, - 1687, 1714, 476, 590, 511, 749, 495, 1741, 1768, 776, - 609, 672, 2998, 429, 496, 552, 822, 561, 1795, 1822, - 830, 673, 412, 1850, 1878, 1906, 1934, 708, 2998, 524, - 2998, 1962, 1990, 2018, 2046, 856, 592, 2074, 2102, 2130, - - 2158, 732, 268, 901, 593, 2186, 2214, 2242, 2270, 850, - 2298, 2326, 2354, 927, 668, 2382, 2410, 2438, 974, 883, - 981, 721, 2466, 2494, 1007, 1033, 731, 2522, 2550, 1059, - 2578, 2606, 2634, 2662, 2690, 2718, 1065, 745, 2746, 2774, - 1091, 1117, 769, 2802, 2830, 1143, 1149, 1175, 1201, 1227, - 1234, 1260, 246, 1286, 1312, 119, 1318, 1344, 2998, 2871, - 2878, 2885, 2892, 2899, 2906, 2913, 2920, 2927, 2934, 2941, - 2948, 2955, 59, 2962, 2969, 2976, 2983, 2990 + 0, 52, 90, 0, 57, 58, 146, 151, 191, 247, + 303, 343, 991, 949, 986, 3061, 983, 981, 941, 3061, + 3061, 939, 3061, 157, 371, 399, 427, 3061, 3061, 468, + 935, 933, 938, 928, 524, 20, 153, 909, 911, 903, + 894, 895, 899, 54, 898, 3061, 895, 163, 536, 564, + 592, 633, 894, 899, 901, 888, 689, 21, 919, 0, + 3061, 916, 0, 3061, 713, 66, 0, 878, 316, 127, + 3061, 135, 3061, 82, 877, 753, 913, 908, 907, 3061, + 867, 777, 864, 801, 175, 863, 825, 189, 148, 837, + 865, 238, 0, 865, 52, 858, 864, 178, 3061, 132, + + 161, 144, 173, 136, 149, 171, 839, 905, 207, 836, + 929, 821, 953, 325, 977, 244, 269, 989, 1017, 354, + 0, 831, 237, 824, 826, 270, 176, 845, 0, 842, + 266, 3061, 3061, 273, 0, 804, 311, 357, 279, 336, + 3061, 3061, 803, 284, 399, 1045, 1073, 1101, 815, 801, + 814, 803, 800, 804, 162, 267, 236, 237, 295, 283, + 145, 1129, 1157, 1185, 802, 788, 797, 779, 770, 776, + 289, 758, 3061, 338, 426, 450, 521, 317, 1213, 1241, + 547, 330, 758, 746, 754, 730, 738, 335, 349, 296, + 323, 342, 553, 386, 1269, 1297, 579, 363, 737, 730, + + 738, 719, 726, 355, 373, 1325, 1353, 1381, 401, 3061, + 718, 699, 706, 695, 402, 389, 403, 368, 38, 1409, + 1437, 1465, 690, 675, 681, 671, 431, 393, 686, 396, + 1493, 1521, 712, 434, 655, 602, 440, 449, 3061, 417, + 489, 420, 424, 722, 546, 1549, 1577, 731, 599, 591, + 562, 600, 510, 1604, 1631, 1658, 601, 3061, 550, 602, + 605, 3061, 488, 542, 577, 535, 1685, 1712, 1739, 505, + 613, 490, 774, 576, 1766, 1793, 801, 614, 619, 3061, + 452, 405, 586, 616, 847, 604, 1820, 1847, 855, 633, + 430, 1875, 1903, 1931, 1959, 697, 3061, 474, 655, 423, + + 1987, 2015, 2043, 2071, 881, 617, 2099, 2127, 2155, 2183, + 757, 456, 719, 3061, 385, 320, 2223, 926, 746, 2235, + 2263, 2291, 2319, 875, 2347, 2375, 2403, 952, 908, 2431, + 2459, 2487, 999, 981, 1007, 756, 2515, 2543, 1033, 1059, + 770, 2571, 2599, 1085, 2627, 2655, 2683, 2711, 2739, 2767, + 1091, 794, 2795, 2823, 1117, 1143, 798, 2851, 2879, 1169, + 1175, 1201, 1227, 1253, 1279, 1286, 240, 1312, 1338, 190, + 1364, 1371, 3061, 2920, 2927, 2934, 2941, 2948, 2955, 2962, + 2969, 2976, 2983, 2990, 2997, 3004, 153, 3011, 3018, 3025, + 3032, 3039, 3046, 3053 + } ; -static yyconst short int yy_def[379] = +static yyconst short int yy_def[395] = { 0, - 359, 1, 359, 3, 1, 1, 360, 360, 361, 361, - 362, 362, 359, 363, 359, 359, 359, 364, 365, 359, - 359, 366, 359, 367, 363, 363, 363, 359, 359, 359, - 30, 30, 30, 30, 363, 363, 30, 30, 30, 30, - 30, 368, 359, 369, 359, 370, 371, 368, 368, 368, - 359, 51, 51, 51, 51, 368, 368, 359, 372, 359, - 372, 372, 359, 359, 359, 373, 374, 375, 374, 359, - 374, 359, 376, 363, 363, 359, 359, 364, 359, 365, - 365, 366, 366, 367, 377, 363, 363, 363, 363, 363, - 363, 30, 30, 30, 30, 30, 363, 359, 363, 363, - - 363, 363, 363, 363, 368, 368, 359, 369, 369, 370, - 370, 371, 368, 368, 368, 368, 368, 368, 51, 51, - 51, 51, 51, 368, 368, 359, 372, 372, 359, 359, - 359, 359, 373, 374, 374, 375, 378, 375, 359, 359, - 374, 374, 359, 363, 363, 363, 30, 30, 30, 30, - 30, 30, 363, 363, 363, 363, 363, 363, 368, 368, - 368, 51, 51, 51, 51, 51, 51, 368, 374, 359, - 378, 375, 375, 363, 363, 363, 363, 363, 30, 30, - 30, 30, 30, 30, 363, 363, 363, 363, 368, 368, - 368, 368, 368, 51, 51, 51, 51, 51, 51, 368, - - 378, 363, 363, 363, 359, 359, 30, 30, 30, 30, - 30, 363, 363, 363, 368, 368, 368, 51, 51, 51, - 51, 51, 368, 363, 363, 363, 363, 363, 30, 30, - 30, 30, 359, 359, 363, 363, 363, 368, 368, 368, - 368, 368, 51, 51, 51, 51, 368, 363, 363, 363, - 359, 359, 30, 30, 359, 359, 363, 363, 363, 368, - 368, 368, 51, 51, 368, 363, 363, 363, 363, 363, - 30, 359, 359, 363, 363, 363, 368, 368, 368, 368, - 368, 51, 368, 363, 363, 363, 363, 359, 359, 363, - 359, 368, 368, 368, 368, 363, 363, 363, 363, 363, - - 363, 363, 363, 368, 368, 368, 368, 368, 368, 368, - 363, 363, 363, 363, 363, 368, 368, 368, 368, 368, - 363, 363, 363, 363, 363, 368, 368, 368, 368, 368, - 363, 363, 363, 368, 368, 368, 363, 363, 363, 363, - 363, 368, 368, 368, 368, 368, 363, 363, 363, 368, - 368, 368, 363, 363, 363, 368, 368, 368, 0, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359 + 373, 1, 373, 3, 1, 1, 374, 374, 375, 375, + 376, 376, 373, 377, 373, 373, 373, 378, 379, 373, + 373, 380, 373, 381, 377, 377, 377, 373, 373, 373, + 30, 30, 30, 30, 377, 377, 378, 30, 30, 30, + 30, 30, 382, 373, 383, 373, 384, 385, 382, 382, + 382, 373, 52, 52, 52, 52, 382, 382, 373, 386, + 373, 386, 386, 373, 373, 373, 387, 388, 389, 388, + 373, 388, 373, 390, 377, 377, 373, 373, 378, 373, + 379, 379, 380, 380, 381, 391, 377, 377, 377, 377, + 377, 377, 30, 30, 30, 30, 30, 377, 373, 377, + + 378, 377, 377, 377, 377, 377, 382, 382, 373, 383, + 383, 384, 384, 385, 382, 382, 382, 382, 382, 382, + 52, 52, 52, 52, 52, 382, 382, 373, 386, 386, + 373, 373, 373, 373, 387, 388, 388, 389, 392, 389, + 373, 373, 388, 388, 373, 377, 377, 377, 30, 30, + 30, 30, 30, 30, 377, 378, 377, 377, 377, 377, + 377, 382, 382, 382, 52, 52, 52, 52, 52, 52, + 382, 388, 373, 392, 389, 389, 377, 377, 377, 377, + 377, 30, 30, 30, 30, 30, 30, 377, 378, 377, + 377, 377, 382, 382, 382, 382, 382, 52, 52, 52, + + 52, 52, 52, 382, 392, 377, 377, 377, 373, 373, + 30, 30, 30, 30, 30, 377, 378, 377, 377, 382, + 382, 382, 52, 52, 52, 52, 52, 382, 377, 377, + 377, 377, 377, 30, 30, 30, 30, 373, 373, 377, + 378, 377, 377, 382, 382, 382, 382, 382, 52, 52, + 52, 52, 382, 377, 377, 377, 373, 373, 30, 30, + 373, 373, 377, 378, 377, 377, 382, 382, 382, 52, + 52, 382, 377, 377, 377, 377, 377, 30, 373, 373, + 377, 378, 377, 377, 382, 382, 382, 382, 382, 52, + 382, 377, 377, 377, 377, 373, 373, 393, 377, 394, + + 382, 382, 382, 382, 377, 377, 377, 377, 377, 377, + 377, 393, 393, 373, 377, 394, 394, 382, 382, 382, + 382, 382, 382, 382, 377, 377, 377, 377, 377, 382, + 382, 382, 382, 382, 377, 377, 377, 377, 377, 382, + 382, 382, 382, 382, 377, 377, 377, 382, 382, 382, + 377, 377, 377, 377, 377, 382, 382, 382, 382, 382, + 377, 377, 377, 382, 382, 382, 377, 377, 377, 382, + 382, 382, 0, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373 + } ; -static yyconst short int yy_nxt[3055] = +static yyconst short int yy_nxt[3119] = { 0, 14, 15, 16, 17, 14, 18, 19, 20, 21, 14, 22, 23, 14, 14, 24, 25, 26, 27, 25, 25, 25, 25, 28, 29, 21, 30, 30, 30, 30, 31, 30, 32, 30, 33, 30, 30, 34, 30, 30, 30, 35, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 36, 14, 14, 37, 38, 58, 39, - 132, 98, 21, 40, 21, 133, 41, 42, 15, 16, - 17, 42, 43, 44, 21, 45, 42, 46, 23, 42, - 42, 47, 48, 49, 50, 48, 48, 48, 48, 28, - 29, 21, 51, 51, 51, 51, 52, 51, 53, 51, - - 54, 51, 51, 55, 51, 51, 51, 56, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 57, 42, 42, 58, 15, 60, 61, 21, 62, 21, - 139, 15, 60, 61, 63, 62, 75, 140, 87, 85, - 106, 63, 75, 85, 85, 63, 62, 135, 142, 98, - 237, 99, 63, 62, 135, 125, 132, 98, 75, 106, - 85, 75, 153, 64, 85, 75, 114, 155, 85, 85, - 64, 15, 16, 17, 107, 18, 86, 107, 107, 107, - 107, 107, 107, 107, 148, 85, 75, 75, 149, 75, - 106, 150, 75, 106, 168, 75, 154, 158, 75, 157, - - 156, 113, 87, 212, 88, 88, 88, 88, 88, 88, - 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 15, 16, 17, 75, - 18, 144, 145, 146, 144, 144, 144, 144, 107, 132, - 98, 107, 107, 107, 107, 107, 107, 107, 163, 132, - 98, 170, 164, 132, 98, 165, 75, 75, 75, 187, - 75, 137, 186, 172, 235, 65, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 15, 16, 17, 68, 18, 75, 171, 106, 75, - 69, 70, 71, 201, 137, 137, 134, 134, 137, 173, - - 134, 186, 75, 72, 137, 85, 134, 85, 75, 85, - 85, 85, 85, 185, 132, 98, 137, 75, 134, 188, - 73, 15, 16, 17, 68, 18, 85, 75, 85, 171, - 69, 70, 71, 138, 159, 160, 161, 159, 159, 159, - 159, 186, 86, 72, 113, 114, 106, 115, 115, 115, - 115, 115, 115, 135, 174, 75, 213, 200, 75, 106, - 73, 87, 205, 88, 88, 88, 88, 88, 88, 88, - 106, 75, 106, 214, 170, 223, 137, 137, 205, 169, - 137, 75, 189, 206, 186, 236, 137, 224, 75, 87, - 205, 89, 89, 89, 89, 89, 89, 89, 137, 206, - - 75, 202, 203, 204, 202, 202, 202, 202, 85, 106, - 171, 206, 85, 238, 75, 138, 75, 87, 85, 90, - 90, 90, 90, 90, 91, 88, 75, 233, 75, 85, - 85, 215, 216, 217, 215, 215, 215, 215, 106, 75, - 106, 276, 247, 75, 75, 74, 233, 251, 234, 74, - 257, 74, 106, 259, 74, 74, 106, 74, 74, 74, - 92, 92, 92, 92, 92, 92, 92, 234, 252, 75, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 75, 92, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - - 74, 97, 98, 74, 282, 74, 75, 74, 74, 266, - 174, 74, 175, 175, 175, 175, 175, 175, 255, 271, - 274, 233, 74, 74, 74, 114, 75, 115, 115, 115, - 115, 115, 115, 115, 258, 75, 75, 75, 290, 256, - 137, 137, 234, 169, 137, 251, 255, 106, 264, 251, - 137, 106, 106, 114, 265, 116, 116, 116, 116, 116, - 116, 116, 137, 263, 75, 283, 252, 256, 137, 137, - 252, 172, 137, 272, 291, 277, 291, 303, 137, 138, - 106, 114, 255, 117, 117, 117, 117, 117, 118, 115, - 137, 272, 75, 189, 273, 190, 190, 190, 190, 190, - - 190, 106, 254, 256, 75, 296, 304, 138, 106, 105, - 288, 275, 273, 105, 253, 105, 246, 245, 105, 105, - 106, 105, 105, 105, 119, 119, 119, 119, 119, 119, - 119, 289, 75, 106, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 106, - 119, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 124, 98, 105, 244, 105, - 243, 105, 105, 272, 288, 105, 248, 249, 250, 248, - 248, 248, 248, 315, 315, 315, 105, 105, 105, 129, - 98, 130, 232, 131, 273, 289, 231, 130, 230, 131, - - 224, 75, 225, 225, 225, 225, 225, 225, 75, 288, - 131, 131, 260, 261, 262, 260, 260, 260, 260, 238, - 229, 239, 239, 239, 239, 239, 239, 75, 131, 74, - 289, 74, 222, 74, 321, 74, 74, 106, 221, 74, - 220, 219, 218, 211, 326, 296, 106, 315, 315, 315, - 74, 74, 74, 80, 210, 80, 209, 80, 337, 80, - 80, 75, 208, 80, 284, 285, 286, 287, 284, 284, - 284, 106, 75, 207, 80, 80, 80, 82, 135, 82, - 199, 82, 342, 82, 82, 75, 198, 82, 197, 75, - 266, 267, 267, 267, 267, 267, 267, 196, 82, 82, - - 82, 84, 195, 74, 194, 84, 184, 74, 74, 106, - 183, 84, 182, 181, 180, 179, 75, 135, 135, 128, - 126, 167, 84, 84, 74, 87, 166, 88, 88, 88, - 88, 88, 88, 88, 162, 111, 109, 292, 293, 294, - 295, 292, 292, 292, 277, 278, 278, 278, 278, 278, - 278, 106, 75, 87, 152, 88, 88, 88, 88, 88, - 88, 88, 106, 304, 151, 320, 320, 320, 147, 143, - 106, 311, 312, 313, 311, 311, 311, 311, 83, 81, - 75, 105, 79, 105, 77, 105, 76, 105, 105, 75, - 106, 105, 135, 128, 126, 123, 75, 122, 320, 320, - - 320, 121, 105, 105, 105, 108, 120, 108, 111, 108, - 109, 108, 108, 106, 104, 108, 316, 317, 318, 316, - 316, 316, 316, 106, 103, 102, 108, 108, 108, 110, - 101, 110, 100, 110, 96, 110, 110, 95, 94, 110, - 93, 106, 314, 314, 314, 314, 314, 314, 314, 83, - 110, 110, 110, 112, 81, 105, 79, 112, 77, 105, - 105, 76, 75, 112, 359, 359, 359, 75, 359, 359, - 359, 359, 359, 359, 112, 112, 105, 114, 359, 115, - 115, 115, 115, 115, 115, 115, 359, 359, 359, 319, - 319, 319, 319, 319, 319, 319, 331, 332, 333, 331, - - 331, 331, 331, 359, 106, 114, 359, 115, 115, 115, - 115, 115, 115, 115, 106, 359, 359, 359, 359, 359, - 321, 75, 322, 322, 322, 322, 322, 322, 359, 359, - 359, 359, 106, 174, 359, 175, 175, 175, 175, 175, - 175, 175, 359, 359, 359, 359, 359, 75, 334, 335, - 336, 334, 334, 334, 334, 359, 359, 359, 359, 359, - 75, 174, 359, 176, 176, 176, 176, 176, 176, 176, - 359, 359, 326, 106, 327, 327, 327, 327, 327, 327, - 347, 348, 349, 347, 347, 347, 347, 359, 75, 174, - 359, 177, 177, 177, 177, 177, 178, 175, 359, 106, - - 359, 359, 359, 359, 337, 75, 338, 338, 338, 338, - 338, 338, 359, 359, 359, 359, 75, 189, 359, 190, - 190, 190, 190, 190, 190, 190, 359, 359, 359, 359, - 359, 75, 350, 351, 352, 350, 350, 350, 350, 359, - 359, 359, 359, 359, 106, 189, 359, 191, 191, 191, - 191, 191, 191, 191, 359, 359, 342, 106, 343, 343, - 343, 343, 343, 343, 353, 353, 353, 353, 353, 353, - 353, 359, 106, 189, 359, 192, 192, 192, 192, 192, - 193, 190, 359, 106, 359, 359, 359, 359, 359, 75, - 347, 347, 347, 347, 347, 347, 347, 359, 359, 359, - - 106, 174, 359, 175, 175, 175, 175, 175, 175, 175, - 359, 359, 359, 359, 359, 75, 354, 354, 354, 354, - 354, 355, 353, 359, 359, 359, 359, 359, 75, 174, - 359, 175, 175, 175, 175, 175, 175, 175, 359, 359, - 359, 75, 356, 356, 356, 356, 356, 356, 356, 350, - 350, 350, 350, 350, 350, 350, 75, 189, 359, 190, - 190, 190, 190, 190, 190, 190, 359, 106, 359, 359, - 359, 359, 359, 359, 106, 357, 357, 357, 357, 357, - 358, 356, 359, 359, 106, 189, 359, 190, 190, 190, - 190, 190, 190, 190, 359, 359, 359, 359, 359, 359, - - 106, 353, 353, 353, 353, 353, 353, 353, 359, 359, - 359, 359, 106, 224, 359, 225, 225, 225, 225, 225, - 225, 225, 359, 359, 359, 359, 75, 353, 353, 353, - 353, 353, 353, 356, 356, 356, 356, 356, 356, 356, - 75, 224, 359, 226, 226, 226, 226, 226, 226, 226, - 359, 359, 75, 359, 359, 359, 359, 359, 106, 356, - 356, 356, 356, 356, 356, 359, 359, 359, 75, 224, - 359, 227, 227, 227, 227, 227, 228, 225, 359, 359, - 359, 359, 359, 359, 106, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 75, 238, 359, 239, - - 239, 239, 239, 239, 239, 239, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 106, 238, 359, 240, 240, 240, - 240, 240, 240, 240, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 106, 238, 359, 241, 241, 241, 241, 241, - 242, 239, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 106, 224, 359, 225, 225, 225, 225, 225, 225, 225, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - - 359, 359, 359, 359, 359, 359, 359, 359, 75, 224, - 359, 225, 225, 225, 225, 225, 225, 225, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 75, 238, 359, 239, - 239, 239, 239, 239, 239, 239, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 106, 238, 359, 239, 239, 239, - 239, 239, 239, 239, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 106, 266, 267, 267, 267, 267, 267, 267, - - 267, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 75, - 266, 268, 268, 268, 268, 268, 268, 268, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 75, 266, 269, 269, - 269, 269, 269, 270, 267, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 75, 277, 278, 278, 278, 278, 278, - 278, 278, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - - 106, 277, 279, 279, 279, 279, 279, 279, 279, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 106, 277, 280, - 280, 280, 280, 280, 281, 278, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 106, 266, 267, 267, 267, 267, - 267, 267, 267, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 75, 266, 267, 267, 267, 267, 267, 267, 267, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - - 359, 359, 359, 359, 359, 359, 359, 359, 75, 277, - 278, 278, 278, 278, 278, 278, 278, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 106, 277, 278, 278, 278, - 278, 278, 278, 278, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 106, 296, 359, 297, 297, 297, 297, 297, - 297, 297, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 75, 296, 359, 298, 298, 298, 298, 298, 298, 298, - - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 75, 296, - 359, 299, 299, 299, 299, 299, 300, 301, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 75, 296, 359, 302, - 302, 302, 297, 297, 297, 297, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 75, 304, 359, 305, 305, 305, - 305, 305, 305, 305, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - - 359, 359, 106, 304, 359, 306, 306, 306, 306, 306, - 306, 306, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 106, 304, 359, 307, 307, 307, 307, 307, 308, 309, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 106, 304, - 359, 310, 310, 310, 305, 305, 305, 305, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 106, 296, 359, 301, - 301, 301, 301, 301, 301, 301, 359, 359, 359, 359, - - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 75, 296, 359, 301, 301, 301, - 301, 301, 301, 301, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 75, 296, 359, 301, 301, 301, 301, 301, - 301, 314, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 75, 296, 359, 314, 314, 314, 314, 314, 314, 314, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 75, 304, - - 359, 309, 309, 309, 309, 309, 309, 309, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 106, 304, 359, 309, - 309, 309, 309, 309, 309, 309, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 106, 304, 359, 309, 309, 309, - 309, 309, 309, 319, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 106, 304, 359, 319, 319, 319, 319, 319, - 319, 319, 359, 359, 359, 359, 359, 359, 359, 359, - - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 106, 321, 359, 322, 322, 322, 322, 322, 322, 322, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 75, 321, - 359, 323, 323, 323, 323, 323, 323, 323, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 75, 321, 359, 324, - 324, 324, 324, 324, 325, 322, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 75, 326, 359, 327, 327, 327, - - 327, 327, 327, 327, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 106, 326, 359, 328, 328, 328, 328, 328, - 328, 328, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 106, 326, 359, 329, 329, 329, 329, 329, 330, 327, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 106, 321, - 359, 322, 322, 322, 322, 322, 322, 322, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - - 359, 359, 359, 359, 359, 359, 75, 321, 359, 322, - 322, 322, 322, 322, 322, 322, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 75, 326, 359, 327, 327, 327, - 327, 327, 327, 327, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 106, 326, 359, 327, 327, 327, 327, 327, - 327, 327, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 106, 337, 359, 338, 338, 338, 338, 338, 338, 338, - - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 75, 337, - 359, 339, 339, 339, 339, 339, 339, 339, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 75, 337, 359, 340, - 340, 340, 340, 340, 341, 338, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 75, 342, 359, 343, 343, 343, - 343, 343, 343, 343, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - - 359, 359, 106, 342, 359, 344, 344, 344, 344, 344, - 344, 344, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 106, 342, 359, 345, 345, 345, 345, 345, 346, 343, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 106, 337, - 359, 338, 338, 338, 338, 338, 338, 338, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 75, 337, 359, 338, - 338, 338, 338, 338, 338, 338, 359, 359, 359, 359, - - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 75, 342, 359, 343, 343, 343, - 343, 343, 343, 343, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 106, 342, 359, 343, 343, 343, 343, 343, - 343, 343, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 106, 59, 59, 59, 59, 59, 59, 59, 21, 21, - 21, 21, 21, 21, 21, 67, 67, 67, 67, 67, - 67, 67, 74, 359, 359, 359, 359, 74, 74, 78, - - 78, 78, 78, 78, 78, 78, 80, 359, 359, 359, - 359, 80, 80, 82, 359, 359, 359, 359, 82, 82, - 84, 359, 84, 359, 359, 84, 84, 105, 359, 359, - 359, 359, 105, 105, 108, 359, 359, 359, 359, 108, - 108, 110, 359, 359, 359, 359, 110, 110, 112, 359, - 112, 359, 359, 112, 112, 127, 359, 127, 127, 359, - 359, 127, 134, 359, 134, 359, 134, 134, 134, 136, - 136, 136, 136, 136, 136, 136, 141, 141, 141, 141, - 141, 141, 141, 85, 359, 85, 359, 359, 85, 85, - 137, 137, 137, 137, 137, 137, 137, 13, 359, 359, - - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359 + 14, 14, 14, 14, 36, 14, 14, 37, 59, 59, + 76, 108, 21, 21, 21, 21, 109, 134, 99, 109, + 109, 109, 109, 109, 109, 109, 100, 127, 76, 38, + 39, 150, 40, 144, 99, 151, 41, 243, 152, 42, + 43, 15, 16, 17, 43, 44, 45, 21, 46, 43, + + 47, 23, 43, 43, 48, 49, 50, 51, 49, 49, + 49, 49, 28, 29, 21, 52, 52, 52, 52, 53, + 52, 54, 52, 55, 52, 52, 56, 52, 52, 52, + 57, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 58, 43, 43, 15, 61, 62, + 141, 63, 15, 61, 62, 80, 63, 64, 142, 135, + 86, 88, 64, 80, 86, 86, 86, 137, 64, 63, + 86, 86, 76, 64, 63, 137, 76, 155, 86, 134, + 99, 86, 86, 86, 76, 76, 65, 86, 76, 76, + 159, 65, 15, 16, 17, 157, 18, 87, 190, 86, + + 160, 101, 76, 115, 146, 147, 148, 146, 146, 146, + 146, 76, 156, 76, 188, 87, 108, 161, 76, 109, + 158, 171, 109, 109, 109, 109, 109, 109, 109, 76, + 108, 66, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 15, 16, + 17, 88, 18, 89, 89, 89, 89, 89, 89, 162, + 163, 164, 162, 162, 162, 162, 166, 134, 99, 80, + 167, 134, 99, 168, 134, 99, 76, 76, 76, 191, + 76, 190, 116, 173, 108, 134, 99, 66, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + + 67, 67, 67, 67, 15, 16, 17, 69, 18, 108, + 108, 189, 136, 70, 71, 72, 136, 139, 139, 174, + 136, 139, 136, 76, 137, 192, 73, 139, 86, 108, + 177, 209, 86, 86, 136, 76, 76, 218, 139, 139, + 175, 204, 205, 74, 15, 16, 17, 69, 18, 86, + 190, 80, 210, 70, 71, 72, 140, 76, 139, 139, + 317, 172, 139, 76, 209, 115, 73, 116, 139, 117, + 117, 117, 117, 117, 117, 76, 176, 173, 174, 219, + 139, 216, 76, 74, 88, 210, 89, 89, 89, 89, + 89, 89, 89, 242, 108, 108, 190, 140, 217, 193, + + 86, 228, 209, 238, 86, 80, 298, 80, 76, 229, + 86, 76, 88, 174, 90, 90, 90, 90, 90, 90, + 90, 86, 86, 210, 239, 76, 108, 139, 139, 76, + 172, 139, 238, 108, 240, 257, 76, 139, 253, 76, + 88, 261, 91, 91, 91, 91, 91, 92, 89, 139, + 238, 139, 139, 239, 175, 139, 258, 76, 314, 241, + 76, 139, 262, 317, 76, 263, 140, 76, 75, 265, + 108, 239, 75, 139, 75, 313, 314, 75, 75, 266, + 75, 75, 75, 93, 93, 93, 93, 93, 93, 93, + 140, 80, 76, 93, 93, 93, 93, 93, 93, 93, + + 93, 93, 93, 93, 93, 93, 93, 93, 76, 93, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 98, 99, 75, 76, 75, + 108, 75, 75, 290, 264, 75, 206, 207, 208, 206, + 206, 206, 206, 281, 80, 291, 75, 75, 75, 116, + 108, 117, 117, 117, 117, 117, 117, 117, 272, 244, + 177, 76, 178, 178, 178, 178, 178, 178, 220, 221, + 222, 220, 220, 220, 220, 76, 108, 116, 278, 118, + 118, 118, 118, 118, 118, 118, 108, 76, 282, 284, + 273, 271, 193, 108, 194, 194, 194, 194, 194, 194, + + 257, 261, 257, 279, 108, 116, 261, 119, 119, 119, + 119, 119, 120, 117, 279, 296, 76, 76, 285, 108, + 279, 258, 262, 258, 280, 283, 76, 262, 299, 270, + 305, 260, 108, 107, 296, 280, 297, 107, 300, 107, + 300, 280, 107, 107, 108, 107, 107, 107, 121, 121, + 121, 121, 121, 121, 121, 297, 76, 76, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 108, 121, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, + 126, 99, 107, 259, 107, 76, 107, 107, 296, 252, + + 107, 254, 255, 256, 254, 254, 254, 254, 251, 315, + 250, 107, 107, 107, 131, 99, 132, 249, 133, 297, + 313, 314, 132, 237, 133, 229, 76, 230, 230, 230, + 230, 230, 230, 236, 235, 133, 133, 267, 268, 269, + 267, 267, 267, 267, 244, 234, 245, 245, 245, 245, + 245, 245, 76, 133, 75, 227, 75, 226, 75, 318, + 75, 75, 108, 225, 75, 224, 223, 215, 214, 335, + 305, 108, 329, 329, 329, 75, 75, 75, 81, 213, + 81, 212, 81, 340, 81, 81, 108, 211, 81, 292, + 293, 294, 295, 292, 292, 292, 76, 76, 137, 81, + + 81, 81, 83, 203, 83, 202, 83, 351, 83, 83, + 108, 356, 83, 201, 76, 273, 274, 274, 274, 274, + 274, 274, 200, 83, 83, 83, 85, 199, 75, 198, + 85, 187, 75, 75, 76, 186, 85, 185, 108, 184, + 183, 76, 182, 137, 137, 130, 128, 85, 85, 75, + 88, 170, 89, 89, 89, 89, 89, 89, 89, 169, + 165, 113, 301, 302, 303, 304, 301, 301, 301, 285, + 286, 286, 286, 286, 286, 286, 111, 76, 88, 108, + 89, 89, 89, 89, 89, 89, 89, 108, 318, 154, + 334, 334, 334, 153, 149, 108, 325, 326, 327, 325, + + 325, 325, 325, 145, 84, 76, 107, 82, 107, 80, + 107, 78, 107, 107, 77, 108, 107, 76, 137, 130, + 128, 76, 125, 329, 329, 329, 124, 107, 107, 107, + 110, 123, 110, 122, 110, 113, 110, 110, 111, 108, + 110, 330, 331, 332, 330, 330, 330, 330, 76, 106, + 105, 110, 110, 110, 112, 104, 112, 103, 112, 102, + 112, 112, 97, 96, 112, 95, 108, 328, 328, 328, + 328, 328, 328, 328, 94, 112, 112, 112, 114, 84, + 107, 82, 114, 80, 107, 107, 78, 77, 114, 76, + 373, 373, 76, 373, 373, 373, 334, 334, 334, 114, + + 114, 107, 116, 373, 117, 117, 117, 117, 117, 117, + 117, 373, 373, 373, 333, 333, 333, 333, 333, 333, + 333, 108, 345, 346, 347, 345, 345, 345, 345, 108, + 116, 373, 117, 117, 117, 117, 117, 117, 117, 108, + 373, 373, 373, 373, 373, 373, 335, 76, 336, 336, + 336, 336, 336, 336, 373, 373, 373, 108, 177, 373, + 178, 178, 178, 178, 178, 178, 178, 373, 373, 373, + 373, 373, 373, 76, 348, 349, 350, 348, 348, 348, + 348, 373, 373, 373, 373, 76, 177, 373, 179, 179, + 179, 179, 179, 179, 179, 373, 373, 373, 340, 108, + + 341, 341, 341, 341, 341, 341, 361, 362, 363, 361, + 361, 361, 361, 76, 177, 373, 180, 180, 180, 180, + 180, 181, 178, 373, 373, 108, 373, 373, 373, 373, + 351, 76, 352, 352, 352, 352, 352, 352, 373, 373, + 373, 76, 193, 373, 194, 194, 194, 194, 194, 194, + 194, 373, 373, 373, 373, 373, 373, 76, 364, 365, + 366, 364, 364, 364, 364, 373, 373, 373, 373, 108, + 193, 373, 195, 195, 195, 195, 195, 195, 195, 373, + 373, 373, 356, 108, 357, 357, 357, 357, 357, 357, + 367, 367, 367, 367, 367, 367, 367, 108, 193, 373, + + 196, 196, 196, 196, 196, 197, 194, 373, 373, 108, + 373, 373, 373, 373, 373, 76, 361, 361, 361, 361, + 361, 361, 361, 373, 373, 108, 177, 373, 178, 178, + 178, 178, 178, 178, 178, 373, 373, 373, 373, 373, + 373, 76, 368, 368, 368, 368, 368, 369, 367, 373, + 373, 373, 373, 76, 177, 373, 178, 178, 178, 178, + 178, 178, 178, 373, 373, 373, 373, 76, 370, 370, + 370, 370, 370, 370, 370, 373, 373, 373, 373, 373, + 373, 76, 193, 373, 194, 194, 194, 194, 194, 194, + 194, 373, 373, 108, 364, 364, 364, 364, 364, 364, + + 364, 371, 371, 371, 371, 371, 372, 370, 373, 108, + 193, 373, 194, 194, 194, 194, 194, 194, 194, 108, + 373, 373, 373, 373, 373, 373, 108, 367, 367, 367, + 367, 367, 367, 367, 373, 373, 373, 108, 229, 373, + 230, 230, 230, 230, 230, 230, 230, 373, 373, 373, + 373, 373, 76, 367, 367, 367, 367, 367, 367, 373, + 373, 373, 373, 373, 373, 76, 229, 373, 231, 231, + 231, 231, 231, 231, 231, 373, 373, 373, 76, 370, + 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, + 370, 370, 373, 76, 229, 373, 232, 232, 232, 232, + + 232, 233, 230, 373, 108, 373, 373, 373, 373, 373, + 373, 108, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 76, 244, 373, 245, 245, 245, 245, 245, 245, + 245, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 108, + 244, 373, 246, 246, 246, 246, 246, 246, 246, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 108, 244, 373, + 247, 247, 247, 247, 247, 248, 245, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + + 373, 373, 373, 373, 373, 108, 229, 373, 230, 230, + 230, 230, 230, 230, 230, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 76, 229, 373, 230, 230, 230, 230, + 230, 230, 230, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 76, 244, 373, 245, 245, 245, 245, 245, 245, + 245, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 108, + 244, 373, 245, 245, 245, 245, 245, 245, 245, 373, + + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 108, 273, 274, + 274, 274, 274, 274, 274, 274, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 76, 273, 275, 275, 275, 275, + 275, 275, 275, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 76, 273, 276, 276, 276, 276, 276, 277, 274, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 76, 285, + + 286, 286, 286, 286, 286, 286, 286, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 108, 285, 287, 287, 287, + 287, 287, 287, 287, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 108, 285, 288, 288, 288, 288, 288, 289, + 286, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 108, + 273, 274, 274, 274, 274, 274, 274, 274, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + + 373, 373, 373, 373, 373, 373, 76, 273, 274, 274, + 274, 274, 274, 274, 274, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 76, 285, 286, 286, 286, 286, 286, + 286, 286, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 108, 285, 286, 286, 286, 286, 286, 286, 286, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 108, 305, 373, + 306, 306, 306, 306, 306, 306, 306, 373, 373, 373, + + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 76, 305, 373, 307, 307, + 307, 307, 307, 307, 307, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 76, 305, 373, 308, 308, 308, 308, + 308, 309, 310, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 76, 305, 373, 311, 311, 311, 306, 306, 306, + 306, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 76, + + 318, 373, 319, 319, 319, 319, 319, 319, 319, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 108, 318, 373, + 320, 320, 320, 320, 320, 320, 320, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 108, 318, 373, 321, 321, + 321, 321, 321, 322, 323, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 108, 318, 373, 324, 324, 324, 319, + 319, 319, 319, 373, 373, 373, 373, 373, 373, 373, + + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 108, 305, 373, 310, 310, 310, 310, 310, 310, + 310, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 76, + 305, 373, 310, 310, 310, 310, 310, 310, 310, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 76, 305, 373, + 310, 310, 310, 310, 310, 310, 328, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 76, 305, 373, 328, 328, + + 328, 328, 328, 328, 328, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 76, 316, 373, 316, 373, 316, 373, + 316, 316, 373, 373, 316, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 316, 316, 316, 318, 373, + 323, 323, 323, 323, 323, 323, 323, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 108, 318, 373, 323, 323, + 323, 323, 323, 323, 323, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + + 373, 373, 373, 108, 318, 373, 323, 323, 323, 323, + 323, 323, 333, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 108, 318, 373, 333, 333, 333, 333, 333, 333, + 333, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 108, + 335, 373, 336, 336, 336, 336, 336, 336, 336, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 76, 335, 373, + 337, 337, 337, 337, 337, 337, 337, 373, 373, 373, + + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 76, 335, 373, 338, 338, + 338, 338, 338, 339, 336, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 76, 340, 373, 341, 341, 341, 341, + 341, 341, 341, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 108, 340, 373, 342, 342, 342, 342, 342, 342, + 342, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 108, + + 340, 373, 343, 343, 343, 343, 343, 344, 341, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 108, 335, 373, + 336, 336, 336, 336, 336, 336, 336, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 76, 335, 373, 336, 336, + 336, 336, 336, 336, 336, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 76, 340, 373, 341, 341, 341, 341, + 341, 341, 341, 373, 373, 373, 373, 373, 373, 373, + + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 108, 340, 373, 341, 341, 341, 341, 341, 341, + 341, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 108, + 351, 373, 352, 352, 352, 352, 352, 352, 352, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 76, 351, 373, + 353, 353, 353, 353, 353, 353, 353, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 76, 351, 373, 354, 354, + + 354, 354, 354, 355, 352, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 76, 356, 373, 357, 357, 357, 357, + 357, 357, 357, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 108, 356, 373, 358, 358, 358, 358, 358, 358, + 358, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 108, + 356, 373, 359, 359, 359, 359, 359, 360, 357, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + + 373, 373, 373, 373, 373, 373, 373, 108, 351, 373, + 352, 352, 352, 352, 352, 352, 352, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 76, 351, 373, 352, 352, + 352, 352, 352, 352, 352, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 76, 356, 373, 357, 357, 357, 357, + 357, 357, 357, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 108, 356, 373, 357, 357, 357, 357, 357, 357, + + 357, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 108, + 60, 60, 60, 60, 60, 60, 60, 21, 21, 21, + 21, 21, 21, 21, 68, 68, 68, 68, 68, 68, + 68, 75, 373, 373, 373, 373, 75, 75, 79, 79, + 79, 79, 79, 79, 79, 81, 373, 373, 373, 373, + 81, 81, 83, 373, 373, 373, 373, 83, 83, 85, + 373, 85, 373, 373, 85, 85, 107, 373, 373, 373, + 373, 107, 107, 110, 373, 373, 373, 373, 110, 110, + 112, 373, 373, 373, 373, 112, 112, 114, 373, 114, + + 373, 373, 114, 114, 129, 373, 129, 129, 373, 373, + 129, 136, 373, 136, 373, 136, 136, 136, 138, 138, + 138, 138, 138, 138, 138, 143, 143, 143, 143, 143, + 143, 143, 86, 373, 86, 373, 373, 86, 86, 139, + 139, 139, 139, 139, 139, 139, 312, 312, 312, 312, + 312, 312, 312, 316, 373, 373, 373, 373, 316, 316, + 13, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373 } ; -static yyconst short int yy_chk[3055] = +static yyconst short int yy_chk[3119] = { 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, - 1, 1, 1, 1, 1, 1, 2, 2, 5, 2, - 65, 65, 5, 2, 5, 373, 2, 3, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 2, 5, 6, + 36, 58, 5, 6, 5, 6, 44, 66, 66, 44, + 44, 44, 44, 44, 44, 44, 36, 58, 219, 2, + 2, 95, 2, 74, 74, 95, 2, 219, 95, 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, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 6, 7, 7, 7, 6, 7, 6, - 69, 8, 8, 8, 7, 8, 36, 71, 88, 24, - 57, 8, 214, 24, 24, 7, 7, 69, 73, 73, - 214, 36, 8, 8, 71, 57, 97, 97, 99, 356, - 24, 101, 99, 7, 47, 88, 115, 101, 47, 47, - 8, 9, 9, 9, 43, 9, 24, 43, 43, 43, - 43, 43, 43, 43, 94, 47, 100, 102, 94, 103, - 125, 94, 104, 115, 125, 97, 100, 104, 185, 103, - - 102, 47, 91, 185, 91, 91, 91, 91, 91, 91, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 10, 10, 10, 91, - 10, 87, 87, 87, 87, 87, 87, 87, 107, 129, - 129, 107, 107, 107, 107, 107, 107, 107, 121, 124, - 124, 137, 121, 132, 132, 121, 87, 155, 154, 155, - 212, 138, 154, 138, 212, 10, 10, 10, 10, 10, + 3, 3, 3, 3, 3, 3, 3, 7, 7, 7, + 70, 7, 8, 8, 8, 37, 8, 7, 72, 387, + 24, 89, 8, 101, 24, 24, 48, 70, 7, 7, + 48, 48, 100, 8, 8, 72, 104, 100, 85, 98, + 98, 24, 85, 85, 102, 161, 7, 48, 89, 105, + 104, 8, 9, 9, 9, 102, 9, 24, 161, 85, + + 105, 37, 155, 48, 88, 88, 88, 88, 88, 88, + 88, 106, 101, 103, 155, 85, 127, 106, 98, 109, + 103, 127, 109, 109, 109, 109, 109, 109, 109, 88, + 370, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, + 10, 92, 10, 92, 92, 92, 92, 92, 92, 116, + 116, 116, 116, 116, 116, 116, 123, 131, 131, 156, + 123, 126, 126, 123, 134, 134, 157, 158, 92, 158, + 367, 157, 117, 139, 116, 144, 144, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 11, 11, 11, 11, 11, 353, 137, 124, 158, - 11, 11, 11, 171, 68, 68, 135, 68, 68, 138, - - 135, 158, 153, 11, 68, 84, 135, 112, 303, 84, - 84, 112, 112, 153, 142, 142, 68, 157, 135, 157, - 11, 12, 12, 12, 12, 12, 84, 156, 112, 171, - 12, 12, 12, 68, 114, 114, 114, 114, 114, 114, - 114, 156, 84, 12, 112, 118, 168, 118, 118, 118, - 118, 118, 118, 142, 175, 186, 186, 168, 187, 114, - 12, 25, 179, 25, 25, 25, 25, 25, 25, 25, - 200, 188, 118, 187, 201, 200, 136, 136, 194, 136, - 136, 175, 190, 179, 188, 213, 136, 225, 25, 26, - 205, 26, 26, 26, 26, 26, 26, 26, 136, 194, - - 213, 174, 174, 174, 174, 174, 174, 174, 143, 190, - 201, 205, 143, 239, 225, 136, 26, 27, 143, 27, - 27, 27, 27, 27, 27, 27, 174, 211, 259, 143, - 143, 189, 189, 189, 189, 189, 189, 189, 223, 237, - 239, 259, 223, 235, 27, 30, 222, 229, 211, 30, - 235, 30, 283, 237, 30, 30, 189, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 222, 229, 274, + + 10, 10, 10, 10, 11, 11, 11, 11, 11, 117, + 126, 156, 137, 11, 11, 11, 137, 69, 69, 139, + 69, 69, 137, 160, 144, 160, 11, 69, 114, 171, + 178, 182, 114, 114, 137, 159, 190, 190, 140, 69, + 140, 171, 174, 11, 12, 12, 12, 12, 12, 114, + 159, 189, 182, 12, 12, 12, 69, 178, 138, 138, + 316, 138, 138, 191, 198, 114, 12, 120, 138, 120, + 120, 120, 120, 120, 120, 188, 140, 205, 174, 191, + 138, 188, 192, 12, 25, 198, 25, 25, 25, 25, + 25, 25, 25, 218, 120, 204, 192, 138, 189, 194, + + 145, 204, 209, 215, 145, 217, 282, 282, 218, 230, + 145, 25, 26, 205, 26, 26, 26, 26, 26, 26, + 26, 145, 145, 209, 215, 315, 194, 175, 175, 216, + 175, 175, 227, 228, 216, 234, 230, 175, 228, 26, + 27, 237, 27, 27, 27, 27, 27, 27, 27, 175, + 238, 176, 176, 227, 176, 176, 234, 240, 312, 217, + 242, 176, 237, 300, 243, 240, 175, 27, 30, 242, + 291, 238, 30, 176, 30, 298, 298, 30, 30, 243, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 176, 241, 281, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - - 30, 35, 35, 35, 263, 35, 257, 35, 35, 267, - 178, 35, 178, 178, 178, 178, 178, 178, 232, 253, - 257, 233, 35, 35, 35, 48, 236, 48, 48, 48, - 48, 48, 48, 48, 236, 267, 275, 178, 275, 232, - 172, 172, 233, 172, 172, 243, 246, 247, 245, 251, - 172, 265, 48, 49, 247, 49, 49, 49, 49, 49, - 49, 49, 172, 244, 290, 265, 243, 246, 173, 173, - 251, 173, 173, 254, 276, 278, 276, 290, 173, 172, - 49, 50, 255, 50, 50, 50, 50, 50, 50, 50, - 173, 264, 276, 193, 254, 193, 193, 193, 193, 193, - - 193, 278, 231, 255, 258, 297, 305, 173, 50, 51, - 271, 258, 264, 51, 230, 51, 221, 220, 51, 51, - 193, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 271, 297, 305, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 56, 56, 56, 219, 56, - 218, 56, 56, 272, 282, 56, 224, 224, 224, 224, - 224, 224, 224, 315, 315, 315, 56, 56, 56, 64, - 64, 64, 210, 64, 272, 282, 209, 64, 208, 64, - - 228, 224, 228, 228, 228, 228, 228, 228, 315, 288, - 64, 64, 238, 238, 238, 238, 238, 238, 238, 242, - 207, 242, 242, 242, 242, 242, 242, 228, 64, 75, - 288, 75, 199, 75, 322, 75, 75, 238, 198, 75, - 197, 196, 195, 184, 327, 302, 242, 302, 302, 302, - 75, 75, 75, 81, 183, 81, 182, 81, 338, 81, - 81, 322, 181, 81, 266, 266, 266, 266, 266, 266, - 266, 327, 302, 180, 81, 81, 81, 83, 169, 83, - 167, 83, 343, 83, 83, 338, 166, 83, 165, 266, - 270, 270, 270, 270, 270, 270, 270, 164, 83, 83, - - 83, 86, 163, 86, 162, 86, 152, 86, 86, 343, - 151, 86, 150, 149, 148, 147, 270, 141, 134, 128, - 126, 123, 86, 86, 86, 89, 122, 89, 89, 89, - 89, 89, 89, 89, 120, 110, 108, 277, 277, 277, - 277, 277, 277, 277, 281, 281, 281, 281, 281, 281, - 281, 105, 89, 90, 96, 90, 90, 90, 90, 90, - 90, 90, 277, 310, 95, 310, 310, 310, 93, 85, - 281, 296, 296, 296, 296, 296, 296, 296, 82, 80, - 90, 106, 78, 106, 77, 106, 76, 106, 106, 74, - 310, 106, 67, 61, 58, 55, 296, 54, 320, 320, - - 320, 53, 106, 106, 106, 109, 52, 109, 46, 109, - 44, 109, 109, 42, 41, 109, 304, 304, 304, 304, - 304, 304, 304, 320, 40, 39, 109, 109, 109, 111, - 38, 111, 37, 111, 34, 111, 111, 33, 32, 111, - 31, 304, 314, 314, 314, 314, 314, 314, 314, 22, - 111, 111, 111, 113, 19, 113, 18, 113, 17, 113, - 113, 15, 14, 113, 13, 0, 0, 314, 0, 0, - 0, 0, 0, 0, 113, 113, 113, 116, 0, 116, - 116, 116, 116, 116, 116, 116, 0, 0, 0, 319, - 319, 319, 319, 319, 319, 319, 321, 321, 321, 321, - - 321, 321, 321, 0, 116, 117, 0, 117, 117, 117, - 117, 117, 117, 117, 319, 0, 0, 0, 0, 0, - 325, 321, 325, 325, 325, 325, 325, 325, 0, 0, - 0, 0, 117, 144, 0, 144, 144, 144, 144, 144, - 144, 144, 0, 0, 0, 0, 0, 325, 326, 326, - 326, 326, 326, 326, 326, 0, 0, 0, 0, 0, - 144, 145, 0, 145, 145, 145, 145, 145, 145, 145, - 0, 0, 330, 326, 330, 330, 330, 330, 330, 330, - 337, 337, 337, 337, 337, 337, 337, 0, 145, 146, - 0, 146, 146, 146, 146, 146, 146, 146, 0, 330, - - 0, 0, 0, 0, 341, 337, 341, 341, 341, 341, - 341, 341, 0, 0, 0, 0, 146, 159, 0, 159, - 159, 159, 159, 159, 159, 159, 0, 0, 0, 0, - 0, 341, 342, 342, 342, 342, 342, 342, 342, 0, - 0, 0, 0, 0, 159, 160, 0, 160, 160, 160, - 160, 160, 160, 160, 0, 0, 346, 342, 346, 346, - 346, 346, 346, 346, 347, 347, 347, 347, 347, 347, - 347, 0, 160, 161, 0, 161, 161, 161, 161, 161, - 161, 161, 0, 346, 0, 0, 0, 0, 0, 347, - 348, 348, 348, 348, 348, 348, 348, 0, 0, 0, - - 161, 176, 0, 176, 176, 176, 176, 176, 176, 176, - 0, 0, 0, 0, 0, 348, 349, 349, 349, 349, - 349, 349, 349, 0, 0, 0, 0, 0, 176, 177, - 0, 177, 177, 177, 177, 177, 177, 177, 0, 0, - 0, 349, 350, 350, 350, 350, 350, 350, 350, 351, - 351, 351, 351, 351, 351, 351, 177, 191, 0, 191, - 191, 191, 191, 191, 191, 191, 0, 350, 0, 0, - 0, 0, 0, 0, 351, 352, 352, 352, 352, 352, - 352, 352, 0, 0, 191, 192, 0, 192, 192, 192, - 192, 192, 192, 192, 0, 0, 0, 0, 0, 0, - - 352, 354, 354, 354, 354, 354, 354, 354, 0, 0, - 0, 0, 192, 202, 0, 202, 202, 202, 202, 202, - 202, 202, 0, 0, 0, 0, 354, 355, 355, 355, - 355, 355, 355, 357, 357, 357, 357, 357, 357, 357, - 202, 203, 0, 203, 203, 203, 203, 203, 203, 203, - 0, 0, 355, 0, 0, 0, 0, 0, 357, 358, - 358, 358, 358, 358, 358, 0, 0, 0, 203, 204, - 0, 204, 204, 204, 204, 204, 204, 204, 0, 0, - 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 204, 215, 0, 215, - - 215, 215, 215, 215, 215, 215, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 215, 216, 0, 216, 216, 216, - 216, 216, 216, 216, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 216, 217, 0, 217, 217, 217, 217, 217, - 217, 217, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 30, 30, 30, 30, 35, 35, 35, 263, 35, + 272, 35, 35, 270, 241, 35, 177, 177, 177, 177, + 177, 177, 177, 263, 264, 272, 35, 35, 35, 49, + 253, 49, 49, 49, 49, 49, 49, 49, 253, 245, + 181, 177, 181, 181, 181, 181, 181, 181, 193, 193, + 193, 193, 193, 193, 193, 266, 49, 50, 259, 50, + 50, 50, 50, 50, 50, 50, 245, 181, 264, 266, + 274, 251, 197, 193, 197, 197, 197, 197, 197, 197, + + 249, 252, 257, 260, 50, 51, 261, 51, 51, 51, + 51, 51, 51, 51, 271, 278, 274, 265, 286, 197, + 279, 249, 252, 257, 260, 265, 283, 261, 283, 250, + 306, 236, 51, 52, 290, 271, 278, 52, 284, 52, + 284, 279, 52, 52, 286, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 290, 284, 306, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 57, 57, 57, 235, 57, 299, 57, 57, 296, 226, + + 57, 229, 229, 229, 229, 229, 229, 229, 225, 299, + 224, 57, 57, 57, 65, 65, 65, 223, 65, 296, + 313, 313, 65, 214, 65, 233, 229, 233, 233, 233, + 233, 233, 233, 213, 212, 65, 65, 244, 244, 244, + 244, 244, 244, 244, 248, 211, 248, 248, 248, 248, + 248, 248, 233, 65, 76, 203, 76, 202, 76, 319, + 76, 76, 244, 201, 76, 200, 199, 187, 186, 336, + 311, 248, 311, 311, 311, 76, 76, 76, 82, 185, + 82, 184, 82, 341, 82, 82, 319, 183, 82, 273, + 273, 273, 273, 273, 273, 273, 336, 311, 172, 82, + + 82, 82, 84, 170, 84, 169, 84, 352, 84, 84, + 341, 357, 84, 168, 273, 277, 277, 277, 277, 277, + 277, 277, 167, 84, 84, 84, 87, 166, 87, 165, + 87, 154, 87, 87, 352, 153, 87, 152, 357, 151, + 150, 277, 149, 143, 136, 130, 128, 87, 87, 87, + 90, 125, 90, 90, 90, 90, 90, 90, 90, 124, + 122, 112, 285, 285, 285, 285, 285, 285, 285, 289, + 289, 289, 289, 289, 289, 289, 110, 90, 91, 107, + 91, 91, 91, 91, 91, 91, 91, 285, 324, 97, + 324, 324, 324, 96, 94, 289, 305, 305, 305, 305, + + 305, 305, 305, 86, 83, 91, 108, 81, 108, 79, + 108, 78, 108, 108, 77, 324, 108, 75, 68, 62, + 59, 305, 56, 329, 329, 329, 55, 108, 108, 108, + 111, 54, 111, 53, 111, 47, 111, 111, 45, 43, + 111, 318, 318, 318, 318, 318, 318, 318, 329, 42, + 41, 111, 111, 111, 113, 40, 113, 39, 113, 38, + 113, 113, 34, 33, 113, 32, 318, 328, 328, 328, + 328, 328, 328, 328, 31, 113, 113, 113, 115, 22, + 115, 19, 115, 18, 115, 115, 17, 15, 115, 14, + 13, 0, 328, 0, 0, 0, 334, 334, 334, 115, + + 115, 115, 118, 0, 118, 118, 118, 118, 118, 118, + 118, 0, 0, 0, 333, 333, 333, 333, 333, 333, + 333, 334, 335, 335, 335, 335, 335, 335, 335, 118, + 119, 0, 119, 119, 119, 119, 119, 119, 119, 333, + 0, 0, 0, 0, 0, 0, 339, 335, 339, 339, + 339, 339, 339, 339, 0, 0, 0, 119, 146, 0, + 146, 146, 146, 146, 146, 146, 146, 0, 0, 0, + 0, 0, 0, 339, 340, 340, 340, 340, 340, 340, + 340, 0, 0, 0, 0, 146, 147, 0, 147, 147, + 147, 147, 147, 147, 147, 0, 0, 0, 344, 340, + + 344, 344, 344, 344, 344, 344, 351, 351, 351, 351, + 351, 351, 351, 147, 148, 0, 148, 148, 148, 148, + 148, 148, 148, 0, 0, 344, 0, 0, 0, 0, + 355, 351, 355, 355, 355, 355, 355, 355, 0, 0, + 0, 148, 162, 0, 162, 162, 162, 162, 162, 162, + 162, 0, 0, 0, 0, 0, 0, 355, 356, 356, + 356, 356, 356, 356, 356, 0, 0, 0, 0, 162, + 163, 0, 163, 163, 163, 163, 163, 163, 163, 0, + 0, 0, 360, 356, 360, 360, 360, 360, 360, 360, + 361, 361, 361, 361, 361, 361, 361, 163, 164, 0, + + 164, 164, 164, 164, 164, 164, 164, 0, 0, 360, + 0, 0, 0, 0, 0, 361, 362, 362, 362, 362, + 362, 362, 362, 0, 0, 164, 179, 0, 179, 179, + 179, 179, 179, 179, 179, 0, 0, 0, 0, 0, + 0, 362, 363, 363, 363, 363, 363, 363, 363, 0, + 0, 0, 0, 179, 180, 0, 180, 180, 180, 180, + 180, 180, 180, 0, 0, 0, 0, 363, 364, 364, + 364, 364, 364, 364, 364, 0, 0, 0, 0, 0, + 0, 180, 195, 0, 195, 195, 195, 195, 195, 195, + 195, 0, 0, 364, 365, 365, 365, 365, 365, 365, + + 365, 366, 366, 366, 366, 366, 366, 366, 0, 195, + 196, 0, 196, 196, 196, 196, 196, 196, 196, 365, + 0, 0, 0, 0, 0, 0, 366, 368, 368, 368, + 368, 368, 368, 368, 0, 0, 0, 196, 206, 0, + 206, 206, 206, 206, 206, 206, 206, 0, 0, 0, + 0, 0, 368, 369, 369, 369, 369, 369, 369, 0, + 0, 0, 0, 0, 0, 206, 207, 0, 207, 207, + 207, 207, 207, 207, 207, 0, 0, 0, 369, 371, + 371, 371, 371, 371, 371, 371, 372, 372, 372, 372, + 372, 372, 0, 207, 208, 0, 208, 208, 208, 208, + + 208, 208, 208, 0, 371, 0, 0, 0, 0, 0, + 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 208, 220, 0, 220, 220, 220, 220, 220, 220, + 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, + 221, 0, 221, 221, 221, 221, 221, 221, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 217, 226, 0, 226, 226, 226, 226, 226, 226, 226, + 0, 0, 0, 0, 0, 0, 0, 221, 222, 0, + 222, 222, 222, 222, 222, 222, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 226, 227, - 0, 227, 227, 227, 227, 227, 227, 227, 0, 0, + 0, 0, 0, 0, 0, 222, 231, 0, 231, 231, + 231, 231, 231, 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 227, 240, 0, 240, - 240, 240, 240, 240, 240, 240, 0, 0, 0, 0, + 0, 0, 0, 231, 232, 0, 232, 232, 232, 232, + 232, 232, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 241, 0, 241, 241, 241, - 241, 241, 241, 241, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 241, 248, 248, 248, 248, 248, 248, 248, + 0, 232, 246, 0, 246, 246, 246, 246, 246, 246, + 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, + 247, 0, 247, 247, 247, 247, 247, 247, 247, 0, - 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, - 249, 249, 249, 249, 249, 249, 249, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 249, 250, 250, 250, - 250, 250, 250, 250, 250, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 247, 254, 254, + 254, 254, 254, 254, 254, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 250, 260, 260, 260, 260, 260, 260, - 260, 260, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 254, 255, 255, 255, 255, 255, + 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 260, 261, 261, 261, 261, 261, 261, 261, 261, 0, + 0, 255, 256, 256, 256, 256, 256, 256, 256, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 261, 262, 262, - 262, 262, 262, 262, 262, 262, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 256, 267, + + 267, 267, 267, 267, 267, 267, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 262, 268, 268, 268, 268, 268, - 268, 268, 268, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 267, 268, 268, 268, 268, + 268, 268, 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 268, 269, 269, 269, 269, 269, 269, 269, 269, + 0, 0, 268, 269, 269, 269, 269, 269, 269, 269, + 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, + 275, 275, 275, 275, 275, 275, 275, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 269, 279, - 279, 279, 279, 279, 279, 279, 279, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 275, 276, 276, 276, + 276, 276, 276, 276, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 280, 280, 280, 280, - 280, 280, 280, 280, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 276, 287, 287, 287, 287, 287, 287, + 287, 287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 284, 0, 284, 284, 284, 284, 284, - 284, 284, 0, 0, 0, 0, 0, 0, 0, 0, + 287, 288, 288, 288, 288, 288, 288, 288, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 284, 285, 0, 285, 285, 285, 285, 285, 285, 285, + 0, 0, 0, 0, 0, 0, 0, 288, 292, 0, + 292, 292, 292, 292, 292, 292, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 285, 286, - 0, 286, 286, 286, 286, 286, 286, 286, 0, 0, + 0, 0, 0, 0, 0, 292, 293, 0, 293, 293, + 293, 293, 293, 293, 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 286, 287, 0, 287, - 287, 287, 287, 287, 287, 287, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 287, 292, 0, 292, 292, 292, - 292, 292, 292, 292, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 293, 294, 0, 294, 294, 294, 294, + 294, 294, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 294, 295, 0, 295, 295, 295, 295, 295, 295, + 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, - 0, 0, 292, 293, 0, 293, 293, 293, 293, 293, - 293, 293, 0, 0, 0, 0, 0, 0, 0, 0, + 301, 0, 301, 301, 301, 301, 301, 301, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 293, 294, 0, 294, 294, 294, 294, 294, 294, 294, + 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, + 302, 302, 302, 302, 302, 302, 302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 294, 295, - 0, 295, 295, 295, 295, 295, 295, 295, 0, 0, + 0, 0, 0, 0, 0, 302, 303, 0, 303, 303, + 303, 303, 303, 303, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 295, 298, 0, 298, - 298, 298, 298, 298, 298, 298, 0, 0, 0, 0, + 0, 0, 0, 303, 304, 0, 304, 304, 304, 304, + 304, 304, 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 299, 0, 299, 299, 299, - 299, 299, 299, 299, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 299, 300, 0, 300, 300, 300, 300, 300, - 300, 300, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 307, 0, 307, 307, 307, 307, 307, 307, + 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, + 308, 0, 308, 308, 308, 308, 308, 308, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 300, 301, 0, 301, 301, 301, 301, 301, 301, 301, + 0, 0, 0, 0, 0, 0, 0, 308, 309, 0, + 309, 309, 309, 309, 309, 309, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 301, 306, + 0, 0, 0, 0, 0, 309, 310, 0, 310, 310, - 0, 306, 306, 306, 306, 306, 306, 306, 0, 0, + 310, 310, 310, 310, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 306, 307, 0, 307, - 307, 307, 307, 307, 307, 307, 0, 0, 0, 0, + 0, 0, 0, 310, 317, 0, 317, 0, 317, 0, + 317, 317, 0, 0, 317, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 317, 317, 317, 320, 0, + 320, 320, 320, 320, 320, 320, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 307, 308, 0, 308, 308, 308, - 308, 308, 308, 308, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 320, 321, 0, 321, 321, + 321, 321, 321, 321, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 308, 309, 0, 309, 309, 309, 309, 309, - 309, 309, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 321, 322, 0, 322, 322, 322, 322, + 322, 322, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 309, 311, 0, 311, 311, 311, 311, 311, 311, 311, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 311, 312, - 0, 312, 312, 312, 312, 312, 312, 312, 0, 0, + 0, 322, 323, 0, 323, 323, 323, 323, 323, 323, + 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, + 325, 0, 325, 325, 325, 325, 325, 325, 325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 312, 313, 0, 313, - 313, 313, 313, 313, 313, 313, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 313, 316, 0, 316, 316, 316, + 0, 0, 0, 0, 0, 0, 0, 325, 326, 0, + 326, 326, 326, 326, 326, 326, 326, 0, 0, 0, - 316, 316, 316, 316, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 316, 317, 0, 317, 317, 317, 317, 317, - 317, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 317, 318, 0, 318, 318, 318, 318, 318, 318, 318, + 0, 0, 0, 0, 0, 326, 327, 0, 327, 327, + 327, 327, 327, 327, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 318, 323, - 0, 323, 323, 323, 323, 323, 323, 323, 0, 0, + 0, 0, 0, 327, 330, 0, 330, 330, 330, 330, + 330, 330, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 330, 331, 0, 331, 331, 331, 331, 331, 331, + 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, - 0, 0, 0, 0, 0, 0, 323, 324, 0, 324, - 324, 324, 324, 324, 324, 324, 0, 0, 0, 0, + 332, 0, 332, 332, 332, 332, 332, 332, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 324, 328, 0, 328, 328, 328, - 328, 328, 328, 328, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 332, 337, 0, + 337, 337, 337, 337, 337, 337, 337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 328, 329, 0, 329, 329, 329, 329, 329, - 329, 329, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 337, 338, 0, 338, 338, + 338, 338, 338, 338, 338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 329, 331, 0, 331, 331, 331, 331, 331, 331, 331, + 0, 0, 0, 338, 342, 0, 342, 342, 342, 342, + 342, 342, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 331, 332, - 0, 332, 332, 332, 332, 332, 332, 332, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 332, 333, 0, 333, - 333, 333, 333, 333, 333, 333, 0, 0, 0, 0, + 0, 342, 343, 0, 343, 343, 343, 343, 343, 343, + 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, + 345, 0, 345, 345, 345, 345, 345, 345, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 333, 334, 0, 334, 334, 334, - 334, 334, 334, 334, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 345, 346, 0, + 346, 346, 346, 346, 346, 346, 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 346, 347, 0, 347, 347, - 0, 0, 334, 335, 0, 335, 335, 335, 335, 335, - 335, 335, 0, 0, 0, 0, 0, 0, 0, 0, + 347, 347, 347, 347, 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 335, 336, 0, 336, 336, 336, 336, 336, 336, 336, + 0, 0, 0, 347, 348, 0, 348, 348, 348, 348, + 348, 348, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 336, 339, - 0, 339, 339, 339, 339, 339, 339, 339, 0, 0, + 0, 348, 349, 0, 349, 349, 349, 349, 349, 349, + 349, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, + 350, 0, 350, 350, 350, 350, 350, 350, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 339, 340, 0, 340, - 340, 340, 340, 340, 340, 340, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 350, 353, 0, + 353, 353, 353, 353, 353, 353, 353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 340, 344, 0, 344, 344, 344, - 344, 344, 344, 344, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 353, 354, 0, 354, 354, + 354, 354, 354, 354, 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 345, 0, 345, 345, 345, 345, 345, - 345, 345, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 354, 358, 0, 358, 358, 358, 358, + 358, 358, 358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 345, 360, 360, 360, 360, 360, 360, 360, 361, 361, - 361, 361, 361, 361, 361, 362, 362, 362, 362, 362, - 362, 362, 363, 0, 0, 0, 0, 363, 363, 364, - - 364, 364, 364, 364, 364, 364, 365, 0, 0, 0, - 0, 365, 365, 366, 0, 0, 0, 0, 366, 366, - 367, 0, 367, 0, 0, 367, 367, 368, 0, 0, - 0, 0, 368, 368, 369, 0, 0, 0, 0, 369, - 369, 370, 0, 0, 0, 0, 370, 370, 371, 0, - 371, 0, 0, 371, 371, 372, 0, 372, 372, 0, - 0, 372, 374, 0, 374, 0, 374, 374, 374, 375, - 375, 375, 375, 375, 375, 375, 376, 376, 376, 376, - 376, 376, 376, 377, 0, 377, 0, 0, 377, 377, - 378, 378, 378, 378, 378, 378, 378, 359, 359, 359, - - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359 + 0, 358, 359, 0, 359, 359, 359, 359, 359, 359, + + 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, + 374, 374, 374, 374, 374, 374, 374, 375, 375, 375, + 375, 375, 375, 375, 376, 376, 376, 376, 376, 376, + 376, 377, 0, 0, 0, 0, 377, 377, 378, 378, + 378, 378, 378, 378, 378, 379, 0, 0, 0, 0, + 379, 379, 380, 0, 0, 0, 0, 380, 380, 381, + 0, 381, 0, 0, 381, 381, 382, 0, 0, 0, + 0, 382, 382, 383, 0, 0, 0, 0, 383, 383, + 384, 0, 0, 0, 0, 384, 384, 385, 0, 385, + + 0, 0, 385, 385, 386, 0, 386, 386, 0, 0, + 386, 388, 0, 388, 0, 388, 388, 388, 389, 389, + 389, 389, 389, 389, 389, 390, 390, 390, 390, 390, + 390, 390, 391, 0, 391, 0, 0, 391, 391, 392, + 392, 392, 392, 392, 392, 392, 393, 393, 393, 393, + 393, 393, 393, 394, 0, 0, 0, 0, 394, 394, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373 } ; static yy_state_type yy_last_accepting_state; @@ -1226,8 +1248,12 @@ static int arg_size = 0; static void fill __P((char *, int)); static void fill_cmnd __P((char *, int)); static void fill_args __P((char *, int, int)); +static int buffer_frob __P((const char *)); extern void reset_aliases __P((void)); -extern void yyerror __P((char *)); +extern void yyerror __P((const char *)); + +#define push_include(_p) (buffer_frob((_p))) +#define pop_include() (buffer_frob(NULL)) /* realloc() to size + COMMANDARGINC to make room for command args */ #define COMMANDARGINC 64 @@ -1248,7 +1274,7 @@ extern void yyerror __P((char *)); #define INDEFS 5 -#line 1252 "lex.yy.c" +#line 1278 "lex.yy.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1402,9 +1428,9 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 99 "parse.lex" +#line 103 "parse.lex" -#line 1408 "lex.yy.c" +#line 1434 "lex.yy.c" if ( yy_init ) { @@ -1456,13 +1482,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 >= 360 ) + if ( yy_current_state >= 374 ) 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] != 2998 ); + while ( yy_base[yy_current_state] != 3061 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1490,12 +1516,12 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 100 "parse.lex" +#line 104 "parse.lex" BEGIN STARTDEFS; YY_BREAK case 2: YY_RULE_SETUP -#line 102 "parse.lex" +#line 106 "parse.lex" { BEGIN INDEFS; LEXTRACE("DEFVAR "); @@ -1506,7 +1532,7 @@ YY_RULE_SETUP case 3: YY_RULE_SETUP -#line 110 "parse.lex" +#line 114 "parse.lex" { BEGIN STARTDEFS; LEXTRACE(", "); @@ -1515,7 +1541,7 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 116 "parse.lex" +#line 120 "parse.lex" { LEXTRACE("= "); return('='); @@ -1523,7 +1549,7 @@ YY_RULE_SETUP YY_BREAK case 5: YY_RULE_SETUP -#line 121 "parse.lex" +#line 125 "parse.lex" { LEXTRACE("+= "); return('+'); @@ -1531,7 +1557,7 @@ YY_RULE_SETUP YY_BREAK case 6: YY_RULE_SETUP -#line 126 "parse.lex" +#line 130 "parse.lex" { LEXTRACE("-= "); return('-'); @@ -1539,7 +1565,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 131 "parse.lex" +#line 135 "parse.lex" { LEXTRACE("WORD(1) "); fill(yytext + 1, yyleng - 2); @@ -1548,7 +1574,7 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 137 "parse.lex" +#line 141 "parse.lex" { LEXTRACE("WORD(2) "); fill(yytext, yyleng); @@ -1559,7 +1585,7 @@ YY_RULE_SETUP case 9: YY_RULE_SETUP -#line 145 "parse.lex" +#line 149 "parse.lex" { /* quoted fnmatch glob char, pass verbatim */ LEXTRACE("QUOTEDCHAR "); @@ -1569,7 +1595,7 @@ YY_RULE_SETUP YY_BREAK case 10: YY_RULE_SETUP -#line 152 "parse.lex" +#line 156 "parse.lex" { /* quoted sudoers special char, strip backslash */ LEXTRACE("QUOTEDCHAR "); @@ -1579,7 +1605,7 @@ YY_RULE_SETUP YY_BREAK case 11: YY_RULE_SETUP -#line 159 "parse.lex" +#line 163 "parse.lex" { BEGIN INITIAL; unput(*yytext); @@ -1588,7 +1614,7 @@ YY_RULE_SETUP YY_BREAK case 12: YY_RULE_SETUP -#line 165 "parse.lex" +#line 169 "parse.lex" { LEXTRACE("ARG "); fill_args(yytext, yyleng, sawspace); @@ -1598,17 +1624,37 @@ YY_RULE_SETUP case 13: YY_RULE_SETUP -#line 172 "parse.lex" +#line 176 "parse.lex" +{ + char *cp, *ep; + /* pull out path from #include line */ + for (cp = yytext + 9; isspace(*cp); cp++) + continue; + for (ep = cp; *ep != '\0' && !isspace(*ep); ep++) + continue; + *ep = '\0'; + /* push current buffer and switch to include file */ + push_include(cp); + LEXTRACE("INCLUDE\n"); + BEGIN INITIAL; + } + YY_BREAK +case 14: +YY_RULE_SETUP +#line 190 "parse.lex" { BEGIN GOTDEFS; switch (yytext[8]) { case ':': + yyless(9); LEXTRACE("DEFAULTS_USER "); return(DEFAULTS_USER); case '>': + yyless(9); LEXTRACE("DEFAULTS_RUNAS "); return(DEFAULTS_RUNAS); case '@': + yyless(9); LEXTRACE("DEFAULTS_HOST "); return(DEFAULTS_HOST); default: @@ -1617,9 +1663,9 @@ YY_RULE_SETUP } } YY_BREAK -case 14: +case 15: YY_RULE_SETUP -#line 190 "parse.lex" +#line 211 "parse.lex" { fill(yytext, yyleng); switch (*yytext) { @@ -1639,59 +1685,59 @@ YY_RULE_SETUP } } YY_BREAK -case 15: +case 16: YY_RULE_SETUP -#line 209 "parse.lex" +#line 230 "parse.lex" { /* cmnd does not require passwd for this user */ LEXTRACE("NOPASSWD "); return(NOPASSWD); } YY_BREAK -case 16: +case 17: YY_RULE_SETUP -#line 215 "parse.lex" +#line 236 "parse.lex" { /* cmnd requires passwd for this user */ LEXTRACE("PASSWD "); return(PASSWD); } YY_BREAK -case 17: +case 18: YY_RULE_SETUP -#line 221 "parse.lex" +#line 242 "parse.lex" { LEXTRACE("NOEXEC "); return(NOEXEC); } YY_BREAK -case 18: +case 19: YY_RULE_SETUP -#line 226 "parse.lex" +#line 247 "parse.lex" { LEXTRACE("EXEC "); return(EXEC); } YY_BREAK -case 19: +case 20: YY_RULE_SETUP -#line 231 "parse.lex" +#line 252 "parse.lex" { LEXTRACE("NOTRACE "); return(NOTRACE); } YY_BREAK -case 20: +case 21: YY_RULE_SETUP -#line 236 "parse.lex" +#line 257 "parse.lex" { LEXTRACE("TRACE "); return(TRACE); } YY_BREAK -case 21: +case 22: YY_RULE_SETUP -#line 241 "parse.lex" +#line 262 "parse.lex" { /* netgroup */ fill(yytext, yyleng); @@ -1699,9 +1745,9 @@ YY_RULE_SETUP return(NETGROUP); } YY_BREAK -case 22: +case 23: YY_RULE_SETUP -#line 248 "parse.lex" +#line 269 "parse.lex" { /* UN*X group */ fill(yytext, yyleng); @@ -1709,36 +1755,36 @@ YY_RULE_SETUP return(USERGROUP); } YY_BREAK -case 23: +case 24: YY_RULE_SETUP -#line 255 "parse.lex" +#line 276 "parse.lex" { fill(yytext, yyleng); LEXTRACE("NTWKADDR "); return(NTWKADDR); } YY_BREAK -case 24: +case 25: YY_RULE_SETUP -#line 261 "parse.lex" +#line 282 "parse.lex" { fill(yytext, yyleng); LEXTRACE("NTWKADDR "); return(NTWKADDR); } YY_BREAK -case 25: +case 26: YY_RULE_SETUP -#line 267 "parse.lex" +#line 288 "parse.lex" { BEGIN GOTRUNAS; LEXTRACE("RUNAS "); return (RUNAS); } YY_BREAK -case 26: +case 27: YY_RULE_SETUP -#line 273 "parse.lex" +#line 294 "parse.lex" { if (strcmp(yytext, "ALL") == 0) { LEXTRACE("ALL "); @@ -1750,9 +1796,9 @@ YY_RULE_SETUP } } YY_BREAK -case 27: +case 28: YY_RULE_SETUP -#line 284 "parse.lex" +#line 305 "parse.lex" { /* username/uid that user can run command as */ fill(yytext, yyleng); @@ -1760,25 +1806,25 @@ YY_RULE_SETUP return(WORD); } YY_BREAK -case 28: +case 29: YY_RULE_SETUP -#line 291 "parse.lex" +#line 312 "parse.lex" { BEGIN INITIAL; } YY_BREAK -case 29: +case 30: YY_RULE_SETUP -#line 295 "parse.lex" +#line 316 "parse.lex" { BEGIN GOTCMND; LEXTRACE("COMMAND "); fill_cmnd(yytext, yyleng); } /* sudo -e */ YY_BREAK -case 30: +case 31: YY_RULE_SETUP -#line 301 "parse.lex" +#line 322 "parse.lex" { /* directories can't have args... */ if (yytext[yyleng - 1] == '/') { @@ -1792,9 +1838,9 @@ YY_RULE_SETUP } } /* a pathname */ YY_BREAK -case 31: +case 32: YY_RULE_SETUP -#line 314 "parse.lex" +#line 335 "parse.lex" { /* a word */ fill(yytext, yyleng); @@ -1802,41 +1848,41 @@ YY_RULE_SETUP return(WORD); } YY_BREAK -case 32: +case 33: YY_RULE_SETUP -#line 321 "parse.lex" +#line 342 "parse.lex" { LEXTRACE(", "); return(','); } /* return ',' */ YY_BREAK -case 33: +case 34: YY_RULE_SETUP -#line 326 "parse.lex" +#line 347 "parse.lex" { LEXTRACE("= "); return('='); } /* return '=' */ YY_BREAK -case 34: +case 35: YY_RULE_SETUP -#line 331 "parse.lex" +#line 352 "parse.lex" { LEXTRACE(": "); return(':'); } /* return ':' */ YY_BREAK -case 35: +case 36: YY_RULE_SETUP -#line 336 "parse.lex" +#line 357 "parse.lex" { if (yyleng % 2 == 1) return('!'); /* return '!' */ } YY_BREAK -case 36: +case 37: YY_RULE_SETUP -#line 341 "parse.lex" +#line 362 "parse.lex" { BEGIN INITIAL; ++sudolineno; @@ -1844,25 +1890,25 @@ YY_RULE_SETUP return(COMMENT); } /* return newline */ YY_BREAK -case 37: +case 38: YY_RULE_SETUP -#line 348 "parse.lex" +#line 369 "parse.lex" { /* throw away space/tabs */ sawspace = TRUE; /* but remember for fill_args */ } YY_BREAK -case 38: +case 39: YY_RULE_SETUP -#line 352 "parse.lex" +#line 373 "parse.lex" { sawspace = TRUE; /* remember for fill_args */ ++sudolineno; LEXTRACE("\n\t"); } /* throw away EOL after \ */ YY_BREAK -case 39: +case 40: YY_RULE_SETUP -#line 358 "parse.lex" +#line 379 "parse.lex" { BEGIN INITIAL; ++sudolineno; @@ -1870,9 +1916,9 @@ YY_RULE_SETUP return(COMMENT); } /* return comments */ YY_BREAK -case 40: +case 41: YY_RULE_SETUP -#line 365 "parse.lex" +#line 386 "parse.lex" { LEXTRACE("ERROR "); return(ERROR); @@ -1884,22 +1930,23 @@ case YY_STATE_EOF(GOTDEFS): case YY_STATE_EOF(GOTCMND): case YY_STATE_EOF(STARTDEFS): case YY_STATE_EOF(INDEFS): -#line 370 "parse.lex" +#line 391 "parse.lex" { if (YY_START != INITIAL) { BEGIN INITIAL; LEXTRACE("ERROR "); return(ERROR); } - yyterminate(); + if (!pop_include()) + yyterminate(); } YY_BREAK -case 41: +case 42: YY_RULE_SETUP -#line 379 "parse.lex" +#line 401 "parse.lex" ECHO; YY_BREAK -#line 1903 "lex.yy.c" +#line 1950 "lex.yy.c" case YY_END_OF_BUFFER: { @@ -2190,7 +2237,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 >= 360 ) + if ( yy_current_state >= 374 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2225,11 +2272,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 >= 360 ) + if ( yy_current_state >= 374 ) 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 == 359); + yy_is_jam = (yy_current_state == 373); return yy_is_jam ? 0 : yy_current_state; } @@ -2788,7 +2835,7 @@ int main() return 0; } #endif -#line 379 "parse.lex" +#line 401 "parse.lex" static void fill(s, len) @@ -2873,6 +2920,37 @@ fill_args(s, len, addspace) arg_len = new_len; } +int +buffer_frob(path) + const char *path; +{ + static size_t maxbuf, nbuf; + static YY_BUFFER_STATE *bufstack; + FILE *fp; + + if (path != NULL) { + /* XXX - have maxdepth */ + /* push */ + if (nbuf >= maxbuf) { + maxbuf += 16; + if ((bufstack = realloc(bufstack, maxbuf)) == NULL) + yyerror("unable to allocate memory"); + } + if ((fp = open_sudoers(path)) == NULL) + yyerror(path); + bufstack[nbuf++] = YY_CURRENT_BUFFER; + yy_switch_to_buffer(yy_create_buffer(fp, YY_BUF_SIZE)); + } else { + /* pop */ + if (nbuf == 0) + return(FALSE); + fclose(YY_CURRENT_BUFFER->yy_input_file); + yy_delete_buffer(YY_CURRENT_BUFFER); + yy_switch_to_buffer(bufstack[--nbuf]); + } + return(TRUE); +} + int yywrap() { diff --git a/sudo.tab.c b/sudo.tab.c index ef863f37c..6f2aeb494 100644 --- a/sudo.tab.c +++ b/sudo.tab.c @@ -217,11 +217,11 @@ static void expand_match_list __P((void)); static aliasinfo *find_alias __P((char *, int)); static int more_aliases __P((void)); void init_parser __P((void)); - void yyerror __P((char *)); + void yyerror __P((const char *)); void yyerror(s) - char *s; + const char *s; { /* Save the line the first error occurred on. */ if (errorlineno == -1)