From 39913bd6d1005920feb1e0d392788dca8d62bfc7 Mon Sep 17 00:00:00 2001 From: z7zmey Date: Mon, 29 Jan 2018 21:12:12 +0200 Subject: [PATCH] php5 syntax --- node/expr/variable.go | 5 + php5/parser.go | 6 + php5/php5.go | 4132 ++++++++++++++++++++++------------------- php5/php5.y | 147 +- 4 files changed, 2293 insertions(+), 1997 deletions(-) diff --git a/node/expr/variable.go b/node/expr/variable.go index 3fdcc4a..a440c7a 100644 --- a/node/expr/variable.go +++ b/node/expr/variable.go @@ -22,6 +22,11 @@ func (n *Variable) Attributes() map[string]interface{} { return nil } +// SetVarName reset var name +func (n *Variable) SetVarName(VarName node.Node) { + n.VarName = VarName +} + // Walk traverses nodes // Walk is invoked recursively until v.EnterNode returns true func (n *Variable) Walk(v walker.Visitor) { diff --git a/php5/parser.go b/php5/parser.go index ecfeac5..bd7323e 100644 --- a/php5/parser.go +++ b/php5/parser.go @@ -1,6 +1,7 @@ package php5 import ( + "github.com/z7zmey/php-parser/node/expr" "io" "github.com/z7zmey/php-parser/comment" @@ -49,4 +50,9 @@ type nodesWithEndToken struct { type boolWithToken struct { value bool token *token.Token +} + +type simpleIndirectReference struct { + all []*expr.Variable + last *expr.Variable } \ No newline at end of file diff --git a/php5/php5.go b/php5/php5.go index 56896c9..9faa013 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -5,6 +5,7 @@ import __yyfmt__ "fmt" //line php5/php5.y:2 import ( + // "fmt" // "strings" // "strconv" @@ -20,7 +21,7 @@ import ( // "github.com/z7zmey/php-parser/node/expr/cast" ) -//line php5/php5.y:21 +//line php5/php5.y:22 type yySymType struct { yys int node node.Node @@ -29,6 +30,7 @@ type yySymType struct { list []node.Node // foreachVariable foreachVariable // nodesWithEndToken *nodesWithEndToken + simpleIndirectReference simpleIndirectReference // str string } @@ -344,7 +346,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:1560 +//line php5/php5.y:1605 //line yacctab:1 var yyExca = [...]int{ @@ -352,517 +354,727 @@ var yyExca = [...]int{ 1, -1, -2, 0, -1, 50, - 104, 495, - 105, 495, - -2, 493, - -1, 99, - 125, 517, - -2, 521, + 104, 489, + 105, 489, + -2, 487, -1, 101, - 78, 390, - 123, 373, - -2, 471, + 78, 384, + 123, 367, + -2, 465, -1, 113, - 78, 515, - 123, 511, - -2, 522, - -1, 153, - 104, 495, - 105, 495, - -2, 493, - -1, 203, - 121, 356, - 124, 356, - -2, 490, - -1, 204, - 104, 495, - 105, 495, - 121, 357, - 124, 357, - -2, 493, - -1, 227, - 123, 373, - -2, 390, - -1, 270, - 78, 515, - -2, 522, - -1, 296, - 78, 392, - 123, 377, - -2, 473, - -1, 300, - 123, 512, - -2, 523, - -1, 309, - 78, 391, - 123, 375, - -2, 472, - -1, 366, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 317, - -1, 367, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 318, - -1, 368, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 319, - -1, 369, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 320, - -1, 370, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 321, - -1, 371, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 322, - -1, 372, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 323, - -1, 373, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 324, - -1, 380, - 104, 495, - 105, 495, - -2, 493, - -1, 411, - 123, 377, - -2, 392, - -1, 441, - 104, 495, - 105, 495, - 124, 582, - 135, 582, - -2, 493, - -1, 442, - 124, 583, - 135, 583, - -2, 490, - -1, 443, - 104, 495, - 105, 495, - -2, 493, - -1, 465, - 123, 381, + 78, 507, + 123, 503, -2, 513, - -1, 466, - 123, 537, - -2, 584, - -1, 474, - 123, 385, + -1, 153, + 104, 489, + 105, 489, + -2, 487, + -1, 203, + 121, 350, + 124, 350, + -2, 484, + -1, 204, + 104, 489, + 105, 489, + 121, 351, + 124, 351, + -2, 487, + -1, 227, + 123, 367, + -2, 384, + -1, 270, + 78, 507, + -2, 513, + -1, 296, + 78, 386, + 123, 371, + -2, 467, + -1, 300, + 123, 504, -2, 514, - -1, 475, - 123, 537, - -2, 585, - -1, 498, - 78, 390, - -2, 429, - -1, 543, - 124, 174, - -2, 179, - -1, 551, - 121, 358, - 124, 358, - -2, 490, - -1, 552, - 104, 495, - 105, 495, - 121, 359, - 124, 359, - -2, 493, - -1, 558, + -1, 309, + 78, 385, + 123, 369, + -2, 466, + -1, 371, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 311, + -1, 372, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 312, + -1, 373, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 313, + -1, 374, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 314, + -1, 375, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 315, + -1, 376, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 316, + -1, 377, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 317, + -1, 378, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 318, + -1, 385, + 104, 489, + 105, 489, + -2, 487, + -1, 416, + 123, 371, + -2, 386, + -1, 436, + 123, 498, + -2, 502, + -1, 453, + 104, 489, + 105, 489, + 124, 573, + 135, 573, + -2, 487, + -1, 454, + 124, 574, + 135, 574, + -2, 484, + -1, 455, + 104, 489, + 105, 489, + -2, 487, + -1, 477, 123, 375, - -2, 391, - -1, 560, - 57, 266, - 125, 266, - -2, 265, - -1, 596, - 124, 188, - 135, 188, - -2, 490, - -1, 597, - 104, 495, - 105, 495, - 124, 189, - 135, 189, - -2, 493, - -1, 648, - 78, 392, - -2, 431, - -1, 674, - 124, 174, - -2, 179, - -1, 685, - 124, 174, - -2, 179, - -1, 711, - 123, 506, - -2, 510, - -1, 750, + -2, 505, + -1, 478, + 123, 528, + -2, 575, + -1, 483, + 123, 379, + -2, 506, + -1, 484, + 123, 528, + -2, 576, + -1, 507, + 78, 384, + -2, 423, + -1, 553, + 124, 168, + -2, 173, + -1, 561, + 121, 352, + 124, 352, + -2, 484, + -1, 562, + 104, 489, + 105, 489, + 121, 353, + 124, 353, + -2, 487, + -1, 568, + 123, 369, + -2, 385, + -1, 569, + 57, 260, + 125, 260, + -2, 259, + -1, 609, + 124, 182, + 135, 182, + -2, 484, + -1, 610, + 104, 489, + 105, 489, + 124, 183, + 135, 183, + -2, 487, + -1, 659, + 78, 386, + -2, 425, + -1, 686, + 124, 168, + -2, 173, + -1, 701, + 124, 168, + -2, 173, + -1, 768, 153, 0, 154, 0, 155, 0, 156, 0, + -2, 451, + -1, 769, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 452, + -1, 770, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 453, + -1, 771, + 153, 0, + 154, 0, + 155, 0, + 156, 0, + -2, 454, + -1, 772, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 455, + -1, 773, + 157, 0, + 158, 0, + 159, 0, + 160, 0, + -2, 456, + -1, 774, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 457, - -1, 751, - 153, 0, - 154, 0, - 155, 0, - 156, 0, + -1, 775, + 157, 0, + 158, 0, + 159, 0, + 160, 0, -2, 458, - -1, 752, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 459, - -1, 753, - 153, 0, - 154, 0, - 155, 0, - 156, 0, - -2, 460, - -1, 754, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 461, - -1, 755, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 462, - -1, 756, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 463, - -1, 757, - 157, 0, - 158, 0, - 159, 0, - 160, 0, - -2, 464, - -1, 760, - 78, 391, - -2, 430, - -1, 809, - 57, 261, - -2, 263, - -1, 871, - 37, 235, - -2, 232, - -1, 937, - 123, 506, - -2, 510, - -1, 1013, - 29, 223, + -1, 778, + 78, 385, + -2, 424, + -1, 829, + 57, 255, + -2, 257, + -1, 889, + 37, 229, + -2, 226, + -1, 951, + 123, 498, + -2, 502, + -1, 1017, + 29, 217, -2, 4, - -1, 1042, - 124, 174, - -2, 179, - -1, 1046, - 121, 227, - -2, 229, + -1, 1043, + 124, 168, + -2, 173, + -1, 1047, + 121, 221, + -2, 223, } const yyPrivate = 57344 -const yyLast = 6418 +const yyLast = 8380 var yyAct = [...]int{ - 101, 136, 1070, 494, 686, 692, 1007, 875, 985, 122, - 130, 812, 816, 406, 568, 113, 199, 60, 810, 859, - 784, 329, 803, 841, 146, 114, 572, 38, 688, 849, - 4, 117, 43, 595, 440, 137, 698, 668, 407, 142, - 453, 650, 97, 263, 378, 419, 317, 313, 571, 157, - 129, 2, 161, 257, 288, 227, 227, 152, 25, 178, - 620, 456, 620, 42, 622, 621, 972, 559, 971, 120, - 1041, 200, 1001, 998, 203, 168, 170, 169, 191, 191, - 266, 466, 970, 120, 475, 1000, 120, 999, 1053, 250, - 968, 963, 927, 855, 620, 270, 630, 631, 632, 623, - 625, 626, 624, 296, 624, 271, 928, 191, 994, 843, - 842, 701, 573, 683, 673, 192, 172, 176, 175, 995, - 988, 240, 269, 467, 976, 309, 493, 191, 314, 318, - 300, 556, 321, 623, 625, 626, 624, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 178, 327, 884, 720, - 227, 346, 681, 334, 323, 804, 176, 175, 798, 556, - 721, 328, 161, 682, 578, 308, 468, 555, 345, 633, - 634, 177, 179, 180, 178, 579, 764, 519, 556, 454, - 468, 119, 266, 468, 227, 120, 487, 240, 181, 182, - 174, 177, 179, 180, 178, 119, 1020, 270, 119, 120, - 488, 961, 975, 973, 535, 936, 620, 271, 646, 628, - 622, 621, 227, 340, 620, 536, 158, 381, 622, 621, - 411, 895, 814, 762, 269, 374, 719, 813, 605, 590, - 637, 636, 627, 629, 640, 641, 638, 639, 642, 644, - 643, 645, 630, 631, 632, 623, 625, 626, 624, 580, - 584, 227, 632, 623, 625, 626, 624, 583, 562, 435, - 483, 208, 209, 210, 211, 213, 214, 215, 216, 217, - 218, 219, 220, 212, 484, 561, 347, 437, 343, 338, - 310, 125, 227, 120, 980, 1077, 452, 132, 893, 421, - 348, 191, 344, 339, 311, 811, 442, 444, 240, 423, - 424, 133, 130, 469, 427, 892, 486, 301, 469, 125, - 490, 120, 1021, 470, 498, 885, 446, 962, 470, 465, - 566, 119, 450, 38, 474, 424, 423, 423, 458, 424, - 176, 175, 451, 299, 471, 459, 464, 498, 159, 298, - 527, 473, 713, 292, 286, 280, 514, 191, 712, 479, - 228, 253, 482, 229, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 232, - 252, 1073, 426, 1057, 1039, 541, 982, 915, 228, 523, - 546, 229, 912, 858, 227, 545, 176, 175, 847, 830, - 554, 797, 722, 585, 581, 947, 416, 232, 461, 414, - 305, 558, 1042, 138, 923, 119, 476, 462, 125, 125, - 120, 120, 857, 852, 551, 843, 842, 376, 469, 469, - 174, 177, 179, 180, 178, 575, 685, 674, 470, 470, - 649, 557, 543, 119, 465, 474, 382, 469, 287, 469, - 125, 125, 120, 120, 469, 521, 337, 470, 522, 470, - 277, 464, 473, 570, 470, 574, 274, 787, 409, 273, - 577, 208, 209, 210, 211, 213, 214, 215, 216, 217, - 218, 219, 220, 212, 249, 314, 604, 228, 228, 318, - 229, 229, 294, 221, 498, 596, 194, 619, 193, 141, - 121, 648, 326, 498, 38, 591, 232, 232, 134, 1059, - 498, 498, 498, 498, 498, 1049, 103, 661, 1029, 228, - 267, 594, 229, 268, 1063, 1028, 1062, 979, 955, 307, - 1079, 306, 612, 910, 906, 615, 786, 227, 232, 232, - 845, 839, 119, 119, 546, 838, 677, 663, 671, 696, - 669, 546, 518, 478, 385, 266, 699, 227, 336, 341, - 670, 863, 1056, 155, 776, 777, 776, 777, 1081, 1067, - 270, 230, 230, 990, 119, 119, 600, 1064, 620, 1038, - 271, 678, 622, 621, 125, 1026, 1016, 993, 227, 992, - 227, 714, 469, 890, 611, 702, 264, 269, 700, 227, - 258, 684, 470, 567, 324, 425, 951, 922, 570, 90, - 642, 644, 643, 645, 630, 631, 632, 623, 625, 626, - 624, 498, 498, 498, 498, 498, 498, 498, 498, 498, - 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, - 498, 498, 498, 498, 498, 498, 498, 498, 760, 717, - 498, 718, 844, 422, 775, 921, 124, 800, 697, 304, - 723, 383, 873, 945, 259, 260, 771, 125, 874, 223, - 224, 872, 904, 905, 498, 546, 230, 781, 294, 782, - 227, 227, 256, 772, 498, 125, 546, 793, 773, 617, - 796, 761, 763, 123, 614, 546, 802, 834, 835, 492, - 699, 788, 695, 489, 227, 447, 799, 778, 264, 780, - 230, 125, 790, 125, 725, 726, 647, 807, 125, 125, - 728, 729, 879, 880, 881, 878, 877, 876, 1013, 434, - 410, 801, 124, 116, 1032, 850, 547, 258, 230, 548, - 127, 128, 294, 485, 925, 320, 654, 294, 442, 438, - 823, 433, 294, 653, 596, 826, 294, 319, 820, 498, - 413, 690, 691, 412, 302, 498, 498, 879, 880, 881, - 878, 877, 876, 873, 281, 285, 297, 230, 258, 874, - 547, 448, 872, 548, 61, 131, 813, 227, 231, 231, - 315, 131, 207, 854, 942, 436, 294, 547, 294, 546, - 548, 259, 260, 262, 694, 546, 53, 550, 230, 258, - 882, 284, 258, 272, 425, 389, 766, 425, 853, 258, - 206, 1030, 887, 864, 283, 860, 227, 861, 889, 469, - 498, 919, 883, 879, 880, 881, 878, 877, 876, 470, - 508, 448, 259, 260, 258, 570, 1071, 238, 258, 282, - 795, 227, 901, 255, 44, 865, 498, 888, 767, 917, - 162, 225, 233, 508, 908, 1037, 902, 911, 846, 776, - 777, 913, 449, 259, 260, 546, 259, 260, 1031, 930, - 933, 538, 284, 259, 260, 44, 916, 898, 779, 776, - 777, 1055, 837, 231, 517, 929, 707, 1076, 709, 708, - 1040, 498, 1022, 938, 1019, 935, 996, 965, 259, 260, - 230, 950, 259, 260, 924, 227, 525, 1054, 1047, 1002, - 966, 546, 946, 958, 959, 272, 957, 231, 953, 948, - 931, 934, 894, 496, 125, 792, 731, 730, 939, 940, - 618, 616, 613, 564, 715, 540, 967, 887, 491, 981, - 974, 983, 460, 984, 386, 231, 496, 977, 469, 322, - 202, 201, 198, 989, 498, 135, 439, 997, 470, 498, - 706, 546, 1003, 546, 570, 978, 1004, 563, 1012, 289, - 703, 569, 293, 986, 98, 986, 115, 819, 817, 1017, - 818, 937, 1018, 891, 231, 711, 431, 78, 651, 89, - 100, 498, 498, 505, 1023, 1024, 497, 546, 941, 897, - 508, 822, 1012, 1027, 576, 265, 1033, 303, 608, 508, - 607, 168, 170, 169, 191, 231, 508, 508, 508, 508, - 508, 546, 602, 601, 463, 481, 1044, 295, 1048, 1046, - 99, 960, 498, 546, 88, 1051, 1035, 1052, 526, 387, - 254, 75, 74, 230, 546, 73, 251, 248, 1060, 1058, - 815, 192, 172, 176, 175, 1065, 63, 534, 783, 375, - 560, 264, 1072, 230, 546, 352, 351, 350, 349, 1074, - 805, 1080, 432, 166, 167, 171, 173, 185, 186, 183, - 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 705, 496, 230, 704, 230, 886, 808, 809, - 667, 330, 496, 871, 1045, 230, 1011, 1043, 1010, 496, - 496, 496, 496, 496, 1009, 1008, 1006, 231, 1005, 969, - 932, 1061, 1025, 870, 869, 868, 964, 508, 508, 508, - 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, - 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, - 508, 508, 508, 508, 926, 867, 508, 866, 593, 689, - 687, 1014, 944, 909, 949, 495, 914, 620, 549, 646, - 628, 622, 621, 390, 40, 693, 544, 388, 39, 542, - 508, 862, 14, 13, 1078, 1075, 230, 230, 1069, 956, - 508, 637, 636, 627, 629, 640, 641, 638, 639, 642, - 644, 643, 645, 630, 631, 632, 623, 625, 626, 624, - 230, 1068, 1066, 1050, 991, 920, 918, 856, 794, 196, - 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, - 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, - 496, 496, 496, 496, 496, 496, 496, 789, 539, 496, - 195, 954, 680, 952, 679, 377, 163, 160, 156, 520, - 231, 332, 1034, 1015, 907, 508, 666, 665, 140, 662, - 516, 508, 508, 496, 139, 903, 836, 770, 272, 515, - 231, 833, 769, 496, 660, 325, 11, 10, 6, 5, - 1, 316, 312, 230, 126, 118, 503, 3, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, - 0, 231, 0, 231, 170, 169, 191, 0, 0, 0, - 0, 0, 231, 0, 0, 0, 0, 0, 0, 153, - 0, 0, 230, 0, 0, 0, 508, 0, 0, 900, - 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, - 0, 0, 0, 192, 172, 176, 175, 230, 496, 226, - 226, 0, 508, 0, 496, 496, 0, 0, 635, 633, - 634, 0, 0, 0, 0, 166, 167, 171, 173, 185, - 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 231, 231, 0, 620, 508, 646, 628, - 622, 621, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 230, 0, 0, 0, 0, 0, 231, 0, 496, - 637, 636, 627, 629, 640, 641, 638, 639, 642, 644, - 643, 645, 630, 631, 632, 623, 625, 626, 624, 620, - 0, 0, 628, 622, 621, 496, 0, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, - 508, 0, 30, 0, 0, 508, 629, 640, 641, 638, - 639, 642, 644, 643, 645, 630, 631, 632, 623, 625, - 626, 624, 0, 0, 0, 144, 150, 154, 379, 380, - 496, 164, 0, 0, 0, 0, 0, 508, 508, 197, - 231, 0, 0, 191, 205, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 222, 408, 0, 0, 234, - 235, 236, 237, 0, 0, 239, 0, 241, 242, 243, - 244, 245, 246, 247, 0, 0, 0, 0, 508, 231, - 261, 0, 176, 175, 0, 275, 276, 0, 278, 279, - 0, 0, 0, 496, 0, 430, 0, 0, 496, 290, - 0, 0, 0, 0, 231, 0, 0, 0, 441, 443, - 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 0, 537, 0, 620, 0, 457, 628, 622, 621, - 496, 496, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 239, 0, 0, 331, 0, 0, 0, 637, 636, - 627, 629, 640, 641, 638, 639, 642, 644, 643, 645, - 630, 631, 632, 623, 625, 626, 624, 0, 231, 0, - 0, 496, 0, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 0, 0, 0, 154, 652, 0, - 0, 0, 0, 0, 0, 655, 656, 657, 658, 659, - 0, 392, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 0, 0, 552, 0, 553, 208, + 101, 893, 1068, 702, 113, 136, 1011, 114, 436, 122, + 130, 577, 830, 326, 503, 832, 4, 926, 334, 877, + 860, 411, 146, 117, 585, 38, 708, 199, 704, 691, + 608, 823, 452, 714, 803, 680, 60, 661, 465, 412, + 97, 383, 263, 317, 313, 328, 424, 129, 6, 25, + 161, 157, 439, 2, 137, 227, 227, 178, 142, 468, + 43, 327, 191, 288, 5, 631, 1042, 982, 631, 981, + 1005, 42, 1004, 978, 973, 1002, 478, 442, 120, 120, + 266, 257, 998, 980, 270, 152, 964, 271, 586, 1003, + 1053, 191, 873, 999, 824, 631, 717, 566, 818, 633, + 632, 941, 203, 296, 634, 636, 637, 635, 250, 631, + 635, 902, 240, 633, 632, 942, 739, 698, 479, 300, + 269, 685, 566, 200, 502, 309, 496, 740, 314, 318, + 176, 175, 321, 643, 634, 636, 637, 635, 351, 178, + 497, 646, 644, 645, 323, 641, 642, 643, 634, 636, + 637, 635, 191, 484, 333, 120, 782, 492, 696, 38, + 227, 591, 181, 182, 174, 177, 179, 180, 178, 697, + 161, 493, 592, 352, 339, 120, 332, 308, 529, 631, + 846, 657, 639, 633, 632, 443, 443, 353, 240, 350, + 466, 125, 266, 120, 227, 120, 270, 158, 191, 271, + 119, 119, 388, 648, 647, 638, 640, 651, 652, 649, + 650, 653, 655, 654, 656, 641, 642, 643, 634, 636, + 637, 635, 227, 983, 342, 565, 177, 179, 180, 178, + 416, 345, 269, 1023, 379, 950, 566, 176, 175, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, - 220, 212, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 239, 0, 418, 420, 420, 0, 0, 0, - 0, 0, 428, 208, 209, 210, 211, 213, 214, 215, - 216, 217, 218, 219, 220, 212, 154, 154, 0, 0, - 445, 0, 0, 420, 0, 0, 0, 0, 0, 420, - 290, 0, 0, 0, 0, 420, 0, 597, 0, 0, - 0, 420, 472, 0, 0, 0, 0, 477, 0, 0, - 0, 0, 0, 0, 0, 0, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 759, 0, 524, 652, 0, 0, 0, 0, - 0, 528, 529, 530, 531, 532, 0, 0, 0, 0, + 220, 212, 348, 545, 343, 386, 910, 833, 971, 903, + 228, 227, 443, 229, 546, 909, 349, 440, 344, 447, + 441, 174, 177, 179, 180, 178, 449, 119, 839, 232, + 310, 132, 834, 780, 299, 582, 438, 616, 604, 432, + 298, 581, 227, 603, 311, 133, 597, 119, 596, 240, + 426, 571, 440, 570, 464, 441, 1076, 440, 1059, 729, + 441, 728, 130, 575, 293, 119, 495, 301, 292, 159, + 499, 477, 4, 286, 507, 831, 483, 458, 280, 253, + 252, 38, 1057, 462, 454, 456, 1022, 428, 429, 470, + 471, 990, 876, 871, 524, 480, 868, 866, 849, 1024, + 476, 463, 507, 817, 6, 482, 1072, 431, 741, 491, + 671, 488, 598, 429, 428, 428, 537, 429, 631, 594, + 5, 421, 633, 632, 972, 419, 125, 305, 120, 1043, + 138, 937, 474, 815, 473, 862, 861, 427, 806, 701, + 686, 660, 485, 567, 553, 556, 533, 523, 387, 227, + 653, 655, 654, 656, 641, 642, 643, 634, 636, 637, + 635, 38, 191, 287, 531, 593, 568, 532, 1029, 277, + 274, 555, 440, 440, 294, 441, 441, 208, 209, 210, + 211, 213, 214, 215, 216, 217, 218, 219, 220, 212, + 273, 477, 483, 249, 221, 267, 583, 588, 268, 194, + 440, 176, 175, 441, 193, 440, 141, 561, 441, 121, + 1063, 307, 1062, 306, 232, 988, 958, 795, 796, 587, + 476, 482, 795, 796, 590, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 381, 331, 134, 1032, 314, 1031, 1021, 987, 318, 965, + 119, 924, 4, 507, 920, 125, 864, 120, 858, 857, + 659, 38, 507, 787, 689, 683, 681, 630, 528, 507, + 507, 507, 507, 507, 607, 487, 390, 341, 155, 103, + 908, 673, 576, 1078, 6, 609, 1050, 962, 623, 936, + 675, 626, 125, 935, 120, 933, 820, 227, 227, 227, + 5, 713, 304, 196, 556, 863, 223, 224, 258, 712, + 794, 556, 956, 430, 613, 266, 881, 227, 682, 270, + 918, 919, 271, 628, 228, 853, 854, 229, 695, 622, + 294, 256, 711, 658, 230, 230, 564, 715, 690, 446, + 415, 414, 124, 232, 440, 125, 1017, 441, 734, 1035, + 125, 227, 665, 227, 125, 269, 718, 716, 125, 264, + 460, 228, 227, 438, 229, 897, 898, 899, 896, 895, + 894, 125, 259, 260, 90, 625, 294, 450, 731, 119, + 232, 501, 507, 507, 507, 507, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 507, 507, 507, 507, 778, + 737, 507, 738, 459, 557, 557, 119, 558, 558, 730, + 445, 742, 124, 281, 285, 418, 319, 664, 294, 498, + 315, 417, 790, 302, 294, 258, 507, 556, 297, 230, + 801, 804, 494, 131, 227, 320, 38, 792, 779, 507, + 800, 781, 556, 744, 745, 816, 833, 746, 747, 123, + 809, 556, 822, 812, 791, 953, 258, 797, 448, 799, + 227, 264, 125, 230, 631, 61, 262, 639, 633, 632, + 807, 710, 294, 819, 125, 284, 120, 715, 125, 560, + 120, 827, 125, 836, 821, 294, 394, 784, 294, 259, + 260, 230, 651, 652, 649, 650, 653, 655, 654, 656, + 641, 642, 643, 634, 636, 637, 635, 207, 842, 127, + 128, 845, 706, 707, 53, 837, 838, 507, 504, 460, + 259, 260, 206, 507, 507, 1033, 878, 694, 238, 785, + 230, 557, 814, 1069, 558, 258, 454, 700, 162, 258, + 430, 609, 44, 228, 282, 227, 229, 228, 1034, 548, + 229, 527, 1075, 38, 131, 723, 872, 725, 724, 556, + 1041, 230, 232, 44, 1025, 556, 232, 1000, 995, 225, + 233, 975, 258, 938, 869, 1054, 535, 255, 440, 1048, + 1006, 441, 907, 346, 976, 227, 905, 879, 945, 507, + 901, 900, 882, 517, 125, 811, 693, 438, 119, 259, + 260, 891, 119, 259, 260, 749, 748, 892, 916, 629, + 890, 227, 258, 627, 507, 624, 556, 430, 906, 573, + 922, 517, 927, 550, 735, 927, 925, 500, 932, 930, + 915, 944, 929, 556, 472, 38, 259, 260, 865, 795, + 796, 391, 934, 322, 912, 798, 795, 796, 202, 201, + 198, 943, 135, 451, 722, 507, 572, 949, 289, 947, + 719, 897, 898, 899, 896, 895, 894, 437, 230, 961, + 115, 580, 578, 258, 963, 461, 259, 260, 283, 966, + 959, 968, 969, 939, 579, 951, 727, 662, 505, 89, + 948, 100, 514, 506, 952, 957, 911, 841, 440, 589, + 265, 441, 985, 984, 989, 905, 991, 303, 992, 986, + 619, 977, 618, 615, 507, 614, 505, 438, 475, 507, + 490, 556, 295, 556, 38, 970, 38, 88, 1001, 38, + 536, 38, 38, 1007, 392, 254, 284, 259, 260, 75, + 74, 73, 251, 248, 63, 507, 507, 1008, 544, 1016, + 802, 556, 38, 380, 38, 38, 569, 1030, 357, 1026, + 1027, 356, 355, 354, 1036, 825, 444, 721, 720, 904, + 828, 829, 517, 1038, 556, 679, 1047, 1016, 335, 889, + 1046, 517, 1015, 507, 556, 1049, 1044, 1052, 517, 517, + 517, 517, 517, 1014, 556, 1013, 1056, 1051, 1012, 38, + 1045, 1010, 1009, 979, 946, 1061, 1028, 888, 887, 1065, + 1071, 886, 38, 556, 974, 940, 230, 230, 230, 38, + 1058, 885, 631, 884, 1079, 639, 633, 632, 38, 606, + 705, 703, 1018, 955, 264, 923, 230, 960, 870, 1073, + 559, 395, 38, 40, 709, 554, 648, 647, 638, 640, + 651, 652, 649, 650, 653, 655, 654, 656, 641, 642, + 643, 634, 636, 637, 635, 393, 39, 505, 552, 880, + 230, 891, 230, 14, 13, 1077, 505, 892, 1074, 1067, + 890, 230, 874, 505, 505, 505, 505, 505, 208, 209, + 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, + 212, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, + 517, 517, 517, 517, 517, 517, 517, 517, 1066, 1064, + 517, 897, 898, 899, 896, 895, 894, 1040, 967, 875, + 813, 699, 808, 549, 195, 631, 382, 657, 639, 633, + 632, 163, 160, 883, 156, 517, 530, 337, 1037, 1019, + 921, 678, 677, 230, 140, 674, 526, 139, 517, 648, + 647, 638, 640, 651, 652, 649, 650, 653, 655, 654, + 656, 641, 642, 643, 634, 636, 637, 635, 917, 230, + 855, 789, 525, 852, 788, 672, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, + 505, 505, 505, 330, 10, 505, 1, 116, 914, 316, + 663, 312, 126, 11, 324, 99, 98, 666, 667, 668, + 669, 670, 78, 118, 512, 3, 517, 0, 0, 0, + 505, 0, 517, 517, 0, 0, 0, 646, 644, 645, + 50, 0, 0, 505, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 230, 0, 0, 0, 0, 0, + 0, 0, 231, 231, 0, 153, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 631, 0, 657, 639, 633, + 632, 0, 204, 0, 0, 0, 0, 272, 0, 0, + 0, 0, 0, 0, 230, 226, 226, 0, 517, 648, + 647, 638, 640, 651, 652, 649, 650, 653, 655, 654, + 656, 641, 642, 643, 634, 636, 637, 635, 0, 0, + 230, 505, 0, 517, 0, 0, 0, 505, 505, 0, + 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, + 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, + 770, 771, 772, 773, 774, 775, 777, 0, 0, 663, + 0, 0, 0, 0, 517, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 379, 168, 170, 169, 191, 0, 0, 533, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 505, 0, 0, 0, 0, 0, 272, + 347, 231, 0, 144, 150, 154, 0, 0, 0, 164, + 0, 0, 0, 0, 0, 0, 0, 197, 505, 0, + 0, 0, 205, 517, 0, 0, 0, 0, 517, 231, + 0, 0, 0, 222, 384, 385, 0, 234, 235, 236, + 237, 0, 0, 239, 0, 241, 242, 243, 244, 245, + 246, 247, 0, 0, 517, 517, 0, 0, 261, 505, + 0, 0, 413, 275, 276, 0, 278, 279, 231, 191, + 0, 0, 0, 0, 0, 847, 0, 290, 0, 0, + 0, 850, 851, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 517, 0, 0, 0, 0, 0, 0, 231, + 0, 435, 0, 0, 0, 0, 0, 547, 176, 175, + 0, 0, 0, 0, 453, 455, 0, 0, 505, 239, + 0, 0, 336, 505, 0, 0, 0, 0, 0, 0, + 0, 0, 469, 0, 0, 0, 187, 188, 189, 190, + 181, 182, 174, 177, 179, 180, 178, 913, 0, 505, + 505, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 377, 378, 0, 0, 0, 154, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 505, 0, 397, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 0, 0, 0, 0, 231, 0, 0, 0, + 0, 0, 0, 954, 208, 209, 210, 211, 213, 214, + 215, 216, 217, 218, 219, 220, 212, 0, 0, 0, + 239, 191, 423, 425, 425, 0, 0, 562, 0, 563, + 433, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 154, 154, 0, 0, 457, 0, + 0, 425, 0, 0, 0, 0, 0, 425, 290, 172, + 176, 175, 0, 425, 425, 0, 0, 0, 0, 425, + 481, 0, 0, 0, 0, 486, 0, 0, 0, 0, + 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 0, + 0, 0, 0, 0, 0, 610, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, + 0, 0, 0, 0, 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 408, 0, 0, 154, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 896, 0, 0, 0, 0, - 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, - 0, 0, 457, 0, 457, 0, 635, 633, 634, 0, - 0, 0, 0, 457, 166, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 0, 828, 0, 0, 586, 588, 0, - 831, 832, 420, 768, 620, 154, 646, 628, 622, 621, - 0, 603, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 637, 636, - 627, 629, 640, 641, 638, 639, 642, 644, 643, 645, - 630, 631, 632, 623, 625, 626, 624, 0, 0, 0, - 0, 635, 633, 634, 785, 785, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 899, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 676, 408, 0, - 0, 0, 0, 0, 0, 0, 829, 0, 0, 620, - 441, 646, 628, 622, 621, 0, 597, 0, 0, 0, - 0, 0, 0, 0, 0, 635, 633, 634, 0, 710, - 0, 0, 0, 637, 636, 627, 629, 640, 641, 638, - 639, 642, 644, 643, 645, 630, 631, 632, 623, 625, - 626, 624, 0, 0, 0, 0, 943, 0, 0, 0, - 0, 0, 724, 620, 827, 646, 628, 622, 621, 0, + 0, 0, 0, 0, 231, 231, 231, 0, 0, 0, + 0, 543, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 272, 0, 231, 0, 0, 154, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 692, 692, + 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 413, 231, 0, + 231, 0, 0, 0, 0, 0, 0, 0, 0, 231, + 0, 0, 0, 0, 584, 0, 0, 0, 862, 861, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 469, 0, 469, 646, 644, 645, 599, 601, 0, + 0, 0, 469, 0, 0, 154, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 0, 0, 0, 0, 848, + 0, 0, 631, 0, 657, 639, 633, 632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 851, 0, 0, 0, 0, 0, 637, 636, 627, - 629, 640, 641, 638, 639, 642, 644, 643, 645, 630, - 631, 632, 623, 625, 626, 624, 0, 0, 0, 0, + 0, 231, 0, 0, 0, 0, 648, 647, 638, 640, + 651, 652, 649, 650, 653, 655, 654, 656, 641, 642, + 643, 634, 636, 637, 635, 688, 0, 231, 0, 0, + 0, 0, 0, 0, 805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 457, 0, 0, 0, 0, 168, 170, 169, 191, 331, - 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 785, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 727, 0, - 0, 0, 0, 0, 806, 192, 172, 176, 175, 0, - 0, 0, 0, 0, 0, 420, 821, 0, 154, 824, - 0, 0, 0, 0, 154, 0, 0, 166, 167, 171, - 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 0, 0, 408, - 0, 0, 0, 0, 0, 0, 0, 82, 83, 71, + 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, + 413, 0, 425, 732, 168, 170, 169, 191, 0, 0, + 0, 0, 0, 0, 0, 0, 453, 0, 0, 0, + 0, 610, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 743, 0, 0, 0, 840, 0, 0, + 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 692, 0, 0, 0, 0, + 0, 0, 231, 0, 0, 0, 0, 0, 0, 336, + 793, 168, 170, 169, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, + 0, 0, 0, 0, 0, 469, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 826, 0, + 835, 192, 172, 176, 175, 0, 0, 0, 0, 425, + 425, 413, 0, 0, 0, 631, 154, 843, 639, 633, + 632, 154, 191, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 640, 651, 652, 649, 650, 653, 655, 654, + 656, 641, 642, 643, 634, 636, 637, 635, 0, 0, + 172, 176, 175, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 859, 0, 0, 0, + 0, 0, 0, 867, 173, 185, 186, 183, 184, 187, + 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 425, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 15, 24, 35, 0, 0, 36, + 9, 0, 26, 0, 31, 80, 81, 7, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 8, 112, 108, 102, 0, + 84, 85, 86, 0, 425, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, + 54, 55, 336, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 621, 34, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 15, 24, 35, 0, 0, + 36, 9, 0, 26, 0, 31, 80, 81, 7, 45, + 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 8, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 16, 489, 34, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 15, 24, 35, 0, + 0, 36, 9, 0, 26, 0, 31, 80, 81, 7, + 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 8, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 1080, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 1070, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 1060, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 1055, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 0, 94, 28, 19, 18, 0, 20, 0, 32, 840, - 33, 0, 0, 21, 0, 0, 848, 22, 23, 37, - 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, - 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, - 0, 0, 51, 95, 420, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 610, 34, 0, 62, 0, 96, 0, - 0, 0, 57, 56, 58, 59, 72, 119, 420, 0, - 0, 0, 0, 0, 0, 420, 420, 82, 83, 71, - 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, - 331, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, - 44, 15, 24, 35, 0, 0, 36, 9, 0, 26, - 0, 31, 80, 81, 7, 45, 47, 49, 0, 0, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 8, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 16, 480, 34, 0, 62, 0, 96, 0, + 91, 76, 16, 1020, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, - 37, 44, 15, 24, 35, 0, 0, 36, 9, 0, - 26, 0, 31, 80, 81, 7, 45, 47, 49, 0, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 8, 112, 108, 102, 0, 84, 85, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, + 0, 91, 76, 16, 997, 34, 0, 62, 0, 96, + 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, + 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, + 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, + 32, 0, 33, 0, 0, 21, 0, 0, 0, 22, + 23, 37, 44, 0, 24, 35, 0, 0, 36, 0, + 0, 26, 0, 31, 80, 81, 329, 45, 47, 49, + 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, + 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 41, 27, 46, 48, 0, 0, 0, 54, + 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, + 0, 0, 91, 76, 16, 996, 34, 0, 62, 0, + 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, + 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, + 0, 32, 0, 33, 0, 0, 21, 0, 0, 0, + 22, 23, 37, 44, 0, 24, 35, 0, 0, 36, + 0, 0, 26, 0, 31, 80, 81, 329, 45, 47, + 49, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 41, 27, 46, 48, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 16, 994, 34, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, + 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, + 20, 0, 32, 993, 33, 0, 0, 21, 0, 0, + 0, 22, 23, 37, 44, 0, 24, 35, 0, 0, + 36, 0, 0, 26, 0, 31, 80, 81, 329, 45, + 47, 49, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 0, 0, 0, 77, 41, 27, 46, 48, 0, 0, + 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 16, 0, 34, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, + 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, + 0, 20, 0, 32, 0, 33, 931, 0, 21, 0, + 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, + 0, 36, 0, 0, 26, 0, 31, 80, 81, 329, + 45, 47, 49, 0, 0, 0, 0, 51, 95, 0, + 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, + 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, + 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, + 52, 0, 0, 0, 77, 41, 27, 46, 48, 0, + 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, + 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, + 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, + 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, + 18, 856, 20, 0, 32, 0, 33, 0, 0, 21, + 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, + 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, + 329, 45, 47, 49, 0, 0, 0, 0, 51, 95, + 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, + 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, + 79, 52, 0, 0, 0, 77, 41, 27, 46, 48, + 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, + 68, 69, 70, 0, 0, 0, 91, 76, 16, 0, + 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, + 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, + 19, 18, 0, 20, 0, 32, 0, 33, 0, 0, + 21, 0, 0, 0, 22, 23, 37, 44, 0, 24, + 35, 0, 0, 36, 0, 0, 26, 0, 31, 80, + 81, 329, 45, 47, 49, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 27, 46, + 48, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 16, + 551, 34, 0, 62, 0, 96, 0, 0, 0, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, + 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, + 28, 19, 18, 0, 20, 0, 32, 0, 33, 0, + 0, 21, 0, 0, 0, 22, 23, 37, 44, 0, + 24, 35, 0, 0, 36, 0, 0, 26, 0, 31, + 80, 81, 329, 45, 47, 49, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, + 46, 48, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 16, 325, 34, 0, 62, 0, 96, 0, 0, 0, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, + 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, + 94, 28, 19, 18, 0, 20, 0, 32, 0, 33, + 0, 0, 21, 0, 0, 0, 22, 23, 37, 44, + 0, 24, 35, 0, 0, 36, 0, 0, 26, 0, + 31, 80, 81, 329, 45, 47, 49, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, + 27, 46, 48, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, + 0, 94, 28, 19, 18, 0, 20, 0, 32, 0, + 33, 0, 0, 21, 0, 0, 0, 22, 23, 37, + 44, 0, 24, 35, 0, 0, 36, 0, 0, 26, + 0, 31, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 16, 0, 34, 1039, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, + 0, 0, 94, 28, 19, 18, 0, 20, 0, 32, + 0, 33, 0, 0, 21, 0, 0, 0, 22, 23, + 37, 44, 0, 24, 35, 0, 0, 36, 0, 0, + 26, 0, 31, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, + 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, + 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, + 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, + 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, + 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, + 0, 91, 76, 16, 0, 34, 928, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, 0, @@ -875,7 +1087,7 @@ var yyAct = [...]int{ 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 16, 0, 34, 1036, 62, 0, + 0, 0, 91, 76, 16, 0, 34, 810, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, 20, @@ -888,7 +1100,7 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 16, 0, 34, 987, 62, + 0, 0, 0, 91, 76, 16, 0, 34, 676, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, 0, @@ -899,71 +1111,54 @@ var yyAct = [...]int{ 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, - 0, 0, 0, 77, 41, 27, 0, 0, 0, 0, + 0, 0, 0, 77, 41, 27, 646, 644, 645, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 16, 0, 34, 791, + 70, 783, 0, 0, 91, 76, 16, 0, 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, - 72, 119, 82, 83, 71, 17, 104, 105, 12, 87, - 120, 0, 29, 0, 0, 0, 94, 28, 19, 18, - 0, 20, 0, 32, 0, 33, 0, 0, 21, 0, - 0, 0, 22, 23, 37, 44, 0, 24, 35, 0, - 0, 36, 0, 0, 26, 0, 31, 80, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, - 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, - 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, - 52, 0, 0, 0, 77, 41, 27, 0, 0, 0, - 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 16, 0, 34, - 664, 62, 0, 96, 0, 0, 0, 57, 56, 58, - 59, 72, 119, 82, 83, 71, 17, 104, 105, 12, - 87, 120, 0, 29, 0, 0, 0, 94, 28, 19, - 18, 0, 20, 0, 32, 0, 33, 0, 0, 21, - 0, 0, 0, 22, 23, 37, 44, 0, 24, 35, - 0, 0, 36, 0, 0, 26, 0, 31, 80, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, - 0, 93, 109, 110, 111, 106, 107, 0, 0, 765, - 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, - 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, - 79, 52, 0, 0, 0, 77, 41, 27, 635, 633, - 634, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 716, 0, 0, 91, 76, 16, 0, - 34, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 0, 0, 620, 0, 646, 628, - 622, 621, 168, 170, 169, 191, 0, 0, 0, 0, + 72, 119, 0, 786, 631, 0, 657, 639, 633, 632, + 646, 644, 645, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 736, 0, 0, 648, 647, + 638, 640, 651, 652, 649, 650, 653, 655, 654, 656, + 641, 642, 643, 634, 636, 637, 635, 0, 631, 0, + 657, 639, 633, 632, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 637, 636, 627, 629, 640, 641, 638, 639, 642, 644, - 643, 645, 630, 631, 632, 623, 625, 626, 624, 0, + 0, 0, 648, 647, 638, 640, 651, 652, 649, 650, + 653, 655, 654, 656, 641, 642, 643, 634, 636, 637, + 635, 0, 0, 0, 192, 172, 176, 175, 0, 0, + 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, + 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, + 174, 177, 179, 180, 178, 733, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 675, 0, 0, 0, 0, 192, 172, + 179, 180, 178, 687, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, - 189, 190, 181, 182, 174, 177, 179, 180, 178, 672, + 189, 190, 181, 182, 174, 177, 179, 180, 178, 684, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 609, 0, 0, + 181, 182, 174, 177, 179, 180, 178, 620, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 606, 0, 0, 0, 0, + 174, 177, 179, 180, 178, 617, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 582, 0, 0, 192, 172, 176, 175, + 179, 180, 178, 595, 0, 0, 192, 172, 176, 175, 0, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 565, 0, 0, + 181, 182, 174, 177, 179, 180, 178, 574, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, - 0, 0, 0, 0, 0, 0, 455, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 168, 170, 169, 191, 0, @@ -972,9 +1167,9 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 391, 0, 0, 166, 167, 171, + 0, 0, 0, 0, 396, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 415, 0, 0, 192, + 182, 174, 177, 179, 180, 178, 420, 0, 0, 192, 172, 176, 175, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, @@ -983,168 +1178,92 @@ var yyAct = [...]int{ 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, - 177, 179, 180, 178, 384, 0, 0, 0, 0, 0, + 177, 179, 180, 178, 389, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, - 178, 335, 0, 0, 0, 0, 0, 192, 172, 176, + 178, 340, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, - 190, 181, 182, 174, 177, 179, 180, 178, 333, 0, + 190, 181, 182, 174, 177, 179, 180, 178, 338, 0, 0, 0, 0, 0, 192, 172, 176, 175, 0, 0, 0, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, 165, 0, 0, 0, 0, - 0, 192, 172, 176, 175, 635, 633, 634, 0, 0, + 0, 192, 172, 176, 175, 646, 644, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, - 180, 178, 0, 620, 0, 646, 628, 622, 621, 168, + 180, 178, 0, 631, 0, 657, 639, 633, 632, 168, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 637, 636, 627, - 629, 640, 641, 638, 639, 642, 644, 643, 645, 630, - 631, 632, 623, 625, 626, 624, 0, 0, 0, 192, - 172, 176, 175, 0, 634, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 648, 647, 638, + 640, 651, 652, 649, 650, 653, 655, 654, 656, 641, + 642, 643, 634, 636, 637, 635, 0, 0, 0, 192, + 172, 176, 175, 644, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 620, 0, 646, 628, 622, 621, 169, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 637, 636, 627, 629, 640, 641, - 638, 639, 642, 644, 643, 645, 630, 631, 632, 623, - 625, 626, 624, 0, 192, 172, 176, 175, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 192, 172, 176, 175, 191, + 631, 0, 657, 639, 633, 632, 170, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 648, 647, 638, 640, 651, 652, + 649, 650, 653, 655, 654, 656, 641, 642, 643, 634, + 636, 637, 635, 0, 0, 192, 172, 176, 175, 0, + 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, - 182, 174, 177, 179, 180, 178, 0, 172, 176, 175, + 182, 174, 177, 179, 180, 178, 631, 0, 657, 639, + 633, 632, 169, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 620, 0, 0, 628, 622, 621, 166, 167, - 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 636, 627, 629, - 640, 641, 638, 639, 642, 644, 643, 645, 630, 631, - 632, 623, 625, 626, 624, 191, 0, 0, 0, 0, + 648, 647, 638, 640, 651, 652, 649, 650, 653, 655, + 654, 656, 641, 642, 643, 634, 636, 637, 635, 0, + 192, 172, 176, 175, 191, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 167, 171, 173, 185, 186, 183, 184, + 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, + 178, 192, 172, 176, 175, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 631, 0, 0, + 639, 633, 632, 166, 167, 171, 173, 185, 186, 183, + 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, + 180, 178, 647, 638, 640, 651, 652, 649, 650, 653, + 655, 654, 656, 641, 642, 643, 634, 636, 637, 635, + 191, 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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 172, 176, 175, 0, 0, 0, 0, - 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, - 0, 0, 0, 0, 94, 167, 171, 173, 185, 186, - 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, - 179, 180, 178, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, - 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 148, 112, 108, 102, 599, - 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, - 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, - 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 620, 91, 76, 628, 622, 621, 0, 62, - 592, 96, 0, 0, 598, 57, 56, 58, 59, 72, - 119, 0, 0, 0, 0, 0, 0, 0, 627, 629, - 640, 641, 638, 639, 642, 644, 643, 645, 630, 631, - 632, 623, 625, 626, 624, 82, 83, 71, 0, 104, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 176, + 175, 0, 0, 0, 0, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, - 0, 0, 0, 0, 0, 92, 0, 191, 0, 0, - 148, 112, 108, 102, 599, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, - 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 172, 176, 175, 91, 76, - 0, 0, 0, 0, 62, 0, 96, 0, 0, 598, - 57, 56, 58, 59, 72, 119, 0, 0, 171, 173, - 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, - 174, 177, 179, 180, 178, 82, 83, 71, 0, 104, - 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 167, 171, 173, 185, 186, 183, 184, 187, 188, 189, + 190, 181, 182, 174, 177, 179, 180, 178, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, - 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, + 148, 112, 108, 102, 612, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, - 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, - 0, 0, 0, 620, 62, 0, 96, 622, 621, 825, - 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, - 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, - 94, 640, 641, 638, 639, 642, 644, 643, 645, 630, - 631, 632, 623, 625, 626, 624, 0, 0, 0, 44, + 66, 67, 68, 69, 70, 0, 0, 631, 91, 76, + 639, 633, 632, 0, 62, 605, 96, 0, 0, 611, + 57, 56, 58, 59, 72, 119, 0, 0, 0, 0, + 0, 0, 0, 638, 640, 651, 652, 649, 650, 653, + 655, 654, 656, 641, 642, 643, 634, 636, 637, 635, + 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, + 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, - 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, - 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, - 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, - 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, - 589, 57, 56, 58, 59, 72, 119, 82, 83, 71, - 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 191, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 172, 176, 175, - 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 587, 57, 56, 58, 59, 72, 119, 0, 0, - 0, 173, 185, 186, 183, 184, 187, 188, 189, 190, - 181, 182, 174, 177, 179, 180, 178, 82, 83, 71, - 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, - 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, - 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, - 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, - 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, - 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, - 0, 291, 57, 56, 58, 59, 72, 119, 82, 83, - 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, - 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, - 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, - 0, 0, 0, 148, 112, 108, 102, 0, 84, 85, - 86, 0, 191, 0, 0, 79, 52, 0, 0, 0, - 77, 41, 147, 0, 0, 0, 0, 0, 54, 55, - 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 0, 0, 62, 417, 96, - 172, 176, 175, 57, 56, 58, 59, 72, 119, 82, - 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, - 0, 0, 0, 94, 0, 185, 186, 183, 184, 187, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 191, 0, 0, 148, 112, 108, 102, 612, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 172, 176, 175, 91, 76, 0, 0, 0, 0, 62, + 0, 96, 0, 0, 611, 57, 56, 58, 59, 72, + 119, 0, 0, 171, 173, 185, 186, 183, 184, 187, 188, 189, 190, 181, 182, 174, 177, 179, 180, 178, - 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, - 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, - 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, - 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, - 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, - 96, 0, 0, 393, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1156,12 +1275,12 @@ var yyAct = [...]int{ 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, - 0, 0, 0, 91, 76, 0, 0, 151, 0, 62, - 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 0, 0, 0, 91, 76, 0, 0, 0, 631, 62, + 0, 96, 633, 632, 844, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, - 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 94, 651, 652, 649, 650, + 653, 655, 654, 656, 641, 642, 643, 634, 636, 637, + 635, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, @@ -1169,8 +1288,8 @@ var yyAct = [...]int{ 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, - 70, 0, 0, 0, 91, 76, 0, 0, 149, 0, - 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 0, 0, 602, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1182,8 +1301,8 @@ var yyAct = [...]int{ 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, - 69, 70, 0, 0, 0, 91, 76, 0, 0, 143, - 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, + 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, + 0, 62, 0, 96, 0, 0, 600, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1195,12 +1314,62 @@ var yyAct = [...]int{ 108, 102, 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, - 68, 69, 70, 0, 0, 620, 91, 76, 628, 622, - 621, 0, 62, 0, 96, 0, 0, 0, 57, 56, - 58, 59, 72, 119, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 640, 641, 638, 639, 642, 644, 643, - 645, 630, 631, 632, 623, 625, 626, 624, 82, 83, - 71, 0, 104, 105, 125, 429, 120, 0, 0, 0, + 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, + 0, 0, 62, 0, 96, 0, 0, 291, 57, 56, + 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, + 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, + 112, 108, 102, 0, 84, 85, 86, 0, 191, 0, + 0, 79, 52, 0, 0, 0, 77, 41, 147, 0, + 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, + 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, + 0, 0, 0, 62, 422, 96, 172, 176, 175, 57, + 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, + 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, + 0, 185, 186, 183, 184, 187, 188, 189, 190, 181, + 182, 174, 177, 179, 180, 178, 0, 0, 44, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + 148, 112, 108, 102, 0, 84, 85, 86, 0, 0, + 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, + 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, + 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, + 0, 0, 0, 0, 62, 0, 96, 0, 0, 398, + 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, + 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, + 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 148, 112, 108, 102, 0, 84, 85, 86, 0, + 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, + 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, + 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, + 76, 0, 0, 151, 0, 62, 0, 96, 0, 0, + 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, + 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, + 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, + 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 148, 112, 108, 102, 0, 84, 85, 86, + 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, + 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, + 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, + 91, 76, 0, 0, 149, 0, 62, 0, 96, 0, + 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, + 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1211,7 +1380,7 @@ var yyAct = [...]int{ 86, 0, 0, 0, 0, 79, 52, 0, 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, - 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, + 0, 91, 76, 0, 0, 143, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, @@ -1221,513 +1390,536 @@ var yyAct = [...]int{ 0, 0, 0, 0, 51, 95, 0, 93, 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, 84, - 85, 86, 0, 0, 0, 0, 79, 52, 104, 105, - 125, 77, 41, 147, 0, 0, 0, 0, 506, 54, + 85, 86, 0, 0, 0, 0, 79, 52, 0, 0, + 0, 77, 145, 147, 0, 0, 0, 0, 0, 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, 119, + 82, 83, 71, 0, 104, 105, 125, 434, 120, 0, + 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 501, 0, 504, 109, 110, 111, 106, 107, 0, 0, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 499, - 112, 108, 500, 104, 105, 125, 0, 0, 0, 0, - 0, 0, 0, 506, 0, 0, 0, 0, 232, 0, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 95, 0, 93, 109, + 110, 111, 106, 107, 0, 0, 0, 0, 0, 0, + 92, 0, 0, 0, 0, 148, 112, 108, 102, 0, + 84, 85, 86, 0, 0, 0, 0, 79, 52, 0, + 0, 0, 77, 145, 147, 0, 0, 0, 0, 0, + 54, 55, 0, 64, 65, 66, 67, 68, 69, 70, + 0, 0, 0, 91, 76, 0, 0, 0, 0, 62, + 0, 96, 0, 0, 0, 57, 56, 58, 59, 72, + 119, 82, 83, 71, 0, 104, 105, 125, 87, 120, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 95, 0, 93, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 148, 112, 108, 102, + 0, 84, 85, 86, 0, 0, 0, 0, 79, 52, + 104, 105, 125, 77, 41, 147, 0, 0, 0, 0, + 515, 54, 55, 0, 64, 65, 66, 67, 68, 69, + 70, 0, 0, 0, 91, 76, 0, 0, 0, 0, + 62, 0, 96, 0, 0, 0, 57, 56, 58, 59, + 72, 119, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 510, 0, 513, 109, 110, 111, 106, 107, + 0, 0, 0, 0, 0, 0, 516, 0, 0, 0, + 0, 508, 112, 108, 509, 104, 105, 125, 0, 0, + 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, + 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 776, 522, 0, 511, 0, 0, + 0, 521, 520, 518, 519, 0, 0, 510, 0, 513, + 109, 110, 111, 106, 107, 0, 0, 0, 0, 0, + 0, 516, 0, 0, 0, 0, 508, 112, 108, 509, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 232, 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, 758, 513, 0, 502, 0, 0, 0, 512, - 511, 509, 510, 0, 0, 501, 0, 504, 109, 110, - 111, 106, 107, 0, 0, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 499, 112, 108, 500, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 513, 0, - 502, 0, 0, 0, 512, 511, 509, 510, + 522, 0, 511, 0, 0, 0, 521, 520, 518, 519, } var yyPact = [...]int{ - -1000, -1000, 2504, -1000, -1000, -1000, -1000, 377, 574, 703, - 176, -1000, 386, -1000, -1000, 955, -1000, 290, -1000, -1000, - 376, 290, 5708, 5577, 5446, 442, 214, 848, 5839, -1000, - 3854, 375, 373, -1000, -1000, -1000, 5839, 952, -57, 951, - 950, 5839, -1000, -1000, -1000, -1000, 768, -1000, 740, -1000, - 1607, 370, 5839, 565, 281, 281, 5839, 5839, 5839, 5839, - -1000, -1000, 6125, -1000, 5839, 5839, 5839, 5839, 5839, 5839, - 5839, 361, -1000, -1000, 255, 236, 836, 5839, 746, 441, - 346, 343, 5839, 5839, 337, 5839, 5839, -1000, 230, -1000, - -1000, 832, 807, -1000, 229, 325, 5053, -1000, 228, -1000, - -1000, 596, 924, 698, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 224, 183, -1000, 686, -1000, -1000, 540, - -1000, 286, 410, -1000, 924, -1000, 169, 708, 675, -1000, - 716, 924, -1000, 949, -1000, 28, 484, 380, 6125, 290, - 3159, 5839, -1000, -1000, 3807, -1000, -57, 817, 650, -1000, - 3760, -1000, 437, 335, 3942, -1000, 168, -1000, -1000, 440, - 167, -57, 25, 165, 3942, -1000, -1000, -1000, -1000, -1000, - 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, - 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, - 5839, 441, 305, 281, 5839, 323, 542, 3713, 433, 944, - -1000, 760, -1000, -1000, 1607, 3666, -1000, -1000, 5315, 5839, - 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, 5839, - 5839, 409, -1000, -1000, -1000, -1000, -1000, 596, 648, 924, - 685, 682, -1000, -1000, -108, -108, -11, -108, 285, 3622, - 282, -108, -108, -108, -108, -108, -108, -108, -1000, 5184, - -1000, 5839, 5839, 5839, 535, 725, 800, -1000, 257, 5994, - 281, 4068, -1000, -1000, 673, -1000, 596, 647, 924, 738, - 224, 183, 671, 5839, 5839, 3942, 3942, 5839, 3942, 3942, - 5839, 588, 725, 766, -1000, 797, 5839, 5053, 170, 54, - 3578, 281, 5839, 220, 942, 294, 596, 71, 5839, 5839, - 224, 540, 74, 294, 5839, 432, -1000, -1000, 2373, 596, - -1000, 709, 149, -1000, 714, 924, 75, -1000, 674, 924, - 938, 670, -10, 6285, -1000, 3159, -1000, -1000, 873, 431, - 52, 3942, 336, -1000, -1000, -1000, -1000, -1000, -1000, 214, - -1000, 5839, -1000, -1000, 904, -1000, 6285, -1000, 5839, 5839, - 5839, 5839, 5839, 4027, 4889, 211, 5182, 17, 17, 17, - -11, -108, -11, -11, 267, 267, 1433, 1433, 1433, 1433, - 37, 37, 37, 37, -1000, 5839, -1000, 90, -1000, -1000, - 1573, 852, 935, -1000, -1000, -1000, -1000, 319, -1000, 657, - 752, 5839, 4068, 309, 4068, 4068, 4068, 4068, 4068, 4068, - 4068, 4068, 4068, 4068, 4068, 4068, 53, -1000, -1000, 318, - 924, 596, 57, 57, -1000, -1000, -1000, -1000, -108, 159, - 3942, 142, -1000, -1000, -1000, -1000, -1000, 933, 3497, 205, - 483, 57, 294, 197, 924, 596, -1000, 224, 197, 50, - -1000, 1607, -1000, 135, 280, 3449, 141, -1000, -1000, -1000, - 134, 279, -1000, -1000, 4903, 4772, -1000, -1000, 113, 5839, - -1000, -1000, 4336, 294, -1000, -1000, -1000, -1000, 5839, 224, - 183, 112, 3405, -1000, -1000, -1000, -1000, 3357, -1000, 2233, - -1000, 294, -1000, -1000, 708, 932, 665, -1000, 675, 931, - 660, -1000, 930, 6285, -1000, 3898, -1000, -1000, 596, 634, - 924, 317, 6285, -1000, -1000, -1000, -1000, 736, 668, 6285, - 6285, 6285, 6285, 6285, -1000, -1000, 3028, -1000, -1000, -1000, - -1000, 429, 427, -1000, 3309, -22, 314, -1000, 3942, 4205, - 4477, 1236, 4068, 3261, 5839, 425, 281, -1000, -1000, 38, - -23, 481, 313, 701, 748, -1000, 596, 620, 924, 539, - 657, -1000, 1607, -1000, 441, -25, 409, -1000, 596, -1000, - -1000, -1000, -1000, 886, -1000, -1000, 5839, -1000, -1000, 233, - -1000, -1000, -1000, -1000, -1000, 596, 57, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 3215, 281, 3942, 281, - -1000, 110, -1000, 35, 278, -1000, -1000, 1607, 281, 5839, - -1000, 294, 294, 2058, 224, -1000, -1000, 294, 294, -1000, - -1000, -1000, -1000, -1000, 927, -1000, -1000, 926, -1000, -1000, - 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, - 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, 6285, - 6285, 6285, 6285, 6285, 6285, 6285, 6210, 924, 596, 6285, - 107, 51, 3171, 706, 806, -63, -63, -31, -31, 1819, - -1000, -1000, -1000, -1000, -1000, 290, 5839, 5839, 534, -1000, - 857, -1000, -1000, 6285, 701, -1000, 4109, -1000, -1000, 408, - 408, 2897, 925, 6285, 809, 701, 277, 33, -1000, -57, - -1000, -1000, -1000, 538, 657, 924, 596, -1000, 30, -1000, - -1000, 5839, -1000, 409, -1000, 180, 106, -1000, -1000, -1000, - 934, -1000, 5839, 5839, -1000, 5839, 4641, -1000, -1000, -1000, - -1000, 4491, -1000, -1000, 3942, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1958, -31, -31, -63, -63, -63, -63, 1334, - 4638, 5830, 99, 99, -31, 3985, 1052, 91, 4327, 4127, - 453, 453, 453, 453, -65, -65, -65, -65, 6285, 1904, - 596, 275, -1000, -1000, 6285, 6285, -1000, -1000, -1000, 604, - -1000, 870, 424, 420, 3942, -1000, 5839, 304, 532, 419, - 837, -1000, 274, 5839, 677, -1000, 281, 300, 677, -1000, - -1000, -1000, -43, -1000, -1000, 299, 269, 781, 701, 478, - -1000, 30, 596, 735, 657, 294, 4068, 34, -1000, 200, - 729, 5839, -1000, 57, -1000, 473, -1000, 190, 173, 294, - 105, 1765, -1000, -1000, 3942, 281, -1000, -1000, 1479, 6285, - -1000, 1291, 3898, -1000, 290, 3159, 579, 413, -1000, -1000, - -12, -1000, -1000, -1000, -1000, -1000, 412, 781, 4109, 268, - 408, -1000, -1000, 263, 858, 6285, 789, -1000, 536, 488, - 291, -1000, 902, -1000, 624, -1000, -1000, -1000, -29, -1000, - 817, 669, -1000, 920, 657, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 5839, 729, -1000, 89, -1000, - -1000, 729, 5839, 5839, -1000, -1000, -1000, 737, -1000, 1479, - 6285, -1000, -1000, 568, 290, 283, -1000, 5839, -1000, -1000, - -1000, 487, -1000, -1000, 409, -1000, 407, -1000, -1000, -1000, - 657, -1000, -1000, 199, -45, -1000, 895, -1000, 910, -57, - -1000, -46, -53, -1000, 87, 729, -1000, -1000, -1000, 86, - -2, -1000, 57, 3898, 3159, 406, 172, -1000, 262, -1000, - -1000, -1000, 2766, -4, 2766, -1000, 454, -1000, 469, 467, - -16, -1000, 894, 6285, -48, -51, -64, 909, 6285, -1000, - 657, -1000, 718, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 466, -1000, -1000, -1000, -1000, -1000, - -1000, 892, -1000, -1000, -1000, 194, -1000, -1000, -1000, 890, - 6285, 6285, -1000, -1000, -1000, 465, 718, -1000, 404, 397, - 776, 849, 656, -1000, -1000, 2635, -1000, 839, 459, 260, - -1000, 888, -66, -1000, -1000, 289, -1000, -1000, -1000, -1000, - 657, 669, 908, -1000, -1000, -1000, -1000, 394, -1000, -1000, - -1000, 6285, 701, -47, -1000, 907, -1000, -1000, 867, -1000, - 443, -1000, 259, 657, -1000, 388, -1000, 405, -1000, -1000, - 457, -1000, -1000, -1000, -1000, 449, 805, -1000, -1000, 805, - -1000, 258, -1000, 657, -1000, 885, 171, -1000, 411, -1000, - 448, -1000, + -1000, -1000, 2538, -1000, -1000, -1000, -1000, 336, 590, 732, + 160, -1000, 370, -1000, -1000, 902, -1000, 257, -1000, -1000, + 333, 257, 7694, 7563, 7432, 407, 185, 786, 7825, -1000, + 5814, 331, 326, -1000, -1000, 434, 7825, 900, -5, 899, + 898, 7825, -1000, -1000, -1000, -1000, 730, -1000, 715, -1000, + 1012, 321, 7825, 452, 181, 181, 7825, 7825, 7825, 7825, + -1000, -1000, 8087, -1000, 7825, 7825, 7825, 7825, 7825, 7825, + 7825, 320, -1000, -1000, 205, 204, 820, 7825, 669, 366, + 317, 297, 7825, 7825, 296, 7825, 7825, -1000, 203, -1000, + -1000, 787, 921, -1000, 198, 290, 7039, -1000, 193, 189, + -1000, 498, 844, 610, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 165, 183, -1000, 605, -1000, -1000, 433, + -1000, 253, 342, -1000, 844, -1000, 159, 598, 594, -1000, + 666, 844, -1000, 893, -1000, 8, 4241, 369, 8087, 257, + 5027, 7825, -1000, -1000, 5767, -1000, -5, 765, 510, -1000, + 5720, -1000, 406, 103, 5902, -1000, 133, -1000, -1000, 724, + 131, -5, 2, 52, 5902, -1000, -1000, -1000, -1000, -1000, + 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, + 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, + 7825, 366, 368, 181, 7825, 275, -1000, 5673, 405, 891, + -1000, 691, -1000, -1000, 1012, 5626, -1000, -1000, 7301, 7825, + 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, 7825, + 7825, 532, -1000, -1000, -1000, -1000, -1000, 498, 508, 844, + 603, 597, -1000, -1000, -110, -110, -28, -110, 251, 5582, + 247, -110, -110, -110, -110, -110, -110, -110, -1000, 7170, + -1000, 7825, 7825, 7825, 269, 673, 783, -1000, 232, 7956, + 181, 6114, 67, -1000, 592, -1000, 498, 507, 844, 661, + 165, 183, 549, 7825, 7825, 5902, 5902, 7825, 5902, 5902, + 7825, 546, 673, 704, -1000, 860, 7825, 7039, 178, 55, + 5538, 181, 7825, 7825, 884, 259, 498, 66, 7825, 7825, + 165, 433, 143, 259, 7825, 404, -1000, -1000, 2407, 498, + -1000, 611, 36, -1000, 663, 844, 5, -1000, 650, 844, + 877, 602, -12, 8247, -1000, -1000, -1000, -1000, -1000, 274, + 5027, -1000, -1000, 790, 397, 43, 5902, 295, -1000, -1000, + -1000, -1000, -1000, -1000, 185, -1000, 7825, -1000, -1000, 824, + -1000, 8247, -1000, 7825, 7825, 7825, 7825, 7825, 6073, 2112, + 322, 7168, 62, 62, 62, -28, -110, -28, -28, 108, + 108, 1459, 1459, 1459, 1459, 1, 1, 1, 1, -1000, + 7825, -1000, 129, -1000, -1000, 1558, 780, 873, 4110, -1000, + -1000, -1000, 271, -1000, 585, 684, 7825, 6114, 495, 6114, + 6114, 6114, 6114, 6114, 6114, 6114, 6114, 6114, 6114, 6114, + 6114, 101, -1000, -1000, 270, 844, 498, 67, 67, -1000, + -1000, -1000, -1000, -110, 177, 5902, 175, -1000, -1000, -1000, + -1000, -1000, 869, 5457, 188, 412, -1000, 166, -1000, -1000, + 165, 183, -1000, 7825, 259, 163, 844, 498, -1000, 165, + 163, 37, -1000, 1012, -1000, 291, 245, 5409, 172, -1000, + -1000, -1000, 170, 238, -1000, -1000, 6908, 6777, -1000, -1000, + 167, 162, -1000, -1000, 6341, 259, -1000, -1000, -1000, -1000, + 161, 5365, -1000, -1000, -1000, -1000, 5317, -1000, 2276, -1000, + 259, -1000, -1000, 598, 865, 596, -1000, 594, 863, 544, + -1000, 859, 8247, -1000, 5858, -1000, -1000, 498, 501, 844, + 268, 8247, -1000, -1000, -1000, -1000, 660, 524, 8247, 8247, + 8247, 8247, 8247, 236, -1000, -1000, 4896, -1000, -1000, -1000, + -1000, 395, 394, -1000, 5269, -15, 267, -1000, 5902, 6210, + 6482, 5988, 6114, 5221, 7825, 393, 181, 728, 728, 34, + -19, 756, 266, 712, 675, -1000, 498, 500, 844, 432, + 585, -1000, 1012, -1000, 366, -40, 532, -1000, 498, -1000, + -1000, -1000, 805, -1000, -1000, 7825, -1000, -1000, 186, 184, + 259, 7825, 7825, 165, 5175, -1000, -1000, -1000, 498, 67, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 5127, + 181, 5902, 181, -1000, -1000, -1000, -8, 234, -1000, -1000, + 1012, 181, 7825, -1000, 259, 259, -1000, -1000, 259, 259, + -1000, -1000, -1000, -1000, -1000, 856, -1000, -1000, 855, -1000, + -1000, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, + 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8247, + 8247, 8247, 8247, 8247, 8247, 8247, 8247, 8172, 844, 498, + 8247, 157, 21, 5083, 535, 737, -57, -57, -60, -60, + 5039, 392, -1000, 4372, -1000, -1000, -1000, 257, 7825, 7825, + 440, -1000, 874, -1000, -1000, 8247, 712, -1000, 1621, -1000, + -1000, 633, -1000, 181, 265, 633, 4765, 845, 8247, 750, + 260, 712, 229, -37, -1000, -5, -1000, -1000, -1000, 427, + 585, 844, 498, -1000, -41, -1000, -1000, 7825, -1000, 532, + -1000, 200, 156, -1000, -1000, -1000, 2054, 649, 7825, 7825, + -1000, 152, 1957, -1000, -1000, 7825, 6646, -1000, -1000, -1000, + 6496, -1000, -1000, 5902, -1000, -1000, -1000, -1000, -1000, -1000, + 54, -60, -60, -57, -57, -57, -57, 2070, 6643, 599, + -30, -30, -60, 6031, 1080, 5945, 6332, 6132, 243, 243, + 243, 243, -16, -16, -16, -16, 8247, 1837, 498, 224, + -1000, -1000, 8247, 8247, -1000, -1000, -1000, -1000, 482, -1000, + 3979, 388, 387, 5902, -1000, 7825, 264, 435, 385, 867, + -1000, 223, 7825, 222, 728, -1000, -1000, 219, -1000, -1000, + -1000, -44, -1000, -1000, -1000, -1000, 218, 742, 712, 483, + -1000, -41, 498, 1093, 585, 259, 6114, -13, -1000, 134, + 649, 7825, -1000, 67, -1000, 410, -1000, 139, 130, -1000, + -1000, -1000, -1000, 5902, 181, -1000, -1000, 957, 8247, -1000, + 1230, 5858, -1000, 257, 5027, 477, 383, -1000, -1000, 1787, + -1000, -1000, -1000, -1000, -1000, 380, 742, 1621, 4634, -1000, + 532, 4634, 3848, 8247, 426, 585, 424, 420, 258, -1000, + 821, -1000, 823, -1000, -1000, -1000, -20, -1000, 765, 517, + -1000, 838, 585, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 7825, 649, -1000, 109, -1000, -1000, -1000, + -1000, 658, -1000, 957, 8247, -1000, -1000, 467, 257, 344, + -1000, 7825, -1000, -1000, -1000, 418, -1000, -1000, -1000, -38, + -1000, 378, -1000, -1000, -1000, -1000, -1000, 246, -62, -1000, + 819, -1000, 834, -5, -1000, -63, -52, -1000, 97, 649, + -1000, -1000, -1000, 67, 5858, 5027, 376, 343, -1000, 217, + -1000, 4372, -1000, 3717, -1000, -1000, 3586, 816, 3455, 3324, + -42, -1000, 815, 8247, -46, -64, -66, 830, 8247, -1000, + 585, -1000, 586, -1000, -1000, -1000, -1000, -1000, -1000, 4372, + -1000, 4372, 3193, 375, -1000, 212, -1000, -1000, -1000, 221, + -1000, -1000, -1000, 812, 8247, 8247, -1000, -1000, -1000, 298, + 586, -1000, 374, 372, 740, 779, 521, -1000, -1000, 4503, + -1000, -1000, -1000, -1000, 808, -70, -1000, -1000, 256, -1000, + -1000, -1000, -1000, 585, 517, 829, 4372, -1000, -1000, -1000, + 417, -1000, 8247, 712, -45, -1000, 825, -1000, -1000, 3062, + -1000, -1000, 208, 585, -1000, 187, 2931, 341, -1000, -1000, + -1000, -1000, -1000, -1000, 752, 2800, -1000, 752, -1000, 233, + -1000, -1000, 585, -1000, 800, 182, -1000, 414, -1000, 2669, + -1000, } var yyPgo = [...]int{ - 0, 1307, 50, 47, 46, 609, 1306, 1305, 15, 516, - 733, 51, 0, 1304, 1302, 1301, 1300, 30, 1299, 1298, - 1297, 3, 1, 1297, 1296, 17, 1295, 1294, 1292, 1291, - 1289, 1287, 1286, 1285, 1284, 1280, 1279, 1278, 1277, 21, - 1276, 1274, 1273, 1272, 1271, 1269, 1482, 32, 1314, 58, - 1268, 1267, 1266, 1265, 1264, 20, 29, 1263, 8, 1262, - 1261, 1260, 1258, 1257, 1229, 1228, 1227, 1226, 1225, 5, - 1224, 1223, 1222, 1221, 1199, 1198, 2, 1195, 1194, 44, - 1193, 1192, 16, 1191, 24, 1189, 4, 1188, 1187, 1186, - 1185, 22, 1184, 1183, 1178, 36, 1176, 13, 37, 23, - 1174, 1173, 1172, 1171, 1170, 28, 1169, 112, 1168, 33, - 61, 49, 63, 1167, 1165, 1164, 1136, 1135, 1134, 1133, - 1132, 1131, 1130, 1129, 1128, 1126, 6, 1125, 1124, 1118, - 1117, 1116, 1114, 7, 1113, 1111, 1110, 18, 11, 1109, - 45, 1108, 1107, 1105, 1102, 784, 43, 1082, 26, 1080, - 806, 1078, 1077, 1076, 1075, 1070, 1069, 1068, 1067, 1066, - 1057, 1056, 1055, 1052, 1051, 1050, 1049, 19, 1048, 1044, - 54, 1041, 1040, 1037, 1035, 1034, 48, 1033, 31, 1032, - 1020, 1018, 1017, 1015, 42, 1014, 14, 1011, 1009, 1008, - 682, 1175, 1006, 41, 1003, 1000, 999, 998, 40, 997, - 996, 995, 12, 993, 991, 990, 988, 987, 25, 986, - 984, 982, 981, 38, 980, 979, 53, 977, 970, 966, - 34, 944, + 0, 1305, 47, 44, 43, 624, 1304, 1303, 4, 529, + 1287, 46, 1460, 60, 71, 59, 774, 1320, 1302, 40, + 1296, 1295, 1294, 13, 1293, 53, 0, 1292, 1291, 1289, + 5, 7, 1286, 61, 45, 1284, 14, 36, 1283, 1255, + 1254, 1253, 1252, 1251, 1250, 1248, 1227, 1226, 1225, 1224, + 1222, 18, 1221, 1220, 1219, 1218, 1217, 1216, 49, 1214, + 1212, 1211, 1206, 29, 34, 17, 1204, 1203, 1202, 1201, + 1200, 1199, 26, 1198, 1197, 1189, 1188, 1142, 1139, 2, + 1138, 1135, 41, 1134, 1133, 27, 1129, 22, 1128, 3, + 1126, 1125, 1105, 1104, 31, 1103, 1101, 1100, 33, 1098, + 21, 35, 20, 1097, 1095, 1093, 1092, 1091, 28, 1090, + 88, 1089, 30, 51, 1083, 1081, 1075, 1074, 1071, 1068, + 1067, 1066, 1065, 1064, 1063, 1062, 1061, 6, 1058, 1055, + 1053, 1046, 1042, 1040, 1, 1039, 1038, 1035, 12, 15, + 1031, 1030, 1029, 1028, 1027, 725, 42, 1026, 24, 1025, + 1023, 1022, 1021, 1018, 1016, 1013, 1010, 1008, 1004, 1003, + 1002, 1001, 1000, 999, 995, 994, 19, 990, 987, 63, + 985, 982, 980, 978, 52, 975, 23, 973, 972, 970, + 967, 960, 959, 8, 957, 956, 954, 581, 778, 953, + 37, 952, 951, 949, 947, 38, 11, 946, 945, 944, + 932, 931, 930, 927, 39, 920, 918, 81, 916, 914, + 913, 32, 884, } var yyR1 = [...]int{ - 0, 16, 11, 11, 12, 12, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 13, 13, 2, - 2, 2, 2, 14, 14, 3, 3, 3, 3, 15, - 15, 4, 4, 4, 4, 20, 20, 22, 22, 23, - 23, 23, 23, 17, 17, 24, 26, 27, 24, 30, - 31, 24, 34, 35, 24, 37, 38, 24, 40, 41, - 42, 24, 44, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 54, 57, - 24, 59, 60, 24, 61, 24, 24, 64, 66, 24, - 24, 24, 65, 68, 70, 71, 72, 65, 67, 74, - 67, 73, 73, 75, 75, 77, 78, 76, 53, 53, - 79, 18, 19, 82, 82, 83, 83, 85, 80, 89, - 81, 93, 81, 87, 87, 87, 87, 88, 88, 92, - 94, 94, 90, 90, 95, 95, 56, 56, 55, 55, - 96, 55, 43, 43, 58, 58, 63, 63, 62, 62, - 45, 45, 45, 45, 98, 100, 98, 101, 98, 99, - 99, 36, 36, 28, 102, 28, 32, 103, 32, 29, - 29, 33, 33, 86, 86, 104, 104, 105, 105, 106, - 106, 106, 106, 107, 107, 107, 108, 108, 109, 109, - 109, 109, 50, 50, 111, 111, 111, 51, 51, 51, - 51, 91, 91, 115, 113, 113, 113, 120, 113, 118, - 122, 122, 123, 123, 124, 124, 125, 125, 126, 126, - 127, 130, 130, 131, 131, 129, 128, 128, 132, 132, - 121, 121, 114, 114, 119, 119, 134, 134, 133, 133, - 133, 133, 133, 133, 116, 116, 116, 116, 117, 117, - 52, 52, 39, 39, 136, 135, 135, 137, 137, 139, - 139, 142, 141, 141, 141, 143, 144, 143, 147, 145, - 47, 47, 47, 149, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 151, 47, 152, 47, 153, 47, 154, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 155, 47, - 156, 157, 47, 158, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 161, 47, 47, 47, 47, 47, - 47, 47, 166, 47, 168, 47, 49, 49, 49, 49, - 163, 163, 163, 163, 164, 164, 84, 167, 167, 171, - 171, 171, 171, 173, 172, 174, 172, 175, 172, 177, - 172, 179, 172, 180, 172, 181, 172, 182, 172, 9, - 9, 9, 9, 69, 69, 69, 146, 146, 185, 187, - 183, 183, 188, 188, 189, 160, 160, 160, 165, 165, - 165, 148, 148, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 6, 21, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 169, 169, 169, 169, 162, 162, 162, 162, 162, 162, - 162, 193, 193, 198, 198, 197, 197, 197, 197, 46, - 46, 25, 25, 112, 110, 150, 200, 201, 48, 48, - 203, 203, 204, 138, 205, 205, 207, 206, 202, 202, - 202, 178, 178, 209, 209, 10, 210, 211, 210, 199, - 199, 199, 184, 184, 184, 8, 8, 8, 7, 7, - 140, 140, 186, 186, 212, 212, 212, 176, 176, 208, - 208, 97, 97, 213, 214, 213, 213, 170, 170, 215, - 215, 215, 215, 215, 215, 215, 215, 190, 190, 190, - 190, 216, 217, 216, 216, 216, 216, 216, 218, 218, - 218, 159, 159, 159, 159, 159, 159, 159, 159, 219, - 221, 219, 220, 220, 195, 195, 192, 196, + 0, 32, 25, 25, 26, 26, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 27, 27, 2, + 2, 2, 2, 28, 28, 3, 3, 3, 3, 29, + 29, 4, 4, 4, 4, 35, 35, 30, 30, 22, + 22, 22, 22, 23, 23, 24, 38, 39, 24, 42, + 43, 24, 46, 47, 24, 49, 50, 24, 52, 53, + 54, 24, 56, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 66, 24, 24, 24, 24, 24, 69, 71, 73, 74, + 75, 69, 70, 77, 70, 76, 76, 78, 78, 80, + 81, 79, 62, 62, 82, 33, 34, 85, 85, 86, + 86, 88, 83, 92, 84, 96, 84, 90, 90, 90, + 90, 91, 91, 95, 97, 97, 93, 93, 98, 98, + 64, 64, 63, 63, 99, 63, 55, 55, 65, 65, + 68, 68, 67, 67, 57, 57, 57, 57, 101, 103, + 101, 104, 101, 102, 102, 48, 48, 40, 105, 40, + 44, 106, 44, 41, 41, 45, 45, 89, 89, 107, + 107, 108, 108, 109, 109, 109, 109, 110, 110, 110, + 111, 111, 112, 112, 112, 112, 59, 59, 113, 113, + 113, 60, 60, 60, 60, 94, 94, 116, 114, 114, + 114, 121, 114, 119, 123, 123, 124, 124, 125, 125, + 126, 126, 127, 127, 128, 131, 131, 132, 132, 130, + 129, 129, 133, 133, 122, 122, 115, 115, 120, 120, + 135, 135, 134, 134, 134, 134, 134, 134, 117, 117, + 117, 117, 118, 118, 61, 61, 51, 51, 137, 136, + 136, 138, 138, 140, 140, 142, 141, 141, 141, 143, + 144, 143, 147, 145, 13, 13, 13, 149, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 150, 13, 151, 13, + 152, 13, 153, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 154, 13, 155, 156, 13, 157, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 160, 13, + 13, 13, 13, 13, 13, 13, 165, 13, 167, 13, + 58, 58, 58, 58, 162, 162, 162, 162, 163, 163, + 87, 166, 166, 170, 170, 170, 170, 171, 21, 172, + 21, 173, 21, 175, 21, 177, 21, 178, 21, 179, + 21, 180, 21, 9, 9, 9, 9, 72, 72, 72, + 146, 146, 182, 184, 181, 181, 185, 185, 186, 159, + 159, 159, 164, 164, 164, 148, 148, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, + 36, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 168, 168, 168, 168, 161, 161, + 161, 161, 161, 161, 161, 190, 190, 195, 195, 194, + 194, 194, 194, 12, 12, 37, 37, 14, 15, 16, + 17, 17, 197, 197, 198, 139, 199, 199, 201, 200, + 196, 196, 196, 176, 176, 202, 202, 10, 20, 20, + 18, 18, 18, 19, 19, 19, 8, 8, 8, 7, + 7, 11, 11, 183, 183, 203, 203, 203, 174, 174, + 31, 31, 100, 100, 204, 205, 204, 204, 169, 169, + 206, 206, 206, 206, 206, 206, 206, 206, 187, 187, + 187, 187, 207, 208, 207, 207, 207, 207, 207, 209, + 209, 209, 158, 158, 158, 158, 158, 158, 158, 158, + 210, 212, 210, 211, 211, 192, 192, 189, 193, } var yyR2 = [...]int{ 0, 1, 2, 0, 1, 3, 1, 1, 1, 4, 3, 5, 4, 3, 4, 4, 2, 3, 1, 1, 3, 2, 4, 3, 1, 1, 3, 2, 4, 3, - 1, 1, 3, 2, 4, 5, 4, 1, 0, 1, + 1, 1, 3, 2, 4, 5, 4, 2, 0, 1, 1, 1, 4, 1, 2, 3, 0, 0, 7, 0, 0, 10, 0, 0, 5, 0, 0, 7, 0, 0, 0, 12, 0, 4, 2, 3, 2, 3, 2, 3, - 3, 2, 3, 3, 3, 1, 2, 5, 0, 0, - 10, 0, 0, 10, 0, 6, 1, 0, 0, 8, - 3, 3, 0, 0, 0, 0, 0, 13, 0, 0, - 5, 1, 0, 1, 2, 0, 0, 10, 1, 3, - 1, 1, 1, 0, 1, 0, 1, 0, 10, 0, - 8, 0, 7, 1, 2, 1, 2, 0, 2, 1, - 0, 2, 0, 2, 1, 3, 0, 2, 1, 2, - 0, 5, 1, 4, 1, 4, 1, 4, 3, 5, - 3, 4, 4, 5, 0, 0, 6, 0, 5, 1, - 1, 1, 4, 0, 0, 5, 0, 0, 6, 0, - 2, 0, 3, 1, 0, 1, 3, 4, 6, 0, - 1, 1, 1, 2, 3, 3, 1, 3, 1, 1, - 2, 2, 3, 1, 1, 2, 4, 3, 5, 1, - 3, 2, 0, 0, 4, 2, 1, 0, 9, 3, - 1, 3, 1, 3, 0, 1, 1, 2, 2, 2, - 3, 1, 3, 1, 1, 3, 4, 3, 0, 1, - 1, 3, 1, 1, 0, 1, 1, 2, 1, 1, - 1, 1, 1, 1, 3, 5, 1, 3, 5, 4, - 3, 1, 0, 1, 0, 4, 1, 2, 1, 4, - 3, 0, 3, 1, 1, 0, 0, 2, 0, 4, - 6, 3, 4, 0, 7, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 0, 4, 0, 4, 0, 4, 0, 4, + 3, 2, 3, 3, 3, 1, 2, 5, 8, 8, + 0, 6, 1, 6, 3, 3, 0, 0, 0, 0, + 0, 13, 0, 0, 5, 1, 0, 1, 2, 0, + 0, 10, 1, 3, 1, 1, 1, 0, 1, 0, + 1, 0, 10, 0, 8, 0, 7, 1, 2, 1, + 2, 0, 2, 1, 0, 2, 0, 2, 1, 3, + 0, 2, 1, 2, 0, 5, 1, 4, 1, 4, + 1, 4, 3, 5, 3, 4, 4, 5, 0, 0, + 6, 0, 5, 1, 1, 1, 4, 0, 0, 5, + 0, 0, 6, 0, 2, 0, 3, 1, 0, 1, + 3, 4, 6, 0, 1, 1, 1, 2, 3, 3, + 1, 3, 1, 1, 2, 2, 3, 1, 1, 2, + 4, 3, 5, 1, 3, 2, 0, 0, 4, 2, + 1, 0, 9, 3, 1, 3, 1, 3, 0, 1, + 1, 2, 2, 2, 3, 1, 3, 1, 1, 3, + 4, 3, 0, 1, 1, 3, 1, 1, 0, 1, + 1, 2, 1, 1, 1, 1, 1, 1, 3, 5, + 1, 3, 5, 4, 3, 1, 0, 1, 0, 4, + 1, 2, 1, 4, 3, 0, 3, 1, 1, 0, + 0, 2, 0, 4, 6, 3, 4, 0, 7, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 1, 1, 0, 5, - 0, 0, 7, 0, 5, 1, 2, 2, 2, 2, - 2, 2, 2, 2, 0, 3, 1, 1, 1, 3, - 2, 1, 0, 10, 0, 11, 2, 2, 4, 4, - 4, 4, 4, 4, 4, 3, 1, 0, 4, 3, - 4, 1, 2, 0, 3, 0, 5, 0, 4, 0, - 5, 0, 5, 0, 5, 0, 5, 0, 3, 1, - 1, 3, 2, 1, 3, 2, 1, 1, 0, 0, - 6, 1, 2, 0, 2, 0, 2, 1, 0, 1, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 2, 3, 1, 1, 1, 1, - 3, 2, 4, 3, 1, 1, 1, 4, 3, 3, - 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, + 3, 3, 2, 2, 2, 2, 0, 4, 0, 4, + 0, 4, 0, 4, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 1, 1, 0, 5, 0, 0, 7, 0, 5, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 0, 3, + 1, 1, 1, 3, 2, 1, 0, 10, 0, 11, + 2, 2, 4, 4, 4, 4, 4, 4, 4, 3, + 1, 0, 4, 3, 4, 1, 2, 0, 3, 0, + 5, 0, 4, 0, 5, 0, 5, 0, 5, 0, + 5, 0, 3, 1, 1, 3, 2, 1, 3, 2, + 1, 1, 0, 0, 6, 1, 2, 0, 2, 0, + 2, 1, 0, 1, 1, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 2, 3, + 1, 1, 1, 1, 3, 2, 4, 3, 1, 1, + 1, 4, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 4, 5, 2, 2, 3, - 1, 1, 3, 2, 1, 1, 1, 1, 3, 3, - 1, 0, 2, 0, 1, 5, 3, 3, 1, 1, - 1, 3, 3, 1, 1, 1, 0, 0, 7, 1, - 2, 0, 0, 4, 4, 4, 0, 2, 1, 1, - 0, 1, 2, 3, 3, 1, 4, 0, 5, 1, - 1, 1, 1, 2, 1, 4, 4, 1, 1, 4, - 0, 1, 1, 1, 4, 4, 1, 1, 3, 1, - 2, 3, 1, 1, 0, 5, 0, 0, 2, 5, - 3, 3, 1, 6, 4, 4, 2, 2, 2, 1, - 2, 1, 0, 5, 3, 3, 6, 3, 1, 1, - 1, 4, 4, 4, 2, 2, 4, 2, 2, 1, - 0, 4, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, + 5, 2, 2, 3, 1, 1, 3, 2, 1, 1, + 1, 1, 3, 3, 1, 0, 2, 0, 1, 5, + 3, 3, 1, 1, 1, 3, 3, 1, 1, 1, + 5, 1, 2, 0, 0, 4, 4, 4, 0, 2, + 1, 1, 0, 1, 2, 3, 3, 1, 4, 4, + 1, 1, 1, 1, 2, 1, 4, 4, 1, 1, + 4, 0, 1, 1, 1, 4, 4, 1, 1, 3, + 1, 2, 3, 1, 1, 0, 5, 0, 0, 2, + 5, 3, 3, 1, 6, 4, 4, 2, 2, 2, + 1, 2, 1, 0, 5, 3, 3, 6, 3, 1, + 1, 1, 4, 4, 4, 2, 2, 4, 2, 2, + 1, 0, 4, 1, 1, 3, 3, 3, 3, } var yyChk = [...]int{ - -1000, -16, -11, -1, -17, -18, -19, 51, 79, 44, - -20, -24, 10, -80, -81, 38, 119, 7, 21, 20, - 23, 30, 34, 35, 39, -49, 46, 98, 19, 14, - -46, 48, 25, 27, 121, 40, 43, 36, -84, -87, - -92, 97, -112, -47, 37, 52, 99, 53, 100, 54, - -48, 59, 92, -150, 104, 105, 130, 129, 131, 132, - -25, -145, 123, -159, 107, 108, 109, 110, 111, 112, - 113, 6, 133, -162, -163, -164, 118, 96, -199, 91, - 49, 50, 4, 5, 84, 85, 86, 11, -169, -196, - -5, 117, 74, 62, 18, 60, 125, -184, -210, -172, - -195, -12, 82, -9, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -8, -208, -209, -10, -178, -7, 134, - 12, 123, -12, 119, 82, 10, -13, 37, 38, -2, - -12, 82, 121, 135, 122, 10, -22, -25, 123, -34, - -37, 123, -25, 121, -46, 97, -84, 98, 79, 121, - -46, 121, -47, -48, -46, 121, -50, -111, 12, 134, - -51, -84, 12, -52, -46, 121, 149, 150, 87, 89, + -1000, -32, -25, -1, -23, -33, -34, 51, 79, 44, + -35, -24, 10, -83, -84, 38, 119, 7, 21, 20, + 23, 30, 34, 35, 39, -58, 46, 98, 19, 14, + -12, 48, 25, 27, 121, 40, 43, 36, -87, -90, + -95, 97, -14, -13, 37, 52, 99, 53, 100, 54, + -17, 59, 92, -16, 104, 105, 130, 129, 131, 132, + -37, -145, 123, -158, 107, 108, 109, 110, 111, 112, + 113, 6, 133, -161, -162, -163, 118, 96, -18, 91, + 49, 50, 4, 5, 84, 85, 86, 11, -168, -193, + -5, 117, 74, 62, 18, 60, 125, -19, -20, -21, + -192, -26, 82, -9, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -8, -31, -202, -10, -176, -7, 134, + 12, 123, -26, 119, 82, 10, -27, 37, 38, -2, + -26, 82, 121, 135, 122, 10, -30, -37, 123, -46, + -49, 123, -37, 121, -12, 97, -87, 98, 79, 121, + -12, 121, -13, -17, -12, 121, -59, -113, 12, 134, + -60, -87, 12, -61, -12, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, -61, -64, -46, 10, -82, - 128, 10, 10, -47, -48, -46, 52, 52, 136, 137, + 160, 90, 127, 123, 123, -66, 119, -12, 10, -85, + 128, 10, 10, -13, -17, -12, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -46, 104, 105, -150, -48, -12, 79, 82, - -9, -10, 98, -150, -46, -46, -46, -46, -145, -46, - -49, -46, -46, -46, -46, -46, -46, -46, -160, 123, - -25, -161, 125, 125, -165, 17, -190, -216, 12, 76, - 77, -46, 57, -146, -9, -183, -12, 79, 82, -184, - -8, -208, -10, 123, 123, -46, -46, 123, -46, -46, - 125, -190, 17, 17, 75, -190, 125, 123, -170, -215, - -46, 128, 125, -211, 82, -173, -12, 78, 125, 119, - -8, 134, 78, -182, 119, 124, 121, 119, -11, -12, - 121, 135, -14, -3, -12, 82, -15, -4, -12, 82, - 29, -12, 10, 136, 120, -26, 122, -25, -17, -39, - -135, -46, -44, 121, -82, 121, 121, 121, 121, 135, - -112, 119, -48, 121, 135, -82, 136, 121, 135, -151, - -152, -153, -154, -46, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -146, -156, 122, -53, -79, -48, - -48, -47, 123, 119, 121, 121, 10, -166, -88, 55, - -93, 58, -46, 128, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -97, -213, -48, 59, - 82, -12, 78, 78, 124, 124, 124, 124, -46, -140, - -46, -140, 118, -216, -216, 17, 125, 57, -46, 11, - -48, -200, -147, 78, 82, -12, 57, -8, 78, -219, - -220, -48, -47, -48, -47, -46, -140, 117, 75, 75, - -140, -170, 126, -198, 135, 58, -110, -48, -140, 125, - 10, -107, 123, -175, -176, -178, 10, 52, 119, -8, - -208, -140, -46, -176, -178, 10, -107, -46, 121, -11, - 120, -174, -2, 121, 135, 29, -12, 121, 135, 29, - -12, 10, 29, 136, -21, -191, -5, -192, -12, 79, - 82, 60, 125, -6, 62, -194, 18, 74, -9, 131, - 132, 130, 129, 123, -17, -30, -35, 21, 121, 135, - -45, 119, 122, -111, -46, 12, -168, -21, -46, -46, - -46, -46, -46, -46, -158, 124, 135, 29, 29, -62, - 10, -22, -85, 123, -89, -69, -12, 79, 82, -94, - 55, -47, -48, -48, 91, 124, 135, 123, -12, 10, - -155, 126, 126, -217, 10, 120, 125, 120, -186, -212, - -178, -176, -148, -107, -178, -12, -185, -178, 124, 135, - 124, 124, 124, 126, 126, 124, -46, 128, -46, 128, - 126, -140, 124, -108, -49, -109, -47, -48, 128, 83, - -107, -177, -179, -46, -8, 126, 120, -180, -181, 120, - 120, -107, -3, 10, 29, -4, 10, 29, 10, -21, - 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, - 161, 162, 163, 88, 89, 87, 150, 149, 155, 156, - 153, 154, 157, 159, 158, 160, 127, 82, -12, 123, - -193, -197, -191, 17, 78, -191, -191, -191, -191, -191, - -27, -22, -36, -17, 122, -38, -40, -136, -98, 121, - -98, 121, 120, 136, 123, 122, -46, 121, -79, -54, - -59, 124, 135, 136, 120, 123, -86, -104, -105, -106, - 60, 61, -69, -90, 56, 82, -12, 119, -95, -69, - -146, 136, -213, -214, -143, -144, -218, 10, 13, 12, - -46, -201, 125, 119, -186, -221, 58, -110, -110, 126, - 124, 135, 124, -110, -46, -107, -107, 120, -107, -107, - 10, 10, -191, -191, -191, -191, -191, -191, -191, -191, - -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, - -191, -191, -191, -191, -191, -191, -191, -191, 122, -191, - -12, -193, 126, -198, 135, 58, 10, 52, 124, -28, - -31, -22, -25, -39, -46, 120, 32, 33, -98, 31, - -98, -21, -86, -157, -55, -48, 128, 59, -55, -63, - -17, 122, 10, -21, -65, 41, -86, 124, 135, -82, - 119, -95, -12, -91, 135, -149, -46, -97, -141, -139, - -137, 125, -138, 57, 126, 126, -202, -206, -205, -207, - -140, -46, -187, -220, -46, 128, -109, 126, -191, 122, - 124, -191, -191, -29, 93, 94, -32, 22, 121, 121, - -46, -99, 122, 121, 120, 121, 31, 124, -46, -56, - 58, -48, 123, -56, -22, 136, -66, 123, 124, -167, - 44, -105, -83, 83, -91, 120, -113, -114, -117, -118, - -119, -134, 47, 38, 44, -133, 103, 102, 101, 98, - 99, 100, -69, -148, 124, 125, -142, -138, -140, -186, - 120, -203, 125, 125, -107, 126, 120, -188, -110, -191, - 58, -25, -17, -33, 93, 94, 121, -41, -99, -101, - 121, -167, 124, -55, -96, 124, 28, -21, -67, 42, - -68, 119, 119, 123, 12, 120, -115, 121, 135, -84, - -133, 10, -122, -69, -140, -137, 126, -204, -138, -140, - -140, -189, 57, -191, -102, 95, -25, 122, -39, -100, - -22, 119, -57, -97, -60, 121, -74, -69, -22, -22, - -171, 12, 128, 136, -116, 12, 10, -82, 136, -123, - 135, 121, 119, 126, -202, 126, 126, -186, -17, 121, - 122, -22, 124, -22, -22, -58, -17, 122, 124, -58, - 119, -70, 120, 120, 124, 135, 12, -21, 121, 135, - 136, 136, 10, -21, -69, -124, -125, -126, -127, -128, - -129, -131, -69, 10, -103, -42, 120, -22, -22, 12, - 12, 128, 12, -21, -21, -120, 120, -126, 121, 121, - 45, 29, 78, -22, -43, -17, 122, 26, 120, 124, - 12, 136, 123, -130, -69, -132, -133, 10, -22, 121, - -71, -21, -86, 135, 10, 24, 119, 124, -69, 121, - -22, -121, 121, 119, 120, -22, -72, 120, -73, -75, - -76, 41, -76, 123, -69, -77, 12, 124, -78, 119, - -22, 120, + 147, 123, -12, 104, 105, -16, -17, -26, 79, 82, + -9, -10, 98, -16, -12, -12, -12, -12, -145, -12, + -58, -12, -12, -12, -12, -12, -12, -12, -159, 123, + -37, -160, 125, 125, -164, 17, -187, -207, 12, 76, + 77, -12, 57, -146, -9, -181, -26, 79, 82, -19, + -8, -31, -10, 123, 123, -12, -12, 123, -12, -12, + 125, -187, 17, 17, 75, -187, 125, 123, -169, -206, + -12, 128, 125, 125, 82, -171, -26, 78, 125, 119, + -8, 134, 78, -180, 119, 124, 121, 119, -25, -26, + 121, 135, -28, -3, -26, 82, -29, -4, -26, 82, + 29, -26, 10, 136, -22, 120, -23, -33, -34, 51, + -38, 122, -37, -23, -51, -136, -12, -56, 121, -85, + 121, 121, 121, 121, 135, -14, 119, -17, 121, 135, + -85, 136, 121, 135, -150, -151, -152, -153, -12, -12, + -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, + -12, -12, -12, -12, -12, -12, -12, -12, -12, -146, + -155, 122, -62, -82, -17, -17, -13, 123, -30, 121, + 121, 10, -165, -91, 55, -96, 58, -12, 128, -12, + -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, + -12, -100, -204, -17, 59, 82, -26, 78, 78, 124, + 124, 124, 124, -12, -11, -12, -11, 118, -207, -207, + 17, 125, 57, -12, 11, -17, -183, -203, -176, -174, + -8, -31, 10, 119, -147, 78, 82, -26, 57, -8, + 78, -210, -211, -17, -13, -17, -13, -12, -11, 117, + 75, 75, -11, -169, 126, -195, 135, 58, -15, -17, + -11, -11, 10, -110, 123, -173, -174, -176, 10, 52, + -11, -12, -174, -176, 10, -110, -12, 121, -25, 120, + -172, -2, 121, 135, 29, -26, 121, 135, 29, -26, + 10, 29, 136, -36, -188, -5, -189, -26, 79, 82, + 60, 125, -6, 62, -191, 18, 74, -9, 131, 132, + 130, 129, 123, 123, -23, -42, -47, 21, 121, 135, + -57, 119, 122, -113, -12, 12, -167, -36, -12, -12, + -12, -12, -12, -12, -157, 124, 135, 29, 29, -67, + 10, 120, -88, 123, -92, -72, -26, 79, 82, -97, + 55, -13, -17, -17, 91, 124, 135, 123, -26, -154, + 126, 126, -208, 10, 120, 125, 120, -196, -200, -199, + -201, 125, 119, -8, -12, -148, -110, -176, -26, -182, + -176, 124, 135, 124, 124, 124, 126, 126, 124, -12, + 128, -12, 128, 126, 126, 124, -111, -58, -112, -13, + -17, 128, 83, -110, -175, -177, 126, 120, -178, -179, + 120, 120, -110, -3, 10, 29, -4, 10, 29, 10, + -36, 125, 130, 129, 164, 167, 165, 166, 151, 128, + 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, + 156, 153, 154, 157, 159, 158, 160, 127, 82, -26, + 123, -190, -194, -188, 17, 78, -188, -188, -188, -188, + -188, 124, -39, -30, -48, -23, 122, -50, -52, -137, + -101, 121, -101, 121, 120, 136, 123, 122, -12, 121, + -82, -63, -17, 128, 59, -63, 124, 135, 136, -69, + 41, 123, -89, -107, -108, -109, 60, 61, -72, -93, + 56, 82, -26, 119, -98, -72, -146, 136, -204, -205, + -143, -144, -209, 10, 13, 12, -12, -197, 125, 125, + -110, -11, -12, 120, -183, -212, 58, -15, -15, 124, + 135, 124, -15, -12, -110, -110, -110, -110, 10, 10, + -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, + -188, -188, -188, -188, -188, -188, 122, -188, -26, -190, + 126, -195, 135, 58, 10, 52, 124, 121, -40, -43, + -30, -37, -51, -12, 120, 32, 33, -101, 31, -101, + -36, -89, -156, -64, 58, -17, 123, -64, -68, -23, + 122, 10, -36, -70, 42, 123, -89, 124, 135, -85, + 119, -98, -26, -94, 135, -149, -12, -100, -141, -140, + -138, 125, -139, 57, 126, 126, -139, -11, -11, 126, + 120, -184, -211, -12, 128, -112, 126, -188, 122, 124, + -188, -188, -41, 93, 94, -44, 22, 121, 121, -12, + -102, 122, 121, 120, 121, 31, 124, -12, 124, -63, + -99, 124, -30, 136, -77, -71, 124, -166, 44, -108, + -86, 83, -94, 120, -114, -115, -118, -119, -120, -135, + 47, 38, 44, -134, 103, 102, 101, 98, 99, 100, + -72, -148, 124, 125, -142, -139, -11, -183, 120, 126, + 126, -185, -15, -188, 58, -37, -23, -45, 93, 94, + 121, -53, -102, -104, 121, -166, -65, -23, 122, -100, + -65, 28, -36, 119, -72, 119, 119, 123, 12, 120, + -116, 121, 135, -87, -134, 10, -123, -72, -11, -138, + 126, -198, -186, 57, -188, -105, 95, -37, 122, -51, + -103, -30, 119, -30, 124, 121, -30, -73, -30, -30, + -170, 12, 128, 136, -117, 12, 10, -85, 136, -124, + 135, 121, 119, 126, -196, -183, -23, 121, 122, -30, + 124, -30, -30, 26, 120, 12, 120, 120, 124, 135, + 12, -36, 121, 135, 136, 136, 10, -36, -72, -125, + -126, -127, -128, -129, -130, -132, -72, 10, -106, -54, + 120, 121, 124, 12, 128, 12, -36, -36, -121, 120, + -127, 121, 121, 45, 29, 78, -30, -55, -23, 122, + -74, 12, 136, 123, -131, -72, -133, -134, 10, -30, + 119, -36, -89, 135, 10, 24, -30, 124, -72, 121, + 120, -122, 121, 119, -75, -30, -76, -78, -79, 41, + 120, -79, 123, -72, -80, 12, 124, -81, 119, -30, + 120, } var yyDef = [...]int{ 3, -2, 1, 2, 6, 7, 8, 0, 0, 0, - 0, 43, 4, 111, 112, 0, 38, 0, 52, 55, - 0, 0, 0, 0, 0, 0, 0, 389, 0, 75, - 0, 0, 0, 84, 86, 87, 0, 0, 113, 0, - 0, 351, 489, 490, 366, 123, 0, 125, 0, 129, + 0, 43, 4, 105, 106, 0, 38, 0, 52, 55, + 0, 0, 0, 0, 0, 0, 0, 383, 0, 75, + 0, 0, 0, 80, 82, 0, 0, 0, 107, 0, + 0, 345, 483, 484, 360, 117, 0, 119, 0, 123, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 326, 327, 0, 335, 0, 0, 0, 0, 0, 0, - 0, 405, 344, 346, 347, 348, 408, 0, 499, 0, - 0, 0, 0, 0, 0, 0, 0, 474, 475, 476, - 477, 0, 0, 480, 415, 0, 547, 519, 520, -2, - 470, -2, 0, 0, 413, 414, 416, 417, 418, 419, - 420, 421, 422, -2, 0, 524, 0, 387, 527, 539, - 528, 0, 0, 3, 0, 4, 0, 0, 0, 18, + 320, 321, 0, 329, 0, 0, 0, 0, 0, 0, + 0, 399, 338, 340, 341, 342, 402, 0, 491, 0, + 0, 0, 0, 0, 0, 0, 0, 468, 469, 470, + 471, 0, 0, 474, 409, 0, 538, 510, 511, 512, + 464, -2, 0, 0, 407, 408, 410, 411, 412, 413, + 414, 415, 416, -2, 0, 515, 0, 381, 518, 530, + 519, 0, 0, 3, 0, 4, 0, 0, 0, 18, 19, 0, 16, 0, 44, 0, 0, 46, 0, 0, - 0, 252, 62, 64, 0, 351, 113, 389, 0, 66, - 0, 68, 490, -2, 0, 71, 0, 193, 194, 0, - 0, 113, 199, 0, 251, 76, 292, 294, 296, 298, + 0, 246, 62, 64, 0, 345, 107, 383, 0, 66, + 0, 68, 484, -2, 0, 71, 0, 187, 188, 0, + 0, 107, 193, 0, 245, 76, 286, 288, 290, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 330, 0, 0, 0, 0, 0, 0, 352, - 114, 127, 121, -2, -2, 0, 124, 126, 0, 0, + 0, 0, 324, 0, 0, 0, 38, 0, 0, 346, + 108, 121, 115, -2, -2, 0, 118, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 546, 275, 288, 290, 289, 495, -2, 0, 0, - 0, 0, 389, 291, 313, 314, 315, 316, 327, 0, - 0, 336, 337, 338, 339, 340, 341, 342, 343, 0, - 407, 0, 530, 530, 0, 409, 410, 559, 561, 0, - 0, 350, 496, 268, 396, 397, 390, 0, 0, 401, - -2, 0, 0, 0, 0, 574, 575, 0, 577, 578, - 530, 0, 0, 0, 424, 0, 530, 547, 0, 483, - 552, 0, 530, 0, 0, 0, -2, 0, 530, 0, - -2, 540, 0, 0, 0, 0, 10, 3, 0, -2, + 0, 537, 269, 282, 284, 283, 489, -2, 0, 0, + 0, 0, 383, 285, 307, 308, 309, 310, 321, 0, + 0, 330, 331, 332, 333, 334, 335, 336, 337, 0, + 401, 0, 521, 521, 0, 403, 404, 550, 552, 0, + 0, 344, 0, 262, 390, 391, 384, 0, 0, 395, + -2, 0, 0, 0, 0, 565, 566, 0, 568, 569, + 521, 0, 0, 0, 418, 0, 521, 538, 0, 477, + 543, 0, 521, 521, 0, 0, -2, 0, 521, 0, + -2, 531, 0, 0, 0, 0, 10, 3, 0, -2, 13, 0, 0, 24, 25, 0, 0, 30, 31, 0, - 0, 21, 0, 0, 45, 0, 49, 53, 0, 0, - 253, 256, 0, 65, 352, 67, 69, 70, 72, 0, - 195, 0, 493, 73, 0, 354, 0, 74, 0, 0, - 0, 0, 0, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, -2, -2, -2, -2, - -2, -2, -2, -2, 325, 0, 333, 0, 108, 110, - -2, 490, 0, 38, 90, 91, 117, 0, 119, 0, - 130, 0, 271, 0, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 0, 542, 543, 0, - 0, -2, 0, 0, 328, 491, 492, 406, 345, 0, - 531, 0, 349, 560, 557, 558, 562, 0, 0, 474, - 0, 0, 411, 0, 0, 392, 398, 523, 0, 0, - 579, -2, -2, -2, 490, 0, 0, 478, 423, 479, - 0, 0, 365, 548, 484, 0, 556, 494, 0, 530, - 5, 374, 0, 0, 379, -2, -2, 587, 0, 511, - 0, 0, 0, 383, -2, -2, 388, 0, 9, 0, - 12, 0, 17, 14, 0, 0, 27, 15, 0, 0, - 33, 20, 0, 0, 36, 426, 427, 428, -2, 0, - 0, 0, 481, 434, 435, 436, 415, 0, 0, 0, - 0, 0, 0, 0, 47, 38, 0, 56, 58, 254, - 63, 154, 154, 192, 0, 197, 0, 200, 250, 293, - 295, 297, 299, 0, 0, 0, 0, 78, 81, 0, - 0, 0, 0, -2, 132, 128, 393, 0, 0, 0, - 0, -2, -2, 272, 0, 0, 546, 544, -2, 537, - -2, 361, 360, 0, 564, 565, 0, 567, 497, 532, - 533, 536, 269, 412, 513, 391, 0, 514, 571, 580, - 572, 573, 576, 363, 362, 364, 550, 0, 551, 0, - 516, 0, 183, 0, 0, 186, -2, -2, 0, 0, - 378, 0, 0, 0, 512, 525, 526, 0, 0, 529, - 11, 376, 23, 26, 0, 29, 32, 0, 22, 35, + 0, 21, 0, 0, 37, 45, 39, 40, 41, 0, + 0, 49, 53, 0, 0, 247, 250, 0, 65, 346, + 67, 69, 70, 72, 0, 189, 0, 487, 73, 0, + 348, 0, 74, 0, 0, 0, 0, 0, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, -2, -2, -2, -2, -2, -2, -2, -2, 319, + 0, 327, 0, 102, 104, -2, 484, 0, 0, 84, + 85, 111, 0, 113, 0, 124, 0, 265, 0, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 0, 533, 534, 0, 0, -2, 0, 0, 322, + 485, 486, 400, 339, 0, 522, 0, 343, 551, 548, + 549, 553, 0, 0, 468, 0, -2, 523, 524, 527, + 503, 0, 528, 0, 405, 0, 0, 386, 392, 514, + 0, 0, 570, -2, -2, -2, 484, 0, 0, 472, + 417, 473, 0, 0, 359, 539, 478, 0, 547, 488, + 0, 0, 5, 368, 0, 0, 373, -2, -2, 578, + 0, 0, 377, -2, -2, 382, 0, 9, 0, 12, + 0, 17, 14, 0, 0, 27, 15, 0, 0, 33, + 20, 0, 0, 36, 420, 421, 422, -2, 0, 0, + 0, 475, 428, 429, 430, 409, 0, 0, 0, 0, + 0, 0, 0, 0, 47, 38, 0, 56, 58, 248, + 63, 148, 148, 186, 0, 191, 0, 194, 244, 287, + 289, 291, 293, 0, 0, 0, 0, 0, 0, 0, + 0, 86, 0, -2, 126, 122, 387, 0, 0, 0, + 0, -2, -2, 266, 0, 0, 537, 535, -2, -2, + 355, 354, 0, 555, 556, 0, 558, 493, 500, 501, + 0, 521, 0, 504, 0, 263, 406, 505, 385, 0, + 506, 562, 571, 563, 564, 567, 357, 356, 358, 541, + 0, 542, 0, 508, 509, 177, 0, 0, 180, -2, + -2, 0, 0, 372, 0, 0, 516, 517, 0, 0, + 520, 11, 370, 23, 26, 0, 29, 32, 0, 22, + 35, 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, - 0, 0, 0, 0, 0, 0, 0, 0, -2, 481, - 0, 483, 488, 0, 0, 444, 445, 467, 468, 0, - 163, 37, 54, 161, 38, 0, 252, 0, 0, 154, - 0, 154, 196, 0, -2, 331, 334, 77, 109, 0, - 0, 0, 0, 0, 92, -2, 0, 173, 175, 113, - 180, 181, 182, 0, 0, 0, 395, 202, 131, 134, - 273, 0, 541, 546, 329, 0, 0, 568, 569, 570, - 0, -2, 530, 0, 399, 0, 0, 554, 555, 518, - 184, 0, 185, 190, 191, 380, 382, 538, 384, 386, - 28, 34, 0, 438, 439, 440, 441, 442, 443, 446, - 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, - -2, 0, 433, 482, 484, 0, 425, 586, 469, 169, - 166, 0, 0, 0, 255, 150, 0, 0, 0, 0, - 0, 198, 0, 0, 136, 138, 0, 0, 136, 85, - 146, 38, 0, 148, 88, 0, 0, 367, 179, 115, - 202, 133, 394, 234, 0, 411, 270, 0, 267, -2, - 264, 530, 258, 0, 563, 0, 501, 508, 509, 0, - 0, 0, 403, 581, 549, 0, 187, 437, 465, 0, - 432, 486, 487, 48, 0, 0, 171, 0, 57, 59, - 0, 157, 159, 160, 151, 152, 0, 367, 332, 0, - 0, 139, 140, 0, 0, 0, 98, 93, 0, 0, - 0, 176, 0, 116, 234, 122, 201, 203, 0, 206, - 0, -2, 233, 0, 0, 236, 238, 239, 240, 241, - 242, 243, 135, 274, 545, 530, 0, 257, 0, 502, - 566, 498, 530, 530, 507, 534, 535, 400, 553, 466, - 0, 164, 170, 0, 0, 0, 162, 252, 155, 38, - 153, 0, 79, 137, 546, 82, 0, 149, 89, 99, - 0, 38, 38, 0, 177, 120, 0, 205, 0, 113, - 237, 0, 0, 210, 0, 262, 260, -2, 500, 0, - 0, 402, 0, 485, 0, 0, 0, 38, 0, 38, - 37, 38, 0, 0, 0, 147, 0, 94, 0, 0, - 0, 371, 0, 0, 0, 246, 0, 0, 0, 209, - 0, 212, 214, 259, 503, 505, 504, 404, 165, 51, - 167, 37, 60, 37, 0, 80, 144, 38, 141, 83, - 38, 0, 118, 353, 368, 0, 372, 178, 204, 0, - 0, 0, 207, 249, 211, 0, 215, 216, 0, 0, - 224, 0, 0, -2, 38, 0, 355, 0, 0, 0, - 369, 0, 244, 247, 248, 0, 213, 217, 218, 219, - 0, 228, 0, 37, 61, 142, 38, 0, 100, 95, - 370, 0, -2, 220, 221, 0, -2, 225, 0, 145, - 0, 245, 0, 0, 226, 0, 38, 0, 222, 143, - 0, 208, 230, 38, 96, 0, 102, 231, 97, 101, - 103, 0, 104, 0, 105, 0, 0, 106, 0, 38, - 0, 107, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, + 475, 0, 477, 482, 0, 0, 438, 439, 461, 462, + 0, 0, 157, 50, 54, 155, 38, 0, 246, 0, + 0, 148, 0, 148, 190, 0, -2, 325, 328, 77, + 103, 130, 132, 0, 0, 130, 0, 0, 0, 92, + 0, -2, 0, 167, 169, 107, 174, 175, 176, 0, + 0, 0, 389, 196, 125, 128, 267, 0, 532, 537, + 323, 0, 0, 559, 560, 561, 0, 490, 521, 521, + 499, 0, 0, 529, 393, 0, 0, 545, 546, 178, + 0, 179, 184, 185, 374, 376, 378, 380, 28, 34, + 0, 432, 433, 434, 435, 436, 437, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, -2, -2, + -2, -2, -2, -2, -2, -2, 0, 0, -2, 0, + 427, 476, 478, 0, 419, 577, 463, 42, 163, 160, + 0, 0, 0, 249, 144, 0, 0, 0, 0, 0, + 192, 0, 0, 0, 0, 133, 134, 0, 81, 140, + 38, 0, 142, 83, 93, 87, 0, 361, 173, 109, + 196, 127, 388, 228, 0, 405, 264, 0, 261, -2, + 258, 521, 252, 0, 554, 0, 492, 0, 0, 525, + 526, 397, 572, 540, 0, 181, 431, 459, 0, 426, + 480, 481, 48, 0, 0, 165, 0, 57, 59, 0, + 151, 153, 154, 145, 146, 0, 361, 326, 0, 131, + 537, 0, 0, 0, 0, 0, 0, 0, 0, 170, + 0, 110, 228, 116, 195, 197, 0, 200, 0, -2, + 227, 0, 0, 230, 232, 233, 234, 235, 236, 237, + 129, 268, 536, 521, 0, 251, 0, 494, 557, 497, + 496, 394, 544, 460, 0, 158, 164, 0, 0, 0, + 156, 246, 149, 38, 147, 0, 78, 138, 38, 0, + 79, 0, 143, 38, 88, 38, 38, 0, 171, 114, + 0, 199, 0, 107, 231, 0, 0, 204, 0, 256, + 254, -2, 396, 0, 479, 0, 0, 0, 38, 0, + 38, 152, 38, 0, 135, 141, 0, 0, 0, 0, + 0, 365, 0, 0, 0, 240, 0, 0, 0, 203, + 0, 206, 208, 253, 495, 398, 159, 51, 161, 166, + 60, 150, 0, 0, 94, 0, 112, 347, 362, 0, + 366, 172, 198, 0, 0, 0, 201, 243, 205, 0, + 209, 210, 0, 0, 218, 0, 0, -2, 38, 0, + 349, 139, 89, 363, 0, 238, 241, 242, 0, 207, + 211, 212, 213, 0, 222, 0, 162, 61, 136, 38, + 0, 364, 0, -2, 214, 215, 0, -2, 219, 0, + 38, 239, 0, 0, 220, 0, 0, 0, 216, 137, + 90, 202, 224, 38, 96, 0, 91, 95, 97, 0, + 225, 98, 0, 99, 0, 0, 100, 0, 38, 0, + 101, } var yyTok1 = [...]int{ @@ -2105,25 +2297,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:203 + //line php5/php5.y:211 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:209 + //line php5/php5.y:217 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:210 + //line php5/php5.y:218 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:215 + //line php5/php5.y:223 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2132,7 +2324,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:222 + //line php5/php5.y:230 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2141,31 +2333,31 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:231 + //line php5/php5.y:239 { - yyVAL.node = nil + yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:232 + //line php5/php5.y:240 { yyVAL.node = nil } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:233 + //line php5/php5.y:241 { yyVAL.node = nil } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:234 + //line php5/php5.y:242 { yyVAL.node = stmt.NewHaltCompiler() } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:236 + //line php5/php5.y:244 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2177,7 +2369,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:246 + //line php5/php5.y:254 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2189,7 +2381,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:256 + //line php5/php5.y:264 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2197,7 +2389,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:262 + //line php5/php5.y:270 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2205,7 +2397,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:268 + //line php5/php5.y:276 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2217,7 +2409,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:278 + //line php5/php5.y:286 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2229,25 +2421,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:287 + //line php5/php5.y:295 { yyVAL.node = nil } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:291 + //line php5/php5.y:299 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:292 + //line php5/php5.y:300 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:297 + //line php5/php5.y:305 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2259,7 +2451,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:307 + //line php5/php5.y:315 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2274,7 +2466,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:320 + //line php5/php5.y:328 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2286,7 +2478,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:330 + //line php5/php5.y:338 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2301,19 +2493,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:346 + //line php5/php5.y:354 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:350 + //line php5/php5.y:358 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:357 + //line php5/php5.y:365 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2325,7 +2517,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:367 + //line php5/php5.y:375 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2340,7 +2532,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:380 + //line php5/php5.y:388 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2352,7 +2544,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:390 + //line php5/php5.y:398 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2367,19 +2559,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:406 + //line php5/php5.y:414 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:410 + //line php5/php5.y:418 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:417 + //line php5/php5.y:425 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2391,7 +2583,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:427 + //line php5/php5.y:435 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2406,7 +2598,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:440 + //line php5/php5.y:448 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2418,7 +2610,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:450 + //line php5/php5.y:458 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2433,1505 +2625,1532 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:465 + //line php5/php5.y:473 { } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:466 + //line php5/php5.y:474 { } case 37: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:478 + { + yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) + } + case 38: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:479 + { + yyVAL.list = []node.Node{} + } + case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:470 + //line php5/php5.y:484 + { + yyVAL.node = yyDollar[1].node + } + case 40: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:485 + { + yyVAL.node = nil + } + case 41: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:486 { } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:479 + //line php5/php5.y:487 { } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:484 + //line php5/php5.y:492 { + yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:485 + //line php5/php5.y:493 + { + } + case 45: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:497 { } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:498 { } case 47: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:498 { } case 48: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:490 + //line php5/php5.y:498 { } case 49: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:499 { } case 50: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:499 { } case 51: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:499 { } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:500 { } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:500 { } case 54: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:492 + //line php5/php5.y:500 { } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:501 { } case 56: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:501 { } case 57: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:501 { } case 58: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:497 + //line php5/php5.y:505 { } case 59: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:499 + //line php5/php5.y:507 { } case 60: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:509 { } case 61: yyDollar = yyS[yypt-12 : yypt+1] - //line php5/php5.y:502 + //line php5/php5.y:510 { } case 62: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:511 { } case 63: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:503 + //line php5/php5.y:511 { } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:504 + //line php5/php5.y:512 { } case 65: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:505 + //line php5/php5.y:513 { } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:506 + //line php5/php5.y:514 { } case 67: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:507 + //line php5/php5.y:515 { } case 68: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:516 { } case 69: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:509 + //line php5/php5.y:517 { } case 70: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:510 + //line php5/php5.y:518 { } case 71: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:511 + //line php5/php5.y:519 + { + } + case 72: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:520 + { + } + case 73: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:521 + { + } + case 74: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:522 { } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:515 + //line php5/php5.y:523 { } case 76: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:516 + //line php5/php5.y:524 + { + yyVAL.node = yyDollar[1].node + } + case 77: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:525 { } case 78: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:519 + yyDollar = yyS[yypt-8 : yypt+1] + //line php5/php5.y:526 { } case 79: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:520 + //line php5/php5.y:527 { } case 80: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:521 - { - } - case 81: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:523 - { - } - case 82: - yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:524 - { - } - case 83: - yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:525 - { - } - case 84: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:526 - { - } - case 85: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:526 - { - } - case 87: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:528 { } - case 88: + case 81: yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:528 + { + } + case 82: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:529 { } - case 89: - yyDollar = yyS[yypt-8 : yypt+1] + case 83: + yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:530 { } - case 90: + case 84: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:531 { } - case 91: + case 85: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:532 { } - case 92: + case 86: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:536 { } - case 93: + case 87: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:537 { } - case 94: + case 88: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:538 { } - case 95: + case 89: yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:539 { } - case 96: + case 90: yyDollar = yyS[yypt-11 : yypt+1] //line php5/php5.y:540 { } - case 97: + case 91: yyDollar = yyS[yypt-13 : yypt+1] //line php5/php5.y:541 { } - case 98: + case 92: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:544 { } - case 99: + case 93: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:545 { } - case 100: + case 94: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:545 { } - case 101: + case 95: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:549 { } - case 102: + case 96: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:550 { } - case 103: + case 97: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:554 { } - case 104: + case 98: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:555 { } - case 105: + case 99: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:559 { } - case 106: + case 100: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:559 { } - case 107: + case 101: yyDollar = yyS[yypt-10 : yypt+1] //line php5/php5.y:559 { } - case 110: + case 104: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:568 { } - case 111: + case 105: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:572 { } - case 112: + case 106: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:576 { } - case 113: + case 107: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:580 { } - case 114: + case 108: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:581 { } - case 115: + case 109: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:585 { } - case 116: + case 110: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:586 { } - case 117: + case 111: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:590 { } - case 118: + case 112: yyDollar = yyS[yypt-10 : yypt+1] //line php5/php5.y:592 { } - case 119: + case 113: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:597 { } - case 120: + case 114: yyDollar = yyS[yypt-8 : yypt+1] //line php5/php5.y:601 { } - case 121: + case 115: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:603 { } - case 122: + case 116: yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:607 { } - case 123: + case 117: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:612 { } - case 124: + case 118: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:613 { } - case 125: + case 119: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:614 { } - case 126: + case 120: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:615 { } - case 127: + case 121: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:619 { } - case 128: + case 122: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:620 { } - case 129: + case 123: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:624 { } - case 134: + case 128: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:638 { } - case 135: + case 129: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:639 { } - case 136: + case 130: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:643 { } - case 137: + case 131: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:644 { } - case 138: + case 132: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:648 { } - case 139: + case 133: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:649 { } - case 140: + case 134: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:650 { } - case 141: + case 135: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:650 { } - case 148: + case 142: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:672 { } - case 149: + case 143: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:673 { } - case 150: + case 144: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:678 { } - case 151: + case 145: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:679 { } - case 152: + case 146: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:680 { } - case 153: + case 147: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:681 { } - case 154: + case 148: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:686 { } - case 155: + case 149: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:687 { } - case 156: + case 150: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:687 { } - case 157: + case 151: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:688 { } + case 152: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:688 + { + } case 158: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:688 - { - } - case 164: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:707 { } - case 165: + case 159: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:707 { } - case 167: + case 161: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:713 { } - case 168: + case 162: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:713 { } - case 177: + case 171: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:742 { } - case 178: + case 172: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:744 { } - case 179: + case 173: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:749 { } - case 180: + case 174: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:750 { } - case 181: + case 175: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:751 { } - case 182: + case 176: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:752 { } - case 183: + case 177: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:757 { } - case 184: + case 178: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:758 { } - case 185: + case 179: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:759 { } - case 188: + case 182: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:769 { } - case 189: + case 183: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:770 { } - case 190: + case 184: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:771 { } - case 191: + case 185: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:772 { } - case 192: + case 186: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:776 { } - case 193: + case 187: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:777 { } - case 194: + case 188: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:782 { } - case 195: + case 189: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:783 { } - case 196: + case 190: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:784 { } - case 197: + case 191: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:789 { } - case 198: + case 192: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:790 { } - case 199: + case 193: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:791 { } - case 200: + case 194: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:792 { } - case 203: + case 197: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:804 { } - case 207: + case 201: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:807 { } - case 208: + case 202: yyDollar = yyS[yypt-9 : yypt+1] //line php5/php5.y:809 { } - case 210: + case 204: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:817 { } - case 211: + case 205: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:818 { } - case 220: + case 214: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:842 { } - case 221: + case 215: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:846 { } - case 222: + case 216: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:847 { } - case 223: + case 217: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:851 { } - case 224: + case 218: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:852 { } - case 225: + case 219: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:856 { } - case 226: + case 220: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:860 { } - case 227: + case 221: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:861 { } - case 228: + case 222: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:865 { } - case 229: + case 223: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:866 { } - case 230: + case 224: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:870 { } - case 231: + case 225: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:871 { } - case 232: + case 226: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:875 { } - case 233: + case 227: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:876 { } - case 234: + case 228: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:880 { } - case 235: + case 229: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:881 { } - case 236: + case 230: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:885 { } - case 237: + case 231: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:886 { } - case 238: + case 232: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:890 { } - case 239: + case 233: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:891 { } - case 240: + case 234: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:892 { } - case 241: + case 235: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:893 { } - case 242: + case 236: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:894 { } - case 243: + case 237: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:895 { } - case 244: + case 238: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:899 { } - case 245: + case 239: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:900 { } - case 246: + case 240: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:901 { } - case 247: + case 241: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:902 { } - case 248: + case 242: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:906 { } - case 249: + case 243: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:907 { } - case 250: + case 244: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:911 { } - case 251: + case 245: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:912 { } - case 252: + case 246: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:917 { } - case 253: + case 247: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:918 { } - case 254: + case 248: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:922 { } - case 255: + case 249: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:922 { } - case 256: + case 250: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:923 { } - case 257: + case 251: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:927 { } - case 258: + case 252: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:928 { } - case 259: + case 253: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:932 { } - case 260: + case 254: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:933 { } - case 261: + case 255: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:937 { } - case 262: + case 256: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:937 { } - case 263: + case 257: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:938 { } - case 264: + case 258: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:939 { } - case 265: + case 259: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:943 { } - case 266: + case 260: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:944 { } - case 267: + case 261: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:945 { } - case 268: + case 262: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:949 { } - case 269: + case 263: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:949 { } - case 270: + case 264: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:953 { + yyVAL.node = nil } - case 271: + case 265: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:954 { } - case 272: + case 266: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:955 { } - case 273: + case 267: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:956 { } - case 274: + case 268: yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:956 { } - case 275: + case 269: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:957 { } - case 276: + case 270: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:958 { } - case 277: + case 271: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:959 { } - case 278: + case 272: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:960 { } - case 279: + case 273: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:961 { } - case 280: + case 274: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:962 { } - case 281: + case 275: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:963 { } - case 282: + case 276: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:964 { } - case 283: + case 277: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:965 { } - case 284: + case 278: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:966 { } - case 285: + case 279: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:967 { } - case 286: + case 280: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:968 { } - case 287: + case 281: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:969 { } - case 288: + case 282: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:970 { } - case 289: + case 283: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:971 { } - case 290: + case 284: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:972 { } - case 291: + case 285: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:973 { } - case 292: + case 286: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:974 { } + case 287: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:974 + { + } + case 288: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:975 + { + } + case 289: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:975 + { + } + case 290: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:976 + { + } + case 291: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:976 + { + } + case 292: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:977 + { + } case 293: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:974 + //line php5/php5.y:977 { } case 294: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:975 - { - } - case 295: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:975 - { - } - case 296: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:976 - { - } - case 297: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:976 - { - } - case 298: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:977 - { - } - case 299: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:977 - { - } - case 300: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:978 { } - case 301: + case 295: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:979 { } - case 302: + case 296: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:980 { } - case 303: + case 297: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:981 { } - case 304: + case 298: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:982 { } - case 305: + case 299: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:983 { } - case 306: + case 300: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:984 { } - case 307: + case 301: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:985 { } - case 308: + case 302: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:986 { } - case 309: + case 303: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:987 { } - case 310: + case 304: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:988 { } - case 311: + case 305: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:989 { } - case 312: + case 306: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:990 { } - case 313: + case 307: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:991 { } - case 314: + case 308: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:992 { } - case 315: + case 309: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:993 { } - case 316: + case 310: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:994 { } - case 317: + case 311: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:995 { } - case 318: + case 312: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:996 { } - case 319: + case 313: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:997 { } - case 320: + case 314: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:998 { } - case 321: + case 315: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:999 { } - case 322: + case 316: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1000 { } - case 323: + case 317: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1001 { } - case 324: + case 318: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1002 { } - case 325: + case 319: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1003 { } - case 326: + case 320: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1004 { } - case 327: + case 321: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1005 { } - case 328: + case 322: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1006 { } - case 329: + case 323: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1006 { } - case 330: + case 324: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1007 { } - case 331: + case 325: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1008 { } - case 332: + case 326: yyDollar = yyS[yypt-7 : yypt+1] //line php5/php5.y:1009 { } - case 333: + case 327: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1010 { } - case 334: + case 328: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1011 { } - case 335: + case 329: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1012 { } - case 336: + case 330: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1013 { } - case 337: + case 331: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1014 { } - case 338: + case 332: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1015 { } - case 339: + case 333: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1016 { } - case 340: + case 334: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1017 { } - case 341: + case 335: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1018 { } - case 342: + case 336: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1019 { } - case 343: + case 337: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1020 { } - case 344: + case 338: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1021 { } - case 345: + case 339: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1021 { } - case 346: + case 340: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1022 { } - case 347: + case 341: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1023 { } - case 348: + case 342: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1024 { } - case 349: + case 343: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1025 { } - case 350: + case 344: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1026 { } - case 351: + case 345: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1027 { } - case 352: + case 346: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1028 { } - case 353: + case 347: yyDollar = yyS[yypt-10 : yypt+1] //line php5/php5.y:1030 { } - case 354: + case 348: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1031 { } - case 355: + case 349: yyDollar = yyS[yypt-11 : yypt+1] //line php5/php5.y:1033 { } - case 356: + case 350: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1037 { } - case 357: + case 351: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1038 { } - case 358: + case 352: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1039 { } - case 359: + case 353: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1040 { } - case 360: + case 354: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1044 { } - case 361: + case 355: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1045 { } - case 362: + case 356: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1046 { } - case 363: + case 357: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1047 { } - case 364: + case 358: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1051 { } - case 365: + case 359: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1052 { } - case 366: + case 360: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1056 { } - case 369: + case 363: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1065 { } - case 370: + case 364: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1066 { } - case 371: + case 365: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1067 { } - case 372: + case 366: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1068 { } - case 373: + case 367: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1072 { } - case 374: + case 368: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1073 { } - case 375: + case 369: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1074 { } - case 376: + case 370: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1075 { } - case 377: + case 371: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1076 { } - case 378: + case 372: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1077 { } - case 379: + case 373: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1078 { } - case 380: + case 374: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1079 { } - case 381: + case 375: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1080 { } - case 382: + case 376: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1081 { } - case 383: + case 377: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1082 { } - case 384: + case 378: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1083 { } - case 385: + case 379: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1084 { } - case 386: + case 380: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1085 { } - case 387: + case 381: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1086 { } - case 388: + case 382: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1087 { } - case 389: + case 383: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1092 { @@ -3939,7 +4158,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 390: + case 384: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1098 { @@ -3947,7 +4166,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } - case 391: + case 385: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1104 { @@ -3955,7 +4174,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 392: + case 386: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1110 { @@ -3963,97 +4182,97 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 393: + case 387: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1118 { } - case 394: + case 388: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1119 { } - case 395: + case 389: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1120 { } - case 396: + case 390: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1126 { } - case 397: + case 391: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1127 { } - case 398: + case 392: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1132 { } - case 399: + case 393: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1133 { } - case 400: + case 394: yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:1134 { } - case 401: + case 395: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1135 { } - case 404: + case 398: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1146 { } - case 405: + case 399: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1150 { } - case 406: + case 400: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1151 { } - case 407: + case 401: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1152 { } - case 408: + case 402: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1156 { } - case 409: + case 403: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1157 { } - case 410: + case 404: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1158 { } - case 411: + case 405: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1162 { } - case 412: + case 406: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1163 { } - case 413: + case 407: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1168 { @@ -4061,7 +4280,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 414: + case 408: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1174 { @@ -4069,13 +4288,13 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 415: + case 409: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1179 { yyVAL.node = nil } - case 416: + case 410: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1181 { @@ -4083,7 +4302,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 417: + case 411: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1187 { @@ -4091,7 +4310,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 418: + case 412: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1193 { @@ -4099,7 +4318,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 419: + case 413: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1199 { @@ -4107,7 +4326,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 420: + case 414: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1205 { @@ -4115,7 +4334,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 421: + case 415: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1211 { @@ -4123,7 +4342,7 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 422: + case 416: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1217 { @@ -4131,19 +4350,19 @@ yydefault: positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 423: + case 417: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1222 { yyVAL.node = nil } - case 424: + case 418: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1223 { yyVAL.node = nil } - case 425: + case 419: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1228 { @@ -4155,513 +4374,518 @@ yydefault: comments.AddComments(target, yyDollar[3].token.Comments()) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } - case 426: + case 420: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1240 { } - case 427: + case 421: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1244 { } - case 428: + case 422: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1245 { } - case 429: + case 423: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1246 { } - case 430: + case 424: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1247 { } - case 431: + case 425: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1248 { } - case 432: + case 426: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1249 { } - case 433: + case 427: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1250 { } - case 434: + case 428: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1251 { } - case 435: + case 429: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1252 { } - case 436: + case 430: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1253 { } - case 437: + case 431: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1257 { } - case 438: + case 432: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1258 { } - case 439: + case 433: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1259 { } - case 440: + case 434: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1260 { } - case 441: + case 435: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1261 { } - case 442: + case 436: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1262 { } - case 443: + case 437: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1263 { } - case 444: + case 438: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1264 { } - case 445: + case 439: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1265 { } - case 446: + case 440: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1266 { } - case 447: + case 441: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1267 { } - case 448: + case 442: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1268 { } - case 449: + case 443: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1269 { } - case 450: + case 444: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1270 { } - case 451: + case 445: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1271 { } - case 452: + case 446: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1272 { } - case 453: + case 447: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1273 { } - case 454: + case 448: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1274 { } - case 455: + case 449: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1275 { } - case 456: + case 450: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1276 { } - case 457: + case 451: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1277 { } - case 458: + case 452: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1278 { } - case 459: + case 453: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1279 { } - case 460: + case 454: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1280 { } - case 461: + case 455: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1281 { } - case 462: + case 456: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1282 { } - case 463: + case 457: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1283 { } - case 464: + case 458: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1284 { } - case 465: + case 459: yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1285 { } - case 466: + case 460: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1286 { } - case 467: + case 461: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1287 { } - case 468: + case 462: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1288 { } - case 469: + case 463: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1289 { } - case 470: + case 464: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1293 { } - case 471: + case 465: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1294 { } - case 472: + case 466: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1295 { } - case 473: + case 467: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1296 { } - case 474: + case 468: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1300 { } - case 475: + case 469: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1301 { } - case 476: + case 470: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1302 { } - case 477: + case 471: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1303 { } - case 478: + case 472: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1304 { } - case 479: + case 473: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1305 { } - case 480: + case 474: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1306 { } - case 481: + case 475: yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1310 { } - case 482: + case 476: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1311 { } - case 485: + case 479: yyDollar = yyS[yypt-5 : yypt+1] //line php5/php5.y:1320 { } - case 486: + case 480: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1321 { } - case 487: + case 481: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1322 { } - case 488: + case 482: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1323 { } - case 489: + case 483: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1327 { + yyVAL.node = yyDollar[1].node } - case 490: + case 484: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1328 { } - case 491: + case 485: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1332 { } - case 492: + case 486: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1333 { } - case 493: + case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1338 + //line php5/php5.y:1339 { + yyVAL.node = yyDollar[1].node } - case 494: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1343 - { - } - case 495: + case 488: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1347 + { + yyVAL.node = yyDollar[1].node + } + case 489: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1354 + { + yyVAL.node = yyDollar[1].node + } + case 490: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1361 + { + } + case 491: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1363 + { + yyVAL.node = yyDollar[1].node + } + case 492: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1367 + { + } + case 493: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1368 + { + } + case 494: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1373 + { + } + case 495: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1373 { } case 496: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1351 + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1377 { } case 497: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1352 - { - } - case 498: - yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1353 - { - } - case 499: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1354 - { - } - case 500: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1358 - { - } - case 501: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1359 - { - } - case 502: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1364 - { - } - case 503: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1364 - { - } - case 504: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1368 - { - } - case 505: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1369 - { - } - case 506: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1373 - { - } - case 507: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1374 - { - } - case 508: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1378 { } - case 509: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1379 - { - } - case 510: + case 498: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1380 + //line php5/php5.y:1382 { } - case 511: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1384 - { - } - case 512: + case 499: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1385 + //line php5/php5.y:1383 { } - case 513: - yyDollar = yyS[yypt-3 : yypt+1] + case 500: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1387 + { + } + case 501: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1388 + { + } + case 502: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1389 { } - case 514: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1390 + case 503: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1393 { } - case 515: + case 504: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1394 + { + } + case 505: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1398 + { + } + case 506: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1399 + { + } + case 507: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1396 + //line php5/php5.y:1405 { yyVAL.node = yyDollar[1].node } - case 516: + case 508: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1402 + //line php5/php5.y:1411 { } - case 517: + case 509: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1412 + { + } + case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1403 - { - } - case 518: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1404 - { - } - case 519: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1408 - { - } - case 520: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1409 - { - } - case 521: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1410 - { - } - case 522: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1415 - { - } - case 523: - yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1416 { + yyVAL.node = yyDollar[1].node } - case 524: + case 511: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1417 { + yyVAL.node = yyDollar[1].node } - case 525: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1421 + case 512: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1418 { - yyVAL.node = nil + yyVAL.node = yyDollar[1].node } - case 526: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1422 - { - yyVAL.node = nil - } - case 527: + case 513: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1423 { yyVAL.node = yyDollar[1].node } - case 528: + case 514: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1425 + { + yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) + + for _, n := range yyDollar[1].simpleIndirectReference.all { + positions[n] = positionBuilder.NewNodesPosition(n, yyDollar[2].node) + } + + yyVAL.node = yyDollar[1].simpleIndirectReference.all[0] + } + case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1429 + //line php5/php5.y:1434 + { + } + case 516: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1439 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 517: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1445 + { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) + } + case 518: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1450 + { + yyVAL.node = yyDollar[1].node + } + case 519: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1456 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4671,292 +4895,308 @@ yydefault: comments.AddComments(name, yyDollar[1].token.Comments()) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } - case 529: + case 520: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1439 + //line php5/php5.y:1466 { yyVAL.node = nil } - case 530: + case 521: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1445 + //line php5/php5.y:1472 { + yyVAL.node = nil } - case 531: + case 522: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1446 + //line php5/php5.y:1473 { + yyVAL.node = yyDollar[1].node } - case 532: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1451 - { - } - case 533: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1452 - { - } - case 534: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1456 - { - } - case 535: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1457 - { - } - case 536: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1458 - { - } - case 537: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1462 - { - } - case 538: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1463 - { - } - case 539: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1467 - { - } - case 540: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1468 - { - } - case 543: + case 523: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1478 { } - case 544: - yyDollar = yyS[yypt-2 : yypt+1] + case 524: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1479 { } - case 545: - yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1479 + case 525: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1483 { } - case 546: - yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1480 + case 526: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1484 { } - case 547: - yyDollar = yyS[yypt-0 : yypt+1] + case 527: + yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1485 { } - case 548: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1486 + case 528: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1489 { } - case 549: - yyDollar = yyS[yypt-5 : yypt+1] + case 529: + yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1490 { } - case 550: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1491 - { - } - case 551: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1492 - { - } - case 552: + case 530: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1493 - { - } - case 553: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1494 - { - } - case 554: - yyDollar = yyS[yypt-4 : yypt+1] //line php5/php5.y:1495 { + n := expr.NewVariable(nil) + positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(n, yyDollar[1].token.Comments()) + + yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} } - case 555: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1496 - { - } - case 556: + case 531: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1497 - { - } - case 557: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1501 - { - } - case 558: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1502 - { - } - case 559: - yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1503 { + n := expr.NewVariable(nil) + positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) + comments.AddComments(n, yyDollar[2].token.Comments()) + + yyDollar[1].simpleIndirectReference.last.SetVarName(n) + + yyDollar[1].simpleIndirectReference.all = append(yyDollar[1].simpleIndirectReference.all, n) + yyDollar[1].simpleIndirectReference.last = n + yyVAL.simpleIndirectReference = yyDollar[1].simpleIndirectReference } - case 560: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1504 - { - } - case 561: + case 534: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1510 + //line php5/php5.y:1523 { } - case 562: + case 535: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1511 + //line php5/php5.y:1524 { } - case 563: + case 536: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1511 + //line php5/php5.y:1524 { } - case 564: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1512 + case 537: + yyDollar = yyS[yypt-0 : yypt+1] + //line php5/php5.y:1525 { } - case 565: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1513 - { - } - case 566: - yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1514 - { - } - case 567: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1515 - { - } - case 568: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1520 - { - } - case 569: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1521 - { - } - case 570: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1522 - { - } - case 571: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1527 - { - } - case 572: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1528 - { - } - case 573: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1529 - { - } - case 574: - yyDollar = yyS[yypt-2 : yypt+1] + case 538: + yyDollar = yyS[yypt-0 : yypt+1] //line php5/php5.y:1530 { } - case 575: + case 539: yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1531 { } - case 576: - yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1532 + case 540: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1535 { } - case 577: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1533 + case 541: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1536 { } - case 578: - yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1534 + case 542: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1537 { } - case 579: + case 543: yyDollar = yyS[yypt-1 : yypt+1] //line php5/php5.y:1538 { } - case 580: - yyDollar = yyS[yypt-2 : yypt+1] + case 544: + yyDollar = yyS[yypt-6 : yypt+1] //line php5/php5.y:1539 { } - case 581: + case 545: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1539 + //line php5/php5.y:1540 { } - case 582: + case 546: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1541 + { + } + case 547: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1542 + { + } + case 548: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1546 + { + } + case 549: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1547 + { + } + case 550: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1543 - { - } - case 583: - yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1544 - { - } - case 584: - yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1548 { } - case 585: - yyDollar = yyS[yypt-3 : yypt+1] + case 551: + yyDollar = yyS[yypt-2 : yypt+1] //line php5/php5.y:1549 { } - case 586: - yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1553 + case 552: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1555 { } - case 587: + case 553: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1556 + { + } + case 554: + yyDollar = yyS[yypt-5 : yypt+1] + //line php5/php5.y:1556 + { + } + case 555: yyDollar = yyS[yypt-3 : yypt+1] //line php5/php5.y:1557 { } + case 556: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1558 + { + } + case 557: + yyDollar = yyS[yypt-6 : yypt+1] + //line php5/php5.y:1559 + { + } + case 558: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1560 + { + } + case 559: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1565 + { + } + case 560: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1566 + { + } + case 561: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1567 + { + } + case 562: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1572 + { + } + case 563: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1573 + { + } + case 564: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1574 + { + } + case 565: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1575 + { + } + case 566: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1576 + { + } + case 567: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1577 + { + } + case 568: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1578 + { + } + case 569: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1579 + { + } + case 570: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1583 + { + } + case 571: + yyDollar = yyS[yypt-2 : yypt+1] + //line php5/php5.y:1584 + { + } + case 572: + yyDollar = yyS[yypt-4 : yypt+1] + //line php5/php5.y:1584 + { + } + case 573: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1588 + { + } + case 574: + yyDollar = yyS[yypt-1 : yypt+1] + //line php5/php5.y:1589 + { + } + case 575: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1593 + { + } + case 576: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1594 + { + } + case 577: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1598 + { + } + case 578: + yyDollar = yyS[yypt-3 : yypt+1] + //line php5/php5.y:1602 + { + } } goto yystack /* stack new state and value */ } diff --git a/php5/php5.y b/php5/php5.y index b91e6b2..dce548a 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -2,6 +2,7 @@ package php5 import ( +// "fmt" // "strings" // "strconv" @@ -25,6 +26,7 @@ import ( list []node.Node // foreachVariable foreachVariable // nodesWithEndToken *nodesWithEndToken + simpleIndirectReference simpleIndirectReference // str string } @@ -193,8 +195,14 @@ import ( %type top_statement use_declaration use_function_declaration use_const_declaration common_scalar %type static_class_constant compound_variable reference_variable class_name variable_class_name +%type dim_offset expr expr_without_variable r_variable w_variable rw_variable variable base_variable_with_function_calls +%type base_variable array_function_dereference function_call inner_statement statement unticked_statement +%type inner_statement statement %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations +%type inner_statement_list + +%type simple_indirect_reference %% @@ -228,7 +236,7 @@ namespace_name: ; top_statement: - statement { $$ = nil } + statement { $$ = $1 } | function_declaration_statement { $$ = nil } | class_declaration_statement { $$ = nil } | T_HALT_COMPILER '(' ')' ';' { $$ = stmt.NewHaltCompiler() } @@ -467,26 +475,26 @@ constant_declaration: ; inner_statement_list: - inner_statement_list { } - | /* empty */ + inner_statement_list inner_statement { $$ = append($1, $2) } + | /* empty */ { $$ = []node.Node{} } ; inner_statement: - statement - | function_declaration_statement - | class_declaration_statement - | T_HALT_COMPILER '(' ')' ';' { } + statement { $$ = $1 } + | function_declaration_statement { $$ = nil } + | class_declaration_statement { } + | T_HALT_COMPILER '(' ')' ';' { } ; statement: - unticked_statement { } + unticked_statement { $$ = $1 } | T_STRING ':' { } ; unticked_statement: - '{' inner_statement_list '}' + '{' inner_statement_list '}' { } | T_IF parenthesis_expr { } statement { } elseif_list else_single { } | T_IF parenthesis_expr ':' { } inner_statement_list { } new_elseif_list new_else_single T_ENDIF ';' { } | T_WHILE { } parenthesis_expr { } while_statement { } @@ -508,26 +516,18 @@ unticked_statement: | T_RETURN ';' { } | T_RETURN expr_without_variable ';' { } | T_RETURN variable ';' { } - | yield_expr ';' { } - | T_GLOBAL global_var_list ';' - | T_STATIC static_var_list ';' - | T_ECHO echo_expr_list ';' - | T_INLINE_HTML { } - | expr ';' { } - | T_UNSET '(' unset_variables ')' ';' - | T_FOREACH '(' variable T_AS - { } - foreach_variable foreach_optional_arg ')' { } - foreach_statement { } - | T_FOREACH '(' expr_without_variable T_AS - { } - foreach_variable foreach_optional_arg ')' { } - foreach_statement { } + | yield_expr ';' { } + | T_GLOBAL global_var_list ';' { } + | T_STATIC static_var_list ';' { } + | T_ECHO echo_expr_list ';' { } + | T_INLINE_HTML { } + | expr ';' { $$ = $1 } + | T_UNSET '(' unset_variables ')' ';' { } + | T_FOREACH '(' variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement { } + | T_FOREACH '(' expr_without_variable T_AS foreach_variable foreach_optional_arg ')' foreach_statement { } | T_DECLARE { } '(' declare_list ')' declare_statement { } - | ';' /* empty statement */ - | T_TRY { } '{' inner_statement_list '}' - catch_statement { } - finally_statement { } + | ';' /* empty statement */ { } + | T_TRY '{' inner_statement_list '}' catch_statement finally_statement { } | T_THROW expr ';' { } | T_GOTO T_STRING ';' { } ; @@ -950,7 +950,7 @@ new_expr: ; expr_without_variable: - T_LIST '(' assignment_list ')' '=' expr { } + T_LIST '(' assignment_list ')' '=' expr { $$ = nil } | variable '=' expr { } | variable '=' '&' variable { } | variable '=' '&' T_NEW class_name_reference { } ctor_arguments { } @@ -1324,7 +1324,7 @@ non_empty_static_array_pair_list: ; expr: - r_variable { } + r_variable { $$ = $1 } | expr_without_variable { } ; @@ -1335,23 +1335,32 @@ parenthesis_expr: r_variable: - variable { } + variable + { + $$ = $1 + } ; w_variable: - variable { } + variable + { + $$ = $1 + } ; rw_variable: - variable { } + variable + { + $$ = $1 + } ; variable: - base_variable_with_function_calls T_OBJECT_OPERATOR { } - object_property { } method_or_not variable_properties + base_variable_with_function_calls T_OBJECT_OPERATOR object_property method_or_not variable_properties { } - | base_variable_with_function_calls { } + | base_variable_with_function_calls + { $$ = $1 } ; variable_properties: @@ -1399,27 +1408,45 @@ variable_class_name: ; array_function_dereference: - array_function_dereference '[' dim_offset ']' { } - | function_call { } - '[' dim_offset ']' { } + array_function_dereference '[' dim_offset ']' { } + | function_call '[' dim_offset ']' { } ; base_variable_with_function_calls: - base_variable { } - | array_function_dereference { } - | function_call { } + base_variable { $$ = $1 } + | array_function_dereference { $$ = $1 } + | function_call { $$ = $1 } ; base_variable: - reference_variable { } - | simple_indirect_reference reference_variable { } - | static_member { } + reference_variable { $$ = $1 } + | simple_indirect_reference reference_variable + { + $1.last.SetVarName($2) + + for _, n := range($1.all) { + positions[n] = positionBuilder.NewNodesPosition(n, $2) + } + + $$ = $1.all[0] + } + | static_member { } ; reference_variable: - reference_variable '[' dim_offset ']' { $$ = nil } - | reference_variable '{' expr '}' { $$ = nil } + reference_variable '[' dim_offset ']' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | reference_variable '{' expr '}' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } | compound_variable { $$ = $1 } ; @@ -1442,8 +1469,8 @@ compound_variable: ; dim_offset: - /* empty */ { } - | expr { } + /* empty */ { $$ = nil } + | expr { $$ = $1 } ; @@ -1464,8 +1491,26 @@ variable_name: ; simple_indirect_reference: - '$' { } - | simple_indirect_reference '$' { } + '$' + { + n := expr.NewVariable(nil) + positions.AddPosition(n, positionBuilder.NewTokenPosition($1)) + comments.AddComments(n, $1.Comments()) + + $$ = simpleIndirectReference{[]*expr.Variable{n}, n} + } + | simple_indirect_reference '$' + { + n := expr.NewVariable(nil) + positions.AddPosition(n, positionBuilder.NewTokenPosition($2)) + comments.AddComments(n, $2.Comments()) + + $1.last.SetVarName(n) + + $1.all = append($1.all, n) + $1.last = n + $$ = $1 + } ; assignment_list: