diff --git a/hphp/compiler/parser/hphp.tab.cpp b/hphp/compiler/parser/hphp.tab.cpp index 68dafa4aa..e2e39cc4c 100644 --- a/hphp/compiler/parser/hphp.tab.cpp +++ b/hphp/compiler/parser/hphp.tab.cpp @@ -1547,7 +1547,7 @@ static const yytype_int16 yyrhs[] = -1, 114, 170, 371, 171, -1, 115, 170, 348, 171, -1, 7, 287, -1, 6, 287, -1, 5, 170, 287, 171, -1, 4, 287, -1, 3, 287, -1, 348, -1, - 371, 8, 348, -1, 315, 140, 187, -1, 167, 187, + 371, 8, 348, -1, 315, 140, 187, -1, 167, 375, 13, 385, 172, -1, 187, -1, 385, 187, -1, 187, -1, 187, 162, 380, 163, -1, 162, 377, 163, -1, -1, 385, -1, 377, 8, 385, -1, 377, 8, 157, @@ -1633,11 +1633,11 @@ static const yytype_uint16 yyrline[] = 2265, 2267, 2268, 2269, 2273, 2275, 2278, 2281, 2283, 2285, 2289, 2290, 2292, 2293, 2299, 2300, 2302, 2304, 2306, 2308, 2311, 2312, 2313, 2317, 2318, 2319, 2320, 2321, 2322, 2323, - 2327, 2328, 2332, 2341, 2346, 2347, 2353, 2354, 2362, 2365, - 2369, 2372, 2377, 2378, 2379, 2380, 2384, 2385, 2389, 2390, - 2391, 2393, 2395, 2396, 2400, 2406, 2408, 2412, 2415, 2418, - 2427, 2430, 2433, 2434, 2437, 2438, 2442, 2447, 2451, 2457, - 2465, 2466 + 2327, 2328, 2332, 2341, 2348, 2349, 2355, 2356, 2364, 2367, + 2371, 2374, 2379, 2380, 2381, 2382, 2386, 2387, 2391, 2392, + 2393, 2395, 2397, 2398, 2402, 2408, 2410, 2414, 2417, 2420, + 2429, 2432, 2435, 2436, 2439, 2440, 2444, 2449, 2453, 2459, + 2467, 2468 }; #endif @@ -2100,168 +2100,168 @@ static const yytype_int16 yydefgoto[] = /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -937 +#define YYPACT_NINF -935 static const yytype_int16 yypact[] = { - -937, 90, -937, -937, 3351, 9900, 9900, -66, 9900, 9900, - 9900, -937, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, - 9900, 9900, 9900, 9900, 2452, 2452, 7422, 9900, 2560, -64, - -49, -937, -937, -937, -937, -937, -937, -937, 9900, -937, - -49, -33, 147, 150, -49, 7599, 882, 7776, -937, 304, - 7953, -28, 9900, 956, -7, 213, 243, 236, 166, 214, - 218, 222, -937, 882, 235, 237, -937, -937, -937, -937, - -937, 385, 679, -937, -937, 882, 8130, -937, -937, -937, - -937, -937, -937, 882, -937, 18, 239, 882, -937, 9900, - -937, -937, -21, 422, 440, 440, -937, 352, 251, 249, - -937, 244, -937, 39, -937, 379, -937, -937, -937, 1070, - -937, 245, 258, 264, 7585, -937, -937, 351, -937, 355, - 371, -937, 33, 273, 297, -937, -937, 16, 14, 1863, - 62, 289, 110, 129, 292, 15, -937, 68, -937, 386, - -937, 362, 295, 323, -937, 379, 10953, 1893, 10953, 9900, - 10953, 10953, 2841, 428, 882, -937, -937, 426, -937, -937, - -937, -937, -937, -937, -937, -937, -937, -937, 571, 331, - -937, 354, 350, 350, 2452, 10647, 340, 513, -937, 389, - 571, 331, 391, 393, 373, 132, -937, 420, 62, 8307, - -937, -937, 9900, 6183, 43, 10953, 7068, -937, 9900, 9900, - 882, -937, -937, 8293, 365, -937, 9709, 304, 304, 387, - -937, 380, 769, 72, 544, -937, 882, -937, 9886, -937, - 10063, 882, 56, -937, 34, -937, 942, 57, -937, -937, - -937, 545, 379, 60, 2452, 2452, 2452, 397, 408, -937, - -937, 1927, 7422, 48, 202, -937, 10077, 2452, 478, -937, - 882, -937, -43, 251, 417, 10953, -937, -937, -937, 519, - 579, 431, 10953, 433, 466, 3528, 9900, 296, 434, 474, - 296, 360, 353, -937, 882, 304, 439, 8484, 304, -937, - -937, 448, -937, -937, -937, -937, -937, -937, 9900, 9900, + -935, 117, -935, -935, 3351, 9900, 9900, -51, 9900, 9900, + 9900, -935, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, + 9900, 9900, 9900, 9900, 2452, 2452, 7422, 9900, 2560, -49, + -47, -935, -935, -935, -935, -935, -935, -935, 9900, -935, + -47, -30, -11, 133, -47, 7599, 882, 7776, -935, 559, + 7953, 139, 9900, 1100, 196, 200, 204, 54, 160, 166, + 173, 178, -935, 882, 191, 199, -935, -935, -935, -935, + -935, 365, 689, -935, -935, 882, 8130, -935, -935, -935, + -935, -935, -935, 882, -935, 218, 214, 882, -935, 9900, + -935, -935, 222, 353, 489, 489, -935, 346, 272, -37, + -935, 228, -935, 43, -935, 391, -935, -935, -935, 311, + -935, 274, 281, 284, 7585, -935, -935, 369, -935, 383, + 404, -935, 95, 293, 328, -935, -935, 781, 0, 898, + 110, 303, 116, 127, 305, 5, -935, 233, -935, 434, + -935, 401, 331, 362, -935, 391, 10953, 1794, 10953, 9900, + 10953, 10953, 3160, 468, 882, -935, -935, 460, -935, -935, + -935, -935, -935, -935, -935, -935, -935, -935, 1733, 351, + -935, 374, 396, 396, 2452, 10647, 341, 513, -935, 387, + 1733, 351, 389, 397, 368, 129, -935, 419, 110, 8307, + -935, -935, 9900, 6183, 49, 10953, 7068, -935, 9900, 9900, + 882, -935, -935, 8293, 393, -935, 9709, 559, 559, 379, + -935, 373, 288, 85, 542, -935, 882, -935, 9886, -935, + 10063, 882, 56, -935, -5, -935, 1004, 57, -935, -935, + -935, 548, 391, 59, 2452, 2452, 2452, 410, 406, -935, + -935, 2008, 7422, 53, 497, -935, 10077, 2452, 394, -935, + 882, -935, -29, 272, 400, 10953, -935, -935, -935, 503, + 576, 421, 10953, 428, 466, 3528, 9900, 355, 425, 539, + 355, 332, 254, -935, 882, 559, 436, 8484, 559, -935, + -935, 956, -935, -935, -935, -935, -935, -935, 9900, 9900, 9900, 8661, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, 9900, - 9900, 9900, 9900, 2560, -937, 9900, 9900, 9900, 291, 882, - 882, 379, 1070, 7245, 9900, 9900, 9900, 9900, 9900, 9900, - 9900, 9900, 9900, 9900, 9900, -937, -937, 797, -937, 137, - 9900, 9900, -937, 8484, 9900, 9900, -21, 208, 1927, 454, - 8838, 10564, -937, 457, 621, 571, 459, -23, 291, 350, - 9015, -937, 9192, -937, 461, -6, -937, 233, 8484, -937, - 926, -937, 225, -937, -937, 10605, -937, -937, 9900, -937, - 553, 6360, 628, 473, 10846, 633, 52, 22, -937, -937, - -937, 331, -937, -937, 304, 568, 479, 644, -937, -937, - 2393, -937, -937, 3705, -937, 41, 956, -937, 882, 9900, - 350, -7, -937, 2393, 484, 582, -937, 350, 84, 85, - 157, 488, 882, 543, 495, 350, 87, 499, 1552, 882, - -937, -937, 611, 1650, -18, -937, -937, -937, 251, -937, - -937, -937, -937, 558, 512, 12, 559, 676, 516, 304, - 6, 625, 122, -937, -937, -937, -937, -937, -937, 1746, - -937, -937, -937, -937, 44, 2452, 517, 684, 10953, 680, - -937, -937, 575, 2898, 3163, 2841, 9900, 10912, 3336, 3512, - 3688, 2607, 3863, 4040, 4040, 4040, 4040, 2408, 2408, 2408, - 2408, 661, 661, 535, 535, 535, 426, 426, 426, -937, - 10953, 521, 523, 10709, 522, 703, -34, 551, 208, -937, - -937, 882, -937, 736, 9900, -937, 2841, 2841, 2841, 2841, - 2841, 2841, 2841, 2841, 2841, 2841, 2841, 2841, 9900, -34, - 555, 536, 2319, 560, 537, 2381, 88, -937, 1587, -937, - 882, -937, 431, 6, 331, 2452, 10953, 2452, 10750, 152, - 230, -937, 563, 9900, -937, -937, -937, 6006, 51, 10953, - -49, -937, -937, -937, 9900, 515, 2393, 882, 6537, 557, - 564, -937, 47, 613, -937, 729, 569, 1016, 304, 2393, - 2393, 572, -5, 599, 577, -20, -937, 605, -937, 578, - -937, -937, -937, 646, 882, -937, -937, 2733, -937, -937, - -937, 740, 2452, 585, -937, -937, -937, 53, 596, 1677, - 587, 1927, 2427, 748, -937, -937, -937, -937, 586, -937, - 9900, -937, -937, 2997, -937, 1677, 591, -937, -937, -937, - -937, 759, 9900, 694, -937, -937, 602, 1080, -937, 240, - -937, -937, 304, -937, 350, -937, 9369, -937, 2393, 97, - 607, 1677, 558, 2122, 9900, -937, -937, 9900, -937, 9900, - -937, 608, 8484, 543, 558, -937, 575, 2560, 350, 2818, - 609, 8484, -937, -937, 242, -937, -937, 768, 1118, 1118, - 1587, -937, -937, -937, 612, 35, 614, -937, -937, -937, - 775, 615, 457, 350, 350, 9546, -937, 247, -937, -937, - 10356, 260, -49, 7068, -937, 617, 3882, 623, 2452, 665, - 350, -937, 777, -937, -937, -937, -937, 416, -937, 219, - 304, -937, 304, 568, -937, -937, -937, 789, 622, 627, - -937, -937, 2393, 663, 882, 723, 882, 2393, 634, -937, - 651, -937, -937, 97, 2393, 350, -937, 882, 785, -937, - 795, -937, -937, 89, 641, 350, 9723, -937, 1557, -937, - 3174, 795, -937, 367, 177, 10953, 690, -937, 9900, -34, - 643, -937, 2452, 10953, -937, -937, 645, 806, -937, 304, - 97, -937, 649, 2122, 10953, 10805, 8484, 648, 652, 653, - 667, 558, 373, 668, 8484, 662, 9900, -937, -937, -937, - -937, -937, 719, 666, 834, 1587, 707, -937, 767, 1587, - -937, -937, -937, 2452, 10953, -937, -49, 823, 782, 7068, - -937, -937, 681, 9900, 350, 515, 686, 2393, 4059, 514, - 683, 9900, 28, 277, -937, 688, -937, -937, 1155, 835, - -937, 738, 691, 855, -937, 744, 861, 701, -937, 751, - 702, 867, 1677, 706, 715, -937, -937, 884, 882, 1677, - 1276, -937, 1927, -937, 2841, 716, -937, 1290, -937, 36, - 9900, -937, -937, -937, 9900, -937, 9900, 10397, 726, 8484, - 350, 878, 105, -937, -937, 108, 734, -937, 9900, 739, - -937, -937, -937, 97, 741, -937, 8484, 742, -937, 1587, - -937, 1587, -937, 745, -937, 790, 752, 899, -937, 350, - 893, -937, 756, -937, -937, 760, -937, -937, -937, 770, - 771, -937, 10523, -937, -937, -937, -937, -937, -937, 304, - 2393, -937, 2393, -937, 2393, 853, -937, -937, 2393, -937, - 2393, -937, 874, -937, 878, 882, -937, -937, 304, 1677, - -937, -937, -937, -937, -937, -937, -937, 1991, 802, 618, - -937, -937, -937, 362, 858, -937, 61, 910, 92, -937, - -937, 794, 10438, 10479, 10953, 787, 8484, 783, 304, 854, - -937, 304, 886, 948, 878, 1385, 10953, -937, 1466, 1701, - 791, -937, 792, -937, -937, 851, -937, 1587, -937, 896, - -937, -937, 6006, -937, -937, 6714, -937, -937, -937, 6006, - 807, -937, 862, -937, 864, -937, 865, 809, 4236, 854, - -937, 977, 49, -937, -937, -937, 73, 819, 76, -937, - 10205, -937, -937, 78, -937, -937, 1258, -937, 822, -937, - 922, 379, -937, -937, 304, -937, 362, 910, -937, -937, - -937, -937, -937, 8484, 825, -937, -937, 830, 829, 113, - 995, 2393, 839, -937, -937, -937, 878, 1820, -937, 1587, - -937, 903, 6006, 6891, -937, -937, -937, 6006, -937, 2393, - 2393, 2393, 863, -937, 866, 2393, 1677, -937, -937, 1916, - 1991, -937, -937, -937, -937, -937, -937, -937, -937, -937, - -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, - -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, - -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, - -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, - -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, - -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, - -937, -937, -937, -937, -937, -937, -937, 309, -937, 802, - -937, -937, -937, -937, -937, 70, 520, -937, 1030, 79, - 882, 922, 1031, 379, 879, -937, 216, -937, 976, 1041, - 2393, -937, -937, 883, -937, -937, 1587, -937, -937, -937, - 4413, -937, -937, -937, -937, -937, -937, -937, 750, 31, - -937, -937, 2393, 10205, 10205, 1006, -937, 1258, 1258, 530, - -937, -937, -937, 2393, 986, -937, 890, 80, 2393, 882, - -937, 988, -937, 1054, 4590, 1050, 2393, -937, 4767, -937, - -937, 4944, 900, 5121, 5298, -937, 990, 941, -937, -937, - 994, 1916, -937, -937, -937, -937, 932, -937, 1060, -937, - -937, -937, -937, -937, 1083, -937, -937, -937, 933, -937, - 290, 935, -937, 2393, -937, -937, 5475, 939, -937, -937, - -937, 882, 910, -937, -937, 2393, 97, -937, 1040, -937, - -937, -937, -937, -937, 0, 959, 882, 395, -937, 945, - 97, -937, 950, -937, -937, 1677, 949, -937, 878, 951, - 1677, 81, -937, 185, 878, 1052, -937, -937, -937, -937, - 185, 955, 5652, -937, 954, -937, -937, 5829, -937 + 9900, 9900, 9900, 2560, -935, 9900, 9900, 9900, 545, 882, + 882, 391, 311, 7245, 9900, 9900, 9900, 9900, 9900, 9900, + 9900, 9900, 9900, 9900, 9900, -935, -935, 427, -935, 132, + 9900, 9900, -935, 8484, 9900, 9900, 222, 182, 2008, 437, + 8838, 10564, -935, 439, 596, 1733, 442, 169, 545, 396, + 9015, -935, 9192, -935, 444, 187, -935, 236, 8484, -935, + 515, -935, 194, -935, -935, 10605, -935, -935, 9900, -935, + 544, 6360, 616, 470, 10846, 631, 70, 22, -935, -935, + -935, 351, -935, -935, 559, 550, 475, 638, -935, -935, + 2393, -935, -935, 3705, -935, 41, 1100, -935, 882, 9900, + 396, 196, -935, 2393, 477, 579, -935, 396, 79, 86, + 189, 482, 882, 530, 485, 396, 87, 494, 588, 882, + -935, -935, 595, 1650, -19, -935, -935, -935, 272, -935, + -935, -935, -935, 540, 509, 118, 560, 664, 516, 559, + 32, 623, 14, -935, -935, -935, -935, -935, -935, 1746, + -935, -935, -935, -935, 39, 2452, 518, 678, 10953, 679, + -935, -935, 581, 7762, 2898, 3160, 9900, 10912, 3513, 3689, + 3865, 2066, 2607, 4040, 4040, 4040, 4040, 2408, 2408, 2408, + 2408, 1224, 1224, 511, 511, 511, 460, 460, 460, -935, + 10953, 526, 527, 10709, 532, 705, -44, 547, 182, -935, + -935, 882, -935, 1897, 9900, -935, 3160, 3160, 3160, 3160, + 3160, 3160, 3160, 3160, 3160, 3160, 3160, 3160, 9900, -44, + 549, 537, 2319, 552, 538, 2381, 88, -935, 1587, -935, + 882, -935, 421, 32, 351, 2452, 10953, 2452, 10750, 174, + 202, -935, 553, 9900, -935, -935, -935, 6006, 71, 10953, + -47, -935, -935, -935, 9900, 942, 2393, 882, 6537, 561, + 562, -935, 50, 599, -935, 723, 564, 736, 559, 2393, + 2393, 572, 31, 606, 578, 179, -935, 610, -935, 580, + -935, -935, -935, 649, 882, -935, -935, 2733, -935, -935, + -935, 744, 2452, 587, -935, -935, -935, 267, 601, 1054, + 592, 2008, 2427, 757, -935, -935, -935, -935, 594, -935, + 9900, -935, -935, 2997, -935, 1054, 600, -935, -935, -935, + -935, 759, 9900, 695, -935, -935, 605, 674, -935, 212, + -935, -935, 559, -935, 396, -935, 9369, -935, 2393, 12, + 608, 1054, 540, 3337, 9900, -935, -935, 9900, -935, 9900, + -935, 609, 8484, 530, 540, -935, 581, 2560, 396, 2818, + 611, 8484, -935, -935, 230, -935, -935, 769, 797, 797, + 1587, -935, -935, -935, 613, 42, 614, -935, -935, -935, + 786, 622, 439, 396, 396, 9546, -935, 240, -935, -935, + 10356, 258, -47, 7068, -935, 625, 3882, 626, 2452, 694, + 396, -935, 806, -935, -935, -935, -935, 457, -935, 7, + 559, -935, 559, 550, -935, -935, -935, 812, 657, 659, + -935, -935, 2393, 706, 882, 752, 882, 2393, 662, -935, + 685, -935, -935, 12, 2393, 396, -935, 882, 785, -935, + 838, -935, -935, 89, 680, 396, 9723, -935, 1557, -935, + 3174, 838, -935, -31, -15, 10953, 729, -935, 9900, -44, + 682, -935, 2452, 10953, -935, -935, 684, 845, -935, 559, + 12, -935, 688, 3337, 10953, 10805, 8484, 686, 690, 696, + 700, 540, 368, 702, 8484, 709, 9900, -935, -935, -935, + -935, -935, 751, 699, 869, 1587, 749, -935, 813, 1587, + -935, -935, -935, 2452, 10953, -935, -47, 868, 828, 7068, + -935, -935, 731, 9900, 396, 942, 730, 2393, 4059, 504, + 732, 9900, 62, 235, -935, 742, -935, -935, 1016, 881, + -935, 788, 753, 915, -935, 809, 920, 761, -935, 817, + 766, 934, 1054, 770, 776, -935, -935, 944, 882, 1054, + 1200, -935, 2008, -935, 3160, 780, -935, 1221, -935, 36, + 9900, -935, -935, -935, 9900, -935, 9900, 10397, 789, 8484, + 396, 935, 15, -935, -935, 73, 791, -935, 9900, 792, + -935, -935, -935, 12, 799, -935, 8484, 804, -935, 1587, + -935, 1587, -935, 807, -935, 848, 815, 972, -935, 396, + 958, -935, 818, -935, -935, 816, -935, -935, -935, 820, + 822, -935, 10523, -935, -935, -935, -935, -935, -935, 559, + 2393, -935, 2393, -935, 2393, 916, -935, -935, 2393, -935, + 2393, -935, 923, -935, 935, 882, -935, -935, 559, 1054, + -935, -935, -935, -935, -935, -935, -935, 1775, 847, 651, + -935, -935, -935, 401, 858, -935, 60, 1023, 91, -935, + -935, 853, 10438, 10479, 10953, 830, 8484, 831, 559, 904, + -935, 559, 939, 1003, 935, 1276, 10953, -935, 1295, 1385, + 846, -935, 849, -935, -935, 896, -935, 1587, -935, 946, + -935, -935, 6006, -935, -935, 6714, -935, -935, -935, 6006, + 850, -935, 914, -935, 917, -935, 921, 873, 4236, 904, + -935, 1036, 38, -935, -935, -935, 61, 877, 72, -935, + 10205, -935, -935, 76, -935, -935, 1555, -935, 884, -935, + 981, 391, -935, -935, 559, -935, 401, 1023, -935, -935, + -935, -935, -935, 8484, 886, -935, -935, 889, 887, 261, + 1048, 2393, 890, -935, -935, -935, 935, 1466, -935, 1587, + -935, 940, 6006, 6891, -935, -935, -935, 6006, -935, 2393, + 2393, 2393, 899, -935, 901, 2393, 1054, -935, -935, 2752, + 1775, -935, -935, -935, -935, -935, -935, -935, -935, -935, + -935, -935, -935, -935, -935, -935, -935, -935, -935, -935, + -935, -935, -935, -935, -935, -935, -935, -935, -935, -935, + -935, -935, -935, -935, -935, -935, -935, -935, -935, -935, + -935, -935, -935, -935, -935, -935, -935, -935, -935, -935, + -935, -935, -935, -935, -935, -935, -935, -935, -935, -935, + -935, -935, -935, -935, -935, -935, -935, -935, -935, -935, + -935, -935, -935, -935, -935, -935, -935, 98, -935, 847, + -935, -935, -935, -935, -935, 52, 372, -935, 1065, 81, + 882, 981, 1066, 391, 909, -935, 289, -935, 1008, 1071, + 2393, -935, -935, 912, -935, -935, 1587, -935, -935, -935, + 4413, -935, -935, -935, -935, -935, -935, -935, 371, 33, + -935, -935, 2393, 10205, 10205, 1038, -935, 1555, 1555, 390, + -935, -935, -935, 2393, 1026, -935, 926, 82, 2393, 882, + -935, 1027, -935, 1093, 4590, 1090, 2393, -935, 4767, -935, + -935, 4944, 941, 5121, 5298, -935, 1021, 966, -935, -935, + 1024, 2752, -935, -935, -935, -935, 963, -935, 1091, -935, + -935, -935, -935, -935, 1108, -935, -935, -935, 952, -935, + 295, 964, -935, 2393, -935, -935, 5475, 955, -935, -935, + -935, 882, 1023, -935, -935, 2393, 12, -935, 1068, -935, + -935, -935, -935, -935, 163, 984, 882, 703, -935, 971, + 12, -935, 974, -935, -935, 1054, 979, -935, 935, 975, + 1054, 84, -935, 216, 935, 1081, -935, -935, -935, -935, + 216, 987, 5652, -935, 988, -935, -935, 5829, -935 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -937, -937, -937, -399, -937, -937, -937, -4, -937, 724, - -19, 811, 1734, -937, 1447, -937, -216, -937, -2, -937, - -937, -937, -937, -937, -937, -163, -937, -937, -141, 20, - 2, -937, -937, 5, -937, -937, -937, -937, 8, -937, - -937, 810, 815, 824, 1008, 476, -590, 482, 525, -166, - -937, 321, -937, -937, -937, -937, -937, -937, -451, 226, - -937, -937, -937, -937, -717, -937, -325, -937, -937, 747, - -937, -725, -937, -937, -937, -937, -937, -937, -937, -937, - -937, -937, 71, -937, -937, -937, -937, -937, -9, -937, - 204, -850, -937, -150, -937, -934, -931, -936, -10, -937, - -58, -25, 1134, -523, -302, -937, -937, 1928, 1085, -937, - -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, - -937, 156, -937, 414, -937, -937, -937, -937, -937, -937, - -937, -937, -841, -937, 902, -17, -284, -937, -937, 398, - 784, 1759, -937, -937, -937, -331, -757, -937, -937, 500, - -525, 376, -937, -937, -937, -937, -937, 486, -937, -937, - -937, -603, 301, -152, -143, -108, -937, -937, 46, -937, - -937, -937, -937, -14, -121, -937, 3, -937, -937, -937, - -323, 943, -937, -937, -937, -937, -937, 546, 885, -937, - -937, 958, -937, -937, -268, -82, -164, -245, -937, -912, - -709, 468, -937, -937, 446, -100, 217 + -935, -935, -935, -399, -935, -935, -935, -4, -935, 754, + 1, 811, 1734, -935, 1447, -935, -216, -935, -2, -935, + -935, -935, -935, -935, -935, -131, -935, -935, -141, 20, + 2, -935, -935, 8, -935, -935, -935, -935, 9, -935, + -935, 856, 851, 852, 1053, 517, -590, 512, 556, -120, + -935, 363, -935, -935, -935, -935, -935, -935, -518, 265, + -935, -935, -935, -935, -717, -935, -325, -935, -935, 778, + -935, -725, -935, -935, -935, -935, -935, -935, -935, -935, + -935, -935, 100, -935, -935, -935, -935, -935, 24, -935, + 232, -798, -935, -126, -935, -932, -931, -934, 18, -935, + -58, -21, 1163, -525, -301, -935, -935, 1928, 1119, -935, + -935, -935, -935, -935, -935, -935, -935, -935, -935, -935, + -935, 193, -935, 453, -935, -935, -935, -935, -935, -935, + -935, -935, -763, -935, 902, -17, -284, -935, -935, 426, + 784, 1759, -935, -935, -935, -299, -757, -935, -935, 543, + -523, 412, -935, -935, -935, -935, -935, 529, -935, -935, + -935, -615, 337, -162, -143, -102, -935, -935, 46, -935, + -935, -935, -935, -14, -121, -935, -210, -935, -935, -935, + -327, 985, -935, -935, -935, -935, -935, 546, 519, -935, + -935, 991, -935, -935, -268, -82, -164, -242, -935, -912, + -709, 500, -935, -935, 480, -100, 248 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -2271,153 +2271,153 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -680 static const yytype_int16 yytable[] = { - 97, 257, 104, 403, 349, 193, 106, 171, 171, 107, - 469, 183, 108, 689, 186, 197, 347, 366, 533, 201, - 883, 515, 342, 541, 105, 536, 854, 284, 1042, 499, - 464, 261, 1019, 1046, 224, 371, 1047, 867, 856, 1251, - 623, 707, 204, 552, 372, 213, 778, 278, 569, 399, - 129, 378, 642, 252, 923, 720, 253, 1086, 628, 238, - 567, 747, 782, 886, 406, 411, 225, 340, 415, 1044, - 172, 173, 1062, 733, 789, -584, 344, 232, 1217, 238, - 373, -210, 971, 260, 1090, -674, 1169, 1224, 1224, 1086, - 3, 414, 602, 602, -581, 612, 612, 612, 337, 1218, - 612, 274, 1302, 337, 149, 238, 189, 392, 393, 428, - 356, 1042, 398, 806, 48, 337, 634, 702, 703, 719, - -679, 192, 364, 340, 408, 55, 56, 637, 275, 440, - 441, 594, 245, 62, 319, 264, -679, 198, 11, 982, - 778, 35, 275, 748, 1188, 219, 11, 321, 452, 946, - 353, 171, 266, -679, 1193, -470, 622, 171, 629, -85, - 557, 232, 985, 171, 258, 550, 988, 989, 226, 429, - 320, -582, 807, 630, 660, 398, 990, 778, 274, 341, - 511, 983, 258, -588, -590, 274, 1189, -584, 345, 97, - -583, 377, 97, -618, 380, 570, 385, 508, -585, 471, - 924, 894, 405, 391, 391, 1252, -581, 643, 391, 171, - 721, 279, 401, 340, 357, 379, 508, 171, 171, 171, - 359, 1087, 1088, 568, 171, 760, 365, 399, 407, 412, - 171, 438, 416, 1045, 275, 341, 1020, 508, 257, 129, - 284, 1219, 129, 346, 724, -210, 508, 1231, 1091, 508, - 1170, 1225, 1266, 1316, 775, 603, 604, 967, 613, 677, - 861, 97, 980, 1048, 967, 829, 1067, 833, -159, 344, - 463, 391, 410, 370, 213, 243, -517, 238, 337, 778, - 417, 417, 420, -582, 908, 105, -619, 425, 753, 1232, - 778, -621, -591, 434, 572, -588, 183, 542, 638, 186, - 915, -586, -583, -587, 507, -618, 35, 639, -620, 231, - -585, 129, 831, 832, 506, 238, 238, 199, 238, 502, - 200, 1288, 1212, 530, 873, 341, 816, 817, 605, 207, - 229, 171, 727, 529, 48, 1213, 234, 787, 171, 430, - 246, 247, 661, 531, 507, 706, 795, 534, 1296, 636, - 874, 1297, 1214, 551, 544, 208, 555, 1317, 1318, 810, - 230, 1042, 33, 1289, 35, 670, 554, 1258, 1259, 243, - 831, 832, 1254, 1255, 994, 33, 995, 97, 273, 562, - 661, 345, 967, 792, 235, 967, 967, 224, 236, -679, - 391, 638, 237, 834, 425, 274, 1313, 696, -619, 97, - 639, 357, 1320, -621, 596, 241, 697, 242, 92, 259, - 280, 275, -363, -586, 277, -587, 315, 285, 607, -679, - -620, 366, -679, 105, 617, 619, 243, 129, 209, 665, - 286, 435, 316, 243, 246, 247, 287, 318, 435, 78, - 79, 698, 80, 81, 82, 391, 317, -364, 171, 129, - 210, 926, 78, 79, 863, 80, 81, 82, 243, 343, - 48, 889, -589, 244, 967, 348, 92, 250, 352, 897, - 211, 337, 1070, 902, 212, 313, 1271, 398, 729, 350, + 97, 257, 104, 403, 349, 260, 106, 171, 171, 193, + 469, 183, 107, 108, 186, 689, 347, 366, 533, 197, + 883, 536, 515, 201, 105, 371, 854, 284, 342, 499, + 1042, 261, 1019, 464, 778, 1046, 1047, 867, 856, 707, + 623, 1251, 204, 552, 372, 213, 1086, 642, 569, 399, + 129, 278, 719, 11, 224, 541, 11, 378, 720, 238, + 1217, -584, 782, 886, 406, 411, 344, 415, 1044, -210, + 172, 173, 1062, 252, 789, -588, 253, 232, 567, 238, + 1090, 1218, 971, 238, 1169, 408, 373, 602, 923, 1224, + 1224, 414, 1086, 340, 602, 612, 612, 612, -674, 612, + 831, 832, 337, -679, 982, 238, 502, 392, 393, 733, + 356, 1212, 398, 1042, 428, 274, 868, 3, 275, 149, + 806, 189, 364, 192, 1213, 275, -679, 231, 778, 869, + 531, 594, 873, -679, 534, 264, -679, 702, 703, 274, + 198, 1214, 870, 440, 441, -470, 983, 321, 634, 946, + 353, 171, 48, 637, 1193, 622, -581, 171, 874, 199, + 557, 232, 985, 171, 628, 778, 988, 989, 245, 775, + -590, 340, 980, -584, 429, 398, 990, -582, 345, 807, + 511, 834, 258, -159, -591, 274, -517, -588, -583, 97, + -618, 377, 97, -585, 380, 570, 385, 508, 829, 471, + 833, 894, 643, 391, 391, 341, 660, 1252, 391, 171, + 1087, 1088, 401, 721, 357, 279, 508, 171, 171, 171, + 359, 379, 405, 1219, 171, 760, 365, 399, 407, 412, + 171, 416, 1045, -210, 924, 340, 1020, 508, 257, 129, + 284, 568, 129, 344, 1091, 967, 508, 275, 1170, 508, + 603, 438, 967, 1225, 1266, -619, 1316, 604, 613, 677, + 861, 97, 1048, -621, 629, 1302, 1067, 778, -581, 225, + 463, 391, 410, -586, 213, 747, 724, 238, 778, 630, + 417, 417, 420, 341, 753, 105, 908, 425, 638, -582, + 337, -587, 1188, 434, 572, 370, 183, 542, 915, 186, + -583, -620, -618, 200, 507, -585, 35, 639, 337, 35, + 337, 129, 219, 207, 506, 238, 238, 229, 238, -679, + 1231, 230, -85, 530, 816, 817, 1288, 243, 831, 832, + 234, 171, 435, 529, 1189, 727, 235, 787, 171, 208, + 452, 275, 661, 236, 507, 706, 795, 341, 237, 636, + 1296, 1297, -679, 551, 544, 345, 555, 748, 550, 33, + 605, 241, 1232, 1042, 258, 670, 554, -619, 1289, 242, + 967, 226, 273, 967, 967, -621, 994, 97, 995, 562, + 661, 638, 33, 792, 259, -586, 396, 696, 1317, 1318, + 391, 810, 246, 247, 425, 266, 1313, 1220, 277, 97, + 639, 357, 1320, -587, 596, 243, 697, 224, 346, 926, + 435, 92, 209, -620, 1221, 1260, 274, 1222, 607, 1258, + 1259, 366, 280, 105, 617, 619, 243, 129, 243, 665, + -363, 267, 1261, 462, 210, 1262, 78, 79, 243, 80, + 81, 82, 33, 244, 315, 391, 285, 698, 171, 129, + 1254, 1255, 967, 286, 211, 863, 287, 282, 212, 78, + 79, 889, 80, 81, 82, 316, 317, 243, 318, 897, + 246, 247, 435, 343, 1070, -589, 1271, 398, 729, 350, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 246, 247, 275, 358, 243, 171, 828, 246, 247, - 267, 950, 951, 952, 953, 954, 955, 238, 830, 831, - 832, 644, 933, 243, 868, 936, 508, 361, 270, 33, - 941, 362, 245, 246, 247, 335, 336, 869, 171, -469, - 171, -468, 462, 367, 687, 705, 692, 389, 461, 968, - 870, 370, 771, 368, 1195, 1220, 708, 243, 171, 394, - 395, 243, 435, 97, 977, 1260, 435, 400, 413, 668, - 246, 247, 1221, 712, 97, 1222, 714, 1307, 421, 1299, - 422, 992, 1261, 391, 391, 1262, 1000, 105, 246, 247, - 310, 311, 312, 1309, 313, 171, 33, 337, 35, 442, - 741, 693, 449, 694, 171, 171, 78, 79, 446, 80, - 81, 82, 450, 129, 451, 878, 920, 831, 832, -37, - 460, 710, 246, 247, 129, 436, 246, 247, 470, 97, - 835, 104, 836, 770, 470, 106, 167, 538, 107, 540, - 543, 108, 549, 769, 28, 560, 378, 452, 391, 269, - 271, 272, 33, 105, 35, 564, 566, 573, 745, 577, - 183, 1054, 578, 186, 600, 601, 143, 425, 755, 75, - 606, 77, 609, 78, 79, 611, 80, 81, 82, 129, - 614, 1240, 620, 627, 799, 799, 687, 819, 625, 884, - 1021, 632, 167, 778, 633, 168, -365, 635, 645, 33, - 92, 171, 646, 648, 651, 1002, 658, 778, 655, 97, - 656, 820, 97, 307, 308, 309, 310, 311, 312, 1009, - 313, 659, 143, 672, 675, 75, 391, 77, 391, 78, - 79, 662, 80, 81, 82, 671, 105, 1018, 1184, 716, - 844, 674, 848, 1035, 699, 722, 718, 723, 771, 734, - 725, 355, 732, 607, 857, 736, 92, 735, 738, 129, - 33, 737, 129, 744, 824, 171, 97, 746, 104, 749, - 752, 756, 106, 757, 762, 107, 78, 79, 108, 80, - 81, 82, 764, 766, 767, 391, 1182, 780, 786, 794, - 105, 796, 805, 809, 808, 1072, 811, 825, 1036, 821, - 827, 910, 1077, 839, 207, 823, 171, 838, 840, 667, - 430, 687, 845, 859, 852, 687, 129, 33, 171, 35, - 853, 862, 876, 879, 882, 97, 881, 913, 880, 890, - 208, 33, 887, 250, 97, 891, 892, 78, 79, 1010, - 80, 81, 82, 898, 391, 169, 169, 893, 896, 181, - 33, 899, 901, 900, 904, 171, 905, 167, 105, 911, - 912, 927, 251, 914, 607, 921, 33, 917, 1200, 909, - 930, 929, 931, 932, 1043, 129, 934, 396, 33, 935, - 35, 710, 937, 938, 129, 940, 939, 143, 1056, 943, - 75, 884, 77, 207, 78, 79, 944, 80, 81, 82, - 969, 143, 945, 209, 75, 687, 976, 687, 78, 79, - 1180, 80, 81, 82, 978, 984, 168, 999, 425, 208, - 987, 92, 997, 993, 991, 210, 996, 78, 79, 1001, - 80, 81, 82, 998, 1245, 391, 170, 170, 1003, 33, - 182, 1004, 1014, 78, 79, 211, 80, 81, 82, 212, - 1049, 607, 1006, 1007, 213, 78, 79, 1017, 80, 81, - 82, 211, 1032, 33, 1055, 1037, -245, 1053, 1057, 1060, - 391, 1061, 1066, 1068, 950, 951, 952, 953, 954, 955, - 528, 1234, 92, 1069, 391, 1071, 1238, 391, 1078, 169, - 1082, 1241, 209, 1041, 1079, 169, 1080, 1081, 1243, 1244, - 1085, 169, 1089, 687, 1177, 1178, 1185, 33, 97, 35, - 1186, 97, 1187, 1075, 210, 97, 78, 79, 1190, 80, - 81, 82, 1192, 33, 97, 35, 950, 951, 952, 953, - 954, 955, 105, 1276, 211, 1196, 1166, 33, 212, 105, - 78, 79, 1173, 80, 81, 82, 1204, 169, 105, 1205, - 213, 207, 1229, 1223, 1228, 169, 169, 169, 129, 1235, - 1230, 129, 169, 167, 1236, 129, 1239, 1256, 169, 1264, - 1265, 1269, 1270, 1273, 129, 687, 1183, 208, 97, 97, - 170, 1198, 1278, 97, 78, 79, 170, 80, 81, 82, - -206, 1281, 170, 143, 1282, 1284, 75, 33, 77, 1218, - 78, 79, 105, 80, 81, 82, 1285, 105, 1226, 553, - 221, 92, 1322, 1287, 78, 79, 1290, 80, 81, 82, - 1327, 1293, 168, 1301, 1305, 409, 1308, 92, 129, 129, - 1310, 1312, 1314, 129, 181, 1321, 1324, 1326, 170, 431, - 595, 1303, 512, 437, 509, 322, 170, 170, 170, 1311, - 209, 33, 791, 170, 510, 788, 916, 1268, 1008, 170, - 761, 33, 431, 35, 437, 431, 437, 437, 598, 169, - 1216, 1211, 210, 1039, 78, 79, 169, 80, 81, 82, - 1323, 1227, 194, 726, 263, 1084, 238, 871, 812, 801, - 207, 903, 211, 981, 590, 427, 212, 797, 798, 33, - 895, 837, 687, 419, 858, 0, 97, 590, 1059, 0, - 0, 0, 0, 0, 1246, 0, 208, 0, 0, 1166, - 1166, 585, 0, 1173, 1173, 182, 282, 0, 78, 79, - 105, 80, 81, 82, 585, 238, 33, 0, 78, 79, - 97, 80, 81, 82, 97, 0, 0, 97, 0, 97, - 97, 0, 0, 0, 0, 0, 129, 0, 0, 0, - 170, 0, 0, 768, 105, 92, 0, 170, 105, 0, - 0, 105, 0, 105, 105, 0, 78, 79, 0, 80, - 81, 82, 97, 0, 0, 0, 169, 1295, 0, 209, + 334, 246, 247, 246, 247, -364, 171, 828, 33, 48, + 35, 348, 245, 246, 247, 902, 250, 238, 352, 313, + 461, 644, 143, 275, 358, 75, 508, 337, 361, 78, + 79, 362, 80, 81, 82, 335, 336, -469, 171, -468, + 171, 436, 246, 247, 687, 968, 692, 367, 368, 705, + 370, 394, 771, 395, 933, 1245, 1195, 936, 171, 830, + 831, 832, 941, 97, 977, 400, 310, 311, 312, 668, + 313, 413, 243, 712, 97, 389, 714, 270, 422, 1299, + 243, 992, 442, 391, 391, 78, 79, 105, 80, 81, + 82, 421, 446, 1309, 207, 171, 33, 337, 35, 449, + 741, 693, 450, 694, 171, 171, 920, 831, 832, 451, + 528, 460, 92, 129, 540, 878, -37, 470, 1000, 538, + 208, 710, 243, 543, 129, 549, 33, 435, 35, 97, + 835, 104, 836, 770, 378, 106, 560, 246, 247, 573, + 33, 107, 108, 769, 430, 246, 247, 452, 391, 269, + 271, 272, 564, 105, 566, 577, 578, 600, 745, 609, + 183, 1054, 601, 186, 606, 611, 620, 425, 755, 33, + 625, 615, 616, 78, 79, 614, 80, 81, 82, 129, + 627, 778, 633, 1240, 799, 799, 687, 246, 247, 884, + 1021, 819, 632, 209, -365, 778, 646, 635, 553, 645, + 92, 171, 648, 78, 79, 1002, 80, 81, 82, 97, + 651, 820, 97, 655, 656, 210, 658, 78, 79, 1009, + 80, 81, 82, 659, 672, 675, 391, 662, 391, 671, + 92, 722, 33, 674, 699, 211, 105, 1018, 1184, 212, + 844, 723, 848, 716, 718, 725, 78, 79, 771, 80, + 81, 82, 732, 607, 857, 33, 734, 35, 735, 129, + 736, 738, 129, 737, 824, 171, 97, 744, 104, 746, + 33, 207, 106, 431, 749, 752, 1035, 437, 107, 108, + 756, 757, 764, 762, 766, 391, 1182, 767, 780, 786, + 105, 794, 796, 805, 808, 1072, 431, 208, 437, 431, + 437, 437, 1077, 811, 809, 910, 171, 821, 823, 78, + 79, 687, 80, 81, 82, 687, 129, 33, 171, 950, + 951, 952, 953, 954, 955, 97, 825, 913, 880, 827, + 838, 1036, 78, 79, 97, 80, 81, 82, 839, 1010, + 840, 845, 852, 250, 391, 169, 169, 78, 79, 181, + 80, 81, 82, 430, 853, 171, 859, 768, 105, 92, + 862, 876, 879, 882, 607, 881, 33, 890, 1200, 909, + 209, 887, 251, 891, 1043, 129, 797, 798, 33, 892, + 893, 710, 896, 899, 129, 1307, 900, 901, 1056, 48, + 898, 884, 210, 207, 78, 79, 904, 80, 81, 82, + 55, 56, 905, 726, 911, 687, 912, 687, 62, 319, + 1180, 917, 211, 914, 921, 927, 212, 929, 425, 208, + 930, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 932, 931, 391, 170, 170, 935, 33, + 182, 934, 937, 78, 79, 320, 80, 81, 82, 938, + 939, 607, 940, 943, 213, 78, 79, 944, 80, 81, + 82, 211, 945, 33, 969, 1037, -245, 335, 336, 976, + 391, 978, 984, 987, 950, 951, 952, 953, 954, 955, + 997, 1234, 991, 708, 391, 993, 1238, 391, 996, 169, + 999, 1241, 209, 1041, 1001, 169, 998, 1004, 1243, 1244, + 1003, 169, 1006, 687, 1007, 1014, 1017, 1032, 97, 1049, + 1053, 97, 1055, 1075, 210, 97, 78, 79, 1057, 80, + 81, 82, 1060, 33, 97, 35, 1061, 1066, 1069, 337, + 1068, 1078, 105, 1276, 211, 1071, 1166, 33, 212, 105, + 78, 79, 1173, 80, 81, 82, 1079, 169, 105, 1080, + 213, 207, 1229, 1081, 1082, 169, 169, 169, 129, 1085, + 1089, 129, 169, 167, 1178, 129, 1177, 1185, 169, 1186, + 1187, 1190, 1196, 1192, 129, 687, 1183, 208, 97, 97, + 170, 1198, 1204, 97, 1205, 33, 170, 35, 1223, 1228, + 1230, 1235, 170, 143, 1236, 1239, 75, 33, 77, 1256, + 78, 79, 105, 80, 81, 82, 1265, 105, 1226, 1264, + 1269, 1270, 1322, 1273, 78, 79, 1281, 80, 81, 82, + 1327, -206, 168, 1278, 1282, 167, 1284, 92, 129, 129, + 1218, 1285, 1287, 129, 181, 33, 470, 1293, 170, 950, + 951, 952, 953, 954, 955, 1290, 170, 170, 170, 1305, + 209, 1301, 1308, 170, 1310, 143, 1314, 1268, 75, 170, + 77, 1312, 78, 79, 1321, 80, 81, 82, 1324, 169, + 595, 1326, 210, 1303, 78, 79, 169, 80, 81, 82, + 509, 33, 510, 928, 168, 788, 238, 409, 512, 92, + 322, 761, 211, 791, 590, 1311, 212, 1008, 916, 598, + 1211, 1039, 687, 1216, 1323, 143, 97, 590, 75, 1227, + 77, 194, 78, 79, 1246, 80, 81, 82, 263, 1166, + 1166, 585, 1084, 1173, 1173, 182, 871, 903, 895, 981, + 105, 812, 801, 837, 585, 238, 419, 427, 858, 1059, + 97, 0, 0, 0, 97, 0, 0, 97, 0, 97, + 97, 11, 0, 0, 221, 0, 129, 0, 78, 79, + 170, 80, 81, 82, 105, 0, 0, 170, 105, 0, + 0, 105, 11, 105, 105, 0, 307, 308, 309, 310, + 311, 312, 97, 313, 0, 0, 169, 1295, 0, 0, 129, 0, 0, 0, 129, 0, 0, 129, 0, 129, - 129, 0, 1306, 0, 0, 0, 105, 0, 0, 0, - 0, 210, 589, 78, 79, 0, 80, 81, 82, 0, - 0, 0, 928, 0, 0, 589, 0, 11, 97, 0, - 0, 211, 129, 97, 169, 212, 0, 0, 0, 33, - 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 105, 0, 0, 0, 0, 105, 0, 0, - 590, 0, 0, 0, 0, 0, 169, 0, 169, 0, - 0, 0, 0, 590, 590, 0, 0, 170, 129, 0, - 0, 0, 0, 129, 0, 948, 169, 585, 0, 0, - 949, 0, 950, 951, 952, 953, 954, 955, 956, 948, - 585, 585, 0, 0, 949, 0, 950, 951, 952, 953, - 954, 955, 956, 0, 1171, 0, 78, 79, 1172, 80, - 81, 82, 0, 169, 0, 170, 0, 0, 0, 0, - 181, 0, 169, 169, 957, 958, 11, 959, 1036, 0, - 0, 0, 590, 0, 0, 0, 181, 0, 957, 958, - 0, 959, 0, 0, 0, 0, 0, 170, 0, 170, - 960, 0, 0, 0, 0, 0, 0, 0, 0, 585, - 0, 0, 181, 0, 970, 0, 0, 170, 589, 0, + 129, 0, 1306, 0, 0, 0, 105, 0, 0, 948, + 0, 0, 589, 0, 949, 0, 950, 951, 952, 953, + 954, 955, 956, 0, 0, 589, 0, 11, 97, 0, + 948, 0, 129, 97, 169, 949, 0, 950, 951, 952, + 953, 954, 955, 956, 0, 0, 11, 0, 0, 0, + 0, 0, 105, 0, 0, 0, 0, 105, 957, 958, + 590, 959, 0, 0, 0, 0, 169, 0, 169, 0, + 0, 0, 0, 590, 590, 0, 0, 170, 129, 957, + 958, 0, 959, 129, 960, 948, 169, 585, 0, 0, + 949, 0, 950, 951, 952, 953, 954, 955, 956, 0, + 585, 585, 0, 0, 948, 970, 0, 0, 0, 949, + 0, 950, 951, 952, 953, 954, 955, 956, 0, 0, + 0, 0, 0, 169, 0, 170, 0, 0, 0, 0, + 181, 0, 169, 169, 957, 958, 11, 959, 0, 0, + 0, 0, 590, 0, 0, 0, 181, 0, 0, 0, + 0, 0, 0, 957, 958, 0, 959, 170, 0, 170, + 1063, 0, 0, 0, 0, 0, 0, 0, 0, 585, + 0, 0, 181, 0, 0, 0, 0, 170, 589, 1064, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 589, 589, 0, 948, 0, 0, 0, 0, 949, 0, 950, 951, 952, 953, 954, 955, 956, 0, 0, @@ -2426,70 +2426,70 @@ static const yytype_int16 yytable[] = 0, 590, 0, 0, 0, 0, 0, 751, 590, 0, 0, 0, 0, 957, 958, 0, 959, 0, 0, 0, 0, 0, 0, 585, 0, 0, 0, 0, 585, 0, - 589, 0, 0, 781, 0, 585, 0, 0, 0, 1063, + 589, 0, 0, 781, 0, 585, 0, 0, 0, 1065, 0, 0, 0, 0, 0, 948, 288, 289, 290, 182, 949, 0, 950, 951, 952, 953, 954, 955, 956, 0, 0, 0, 291, 169, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 313, 0, 0, 0, 170, 590, 0, 0, 957, 958, 0, 959, 0, 0, - 0, 0, 0, 33, 169, 615, 616, 0, 0, 678, + 0, 0, 0, 0, 169, 0, 33, 0, 0, 678, 679, 0, 0, 0, 589, 0, 169, 0, 585, 589, - 1064, 0, 0, 0, 0, 0, 589, 0, 680, 0, + 1194, 0, 0, 0, 0, 0, 589, 0, 680, 0, 0, 0, 0, 0, 0, 0, 681, 682, 33, 288, 289, 290, 0, 181, 0, 0, 683, 0, 0, 0, 181, 0, 0, 169, 170, 291, 0, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 313, - 78, 79, 0, 80, 81, 82, 0, 0, 0, 0, + 0, 1171, 0, 78, 79, 1172, 80, 81, 82, 0, 0, 684, 0, 0, 590, 170, 590, 0, 590, 0, - 0, 0, 590, 685, 590, 0, 0, 170, 0, 589, + 0, 0, 590, 685, 590, 1036, 0, 170, 0, 589, 0, 0, 0, 0, 865, 78, 79, 0, 80, 81, - 82, 585, 11, 585, 0, 585, 0, 0, 33, 585, + 82, 585, 0, 585, 0, 585, 0, 0, 0, 585, 0, 585, 0, 686, 942, 288, 289, 290, 0, 0, 181, 947, 0, 0, 170, 0, 0, 0, 181, 0, 0, 291, 0, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 0, 313, 0, 0, 0, 0, - 948, 0, 0, 0, 0, 949, 0, 950, 951, 952, - 953, 954, 955, 956, 0, 0, 0, 0, 143, 0, - 0, 75, 0, 77, 621, 78, 79, 0, 80, 81, - 82, 0, 589, 0, 589, 0, 589, 0, 0, 0, - 589, 0, 589, 0, 0, 590, 0, 587, 0, 957, - 958, 1023, 959, 0, 0, 0, 0, 0, 0, 1031, - 587, 11, 0, 590, 590, 590, 0, 0, 0, 590, - 0, 0, 585, 1210, 0, 1065, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 0, 0, - 585, 585, 585, 0, 0, 0, 585, 181, 0, 0, - 0, 181, 0, 0, 0, 0, 350, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 0, 948, - 641, 0, 335, 336, 949, 0, 950, 951, 952, 953, - 954, 955, 956, 146, 148, 0, 150, 151, 152, 0, + 309, 310, 311, 312, 0, 313, 28, 0, 0, 0, + 0, 0, 0, 0, 33, 0, 35, 350, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 0, + 0, 0, 0, 0, 621, 0, 0, 0, 0, 0, + 0, 0, 589, 0, 589, 0, 589, 0, 0, 0, + 589, 0, 589, 0, 167, 590, 33, 587, 0, 0, + 0, 1023, 0, 335, 336, 0, 0, 0, 0, 1031, + 587, 0, 0, 590, 590, 590, 0, 0, 0, 590, + 0, 0, 585, 1210, 143, 0, 0, 75, 0, 77, + 0, 78, 79, 0, 80, 81, 82, 1024, 0, 0, + 585, 585, 585, 0, 0, 0, 585, 181, 0, 1025, + 0, 181, 0, 355, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 337, 143, 0, 0, 75, + 641, 1026, 0, 78, 79, 0, 80, 1027, 82, 0, + 0, 0, 0, 146, 148, 0, 150, 151, 152, 0, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 335, 336, 175, 178, 0, 0, 0, 0, - 0, 0, 0, 589, 0, 0, 195, 0, 957, 958, - 0, 959, 0, 203, 590, 206, 0, 0, 218, 0, - 220, 589, 589, 589, 337, 31, 32, 589, 1207, 0, - 0, 0, 1031, 0, 1194, 37, 590, 0, 33, 0, - 35, 585, 0, 0, 255, 0, 0, 590, 0, 0, - 0, 0, 590, 587, 337, 0, 0, 262, 0, 181, + 165, 166, 0, 0, 175, 178, 0, 0, 0, 0, + 667, 0, 0, 589, 0, 0, 195, 0, 33, 0, + 35, 0, 0, 203, 590, 206, 0, 0, 218, 0, + 220, 589, 589, 589, 0, 0, 0, 589, 1207, 0, + 0, 0, 1031, 0, 0, 0, 590, 0, 0, 0, + 0, 585, 0, 0, 255, 0, 0, 590, 167, 0, + 0, 0, 590, 587, 0, 0, 0, 262, 0, 181, 590, 0, 0, 585, 0, 0, 587, 587, 0, 0, - 0, 0, 0, 0, 585, 1283, 0, 0, 167, 585, - 0, 66, 67, 68, 69, 70, 0, 585, 0, 0, - 424, 0, 582, 0, 0, 0, 0, 590, 73, 74, - 0, 0, 33, 0, 0, 0, 0, 0, 143, 590, - 0, 75, 84, 77, 0, 78, 79, 351, 80, 81, - 82, 0, 0, 0, 585, 88, 0, 0, 0, 0, - 0, 0, 589, 0, 0, 587, 585, 168, 0, 0, - 0, 0, 92, 1024, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 589, 1025, 181, 375, 0, 0, + 0, 0, 0, 0, 585, 1283, 0, 0, 143, 585, + 0, 75, 0, 77, 0, 78, 79, 585, 80, 81, + 82, 0, 0, 0, 0, 0, 0, 590, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 168, 0, 590, + 0, 0, 92, 0, 0, 0, 0, 351, 0, 33, + 0, 35, 0, 0, 585, 0, 0, 0, 0, 0, + 0, 0, 589, 0, 0, 587, 585, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 589, 313, 181, 375, 0, 167, 375, 181, 0, 0, 0, 589, 195, 384, 0, 0, - 589, 0, 143, 0, 586, 75, 0, 1026, 589, 78, - 79, 0, 80, 1027, 82, 0, 0, 586, 0, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 175, 313, 599, 0, 433, 589, 0, 0, 0, 587, - 0, 0, 0, 0, 587, 0, 0, 589, 0, 0, + 589, 424, 0, 0, 586, 0, 0, 0, 589, 0, + 0, 0, 0, 0, 0, 0, 0, 586, 0, 143, + 0, 0, 75, 0, 77, 0, 78, 79, 0, 80, + 81, 82, 0, 0, 0, 0, 0, 0, 0, 0, + 175, 0, 599, 0, 433, 589, 0, 0, 168, 587, + 0, 0, 0, 92, 587, 0, 0, 589, 0, 0, 0, 587, 0, 0, 459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 0, 1023, 0, 0, 0, 0, 1315, 0, 0, 0, 473, 474, 475, 477, @@ -2534,7 +2534,7 @@ static const yytype_int16 yytable[] = 78, 79, 92, 80, 81, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 814, 0, 0, 0, 92, 0, 0, - 0, 33, 0, 35, 0, 0, 0, 587, 296, 297, + 0, 33, 0, 35, 0, 0, 0, 587, 0, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 1247, 313, 0, 0, 587, 0, 0, 0, 0, 586, 0, 586, 0, 586, 0, @@ -2553,17 +2553,17 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 586, 0, 0, 972, 0, 0, 0, 973, 0, 974, 0, 0, 468, 0, 0, 0, 0, 0, 586, 586, 586, 986, 0, 0, 586, - 1191, 0, 0, 0, 468, 0, 0, 288, 289, 290, - 0, 0, 0, 0, 0, 0, 0, 0, 1201, 1202, + 1191, 31, 32, 0, 468, 0, 0, 288, 289, 290, + 0, 37, 0, 0, 0, 0, 0, 0, 1201, 1202, 1203, 0, 0, 291, 1206, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 291, 313, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, - 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 468, 0, 0, 742, 289, 290, + 307, 308, 309, 310, 311, 312, 0, 313, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 66, 67, 68, + 69, 70, 0, 0, 0, 0, 0, 0, 582, 0, + 0, 0, 0, 0, 73, 74, 0, 0, 0, 0, + 0, 0, 0, 0, 468, 0, 0, 742, 84, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 291, 586, 292, 293, 294, 295, 296, + 0, 88, 0, 291, 586, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 586, 313, 0, 1237, 0, 0, 0, 0, 0, 0, 0, 586, 0, 0, @@ -2588,11 +2588,11 @@ static const yytype_int16 yytable[] = 74, 75, 76, 77, 0, 78, 79, 0, 80, 81, 82, 83, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 86, 87, 0, 88, 89, 0, 90, - 91, 759, 92, 93, 290, 94, 95, 5, 6, 7, - 8, 9, 0, 0, 0, 0, 10, 0, 291, 0, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 0, 313, 0, 0, 11, 12, 13, 0, 0, + 91, 759, 92, 93, 0, 94, 95, 5, 6, 7, + 8, 9, 0, 0, 0, 291, 10, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 0, 313, + 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 0, 0, 0, 31, 32, 33, 34, 35, 0, 36, @@ -2607,9 +2607,9 @@ static const yytype_int16 yytable[] = 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 86, 87, 0, 88, 89, 0, 90, 91, 866, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, 0, - 0, 0, 0, 10, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 0, 313, 0, 0, 0, 0, + 0, 0, 0, 10, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 312, 0, 313, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 0, 0, 0, @@ -2625,9 +2625,9 @@ static const yytype_int16 yytable[] = 0, 85, 0, 0, 0, 0, 0, 86, 87, 0, 88, 89, 0, 90, 91, 0, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, 0, 0, 0, 0, - 10, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 0, 313, 0, 0, 0, 0, 0, 0, 0, 11, + 10, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, + 312, 0, 313, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 0, 0, 0, 31, 32, 33, @@ -2642,9 +2642,9 @@ static const yytype_int16 yytable[] = 81, 82, 83, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 86, 0, 0, 88, 89, 0, 90, 91, 453, 92, 93, 0, 94, 95, 5, 6, - 7, 8, 9, 0, 0, 0, 0, 10, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 0, 313, 0, 0, + 7, 8, 9, 0, 0, 0, 0, 10, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 0, 313, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, @@ -2660,9 +2660,9 @@ static const yytype_int16 yytable[] = 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 86, 0, 0, 88, 89, 0, 90, 91, 593, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, - 0, 0, 0, 0, 10, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 0, 313, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 0, 0, @@ -3048,11 +3048,11 @@ static const yytype_int16 yytable[] = 143, 73, 74, 75, 0, 77, 0, 78, 79, 0, 80, 81, 82, 0, 0, 84, 0, 314, 0, 85, 0, 0, 0, 0, 0, 86, 0, 0, 88, 89, - 0, 202, 0, 0, 92, 93, 0, 94, 95, 5, - 6, 7, 8, 9, 0, 0, 0, 0, 10, 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, 0, 0, 0, 0, 12, 13, + 0, 202, 289, 290, 92, 93, 0, 94, 95, 5, + 6, 7, 8, 9, 0, 0, 0, 291, 10, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 0, 313, 0, 0, 0, 0, 0, 0, 12, 13, 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, 0, 31, 32, 33, 34, 35, @@ -3376,153 +3376,153 @@ static const yytype_int16 yytable[] = static const yytype_int16 yycheck[] = { - 4, 83, 4, 219, 145, 30, 4, 24, 25, 4, - 278, 28, 4, 538, 28, 40, 137, 181, 343, 44, - 777, 323, 130, 354, 4, 348, 743, 109, 964, 313, - 275, 89, 944, 967, 53, 187, 967, 762, 747, 8, - 439, 564, 46, 368, 187, 49, 649, 8, 26, 213, - 4, 8, 8, 72, 26, 8, 75, 8, 46, 63, - 8, 8, 652, 780, 8, 8, 73, 61, 8, 8, - 24, 25, 984, 78, 664, 61, 61, 57, 8, 83, - 188, 8, 46, 87, 8, 13, 8, 8, 8, 8, - 0, 232, 8, 8, 61, 8, 8, 8, 121, 29, - 8, 144, 102, 121, 170, 109, 170, 207, 208, 61, - 168, 1047, 212, 78, 98, 121, 447, 66, 67, 570, - 140, 170, 180, 61, 90, 109, 110, 121, 162, 172, - 173, 90, 137, 117, 118, 89, 170, 170, 41, 31, - 743, 73, 162, 90, 31, 173, 41, 127, 171, 858, - 154, 168, 173, 173, 1066, 140, 174, 174, 146, 159, - 376, 141, 887, 180, 146, 171, 891, 892, 175, 121, - 154, 61, 137, 161, 505, 275, 893, 780, 144, 173, - 321, 73, 146, 61, 170, 144, 73, 173, 173, 193, - 61, 193, 196, 61, 196, 173, 200, 318, 61, 281, - 172, 791, 221, 207, 208, 174, 173, 163, 212, 226, - 163, 172, 216, 61, 168, 172, 337, 234, 235, 236, - 174, 172, 173, 171, 241, 624, 180, 391, 172, 172, - 247, 250, 172, 172, 162, 173, 945, 358, 320, 193, - 322, 171, 196, 175, 575, 172, 367, 31, 172, 370, - 172, 172, 172, 172, 157, 171, 171, 860, 171, 171, - 171, 265, 157, 171, 867, 716, 991, 718, 171, 61, - 274, 275, 226, 121, 278, 73, 171, 281, 121, 882, - 234, 235, 236, 173, 809, 265, 61, 241, 611, 73, - 893, 61, 170, 247, 394, 173, 313, 355, 450, 313, - 823, 61, 173, 61, 318, 173, 73, 450, 61, 73, - 173, 265, 93, 94, 318, 319, 320, 170, 322, 316, - 170, 31, 13, 337, 147, 173, 66, 67, 171, 25, - 117, 348, 577, 337, 98, 26, 170, 662, 355, 137, - 138, 139, 506, 340, 358, 561, 671, 344, 1282, 449, - 173, 1282, 43, 367, 358, 51, 370, 172, 173, 690, - 117, 1297, 71, 73, 73, 529, 370, 1217, 1218, 73, - 93, 94, 1213, 1214, 899, 71, 901, 381, 26, 381, - 544, 173, 985, 667, 170, 988, 989, 406, 170, 140, - 394, 543, 170, 174, 348, 144, 1308, 549, 173, 403, - 543, 355, 1314, 173, 408, 170, 549, 170, 175, 170, - 31, 162, 61, 173, 170, 173, 61, 172, 422, 170, - 173, 585, 173, 403, 428, 429, 73, 381, 124, 511, - 172, 78, 61, 73, 138, 139, 172, 140, 78, 148, - 149, 549, 151, 152, 153, 449, 173, 61, 465, 403, - 146, 174, 148, 149, 756, 151, 152, 153, 73, 170, - 98, 786, 170, 78, 1067, 170, 175, 144, 40, 794, - 166, 121, 997, 804, 170, 49, 1233, 577, 578, 13, + 4, 83, 4, 219, 145, 87, 4, 24, 25, 30, + 278, 28, 4, 4, 28, 538, 137, 181, 343, 40, + 777, 348, 323, 44, 4, 187, 743, 109, 130, 313, + 964, 89, 944, 275, 649, 967, 967, 762, 747, 564, + 439, 8, 46, 368, 187, 49, 8, 8, 26, 213, + 4, 8, 570, 41, 53, 354, 41, 8, 8, 63, + 8, 61, 652, 780, 8, 8, 61, 8, 8, 8, + 24, 25, 984, 72, 664, 61, 75, 57, 8, 83, + 8, 29, 46, 87, 8, 90, 188, 8, 26, 8, + 8, 232, 8, 61, 8, 8, 8, 8, 13, 8, + 93, 94, 121, 140, 31, 109, 316, 207, 208, 78, + 168, 13, 212, 1047, 61, 144, 147, 0, 162, 170, + 78, 170, 180, 170, 26, 162, 170, 73, 743, 160, + 340, 90, 147, 170, 344, 89, 173, 66, 67, 144, + 170, 43, 173, 172, 173, 140, 73, 127, 447, 858, + 154, 168, 98, 121, 1066, 174, 61, 174, 173, 170, + 376, 141, 887, 180, 46, 780, 891, 892, 137, 157, + 170, 61, 157, 173, 121, 275, 893, 61, 173, 137, + 321, 174, 146, 171, 170, 144, 171, 173, 61, 193, + 61, 193, 196, 61, 196, 173, 200, 318, 716, 281, + 718, 791, 163, 207, 208, 173, 505, 174, 212, 226, + 172, 173, 216, 163, 168, 172, 337, 234, 235, 236, + 174, 172, 221, 171, 241, 624, 180, 391, 172, 172, + 247, 172, 172, 172, 172, 61, 945, 358, 320, 193, + 322, 171, 196, 61, 172, 860, 367, 162, 172, 370, + 171, 250, 867, 172, 172, 61, 172, 171, 171, 171, + 171, 265, 171, 61, 146, 102, 991, 882, 173, 73, + 274, 275, 226, 61, 278, 8, 575, 281, 893, 161, + 234, 235, 236, 173, 611, 265, 809, 241, 450, 173, + 121, 61, 31, 247, 394, 121, 313, 355, 823, 313, + 173, 61, 173, 170, 318, 173, 73, 450, 121, 73, + 121, 265, 173, 25, 318, 319, 320, 117, 322, 140, + 31, 117, 159, 337, 66, 67, 31, 73, 93, 94, + 170, 348, 78, 337, 73, 577, 170, 662, 355, 51, + 171, 162, 506, 170, 358, 561, 671, 173, 170, 449, + 1282, 1282, 173, 367, 358, 173, 370, 90, 171, 71, + 171, 170, 73, 1297, 146, 529, 370, 173, 73, 170, + 985, 175, 26, 988, 989, 173, 899, 381, 901, 381, + 544, 543, 71, 667, 170, 173, 98, 549, 172, 173, + 394, 690, 138, 139, 348, 173, 1308, 25, 170, 403, + 543, 355, 1314, 173, 408, 73, 549, 406, 175, 174, + 78, 175, 124, 173, 42, 25, 144, 45, 422, 1217, + 1218, 585, 31, 403, 428, 429, 73, 381, 73, 511, + 61, 78, 42, 179, 146, 45, 148, 149, 73, 151, + 152, 153, 71, 78, 61, 449, 172, 549, 465, 403, + 1213, 1214, 1067, 172, 166, 756, 172, 146, 170, 148, + 149, 786, 151, 152, 153, 61, 173, 73, 140, 794, + 138, 139, 78, 170, 997, 170, 1233, 577, 578, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 138, 139, 162, 140, 73, 513, 713, 138, 139, - 78, 106, 107, 108, 109, 110, 111, 511, 92, 93, - 94, 465, 843, 73, 147, 846, 637, 177, 78, 71, - 851, 8, 137, 138, 139, 59, 60, 160, 545, 140, - 547, 140, 179, 140, 538, 560, 540, 172, 178, 862, - 173, 121, 642, 170, 1069, 25, 31, 73, 565, 162, - 170, 73, 78, 557, 879, 25, 78, 13, 13, 513, - 138, 139, 42, 567, 568, 45, 568, 172, 171, 1286, - 162, 896, 42, 577, 578, 45, 907, 557, 138, 139, - 45, 46, 47, 1300, 49, 602, 71, 121, 73, 172, - 594, 545, 13, 547, 611, 612, 148, 149, 79, 151, - 152, 153, 171, 557, 171, 769, 92, 93, 94, 170, - 176, 565, 138, 139, 568, 137, 138, 139, 170, 623, - 720, 623, 722, 637, 170, 623, 111, 170, 623, 8, - 171, 623, 171, 637, 63, 82, 8, 171, 642, 93, - 94, 95, 71, 623, 73, 172, 13, 79, 602, 170, - 667, 976, 8, 667, 170, 73, 141, 611, 612, 144, - 172, 146, 119, 148, 149, 170, 151, 152, 153, 623, - 171, 1196, 61, 161, 678, 679, 680, 702, 120, 779, - 948, 122, 111, 1286, 8, 170, 61, 171, 171, 71, - 175, 708, 8, 13, 119, 911, 174, 1300, 177, 703, - 177, 703, 706, 42, 43, 44, 45, 46, 47, 925, - 49, 8, 141, 177, 177, 144, 720, 146, 722, 148, - 149, 170, 151, 152, 153, 170, 706, 943, 1053, 172, - 734, 171, 736, 115, 171, 122, 172, 8, 838, 140, - 171, 170, 170, 747, 748, 140, 175, 170, 102, 703, - 71, 173, 706, 13, 708, 772, 760, 172, 760, 163, - 173, 13, 760, 177, 173, 760, 148, 149, 760, 151, - 152, 153, 13, 79, 172, 779, 1044, 170, 170, 170, - 760, 13, 170, 8, 170, 1001, 171, 122, 170, 172, - 13, 816, 1008, 171, 25, 172, 813, 8, 171, 63, - 137, 805, 79, 8, 170, 809, 760, 71, 825, 73, - 159, 170, 122, 170, 8, 819, 171, 819, 772, 171, - 51, 71, 173, 144, 828, 173, 173, 148, 149, 929, - 151, 152, 153, 171, 838, 24, 25, 170, 170, 28, - 71, 122, 8, 177, 137, 862, 79, 111, 828, 26, - 68, 163, 173, 172, 858, 172, 71, 171, 1074, 813, - 122, 26, 171, 8, 964, 819, 122, 98, 71, 8, - 73, 825, 171, 122, 828, 8, 174, 141, 978, 173, - 144, 981, 146, 25, 148, 149, 171, 151, 152, 153, - 174, 141, 8, 124, 144, 899, 170, 901, 148, 149, - 1041, 151, 152, 153, 26, 171, 170, 8, 862, 51, - 171, 175, 122, 171, 173, 146, 171, 148, 149, 26, - 151, 152, 153, 171, 174, 929, 24, 25, 172, 71, - 28, 171, 79, 148, 149, 166, 151, 152, 153, 170, - 146, 945, 172, 172, 948, 148, 149, 73, 151, 152, - 153, 166, 150, 71, 171, 959, 98, 170, 104, 73, - 964, 13, 171, 171, 106, 107, 108, 109, 110, 111, - 173, 1187, 175, 122, 978, 79, 1192, 981, 171, 168, - 171, 1197, 124, 963, 122, 174, 122, 122, 1204, 1205, - 13, 180, 173, 997, 172, 73, 171, 71, 1002, 73, - 170, 1005, 173, 1005, 146, 1009, 148, 149, 13, 151, - 152, 153, 173, 71, 1018, 73, 106, 107, 108, 109, - 110, 111, 1002, 1239, 166, 122, 1030, 71, 170, 1009, - 148, 149, 1036, 151, 152, 153, 173, 226, 1018, 173, - 1044, 25, 1183, 13, 13, 234, 235, 236, 1002, 73, - 171, 1005, 241, 111, 13, 1009, 173, 51, 247, 73, - 170, 73, 8, 13, 1018, 1069, 1046, 51, 1072, 1073, - 168, 1073, 172, 1077, 148, 149, 174, 151, 152, 153, - 90, 140, 180, 141, 90, 153, 144, 71, 146, 29, - 148, 149, 1072, 151, 152, 153, 13, 1077, 1180, 173, - 144, 175, 1318, 170, 148, 149, 171, 151, 152, 153, - 1326, 172, 170, 73, 155, 173, 171, 175, 1072, 1073, - 170, 172, 171, 1077, 313, 73, 171, 173, 226, 244, - 406, 1294, 322, 248, 319, 127, 234, 235, 236, 1305, - 124, 71, 666, 241, 320, 663, 825, 1229, 922, 247, - 625, 71, 267, 73, 269, 270, 271, 272, 411, 348, - 1169, 1090, 146, 959, 148, 149, 355, 151, 152, 153, - 1320, 1181, 38, 157, 89, 1019, 1180, 763, 692, 679, - 25, 805, 166, 882, 400, 242, 170, 69, 70, 71, - 792, 723, 1196, 235, 748, -1, 1200, 413, 981, -1, - -1, -1, -1, -1, 1208, -1, 51, -1, -1, 1213, - 1214, 400, -1, 1217, 1218, 313, 146, -1, 148, 149, - 1200, 151, 152, 153, 413, 1229, 71, -1, 148, 149, - 1234, 151, 152, 153, 1238, -1, -1, 1241, -1, 1243, - 1244, -1, -1, -1, -1, -1, 1200, -1, -1, -1, - 348, -1, -1, 173, 1234, 175, -1, 355, 1238, -1, - -1, 1241, -1, 1243, 1244, -1, 148, 149, -1, 151, - 152, 153, 1276, -1, -1, -1, 465, 1281, -1, 124, + 24, 138, 139, 138, 139, 61, 513, 713, 71, 98, + 73, 170, 137, 138, 139, 804, 144, 511, 40, 49, + 178, 465, 141, 162, 140, 144, 637, 121, 177, 148, + 149, 8, 151, 152, 153, 59, 60, 140, 545, 140, + 547, 137, 138, 139, 538, 862, 540, 140, 170, 560, + 121, 162, 642, 170, 843, 174, 1069, 846, 565, 92, + 93, 94, 851, 557, 879, 13, 45, 46, 47, 513, + 49, 13, 73, 567, 568, 172, 568, 78, 162, 1286, + 73, 896, 172, 577, 578, 148, 149, 557, 151, 152, + 153, 171, 79, 1300, 25, 602, 71, 121, 73, 13, + 594, 545, 171, 547, 611, 612, 92, 93, 94, 171, + 173, 176, 175, 557, 8, 769, 170, 170, 907, 170, + 51, 565, 73, 171, 568, 171, 71, 78, 73, 623, + 720, 623, 722, 637, 8, 623, 82, 138, 139, 79, + 71, 623, 623, 637, 137, 138, 139, 171, 642, 93, + 94, 95, 172, 623, 13, 170, 8, 170, 602, 119, + 667, 976, 73, 667, 172, 170, 61, 611, 612, 71, + 120, 73, 74, 148, 149, 171, 151, 152, 153, 623, + 161, 1286, 8, 1196, 678, 679, 680, 138, 139, 779, + 948, 702, 122, 124, 61, 1300, 8, 171, 173, 171, + 175, 708, 13, 148, 149, 911, 151, 152, 153, 703, + 119, 703, 706, 177, 177, 146, 174, 148, 149, 925, + 151, 152, 153, 8, 177, 177, 720, 170, 722, 170, + 175, 122, 71, 171, 171, 166, 706, 943, 1053, 170, + 734, 8, 736, 172, 172, 171, 148, 149, 838, 151, + 152, 153, 170, 747, 748, 71, 140, 73, 170, 703, + 140, 102, 706, 173, 708, 772, 760, 13, 760, 172, + 71, 25, 760, 244, 163, 173, 115, 248, 760, 760, + 13, 177, 13, 173, 79, 779, 1044, 172, 170, 170, + 760, 170, 13, 170, 170, 1001, 267, 51, 269, 270, + 271, 272, 1008, 171, 8, 816, 813, 172, 172, 148, + 149, 805, 151, 152, 153, 809, 760, 71, 825, 106, + 107, 108, 109, 110, 111, 819, 122, 819, 772, 13, + 8, 170, 148, 149, 828, 151, 152, 153, 171, 929, + 171, 79, 170, 144, 838, 24, 25, 148, 149, 28, + 151, 152, 153, 137, 159, 862, 8, 173, 828, 175, + 170, 122, 170, 8, 858, 171, 71, 171, 1074, 813, + 124, 173, 173, 173, 964, 819, 69, 70, 71, 173, + 170, 825, 170, 122, 828, 172, 177, 8, 978, 98, + 171, 981, 146, 25, 148, 149, 137, 151, 152, 153, + 109, 110, 79, 157, 26, 899, 68, 901, 117, 118, + 1041, 171, 166, 172, 172, 163, 170, 26, 862, 51, + 122, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 8, 171, 929, 24, 25, 8, 71, + 28, 122, 171, 148, 149, 154, 151, 152, 153, 122, + 174, 945, 8, 173, 948, 148, 149, 171, 151, 152, + 153, 166, 8, 71, 174, 959, 98, 59, 60, 170, + 964, 26, 171, 171, 106, 107, 108, 109, 110, 111, + 122, 1187, 173, 31, 978, 171, 1192, 981, 171, 168, + 8, 1197, 124, 963, 26, 174, 171, 171, 1204, 1205, + 172, 180, 172, 997, 172, 79, 73, 150, 1002, 146, + 170, 1005, 171, 1005, 146, 1009, 148, 149, 104, 151, + 152, 153, 73, 71, 1018, 73, 13, 171, 122, 121, + 171, 171, 1002, 1239, 166, 79, 1030, 71, 170, 1009, + 148, 149, 1036, 151, 152, 153, 122, 226, 1018, 122, + 1044, 25, 1183, 122, 171, 234, 235, 236, 1002, 13, + 173, 1005, 241, 111, 73, 1009, 172, 171, 247, 170, + 173, 13, 122, 173, 1018, 1069, 1046, 51, 1072, 1073, + 168, 1073, 173, 1077, 173, 71, 174, 73, 13, 13, + 171, 73, 180, 141, 13, 173, 144, 71, 146, 51, + 148, 149, 1072, 151, 152, 153, 170, 1077, 1180, 73, + 73, 8, 1318, 13, 148, 149, 140, 151, 152, 153, + 1326, 90, 170, 172, 90, 111, 153, 175, 1072, 1073, + 29, 13, 170, 1077, 313, 71, 170, 172, 226, 106, + 107, 108, 109, 110, 111, 171, 234, 235, 236, 155, + 124, 73, 171, 241, 170, 141, 171, 1229, 144, 247, + 146, 172, 148, 149, 73, 151, 152, 153, 171, 348, + 406, 173, 146, 1294, 148, 149, 355, 151, 152, 153, + 319, 71, 320, 157, 170, 663, 1180, 173, 322, 175, + 127, 625, 166, 666, 400, 1305, 170, 922, 825, 411, + 1090, 959, 1196, 1169, 1320, 141, 1200, 413, 144, 1181, + 146, 38, 148, 149, 1208, 151, 152, 153, 89, 1213, + 1214, 400, 1019, 1217, 1218, 313, 763, 805, 792, 882, + 1200, 692, 679, 723, 413, 1229, 235, 242, 748, 981, 1234, -1, -1, -1, 1238, -1, -1, 1241, -1, 1243, - 1244, -1, 1296, -1, -1, -1, 1276, -1, -1, -1, - -1, 146, 400, 148, 149, -1, 151, 152, 153, -1, - -1, -1, 157, -1, -1, 413, -1, 41, 1322, -1, - -1, 166, 1276, 1327, 513, 170, -1, -1, -1, 71, - -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1322, -1, -1, -1, -1, 1327, -1, -1, - 566, -1, -1, -1, -1, -1, 545, -1, 547, -1, - -1, -1, -1, 579, 580, -1, -1, 465, 1322, -1, - -1, -1, -1, 1327, -1, 99, 565, 566, -1, -1, - 104, -1, 106, 107, 108, 109, 110, 111, 112, 99, - 579, 580, -1, -1, 104, -1, 106, 107, 108, 109, - 110, 111, 112, -1, 146, -1, 148, 149, 150, 151, - 152, 153, -1, 602, -1, 513, -1, -1, -1, -1, - 609, -1, 611, 612, 148, 149, 41, 151, 170, -1, - -1, -1, 648, -1, -1, -1, 625, -1, 148, 149, - -1, 151, -1, -1, -1, -1, -1, 545, -1, 547, + 1244, 41, -1, -1, 144, -1, 1200, -1, 148, 149, + 348, 151, 152, 153, 1234, -1, -1, 355, 1238, -1, + -1, 1241, 41, 1243, 1244, -1, 42, 43, 44, 45, + 46, 47, 1276, 49, -1, -1, 465, 1281, -1, -1, + 1234, -1, -1, -1, 1238, -1, -1, 1241, -1, 1243, + 1244, -1, 1296, -1, -1, -1, 1276, -1, -1, 99, + -1, -1, 400, -1, 104, -1, 106, 107, 108, 109, + 110, 111, 112, -1, -1, 413, -1, 41, 1322, -1, + 99, -1, 1276, 1327, 513, 104, -1, 106, 107, 108, + 109, 110, 111, 112, -1, -1, 41, -1, -1, -1, + -1, -1, 1322, -1, -1, -1, -1, 1327, 148, 149, + 566, 151, -1, -1, -1, -1, 545, -1, 547, -1, + -1, -1, -1, 579, 580, -1, -1, 465, 1322, 148, + 149, -1, 151, 1327, 174, 99, 565, 566, -1, -1, + 104, -1, 106, 107, 108, 109, 110, 111, 112, -1, + 579, 580, -1, -1, 99, 174, -1, -1, -1, 104, + -1, 106, 107, 108, 109, 110, 111, 112, -1, -1, + -1, -1, -1, 602, -1, 513, -1, -1, -1, -1, + 609, -1, 611, 612, 148, 149, 41, 151, -1, -1, + -1, -1, 648, -1, -1, -1, 625, -1, -1, -1, + -1, -1, -1, 148, 149, -1, 151, 545, -1, 547, 174, -1, -1, -1, -1, -1, -1, -1, -1, 648, - -1, -1, 651, -1, 174, -1, -1, 565, 566, -1, + -1, -1, 651, -1, -1, -1, -1, 565, 566, 174, -1, -1, -1, -1, -1, -1, -1, -1, 667, -1, -1, 579, 580, -1, 99, -1, -1, -1, -1, 104, -1, 106, 107, 108, 109, 110, 111, 112, -1, -1, @@ -3538,7 +3538,7 @@ static const yytype_int16 yycheck[] = 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, 708, 827, -1, -1, 148, 149, -1, 151, -1, -1, - -1, -1, -1, 71, 813, 73, 74, -1, -1, 42, + -1, -1, -1, -1, 813, -1, 71, -1, -1, 42, 43, -1, -1, -1, 732, -1, 825, -1, 827, 737, 174, -1, -1, -1, -1, -1, 744, -1, 61, -1, -1, -1, -1, -1, -1, -1, 69, 70, 71, 9, @@ -3546,55 +3546,55 @@ static const yytype_int16 yycheck[] = 859, -1, -1, 862, 772, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, - 148, 149, -1, 151, 152, 153, -1, -1, -1, -1, + -1, 146, -1, 148, 149, 150, 151, 152, 153, -1, -1, 124, -1, -1, 930, 813, 932, -1, 934, -1, - -1, -1, 938, 136, 940, -1, -1, 825, -1, 827, + -1, -1, 938, 136, 940, 170, -1, 825, -1, 827, -1, -1, -1, -1, 177, 148, 149, -1, 151, 152, - 153, 930, 41, 932, -1, 934, -1, -1, 71, 938, + 153, 930, -1, 932, -1, 934, -1, -1, -1, 938, -1, 940, -1, 166, 852, 9, 10, 11, -1, -1, 949, 859, -1, -1, 862, -1, -1, -1, 957, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, - 99, -1, -1, -1, -1, 104, -1, 106, 107, 108, - 109, 110, 111, 112, -1, -1, -1, -1, 141, -1, - -1, 144, -1, 146, 174, 148, 149, -1, 151, 152, - 153, -1, 930, -1, 932, -1, 934, -1, -1, -1, - 938, -1, 940, -1, -1, 1061, -1, 400, -1, 148, - 149, 949, 151, -1, -1, -1, -1, -1, -1, 957, - 413, 41, -1, 1079, 1080, 1081, -1, -1, -1, 1085, - -1, -1, 1061, 1089, -1, 174, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, - 1079, 1080, 1081, -1, -1, -1, 1085, 1086, -1, -1, - -1, 1090, -1, -1, -1, -1, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, -1, 99, - 174, -1, 59, 60, 104, -1, 106, 107, 108, 109, - 110, 111, 112, 5, 6, -1, 8, 9, 10, -1, + 44, 45, 46, 47, -1, 49, 63, -1, -1, -1, + -1, -1, -1, -1, 71, -1, 73, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, -1, -1, 174, -1, -1, -1, -1, -1, + -1, -1, 930, -1, 932, -1, 934, -1, -1, -1, + 938, -1, 940, -1, 111, 1061, 71, 400, -1, -1, + -1, 949, -1, 59, 60, -1, -1, -1, -1, 957, + 413, -1, -1, 1079, 1080, 1081, -1, -1, -1, 1085, + -1, -1, 1061, 1089, 141, -1, -1, 144, -1, 146, + -1, 148, 149, -1, 151, 152, 153, 112, -1, -1, + 1079, 1080, 1081, -1, -1, -1, 1085, 1086, -1, 124, + -1, 1090, -1, 170, -1, -1, -1, -1, 175, -1, + -1, -1, -1, -1, -1, 121, 141, -1, -1, 144, + 174, 146, -1, 148, 149, -1, 151, 152, 153, -1, + -1, -1, -1, 5, 6, -1, 8, 9, 10, -1, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 59, 60, 26, 27, -1, -1, -1, -1, - -1, -1, -1, 1061, -1, -1, 38, -1, 148, 149, - -1, 151, -1, 45, 1190, 47, -1, -1, 50, -1, - 52, 1079, 1080, 1081, 121, 69, 70, 1085, 1086, -1, - -1, -1, 1090, -1, 174, 79, 1212, -1, 71, -1, - 73, 1190, -1, -1, 76, -1, -1, 1223, -1, -1, - -1, -1, 1228, 566, 121, -1, -1, 89, -1, 1208, + 22, 23, -1, -1, 26, 27, -1, -1, -1, -1, + 63, -1, -1, 1061, -1, -1, 38, -1, 71, -1, + 73, -1, -1, 45, 1190, 47, -1, -1, 50, -1, + 52, 1079, 1080, 1081, -1, -1, -1, 1085, 1086, -1, + -1, -1, 1090, -1, -1, -1, 1212, -1, -1, -1, + -1, 1190, -1, -1, 76, -1, -1, 1223, 111, -1, + -1, -1, 1228, 566, -1, -1, -1, 89, -1, 1208, 1236, -1, -1, 1212, -1, -1, 579, 580, -1, -1, - -1, -1, -1, -1, 1223, 1251, -1, -1, 111, 1228, - -1, 125, 126, 127, 128, 129, -1, 1236, -1, -1, - 123, -1, 136, -1, -1, -1, -1, 1273, 142, 143, - -1, -1, 71, -1, -1, -1, -1, -1, 141, 1285, - -1, 144, 156, 146, -1, 148, 149, 149, 151, 152, - 153, -1, -1, -1, 1273, 169, -1, -1, -1, -1, - -1, -1, 1190, -1, -1, 648, 1285, 170, -1, -1, - -1, -1, 175, 112, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1212, 124, 1305, 189, -1, -1, + -1, -1, -1, -1, 1223, 1251, -1, -1, 141, 1228, + -1, 144, -1, 146, -1, 148, 149, 1236, 151, 152, + 153, -1, -1, -1, -1, -1, -1, 1273, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 170, -1, 1285, + -1, -1, 175, -1, -1, -1, -1, 149, -1, 71, + -1, 73, -1, -1, 1273, -1, -1, -1, -1, -1, + -1, -1, 1190, -1, -1, 648, 1285, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 1212, 49, 1305, 189, -1, 111, 192, 1310, -1, -1, -1, 1223, 198, 199, -1, -1, - 1228, -1, 141, -1, 400, 144, -1, 146, 1236, 148, - 149, -1, 151, 152, 153, -1, -1, 413, -1, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 242, 49, 413, -1, 246, 1273, -1, -1, -1, 732, - -1, -1, -1, -1, 737, -1, -1, 1285, -1, -1, + 1228, 123, -1, -1, 400, -1, -1, -1, 1236, -1, + -1, -1, -1, -1, -1, -1, -1, 413, -1, 141, + -1, -1, 144, -1, 146, -1, 148, 149, -1, 151, + 152, 153, -1, -1, -1, -1, -1, -1, -1, -1, + 242, -1, 413, -1, 246, 1273, -1, -1, 170, 732, + -1, -1, -1, 175, 737, -1, -1, 1285, -1, -1, -1, 744, -1, -1, 266, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, 1305, -1, -1, -1, -1, 1310, -1, -1, -1, 288, 289, 290, 291, @@ -3639,7 +3639,7 @@ static const yytype_int16 yycheck[] = 148, 149, 175, 151, 152, 153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 170, 695, -1, -1, -1, 175, -1, -1, - -1, 71, -1, 73, -1, -1, -1, 1190, 31, 32, + -1, 71, -1, 73, -1, -1, -1, 1190, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 1208, 49, -1, -1, 1212, -1, -1, -1, -1, 930, -1, 932, -1, 934, -1, @@ -3658,17 +3658,17 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, 1061, -1, -1, 870, -1, -1, -1, 874, -1, 876, -1, -1, 879, -1, -1, -1, -1, -1, 1079, 1080, 1081, 888, -1, -1, 1085, - 1061, -1, -1, -1, 896, -1, -1, 9, 10, 11, - -1, -1, -1, -1, -1, -1, -1, -1, 1079, 1080, + 1061, 69, 70, -1, 896, -1, -1, 9, 10, 11, + -1, 79, -1, -1, -1, -1, -1, -1, 1079, 1080, 1081, -1, -1, 25, 1085, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 25, 49, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, - 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 976, -1, -1, 174, 10, 11, + 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 125, 126, 127, + 128, 129, -1, -1, -1, -1, -1, -1, 136, -1, + -1, -1, -1, -1, 142, 143, -1, -1, -1, -1, + -1, -1, -1, -1, 976, -1, -1, 174, 156, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 25, 1190, 27, 28, 29, 30, 31, + -1, 169, -1, 25, 1190, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 1212, 49, -1, 1190, -1, -1, -1, -1, -1, -1, -1, 1223, -1, -1, @@ -3693,11 +3693,11 @@ static const yytype_int16 yycheck[] = 143, 144, 145, 146, -1, 148, 149, -1, 151, 152, 153, 154, -1, 156, -1, -1, -1, 160, -1, -1, -1, -1, -1, 166, 167, -1, 169, 170, -1, 172, - 173, 174, 175, 176, 11, 178, 179, 3, 4, 5, - 6, 7, -1, -1, -1, -1, 12, -1, 25, -1, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, -1, 49, -1, -1, 41, 42, 43, -1, -1, + 173, 174, 175, 176, -1, 178, 179, 3, 4, 5, + 6, 7, -1, -1, -1, 25, 12, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, -1, 41, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, -1, -1, -1, 69, 70, 71, 72, 73, -1, 75, @@ -3712,9 +3712,9 @@ static const yytype_int16 yycheck[] = 156, -1, -1, -1, 160, -1, -1, -1, -1, -1, 166, 167, -1, 169, 170, -1, 172, 173, 174, 175, 176, -1, 178, 179, 3, 4, 5, 6, 7, -1, - -1, -1, -1, 12, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, + -1, -1, -1, 12, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, 41, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, -1, -1, -1, @@ -3730,9 +3730,9 @@ static const yytype_int16 yycheck[] = -1, 160, -1, -1, -1, -1, -1, 166, 167, -1, 169, 170, -1, 172, 173, -1, 175, 176, -1, 178, 179, 3, 4, 5, 6, 7, -1, -1, -1, -1, - 12, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - -1, 49, -1, -1, -1, -1, -1, -1, -1, 41, + 12, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, -1, 49, -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, -1, -1, -1, 69, 70, 71, @@ -3747,9 +3747,9 @@ static const yytype_int16 yycheck[] = 152, 153, 154, -1, 156, -1, -1, -1, 160, -1, -1, -1, -1, -1, 166, -1, -1, 169, 170, -1, 172, 173, 174, 175, 176, -1, 178, 179, 3, 4, - 5, 6, 7, -1, -1, -1, -1, 12, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, + 5, 6, 7, -1, -1, -1, -1, 12, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, @@ -3765,9 +3765,9 @@ static const yytype_int16 yycheck[] = -1, 156, -1, -1, -1, 160, -1, -1, -1, -1, -1, 166, -1, -1, 169, 170, -1, 172, 173, 174, 175, 176, -1, 178, 179, 3, 4, 5, 6, 7, - -1, -1, -1, -1, 12, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 12, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, -1, -1, @@ -4153,11 +4153,11 @@ static const yytype_int16 yycheck[] = 141, 142, 143, 144, -1, 146, -1, 148, 149, -1, 151, 152, 153, -1, -1, 156, -1, 172, -1, 160, -1, -1, -1, -1, -1, 166, -1, -1, 169, 170, - -1, 172, -1, -1, 175, 176, -1, 178, 179, 3, - 4, 5, 6, 7, -1, -1, -1, -1, 12, -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, 42, 43, + -1, 172, 10, 11, 175, 176, -1, 178, 179, 3, + 4, 5, 6, 7, -1, -1, -1, 25, 12, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + -1, 49, -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, -1, 69, 70, 71, 72, 73, @@ -4509,7 +4509,7 @@ static const yytype_uint16 yystos[] = 117, 73, 209, 250, 170, 170, 170, 170, 187, 222, 375, 170, 170, 73, 78, 137, 138, 139, 367, 368, 144, 173, 190, 190, 95, 287, 223, 375, 146, 170, - 187, 280, 287, 288, 348, 196, 173, 78, 318, 367, + 375, 280, 287, 288, 348, 196, 173, 78, 318, 367, 78, 367, 367, 26, 144, 162, 376, 170, 8, 172, 31, 208, 146, 221, 375, 172, 172, 172, 9, 10, 11, 25, 27, 28, 29, 30, 31, 32, 33, 34, @@ -10289,36 +10289,37 @@ yyreduce: case 673: /* Line 1455 of yacc.c */ -#line 2341 "hphp.y" +#line 2342 "hphp.y" { only_in_strict_mode(_p); - _p->onTypedef((yyval), (yyvsp[(2) - (5)]), (yyvsp[(4) - (5)])); ;} + _p->onTypedef((yyval), (yyvsp[(2) - (5)]), (yyvsp[(4) - (5)])); + _p->popTypeScope(); ;} break; case 674: /* Line 1455 of yacc.c */ -#line 2346 "hphp.y" +#line 2348 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 675: /* Line 1455 of yacc.c */ -#line 2347 "hphp.y" +#line 2349 "hphp.y" { only_in_strict_mode(_p); (yyval) = (yyvsp[(2) - (2)]); ;} break; case 676: /* Line 1455 of yacc.c */ -#line 2353 "hphp.y" +#line 2355 "hphp.y" { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (1)]); ;} break; case 677: /* Line 1455 of yacc.c */ -#line 2357 "hphp.y" +#line 2359 "hphp.y" { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (4)]); only_in_strict_mode(_p); ;} break; @@ -10326,21 +10327,21 @@ yyreduce: case 678: /* Line 1455 of yacc.c */ -#line 2364 "hphp.y" +#line 2366 "hphp.y" { only_in_strict_mode(_p); (yyval) = (yyvsp[(2) - (3)]); ;} break; case 679: /* Line 1455 of yacc.c */ -#line 2365 "hphp.y" +#line 2367 "hphp.y" { (yyval).reset(); ;} break; case 680: /* Line 1455 of yacc.c */ -#line 2369 "hphp.y" +#line 2371 "hphp.y" { Token t; t.reset(); _p->onTypeList((yyvsp[(1) - (1)]), t); (yyval) = (yyvsp[(1) - (1)]); ;} @@ -10349,7 +10350,7 @@ yyreduce: case 681: /* Line 1455 of yacc.c */ -#line 2372 "hphp.y" +#line 2374 "hphp.y" { _p->onTypeList((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); (yyval) = (yyvsp[(1) - (3)]); ;} break; @@ -10357,98 +10358,98 @@ yyreduce: case 682: /* Line 1455 of yacc.c */ -#line 2377 "hphp.y" +#line 2379 "hphp.y" { (yyval) = (yyvsp[(1) - (3)]); ;} break; case 683: /* Line 1455 of yacc.c */ -#line 2378 "hphp.y" +#line 2380 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 684: /* Line 1455 of yacc.c */ -#line 2379 "hphp.y" +#line 2381 "hphp.y" { (yyval).reset(); ;} break; case 685: /* Line 1455 of yacc.c */ -#line 2380 "hphp.y" +#line 2382 "hphp.y" { (yyval).reset(); ;} break; case 686: /* Line 1455 of yacc.c */ -#line 2384 "hphp.y" +#line 2386 "hphp.y" { (yyval).reset(); ;} break; case 687: /* Line 1455 of yacc.c */ -#line 2385 "hphp.y" +#line 2387 "hphp.y" { only_in_strict_mode(_p); (yyval) = (yyvsp[(2) - (2)]); ;} break; case 688: /* Line 1455 of yacc.c */ -#line 2389 "hphp.y" +#line 2391 "hphp.y" { _p->addTypeVar((yyvsp[(1) - (3)]).text()); ;} break; case 689: /* Line 1455 of yacc.c */ -#line 2390 "hphp.y" +#line 2392 "hphp.y" { _p->addTypeVar((yyvsp[(1) - (1)]).text()); ;} break; case 691: /* Line 1455 of yacc.c */ -#line 2394 "hphp.y" +#line 2396 "hphp.y" { _p->addTypeVar((yyvsp[(1) - (5)]).text()); ;} break; case 692: /* Line 1455 of yacc.c */ -#line 2395 "hphp.y" +#line 2397 "hphp.y" { _p->addTypeVar((yyvsp[(1) - (3)]).text()); ;} break; case 694: /* Line 1455 of yacc.c */ -#line 2402 "hphp.y" +#line 2404 "hphp.y" { validate_shape_keyname((yyvsp[(1) - (3)]), _p); ;} break; case 697: /* Line 1455 of yacc.c */ -#line 2413 "hphp.y" +#line 2415 "hphp.y" { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 698: /* Line 1455 of yacc.c */ -#line 2415 "hphp.y" +#line 2417 "hphp.y" {;} break; case 699: /* Line 1455 of yacc.c */ -#line 2419 "hphp.y" +#line 2421 "hphp.y" { only_in_strict_mode(_p); (yyval).setText("array"); ;} break; @@ -10456,7 +10457,7 @@ yyreduce: case 700: /* Line 1455 of yacc.c */ -#line 2427 "hphp.y" +#line 2429 "hphp.y" { only_in_strict_mode(_p); _p->onTypeSpecialization((yyvsp[(2) - (2)]), '?'); (yyval) = (yyvsp[(2) - (2)]); ;} @@ -10465,7 +10466,7 @@ yyreduce: case 701: /* Line 1455 of yacc.c */ -#line 2430 "hphp.y" +#line 2432 "hphp.y" { only_in_strict_mode(_p); _p->onTypeSpecialization((yyvsp[(2) - (2)]), '@'); (yyval) = (yyvsp[(2) - (2)]); ;} @@ -10474,14 +10475,14 @@ yyreduce: case 702: /* Line 1455 of yacc.c */ -#line 2433 "hphp.y" +#line 2435 "hphp.y" { _p->onTypeAnnotation((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); ;} break; case 703: /* Line 1455 of yacc.c */ -#line 2434 "hphp.y" +#line 2436 "hphp.y" { Token t; t.reset(); (yyvsp[(1) - (1)]).setText("array"); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); ;} @@ -10490,14 +10491,14 @@ yyreduce: case 704: /* Line 1455 of yacc.c */ -#line 2437 "hphp.y" +#line 2439 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 705: /* Line 1455 of yacc.c */ -#line 2439 "hphp.y" +#line 2441 "hphp.y" { only_in_strict_mode(_p); (yyvsp[(1) - (4)]).setText("array"); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)])); ;} @@ -10506,7 +10507,7 @@ yyreduce: case 706: /* Line 1455 of yacc.c */ -#line 2443 "hphp.y" +#line 2445 "hphp.y" { only_in_strict_mode(_p); _p->onTypeList((yyvsp[(3) - (6)]), (yyvsp[(5) - (6)])); (yyvsp[(1) - (6)]).setText("array"); @@ -10516,7 +10517,7 @@ yyreduce: case 707: /* Line 1455 of yacc.c */ -#line 2447 "hphp.y" +#line 2449 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(); Token t; t.reset(); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); @@ -10526,7 +10527,7 @@ yyreduce: case 708: /* Line 1455 of yacc.c */ -#line 2453 "hphp.y" +#line 2455 "hphp.y" { only_in_strict_mode(_p); _p->onTypeList((yyvsp[(7) - (8)]), (yyvsp[(4) - (8)])); _p->onTypeAnnotation((yyval), (yyvsp[(2) - (8)]), (yyvsp[(7) - (8)])); @@ -10536,7 +10537,7 @@ yyreduce: case 709: /* Line 1455 of yacc.c */ -#line 2457 "hphp.y" +#line 2459 "hphp.y" { only_in_strict_mode(_p); _p->onTypeList((yyvsp[(2) - (5)]), (yyvsp[(4) - (5)])); Token t; t.reset(); t.setText("array"); @@ -10547,21 +10548,21 @@ yyreduce: case 710: /* Line 1455 of yacc.c */ -#line 2465 "hphp.y" +#line 2467 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 711: /* Line 1455 of yacc.c */ -#line 2466 "hphp.y" +#line 2468 "hphp.y" { (yyval).reset(); ;} break; /* Line 1455 of yacc.c */ -#line 10565 "new_hphp.tab.cpp" +#line 10566 "new_hphp.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -10780,7 +10781,7 @@ yyreturn: /* Line 1675 of yacc.c */ -#line 2469 "hphp.y" +#line 2471 "hphp.y" bool Parser::parseImpl() { return yyparse(this) == 0; diff --git a/hphp/test/quick/typedef_typearg.php b/hphp/test/quick/typedef_typearg.php new file mode 100644 index 000000000..b77bdc004 --- /dev/null +++ b/hphp/test/quick/typedef_typearg.php @@ -0,0 +1,12 @@ + = string; + +interface Dummy {} + +function main(Foo $x) { + echo "Hi\n"; +} + +main('42'); +main(42); diff --git a/hphp/test/quick/typedef_typearg.php.expectf b/hphp/test/quick/typedef_typearg.php.expectf new file mode 100644 index 000000000..fcb6181f0 --- /dev/null +++ b/hphp/test/quick/typedef_typearg.php.expectf @@ -0,0 +1,2 @@ +Hi +HipHop Fatal error: Argument 1 passed to main() must be an instance of Foo, int given in %s on line 9 diff --git a/hphp/test/quick/typedef_typearg.php.hphp_opts b/hphp/test/quick/typedef_typearg.php.hphp_opts new file mode 120000 index 000000000..b194e26af --- /dev/null +++ b/hphp/test/quick/typedef_typearg.php.hphp_opts @@ -0,0 +1 @@ +hphp_opts.hip_hop_syntax \ No newline at end of file diff --git a/hphp/util/parser/hphp.y b/hphp/util/parser/hphp.y index 70cf480f5..4a6f68201 100644 --- a/hphp/util/parser/hphp.y +++ b/hphp/util/parser/hphp.y @@ -2338,8 +2338,10 @@ class_constant: */ sm_typedef_statement: - T_TYPE ident '=' sm_type ';' { only_in_strict_mode(_p); - _p->onTypedef($$, $2, $4); } + T_TYPE sm_name_with_typevar + '=' sm_type ';' { only_in_strict_mode(_p); + _p->onTypedef($$, $2, $4); + _p->popTypeScope(); } ; sm_name_with_type: /* foo -> int foo */